From 8c92b374a93e7d6cb85b66819e8e36e2111f3195 Mon Sep 17 00:00:00 2001 From: Jeff Cliff Date: Thu, 30 Sep 2021 23:12:19 -0600 Subject: [PATCH] fork from github --- Gemfile | 4 + Gemfile.lock | 213 + LICENSE | 674 ++ README.md | 44 + app/build.gradle | 148 + app/google-services.json | 68 + app/jacoco.gradle | 62 + app/local.properties | 2 + app/proguard-rules.pro | 37 + .../github/ashutoshgngwr/noice/EspressoX.kt | 152 + .../noice/activity/AlarmRingerActivityTest.kt | 76 + .../noice/activity/AppIntroActivityTest.kt | 117 + .../noice/activity/MainActivityTest.kt | 180 + .../activity/ShortcutHandlerActivityTest.kt | 74 + .../noice/fragment/AboutFragmentTest.kt | 52 + .../noice/fragment/DialogFragmentTest.kt | 169 + .../noice/fragment/HomeFragmentTest.kt | 133 + .../noice/fragment/LibraryFragmentTest.kt | 355 + .../noice/fragment/PresetsFragmentTest.kt | 358 + .../fragment/RandomPresetFragmentTest.kt | 71 + .../noice/fragment/SettingsFragmentTest.kt | 143 + .../noice/fragment/SleepTimerFragmentTest.kt | 99 + .../SupportDevelopmentFragmentTest.kt | 45 + .../noice/fragment/WakeUpTimerFragmentTest.kt | 274 + .../noice/GenerateScreenshots.kt | 250 + app/src/debug/AndroidManifest.xml | 31 + app/src/full/AndroidManifest.xml | 39 + .../noice/FullNoiceApplication.kt | 41 + .../playback/strategy/CastPlaybackStrategy.kt | 76 + .../strategy/CastPlaybackStrategyFactory.kt | 21 + .../InAppBillingDonateViewProvider.kt | 11 + .../provider/PlaystoreReviewFlowProvider.kt | 81 + .../noice/provider/RealAnalyticsProvider.kt | 83 + .../noice/provider/RealBillingProvider.kt | 379 + .../noice/provider/RealCastAPIProvider.kt | 166 + .../noice/provider/RealCrashlyticsProvider.kt | 24 + .../noice/widget/InAppBillingDonateView.kt | 121 + app/src/full/res/drawable/ic_error_24dp.xml | 9 + app/src/full/res/layout/donate_view.xml | 40 + app/src/full/res/values/donottranslate.xml | 6 + app/src/main/AndroidManifest.xml | 99 + app/src/main/assets/airplane_inflight.mp3 | Bin 0 -> 345497 bytes .../main/assets/airplane_seatbelt_beeps.mp3 | Bin 0 -> 30197 bytes app/src/main/assets/birds_0.mp3 | Bin 0 -> 630248 bytes app/src/main/assets/birds_1.mp3 | Bin 0 -> 483328 bytes app/src/main/assets/bonfire_0.mp3 | Bin 0 -> 135320 bytes app/src/main/assets/bonfire_1.mp3 | Bin 0 -> 344477 bytes app/src/main/assets/brownian_noise.mp3 | Bin 0 -> 117502 bytes app/src/main/assets/coffee_shop_0.mp3 | Bin 0 -> 628299 bytes app/src/main/assets/coffee_shop_1.mp3 | Bin 0 -> 560053 bytes app/src/main/assets/creaking_ship_0.mp3 | Bin 0 -> 704850 bytes app/src/main/assets/creaking_ship_1.mp3 | Bin 0 -> 608176 bytes app/src/main/assets/crickets.mp3 | Bin 0 -> 309989 bytes app/src/main/assets/distant_thunder.mp3 | Bin 0 -> 650989 bytes app/src/main/assets/electric_car_0.mp3 | Bin 0 -> 620571 bytes app/src/main/assets/electric_car_1.mp3 | Bin 0 -> 551803 bytes app/src/main/assets/heavy_rain.mp3 | Bin 0 -> 661141 bytes app/src/main/assets/howling_wolf.mp3 | Bin 0 -> 742943 bytes app/src/main/assets/human_heartbeat.mp3 | Bin 0 -> 324070 bytes app/src/main/assets/light_rain.mp3 | Bin 0 -> 311183 bytes app/src/main/assets/moderate_rain.mp3 | Bin 0 -> 229681 bytes app/src/main/assets/morning_in_a_village.mp3 | Bin 0 -> 1592247 bytes app/src/main/assets/moving_train.mp3 | Bin 0 -> 2631953 bytes app/src/main/assets/night_0.mp3 | Bin 0 -> 627540 bytes app/src/main/assets/night_1.mp3 | Bin 0 -> 560230 bytes app/src/main/assets/office_0.mp3 | Bin 0 -> 624941 bytes app/src/main/assets/office_1.mp3 | Bin 0 -> 564739 bytes app/src/main/assets/pink_noise.mp3 | Bin 0 -> 114875 bytes app/src/main/assets/public_library_0.mp3 | Bin 0 -> 561396 bytes app/src/main/assets/public_library_1.mp3 | Bin 0 -> 625462 bytes app/src/main/assets/purring_cat.mp3 | Bin 0 -> 631488 bytes app/src/main/assets/quiet_conversation_0.mp3 | Bin 0 -> 631511 bytes app/src/main/assets/quiet_conversation_1.mp3 | Bin 0 -> 410195 bytes app/src/main/assets/rolling_thunder.mp3 | Bin 0 -> 893021 bytes app/src/main/assets/screeching_seagulls.mp3 | Bin 0 -> 388788 bytes app/src/main/assets/seaside.mp3 | Bin 0 -> 1306414 bytes app/src/main/assets/soft_wind_0.mp3 | Bin 0 -> 616606 bytes app/src/main/assets/soft_wind_1.mp3 | Bin 0 -> 548459 bytes app/src/main/assets/thunder_crack.mp3 | Bin 0 -> 268444 bytes app/src/main/assets/train_horn.mp3 | Bin 0 -> 214153 bytes .../main/assets/walking_through_the_snow.mp3 | Bin 0 -> 436295 bytes app/src/main/assets/water_hose_0.mp3 | Bin 0 -> 235925 bytes app/src/main/assets/water_hose_1.mp3 | Bin 0 -> 212762 bytes app/src/main/assets/water_stream_0.mp3 | Bin 0 -> 236351 bytes app/src/main/assets/water_stream_1.mp3 | Bin 0 -> 166334 bytes app/src/main/assets/white_noise.mp3 | Bin 0 -> 94226 bytes app/src/main/assets/wind_chimes_of_shells.mp3 | Bin 0 -> 287611 bytes app/src/main/assets/wind_in_palm_trees_0.mp3 | Bin 0 -> 303243 bytes app/src/main/assets/wind_in_palm_trees_1.mp3 | Bin 0 -> 559738 bytes .../ashutoshgngwr/noice/MediaPlayerService.kt | 148 + .../ashutoshgngwr/noice/NoiceApplication.kt | 85 + .../ashutoshgngwr/noice/WakeUpTimerManager.kt | 139 + .../noice/activity/AlarmRingerActivity.kt | 153 + .../noice/activity/AppIntroActivity.kt | 133 + .../noice/activity/MainActivity.kt | 180 + .../noice/activity/ShortcutHandlerActivity.kt | 65 + .../noice/ext/SharedPreferencesExt.kt | 14 + .../noice/ext/SimpleExoPlayerExt.kt | 80 + .../github/ashutoshgngwr/noice/ext/UriExt.kt | 26 + .../noice/fragment/AboutFragment.kt | 123 + .../noice/fragment/AppIntroFragment.kt | 75 + .../noice/fragment/DialogFragment.kt | 279 + .../noice/fragment/HomeFragment.kt | 178 + .../noice/fragment/LibraryFragment.kt | 309 + .../noice/fragment/PresetsFragment.kt | 316 + .../noice/fragment/RandomPresetFragment.kt | 74 + .../noice/fragment/SettingsFragment.kt | 208 + .../noice/fragment/SleepTimerFragment.kt | 76 + .../fragment/SupportDevelopmentFragment.kt | 47 + .../noice/fragment/WakeUpTimerFragment.kt | 243 + .../ashutoshgngwr/noice/model/Preset.kt | 102 + .../github/ashutoshgngwr/noice/model/Sound.kt | 289 + .../noice/navigation/Navigable.kt | 44 + .../noice/playback/PlaybackController.kt | 342 + .../ashutoshgngwr/noice/playback/Player.kt | 130 + .../noice/playback/PlayerManager.kt | 480 + .../playback/PlayerNotificationManager.kt | 121 + .../strategy/LocalPlaybackStrategy.kt | 102 + .../strategy/LocalPlaybackStrategyFactory.kt | 19 + .../playback/strategy/PlaybackStrategy.kt | 36 + .../strategy/PlaybackStrategyFactory.kt | 15 + .../noice/provider/AnalyticsProvider.kt | 63 + .../noice/provider/BillingProvider.kt | 91 + .../noice/provider/CastAPIProvider.kt | 74 + .../noice/provider/CrashlyticsProvider.kt | 34 + .../noice/provider/DonateViewProvider.kt | 34 + .../noice/provider/ReviewFlowProvider.kt | 87 + .../noice/repository/PresetRepository.kt | 331 + .../noice/repository/SettingsRepository.kt | 113 + .../noice/widget/CountdownTextView.kt | 148 + .../noice/widget/DurationPicker.kt | 97 + .../noice/widget/MarkdownTextView.kt | 35 + app/src/main/res/drawable/app_banner.xml | 16 + .../main/res/drawable/ic_about_copyright.xml | 10 + app/src/main/res/drawable/ic_about_group.xml | 10 + .../main/res/drawable/ic_about_version.xml | 10 + app/src/main/res/drawable/ic_action_add.xml | 11 + .../main/res/drawable/ic_action_expand.xml | 11 + .../main/res/drawable/ic_action_library.xml | 10 + .../ic_action_play_stop_circled_toggle.xml | 23 + .../ic_action_play_to_stop_circled.xml | 39 + .../main/res/drawable/ic_action_presets.xml | 10 + app/src/main/res/drawable/ic_action_save.xml | 11 + .../ic_action_stop_to_play_circled.xml | 39 + .../res/drawable/ic_action_time_period.xml | 11 + .../main/res/drawable/ic_action_volume.xml | 11 + .../res/drawable/ic_action_wake_up_timer.xml | 10 + .../res/drawable/ic_appintro_chromecast.xml | 16 + .../main/res/drawable/ic_appintro_library.xml | 20 + .../main/res/drawable/ic_appintro_presets.xml | 10 + .../res/drawable/ic_appintro_sleep_timer.xml | 19 + .../res/drawable/ic_donate_opencollective.xml | 81 + app/src/main/res/drawable/ic_info_48dp.xml | 11 + .../main/res/drawable/ic_launcher_24dp.xml | 139 + app/src/main/res/drawable/ic_noti_close.xml | 11 + app/src/main/res/drawable/ic_noti_next.xml | 11 + app/src/main/res/drawable/ic_noti_pause.xml | 11 + app/src/main/res/drawable/ic_noti_play.xml | 11 + app/src/main/res/drawable/ic_noti_prev.xml | 11 + app/src/main/res/drawable/ic_pause_24dp.xml | 11 + .../main/res/drawable/ic_play_arrow_24dp.xml | 11 + .../ic_preset_shortcut_foreground.xml | 16 + .../res/drawable/ic_settings_analytics.xml | 10 + .../res/drawable/ic_settings_audio_focus.xml | 13 + .../res/drawable/ic_settings_delete_sweep.xml | 10 + .../main/res/drawable/ic_settings_export.xml | 10 + .../drawable/ic_settings_fade_in_duration.xml | 10 + .../res/drawable/ic_settings_home_screen.xml | 10 + .../main/res/drawable/ic_settings_import.xml | 10 + .../drawable/ic_settings_media_buttons.xml | 10 + .../res/drawable/ic_settings_sound_icon.xml | 10 + .../main/res/drawable/ic_settings_theme.xml | 10 + app/src/main/res/drawable/ic_shuffle_24dp.xml | 11 + app/src/main/res/drawable/ic_shuffle_32dp.xml | 11 + .../drawable/ic_sound_airplane_inflight.xml | 15 + .../ic_sound_airplane_seatbelt_beeps.xml | 20 + app/src/main/res/drawable/ic_sound_birds.xml | 78 + .../main/res/drawable/ic_sound_bonfire.xml | 65 + .../res/drawable/ic_sound_brownian_noise.xml | 135 + .../res/drawable/ic_sound_coffee_shop.xml | 44 + .../res/drawable/ic_sound_creaking_ship.xml | 107 + .../main/res/drawable/ic_sound_crickets.xml | 135 + .../res/drawable/ic_sound_distant_thunder.xml | 115 + .../res/drawable/ic_sound_electric_car.xml | 101 + .../main/res/drawable/ic_sound_heavy_rain.xml | 14 + .../res/drawable/ic_sound_howling_wolf.xml | 13 + .../res/drawable/ic_sound_human_heartbeat.xml | 24 + .../main/res/drawable/ic_sound_light_rain.xml | 21 + .../res/drawable/ic_sound_moderate_rain.xml | 21 + .../ic_sound_morning_in_a_village.xml | 256 + .../res/drawable/ic_sound_moving_train.xml | 194 + app/src/main/res/drawable/ic_sound_night.xml | 56 + app/src/main/res/drawable/ic_sound_office.xml | 77 + .../main/res/drawable/ic_sound_pink_noise.xml | 135 + .../res/drawable/ic_sound_public_library.xml | 557 ++ .../res/drawable/ic_sound_purring_cat.xml | 95 + .../drawable/ic_sound_quiet_conversation.xml | 177 + .../res/drawable/ic_sound_rolling_thunder.xml | 69 + .../drawable/ic_sound_screeching_seagulls.xml | 12 + .../main/res/drawable/ic_sound_seaside.xml | 22 + .../main/res/drawable/ic_sound_soft_wind.xml | 31 + .../res/drawable/ic_sound_thunder_crack.xml | 32 + .../main/res/drawable/ic_sound_train_horn.xml | 29 + .../ic_sound_walking_through_the_snow.xml | 83 + .../main/res/drawable/ic_sound_water_hose.xml | 36 + .../res/drawable/ic_sound_water_stream.xml | 25 + .../res/drawable/ic_sound_white_noise.xml | 134 + .../ic_sound_wind_in_chimes_of_shells.xml | 106 + .../drawable/ic_sound_wind_in_palm_trees.xml | 34 + app/src/main/res/drawable/ic_timer_24dp.xml | 11 + app/src/main/res/drawable/popup_menu_bg.xml | 5 + .../main/res/layout/alarm_ringer_activity.xml | 82 + .../main/res/layout/app_intro_fragment.xml | 54 + .../main/res/layout/dialog_fragment__base.xml | 65 + .../layout/dialog_fragment__text_input.xml | 14 + .../main/res/layout/duration_picker_view.xml | 57 + app/src/main/res/layout/home_fragment.xml | 23 + app/src/main/res/layout/library_fragment.xml | 36 + app/src/main/res/layout/main_activity.xml | 9 + .../layout/open_collective_donate_button.xml | 8 + app/src/main/res/layout/presets_fragment.xml | 27 + app/src/main/res/layout/presets_list_item.xml | 42 + .../res/layout/random_preset_fragment.xml | 148 + .../main/res/layout/sleep_timer_fragment.xml | 37 + .../main/res/layout/sound_group_list_item.xml | 9 + app/src/main/res/layout/sound_list_item.xml | 86 + .../layout/support_development_fragment.xml | 120 + .../res/layout/wake_up_timer_fragment.xml | 69 + app/src/main/res/menu/home_menu.xml | 41 + app/src/main/res/menu/home_nav.xml | 19 + app/src/main/res/menu/preset.xml | 28 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../mipmap-anydpi-v26/ic_preset_shortcut.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4880 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 3752 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4880 bytes .../res/mipmap-hdpi/ic_preset_shortcut.png | Bin 0 -> 2679 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3011 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2230 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3011 bytes .../res/mipmap-mdpi/ic_preset_shortcut.png | Bin 0 -> 1645 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6976 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5820 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6976 bytes .../res/mipmap-xhdpi/ic_preset_shortcut.png | Bin 0 -> 3799 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 11476 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 10187 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11476 bytes .../res/mipmap-xxhdpi/ic_preset_shortcut.png | Bin 0 -> 6208 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 16969 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 16469 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16969 bytes .../res/mipmap-xxxhdpi/ic_preset_shortcut.png | Bin 0 -> 9265 bytes app/src/main/res/navigation/home.xml | 31 + app/src/main/res/navigation/main.xml | 42 + app/src/main/res/values-ar/strings.xml | 202 + app/src/main/res/values-bn/strings.xml | 7 + app/src/main/res/values-br/strings.xml | 5 + app/src/main/res/values-cs/strings.xml | 225 + app/src/main/res/values-da/strings.xml | 73 + app/src/main/res/values-de/strings.xml | 217 + app/src/main/res/values-el/strings.xml | 194 + app/src/main/res/values-eo/strings.xml | 18 + app/src/main/res/values-es-rAR/strings.xml | 63 + app/src/main/res/values-es-rES/strings.xml | 197 + app/src/main/res/values-eu/strings.xml | 24 + app/src/main/res/values-fa/strings.xml | 194 + app/src/main/res/values-fi/strings.xml | 194 + app/src/main/res/values-fr-rFR/strings.xml | 213 + app/src/main/res/values-hi/strings.xml | 217 + app/src/main/res/values-in/strings.xml | 211 + app/src/main/res/values-it-rIT/strings.xml | 188 + app/src/main/res/values-ja/strings.xml | 185 + app/src/main/res/values-lt/strings.xml | 196 + app/src/main/res/values-nb-rNO/strings.xml | 34 + app/src/main/res/values-night/colors.xml | 8 + app/src/main/res/values-night/styles.xml | 6 + app/src/main/res/values-nl/strings.xml | 168 + app/src/main/res/values-pl/strings.xml | 198 + app/src/main/res/values-pt-rBR/strings.xml | 227 + app/src/main/res/values-pt/strings.xml | 194 + app/src/main/res/values-ru/strings.xml | 220 + app/src/main/res/values-sq-rAL/strings.xml | 69 + app/src/main/res/values-sv/strings.xml | 163 + app/src/main/res/values-tr/strings.xml | 225 + app/src/main/res/values-uk-rUA/strings.xml | 204 + app/src/main/res/values-v23/styles.xml | 11 + app/src/main/res/values-v27/styles.xml | 11 + app/src/main/res/values-vi/strings.xml | 192 + app/src/main/res/values-zh-rCN/strings.xml | 151 + app/src/main/res/values/arrays.xml | 8 + app/src/main/res/values/colors.xml | 38 + app/src/main/res/values/donottranslate.xml | 42 + app/src/main/res/values/ids.xml | 7 + app/src/main/res/values/strings.xml | 230 + app/src/main/res/values/styles.xml | 147 + app/src/main/res/xml/settings.xml | 90 + .../noice/MediaPlayerServiceTest.kt | 111 + .../noice/WakeUpTimerManagerTest.kt | 184 + .../noice/ext/SimpleExoPlayerExtTest.kt | 47 + .../ashutoshgngwr/noice/model/PresetTest.kt | 108 + .../ashutoshgngwr/noice/model/SoundTest.kt | 46 + .../noice/playback/PlaybackControllerTest.kt | 535 ++ .../noice/playback/PlayerManagerTest.kt | 352 + .../noice/playback/PlayerTest.kt | 169 + .../strategy/LocalPlaybackStrategyTest.kt | 94 + .../noice/provider/ReviewFlowProviderTest.kt | 86 + .../noice/repository/PresetRepositoryTest.kt | 306 + .../repository/SettingsRepositoryTest.kt | 169 + .../noice/shadow/ShadowMediaSession.kt | 33 + .../noice/shadow/ShadowMediaSessionCompat.kt | 59 + .../noice/widget/CountdownTextViewTest.kt | 44 + .../noice/widget/DurationPickerTest.kt | 102 + .../strategy/CastPlaybackStrategyTest.kt | 134 + .../PlaystoreReviewFlowProviderTest.kt | 86 + .../noice/provider/RealBillingProviderTest.kt | 215 + .../noice/provider/RealCastAPIProviderTest.kt | 46 + .../widget/InAppBillingDonateViewTest.kt | 75 + build.gradle | 25 + cast-receiver/.babelrc | 10 + cast-receiver/.eslintignore | 3 + cast-receiver/.eslintrc.json | 13 + cast-receiver/.sassrc | 3 + cast-receiver/assets/app_icon.svg | 35 + cast-receiver/assets/cast.svg | 8 + cast-receiver/assets/loader.svg | 12 + cast-receiver/assets/playing.svg | 7 + cast-receiver/index.html | 30 + cast-receiver/jest.json | 10 + cast-receiver/package.json | 43 + cast-receiver/scss/_colors.scss | 3 + cast-receiver/scss/_typography.scss | 76 + cast-receiver/scss/main.scss | 61 + cast-receiver/src/index.ts | 62 + cast-receiver/src/library.mock.ts | 3 + cast-receiver/src/library.ts | 4 + cast-receiver/src/player_manager.test.ts | 237 + cast-receiver/src/player_manager.ts | 237 + cast-receiver/src/status_ui_handler.test.ts | 34 + cast-receiver/src/status_ui_handler.ts | 106 + cast-receiver/src/types.ts | 32 + cast-receiver/tsconfig.json | 7 + cast-receiver/types/index.d.ts | 9 + cast-receiver/yarn.lock | 8559 +++++++++++++++++ docs/.gitignore | 2 + docs/CHANGELOG.md | 411 + docs/CODE_OF_CONDUCT.md | 6 + docs/CONTRIBUTING.md | 206 + docs/CONTRIBUTORS.md | 36 + docs/Gemfile | 3 + docs/Gemfile.lock | 263 + docs/PRIVACY.md | 76 + docs/_config.yml | 139 + docs/_data/authors/code.yaml | 104 + docs/_data/authors/icons.yaml | 27 + docs/_data/authors/sounds.yaml | 108 + docs/_news/v2-announcement.md | 78 + docs/assets/android-app-architecture.svg | 3 + docs/assets/app_icon.svg | 51 + docs/assets/cast-receiver-architecture.svg | 3 + docs/assets/headerimage.jpg | Bin 0 -> 76450 bytes docs/assets/screenshot/yourscreenshot.png | Bin 0 -> 73327 bytes docs/index.md | 3 + docs/preset.html | 71 + docs/sitemap.xml | 17 + fastlane/Appfile | 2 + fastlane/Fastfile | 63 + fastlane/README.md | 39 + fastlane/Screengrabfile | 11 + .../metadata/android/ar/full_description.txt | 35 + .../android/ar/images/phoneScreenshots/1.png | Bin 0 -> 182038 bytes .../android/ar/images/phoneScreenshots/2.png | Bin 0 -> 87004 bytes .../android/ar/images/phoneScreenshots/3.png | Bin 0 -> 103479 bytes .../android/ar/images/phoneScreenshots/4.png | Bin 0 -> 77586 bytes .../android/ar/images/phoneScreenshots/5.png | Bin 0 -> 109663 bytes .../android/ar/images/phoneScreenshots/6.png | Bin 0 -> 174726 bytes .../metadata/android/ar/short_description.txt | 1 + fastlane/metadata/android/ar/title.txt | 1 + .../android/cs-CZ/full_description.txt | 35 + .../android/cs-CZ/images/featureGraphic.png | Bin 0 -> 440843 bytes .../cs-CZ/images/phoneScreenshots/1.png | Bin 0 -> 168611 bytes .../cs-CZ/images/phoneScreenshots/2.png | Bin 0 -> 85838 bytes .../cs-CZ/images/phoneScreenshots/3.png | Bin 0 -> 88186 bytes .../cs-CZ/images/phoneScreenshots/4.png | Bin 0 -> 81281 bytes .../cs-CZ/images/phoneScreenshots/5.png | Bin 0 -> 115071 bytes .../cs-CZ/images/phoneScreenshots/6.png | Bin 0 -> 140942 bytes .../android/cs-CZ/short_description.txt | 1 + fastlane/metadata/android/cs-CZ/title.txt | 1 + .../android/de-DE/full_description.txt | 35 + .../android/de-DE/images/featureGraphic.png | Bin 0 -> 617491 bytes .../de-DE/images/phoneScreenshots/1.png | Bin 0 -> 174678 bytes .../de-DE/images/phoneScreenshots/2.png | Bin 0 -> 85983 bytes .../de-DE/images/phoneScreenshots/3.png | Bin 0 -> 111128 bytes .../de-DE/images/phoneScreenshots/4.png | Bin 0 -> 84259 bytes .../de-DE/images/phoneScreenshots/5.png | Bin 0 -> 111744 bytes .../de-DE/images/phoneScreenshots/6.png | Bin 0 -> 168523 bytes .../android/de-DE/short_description.txt | 1 + fastlane/metadata/android/de-DE/title.txt | 1 + .../android/el-GR/full_description.txt | 35 + .../el-GR/images/phoneScreenshots/1.png | Bin 0 -> 188484 bytes .../el-GR/images/phoneScreenshots/2.png | Bin 0 -> 88634 bytes .../el-GR/images/phoneScreenshots/3.png | Bin 0 -> 113978 bytes .../el-GR/images/phoneScreenshots/4.png | Bin 0 -> 92419 bytes .../el-GR/images/phoneScreenshots/5.png | Bin 0 -> 124776 bytes .../el-GR/images/phoneScreenshots/6.png | Bin 0 -> 167599 bytes .../android/el-GR/short_description.txt | 1 + fastlane/metadata/android/el-GR/title.txt | 1 + .../metadata/android/en-US/changelogs/20.txt | 9 + .../metadata/android/en-US/changelogs/21.txt | 5 + .../metadata/android/en-US/changelogs/22.txt | 7 + .../metadata/android/en-US/changelogs/23.txt | 4 + .../metadata/android/en-US/changelogs/24.txt | 6 + .../metadata/android/en-US/changelogs/25.txt | 6 + .../metadata/android/en-US/changelogs/26.txt | 13 + .../metadata/android/en-US/changelogs/27.txt | 4 + .../metadata/android/en-US/changelogs/28.txt | 8 + .../metadata/android/en-US/changelogs/29.txt | 6 + .../metadata/android/en-US/changelogs/30.txt | 11 + .../metadata/android/en-US/changelogs/31.txt | 6 + .../metadata/android/en-US/changelogs/32.txt | 6 + .../metadata/android/en-US/changelogs/33.txt | 4 + .../metadata/android/en-US/changelogs/34.txt | 8 + .../metadata/android/en-US/changelogs/35.txt | 9 + .../metadata/android/en-US/changelogs/36.txt | 6 + .../metadata/android/en-US/changelogs/37.txt | 10 + .../metadata/android/en-US/changelogs/38.txt | 9 + .../metadata/android/en-US/changelogs/39.txt | 6 + .../metadata/android/en-US/changelogs/40.txt | 9 + .../metadata/android/en-US/changelogs/41.txt | 9 + .../metadata/android/en-US/changelogs/42.txt | 6 + .../metadata/android/en-US/changelogs/43.txt | 5 + .../metadata/android/en-US/changelogs/44.txt | 6 + .../metadata/android/en-US/changelogs/45.txt | 4 + .../metadata/android/en-US/changelogs/46.txt | 9 + .../metadata/android/en-US/changelogs/47.txt | 4 + .../metadata/android/en-US/changelogs/48.txt | 7 + .../metadata/android/en-US/changelogs/49.txt | 7 + .../metadata/android/en-US/changelogs/50.txt | 8 + .../metadata/android/en-US/changelogs/51.txt | 7 + .../metadata/android/en-US/changelogs/52.txt | 7 + .../android/en-US/changelogs/default.txt | 2 + .../android/en-US/full_description.txt | 35 + .../android/en-US/images/featureGraphic.png | Bin 0 -> 592161 bytes .../metadata/android/en-US/images/icon.png | Bin 0 -> 36270 bytes .../en-US/images/phoneScreenshots/1.png | Bin 0 -> 176544 bytes .../en-US/images/phoneScreenshots/2.png | Bin 0 -> 82178 bytes .../en-US/images/phoneScreenshots/3.png | Bin 0 -> 95483 bytes .../en-US/images/phoneScreenshots/4.png | Bin 0 -> 70802 bytes .../en-US/images/phoneScreenshots/5.png | Bin 0 -> 106870 bytes .../en-US/images/phoneScreenshots/6.png | Bin 0 -> 141181 bytes .../android/en-US/short_description.txt | 1 + fastlane/metadata/android/en-US/title.txt | 1 + fastlane/metadata/android/en-US/video.txt | 1 + .../android/es-ES/full_description.txt | 24 + .../android/es-ES/images/featureGraphic.png | Bin 0 -> 1189083 bytes .../es-ES/images/phoneScreenshots/1.png | Bin 0 -> 184631 bytes .../es-ES/images/phoneScreenshots/2.png | Bin 0 -> 85419 bytes .../es-ES/images/phoneScreenshots/3.png | Bin 0 -> 103960 bytes .../es-ES/images/phoneScreenshots/4.png | Bin 0 -> 79761 bytes .../es-ES/images/phoneScreenshots/5.png | Bin 0 -> 106707 bytes .../es-ES/images/phoneScreenshots/6.png | Bin 0 -> 150656 bytes .../android/es-ES/short_description.txt | 1 + fastlane/metadata/android/es-ES/title.txt | 1 + .../metadata/android/fa/full_description.txt | 35 + .../android/fa/images/phoneScreenshots/1.png | Bin 0 -> 168155 bytes .../android/fa/images/phoneScreenshots/2.png | Bin 0 -> 85875 bytes .../android/fa/images/phoneScreenshots/3.png | Bin 0 -> 102930 bytes .../android/fa/images/phoneScreenshots/4.png | Bin 0 -> 79056 bytes .../android/fa/images/phoneScreenshots/5.png | Bin 0 -> 109869 bytes .../android/fa/images/phoneScreenshots/6.png | Bin 0 -> 168302 bytes .../metadata/android/fa/short_description.txt | 1 + fastlane/metadata/android/fa/title.txt | 1 + .../android/fi-FI/full_description.txt | 35 + .../fi-FI/images/phoneScreenshots/1.png | Bin 0 -> 194931 bytes .../fi-FI/images/phoneScreenshots/2.png | Bin 0 -> 83311 bytes .../fi-FI/images/phoneScreenshots/3.png | Bin 0 -> 94705 bytes .../fi-FI/images/phoneScreenshots/4.png | Bin 0 -> 75821 bytes .../fi-FI/images/phoneScreenshots/5.png | Bin 0 -> 101218 bytes .../fi-FI/images/phoneScreenshots/6.png | Bin 0 -> 140575 bytes .../android/fi-FI/short_description.txt | 1 + fastlane/metadata/android/fi-FI/title.txt | 1 + .../android/fr-FR/full_description.txt | 23 + .../android/fr-FR/images/featureGraphic.png | Bin 0 -> 831545 bytes .../fr-FR/images/phoneScreenshots/1.png | Bin 0 -> 175927 bytes .../fr-FR/images/phoneScreenshots/2.png | Bin 0 -> 84435 bytes .../fr-FR/images/phoneScreenshots/3.png | Bin 0 -> 91987 bytes .../fr-FR/images/phoneScreenshots/4.png | Bin 0 -> 76098 bytes .../fr-FR/images/phoneScreenshots/5.png | Bin 0 -> 105809 bytes .../fr-FR/images/phoneScreenshots/6.png | Bin 0 -> 152934 bytes .../android/fr-FR/short_description.txt | 1 + fastlane/metadata/android/fr-FR/title.txt | 1 + .../android/hi-IN/full_description.txt | 35 + .../android/hi-IN/images/featureGraphic.png | Bin 0 -> 755131 bytes .../hi-IN/images/phoneScreenshots/1.png | Bin 0 -> 172526 bytes .../hi-IN/images/phoneScreenshots/2.png | Bin 0 -> 82261 bytes .../hi-IN/images/phoneScreenshots/3.png | Bin 0 -> 99363 bytes .../hi-IN/images/phoneScreenshots/4.png | Bin 0 -> 78226 bytes .../hi-IN/images/phoneScreenshots/5.png | Bin 0 -> 103333 bytes .../hi-IN/images/phoneScreenshots/6.png | Bin 0 -> 152980 bytes .../android/hi-IN/short_description.txt | 1 + fastlane/metadata/android/hi-IN/title.txt | 1 + .../metadata/android/id/full_description.txt | 34 + .../android/id/images/phoneScreenshots/1.png | Bin 0 -> 172229 bytes .../android/id/images/phoneScreenshots/2.png | Bin 0 -> 84943 bytes .../android/id/images/phoneScreenshots/3.png | Bin 0 -> 97693 bytes .../android/id/images/phoneScreenshots/4.png | Bin 0 -> 80539 bytes .../android/id/images/phoneScreenshots/5.png | Bin 0 -> 104658 bytes .../android/id/images/phoneScreenshots/6.png | Bin 0 -> 147229 bytes .../metadata/android/id/short_description.txt | 1 + fastlane/metadata/android/id/title.txt | 1 + .../android/it-IT/full_description.txt | 24 + .../android/it-IT/images/featureGraphic.png | Bin 0 -> 447872 bytes .../it-IT/images/phoneScreenshots/1.png | Bin 0 -> 186781 bytes .../it-IT/images/phoneScreenshots/2.png | Bin 0 -> 84892 bytes .../it-IT/images/phoneScreenshots/3.png | Bin 0 -> 96108 bytes .../it-IT/images/phoneScreenshots/4.png | Bin 0 -> 76406 bytes .../it-IT/images/phoneScreenshots/5.png | Bin 0 -> 106058 bytes .../it-IT/images/phoneScreenshots/6.png | Bin 0 -> 147578 bytes .../android/it-IT/short_description.txt | 1 + fastlane/metadata/android/it-IT/title.txt | 1 + .../android/ja-JP/full_description.txt | 35 + .../ja-JP/images/phoneScreenshots/1.png | Bin 0 -> 175388 bytes .../ja-JP/images/phoneScreenshots/2.png | Bin 0 -> 86291 bytes .../ja-JP/images/phoneScreenshots/3.png | Bin 0 -> 124304 bytes .../ja-JP/images/phoneScreenshots/4.png | Bin 0 -> 95449 bytes .../ja-JP/images/phoneScreenshots/5.png | Bin 0 -> 132471 bytes .../ja-JP/images/phoneScreenshots/6.png | Bin 0 -> 164062 bytes .../android/ja-JP/short_description.txt | 1 + fastlane/metadata/android/ja-JP/title.txt | 1 + .../metadata/android/lt/full_description.txt | 35 + .../android/lt/images/phoneScreenshots/1.png | Bin 0 -> 172475 bytes .../android/lt/images/phoneScreenshots/2.png | Bin 0 -> 83978 bytes .../android/lt/images/phoneScreenshots/3.png | Bin 0 -> 101805 bytes .../android/lt/images/phoneScreenshots/4.png | Bin 0 -> 80665 bytes .../android/lt/images/phoneScreenshots/5.png | Bin 0 -> 101846 bytes .../android/lt/images/phoneScreenshots/6.png | Bin 0 -> 152554 bytes .../metadata/android/lt/short_description.txt | 1 + fastlane/metadata/android/lt/title.txt | 1 + .../android/nl-NL/full_description.txt | 35 + .../nl-NL/images/phoneScreenshots/1.png | Bin 0 -> 177905 bytes .../nl-NL/images/phoneScreenshots/2.png | Bin 0 -> 84121 bytes .../nl-NL/images/phoneScreenshots/3.png | Bin 0 -> 101652 bytes .../nl-NL/images/phoneScreenshots/4.png | Bin 0 -> 81870 bytes .../nl-NL/images/phoneScreenshots/5.png | Bin 0 -> 107922 bytes .../nl-NL/images/phoneScreenshots/6.png | Bin 0 -> 142792 bytes .../android/nl-NL/short_description.txt | 1 + fastlane/metadata/android/nl-NL/title.txt | 1 + .../android/pl-PL/full_description.txt | 35 + .../pl-PL/images/phoneScreenshots/1.png | Bin 0 -> 186167 bytes .../pl-PL/images/phoneScreenshots/2.png | Bin 0 -> 84275 bytes .../pl-PL/images/phoneScreenshots/3.png | Bin 0 -> 100012 bytes .../pl-PL/images/phoneScreenshots/4.png | Bin 0 -> 82296 bytes .../pl-PL/images/phoneScreenshots/5.png | Bin 0 -> 113904 bytes .../pl-PL/images/phoneScreenshots/6.png | Bin 0 -> 156627 bytes .../android/pl-PL/short_description.txt | 1 + fastlane/metadata/android/pl-PL/title.txt | 1 + .../android/pt-BR/full_description.txt | 35 + .../android/pt-BR/images/featureGraphic.png | Bin 0 -> 410635 bytes .../pt-BR/images/phoneScreenshots/1.png | Bin 0 -> 188436 bytes .../pt-BR/images/phoneScreenshots/2.png | Bin 0 -> 84545 bytes .../pt-BR/images/phoneScreenshots/3.png | Bin 0 -> 95629 bytes .../pt-BR/images/phoneScreenshots/4.png | Bin 0 -> 84258 bytes .../pt-BR/images/phoneScreenshots/5.png | Bin 0 -> 107062 bytes .../pt-BR/images/phoneScreenshots/6.png | Bin 0 -> 157858 bytes .../android/pt-BR/short_description.txt | 1 + fastlane/metadata/android/pt-BR/title.txt | 1 + .../android/pt-PT/full_description.txt | 35 + .../pt-PT/images/phoneScreenshots/1.png | Bin 0 -> 166908 bytes .../pt-PT/images/phoneScreenshots/2.png | Bin 0 -> 84938 bytes .../pt-PT/images/phoneScreenshots/3.png | Bin 0 -> 97605 bytes .../pt-PT/images/phoneScreenshots/4.png | Bin 0 -> 82442 bytes .../pt-PT/images/phoneScreenshots/5.png | Bin 0 -> 105130 bytes .../pt-PT/images/phoneScreenshots/6.png | Bin 0 -> 160598 bytes .../android/pt-PT/short_description.txt | 1 + fastlane/metadata/android/pt-PT/title.txt | 1 + .../android/ru-RU/full_description.txt | 24 + .../android/ru-RU/images/featureGraphic.png | Bin 0 -> 801141 bytes .../ru-RU/images/phoneScreenshots/1.png | Bin 0 -> 185339 bytes .../ru-RU/images/phoneScreenshots/2.png | Bin 0 -> 87306 bytes .../ru-RU/images/phoneScreenshots/3.png | Bin 0 -> 101976 bytes .../ru-RU/images/phoneScreenshots/4.png | Bin 0 -> 79241 bytes .../ru-RU/images/phoneScreenshots/5.png | Bin 0 -> 109349 bytes .../ru-RU/images/phoneScreenshots/6.png | Bin 0 -> 164061 bytes .../android/ru-RU/short_description.txt | 1 + fastlane/metadata/android/ru-RU/title.txt | 1 + .../metadata/android/sq/full_description.txt | 24 + .../android/sq/images/featureGraphic.png | Bin 0 -> 531819 bytes .../android/sq/images/phoneScreenshots/1.png | Bin 0 -> 169171 bytes .../android/sq/images/phoneScreenshots/2.png | Bin 0 -> 84647 bytes .../android/sq/images/phoneScreenshots/3.png | Bin 0 -> 100385 bytes .../android/sq/images/phoneScreenshots/4.png | Bin 0 -> 79185 bytes .../android/sq/images/phoneScreenshots/5.png | Bin 0 -> 103050 bytes .../android/sq/images/phoneScreenshots/6.png | Bin 0 -> 144470 bytes .../metadata/android/sq/short_description.txt | 1 + fastlane/metadata/android/sq/title.txt | 1 + .../android/tr-TR/full_description.txt | 35 + .../tr-TR/images/phoneScreenshots/1.png | Bin 0 -> 172858 bytes .../tr-TR/images/phoneScreenshots/2.png | Bin 0 -> 83436 bytes .../tr-TR/images/phoneScreenshots/3.png | Bin 0 -> 86414 bytes .../tr-TR/images/phoneScreenshots/4.png | Bin 0 -> 70548 bytes .../tr-TR/images/phoneScreenshots/5.png | Bin 0 -> 102713 bytes .../tr-TR/images/phoneScreenshots/6.png | Bin 0 -> 149021 bytes .../android/tr-TR/short_description.txt | 1 + fastlane/metadata/android/tr-TR/title.txt | 1 + .../metadata/android/uk/full_description.txt | 34 + .../android/uk/images/featureGraphic.png | Bin 0 -> 666476 bytes .../android/uk/images/phoneScreenshots/1.png | Bin 0 -> 175711 bytes .../android/uk/images/phoneScreenshots/2.png | Bin 0 -> 84492 bytes .../android/uk/images/phoneScreenshots/3.png | Bin 0 -> 111367 bytes .../android/uk/images/phoneScreenshots/4.png | Bin 0 -> 80170 bytes .../android/uk/images/phoneScreenshots/5.png | Bin 0 -> 109212 bytes .../android/uk/images/phoneScreenshots/6.png | Bin 0 -> 151557 bytes .../metadata/android/uk/short_description.txt | 1 + fastlane/metadata/android/uk/title.txt | 1 + .../metadata/android/vi/full_description.txt | 34 + .../android/vi/images/phoneScreenshots/1.png | Bin 0 -> 188351 bytes .../android/vi/images/phoneScreenshots/2.png | Bin 0 -> 85855 bytes .../android/vi/images/phoneScreenshots/3.png | Bin 0 -> 104825 bytes .../android/vi/images/phoneScreenshots/4.png | Bin 0 -> 77477 bytes .../android/vi/images/phoneScreenshots/5.png | Bin 0 -> 103045 bytes .../android/vi/images/phoneScreenshots/6.png | Bin 0 -> 141107 bytes .../metadata/android/vi/short_description.txt | 1 + fastlane/metadata/android/vi/title.txt | 1 + .../android/zh-CN/full_description.txt | 35 + .../zh-CN/images/phoneScreenshots/1.png | Bin 0 -> 168263 bytes .../zh-CN/images/phoneScreenshots/2.png | Bin 0 -> 83125 bytes .../zh-CN/images/phoneScreenshots/3.png | Bin 0 -> 101345 bytes .../zh-CN/images/phoneScreenshots/4.png | Bin 0 -> 77691 bytes .../zh-CN/images/phoneScreenshots/5.png | Bin 0 -> 103348 bytes .../zh-CN/images/phoneScreenshots/6.png | Bin 0 -> 143766 bytes .../android/zh-CN/short_description.txt | 1 + fastlane/metadata/android/zh-CN/title.txt | 1 + gradle.properties | 21 + gradle/wrapper/gradle-wrapper.properties | 6 + local.properties | 2 + scripts/create-github-release-artifacts.sh | 71 + scripts/generate-docs.sh | 71 + scripts/run-ui-tests.sh | 68 + settings.gradle | 1 + 640 files changed, 36778 insertions(+) create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/build.gradle create mode 100644 app/google-services.json create mode 100644 app/jacoco.gradle create mode 100644 app/local.properties create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/EspressoX.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AlarmRingerActivityTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AppIntroActivityTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/MainActivityTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/ShortcutHandlerActivityTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/AboutFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/DialogFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/HomeFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/LibraryFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/PresetsFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/RandomPresetFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SettingsFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SleepTimerFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SupportDevelopmentFragmentTest.kt create mode 100644 app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/WakeUpTimerFragmentTest.kt create mode 100644 app/src/androidTestFull/java/com/github/ashutoshgngwr/noice/GenerateScreenshots.kt create mode 100644 app/src/debug/AndroidManifest.xml create mode 100644 app/src/full/AndroidManifest.xml create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/FullNoiceApplication.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategy.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategyFactory.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/InAppBillingDonateViewProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/PlaystoreReviewFlowProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealAnalyticsProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealBillingProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCastAPIProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCrashlyticsProvider.kt create mode 100644 app/src/full/java/com/github/ashutoshgngwr/noice/widget/InAppBillingDonateView.kt create mode 100644 app/src/full/res/drawable/ic_error_24dp.xml create mode 100644 app/src/full/res/layout/donate_view.xml create mode 100644 app/src/full/res/values/donottranslate.xml create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/assets/airplane_inflight.mp3 create mode 100644 app/src/main/assets/airplane_seatbelt_beeps.mp3 create mode 100644 app/src/main/assets/birds_0.mp3 create mode 100644 app/src/main/assets/birds_1.mp3 create mode 100644 app/src/main/assets/bonfire_0.mp3 create mode 100644 app/src/main/assets/bonfire_1.mp3 create mode 100644 app/src/main/assets/brownian_noise.mp3 create mode 100644 app/src/main/assets/coffee_shop_0.mp3 create mode 100644 app/src/main/assets/coffee_shop_1.mp3 create mode 100644 app/src/main/assets/creaking_ship_0.mp3 create mode 100644 app/src/main/assets/creaking_ship_1.mp3 create mode 100644 app/src/main/assets/crickets.mp3 create mode 100644 app/src/main/assets/distant_thunder.mp3 create mode 100644 app/src/main/assets/electric_car_0.mp3 create mode 100644 app/src/main/assets/electric_car_1.mp3 create mode 100644 app/src/main/assets/heavy_rain.mp3 create mode 100644 app/src/main/assets/howling_wolf.mp3 create mode 100644 app/src/main/assets/human_heartbeat.mp3 create mode 100644 app/src/main/assets/light_rain.mp3 create mode 100644 app/src/main/assets/moderate_rain.mp3 create mode 100644 app/src/main/assets/morning_in_a_village.mp3 create mode 100644 app/src/main/assets/moving_train.mp3 create mode 100644 app/src/main/assets/night_0.mp3 create mode 100644 app/src/main/assets/night_1.mp3 create mode 100644 app/src/main/assets/office_0.mp3 create mode 100644 app/src/main/assets/office_1.mp3 create mode 100644 app/src/main/assets/pink_noise.mp3 create mode 100644 app/src/main/assets/public_library_0.mp3 create mode 100644 app/src/main/assets/public_library_1.mp3 create mode 100644 app/src/main/assets/purring_cat.mp3 create mode 100644 app/src/main/assets/quiet_conversation_0.mp3 create mode 100644 app/src/main/assets/quiet_conversation_1.mp3 create mode 100644 app/src/main/assets/rolling_thunder.mp3 create mode 100644 app/src/main/assets/screeching_seagulls.mp3 create mode 100644 app/src/main/assets/seaside.mp3 create mode 100644 app/src/main/assets/soft_wind_0.mp3 create mode 100644 app/src/main/assets/soft_wind_1.mp3 create mode 100644 app/src/main/assets/thunder_crack.mp3 create mode 100644 app/src/main/assets/train_horn.mp3 create mode 100644 app/src/main/assets/walking_through_the_snow.mp3 create mode 100644 app/src/main/assets/water_hose_0.mp3 create mode 100644 app/src/main/assets/water_hose_1.mp3 create mode 100644 app/src/main/assets/water_stream_0.mp3 create mode 100644 app/src/main/assets/water_stream_1.mp3 create mode 100644 app/src/main/assets/white_noise.mp3 create mode 100644 app/src/main/assets/wind_chimes_of_shells.mp3 create mode 100644 app/src/main/assets/wind_in_palm_trees_0.mp3 create mode 100644 app/src/main/assets/wind_in_palm_trees_1.mp3 create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/MediaPlayerService.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/NoiceApplication.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/WakeUpTimerManager.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/activity/AlarmRingerActivity.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/activity/AppIntroActivity.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/activity/MainActivity.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/activity/ShortcutHandlerActivity.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/ext/SharedPreferencesExt.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/ext/SimpleExoPlayerExt.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/ext/UriExt.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/AboutFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/AppIntroFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/DialogFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/HomeFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/LibraryFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/PresetsFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/RandomPresetFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/SettingsFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/SleepTimerFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/SupportDevelopmentFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/fragment/WakeUpTimerFragment.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/model/Preset.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/model/Sound.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/navigation/Navigable.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlaybackController.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/Player.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerManager.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/PlayerNotificationManager.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/strategy/LocalPlaybackStrategy.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/strategy/LocalPlaybackStrategyFactory.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/strategy/PlaybackStrategy.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/playback/strategy/PlaybackStrategyFactory.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/AnalyticsProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/BillingProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/CastAPIProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/CrashlyticsProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/DonateViewProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/provider/ReviewFlowProvider.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/repository/PresetRepository.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/repository/SettingsRepository.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/widget/CountdownTextView.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/widget/DurationPicker.kt create mode 100644 app/src/main/java/com/github/ashutoshgngwr/noice/widget/MarkdownTextView.kt create mode 100644 app/src/main/res/drawable/app_banner.xml create mode 100644 app/src/main/res/drawable/ic_about_copyright.xml create mode 100644 app/src/main/res/drawable/ic_about_group.xml create mode 100644 app/src/main/res/drawable/ic_about_version.xml create mode 100644 app/src/main/res/drawable/ic_action_add.xml create mode 100644 app/src/main/res/drawable/ic_action_expand.xml create mode 100644 app/src/main/res/drawable/ic_action_library.xml create mode 100644 app/src/main/res/drawable/ic_action_play_stop_circled_toggle.xml create mode 100644 app/src/main/res/drawable/ic_action_play_to_stop_circled.xml create mode 100644 app/src/main/res/drawable/ic_action_presets.xml create mode 100644 app/src/main/res/drawable/ic_action_save.xml create mode 100644 app/src/main/res/drawable/ic_action_stop_to_play_circled.xml create mode 100644 app/src/main/res/drawable/ic_action_time_period.xml create mode 100644 app/src/main/res/drawable/ic_action_volume.xml create mode 100644 app/src/main/res/drawable/ic_action_wake_up_timer.xml create mode 100644 app/src/main/res/drawable/ic_appintro_chromecast.xml create mode 100644 app/src/main/res/drawable/ic_appintro_library.xml create mode 100644 app/src/main/res/drawable/ic_appintro_presets.xml create mode 100644 app/src/main/res/drawable/ic_appintro_sleep_timer.xml create mode 100644 app/src/main/res/drawable/ic_donate_opencollective.xml create mode 100644 app/src/main/res/drawable/ic_info_48dp.xml create mode 100644 app/src/main/res/drawable/ic_launcher_24dp.xml create mode 100644 app/src/main/res/drawable/ic_noti_close.xml create mode 100644 app/src/main/res/drawable/ic_noti_next.xml create mode 100644 app/src/main/res/drawable/ic_noti_pause.xml create mode 100644 app/src/main/res/drawable/ic_noti_play.xml create mode 100644 app/src/main/res/drawable/ic_noti_prev.xml create mode 100644 app/src/main/res/drawable/ic_pause_24dp.xml create mode 100644 app/src/main/res/drawable/ic_play_arrow_24dp.xml create mode 100644 app/src/main/res/drawable/ic_preset_shortcut_foreground.xml create mode 100644 app/src/main/res/drawable/ic_settings_analytics.xml create mode 100644 app/src/main/res/drawable/ic_settings_audio_focus.xml create mode 100644 app/src/main/res/drawable/ic_settings_delete_sweep.xml create mode 100644 app/src/main/res/drawable/ic_settings_export.xml create mode 100644 app/src/main/res/drawable/ic_settings_fade_in_duration.xml create mode 100644 app/src/main/res/drawable/ic_settings_home_screen.xml create mode 100644 app/src/main/res/drawable/ic_settings_import.xml create mode 100644 app/src/main/res/drawable/ic_settings_media_buttons.xml create mode 100644 app/src/main/res/drawable/ic_settings_sound_icon.xml create mode 100644 app/src/main/res/drawable/ic_settings_theme.xml create mode 100644 app/src/main/res/drawable/ic_shuffle_24dp.xml create mode 100644 app/src/main/res/drawable/ic_shuffle_32dp.xml create mode 100644 app/src/main/res/drawable/ic_sound_airplane_inflight.xml create mode 100644 app/src/main/res/drawable/ic_sound_airplane_seatbelt_beeps.xml create mode 100644 app/src/main/res/drawable/ic_sound_birds.xml create mode 100644 app/src/main/res/drawable/ic_sound_bonfire.xml create mode 100644 app/src/main/res/drawable/ic_sound_brownian_noise.xml create mode 100644 app/src/main/res/drawable/ic_sound_coffee_shop.xml create mode 100644 app/src/main/res/drawable/ic_sound_creaking_ship.xml create mode 100644 app/src/main/res/drawable/ic_sound_crickets.xml create mode 100644 app/src/main/res/drawable/ic_sound_distant_thunder.xml create mode 100644 app/src/main/res/drawable/ic_sound_electric_car.xml create mode 100644 app/src/main/res/drawable/ic_sound_heavy_rain.xml create mode 100644 app/src/main/res/drawable/ic_sound_howling_wolf.xml create mode 100644 app/src/main/res/drawable/ic_sound_human_heartbeat.xml create mode 100644 app/src/main/res/drawable/ic_sound_light_rain.xml create mode 100644 app/src/main/res/drawable/ic_sound_moderate_rain.xml create mode 100644 app/src/main/res/drawable/ic_sound_morning_in_a_village.xml create mode 100644 app/src/main/res/drawable/ic_sound_moving_train.xml create mode 100644 app/src/main/res/drawable/ic_sound_night.xml create mode 100644 app/src/main/res/drawable/ic_sound_office.xml create mode 100644 app/src/main/res/drawable/ic_sound_pink_noise.xml create mode 100644 app/src/main/res/drawable/ic_sound_public_library.xml create mode 100644 app/src/main/res/drawable/ic_sound_purring_cat.xml create mode 100644 app/src/main/res/drawable/ic_sound_quiet_conversation.xml create mode 100644 app/src/main/res/drawable/ic_sound_rolling_thunder.xml create mode 100644 app/src/main/res/drawable/ic_sound_screeching_seagulls.xml create mode 100644 app/src/main/res/drawable/ic_sound_seaside.xml create mode 100644 app/src/main/res/drawable/ic_sound_soft_wind.xml create mode 100644 app/src/main/res/drawable/ic_sound_thunder_crack.xml create mode 100644 app/src/main/res/drawable/ic_sound_train_horn.xml create mode 100644 app/src/main/res/drawable/ic_sound_walking_through_the_snow.xml create mode 100644 app/src/main/res/drawable/ic_sound_water_hose.xml create mode 100644 app/src/main/res/drawable/ic_sound_water_stream.xml create mode 100644 app/src/main/res/drawable/ic_sound_white_noise.xml create mode 100644 app/src/main/res/drawable/ic_sound_wind_in_chimes_of_shells.xml create mode 100644 app/src/main/res/drawable/ic_sound_wind_in_palm_trees.xml create mode 100644 app/src/main/res/drawable/ic_timer_24dp.xml create mode 100644 app/src/main/res/drawable/popup_menu_bg.xml create mode 100644 app/src/main/res/layout/alarm_ringer_activity.xml create mode 100644 app/src/main/res/layout/app_intro_fragment.xml create mode 100644 app/src/main/res/layout/dialog_fragment__base.xml create mode 100644 app/src/main/res/layout/dialog_fragment__text_input.xml create mode 100644 app/src/main/res/layout/duration_picker_view.xml create mode 100644 app/src/main/res/layout/home_fragment.xml create mode 100644 app/src/main/res/layout/library_fragment.xml create mode 100644 app/src/main/res/layout/main_activity.xml create mode 100644 app/src/main/res/layout/open_collective_donate_button.xml create mode 100644 app/src/main/res/layout/presets_fragment.xml create mode 100644 app/src/main/res/layout/presets_list_item.xml create mode 100644 app/src/main/res/layout/random_preset_fragment.xml create mode 100644 app/src/main/res/layout/sleep_timer_fragment.xml create mode 100644 app/src/main/res/layout/sound_group_list_item.xml create mode 100644 app/src/main/res/layout/sound_list_item.xml create mode 100644 app/src/main/res/layout/support_development_fragment.xml create mode 100644 app/src/main/res/layout/wake_up_timer_fragment.xml create mode 100644 app/src/main/res/menu/home_menu.xml create mode 100644 app/src/main/res/menu/home_nav.xml create mode 100644 app/src/main/res/menu/preset.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-anydpi-v26/ic_preset_shortcut.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_preset_shortcut.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_preset_shortcut.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_preset_shortcut.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_preset_shortcut.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_preset_shortcut.png create mode 100644 app/src/main/res/navigation/home.xml create mode 100644 app/src/main/res/navigation/main.xml create mode 100644 app/src/main/res/values-ar/strings.xml create mode 100644 app/src/main/res/values-bn/strings.xml create mode 100644 app/src/main/res/values-br/strings.xml create mode 100644 app/src/main/res/values-cs/strings.xml create mode 100644 app/src/main/res/values-da/strings.xml create mode 100644 app/src/main/res/values-de/strings.xml create mode 100644 app/src/main/res/values-el/strings.xml create mode 100644 app/src/main/res/values-eo/strings.xml create mode 100644 app/src/main/res/values-es-rAR/strings.xml create mode 100644 app/src/main/res/values-es-rES/strings.xml create mode 100644 app/src/main/res/values-eu/strings.xml create mode 100644 app/src/main/res/values-fa/strings.xml create mode 100644 app/src/main/res/values-fi/strings.xml create mode 100644 app/src/main/res/values-fr-rFR/strings.xml create mode 100644 app/src/main/res/values-hi/strings.xml create mode 100644 app/src/main/res/values-in/strings.xml create mode 100644 app/src/main/res/values-it-rIT/strings.xml create mode 100644 app/src/main/res/values-ja/strings.xml create mode 100644 app/src/main/res/values-lt/strings.xml create mode 100644 app/src/main/res/values-nb-rNO/strings.xml 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-nl/strings.xml create mode 100644 app/src/main/res/values-pl/strings.xml create mode 100644 app/src/main/res/values-pt-rBR/strings.xml create mode 100644 app/src/main/res/values-pt/strings.xml create mode 100644 app/src/main/res/values-ru/strings.xml create mode 100644 app/src/main/res/values-sq-rAL/strings.xml create mode 100644 app/src/main/res/values-sv/strings.xml create mode 100644 app/src/main/res/values-tr/strings.xml create mode 100644 app/src/main/res/values-uk-rUA/strings.xml create mode 100644 app/src/main/res/values-v23/styles.xml create mode 100644 app/src/main/res/values-v27/styles.xml create mode 100644 app/src/main/res/values-vi/strings.xml create mode 100644 app/src/main/res/values-zh-rCN/strings.xml create mode 100644 app/src/main/res/values/arrays.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/donottranslate.xml create mode 100644 app/src/main/res/values/ids.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/main/res/xml/settings.xml create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/MediaPlayerServiceTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/WakeUpTimerManagerTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/ext/SimpleExoPlayerExtTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/model/PresetTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/model/SoundTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/playback/PlaybackControllerTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/playback/PlayerManagerTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/playback/PlayerTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/playback/strategy/LocalPlaybackStrategyTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/provider/ReviewFlowProviderTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/repository/PresetRepositoryTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/repository/SettingsRepositoryTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/shadow/ShadowMediaSession.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/shadow/ShadowMediaSessionCompat.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/widget/CountdownTextViewTest.kt create mode 100644 app/src/test/java/com/github/ashutoshgngwr/noice/widget/DurationPickerTest.kt create mode 100644 app/src/testFull/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategyTest.kt create mode 100644 app/src/testFull/java/com/github/ashutoshgngwr/noice/provider/PlaystoreReviewFlowProviderTest.kt create mode 100644 app/src/testFull/java/com/github/ashutoshgngwr/noice/provider/RealBillingProviderTest.kt create mode 100644 app/src/testFull/java/com/github/ashutoshgngwr/noice/provider/RealCastAPIProviderTest.kt create mode 100644 app/src/testFull/java/com/github/ashutoshgngwr/noice/widget/InAppBillingDonateViewTest.kt create mode 100644 build.gradle create mode 100644 cast-receiver/.babelrc create mode 100644 cast-receiver/.eslintignore create mode 100644 cast-receiver/.eslintrc.json create mode 100644 cast-receiver/.sassrc create mode 100644 cast-receiver/assets/app_icon.svg create mode 100644 cast-receiver/assets/cast.svg create mode 100644 cast-receiver/assets/loader.svg create mode 100644 cast-receiver/assets/playing.svg create mode 100644 cast-receiver/index.html create mode 100644 cast-receiver/jest.json create mode 100644 cast-receiver/package.json create mode 100644 cast-receiver/scss/_colors.scss create mode 100644 cast-receiver/scss/_typography.scss create mode 100644 cast-receiver/scss/main.scss create mode 100644 cast-receiver/src/index.ts create mode 100644 cast-receiver/src/library.mock.ts create mode 100644 cast-receiver/src/library.ts create mode 100644 cast-receiver/src/player_manager.test.ts create mode 100644 cast-receiver/src/player_manager.ts create mode 100644 cast-receiver/src/status_ui_handler.test.ts create mode 100644 cast-receiver/src/status_ui_handler.ts create mode 100644 cast-receiver/src/types.ts create mode 100644 cast-receiver/tsconfig.json create mode 100644 cast-receiver/types/index.d.ts create mode 100644 cast-receiver/yarn.lock create mode 100644 docs/.gitignore create mode 100644 docs/CHANGELOG.md create mode 100644 docs/CODE_OF_CONDUCT.md create mode 100644 docs/CONTRIBUTING.md create mode 100644 docs/CONTRIBUTORS.md create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/PRIVACY.md create mode 100644 docs/_config.yml create mode 100644 docs/_data/authors/code.yaml create mode 100644 docs/_data/authors/icons.yaml create mode 100644 docs/_data/authors/sounds.yaml create mode 100644 docs/_news/v2-announcement.md create mode 100644 docs/assets/android-app-architecture.svg create mode 100644 docs/assets/app_icon.svg create mode 100644 docs/assets/cast-receiver-architecture.svg create mode 100644 docs/assets/headerimage.jpg create mode 100644 docs/assets/screenshot/yourscreenshot.png create mode 100644 docs/index.md create mode 100644 docs/preset.html create mode 100644 docs/sitemap.xml create mode 100644 fastlane/Appfile create mode 100644 fastlane/Fastfile create mode 100644 fastlane/README.md create mode 100644 fastlane/Screengrabfile create mode 100644 fastlane/metadata/android/ar/full_description.txt create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/ar/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/ar/short_description.txt create mode 100644 fastlane/metadata/android/ar/title.txt create mode 100644 fastlane/metadata/android/cs-CZ/full_description.txt create mode 100644 fastlane/metadata/android/cs-CZ/images/featureGraphic.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/cs-CZ/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/cs-CZ/short_description.txt create mode 100644 fastlane/metadata/android/cs-CZ/title.txt create mode 100644 fastlane/metadata/android/de-DE/full_description.txt create mode 100644 fastlane/metadata/android/de-DE/images/featureGraphic.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/de-DE/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/de-DE/short_description.txt create mode 100644 fastlane/metadata/android/de-DE/title.txt create mode 100644 fastlane/metadata/android/el-GR/full_description.txt create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/el-GR/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/el-GR/short_description.txt create mode 100644 fastlane/metadata/android/el-GR/title.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/20.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/21.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/22.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/23.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/24.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/25.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/26.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/27.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/28.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/29.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/30.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/31.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/32.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/33.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/34.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/35.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/36.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/37.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/38.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/39.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/40.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/41.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/42.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/43.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/44.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/45.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/46.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/47.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/48.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/49.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/50.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/51.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/52.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/default.txt create mode 100644 fastlane/metadata/android/en-US/full_description.txt create mode 100644 fastlane/metadata/android/en-US/images/featureGraphic.png create mode 100644 fastlane/metadata/android/en-US/images/icon.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/en-US/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/en-US/short_description.txt create mode 100644 fastlane/metadata/android/en-US/title.txt create mode 100644 fastlane/metadata/android/en-US/video.txt create mode 100644 fastlane/metadata/android/es-ES/full_description.txt create mode 100644 fastlane/metadata/android/es-ES/images/featureGraphic.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/es-ES/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/es-ES/short_description.txt create mode 100644 fastlane/metadata/android/es-ES/title.txt create mode 100644 fastlane/metadata/android/fa/full_description.txt create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/fa/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/fa/short_description.txt create mode 100644 fastlane/metadata/android/fa/title.txt create mode 100644 fastlane/metadata/android/fi-FI/full_description.txt create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/fi-FI/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/fi-FI/short_description.txt create mode 100644 fastlane/metadata/android/fi-FI/title.txt create mode 100644 fastlane/metadata/android/fr-FR/full_description.txt create mode 100644 fastlane/metadata/android/fr-FR/images/featureGraphic.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/fr-FR/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/fr-FR/short_description.txt create mode 100644 fastlane/metadata/android/fr-FR/title.txt create mode 100644 fastlane/metadata/android/hi-IN/full_description.txt create mode 100644 fastlane/metadata/android/hi-IN/images/featureGraphic.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/hi-IN/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/hi-IN/short_description.txt create mode 100644 fastlane/metadata/android/hi-IN/title.txt create mode 100644 fastlane/metadata/android/id/full_description.txt create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/id/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/id/short_description.txt create mode 100644 fastlane/metadata/android/id/title.txt create mode 100644 fastlane/metadata/android/it-IT/full_description.txt create mode 100644 fastlane/metadata/android/it-IT/images/featureGraphic.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/it-IT/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/it-IT/short_description.txt create mode 100644 fastlane/metadata/android/it-IT/title.txt create mode 100644 fastlane/metadata/android/ja-JP/full_description.txt create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/ja-JP/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/ja-JP/short_description.txt create mode 100644 fastlane/metadata/android/ja-JP/title.txt create mode 100644 fastlane/metadata/android/lt/full_description.txt create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/lt/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/lt/short_description.txt create mode 100644 fastlane/metadata/android/lt/title.txt create mode 100644 fastlane/metadata/android/nl-NL/full_description.txt create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/nl-NL/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/nl-NL/short_description.txt create mode 100644 fastlane/metadata/android/nl-NL/title.txt create mode 100644 fastlane/metadata/android/pl-PL/full_description.txt create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/pl-PL/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/pl-PL/short_description.txt create mode 100644 fastlane/metadata/android/pl-PL/title.txt create mode 100644 fastlane/metadata/android/pt-BR/full_description.txt create mode 100644 fastlane/metadata/android/pt-BR/images/featureGraphic.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/pt-BR/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/pt-BR/short_description.txt create mode 100644 fastlane/metadata/android/pt-BR/title.txt create mode 100644 fastlane/metadata/android/pt-PT/full_description.txt create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/pt-PT/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/pt-PT/short_description.txt create mode 100644 fastlane/metadata/android/pt-PT/title.txt create mode 100644 fastlane/metadata/android/ru-RU/full_description.txt create mode 100644 fastlane/metadata/android/ru-RU/images/featureGraphic.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/ru-RU/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/ru-RU/short_description.txt create mode 100644 fastlane/metadata/android/ru-RU/title.txt create mode 100644 fastlane/metadata/android/sq/full_description.txt create mode 100644 fastlane/metadata/android/sq/images/featureGraphic.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/sq/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/sq/short_description.txt create mode 100644 fastlane/metadata/android/sq/title.txt create mode 100644 fastlane/metadata/android/tr-TR/full_description.txt create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/tr-TR/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/tr-TR/short_description.txt create mode 100644 fastlane/metadata/android/tr-TR/title.txt create mode 100644 fastlane/metadata/android/uk/full_description.txt create mode 100644 fastlane/metadata/android/uk/images/featureGraphic.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/uk/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/uk/short_description.txt create mode 100644 fastlane/metadata/android/uk/title.txt create mode 100644 fastlane/metadata/android/vi/full_description.txt create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/vi/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/vi/short_description.txt create mode 100644 fastlane/metadata/android/vi/title.txt create mode 100644 fastlane/metadata/android/zh-CN/full_description.txt create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/1.png create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/2.png create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/3.png create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/4.png create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/5.png create mode 100644 fastlane/metadata/android/zh-CN/images/phoneScreenshots/6.png create mode 100644 fastlane/metadata/android/zh-CN/short_description.txt create mode 100644 fastlane/metadata/android/zh-CN/title.txt create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 local.properties create mode 100755 scripts/create-github-release-artifacts.sh create mode 100755 scripts/generate-docs.sh create mode 100755 scripts/run-ui-tests.sh create mode 100644 settings.gradle diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..f21ac79 --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source "https://rubygems.org" + +gem "fastlane" + diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..f18c327 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,213 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.3) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.2.0) + aws-partitions (1.494.0) + aws-sdk-core (3.120.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.48.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.101.0) + aws-sdk-core (~> 3, >= 3.120.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.3.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.0.3) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.4) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.6) + emoji_regex (3.2.2) + excon (0.85.0) + faraday (1.7.1) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday_middleware (1.1.0) + faraday (~> 1.0) + fastimage (2.2.5) + fastlane (2.193.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (~> 2.0.0) + naturally (~> 2.2) + optparse (~> 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.10.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-core (0.4.1) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + webrick + google-apis-iamcredentials_v1 (0.7.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-playcustomapp_v1 (0.5.0) + google-apis-core (>= 0.4, < 2.a) + google-apis-storage_v1 (0.6.0) + google-apis-core (>= 0.4, < 2.a) + google-cloud-core (1.6.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.5.0) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.1.0) + google-cloud-storage (1.34.1) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.1) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (0.17.1) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.15) + highline (2.0.3) + http-cookie (1.0.4) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.4.0) + json (2.5.1) + jwt (2.2.3) + memoist (0.16.2) + mini_magick (4.11.0) + mini_mime (1.1.1) + multi_json (1.15.0) + multipart-post (2.0.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.1.1) + os (1.1.1) + plist (3.6.0) + public_suffix (4.0.6) + rake (13.0.6) + representable (3.1.1) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.5) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.15.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.8) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + trailblazer-option (0.1.1) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + webrick (1.7.0) + word_wrap (1.0.0) + xcodeproj (1.21.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.1.4 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9dfe45d --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# ![Feature graphic](fastlane/metadata/android/en-US/images/featureGraphic.png) + +[![Latest release](https://img.shields.io/github/tag-date/ashutoshgngwr/noice.svg?color=orange&label=release)](https://GitHub.com/ashutoshgngwr/noice/tags/) +[![GitHub license](https://img.shields.io/github/license/ashutoshgngwr/noice.svg)](https://github.com/ashutoshgngwr/noice/blob/master/LICENSE) +[![Translation status](https://hosted.weblate.org/widgets/noice/-/svg-badge.svg)](https://hosted.weblate.org/engage/noice/) +[![Financial contributors](https://opencollective.com/noice/tiers/badge.svg)](https://opencollective.com/noice) +[![Android](https://github.com/ashutoshgngwr/noice/workflows/Android/badge.svg)](https://github.com/ashutoshgngwr/noice/actions?query=workflow%3AAndroid) +[![Cast Receiver](https://github.com/ashutoshgngwr/noice/workflows/Cast%20Receiver/badge.svg)](https://github.com/ashutoshgngwr/noice/actions?query=workflow%3A%22Cast+Receiver%22) +[![codecov](https://codecov.io/gh/ashutoshgngwr/noice/branch/master/graph/badge.svg)](https://codecov.io/gh/ashutoshgngwr/noice) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/67635a43989c4dbcb6c3472375dc1e5f)](https://www.codacy.com/manual/ashutoshgngwr/noice) + +For a lot of people, a little background noise is helpful to calm down and focus. In some cases, it's also a boost to productivity. Background noise can also help minimize the effects of stress. + +Noice is an app that allows you to create your own set of background sounds by mixing clips from environmental sources. Create your perfect surroundings by combining different sounds to drown out distractions so you can focus on your work, or generate serene, peaceful environments that encourage you to fall asleep. + +## Download + +[Get it on F-Droid][f-droid-link] +[Get it on Google Play][google-play-link] + +## Screenshots + +| | | | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | +| ![Screenshot 1](fastlane/metadata/android/en-US/images/phoneScreenshots/1.png) | ![Screenshot 2](fastlane/metadata/android/en-US/images/phoneScreenshots/2.png) | ![Screenshot 3](fastlane/metadata/android/en-US/images/phoneScreenshots/3.png) | +| ![Screenshot 4](fastlane/metadata/android/en-US/images/phoneScreenshots/4.png) | ![Screenshot 5](fastlane/metadata/android/en-US/images/phoneScreenshots/5.png) | ![Screenshot 6](fastlane/metadata/android/en-US/images/phoneScreenshots/6.png) | + +## Documentation + +1. [All notable changes](https://ashutoshgngwr.github.io/noice/CHANGELOG) to the + project over time +2. The [list of + contributors](https://ashutoshgngwr.github.io/noice/contributors) +3. [How can you contribute?](https://ashutoshgngwr.github.io/noice/contributing) +4. [Code of Conduct](https://ashutoshgngwr.github.io/noice/code-of-conduct) +5. [Privacy Policy](https://ashutoshgngwr.github.io/noice/privacy-policy) for + application users + +## License + +[GNU GPL v3](LICENSE) + +[google-play-link]: https://play.google.com/store/apps/details?id=com.github.ashutoshgngwr.noice&referrer=utm_source%3DGitHub%26utm_campaign%3DREADME +[f-droid-link]: https://f-droid.org/app/com.github.ashutoshgngwr.noice diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..8bd3119 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,148 @@ +plugins { + id 'com.android.application' + id 'kotlin-android' + + + id 'com.adarshr.test-logger' version '3.0.0' +} + +apply from: 'jacoco.gradle' + +android { + compileSdkVersion 30 + + defaultConfig { + applicationId 'com.github.ashutoshgngwr.noice' + minSdkVersion 21 + targetSdkVersion 30 + versionCode 52 + versionName '1.3.3' + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + } + + + buildFeatures { + viewBinding true + } + + buildTypes { + debug { + applicationIdSuffix '.debug' + testCoverageEnabled true + } + + release { + shrinkResources true + minifyEnabled true + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + + flavorDimensions 'tier' + productFlavors { + free { + dimension 'tier' + buildConfigField 'boolean', 'IS_FREE_BUILD', 'true' + } + + full { + dimension 'tier' + buildConfigField 'boolean', 'IS_FREE_BUILD', 'false' + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + useIR = true + jvmTarget = 1.8 + freeCompilerArgs += ["-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"] + } + + testOptions { + unitTests { + includeAndroidResources = true + all { + testlogger { + theme 'mocha' + } + } + } + } +} + +dependencies { + def fragmentVersion = '1.3.6' + def testCoreVersion = '1.3.0' + def junitVersion = '4.13.2' + def mockkVersion = '1.12.0' + def espressoVersion = '3.3.0' + def coroutinesVersion = '1.5.2' + + // TODO: move this to stable release. The latest stable release (2.3.5) causes a crash with error + // `java.lang.RuntimeException: Unknown animation name: x` + // Although, the crash only occurs on the Play Store variant..? + def navVersion = '2.4.0-alpha06' + + implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'androidx.browser:browser:1.3.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.0' + implementation 'androidx.core:core-ktx:1.6.0' + implementation 'androidx.drawerlayout:drawerlayout:1.1.1' + implementation "androidx.fragment:fragment-ktx:$fragmentVersion" + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' + implementation 'androidx.media:media:1.4.1' + implementation 'androidx.mediarouter:mediarouter:1.2.5' + implementation "androidx.navigation:navigation-fragment-ktx:$navVersion" + implementation "androidx.navigation:navigation-ui-ktx:$navVersion" + implementation 'androidx.preference:preference-ktx:1.1.1' + implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'com.github.AppIntro:AppIntro:6.1.0' + implementation 'io.github.medyo:android-about-page:2.0.0' + implementation 'com.google.android.exoplayer:exoplayer-core:2.11.8' + implementation 'com.google.android:flexbox:2.0.1' + implementation 'com.google.android.material:material:1.4.0' + implementation 'com.google.code.gson:gson:2.8.8' + implementation 'com.hopenlib.library:flextools:1.0.1' + implementation 'com.ncorti:slidetoact:0.9.0' + implementation 'io.noties.markwon:core:4.6.2' + implementation 'org.greenrobot:eventbus:3.1.1' + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + + fullImplementation 'com.android.billingclient:billing-ktx:4.0.0' + fullImplementation 'com.google.android.gms:play-services-base:17.6.0' + fullImplementation 'com.google.android.gms:play-services-cast-framework:20.0.0' + fullImplementation 'com.google.android.play:core:1.10.1' + fullImplementation platform('com.google.firebase:firebase-bom:28.4.0') + fullImplementation 'com.google.firebase:firebase-analytics-ktx' + fullImplementation 'com.google.firebase:firebase-crashlytics-ktx' + fullImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" + + + testImplementation "androidx.test:core:$testCoreVersion" + testImplementation "io.mockk:mockk:$mockkVersion" + testImplementation "junit:junit:$junitVersion" + testImplementation 'org.robolectric:robolectric:4.5.1' + testImplementation 'org.skyscreamer:jsonassert:1.5.0' + + testFullImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion" + + androidTestImplementation "androidx.test:core:$testCoreVersion" + androidTestImplementation "androidx.test:rules:1.4.0" + androidTestImplementation "androidx.test:runner:1.4.0" + androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" + androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" + androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation "io.mockk:mockk-android:$mockkVersion" + androidTestImplementation "junit:junit:$junitVersion" + + androidTestFullImplementation 'tools.fastlane:screengrab:2.1.0' + + debugImplementation "androidx.fragment:fragment-testing:$fragmentVersion" +} diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..cf47b3a --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,68 @@ +{ + "project_info": { + "project_number": "988644359741", + "project_id": "noice-android", + "storage_bucket": "noice-android.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:988644359741:android:5f9097fe9d7b6944a63454", + "android_client_info": { + "package_name": "com.github.ashutoshgngwr.noice" + } + }, + "oauth_client": [ + { + "client_id": "988644359741-6avtf2r8i748vfrhnndbedbc0l7b0677.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyD0bJzJla8JZSyAXe3AqzxQ7z0i0gCTurI" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "988644359741-6avtf2r8i748vfrhnndbedbc0l7b0677.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + }, + { + "client_info": { + "mobilesdk_app_id": "1:988644359741:android:1307df0db8c918c9a63454", + "android_client_info": { + "package_name": "com.github.ashutoshgngwr.noice.debug" + } + }, + "oauth_client": [ + { + "client_id": "988644359741-6avtf2r8i748vfrhnndbedbc0l7b0677.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyD0bJzJla8JZSyAXe3AqzxQ7z0i0gCTurI" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [ + { + "client_id": "988644359741-6avtf2r8i748vfrhnndbedbc0l7b0677.apps.googleusercontent.com", + "client_type": 3 + } + ] + } + } + } + ], + "configuration_version": "1" +} diff --git a/app/jacoco.gradle b/app/jacoco.gradle new file mode 100644 index 0000000..876a81b --- /dev/null +++ b/app/jacoco.gradle @@ -0,0 +1,62 @@ +// https://github.com/dampcake/Robolectric-JaCoCo-Sample/blob/master/jacoco.gradle + +apply plugin: 'jacoco' + +jacoco { + // https://bintray.com/bintray/jcenter/org.jacoco:org.jacoco.core + toolVersion = '0.8.7' +} + +android { + testOptions { + unitTests.all { + jacoco { + includeNoLocationClasses = true + excludes = ['jdk.internal.*'] + } + } + } +} + +project.afterEvaluate { + + android.applicationVariants.all { variant -> + def taskName = "test${variant.name.capitalize()}Coverage" + def testTask = "test${variant.name.capitalize()}UnitTest" + tasks.create(name: "${taskName}", type: JacocoReport, dependsOn: "${testTask}") { + group = 'Reporting' + description = "Generate Jacoco coverage reports for the ${variant.name} build variant." + + def sourceDirs = ['src/main/java'] + android.sourceSets[variant.name].java.srcDirs + def execDataFile = "${project.buildDir}/jacoco/${testTask}.exec" + def classFiles = fileTree( + dir: "${project.buildDir}/tmp/kotlin-classes/${variant.name}", + excludes: ['**/R.class', + '**/R$*.class', + '**/*$ViewInjector*.*', + '**/*$ViewBinder*.*', + '**/BuildConfig.*', + '**/Manifest*.*'] + ) + + sourceDirectories.setFrom(files(sourceDirs)) + executionData.setFrom(files(execDataFile)) + classDirectories.setFrom(classFiles) + + reports { + xml.enabled = true + xml.destination file("${project.buildDir}/reports/jacoco/${taskName}/report.xml") + html.enabled = true + } + } + } + + tasks.create(name: 'testCoverage', type: JacocoReport) { + group = 'Reporting' + description = 'Generate Jacoco coverage reports for the all build variants.' + + android.applicationVariants.all { variant -> + dependsOn "test${variant.name.capitalize()}Coverage" + } + } +} diff --git a/app/local.properties b/app/local.properties new file mode 100644 index 0000000..2ed802a --- /dev/null +++ b/app/local.properties @@ -0,0 +1,2 @@ +sdk.dir=/opt/android-sdk +sdk-location=/opt/android-sdk diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..4be3ea0 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,37 @@ +# crashlytics +-keepattributes SourceFile,LineNumberTable +-keep public class * extends java.lang.Exception + +# EventBus rules +-keepattributes *Annotation* +-keepclassmembers class * { + @org.greenrobot.eventbus.Subscribe ; +} + +-keep enum org.greenrobot.eventbus.ThreadMode { *; } + +# GSON rules https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg +# Gson uses generic type information stored in a class file when working with fields. Proguard +# removes such information by default, so configure it to keep all of it. +-keepattributes Signature + +# For using GSON @Expose annotation, already present in EventBus rules +-keepattributes *Annotation* + +# Gson specific classes +-dontwarn sun.misc.** + +# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, +# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) +-keep class * implements com.google.gson.TypeAdapter +-keep class * implements com.google.gson.TypeAdapterFactory +-keep class * implements com.google.gson.JsonSerializer +-keep class * implements com.google.gson.JsonDeserializer + +# Since we only serialise/deserialise @Expose fields in Noice, keep all will with members annotated as such. +-keepclassmembers class * { + @com.google.gson.annotations.Expose ; +} + +# Preserve names of all fragment classes for analytics +-keepnames class com.github.ashutoshgngwr.noice.fragment.* diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/EspressoX.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/EspressoX.kt new file mode 100644 index 0000000..0f48547 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/EspressoX.kt @@ -0,0 +1,152 @@ +package com.github.ashutoshgngwr.noice + +import android.content.Intent +import android.view.View +import androidx.annotation.IdRes +import androidx.annotation.StringRes +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.UiController +import androidx.test.espresso.ViewAction +import androidx.test.espresso.ViewInteraction +import androidx.test.espresso.action.MotionEvents +import androidx.test.espresso.intent.matcher.IntentMatchers.hasAction +import androidx.test.espresso.intent.matcher.IntentMatchers.hasExtra +import androidx.test.espresso.matcher.RootMatchers.isDialog +import androidx.test.espresso.matcher.ViewMatchers.* +import com.github.ashutoshgngwr.noice.widget.DurationPicker +import com.google.android.material.bottomnavigation.BottomNavigationView +import com.google.android.material.slider.Slider +import com.google.android.material.textfield.TextInputLayout +import org.hamcrest.Description +import org.hamcrest.Matcher +import org.hamcrest.Matchers.* +import org.hamcrest.TypeSafeMatcher + + +/** + * [EspressoX] contains the custom extended util implementations for Espresso. + */ +object EspressoX { + + /** + * [clickInItem] performs a click action on item with the given [viewId] inside currently + * matched view. + */ + fun clickInItem(@IdRes viewId: Int): ViewAction { + return object : ViewAction { + override fun getDescription() = "Click on view with specified id" + override fun getConstraints() = hasDescendant(withId(viewId)) + + override fun perform(uiController: UiController, view: View) { + view.findViewById(viewId).also { it.performClick() } + } + } + } + + /** + * [slide] emulates slide action on the provided [Slider] widget. + */ + fun slide(value: Float): ViewAction { + return object : ViewAction { + override fun getDescription() = "Emulate user input on a slider" + override fun getConstraints() = instanceOf(Slider::class.java) + + override fun perform(uiController: UiController, view: View) { + view as Slider + val height = view.height - view.paddingTop - view.paddingBottom + val location = intArrayOf(0, 0) + view.getLocationOnScreen(location) + + val xOffset = location[0].toFloat() + view.paddingStart + view.trackSidePadding + val range = view.valueTo - view.valueFrom + val xStart = (((view.value - view.valueFrom) / range) * view.trackWidth) + xOffset + + val x = (((value - view.valueFrom) / range) * view.trackWidth) + xOffset + val y = location[1] + view.paddingTop + (height.toFloat() / 2) + + val startCoordinates = floatArrayOf(xStart, y) + val endCoordinates = floatArrayOf(x, y) + val precision = floatArrayOf(1f, 1f) + + // Send down event, and send up + val down = MotionEvents.sendDown(uiController, startCoordinates, precision).down + uiController.loopMainThreadForAtLeast(100) + MotionEvents.sendMovement(uiController, down, endCoordinates) + uiController.loopMainThreadForAtLeast(100) + MotionEvents.sendUp(uiController, down, endCoordinates) + } + } + } + + /** + * Returns a [ViewAction] that invokes [DurationPicker.onDurationAddedListener] with the given + * [durationSecs]. + */ + fun addDurationToPicker(durationSecs: Long): ViewAction { + return object : ViewAction { + override fun getDescription() = "add duration to a DurationPicker" + override fun getConstraints() = instanceOf(DurationPicker::class.java) + + override fun perform(uiController: UiController, view: View) { + view as DurationPicker + view.invokeOnDurationAddedListener(durationSecs * 1000L) + } + } + } + + /** + * Returns a [Matcher] that matches reset button of the [DurationPicker] view. + */ + fun withDurationPickerResetButton(durationPickerMatcher: Matcher): Matcher { + return allOf(isDescendantOfA(durationPickerMatcher), withId(R.id.reset_button)) + } + + /** + * [withErrorText] matches [TextInputLayout]s using the provided error text. + */ + fun withErrorText(@StringRes expectedErrorText: Int): Matcher { + return object : TypeSafeMatcher() { + override fun describeTo(description: Description?) = Unit + override fun matchesSafely(item: View?): Boolean { + if (item !is TextInputLayout) return false + val error = item.error ?: return false + return item.context.getString(expectedErrorText) == error.toString() + } + } + } + + /** + * Returns a matcher that matches the nested intent sent with an Intent chooser. + */ + fun hasIntentChooser(matcher: Matcher): Matcher { + return allOf( + hasAction(Intent.ACTION_CHOOSER), + hasExtra(`is`(Intent.EXTRA_INTENT), matcher) + ) + } + + /** + * [noop] returns a [ViewAction] that does nothing. + */ + fun noop(): ViewAction { + return object : ViewAction { + override fun getDescription() = "no-op" + override fun getConstraints() = any(View::class.java) + override fun perform(uiController: UiController, view: View) = Unit + } + } + + fun withBottomNavSelectedItem(@IdRes id: Int): Matcher = object : TypeSafeMatcher() { + override fun describeTo(description: Description?) = Unit + override fun matchesSafely(item: View?): Boolean { + return item is BottomNavigationView && item.selectedItemId == id + } + } + + /** + * Matches [matchers] in a root that [isDialog]. + */ + fun onViewInDialog(vararg matchers: Matcher): ViewInteraction { + return onView(allOf(*matchers)).inRoot(isDialog()) + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AlarmRingerActivityTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AlarmRingerActivityTest.kt new file mode 100644 index 0000000..dbff205 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AlarmRingerActivityTest.kt @@ -0,0 +1,76 @@ +package com.github.ashutoshgngwr.noice.activity + +import android.content.Intent +import androidx.fragment.app.Fragment +import androidx.fragment.app.testing.FragmentScenario +import androidx.lifecycle.Lifecycle +import androidx.media.AudioAttributesCompat +import androidx.test.core.app.ActivityScenario +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.swipeRight +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import io.mockk.every +import io.mockk.mockkObject +import io.mockk.unmockkAll +import io.mockk.verify +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class AlarmRingerActivityTest { + + @Before + fun setup() { + mockkObject(PlaybackController) + every { PlaybackController.setAudioUsage(any(), any()) } returns Unit + every { PlaybackController.pause(any()) } returns Unit + every { PlaybackController.playPreset(any(), any()) } returns Unit + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testWithoutPresetID() { + val scenario = ActivityScenario.launch(AlarmRingerActivity::class.java) + verify(exactly = 1, timeout = 5000L) { PlaybackController.pause(any()) } + assertEquals(Lifecycle.State.DESTROYED, scenario.state) + } + + @Test + fun testWithPresetID() { + val presetID = "test-preset-id" + + // cannot launch Activity using `ActivityScenario.launch(Intent)` method. For whatever reasons, + // it increases the startup time for all subsequent `ActivityScenario.launch(Class)`s from + // other classes. + FragmentScenario.launch(Fragment::class.java).onFragment { + it.startActivity( + Intent(it.requireContext(), AlarmRingerActivity::class.java) + .putExtra(AlarmRingerActivity.EXTRA_PRESET_ID, presetID) + ) + } + + onView(withId(R.id.dismiss_slider)).check(matches(isDisplayed())) + verify(exactly = 1, timeout = 5000L) { + PlaybackController.setAudioUsage(any(), AudioAttributesCompat.USAGE_ALARM) + PlaybackController.playPreset(any(), presetID) + } + + onView(withId(R.id.dismiss_slider)).perform(swipeRight()) + verify(exactly = 1, timeout = 5000L) { + PlaybackController.setAudioUsage(any(), AudioAttributesCompat.USAGE_MEDIA) + PlaybackController.pause(any()) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AppIntroActivityTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AppIntroActivityTest.kt new file mode 100644 index 0000000..f0ab8fd --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/AppIntroActivityTest.kt @@ -0,0 +1,117 @@ +package com.github.ashutoshgngwr.noice.activity + +import android.app.Activity +import androidx.core.content.edit +import androidx.preference.PreferenceManager +import androidx.test.core.app.ActivityScenario +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.swipeLeft +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.intent.Intents +import androidx.test.espresso.intent.Intents.intended +import androidx.test.espresso.intent.matcher.IntentMatchers.hasComponent +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.R +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class AppIntroActivityTest { + + private lateinit var activityScenario: ActivityScenario + + @Before + fun setup() { + activityScenario = ActivityScenario.launch(AppIntroActivity::class.java) + } + + @After + fun teardown() { + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { clear() } + } + + @Test + fun testOnSkipPressed() { + onView(withId(R.id.skip)) + .check(matches(isDisplayed())) + .perform(click()) + + // not using activityScenario.state since it never transitions to destroyed without adding an + // arbitrary wait before assertions. + assertEquals(Activity.RESULT_CANCELED, activityScenario.result?.resultCode) + + // should update the preferences + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .getBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, false) + .also { assertTrue(it) } + } + + @Test + fun testOnDonePressed() { + while (true) { + try { + onView(withId(R.id.done)) + .check(matches(isDisplayed())) + .perform(click()) + + break + } catch (e: AssertionError) { + onView(withId(R.id.view_pager)) + .check(matches(isDisplayed())) + .perform(swipeLeft()) + } + } + + // not using activityScenario.state since it never transitions to destroyed without adding an + // arbitrary wait before assertions. + assertEquals(Activity.RESULT_CANCELED, activityScenario.result?.resultCode) + + // should update the preferences + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .getBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, false) + .also { assertTrue(it) } + } + + @Test + fun testMaybeStart_whenUserIsTryingToSeeItForTheFirstTime() { + Intents.init() + try { + // leveraging currently created activityScenario to start another instance of self. (: + activityScenario.onActivity { + AppIntroActivity.maybeStart(it) + } + + intended(hasComponent(AppIntroActivity::class.qualifiedName)) + } finally { + Intents.release() + } + } + + @Test + fun testMaybeStart_whenUserHasAlreadySeenIt() { + Intents.init() + try { + // when user has already seen the activity once, i.e., if the preference is present in the + // storage, maybeStart shouldn't start the activity. + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { putBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, true) } + + activityScenario.onActivity { + AppIntroActivity.maybeStart(it) + } + + assertEquals(0, Intents.getIntents().size) + } finally { + Intents.release() + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/MainActivityTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/MainActivityTest.kt new file mode 100644 index 0000000..dd43c7b --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/MainActivityTest.kt @@ -0,0 +1,180 @@ +package com.github.ashutoshgngwr.noice.activity + +import android.content.Intent +import android.net.Uri +import androidx.appcompat.app.AppCompatDelegate +import androidx.core.content.edit +import androidx.navigation.findNavController +import androidx.preference.PreferenceManager +import androidx.test.core.app.ActivityScenario +import androidx.test.core.app.ActivityScenario.launch +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.doesNotExist +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.BuildConfig +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import com.github.ashutoshgngwr.noice.provider.AnalyticsProvider +import com.github.ashutoshgngwr.noice.provider.BillingProvider +import com.github.ashutoshgngwr.noice.provider.CrashlyticsProvider +import com.github.ashutoshgngwr.noice.repository.SettingsRepository +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.slot +import io.mockk.unmockkAll +import io.mockk.verify +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class MainActivityTest { + + private lateinit var activityScenario: ActivityScenario + + @Before + fun setup() { + // mark app intro as seen to run main activity tests in peace + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { + putBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, true) + putBoolean(MainActivity.PREF_HAS_SEEN_DATA_COLLECTION_CONSENT, true) + putBoolean(MainActivity.PREF_HAS_SEEN_V2_ANNOUNCEMENT, true) + } + + activityScenario = launch(MainActivity::class.java) + } + + @After + fun teardown() { + unmockkAll() + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { clear() } + } + + @Test + fun testNavDestinationExtra() { + activityScenario = Intent(ApplicationProvider.getApplicationContext(), MainActivity::class.java) + .let { + it.putExtra(MainActivity.EXTRA_NAV_DESTINATION, R.id.about) + launch(it) + } + + activityScenario.onActivity { + val navController = it.findNavController(R.id.nav_host_fragment) + assertEquals(R.id.about, navController.currentDestination?.id) + } + } + + @Test + fun testAppTheme() { + val nightModes = arrayOf( + AppCompatDelegate.MODE_NIGHT_NO, + AppCompatDelegate.MODE_NIGHT_YES, + AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM + ) + + val mockRepo = mockk(relaxed = true) + mockkObject(SettingsRepository) + every { SettingsRepository.newInstance(any()) } returns mockRepo + for (nightMode in nightModes) { + every { mockRepo.getAppThemeAsNightMode() } returns nightMode + activityScenario.recreate() + assertEquals(nightMode, AppCompatDelegate.getDefaultNightMode()) + } + } + + @Test + fun testPresetUriIntent() { + mockkObject(PlaybackController) + val inputs = arrayOf( + "https://ashutoshgngwr.github.io/noice/preset?name=test&playerStates=[]", + "noice://preset?name=test&playerStates=[]" + ) + + every { PlaybackController.playPresetFromUri(any(), any()) } returns Unit + for (input in inputs) { + val uri = Uri.parse(input) + activityScenario.onActivity { + it.startActivity( + Intent(it, MainActivity::class.java) + .setAction(Intent.ACTION_VIEW) + .setData(uri) + ) + } + + verify(exactly = 1, timeout = 5000L) { PlaybackController.playPresetFromUri(any(), uri) } + } + } + + @Test + fun testUsageDataCollectionDialog() { + val mockAnalyticsProvider: AnalyticsProvider = mockk(relaxed = true) + val mockCrashlyticsProvider: CrashlyticsProvider = mockk(relaxed = true) + + ApplicationProvider.getApplicationContext().apply { + analyticsProvider = mockAnalyticsProvider + crashlyticsProvider = mockCrashlyticsProvider + } + + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { remove(MainActivity.PREF_HAS_SEEN_DATA_COLLECTION_CONSENT) } + + activityScenario.recreate() + if (BuildConfig.IS_FREE_BUILD) { + onView(withText(R.string.share_usage_data_consent_title)).check(doesNotExist()) + return + } + + onView(withText(R.string.share_usage_data_consent_title)) + .check(matches(isDisplayed())) + + onView(withText(R.string.accept)).perform(click()) + verify(exactly = 1) { + mockAnalyticsProvider.setCollectionEnabled(true) + mockCrashlyticsProvider.setCollectionEnabled(true) + } + } + + @Test + fun testBillingProviderListener() { + if (BuildConfig.IS_FREE_BUILD) { // free flavor doesn't have billing provider scenarios + return + } + + val mockBillingProvider: BillingProvider = mockk(relaxed = true) + ApplicationProvider.getApplicationContext() + .billingProvider = mockBillingProvider + + activityScenario.recreate() + + val slot = slot() + verify { mockBillingProvider.init(any(), capture(slot)) } + assertTrue(slot.isCaptured) + + activityScenario.onActivity { + slot.captured.onPending(listOf("test-sku")) + } + + onView(withText(R.string.payment_pending)) + .check(matches(isDisplayed())) + + val testOrderID = "test-order-id" + activityScenario.onActivity { + slot.captured.onComplete(listOf(), testOrderID) + } + + EspressoX.onViewInDialog(withId(R.id.positive)).perform(click()) // close the dialog + verify { mockBillingProvider.consumePurchase(testOrderID) } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/ShortcutHandlerActivityTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/ShortcutHandlerActivityTest.kt new file mode 100644 index 0000000..c1fa9f6 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/activity/ShortcutHandlerActivityTest.kt @@ -0,0 +1,74 @@ +package com.github.ashutoshgngwr.noice.activity + +import android.app.Activity +import android.app.Instrumentation +import android.content.Intent +import androidx.test.core.app.ActivityScenario +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.intent.Intents +import androidx.test.espresso.intent.matcher.IntentMatchers.hasComponent +import androidx.test.espresso.intent.matcher.IntentMatchers.hasExtra +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.model.Preset +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import com.github.ashutoshgngwr.noice.repository.PresetRepository +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.unmockkAll +import io.mockk.verify +import org.hamcrest.Matchers.allOf +import org.junit.After +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class ShortcutHandlerActivityTest { + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testOnCreate() { + mockkObject(PresetRepository.Companion, PlaybackController) + every { PlaybackController.playPreset(any(), any()) } returns Unit + + val mockRepo = mockk() + every { PresetRepository.newInstance(any()) } returns mockRepo + + val presetIDExpectations = arrayOf("invalid-id", "valid-id") + val presetFindByIdReturns = arrayOf(null, mockk(relaxed = true)) + val playPresetCallCount = arrayOf(0, 1) + + for (i in presetIDExpectations.indices) { + every { mockRepo.get(presetIDExpectations[i]) } returns presetFindByIdReturns[i] + Intents.init() + Intents.intending(hasComponent(MainActivity::class.qualifiedName)) + .respondWith(Instrumentation.ActivityResult(Activity.RESULT_OK, Intent())) + + try { + Intent(ApplicationProvider.getApplicationContext(), ShortcutHandlerActivity::class.java) + .putExtra(ShortcutHandlerActivity.EXTRA_SHORTCUT_ID, presetIDExpectations[i]) + .putExtra(ShortcutHandlerActivity.EXTRA_PRESET_ID, presetIDExpectations[i]) + .also { ActivityScenario.launch(it) } + + Intents.intended( + allOf( + hasComponent(MainActivity::class.qualifiedName), + hasExtra(MainActivity.EXTRA_NAV_DESTINATION, R.id.presets) + ), + Intents.times(1) + ) + + verify(exactly = playPresetCallCount[i], timeout = 5000L) { + PlaybackController.playPreset(any(), presetIDExpectations[i]) + } + } finally { + Intents.release() + } + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/AboutFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/AboutFragmentTest.kt new file mode 100644 index 0000000..947cb48 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/AboutFragmentTest.kt @@ -0,0 +1,52 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.content.Intent +import android.net.Uri +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.intent.Intents +import androidx.test.espresso.intent.Intents.intended +import androidx.test.espresso.intent.matcher.IntentMatchers.filterEquals +import androidx.test.espresso.matcher.ViewMatchers.withChild +import androidx.test.espresso.matcher.ViewMatchers.withText +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import com.github.ashutoshgngwr.noice.R +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class AboutFragmentTest { + + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + fragmentScenario = launchFragmentInContainer() + } + + @Test + fun testAboutItemClick() { + Intents.init() + + // can't test everything. Picking one item at random + onView(withChild(withText(R.string.app_copyright))).perform(click()) + intended( + filterEquals( + Intent( + Intent.ACTION_VIEW, + Uri.parse( + InstrumentationRegistry.getInstrumentation() + .targetContext + .getString(R.string.app_license_url) + ) + ) + ) + ) + + Intents.release() + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/DialogFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/DialogFragmentTest.kt new file mode 100644 index 0000000..8cc6387 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/DialogFragmentTest.kt @@ -0,0 +1,169 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.view.View +import androidx.fragment.app.Fragment +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.fragment.app.testing.withFragment +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.replaceText +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.RootMatchers.isDialog +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.R +import io.mockk.every +import io.mockk.mockk +import org.hamcrest.Matchers.not +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import kotlin.random.Random + +@RunWith(AndroidJUnit4::class) +class DialogFragmentTest { + + private lateinit var emptyFragmentScenario: FragmentScenario + + @Before + fun setup() { + emptyFragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @Test + fun testTitleText() { + newDialog { title(R.string.app_name) } + EspressoX.onViewInDialog(withId(R.id.title), withText(R.string.app_name)) + .check(matches(isDisplayed())) + } + + @Test + fun testPositiveButton() { + newDialog { positiveButton(R.string.app_name) } + EspressoX.onViewInDialog(withId(R.id.positive), withText(R.string.app_name)) + .perform(click()) + + onView(isRoot()).inRoot(not(isDialog())) + } + + @Test + fun testNegativeButton() { + newDialog { negativeButton(R.string.app_name) } + EspressoX.onViewInDialog(withId(R.id.negative), withText(R.string.app_name)) + .perform(click()) + + onView(isRoot()).inRoot(not(isDialog())) + } + + @Test + fun testNeutralButton() { + newDialog { neutralButton(android.R.string.copy) } + EspressoX.onViewInDialog(withId(R.id.neutral), withText(android.R.string.copy)) + .perform(click()) + + onView(isRoot()).inRoot(not(isDialog())) + } + + @Test + fun testMessageText() { + newDialog { message(R.string.app_name) } + EspressoX.onViewInDialog(isDescendantOfA(withId(R.id.content)), withText(R.string.app_name)) + .check(matches(isDisplayed())) + } + + @Test + fun testTextInput() { + val mockValidator = mockk<(String) -> Int>() + every { mockValidator.invoke("invalid") } returns R.string.app_name + every { mockValidator.invoke("test") } returns 0 + val dialogFragment = newDialog { + input( + hintRes = R.string.app_name, + preFillValue = "test", + validator = mockValidator + ) + } + + EspressoX.onViewInDialog(isDescendantOfA(withId(R.id.content)), withId(R.id.editText)) + .check(matches(isDisplayed())) + .perform(replaceText("invalid")) + + EspressoX.onViewInDialog(withId(R.id.textInputLayout)) + .check(matches(EspressoX.withErrorText(R.string.app_name))) + + EspressoX.onViewInDialog(withId(R.id.positive)) + .check(matches(not(isEnabled()))) + + EspressoX.onViewInDialog(isDescendantOfA(withId(R.id.content)), withId(R.id.editText)) + .perform(replaceText("test")) + + EspressoX.onViewInDialog(withId(R.id.textInputLayout)) + .check(matches(not(EspressoX.withErrorText(R.string.app_name)))) + + assertEquals("test", dialogFragment.getInputText()) + } + + @Test + fun testSingleChoiceList() { + var selectedItem = 0 + val items = arrayOf("test-0", "test-1", "test-2") + + newDialog { + singleChoiceItems(items, currentChoice = selectedItem) { choice -> + selectedItem = choice + } + } + + items.forEach { + EspressoX.onViewInDialog(isDescendantOfA(withId(android.R.id.list)), withText(it)) + .check(matches(isDisplayed())) + } + + EspressoX.onViewInDialog(isDescendantOfA(withId(android.R.id.list)), withText(items[1])) + .perform(click()) + + onView(isRoot()).inRoot(not(isDialog())) + assertEquals(1, selectedItem) + } + + @Test + fun testSlider() { + val id = View.generateViewId() + val expectedValue = Random.nextInt(10).toFloat() + var value = 1.0f + + newDialog { + slider( + viewID = id, + from = 0.0f, + to = 10.0f, + value = value, + changeListener = { v -> value = v }, + ) + + positiveButton(R.string.okay) + } + + EspressoX.onViewInDialog(withId(id)) + .check(matches(isDisplayed())) + .perform(EspressoX.slide(expectedValue)) + + EspressoX.onViewInDialog(withId(R.id.positive)).perform(click()) + assertEquals(expectedValue, value) + } + + private fun newDialog(options: DialogFragment.() -> Unit): DialogFragment { + val f = emptyFragmentScenario.withFragment { + DialogFragment.show(childFragmentManager, options) + } + + // wait for dialog to be visible + EspressoX.onViewInDialog(withId(R.id.dialog_root)) + .check(matches(isDisplayed())) + + return f + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/HomeFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/HomeFragmentTest.kt new file mode 100644 index 0000000..b975bb0 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/HomeFragmentTest.kt @@ -0,0 +1,133 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.content.Context +import androidx.core.content.edit +import androidx.fragment.app.Fragment +import androidx.navigation.NavController +import androidx.navigation.findNavController +import androidx.navigation.fragment.NavHostFragment +import androidx.preference.PreferenceManager +import androidx.test.core.app.ActivityScenario +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.doesNotExist +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.activity.AppIntroActivity +import com.github.ashutoshgngwr.noice.activity.MainActivity +import com.github.ashutoshgngwr.noice.model.Sound +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import com.github.ashutoshgngwr.noice.repository.SettingsRepository +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.unmockkAll +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class HomeFragmentTest { + + // activityScenario is more appropriate than FragmentScenario for two reasons. + // 1. Activity in fragment scenario doesn't have an action bar (for menu items) + // 2. NavController need to be manually injected in a fragment in fragment scenario. + private lateinit var activityScenario: ActivityScenario + private lateinit var navController: NavController + + @Before + fun setup() { + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { + putBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, true) + putBoolean(MainActivity.PREF_HAS_SEEN_DATA_COLLECTION_CONSENT, true) + putBoolean(MainActivity.PREF_HAS_SEEN_V2_ANNOUNCEMENT, true) + } + + activityScenario = ActivityScenario.launch(MainActivity::class.java) + activityScenario.onActivity { + navController = it.findNavController(R.id.nav_host_fragment) + } + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testStartDestination() { + onView(withId(R.id.bottom_nav)) + .check(matches(EspressoX.withBottomNavSelectedItem(R.id.library))) + + withChildNavController { + assertEquals(R.id.library, it.currentDestination?.id) + } + + mockkObject(SettingsRepository) + every { SettingsRepository.newInstance(any()) } returns mockk(relaxed = true) { + every { shouldDisplayPresetsAsHomeScreen() } returns true + } + + setup() // haha! + onView(withId(R.id.bottom_nav)) + .check(matches(EspressoX.withBottomNavSelectedItem(R.id.presets))) + + withChildNavController { + assertEquals(R.id.presets, it.currentDestination?.id) + } + } + + @Test + fun testPlaybackToggleMenuItem() { + onView(withId(R.id.action_pause)) + .check(doesNotExist()) + + onView(withId(R.id.action_resume)) + .check(doesNotExist()) + + // play a sound + val context = ApplicationProvider.getApplicationContext() + PlaybackController.play(context, Sound.LIBRARY.keys.first()) + + try { + onView(withId(R.id.action_pause)) + .check(matches(isDisplayed())) + .perform(click()) + + onView(withId(R.id.action_pause)) + .check(doesNotExist()) + + onView(withId(R.id.action_resume)) + .check(matches(isDisplayed())) + .perform(click()) + + onView(withId(R.id.action_resume)) + .check(doesNotExist()) + } finally { + PlaybackController.stop(context) + } + } + + private inline fun onHomeFragment(crossinline block: (HomeFragment) -> Unit) { + activityScenario.onActivity { + val parent = it.supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as Fragment + val home = parent.childFragmentManager.fragments.first() as HomeFragment + block.invoke(home) + } + } + + private inline fun withChildNavController(crossinline block: (NavController) -> Unit) { + onHomeFragment { + val f = it.childFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment + block.invoke(f.navController) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/LibraryFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/LibraryFragmentTest.kt new file mode 100644 index 0000000..3cacb48 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/LibraryFragmentTest.kt @@ -0,0 +1,355 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.support.v4.media.session.PlaybackStateCompat +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.recyclerview.widget.RecyclerView +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.replaceText +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.contrib.RecyclerViewActions +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.MediaPlayerService +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.model.Preset +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import com.github.ashutoshgngwr.noice.playback.Player +import com.github.ashutoshgngwr.noice.provider.ReviewFlowProvider +import com.github.ashutoshgngwr.noice.repository.PresetRepository +import com.github.ashutoshgngwr.noice.repository.SettingsRepository +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.mockkStatic +import io.mockk.slot +import io.mockk.unmockkAll +import io.mockk.verify +import org.greenrobot.eventbus.EventBus +import org.hamcrest.Matchers.allOf +import org.hamcrest.Matchers.not +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import kotlin.random.Random + +@RunWith(AndroidJUnit4::class) +class LibraryFragmentTest { + + private lateinit var mockEventBus: EventBus + private lateinit var mockPresetRepository: PresetRepository + private lateinit var mockSettingsRepository: SettingsRepository + private lateinit var mockReviewFlowProvider: ReviewFlowProvider + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + mockkStatic(EventBus::class) + mockkObject( + PlaybackController, + PresetRepository.Companion, + SettingsRepository.Companion + ) + + mockReviewFlowProvider = mockk(relaxed = true) + ApplicationProvider.getApplicationContext() + .reviewFlowProvider = mockReviewFlowProvider + + mockEventBus = mockk(relaxed = true) + mockPresetRepository = mockk(relaxed = true) + mockSettingsRepository = mockk(relaxed = true) + + every { EventBus.getDefault() } returns mockEventBus + every { PresetRepository.newInstance(any()) } returns mockPresetRepository + every { SettingsRepository.newInstance(any()) } returns mockSettingsRepository + + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testRecyclerViewItem_playButton() { + // stub the real implementation + every { PlaybackController.play(any(), any()) } returns Unit + + onView(withId(R.id.sound_list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + click() + ) + ) + + verify(exactly = 1) { PlaybackController.play(any(), "birds") } + } + + @Test + fun testRecyclerViewItem_stopButton() { + every { PlaybackController.stop(any(), any()) } returns Unit + val mockUpdateEvent = mockk(relaxed = true) { + every { players } returns hashMapOf("birds" to mockk(relaxed = true)) + } + + fragmentScenario.onFragment { it.onPlayerManagerUpdate(mockUpdateEvent) } + onView(withId(R.id.sound_list)).perform( + RecyclerViewActions.actionOnItem( + allOf( + hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + hasDescendant( + allOf(withId(R.id.play_indicator), withEffectiveVisibility(Visibility.VISIBLE)) + ) + ), + click() + ) + ) + + verify(exactly = 1) { PlaybackController.stop(any(), "birds") } + } + + @Test + fun testRecyclerViewItem_volumeSlider() { + val mockPlayer = mockk(relaxed = true) { + every { volume } returns Player.DEFAULT_VOLUME + } + + val mockUpdateEvent = mockk(relaxed = true) { + every { players } returns hashMapOf("birds" to mockPlayer) + } + + every { + mockEventBus.getStickyEvent(MediaPlayerService.PlaybackUpdateEvent::class.java) + } returns mockUpdateEvent + + fragmentScenario.onFragment { it.onPlayerManagerUpdate(mockUpdateEvent) } + val expectedVolumes = arrayOf(0, Player.MAX_VOLUME, 5) + for (expectedVolume in expectedVolumes) { + onView(withId(R.id.sound_list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + EspressoX.clickInItem(R.id.volume_button) + ) + ) + + EspressoX.onViewInDialog(withId(R.id.volume_slider)) + .check(matches(isDisplayed())) + .perform(EspressoX.slide(expectedVolume.toFloat())) + + EspressoX.onViewInDialog(withId(R.id.positive)).perform(click()) + verify(exactly = 1) { mockPlayer.setVolume(expectedVolume) } + } + } + + @Test + fun testRecyclerViewItem_timePeriodSlider() { + val mockPlayer = mockk(relaxed = true) { + every { timePeriod } returns Player.DEFAULT_TIME_PERIOD + } + + val mockUpdateEvent = mockk(relaxed = true) { + every { players } returns hashMapOf("rolling_thunder" to mockPlayer) + } + + every { + mockEventBus.getStickyEvent(MediaPlayerService.PlaybackUpdateEvent::class.java) + } returns mockUpdateEvent + + fragmentScenario.onFragment { it.onPlayerManagerUpdate(mockUpdateEvent) } + val expectedTimePeriods = arrayOf( + Player.MIN_TIME_PERIOD, + Player.MAX_TIME_PERIOD, + // following because step size of the slider is 10s + Random.nextInt((Player.DEFAULT_TIME_PERIOD / 10) + 1, Player.MAX_TIME_PERIOD / 10) * 10 + ) + + for (expectedTimePeriod in expectedTimePeriods) { + onView(withId(R.id.sound_list)) + .perform( + RecyclerViewActions.scrollTo( + hasDescendant(allOf(withId(R.id.title), withText(R.string.rolling_thunder))) + ), + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText(R.string.rolling_thunder))), + EspressoX.clickInItem(R.id.time_period_button) + ) + ) + + EspressoX.onViewInDialog(withId(R.id.time_period_slider)) + .check(matches(isDisplayed())) + .perform(EspressoX.slide(expectedTimePeriod.toFloat())) + + EspressoX.onViewInDialog(withId(R.id.positive)).perform(click()) + verify(exactly = 1) { mockPlayer.timePeriod = expectedTimePeriod } + } + } + + @Test + fun testSavePresetButton_onUnknownPresetPlayback() { + val mockUpdateEvent = mockk(relaxed = true) { + every { players } returns mockk(relaxed = true) + } + + val states = arrayOf( + PlaybackStateCompat.STATE_PLAYING, + PlaybackStateCompat.STATE_PAUSED, + PlaybackStateCompat.STATE_STOPPED + ) + + val visibility = arrayOf( + Visibility.VISIBLE, + Visibility.GONE, + Visibility.GONE, + ) + + for (i in states.indices) { + every { mockUpdateEvent.state } returns states[i] + fragmentScenario.onFragment { + it.onPlayerManagerUpdate(mockUpdateEvent) + } + + onView(withId(R.id.save_preset_button)) + .check(matches(withEffectiveVisibility(visibility[i]))) + } + } + + @Test + fun testSavePresetButton_onKnownPresetPlayback() { + val mockPlayers: Map = hashMapOf( + "birds" to mockk(relaxed = true), + "rolling_thunder" to mockk(relaxed = true) + ) + + val preset = Preset.from("test", mockPlayers.values) + mockkObject(Preset.Companion) + every { Preset.from("", mockPlayers.values) } returns preset + every { mockPresetRepository.list() } returns arrayOf(preset) + fragmentScenario.onFragment { fragment -> + fragment.onPlayerManagerUpdate(mockk(relaxed = true) { + every { state } returns PlaybackStateCompat.STATE_PLAYING + every { players } returns mockPlayers + }) + } + + onView(withId(R.id.save_preset_button)) + .check(matches(withEffectiveVisibility(Visibility.GONE))) + + // when volume/time period slider is adjusted, save preset button should be visible. + // since the Sticky Event is mocked, the item being slided will perform a mock call. So we'll + // need to return a different instance of events (with expected value) when other components + // request it after sliding action happens. + every { + mockEventBus.getStickyEvent(MediaPlayerService.PlaybackUpdateEvent::class.java) + } returns mockk(relaxed = true) { + every { state } returns PlaybackStateCompat.STATE_PLAYING + every { players } returns hashMapOf( + "birds" to mockk(relaxed = true) { + every { volume } returns 6 + }, + "rolling_thunder" to mockk(relaxed = true) + ) + } + + onView(withId(R.id.sound_list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + EspressoX.clickInItem(R.id.volume_button) + ) + ) + + EspressoX.onViewInDialog(withId(R.id.volume_slider)) + .check(matches(isDisplayed())) + .perform(EspressoX.slide(6f)) + + EspressoX.onViewInDialog(withId(R.id.positive)).perform(click()) + verify(exactly = 1) { requireNotNull(mockPlayers["birds"]).setVolume(6) } + onView(allOf(withId(R.id.save_preset_button), withEffectiveVisibility(Visibility.VISIBLE))) + } + + @Test + fun testSavePresetButton_onClick() { + val mockPlayers: Map = hashMapOf( + "birds" to mockk(relaxed = true) { + every { soundKey } returns "birds" + every { volume } returns 1 + every { timePeriod } returns Player.MIN_TIME_PERIOD + 2 + }, + "rolling_thunder" to mockk(relaxed = true) { + every { soundKey } returns "rolling_thunder" + every { volume } returns 3 + every { timePeriod } returns Player.MIN_TIME_PERIOD + 4 + } + ) + + every { mockPresetRepository.list() } returns arrayOf( + mockk(relaxed = true) { + every { name } returns "test-exists" + } + ) + + fragmentScenario.onFragment { fragment -> + fragment.onPlayerManagerUpdate(mockk(relaxed = true) { + every { state } returns PlaybackStateCompat.STATE_PLAYING + every { players } returns mockPlayers + }) + } + + onView(withId(R.id.save_preset_button)) + .check(matches(withEffectiveVisibility(Visibility.VISIBLE))) + .perform(click()) + + // should disable save button for duplicate names + EspressoX.onViewInDialog(withId(R.id.editText)) + .check(matches(isDisplayed())) + .perform(replaceText("test-exists")) + + EspressoX.onViewInDialog(withId(R.id.positive), withText(R.string.save)) + .check(matches(not(isEnabled()))) + + EspressoX.onViewInDialog(withId(R.id.editText)) + .perform(replaceText("test-does-not-exists")) + + EspressoX.onViewInDialog(withId(R.id.positive), withText(R.string.save)) + .check(matches(isEnabled())) + .perform(click()) + + onView(withId(R.id.save_preset_button)).check(matches(not(isDisplayed()))) + + val presetSlot = slot() + verify { mockPresetRepository.create(capture(presetSlot)) } + + for (playerState in presetSlot.captured.playerStates) { + assertEquals(mockPlayers[playerState.soundKey]?.volume, playerState.volume) + assertEquals(mockPlayers[playerState.soundKey]?.timePeriod, playerState.timePeriod) + } + + verify(exactly = 1) { mockReviewFlowProvider.maybeAskForReview(any()) } + } + + @Test + fun testShouldDisplaySoundIcons() { + val inputs = arrayOf(false, true) + val outputs = arrayOf(Visibility.GONE, Visibility.VISIBLE) + for (i in inputs.indices) { + every { mockSettingsRepository.shouldDisplaySoundIcons() } returns inputs[i] + fragmentScenario.recreate() + onView(withId(R.id.sound_list)) + .perform( + RecyclerViewActions.actionOnItem( + allOf( + hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + hasDescendant(allOf(withId(R.id.icon), withEffectiveVisibility(outputs[i]))) + ), + EspressoX.noop() + ), + ) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/PresetsFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/PresetsFragmentTest.kt new file mode 100644 index 0000000..4853355 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/PresetsFragmentTest.kt @@ -0,0 +1,358 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.content.Intent +import android.net.Uri +import android.support.v4.media.session.PlaybackStateCompat +import android.widget.Button +import androidx.core.content.pm.ShortcutInfoCompat +import androidx.core.content.pm.ShortcutManagerCompat +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.replaceText +import androidx.test.espresso.assertion.ViewAssertions.doesNotExist +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.contrib.RecyclerViewActions +import androidx.test.espresso.intent.Intents +import androidx.test.espresso.intent.Intents.intended +import androidx.test.espresso.intent.matcher.IntentMatchers.hasAction +import androidx.test.espresso.intent.matcher.IntentMatchers.hasExtra +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.activity.ShortcutHandlerActivity +import com.github.ashutoshgngwr.noice.model.Preset +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import com.github.ashutoshgngwr.noice.playback.Player +import com.github.ashutoshgngwr.noice.provider.ReviewFlowProvider +import com.github.ashutoshgngwr.noice.repository.PresetRepository +import io.mockk.clearStaticMockk +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.mockkStatic +import io.mockk.slot +import io.mockk.unmockkAll +import io.mockk.verify +import org.hamcrest.Matchers.* +import org.junit.After +import org.junit.Assert.* +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class PresetsFragmentTest { + + private lateinit var fragmentScenario: FragmentScenario + private lateinit var mockPreset: Preset + private lateinit var mockPresetRepository: PresetRepository + private lateinit var mockReviewFlowProvider: ReviewFlowProvider + + @Before + fun setup() { + mockkStatic(ShortcutManagerCompat::class) + mockkObject( + Preset.Companion, + PlaybackController, + PresetRepository.Companion + ) + + mockReviewFlowProvider = mockk(relaxed = true) + ApplicationProvider.getApplicationContext() + .reviewFlowProvider = mockReviewFlowProvider + + mockPreset = mockk(relaxed = true) { + every { id } returns "test-id" + every { name } returns "test" + every { playerStates } returns arrayOf( + Preset.PlayerState("test-1", Player.DEFAULT_VOLUME, Player.DEFAULT_TIME_PERIOD), + Preset.PlayerState("test-2", Player.MAX_VOLUME, Player.MAX_TIME_PERIOD) + ) + } + + mockPresetRepository = mockk { + every { list() } returns arrayOf(mockPreset, mockk(relaxed = true) { + every { name } returns "test-exists" + }) + } + + every { PresetRepository.newInstance(any()) } returns mockPresetRepository + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testInitialLayout() { + onView(withId(R.id.empty_list_hint)) + .check(matches(withEffectiveVisibility(Visibility.GONE))) + + every { mockPresetRepository.list() } returns arrayOf() + fragmentScenario.recreate() + onView(withId(R.id.empty_list_hint)) + .check(matches(withEffectiveVisibility(Visibility.VISIBLE))) + } + + @Test + fun testRecyclerViewItem_playButton() { + // stub the original method. Without stubbing, mockk will also run the real implementation. + every { PlaybackController.playPreset(any(), any()) } returns Unit + + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.play_button) + ) + ) + + verify(exactly = 1) { PlaybackController.playPreset(any(), "test-id") } + } + + @Test + fun testRecyclerViewItem_stopButton() { + // ensure that PresetsFragment assumes it is playing a preset + every { Preset.from(any(), any()) } returns mockPreset + fragmentScenario.onFragment { + it.onPlayerManagerUpdate(mockk(relaxed = true) { + every { state } returns PlaybackStateCompat.STATE_PLAYING + }) + } + + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.play_button) + ) + ) + + verify(exactly = 1) { PlaybackController.stop(any()) } + } + + @Test + fun testRecyclerViewItem_shareOption() { + val presetUri = "test-preset-uri" + every { mockPreset.toUri() } returns Uri.parse(presetUri) + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + try { + Intents.init() + onView(withText(R.string.share)).perform(click()) // select share option + intended( + EspressoX.hasIntentChooser( + allOf( + hasAction(Intent.ACTION_SEND), + hasExtra(Intent.EXTRA_TEXT, presetUri) + ) + ) + ) + } finally { + Intents.release() + } + } + + @Test + fun testRecyclerViewItem_deleteOption() { + every { mockPresetRepository.delete(any()) } returns true + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.delete)).perform(click()) // select delete option + onView(allOf(instanceOf(Button::class.java), withText(R.string.delete))) + .perform(click()) // click delete button in confirmation dialog + + onView(withText("test")).check(doesNotExist()) + verify(exactly = 1) { + mockPresetRepository.delete("test-id") + ShortcutManagerCompat.removeDynamicShortcuts(any(), listOf("test-id")) + mockReviewFlowProvider.maybeAskForReview(any()) + } + } + + @Test + fun testRecyclerViewItem_deleteOption_onPresetPlaying() { + // ensure that PresetsFragment assumes it is playing a preset + every { Preset.from(any(), any()) } returns mockPreset + every { mockPresetRepository.delete(any()) } returns true + + fragmentScenario.onFragment { + it.onPlayerManagerUpdate(mockk(relaxed = true) { + every { state } returns PlaybackStateCompat.STATE_PLAYING + }) + } + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.delete)).perform(click()) // select delete option + onView(allOf(instanceOf(Button::class.java), withText(R.string.delete))) + .perform(click()) // click delete button in confirmation dialog + + // should publish a stop playback event if preset was playing + verify(exactly = 1) { PlaybackController.stop(any()) } + } + + @Test + fun testRecyclerViewItem_renameOption() { + every { mockPresetRepository.update(any()) } returns Unit + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.rename)).perform(click()) // select rename option + onView(withId(R.id.editText)) + .check(matches(isDisplayed())) // check if the rename dialog was displayed + .perform(replaceText("test-exists")) // replace text in input field + + onView(allOf(instanceOf(Button::class.java), withText(R.string.save))) + .check(matches(not(isEnabled()))) + + onView(withId(R.id.editText)) + .check(matches(isDisplayed())) + .perform(replaceText("test-does-not-exists")) + + onView(allOf(instanceOf(Button::class.java), withText(R.string.save))) + .check(matches(isEnabled())) + .perform(click()) // click on positive button + + val presetSlot = slot() + verify(exactly = 1) { + mockPreset.name = "test-does-not-exists" + mockPresetRepository.update(capture(presetSlot)) + mockReviewFlowProvider.maybeAskForReview(any()) + } + + assertEquals(mockPreset, presetSlot.captured) + } + + @Test + fun testRecyclerViewItem_AddToHomeScreenOption() { + val pinShortcutSupportedExpectations = arrayOf(false, true) + val expectedRequestPinShortcutCalls = arrayOf(0, 1) + + for (i in pinShortcutSupportedExpectations.indices) { + // prevent system dialog from showing up. + every { ShortcutManagerCompat.requestPinShortcut(any(), any(), any()) } returns true + every { + ShortcutManagerCompat.isRequestPinShortcutSupported(any()) + } returns pinShortcutSupportedExpectations[i] + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.add_to_home_screen)).perform(click()) // select add to home screen option + + val shortcutInfoSlot = slot() + verify(exactly = expectedRequestPinShortcutCalls[i]) { + ShortcutManagerCompat.requestPinShortcut(any(), capture(shortcutInfoSlot), any()) + } + + if (pinShortcutSupportedExpectations[i]) { + assertTrue( + "should capture a ShortcutInfo from requestPinShortcut() call", + shortcutInfoSlot.isCaptured + ) + + assertNotNull(shortcutInfoSlot.captured.id) + assertEquals("test", shortcutInfoSlot.captured.shortLabel) + + val intent = shortcutInfoSlot.captured.intent + assertEquals(ShortcutHandlerActivity::class.qualifiedName, intent.component?.className) + assertNotNull(intent.getStringExtra(ShortcutHandlerActivity.EXTRA_SHORTCUT_ID)) + assertEquals("test-id", intent.getStringExtra(ShortcutHandlerActivity.EXTRA_PRESET_ID)) + } else { + assertFalse( + "should not capture a ShortcutInfo from requestPinShortcut() call", + shortcutInfoSlot.isCaptured + ) + + onView(withId(com.google.android.material.R.id.snackbar_text)) + .check(matches(withText(R.string.pinned_shortcuts_not_supported))) + } + + clearStaticMockk(ShortcutManagerCompat::class) + } + } + + @Test + fun testRecyclerViewItem_addToAppShortcuts() { + every { ShortcutManagerCompat.addDynamicShortcuts(any(), any()) } returns true + every { ShortcutManagerCompat.getDynamicShortcuts(any()) } returns mutableListOf() + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.add_to_app_shortcuts)).perform(click()) + + val shortcutInfoSlot = slot>() + verify(exactly = 1) { + ShortcutManagerCompat.addDynamicShortcuts(any(), capture(shortcutInfoSlot)) + } + + assertEquals(1, shortcutInfoSlot.captured.size) + assertEquals("test-id", shortcutInfoSlot.captured[0].id) + } + + @Test + fun testRecyclerViewItem_removeFromAppShortcuts() { + every { ShortcutManagerCompat.getDynamicShortcuts(any()) } returns listOf( + mockk(relaxed = true) { + every { id } returns mockPreset.id + } + ) + + // open context menu + onView(withId(R.id.list)).perform( + RecyclerViewActions.actionOnItem( + hasDescendant(allOf(withId(R.id.title), withText("test"))), + EspressoX.clickInItem(R.id.menu_button) + ) + ) + + onView(withText(R.string.remove_from_app_shortcuts)).perform(click()) + + verify(exactly = 1) { + ShortcutManagerCompat.removeDynamicShortcuts(any(), listOf("test-id")) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/RandomPresetFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/RandomPresetFragmentTest.kt new file mode 100644 index 0000000..1eca01d --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/RandomPresetFragmentTest.kt @@ -0,0 +1,71 @@ +package com.github.ashutoshgngwr.noice.fragment + +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.model.Sound +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.unmockkAll +import io.mockk.verify +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class RandomPresetFragmentTest { + + @Before + fun setup() { + mockkObject(PlaybackController) + every { PlaybackController.playRandomPreset(any(), any(), any()) } returns Unit + ApplicationProvider.getApplicationContext() + .reviewFlowProvider = mockk(relaxed = true) + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testRandomPresetButton_onClick() { + val intensities = mapOf( + R.id.preset_intensity__any to RandomPresetFragment.RANGE_INTENSITY_ANY, + R.id.preset_intensity__dense to RandomPresetFragment.RANGE_INTENSITY_DENSE, + R.id.preset_intensity__light to RandomPresetFragment.RANGE_INTENSITY_LIGHT + ) + + val types = mapOf( + R.id.preset_type__any to null, + R.id.preset_type__focus to Sound.Tag.FOCUS, + R.id.preset_type__relax to Sound.Tag.RELAX + ) + + launchFragmentInContainer(null, R.style.Theme_App) + + val intensityID = intensities.keys.random() + val typeID = types.keys.random() + + onView(withId(typeID)).perform(ViewActions.click()) + onView(withId(intensityID)).perform(ViewActions.click()) + + onView(withId(R.id.play_button)) + .perform(ViewActions.click()) + + verify(exactly = 1) { + PlaybackController.playRandomPreset( + any(), types[typeID], + intensities[intensityID] ?: IntRange.EMPTY + ) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SettingsFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SettingsFragmentTest.kt new file mode 100644 index 0000000..4a11697 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SettingsFragmentTest.kt @@ -0,0 +1,143 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.content.Context +import android.net.Uri +import androidx.appcompat.app.AppCompatDelegate +import androidx.core.content.pm.ShortcutManagerCompat +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.contrib.RecyclerViewActions +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.repository.PresetRepository +import com.github.ashutoshgngwr.noice.repository.SettingsRepository +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.mockkStatic +import io.mockk.verify +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import java.io.File +import java.io.InputStream +import java.io.OutputStream + +@RunWith(AndroidJUnit4::class) +class SettingsFragmentTest { + + private lateinit var mockPresetRepository: PresetRepository + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + mockPresetRepository = mockk() + mockkObject(PresetRepository) + every { PresetRepository.newInstance(any()) } returns mockPresetRepository + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @Test + fun testExportPresets() { + val exportData = "test-preset-data" + every { mockPresetRepository.writeTo(any()) } answers { + firstArg().write(exportData.toByteArray()) + } + + // skipping the part where we click the preference and then select a file + val file = File.createTempFile( + "test-export", + null, + ApplicationProvider.getApplicationContext().cacheDir + ) + + try { + fragmentScenario.onFragment { it.onCreateDocumentResult(Uri.fromFile(file)) } + assertEquals(exportData, file.readText()) + } finally { + file.delete() + } + } + + @Test + fun testImportPresets() { + val importData = "test-preset-data" + every { mockPresetRepository.readFrom(any()) } answers { + assertEquals(importData, firstArg().readBytes().decodeToString()) + } + + val file = File.createTempFile( + "test-export", + null, + ApplicationProvider.getApplicationContext().cacheDir + ) + + try { + file.writeText(importData) + fragmentScenario.onFragment { it.onOpenDocumentResult(Uri.fromFile(file)) } + verify(exactly = 1) { mockPresetRepository.readFrom(any()) } + } finally { + file.delete() + } + } + + @Test + fun testRemoveAllAppShortcuts() { + mockkStatic(ShortcutManagerCompat::class) + onView(withId(androidx.preference.R.id.recycler_view)) + .perform( + RecyclerViewActions.actionOnItem( + hasDescendant(withText(R.string.remove_all_app_shortcuts)), click() + ) + ) + + EspressoX.onViewInDialog(withId(R.id.positive)) + .perform(click()) + + verify(exactly = 1) { ShortcutManagerCompat.removeAllDynamicShortcuts(any()) } + } + + @Test + fun testAppThemePreference() { + val nightModes = arrayOf( + AppCompatDelegate.MODE_NIGHT_NO, + AppCompatDelegate.MODE_NIGHT_YES, + AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM + ) + + val prefSummary = arrayOf( + R.string.app_theme_light, + R.string.app_theme_dark, + R.string.app_theme_system_default + ) + + val context = ApplicationProvider.getApplicationContext() + val themes = context.resources.getStringArray(R.array.app_themes) + val repo = SettingsRepository.newInstance(context) + + for (i in themes.indices) { + onView(withId(androidx.preference.R.id.recycler_view)) + .perform( + RecyclerViewActions.actionOnItem( + hasDescendant(withText(R.string.app_theme)), click() + ) + ) + + EspressoX.onViewInDialog(withText(themes[i])) + .check(matches(isDisplayed())) + .perform(click()) + + // wait for activity to be recreated. + onView(withText(R.string.app_theme)).check(matches(isDisplayed())) + onView(withText(prefSummary[i])).check(matches(isDisplayed())) + assertEquals(nightModes[i], repo.getAppThemeAsNightMode()) + } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SleepTimerFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SleepTimerFragmentTest.kt new file mode 100644 index 0000000..ef11060 --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SleepTimerFragmentTest.kt @@ -0,0 +1,99 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.os.SystemClock +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.scrollTo +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.EspressoX +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.databinding.SleepTimerFragmentBinding +import com.github.ashutoshgngwr.noice.playback.PlaybackController +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.unmockkAll +import io.mockk.verify +import org.hamcrest.Matchers.not +import org.junit.After +import org.junit.Assert.assertTrue +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import java.util.concurrent.TimeUnit + +@RunWith(AndroidJUnit4::class) +class SleepTimerFragmentTest { + + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + mockkObject(PlaybackController) + every { PlaybackController.scheduleAutoStop(any(), any()) } returns Unit + + ApplicationProvider.getApplicationContext() + .reviewFlowProvider = mockk(relaxed = true) + + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @After + fun teardown() { + unmockkAll() + } + + @Test + fun testDurationPickerListener_onSleepPreScheduled() { + val before = SystemClock.uptimeMillis() + every { PlaybackController.getScheduledAutoStopRemainingDurationMillis(any()) } returns 60L * 1000 + onView(withId(R.id.duration_picker)).perform(EspressoX.addDurationToPicker(60)) + verify(exactly = 1) { + PlaybackController.scheduleAutoStop(any(), withArg { + val delta = SystemClock.uptimeMillis() - before + val duration = TimeUnit.SECONDS.toMillis(120) + assertTrue(it in (duration - delta)..(duration)) + }) + } + } + + @Test + fun testDurationPickerListener() { + val before = SystemClock.uptimeMillis() + onView(withId(R.id.duration_picker)).perform(EspressoX.addDurationToPicker(300)) + verify(exactly = 1) { + PlaybackController.scheduleAutoStop(any(), withArg { + val delta = SystemClock.uptimeMillis() - before + val duration = TimeUnit.SECONDS.toMillis(300) + assertTrue(it in (duration - delta)..(duration)) + }) + } + } + + @Test + fun testResetButton_shouldNotBeEnabledByDefault() { + onView(EspressoX.withDurationPickerResetButton(withId(R.id.duration_picker))) + .check(matches(not(isEnabled()))) + } + + @Test + fun testResetButton_onAutoSleepScheduled() { + fragmentScenario.onFragment { + SleepTimerFragmentBinding.bind(it.requireView()).also { binding -> + binding.durationPicker.setResetButtonEnabled(true) + } + } + + onView(EspressoX.withDurationPickerResetButton(withId(R.id.duration_picker))) + .perform(scrollTo(), click()) + + onView(withText(R.string.auto_sleep_schedule_cancelled)).check(matches(isDisplayed())) + verify(exactly = 1) { PlaybackController.clearScheduledAutoStop(any()) } + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SupportDevelopmentFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SupportDevelopmentFragmentTest.kt new file mode 100644 index 0000000..2d21faf --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/SupportDevelopmentFragmentTest.kt @@ -0,0 +1,45 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.content.Intent +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.scrollTo +import androidx.test.espresso.intent.Intents +import androidx.test.espresso.intent.matcher.IntentMatchers +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.R +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class SupportDevelopmentFragmentTest { + + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + Intents.init() + } + + @After + fun teardown() { + Intents.release() + } + + @Test + fun testShareWithFriendsButton() { + onView(withId(R.id.share_button)).perform(scrollTo(), click()) + + Intents.intended( + IntentMatchers.filterEquals( + Intent(Intent.ACTION_CHOOSER) + ) + ) + } +} diff --git a/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/WakeUpTimerFragmentTest.kt b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/WakeUpTimerFragmentTest.kt new file mode 100644 index 0000000..debf33f --- /dev/null +++ b/app/src/androidTest/java/com/github/ashutoshgngwr/noice/fragment/WakeUpTimerFragmentTest.kt @@ -0,0 +1,274 @@ +package com.github.ashutoshgngwr.noice.fragment + +import android.icu.util.Calendar +import androidx.core.content.edit +import androidx.fragment.app.testing.FragmentScenario +import androidx.fragment.app.testing.launchFragmentInContainer +import androidx.preference.PreferenceManager +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.scrollTo +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.contrib.PickerActions +import androidx.test.espresso.matcher.ViewMatchers.* +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.WakeUpTimerManager +import com.github.ashutoshgngwr.noice.model.Preset +import com.github.ashutoshgngwr.noice.provider.ReviewFlowProvider +import com.github.ashutoshgngwr.noice.repository.PresetRepository +import io.mockk.clearMocks +import io.mockk.every +import io.mockk.mockk +import io.mockk.mockkObject +import io.mockk.slot +import io.mockk.unmockkAll +import io.mockk.verify +import org.hamcrest.Matchers.not +import org.junit.After +import org.junit.Assert.assertEquals +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class WakeUpTimerFragmentTest { + + private lateinit var mockPresetRepository: PresetRepository + private lateinit var mockReviewFlowProvider: ReviewFlowProvider + private lateinit var fragmentScenario: FragmentScenario + + @Before + fun setup() { + mockkObject(PresetRepository.Companion, WakeUpTimerManager) + + mockReviewFlowProvider = mockk(relaxed = true) + ApplicationProvider.getApplicationContext() + .reviewFlowProvider = mockReviewFlowProvider + + mockPresetRepository = mockk { + every { get(null) } returns null + every { list() } returns emptyArray() + } + + every { PresetRepository.newInstance(any()) } returns mockPresetRepository + every { WakeUpTimerManager.set(any(), any()) } returns Unit + fragmentScenario = launchFragmentInContainer(null, R.style.Theme_App) + } + + @After + fun teardown() { + unmockkAll() + with(PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext())) { + edit { clear() } + } + } + + @Test + fun testInitialLayout_whenTimerIsNotPreScheduled() { + onView(withId(R.id.select_preset_button)) + .check(matches(isEnabled())) + .check(matches(withText(R.string.select_preset))) + + onView(withId(R.id.set_time_button)) + .check(matches(not(isEnabled()))) + + onView(withId(R.id.reset_time_button)) + .check(matches(not(isEnabled()))) + } + + @Test + fun testInitialLayout_whenTimerIsPreScheduled() { + val expectedPresetID = "test-preset-id" + val expectedPresetName = "test-preset-name" + every { mockPresetRepository.get(expectedPresetID) } returns mockk { + every { name } returns expectedPresetName + } + + every { WakeUpTimerManager.get(any()) } returns mockk { + every { presetID } returns expectedPresetID + every { atMillis } returns System.currentTimeMillis() + 10000L + } + + // fragmentScenario.recreate() // for whatever reasons, doesn't invoke Fragment.onViewCreated(). + fragmentScenario.onFragment { it.onViewCreated(it.requireView(), null) } + + onView(withId(R.id.select_preset_button)) + .check(matches(isEnabled())) + .check(matches(withText(expectedPresetName))) + + onView(withId(R.id.set_time_button)) + .check(matches(isEnabled())) + + onView(withId(R.id.reset_time_button)) + .check(matches(isEnabled())) + } + + @Test + fun testInitialLayout_whenTimerIsPreScheduled_andPresetIsDeletedFromStorage() { + every { mockPresetRepository.get("test") } returns null + every { WakeUpTimerManager.get(any()) } returns mockk { + every { presetID } returns "test" + every { atMillis } returns System.currentTimeMillis() + 10000L + } + + fragmentScenario.recreate() + onView(withId(R.id.select_preset_button)) + .check(matches(isEnabled())) + .check(matches(withText(R.string.select_preset))) + + onView(withId(R.id.set_time_button)) + .check(matches(not(isEnabled()))) + + onView(withId(R.id.reset_time_button)) + .check(matches(not(isEnabled()))) + } + + @Test + fun testSelectPreset_withoutPresets() { + every { mockPresetRepository.list() } returns arrayOf() + onView(withId(R.id.select_preset_button)) + .check(matches(withText(R.string.select_preset))) + .perform(click()) + + onView(withText(R.string.preset_info__description)) + .check(matches(isDisplayed())) + } + + @Test + fun testSetTimer() { + val savedPreset = mockk(relaxed = true) { + every { id } returns "test-id-1" + every { name } returns "test-1" + } + + every { mockPresetRepository.get("test-id-1") } returns savedPreset + every { mockPresetRepository.list() } returns arrayOf( + savedPreset, + mockk(relaxed = true) { + every { id } returns "test-id-2" + every { name } returns "test-2" + } + ) + + + onView(withId(R.id.select_preset_button)) + .perform(click()) + + onView(withId(android.R.id.list)) + .check(matches(withChild(withText("test-1")))) + .check(matches(withChild(withText("test-2")))) + + onView(withText("test-1")) + .perform(click()) + + onView(withId(R.id.select_preset_button)) + .check(matches(withText("test-1"))) + + verify(exactly = 0) { WakeUpTimerManager.set(any(), any()) } + + onView(withId(R.id.time_picker)) + .perform(PickerActions.setTime(1, 2)) + + onView(withId(R.id.set_time_button)) + .check(matches(isEnabled())) + .perform(scrollTo(), click()) + + val calendar = Calendar.getInstance() + val timerSlot = slot() + + try { + verify(exactly = 1) { + WakeUpTimerManager.set(any(), capture(timerSlot)) + mockReviewFlowProvider.maybeAskForReview(any()) + } + } finally { + clearMocks(WakeUpTimerManager, mockReviewFlowProvider) + } + + calendar.timeInMillis = timerSlot.captured.atMillis + assertEquals(1, calendar.get(Calendar.HOUR_OF_DAY)) + assertEquals(2, calendar.get(Calendar.MINUTE)) + assertEquals("test-id-1", timerSlot.captured.presetID) + + onView(withId(R.id.reset_time_button)).check(matches(isEnabled())) + onView(withSubstring("The alarm will go off in")) + .check(matches(isDisplayed())) + } + + @Test + fun testCancelTimer() { + every { mockPresetRepository.get("test-id") } returns mockk { + every { name } returns "test-name" + } + + every { WakeUpTimerManager.get(any()) } returns mockk { + every { presetID } returns "test-id" + every { atMillis } returns System.currentTimeMillis() + 10000L + } + + fragmentScenario.recreate() + clearMocks(WakeUpTimerManager) + onView(withId(R.id.reset_time_button)) + .check(matches(isEnabled())) + .perform(scrollTo(), click()) + + verify(exactly = 1) { WakeUpTimerManager.cancel(any()) } + } + + @Test + fun testLoadPreset() { + val savedPresetID = "test-saved-preset-id" + val savedPreset = mockk(relaxed = true) { + every { id } returns savedPresetID + every { name } returns "test-saved-preset" + } + + every { mockPresetRepository.list() } returns arrayOf( + mockk(relaxed = true) { + every { id } returns "test-not-saved-preset-id-1" + every { name } returns "test-not-saved-preset-1" + }, + savedPreset, + mockk(relaxed = true) { + every { id } returns "test-not-saved-preset-id-2" + every { name } returns "test-not-saved-preset-2" + } + ) + + every { WakeUpTimerManager.getLastUsedPresetID(any()) } returns savedPresetID + every { mockPresetRepository.get(savedPresetID) } returns savedPreset + + fragmentScenario.recreate() + onView(withId(R.id.select_preset_button)) + .check(matches(withText("test-saved-preset"))) + } + + @Test + fun testNotSavedPreset_loadFirstPreset() { + val savedPresetID = "test-not-saved-preset-id-1" + val savedPreset = mockk(relaxed = true) { + every { id } returns savedPresetID + every { name } returns "test-not-saved-preset-1" + } + + every { mockPresetRepository.get(savedPresetID) } returns savedPreset + every { mockPresetRepository.list() } returns arrayOf( + savedPreset, + mockk(relaxed = true) { + every { id } returns "test-saved-preset-id" + every { name } returns "test-saved-preset" + }, + mockk(relaxed = true) { + every { id } returns "test-not-saved-preset-id-2" + every { name } returns "test-not-saved-preset-2" + } + ) + + fragmentScenario.recreate() + onView(withId(R.id.select_preset_button)) + .check(matches(withText("test-not-saved-preset-1"))) + } +} diff --git a/app/src/androidTestFull/java/com/github/ashutoshgngwr/noice/GenerateScreenshots.kt b/app/src/androidTestFull/java/com/github/ashutoshgngwr/noice/GenerateScreenshots.kt new file mode 100644 index 0000000..c1d5893 --- /dev/null +++ b/app/src/androidTestFull/java/com/github/ashutoshgngwr/noice/GenerateScreenshots.kt @@ -0,0 +1,250 @@ +package com.github.ashutoshgngwr.noice + +import android.content.Context +import android.content.Intent +import android.content.res.ColorStateList +import android.view.Menu +import android.view.MenuItem +import androidx.core.content.edit +import androidx.preference.PreferenceManager +import androidx.recyclerview.widget.RecyclerView +import androidx.test.core.app.ApplicationProvider +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu +import androidx.test.espresso.action.ViewActions.click +import androidx.test.espresso.action.ViewActions.scrollTo +import androidx.test.espresso.contrib.PickerActions +import androidx.test.espresso.contrib.RecyclerViewActions.actionOnItem +import androidx.test.espresso.contrib.RecyclerViewActions.actionOnItemAtPosition +import androidx.test.espresso.matcher.ViewMatchers +import androidx.test.espresso.matcher.ViewMatchers.withId +import androidx.test.espresso.matcher.ViewMatchers.withText +import androidx.test.ext.junit.rules.ActivityScenarioRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import com.github.ashutoshgngwr.noice.activity.AppIntroActivity +import com.github.ashutoshgngwr.noice.activity.MainActivity +import com.github.ashutoshgngwr.noice.fragment.PresetsFragment +import com.github.ashutoshgngwr.noice.playback.Player +import io.mockk.every +import io.mockk.mockk +import org.hamcrest.Matchers.allOf +import org.junit.After +import org.junit.AfterClass +import org.junit.Assume.assumeNotNull +import org.junit.BeforeClass +import org.junit.ClassRule +import org.junit.Rule +import org.junit.Test +import org.junit.rules.TestRule +import org.junit.runner.RunWith +import org.junit.runners.model.Statement +import tools.fastlane.screengrab.Screengrab +import tools.fastlane.screengrab.cleanstatusbar.CleanStatusBar +import tools.fastlane.screengrab.locale.LocaleTestRule + +@RunWith(AndroidJUnit4::class) +class GenerateScreenshots { + + companion object { + private const val IS_SCREENGRAB = "is_screengrab" + private const val SLEEP_PERIOD_BEFORE_SCREENGRAB = 500L + + @JvmField + @ClassRule + val localeTestRule = LocaleTestRule() + + @JvmStatic + @BeforeClass + fun setupAll() { + CleanStatusBar.enableWithDefaults() + + // prevent app intro and data consent from showing up + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { + clear() // clear any existing preferences. + putBoolean(AppIntroActivity.PREF_HAS_USER_SEEN_APP_INTRO, true) + putBoolean(MainActivity.PREF_HAS_SEEN_DATA_COLLECTION_CONSENT, true) + } + } + + @JvmStatic + @AfterClass + fun teardownAll() { + CleanStatusBar.disable() + + // clear saved presets + PreferenceManager.getDefaultSharedPreferences(ApplicationProvider.getApplicationContext()) + .edit { clear() } + } + } + + @JvmField + @Rule + var activityScenarioRule = ActivityScenarioRule(MainActivity::class.java) + + @Rule + @JvmField + val screenshotRule = TestRule { base, _ -> + object : Statement() { + override fun evaluate() { + // Screengrabfile passes the following launch argument. The tests in this call won't run + // otherwise. + assumeNotNull(InstrumentationRegistry.getArguments().getString(IS_SCREENGRAB)) + base.evaluate() + } + } + } + + @After + fun after() { + activityScenarioRule.scenario.onActivity { + it.stopService(Intent(it, MediaPlayerService::class.java)) + } + } + + @Test + fun library() { + // add a fake Cast button since we can't make the real one appear on an emulator. + ApplicationProvider.getApplicationContext().castAPIProvider = + mockk(relaxed = true) { + every { addMenuItem(any(), any(), any()) } answers { + secondArg().add("fake-cast-button").apply { + setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS) + setIcon(R.drawable.cast_ic_notification_small_icon) + iconTintList = ColorStateList.valueOf( + ApplicationProvider.getApplicationContext() + .getColor(R.color.action_menu_item) + ) + } + } + } + + activityScenarioRule.scenario.recreate() + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant(allOf(withId(R.id.title), withText(R.string.light_rain))), + click() + ) + ) + + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant(allOf(withId(R.id.title), withText(R.string.light_rain))), + EspressoX.clickInItem(R.id.volume_button) + ) + ) + + onView(withId(R.id.volume_slider)) + .perform(EspressoX.slide(Player.MAX_VOLUME.toFloat() - Player.DEFAULT_VOLUME)) + + onView(withId(R.id.positive)) + .perform(click()) + + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant( + allOf(withId(R.id.title), withText(R.string.distant_thunder)) + ), + click() + ) + ) + + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant(allOf(withId(R.id.title), withText(R.string.distant_thunder))), + EspressoX.clickInItem(R.id.volume_button) + ) + ) + + onView(withId(R.id.volume_slider)) + .perform(EspressoX.slide(Player.MAX_VOLUME.toFloat())) + + onView(withId(R.id.positive)) + .perform(click()) + + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant(allOf(withId(R.id.title), withText(R.string.distant_thunder))), + EspressoX.clickInItem(R.id.time_period_button) + ) + ) + + onView(withId(R.id.time_period_slider)) + .perform(EspressoX.slide(Player.MAX_TIME_PERIOD.toFloat() - 300)) + + onView(withId(R.id.positive)) + .perform(click()) + + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("1") + } + + @Test + fun presets() { + onView(withId(R.id.presets)).perform(click()) + onView(withId(R.id.list)) + .perform( + actionOnItemAtPosition( + 1, EspressoX.clickInItem(R.id.play_button) + ) + ) + + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("2") + } + + @Test + fun wakeUpTimer() { + // cancel any previous alarms + WakeUpTimerManager.cancel(ApplicationProvider.getApplicationContext()) + + onView(withId(R.id.wake_up_timer)).perform(click()) + + onView(withId(R.id.time_picker)) + .perform(PickerActions.setTime(12, 30)) + + onView(withId(R.id.set_time_button)) + .perform(scrollTo(), click()) + + onView(withText(R.string.wake_up_timer_description)) + .perform(scrollTo()) + + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("3") + } + + @Test + fun sleepTimer() { + onView(withId(R.id.sound_list)).perform( + actionOnItem( + ViewMatchers.hasDescendant(allOf(withId(R.id.title), withText(R.string.birds))), + click() + ) + ) + + onView(withId(R.id.sleep_timer)).perform(click()) + onView(withId(R.id.duration_picker)).perform( + EspressoX.addDurationToPicker(1800) + ) + + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("4") + } + + @Test + fun about() { + openActionBarOverflowOrOptionsMenu(ApplicationProvider.getApplicationContext()) + onView(withText(R.string.about)).perform(click()) + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("5") + } + + @Test + fun settingsItem() { + openActionBarOverflowOrOptionsMenu(ApplicationProvider.getApplicationContext()) + onView(withText(R.string.settings)).perform(click()) + Thread.sleep(SLEEP_PERIOD_BEFORE_SCREENGRAB) + Screengrab.screenshot("6") + } +} diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..fdd99b4 --- /dev/null +++ b/app/src/debug/AndroidManifest.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/full/AndroidManifest.xml b/app/src/full/AndroidManifest.xml new file mode 100644 index 0000000..2799107 --- /dev/null +++ b/app/src/full/AndroidManifest.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/FullNoiceApplication.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/FullNoiceApplication.kt new file mode 100644 index 0000000..568a573 --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/FullNoiceApplication.kt @@ -0,0 +1,41 @@ +package com.github.ashutoshgngwr.noice + +import com.github.ashutoshgngwr.noice.provider.InAppBillingDonateViewProvider +import com.github.ashutoshgngwr.noice.provider.PlaystoreReviewFlowProvider +import com.github.ashutoshgngwr.noice.provider.RealAnalyticsProvider +import com.github.ashutoshgngwr.noice.provider.RealBillingProvider +import com.github.ashutoshgngwr.noice.provider.RealCastAPIProvider +import com.github.ashutoshgngwr.noice.provider.RealCrashlyticsProvider +import com.google.android.gms.common.ConnectionResult +import com.google.android.gms.common.GoogleApiAvailability +import com.google.firebase.FirebaseApp + + +@Suppress("unused") +class FullNoiceApplication : NoiceApplication() { + + override fun initProviders() { + super.initProviders() + FirebaseApp.initializeApp(this) + + // crashlytics and analytics doesn't require Google Mobile Services to work. + crashlyticsProvider = RealCrashlyticsProvider + analyticsProvider = RealAnalyticsProvider + + if (isGoogleMobileServicesAvailable()) { + castAPIProvider = RealCastAPIProvider(this) + reviewFlowProvider = PlaystoreReviewFlowProvider + billingProvider = RealBillingProvider + donateViewProvider = InAppBillingDonateViewProvider + } + } + + override fun isGoogleMobileServicesAvailable(): Boolean { + val result = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) + if (result != ConnectionResult.SUCCESS) { + return super.isGoogleMobileServicesAvailable() + } + + return true + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategy.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategy.kt new file mode 100644 index 0000000..88737ac --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategy.kt @@ -0,0 +1,76 @@ +package com.github.ashutoshgngwr.noice.playback.strategy + +import android.content.Context +import androidx.media.AudioAttributesCompat +import com.github.ashutoshgngwr.noice.model.Sound +import com.github.ashutoshgngwr.noice.repository.SettingsRepository +import com.google.android.gms.cast.framework.CastSession +import com.google.gson.GsonBuilder +import com.google.gson.annotations.Expose + +/** + * [CastPlaybackStrategy] implements [PlaybackStrategy] that sends the control events + * to the cast receiver application. + */ +class CastPlaybackStrategy( + context: Context, + private val session: CastSession, + private val namespace: String, + private val sound: Sound +) : PlaybackStrategy { + + companion object { + private const val ACTION_CREATE = "create" + private const val ACTION_PLAY = "play" + private const val ACTION_PAUSE = "pause" + private const val ACTION_STOP = "stop" + } + + @Suppress("unused") + private class PlayerEvent( + @Expose val src: Array, + @Expose val isLooping: Boolean, + @Expose val volume: Float, + @Expose val action: String?, + @Expose val fadeInDuration: Long, + ) + + var volume: Float = 0.0f + private set + + private val gson = GsonBuilder().excludeFieldsWithoutExposeAnnotation().create() + private val settingsRepository = SettingsRepository.newInstance(context) + + init { + notifyChanges(ACTION_CREATE) + } + + override fun setVolume(volume: Float) { + if (this.volume == volume) { + return + } + + this.volume = volume + notifyChanges(null) + } + + override fun play() { + notifyChanges(ACTION_PLAY) + } + + override fun pause() { + notifyChanges(ACTION_PAUSE) + } + + override fun stop() { + notifyChanges(ACTION_STOP) + } + + override fun setAudioAttributes(attrs: AudioAttributesCompat) = Unit + + private fun notifyChanges(action: String?) { + val fadeInDuration = settingsRepository.getSoundFadeInDurationMillis() + val event = PlayerEvent(sound.src, sound.isLooping, volume, action, fadeInDuration) + session.sendMessage(namespace, gson.toJson(event)) + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategyFactory.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategyFactory.kt new file mode 100644 index 0000000..772061f --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/playback/strategy/CastPlaybackStrategyFactory.kt @@ -0,0 +1,21 @@ +package com.github.ashutoshgngwr.noice.playback.strategy + +import android.content.Context +import com.github.ashutoshgngwr.noice.model.Sound +import com.google.android.gms.cast.framework.CastSession + + +/** + * A [PlaybackStrategyFactory] for creating [PlaybackStrategy] instances that cast media using the Google + * Cast application framework. + */ +class CastPlaybackStrategyFactory internal constructor( + private val context: Context, + private val session: CastSession, + private val namespace: String +) : PlaybackStrategyFactory { + + override fun newInstance(sound: Sound): PlaybackStrategy { + return CastPlaybackStrategy(context, session, namespace, sound) + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/InAppBillingDonateViewProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/InAppBillingDonateViewProvider.kt new file mode 100644 index 0000000..1a95158 --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/InAppBillingDonateViewProvider.kt @@ -0,0 +1,11 @@ +package com.github.ashutoshgngwr.noice.provider + +import android.view.ViewGroup +import com.github.ashutoshgngwr.noice.widget.InAppBillingDonateView + +object InAppBillingDonateViewProvider : DonateViewProvider { + + override fun addViewToParent(parent: ViewGroup) { + parent.addView(InAppBillingDonateView(parent.context)) + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/PlaystoreReviewFlowProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/PlaystoreReviewFlowProvider.kt new file mode 100644 index 0000000..5dce7ca --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/PlaystoreReviewFlowProvider.kt @@ -0,0 +1,81 @@ +package com.github.ashutoshgngwr.noice.provider + +import android.content.Context +import android.util.Log +import androidx.annotation.VisibleForTesting +import androidx.core.content.edit +import androidx.fragment.app.FragmentActivity +import androidx.preference.PreferenceManager +import com.google.android.play.core.review.ReviewInfo +import com.google.android.play.core.review.ReviewManager +import com.google.android.play.core.review.ReviewManagerFactory +import java.util.concurrent.TimeUnit + +/** + * [PlaystoreReviewFlowProvider] provides the Google Play Store In-App review flow. The review flow + * will not always be shown. All original quota restrictions apply from the API. Additionally + * [PlaystoreReviewFlowProvider] drops all request to display review flow within a week of a + * successful launch review flow API call (without guarantees that the flow was shown). + */ +object PlaystoreReviewFlowProvider : ReviewFlowProvider { + private val TAG = this::class.simpleName + + @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + const val PREF_LAST_SHOWN_ON = "last_shown_on" + + private lateinit var reviewManager: ReviewManager + private lateinit var reviewInfo: ReviewInfo + + /** + * [init] initializes the [ReviewManager] and requests the [ReviewInfo] from the [ReviewManager]. + */ + override fun init(context: Context) { + reviewManager = ReviewManagerFactory.create(context) + reviewManager.requestReviewFlow() + .addOnFailureListener { + Log.w(TAG, "review flow request failed!", it) + }.addOnSuccessListener { + Log.d(TAG, "review flow request successful!") + reviewInfo = it + } + } + + /** + * [maybeAskForReview] checks whether [ReviewInfo] has been initialized and whether user has + * successfully completed the review flow within past 7 days. If both conditions are false, + * it requests the Google Play API to launch the review flow. + */ + override fun maybeAskForReview(activity: FragmentActivity) { + if (!this::reviewInfo.isInitialized) { + Log.d(TAG, "review info isn't initialized. can not launch review flow!") + return + } + + if (isShownWithinLastWeek(activity)) { + Log.d(TAG, "review flow was shown within last week. abandoning request!") + return + } + + reviewManager.launchReviewFlow(activity, reviewInfo) + .addOnFailureListener { + Log.w(TAG, "failed to complete review flow!", it) + } + .addOnSuccessListener { + Log.d(TAG, "review flow successfully completed!") + updateLastSeenTimestamp(activity) + } + } + + private fun updateLastSeenTimestamp(context: Context) { + PreferenceManager.getDefaultSharedPreferences(context).edit { + putLong(PREF_LAST_SHOWN_ON, System.currentTimeMillis()) + } + } + + private fun isShownWithinLastWeek(context: Context): Boolean { + val timestamp = PreferenceManager.getDefaultSharedPreferences(context) + .getLong(PREF_LAST_SHOWN_ON, 0) + + return TimeUnit.DAYS.toMillis(7L) + timestamp > System.currentTimeMillis() + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealAnalyticsProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealAnalyticsProvider.kt new file mode 100644 index 0000000..75d8423 --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealAnalyticsProvider.kt @@ -0,0 +1,83 @@ +package com.github.ashutoshgngwr.noice.provider + +import android.os.Bundle +import androidx.core.os.bundleOf +import com.google.firebase.analytics.FirebaseAnalytics +import com.google.firebase.analytics.ktx.analytics +import com.google.firebase.analytics.ktx.setConsent +import com.google.firebase.ktx.Firebase +import kotlin.reflect.KClass + +/** + * [RealAnalyticsProvider] provides a real concrete implementation of the Firebase Analytics API. + */ +object RealAnalyticsProvider : AnalyticsProvider { + + private val fa = Firebase.analytics + private val playerStartTimes = mutableMapOf() + + private var playbackStartTime = -1L + private var castSessionStartTime = -1L + + init { + fa.setConsent { + adStorage = FirebaseAnalytics.ConsentStatus.DENIED + analyticsStorage = FirebaseAnalytics.ConsentStatus.GRANTED + } + } + + override fun setCollectionEnabled(e: Boolean) { + fa.setAnalyticsCollectionEnabled(e) + } + + override fun setCurrentScreen(name: String, clazz: KClass, params: Bundle) { + params.putString(FirebaseAnalytics.Param.SCREEN_NAME, name) + clazz.simpleName?.also { + params.putString(FirebaseAnalytics.Param.SCREEN_CLASS, it) + } + + fa.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, params) + } + + + override fun logEvent(name: String, params: Bundle) { + fa.logEvent(name, params) + } + + override fun logPlayerStartEvent(key: String) { + if (key !in playerStartTimes) { + playerStartTimes[key] = System.currentTimeMillis() + } + + if (playbackStartTime <= 0) { + playbackStartTime = System.currentTimeMillis() + } + } + + override fun logPlayerStopEvent(key: String) { + playerStartTimes.remove(key)?.also { + val params = bundleOf("sound_key" to key, "duration_ms" to System.currentTimeMillis() - it) + fa.logEvent("sound_session", params) + } + + if (playerStartTimes.isEmpty() && playbackStartTime > 0) { + val duration = System.currentTimeMillis() - playbackStartTime + fa.logEvent("playback_session", bundleOf("duration_ms" to duration)) + playbackStartTime = -1L + } + } + + override fun logCastSessionStartEvent() { + castSessionStartTime = System.currentTimeMillis() + } + + override fun logCastSessionEndEvent() { + if (castSessionStartTime <= 0) { + return + } + + val params = bundleOf("duration_ms" to System.currentTimeMillis() - castSessionStartTime) + fa.logEvent("cast_session", params) + castSessionStartTime = -1 + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealBillingProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealBillingProvider.kt new file mode 100644 index 0000000..0f0b550 --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealBillingProvider.kt @@ -0,0 +1,379 @@ +package com.github.ashutoshgngwr.noice.provider + +import android.app.Activity +import android.content.Context +import android.content.SharedPreferences +import android.os.Handler +import android.os.Looper +import android.util.Base64 +import android.util.Log +import androidx.annotation.VisibleForTesting +import androidx.core.content.edit +import androidx.core.os.HandlerCompat +import com.android.billingclient.api.AcknowledgePurchaseParams +import com.android.billingclient.api.BillingClient +import com.android.billingclient.api.BillingClientStateListener +import com.android.billingclient.api.BillingFlowParams +import com.android.billingclient.api.BillingResult +import com.android.billingclient.api.ConsumeParams +import com.android.billingclient.api.Purchase +import com.android.billingclient.api.SkuDetails +import com.android.billingclient.api.SkuDetailsParams +import com.android.billingclient.api.consumePurchase +import com.android.billingclient.api.querySkuDetails +import com.github.ashutoshgngwr.noice.ext.getMutableStringSet +import kotlinx.coroutines.CoroutineName +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Job +import kotlinx.coroutines.cancel +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import kotlinx.coroutines.suspendCancellableCoroutine +import kotlinx.coroutines.sync.Mutex +import kotlinx.coroutines.sync.withLock +import java.security.KeyFactory +import java.security.PublicKey +import java.security.Signature +import java.security.SignatureException +import java.security.spec.X509EncodedKeySpec +import java.util.concurrent.atomic.AtomicBoolean +import kotlin.coroutines.resumeWithException + +/** + * [RealBillingProvider] implements a thin wrapper around Google Play Billing v4 client library. It + * auto-acknowledges new purchases. It also handles state transition of pending purchases. + */ +object RealBillingProvider : BillingProvider, BillingClientStateListener { + + private const val GOOGLE_PLAY_SECURITY_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkxR84" + + "yP6PFaAFqhgVtFzI4O1Ws/xFQjJOhKCCrnyfs59SXSLsSbWjdMikCB7xcJsSkhfsril5iK88UIKhBLUW3oe16LO7YMOS" + + "6xeH0s0LdxHnF1rdwr0WtFc41CjGFIMWFxkB27jft97Ycp72cASjmU3K/Jc0a2Qo3thrpZlJN+vwRzveaVUE73o/Fyzd" + + "Uqyu4e8IngKOXDqxkgz3XLmzTHsx6XmeLTQl1WFMhOi5FxoHD9AHVoyZzbkGCMdRJERvk+ziSXdGR9pRUtGVkv+h5v3f" + + "wfVqBYZC28TAz5w6wSRDFvUnIp52nQH52vdHf1mrwHbeniMUJzV5GoBaspTqQIDAQAB" + + @VisibleForTesting + internal const val PREF_NAME = "RealBillingProviderPreferences" + + @VisibleForTesting + internal const val PREF_UNCONSUMED_ORDERS = "unconsumed_orders" + private const val PREF_PENDING_ORDERS = "pending_orders" + + private const val COROUTINE_SCOPE_NAME = "RealBillingProviderScope" + private val LOG_TAG = this::class.simpleName + + private const val RECONNECT_DELAY_MS = 2L * 1000L + 500L + private const val RECONNECT_MAX_COUNT = 10 + private val RECONNECT_CALLBACK_TOKEN = "${this::class.qualifiedName}.reconnectCallback" + + private lateinit var client: BillingClient + private lateinit var prefs: SharedPreferences + private lateinit var defaultScope: CoroutineScope + + private var purchaseListener: BillingProvider.PurchaseListener? = null + private var reconnectCount = 0 + + private val prefsMutex = Mutex() + private val handler = Handler(Looper.getMainLooper()) + private val isConnecting = AtomicBoolean(false) + private val securityKey: PublicKey + + init { + val decodedKey = Base64.decode(GOOGLE_PLAY_SECURITY_KEY, Base64.DEFAULT) + securityKey = KeyFactory.getInstance("RSA") + .generatePublic(X509EncodedKeySpec(decodedKey)) + } + + override fun onBillingSetupFinished(result: BillingResult) { + if (result.responseCode != BillingClient.BillingResponseCode.OK) { + Log.w(LOG_TAG, "billing service connection failed: ${result.debugMessage}") + retryServiceConnection() + return + } + + Log.d(LOG_TAG, "billing service connected") + isConnecting.set(false) + reconnectCount = 0 + refreshPurchases() + } + + override fun onBillingServiceDisconnected() = retryServiceConnection() + + /** + * Implements service connection retry with constant delay [RECONNECT_DELAY_MS]. + */ + private fun retryServiceConnection() { + if (reconnectCount >= RECONNECT_MAX_COUNT) { + isConnecting.set(false) + reconnectCount = 0 + return + } + + HandlerCompat.postDelayed( + handler, { client.startConnection(this) }, + RECONNECT_CALLBACK_TOKEN, RECONNECT_DELAY_MS, + ) + + reconnectCount++ + } + + override fun init(context: Context, listener: BillingProvider.PurchaseListener?) { + purchaseListener = listener + defaultScope = CoroutineScope(Job() + CoroutineName(COROUTINE_SCOPE_NAME)) + + client = BillingClient.newBuilder(context) + .enablePendingPurchases() + .setListener { _, _ -> refreshPurchases() } + .build() + + prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE) + + Log.d(LOG_TAG, "init: startConnection") + isConnecting.set(true) + client.startConnection(this) + } + + override fun close() { + handler.removeCallbacksAndMessages(RECONNECT_CALLBACK_TOKEN) + client.endConnection() + defaultScope.cancel() + Log.d(LOG_TAG, "close: end connection") + } + + /** + * Query details of given [skus]. + * + * @return List of [BillingProvider.SkuDetails] for provided [skus]. + * @throws BillingProvider.QueryDetailsException when the query fails. + */ + @Throws(BillingProvider.QueryDetailsException::class) + override suspend fun queryDetails( + type: BillingProvider.SkuType, + skus: List + ): List { + waitForBillingClientConnection() + if (!client.isReady) { + throw BillingProvider.QueryDetailsException("billing client is not ready") + } + + val p = SkuDetailsParams.newBuilder() + .setSkusList(skus) + .setType(type.value) + .build() + + val r = client.querySkuDetails(p) + if (r.billingResult.responseCode != BillingClient.BillingResponseCode.OK) { + throw BillingProvider.QueryDetailsException(r.billingResult.debugMessage) + } + + return r.skuDetailsList?.map { + BillingProvider.SkuDetails(it.price, it.priceAmountMicros, it.originalJson) + } ?: throw BillingProvider.QueryDetailsException("sku details list is null") + } + + /** + * Launch billing flow for the given [sku]. + */ + override fun purchase(activity: Activity, sku: BillingProvider.SkuDetails): Boolean { + val params = BillingFlowParams.newBuilder() + .setSkuDetails(SkuDetails(sku.originalJSON)) + .build() + + val result = client.launchBillingFlow(activity, params) + if (result.responseCode != BillingClient.BillingResponseCode.OK) { + Log.w(LOG_TAG, "failed to start billing flow: ${result.debugMessage}") + return false + } + + return true + } + + override fun consumePurchase(orderId: String) { + defaultScope.launch(Dispatchers.IO) { + prefsMutex.withLock { + val orders = prefs.getMutableStringSet(PREF_UNCONSUMED_ORDERS) + orders.add(orderId) + prefs.edit(commit = true) { putStringSet(PREF_UNCONSUMED_ORDERS, orders) } + Log.d(LOG_TAG, "consumePurchase: add to unconsumed orders") + } + + refreshPurchases() + } + } + + private fun refreshPurchases() { + defaultScope.launch(Dispatchers.IO) { + waitForBillingClientConnection() + + if (!client.isReady) { + Log.d(LOG_TAG, "refreshPurchases: client is not ready") + } else { + reconcilePurchases() + } + } + } + + @VisibleForTesting + internal suspend fun reconcilePurchases(verifyPurchases: Boolean = true) = prefsMutex.withLock { + val purchases: List + try { + purchases = queryPurchases() + } catch (e: QueryPurchasesException) { + Log.w(LOG_TAG, "reconcilePurchases: query purchase failed", e) + return + } + + val pendingOrders = prefs.getMutableStringSet(PREF_PENDING_ORDERS) + val unconsumedOrders = prefs.getMutableStringSet(PREF_UNCONSUMED_ORDERS) + + for (p in purchases) { + if (verifyPurchases && !isVerifiedPurchase(p)) { + continue + } + + if (p.purchaseState == Purchase.PurchaseState.PENDING && pendingOrders.add(p.orderId)) { + Log.d(LOG_TAG, "reconcilePurchases: new pending order skus=${p.skus}") + defaultScope.launch(Dispatchers.Main) { purchaseListener?.onPending(p.skus) } + } + + if (p.purchaseState == Purchase.PurchaseState.PURCHASED && !p.isAcknowledged) { + pendingOrders.remove(p.orderId) + Log.d(LOG_TAG, "reconcilePurchases: new purchased order skus=${p.skus}") + try { + acknowledgePurchase(p.purchaseToken) + Log.d(LOG_TAG, "reconcilePurchases: acknowledged skus=${p.skus}") + defaultScope.launch(Dispatchers.Main) { + purchaseListener?.onComplete(p.skus, p.orderId) + } + } catch (e: AcknowledgePurchaseException) { + Log.w(LOG_TAG, "reconcilePurchases: acknowledge purchase failed", e) + } + } + + // consume marked purchases. + if (p.purchaseState == Purchase.PurchaseState.PURCHASED && p.orderId in unconsumedOrders) { + try { + consumePurchaseAsync(p.purchaseToken) + unconsumedOrders.remove(p.orderId) + Log.d(LOG_TAG, "reconcilePurchases: consumed skus=${p.skus}") + } catch (e: ConsumePurchaseException) { + Log.w(LOG_TAG, "reconcilePurchases: consume purchase failed", e) + } + } + } + + prefs.edit(commit = true) { + putStringSet(PREF_PENDING_ORDERS, pendingOrders) + putStringSet(PREF_UNCONSUMED_ORDERS, unconsumedOrders) + } + } + + private suspend fun waitForBillingClientConnection() { + while (isConnecting.get()) { + delay(500) + } + } + + /** + * Query all purchases. + * + * @return list of in-app and subscription purchases + * @throws QueryPurchasesException when the query fails. + */ + @Throws(QueryPurchasesException::class) + private suspend fun queryPurchases(): List { + return queryPurchases(BillingClient.SkuType.SUBS) + queryPurchases(BillingClient.SkuType.INAPP) + } + + /** + * Query purchases of the provided [BillingClient.SkuType] [type]. + * + * @return list of purchases + * @throws QueryPurchasesException when the query fails. + */ + @Throws(QueryPurchasesException::class) + private suspend fun queryPurchases(@BillingClient.SkuType type: String): List { + return suspendCancellableCoroutine { c -> + client.queryPurchasesAsync(type) { result, purchaseList -> + if (result.responseCode == BillingClient.BillingResponseCode.OK) { + c.resume(purchaseList) { e -> + Log.d(LOG_TAG, "queryPurchases cancelled", e) + } + } else { + c.resumeWithException(QueryPurchasesException(result.debugMessage)) + } + } + } + } + + private fun isVerifiedPurchase(p: Purchase): Boolean { + if (p.signature.isBlank() || p.originalJson.isBlank()) { + return false + } + + try { + val signatureBytes = Base64.decode(p.signature, Base64.DEFAULT) + val signatureAlgorithm = Signature.getInstance("SHA1withRSA") + signatureAlgorithm.initVerify(securityKey) + signatureAlgorithm.update(p.originalJson.toByteArray()) + + if (signatureAlgorithm.verify(signatureBytes)) { + return true + } + + Log.w(LOG_TAG, "Signature verification failed") + } catch (e: IllegalArgumentException) { + Log.w(LOG_TAG, "Base64 decoding failed", e) + } catch (e: SignatureException) { + Log.e(LOG_TAG, "Signature exception", e) + } + + return false + } + + /** + * Acknowledge a new purchase. + * + * @throws AcknowledgePurchaseException when the acknowledge query fails. + */ + @Throws(AcknowledgePurchaseException::class) + private suspend fun acknowledgePurchase(token: String) { + return suspendCancellableCoroutine { c -> + val params = AcknowledgePurchaseParams.newBuilder() + .setPurchaseToken(token) + .build() + + client.acknowledgePurchase(params) { result -> + if (result.responseCode == BillingClient.BillingResponseCode.OK) { + c.resume(Unit) { e -> + Log.d(LOG_TAG, "acknowledgePurchase cancelled", e) + } + } else { + c.resumeWithException(AcknowledgePurchaseException(result.debugMessage)) + } + } + } + } + + /** + * Consume an in-app purchase. + * + * @throws ConsumePurchaseException when the consume query fails. + */ + @Throws(ConsumePurchaseException::class) + private suspend fun consumePurchaseAsync(token: String) { + val r = client.consumePurchase( + ConsumeParams.newBuilder() + .setPurchaseToken(token) + .build() + ) + + if (r.billingResult.responseCode != BillingClient.BillingResponseCode.OK) { + throw ConsumePurchaseException(r.billingResult.debugMessage) + } + } + + class QueryPurchasesException(msg: String) : Exception(msg) + class AcknowledgePurchaseException(msg: String) : Exception(msg) + class ConsumePurchaseException(msg: String) : Exception(msg) +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCastAPIProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCastAPIProvider.kt new file mode 100644 index 0000000..cf069bc --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCastAPIProvider.kt @@ -0,0 +1,166 @@ +package com.github.ashutoshgngwr.noice.provider + +import android.content.Context +import android.view.Menu +import android.view.MenuItem +import androidx.annotation.StringRes +import androidx.annotation.VisibleForTesting +import androidx.core.view.MenuItemCompat +import androidx.media.VolumeProviderCompat +import androidx.mediarouter.app.MediaRouteActionProvider +import com.github.ashutoshgngwr.noice.BuildConfig +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.playback.strategy.CastPlaybackStrategyFactory +import com.github.ashutoshgngwr.noice.playback.strategy.PlaybackStrategyFactory +import com.google.android.gms.cast.framework.CastButtonFactory +import com.google.android.gms.cast.framework.CastContext +import com.google.android.gms.cast.framework.CastOptions +import com.google.android.gms.cast.framework.CastSession +import com.google.android.gms.cast.framework.OptionsProvider +import com.google.android.gms.cast.framework.SessionManagerListener +import com.google.android.gms.cast.framework.SessionProvider +import com.google.android.gms.cast.framework.media.CastMediaOptions +import kotlin.math.round + +/** + * [RealCastAPIProvider] wraps all the Google Cast API functionality used by the application + * for the full build variant. + */ +class RealCastAPIProvider(context: Context) : CastAPIProvider { + + private val sessionListeners = mutableSetOf() + + private val castContext = CastContext.getSharedInstance(context) + private val castSessionManagerListener = object : SessionManagerListener { + override fun onSessionStarted(session: CastSession, sessionId: String) { + sessionListeners.forEach { it.onSessionBegin() } + } + + override fun onSessionResumed(session: CastSession, wasSuspended: Boolean) { + sessionListeners.forEach { it.onSessionBegin() } + } + + override fun onSessionEnded(session: CastSession, error: Int) { + sessionListeners.forEach { it.onSessionEnd() } + } + + override fun onSessionResumeFailed(session: CastSession, error: Int) = Unit + override fun onSessionSuspended(session: CastSession, reason: Int) = Unit + override fun onSessionStarting(session: CastSession) = Unit + override fun onSessionResuming(session: CastSession, sessionId: String) = Unit + override fun onSessionEnding(session: CastSession) = Unit + override fun onSessionStartFailed(session: CastSession, error: Int) = Unit + } + + /** + * Sets up the cast media menu item on the given menu with given title resource. + */ + override fun addMenuItem(context: Context, menu: Menu, @StringRes titleResId: Int) { + menu.add(titleResId).also { + it.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM) + MenuItemCompat.setActionProvider(it, MediaRouteActionProvider(context)) + CastButtonFactory.setUpMediaRouteButton(context, menu, it.itemId) + } + } + + /** + * Initializes a new [CastPlaybackStrategyFactory] instance and returns it as + * [PlaybackStrategyFactory]. + */ + override fun getPlaybackStrategyFactory(context: Context): PlaybackStrategyFactory = + CastPlaybackStrategyFactory( + context, + requireNotNull(castContext.sessionManager.currentCastSession), + context.getString(R.string.cast_namespace__default) + ) + + /** + * Creates a new [VolumeProviderCompat] instance that can be used with + * [android.support.v4.media.session.MediaSessionCompat.setPlaybackToRemote]. + */ + override fun getVolumeProvider(): VolumeProviderCompat = + CastVolumeProvider(requireNotNull(castContext.sessionManager.currentCastSession)) + + override fun registerSessionListener(listener: CastAPIProvider.SessionListener) { + // add `castSessionManagerListener` only when the first `CastAPIProvider.SessionListener` is + // registered. + if (sessionListeners.isEmpty()) { + castContext.sessionManager.addSessionManagerListener( + castSessionManagerListener, + CastSession::class.java + ) + } + + sessionListeners.add(listener) + } + + override fun unregisterSessionListener(listener: CastAPIProvider.SessionListener) { + sessionListeners.remove(listener) + + // remove `castSessionManagerListener` when the last `CastAPIProvider.SessionListener` is + // unregistered. + if (sessionListeners.isEmpty()) { + castContext.sessionManager.removeSessionManagerListener( + castSessionManagerListener, + CastSession::class.java + ) + } + } +} + +@Suppress("unused") // Referred from 'AndroidManifest.xml' +class CastOptionsProvider : OptionsProvider { + + override fun getCastOptions(context: Context): CastOptions { + return CastOptions.Builder().run { + setReceiverApplicationId( + context.getString( + @Suppress("ConstantConditionIf") + if (BuildConfig.DEBUG) { + R.string.cast_app_id__debug + } else { + R.string.cast_app_id__release + } + ) + ) + + setStopReceiverApplicationWhenEndingSession(true) + setCastMediaOptions( + CastMediaOptions.Builder() + .setMediaSessionEnabled(false) + .build() + ) + + build() + } + } + + override fun getAdditionalSessionProviders(context: Context?): List? = null +} + +/** + * A [VolumeProviderCompat] implementation for adjusting cast device volume using active + * [MediaSession][android.support.v4.media.session.MediaSessionCompat]'s remote playback + * control. + */ +internal class CastVolumeProvider(private val session: CastSession) : + VolumeProviderCompat(VOLUME_CONTROL_ABSOLUTE, MAX_VOLUME, multiply(session.volume)) { + + companion object { + @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + const val MAX_VOLUME = 15 + + private fun multiply(volume: Double): Int { + return round(volume * MAX_VOLUME).toInt() + } + } + + override fun onSetVolumeTo(volume: Int) { + session.volume = volume.toDouble() / MAX_VOLUME + this.currentVolume = volume + } + + override fun onAdjustVolume(direction: Int) { + onSetVolumeTo(this.currentVolume + direction) + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCrashlyticsProvider.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCrashlyticsProvider.kt new file mode 100644 index 0000000..26f1324 --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/provider/RealCrashlyticsProvider.kt @@ -0,0 +1,24 @@ +package com.github.ashutoshgngwr.noice.provider + +import com.google.firebase.crashlytics.ktx.crashlytics +import com.google.firebase.ktx.Firebase + +/** + * [RealCrashlyticsProvider] provides a real concrete implementation of Crashlytics API. + */ +object RealCrashlyticsProvider : CrashlyticsProvider { + + private val fc = Firebase.crashlytics + + override fun recordException(e: Throwable) { + fc.recordException(e) + } + + override fun setCollectionEnabled(e: Boolean) { + fc.setCrashlyticsCollectionEnabled(e) + } + + override fun log(m: String) { + fc.log(m) + } +} diff --git a/app/src/full/java/com/github/ashutoshgngwr/noice/widget/InAppBillingDonateView.kt b/app/src/full/java/com/github/ashutoshgngwr/noice/widget/InAppBillingDonateView.kt new file mode 100644 index 0000000..9a5bc5a --- /dev/null +++ b/app/src/full/java/com/github/ashutoshgngwr/noice/widget/InAppBillingDonateView.kt @@ -0,0 +1,121 @@ +package com.github.ashutoshgngwr.noice.widget + +import android.app.Activity +import android.content.Context +import android.content.ContextWrapper +import android.util.AttributeSet +import android.util.Log +import android.view.Gravity +import android.view.LayoutInflater +import android.view.View +import androidx.annotation.VisibleForTesting +import androidx.appcompat.widget.LinearLayoutCompat +import com.github.ashutoshgngwr.noice.NoiceApplication +import com.github.ashutoshgngwr.noice.R +import com.github.ashutoshgngwr.noice.databinding.DonateViewBinding +import com.github.ashutoshgngwr.noice.provider.BillingProvider +import com.google.android.material.button.MaterialButton +import com.google.android.material.snackbar.Snackbar +import kotlinx.coroutines.CoroutineName +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.Job +import kotlinx.coroutines.cancel +import kotlinx.coroutines.launch + +class InAppBillingDonateView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : LinearLayoutCompat(context, attrs, defStyleAttr) { + + private lateinit var defaultScope: CoroutineScope + + private val billingProvider = NoiceApplication.of(context).billingProvider + private val binding: DonateViewBinding = + DonateViewBinding.inflate(LayoutInflater.from(context), this) + + @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + internal constructor(context: Context, defaultScope: CoroutineScope) : this(context) { + this.defaultScope = defaultScope + } + + init { + orientation = VERTICAL + gravity = Gravity.CENTER + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + binding.progressCircle.visibility = View.VISIBLE + binding.error.visibility = View.GONE + binding.buttonContainer.visibility = View.GONE + + defaultScope = CoroutineScope(Job() + CoroutineName("DonateViewScope")) + defaultScope.launch(Dispatchers.IO) { loadSkuDetails() } + } + + @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + internal suspend fun loadSkuDetails() { + try { + val detailsList = billingProvider.queryDetails( + BillingProvider.SkuType.INAPP, listOf( + "donate_usd1", "donate_usd2", "donate_usd5", + "donate_usd10", "donate_usd15", "donate_usd25", + ) + ) + + defaultScope.launch(Dispatchers.Main) { + setDetails(detailsList.sortedBy { it.priceAmountMicros }) + } + } catch (e: BillingProvider.QueryDetailsException) { + Log.w(this::class.simpleName, "failed to load sku details", e) + defaultScope.launch(Dispatchers.Main) { setQueryDetailsFailedError() } + } + } + + private fun setDetails(detailsList: List) { + binding.progressCircle.visibility = View.GONE + binding.error.visibility = View.GONE + binding.buttonContainer.visibility = View.VISIBLE + binding.buttonContainer.removeAllViews() + + detailsList.forEach { details -> + val b = MaterialButton(context, null, R.attr.materialButtonOutlinedStyle) + b.text = details.price + b.setOnClickListener { + if (!billingProvider.purchase(getActivity(), details)) { + Snackbar.make(this, R.string.failed_to_purchase, Snackbar.LENGTH_LONG).show() + } + } + binding.buttonContainer.addView(b) + } + } + + private fun setQueryDetailsFailedError() { + binding.progressCircle.visibility = View.GONE + binding.buttonContainer.visibility = View.GONE + binding.error.visibility = View.VISIBLE + binding.error.setText(R.string.failed_to_load_inapp_purchases) + } + + // https://android.googlesource.com/platform/frameworks/support/+/refs/heads/marshmallow-release/v7/mediarouter/src/android/support/v7/app/MediaRouteButton.java#262 + private fun getActivity(): Activity { + // Gross way of unwrapping the Activity + var context = context + while (context is ContextWrapper) { + if (context is Activity) { + return context + } + + context = context.baseContext + } + + throw IllegalStateException("unable to find activity that owns this donate view") + } + + override fun onDetachedFromWindow() { + defaultScope.cancel() + super.onDetachedFromWindow() + } +} diff --git a/app/src/full/res/drawable/ic_error_24dp.xml b/app/src/full/res/drawable/ic_error_24dp.xml new file mode 100644 index 0000000..d62eb4f --- /dev/null +++ b/app/src/full/res/drawable/ic_error_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/full/res/layout/donate_view.xml b/app/src/full/res/layout/donate_view.xml new file mode 100644 index 0000000..ea8c2cf --- /dev/null +++ b/app/src/full/res/layout/donate_view.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + diff --git a/app/src/full/res/values/donottranslate.xml b/app/src/full/res/values/donottranslate.xml new file mode 100644 index 0000000..98ee9a9 --- /dev/null +++ b/app/src/full/res/values/donottranslate.xml @@ -0,0 +1,6 @@ + + + EB68E994 + E421E43B + urn:x-cast:com.github.ashutoshgngwr.noice + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f42ef69 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/assets/airplane_inflight.mp3 b/app/src/main/assets/airplane_inflight.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..98b715875fa468174e50e4ade36869575a37b46d GIT binary patch literal 345497 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۶Kiy=FSCY?DzElp1 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 z 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 n=f;+M>g{P)Th<-4<4D%izbN1rAcB%yj;^A zUKQLbhrJ#1P?h1h7_Ek&J{ACHKR6N5R;vayO4$In zOyAi~Wn-r2f6W$Ho5^hZ`8z`^pFC!;M?^GT8uT~m1oD02z;tVY`c=Ez-0`D8wKhu= zG9T3nB7m{B_|?5qjc99XKK7&oa$El?-kV73VEElzqxU-BjL>E$MFSiq^z_h4zRkQK zG9um7kx5L7@bY-;Zn!kNQG}Q(f0c&HI-K;fSsqZ5zsKzCW=Nw6$VYY4$0@Z_;CPs) zyN(9Re{RGue|pCToTY4p!QyrFPV3N)xQoHE zQq2;$SQ~}~5f`*e5yrxw?Ir4?bagC4<)j8T(UQu)yYNjnIHyc}EEn4^8s<~-Ui)m< z!SS=e6munvTtXFo#oN!=_?FB;GU6uBD02K*Z0j&AGLutpWOyV0mwPZB}*wz+%Xo;-Dp$0ab zW{*l`&xEj(OEzMFs~sF)g|Kb2d)aQIhX0kK;Wwjk_$XKPD+J3C|It+&03c&gCVn4p z{6?MDcOTqCMTzIngmw5mul6r6W$buPb!$$|4fX zoRpqEK3uuiRoGiDtXiXxUak7MU40}4oe_kGg+Zy(S>Z3z&5mBG_E~tyIrB-&lf=go zg?v(c0Pu@OU4Y)1r}{bR$0cz%o-1^N56eXuCD0#Df*_;P)=05kJ}=-us<$yI*VEn8 z`hPx=l`Z^u|Df*p)wJ^_iJZ6aW7hND=qm+K4v-)PkGIhsPaQWg_Lb@qK8e5*s=2=b z#@yMc_$fYK^e3=lxjk#Syw*5|Hhf$mi%YlCDmi5d%#2k_bHavk&829%|G|pm2pT%) z;N(q9J&#pQ>hG*9*rr59e*KuAtgk3BOCeJm-@6!b=-$xmETfz47HG{@MBQdQpztWt zhApu8baS-ofw#|fcaaxWK;ixAof*2N1XugSo~_I4r^+oLb{U|7w|fpB*bQOAJ014R z!I7|)S00Ts3Xj@x_aI`-o3#ij&R+KJ`VLe~y!cs`^UhW%9kZKFt^G3 zB=pI1;>9B3{FVyI&8&0Tb4PG{A#Qypql`WC@>44hetaoZdT@Sp+4KtUdMh*H`{xa? zujK@l+)*%*MZoqFa9gNN9v1D<5KtROqp_)>!C3y8!~ z0|b_qT-$*>?{V|))z=%h>ayHt1C!5Vr57Cj(&WP?j{^N0w~v7vZwZ?t)tYA;gi{9H zc?lxzdfArZHHcNx-u--^!l|;hw^{1U40S5Sm>6x#E}GpX-GPO0GtsB&Qhj34QS6c9 zKD{Ap`pc8afJ5h%727e!{vsC^%I}6n3BDUwW;one6!&w}75`uf=Na7iN^ z*ElWV1iln#;>iO`ZfDMgF1C90H|{Y=1-YU5_1eYW%S7$VQ3dC~u;m2VBsZr90}e;~ zU}x#^;w;9M#_pXiq0*7MGWUK#Eeat|;-1DH?aj#9t=Jm<+smtOqc>7g;pu$H%~O$jmqNv|3}hUxJB7NU3`J1JEdWPg{8Yg znx$ds?(UXSx|=1I?(Pne?rupXl@t(Alt*9uz5l{}%{AY1&&>Ip*RSC;I0v6qy7%RXIHKF))2YV#m-q8)_$ch)s6t8 z)^0yrwVceX+;nrW|KGM|7AIxmx-YZ+QwJaoKU!%*BN9b^fe}Ih{>fTwtk~%kwnKV) z%eh{58t^)Sd*iwaMN$l(MQcWSGeKS{NCKa%EDroyJor$KVj_$=EKdj1P+Iyx?z9R+ zNlRRta|k)RZeU(Syiv(^asl;~IkSnbPYuQvTU-8Wl@dCG&NtI{-(0*WzykccQIvAo z-&tcNkq0DGy7NTz)o(6mX8Sqlse|f zg?f%Kq7)hVEy#C}1-DVT5}4ba&li~0D#O+N^*gcW(iS)Cl-e&nW>8O6G-5?|-E|e# z-@ChO?iZTu{Q0=>P2J=NZ+T~ctI6G$N9CGH_rFw^yVtMeY3xzEeu{N}cnBDCXz1k< zV!9y(ydoglc3Vq+;*px5-ka=34 z`?cI!i4v4soRYin(#-`T6ga#xUyzOJ3RAU6z9%lUX==piPy$ zVL&mvB`*LstH>TskV~!bvMVlQ4ByNew;QXe%7>!1ZG&+^Eb4RWHNTB;K5Zv_>@Rgj z-5u8VbS0#XpNGeQ&G3FJT{(S0oammttaMH@|Nd6{S!3%>b?MOCkwPcjHELS|!QE2H zO1}qSXF$pPM2tphxcK6Hm;}fK748c#(1FpANCijKKEc z1SNDox;}+SX1z(MH+;3<{g8wVGn@b2>{WU%v>K7ee;6jK-h-MYA~70DE;QH9BgPA0 zLe0hC4adpFFs`liX=phMYT;_A1h|_to7HmgcdAW&0OM+=JkU{wN0ow?-n8|03{tfi zQw>kYO5q@}YhhVp%Q4BvSe}-A4q#*uGLm*Xip2fhwte=B&vCh0BhOd~T4MHhC)4l3 z;V@ri<%#4V~8dm5}^Jy3qbY&hdSLFCYRX6#yur52@K%E!l>1HW=!W! z;ZCuv^-Y)bO$0ojEp#z(6?_>_k=jckLh* zD-Uiq1hwMR%{3CvC4oBL(X$~3LiZ*gx)6^1rE${qH#{;>C#~x?1~{5Q?0;}JaKN_= zmtP}V4(ltSug@y%?P6rSY#cmi0CvU_w9D6Ayc za{7*SZ00c>MOnRqXODy6ta8`?2*~W5OMT``&robJVf7H#;^*7D8w&kAMP|Rwa3bsPqRBbAnToV(Qt0^{7d=7w<>+> zj8w*Kfcr@$pFihJD)lQS3?&?VQZ2jVDmSxD1J9$jNf7q5>Cl~} zJhmrd^xLv8Y6fN=TpA_Y-@QbKIqLm_qSzhVO=A;|5(af)cIg#ihHi)3Q^;8L?KfcQ zg3$NEu3OMci`YFeRa4y9|r|HH|Ab=Di(7~K4aQDe{} zwL7TXgtuzIT2M7hO6;MgT#>^5Cz96=1hiFb>s3oF=&&mdU`-`3Bz&b$s%7Ey_LJZ# z(XGIyRj_P1pmht{XOI$p?%kHa;c~N;Ri9faY4CnsxZu~eaWu7-^R=V-;bg>UVi5Vt zK*16@Kgdi1#nKisoUf73ejKphOSS#mw3|hk#hlhr-$O(x1JS`>RRoJ+G?q8fdLP4Uv)7;8F7L;pp`x++S-@?;6!0smZ0`&sb&c9as+`{u^ri5 zD1>z`pt0ndv?brgSY1(l+srGHEtrFM`}7}WD^+~1jf9X+ebJ+oNs zbX845#=r6Rd#HpjVCPrc1Auk~h+NhGNA`KF?_cjh1IQ=ZZd@o+d#7C__`4lB6W(Up z{F`4%)1Iq$BfRjntaWmiFmWPAhcXn=^g$T(rO9&NHXeAIu z?V_-dpY7>&Z(~TO9g6`W17TdekPnEs!o3>6P0UZnHn%nxpp)8_|qPgXh2=d!2;IbY`j^XpX%pb;Jto ziYQ|!)F8$md7(^b1l>Ge8SOzH`NOuF9eVoI%!y<#XR!umq}b|Tu0#JSzg}bvG~zSL z&M(gAuz9pbK+1G9N`wfyqU44wrFnFf7u}D;2%$3y;+&h2NO(A4*`;`?&BTPOdK5S! zy_7!ZSQ*|$ff}CC` zA4qfCcw?Z$`1EP*Lb(9j^ieD&RCcPe@Gx)zgdRg02d!v)gB;T|feB81((y@J#WXBM z1=ltty5oz2M9PF;M>ogvUFA^nSjZndGdq$DX0xkIk|;WGmhk%x9mC?&-bI!kt!vO+A&0jdCG}h5cZ2#NVAaY)&2|g-} z?H4apNz#j?L7I5A%3QrP7I|y5aJzN(vu2gLJ5~~Cyl*0XCZ?V-UcZST(<4GVSX=Fu zMR~m<&f6s4YtJZt2ZK>Ni&M*NAuRU-Kk^mHmt}Cne|c>RKGdsXD!z#a6oy;!Vk$a@ zcE^EY%?AQgE2$~4$pGE^+sRz`)*mqw5O*9ULrr+ci%Dwf4@~OUDIJ5 zZ-q0YevmV-F7R+-+jvh+R=|f$^15WU`=EBfB&)A;oh*+{`@S+>uvc@PWyPT@0z|Js z3w^I(%9_8B`Kw}#AwWO^2?-MrbMo7>{7WFy*Mv4d%1#ni#$_?0*mkJ-wkU4&N+hVV z===QQU{3w&%KFS-R)@08wK#d31!aEx|LLnRpy|s$Bs0xQ(#xIKzlkZyD$LCaJj2-P z@m6 z02Q8)L#<`7OxR6ej^OmUuG%lS$_%O16D1-IitEAR`Ea|`_M)wUcR7iZ&`~_;u4H%$ zJN1OK?1l={DUJGhYO3@>akJaQK0O~foN&o?{6xim1?2t68oB7_Q0Pv|6@9JM2~Y`FhQKhA7D8Mwv2qXurOe_U zo)N_ttB?9PiL0UwqeUG?sosFUrjmSE%ZC7hb8%wAp?;-3~pNOj&ozwaTQO75=l^% z-9NH*@`jPkMhQgQ05Prv_a$wAeJ+z~-#?#{E;vEAy=!v(aCb;UggME>=3KhLR zeXzIvuCbokxA!gldIAMVt#umFoirSd%?FZ>ie^CyEtib>tJNkTIQOko6}oU0m_c-v z#YA9|ryrZ1Q)&wZ(M>fFD<4{kBVK)ANVc zv)X!qvBO8t(@gFAf~r!Q*(v*u1TY@8P}M2{kDPqbN`#se5>Oaa736*>d3jXgkalR) zVJ@WDlnQMgmJ~|JZw+}~-KF*g1fJx*i!&Wt3;DYhSLmst%$;+=%$moeNj`gqiU?c&(9bTxC^3th^GqG-r*@P4?lT30yES0wN zvx+=cLO7heBTJv;RvDut%^}`JbC|+ye3YX2#J;Oaqf1d(5@uHkEnvE( z-_kAZ-3A;yxV=4AsVMN%JML3uMUfF0t%(*C@ac#ONRm<|DC-@zsJ4%?0bqEs($uQU z5Yt{=ijt9xf)w<$KTeWWR3H>NqhhwDuaZAEy--&cBJB@LI~3LR!Ex|-)>Fv#!+Z7V zYW2u+4(igd($(U>6-3AVKE%4TJtGnPPgra6k?`CS26-fU8Gw<5Rc~|7bU)8d{N1%d z*TsJN-1`Skg$KVa(O1~wOXUxR6mC?l(;hH^Elt!ogy5B7~JkPhQy@KI7%s)SeEhWGZTYqb?r;e59%~2lGiA1B(A# zo-Ba(?-Iv%KQ+#~+MVC#pi)KqNH5#2%>JnVGOg|OYT%WwpW;7i@xRX_{#|nD0#KWN z3Bqt>_>Uj94iO6wi+lStTk_Lx(&t~r5rqL0?blaXX=Iade*JGFy_NaG+44DOZM~qW zNPa5*+Cas6h0?6Ly{?tUH1HFD?z&d6ub2-r-#x?XYb%f;ol?j|z2+~NK5%-mBmzp{ zTFi$hM~s%o2rY%YvuYzd4j4y#l4SzDX?LiQg{R7%p9NB=<^TMWC+L}ms@WX+$Fg=6 z4<|a-QaVh5p5(aS1{dsE^;E5o0c4_v$agjaqKJH7r(q*obB{iLRW;G?x@sf9ATG7g z?2K5UbLs$)XTa}j8S-i`cx#9Cv=nY?zGW)qcVKDwC!>hdr`0N>MDkNZx^;?I)YbV% zzD^xc`{*$0JDcmSJ?6YInu<(2|Jz8n4Qge@Dv4fWoYR}fZ2*Tv;2ijjtr7V z%BNSxn&-HZ7@KO?Qcsp+eU(#~y<2HYyT8IMEX?yLjZnK)NOW8;Y}uZ;zc(CgZHFpg z{AG)M`{mK3)c>t))NDd1BWX;kFYr`0OG}h@0yPRi-R(A9H}{?i!lR{5PDY;)XO4lq zu)6->s^&nx+DOSl93hiQPhO-_rDC<(nXK>=e}QdLr#oXjvPLzyAR{oVtIyH1a85x? z&L^wr-Ebk;45}x81!2bGRnG0EbQQm+3h6eC*QcA2-};uH(~6+D|Gsc)cL@htDiEyn zoc~ZbD+H*T zG;YR9nA4Wc{}^QAR4itabxC#jui|Jifc|#tI+~P+Ne$cWPH~Pe+ZqG4N`e{b_6ydR z`>W4U^qKqGen)ejW#0)n-XO_S_Bkxe(fcC%S-Do3%CT5}ZAy%G!><-@Inp^BG~G$> z;5*qU_?4LFX!_>FUk}Y1V_ZasA{iPwhQ8;Sdks=T5CBj5Zb|vhAegZYE()d2IK$94 z2&ivrZ~XD%Fb$0_MbT>+bEBil0@JM6BZmScCY_n2$a|}0a?cj;g$g`!ddMo%V?!%R z_VVbmjLiKyI`m@)RIp@Z4xFWZs5F4cz2rVA>U26fYk@Q*_oufn#k~W;zQ3E9 zC;>~Z-gFc~8`wC$iRp5Pkq5Afz8*>(E-xrW97VQbaZnp8%hik=R^-*b<^(qhVVYPQ ze(TIcj*c8oeZ|N@LO_t=s>WE$o)CpRa&;V{gP~Y1vLn}s* z_hWxocwp}GKlNPCpL7>$LSUxq>PiBCiiN1YOY4>&oBM~SuR^~CM-@4n?_FbPaQFXY zbvH}H3d2-qp}~Sde})cu%p(yXvYY;Rt=;;E>Rk zpZ&@_b$|3QoCj00R^=t#aib2#xoWCf3DPr4L$T^(#tTcAmRZhnfaYeB z%ABZmA}b( zs~lf%FLqgxeHH%KI{!;u-I*#)T=~UeKYS$UgGqH{!g-<3}rkBmfS;|5^W*u=R-hpLt z%$mlAv^ark+`>9=&(^-LG(W!%=w};6T~CIxwJ8;acYkb9>+l_E8=w8<=%=fGEGS^p zI`Um}!wnMB|Fbtg=Z-S8c#v3_;F*CBfTW4e_;3L=AdX%Dc^IRNE@vrY`A`dfIWV~Ngd?QHFmx)M zTl_9w{sWdo{KzV~A)Z98>ji^(3;C=g1sIjVaPj8-&e&bohMGwkO3y7oU1a$P) zq3|9~NCRsBrQzLYZowU-=+!o0cdhk3pM-&r-vqx;$#CLW^_fF1@?N9{)l6jGNB=V_ z_2e0^m0FmC3;-&7(d=Jw+^mQ1MWcBByYV#G+K79AAZbj{ySRNzZS^QqD$1tL^oRLX zqQD*3k89jd5GG^uB!NRJbX%fTQEks<=HX)R5{`)5DC!U>D-<*m_d(wG??K?W+iw*z zTl>MxzpLVZRHbaLZwfKp=s*bU!)kyvDv0|W1;BK&N$M8y36T_&+nVGpjWL%liz*;* z7Zb1^T~-~{nW12s9c(~+aP=->A{VrN5~QMV0z29LvUxY!8!oP+Z-wNIMVe2q{}JGd zP8f#C;mP9;6oD^^K=D(Wm`0LucmFARUJPJ@`9DQ3n_4{+>2~T$$Qi7E#pG4TC*X1h zPmxHiO3w3&q6$N=?}yrE^(B$eZo&k1_!i)7b}L75_3wSZR?*7>Bbbvg-%%w{hD(Em zsn~||ro58nC;`(ixhg2jrt-)GIu!X8D%P*DkD07LIJ6*Zr@v}5cB#c9?PnQ(hyO^MK`z0)cvOp@(fSub&~&VyTE~_yXxtl^T0Tty;BM+ z#kRI-ACn4%m)v-i4m1A@xd}IlaqG3s%_KZo9fQfP=a6#QKaGT?lRUhVv z8QEYWTG6VxWUKi|fZB;2&8$27KSdwLWM}s;=P)RKE@E5JYCWaImX;JOrckZVtptrkp71;umIiKw>M6tz_ExVP{Jmb!;!8G0blp<>)ufVPEu0=n^W#j-UO=XAn#6;pz=$nNo$ZexPXZH^F z{ye)X1I*u`7<@kB$QL_8vo`exK>h+P-0i#5oMhnVlR_l`TBU)N-L$kD+NxM++J-jQ z)U#%`*4WsnS>#8E3?Ks1CtIOQF8&M5My$1C$Er^v)q>BEQL>@sD zHUz+m2jpujK`jKYiH2^-cO)_6mX65IxsqLOgR1%MI~MkZOZP%ffHG^!WQujD=NYaU zEqE%bYp&V0b5mPbiHx1uU&*KV#=eMJ#jyY%AwM3)IUZXKS|H)*D&&O&Mp%u7)id&y zscNxa0hORLHuXP*6f-`;+^g?r%CB+bzUwTRiUt)ar0iMC;d_R>z>ei())_I?m4ykbr^m*`qC-S zKE7gp{M8c>&O~;cwAq)j0WshOQXF;y!2i;imkF0}Ev<+dI!GOd!m!Y};=P%v9EO?B zEDg9Q+#M{Zo(O9(Owm=f{#D#705Hm7V^xjnXQFGcq+R4Y7;miZl_X{YUx#yHMT(_J zC&PDz^LoFNKh2`JZ0~%O2xvDcbqA|Nt@4F7#YPM`J{0wH=OFa7D3EBJ<>37G#SvV@ zje%J#=}D{Oa^w+-j!m36aeUxRcqM@j{(XQ5toc_rWUbghbceC1dbal)_zx3|4# z{k{f~rEx(pJcn}HYZ4NBB^-#)F`Tc)zeI6qsd;hGusO-JQMq-!gV%?QSjo-|EW%h0op zr_2c2-T`l%5gsw^UyRf7wie=J>gY03^FCV5rliMESM8!`vs9r>uVMjEU|^ne_1c|z ztG5ja1D<2E4~KkPfACsbD`?6l@1Xqrm^EW?CG%CFH!9tpiOr@Jg`!55q_rv`K0ag2 z>%j|Nl=;qqAM4z2=d}mpB|H|+hVbxWZoB`h#53FNq8X6gcrKt^Z%o;p?0n|`$+?{! z!Oon`VY4sEj7Dn0GvtrU;W;(}K-NiLdI_z}{Wgy54LP-rASRB)cI@1$n@lc=@LG3z zq|9ft*X}`s4B8-_CZw0q3%w0hK$37u4{=thuV3HOrgXk+Vx6Sj1+vb|hXc6c6Gl+% zsr3M4(zx3fkM0&hxyjgv9c>bxyuqYp>s|OR#=(E9lm6rwK>wqI~aYrR=^m ziY+H>IOvlc{^8+1L9P9Sl<=?OKmcI$OT{VDs-&ntfMFyQ6hc>N z;8k7nhKd&Q44AOm?!Gki(D!vU3cS^XI`qu0;|HxV{;&Hk4doAnY|IfI%U4wMWBsn> zMl$$F=hb!!s@uGJ6<HLCoG1XiGvsD^22YQT)E_Q_ZFsv{NnZyC|sHk~=uJ#QJ*U)jq| zP^^W9QzD1ZM`g)jHqF^#=>KOHdOo)iT<}4g_oExzd2!UW=w%>!Rzb=>f;s7sKZ%#v zBaWlsm)KN0_b<=q>4bM=Y6l-Ad$1s%$Owt1r6ayfT*Yw2p7jL2Ise(7Rh z0p;VR2_$9KeW0!yy1iD!T*SD8;qiGkX{|@mzdFt$ar+Nn$*yhRZ0ycHy>|Slav0L& zCNwzZzRKce6#2#zIf#QN*M91szTyarvbS5ySEIH}nhPp-dvV4#8X5d^ZpgP^I91_E zezam_4{N_DtQk3p_CB`_tTNkqcoVRYPo>HJfS>6tdrM;fxz#+j9C2C`hIAAY9r;E` z9(gB28^sCIL!rB1gS3K6?kI|d7C|_zN@bh!cEgQb!p_5o+3{v|9XsYI(-3#+0Qva5 z6gtFX{jDOOa3a@-!z`uCvuA{9xf?lbk$b1uh}0yvAa?>{$62y;(60}TFdEp;Yfdp8 zK91tPdSsS5gVExFtvfOP^AMX-GQRBT=Vk%NoPvYEFlkJXv{WJ%-~I+0j;xA zZP2jM@wuXeN>l+=95~X*!uY(7%<&?0%8m`%gd#vX^^&I!v~AqX9Q>}1yDl}~<$saww0s020_QO*x)TDOTXLhX ztc6YOAAUK=$Ef@oU6}A~6{+oBtAq5~yB_^j%od9Fe~ap57+U<5A>z-r06cFF-=mkh z@o!^5!=`tYV1f=8su^**W0~3yZH2g~4?si9);$tg*@h6N+K;UQLKVkq>z)m*o+4-O z8Dsp|Q+TtDkH{5p09pdu8Km*539ad_~lz)8DxHmA;a*Ku*k3+7u^SyF> ziq6lr5v>3+6ag(PwT>SYL8bj(8j7b`S9_Q1iocWy6g_F_xy;m~>6PWP;wI)-GwRrh z97d{k^91a4+s<>U7^2V47<80Nm49;;NpuNI6r;uEj^Fr zlHUj8Us8$rUy0U`|H1bjOo;mG4J?C(Hw>E^lpiJ%bMhZ+~;Y{(5xsjVqTS&-_tXj$AqM zU75kWvSLrq&|E|**`PjESCI#Ns_crOfb{exN!v=%x1Cob$n}9Rt-g*Ah2;sUq%0CT zb@^p!G@6gd+d$1t`zY4JsU*Z^h8TqU%Ca@e-6ne8q7GKg1=jaK9-&n>lVlv^&YG>} z&`^Bm+r`@PGZatM$`waeb($HtTEl8Q1@5aOL7*7>Ww3~)MmF)e|7^EjCz?qc*_$^5 zjl|~bfF#yRMKknb_Vl9vE51*hJ8;m*YX?p_>ln`Yf=zv(8&VOyJ%a97bAL2W;shb*L{sb~(?&{-d zAN7E~`C^m%nk+&mLF#UcsxkC&XPB&!YA;jUqLEK*sZ(1cBK?Drxr?E6k1_oKOvn;99!#y3cBSnYqX@OKoWF}6iLh1h4V_ridwfyL-sHZ zga&cz`M!wQYZR#(BwT>nIV9~_e~}zMt@tQPCspRq}*G*3&kPFG5=L%Rs!Z;)IhTs-ntmu00 z6~?C{iO-c~AKH&q4qxAg3_3=n;U(EM!`rU_1V{qMY3Z(VmhNR$*>4@kEGzg~81XPv zKp4nbwZ=KEs0|43i72V$33*HER}4fcv%+t_hDb=t_kX5y`b#Qt{CHAL(`>OR!t}oI z?J;#1BU)Wqp(do2LJkG&sbM3Q?nt02?gzBLul{C5vy_w-@}cq4Eg{de!N#Nbe60QV zl^lirc~qSu9!0RrF#uTZIZO%VM_0jZgc{c7A{=?6foPM-D2+chdz8ix49ynz?0B;hnd_X=k#LgD2fG83O7 ziy*$%a-s9+wLLkNOj+(UiKQ?u=6V?EFb42}Sd7vKn<16dpoVrX>?`#K^2gzR8u;g)V*)aXIqytEy1~PUK;Ygn{$zpzz2WGjP$7r);KnSQ< zeU0L{Sw$vst?X2?l&9Y7r$w7Y%n(-G9ntTbd^}N;pR4y5-(dbtFr05E`l~K+MpNny zw^kUAw2Zq+H^l&F63Toh>N>9~55PV?j{%b^$HhyZCF{HUjrwFByFI5m?j0$TGONq^ zy41@lplEK%;DCd3=Bq|N>9Qm$8ZU+379IqYGR>YUDww2es zN+`}S3$1G1ey`zjKht{BzGJoIm_SX%yDTlZ4jn~LjL}Z2F-&?FK?D~<1$1-nBr&u& z5Dtma!$a{1iL+_I)8T$O&rWOZH={L3GFpdZNQ6HkPt*ArT+{s=JV?q54{OrtJ?N7q zgIG%Jrq&TPuux!F81|cl5G^<|B9{lFEz863Gr0<)qHN2GV;a+iXs*+? z>G5-APBpXT77(v?|0|h?)4WdCO^#`hiX!lf8%ZlkPWR+-MsEH*&HNjtyzW(1>-zUK zyWlTe1C%MX=eAl=@C2gHj&(85;=lO93iNdp+B=kv@)RRI)>Bsj;gVe&-PP5VAIn$obKp*Zr1Sq+_+-^gUhYgcGUZI6;< zJ}!4Gcc_BkSsmAntkvxw`X6G)%?x%cgI$~9pUnK1&)vZ3-xofYW)P=;r7kk#HBq2W zAWpaxRR1C{d%17|v$Im0AKZw_nks!5rnQ3)F?F8Tk`cL`n;8s$qzD=1Ig2Tz!Gb{R`ioAU_rl(q2BePV1Cc98mVLyoZ+eFx zuyWyrGDqn#{6*7Tb&u_^1e#NtOg*UOfi-4g_o7SQ?<Gxc6jDLs^mFTz=fs?R0BXh z?$SX`0*P)Y;*A~WrXfviW>ByqJZO6E26Ol|-&8_Ay(U5%>V;s%$xkd~qY}_>7~#$< ziJExy))p6(BQYHPmXFGSvst%8rx1yUDT7Y=KtmG0^E#?!G4f3M)@5&~`wp40NI7F~ zQ*{5^zCw<(zj?YJ7g^08oPRr+0lu*XdK6W9s zMx$du8_*#Yrt}_d5h0yQ?-b_w?CtqEgM^bKi#N`IOmi-FTw{>NoK;wGLpiZl8d&M= z`}U`F_nGSGA$Jbt7tXA(Zz9$2>gHCLLOp1U-@fCl;W<(M6)kH)H{7X=4}g})?#5h% zRs>qU`h(Buv`g_9@#iWGh=HLZbjE4F9VL)JkC(nLP3guyhSsRil%=vw^w$Ifns*>cep#xB8&Uc-j{T^E+LO_np92g>8c1SBNS>SNO6W%m-a z$}X$%GCoCrNE~J~4v+K@00WhZ8y4EFNc7Q6_6?U*DoXENq|eB-f`xRjT{X62>op6n zUXoq>6py8lkyDosUa-ufK9;N;N7nOB%|26myedhpzKGw+xSHJs*S=i`{m$!2d{rAM z=Q8)EpkE0lN7t`y`%{Wa?TZwv4SR`vz>WfzCp2n?VSPh=z8T9bdRWbn9J}mWT<`~4 zsMWYN0idNco<|SeyyhnFU&Y~uMH$(DTxF&{Pn^Swcu9UDMC9mS(fg^eb~qcg5Sw@Vp5+DIdLoJ!dEbbzyji+`3b{ObTmRCe+A=P{h6g2nyzODIMxF^b znI`koxTp|g;@_{q@SjeqQ!{_@8D|hq`OWHCgLh1{Y8S9b>7LE!VlG91-82^umD*FJ zJjvQAAtr1+u0@&15P5EY?atqM!*>UjU$P+EFsMN{QAbW>31nU7rISc7NyGLtfgIPc zwF5fiSj|kho)z7s!mB76*uGj9cS7g~`BlCkZ>L=P-AUMe^bJSTSYSHQ9jrj;Mcgzd z&+kqZ?0@Jsm0$#7pFNK=xbve5b|*l9X+R|RXF>+c7&KpZE5ad&K8B^GYo*?pRkElV zw|nd2G*m$O=LN`=JVt?cg9dv_fQbe3_+2qaXFx^bKtwI!z9?);O2u82ErYJVR- zB(^Jv>xsB!4wgMd(tqt|wmyU6*f9QPp?mAt#p&ea;MMfF^@lpOEML*q0+#9TpYHaC zjo#@$-@I#_1$YC11)JU#%Z#Jw^ZjYlBXdb2ywYiheoQVfwN21TqEH$WrUs&cI58_VPv8zY3U<+rlSEMj}``}{K$%31S7hPP@49TmrNI+6=>N&3Wz`4 z%2Y(-n*GzflQC%xi?@+XQ`yfk24OT)B?`5vh<_c1VQ?i+=<5lRM!Ixosdt5=`CbR5AWZvG>RaHJe<=gT`T(YIG>hpfu^!UB-P4tby>01?7-BYh- z_fL8Q>OYsD!c~+2eaOqC$Z7JQ-7~n1HB2hLe&jDz*!60w?@@ ztrdAechl)p=&ETA$vHMhj0@Q*v2xm;_+Wr@PM#pYhJpuv*}J6Mb-gW>iTN(@DSr#) z+cWMR=iiE%cV{7O$9Zs-{pRngwTNHuU7n~#DhkhitAboBj^~)-4oLtCs$lF6gjVTH zcq#!Uh7S-A4GEd&SjizFJ)f^L){j=9p4)Dz=sli1YSaQhiU_AQ_hEhYbBh(fbp`7AnBinJL#^bkh&K42Ubk%n<@xGfLes9= zELm@BH*W0oyx|Zvlq(VuCw;j~(v>zg04hhz3P^}BMJ9?1E1bVfRm)NVh{9W{fY~_4 zGO25X>6G?_jmr2_gA`{1m8tq{eEo(ifc(wWy_hkU4fdXV{$7Ag(bIgfu39rGPOad7 z<#$f5O&9OCquh5t{}=whi$5HohxQtk8vjTfM_#5~WC9E+U)PO15R0|7{zcJ~u-Xo& zQTrZ0zfBSK`0;M*zxMVYqg{L49=(6sN%bgJcM^(KsD5M(ePz)A4f2NXvH_HP&RU%g zN^fC}D04PpA}W;4eBUvo6`aOPqTQ?f?$|b z6j5@?yk%MfkfpOSb#>%fz31FvzsrJAlq5i|zG3$}L;pL!j(!?7NEw<5 zL1Desw)EwEu~sC;k?ad%k%U-Tj&sRj0${H&zn|Z_N_SP?{$pjo(3Rey1C@Wn4N_CwWbsctLB3hTwx zbM6my_O1#x((EUd;NTykgNWl$KiPsTn8Vqtymz-iL~8rUCzWF$L&=(}b+8p5DKdxv zxVQZsP%+;Sk}P3a+Y$l!_u65GMd{k;zxW4X@h;n$|GYJNSueyj9~I6v=aX`LQgWjh z{i5l*RfG=)yuqJs7CZ-=!-z_vktQMSoKtP^r?Dyw37sXV%ebs2+hmV+t^b&j^?tZ6 zhGZOXV*==+)E*9qs2v)jf9nj1M-nnLj{5B``MXZ`jS(S2F1p~ah$gXoMPSZgWkrHv zEcLpVIBClpvEYqbOHA!PujUUHTKAcjy!PivHWX9H{Hc%3iI$5l4Fsr-H}K1Fw2Q3VNN7ht9DKju^}7DYMfR zJV>;rU&MhouIUTGL)kDf^N7WD|I~oKD3aH$5emX zcQ#D1nhuu^iPvQX>He!YsxY9g#XraDdCH}8j^pSEpc5LH}5qjz?0~|4X7o;wucUxwthS9aukFIwIR`V_rsWM4qD{-Nw{>8du<|fq3k!$nLV$!RQLZ_NW?8Jnb3}twal5c zy_wS{uzcU+NG|!GGz9=zEqhnD%s!E(yexbwg&ZIk5f_(zwWJ~PrY)IsJWeoAKPZ79 z_aMxbmHp0ZZcG!t`%hz-2IwvkRI=fY%7LL zqpYrYIacpE4E^+-k&4{$e;-f~x)0#H?}K#doj~z%pvTP9Mfvu`l6F$y96p*fQ9)aZ zk|1g-@~Q+$0;_ujD#HqOViE^v)WV6|(zm)DGl>tjg4D(6fI=6z*u z;c=_zb^>@|zgb-GCtS9c0_yH@OfOKzcDXbsNd4C$R4n?}MlzB_G|IYc+P!I4h3adO z8M{C4Lhd>y)*hTo=NkO|WJIIohK7iO`sm9tJsqA3b-i?$c{iny$+K$;8-7$PE4JD+ zOwTL~axP>Dj)KzBzt`@C&*1B*Po+j}n8ZOj;}n^s?f2s0ArFw1ZgCN;Oz|QI@CrIQ zP)A3`S*UNJ6Tf=nt_q!fn6J?M%obCrO^}{I(au~+gD09PXK{d4$&t~#H|0qjG3ga(}vC;r#=b9Hv{`<5eoyf@=c=h(W2KPP^z zS=bFR4EyU{s^FSBJ~cmJ=fQS>`9cPcw>}pnR=*Q#feQ}hl19`KIgRPAHOr_TD~D?mc|3 zxm$>zRFOQ*$)q5;hf)?U)!tmEdK_x|NO6HIETzh9aWY(1YZ#|JfO*z_gN z&{G1*F&K=PHM*#?MVeNOl;zYz6KYxP5>leIC8W2sC}g0$D_#VYAoOze%T?vJz*>Zx zdWeZO!|VTR?JU3AdcJraAV3HX0fK%5BtU`%ml_g0Sa4b>4#A3B1=r#pq_|6=xU{&_ z;)Oz?xYJT7RodS4x7NLX!JU<4&N**pR?c2?_Sv&P`vG2ch_bxexHaK)TJfT*SY7%9 zis#k__xtQ!=jK|9z=*uxttZC!J`X|~%A@Cld=|x>)(Y6CcE7q5a~L#)9rT5B0a!4^ z{gHLAYKA6^BbTM04w#IL3Ri9s%CYKDo^g6A+hDCZnbYgK%#Hfe6R$3M+(!G}*}MJx zE#cvl*m>G>{X>cy$ea#mHR!j zyRV$O8or8O9xyZvsU~_gElg9!g$-8%D5QsN zB9x;>HbaagAlBtZ=Jg=?=IS*b!}No6sO3Oe9{RLr@KVGl+Nf4FWH>BJI_ZQ*%hPTu zTXK3Y#WUFDtYFvF9nsLn_^j>~?`~spynZ8zWo3K@RfF)SzTgwrAEKZ3Z~Z~@9UO2s z^t_$%l-Q{ZxF8V}?G(GVV_diihaL1YFafIr=e??dXubR-jP zXu0lF8;9&0e>->Q>YDyG$b_O}44Aw@*C8tWR)r;5{p3Xb<0ZPuRBnJLvNz{u`FMfP zH$3&&!2|dEUw=Mfx%Ie<(5Q=DQq;|JwOpu?Rq+R{Ey}~WAB_7ppQM`Pp&iVR0g!w@ zB$KqU=ZG_4+PSnLv0rsK%5Wu@OGK>Bcu|ZZ?kFCUqmw4L$Ubki^v~j0i`(&E-kYnNuO2&n zf9>TdU>0~&M`a*Q=$xVTKAJ+yy);83u8_<*pCpBXgu&)@Rv4XnK}EMieda4;Z)gDM z$*TRwpJLU!ci^ONC^sg#E~Hf`ZN$_mcMLR&dP z0{xot%d`=a42~-{p{fEBWq}<|c0QV?0>z7I6EGvi5rUDQOioV7BmExs=zBs<#XqD~ zy|fh3<(kA>nj1^Vf%{12Dp3eACGe)sIT|@(=Py1!Vs~Q?FTmpf#c^pu&9J!tKrm)3 zdJboZoqJlIj?$`}(-rm<5ot*Vj42J0$et$h0;zmUA{dnHqtw;WZJm~!G7==KlGXig zh$5bWosOXMbnN(aN|B}eqnoAA9QxKdm4Rhx22Je6zM7RLk@AB=9{sZv%4E2;=j;)+ zF$wJ1Sh%4`q8EkOXILp<$;YNe{`S57USI$6b0LU4;uIXm)+$_<)v7`y=rQ|+7_Nth z#!0G3MKQXUp1*4T??$u9!^g7k=Q6Z8sipj{y4313@^N-kzW%dY%7*U?YIgC$MSPu& zs$Zn4UVGwxys|~WzVnI{S;wud{KuF(AzuBY6URna1;chKiXM9Et`tH2eQ7j)z!r?SGs@^JE%J zVnvW-!?-yUUGyASti{bLGg)HQdAr<1OQQ;2nHTe@r7x3LG8>YV#!`(Qu#5pgJdZNN zX{UtLe}-NS6!zfk>~9zTcplgOEU~_mk-c5-N(stw8`Gu#el8SvPqSM^-R5b(11Ygo zK7v9@F#&W!cDDebwAH`)C*^pMjUwlH7PXKU+e=4eRm$t=?*>^f$mkVHA*3<%D{%FK z{lZj{ScX0vCX($T+cENvc|1p=TANefU8iy%)XVg9-MUV*nY{VI@U9G6RTW!`*P{^Q zZ^_pb>np2$S7M=r;A>0o8e_&<>r0d9u(eb?Vs0>;FxH0upEibidHZ7gJ%yy&$+x07ZHrdh&hU3<~;LBD?9dNTJPciw=m zPaP90PCG|nzj4+mi?TEzt;1~gj4tUqU#!lcK%YtwZENF#pHrnvZ&gkYQ1}%X{`+C{ z^Eb(TfltJKft&&S^CWxtTO{ddLDBZjm$2Dn+2Pik1oJ@zV^cR(0zqf5u1kN&D@S>8 zhKAh+wpA`MO^|3y_hf-NI-2LFExeJp2-eNLo1;E<;sF25t9Ypo-}v<9pfrq*N>#u3 zH7P{J7*}nn$mA$Bp&QDt7|fYHit*N+Dlb>x-~atkFCPS5L^t`2Ita#XHN|L8XeQT} zh|>aA8JHIE{q6Qf&@|Gz=qx(7y+uuRiqytM=za|*I7jjMe8GroZ)ReY%dnFm9(=^J zt0JYZ!5fX6&#QCo(y)83#svcDhE1uxNj@FO|Mg5O;CT%ugNbSz8|&v2*^(ILHE zW~p~#m~!V$iIA90s)1O9UBcx_YCW0kP_x^}yXoh^rU?|ObVzGgd1*a|5_wrf;*L~= z*Of6p1vgbXIcXz{A`U6>tlK%H%Ds}1f4(P<%+z-c$V?)Ls=RA!D&xQy<4`(9QM@G9 zsUrSLr4`EzRuW{dmHDONmR<|Ka5TmsE^aG$0`8wPzB&thq#* zx}wdx<`#6%!CpRT{&vm_BTF}GgMMZ0YQC6l8eX@Qjq@F$HHuNk{2hUG5*ef0_a<8; z!!qPux_ojL%qp_Q5k^k0Zz(KuQ7SszHvhpHVxwGTd9W41awRC$(okvsY~w?Mj89YK z>)j>giW@@bGN}N(t`7vvFn!!z$clM`%MaBYPq4W6K^C#~uy8)QY6a_-BOV${|4>9q zIeuTdA}!a17=V={OWh*|JX6!Le8#|fR}~5;(+V z1vCkum*iRe6PhJQ8U1~`lBpHTFd1%&79E4S|{@l_2AD|h(XvesE9;!S(9=A{`vl>=261wd^AfrwEj0*+)s)YwX= z*3TgpFE}JC2`1)C6*`4x+7u7DY8*_?Lj_!i%e?*yf(89y@Fec$FidYZN2^40joW0> zurakuWzGl4+i`$b|2V@;+^&@Ukq@8N=;HWvXDFl3+08^biH5rZxX*(wWrkgxnzR{($m zcuY0+7b+p4`h-tWa42t7-R^T-TKvd7E5NC7D3sDrnLZQK>?NrtX**F=h+5kXOV&r* z(imthemsDA*@H(^JI{pFxxx!2C`V3}f>7c4FUBp8EL zZ@ziBwmebN>s(FcD%Ssb)7JB>a_YlnEnthNmtV7IPh1ZtzavSdG&iPS3JU|a_8mQg zld}_yRXp*}UwvF8k>Pyu$6^9=oxba7_Y7$%SNYH4h`9-gHgAp8x#yFxtCM*CB*TV4 z)7Q{oK2+VmXo4-`;WjIa9*vWUAZG4nA}oQKvH;t9H6KfOXulw${GGCTSK_t!@Y#)c ziR$ie(hEgyr0Q~C<)eF?y!INFKU>bON1uFo6VglxbAuEzWg*rXP;pvNNceX;?phHfS_N(Ii zL`~n*ofgrbK8$Dde;E45-Bqhc!7GD`!GloB>#?6$7}&%j{@9V8x2A>Ffffo>6c=!gqx8m}-8|rSIBTO8M}@*E93i zXHT1Py&_viF9xsg@;$(#sR#g-rv+B`vnQV%@3W^^N%>4eZy|%n(T!^Es^nu7&7(hd zZ5g2gG(mzD!&3|>7x((t?OU^=axjYtR{{@#XCojZ>TaHNhc%332MB$g7Xx)><4DC8 zlAp#Hr_pSuY4d$HEbg>|ok=Rc|1~|~;eI@G@eo_`Gwb#n zqc)`ixKSpB zwz->-O?Y!>5Lp&83}##dC=rMzieti=oFrr~Ih46ElQf6c)>=cg+4dSPRScMFMmynmw5{_Rqw8c-b!MHR8hi#>_zJQ5yx?T zJ(6JbfE|FrD1E-xz}8+LHUL#5V-xn(#yBx?k(^J8!#3ch<^j`qQc-N0UM&k|cg9&d zWfZu`Zkd^;_;~Q_DwH+OW<{x=SR_FxoR=Xg1J24at$JOu5Fx}X24~t@UvEPPmCEb| z9J%?H^1fm7-Qw7c*WZdTZFv1LNT}}$W|J^Uq*!PfIKC550}fSr+LF0z%ZC9-7qKF@ z9m3VC(6#^ya{(@N=BatA0T&>ty#Hu={}x{IpoS8`zdWR?3aOCX91~6+Y}5E4i-IKN z#eM-bH+>Yc#4NN_{)TrKe%&vrm=$O;WcT-8=qkV1tLuW7AIwh% zW!N=tzOif8p_Kotml}S-$>sJTdF%W+zL}hjWa@>#u^#OxDS$L92l}M6LQg^||3DNa zN4$wK5PC{BWsY0{F4j-dU&a%cJVkq(CSlU-!HgU*NPq}B?Z$=@9cV^WnNPE;RfCrTfozMVSZgmVwFsU7K13R79iDOTQI2IO6c zN`WB2kJ(Ito19+SG>25wy;Sxfo|_z{dXk@?>e!0)w#HuId|3oT#Ea+Mm9M{hGL|@b!gE(BKt(_fR))!Iw6F zbVV@zu8lhMZ9=(y6&u{}xxNDWgf!}TbWojgrThb;aPd!AC#eqJ0G@iV-}JdRkL!mp zmdb|3P)QrmbUeOW(bHXQD2U&FhiNnBmtJa8VuYII@7~jc5WY)w56jFuiG$CcJTR#(#P6hu+lPyEln0!7`l`={o@#hfaZc|^K0;`7bVZc$Du)w|YI z@*!nojeCq!wGFC|8LgA0S@B4G+VI31DkVU(ge2V7;Dx-NIzPnX%k!HLtbnF-er_{- z37KoTydgIf?JU6}F3khULxJ>~*}p?2gYecRT}&b~m;6r(KBHJ^@^tesvx{;g<)-(+RE$z!dSE6E4$Wz_-MeW?D23xP)r24Uxyxr5(<#7L27 z{dBZqY?gzTM;n<+**qqcl&P9@2lkVfoI~VQ!E@#pyg8ccYf^}U%(kHyp5&vz zbj7o=G<$cKJojHB6PD?--}7Gl_rWQl-eycxF{isNXZ~Z_=tdfA3a9bUUjoa+(;`dm z*|AbRW|Pc}uRnhqGO_*=DgXDQp-=U3Y&I$?Da0QS*BQlR--)2vjlg7C!*8u{;~ts8OC4AQFGYb6=;C%Yf6yp0U6A1xG#OMYEGGig=1 ztT+0Q-c;_#!;q68`}N6|V0hI4uu8Nwn^1O}4?}UDy;p3rIj5=Vr5Yv**RxI`d+~1N z5xN+skq7eh>BzoIuU*mfYk=jKzvn-TzG+rH&g=TV8DR{Uu*G+_wXG4*Jgos<

}D|X=-@xaKkMlsi_-~3y zvNs&56iujULKB5*yAkVgtH&n1FQlCp>N-mt>3r)thoZsnnD*4KhV@u2*L$#;o@?jO_Ryo#^Tu9e&G}{#DTZ%kA(836F66 z@#1uXLWU9~Q@5BIa0?&sG^FvMMxpmsy8FAE6Bj~@j8E5QmJ&XBe|UQ!UScdmn2wt! z)abwbiu4tb?n;ZE`Aj$NU_G4I$XiwCqfracea9O&8(tJ%W>bci%nPsBgt7w!NIB7Q zR3WFL&POxE>cY80 zjTC;W^0L{tbS-Sr|4nS;(z@`@YhI8qJ;D&tM{^!>8)AuH~?rM~Fm zoz+o}w(LYeI{>NW(Vw@8+lLd9U><`R%p_!d?5u{v(QaDz_R7}$y-apUoaaLh`Beg* zR!Pe{o+h4+uS4o@?(f(yJ+_Fr`~eHo1j+Bl6psNahmvSllmwaGxKS3eqnbO5j%5mH z`}GI{vwuUcd%S;aWQUU!!K&87{Lh}`3|xXBV4Had!#W5AJTgr~WpSeb@ZHP_^gyuy zR^EPCUDAt%i-}X^5=5dhq6B7plzEk%+mF9LypY%tHV)y1FcvXWGK9lnE!aAnd;Fee z0*$qX)ENGvg5wuefsSj>R0|PMi=v5ZPJnzD~^6} zH_AfTQ6g>v2JHt_?k$tZ6Pz6MX=nLa0aL6-huaNPw;r(0(bd!z%sF4pCO5HB(9u)Z zqd3tf)i005SuxwxCP-sk-8*5|s;AQW@@2TRTZ>%E1*rIVY#PGe0Q0dz_yLCuP{WO8 zc-T9xhzS%JDHY{g7kGo}%T&hcw<39WpF1PA+X`rRKuJ?T8 zt%c}$02!${&`MA)|L8s}f-+ALjLDYnDlyJ1)=Tzh0xGSR>MBkfz~^*I_;va;e`nYN z&0FZLjCa~n@W#vu99sL10s4k_nM{T0-ew=#4CqPFP^HDu-dDM=sj?#(H<|zIA@n-- zulT1EnxvF@oQz;o_38e&K}UCjAtH!L#ltTb(cw_aQJL4ZYC{LXoC`? z{g5lE7RH69#zH*jzzv!;F?L0ju%&q0=OTAxw`kvrDg<2It!GL@IjKQ)@0rN+)}fa# zzGov5lCpB;0lf@TN_teell7{SfsQ-k^mi`JpE%13`8X~A2>P47u059V3VJlzoXRC8 z@t}X7Fvj|iG*OnliCDag_Wrl_P=J75#Jnghmt6u@@z`PLnc-0m(eLpGOSYnjd>pi% z!KIRn$x~~nP%(QvDTX}1YCB8jYw!D|8xbwM-YiIc%s{c-H0AS}(j60R-RIawd*O`E zi-W!$@3p==`gSc#9yu~GVwdfnNohFTnRyyj)0klD{z06g*}V?tKqTmWUrW`bcRhc$ z!u_;UoqQhWt4s*!g4yc*JW48t3}bwp2Y6-x|M+%`!X|t~R3S}{43ueEzHArwy~f}; z?8}mgwn-6LN3+7jyX6;890=}CufSM-(#1UrrGU0f6S0GAub=98_DADf3AWCakz*f{ zCngRTc?{!pNieE+Z>OxguRpwVU$B|$>>_&qk)o4V&o1Hlo^$YO_ZLFZ#MVaX(AF*wKVnFUa9vg(_XPZ<*SQ)DW?h|CKuSB|{g#D1fD ze?>IQOj}9Scs=Ab0QGsA`tv?O)+#X>muH#z_#<`Ck>f`Dw*Arye*P#3j5L{yx1v+V(Fyj^j%$KFe^!b=9}Em@3OWa;YiT(X zcAVmxsDsASZ3Q65Y!M`-;C&s|rjokw!zT{4sqM`u2RpAW#bL|IQL-9(Hkve_J*4` z?R_NYj>^)2Z3A`1rcED`o*c&XmnLJk8IV=tkq*s}k4VmTYF&UoR%_#m znLg6ZPdeR*{1aK>L3`-O`k2N>7D;b9^|=Mo{PszeUIg+fgpa|{+Ag?`LP%?7MD%pDks!hx?1>GMUKOUu+9y zZ+~khAvfx{RBf+fUK`^ya*2G!4oN;k!Jno6Y-{xs6Xzu}86CQ+5t6 z#pa2J^?WbV87eyCxYQm0t#RA{pv(X2x7#J{yZU(SXBsBO60>29Cgqz>{D}-O=E@;P zwQ_HjbY?O4_ZDxT#s23ptc{6e)VvOqT{tWmVMe9LxrCQL8b9DIVJ{K+7&;qT%5Is# z-?bVz^M=bP^FxxEae0r-#K-y*|MM=PPlEbGWZj<`-@R1jMp_VfxNA2156h5@pwtLw zr~#a!&5VpgO#1e6YGwqb>Ah*@2F-4rvPhAO<{<=fPxAHf{>P1FbE*1UxW6rNz%&t4-01{dG9gId`{lv-?lZny+u zq8_`$Mx-oCsdttxy*=)N^2iCmJ%8M$UYh8oM zUj(I3#dC}g^ku((vjcL-?Yr2UV>rI#eLOySzr*Z?bd#D;6!QI>XnPay_m1xo!*zlH z(#$ZWt_Q#3W^-dHZ#BoJT9$r;q7&2t*+$Zu#;R zYZ&Y_j|2Vdh{z(~JDW7tiCVS&uX#G0-|etJmcF6CHzja^840&oQ%CYhI|V_Nan+cO za~WKW`U2W-tMrktNTp-&uh6l~^S3#_((C0)vne}K{oVS)rrHz$$j4vN>C-T;>3)o$ z&3S*5L85#+)pTL~co2o&y7Br%qRJMyL_A#hV6+1nE@qaw7m^nuZh|&bnC^;RD!Z}6 zh+QmfX!EbSS11tN^4P85pMQk}M1?sn^*C|Q$JYG}z(-~qyo)qHE%&aKXg*%gO!}d3 z33ez8M4g`2PLZ9_UiBiT-^&O=SnYOe_E|LovsOGmt!tII75sF&4gcn|VpBDFql``p zGz1R1Cjc&bOah?&Y9m>M3OhR>KRTwvbn!l20o=~42`Nr14W~9#nAe*u4a>tiMmJAd zC`p6(D`@EqK*RRp>{SwFOSKi}uSNpIHh?6K{xU=8PF`r<9i|)1gktZ`DM=;-OOlZ* zVck~%r!OjA)iu0L=zFdpDRteW*O8OOC|RA``!l$kp$N3}u%%#@gB-Hv7wKz|!OFn2 zKQCO|QSFW0?X>W2SKmUF>H1`y9#bq=VG!nokehSXTn4LgtHHPB+Q`TiC#9D(?jv8W z;r$Lgy;b%Xe<1Dh3Rt$nM@bSBS$QO-`5!6wq~|&1NN6!Z?3e!_d}6P~BvD_x2`bJH z%B{1KJ=!Ha-?^)-&)$6D(FrG45bdndYGqIAN<3VlV4$$jis-;S7R*>b_B^KK@P%&~ ztJoZ_)FvmSr5D^AV}4z$&R#T?j**^;O50$0JVND^ouSptx{@$%VJB?;$(S|@4AxM_ z$n&M4Y+RfwXq8=KG1n}bW6dfL10gQ|b?p+q!%pXvVfDA6 zGwI|qh|H#L{zxLpoOkno{#96%9Z|*Z#Epxm?9T9riNOW?-!-WSLt!dht=pSO(mFwH zN{q99VwMK73&tKl{8(j3>oza}r|(6FWRM7m_e$0woD>Adn4d^9+oUeKq~?B;9cO?? z!R+J`Dw;KrYk!sorx$f)_Md_AD+@|tPazhIe2P}36P}nx?&+F*q?3B>qums24cnuq zD}Ok2P_pB9$^?JR$Y?%O=syZ0SKvYw$^_-bNB67lgY>xMYa#$THibIj4_gJO zZ@+ZGEp3LBNb@9A^W*p#x9~UX966ONu=RVH7J*K+bju2y!Fd`6x1WhzF2p0rB{u}L z;NcbF(C>2%a%~o#=V$L5S7yZj6f7%)JASI&zSZ})>En}brH^?oKk$06Yxgg|SK^aG zm8hbS@b|{kb5e!;$6A)Rc8`!nP=xZ#3yO^bU{Yg&Y57+pkM9r_*Pp_(v|V3>fY~} z$5_eS*fGW>?9fc_(EC%~KlQ;?{S!-5b$lwcx7Nxc>`VXvWi9*f&m(*3T97kCmU>3` zWvSd5ehy3-!-T3@3{fq=31k3(ZQ^EF1C>bbpHGy|xBwVd!u2102?N7(tDKwqNun|* z85f7chldPOhk4;+bGtz4T%2_729*2hJ}~VYmekaPKDPvbhDA)dycPt8O8{7by-MY- zwY0EBlY0_MLX){7MjQwz4xs}c)G_o|Fi@wUE5d54S2J$~NX?a`?o6-AN{2Wm=RaC_ zxAsk{(<2DZZx{T|o}{1+IKp$|Y%OgP>3ilwVlP(rz5CsbW}1~GoW6DZ@IJ~kb0uqP zvtFb&;6PNb{XU=LgWtheg|)XGas|UUWFYPPA-YfC<$I<9Ywa1&S5F_cc5!QP=nJRb zFe2Df==^d3r9khE8oLwkeXqX<#IWf9 zZOaFXGynIP*dO1y`04!dzYcxQqL;!&VE|! z#0X|tcdje{yjj%+EXbHwN^|%nSpu16<@q=7@@jXga$6Ess+`UsCTi9z1kctETIw1A z8X}{}8SdEJvI}1v?#5HBFhbF&C}r)9PZ&%4h?zMP-$wE(+FG@c6?gRbNMMMG;)Rr% z@*7RZ#%n34ZQ%>(&R>S058pO!UbmRrHY!Sfm7uD0coP{*+nay~;1=p~?QfRqAqZ75 z!>_pCR35qoBqZ}g0|fV&ezIEKauqt)pB*pGNjlH&opVbENhIAdLv(z6pRI`+7350` zao+GrNascV{7iLyAU0qa?CU+6eV@|dxAtw%!2kER{)q@V)mFW@7yAFM>_9s3q5B~K zz+^69_&YJ3q?j%O!#n8CQJg}r*_p$T`ZVrK9A4Cc7pTmDVMI7OW~oGjAtGa9s1lXv z+=Fk>QH8&MBoa+h%|^(<;3u#FW##)IAtB*w;`cACIMvKc2m<*K0R{_yCMPGCBmQvy z0n(-(>dGLNA1bh%j{lV;0*3N(O-+wa%{jF(ag#0GeSbUaYbx z*ssAd<+6btq_jdsvIQ-ih*vR`A1AgE4>oox%+5g%$Gt9}6YSeM(}uvxwgxxLw=I?p z#ICVp`d@qP+WLVw5SWTM58_n8;2VGc4(MKXLLiWTXEel~l_fwNy)a{c(XrUKF?+6GOdWV2?LN6jxLXoO;5D+8*q)V6Hn{=rnJyb!e(o{eZ z1O&xKeQCMz`{w>~|Am{GBs0lmp7Ug#z4qQ~?L#aa+xp{f{28D!#M@B`(CMG^j z&&tXvC@wCqs;X^hZf<+o-Q7PpGV*$Ia%O&cdG*Wo_V?evkI&A}FD|dH2n6D_6wvC1 zT2kT?NF;dr|1OCU&ksha0|5TtI)1!J)&IX={QvS!IHw%}Ab0>&NxWlj0FcH40Q5@g zgAx*EtPXlUctRi${+lJf5KbcrZz8iE!mYx!!)a@{!c=JS0ANb|4NcDsCI{Q?1kG5& zh{pYNj_1a<(4i(nSq?|kNk{%>OjvIyN&mZ!aP}R&VGx_G`thOh5kyP&qUsvrjBti*|DHgIf9WSz8mkK?F+F{K< zzj%Y*^E@h=R0C{{Tp8??&EbpKcya0GDPQA9ybC7J#APgT>JCa#O`& z&5;aP9bUjf16b#>mX#;<<;L{$l*VIiX*-gCAKoxUr90-UD)7aGCnv_Y+;7z~7`dah z>7tj(Cy--Y?(}*#H@~L4%~Md2A|Oe7+o;`;%EClSMoOIPrb1$pw%OT2h`5G9nIQ-C zjvzIvJmd5Hz2mTjah|IV?l(5wCyl?%R`zStB5R9kIL%AzgkRk0))Vun&Y+$ssG656 z?ecwPE6$B^$f0#bZ><@YM$VLy0~UB?kUTyJER7$6lnyG9d>!JaM2#%+j_h%HIS=ieO&Mc)J5?xtP^6op?zL|(}e{`+sX>d)2D_2Y$5De<+? z>W47a7qnHKZ6#q#Ymg(h7-gZ8;dqf}X^_=h&T^npyQQJ`(lp!cktMHyeAJL(gvdkg)|~aZ zlVoE(TQ~KtxY2lsU$|Wy7{GqhWGaU0d=4)9%^_N2`&q8aXZH4h!@sS05Md`GtaIv1D5MY{ zKDD==5P4>7z62?Glmx_}5E%tdMarrpksQEtBrVDwNeU<+0X(}X03JN8zLqHPPU~mF<9IB49BGrq!Pc88zQH;FtnMP=C zijdxuFdpG2PF%uKuSniv_rStfTi^?p6F>+7&}$~zzQ5kNQERPxgrwIONu=lO3A%pd z?PP9ma@t_oZ2ZYt`E=*?%&+Q|FNv*#_Y!DsUnytLD9;!k-pi}MTN0MO+Lft|A55rO znJwCuIlrViRJ_MDQ!&61r_-(!$8eQOMDb{1;kd4BE=V7@stk)yq+*cpD$<;h_JAu? zyvM~(1)HMa1Gj}S2!I%Oz;#+|3^Qm-1m=jfrV7PXi?=-c;y9R)!s8bOK)YgJ(dk9o zL*C*vL3!A0pbV=C2%#Y3@A_7H_Qg7S74o7s_iCSTbUj1Yw%ZNFFW>+0^99|_@ONCF z{v1$bPq7-;%<=vjTFomq@HX6kaojgA;_c!r{tzp0IdbtS+U&N&@lwx%%2TPXio2CZC+bm^(C*g1H4VnSvvIC5Rv?@@E1N zVErF2LZj~f`Oaiq)p3io&spHI5d%UZ8S(3ya4IAe&A1N54LKrOL5{^v4H*Tx_;ZBs zt*;2n$|{5~4wOsF9fBZ7p>m-Z0R#xo5QU;OUHsYSp!8zZzS#Et-8cCuE-qAh)oQ`vsno=3WnI}ZtJkLRwd zI1sKP_d*5;O{c{Ai$L6NC4`-v2OZhZww7rVWs2qQOUQjZd1kt1BlxNIz=?Wn!?NHl zj-&og#2}8^^^RQ-v0~FO20t%}4=ZWk*) z=zEq-x^Y=4vO{<@#F|73)BuhK)`0^c5CCyQ%=cFwR<*zNuoK_;YSrOr%5VHA$P z$VJ^S?QKa;U{Esw8L*-OI2aFl17sjMuw+PayfD%LkVPiol_d0mc_k0SU6~bdAaaou ziVV=zN6O+Rk=IajND9CQ2}Q{xK>!ym7E!oQ^%%dhhdQ+})$cV%)JQ1Un7J*N{XM>S zgFKjYmx5olaXrbNFy#V1u*g064jM(@Ny@WUlbeg0c%-_7y_yzE@?YHTG3 zvwMd0uU80)A79oU{i++V=_C}$<_S7|{hnduGBOOt%?GmQ%I4_w%nQ+eYE^V+P6<-L z{-$j4f@j5&`6utp(9q*bA9fMBkjC=^7HdIF(Tu=4UJX=<_XLmQ+y3z)JnGuf4%>^P z+Ni7E3gH9U8ff95E;({&l6_$rwxBtc&T@a4fiC8(1ie;X^XB*05iAPIg~MU-R3z7& zbMy`$Mlup`RX)QNhA_0|Rqg=#!<>v^{G^S}j+wISv)ZEPlJ~5tco)0L8l6{L3}oau zN6{t${O{EFO{^;nf7acf>4+2k@Y1_2yJ7FgF=3I27~wMgo7G+|b(6V*&ZtfG3 zyi2V+ZBwn4hvX!?86S#EPesqIRI2;@a_DHMeYD;&Qk#6>HV!Ng%EY<;c+k}G0DV(1 zb*AKCb%$W7U%yB=BNRmb_wMVLPmgW}#4Ut;JGfb-GDBzF+a0WwG+*^)^|5cV!_D*^ zBf4iqP$)FhQ2^!|0LF-5VHiz76Y~IDj%ftJ9hGtUPCvlDq5lA)k75(pVtP^4p)u3D z*)iK*gL~5YK$vvS2||m&Y-a>wZb7av?6`3ZJ+O^|VdF6%z)TG~nr!gPj9GfEIX)%yK&o>bYuE8|5WsR`93A7|RGa9ra{Tq4<%zM8 zyi<|qtB^i(gC*veRUuZJc_LaF;)oLmkz->3T3^@~Jp9_ettelPx$Mo&c1Q9U?1Jy= zgm$%i4mw?&+o>wMpxo(xhOr(~58u{@WAvZbxz!QRlmpKjx=bgH^4ZV8Enn?wSIpni z2M8`+9Cs|FI(#Q?Fv8XI4{3`wo^rKm=#f!LkM6Jx4a3j{>+Y7Ho@1{6l>yy8IaEbN zgs62WU9cD$tOW)Rcw?Bc%@_`lAm%3S2gVm_8SH%wJ0OdJW1$G(&8&A*mK#}EW%uOXS9ANX zlrzT8x&}qRFX~5x;ups5P=99gyb^op_#x2K#A3uJTkJmuL&XKHuY>PSH%P*_`0cwD ztDWMvBB&?5qXPs?r#J}4|8A}3jq4k!&;_(%TS9B$>KE*`j9TX8m~>m!hWoLLQO4$v zv!_$~*Vmnk6tUv@0Fn|5LNenSkOEj$q&zAJX@`Ad4u0TIYAjray zMiaS6QZN;g1hq$GIvjva;{~#^K;YT>V+GRp7k+QrR@6P;^CAa>)bBsMmHP*!`NZ5< za;bz;0BozS`J=gw?jlMkro%C+65Ev16N5RmnCaR_ji z87P$pNuDBK8#(8H8q;=8iV}tCS{HwW-xl<6TqotYn9St=Ib5 zUlpyoDHdc{^1e2Y?#J7=-ZtErkt2NGGc4HKjU@P-oefL}7Q5Q1Ka+R8A6^m=9rK8D zj(=h-e>PM9R!sAkvX-v!7LRN2R4X<5=ZWB>8BG*2-g;T;v z)2J?p$cWr95H2D`ZK4_g`%1MgqaFj#7lkm8poX})TTH$AbmWVI+i1RtO;)1&wRDAf zeP3x;yGBuaE0THmenGu7%)OS>(>qEbls~W8ZzG@3{Q*3+F;l4MYJQV}te&bPVm@ zo#NVFsc`wopy$`wH9h&}=e#owK=NkRFg>2b`{0)iylSb-f={YTE&QOMP}Vq~>R)NE~U& zH&M*w0Q0kCiIXlL<(A5KxeK~M*@Z~+LZjBUdl{97sS5A*(d|ZpfomSG!;)C^%B?fY zpMBcW7IDhh-O-z9-Es`~di&r*b^&Q13&|v<%AS(Lf6Buj4+hR790)(Y9jj{}agSTw zH?%9n2XaCO(CzPYTv9m23sK)b>BHk1!9)L@AT%_~6B&G}h@2>H$L~(mDX^j#YCs>u zfc3?20o@omoHZr@LgA>CWa9Pu_JylZY$ZlL*2r;z>=?6wyTDii8<^`v`eOtnG2~dd z&2rvbueqP5k6&4_JP6dMqSecb{THg@V3x}*mKRkm!}-b^9G`nj(<)Q)rQiIxu%vij zsa%?6zObAi`KV4NHz#YePNP-LA#(WR)MQ}q2+G*Qs*+Zty$DUQA)09CV0l(=Q&Vx4 zO(1+HTzX2Ls3z%YW(B3UKF#t=PLQm4prfB4&7nD@C8_TeK0d0;l0>Rdrz6SoP`&2omYb1?u|s#16A z4S+fh#fJdoDF6iSX(f~M=WQJ_gl$KQ1}0q~*RNQut>Dc_LXg<5vd6FNSJr3wi6QAS z#@0S!o~~Y(J9{TnSxbF9)1>c2J4r2%dN)es&)fDX{S{?yUa6fDA_*S7OmE!{-FL4OC~gb@%YClgy#uo?(~kM-E;Z<(HdY?(g;-*Pc>p^Jpz2 zSM4-38EU@L(FQB4h_?oakS4#@?jm+y4|SYT05_NypiBmu8PH%1S277wVTugno6IN? zHdRZhGo}4j6wQ+sGbPzik0!^Ht&2HYX>r6dHedBdL_?*IOhD> zAkJxRq3aZ?6Qvyu3vb#@VGITV4uqq}{e(-0PQsz9(dS%=d1rr<+`u&CLsaQ%xPW!H zS;`1vJXmLFSofzB-Jg%@Tr{*>G#xN@!U5=J&xmbQM+#iWnG@YU5Y=S*y zGx-ar|06YJq+W~`K-vRqZ|0=QL*RiD5ZYK^5G7$i?Vc4c9I`Og?IM$Im{7LMS6#!d zIX?bZh~-*xLZ;c@dzDE)6COaoNk!_U*J&!F-kR4{(rYbDKG=Iy)_&gVf{7ALo!*YS z;?a8HbD6g2Lf5!_&(fxSY38bF;*!$7k#(lL`vdQ$WTL>vpYo?qUqjNt(xp;zF4MX9 z$iQFyNKlnVEg^o{nG%js<~&<}7A%<=Uzht*kM;cOBqtV&>(}70IT|!2iaVLkL>A44 zxeb?~EkpaO57ErteMa?Q>Oz2!%r+nW!|Veq?PTr%fSTQcKZCK?84 zBm=*BQP}HX)J*{3#{gJrtn?qBoq)Tz)?zf3dBMaA@X}{Fk?o5gg!O2e0_Sh5RY^ygE@xkp<_s5Um_1x|V6j z>_V@idmxzcHjuf})X+f2<^HUhn4wponc4TiH_+VU(ZNY>fiL&Cop2Ueh_|QXNnABr zG_PWYtFjE~oc`YMzyDOEQ99Na9bdB|XpN*(M(W<^S?H1+{(@!n6ig#}1NTv!2wv%2 zj2WUSB~OL}A>`biCs1IMo3OE$t5e338;OZcCqq)hgybpdFwBW~dQQMlk#)o<`nIT# zle_~TukWA!&O6ICJFB~*?vIHsg!BhUqOp8c$wU9)TO>?9*E1h2%`De?7x1df^Nj$D zi|UHY8qv7+=9BIhd&V!$uTBUK9S&y$)p1C(fH<0h%p{TPf_dC7wh#33d7rZs-M7_O zt~(BJCrPzzP7AyC}H5h{Rm)n@Wfl`*iELik#-i4R&DLWvz69gxY;Dhv~=2 zD*NG(4lIOfZV;kSfE|xcL!P?BX-QakY?5fdsOD#)9`gnSi;2D;WO%JxwqPzLDIuE6 z>r|E7J(XRtZ9&6b@Gn%Q!R#$tbmEUIlM?!PJ!X5$=$8$p;b|3SRS-EB<__KnJA;Q( zW-!pZXIyT-kiDcJY5-^s&j-t~&tVuj|~`Mxh;?7v@YQ(+gh$wEY`!D;kk zKnR&2(eoH8C4Yhi)a5sY=@0v)+{bTPt_sn}iBufj_bk}%szkS0WKv$t0VS&Bx+rJDV!&*OSfb1=mu^`@X@#i%kS znKjlfMT6ecv+fp)7H3a6?vCP8|Gz$)LVlCjFn|C_c~A=$4Bo{ep*U?Ub=cIbd$kpVV z@aH8mNc=Qc&46lXXEriyy{)bKGjyGVDWAq~szMWnn-PeKcY5D9SdD@p5|iVFr9#%{ zNu;oiG>sJ!Dq|lN{oA)?T!zMxC1WfS5~Tacl)*WqJg|u5#JeNu0Cgk@o*fAVNS!pZ z3OH2V+m7G=KGM!_QJWnYdyu$a$Ifo<%V+f9W5l*Udj zavI%^l9^}ZR!KvTURI^{#R>!+)nEQ+$)&Iul*-Dq>vflZ(QGZF9wj z;Gm}XX#hLeU--~-$MWZcgQZly7e(=u#Rr82Uz49(`N%|OTe_ouEl@#Eb>9t-WM6+z zHm@0K?l~p46uOS zo^Kz0Uj9is`=@wGf;szk;j{aDiEG3j|4>%m%d|}6b0z!T6{ZnmyU0H!4n-R;m(PD2 z4Lbkl<=r;waR2eqbP+!B?!fF)zy`r?IC6l-=J1?gGqw2ALv8tV_VvpXLUhAub;s^q zH>HV#ANU5-3+qwW0sPR1 zY41;#IsXegQixs94vl!k7G+Ey&%~kXsR`Be6;`zaI+DcrZC9kxchQX$Go*t+k3c!I z20z1U@cj@t{w}BnFAjXga{<0&fMT`0p5Nwx-ELsiQz;vBpB2k)ocl`S11YvbxeOs6 z!GKo-OfQ4F_`Ul*9_IG%Z;TNbBD|OhTtBn=J3@F(M_;HOzE~MQS}^5~{T%UYgK+LT zi`iTbJ6_u_ICCZxc@j25mk5MAV`^g$^FKfSKrm}MxI7-D3|g|?7$}}&H#dE{31$=T z_t<>eCSZQYsUCfF5ApHiL}*S36*6IvSH0ks8BtvYw=ZHtTHc%M`JSAAhpXl{E-a;Fw+#7xNhr$4=7vXTh@^)%@m(Ty{b zyjB+dt%dIgd{3KqyI$oFJ1pFE_|rGE`p06IA&5>&xo3p%uIFUzBw~lj*DV!Y_U7Z+ zCk8JOoN2|;MuLhqY}zOINY!4l?HB8ZcRpy0LeoTKYw@VFJYn!SGn56zR0j0W_X302~gHg7uO{Ly(|(5S%zwK&kyN zL$ZMx*EV^G1Weh4D!W6pVzID0O@XF!QC^P+tcN9kt$nPKS+c9lvvAY|Yc#K058G~H zzWK>Exc{7%JE-%MTG}(*6{E2Cjje>^i-i~RU-&0_??&mHC=U=W305ZyD}cTxD(QmQA51SFQgn}r79UX#F37c&3alwqn{oMn7QxV#dchJ z)hIlX<@yvn8h+R#d!X84eRWoSdA;w(tB+0JQ(rW?ihCr_J~}^l{kZycdVS8Pd-`$b zpU#x+S2W`h!YU`-^E*o`(LTL9jLRKzy(@^x3(pA8tfh#c)GO7S3`zrsr=OR{R_yow z{@sYqXYCt2bY#ZOj#*sz%Pu~;rxW3n6~X%7F#St`zQq@!m$8dUO;u_JXW+lfh%wdO z?cziLV7)Q{W7T6EYZD>rsZ|OEx)SZpp>ZKngMGIh>59oj%VL{_(x0#kn?{34Km6mx zYf&s+-|56JtA@IJH)@Hzh+~HkZ97mXmL2eg0`%{%T?X`Ip1O5E+idUh)Qw2-lJ~60 z7f&n7p-S4`9)ssCDwSL1;p)Df*_h5`i%Rs9zhrJ?Qw~<}&`r4ZB+_w^& zXom9VHje0w+d=QB-9L6!GYXWlWsk%Icrw6N1Z2uh&JQS2gT~;bWOy5d^w{o8mtj0z z!yp$RG#mkw9~=S|;%k9iyb-|94yMIGYBWdLDv9zBlXml(HimEoXY?9?hk_dXE?0_0~GVk{zBd)H&=1`a)7mJzm}4SN1Q{f|mQ& z?DYH2dM+Qni{Q69n>MJ~TX^u@P9*TdO_#8`LjII02I>eV0RRI00P}&;h%(tf6~^ZB zlFYa_U{b4(XX~=VF%v8bI78xr1CmN`G=&hnjiplCd954E=f6Oi3I7^gG30vjA z1s)RjJ4% z?Jy=-cYWG$&2RjIf0F#^?TL-O?PRwzf%TW>;O+Y09>Xwi#-{SPF@LfzrP5}BR>SnK z#OW-i$#)^+fjqh{p?tRk<(N;lJOjmXt71z!kJ`VQg62B?NNnThPpR|Gg5xcnjFvZeNdPtfCM;+?gRuA6t{Db5A= zv`O(-x^o|!fBbna3EwZgJD~TrajxgvZM$#gUP}vkL4tearAE*T44lozU33?ntACAL zVn&JPj(3dR1KGuaGzfqKGXPMc`bFu4jYxhuVOrOmp zu-kKapx&x(QU3d$ot;6aUB{W%((t++U-_-EJp(W7j*Z|f03s{W%XBM*i zBN77e;k_FdgQ?`F_!?*o-T zrDjtwVEhp%UDc4x>&hTwm|n43mYR|LQpS{};pv~RT4~PaG&7yY{b9?J>Wo`HD`v|j>wo6v3uOkVRN&}Byf9{%;|2gpJNn>!o zIUTuIHJ-Jj^=d};my`XZ*vGE3PhC#tp4rn@vNa3c58LNOVBa^f!sY4)Uz?z%nmO;q zU4LEMpV{mkcv%0dyWn!+9g!_5u1ugn1w|72zKN8G%aUDWXS+-9lIW^eBBl8!BL&T%2Q}+DWY8Q8T`J)JXkfO`X%(cirtLwxm~pFo zFVJA?5OQMh;P`tWhrU~1cHJ3zrm?QNu3=`f^OC8pY4UrG7fnmLVt8mH{ddMJRgSx@ zSsj16B|fFS=kZiDRGh4Cb&qC4%5HS2OG2(nVT@F{>=;axN0iYRr%#?wDW(xVUWycwnYMBjyc6j^oAM~-v^d{`9?Ry&^>CF#^OCmOVfkS7#OKwE zrqjKfO}S^^2cBC*j!vxx91(_3?!MZR+o{Y5w*M-%!@hTR+OzjYNAHt0ISBRpp@v9! z!@~jw(aW5Q{!evxh|C!dlw+>L$$UxCa6AQ^A&qY8I))m4xA`BJQiD0F_Q{O*_Y7E- zzpQ<3sHI3nR0cjRFiAwK(;cD3G}O_wbJ(YkDreS{6&P79xamxJLoUc!0yxHOi&o%K*s4qx1(%R zCpCMx{kt2smVVLyarBwJD0^g&_6b~GE1C;5%3H7YGmZkSE*|*j~KfS!|k4g^KZ-xt>;C!|&;*QOuj) zlhxUBJpAaPSiyfeeXDk(w=lna>F)dH#e~bh&v-?-a&>d_v$=QOo*kP?CzJnPNsZ4) z;P}&w(}b1P<&T*WhMFC5MSYEj*7v`roo%~a4Y=5if5iTLL|;ArNv-$>i0*_oqQFCH zAF%ueIHGo=Mq}ZExfZ9+I>Hs_WAL=Mg4iqdZLQx4)g-#AFz$F)Z5mqEQm?cC~J~0)H6gC zW^a%icc5RJeqdqe9kci0gXg{SmmOX<9*1T@<=zUr=IZWw-?d2n;`92Ly2WSvGaD)L zy4l409@Q2{`Pekf%vKnE{P^^nVs@p)RN~T;y;iHWK=ZK0H4Cj$b@02-TF!xt(CeNK zD#w5C=fW^B5OxYFf|o+70T`qUDhb(+9hYbyG*&H&50fh%iId>d<3Ls?4j@%El#vJ! z1F;G%MUr6cpjeD9kZS@6)YKQ-DE55vzr)f0dBOB=#MG$hU+#&FS?gNSma8hdf^?&u z0V?r@vji)eg(%FC|^-*h83v;UP z{>z~D{WDrKy%4x4TsB-E#8K;|x8VL1N>ikJX5{Xp7;?atlQ)&hI-RcDzmrme43HuX z2*|M!$Q0CqXz{nh(eKDnVD!Qu?-|TlL{hNzjKbMWJu72|ACtE!cYVId8wJ9Xz=1jH zDF})s8AdBIMUK&h)BR3E3**M9tT@QvEQzJ0i8R#UkmSs(cDo@9=V#W%?rG4D$yk*J1B9U*-!mpdty?*550i6(z- zSGu?zGU23Cyh!9*(UG0#>r&Is?~w7ZC(^I{A(GFa21rf~4GHq$R%8rz2Z=;^A`w^_ zB%G+ZkYI^TkFc@2(NvG(ehg^y&|vW z-5~=B!CKN{F&aP(79hdcdVeLnx%nvgXa919Y12{6FihroLb&AxnVR3mQcJaGA4ae7 z_KM_K!nd>Hj84Ox7M=|OzFRrWz7H3`*Js zCx_Hb3)GDZ)@At>83%1AI>Uk=WbNIx+Iy%cr&YA9xhH(MR1_rGzI0E0+6>80FXK`* z7~^WrTbUKRv*s>24Ht3Iyx_mbr(<5Cr&ku}&fmeQomB0l7%K8FC31tMfIvtz;0`ed zE=Z%n-0*pl7)}Vq+#?2?WjiTpYyCE`t9{tQ~bxb$BH>yxSDWnOtepSn#Q3(D0zJJ}zSk`yLa-`|(`B{L9oYd&zEw{q#pTdnN2n(BL|WlN=Bktha;ru9?=xu*Zf zPp9wdZw*OIyu=jq-mhjuOwyr$x}P%UzjKo`X-V7RL}gOtz4EK0WH%r`1`uMH*jz`D zJz~tsriA+quAr!VFE_K2A=i|II+qT$K_8shPL?)Bg0xWXBme!xsN8>Czvd_?+>nNbAB1x6~xDEVbMEa@aaR<*N1EYW??OL#>HKytBp-7 z`=0t?Igk7^R{KX>OO6Z;tTMS84b1`$It?A#LbvKpq>5{;AehsIvs~w+YiAcdZX)+s z(@8W8)QtrkNk(G!49!NxQf8(Xn~JgPq^#K~_CmCL9N`UH>P{JUmYZ7gYOG$;L89-L zb55-M+RQvl_PtAq!V5{%I%h5zkU~H(mbujU48nQy2nEExi4=A-|2Eud5CaOzS=$u1}r&C(MDi7PuzdrN|4cSj=fjZ+}C~a8Nhf{8uA090)0gTc~gb8Vhga zgOfX0&CQD4k6y@U#46jkKG(Lk_db5DQXYO1%hLRQyScc_H7D)CHdXVpG4c4aSX$)u zZCDK>42&n=293kCK`5Y<8(d7UX~yM3wIL#@=kLJRB`ek6R_N~gWwhFRZ1j=-Xv8)f z)kbeVV*?@-6h!a(-G&-7!OVZKcRp4tTTexk0hPP+=-&?MI^5PV#kgW>)(TMEvACnD$LZoO^Cr z3Dd@>+iNIMRmAH0m(O%Ag%_K3ebSi*ds6=yo3xN;A5Lpl&X@Qrwz0#JgyyM(9p8r2 z#h6G_cH0>>Z_}d$SSe`#>k1S&Xc@uvT-5R}mcE&!)U5;{kSV%(&;rl~Yq-t;E+pln zU5${UPmYaNtl1jAT{9ja8F;4+rYze=!A)NQFQtlxqR9_HuVBuAGQ^Y-i?|gn6^~?; zW0p>nqL-nSjF+U4jFK1>Qv~MWFL#$~{Bi%dMByS7@ zUZ>qvdSsEIX(g!@ICin=@95xWJ`gIt5P~Kds?exDCq5*(U-8m{AlT* zX643nQd8OOWj?5J@+XywNkM^!aoxpig%d0v3-6c2sTJ%Jytu*B?G?eXLEZJW_GRn4Ar=L_6Kuq8YhyF%9;5UposuO8u=(6S?U@QSS8WxUaNb zv8`mni5Fx@j2?LsB`*&@VqN}Q%$sIDoRGW?8Pje!fU~gk%|-EJ9p3U(tyz;4W*BT} zHu&6nwU0lY3pve&2{MqG`!jSR_D^_>gp8^W^*m}LyaHzQy)5s)mJ}IcDv30b&3>o& zDI=t?^*CohdFrY5yXp6lw=V{2ejSBgEfMk#MswbL`9=7tf6=9`En}@UP8TSpC&s3M z%b4t^cu& z{ShOpABWusxvoJ6r+{`iv<&A7ZAkz~K49DbS71b>@320&gbc0rZsrY?hJY05X%$-q zE85Z~Dy9WZuf>H>#X>M&G2y;ZLZSCxnmQLl!Q=jgmY=B-689hnlmPUq5fGI zf04{Zwu3>ZiVG*Snr(P$d~A+azqcz-VF?|ZX)4q3g#)4US0o|wlE4>ub$UhjYui;* zh|Wxt?a%9En($|m{IWvw*Z~<0yqIn^;Eo}Ks)u-d;x;iQRgK-B0>zL<=|S}?TGV|_ z&=5b@f_Mt%-cg#ll?AnW&<@@SPZ66uZ0Dfe_&|@SwNC+u}^+pO1XRk$pQsO)|R1io28+vp2e7bEW!5R0we!@1N z%3{F3;m6Cy?gPYHr&NzR){Jg=i945lcyLzO8H`Re9UiyvfEw|e{hSHw;7r+@ak-Op zdu`9N!MiqLyeLj>E9lC?hp-uW%Y9iDjIq9lgvnUYH4Y>sbLJvUllo0S&Rw>wfui=^l(*O#2k~R>OW*!_)$^apw zu3!jcIsp9ueAh|Iv82X2A4#2v2OxeZAqkGTQ-?Ns9~CSXW$J8NYafL93_W-<#eIvC z)QMm0BMzD|!p{pg#dpsicpbdR4j z&4Ex5N-im=^Mj{IDV!uSMaxI^A3zk*cj$HzhQw&tRpHY+;8cKrk4OF(=0l1BS4du< z1}Um8AOQx=5$y_gIAADrEld`9vX~>Y@_VFPN|luk(u)Fok&H1Kj$@Q*M$AY)k}r4~ z+PYljYvg`fOvuWfF=}4h%vkdLv0T^H++QoDBjIoNWirAq1a6C`TwkoKt`ECB%_k77 zUvVuFzF$TXF8<1z6O4a^lBeuSRQw2!h`S#A7*6-IWjaUh6zqXYypLVx2f5JPp0(oeei3vf@pHu8&jls)nq|r z;1t-GTmuif@rd8s2!6nbtt=ldK6R&6rG~prAZ;>Q&OLh0-$eMc#{Vchpd6W#@8q{@ z7^m1Wl9b=x{_u1~sUt$PsJc#)?|~0;_G0JZ-t5~KR#F7+N7O%l%~^*YijJVC*wxq+ zD&0+lO#DTe5f-_n?ynPLnwv9tDVyBiyL>4%@eIjjPH^IGB^p`CDq5mBMXH6B;|0Yq zlCt1xz+YmrVO`(p)g}JX6%ClVXqUsd^2Jbn?`G|bQs4Lu*qtamln&cYB7yaU)#7xi zF!A6gt?z3$(1#!nsAefNJU8z&C^M@1L!bv@#_XF%oo9tW=2O9AOK#D3O@$T#x6}V5 zX68hh&3t^{c27ml)6PEG^IY=!j#zDa=VG7UgW$D+pH~lWs{19&z~IcfrS-guG~82m zqp;F$@Ka4DxEZNB>W9hct28{jtU5P4e-(AC)m=HF=j$}Y3b?M)ePbq$wXZr-fFFm+ zu*W<3fHE+#*g6ak_6kEzoLVo0=wrwL{p885bzfJZ=M_@in@aI(Qplrx=jm&HP?Zmp ztP;9q{Fx@m`;a?P98YVW_=I>xE-A)jpLC{nuS7)dv8rzH4qPb_n#>~49CirtM8YB% z5C|7R;S9EC=Tr#W(Oj`MnG^kX0lIjmGIj3wYYH(Tr9T)8mwD#|TL7?4c|5UoNdsj9 z4WLaB0%8vO3i}rgl;AsSyDY{>ZbJtud;$XvzI>25noNpSE$9D!Dh4n%ux_ei`M~kf z2-?iq&(URSp9K!DrFGsIzPDxmdwv_&Q`Yh$lK8IJvm?0 zX6+5qqiY%3;hclJ9W zww3UUcv6RW!te8+wyWEQ+o9W5DWS=hiEr-~CK7ILNuqDR?beJ-CmnjJo1iV|glmrE zPBOJdaXHK}i;YQYy2Ms{)_Brylei0w(P1X9=UMK?a?+}7lf+ZSf@sNHNvsjEymQim z5MLKvrCfxox;MW1^rZ7zCG>Fxhl1cMY<0(XD*qWhBNd;m0c!#VkKOw z;IaWdTCex&IOsaRv@Sb*^P~KH|5wS@^bCPOJ3%NpeK^~CauG>f`%2`ZSEP;Ei$^~; zDF0qk*@&XQ3V9zHvIyRTZdFqn@!J}=7caexUC1;w5xr$L?DRy<9{`N^u<-cyF;jTL z>P$c~DG-Qe^7~(a5W>6H#4aHkuX{Hoh{^jrC8Q)2ElOJpC!W!qz`jAM0Fe?t>Y7M? zJUtv3WzC0+P{%Q2mEy@>(+Qa(eQUir5L|KE>{e}Y5qK@*`dD`to-?{ysjE^KD zlvv~yt&kqgAME~SoQS7~*^vcEnG!fQd4h>|LhvGN66c+-*a%hx?4eB;*>h#VLpn{` zvLOuTk}@YKdJ(lQqRE}z>^LKYp}=k2%|S`9j7a_Pb2K599@xS9edY!|Ndu@gerU>- zVccR#g{5vPFe9nKp+t6lkL1Qm^TOVbYJw`QY3bIIyXJ($+No?4Jn}g(C0}Zvd#i}YKX%i%TQQx;EOzEbWB_> zFP4$X?%0y(vqM87Rn8VHDr*4RWRM9rYz)Yy+Xk;&YO6%O*@khm$AV5N1VOrxZ7@;o zA=kyC1q;myOv50Gc4T2Tplv{%@K~UqV04$eH^8RVu_;Gk^ zRz+c}j&6afj=P{8$4$mfsLpPoQ+2glN#j&|N7Xy|xM{v5FAC%99=9^}CRRB0I~~rA z9M&Ee-!l&H>#_@SyW1^UB_a4XqJ(htV23~)W>Gjl3ZnT?LRb?hxT+h@^elNRx+eWV zGq6hoM)UkErtH%CmFuDO_4tOuENNk?Q9ow5VDd9lKMWd;&MqOINZzR{rR{x9`agr8 zBw&{5f6?F^EvURH^P)1uVs*U?PTQgp`-NT%d_kCVJZKox33I~D*Dzx zGedXEfOMzKPy&JsA<_-f(%mH}F?2}hfQYnoNs4rLilh?K(o#zN$9tdW|KWbR_sj2m znGZA1oU_kfd#$zCdf#{N2MioI2Ho#Fw%jqCG2FJfI>s6P5PPH2$gXD3q(!#iz9JeV zWsM6t6^+dKS22WyYhJ&dx zj|J9Aqx*5ALy+h?_Z6l&avFOmoPr31lmkh-d}E&RU}$#Xl2rJ{XLdzmr9w?n$s8D7 z5XTpp((F~lr}{hTuvLK1tz0AW{(D*!!=J4C_mfB0RXZo_u9DqUe~X-^>yAbY;ph8; zi%ouK-?#s6cA!aVKZ5Ri{wGIan)^_9EzlR z`F1G1ru$cksSw(Wx&C>0zx0==eV`4qqEZ(=kdSQArCAfkEh6D@sNiU3<%i`hfryj_ z9+40eF3WI|60_%Oq>E?))Y9y+(qD-D$Dp(TKT3^>j6q;a9hI3Y3`G+`q1eE4C+6@ggr&5%huPVuWZv{qV&}CM9h&&a5Vw4UZ#hX&~R14TDEv;>b`28@+f1k zLOz89e5hhvGRFXYkEL|}Z3E@<$|=lizW=J4;q3l?h8jHsQuoI{(4^I%`@8feOL@7# z=s~ft_3lZHg5>g>59Y#d+p{1vG;haZk|I}_JU3SYKi&}CO?`mQ+Xc*K7#>#=d!Ir4 zi7atDpOGIJ9I=q=Q)n^<{tGCiU@F{QD%Ai>Sq6#qqK*o?QDBmO6m#+^0Uy$D6a#^a z=)~lH@j8R0O_BN5{wCaUNfTA!KGHNxzlAq0xryJRognP}-f%_R-e8XX_j`x2n>WQK zZS16BoLrKx=8l9!XF#SnrWH zmWE1Gwiom;`1pW9(}`sL)Ew!r;Kw*H9fCC*Q;c=+7a<_y$ssCe?P;D5;}5om#mZYr z?zpkRA9UlPF+`T=O_dIe2l)+7FFgsPMKEFl0tsWnf8I+h>3C~O^oGB&RaDaZQuK=K z$ezigdOUfA?Ix#a=VU9y{`+qK=%i2sU%T7venQRcb?w>5S1A4)zvqI#kM3r~F8ls` zXbkdfx!$k(SbaP5?f&wqbI=*V<%h?AW~C2N9$LdNh0uJ9QxW1V{Xp|PUKBkp>e$T1 zq9H1T=>VVWsR~2qWNgWMjCjmd?p**-azqe>H4h}K6wQx|jN*{^#!`bx#s?DaV}*bk z6^vt{SS%!1g;;|%_T_&uxv0R@*W2W1A1AZh#(aK8?`DE-?_hRyQsD!5U3o$_a92`S zRYxI@cN7M_sVV;DT6uHA9NC%_P-E31W0g;`TuNWRWGQJ*f5=80tekZ1H%B*ozkB2> zaL12YC~pk35WTu%H@&)Vxjy)Det){(IzRM%G00RSTUsUpTY!x+OLjsnAEPWvSCe2g z{!4*sFmexuu^yNd*5o9lbgS3s$!=hqaClf@ zMpNKWC1d_1GeY1QT#qyiZa4gxzrkiwy7#*cp{rEHM;5x|W&XA3;)CbG7}M!}Z7HAa z1iu*u4R(05=2Wygs{UDQ_tblT7C*TW`Ilbb!A7H`LXHZTxwdBYDR}^PoNUfhRU(Hh zhj63<6at7U(PL~y6#p2voI zfbfBmA_Sn&Rj&W8r%+NaP$gvQ%8a%#7j8DRuuG;on`I}PE z!VC2B`77+`TAf6DRrQ>i{4AbK@l*z`pF}6F(AU&$PU=jMO8>w{v>E4OqEP&(5JX~+ zq=f#-EY*gRuQsDZLs@7e3>8t%(kxKs+#nQrt}2QeX#{=87>Ob>!;S_-XBIa)C_L!C z`~_xwm@gk@)!{G;K=r4S^65pTv9?e=Ubs=ou)M=jyFHqPJ!>MZUk=Ii_4=wqPZGEX zY^GWwsJ;o^+y))CA5{NsSh=iTxTV$&QqqnJ-<8B|UJg-C2<`gvwMbuv)P0qnIhj2s zkroPH_(bckOp3Ycr2J+X01T@%@I}oCkWbB+fLt@FU~#k8;1YAqx3B#rH&!iT!fec% z!L(+EpwxfviZX=SdY_y>Q@aPJ&7!Ef!p_V*1kXYR5@rSmH1GgEizhCuE)1!G8rIc~ z>V7)OPolZh@a2tD@}pIZ(|poP9ESZ8VRGk{;tLsvk>l4ltaUd*&Qi>W$e$z^I`@XY z%-u8tw>C^nLFF%te&u{V(_35~zC1ISZN9n5&c0D#W)O`gllvrBAP*)`ruXZ$7>tHp z3h81pF5`gc*UiEpdlHm{9N4jVd0rIVwYEBS!gvAxNDYDsEK&Q3O%_NmK?tejMV4c>Ma>@8yjouSsd&+s@+l3jqg-hG^3&RUfmyA&pO)KX{-+eyzg7D z;?XJB^;XB7o&Q#s*nyBl5WipwteQ?>EMD|#fM?>Y9m{aH=}zeh4wT=D z`4zu|Dw#0lH{%1(UyoFxBt94rjvKt;Gz!!dtSQ}&joWnkAOvk=a#f_Mw`^SqQonEO zIH+pPusZy4e>9-mVp>IuIG=yT#L3PUapeWhEnx`j>ul=)`= zg^8jFF~r;^SI@idk@&LC_FGDf05GGE#mbdZ;h78}z|g=)B8W;;AvCR86E4HonHr=emidglKFl>|wJNS7Kt`?Y@jW$tNzP3|fpv0aS_%1WzGXF%5#V z2&TdSxY+r504PR|TrpS+LWZT8l@5$qoNX zQ~W`I>!;W0V@u37RuWGYv(2w6hir@m2}50fY2`#&r>zfq_k1*ZeP?ZRZQByZU*Z^# zA$MO~+}Ku@|H?S{%0)`5kaG zgOtrK_El)O29XsWjImK~&Rs8p@pQVTqqQr`aD?S)~}V7d%tidRIZ+FsP7c8J`F8A$SOi?!T=4w0|?n^6HEkqgFeJq!Y#OALZGLCLzgyDI@@D zHpW~ddBBdQDPuu^Z|td9)e+b*r7aMW8Vdr0^kbEPu{hkw@&JznKq8$F_h;PLY|m<& zPE^2O1M?qkqk$EV^}fuy^7rT-1|*CmzY}p$-qTqbpYK56EF^TJ#PqDo%QU%cUmKRK z6NPNQaRIjx-rX(#E_z(|IN9-OdtlJS{jO@o-NkF`fVYpQWrHZC&HwIZ#(({Adcle{ zTCUywIe5gqCZ;HD$M8TgKhiB9|7UT87@JGnWEhXQD%yGZ00aOMdpMUK3NQ+z{!I{0 z2=sQBlt1lOmQB)v?zF=m(rF3B&0R#%$+l59(W|0_yR@KGt4I{NnJ|hD;D*+(GKU6} zGXu3x7a>8=o+nx9LCeLJ%0c>vbH~+sN81j!qu$)<+S>hZ+AM80TQm62QZKl7QSP(5 zmb7DzQp+*vulXoX$GC4W=7RYg4+8qw^-k|O&+vS$ARx60Ih9OIRFPi0s|0m zv|bgOIM~?$V-HS*IrX=S{`AFzEqA-Zo`c9>+&~UYtg`^FguH^$BPnnIXJPV#<-pxt z!9t&pep=h;8qaBClR8)MM@z5U%GRWSz%p~2V|FdIH=B9WhgS*R@OFK^~1yT6)5d|`=vdfUEJAda|0m5G6W_91j9i7n;^^(>dXUD z{=84a1Cq=JXCk7sFv8B~Fj^oA_E`EkEE6+IB8A@^&IAU-v=Fy2j?O+9FK`H_>Qz(&W+tM@TWmcG) zxzy_aeaan|q~RrL)qDR5*Ya1DpYd5<95flu?YBKPRBPC4eZr^HsJ&8R_nS@jJC&_b zp%w3V#_%x6RrQIjG&6k(zv}X%f>Z$x^JOYa#vKisUd|@mXwh`4u$w|}j+34I6O&m$ z1yI0&2m-4hOHeO{HUx>cfg20go($i&B(tLM#3&(vfCh1UKovxu_)uyHfC8<5t;SZp zN!xytjg#e+a2uS!@+I$iKY<0$^!MljQ%a}}rT+e?OJRVMgrQUw58U;g>X}5^k6TsK zuTqD@doNWp&s$9>c^2<=@5;~5xeRqnv0f?dmNX+rqkeHQDrFK3neM}BF$tBjS>tqn zc3!CQ=iqg1Ih`u}>1_+6%>uwhO{D0cBmpqjV8=p800hDcO2-KK7w`$dFNQYB)r+c! z%OxzRt7jFU8c2hjA2`maT*ON#XYMl;9-|5x{}2e}VO)wq8X^F4YmaxaX4E43*(wUr zEZ@>n%w=qNaFgXUs51syBJ`C6v>zCUlRUAX#mnp9-~5zjbXThEV_h{eW8&=7ST!g) zecpP`|GMpi^sk8}t@e-B0T(Xyv-h?}an>=WU(z{i+O3i_GGZHw|CE!RydmW1*is}1 z|Aegt5GJEi!i{e&7nU<|eIkBm1{Y_;JMjV(q4a=7^hlwRiO1akjv`vAYLIE8 zSoo__EQyjsZ#@3;FhG98%(wu>^9=hK7nDh@C~M0F@a_QU{P^E$fP@%u9T80wQ1>vm zF-4zrz+q-+!k!s3(#lK%s50{jZZ_A&Ne`NT9A%LRwlRB)!~=m6ps;akX4{dpO}IeRH(*V^dkt;?mXWHE~1Bj)JH`IiXlsDzDP0BW-N(U(2=a z^*2#jsDrZRc;>D1vMNUfREcht*PY&F^J`S*hWeZ6jujq17i*iZt{qv^Wv^Xw@Nsw| zR9K0zukPQBc6?|*3+UNjYX0?%FOZai^-~ir=wcua`0V!dXnvyT;qVYf*H`ONeEMiTY?1r%iVu$Gouwt=*cZkSIX&GceU%-qckdm9j{#w*u zUACLerR5(Rqfc%Q*xgz%70XREG(HlFhO3n{iQtuI*r=U88yWGQsI;()&=~oimnXaX zhIcTb6gNBGkCetxlYP@RjdNJ>Qm}PS>c{xqr?>l*jpecH$+A-8Mz_=_B3~l+-JiDG zUy@VxZwW2=kf6H}%kX;wy<10v{m>cNKEXuXUs;B> zwV{&^`^Suc84*$iEgTVo7LFK2i|KfnDTZp8^%AxF=(xC<=VQ#72?nc}@dM0euE9`? zIPf1c1i(%NM6((Q>9t8ZUrKemTpVf#1ZX=3x%g1(Mcm%brdxV8G-zF(zGipp_4@iE z%xJbHLsj&dVvLq0FB!9A-aD7goSH?tcfEqkXH&Sw?>-#A;~6|ndh+^(!8rWGmkoo9 zc7BsXjBdATO&5hE{M9TP!bi2Sw%acsYL^_UkGwk&IX6!(J@0A*KC{L79ePHJ#`XF1 z>_mbezhnp8AjJR_3yGjo0Z6!F0Ye!2)UwAB? z6|PBA!C|-7jZZIQjeK9SW-n8eImVG;WnI>T-i*T)r3q;h!iKQEn;)GyaF5{tuM_}W zKm!RruECE0nklxxBz*FigQGUGE)fyF!lJ zWxc65tCJrW#*I$8a8^m9tjN-o9x8gsZX)b})O|?DnS$THL&Wq;)&KG7F^4nu7C;1W z!|Trst6=c1cQC(*RZ)DAbJ({KJD6nWUl?a+I7|@P2uC0WU=KS<=>fQHV_a*EhQ~2& zD~`GQmO^-(bkbvR6uXx)1Iq!kE_Z6HARlF)!NMVx1=kQ3Kv+pU$r-5%Ku9ps4YFr9^g{{utGho6UQ?qz7THVRf?V}czCA}JLPJ0{+YHIAZZr9O&l(-#Lf5?@SwZ8K={UJY`&$~r` zx6$@rQ5=Qa zX$@6f%|~J6669NE0J3gfIr?`;OK-Sb>#pSTvdm#KW_C{Ck8C}85*#m0g|QiF>#K0> zndYfAhO`PAoO->#rf+{Vd8f0oqw^?jp`OXWaqe#SHyr1!&)?!o2VPl|Q$f~O6#dgA zK6UM*9YLu#1x+ui)gJ3|Gow50AT36MPJ|GY(2NvCjiCAWvhl#$YoSE0Cs;AoDQhct ztW!`0#^jv9l0Imn+2d?dTI-*+aVsBfX26i4M_0fJ(E1#4$!PuKmFe;I_SCO#OA-?- z0!j+vtV|~Cw-PVi{&L`=Mw(6wvaOi!eh$!ro?U zdQ7rbGwj(rr-9LNi%dkt(MpgX)R;kjx8q`9UMc{;lYC(t$390d;}$!qz~CHSVf1}i zXw=1w8G3fww6WJZdAg6=cYFFutKtXOj~|!Up-LNPl_4?C00gEonJO}QG(E4g%Exh*HPXJjLo< zd-g3yXE05k>Z`i3{4L@DEWV-N%-H=c(s|Fk&nmnhIt%w6Hfd@q>oiE=65UJuQMDIA zU6ut#jJz~KYgU{~9O%MH=|)fXgMMhgSRU=YD?3Rj+q*24>of%X2>_2NkD?~?$;}p*9ZwcEIaai45KAdZLh>(R)*kF!q(U8WNK*WO2|N+L zGi?3&*~xA1(-rqK&o){1%Al05F5isgX1?x^$`;DV)O$Y&Ox+Q?Y}v?c@{g}FY!IQg zpz^nB(&)yK&r*}zu=8!6GP7|f^kpi6`6M&Goqo5i>^e6Qw;(UoPCjmmV{~~V*^nv~7Q%~Ks@xAc zda&#uJx~}hT_3FeUK{#WSO)p-M~?lR<7L)jvdh=GI|9@mu^Jn$Ej zBi!77n-+8RF3N))``JgKF?szp$T~xMzgK(DBi+x1_R()*tBky~TXiBEs6Cy=;NHv) zl`D&-3(2vnj!OP>^)V2rSOh*oc(b51H^jayrtEQDeltyOQdV(t$WK5D8$2jJI}EF> zU$KWr*M{}stzrWZT41M>1@yZU3cl(L0R2WI6#u14_z zk=X7*?7=QSh<|4qM5prY|(V-p~^k*m$`@k*P7Y- zFc(2NV{V}V-5ckYl+Bslz3-3N>TE6WE1p_cKcf47ki**?w)VsC)#oIMP`{BA)tcKj z`EOUpLma1<7I(^~j{O^r18)?5%{?d;zK@`7h?m?t?f!n+I@&=i=<`z#rYiF7FOhER z*jd|Gr&pGb`F32{TzW*5S&oJ3=@Ub zi2)^KltfWTV?)*Q2j5-zn?SSH>`}tVd?*z{9^G+&g(^ZwLJ1JG=%yh?K6h=!;AwhsC_ft@{79`{=7Ndw(_@tAu}x%rB~|yLOFDbcx4qde#GNnSgHNN;oOAhQ43mVc?#JL$qfDt(G1liQH%;|5#d!(&|V#gO@+1tc1El-o-KS(Cv8h(A6a*_6%&ok`gN zGF|o0?pDYmOeiDG)5=c*`AFDhl7?$@XO@}i;w48b&unU1X>&ze z)LyK%3ujCF5yA#BfQ^;1uQiWSfe(FTP9DB1UjCmKj$sa$t|YECC&O;n()$K zy=(0JhUI*(-x}(e3bMn9R7?LkXYa73WCwH1D67vuf-+%YQq5j@gyW74+wZLfuK08D zP5KxNL)id~PB;L~C4_)jA)hcyC?>l)CaSaeV_zPNs_-!K5@2;|5I{&?jEb(>VE|CH zO+eBCJf{lM`xl>lJI_d5D5mxn1dfa*JXH;4*^DITVjBaLw<3gc2V$$!L-e+%3wbm-MR0_zgXs1q@#-2qlwAQGQ?enK{2QNt@36H*>Ys$Ji zy($wOC_H%9+<)%u>HA9*5fXqfcR9*$q%fZYcC-qdt6Ds&&NB8dmIJi-(qMR<>@Wg= z14e=t4HiVp{Ihj2!^%U0q>dii)4*#wSHQiUul`vAS?Fp%!5!KXdIdXw1pjWo2B&uN zV+?jvV~=(UfK<2v&&K6q}30Go%s5StaJUBsco>zR>N9; zt9I@?%pX^hc|{i!#nulM*v(E0_Yo@6*S1Deym|gfvB-8Si$&v^Mz9S|n*Ii1mhpQV zd{QP09MgDLldyp*uMJslo-o7Dpr3!}E3wB&OBPQR`sxY;bq zwdYzA-19!;u;nfM`qgLfXOpQ(hZn(#qWF z(^|`47sc^@e=C)$IkGK7;US1n*o@R*vMyL)f|NdcPOW zXEf%^a4>$6)BCZkTY2kJJt++1?vHsFGs0a};0*2QahJbA?L5*(1P*I9Zrt1 z>dwZ+3^xnjc4XPw2QUpQzU+qf?GD{2m9F$HxuEr0i(F>}F}0kg>gS5nxgQbxf1hEY zV4n)XO+K4VNVqyA@6}R%!h-qEf)9@paO>m-q0i^2>4k)@Y2p1LK93}bl>Py_tP}0z z0V6vfK`6Q~u~xfvXbZ2yWEgvyF@OH>K=sLBjA^-jkD?e@HGzNtWdTRuT(MU9m8lzM zYYJ{=g^K1#8RBTC&o|Z)PL`Ibm8?%w+4;CNMXmqLa#%=rC0q0;jQ2*m9H%Nhie{Nw zJl&)=9OjIlSCM>Ab|FMHTWTDE8uG+c#vZP(Wk^?f@NTjxmN%;Tb(o+2_;4i$AJxP! zBO{nh?RlH}Wd=8#F9&+EqEW@sZYUslhr;|W!H-*fe= z-W(Hl%k44l@-4@Ou>lmd3sWe=yMyJsGo^6j}N z;;Vp32tfc9iYONW1%sSX6a`gugNI;L^y(RupHUOdf+dHNA)lgN=B`6Y8A&jJ^$ZOq zJHaSzx8jUU>snJIpW$%$wOYCZ&rWZCm#4YJ1k1Hhp_QTD+8I`Y+^<*c^St85{b50U zkrA``J$RYKeo^i}^<*+VI_r??pR@2o$xkI)>RUOzs^s{b0!^px<6{ZaDmaFxnWocR zpU7($iLgJ&RtwvkA7ClyfwSf-^5VU8dYG0i%fnP<1ZqK@Sf-XdXKR{_6p<@VC;1ZP z<;%JtGd(;bSWmWos_bDE#v<`Fxj!R!-HDEz_^D6!pAs0e`BZc6V0xjJ9#1KoPM1<1 z;GY%d9Of!JF6y21Odnmj{w9-{0x0?13jV~#*fxg)s}zp zn3jDQ&eHm4aSuZ+)A6qO(H0ja{Svd|i}?!j z;TNmHb~~cR!q0__Gl6 zjKi`y?H=(Z4u~W}c?1}#MTClBeDG3k5rzf<>&Hg?T8Tq^^derlWLf?FI`=7>dvxfKo6i{62+O^ohEC|`5laLaP zm3KbdjI5!gB3skZt5s89m3?eiYz^+?F%=K^vtphp`4vNN{j+RQVW>=F$|IjQ7GoJ1 zSrQz)cKNC*=(c_FhdObglD~AmNub`M;DU$tu$B$rC#EcfQyC&qIp>KvPuK(cg_8ot z!2ATh!Ysh2C0y-fnWZ+tADDu8i&=>U5jKSwrB=k1MTn9>EgU{M4=Hte)zR7VT-hn@ zR`zKbQO1Z@>B>ucTA0{)cNgKwlJr~cS5sRmia3pb6Tr56-R4fux6#CJb3!lBvcjGj zyZY88zf`2u?Fm!ACXY~IL6Jjrl27?BPRrOK<+QsjPg!03;@`rqidYh@CY&Z67V1sU z+ln3ZglD&7I)__?ba=;kaJ2hqvhVXt&%mV-6~o2bZttqa-*PuS9yyqpa+$5keT1T> zZ#Kx>d%rK%8S#lJb~N(FSAE7ow;`4F&OgC0esI=~O9ve`Xy?fWBd}~XnRj){o_`l7 z0KO`Z0%o952nnVN2rwiduPIfLz5rsmYK&BUSYqXHV)@v{l_*EKL0F-_3OhbAcCz_G zY8&81O_t;0*aC6=rTkKzVPE%5vnt)BoDXGf?b;Imq8)dr6%EN1@%dJmj`R=AiJDvu z7^@L&X66fZgAZl(+)RyLjRe!X2Q} ztS2Q-Yn;oWmbK(Klqyi6_+0Ic2G_!Dtp<^jo^}Gshy|RBo954+UxxhpOJ3}abW>Hm z!kbv0CJxc4UU*t*ZCt;#k?H(wEZ2q2pQ>f%w3D3SlGa&aZ;GkF`PG0GQt^flN*I=S zWf{ILQM0pNJnmTUY|T#$)5cs}4boC%B9?==vz91%8YyL)XJoDY3j>SfxM-Q3!Vo`s zVW`w$fJLiuf@D%4A?XBGfee8?1iaDdfDsIYw1b%`ETM#|}lv6j!1aOug48VgqWKU19d-*gg+;Ni&mkg&v^nwlX071@(Y zadrpPAf}u=@dJwF&n53ld zpMs4D_qzS?VxQ8~3IV?&IhK!8LjmSa^zp z)f+7tts`zFS$kY@4`_TyNkE?IHqQEym|eV*&g-=N9!*a68df^kTj`edHB^0l(z-^L zm!6WELWFNgU0kGy0e~d~1}uS9Y<{jV5-U_h1Ze8N`Jk5cL|5vP3B6ujAEdV|uIOT+ z-;r)mGXgA7V&@kqq9;Fl99F*S}B~WBQ;` z)jTC_;3r*BySAm-_i>OtI&ICVw`6VM8c^pYn^dsHj!PRVSbT*ONgDr=$4DzxL8Z&9 z(5kT_y+rCmcMI$W;c-c7fbfG}y!6fAulb00R0+3|k=HTRW}A!Pd={E-Y+J-ZHCZ8= zfgO^?TzhS8L4$K>CSAH3TDXzn=Un4UFWWpO$7*=W7UCXkmg*aIb<>Hos@zyN{M$bM zP*()K-6e%GL3wfQn@+n>zTnyr97sVD5{ClHhs2Ypf9Sa&vu)Y*k+X8RfNX=>=A%QMLqZ6zpd(nPa5?wScP0vrB6sRu!V5=VXfs zKYic%-}+7U^GNY?yNuAc9>6nMKBR82La*CK@u4gHV%@33gOi6J&Be z1%endt=S)Z@DUy5>qu-)Gg7(TEW7tH{W~LP{@bZkl1SdpN%^Xm(e_kU_sVTecYj7d zpr9%=30pO2Pz11RM&*xQ%8!oKOT)KJ=%DEE|m8>>}v$YSEH8~ zsYh*CKbr?J?YTK->yGMSz0SS!a;BA zywvR$E87~mLf0-x8@snjZp;D(+*g~xy;oa~`QH`2+eFyq& zn#-L|<-a^sE;7IPCS~OKx?%}J79&#Okyoc%tHh_G;=`iiq}|$P0*BK-Ywn{7)ybh( z6_8HB(Zu4+7bsyh7E=`yGk%ueV0C9ImOfwKPA zKA`#Hbb~I_e}u7mG=_GS(czp-rVm`0YjzoKN}VK~AUB)nA=6Fv@b!k2pg<{M=JMV) zX^PgVMHpQ+C#nGGDKM+UeJ-#BV1o(cJ(C~5noaT+W%?en-ES}37R#GMq``*r24 zX~EiuYssD(C~g4`4gs`qvQm8+p&W@KM&IH$J27&l{((o8-YE?HAf}}Qn-2m{#dR7n zyR|A0qV~k6JP-;uiu#vAse{*-+VUQ2oPB1j3<5p#OJTKzCz-B%D&x(Mczeng_*^3ZJF9H|@!VqY*tq>AT zu@OXrT>o9`qj%hV3$xrQ%-!q7ChPfe!jupG|3R5$|EKHUeIADXk24izob)a{8nHafO#+qP}nwoZ6r+w9m*I=0=h)3H09+uuL_`+VQ;df8*_y~kK< zteQ1f)vQ%tA0SA;|HHIx9IgKSf(!sa!UJIQ&HxbKVBir^&@r)b35ZB3sA%b#SlPLF z_ytA8C1vCkmDM!0b@h!*&8=+g9bMc#ef$DL!Xl$%<3TBDnOV8{MWy9cHT8|nZ5`dc z1H(VZCuimsmsdBocJ~iY&MvQSAD&*{KmYmTkrz>rU}I!qW(M#2zY$^#kV9ff000C3 z#UU*YCjNgv{D1rW`q=w7K#)kBs&$Ba-y*AYnM->BbgX2eS@FS8p(EDcSsDP?0Eq7H zJNC=Y5r9_B%FVB_-Wyrfg6Cn7@3_tyA$Vhwr^vwgH(_j9;Y*iN~5aBboT3sbEPlRCERWWErifBzFT|~8q;7uH1aC4+9WWZ8}T|euo zvWeB^NAyt^vGj~VUs;r{;_(yy<|+9$|%UYmgPj%6-||9$uJ zLu@{PLr=rZh)qnE_+MI~#N&H>X4sD`{)kexWJe#t(%J;4Vv)g-T7wiwn8DTgb%#(? z-wFwM$-lt?AR(Q=NNud&v7N1Hj3H+&%qZi0MGKLHS@#ZkG2vrE;N%eiA=J`6Q}k-y z!t%y@l)C9o?vgR7HeTJd4K#NajT>T+>sl3eq0O9gpR}@G z^&IX{$0Xt4d{LHa4|aQ;PC>~*?v_Ek1xfx-R%L8(NYf;~MEK1{j7@|*@pA|quM}|H z@^+F-QkAphcR zbK5>IlJjNKY8t%$HKSeVI1!oY865N@Nr1rGBeZr}8mvf7C|K@XdPp=*;JRY?@%5f>oeO z9zu=4v7QTqT;CeKXN8S(yPd#(qF0b^bHVO!{Z;;(OZfgCAGEpCtU@l^Vgjv&=9sDO z1ng*sAMo))p_~7T2z&#tSShO}4mJtCeZ@j?c!sF6LaHrSfUVHR&>7*5nD%HVPFC1a zm13AHRJHy%$4}Ko3~$oaM$)eUf=II|*lMev|uie!*b4@&WAGnrwS;YwH z##bJ_fZ$4jCIg8^*Kr`lvA&lK?0*H5Rn1^1O;4ph9|&4n6Z(^(v=& z$;e;DHNx=~vTYpN2JDRAI*ERW#fj5f$t4U{UKl%~v5lXo4xK zD`-XG8f=K5G}ue#eOkG2agv|84BA(gwV>cYC!hS4O=SauAKIn&D&C@=|dV zFagK0XvB2=NCw}C&9U{*x+39{e?W{nAR@Ah%2d#u;bkTvsH70l;1LYC`&wyj1jNM} z6!iYc=?xfUVa)_tmy2V_c#kizM`Uto5?9$kZK%6@3Hyu*}PSi7m9gRc*i^=P7UfPEW)(ZS#B2SRW>Xat*WJ?&xTVxPrPwv@W4C%hHx{ z{wgKf9oLQo^OrzrYCp8h^-kT<`=KQcIf~Y#p133yoThd&BRSP6``PWev(!zd;^lKj|Ga~0_WGVlD=44x$o14nwUSnJ_aBy!aTb@7lskI zSPvX8*i9nOba{SB$1!hDDRx)>#|hkmT~KMsr_1NM!hcqrRLv?2oOw7ILozpX zi_3FU=BM>Fb(eDKT<^)DlgE}!j-4P2=Fjqkn;JM5l!#Y%5HWUF@DlO*_;8eu-ohh_ z);Tj=k%e3t3$FA2hWOeT z{0u0>U{Iuc!Ep8D;3qAMe;AJs#x|zD*`_M$rgu~=e~#*vTH?e>-|E$DJ@tV+)mRa4)RZa+hegGZ4hK}l z6LbSB+90pw)i3>_U#rw%?VqQw>97``x?q-Lz|b+5Z{Wb?q|ZEQVq@0Sgc%%%~x|sk#12@KysKlZzljcS~NBZpHP(dk=SPU?z;e>nDe(Jw+hYG>D?z1oq z%f-6Q1V{Z3+ISnMqP5IB5RN_8MUi+}MsJzhShEEY4xxrG`%j|2)wCn0jIJ9R9uvrg zG#O+ERYCwjY~wHeYaYGLKb=b|?SFOGc1Kgje&g&(te@bGwqk zu-=-uq@R=6>|3low&LSd=GaXi;!mG*QkgrED!-?-ov5WnohwOLcs+-;auV2v>zeK@ zVdCll0A*rTRD0PxP&OQ#*CUoD8(IrXi}SL)RUPX?tW{# zgQLakj8Et7izLHBEwuEL?x`&QAoKm{wy~w|h~3NuTf{pz?7vOcdLuZCpB4q)6{T3r z<6(W#c&{VAz|6R~;OaZsJ{ zl{S(Rm40lB{a#hUWW|(LF{LEWWzf(xc1%J|nF}Jz>E*+X$xScz!LpZFVa_L6pEm0W z@V2z!6~0zNiZayAY{`doGKs;+AfGgq9pcBb51rnTk!wjVbDCZkFI;PZEhc5r*j)m*_-8iV0E7{;-PXufq-4vYy{= z{ELH)r9{fdtb6Hh!-L(|Qn}D^zc~hEglF{abweUr-IB1Im_p~OTlZ9L#Wl-r5a!b{ zP6DrQ*xA;~Er!EfsU!Dg5e$jk5&_~>nR?KCND#EV^h%QaC53JYLWv{Mm&|FU;9B2_aF3t4FZ(HB;jNz^$_gIb$B-y z3<5pvS`E|w4GoKHsITDTh+unkT5)OP>*mtxLVTIgru*kLMtJU`T;WK47o4|HRP(>~9@dQdYPSV#F&e95yM5yl-(m2bd8#eW**yo|wpX`v6k*vl_C4ATSDtPe0|JADnoPL z`7DSba0#y>Ra2XsFY9ych#?5@PMPqZ6-DKkSXI?wygyZCF!wBNw=jM~j;bdH5_gK< z*;u2KtF%vKs?LVNk~Nwqm4@wy%0`Ep0S9APs&IeacP@{Eh~sM~|Lr6xiZeb%N`P1` z$wm5oiHFkz1vGZ`7mOJP2AX*Kvz%T8Sps+|5FNk8cEocgJwxQm^kT|A@I6e!MC3I$ zXslNrk5CMk<3aI1ar*S)O8ILjqs_}`W8})RuL^j!mg?Mf#MTtcR2u6TT5TE!K3&|o z5TY=#cP1f*;&AD#;^e(Il9JRMv6k)X`PJ2^6-hJY-=iLlxV|r;uvA(8RP0lXojm35 zpjWZ|+vF@1OH`26Ua-X17~a|Z^|sA)qKN3Ty6I_JMr7f5$n@2jL7znW6eSuIg5z^* zaS-ff$PJ5CaALehIF_t!pl;(K|(;NuaQO<#sr z8Hg8ya`sJUIk1+YFb8yYJ_gCt+S#nTs*mnauZ;&Oi;i^fvc@6GCOYbD$x2-$vlbT# zK6H8X4Y#CuRTj&RB31QG_2no}!oP}e*tP48CCqu8ApD{ziq?(S%nX4C7N_H(;%fM& zoj;PGIik>1`xamhfFk+^hoe8UK}eHHC*w-nqw;LpX@+*9`y-ELGy>cDM~g}H2yxrS zm?QkRQOd3(rk^^>%((q^*Mssr9U({O4JKB+;W%N$R)h@6;}2eer~SP=)eSn5}(q zGg+xh6jm!t9cmj+fy@aiwoP-{qdwIMe`M&0^#>KCO#f`lN>@y)nM%y#**$w(rP-Wf z?oLUu6+d>TBb=CbKlrU;`QX5zw!;7fs3mp79ZY0rca|Dc>5rX1CH9}9*K!1^$O2d_ ziONA*C250bZ+atLKLjhGv@QQedK@QB8kTv{FS?WbjHPA5SX{%`T1;6Bk_Q{L^9)MWRPTjEgrVX1@r|wmFF+E zD?-|ZfsCm#p)x?l6%*G>dIM|X9#)_ggIyyuM6gRvFUK|RpAE_p6~|<71U;nor62T7 zr3w5ax(~%4_1@ z`X=P)!kA)Uh-$gkMWI15*F-H_J4LZ02hX?ugghVha_HdtA)HS>}Br_3hI#J^S8VZDmoJerX>q^eBm|BX=i_)7S67cDTwlD!(Ud1{DPR6 z*})c;Uws1nuJH+MmfvC-g!{0ue#u+%y-UW(n#j8z@h2{5+F7J<_RMh0?M^~FrpUwM zC)R&n%g-@TCi%^pqW)5UXj8*V5a2xSx<4gk+a*KRaPghPbK5dA&N2--6&CAYX^)Q1 zEf%(#-XPqj0_&B^Os?v%Td9@IvAP~h>0dkxXMxbPYdTj~XrSmqU-nqDc0N2SpN$pL ziQYqmqvWoslrxtlplMi)fS4+C$AtrH3@LKZy?@_gm1HIPq2Mt=ttDi#Dc<>gLOogm z3EWs--`ohuF54OYGR}j<r*60~#hV@$6qDsPKBBgLD zo@15SHkNHLjwFWq%u^)-*Eb0z&K1vVcLkb_*abtYil|o4wV83DEp~FlOvbwb-H{bs zDI#%1+EqGvx9(_3-n|XPsrku=ZARcnwI@3hV+30THAO5V7eyS+MY$^6trO>n=ZN)u zO`!*?81)%bb3jJhg9I8xx1wJJ?nW^UvuY#0Wj5m|A6QT?6=2b3c2ksmPr<-G%WY0z zpwB}KOSvB*T4-7YAq++x0Hhe*@e?Vdz9GRwAwyCg)n-xRd){(~;$I@Sqos?&l64I& zU;GTrwWQ>q0J6zY)sQV^4}W6xoJ@5k1b7G?sR^STsJB=m#^*k^cmPXi47!M5Pylg- zs7TJdm1MpX_Dr$FQQD9E7bROiXx(v351aNl?|=?i6}pr234=li96!NbR=f8}rKA6w zLii9IzqM5VRUy{)sS9psRwL z=zt{+SPbH<1q}gJ3RD%il}DN@1w3Tzna)}7uE5n_ea6+_8H=d5S)iEt1KYNqZ7c|VDA#w&!rEH#c( zTsiqfJX^;O97(sC0A2ADY^fSIg}8sVvp>dmN32h9lL9 zok2c4dMBm9aOIQ5z4YeVs2t@doiXGNS=1;JqG6@N1H96a=ieA;n8}bk_USP=A2fkJ z?HSvz3LlsDrLN=?8oiF6VONE;6Wgrl3in#(tc`WmR$tG0%rjFn+jRjaYnw}sX1$qV z*K1;4CuXxeLBkapcO}NFN+jToYCvolOjzfnyR3HM<3hJvVAW)~!@CrHmb@l?HRi7> zbXb>y>GMMs9^GMC3RE~l<;tFj#@3;~WhD^G)vgOA!hkw=@94LuM3MzGoNK^hGqxo+$&3EMP^;?8(U85VFi&6e|hdN0}?}6w;9g zP3V^b=+};^=AFq;K;^Il2~(^U3rk*^(7oI!JuoyU`Jd)~Id40?8`TC5HxO#&FC!^W z1~gS@02J0dS9IYcE?C+N;~A_6nU-nH2Y0tzYd6;6p%eA?olu25iskSs_)r`IUY8_r z>{-MEINTBm3~Y<(u*gd6)kw!eRG(T=;{$To3+U>e3eHw4*BR~zwOdcaSK<^UeDKz= z|8xtsFeqCuHIj3}p&!+<2_|IAnnlgBaoGNo89!`MBav0=P11iIbjyhrscHU#T<(gx zHD%@!=XMHAz%)@Hh0-p6nECgnlx>`%37CKpV`8IQ7*qG0T|mmEZ) z51T$w$pQetATbqmtCq&`#gmxjg&|AbQ?AR|(~b9dmE{@9P!b0j)vm6LG8PAs+ zODZx$50fJ1S3x$y%C_=D8w8$lK$^;h{Y~g2^%cDUi%r>N4fiEq7&B>Y6Sx3Wn=O~h z(#Uy;JyPodd_GVF12j9mavCbQ=`;-SAlzb+oIDCKYq_Qkzw;vFbd4Tf@$c5)=V>;B1V{73|8}?+)n53?B z&|Di$ImBg6b5)jBASY^^ogNf{N|J}Pt4%7xq+Ebxh*Rou=W=91Wo(O$TQ!$|0WOiI zXE6-0BT(o6Km?mcofH!(zqk+M*paoA#$U{kml5EKuU;YaAgbO}L;;Y0PS(zH0)plG zevu^)bD7VRlS$Vf7TYdcC_EU1WyA-{=+%7UWd%FbKem`RR{PfL$KM2zY=KhsRU^E0 z1?fH5pb@R5iL^#FANtqCyL1^G?))k>Y~Kiuy~M1W_e>mbj?XjVcW|gWvgw&)Rl;Zr zH6^^ySS+JALIHTAXfCDFDf~rmQ8Tv@yNg1u?hDty>l3@+L!KAPqYv!C>@LetlJRId;VA}-AW8p;zyNN}A7a_@DmU6hDXPipSdqK3>ylcK ztbctpK(aw_pc|_foe(xvz*f5pP_CjkGN?vn`idr&o-ag|d3U}kVZE9=IaO4F;s&ER zQL3oV=C2)|CkvaG=ev}K5A%aevfd}&vq(?S0&%W`=xKIenyy|nmX7Lq{Nu<}p=qmh+f z?GT0qi-!vTfLO#eoWez@ye-w#lU;Z`P~g(z+dD z+PC)?q3wv|qra_p2m3;UOUg@j{L=+{e!@O+=j7Qu;$PQ7{H^8`%XBFMDj$pKMd(0o z0xfWB8Kb~ayzt3hNdU|#EYEmnI<=2!+@a$bD$y|f`5V4|I+mNsFooA5{Nmx23DLn~ zD$T6u(160Bf(RZAVA?okTvnRbeiy12IU&GgrC7?OX|SQlqzv>xm9MQY3C@6!RChNF z6nmy)pnR}k7WPG@S1xC+NpE}V|F<|o(-O-)LI5*#)*^43ltsTR8wf?6I`au4IPwv& z-t?DIa^vyNODggrO!KbC0uR(yCcl#q3s4I^m0MPd=}qnJkbd(Os4%8YvJF|xH04lx z$&!S_&XN(6e<O+wbE zEg$kvRA|oskYXq~)6TfAKXLTRcx%3TP{O)r1B=!iOXZ7uKfb;MXTJizJ_28wgfVv5 z;5D(ke_2+^y@q6pP+TDfmOMCEQq&TCkg?OfB9YEO*UW+q00eWB{)LJ0 zM1m5M>#Cc$D2OlCs)3(g#jx26quM<)DdEYuEbHM(NknnSHT~sr?3724K(nQ50G$6p ztW*B`l}r1t^A#B0L6YA?vV1~c>ABXHIXaIwv{yj`*lT|Vsi2>~uM1EzMKnrz>N ze9L%Z*1Q9pGfjesmhi0iK%ntXJn!DVB;;cTPEo2seOg^lS24`L)Ba(SXAJ2akw$ui z4l)@G={+J#&vhkf9ML+F=0*|YZghx{ZqIRwNC}(Ofx74^)xcWxGG}*c#3J!k&-Ttm z^qxrY25b}(ZDOcv7h7DroQRT_dzPW0a{R!!(LuWOmO?!h71B_P-cuFnHdjo>9crK~ z5qJp$s~m{s2MQ7Z83K`4l6p_rHWIvl%Dw5yWzChC9|{Z(7g2E>OuEP|a@so0k6rfk z{3yQvKg1zHK<3*lm%uU>CR*dpnuL|30eO_;1mK6{Yi(;EkhA8*>y6O5@dCBs>BCB7 zM6e43_h`AnCISv!M;Dq%BIqtwP}33O=O^(P@L{RRNQbVHess8W_Ng}0R3JXc&GNwd zU}D$arsY?abc>?1B~f`=YCvM9Ar|(Imv-XnPj_>k+At|-_r&~;P8b(|cKUa6Pnl|| z+sC0(v=0ggC}Yl(QY%lj65@-i5ccvCS9Z(TgYG?;pX{?EX@$^aSL+Y4(q>ulgI)M@ zP;aM18h^?Mqo|UXSx6`AuyBm~R=JQQha2R_L|A|kcO^9vlbX1X40bFGh3dv=Q#sP8 zBEr?69xPu`!U4SH5mr;dacRBPVZRYBs3cdB!g9Y&nGFp=E~V3aJ(ku)fJn+h{TYWH zM1GyJo<&a(a~z$c~E%Q8lfB3tmOt97kq{285}&c(9e`nyA=W-~o{d_$W9WpJ~t zr@kcCC(s3KSX~`t?IBTsQh_5)dZ>hg9P8Z@?|he;uxX%_tbi+!)+Ad>owpqlg^dI?kz3Q&c6c!T2{ejKR7XA-wR2de zjzY=fI|-F@eGyw`B0i`US0P!#w8%%=f*^6ygH9B0x6i+fiaeZMLk&XY0ynZJO)<*L zz4N6l&&k1k(#CH>jj!%Ozarm(XKkzdIg;9WY0~V^YjoXIs0~$daaU)wubw8Wp2veo znf$}d^!*Q*5)P$zXU&s^;w(cIyFVOu8XB6`>guTf8VK}*wZp;0yywTlSF`1)6oF=a zao5(CkpCeLIT%t?e&qoH&ou$2der1*d+n)lc0km(vZ{}O`hKHpNgUz%+}AyU0G4-BFS86p+5BfldDg>2Bx^2SVx${ z7ujN23Hq4Aoxx5pW$)OIwp5$cVZPy`zq0c8FLa& z6|2f<-C{d5hjSvaevY>5^<<=*Zyi3n8}+?0G{DZDo&MSWj+IaEt}S>Nj&i4J)A@4@ z+XdHDnB5@2yhGOVc2Q0cB0{O z=9*mVsaS8{;~4x5g{$N?$ieW2<@m*-B6B1f)U8|IcX)QbSh6$tx8m)c0{QjtYFTS~ z3(EU-KJ3$@61@h(1kPU8dN2x@Mg!Z>TP-T=!Ns;XBbRu$Gs+MqBJdl)-CUCo7L$|} z9rjFC0~QE38B<#$#+DIal;u_R2!|EXCAoi1Xg|njM8(TnFDdfFixzDPL z?ZKspR3#0z6~tb3=;R}+`GfU<2AL{NsI?19RmS~Q%-3@ZP0*-$r(nj!vYx?-FaRdx z+aWZVZ-txd&x~m@f84h^sUk9X_U_+dKnsQ^>RrJs(+VQKp9M;uW)q5jJoTw36R&gL zI6=|O>vmWf5k#;3ap3E0kT)XSCZNGy>p^(;aGcQ82O)*im4-e5ig{Wwi!zDFB5X7W z&DyzY-}wXFYI2)E*k{VRLX=bs?zw9fCumi?yU9M-7Yp24Jo-4?{|*&wj`bgh#{D8^ zUJh-Hti>|5!mH$bJ$0*`ba%l1UYuV{=$&BZJ81f-je2lKeJ3)ci6%jS#XVZ--lp~{ zDo9&Pu3&@}Z6{%gO#Y@s_rrvpbY=Xob4s~m)v;P3Pyf89{ZB1@(U)bv%lSZx*tZF& z%)#09j9jOt>>LF&VQ`opOm27*dNEvy&y`>Z7SbbHpaksZVvmy6H~r=|eq#)4w*#QO zIZ1WKO?lqiW@NIfWK^#~{mhv3x7C?Whg@tNI!oJh{$?`dCLx%Ic3sB4*g-wyTRvUn z%|^|WubA7fk3vW`0HmGV@)k1deF7z1v_NF~!t|-uSi_twE46K77_zp+SJWIjquFaB z)9GQ0Z|TDp&7!?;xu1n)UA;73w z_L$?qd0b_p+=Pu|#!6CTvF*4}G~%>RcPLJh>!^fdl|vK&-~c%AYT^jd0gb-R{};O*tq#*~h&`1b&WAe6NKQ^@$qIPqW{{X+tqadee#&Oh!!%@fmzV|EI~Z@55tM!X#bps61XM)x z2)$ol%k}jp10W+sBUOhQii()kp7eHGj z)zcF+!5k2?OR0(X7s7v1*(Idcj8N1`|B4BY z*0VQ>))}=}km(s37WG1BUmE+Vxwql^19kRa?@Ae1^FVR#k3)(t8*Bg>4Z1iB4k(wO zBf1L{lgBzw9lZT}2$xQcVDNl!Op9;&e=1w6OmZ3CjzksQN}VcnrKh>O@8yb7qhWp1 zniNE=K*f@GzH5ZD$q0#Q{x<*y0fKRy3SH(d26Kv-8re?vWc}<>MbmsLha<%*W~ro= zIFVq;5qv|Au&|Z{QtJsiE-S-P+4o=8!xtzs(8g9{yoR+ziJA9$ z8%J1^$hR*sekFl*)ksIM219jOsY+v(4B#$AcPts2CbTe7#Z?bC9X_ci&@p|{;SE3o ziq$O`?#-W@-pyz$JC{d+NCOxlI`|J_dui#^<%a_}^>sC0EbFvg>XW5Wt1D>9tQ1r* z@$n&awVCyaZElF&A97(gz?1Z%EC9kNs306RQ%D^86?EFMud?qORIlX01UR-TX`u`$ zq~a!QA;viAP7sx!!}Pz?TEq~*3lG)$K%*-`Y3??ILOKk)+0oOc(D6vJ%;PF8JPw; z&wX6OjL-d%xf&m}_^ayQmX=k!fVW!l77LVrDxXDbM z=_U^W+ggOKqfVX1im-Q)u{h>EZuM9>1RRsmz6nYA(F!U1zKh*#%jSO$=xL9s=^CLh zQd^;+FP!gA{zDu+0J2(s`2kt#Q6{!XJdxGnI!K&+ zth+NjI|qlEyIW3WS=5Mv`d6uYS4B;#ol=%Y`?*w6sgODQ!vfY?yX$V zkgG_x=~_&)t*=_lSdNaM=YylY)P2L=USsPc} zDT;c;PHCJuJZ5RTuFtOEd8;cu&kSvH=DzFgs%IH$u@O~C0P_g684Kdcx*7H4V8P7^ zQU~WwzPU27=%2ktiuw)DESiWdM@Vi{=U&v*@*8)jIIN9h>uSn%V*eK%b+e4RWVKw4 zfJBFF2B6|RCi3@A{tf(>q(gsyy-K^c?T*qftz64ED-mJ2+>g+gVKUXaXrw(-uVsqumOOjU%BO8-rqyi>HMfrs}D;fo(M{bE- z41d$vgF(f^F9Y%AUll@o(Wg5SmN8x79N++#2`bgH51F(GKdo^->uC8Edl|}&yb6}u z@v6u|mShmlFFKCB5&v!zV{P}r$kC+$r=6v9_IylPjChikNPNW&LS|(X zsB(qqN|A`g{}9IrfXtU)|3GFlO`yd6Ed(*7@&u(9)vzvV&}<(NNz!RiknAELX4Bi| z^!DW+#*+0r??;a1MsjI0DXka5UDac|^#wSP$FMYvD)2ooE9+Dn_xtbdnne|j4HJxU z0F*;2HZ8MzjI=ra!Dr$RpadI_d33cZB=HiiCMUl_`M-$j=(L>aR8P%Hv@nVZKyOn!K{=` z?KrxrVPAz?xoaT8jH0($MO7ufP4eLhXWn)#3Aj*6eyG1setFcW{CS`+LOUQ{tOI6G z3{{`H8ldfsNzenY&ON~c_B|Q2IB^3z8Ae3# z*(rR>cvZ0IVet3p)zeM-im))jsIKx%HD&Oh|)8_z@}%V-{^h%V_skANSsb#)gUvJ1s^ zZzp-YQT0}R)#Y85b+B*=nK6;>C;;epI5=DgG<89uv9&WWJxW>h4J>vMiP4Ajc6_0%^?!(C4kjNITXQ)NEKZfm{%sP!s77OAcE!>-WKw9?8O{|Q0>$#jF>eUF z5NI%$_4kjgg8oRU?hRg_UAN);9T*)b=N1DZ?aO=;%tnmxuwf_wcwtr?>e5wm2 z7#uSJ6GLtVq7e1m>Vh%~%M0*BlX7ByM8=qxCag#fq;(j%;x zSVWvzojBOYNi8-*^Eo|F^XnmKcaoZ!1Z?qph(*t_^&Ioj(z{41TyU30^2HNVBfRiT zi^wM<-vXA?r@V8Uv39?8%hQd#8@nqZBrWPj%zFNakT}}CdI)bZfFm?m2+h3imoBEd z>%@+2GeeRFr$wDjt9*ACM^pY(U7km2RZ`t0YMwSQ6qj`1s&slN35G&$j|Xuh5$l3L z;^$^2obF4GS!}1K3n1f>{k#)1ZEhzv1XX4SrX?0&z z(z>mTUs)R^$9x25Kkb`t`a_T^Re?! zDBpH2WmZe@$Uer<0_eaz13S#9He_jO?-Glq)hA%Ky0AA`FHkJ_r5PZ5sk_>Dc?Wgm ze%Vev^2VQw#`;_{%kgj5W+6F|(WkW?cXOAJ#G5NL$*RUzj`lp`^oPDDcJ431YiM#8 zFs~}r1W-HN!(fb!Q0@Y!*pD%w3UX6`G>6B2#HWmY+oGjN%KM!|)4@VC7B`4Q;JQ)f zpru#-z<_r+{#&p8)%DlNW6ImFR`F@P<7Is-xd75t=f*CWFoo&G$*I+O@&K$f6FH91Du*-NlA%8^i&G`w%a_H8B zt`OUWs}fGDZFZxsYoX6d1)E|CJ?^z;N-{p(ekfrD>av2{rCoO)18%jfZAy)S%7ZaG zLytkH_Pp38753mi)q*(~GR9Q*?V5-m6OlU?O#wT9LYv-vd5unujGcj<83zM~yfSVGH`ds%zdL03pT`-jzDDUk z`sC8mLOJNiPrE6d8|=u^?Q*JmToV-OAmO>cpGn77m2#ng8S@aQkLFxMI}n6t?2Jf| z*l^8)vE=H=)wn&lo3l(9(9LdTce_MUtjw2=^1juM)d`jxu#AMBqFv#HVd})JK7Y*U zmji!52N5RyLv*}_;cthNX$Uba#^{PHt@CL`j2Eh zyS|JY$G?KA-{;ccE2Ut^q~SZu?=K7rW!S(t1!Y-&GbyoP#>tBUM8h%z6bVR2Rq6Z9 zoOC3moa_}>KY-G4D?MCmw#{&Sst(u9npH}I!Pg`N@bU#_s#LV*kNVXWhV}tCUtiDc z+kb~dn73=!{kSb{p}v_cyxD$zZB6H|t^IYsuY2W?k~HuVHGxtA!(sh1$3|Pf0t*Wh zTgR&XM{O)GCZ`JM`XBdz2Sb`0Zup$2n(q|hcs^|xYNH1yy>Q5OBDM>I*%xvnpHA|MpGL|tXMcp^no zoOWJ%^7-R#iDj3LYnbb_aAZN4nFAeU>TLkE80Lxq0YGOT)ce^$+< zy3N(H@n=cK{}i{ZRL0%0PDTSz4DIs_3FjLr@@0;AHVDCJoRc8)>w2$3;lK z4}o~FIKq%y$mdgQ@UzXw(A_}HkjEn4cN-R1(E>lsEIu7Ra0(fb<_i#Lvizg91)w{g z87O2l5^j&7g_~(8Q@(WRL=@_(IH2vC)~d^}w^zG$i!bZlOrW*E4G83AU5^;yhSf}O z{&x1XR1-&oBVwVEp}nUSntity6;|C;fhkdJPB`zF;i+w)L@Gypnzf;lRHmfS?lVs~ z9{AK@A+%YlHeH-{=}AgR+*{ROZO^d;wt24ROeZkhuqm#k^Q%pHEA7K6NL1$gN0`Uo|m?Z{Rdm)#9i zb?>Y+Mvn@#J4{Hwe~%i2L5Y{b7WRPI|3YvvAQUI35I^&rt;HwK!jS)sOxvxvcwjnh z@?^KBQOeO}Wtv1jfm`N|4$DVtoul>Oyosb>s2~55)ylhim0$MP(n|R`{EixAYHUb@ z5F;{;bp$r4j0Vb2RL(MJ{c&lf#N)sz+chotz}?>Wm!ZA=RD4L*_6~2C`>4N}sd-z| zN+%C87yyEuDsm3@FoTh=jy5!s04-+frcwRSG@Y`U{~50lvAL5zyA40tq9YcO!s$*e z*~!ROqzXxWG*MY;xr1{BnrrG>%roliE&LJq@O~+-f&n9an`|x3tWLux6CIcQ=O3}j z*VTDF!5Wet-=z&vmj^K6`egpb)J-8^V_FQf>CWP_TF-aTWr0NYS~MRAoCwn)&_0WW z*04TP-!X8W#$zOHH!WrBL!c*+{_ILFy8woeI4bG-%wB|MG>9Rfn4Ma+0eav+Xc&tm*e9&cq;fAcp~T+Ocq z(ZN342dU}%yb~*tO4fQ@X z{Lq5mCa$KF*%EB1;Qw(P`oC(Y@$VcG{}u$)y)hxnSCxU)i6eKLWnHs{cWm3X zZJQn2wvCQ=Y}>YN+h)g3N8KHtJn#7f>slYi8nfo8yK1?!*p~1^3hc4HI_Ht-3xfw{ zps?WLYP%k|yitKM>Qq=w?wqrDM1i{C+APeoc5KgUGWFQKlA=~+a&kk~AfRPyqp$Y} z5>c6bkXkPeM=f0`7Mvf^G(@4dQZ$Ki1iba{L5xK2lqA#E5Yo#;76)n2{W}dvdkP`N z<|EL;m@=peLdi7xs`>=2TQ)H+ZpiEn;ym-}!w@T#B_|B*`7OVvQ=tB zvbBvJA2({*hKaw)nW_NSJW_F&jN(B+@Xm420LHRtW3t6q$S5r_CDM~QTF01-z_RWh z7KL+@V1}FhoqB}%fRV#9v8zNkt1%@aQv&ut_|}@2&wzJ0P8FCH{Nhg?dUuQo5WS9+ zuU-DKpErMbebV;~|BQLz_4aqYc|Lzw+E}I%17M9P;D5sgJ~+ei*kcCPQi=dc%rJgG zFZ`xQ+}szH+sq&wqD+bbj*f_plplotGL6@I=1Vj(3WE{gzjUhJfby{t>N5Ofu!Dys?+yj%??nk-O*xl2CmZ&9^auhL?D z4he17qd?d5^FPJm1b%zmnkl>jY8;Ggim_?e5{a1R3jxAkB31ZoDb9 zGn9xHgGK+k(bsf=(@@;KZlo}>{02_+_wJkKsioc$hXANqZV@CA zTM3-vZOSLC3As<7ji#a@fyZPVJ}L?b3(5W~BQC4|n2yPl?*>cJ;`*ZPmwrxKY4fAL zZe^17m}yZ_u$w1@aQ#bt{3UPnp}XvBrNa~HBf(Zcb#6|8KAl9Is*VBsZOZxFCur`k ze6X*tv|YLgXb5W#4_+Mc_mozkCn&QQN<9}9hFO2@ZiXdJHn7xRu8fa|AcF)Yi)6sf zqrrl2p~N902V7>7#diw-#QW)`2$%hDXOJ_M^^im&m%00!gTm>iK|Mvj`s#~69%F-sOMyd}?uC$*t2uM_>>L3sxOf=?COBv~*N&*kf zIM`XnM=o~!R}bPthNBm>Ifcv_CmXHRXGNvjcY?I1Tj~87041grynovF()~L#h65xJ zzXQ|B!ox>Q=|9Dh0>HzSzfV<;f|SUrTjPi}<&kaOS?0AU1Inw;G%}d5CR<~2wIi|z zE6@=_Yb;i0iPNtK_laVr&Br1e@GuMsO5okcn}6)4pTX|xjonM%;ucPlyLFcHCr$1z zG;)!S<_ARLHFm2ZI@PhI-?vkBq1dQ>*I*W*PgWWhz~8hOY|*t8ZNW5poFjQOlX5K= zHSD6(Jfd4T5yxKBq(;^FU;vgsQ_^D6rH1I!f06#kxKn0s(##^C&oFj>_AIu{X6)&j zPqaVSzTSxp@9G&1h9mPgCn$~pk+QZUE-*W@PWR*J-sJM*!?e-}kFY1E8Ph~IhTvp{;|M|1+OxFGw^m1+gFZ+61 z8+;ZFEFiaCM|eg(onDL-QPzPIQGkX22eFnbbyMIy-UWt(E=L0%QYg)ZrO3x$P9c*m zhSEKH|H~-TIhV!z4flJ~z2c63_nuZs%j?Xvn-wDoj*NL~B8gSa6Wl{nBouava8Gwv zWMRyIRz|`o)sgAs3Fj=K8j2pc&71I?gO47mlBEQ6Z#Id#M=CpX;-dm`zCWr#gYg(B zq(`8jy*I1pd_twEp%4+nlK!R>dC&FwltY*>@}QL2(^gq#D9~Pt)A-;tB|Pz7^9jei zdR;F0;J(X_?~1Q5mitFtjC7n`iO z;#praG~ots3$_1K99bZ^5vQgr5=T<<#T%0Gse!WBw&^wVnk)>?0MePs+Jc^xXH>s-WsaA2(om)jm zpSF6)2{?tu#9G(f#va>9nqBZ-oKr9m|DT5FwBxjXHD`83+9<$ZCb3-g%v)*WPhUE+ z6?60CQTD;&$=s)7Z=b4et#s96uC(Z??K`8@c0;>Ow6~~yit%lkigS6V=W2I{j`OF( z>SrkGiW4OOP+bT5qCe$D^LiIcx)l&G*94Jr80zb`Q~LCor7qUQI=a)Ont5;3o&$;L z>tk({q98*PiFkQgs8PeSN&^!KPRcUki;xI#Q0gaL3JPu60`Gij4lAFgxxgnA6h-q| zNLj9*U-G04@WFjh-o68!zxz|8v@{tESyy(HRZFzxi-Zi6_hwf0hW|qmWjfNvKr$k5 zDBc_8T87v7>PjzlCUlm#+H9TEb-b60Z>)Zn3#FK^GZQS2`EVYBk*A2Vpz(+lN@qI3 zloiWx(=f4iwTJmB7>Bo~4bMLIGHflM;#`(vEqPRLU*3xIj9uLf`PHzypit(GFq5nK zz4La!3Vpmc%|Wof0)6-*KB`poe7mcq*T4n$a6glMofv8y;D+>stXh!^hp*;Gnp6&bYL>y>x zW%%!8K$Y3LDboK^3&ucjJwxrcZ)P^G3Xe&EY)J)1%>0_%8&;a-#y^A$hZxYk4r?8y zuyMB)DwI54#G^wnQ?Q?zW9yPdI$|+@L1de~|HZ(Mj`?6GME9q&qpDQxJLFbN*#Y5( zK_NnFC*_#N~sSKT!rZ&BD5Xz5-+Epo8kxf@9 zJ66puH8ZaaPIb|9+hPCd$xy?O0|`1~J0?FT!A}bS5bwtRE`kR!OVj;*&@9>1xBiIX zhUeKh8ribe_9hhTN?TR5;hp9xt%yAM7EF?{Qtt8^gOkILn9H1rMjl-Dj+M#EAKe1P zl-*mKlbc-2|DB)vb#?dHZx9`LB9%iXIXbi7|L0TV>#o$-d*7}7#wM-eA9Ey6U_o_@ z!PjrQ_4nlhg}2&1W2{u7RF&gE03u)WDK&WSPZ-(e(cn##F>{j=--^L3+pH}SF530r zVl_A$@UOG6tz^s7(?j|I+&FfT>(qs%$so2#e0acQi9j=xdW@;~VQ40G70C43xjYa4 zt3(_w-YAO@O?S;zN%C^Z+pUG!}d`?mCpXuG|x>RMeZmD^rcS}Ac> z0uPjKRM&P@I0f>5-U9{z4^i5DITb8Q_%FXQpHLCew!S9!lof5d{s^u51tPy442v{z zuuUDfhRJ%$2-}E=*c=Ek^p3LlsaJO)>%`0q{fo$M#6k(RL8SS$Zp~)G7Yo8h!P8bw z`k$IuSi__ehlymwpoTTi-fGsyr!R5S1=k8swf{m8IZ=V$_h+l@6F{ggM|{;qha(_Y zU!0Mf^@j%~Tx!3jAEWT*vGs;YLvh-ucuv)cKHU1 zW0ZzagTQUWMZGy9EWT(Jwjc+E7)oT0@%t8M>8&W?>JL<^x9~=vOCr2JPC1ZZ%|-9Z za%ryZJs;)BOqjIb&e&1v*_&Cxp$1{6oDYVU1b=A$eKMK!6JE@Y!6D0VS9+*|d61BSz#jH?!s)05iFkBCXg zX>#t7{GXhzh2G0Md=v!L)%QDn9c?ArwKSR8C`ETKB2RkNXr4oZS!41C^}8M1ZrKJq zSlv>R{$$@%>nZ{O67U;LB%^R_22c7_7K|pKOX(2DagKDgQFv@;=>p4lr8JDQ#y`si zmQ-4zywCPm3DJq&2yuvQXtvslmZ)GZM zg=;|Fx1nyP{&ZDi%J7!QC;pmk!}N6a|!4;Vab~)bnP0% z98Y8kWyp~ZgO-(h@(sT}JuLR|b}a>VyR7S@4lAi#cOBNuYgYG)g!pHk90_(C?=W%} zLg;?sRCQ&#vH~#0S3|kX-NgTq6jJLt$(OQNEUlxo>E1mRHr;$?r>QE-e?(GxnwOM7 z&r;sbu1@2n7DlZ6E4Czj2GC(A2Z^)z&s~sq=qyS(I%aPNyaeEEq1eb+A|)MaNDxER zfC;x-e#tunFW9wo(9FSGIf2#MSZL9ml%p#d98pb<5{K6UbIrOk9b zqcXQi6Tgtjn;}%M5xr%Ud(iL z;3}!om$YXLTIc^M4jBNhti0_DsXi22o&DoGnN_~vvc9Hho8qp&`A#j)4LuORhaGE9 zQ6~``u8=ZxWSTMKPMpeALX%L84p<6tWTmRgLyWT)t(r^l2Ob)cUx6vJv=e$6vaEOo9#F_SfZkr(%VCFwNM;xMfV3kE+r3Q-ksAN zncIWC3`ZLlIeokBYI9Ye*(GLjB-9g0NV1AS2yu+Um9LMK+?9)!+*LE`3s(6HmCZFr zuE5y?cDs6;ExF4>C}Z5gD8otO@|w(YHvn3J{sMqK5+vq(KCc70QC|pJC1pC$9}Bt~ zGKAFq7)H@+tCm*+fm`com+()jusbaBWbwtU2cFnr+mKQe&S*4I+m`jxDDq&+(XX$U zhqHWDDoM#;2qb)`Nn$0nvTrNR{nIe9(4N%36Q!0XrFN}5B=%xr6V5tc!L#vA{qID7!OoyE5I1^z>f{F|cyX`XT~mHAnzCaiF|y#SDur?eHFcBP`u zo6@RF#K2| zdiIuZ3HIo~!r!|AD5~EjL%sICbUKNvbROYFrU5U*VODp z3jnepTe;QPRVKkgLEws^v*sx^7k=Fe?u{LBNz&t|ZAWqh&=)*FK*xW* zcvOA1dL3m;-`%WPdmg9a=_j@qU}a+eqnV5$GHzoWdytt|w#}{ps(!~|JV?${U=1lG z<~w}j70!uRRHL&!`;G#tHmlk_{V2JQ5G%fZBhn$oJW@w(hqWfs5Tb!W6&Q=x{KDqA z;^9y+up1MVPM7~FjtT(oFSqG^L9i4*x&1>R+D?Uq>zlQ}jN)gy?hTFm#RYLNrM(f} z`mItvY9#+AUUTfUTe$b?!De)cG+(D z?NQyjcaFZA9xpZk6x7Z*tb{g5%RO$%3;*03hVcPef`l6^V)RsMba_VIk~5J*4hTVo z#Ci64H4c-8|LnN(YS3<})M6U-YCh#`Nusf<@1w{}l*9?H1VPZaEnStQfKE$Qq-vJ< zp4I;K>Gd?LIjc!<%fB`{+No~cj%A&rOj40y{jbYhIj#QAyC%M7b<4$OVqDT9U_y({h7^uP%A@nkkw?J{E`|R1`nbSs z@u?_H^Epk*KB;m*D?Guvm+Bcl^|_(>Cs)QJjPjQ830|)p&xQyz0suV7ttbM^TN+f= zN`JYkmTAqc3@J9LH_D&mbF+LkbNygrD$ibN6QT1%allXgaY0Yv6*EjLJ*+7|*fUrb zr-MG(n(4Lc_pEv|RZcs1f;VzBt`^gZigk%RAPhPh1i^ve*bMs&T#EPHBnxbSs@Mp2+O4!K?H->Qvd={(8RS+D_H%g4$TZP z$EUnUDSwt!9o(mTm&ThN+Z0yvte~4)i0AcuI6BX~wn)fL6Apvz!b8qVnpY9zGB54? z0H1M9A;}{m;Q8Mj5`b>3w)t{S*pxuG&16j0p*-mReTVEAqG_=64vioMLhvp{0 z?f-h;GAxHV>X9*cOA-vN$toV$zTCroy8P5|Ww4@g~4cBTX4fhqy)$F-_}`&H4bxi_nv1gHiAxS*1v$ z#`DN2$dum8M8gP4?c1uSkbD|E?E0v#%->)m4^|BT73yM$_-q|WUtf(zOZid+Sf9vf8=qKBmyN341B-}4{{i^#H3E@-##D(OAU5SPFU zG+EH#j1`ki7omB6$t+E#)DxTDx0aeILxUtK`TI#mox$G$7ePf9t4r?L!c&`e)-)zS zjUDlJH?7Dc`sB%s)uuL8 z6@v<&yDfz$!nX}5X8*O?H0vVZctLaNmpze5|I=8pb7`NH!n~7Q!s}uGq<-64Ia?Je z1^|t7O!^ZPm8uu72UP3hsf)uK(;T(Xr#=n zlrowdtJ79|S=Q&$nc?9$!8|SUWhwdZqV}fdFp@6S;RVz$g+KwTa^FaFOur&Z4Pt9m zT>AIoPwwaeaV`zfFzYlE@of}_!Z19*DL0%C()=iBDsnC4v2SID+vP$Z%141-S*%TfG$6lH3?^tzKBN~S>0Tfd^7yN7K zd#sMHH`C2eh!qQ!T4%!;_jlcuV)AT5C7j}RBgvm}eFz`jt+neu-e#o8Z2)c(mQ?1H z%2d3Ssvn@Y>2>9xHq9Rh0<&>8CQmM^Lb&^S5JZ-U(ccdUKP|)5$Nk9ijYTBjSJSZ5 zL<6@Q~b35atMEOQrCI;)!jieDE^C|$44g~wtd8E^t)_$b!aQBR1=(qWg3pd zK`Z;46vaBRoxQ*HtZwd2|8p`YreV z$;wmS1NhXa!Q^MruptqFKc_Y}IrY*wXyj~nRjv?O?}uF|bRN3rN?bjJ$;zWyF)U(* zXIzUOwTiZatW=goD+oylhYpsYv3Q%u2<^vcDhr3CwKLtAmTIw_rYwlTU>vl6oUqp{ zOa)bt&@vYD8kgbN(~|{3i@NyM6HSK6bNFXm5F8CZQ^#X2Yx{lasfgR4Piwf@Emp#U zx@gJg!wis0p*EwsHsJ82aaCRkdTb3PvG`a9_|jmWo(6}I5WRo>{h5uv=a;!N_^}y> z2@N}TbAG?}&>8Z))%d5oU;DG$wr9AhD*><ruqUMJhboeSy0SQj|h*>T|_|@)_T(Oy?7+P zXa3|NReH8CT)RyD25~v0{)+4F6`|{TIclD0=g4zy*4|(JU>i{s8i-!|6aVb|z5ZcM7$9u)i5+_21_R9=9hj5>#vacU*3gaG;sVH{G#R$?C>DaLF4Jf=WkB3&Z z`bN``lhXebM*;vh)!y(vClrpip}jQ*HYt0<8P1Se!c+j`?UfHvDzq!4+TBIy9`|u(w)ASFREsHYYv}ZTC|s# zj3yZH$YwWiVUqD`laxJZ3S^0+JgdC}8c)KSOk#pDZ0$ubF4ncOd|Q512?_AeZp$k^ zLV|=o92%&ik$_ZhMv~mw(VWj`N4J5J+R5jW#5NRY(q*dZwod6K(tgZ@t2ca2xfKy z?6I<%kQYvH`XIs^Q=!iulnMvawU4F<<2?LS25hT|$r4L66Oe+`n`xLOdjMWlPm2YsMWNU&lgvuAtm_BhBbt z!n%))sq8JmWL)6azJ=E8YOq?^L?~}2@;xl2)X|z$)CG1v>%}-DxAU|+UpE7s4+rY) z$9dhIyW8CV*H`3f!s^>UB#L6oUgxZV1Invt+A|qGQB?W1-pNQPY2=Oy;#MfFfq6%t zU!}O0nKd4c70r^ABgsUiKMXQxc+lQ9Xjk*+$e<< zhZE*>l^nmSG%~Rru*g=@4zRH@#G0Kq6wgyxu0TtFKZ9K$(U+r&LG(Q$&B27cm8`lx zcbtNPK%x_dHaNqP=Apgl!t1MfemuIZq*_wZn#v5|god#Ut6w~5n*Q7S6S1dp-TzHP zMeJiJ*GCXT<(D&byWcZKr6lwS42w4x1%7WwC#$#@CKd}Pgdo%*1z$x=OSKba0<@g9 zmQGo5SjbUV|G+6rmo*;^QoIJn1a7LCr|*^&o3lSD;ak7NC`($KdQz-ApuEw5f*Rjg z8&KWa&7JJ_d3pBuhZ8ZxrXCl_2ZsbbP~<<$L0zs;d57m{{&RX?I}V3A|8vB>qw|58 zzuJD;DA0e4P^z9X0b<^yLC0fpstuc)tae=X;2n>A>*7~vo$Mmt1QGTs!V zJoJb0vi=)(ydZjW?o*Fk1_Z^sjEYz*EK{!%+EiD9#xyP|yU8cQ#9#TUpki(P3ME^C z2!;hE@p+nv*wg}{?vTjvd{->`3}4O=8Z7?02y0fS23YQ5dDicBO_@e`nz8@@7NP0S zMg`9t&ME(S4|E{7r;^4aJx5VItgVm$Ws`Cw#ed#2#anSL5L&d@JE=~k2xDKY2mJ_UYz}WWMiotF#EO7=j9M7PUrDg z^BteNDkh+-j*U)N6LAWFzSNa3Y)&2DWGXBNnP3SHtr!n6>_ww^%q}zitU7kYhsRR; z;iNATNP&k}Ag-3vv#J4`6wlFzlEw-%!H5oBJN&vl0yh*>LmZ7!f0O@bw9}wSHawR} z*Yxu(z=eZ=6u~tfvf?tMP46T9tIjdW<8`i_fu{NgA}rJlt?6DoQUD$KnaY&kzlUe| z%U}S8M)t@QI-8#PGR3-%j9%mR`pNa6*p_R({EU929R^*Ryv?W%ewkj&XilJU3^pnX zYtE7=J-YCU7%byUrv(@TF>_7=t+c|D2 z*NXDHWkG|F2j(h#eO+|ZwR&1BI#H6lWAKT|?w%^q>WYF{#Z?iNdF_WfWe)Jm>DlR# z?c{2T8QzmIZJ0)PgK(jo`}%KXon2|^;>-XF9z1F#;h|x8MR65Z^`$OM9Jf^~TL?yz zdGxNhtp70(XaMje<&8Ibj-+^4J|yFB#r13(&orz>F_zf%h9F+NNSPy(*R|}O=dxfE zH|<#j*fdjH=W#hEWoI@t1@Twd_M}*sC_%|HARq_+g9Fd-bJ+T~H0@V>{MT=u18%+4 zWy=0zuiDqMY;Lx1o9ipL-%;P!89Vw~?!@Vz*FG0kfLqkx&J9#D4wTOc8^$t159BQ>d<`z|R znYu|;pgKrpNX$&R@upu?5{*!*1?T5jqoql4ZlUBc5`J%bBlKp|rqRYgi9FOm@n~O= zFB0)4zhxhLj~xJP3BqvnqVu%9bWeUqu({-Yi7gC+!(XXFxBY7~8P~aqW%UpV&#*>i zhu3nO@gZINaSzvWqx<>miBD}>j-&xVM&5=RMvhfw-2*?HO%IBuyRJN=h=n_wzEr1@ z$zH{R71h~%=Nh^sEr~+YIdgW~6#f^P{y=Ra5f?!o{Giy6wwMG}O(|uA+$>g5x>(S% zg{=2yk3By1@Lc%TidNt3r=o`7Mm$_ZcGW0PoYj{NEorj&%BQkpnubIBsdNMC(^jRE zN>)uqhME!pQWrJ|Tdck{tpGfbZk0w}@?bh$*J=)D8hBKn?TW(1h?`ql5J)e*_vZsh z03y(Y{lBgde(<;AHht+i5)y6rh`tr40wHDi-)X1P_}z!hn#@#buRSjrn32=?fi3H+ z=^!kYmsQ|OB3B}@_Vc6FecQr3qqgU20UuJprZ2!?uknUa_s-uktU!N~wC}jT&N6!b z&CZ|&^CbmD6_ljHat;S1+@8|a$lWsU)Pf=-5CEDqiYqF|NDSLXor0QNZzEXg>hM7E zC>>;^m3(mJTbQ%E?e$lK)G@&pkG+k;x*6Zkn`h9eD&!KSMxdZ(-J$K~3ky+^Kodw9lzJD->1 zRs6;CSDnYoO&*v6*~+pwZ35RVs(iVbeFxLY_2_ojiS+1caXq+b7Mx`aCkLe)<3JOB zovN$yKp=v(sYaf^Bq?Iu-GmW-o`iK)KoP6Xt%b6(Y;qV6+5~!0B%`4^c1)jvqinW4 z7%)}oRTdgt9@m6a_1~93I5orNu(D0wy$&c-oq5(SRidbo_0Nbr2yT0J1rf*3kNlF| zx~e}Gg^|L5P6wy3teU0rAk?8#eVMI(-C|Z{_v@k>f#pi3oyTzvDuEawnnognYT~I( zclN%m33&cA(Ig9GG-xvx!ff8wd_<2%-__W()or0z?PpkJPmSzh-WnO*yX97%N{_qU zM(!EMyUvXV-#&B4FD|}TyY)BRmwAx8GTYhSzEw{d6+)t;E+&CP#XP-27ImBM$}&*^ zsKd>J@eEIDkHQRq+{vNttrjjQ@7XwFIj0C%$b?n4q3B-!c`8Hcnf|K3!$ykL(~s=ew>#?p?HACs2WF=SpT;qqP>O41mL-1Fo4ry= zYEE{rkW-6DJ3)QTJty<|=jp*h3~=Bwl~|KK_!W!7kq@b~Zk>0=o0=ko{I-o!mOeY> zpi|Ht*6A;0r)KG(BzbD}URDU7CM%{`VaJiO2*WDN#%fDbbL03oW35uq!01@zhH3tB zOG3Pf*&r7Y84VC-Pu7_sh?nn?q4q!(UHD9rd&9-SM)uXP(Ms6+d!p z23P1`+BL8aK@f3h`=&28^>J^C(wEwU0|m~OFvug%Bm%%M;Ys6!{v2^x%2bOXeO=hA zE$7<(RMDmeExZdwo%#zQTo*;S=p2*V+8vNUHwVO78Ak=}C+NfuFtm;(zr#YjB?SQF zWND<0Ym{`z?ZR=yaf@wK{&IPb8+UVYd7m|Jc^+o{Ojb>=dcI;5>F?oE?tc+CKG&RzFkYhgx=)Ruz-mUp()z)h?fn%Lz8cN__=q=3W|;O41q@m)8UX^V(xZgc8h zxXfd_spt2|Tpu8VAP!%buKN+aWMX34Zq#qtI=j3R?68eabUQNJ!U=TI^O>f~?3e>m zr!6Q}|5F?}fILfi?U9l&DfN4kt#L#HDut@)HMUn28&!2D5DA9z#Ix-1qLVpz<0B65;Y_OzO+2qW+fkJ^3EhVD1V3c%nFhfm~ct)@0%T@nxM;#|;c@bNg<1eYRon!$-< z@y;jw!ikyuWaDCE!KX*ZmZ|2Pw&97u=BD7lO;rJbk|J9UEpBLzfPSDr z12Q*XWTxM0qsV)bpTrBAJrw~m7A;OO=*<`!K?&^~t%$L$5@uVUy8UFLTE+Pq6Lj6C zlya^XcXbsQI*Shk1iBQ%J=+<_gN7*efuC ziCfcM9cGMtzJF|Uy);H+x3nL~pwbSW&R3wyakwSJL!CrUsq}*>1i*=lT`9rw)ZV|2 z9KVqj@SozS0>Lfy)?Midni4N*tF6B|uSk2{8D@`Q#vI$u^sGrr@7_q?X2Q=q=5F}d zH5Njj)8fK}Ye&SQ93bubo3%65+u7+X^lFwOfvDkxF2NVIm9J$|WN1$7>|ZC1uKl&k zLBLVPQ)sXeBC(#Bp2M9=iT=z*lZ0-xlS87Wg92@ufme-eMd_lf#1`_v9S-AGRo~O> z8o1qb=p9Te$>TOp?flrho7>CIKTppwAt$m?EQgR>(o5l2W~f zFyI}{(PDxH+*WqiVc;<)_h_Dzd{-VmB~-XidYG_`N>5Q{hRJgi9V(SQkZcpKL?NL? z9?Y*>^T?e7-!;=9$oz{d7iO(a&W0%Rn6Q+J-zbAAuj3w+d7CerIH)L=dVO_!+0Qvv z&726j)WD_uCY$Y}t(fC5I>uceE@fp@pQPJg9NF0p!&$R^F-~kk z_pF<*(w*=*pnm1B>1#Kw(ld+9MF=RYdn03w&eo`UnuBwcOjf2OtXw=1A%Rb-wUfMOfMHl+u{qfsp+i! zoYX#VNpgC*9u*xO1bBr7=;|1p5G!los$Tq;kWfDKY|Rw`>6tGdoGbZ!*uG10R$9O) zL*MXBlua_R=r5`M(kugl%$Na(ng_iyBTSMJmLJl6idE zq>nDo&pbL815h^7C<)z>u;OG_HjwPfkrXw(-MSg&KY$z~v|Y9f(Im6Q&w8t%aq42# z=2fTKb|8aWeC&i`wP$yq?-YY``GcY8zYFI+rOY?&-&a{Xf2RuarWICW9Ud60Kf+Rc zY&=K-kpFoPSRgpJl*S`GK~f~_<&400eT9FcX@~72%SUF*14P`c5?@H5m!^R@7X9K>qSllUFTiG*-|QmdW51g<|m~yo!J8J+d2>C*T;NHB6~`-M=^jK)NUZ6F5LT*i_8{7SkD-iNJ@{lnD5-IBm0ZH`6?@DxgIw zx4lO_piT&?U{OpBOtoX6LkJF&gwvG#!(<$7fR*XOQ~%DzzlQC&(e}(t=BrBn$Qfy| z4@*g4#(&cu<*8!h6ur>eiBDawA&3xDnLfSYDUV~+_~^nnR(796Wsvi+oA+XC1@>e@ zQXm3@K*9^Bk+U$3s8a*tyJ0?SqKiA{A$hr7>QC!o~7*3~2%~6~7Z7h_lCIDMl$poT#bA8M^i9Bap)WpQNt_HS4-7h)d;C1~< z{Xi$M-&U@FX=hB3wceSG7{CZHR!99HfpzAL(ha2n(gCy4J@RqHsjxjp*|YR@lJU!$ zlBl$M{>MOI27`NAsBOa&A}3mORSUtCC{Ju^&In+NvNB)(dx{sfs*Q053Qd`ebqZy# z!-EmmO(tQ(m|wS16$Uq@&Z2CL5@08_!nfCRb7d4mpa_!G_h5meb zY`i1T>+VeSGvY|_kDv~PwHMx>Zf1%^0CtZ^lX4R6OqXg7CXmwRk zE*58WKqc+X3(9>YdPGaLaIa42)d37+kB|af1R`jVo)lJ>awpY0a!@{b7X@F6kh0Vf z?|hd|Rhj=G$7ak*h!=7SmIdATcwZ@#`G$$OiEnZn# zJn5lCOQaC7RcDf_*_J7rB!!-klakhjI2M5N8~arNRUICWM-m%49u^_xPH8q)fyk0{ z(@Rk77{UB{F_tp7VnGI=Qy>5PnJ%%pr5vo34m0tkkqcb7b%|0uY&GZYvWTnQOO1p5 zoe0UMp)o2N5YO>X5->(ibmn^wZdokdjJhVSRB0Z)`B zCEJzoD0~#kazsQu=d6kEXg}-xoT$d9g=ghUj$qy+&q~v`Cks<2DYD&t-E8T4O9Q}Y z02>(*Qy0T#Nzl2V8G?UQw1)$zOR;X3hh5oFtJf{NSp--O2Dlbi7*D2kris{7{XQBlHlzjsd$G0O{qS<%iSxNCPD`S(7|!Ycc6lgDUE8txRanZ-8)U`#&B^xhozernOizd zOAtSnVVY1MOavhKl;6WJr9;U#G&9bAwU{(a-M=UIKQ}d04j}SLlGLE0709&&-K?Nl z=Z2yCS5#o{$2BBO`AqyZ*~$7-HCLn3lV`tpqwDOTWV}(mWEky?Md*{c z(T$zgN*&Fysh3AsGWLmmYU*LCMEtSaOdX=^inQ6ibJXt5w5<5MWR@;lp%Jfr6JC9j zHZ%7LtD56a=Xw2K#@mLXyNlHO1O)yqfIZzFoUYN68_bflA z-(L)Yn(jDF8$Y{=^<6^7&V)CqPCzb!Ug@4H$N*Z(J@!IT*O?Ag1z-iOL3z`i?*+YoW4k#QHN13BG#~+ zEiiMBTUi)$BDYqBRMu4r)g3W7TepU#mn`;Gc8PAOrahs-&j!wgOVYW{WbsZX_d9|d zE5;xkYCQ{VZ;d&)_S9SNcm7o=)oJH9lF)cAEIT5=4g{#i4thc`7vl~n1mV*~(6}M} zw#O7%!KXmkOLxemK&WEdsKK0hWL!D$*3}zKNCY1|cpRu@hkF9woRi+BZ=U-xoL}|W zc3DqgH(98!^h{!9Zq!JmERc+X&lwS!WLWKV}xy%&mU! zzs)}SRR%==d}7*Zn3_-CH!>oh7Qb$X!o)9jL^w7hA(at)d(H$Gu(?jvBP`9>05m61 zxHT}CqQcPs)mPsfy{DMQ{e>iP^u+fTa}X#{xZ&JH$T) zY0-m={1^9~f5}%lInNgC;8R45v(8ykYC0Uu9j_++OVAQ8s+kpvbNmIcTZAi*$a#8| z5dd3uO_mbJLqv;XK5o4!CQRr>6`ZahUek-fO-UUYK3^Meh>fRpqD1p!Uc6)+64k`A zk-JcXBejNY8~3hX8%JV*3u)jqIegq6F$mVX`DYqSaz& z+;KEjO6DcFU~lhcm*N1aU%0q05pas3UZ%OC_Fc?k{91%w{2zg0#65`>ZsKOZb+=wG zbDJpmk)?Y{ud*l=R!~)Or4r)ZQ&baJ6L6}L)%?6k z$N*4sWg-#4vNqIqvxuf00`D5)r3okWk!-q}gZ!!aXhw?a+RGG77&Vr#Aq{JQ*qpf< z)R8D`(Pbh99P$gPp<=kf$|QaHivJCM0M|w=D4WW31yDeQN`28EQNztN>^xiB7RTO^ zLr>q8xl|y`Z(G7Sja6m;@>`3x%PK-p_t`Idz@k)| zUE>~ABj6myC^k2%tDZN{JHK4DF6XV#kw*gE1UKPu4u#akP_-iszNu{v4$UPAw`_}~ zHqClsXK>^0!!q(uF0Z*ZOBuh^$D6a!8vHF)Cm+F5aTXf5-Aq=a+UjsJ5+xanVyNjQ z@}T@|2=s&k_^jMMPy%mfnY&7V|Kt?LMnlRX=sS5+7gkyjMM0tJ6kfddq^We#r5m~` z>V|hZqgVY;ao147>(z?)2iS&}9X>GWVa!AL9>p7g4x;kB~N$J9+wYVUMPpdGi zO(~VDie3m*re--cpKB4jd-t15aI^hnzr_;=CYlh)cdq7Z@h|4>H>^9b{9 zb^#FRZOTu?03biq3l}mdpq9K$36A1-88odqaxK%C>~z{e6=Xi0a|EyRbw&$5Nd2Cf!JWs1c9@J>`}bgn=EmlI1yA8LKQI1 zB=ToYUrADv4)TF~pa1)?1Q&n=epFU-DK&zRD=MpDh_VuGL0QbC)+smPp2A-{bUfvGl1SF#1dz6x~yxO4i(KapY}w3qqrM)~JbrO`BL^CD6K_`T?7 zS(^WH^gQNRonbk;+mSm$2}H^x2?XL$r6=$ERr4BakGPKhmme__iQj)SUr)9|?yFxO zV01YtyE-XSBBpv6I4H%20;dU+V*~SogWaJY)QZ&1>}CL|GkCeAM75&84ZAEFCFXRN z>%@`nnr<_ta;HyS8;_i_ZejtwTGYxP8Px_vr%*RBX6&{K-WU{v>>^GwDw-rbH4g|f z>OZZgi7idjR0AD>=%^-U*?Ruf~r!by!5Qdn||%GmVYmr zf2g4NrzFzL{Lhu6hGikV2R%Pddr?Ll4L}meDT>ZCv?@o6l5`7`tIWdh1~ghQ(rWBP zI6dR;II>lwYq8~0Em;)Ol9%^9(nG>mb=1!+)8D|$xrr8|gZD7iJXK&ctTrkQk}@i> zj84J8Z|?q@PHmw;0k2YzH_csHngYyS$YQDr6w|7`&9h;>N6OIUdy|~MM>VJXr~t&; zR`|qjb0o;q(@We;JPVWm`>+HZf&@!ZRohG*!jfuQt6_+;5wSy6Y#4fiI;d-TlOox+ zr*n!UoXo5wj^jm&O%3Tv zO)KR#o<$g0r{v7JF;+yo8-F~bEafMfTasUF;D9YRiik|&fs%n{iv=X4DZ2G61hO)w zPfP~SVcQVyPp2hS;}e*}2}tV##Ok*R7B@;W35&|ohrvlZ?1qQmsVBuOSw_*OC*GG& z6EGtnkVk-0A|RX^iP!(c>kc-B&6qVk8r5pZbcv4nhlqEIsn&V>+FaO@c`&&Z595PF zk?3$jk_%ie78Ix|;IlufUA(Cf8W2^0z;u#L6GOfmnB!3-Zyd)O zhDKf=Zu~9sU8-1rSl;g}hVolG{OZZMA)8BRuCQVT5Yon=>5&S?o;C&~p`|8CxL^K_ z`qma**-$_PyQV@80WgM4*`k*{V<9=6sA~{@l`F#CoXE85jz5!`YvWw2a#GI)Vh3+h zKb?ZQPc(!adQFon*a%h{bb&&}IF07%#fI_9EF z@VOb2<5M?#%t(w!1a6sJH_O6gwk-3*ro&7YZnVZ26+qe$b0^j0>0C5%hPc#^hAl;sEZ_9p;_!GW-{ zLd*LU$zv0&tfUrsn6fA?mcM3j%n6#5?ixq)6#gVvjMpSx@$vzs=m$ zcJ-!36Edgj%|et)S{$Sbd}aOa5`b1jW68U_XVBg4$p`?QCD9#71lU&PkfyD5qByO_ zR=^zR7HzDy2&_M1g7wiE&klg_SgC1Cm+RED{T(&=y%FzmMXmG z*8>nxJ@a-ywc0}jx&QgPW)0Tqo0*AbQvjNAxWobo07Mmbe192=PYwM-T5DXY#05O!* zP1d`n`5Rkg-I+|LNb@&nqty3Codw-Fl)4R`oQJ5G@Iuf#R1(g=vsuSoY8fPVjfxoz z$qLI$-xn=1#c1RPr6ce&kt+$^WRIMl8l%w`*xv0_uB4>qRP&$uyd(Ma^V(!qr%a6L zBzh~EnOYJU5Ey7$GV2MGXoc;2j@X0U3{UjBvb-B22qROa@X<+P%iFr_Uy*b@Yw9e- zS>zofff`&1J5KP@KrP9+um_t_nPoY5S8|6CJY2iGREBQ4qvStcW{y;`WubzlHn?}&%01PTBoj#$@o8bR`lN-C>mgSb)ULsQJ8c8Wf$ zDzTOt(K3WBAzrO!7^=?Gyxp5wWTp|E{&1P?QrL7*;6GhLycr{5fnFO>9VOS=tHANaY|v0o zcbP1pMP^EXfEC=-^_>;gZH1B&oU#ZPz%gsX;j{S;*3p=`QfgG-HL%rDZnULjQbt;}K#1d%;@Z5y69OS*45`|EA@=Dss@QkZ;Z z+HP00dZ3Rof{Yz>caa%wWUD5&;2K%_MgM zCL?S;gpSdRum%m-01)4$07R$uu@P|!$tX-EZU|_VgA6n>D5 z#J-<}YZd)$V@cW&I&5BaWH*2HC48l4;V;UB#|{?RAE6xt2`otZ-1}xvonuh^jfWfG zKYF_<&+Gh%06ofgBXmB+l-67{7(@cCjFqml=3MPJ8ErffF1rCv(^ZRo`dT;C0AYPe zA1Nj`Z_@Lc${GRIGAXSY!|2SQbBGpyDzke@ZRM);kXgo-2z?PbAjVswqHwMDb+XXd zNfQaE?2o%h2#U~sTfJq@JgBFXv4e$4myuzuFfQSHa zVyGn#4krUAa=@+C16T-kSYHNu$&_-`Mn?h1F`1W3W^j$*(;OfQBbYst;QUZzASU)a zV0_u&{LG3VVv(U)&kDwK$IjzzPPU;?wPu?>Za&1MW;C4A%vyZSdp?qCWY&>SKtlCA z^I}BLlpeBe3j#W@>{uh%IQkeX;!JkuF`Lf?-V(5|&A3kzoTX%$hNT z6Ea4^ju{nznxV1~V7jSpN{LjiS-KmXI*n@}fksS*aVR6->(%c1Rwx3Q)yJA2_2w}YO0hyBf1g6J6*?^ zcLG5tDiNfP>7S(-x3H_)W)Vk!LM3Mr0vO}b70*l!+(YD%2&uhy)^22Ic@e$ol-9p< zT{-hY%6amAKIgty|DWB+{+mbQ8h@uj-1XKNq3y8`dACggbtPo51)`h@!2&MEE`jcc9~EG`a}1kLXi8j@yZa9;r!Z&h3Dsc9b3R80fn{!}pu7AbNxDj6@H%vl;uAU4ZnMp0+p3SM)G)tC})xJ53Z(WDkaUnGE#3#^ce(8 zDFe#Y7~>@3m_zM)5ZgAr72%>Cm4&+La3rIcUXBr#1KMzgpCSMm$N*~+qF`H+YDnh` zm7&F3QKcLW)Tj~w6S&q)lwrZvadOsK`n$Iy3~De+A7&`BJdrXzWC;|dsnBy#fR(1o z)~sz>wMe~Lj2Yrn-xx+E#yRchMUkOM=bIuK)m_06W007r@i5T}7KRC2dFVD^Dzi*~ zf2bLoj1@q+Te9_8tDHt9NIHx0tg!X)ox>kR8krHsln_&D-9J2IF=?b>JUxd_f3atdzv=MKy^C>$NGYGSjd zYn>!8Yz#>JZLEv|3rLo^Wkc{U_{$b-@QO(Iv zhm2i9C84VL^qRrg!6SdkrRpCyCKSt3i>yFFxQyoF@_y7O@|Nh^a zDo_XDIm1!{SValQRu|PM>>$X};#|wRr3AorupG^fEgExl!72Li2Qca+I(D@>B1GFf zjB~dr6714AVkI|r&EDI}dp6sUuyM*w!oUW`APNG+;*HD_iVEh_%*}0yJo!lkaftGTseAz38zSl% zMpzyRD2|8mjHw}JNUcO07rX^aJI2;!CFPmLTR103sJpdf2gP&S2PT;|7qm+OLM3lEFGeXNy@HZ!^BZk z&rpmoc1kX<>TQROczdDYP@N^p$d>cGmubmL?_|Vbw@LGxn!6OHgCO_~vI$^LV<~{3 z>PQ9aVipODOAA&?=;MYW)WDN+%h+23x5z=d8Uo445P-mqa|>C*F%hYosys?MkElAp zp2OpOnK~juF9fbfnyHdGEZ(+Nm~Y^1Nj3ByS)?&@t7Ff;2<%oB-Bkn#gkc1_#bZTc z^(+{ZnNs+Rt8^jji!!K#WQHP8OhY;AvsdMHrsR-D1Bo=6H97pXKRFS7E6!wUNtmR* zY5wdrl{KVn6(+co*lA~D+LpVz5Zk7q1xfMHpp>76KiDVt=Re`h9npBo;> z-p0ybn{K64d(D8?!zYQ&O8LL-`i@TOC?J3+ArX-sYNQLKk?R>MoCvee1ha=3(aK*A zO72N6PfB}olFkIzF9c$=f{}bNvchW>L)zo@VF?ZUEkW7`3%%;HcwFxr zRWM+vBkuL~r_bB`znd=|B|r0C>u>7)**sx!4FDymz18SW>(_wlF{s-hD1&Gefp#OR z;^5sF#4^jo5x}i73BrOZ6w40|aH1=m9ic+HRgCuM}R3Yg#l7rxNE){9%x@KpdWzUr?K8 z|2_Y?+<*W6y@Ok|00caTWNa2KH(mtE~`$A(^jol7fo8EM?IP z5Ke4bmX?z^_H=WTb5Vh07K)RDO3KWc93VuF$X?A@JvZ~6TqE380_bka*tcsk;QE<@Mk)Q;ZD%|4KX<%%=}>RqAglr#n= ztCBfY<8U)iU~uC^cvrIzzb|_Eevfpurgzv8A3#!dB~!i%qX+h#uc3n(OHLGp3yOD4 z^9{RI?&x0pO*?x_EhwYVEh=b9Q2MhL9dc7tXQj`fV-PpBxJkaR%PV$I=CtbIbOV2? zdesT_o%gYXo#`91l5J}{Z;@T=&n+F2wtytyv(WwME^Cg|opxOCqmt{UcHP|J_r3Xh z=BPeyhMTxgX7z>D4Yrf+Cr;^5sY@vX#Ux+c>OCz*JSAY-3C=O&RxoC#vSN?(v| zBeD@?8BuH)cET(nsu6<@(HJJfoyhL-(b@ND2leNc1zB>m#a(hU9JBnSpYGeXg>3_U z*L|MR?L90n;%gnsyOfrH_Wzr=>b-51FdY!F#I&twG^Xv63vR42hACr=*`jf^nGeX^ zNA@*#lH=vybSI$ErY9QXoU=%lu-KG|h8a#SvNmU%R7b1?4^GgS$Ez-#JF&nm8V#9Pcma7(0L0!75#TJYcfvGUccM9PxD{FV^WF&#;HkgiD15d zHOwwd*(?MU%Ah<%7e?4|kEyc_O{R}5YfPQ=ibbr=#a{oW#xFY?+-aRgT6iT6ES7Ul zNJgAiZUMVgvRG>6M3X@&)f{QokQv<4w=UL#pfRXQo($|D6RFQ*w;Qzdy+g*ZhOx^E) z+HD0wg?7RNE#Uz>0?o zgk>YLQMpM{jHGr#DX8jgqYlss0P>ebQaEZ66q$S)Q~2_{E$z8&nXF@9oBX^?xz(`B z1zu%8gdSQ_n>iHCK;%3h4SzPa_cqZ&-S*m*F#fc8Z&%RO-uZohDF_ks*fir5SWnpz zNbOjjdT|L`VpeikG!DFQG&#T*orLU4;ugLHP?>`-=V{;hIIXfK0SKkvPN#KSo}ege zwTPx_{+2q7shYV`_u1x@*?g|pmdA3IT}=~j(9eX6oz?r~gsYZsd2@iFI(M}7taW4n z!8z8~H#;gYBvUF+xQo@sGLTs32)&}1Lip{2-7jg3ihcwJSnUdCUA}HU&bptX(oHQZ zNor^`DSkV^pZ4B-pJ}uH)syPB-E?3GhgWGHm}y|(Cm>-;E{@E(ttmq(V9*pL&5A$H zD~Wzza*|P-qNc&Hi4@HpJ9KohG{m~KEEuG6MN2Odyg?+vL!;(_k{bnqU?TuQD%9P` zx<^P(JQ}QK$P*qkw(T?0)-)CqhUsG*ai;_nAwBjG!axgbZq zy5-f6vR(7Z03?lR$-aO!aGoomzf3s_8N6L%vZ#Hg(9`k_d*qV4zR{#xl(VCR4I;ro z9!}c*67`wEQ)H}?x;TxO8jY5hqoxLi?#_LP<_L_T2aHL#i3CLpsGB8sRQL?K#(`;#=fKn4+Y&IxONq5_#heZe~WOsLiQUIiJq>kW$ zl_2T~kkb&M6k{MpX_T4|)2P!#s^K6RS@7Kb7iU+XBOapYC;$7f1Q>t>bvoC1`81M_ z%_^K}BeW8ENlcBU7|KH@DiHmeP@St^v3zzOV zQ6Gs!zDOMvvgp!Yq*p#7L!YOaxMXi6l$lR5{^v|F!jBT9$1rI$MMGo-2EvmSjq1xr#|*zMoDyX{8ia%lPQ zJ#xcN5eJH)U=$v}Y+1r1-Xj*!YoSH~7Ou+HafCN`&)#EH3 zvW#ikn`pzv5v@N_Z6tRJLZ|7`q@uuwYRi{8O!H7ir)!&6pZDQKe8n$(z*3y6?0EeI z7;GCuD)U_PB{bO2Hdk@$S6Zj3=jwWt?I27d^zX^fP;E-N*)uZxOMQr{XcrWit!%p1 z01O-;xP_iN0K9VKmsZA5)YAE`LLJr~zG0X8#B$UkdvM#|sj25gDk$hNA_WdZ6cF_k zoBw!x`qZKlrqr)ipD@sqNF_yws*^7#7SFeCtu}Wr7Jkxqs>Kwzl7G?z2XD?zie*(I^tJZPy+)oAs&=V#Z4HyTSV6d zO%<)2w8cQo-f1%jaN|(iZW!E!uRc*H`b=U+oxTZ+O8&SXBSNU2m5vddxOX0AY%bdD z>(HjoHoGdT@Q!Hin`K#g{_b@NdXy;Upd>mZ_>ON05*XB&=CrE(Y>>qiaYugK;~Imc z3%b$*h}*KRI&5fuc&w;9f;{?haEmF+gOE}YBkpKIz1S)_eeq7b_ z8btt)Df*mf!^lz*Pg889cEUKQYOR(c(C%X@)2Vnusww>yXq1@Xn5$3u+PYrbnt7+= ztG)eXG*7ctUvqf(^qyfSC|EXFuz}>=C{&C1yIEJNxogn?07wbA3<`opa5@TQH57v@ zP#0D5eArUvXAJ4)dSkQh23@|yX`)Z_$Y2Bo=B{^$*L#c=m?O*zJ-m%|?w#hGu3;>mFw_!v93~hjfjb~1?-c?|) z5H4RD2T6#FF`Ar9IY=I}4mW7MEd4JwYWDleZ<<_veXKbU;kdn#zt7V3?QRLxMZ9LYBHz_Llh8oeHF{p*_ZODC*+w;fv`~CgzPwDd~TMyu; z-C_KMTp5iKw1FqM;pV(JOZpdYzR8<~5C^^AjTqOCe{ZtvMd_g#2pMu)FOYw3}VEvt_e1U%9`N_xH$Sva7=}z@oaHpeyRL zRpe!@#WwfdBCvPFx8H;UV+bQU9vv9U9=wW}Q_26DDX^GP&}2)1`ln%bW}mBNS*F2jjuJhgU2 z$-APr-FLFCnj0?9b5Ufga=-&s5;T+Y1RYj=bN;>qvZK6p9-^}W+YmqH&^48Je-nD{aO6|;UnyVqbR|qP53K^t#Na5;Y_DEys zB*BqzX`&Jn#Pj#v{KfhAL(=D~`z2GWl4Q(5H{XTJW*zRLJgzOhboJ(KyFFIs)I=lU z-JcnoZ`XgF@8oUwzW?X_nRGT;QfViNr&IcwImOpyG@pI*s+0Gs00Rujp#S@@1Ox*F zbv9L7X*IHyiaNewhO!Yvw^ofX)=EjLYk8Iq*#QpiaUYyikX-TQu9b0ia@-`Z8WV>yJv4eVXwaYn!>HaUB26TojPtq#D34H3 zJ}W+d{M+&Rit~NEGQUu(k~dFkmb2&sI4#OWHilHek*&$4GO9WVfQKdb^zSTx$Pu2! z`8Hzf-Kx#fqQkS90DuCj$|7Pj#SLBhYV<4k9|EvM3rO1qe#i)Js7?Z`1|0iClTfNTMVis6eJvEYVHuwG9u0O% z;MPz%okDbs`D)Zd&;Tp}a!NSIe7DTjKc0098?HuHofMIlu)ZiZK zkA2{c72a7`00M8+X$+G^2`Fx~ zoaP$I){>~JV_;ZE8Be^gyd~Ow8HG>eXXZCXpeDUzz`sy;A(9sum=}%Ii9Dbr986Ve zg7!@w>Sf(t%H_)zveE2LFuiZgH;V`vae)_`Jlq}Wl_Rf37Nn*w9B|nN%b!CsEH|t_ z2o}aEVfKI&-{vssnHeiSf3EdAo7#X-G<|jZGhhJm#&#+VRgjr1Toc`>+HG zfFyZPRog}$qLgY{zG%hPQdw(T%$R!0NGK|;qYp^9joT)k+@z7#Ck^r$mgV(-bKNQs zG|Pm+F_>~1Q5fqwhjYq-eb1?!ZKW^8cInJUTxv0`mu@g#a08-LlC(1YwtOv*xywUw z>p6Q358riSTE(5pEObJ)5$)B+g(N1KIWij8w6Px1wOm!k)<9C)^E2%S+@5b>{vxa) zvKRmWOuY%tDg{&lKpi$#hOZ;6@;XrJ{Q1G_SoYaH8$>^ZMdT^>B#c38Fo6`+8 zNZdJ(J0Op=w?$6Nw)Zso#}T>E>LM5b*CNHW0dAUpC+b>R;*avK+c&L*@{6N-=N#oL zoX_y>iBfB4I^xQwH7K;oBda}VuHXofamEs9Uqo1+RExDzV^Xa%EH!6ohf^Q`ZKw$j zYWWryFgVqWs!ah4-X&VTTZ2z-wPH2xKU6=-w?iCeu~X(=fPfc#+(xHW~7k#N|?Y+BEZQ;1?j z6GNO>z%ASc7Q}**C7P`4Vk0Hu()@k$kr`?6>Q?UisV#_=6t_1K*4y0)|B5l05h@&Eg< z1PuZNmRZ%?2_BM=Y--+M!_*OQ*HnzW)`~zIYdMA+2~=!S=RMGvhxb;kOr|6-*db%K z7t0cL+$t8uKQpLej$wA95>m$0x)^_CZOR{?AiIIJ23qKzg&RoA#kQ2~=e#h&+Nfld z8=^1*rban*j2e}v&l#S6WRCPZoVJuDS&nqdFMiO1&(}TaOAPKNd~H3r7=Nvu*_INa z+DMQ93TTib*;S1J8&u_pBl{D6qs-}Dw(k^jVtyle_3YIp^zWR*RO!6Q(*`FgsKO;u ziyeU_(YCyw1gXwAcQJWb;^!t z+$<`qGWTVNscUSsCYo-?O6S=i&G*k@dJ%2_%)lg6RAwmOHg9t(E! zZ9IlHyLGBHD;rm9H_L)XYJCp-ZFe0XJ`A?^`o#P+HQfCPp~R&xd(vX9IRY5d}@rnv6DB?9Q3n zIc_iRFzTDnzpMGcjLt)}4#=BfLkv37K(`4g3X{`{pN1#7wy*mvzgd-9jilO=9KEd0 zfmN`+bhRjkWm8Df%oEgj?s|!|SMRR!ryYN*5>xlZtG(&kDp?f}fChYWfbu802<;EE5szI7-Ry)Ld2JClDz}q2KBX0 zRe+Jc&olJYVpeQax%4y>&4h4Gk)=s>802bw>5)g)Y&diM4MGL@?j2kX0Ge|}ma|UxZb&(CoBz>G^Fl6Pr5!9Af84M`+SuPG%>|~LH z^lS@gqds%!b1^i|@~Y@)01TAap4M_Kbp%ZnsLS5vIac=LQI#n~X}!qrIUT5`nT^fm zoN{rgP9s@7%Z5YoUYa_S4Ff>4V_`t2BIvrL;5>raA2FKHnP~DW=gd%F-j?2Gn^iJ_ zftr@2MQO!+^)#%=RVf@v3K4Ing%i$g7Q-4S6*3ey8xfuh0D$yX_proK_^ikf^ez6X zhJP|h01DJ{f#HFrtXbJ>3kd?=Z52WrRtKV*>m_fcGy0{CN$7E+oLB&nx~%GAjo4_; zQ~&$01R8=Qm`T;+1|E=->H5xK!_pD;rBaPNc7i}GYk7kYSgSJos#*s@lE>jN%Yg?! zP*eLiVj0G>Udx8)8(WE*mpcvkNFY&Bb~rJN%VUPk2$;?sB{WQqc_D82jEXt98fvTNASdi1T|D%_)cXf3l012KH@oiSyCSfR~v1h0k(@bJ1 zkjx*YO8`q^QR;X`6!7IX9s2A>5V@xmggJT$W!4#kj_uuamrGX3qBzy6%HVn<$<|0u zbAUo6Y+yk$hkMmYbi{%bL}p;c6jikxoU|q?W2V$HF_ug5vi>m|)1Q>V8!q{D5|>Jk zA3W!kxLL*)6g+&38CcN=|J2sD$Vg4a$d3&eylXX^C_3iFGM*;+&w$&LIbF=&8<5Lv zSB=em$d{G^mKv0f?b~jI;(I`&o4?gp$WPdB;zIk6vDm#Dx zsU!$P^y34jPUT9f5fGJTy5{7P8M+_l)n{W12w#YUdH7fG3TF6EQ4A-o9Jq^WS6UNo^2J ztX-94%shg3+SF|Ad*!4&x^T?1`o&%`n;SfgZ7TVD!ux~LX$BIuT-E`WiE7&UbV!D1 zA~b>i9)sI7)02^hFN+{ELA^EDVISGO^L+HafCP3gRof3Wl97r!t31QhQFTFG%sg$vNvJD%gAY)sO9h(mWo_tf!D7V@ zZ^i|hvM3`_NRU!8g#L-ljVRu%5$i-MH2J*z{RI{^lP}%7x{4!bwzf;-zgbtAn1pUH z10Sz80%vY+&u{;aD#u$#;cAZcj5 zJE*!9mup@J=0{?n_T|Yp&3JaZ2_f|~M%<8597u8X* z#72_DSW+moI3azrlcds1`{zKIz3OcGL)+sWUHt>8wsm?!R{zd$l8{ zkwK7&x>~gNw&g8lz$iLqIl*{z!b)`B9%#Y$sh>(r8Q;YeLcsDED2({<#9g8&EwX<4V46k`Y+X#t`{(Z1SC2F1at-% z|1H2w5K}R&#Fw3^1;FAt4n_<4gC&1yRt8OylarvBTa;Y5V?;H_rcA808=i@_;ch5e z?z0H@9sm2V1SS9^Rb$ri>>Kiq2a4WdhO$w?ja$q-ZNfFMtGR@Z*z119eD9%P5;}tw z1e)x|>}8$O%wYb^;fW2Vap>ihJAxwqL8&-WICH58%z2fD(4ow-lXHdfGXLp)47)EQUT5X>k(Ou6 z`GxvH1UI4p`wfh?4E(J!e~W>?0Gn$lf4A{o>?})O@DJLbzwImAqp}Eq(>Q>ukuR8< z-d=8+EU*C>9meFZV$HzeFNzbNEsmi;+Y7%)I0HH6@d&y)$2uW&U$&%CD^Up5L>o2R z74SC3!DZWHtkytCPNB)k1yO_=q$U^Lh@uMVs18fjlx9u z)ODD;RVnH-xkL=uW!5pIh@txThGlZhWpU!`=A6f00d|-RH67~0*(w?%wdDJ5q#NK%p`b1LY%9)mzjB)IOCO}Wf=Sr zH+vyrXJ32WuZX@4!D(*7>;w-AV) z-(A$Qw859(AVkpQ2S@j7TW3~RLI4CsWn!@ejMG|VLQ>Wu*Ii{QU5`7~zTie@Hz}KX zYD=rkIa8do$4D4 zQLZ*}Q_pLcbp=h$e~=)}DOB^ciB4EJJQWB2p7PW3|MBngfB*fhs#hAzKtl!mKCHYz z1Q#v!$yO%f$N&4V1PTKLf?iZ34;$i-CMxb>=1viC!%~bectR`}t2u@a$d^8HnACN5 zw3x^>?5mublp?{`l*EjH6vXK5RTH6HQVIh2S)XK#$vXlZI!p5Us%7?tG|&2-RI4ad z=Ypa1${Zkphk6*n8KuSsfWfSE>1z<$3U(p)knK7Pefj^HT&ykf5od3;=_mKhiBJCA z(3txd;7f(f%dw6ce^&3Ue~lGZj>ech zlwj9Al>q~Q05d=W6QKb)GRQn=*wZ2N1gC6#y9O;$%N8nlMg>6ynGc$ZROPgZniuW; zYTb>9hl#7E3(Tspkz+QEB_u61&UN2Ny77cA zp023MR8P(>2`XLI8Y`$Ve^ga%NJ9gfS3?VotCdGNK^cHZ25!>Y6d0T^d~tvZ3IN2Y zB1#@8kUExKhXe+e4j4Ww4;v=tCW;5PnMss0ETz@n$m%I{3(rT`3#qR2+3t?_tS ziX$?#en>^owxn%kU(PzbcrQz%m7!DZFAQqibjeTG((TD%X!K|&DkdSWIuL_myXcVd z#m{CGAW(a>f?4WHOqJmR9D-*N%MK3{39;fcEfW_iY*^sK?Rlg$f%Z6Yt-vX!2?Rnw z;(~z(5{)_r4+`j0ii8l&Kkn0MopyLbAPJ5p#83tBLJJ7EhH$rlV<3v9NwB9Yj4?D! zE6z5(+4GXLNma1_`>+HS00eGm*ZJ%mu#wGrn>=FX5w%xa%rJ8THW%u6{4$A$7;qFr zbDtxRPI>WzZtX|Ex!t3&kOByx3Snpr zkdT*PkBl+sQ-@J{JPQzzOi~#IRP*#wg#w{Ni9>jfQ%pHy|_TzltoIX1L%ygp(epDH&f>!`1s62 zI~;`&^)Wu=yoL)Icgt_S@5Ajal*ZZ|X}J>zVC1~1O^oY!B91fY0d>aBq1pOY}dzL)KY1X-CKRa`OlsH%~LHE0G$1p(b zyGn9rE?@=?g$Y2XtF~^OjfoA~(*RQ#igGzimLl4?7NS|cG`~#9-^{1=LZERKQ;T1J z!h+FQwk8V;LbBkJH~;&v1RsC|Z9>%B3^k&VEQ-!OBeoIkF;#3Z&q6mU>iF{yh(b(Yn+0SjX0Gef%-AWg#mTFYU7;TR(}|ka*g=OhLFjE`en*)d{;VyX z=#}?~S)2x8^q+60->&tB2PxV+CkS=WnA{YKKRb z2>~F;2nOeYlL`Wh7@;v5gJQD6;wF~ct8`1tSz*I13GWR0-RXsTBmB(c^7Z?)R;6xI z%h}%T_sG5d@~V6H=p7p8dybBM_dCk?cO)u(`57QIYf_ zQ?ja{5Ct-yBAjG|*;*Ndv}GiPpt}gO@g!tK@@SA*Nu6(D&J<~M(#q(v9?gh)g@pZ) z_pGs350j=cO|sJO!^ZV#F!d2jz_yE-q|p>^5M|WlnuM3T=Bog^F;ygF*BTusF7m_% zViF;tX79wla2vcfl4NmWGg3WDaC6it&=^T%7;YGT?yr|u)0gXXfCo-M$Xu}_ClXx` z9q?n0yTsPj!;MD$Kyi1X#1&e-iUgLGPEKiznKXhv8GxcunbLFfCL~=2Qyg8hUSRPB z7I$CV-QAtV-QC?oaCdiicMSx04=zd2;3Q~(BwXI_R?QEXsd}bQpYBIur!uR=Lmgr??-fV z1v$#xE>gX3B&#`OT3n~D1Dk4VNm_$fp7m39vaQa!1Jvj;mzve+9G?q;(kL8|N7jeq zLWR7t7)A{X^OVk_y*j|Ve#`Uo@rvOgg<5AyHR^yd7Xr>fkH%vzoFGTt7vCr6jM?Uu z8FKGq!ZPn&k?fQK$x8XrW6Fo+QXTcbq8fD9Te&M@VTK;ugQLo$ItT6#TvGGv&qpjN z8+7to*bGs`iZ7DkNznkRea;y{4tECokpzge&JSh)0zRv7j9*xeItm>udx-P5Hv?=Q z#?%l1_*aNh9*_mKDmmU=0FP{kuIsRAh}{Z@G3VT>krXBr=J*Phz2^)|@;m#GS0TF% z)ZGS+17XU8t+FH6>?bbXQH;o>+a@-3EG%gP!*r6K{7!{uR=TzD)X}s^Y*%$9%eC8V z<)WR6^0WNy^ZZmy!c@N0g^$(=b#F+_0bIwJcB?Vl#HV%RTy1GBU2_sR{V~`zw=Sgp z1@75i6pD#dgBW_UJsB#TAL#5$_FaZNsAJIuY^OgWoX8hc50Pj6etzkO~0t35CPV5s1_Cy1*pZZaVMzq?(-Fa601pBWD93;uW4 zqZ*%g<5ZmxX%t652&+#bpeByLG4gBW%+i8(=Tv~6A8gtR)>5mufxgK_CUOGem(sDL z2nryaF$ow;1n%A(jXN1!!X2Jy!wYZH?`Jcr zqM{+9bG@%I1?wp69p0?Tk1ChF0mBa-KYdyu@>f9^Pj8>!pMN_}mqT#T(opoDLz%`F z{0&=&*5_xEJH)XF!nu0UrBQ2N6MPb_)eT1awd8;35I!kXm7!;5XJV%$G|4}BL#nxW zpFuZnEE6Bn6evVxBeZdsM*bCI31+oU^!fTM^W+TV|21~#*7V^Nq&17U zLJiDLwl+p~%3Ejxb+k>~oHUw#yr0?u)r^Rf)R_SUSk2RzYldA}WI7PT|4J%)J{41`S{2K44IJ+BQIo1s z^JCd5h3-3L;x;+SZs}t3D>LB~mouyD?htQLe91B=^Q2J@Jt2dmI+j;(Q1Aaz$_w=@ z{-FBE6NZshY$EiG&_+k&!5Z`Q;r)u#k^g3gDl(zCO}zlgxItRO*~ zk0rw?ci()Nf3B_QBg^~fYQMX7Rho&28|Ubun;RiTZjJ|-C@@GX$iD|*XD3QGx7`v8 zddy#e#d;7xEAi9R!>5jQJbHeFAd$JodNcytGz(7-bvr_yneEt4lTzzZnI7f zSNn{n*LDAiH=5i2Z_KmmcO-ZjLd+y6HMp?36sUA>dvzujgaLLEZPDy=@r)XaoE>~HZ=CJUN8L$A8% z6x_^BPByA}AEQ_UhFZ8PoAc#kG5nLp9OapoIW}LR1K1Kvn+R9{G;*7Q41_?k3_E5e z83M(cgK;K1nn3pMm~i&-zD;b34|I+}nER8VzM^69BW<|rB-#(PgMWBgy>LLc!lMH?5{@rMc{Yke6h_T#fZC&iVr=lW`Cor{Hl?E$y7!a4X`@GV z*+B8r!$fV@iZ~z!*z5GyOc&MVf(iE2k*daBFU_YJL7%1;TxIJ{xXo zK**LqlaRT`iAJp3an)c27xI!ge>)t8oUuKBnFL9PI^K=Jv7o{Yp`d5WS%-f)5?pF1 z5&d8RvAaUq8CGhEYWjkXe*S{tW@Pp=eUV(X$h$W5& zHv>#HCYVJYI?nc{Gni{72!KhU%Q!NnZc~5ej8Kv*R`l}DCo)?f=5V0Q4h9>I8KZsUZzOSU>q#`!dz27;h}NsT;Spp3l>SIL|Y9WjyI{8Q-Xj zQ>@LV6-QHkNsNxRO$42V)i5|%OMme4S`zhDsIN_CX<-)QHRhw?-!b~w zbcuWtE8{ejLH6jq*kHB&;d8L>=l+B7)xht;KeIn-*6%d$SpSKBB9aD2c+G3TYg90b zYnZ9CRkAcZ^(OVLXU{@@FAU)PoyhYcn-$2$3XQJ0f~z9423?}k@Am|o2Vq1NjtYLb ztOm`^&iDqA+DlWnk8^CMbYtb_ZBQ_Bgug}^OjKNMeGtK)nNiakP+Heyb=6iA+u>z~ z=H~UAp0&0@_pAZ&$O1=_c9qPQCRKe&)vStHfCv;l1Xx7@Stui{_zgQj^eG{dLClx! zCd+|?=KV%tml`6M0>qganMw*}9JDTh^}L_6QucT8q!W!H>!8`E%})~W*r2Y44~&7EUmqC8m!tN8q62i1{^S9i#MMX6M%LhAw zsF(K}TX#DEdZDIk0jdEA*Cg;RYYy==Dud6Xjyz4SIq6OBuk!6}V>SB^E@zatHYWgH zoItulIT?G28&1bA{C80LK9O4d|9D>L0HCqTn)?|kdwTSL9lZ;bqg;2g#dSoa#KGwu zaj4{#?{P~maUEIp8YQ*mIvLSkRy=c2W?*Jv7Vrv3<+=jx)X53aC1z8EaMU1BvmAx7 zt~{JQ<&-@jJ3J)uE3c7V3eI~>EJGe2s6@-*h7Qn4Wl1;4g62ORxprbqw^QJWDSWGUVhSX+OIU|DO|A{p{C6*?wMTkeSr zi>y2+tF8ck53`77oUR&sKy)UlOSBGn;)7~XNozusO!efbDl?~9kt`>}?B|?5&ErAg z!Ri{b%x#}(KhHwFy|%;1_l|FHez9UwVf+CFMle#G2L9V+{R%A%&aWvI6ua699DIAu z7n&}87r4aJ!I&YXj(|hESi4UI2Qv3OQMmL+;j2bBRci8yfC{U9d z4n|J@%rAFldk=IAca9RzHx=4aJro;^TwS14fj-iK!B8&3TTYdS0naCUOJi1B+uB@y zYBfE5|GC<%MvTJ`zR&i8nmeufD*}RQ+aoI2h=Cuk41Dco0XSkXX2jKw;2oX_h<-Z! zry1D<`QevKGH!pYtYst;vV>IPd?q^sEMY~Gd3jLESZUjBPb4Z@xxELoV6HcMN)DUc zt{O2r!Fi~}USu6S3B;Vr+s&U(SDRkiU8TA1JoZOaU27!V+o0>?YZuem-={gd>(X-R zXsgdr^H}_Kh&yjTht=@^jb9;d>GUW9;E^$qz|<(qpHEZIAw(%i@hYX+IcJ z9rzpb=Az6M;|Kx3B$+RzXT0DPC6sr+)F3S2j_#cBY#d*WL&GCl z4|e74bYLL`Nmy8YSGCHK16W0=P@v)S_7_*AMa=INXYTjhD(UB_ zPcBnz!Oq?r1wR+rE7;9$M_2g!t|Mqo3=pvzQxD+w9TZFqSeY`pbGjmDDz%UI!9x5iQjcj-W2yXduiC>7(q0C5JxP?7V(6nJlRk&5; zI8}T7`0`Hv#;ADd=|nJDsSZe;Sjv4h1-qq7p)X=X4!e73ON#O6x+I4V+zC)-!;I6) z&3-i$J8?H5oozVRQ>mIPL6ROQn~)hh!!_D}xM+jUX-CCqPy%p6^x>tmY6;?Fccue z5rr-36{d8pG=rag{1=WZ)^eMJnEwS*vbJrl5!DD+|Jhr}g!j~uKGx}r$yj_Yn|*i_ z>JUmezrJ&g7PS7n=-ayR@6V(dD_>Jv3xErtD#Z^)va?2~c*YJf>xxhH5J17LJ>} z=beYZN<4{9xiq(kZLUF`zi3TG(=b-Ph~WLW9#0{u%+UK&iWs)$tSS=`Sx=aPHKLY* z-fkGdcjMH{&QO~Q0AGb`R`YcuHk5~3Q-9hX2<8Vv*uvGYSZBwp7| zOmd%)l6megLu&?IwNk7sU&6wFh!%Q-0(phRv%C0JZLzbMl;Bx^&zvJVXK zB&RaQbHVH3fb_m107xFJcr(#!6=a-HCx(7Wjy~8r=O zdtdoPjfJulyd6EBgoFSGY_t(I8hu2`tey|%H)qiyi!K|BPf2Nnd#Ak%|+P|I~xX(1QSY3bLbV*KJH`70J+-j{#6 z+__SiyCe_5vpz(CrD{UWLedIKQRWfe_1gWgEYVa);9P*SUWZ5=5hnr3`Y!vDVquCh zr@9p>aTZH2sz;I2N9#!8z?n7q9Sprkcu@_b?EJB(a9OR5vB!S!OH9kZBbr7zYxt+m zD)f(j_7iibn4LPrK$7c|cEg54C}v`zSnsGy*&}*f_0Nm{xGHZCE_EA$lt`59Au=7x zh~C`NQE_Qe9#zf6WmO3x)l2I0nhPBpZG~6$L;+u?GjD&7wk+bDEg`>0JFY=65;D_N zG^6c;E&KPhZ6Im-st#ERlrR$iA&x!-;-;`#4tnq7kODHyqeh@xnA%Rl^COa^=Z(?1 zXDLD0A*VwktgW>7pI{yOr5|{PBzU zm2sb#>W++ugU${xetZHk{QL+~mD^>AwptxpQ}IfRT^$Yf!@vn8QEQ4 zPg*Tk$&@W_uZjfAij9BegrG`Rbxczj6-znY+~ z4zDLDLzesTdL?h$?YGVe*#?q}G}OtlvH}^q=F6M+7d7tTI6PuklvpVDHuxK=<}e!N z1lITL=t#!dm*1lsqinz0FUa5F_3z`qIw`woX=(tHc9f<9X=%5N)OZN|eB24C85119vOpgHqp87s*P~+2-nnegyO|2e^59e(}}8%QA#3!tIz} zMDB*V)3bmA#j5hXR4rW>RHesi=HRS-W6m7P@mfp1 zgaBA-rZ8$u#_+7ND&pr(0XyV6nL&s=1=cUV-I#Vxx2IBN{%{H)>5 z{hXegPrrpz0gI6@e?D|6HJ&G~3Z;YstW)e!#WRqcVRijd2j?>TuRO$IWOIkv!88P% z@x5$p)GK&!Qvu_vlXQ+{4#o*tG}C{YXXClbiuMvZ^r5L+N6w3McS|x;8 zE(il9hlXaukk|`tW6R4h=BqLsjSTkuibV13QeJxt-#)T!f0Fv8UK`gyd{{w6M|T^o zlk0z^()Vjq*v@Pi4t}&mhlrmyDr((@%J-GgTHnVK763Gm8iK&K6SOl8C!vjG0Q#b$Bu)*_wLrNeF{3`lz)qk}I9u|^pqP2BOPLZ5&J}6Q?ghgts9i3wmCdbD3 z9FCzcBFPVT3pN=ua?34eVYH&Gj#VCV?)Sh?!pzldWTZjc)t=CEE{*&dwm)pIr#5>I zyr)ZS($?v+ZtZLwd2Y%U5M@dZV7?DElvklp8`I*C?*FhJ8glA!V19p9TrTm;>o9gM zS&WHps^IZ#Yf$&k(n6uD?_SKzN-G0zil5n;yiHD<;nmxEGkB`%T}B6Ti5;Q~@c@U~ zupOv^Q!n_}BREjw*EM}KBHx6eYJ=*aTzA?j8^PSoMG(A{B$WKXx*{dE14_ctFgN1;)Nl;O=iH;FU&e0xeNPy#fV> zsx@?*i z@mvvKqUjRO3SsT){O0BR#Cer-ye{@y-5S;NJ*y@}{<#dP)ReEU8-u3sqYp*Js2~TM z?*WHzRTLBq0KhXNO;wQVDnayWw{QMK911KjLP7fuL-OZ4|LRSIItjB-K-;#$FHFA0 zp)njIr5XtMA`|j^kg~}QU)e{**x!gm&&Vrq_soS9(~`u-O4jz*!i4SEKN0du%7rzf z=IAOceyRPs@nJ(ZRjqsDd>0KOS|7hZ84&v$WQ=T`*DKthgv8+T_}}M*Um0J*W|2`@ z(7Bhn=*Gnvu(-oR%z&i0g6Z-I$EtMo|Ds~Mqck}HIO#2Qs6);%?&o^qftXqn%y>NR z_hwqbv?&!;8mbT=@RuH>7BI3|A7*A`22lXy6eEtUe1e7<=dHzGQRUb6uHw-~9HM6U z96k!fk&au#3*|b0pX-W@I2?JT&LrYlQg7?#4@$E16#`KrB26G3fQlp?ws7oXXQW@W zKC+(n{E&%LE&kVcL!Tm^Yz7c-F~pr@CyTAnR_Iu`b7Yk!9iBx!<%)zI&0N@BfF}z1 z6kmHQna~C~l)}Dn;K^FPEpWo-Hb}tD^gKAUW`7Xh%@=B`-zj)vr+0UXF9R()V}X_8 zyc{YknsXB?xUO}bV&B$Y|D>tOm_%TN$fN~nQ3%reO`S-qq;fkqiF+ISINaQ#On-p@ z5JG(kK+pZ@&MWp@dX6!>ew*f;pK_&dD4!(r_&AtG$div{FIXSBixXoD`IBFt$-FlD zn>jG#O;J!7o(t8?pWnQ*xbE0@lEa4;)HXitd>9fU$5j&~EQjZYts~s-bo$muG=Guh z{*Y{}aVq<5jEmmZy`A1f?il6m?{nCl(iN_ovR4gz(9}b~zs(sf-7ZZ`0KAM*I5Rss z(62fCQe~0C5rtE{l8zA;Y?|%#0c-j{#9;w|$*el=mtInMO>zG)nd(vTEUs=Rcx+R|2>vAv?inXx&Qd8JTkoVvg{fTCu~n6 zv^2J`GzaV^p*b9O_HmI^ZHe$EmA#xV-1@cXi0Ep5aR zc6dmqW@Bah>JMv-QPXH+Pbl;^w$}44K25AUYdk7-?f#(L+q80uUmRN#T2Izj=6HF-exoEk?;qv07&`{ikMuC0(4aghW| zLu#s17N?53=#|=W+1BJy$iE&2KF!#P0uassOKkB+Zzi(>hE7znw29p=-_~z{j^VNL z7y)~))qYwu>iye}X7JkSTWIJA(-Qte95F1=L1s<=eKMP@y#1c{6Ng#Jr$3qFHzGm$ zuEi$o#i2+Gi|}QjQH%&xnvQ0mThotoDIzOcCTLhSpm^efG7#1MS_l=Q#2 zNTs!ankE|qWn1H7k-OTN7g62YiZ6%kZd{?6`;>&am}#(6D#hFe6q0gg=Isd9$Sn2> zuuby)3l#i2G2DEe#wdNKn60v-$nYR=E9^4dvVJ__SHf!_w*}I1*=BSQ9bwP{%Xep1vAOwEJQ`qnaB;7T~UsmJ-T>{R$xSsHrdeoeRK0cG<(HS^dYcvin8Dxw*~Ux1S=PYOVNlYb?lh(`UDIgH$Wy0N*PTb z9Mu!ANZGmGd3jiHyUP2NVG=MjjPf7iXka03|G)W8lvQjpKXJnB*?H%AtxIw>IW$J0 z{f4*J3vWc=r&yv-P&%pt!5_Vw=^SXoGKRewC8f|H$g$~sMxGI^$kfi}m4ta;C|KIL2Vg2hCB{;c`d)c5YxjKTnc6~jS8b8) zeO-a(ejREKdVzuPEj#wc&**yvEZyh_40ar&v~lt(Oy|hEt(cpmVSUnAkv>)oe$x6q zR!9Ef%kTT5Sou&G%SFGOdJ<#}m~3XKGXW;2z@en=9J7V(ssg(VBSwQk6?-Z^(#%u@H*#8Fm6R5v6om=9~uUtR6{)N0~W##LsW%^9Fek9B_rJ$_68_ zD<$Knf#d8k24p8|41(EWQE4`fG^N_OifsK;k8Q*{3Qoe0k)Tr6)#JOCOHNKy_NB`F z(O5>sh=ic0JDMl+DBk$meDdf96x6bb>`u=ZU1v=15N9QA8(hxrg%>4hKiBuS%;C4D62A!%jE?V8Z@2xF4c(q)no#FlW z6lb-nkvu-tR+n61E@biUkpVj^l^}+u^QVQcjqOXKj3a;>%D!lqhtz;#st`hDP)A_c z_uJH8D8^EWFIZ|E(JdIo;O)u92{cdX3Am{r(x1kkRqH8A>CL`RaT2uifv&NT^m<#s5i9QH)zQLw?thQ#F4t!at$*hZpfx1Eq2G(h?b)Y3rzxe+yh1A%z2G}hIM4w zN~a(7H8OTV7FH)<8%V4I#|gBW#wA=4Q(o|g*S+$uoGY=(guyZv42}y&nC-|gG)`e) z_?4rY961hN?GVlJji#m8*Lw811W5oG))XLJVuj3(hEU_3-olRB2gyS{gbZd@w-Ied z=dqx>C~N80o|cO~N)RB!rdAOb;H|jziW%Vm;?WYJ843af5k8aeDRRj22cof9svh#{ z0}yp4^aYiPdvs%EiY0!Ks&!d{d=HY{ko^^f^)*a-BRVp($+Eo+c?@zMo4aFC3sGE0 z@r(A=6)b?M1cj*m=c^p?f3*i81jx+s&ZFn@h>J7$ufKv0kn2yj%+5gQ&Kn*vkXMDc zc#zHGuQh3#A$V|G^;FL@v(eMBl`>Synm7TIH5pi`IZD`ehvwjT*~HL{e3b#2PkGWx zlW_{YJ8w6T193hUm;)b^cqV}*7eOKKNaBAPrBlQl^U0R3hF*8cCl5ah$hWLY4L-y# zDgME`YU!>TF#cl$sz&t7iP8iEbgKQq@g?DjDpI-rAM*5KR0Oyym%DsMEmhroEZlI~ zY5CT2v3|o}AfGAg&~G-07IT01IU0!%Zmii6_M>ULxcxSea(I1Qnp}7ZXwC6T2Opq% zR->D@J6(;YlKA3k)qowp>5<+O8^e#EOPrqhd54oTeg9;L~Sn(5hd<<#V z4eqM;v{CZiw|4vV@L68exOVMFCasOkW3^rG_Z!iVNLf2V)ndyl54}s@q8%mATmLRJ zY&bh5jq9GXh>q2F2kBDyiNGr>W&PSXSF`pC@bi6dL3ynow+Uc>8jTS$BbaqWnO$Sa zOAWb!N7xgTNfR!;S9r*>B8K;jJ)BtR5+ciY1D4h%FrcQU>don4ZDvcBO5Uf|`HGQn zibmQsq5Qm1@!Fj4^!u2vv{O~xVPU_iVdS{Rfvp~73Xf#{U)D$WGZxjPH&cUB0yxr} zQ9sbvgv{}&9yYoa`SSRsyIcY^QesusL7j&s_A-aseweeSdz!R5gWrEBQm39VZWGA- zwaD?F(ZY`k*%jkrrN@B#4{<~Qh!Fq##FY3Tr6!=r{KN$_W$T@FvmVD?ao!u9*dx)v z4_i)=sR-#-qQB{6pnS+Q#wm@1KuSD>+7!*|l_i#Ol{3i98gPrU_-E@y)Si;#&7Tnq zW4dBEp?hJ7PJ%a+3-PQ>X@4$%-M_sOUi|fSt%_w#u%G}?;HTT8tqme-L|~$_$b92n zXindYVHPs)vEb+?u5N#++2<9yZfk-z)XZKHV_(fvr?#WJTt-*p<9hUG@%Ejsr>_l6 zBx#-UvsPlry!w6Jas5+&rP8Y&t#~l|EQ~N#iRbToU=zC>_uipL+ zyshb1T1$f8Whc}ojGy!_zRRN@clNWIb`m)zs3~&OU+R>DaQgc@M-2Vq{59S7IhSoL zIkxB0NM>oxo@zsq%z{dG3{Qn7ge<8)90)z33OmMUW?~6y%4m8;MXm~CVjy_;VvW9tScuXNLpqfOgE!$c zlVG{&5W)9&A-S_)+Z^$5ZV|dgGSCLfHJgfwZRy+M^n&!&w)BlfWHaneBp?5VqWFJp zjjPd>Js}chw^W@}-70SV@3f|Qhec-%#L!J2DzvnhHZV<8LEub#~y>K zu?L%$;P#atNNxBdD3VIGFMregz25lC=1`Pex&64D^kcPJL#@>Vx_(oULpa8L&u4lX&i<73UdbwPN^T3u~(s?B{*b?IX@cJ^Om8JDg>y8y=$)bl@N{=6wXhI zx$^Rzd`SquXS1kWR5MVxYRO!QW;6cKTmN41AZO%;B%p>eBvgSwpk?A(*rS!F9IDGB z?oSzmHYT){&t3iZ)2D>_z1^3Cw%(?jYVP?fdjwI`q^nlJUq10HT29NbG?n8Wq0?bc zS?3_ZNvOGNYfc;sU}8|77Yf{z3ILQVeZ{Qz8cksZ`t~N%%c>ydwu8YxIr7rbc*xB}N<_p4Z<>nMf%PC*Qf#eKL}a zuT}&%7(qr7U_~gwPYb;2p{OtY>Yl_NgwbBYMX;m18Uqh+dl7ZjJOGZHL!L%dcQQgT zQ-(CrB`+ogKd)@GF=_uM_umS@ql+lb6I-5JnxR(2feJc=A^cjKB8;XX2UU}En5z@~jw9D3Q;vu?!WGAGH^bZ&9uVwm&z-yojXg`oSTv6r_LzbaOjI zdfRe|05Ra+vk89m_ckg51mRY+E#|YnWHRmBfn)6$_c>3(E!~V+(2p1KLwmGRF`^DK z?Ib%%znFXCvZ2ihZz!xgYCHDDxyA`SDM2n$>emq=*)!l*e5y=SSS)gx>x+k(!a_vz zs%}-^rEi~kvTuYtlRtkw`S$m1kMS8yVHj5PEE?e+g|tRuo@P^UnBgu~@4me!s9-d9 z_J@ADmtrQ6xN=L&N(@VfXPbTA9CuXwXA^tuFH z+o)z-N)%Lkyed#UWnFq5zWJk-uE`0fezol+xyk*=luEvDJW53vIw#@Yq;qcqonED; zX=|j@)d>O8O3-4rNCVxTDMD7GLhyb&reuOG&`qajrS{8QT84H$1RLsTL$0M*lojNJ zZ>;Exg*8bTiO5PSu4OB9Fhhphd$Sub9iedvm=)}bJX#vO4Fu&tE*j0eC}-uR=2ga| ze~na~=VbnkE!>){(!P(&ohrV$bzkKx^{FQ37NfqsoyfhP#o;n`np%=z_((?pu=O5I z=MfGD9--MJdU7}FynD$`|3AcGgaBg=wLLM2-C|EsGXCRvQ4;G$SGdjyQ2vkS<*HUN z{_`T1NpbWv0fUTbl|_-pGx2=&Bd(G{#QoH{ShT_Va>k9>irvEgwg|r;L@8fRDwPpB z1zkjGOh?i^>LY!n3 z358V<2RiufwmL{cButLY%_K`BOKDQZin60peI_8F+Ea(0a4>08d2S#qHBSO^X*u)0NU3D5O3L&Bfql`?PHpZ8 zqZ&>-2#5i}$4r)q5jHz08=EV^MT40Jfht{b;8|E~oa+8b% zj;Jc_O+=olCjCJte{=PH`}f)OkF1NfH5Qo29McksJ0!|fi69%qM6Zog5-jdRA&Q;H!1*`Df2cyo68!i?pN1fIQJueF0-zpI=c4?ipip*vo{jT`t zfq?H?bHVD0qtrhpRF?~9P#4xMqpLkPPQD@mHeTY4JB3-PCPKC^XPXts(LgbUO^rPu zmrtGM)QW9UjHt)@fk|dT>GK1Uu{r~ml~6FqPc2I38l{t4HBNPuKIB?0ny_jhL)0N< zg_Y+|GdnE+ginDahFqS2>WJcnW!#o29_q5Bf<&!KfSSu~SAQAb<_EEzgVs{756lOn zb@#{Kvn7fI`FKIOOY{d4m?fJ4;52B6qAv~|oPJ2ZxIo{dmy)7QqT3M_L!&7lyzbPa!Hq_4ZZU$4cOy@@O@LWUlFEqX)ul9ofSf(m;D|B5fJtWU`7z~g z>PboXTKU-jub{I>PA5N&SuzGD1)kfgQA|mmRoqhAc@YEmc+k1$ca!FV9p!9_g6k6?3L%g?~?==%cXe7 z7@WOzr*%i7`r(Z@mqn47@mQTl#}Kl9=IkHLptZUlRHltm|(^Xku2xP}(Ko*M{ zXqh;wTiq&`mACf1u{9hBDAXqDZ0-b{|3(x!3-ld>@B@Xb_`cANqIC_%ObTBP` z|0vq5{bo38XJ1 z>|4(}B<89`Nj|-694D12v$bLJTlVQi&M5^aZTPjR`}7XGcRQRv^3X)W8bwxo z)u=$!cM?S*Josu2!WAUvBuJU6VXw)2UxXkkEP4Qy=aOmh@r5|_+n?cl+UaPLZsG!= z8kjB^d`ELQx;Xq3@tzTm-&EF%_3>v^cdPzcdp`6Lj-YRW;frNb7C>yDqpZ^|UN1L;0X6+6c$0K>_Wzamv1uA@|X>%CGDVU}V6#my^(t4ADa(M%7uC zjEbZh7YH>$p+6#4#W`0cI@&FiB&An$U-i%`wmmktLo;e}SDfUS8$52Zw%*a1skd%@ zVB%oT*xE6vA^ntSLGBf-ZE-#>gdUt)_`PBX2p}|1!OXnM8ug&s`~t5qSqNXs-xdY= znNsAzp*UkLtJ)DHC7^`^EKRLkOGBR4iY|R2R37V(@n%<78fQpRw%WtZB*= z-BXSGEmP~|>hmFVWth2hh0bQ#YmwF-i8GMU?sl-Lq-aJJ zub;)wIKxab(#UGSYYOEXj#T+Pp7*mV9DN6yUv!uvO3+dM+P_C^FVNFi?%U={43ZNJ z2}&G{B+!E$W3)#hc5?`(5W|?AX}0A7aY({eW_D?_L1|aks2jFaT}MgT0*x8|KMM=5jS=2i5AG`8uh!H$lg-1#6x;MJz+gaUnjc+A0SVnFs4=Fc8{Qaw z0bORrN%<1n0xm~Sh5CPp!wLgNOKFu}l9i+-IK0oVdN4~>bSHCy6jg~Y`0wZxq*wXn zFnf*)*eZgq8Xt`4*0P?|iH~E&t&=%wBqmBLuAV^Z4bD>^J=x@~r>k70Wq2R)u8NIs zP`lQ)ERgE%=MqC6_2jQ371VI6mB|2zU%~h(;tDai;35Nje~~irG&r+UqH;_0PT)tX zg-(hr4)X5*iRizj-PJ>$6)KjtJDc3Lt)cl@^Onj7f< z;s?v_$eqAUc~P?IS;^zpI|k+x{|DCGA0KZF^A|lbfdJiY!kSnvK&2to)!D8)sE!h7!^8 z6|Gdur!B-ZL(HAZ}!eEN>K6BjIGC5`|1R~oDr0^u0)-42KQ zMs7mPBP9UN-r3JZl)JexTKtm~!OlWYyXbJ?_v(ne=*=eksaG0PIfQX13{F3OM)0O#Nc z3}vqKzU%Ayp|CSg3scRV=~THS;r)r9T-YN*(Knu$?ZL5`(9|#0)WhS)tIiG&3^Zn~ zx2ZZ=o6T1_t@iTMzkQN|BM)AAB$OOD6!%yQO0zF+Jrn+=&K6&DefhCMD>z8k-)Sw+ z>&D24jRFYAtME|dv5tzBFB7+yO^Y931*mkAznxbK)&S@LT%tIJf{Ix8BnR8RRI=MZ z-_jJ~^4KNs&Tj4Fr|n(*?1F5m*5LkLFS1fwXgpQO4r_f0dos3wS6d;!L}kEDh7oUp zL#S2HrN2iR_2Xm!7CR3b@nCToq+K)XndMOr-MOE}cAI}$HtWi#Ms3jhZ7$pXhnr+c z&gd{46CN!07Ig)X)lVzx^Xpz|?&>g-O*CK>6PcuRoxiBrpJRuUK*2JRQlBu9l$Y5i zJq3+>uWqGxOY_hY$wBh>C+w%4iN7g}edtLVPnZ?D&X(M+bDNQ0ii)kWQIu?EMp>)4 zL)j(mVdaR57$IaEu%KL?EEOemeHSH0tX;u@Ln%RurBArGOh0=@Nd=24)EVyAY0eNs za?Ze0Khz~mpQuaIYl(p(0GpLk3Q63lC7OCT+~nqQB_7J)VxMCFI^k>z2Y;&*y|w12 zYq9v@+cZu^-_SJt)_2v|`$jsH+f(s)(d! zHJvLI4<5jc{e%uu2y`^E-dMceIv6um_+0U+w7fua$K>0pRz5Qi;r+^7YBFSjQB88{ zXm>Sj7yEGJM}ke;zIGh{Kap(Z{NVYVx9VLf*`qgk0Lzj+-UFUZQjpD%qd@J$Bwc3-+IE=cY;p)n!i|#VOdGHA<3yqE6%y z3F_9LdWoVqr3nmC4?i#Brg}T$*3+hf0bsVV|H#o}bjX8HMH9ANS}^Qdj0Z>c%Q4BX zJs!lY>TJ*>A^G$>r>r?d>dAr*UIdf~NQ`h#&A4L(GCI4;ArjVG@HjG=)m&Z(Tk3ZU z^=J~v^Zy4OLE^si)CQ1pvnLswbhS3?PPX@?PIaswUBGqGzrL&!(>%#KU660HvU|;@ z-&fU_-|AzL|Nr%-+Q^s(paV~XBy55*DaZjfQjAm>yeuhd4fa=QBq4cP!eKt{7)dO< zadcZ!CtF%{+#h57(L=|O#ul_O45PJ!c_7>ak&$iMZd?tsfdHQN0JYzZif;gJGt}t4o?63ummT9Bw{bsap^XKjfLvYVTNo{5gS#EJZr*H ztSW7XjkpEZw~|$UNf>zvQ=rQ!M2toTKRpncfMA}*CKQsQzOnFRfR(leA zP|4M&+NA8y#a}(H5BabbH6-#h|v1-28utKRAV?;PHa(#})M~c2RZjh3#aeEkO4hZ==TMXO)p@$P4rQ}^%T5rJ zfpU7Q+E+))i5r_*GG1)KmXPj78y~5Fp|Xw|n20+L0#O!25>q!$4OOeFJo_w^i2T;? ze5o%~3U(P|)ZiV=j z0i-_8G144D!ZV4^&cvcF5~12L#koUb`B!!_Q>FJx!ghxTEmP+T4EsF9RfCVAP@J9-xn@dYfV6Y*F1!P=}a$ zicBkNZG?{)Y@qXoWJss%osCP=xfCbKJMz=5@ryD_bm0y2rVop3jW|=!Dm?>Of@m?{ zr|Q=^o*)1!q)MdF3I%Xsp$jl%9ft&B*@Tjzg63&j zm5)B!sZ|K$+N4#Ckz41LLMDP&D%vjHX(|ASbPdK~;37ydQ{>>UXlXY`83MvQ97jQj z3sDFV!>nTsmua%N^p*K}* z7y3Dk zrd!n{F+@reW=6%?WUsN-G7Z70frkGaEL6*J%_)lua;62jDDOS){eSEKU;nOmZQN*p z6Qt;w#J2D%NaF!7B^w7!H)LuO1EE;XVZl1khDVdSZH`|S+!xsvnI~by>Rkhd;9r9zgx82VW-}cMjTQ%*m^W)y{ ztj6&T^@P7^sE4Q!B^Jan^dZ0#RZW!^~eZf`$16&(9p7jLsG<9Sn4*l zrbhEvl8zEgWU!g%0`8~r>GE`&RLqz}q7=~^Pt47Rm`?ZC)5QQ2 z#^|%9Qg=b&8J2>#Ds9=y7~7xxr(-)*UgcUvmxov-aF|YX2w?f)sU}tdIu$T&0~&sI z(~c`RvSiqn3P4rZ*C*FoD6d}QAO#2jkOIus|NF261%L#4IMrF~Gh&a1n$A6grcnI> zQir72N=YrM`1TIS0f`bVr*U#619W1EnB#g|17g#G8OYkxS}z?2k}&G9dMt><2!}&q za2F|`o;o-SE)koeZa3v55Co8M<25(DU7}P{K4D<8Ucc~WcsTsshe-W0;QWir&Tvo- zq(v}oD|i_NU(yBma>up#h2#19Ztt(Vc<}m-R{m~}k=yP6yZwLvAr+Yr#6Sg6L!ba) zTF)VJE@4tP2jD1DgA80$rk{99YMEu0&zasSUn5m_KRRG6LOC3dOJ`{wEeR(FE;7tE z)Xv>%b?S~34(8vt>{e{S6=KCufB+(pAp=M>bTWas1`&uWpxHi)3xPmP&IQSJMkvW6E0eRW$##Ud zlV!7=CzEk3K8#94FqBWBC^`e_No4Zze3F>nj4Ut^AX}UlSc4c|Ss1Q16wy3Bz#yxG zEJ*x(&IY*|?hB3Bx_rJyUC6orCdU4$H#>MpU-2DD`{2W%a)MU}z@(IDU1E;^yEjFJ zQ!@bo0YF6uP+kG(K!({+CqiJhY6%FxN|(bZ%6k9%umlhS1av-Cap@icjb|F0Vdh>@ zr43SyBzS^KA8JvBj}U-J-71e{jTx$>!DxP~M`_M<6Exz*(#uCGbQl8c83e<{1Ccm0 zJzOX_2|Q6Vpvt1tRXQG>mj>DiY7yhd&kKgjnz_ZZhsv zp!U=0(nj#eBwNXc%f%VATA?@DUSWDBR=q`eb;upf3wvDYusJg>78m_PMj_qSueva* z;NB2Flr+;-7Km;GgJ*CugGyeGw3OPGGE};K-zN$AfEyF19h2OP!>>Hr^PWUj;;oU# z{q1!dc@#M%a}y~{TNKD7D;+8u4~>}E(7e28@sIYc?5xAow^ym)!6-@%Yi1lYAm&>t1u)$$R@g>&&l)a@?5gZaY5WKk{d}wVGorG0-oJ z^fHlZDhZZ055(5c&q zfr020>Og{YC>T0@V7d>0Co6##aR*1p5=>?A(Lecb($ynbfmR>@0A;3X%WfG|(IC1R z+bS;O&k;ly3D7c?MsW%<_f|*@abCEZ)|qh42%1SE|NF2683F`>Mpg3rs2nY^=!zAmo_+e5`Cp1_3A}ONCap7ZkDT9t;X0{i^z(@Bp~#Wmm*BaR%bMCicr!{A!KG4#X5@XX8D@{ z41f`gQ_S-*NZ2_EkfsZHDL4)ufrcPYwL&t0pIBh(4< z3w6a}aH%9WlMqFVN2}{ks40md*kT3lHk05m!UaNeWM*+<Dr3Y1Kn0kUKooa0Kn*gseS!`XMgjnI^(Ov zPe_qKo>v7e;a94RPp+B9g0hlYx5M|nYj;on8msGjAOHXQ@BjZlU5)A?05O8~7m5r} zc6K5tsHH{!c%6W{4w2^xO2THF7GJU(cB9a~FOeg#o~{&TNgmbB%bX(a1YqE4T5DOO zT6)V_a7@VTOCFEWnBUvVrM70RsT<3irlpmRhU@I+?vr8x(gKY<5D`lr217y6NkfC1 zTqr%Fh&F*ULD1U>7B*2Y4{BWStC8qJSG&?GY0E#603+O-lc2~3Fy1oO%jl7m=YxPW5;BkoNC-+X3KbO% zwAiA{Fc2=n?WrFB-_cyJm`FgKgoIs+!EPMEUL8jY_-Fxm@@a7(#$c{1ixLHM1;*^Q8gP+w zjzMUwUe4^4<`o(9QYK6S@CMKnI2pM!H8|tpSc&2iWz!s?z;fa))St56s#&PwynF8185Lx@W4#k9>e3DL5qVs(Dkg9$NlO6Zo`N=OmSg*9CNhKErJAMJJccR9w3iS ziiBb1UJ;QWQ)jStNrywDcm^use78`X5OuswVeI9!K3Ac`1pfK!H;Ekgn-?2hC{ zg1jA07tE;gt0FSJ9oUW~V>KnItj4pPgiA=XBG)P@#8$aj`&zGLT$>f%YEZd0Na0T}?E2Otu|(oG)qsh>!-*iODEUFdQ2yspLqY0+}O1s*G&T zkSb#nRZ`BUU1aJw;?YoY-Aq+Ls^up{garul#Sxx)Xzoyqw#X|DX3ZrA26kWFP>l0Hgo=uml8v1aL1^^9)O3 zkcUciVdh>^8F^7>uy{f;Au73s8W|CUflC?2OQrnJ9F$gI&XQlckO_S3VTdENFQ-a^ zR8v|Sm`A0o)bw<|av_AnS~C}tBD-v$9%3{Pn`o4gElhsl7$mvsjV82G-%CFACS2&$ zSCa4$P25Dp3f3JN&8;z+bDyt2zcAcGU}_m(b~1DS-}`p+XI?+-Urf2if7#zZ{0wA7 z^cw(Aij6lPsS~WqmL)qlo_NB%reh~83e-7WI@(zbSFRdTCHY~l=JBQ*DTArf4Gu`C z11NJjrm1$^E!n}|fEP~iEM^B1HKB&!0pB+U59L_>{%I%>{_308Yx|np+r|M}1NAfg zONX!VRL?!jd3}tpZyDX^9rsr>=J=xeWy$}&#y{`BLzUVGm}h&a=8iA`fJ{IrI!3Xi zQGiNVMD!pg`NoYeX9+ygfctG*V2s}BsjUt@iwf$5dwaAR==V-5nifN`4Lu%Nms_=E z*3wV`z`~7_3_{8!Frr;yqS6b4JZIq!L5C0rA+u9u$0S2ZoPoW}09ou2!(B zEinaUj9$~74>9P==^#;tNvvE>CL4K?Av!EHR)~>cAS9Sjf_#akPH%8wjYlnJtaw|J zOeYUJR(!PMVJNA3=6&b?hTPem%v9D(M((5+WfASB>3#}bK2b8Np&DFkpUy0KY0#(G&8|NF264T1!PZ`30X z8*q;3I=(%I!V*N$RmZT{N<$y)Ift2j5l1so?{#Zclk%6@6>69Bsuf3>eN-t6>XGUi z8nivWu1YPqrxnWcqfXm|h8?j#+<0mTD1c8yj=TYh;Yc`F4`Kgg7o_EThnU>{qDS7StT{*c+SO4+<{1KYMB9Q<9QwgvN06&c2 zt_XMtN255yp#>KtLbZvI?lKV0oK@Cmn?0D`wOy_e^6iz8fc?y>F~-KdZ@$(ZW|9mK z1uZ)ac^h53iHc6NjkHLbrQ&JvkU~11|F1W1-|R#Bt@zJbJ2f_|w^&)>uo1cE3^H^| zqRm{g#35lsijaxiD91XXCBYIr-$ng+^)zLMQ2YlB!UfN(CL(M1o-ZpY(rnW-BN5eH zv!jz(y^CB?Bxh$>zmS_tHsNF!7<26&?jGU}N=#}QyTV)vf?pPK_s;L6Ep%qsV}B3- z|NsALR9b~(0RROhyo9l0zsMzS$ncXvhI!MWTNI`2PGX4cNnqrmec^v!>nsk zhQR>~TUzp2@i%+9AViM-tvecU*2T8><#7ZGd~H8}?VX{m?tVpXM41IKMS?;2RKe0m z#3IZG#Do?GCrSY*h+LCIO=^V>3dMuJ|J=y3&hSD2GBqqibeVLLr5qAKNb4E8m5H}g z7y05(X$`oe(=4k!H=ZRa3Z>N`L}*lmC{KtGzF|_P)hyij=pD$um^j$!!*io9J zI&Qs-V;pyn*dx^#E>Xn>O`;*%L5-8}p)IL9l~*x{(MuF8tg^*8WW`jR?1toI%y^Ik z0xiicO5b}jIvK8-B`&0AvC7vd(u9&Kk$C!)Fl>03S}IKg$ReTuQciiLy~sw&-`dQw z>k6ts1n6mtxC|gEk^wzKM6gx~={jFCg9HU(=uD-|vnc&T&X~&fC2x4v!2T~(+Kb)y z>dd^_t0s!E+Ih&F)3`p6TWtL{8bsBneP!=@uhk{G=0M%*^l5!0ptS=F#&}5 zTSV|r#LUVdC}{PUvedOZS5iA{hMaNTAwA4CxpRHKok;DH>=wxxW>&y$|NF269DoGK zHr46q#*&t2N}N5Ieh~!ORcD#_%1JY8y!5s?X>|rjIef|}8`1e^hFI+q80e~qOkx9T z54-;a%|u)0eZQ{`L1^!8nFfn42Ll>noTtv#$)J<8WeHzN_S8{-l%qv$h;48G>WJHF z`_^})<~q`~%1FWdSNqTZ|N6K4X=`c(02l*UNdt+QlxhicOzsNN5Rf26hW{Zpa$duRn*lse4n2wC0e;^PE9*z9=Gp*Z%ol!&a}){ z%oTEyS%q8D^%cp8f{cLWU}g-mS)TXb-uv6m0t&DKb*MOCSdg9KGs4w{l=3Bvhnc83 zu(~O0MhU_NA?H8m-~BR6D{Udj=mogRE`a$mMA2Gb69PCEvP^Y0$6+oLH!hUcRx!Rn z7t8!rO)mp}HM~iN>t~!4kOat!X@lQQNJvu4Tim6+)g8HW&*F#5sF6 z$;ya=3%SDImvw#q^qf*)y67Np?!O+|L9<$g-xla7-23x6wlT?#*tHcE&NMe=nRZhk zBqu^lgaK?_$svL`K!{F3M1nQP2p`Ym^>AHVBOf(>LnIk+ip?1iy%MRuY?3f_5a}~> zHkYi*iwqu8wYr6)f=k{uqw-!^Gb>1ql~5scP|V6Cj)Eu;gy6aezyz>z0>N*u{m@MX zDH}VfO-_>6T?+TL)a-@SrO{<=Rqa=0=es9eZA~@3W;0bsX_}W*hh_*WF9GxlfE_@5 z2KwX+!jNGN#aXf>qpaCij1$F9ahyrO#V@PM=gc{S9et8oPiwKz_6p(8kf=pxNaB^cWu65cUo_$MvqBOrKylbmtAT`ne`_7Iu~WFsGq4W+Oda( z@{~I%Al@yYD!ht$g@kSGh4_UN0+5gaB%mF{FjoWtY`PpGlr#zC$t0V8=MyPnzQaU^ zh;G(c%T1m`E23A4vSMZbj45|4c{b|4lBFi0%w(3_`4?TW*M{sR1>pXRZdIp7h5*qh zoq6y7|NpHdPL*?JCh~K5p^loyDESO3D2Wjw%4CqvJnV9 zm#Df}z6<3mf~HmmIIS{Pbnzhr2XY_glJ3u8UQQ}`YF0?iESeRm9#qUia)8bVJakolNd@0n`)y54ow`oQ?%_h?w`Eq#YEFumOB@^%;1D;yQYVON*ChK)6 z6qRiURcoY!Cb|YEmx)aj-60Fwk1#yjx1fNnV0>p6SMUADt9LIG3Wki82eV^p#YGIX zwaAR3lEu2o9=8D%7js>0YQPiJviJaEkpv)_OwxH~1fw~rTmwls0IdT|O)}7Bmr+uM zmYPSeO7S`*RztRW*|w>b-9>DZV(h%o5siRh_y7O9y{x!o&pUqK4&zf|Y%8iaso}?* zc2l~Y^)KB$Ioxu{bTT2`KDO~^A&*WvT=fVlHg}d(QV<*(QicGyf;>mW$RlE!79c@4 z#Q;|*8w>Mz3nlbJd(M4PK?{G>%?X&-?bzB?j7FZ6{lyC zc#!cO;~n9`iJR+qv~~#B)+dXdS-LEJ&leQ;{&@fY|NqYtzg6x(F zvjf?`|NrDJDk40slyf>uXYNY`Hu;&Prd_$Jk^jQcd3M%+mWt?JW^_}I%Jl5YhC#4i z!~p1B5TF)Bn0f$|C4*UfTSB$*(o5SEirC2|BB{Gf5geUAfoozN9@6xmQ5W*nSPnMM zX_&XC`1!~1;Y&!6vjz3HtY)9*|B7V~ZB7}8Yf$eu8WZRc;xd~Xx_H<@m#yFb|NNWu zFG4AN(Kg!FY%X&srbYYZ$GSWwmZ$8*RuD6Dx#w<0p`5|*Sc-;qR1{1=HtQrXSPEiw3)O?zp(|Um-IpE3rLTp0se%*RXIReuDA>BF;BRpI%3lkS_@gy4jY2_*ep?*UH<6l6-atm4Kgi5Ezyu}zxn^aad)x z;b0I6#&in!~l9$V9$XVx|pddQ~sgX~Bx6TD=Mk9FuNzuUP_~&V0GK zEcTQ9ujF0hf3>SHh3DZ{>HA?~Vv|M#{j-Omo2t86kN<@|4r)7n1| zJYb+u+e#82Q$s5*4KUhMX{9}{XS=1|q8XW#k?>q#ATSoyVuOOiW69W+3R15yS&&=9 zCv+TGYAE}^E+=Q>WyH?FaTg&EOYe!5@A-mPP97qj)vWnc+SfDYTD?*2>t-{%tGhol zGZZH>yzCmE0_S7!{teeGltxjlMhc&v$1^iCGc!Ic_3bX^$IRuddDzi^dQ&oFh3<9` zJUFbZQp%Up%o;Z7l|^WFbW|0%AGrt~0V@-iqGEr1k^W>)d(9Po-}+LU3Bei8ixSIjXFLQo=VEr+dnLw6;3G(-OX{(r1v&N(9`wJayQcq2vt0MQ*A*l&`yeRWxK4xQA6NvsX{ITG?jue`x)7 zbJ6QI+EXScKlsg;Yqi45q6)XQ614YTSFO>~d0Ax;kEewkr>I;&X@DqjGV$dbGA2d0 zyqH~%7Y>*Y*Dm@d5W%GyvvF>#nx@d~ilzZbD-%rg7;(suEh62obva^6+{;^we&say zae|tc!a`%|V>sl;6iDWJ6YALN((H$)>6f(9A1J%(ss#!^LC8RXs+p@?Q_4O4_Ozx4 zq45C_lC0Vn55+}}G(f17M@PC%=W z8~`OFZDaR;zAL0qkVlOm#RT_*qL|38v6b5oahL&D1yn9g$(bU!xh%6qFY4J{p)6PF zS0oYEhBof|Z9++kp_z$=jw`1-<>Z>b0}Qz4w3HZDtqtm-wZDfQYA*xp}IT{z*OOzL?b8docRf z?P~w~umk{r6lhr0S?L_`lFJI5J%gSR#R*r;B~yYo9xAbiq^a+!C|G0MBVydJ1R*X= z#{iT&f=J3OMCiL7QZmvip}z5+oH8lfWeR9epcb+75ZHo6!s@is)a^C-$<-rDl1&v; zloEu9o-ClCEL|XTq|mz8`maW7V<3b839=RB8PG$Uz*{FI2sy&wv>v2YR40pq z$-edUSMko{)|WsD-n_zfql3#Bg`=c0nM9m_WuwFQI?lgZ-`{2RrM@}HQIpPloP$xHU6bb@C>GcDIwB5y6vGc9SpMZ62G61!S-S*R;hz2ogeqc8TpS^6GHu)D3h+(m(yCh z>po7=O30Hkg_xjX?uLj>EfjK1e)d;Y3%gecTjL05Gh?bj{Sj zDaat)Zy8;b7?KF~_cj_xM>G*xg?`Ql4s67(}%AGkg2OwxvTq}BG|9}7fG2y2g zLujpg1YM_4K@8iWhswhnCE>%G_tX^R(+h}ghc@r`dmsP%(nV)ig%AK_5O@&qWH6*D zT0qjb|NF2634j!DMAh>NL{O233YHV!Ta5HcC`^PUL2xoXeC2_)S<|7ZV)ratQBwL- za~NG)yT+mbc)twSu-vz0)jYmrmP4hB<1on; zK!QoHQ;hcNZ>dzN8>Fmb^W{a)jenG0HWw=s!_qip(XB3X0^s#vRQ6bXlva{TC#G@! zaE(H+z~+Rdd0Q9ux%Bc(*V8#&o;0{;%e`xV|Ni@T|J{PLLn5jv2M&-VYw6}h^%__* z^|hr}YAjH^L} zk_$Ai_jh8aTG_p0?&FjW0-L^m(%g;~da%J{|DUrL+a239$q)&R(+0;7DxoNNt4a%p zTEW84af^k-&ryiI=4YNHw$CP;Nx*efYh+{rFc1-LWt$)Zd^45E9dr>R)JcOrNXp=| zW7R6hl7avGumll+1XVm$a}P5xi00~xVTpPY0c%%`B@sd^D{AqCjyR$d%e+-3metlR ziH}OeT1J$eoC8FoJxLjzJxAN9CVgm12k>w$+?$QrX**+?5>^$8Vda8fVk@sttnQ6jJzO#hEC=~z| zkG#ySj)rOMYK;hw7`(c6?@ahtCB5(0`oP5Q3Z-BN6Fkkp5~aR57puLEbCot}c6Ko| zSQTbT_+Lii+!Oq@$%Hy6!zFW+T}5HX0idJicu|=x;SqvhB%we=;pqd7emZw`aRcxzoT<*$(X`Fd5l^3U7 zq;@>9i^%?E*Xt?vT@5(6dbV|%<5d5V-03nuw)RKwIUO6%?K|C8e{95^?qtrtZP!@x zYK~^cMr5Y=SW%E(^nCGV3j=yA3QUh!Uif^-`oT z$&ma`1O~u{5}3CbjTFo=sez!eRZ1ADEXZ|+W~vwfhY-qGkU%2HAi@J|GMqD+lMkC` z?z7=}p1kVot z$*7|@2FGGZxnrtWFf6-X6`mq|J01W{5*8&C7Y60s=@>iR8&+NC+Vry`chv^PQKJrCj=Z zj4>xjqQC|c(&q@#L^O#!ZA#L_WE_cxDTp&{{K*oDeYO!+;1R3E4j=&N6&8Qz&Sq zE0mE^CFVlYfr5u7J_AJ;JO)K2xT}|l2r4q#HRjUqBiUZgGMRlobh4>dFuKr^f+u~^ z-(EJT2wq5VI)Xb$j)@MAUYBZScuAms($WWc>xD`5`d|3weWA4~wnKx|!PS5N75o2f zUjOa&Ztmw5yUg-pNhoF@0DyoBc7_5mIt{6EQMgIzlATi49Kqj+tC=pMu$!1-+Sxx) znzSW>B);(I%~2ttQ&oo`L#~rO7$kvtm2IW!8A}tVq`Fb$>Ch`3{Ny{f32^PYoEN2S zBle==9OuujdzhkbsRrXWUl-&Janm?{sZHKBVQ#0;4}GKmI+Ve`|1aPE+%w(2e|@!P zSB7LGCR9ZMu?A3p|NF2627m-xT~+by8{mp(%49u;hEXLsTg)(V!at-dy@nb%f-kTU zp*a=9K)j9R(eOF|MNb(AgMz*r=Lp4;lOjRNleO15wQ-ei94`_NqhtGLuQbep3jfWK zLUuV2NgJb!+F;aq3`9#ELS%tSfnsC}4y8x0#f1vXnY}YJC(DFYjEWd7XwTOyxEXb{(dRiXX~ zA7E4CS*BX&sy~d==eeXLqm7oa)|32#W6!zuJ=i(3FaN%})?b~bo3-m(UUmDgbN~0h zZJF_zjErNssg(dy%2I_lM~2o5+ZQI4Sc>rlmt*klxJK$)+LYTE4c4(><^Hj{}jBMaBc5VP>% zqw1|&5@xFDyDZ5U)?2jy)NVF2D^=4a(>Wx=)Qz7%TETARiauJiwzDmCv)5Vfdw+O( z)`zxszfHXVbX`EKMB7($JG`4)#$im`t>1%ToxzxU>scIz9V?P|WZm_FM^ zyFD0Fx>ENsOVZKVoI_l#HU9mrKiKY{ZkIB?W?82{2s~Bj5vnMyTYHSQi>tUqgMgRf zt9QUmSxptK-iMe<>3FcX@T?Pu3_6d5IT)eTvMJwhI9|Q)F^UqzF|J-#D;J+Jb}L%0 zwF)iT-RrEhFz#gTcEy#R?os(E0YJ1#0~7V!yyrO8HDzFJANK8_*mIs3Go(3KI_4|y zJ5204#^#x1L{|5V+kTcWowj1gdL_$Z!ifJ&w&xU6fM$fU5xGrA0FjHig0UeZJx<$f z=p!`0v+_3M56s4W0I;Xk%EmQU)8%I2Nb%#wnWmk(lS_d`Wx-NHrHgjKXeU>dhN66L8fFUrvOYNNfmE9P~ zEf8Rp4NF(KLtD!M1Yjb-aSBGo7!h%jA%Q4#sQ{4iQ(?dnf($fJCV^-LC`WC-@3D4h zXCgu-U{D*tNdb7Y9^sh64|0^52QW^KKoKhVbSIi}k$~q$JErt(K zMkKD?w28M(p018}%h!n+Ygd_~%T(~J$B1T`w`AQz)M1FV* zOM`MV5s7EZk+b%F0zvi`CFM*kEtj^T2x&oOx+$5{MeS;375n_Ln~KX{O}B-{;OOeF z{!tXrf*Fu*`ew|27!vSo1Cn#?1%jfhlnRAFn?PgBIRNHART23L|~Vq$Wk zhJYjsGt~+nZ>-`?AUvwA?(XNw)g1K`u>he#&{MmU>kNxrzkQG zj1uIa6<#i;AmgVbPDa=!6|&6CiVk~RIq!|`L4LO&i*bBma>^Jk3bR^f^bVuR(L0V% ziwi2khbc=RzwbD|XWnBd?I498UbT}jaF_;AWyo0Jo)b24Gp=RYt?$0{_x2XXnS~7Qv?uhpdvUG;c_SYTM>v^EJ4LnHTc?F zY)bA`6n~gxJr$(CEOoxsYjtTQ+=NQv=m5+Vvrq>)6hVQLQqw$S=`e7K0T0eoD?H+P zrrc5LuRYH+2RZS-WU6WRDP;fqpad}hBz#cUa|RvIkgW>dVIz(b1j$s48Tvvkt7|!g zj;Iy7=TsGOh;}^&P+p^D;p69Rq*~cWaxhfEm|($>eeGEBB!pfdU{D=MTWh|xS$B0a z5C8(HA`z~2f(E@q)KR3j1%y#mUdLzI#1WnLSq)pJG9W5hf{|>rPbdhKeFKQe*lrPA zL_)bc5=l1MNpvWbl48QK1Cg??l%tm|q(;<52RFu82IUN2vy;_kA%zA4Q!R{);T;gE zby89yjA(03l!mlPO7gm5qIsImF&OuK4sU;sKLP_alA06ns4zgN5a5gMUf!~h1SXT*bti^81ApxU=IccN2QwFMh! z+z9kndFJI=Yi-SAy1UMzDUcvp8#qi%vq_gGV1WSw%_vP6B#Hf%RVflDZ%S~gwkP3g zN-Ry43B$|Pd}ZCZJIKh9eAHyMLsMcaJxqoA|nF| zjE@%w1^@WHmpWr(AOHXWP(X6n|NF261^@(lE!A@vNpg>Bs?K2}su9^6Rcx?zLN_gH zQKXLG5>ZPR5OPuZQw<7OnF^Widy|54^WO@6r>V1ym4u`&l!GYH%t{tCWYNAT4V^F- z()1q#jn#mnjN}m0Ca2Y{JqrH3XAI5f4$9y(XaE2?pAfbut%fkcWnV424#MDL-uQ=p zS&4vo+@~jWY#o=vzxM3A-S7YZ|9}3b9o5lLLI5V8f-9sNX(XywBzse8 zN?y_wQHw>Ji~O|yCn$&8+tP`7ctxENm*;faF^0{R;;~Wx#<@FWix@vNvXM=E$)^=u zf;F{YWt3txTijtX#}60|)&Cjz2rOKo)FTicJTS+lhGwc1PDpd*6nS$suI!&s`N>E0+1<^+gPg`wVZRaC{=#dFc zdU(JH606@i`6F#K7mgn&z)mTQu1(#GG9(W0QEVZAXbqcq@`O&YD933srPj5NE+;Y{ zeG0Fy{WiHv2m(-OC3!`Nrwn>l(%6!j)>-ZH#ChAyXr#>NbNTK(Vj~d~dR;m`e4i&u zNzYWw-8f!wO%vFLWM@3nmf1-9U&y{`$ zSX?hUhnUT6Rqiq64NB-q0Q?ns`?o^1*x%g6K4V67Kxn(iUzxuSQw{ILEAa59u zf`xu$Ng9reSumWZ(Va4fspEAT4S4_iumleP1Zq`P+YB90kIDMJX@jZ}=?PVAq;*P0 zsA}<)qL}>z4Ly4a^94wz`qiYguNrw;=(F;Qek;WA(mqF!*PXnuhT}WgW`3OhQlEYO zcbZhgxp63lB|TiM&-0@kHp>oA7;_~yEBEjD(mQpXtlK#$lkZTGk0NJCLy}WSBni5nwer5P{;uQ0b95@(1S z%G)-2AR>)}57Z)9VECmojM20>%kNA5qS7ADVWb(!2a3f`lL>%IIH)wRh5_irKtYh=1C`9eRVzbqaor@odeoZ`S!tIC$7reG2qHx#jKPEh4}}L&O--N#k&_@t zS5ec0L(>ly047J{2^wndxEN0w@SSD7_+OuAJqf$yND{6?%Xg7uQ=?sg+tnpnc1x(RBOV(+Ne@Eo=4A7aXcmcNw$bY zofBiG`n3=_F_?3OfNvobP@s)zThB`i0Q(XB=pA>KrZq7D07X@B-=9yfls~8AhelO|()cHG}xhi}@+5|NF267XSp3P1W-ZH6V~_ES+O`oNe2+C$??d zwr$(CZ5xf^W7}wKH*S(9`R0D!Z+_0N*{*HPd9Lfg+9zkNDC*EM$+R3PJtvuH z=s@TEUG5jq5aA2`?sU>GxZ;0>^PurG1P4ZlcK@55|4!+z!ul=KKsa>T@DzGTrl zXCB^2qx5iBEXCmo(Xwt!vbYwqF}8Uqyl&ow-tfGUQxZ46et3Q5rqzs3AE&U^PzMGR ziC=MEax`eQXY6E4f6Hz8gPRD?h${gV6QfFC>R~!B2FCdUB8zyKV8N6(*q z2O8S$tcAEgX3EC8GfKRUY{@D!>dVVi5wEw)tS*n2fLTN>wh~O_sLU%kP%+yV`1sAH z1$VP0K<7Oy#SW{g-nuS+(4P^^qYSvXNOZ7poVqMw=|fw`IE?(48nSvv>t{V{v^4 z!_BKqtBa*(SN@K)I^mLH%)3GB6^ITZL!)kCdy-X=GAPGmp-&Mky|H`O%Ty5!^7=0! zw3hy)JIE1cJOtE_|APQO`AVr@q7+a4ABmkb3{plHl+a70ntWmZ(~P13UGPc6vD^oo zo8_YEF?nyk%C9DAZe!fi>R+k<#U89Yl|_-zuD&0Hy+sn3@3hiYork^nlu*E;$L{Az znCw%pZ4YMdziA~zh||4p)9+Qf?WYpTiFq z&c~#N-uoA{f>Dz%VAo&3u`1sld1;zDq#t5hk&=YB#m*lCyHZ|n9C@`D1C(dKe=pE; z{M?gpZT_ggwL8S!=W)$KqjAT-^YC&Az7*Q0CW~igCb0X#R*QDyc~rtMx-XFuNZEw# zrOuD9LH`EF3i6fi&RIr8y5c5WICY%qNCWDU$=#+s)8_KQ!zV*-{ z+i%p}>G@OpcL%+C7*-86e#wv75jqSa^&8^w6_k!D9c&gIty;k=XkE;V){fvdHrBFk{FLa~qH|jLwP0ISlyFFi;wYbsaWe4znbo z(lyAXj$Y%8e(gEExky>kT~#r1*Lp)4pjpa}J5Z9ClaeJ;zf}tHfUS{}(UK;GQx#Qg zS<5aLmD=D2#_5(_x&v$#h>5~Z^$qQ}sV0z^tKh>;6}&a{l1By6Yf3 zDxHqm-G5)(zx?=ae7;P!wrBxj0D*y7Kn8^9JQOY+Ot~8@Y$Ksl32Qh`e0sqd|1{9? zn-zp_obdFbBGsk-=&Ah(XM-DaT)mdnl5{HD8ijZqIHm)epBv+hSgHgaPxxr2$pfn} zQpEl=&_iuR8}m=1%dKN#^35ej@LhG$T)-Z@q_H~7a3Hse=%_EP)q*DB~Y zZTFrY0>J3ij{RcS!+|>{^t9Wm%I{N4=Q~+dOA;;zD@V>h9QKy{+t#L9rX*@vWS08fFWzJ{zu>)tgvg)g9ek~o6kwxzuI zk|jsGH3b1*j>N%(G#c;?_rwB|(ww)>g7j6{JS4hclb;+1jmGd%g-q#q7wv(8^csEe zxqH*4$kk)zObnO)IiW;3uu`!T2x?~Qy>fZSYg)1b(4 zZ%Ud&K5+-99xdLBW7r}D)p`=V*TLoNTErtQ!bec@Z_~B8XlCv<3EIBHqbB5r5~czk z(}*v{ zdP`j++69E@##^%GMU&;!^oNL9rZj!!Tc-7Zi6%*;`i0&8)^)5G&&2@{kAgLY0LPGy zQD*`xp+B;~qKXR3WO=?t2=pTj?z+~55=~L{vQL(%`z^(?ah|Oysq0v!zrK3aXb-#E z-vO&qX8gke23z%5dnBX`%GE*cazoWEC;GM{0HV%6{IOvzXQsECcRt!$GNg9mCf3i~ zZGp@k?-cxuRcnrOwQ0s2@CK6!!TcyBcWcAPw9Od{s)IgiPOq$P z10mrEO^pO`vpHK5-jhD^6tG1)#V1hCqcIWjJyH%ZA4oORV>hNT!%&z4u$-s1vpVP6 zZ_k59%CmR)-*!Q{<4;ouJNCz>5Lw6qO!)tuJs@slv>=GSLZqHj3G!Dbo@l?XLH=r4 zUXu30DH^#-Yf>xCYT6c+gVu{Qr*?gK2WAJySn}4awl))!j3Cwe?0h_{WcWKbL9+xw z?hj2)&yD9}AXadVo_}V8_l+aZX`wzM%(8Y;(Gr*LGN zR3}=tsk|iS3h(jn!1-XOGjkQ(ieJu`F zrw>jUJ_N}Kfs&H`+DXf@#jUd`j~Zt2hS3Ji8{*z8?pic#xK7U|V!xjPJV!NUfv()2 zOZT*Sf{5sXscCC-R!w36T=nlIXX)~%XI&bmwmDUnvh^wX<;$HAB1!=)BmgjxPVPmy z(VvQ8HuWu8nsWv?gdltM9xls#7 z-pjC(%6(9Ox_?7Wh#_ZotzGX)1+(f(qchdPVDRH#M;-nR|1X+;)DaSQf-Ak%ov-td zahTW3PK)h7QxA(Ka@NmdsIqO?c<+11Fn-MtS#7IGr){a@g4MVI#fv|W@Q@{0XOmFZ z{NE;#YWjC7bArudl;tDjP#1tB1QQwhD?&y{R580Zn~P_+UvCMLoIvDW?pnIjYm?}# zu41*~SY9B$9BkrrVn}{gedfewQI=;M%Ee;30qbCRIp!Z%#{Fq#7*RcFM$&~bAy9H{ z#^yz*5+;BP46X{YxDQ+qbxBxSV?dsF{y)VbfM!fJ|MOS<38(V4X3<&dg6CR}LNt@C z^$dOy$W`E&8iY|F)#`b@4wY=kL79U>O3o)g zF6=7YStHbxc~W8txUi^eG^g}}Dy~TTYD6QG8M-9l+E$x!kbe5+#-O9yktScLueDCCE!HIDn&Vo#YQ=E25<0Ftcwa zwGcv!S*>;NCK5MR2HF35H(_UlpOHJ~Hr_4ha!@RgihMPwzdAbK-~C*@oc$65J|~T5 zcW>Xm{62*WUfRV0O?xOp?hMgwMX>yN(aTWlPu#5urGa&>0eH%pK2i4gWT)cTi^V+H z#=P1Uqe!BhbSF?UN_T39hQfLk7F%nWht zYt!QlUwl~tD*^0iG6o)X<~05nyeL0mQo~ZB2UNzsHp=TCDG>xstPZH-9T~)ylaVoV z0;&I6rK>-LmRtYMKU+`j*UDkFb#RfIO74rj$XMA|AU zO=*v}jOuk#B=MY=V>17CR+6G-p-5@B{ZDaN07ze>6^oq^sH1UWFjF!pM0Lrw0Ft2TC`i@9cPfnGK~u^{Wsk!00o1Y#`fFKx+>B@AYjV_jBR8hiog@XTjOB%H za@`GTryY_4;#t3?H#L%&kN){iaOP&HQ#(QD%VU^1(-48EV z9nOxUhS4rT9X@S6j@;o%ak7 z)ny!?t$N}nD|)p5<)8lagRyP)tL&?D?Q8pMj3l*GERR=wRSav8I2rbiP8h|_UQl8% zwyBssk_~<;K4~~q7txQBv&+;(>5N`sctpQ+T@gh|b9utJOglf7O4YQ|`g^bLhF_tz zky&q9rizccd2VmC8DB`7!DqCslPaZVqmbEGvafTMucwFm z=+~ujj3_XJ<$Dop4m*B=n{`o9#8^$yl5Dm?A3c0Y8Y^q|BU<{$7`qE;+{CDrWN91X zBXps9A?1X>MXeld21Vhi5^xU)d%s58_Wx5H2>{aaKdul_Y0^Z`jSxi_THTt?7>Fyx z``unG8b3$i8{DkLIga`hI74xJNEFQ%xwLn085XSpXL;_=C z#g&8ilT=W zO}n}6{nIgkB^eI_zqMnrsFN#fn=@h-bIp=)$T|kGnk$VjI#u_Ne{As0?QAzk(j-Rw z;-+WE+`%iZ+u*RJ{hkZppW#e8HCmHd{-spAhDVe7U{u?85-4+yFX;8Wve0t7|6ic) z!~5q(z?3=IpRf%GornQS1)J;eAN{F4;6vJDVC5{?(0s@ub;>g}$p+POZiapP^M-Wp z*yS_kM~ak`@leG?bapNc#uq+r$T*9>=6QZ%!1EiFc3n5P0YNMKwr(4G6Wbcx@WfU+}dE*pBC>({-~Z}`wM%d%pk zVgrWnvHOQ5>(|$p`))-&puh(Q6=A}5Lf9Cts||lFG@W7s)jE4wPQX&T#~`;Mg<46_ zQXAhXXh45~V}hi$i4~tZoO44d<2IMlUgt&8Nq&^un{!KWPHGB`Ml*}CbVjjVUM#nn zN^-?8$%hI(Hu=v}a7aNS5@#RLw-kTu1u!Bd&V1x}zSr!XwthYEx(4%rS87nUhZ3wP zDBfMSjpmfxGYY)T7XjW05JF577j8wN1C0^?;Gx_U)6uSmNItSr?JAkY1<_-&g*FVofiI_SJ-;{X?z< zQLJ15%AP4eNSCrbDUf2zPfpZwD;a0-=Fj z3U{9j9@y5c`*ROkHgP_hq#$^)mSq<7|1t|fQ#YYPs~(74>`5^68A22XX!~3yAf95p zM5TjYOw#KcwkG^yiV)8-8?({rGp^zpKWy*;ilq4q{h|V`<-&_zNLpr$7 zqnCD07Ct;o@+4?fXIH|^u+f;M7G}d<9Xnw-<7ZngM9RG}rM+Do88zLo>8-85a>~ba2Cq0Ac=hRC+ zR+1UCLE*#6)AE}+W5kk8`;v)0HMv%*0F)3>QmoKWd{PU5p~Rq_6O=E5KM$L>;m|bT zoqn*X4(@sWY($)V@Fwx*Xq+cmJ&81R!-{P-u8b`Fu$5d_%q~|NmZ_r(l8l3^QTKHT z0in@Rhbr(?zE|t(-TU#A;C-F#AGP*>)p( zKL~8D|ABYsYjCjwplX=R8s&QG!QUY+qt3Vrk`Z2a12iA$og3- z_K^kiw-4t^g+sFQhFf~qW!rjieYqHot|3Rj*ba3u#X`701Y7a-{&Jf}tUaMmJ~IP| zMN>{>ePvO= z-k@*_p4EeO@kN5!7l#+h^v7QR}@? zXqT!B33mH?K-D3eqMr}JRbg0Fff*4TQboR$aBtisJ?gH)o1UO8{;pleTj6KcpL{D5 zb6rj3Qd6g2ER&fQ>c>)WX40ZYiGo`wY)~2%>)&&X_8{%MvRGH~`^NL!l}A?H3F(z& zhjKk<328S95~ia_x{V_;OWk>gmxCG&E1K7`8 ztW$puz^xqYG{-ZN=qr?sk*;10l6risGpR)ZVEUwHsHjW0Q#j~-Dl5e}=?9i7u>pF1 zG?x3+>!C76SK|H$%cpY|$4xJ)->9biOlkg893eQQllto232}JLxB!b#M2?!{lhHJ* zue=nQ!$&keUDBf+8MIs$HFV1l;RyDJij;#F$gogAfhh7LKC+AgMlB3(Zf!Is=N0*l zbGvM+oUdN>lgGPGWR*yFCjW7&3w|1L?Nc+>C~b*|!BaK1j`E4XKi%cu(?bHFSqXP} zt%zbU+n1JbwO(Z3 zjRlL~I~5UDJ!x~193ABea4*r2z#x4M@;)_pcd(u(0c4q|t0mA^B2TcZR*jf{XV_+^ znX;KJ+gVgv6cJTBO3Cv%!af+px<(*WGHmM3t}*-8vz^wO6jm7DHpO515qbo4f732A z#tq459rN0;n?VENc6qnlFr0!*nqsFV39aOiMVbXGN?+v-rTzd@|Bi@p4!{W^CdA5Ls9foM0&Ob%vgW1)%gl7`B2w4Z_~ihy z6@S77;>r`Oso#KzjF z1E3r%rR{Tu%^X4tlMmoqH2;#4{BpCvlt(XG*fc{~}IfMVa&xCweNEbsf zjT5|fd$5JL=kmOJNB$|fj{x;)Z`!-)&iTWg_%Z@TR8$QEh7tgm-?5x)&HYuL`F@ z1XRS&Z9*!~I+xbLPY{r{FNJPell0Y{AVE9#$Bb3ewTRsBPIJ}rszNH8HzC0Tii9lS z(BZlA=69n~=lV2RjyY7sCtb{G)U-HWX)m3d2mC8{4}8{^+JcCf9}G+5kS z+k<#}*5h~zPklC`bf~P9f)n3D4z&!F=t%*T|EnfIghE=euWVcqhbPJW@3vD%b1=K2 zbej|?bNmsR%ohPyj1f+YGnU%NY}uUBn}eEg0Yoxu0m_$66N1k1{Bed!oi?&T%Zr3VgTn~Z zUf{mWtj~UwzHvAZD7ncBst2-Pv1fUG5l{USOSUnoRdQx>_^Q_6lw4{G4OLL1L-+uv z7#v`5PuHJqv0z$HXR}kv%^V?99hr8#)Dy-&bU&L$$|zD%zp(&F(TnDcJ5c5`a3Dtv zFtKa0Kw*?MyUMcDP)n#=X0i`cEq5NiWHI35(@tEF{hpcS*p%ZE(F;mO7&b+&X!+z`c&pln6;-mI z=W4f`nWhr39#y5~foUtQ=Q&H#gQXBsK?Bl{lrhl&<)Hw0@gy{Q%v5-Vx=pxEyxVpP z_3Z#2=|goB$_PDiCrU;hK1Rz?WO(M4$ZGX?#egF#A@A37_UX6H@80P`-{zD2jjd(1 zi*SQo={;E9-i-kz$xmvmSD^r8=_5!@{EiN5_;9bl(p&l_hLK7zt`)ur3&-ay_DKuU zlt4jr;}%&d=~56)QQ5TIHIR@II_x(lCUOpb8I(0W?US5_=<+@NjM3j_g8YnzakQL>w;fU_r49eO-xZ;H5&{9TS+u{}cQ%u0 zL8nRPip#$bD5<3xmblOwRnci-B){*@Kf5v6(iO_XV^hF(t4Kf_maZ@ua)({n!0btT z?G9HjT6jF&io|6Lh*H@og&QPddEN&yfe807RzZn*IoTzvYO&D>RMYn%C9H{>0n zC`lr*K`}-lYcuINM38E zFeNf}hz2^9%F)Hobn%l6^!9F<@bo&gJ83-od_5L)EV4?~3V*d+%@wgc-|NFbYLEO( zE3*1Ds8@eb1c?MJgcOl31l^8*-P|jV$%&^vb=sW1;*98q1$or+b)?H}y%7{4G@!** ziwI{*2zjolq}i)n8M%O@)xaf`$ZX z+8tS!Lop}~-kjz}JmAkY3dYV0HyK2JPh6-K=HRl@P#-n8Z&>0Vi7EAje!e=F3GZDK zD}9v^JyWiYXwSmUDVn$ija={F*ywqC??f|YU9Ml>(K#U_@Z6uYK3-vcF2d`b)a_Uk z5Ui#;-AOpWr?LI?5>jzY@I*Cp>Rx*x8?T$|!wC)m%c@W;Ln~O^h)Aa8Otwj=?$ot* zJ?@*&a{Q~Vq%4tnEyB#{AmGN(mha^_y8Z{}KgAJ%Q`+&ZK7i_1DR4cXW)Y)mto2$p zeKV6xMGSs1x!o*SgXI8nvSE@2NmFYr=`PdM=UJ51e)+(Pwy9JxtDjFg+Q`eL%#51Q zrV55nVZ(f+skjHj2*Xou)%F9V=gNKR<33qAoUe=6>BAwGL}c){usR znT(H^Vq&TRi-jC}6xuiHT6acWNQ>h6SUkQ6{5{HRDFf_{Pr60O-40nS?`MIY_gRyN zGNyl5W5?_Ko2H#pN3OfhRxPK#->7#~>@+=oIA{l-8)*+ zu-hd>6&i4*2Q3xm1~*KT&pubM&)zhO8tu?%Z6Vo`j3FosJmP9CQ1w?0d5IKCnXk!4 z^SL=P_hgyxcvfH;EvDt+aH-U&5<9$i38WR*_$0M@>0H;Y&x(fCkvi|YCWJ5P+dnc@ zzM7yJu3ieWG#ptnQ*_ZatQY_*Iz(hVP31-z1umYNmHnFC;bfr-7Ea z1+FG$OmR!)2ww5mB7nfJ$!A0oPT!NG9W zj9Wa=GicFureL+)m|vHM*_Ik?0C07A*ZuOn8D6O#6R8LVTs~vfHtq6NeY;!oYQ~)e z$<_(}_DhHjLig4w*CIX)iMwu5kMd0&7_PA?HFoiIx|WiW_5tB8CvStL3|H+=#A?jz zE#cpu6%kk>CKODmT`$Lt5v&oNRn$4DTD#uXGVMMUJvK^TKBr&4Uy8E1Ata|C?Nbg; z&rX2#3vh7kYs$dFgTHzz@Fo|2jqDWHG!*3`a9s_BTpT|#hQy10U@vN0qzydqaR*IH zxpx`Y&K;<7!vG2MIQ6s=&r}};6=mxk6q{QyGDIuHFQEC-sQJ2YaVOazIU-QyDPyYy zeA_B?IStFa^PRf!of`srGq3yThzm|rgB(KksZPKCOt*Znf5AAtjmje8r-tr#PBjX^ z<}@h+hsiMBp<1+$(WA9h$F1vDeQ#`XGBtsM%6BGA#6_^K32>!^JaVY^ag&6o2lDu( zf2rqAwWThudAk5>aj~3Y*Fi2gmha< z&l;WR*?j%!%;|lSzsx;lwGZi)R$FYw4~~vn@s6|gq96scSL-y2udr2hYH<;225PHj z)EPm2#UL^n>Jb7ki{W}Vb&6g*(ZM7-4OkNYzZnQfBmUI~kfTq&=(#Z+T2@f z`B5r#6i_P4uBORKH}&T|988g7^=)6{(LB4N|kMd%MPdYpm7@L?p>FX9dVrTojye@|1W~tEW07 zE);O-(&_57oSHO{-&^SN8~T^y^=*Bl6f0%btU*8z%Xw5m0A;pG2#Y|NQdh{@5$B{W zmz%y_(j38iNu7nG>Jfi;2x*R?mgAl_6#HA}2MtwT5PEz> z+Z!mQFQWL5VSVk^^-^hY0Ewiy;i6)m{Np~E(6*Lmu`M4~JV$NiYJuwTV3>ExXao6F zcT2%@+3l&391?c-(I~h5LqJM;>79C^bs>q457#s}FIZS@#&ETjx;JoGM3vKTMS;@f zENJ}u+}A}+URMkU03b_4Svo*$$UPw%YF72%*#i#_nPRE)j!4*_6qh$^b?B@X$6z*1 zxd6{ZM@$ASwe_qSPnG?ZBz?Y>?hUb(H0)0sGuQd8#6nf2rNu8p@Zp} z-k+!f8SPp4-!iV{%dS82qo(I!FWN;d^{SUz0}CL3=(;e-4YnP4t}b&YQ~CAI+^p8g z2ukJAMj*?4qslU^`!~D|Nr7+eD~>n}N~X89c5$5;mhAgxM{Pqi_x$h11e7Hb2TuCg zkM^tcTz$ECSLFMU!2Zqg_lnr+oG7r*qbM;_GB=(JOvB+`RVl-*pGfx^bY(ZsL$1@n zgT%#kS10@|r`ZLJ`Be0#4cY@!Qbsofdc>x~$|WU1G0}JM#G`IS!*@7J$8#$=ZPTlB z_~H3<_KiDOCg*rh=^A*(I4dfb4)6H?TK?? z4w>IMYvNXdOGazKph{DLOJ&B9m|lI{w3>L-{gnCef6$)GqmvSok!)>1k*hv>l02oT zKSzv~La#Texv`h8rGtvW$jE?9rQG{ehfd(xH$c@;V@YRh(1}N_LBORx@HU z8f)^77h!YkdraP!Z~o=a+Vj96sVtm)IB>oncTd`$jfPt_N@07HbMGZvwlCD+nG|>4 z$M-!xmF`}jYH&URinTtzj_#*=?me2_Ws&O5HZAVBX-*TYGG|k9tzx+%jH)Ab(*Wsl ziCTXRI^~DR@-6!vVyGyt3@G9Vane z@S_4Py(+4>B(xrE4lfd1AMD~7(#BLj0SO};xA{bZQDQ5=MWgFvJ;;2McV<;=);aeq zkUPL#lJj`6(z+dj-mvC-)xFY_+C)0by9uO<`Lvl?6L3F!Nyo=vnyYwf>hMRGWusLo84&)0BlmIKoqf0`z( zj=$<_i&L}}I6%1iR2Bxucq#~XZoMiP>LoKQYUr>&!BYazH(0k}*7?K<;mtQyq2b=N z+mib0@xleIa*zGBnYWav+eF@i$;YorncBD(>@*BueG6M`=||8dOMcTzS{$ zWvOH=rU}qHlD^QAO5?Uat;EE5>xcrtb1@}uBAiRpH85*4>(CtpUCLCvi%u80`*Q-X zG*Y?6{S&|GTHmX-c`7#r3bRVeSHq&jj6zu;%m1f1QgBKg0g$67I7p!L2RV9Y&}J-% zfDj1J+~UynfD*@7e=Jj$Iu)*4{M3FTGr|p7x~jhIwP!{@I3KD^P|{BdB&X5|og`TB zO?F}uXwgN}tSHOmsu*qc6B3C3xB>(IdY${c)E9F4@QiRf& z)o8F`5985CY(v%T;Ix|;+$_q&J_TT_5CCq6 zyIb&1xrb=3QwQiCvaaV-{>8U%l{(vbPd13}$&v&kh09E*aZ{f^gsQB^@^ZLP0oro7 zVWS9DVa3>pkeETyyo(|-6BT5p@+H+5T3ZTvQHtY{CmiGVCe`^Fj^px5TD~*QX-#M& z-JUmh6jN0(6uiood~*33f$y6(iPsDa*b0Fu><_f))zxr3oS3qljBT9sX5J{s5;Wbp z{^Tbo<>W~AI+Q$>CV#A_MniOGZGJ`ly4N$rvf5u>7JDYcCy~OY$8Uv-3QG^NYJ1*0 z6HsdC#@h3#^diz8uZhEIX?J%aj*;uY#SHcCbNu3(xW3PsdZ^55A53xND)yAc4#F`pur0IFZbsyF)> z{WqIn&gS^6lRlBi`1rNt;#AR7+zkBuq4oow!9{6Ya;mc#-W&|_NdO?m%%Gzqd*sEOgy;4a)G~Yr{;G$&wd|tDSo8RCk zi0YltzbVTEhim-zZF)vhsL-f$w@BmbBY);A@UQh8XjncNh{3^uI&6ybIVT>^{BMdu z2AalfUlgLRruKDS5+3&w!4!pX>gvZbaA+i2sr`-&6)fxo3r>;S)mVU>sESwDJTNe@ zjnEg!M~cfDT^@VxrUBpm3snoa5Q!w`x56I|t1-XE*|S(X+BzpPl(EshW4?Q%yc)b# z@QsTrMH_N$At>mvs>GSp#+`fZeL>*IG{@2~douvQkpo7@fbxd|pjkx{=^7aOw-MLk zIJBUxxlrcrt%g@i)QH?KJbo>sz5G%>b-&u%1#Zo~x;hv&qgdZwzQ&_> z?w&iUsegaJ6}cu@6T$HFJ7!QkwpJ7*0D!6MTZ7R<0Vs!j{Ue9jF-?oei=g>^dm^o< z=viT5v=$Y_=?#7mb;ipvw<9OgdKALN#Og!RBHtDZEP(V|dTg9L^~ z6t>RNajv1tw}@6C&E?QmVspKt#ZaMY)m#4LA^)d1=upZM104@U4)>JFUK9{BR_#>= z9usHGbn0S$+A~Vg47wz&~oFfrWSR`ypCVV_Lig^zZnc zFvB1UCV!-C$~gM=lRO;gr6=cOQsU{Qt;GhjT8Tw=Oy7<)Nll!HnnusdX?=|YEvWXnaTR8#4%Cx3f0Shq&04a1yL!mQB<53Etqpb@*R@if9|{^3DIsdsU0v~ zMuEb^x~7o;snh5NC16Oe$-l27K}m_~*rhvhsFE6(%4)}ypo@UTYwhY6qdkjyjO+(dg{r>h{tm|Bz-54gwi8vncMi5l<{)k6Q^)m7;77ChF) zEP4|u0GXQ+2B&=B<_V9EXEPX*Z7}kG^LjX|9O0BtpYV@g-d9!AR!D`14 zpsbs@c&_~ac6ho)dF#B1Pw!kU%{kS%Lwm&g;I%hAu$a*yQ60&UBNk5i2VzkK1)&kj zcr}xL=mx%_rOPmsg@CNEVnig9k>WtA(RZW7jO)78ed{QtOK!~!Er(YhqJr5c3g zeNZk&(>cA1?M)g%ygW-3SS7uPZl+YN_J4&sJzrF}ILiLw%bRVV>kFq%s_k4^0CBDl_gPaSQ>biBT|X{FdAT0BNBc?2P4mlN0_4a8)khwrJQ%L1u` zpy`6rwhQlf5@VWRtMWJJHK)^VTT9}@j)Hszf<>l_P7!8e`Po+BmvFMaT|M<@yZ7L_ z{U|9s2D(@AX>$dRr;zNwHwne&1BbbTrp)-$1+&ibQf^)w`%@Ym0$Pk4>wOwdIle&Q zeA=CmOsOA8ExP}hH0h2=pF}(jl0AUDU6UP2Z7(DFOitc%O~;uiuQ_Wb6}xWdQ(U@b z4kkapysDh#U@9IJ?9siLg1)vLA6>c<4+_QXqC_s3rPCs64B}$U#ZbYsg3vP8(Zxe+ zkFJd9PI~ne>VB70;73G{_uu1-6)|*^D`+1({HHiQ|ttn;6iHX@oOs5Ew{t zPLuq_wY(1~p;iSoRyeCiLmfjK!%Lg6H6jRc<54BGiB#Fl1w398e|uadvi;oXO{N3i zMHW_vf%|Gd{CqGcYJE8L8nVA4)1b3;5%HB5K)LmMM04r+z|7YH68C;{^=cTTvg^0Y zwDvuwX$c83STHS;Fgq4gKUi3rcye2d$c$ISQh!4*Sx7}0pEO}(a_PGL)9gB}Ib!6Y zP}dY!enE8wWqD;~8r&Ko<_)@UecL&*TFO6z!}r=DTU$RFA*<$+;Keu);84^t5%qXK zV0{i@hN8kaqd+Wzl=f+ik|X2iYI_`ENzJa-8?yy`?PVj1PL)fIVMY1s*jhEqUSffQ zmbLrldarQV5f5-t1*4c$2n?MDYa|G< zGf*?vawuAja*Ni1HS-nwv3tvKlsM!cBV9{r>=(=oVy{&N+#r}M-fAY)#>-6A`B+4k z6urIieOo{}<9;vyUHv*1V{Ih?+HS^>B@b1BeN${8aI_ki&H&TPS~9JWn(SmRKXvaV z$SjkL@!@XUnB-1RTHdhUtoP98nQou(kZ&xxDPSpQ61OX$^UNcOYIl};%c#nAo=wPo z&g3Q?_s>HEO^l*SBN{jclvx!u^x@+0wqtngx}v9}pW@2){3dZn_cX_6rjO3%9_Iae z@zk>0OtNAJfGMa)`~C(;7KhY9r0?Jz0Wcq+$mjJg-u0=q_@Op!m$zteoId7-J}MDe zhoRdI$74`ogi{<;K%ZC))WVG+bDcO5$a;Le??F-nAgff@p3F=EnWywSb*undaS8>$ zL;w`Or0p$N3gC*yu+Z+s?cu5(lCP*Xz$66KIYe}chlfWpOT``0ulLE?q@~B|$Cm-# zmvI^S&WqSog~CpV?B0YcZ-HV3mM~|;cTR9g^O{SaoEUFORAgxcIK1=)uxqOV4lPVQ zTm5eGivhr5OO_8_bL~)dQ-L1Q3yPs>cZJ2eIm|$D8VO1N0P}E3v3!eb+e9nt6Mx5Q zECWhhOu{9D;}6z@3TjLZ#t{*H_r&S7s%twerq$As+<;C$r?0rts0`*#0ti;f{^gs5(U!-H61Q_9AvR zV~k?Wd?h%$ckXdLDeFvn)pb{?_gRl3a$CTK?oDK`hhA#MIEVozc|4ma&Ii$rx@<1N z+^B!e*^$PlomJ>BMwqC;Z1A3uV^9uk#Lf3EDxhLxQd#fy572Q|sP6P%b318x9s{k2 z{P#H&(!V)#G_%(V5dOa}zWzl6{nI-d?MHp?n=pPh}V=5>V!Zww1>_M*<2oGpv3%3%d_n;0fZ@k|HzAQ^&c zf}@+X?Q=V6$BD;;lyA#>WW|?5uqT9941ExlHvAFR3^B^Ap&C3dD<~ui2?-v9IG({L zM+Ze@Js)kQS1UL*!m>!lMi9}6#72jST2nuZy=r}2Aqzrd&;%`Ea~9T&AW9(4kYI&- zc{5@X|LOBVuU?gtx!d(4o3tHLC=Wg40j4aozqe-(43%V!GWOpd+77kEkgTwKZq@!d z?3%w)#?Kp#4$ePD{|c#oS0Qecy`8jkm~zkpHcmIHk5F+gb~Bw7h~Vb5;$`%!_1I0d z>DXD__xKaq&+q>D|4;5=@xp)vtNGPn_Ne#&e|0fQcg)`H`P85>d2Rs@2M&t}T2+&z zmyUJDrCq{G#{rs|hXXzq70GEZtBSEa*ED}KGB7aP2egJBjgp{3n-D<&@W4t)_2N== z{~t}~6kS=@gzFunW2@7#ZQHhO+eybs$F^!3FdF*i>w0Dnu|j$TZP^D5MQ* z`my}$Ozo%-vjU@U;2ZP)%LxL2A8287Wai&98%7+K$pZi?C$H|-AAeX&3Tp41J^*^c zl*;dQIGOeW;Rf|}q1p7kE-(&WY3cA%Nz;TjiKXSb0I-5FL9(!ag+rNiMvuCP`+NQm z)bfk$I1=shos^2Io7w^lJs;@pQ{5klw`eXg0brAU>%0s>0-Pyp!cGX4319 zTSnEK4C-KXewq>tBKlqmAjG{~7lMf>T=5iUSOL3ljkeJjPSpJ9J1I}#x|M$qhj7X7UrK-1^l{PyxXa3(~h}X<> zFgIN`zOT=am}-i)10>`Dz#+oskh+2ZMq9=bDq)hyg-UfC#00Zh{dqe`kOh#S@FYTD z!6`9Z)tu-*&XRw8E;-|JK+o3Iywa7>>_G(QGxUK2Oz4QlWKoJ1MG(_i0MMaELone& z%}`+s{hY|m3(WpBfvH>+6i=MCtoVI|B;Q`dDbtOSB(hHXf;e$jmEWxBzfff3XFG9%N=^_J3lc$EFD&Abny@wknz!IqbDt%Fcs{ zoFL2MnxBbM(8S%u`0$I<3A4EvK>s0Hty4cDsk=*qScvJONq6Q^%w!yvgd4{R?5}yg zA$%HN$uI_Y*geKxHL^{CHHZpdl2E00%~0r;RlSmCC~- zqnT@Tx5GDrM^0!WFK>>Qlb`tiCym!{M(`+BYWeTQOVG~y{~h(dD*Zm<_x7${;#One zz(glCl0OymFrL6%NrXbzSjh{u@no*tMA+C;c)bMS5ULbXE3R~jh4%3JZScuqe%BXR z!uoHq4%!PFEtkI_L(ixi`*2|+qgOmdCXZ6;aTj+hd@D}ozuT1OjAJ-AnA_p)=l<#y z%|E>6Zs_l1Ow|G(vtKv2(`zT4vm@C$lg3+Ao-Aaj2&oK61f@LV1F81|#2@@*Gv4n7 z089q?k@MU1CRK(Lf=S;#0VVUQ?J{k}UNxpM{SIBJ@iD@W)T$;a?!&>2xt7wf2`%3+K6yM&bu}HliBCI`9L+P$PNru67 z4)O3~g%Vpup7j`FA(2xc!L4X`)J~In(;I8{!kzC~0?4Ki{$jGi8k`_;2B;u`xO+TU z2NpdUhv6LdnIZ38M(jJv+Wa|{4k!N*#6h8X<)jvoPYP|AWs?Vtnsx~)Q$FWfA{!6E zeFz?^t;<06+A!X}4cOsLP>2wU^D;n-HakTxC!D2ZwNpveg|bSN+42}`5xw9$HK7?p z)KoFbu#Hh&C3y--(cF)`hOVugYcwpu_X|(%K?6rFhbtBqGDcle|e> zSBk^=99Du@>*%u@?|R0f);Ww&XrL^FgLVDR8g{<2D#e9_9qcmTcMC=VE~5qHNT~@E zWXxIS^#VWB#$=-w*zTIX8(B&8MSof)rv2BZ(>dp|xNKw^qf~hs_q(lHu`MA$l?%a$ zMTqb}WhZ!x^aFyfGg-MY$WW0ib})T?TqFf?SMST&RC+7y|s{Mpgy7&5Za{ z;lk&%RWh=3)h*}ZHp=-0mz;bpE<9F^dnx5A_EJki45#9AtT<*)uEbK)w+4_4gCj9YKnomDKv1F)bNN_q zAjmP`Qb1Ys2(EAhYbdKJHn)2&63P>^-4{GWZ`e%DCv|M(R%~x zQNP>&7jblfETiVC&fnb6#51WR!+kpxS9jHsBp*-}?27nMTo~7T-jZr-Zyc{dKl2WB z88_a|uUQ*z!bugsLiNQZi9Hx&*1+xzkBhMt>1Jd%4RTkaK(Tr5v(u^=x-y~< zLFhFO`G~WqrJt|^q#BKh=CH&|{2_MPOa$YUZ~^|HF~L>4<}$lEVmmS=8p1!bi+<*y zjLG4F+t;VlIvJ-shHuI}Y^fI{RiwyXpkgs$T4@ZCn!;9i&CFjoT!oqdpdm;lobyH{ zPh|bM2ni`+aCX=8bfPd+3JWiGE&M0Q^v>{VWK)?XZ(W5ENLc>aY02l|OzbB4pa!`% zBM8f(k2gD1lT$5Fw#_K!;ZVXAq+34uJl_k$h@Fsej5QQH)Bg$Sp2amro*00hAQlArpckbbC(@f0G?%Vc#%g!5{xescIgQH zT7WVyoT$A65x(r$^AY83Y2K?vLFKd=Pjho`eMUU!1tGEzGt(Cy9aO(DnQy~Lt5Fl^ zl4vb=3DdWC0QH6p_xi7E;OBHc?f!VUhyelP?jY?rX7Y8<(t1$KxcP3HBQ5@ibx!TN z)AX(0dP%zHD~AOS4000q-rf5H=PgNE9yi)Z+7{q}!iYktn_G%<``fi_;+2bg_U^?~ zT5MzMzlfs>BuTXT&tvr__6+BL6h;U_&Hr*7OXIo66a38xj>9(lZIyzs|LX3)zgTvZ zhv3~~eA<*fE!YUWhUQ)ZE4<}y&mo~N>G#FSnI9ZGGnVrozy!>6?KE zt&Bl<-+LaTUjxcLIV_5H0!7cXl2CK{AE_!%ZcwlrEHyrtNaz5?e*_HFfdoE%+21z` zLzNZgKoRp*le#DbkRkB?^{m*T>}cSZSKDIRKx`7?qFsi$K{hB-E8k z5m!1DOh{#I{%|sL9qJ_XRnz@IST26!n6uWhJkZwba4mTk&L0Db2A`p?)|FOSwBfan z%A|fbX^h_Z&5@TgK4e`iWtqFi_UepTr%VUCh)4rd)R4>8FdHWxXJrWoZRR&RJiV{l%yWKu`)OH0A zg5)MWDCL2Jup%9UdE4>Xo{_iT2-hsLC4#g+D7?X-<2P7rfF%&}% zX2bMI@rzul)85czco5U^@-PxIAR!M8Z~B}tRzJ=tW?)ZeFwUEg>ALa{r5y-cBZd)y( zhe!==!paP|{>-kwe>Gs2JN^B*Q&@pOl=o`DE@9ojF>P!OJErw8K{NOn%05L;g zocrHAjnSVZP;TWOk?Ag)(rcSHC`QqgU4N3qK7xX@>YMxNi8fU7+=Dux+=-hA>y8se}I z{Cn2qhhL-timMKFmyD^^C|dKVl$_cCppQ!gDG~^3IXr4DP~%R)t_|M|7c@hpuQ}e6 zbI)W;-Rb#KagPkLy|vxm;{`}ob=Z=0HV@;+eDi;J`I;|K_B7wYHEI1Yuw!aKi2XBD z>ixxwdb`74n23)P^xG@u-tOW^2;_&1q+tZff?7eTf(xy~20T@GIDoj2jxmJ!vs`Fq*LMS_`+LD5L{jkW2Z-{{SJ6Lze!@nRNLF;%6+UZ^ zwLdC~u6;@@c~$lkItnc1bcHGPYFv_k>z@N={V!y9N;_!|e)7IGh{DzDrXv#}x8q0* zdNV6?E4GPs!ViINEjZ_YagVV3O($gY(v~SjD$X4HVbd zYsNCtre+aY$qcO06_5un=eD@NKXw1^V~aJSi=Ky1o6Wa~~i1pnCY z)9w@emwUbm8k*8-&T!wkN4nyFlU2rVmo^edDMoVZ*HG+wyO>~hxqof0!~#fMtmMCN zaO=N1j!7iuDWE5>^EJm8smi%jM&r)%->N&>9^S6vBbT&MCY5!otr4~Fyyc8y#QNju z80{envkzkr#6+zOQ=rB(nh_&-%h-t#b z%iNg}!$%bAI9iRNFsz>R9%@;|g{`57~Uu?pBj~ zg=fCDqXHOQvK$waq>7x2ZpNC7I2*Ss33@V&as*&eE_pE73p6&@QD6j;jz>6JB zQm6(Js?2j+ikmqhK#0eHB~Oj)N|VC^xH_wfuZF65d6iq81+Wr?Lh1>_swtaD^COJ{a zVDWzuhaCv+ZLI2egzq1I>h--VIj97ZsSx$8Kwu!PQ2Z0!M#!%Hb9}%t8;lEUZ!;me zIo$>`P{zW^G(~BEYRO|g-NnO|{&TtjjiDbQ=|($e zc+j^*#9foNGDH3Jbwh3x1IrQBYz< zFs3iF`aC;|btMcNEaLJnC8#OobclTcO;FKflI+>@;ud6YlsX*0uhhYcT9e&7deA;+ zr_*n9tg+)FK`R~hWH4}t&vqNzaH4!GylFXaFj2IMauj(uN8uM~C>mQbcs5f6OHMbo z7)1^r%kaR#-;$VgjE^KN=mF992c5}FR9@enN?zPd{cEshH>63sT zWuwLxsGP}d4)Tq^E$1eOAYxYfig3a{uax<*>^#_9z$x_|fYGNge;oRjyw zekng4jPs8IFNJG02lj=}G~AY>shL@JsS!=%&mK&c$b*EL2)>CTfvPuH6dxi^{{&Eu z;gg56S0Orj?0JN_<8{pWn^sE5kDR=YazY-`>803VB>SyBoZ?0^ekz4CDJWA&rLCaA zMFtQ4_q8MS|K_Tzd~e7#M2Wo>eOL5~mXhj|ByJIm*%jaOG>>qr4Cvjo-3a4A_5QkC zxWXK%YSl}|uxU#1g~lthX%Qdr!&&)okbeV{3l)Q@z0PGAz%1fv@1W$|T2j>|ohMGS zyWu$V!etG$(6Sv-IGY;oAMThsR8TrYfxPnSj@p^Ogbb}8ZCyHTtz;rW=5sVH_~e`R zg(N9LFUzG+#YD`Qqn&-`m~?bxh+$}c^@W*BzpaT!0Y=)5ux&Ye?V0!0ah7=P7#$L zlTjqJM%gY%>o_S~D-11I%9Q|(Rd?E;++oHeUyZ`xWVrWC4goP+EOZ2Vjoqt9UpFiw z27}Gx50PFIV~h4gGrNM4tDiFDG6YO&jAo@$ok92MF@`x?zx57mk7^cFLy90z%&oBL zAVkVfY9=&NZLSd3$=n5^m=+_Vq3enS01edyZ51gUa8wPJp;RbC*z4y$?DF%g*(ThZ zn{vZg_R6i3>lx<=a#nlW?8*^KwrX;4c;!@VHR_g|Z5(-giY%W7)KwJFr-E^ppI2v3 zxcb}M=Yr89+~$;DYL$fJgY$WyA_8gELXiR<8VoEXtTy0N1SjEC7%+*PV#1aHyv9EW2jSpteBRK6W@uQTn$CNcQy=(G4!=@eHSO3 zh>Q+A*4sZbn?Va?UCl_<)GB?ZRMj53mO|Y`D(8#cT2>anaY2|^{_!A~uz4iMpuXmy z3_231EE@p^hJ-PyLzp3dCA0$sj0$cZYFy2?{v2-;^+oCfT$=o?5lM zr}BI&)c%GC7|f`oXqgPa>2>c11`Hz+{8m>~Aw?=gpy-?zG8)bKX{)=y%L2y?C({qD zoTE&pY|`u%`@D18u{`65j#-_Q>Sps|mLYFv;e+ZkQk}#%c|BhG;Ewin=}HkMjDiG^ z?W04Jyz@{00U#965S)X-xWAo}YgwMu!~Qqw+c4zl;H*QAr;{YXg-nj(?-lm9P5)=A zS9reKF2!OI9%0lX&iZC(XfZ7f8aQ;{8yS^<<*WeY;Lky%0FAqSr)hisFX)3t#7if`2{Uv1a*aN*JDgQ5r!}PB!Ny0C2l4C z*1zsW9G=RlIf-)gmz#TxBvCE#Fab2?h|@wcq9Iz^Q(5PsaYW?t5^d8+8jk#7 zys_#4=)F)P)c4xN4D9g%ZY4Ofjo*Dpgdk~`a50H_ygW&~CDYqnt=bf+v(G6_H~3~o z*=d8Y-t+N+V0kGt5Lv~-8b(&>33cMCdx7#oPWiIbYqQzhg(1ys*j;y%(|_LwWc(7v zESarYY3(lmaQ5pZM~oTuS3>OR<+8^eHxzi@is^lA(9^c~bD5WNhzt#5I(nxiABUN_ zGe1`Ynd?LHyUTl9dyH{6TvyA%V!_19fk4r4b++DDi&9fpcT9TNB0!c}X`RA>khe6b zjHtsAL%9}bC*8ieW2P1PM;$Xls5lY)R19VYUZzAw1Kp4a#YhP-eb7|2V3v=2viJIN z&oY9{dVL@eVkJ1~+)l7rmU(_Raz@BF-A2gqZY#>Y`zQVdj=-Jygp^tB##$<^RCWXZ2P z!@bLCsx!jG7@}w#c~t1o5#z-%_>@XE<3;Xx6u&?TD~7mM3n3&`guQ#E$wkvMFJ{C! zX8+;KbTbt}zYFnJR%qrwiS=St)Co6yqr(y%h08mIbx~V2CKJ2l@jT9Z_ zGcKFw&DKAtea=0jQz=|WwkZ)j>dIowV$<&}fc^1%&E>Bok1sp#Bj?zV!s;l45jork zE{!+!SZrlp?UzGCa2(uFlx^ax$7mZD`g3-EJUz(>wqJjT63nB<%7@7iu$&Ek8l{KZ z5KkIcoT&^f`enG4C5I^^0Z35=PQ-Ac408y;i|SBNldfX6ZAfQSWkeD5t3Bop64JI@ z+pd4n&D_hRr(MkS{yxYt51tly6$^n+4u8HI1-=FdE1Zpn*O^lF#&mYpx^YUgxNC z{DQdKOa(45A;4iE^CMXnEXUCO-+lzh;{INWA&d_jLZ6u4>gX`*OKA_p!y3L}2~X>% z6Ab;354e&Ok3e(HFS#AGV4&fkUW(Iyy@%w>Gd)UEElCIv(hSMi9asuc$l>`3vzy02I0ZH_ZjUvS(P3aD$m^Uf9{{i)Y* z__gW-UJ4v5q|uZd-}0TVwx9a7A&HrA3rWTA z5>YJ4(QMy$>*oBJvrRdYh??retkaajDhxNgJk34$d!t`1aFAr|Rv)9^36~%T4FdVY zqYcw}*I;&eSjy{=5+vn8qpx^}WTuDBMP9IU z+8h2)QO!4`@1LV-L=2&X;MkYNb48i(BcaAryDwRLu(hOA@Iii~>CcZ2g*PY>l`qfa zPf-cZ;`I@>6GGhjwz9IYBnAK|IhKHd($54$Y|b4vw~cZW&%`X@t~8u^l4h>%Q1Wv{LJr=U6nUBuq!7v-kahPN_|gBZG!|5fx%01_?vHE%?%yGYCTUxs0NievJ|7rgM}?4*^iA+dy3)LiCUavOAS zfB0(H6`R_x+U*~O>(?uO#(F)-GD+yenc|~3E zbecPqO`8142M8DioFt(9IROmJtjw$#FX)9!A(N1zfe<;l-MQ<#*qzO%`G5%u>ib?J zMIG*2?3#2^oi|uIDM8(F`-eeusqE-}(rbP24z1UIxHQesx>eM$q-0RW8@QrK~bA~x>`-x}n0+UaE zp{v8)Oa^F~Vu0%|-WXYOL>GbRj<4T#{y-1oM)*s&Xuzl+=7Oq%VSd`vg< zuV-Iggr6Tf-8N<(?gv7?X1Ip6{1+J)yP>r{ieE$3J*U}YuDxshauRMF2*3&9Z{PNR zbJ?HywQ%YeA`v#F{U%BnER!qQLx-ORKMA0{tsQR5M5p~<2G;J;LbIs2KA z&;|+&r#MR)DgVnoKm5UimA^Zgcz027T35WrIg06p#>Z98{q)5)98U5N&)>6xlt(>VNPEj=mK1bDlS=a1V-Pz%ZYOC|N*3#GW?MwM$uaQyvsPoIf z&kt{N%*$@X{_#fGrPX5^j1?g8)0Z1<^@-(cABR#8AC!rev=9b1Kq$U9Jyz=^MAmV> zLp#41p)TNoOUx@g!&L|X((nS#h>b^>ql7>(jzOqL(zi)^0^&lgTCx|lBdp?(qxlSz zmi1W-Ny;GtsljAsIwqKQ3KnV#A?z?3-P5`>DWo*CJ;vd7Nw=RFn;F&p%r2;z zyaSs}39hV35}%oUDBj+%&|p`@rZrfD^konH+E#{I=Z?1mD|3g8-UkAOS6i%aQnQry znlNRvmAOh=%-4Ie!=c=~%oeX(AAMS7B+rQ*n0BuUY`3Dpehm2_*O8#@36LAk@=5`| z$S4&p;Fb~w_2dT>dNggrZcSC5`8v0X3u+WbPp>O)wft=E0}yB}=GHcIBAs-Xb8DHG zB3~oru9V-8kJ-!$`<}Y~DkK=eg9v&aecpXCGgDjkCUV7h9JU-oCln!IjH&h=$6tV} z&Ag1s{@%Fk_jqG@Em-ojGB;)UM&8+q2rC`1>Bb2}ISjeM6_4AjtP)*VPt3I`j_kD@ zqA@S1Hg2DqD=W*M;qR z*pkNg^brm>Qz?sj$O~su?seMcXj0N{bmil-U90xwIxW~yDiei>a1C3-3XrZoW(!?? zUCV~%h9zAtnT*WyZYr^P+hKmNAJ;8LPH3*{Z>}n5FT5Ao>;nOwV?^C`NNAl|(?fqo# zQCB4L($aL@r`g6cXm;bf zfs@B4u=TOMhb6inHCfw(&f@X46V5cVD+A=G993njKpG31-c zDasvFY=PaScG~o%1y%K4<2$YDP05t96dx`&)3$Dwn_B8K)Ilv9`ngY)==PKA)yf59 zr|Fj;Z^H%~KgMYIoYumKPI$PkHjd2P%v8rMGbRo9b5P3Z75;QNkE{Pj*yk-@iYd+3NzyE@ zP~5T3eP{lRz28A}Zd9*a(_8B~q-d*wBm`q5Z~#_F1tlmz(^nsv)8A*(?4V2)v{;D< zzX+G$EZe5FHG>rYfDpxiEV2OexZC~NGAo)G$rlSe?rre9s%HR42-3(vwP$6a#n1_` zC(Pvc&Pqw?H^-sg0q<>4Kcm)4)S9q~H;^dyM2?nM7BnO3xcM2#;sYR7Q8W~T)ad<8swQEfh~Rt4L|g#&?C{6@M;w8{`x1lw6o0L z+(^AX@)DHpmkrG9iT|x839iu#Q}B{6JjkBpPZ|N$&q|*OJox_8;ZKxbb3l)DwP`VuZ9yr*P)IESz6HT~}Lw9?@3*KA$<)NZ-Dz zR?R0IC7KqAQwC$G5Ps;u+Xu)Mi0-bi+OW-mVvj~{=&LP%F}8&&{`DjLdn0$^=Uct? zn|Z(7Cnqv?2Y9}H&gu^gt*I3u`Cp>f3Gn>3pS;TME90&Q^uf!fx z#)|?L#uT~xSMz^44gg-j`c1j^zDp?S=rX*3RVGu-1cI9|%?Qu~Y3$%F;d%;}?DgFohHZ*KkmRr&=y=;eFoTNglrg$WN3 zV8SCbQO+c!_;EWK_iHffAJJa~HpuyEjHv9bRm zQd5)AY_?M(ULI&zikHu>`Zk9)xKq+|WL{8ZmErVA5pG2~C{HKYLR@ebW+bmqduE0-*=T32jLsD6$VD0c3DL z$<5C57oD^&tS}?tVu?*zu{hLFk#NA`DhTYMrZM0OB+|+oj$<;(kYC1?<$M{eQCsEC zsD!oEYuRGYTRQ#{fs-J41maOzG_b^r_X$~ppZUyKn<k^9)NMv*B%kNM=V_5(0}YD2N{tt5&%FD>&V6gp>aW_`ipr6az*C2(f(vp zDJeO!)nwX-E|2^daj4%aE8Zo?Q{BD}{QuUEy#0bGsD$h{De>a;ZI=zM1 zLuOEJ^J4yIZK0Ix)ezqSLDe(!TeVSl;&R$i>xvcYvs~;70!Kiq&mKBl*iw@M<&UMu zj|@AdE&cVH<@s1O4h&&`lhpxh36uGAR8+~vF%A?5h`do8T#!H!x_}{tj?NNYjUlNX zN-At<04h3USE8TErU9hY1tAF`y&YwS+3IrD<4Q8tgVNM1e8Y4aSG!9=y;Bf)ZQ zs`;fUJ-TK^a{P;@WVjnKAGe~wi4;M~PsP!KzZ}Hs&OB==nH7tZK-$SoQhJN*9DORd zoT&_ip!VHr-E!%I3B1-F z8S_GU_H$Jstf=s|1VIfa91sC*Apgjcc!_mskxSgYE23M5Xq4G8{xUpLK#GRWY`aSm zoPR*Qpc`0!!QVM?#&kB{nK)P7N&?~dC+{X=qvLrQ z(uPex+LDAqK}r075r+{7uCA)8d5U)vN4?&~Gdhf%wxT>zH_?w>`mK4PVr2U?WZNUr zM~e`#Nf46F)XX--#vrK0lEqOlJO4Z72j+VSErnYmH;!tXcesb_9{;!N8Rz{9%DiYy z$~8K=y3Fn_WufRYgvl97S4iQZfF>e}ib!ZSu0rWni62OF^=vV&0H_XTkb+{!PW3NC zhGYO@l49qvqffp3@8`jt!?qtx7!B=-A+K>tW;3S zZ?I83KIu^A0&SjFA!t|xGSg9Dz!~viQGx^t{Cr$T7T%SwHn*Fvf{M#isl-x;czY$i zk!qDjuVNk_m+0+10WT(v+t9iBddg?wra|A1J^%xlISxP=#O%T97RbMLOvi0DCR!B# z(LD%}x=YRlaq}mw{nP^gL&kbnE*hq08&iv2P18Ck>skUvXN_O1Hv-O5P&h})GM3_) z%8dFtY<(G^-_WpFoXfr&izCoQ%$z>}?mx7}8srdR0b1>GNOL&Z5Cg^`Di638SVmeX z8tnx(TW9LU`Poyd5&{M$;vf#-NI%0Uf@%Ih&pWT)v7_wgz_JAYvMzc%!D1Aa_ts_& zh(a|hLXuPFrEZmzs*gv>iKi@UfKfyXMb*5WgyvF$6kl5Yqp7kC*9Qp>_J^}Dro*-S z#AlGVB9*sNS!bc_V1y~dFc_m8+?udxRk}xi>f#Z?U>TL_x|?-rE>nj9He5Cy9)r1^FQs8Ba8A~8xJ1qjoyOga}QQ52C%^ccfm?jpGW zHiJ{i06B?PJ?Yf;|00eI4BS*?u@J^)FJ?Rwk!LCcX$nN)PX?EiY^_y$aEoK_U)!6B z)UDBz!s!Uu;qL{a1MZ1q=>5Kri|0?$m68@wvvXPOFiV0)^VF@ubSO3KT+qB=xXvF%`VheK1)X{*v|LHi zzrToyO}i_;^wPv}3vxNDd3jsuYzFY~u<+w<6nDf?ihX^S!B(oJ-!@(I*7cC*X9>hD zq)+@-OjVD36>%a6p#N@R836yV2|%#!F(FZb+kVQ;Ql{JErrnh*qf zuZuPzIT>-9H4joT3`b!>RHl}$#)ROcknBQf*aQDC%I8G%gUjkTe}wT%PB6~Op~g-e zOcfJuZV9`4LH;=`jaDnreFyYr!Dev<< z`DI_JH8ze@1hZ?vE%<-?WZ+J0%Z?X5PO&szSB8wf3NIVFlccxfY;-m}FNkA3Q0SW6 zJcmHw`w=Hw)#Z;-iN?{iTru_K&#ZK58&{NJ4;MrSsEzWiJwhYXHMmi6$Te8h)CCHf zhMdB%1$iK_t_OLrADS0YR+GBB0KLATfV~>e z$DIJf`C891kScqk+jT`Yu_N9z#u1tDc+^At2Cj|*9LwYQt3s0dB5*-B`CU~BRw)}& zF0y;RBb${gwL^OOy0w!@E54|48zB-6ZgKXkjDQeg?tvQwg3p*4)h9AAmcxL`2 zj?ZD>=%FpTI?rTqUTlMgfWN33U(AOs|1io#dJFFKREOk6HGVLPKwmVge5An_DXFa|)( z38L=+VLyZGbv^T^a-RsixznM>X4oc9Z>FN&^_^b`rYcQQq!>3~54|ee(^bVH{H0Im z@{|#p^2DUu=!ReZ=gsxqClfbZ_q_R)5Gm;`Z%CD)Xqsw$LE=2lglqls(EWOzcS7?` zeZ7n1nj*(Y_RdIQ0=d7o;L6d~Lu1t*>D;h2n1{P5mq;}Um#9&1v@7?qx>Aw^rR8O2 zNf}u=FSqP~6xW@Ehxwa~G-o830HnOu^sV*to9#(V&-EpF-9Gen1Xp=;d#DGOh>&Ap zb8z*Lc-Ca5I}0zx%2ZKBrmSbP=v0axFt6c$i;fPZ$zzfJ9B?F|gU6>AakGdzM{86Z zW1NauB-Y8-N;5hctugAgP0U~ljqp5U$@0Hwt|_&YaH}?nlT|CaBT|k_(?%aKzy(FJ z!248Ln`(g_gGb8 z)Td^^CEKx;QdedIXnM2IY6^;$guMJj>sy0~r{(xjyTH>|4OlFUkvG_gKS|6CkF&XW zG`6%b_GJA0urmK6`Qv@}$=Ft%5sd;P#WoNO>3tRZ-VG;7JtCM$ze)a-w~KLIMg2({ z^<}SAxVXMi*I6g8X*xSjZYj-2PELz%OcqCFPE2J<>YxQGP$yu!w)%@3S z^DXdYTYIVG6~aP)z@e^#Hx&WWt8Rik0KL)=7zCO3oZ4>KuTI6Z!vBq)n5$!ZQnebArk;GZhAMRs#o=xW^W z*mJe1AFkmoCaNSZ=b}}O!+J`GFdu+F7^r_V0am1@5?6qer=|wYx(+mFMW>mrf)&t8@Wy_ZuU21 zq=68iMd86fg*D5Vbipj9PE%7R@~O1ox;t93_T9osA~tDcKiblT-EoXp4z8{UnKTU^ z6mZhhm+}>;K5C;OS2eLNwcIbu&Z?U`XDu1?j}#A)ihwxnf!FyX9YzRtp{F7TqqTl5 znP-isieH3fYhp;sSNbHSM+1u{fUFaDOjAk+x5E!oswO3g$lo$IJ)&}5nx)h!ZJ*$% zY=zKrTB&6@ltIpX0(ip>=}7}e#B!Ivd70v)7QE1m!MtY3R7uI*jIzX{ca$Grnr_Rt z4?4W5_^m;eQ@a1vSCro#_H4_}aNZ1&W75BPzeydp$l8gjEcJ0UPt3 zB);x$xn@53-cvhP-hUC&oNfd@;6gL5Y~@>yoz9z`jMujAoc;;3F(C#3sAUOF!awiQ z#13wSIfB!JI^oY3rwnc9bfq_VS;Q38Xc@KDxic$S;Rfz+7PvLY1(*Lk4V0Yx;u~g& zo|TuGDaOc%Df%8cr$DZR;Ka;)yJh}GqfmE@D{}bzcOj^Z6cqREsupZz0~2=j?~kpmnV-cRd>&S&=7a>GAVqd^AdWpkg#Bw1>eld@|D2Ob zND414B%R0h55k6!Sv~W}_jwG>LXEfNNMl*&7R!~SsX%$KEJxc68eyC~3PXs4Ow_j? zm5%4EkQ;JVU*)i7*r28qE2)&+GEv3~+r$Y*eAxVeZylL!?iV>+={aY~P5czVNJrh| zn4h+vU$IK0elE@YCwdwY9!}rld7MxP8FZ#Jo(Q`PI8xG;_q!^o&FaW`nFn_Ae0Me- zlg8##c5|h0kwMr|TMcvRDIK|)rx-Wqc&U4)ulB8_MkyI9$ZXsC(i(iE%8?YHe$Ufy zbrJ^`6&4jwl03Tq)mQ%D_Oi?OkYWX~VP{u{VZMr=!kUwei2Yo-)*Sc5ifIIg-|CUt z?yG9*?%rrKuC*20G}Am5A6iQc*VMOhq{G{g^ZlJ%@~V1OdTk~G&42QTX5Wscct)@;Bo}_0%ryZMn zgGjsJ`zD4rPvah`-LNF*sgZ~phy-x>p+QbbHneJ*2-}S*8&1Q1?giEb#tYw5KmNQX z87BFuM{~&-g{XR>LY=yQWC$ahZ@-_-CxFiH{XM$rOw}U*n z`>L{1l+FBrMw)v|X<_~Vh&Ul3aAhoN00wd3qEr|NH-VL)EwXvY?C&QG7Ca1yZG2Gew&waEoeIj6fA z5q)ny>y#L^SLqD@mwTWB!GC|d;37)hM3zZS8=mSR^ZwENCTR5YQCV{aA!;BWkf3DN zm*V3Y6m4$O4Le*aihGz+F?8DbRkkrO+i*;kqC3Tp-q;#)m#a}Tr5AVIgx~H*?4Wu&XEaFJq{hVYMN! zj0f-ZL_(G08}cEJ`w2(5!NMOHekB2gd>GtNBWA1Lim$ zoUg^5p4mobf4!xjnecPXS?~8BsZw@1j_d=YQDrR#8Um2Gr$%9}jtp=BTy57v{gIIw zSRGkjb@bepCvF!*`j2{&{a*xLdSexwXw<)pYcVya3XPKg);_XGQ(3F9*{QqitD0Fh zyEiSM*cz%aC3f<~4$&if_Yuz3{%+2uh0>f(XXl(^oG=vJYW>dZ|BNT~nPfFS60R+z z1VU3!NV$N^#v=krRDZY?)++G-apdq{33-UO2nqoJl<1V>0PgVkU9XIOpCovDb~m}n zYzR2e2U>pva5`gKmj5CS4HR5m@_Q=8Y!FWa`>h(wQ9`%=_FbOp=lNyT_K=D_iP%OS zE2bw_d z>-XiiFW2O@p4-$KOU}>tRn^L7B*OrU#b$CC3;+}M_}8%BB|}BpjksJlJ4Iv$fS&H3 z(D25>g`=G{h!AbBPbHPcG|6VrdgvHH39uPAMBzE~6>1a!9}6VD1l#1)Bkf+CZN z@9yKL6{V!^M3+2%kb=u<_s3IugDyj9hVWJT8F{EaIn9|F08k-;fCfXaD;`H|W*Ie- zy@)^6V3SS5{t+5as?QrfGqY|9;YLD+O}RKYAXv;ul3{GjGEAn22ZPQoBdO|k@b#l<07!6Us?jyYflHJ9P225ZMB!pHY%E|HBQ80W{&Z}*r1+yrt=PMz)G zG~%<>ck^cfv9=e+Jfki!%RCXa@z5CZzTY~4AUFd$=>v9Yr<1=WIL9b?1#`O!LyS_f zTZe7N#Q)*ws-oI#wrGIh7WBt8xVyW%yGw8=?zFhOdvSMbfkJV2cZ$0d3KS^KrT2Tx zW7b}0_RQIWj1NbNbB{2Jqni}5@Qmo-#+mT33pWSdO?fh#iGgI%2gbkyLGmqYWbwh& zNbz{799d__I8rSKkC2}oSQgf#FR|ld-Syswu_&*PT=Dn6{Jv-TAe_H=j##vseEoDg zP;Nfzz$dn0=#jm@r?ljI=m=vl6>VgzY|#)w4XvPq_FjX&G5b_LQp5zoH^?vS#4$oQ zKqyiaARi_@he9&ge3S&{AL2*>U~B1B4+IkT_}JWDi->XGF+;})*%!5 z&WvBQY&WG{S8Z{DKAjF8ngAG9UEU!>9u@-erXh1sg68`L7@{KTo~r~aP7u&>Iaou> zv}s7L!^}}jpB1;nb_!TUm>AOueA!dOO>1A=irNGd-zb`u)fs&w=MKT zx#XFqlr~aLcrbR8G+unn?h7YF&Wz(ab1U~3a<8gbxmNK0Db=b7FeHn+Re}>LBO@PIuepDnbjiA5 zHr^DPd^qKSkr6eQVJByv-uSQH<;aHs8y_`TAO1r9&V(f1>bJ6vPhEkx3`@f!a5LEI z;$dIkJ)!G5P->Hi?X?k)avHyuZql(&R@ALdp{5LtuV%@fFSsu+G1slmj19Z*vems< zf>5*(mMG8ytL1foBOFZB>*vc z%lJMKRt)^UO#wskUax`d1&&&e+(b~F>~)@Drqd}a4L>ItOhmAx1S+<24(Kb%V1Gww zNk8KIHP^wAuy`FwS|?J&kPKT(#~WW4dF2jT(l_?#tETC`1)hv5fH(p5 zG7JglK-1&g14i?2NI^_=o9mW0FCdD<)7yV3OF8gSi}gYlXp1dL4|f6W7#K zJZofbC#c?$#zv4J-eQ%rw{U6d`%|HTsiH+~3bWd_8wqMy**U(woW(r{ zvFAf!P!2PzmlhYYQGd0<0Du zED1<5T2Z1w3A-n25H*t^ARCwS+bMa}N(U!Ln4#$T>h(dB4i#gfr)F~izYqM1>Fpu= z3lksNy2_RfqK`mQyGQRoM$Zro&Xr$(MdNl)Qrh_EjKvb5v^Z&MjAbCY;D02Ra5}MN zv1o$eq?a7Vkr9r7<=G0j_;*)WAv_aoK#bD?L#h1F5?~e|EY_-M@!DFR7H$Nv>+@!- zNq#u$!~vqB!zG{QOcpV?$lyQp)o2yRbLW@Apv*mf;&0WofcBe z+H3I%)n5XZZW!?elfku&#S>nX*|LPaZ0wWbRN8P}HfH}u`%iR2 zxB-AXO$t6l0-iAL$S5TGxG_;cv@a^BEAC`zU2V9GBI0D}kaC99>WtEIqlheiKIvzC zd}I*d%Z%zwjGTiKJy8ez^iVft!(4zRgsxtIJAYun2bC!i^J{4ot~Q=dj03gFJRzZ` zHI6yl1^Yd@0+-gm zgUMnKpF|2xL#~Wp+}ioN$n5G>-UQ=U?sO!?P<+1f<4{_`Y@(>gB3s}lalz+LFjBdi ztMHsgv^xTHzRfwI62{-oL5iQjpU}^z2AFvn-Yo$IJdr{}uSR zD6`RavsreK9~!;scerF-oEqu^=ej!^1N}&G@u9evur|DuSTfsA(~OyuEX8{_p@kc$ zrB{JgrN})~*U=G4Ys>kk_MOk@^7s_L)`SLYyWgWau=gE^Ote|CV|}Y}rP77bgFIRX zqVJp-P~B;ope~s<@FGP6Z3>2##VYEgSANqNBrcRSVi{9$w%j*c+AJ=XBbg2DtjF&=#RlzPvK+n2z=9;Rd~&FMR7ZjT zqvwHGJGa?8)r-$#B}Y2g{W6lz;*8NBb2*{0&5`i)0I_y z{5;`f!=f$10PezDEkD^*xh_QI@2q=|Du_e|Yzh3nrW}tmg(sR$uHV}+L?GHxUg0nR zn3}l{3DV}7$npiC_g=szAaXF+N@(ThB`+XeZemI#Y(OJ;*zwg&)oiyIg*aH`rwB9pED>mjphQU+!KYFK9`@2*!JEM;E@ zEn=TvQ@w@YoOG9%M`&5xVcILf;b2)3FAuyi8$EV0e`4JVBuRXw#C;y7^7h}76Va3| zn^E{k1>>9{Ng~Mc)a>5k@Vmc+ezXmkswjcCFhlRqW^Q79^+YoM&SiPMt8d@G^}&JK z=4b#_17el2L_9*y1V}=}2`P|jD2^NWlUG9F4woZeHDfV7k$ch5jByn{V$vaK9DVL> zS%J$wW=sR{)tVm(!3h8tx`$@m_SwF38YK7o>BgmXRitl!+CR0L_m>|btYF^nt(e^X zEL=7+YVp~QCyPJ@^zENNHwe6(`qp+ge`Tx-?n1vqmo~SPDJ>lk*@t>L^CpdPVw5sUk@qf3Big(61w|VobKJ0 zLYuT|7QPl3fg{UWn6j5G#4sOq4#-6#zzmDqmNWdSlJ39sUU_c4i&Ir)Hh zPnFsH`7WCyNL1K_$XN6!_mgh{JtPsVQ~ql!LUn^BUr)sV=9Wmqg^;L~LmS`AHjnzc zTkrmQo1zlFPno8 zB?>godShn)%U6JQ8MNu+cs%t}0f1-7=vBThMLEtK1C7#~(kYt~WKncWA6}R4U4R2N zU&z~A6sPsyrHGW4gcfVrN)4lt;d%UsE_1>eCtwOdc}=0UfZK>KNu6+V?g@93#U}98 zHf&A69cN>uEI`lxdSoGZ`ic#v^u=xFpn`!X@5jO!9)cJy6GI#$7@AQ!U$t;m-&8N_ z-B4;u2;5F;fPJmRGdu=uMV!`&Gy$CzDK_0m|(di6aPdd*otD6Q?imE|m8JWIVu9`RptoPnI-7n*T zGtWm~yaOLU zL=OLm_N)H28>cXS{*PbL1%n|fOQmSU?(vg?c_P#c8q)8Ko_$u5knS8S5`!P5x|d!P z#$U4pIpfWe0tS9Kq{TcE<^_Be@eTRc*D|;U!ig#e?5HtPBV&pJp1{&8)XXENsnj0N zZwtk>j;UVXGP{C=h>twZ)S&QhfCQtU>Rz()1~&Sp*9g`=1XNK+)k-scv-Z{n|5Fsdv8b5-0d z?pI+AQF_BVDL)Imvg@d0NA;uwiwycWVwq}9UtXM5!cvh7&uxQRP)l0AIy`mtX03is@}ZL zT0gFHmIw5t8{%f*uDyWv?X-fdzE`j1Oj{fpJ8b*PIf&QL;5z_4RCUV`k4D;nqG4%I z(0a>gZEoy$&Ls7f_TTJ*4+HWDy}R~NBVb*!Y+uxKkGVA3*M%&!-l+T+++XboA*H0>}_R0`G6JL3w`^M(Ke zrh*>J1B|eRA=6UFgWgAHZo8BCS(SLN|NJu25dA;;CuZ^*=oO{Ujga*Ij8PM|&TqU4 z4Z8ereg?g?%BdimV)(St){@Vj96S|rjlzydg^Spag1FwRhMco0C7y+NMk%&5e;45VLtAA6}GuYA-1%9HpEY;3pJMeQ#8eY7&f68Drx;}rB3!d^6|zK}3eUHmTo zzUi0?P5U_JH9OI~NY8doas+ER;d9sAA^wW^zD-hvii5Xuj{G61x7}lC-iO!kP@mSrI!fTy}Bryv(88WsbmZiqFQT691a;~1+M_e;E%&r|L$aeUPk@-<#p$=X#wZ3kn5 zE>q@BK`U>8_7g}d!E4E`{>6&3qi@HbMO>lBf#X{()8T^j`z;H>oa$23u?Ezje*C%R zNVq6=XKFZD+k2;|qR=2y@6iExmgUti~Y)iNJ#L zN)=BvVQ;>Q6GSO!P3?MzQ1>?RHD6an*ZJK^>1pKURn3%fnD1raFEaWT@Qb$4%)b7r zy8BHTeM9z3=hgK6-@h00e`Fo&-bFn?YG%nKe7(J7s?u*Ca3z4SKR)+VZu^Hg0$890$I{*o zjv|a#{;#gZ#{3`1_4f3C`JT^p^H9aoG06UR+g>jNGK|$sFHfP+Hdu|b^3txp_ANYs z3huVIXeR9S+&*B_f}8S82SA&|cbji!jXY4u6BKS3`qp)&ckMQ&K_i2U(!_---joi1 zSc<_dL>=xzlhuDu6DF?+{@pQ0`dtox9*f=P*?8|TLG)#pt=#$yyJIH5D+4XddF>VV zTQ3C?8b_(kz@UzX%}tjm0If`Du>LD^q|{8HYKC}5wVbX9_VaQ?rh}?a$DP`D>%#eS zL!{Hwbo*o+BP`U&hyypt$kU3SJoZ<#@zG*fd#H5OziQFuIg2s)B%8R0Ji7?Q74wmC zQ-(TohTJ@-IUiE6sk0L%SeXeqn@)e!P-xaQWTRy>CZJQK*7D#rXnRKvTr!RvMew44 z2qaKb3aBN;J(U7m;tglrjXG$zwk!RA)g@YjqMzgck~wv6ialD<_p&z#C*D;%8JONyw@4Y8@u3+~wmoP91$`Z#hj4 zgJO|Q#FJjcfP#|3s+6pm`e)^20Tc9it>a~U4UE?uE@@oxxTZOFE^(R)&Y^0&98H7H zg3%{2XsF3uoSO0<$IEU3}Q{K2z9mwJdc)blUpcmwS#kbB7-76 zh`5Akg!+n*&O&v|hr|bdO_{cb1pbAt&_u>WM}hU33;(rC2id7B%iaC{V zc~Mbfqtl4Mg<7*hbdtx@^S&s@V1K@|>Ext0U_t%3C{O&S(z2S+?Y`zK z+dE5(>ey1CjuY6p#(lib@~(NeoPzN5V?e7G!OZ2VM!A1=pQ*Wg$RX1LL6a^QKflm% z=H!fH*A^CJ@awCNKNt+?r{`E`xLFj*7pYe=x^OP?pbWlp*Bq6FKg{LlV~qS(lh=u6 z4+>h_<;mcl6uXwT#hDdRQZ(_OaAg}rsPn^Vn*GHyeM`iIaii5y`W1h;uW)>cd6vNmH@mgJ=zluVTl1pT%hNX=N$@7L5x3JwIONtEUES$vYOJ(c#d zn3>KQjUvWv-%L35=^XkAIYE{z3M;AXBRN%_7Itc)DkXEqgHi=m$2;5P&inW0nt#7r zFE}aVf^WL^oQKY-Jow5Bv0ajO1<$UuI0jVz5(fkXv0UvQJY;z34f=d;dX!C;YHC9J z$s`xqH&h{h{`zD(Iz;@zLdOD@=J7*C_el5c_=!`)spLD8mbg;`?3AhFZrh2Mf*ACcy|hWroHK+$ z3tI3t1Fb|!z{}yX%UU+D4>{fJ7lUNRQXI1345{oyWuahVsR#|pwNx?728|xpolI1g zA&l~;3?jA-^(*QqJLy5(2ziW=T|F|9JJ?H;fef( z8*6FvQLO7HviBDuNu41@+)ExJZRK#t5)#TQ%_W1!`{RKXb8)O25h@n{ZD#EZhX05q zrDnV`|A|j%d?|0r8g|30pyqAPK<`Y<6r%ylDaBNsjSLrzQUvS%tAx?7Zs}Q7HgS6+ z?PVx$6c3Ql-Eh=}=@et*x4f#Sl!k4K)%D4x8x}@nd{R?W+W$D+GzxlvJq?iYWhqY#3J=VZFV9%pB0od z*{SpQMGV^MpZfU)x{z@bDlr8>N{JYULE>m{T22&zk3r&#ZQeSu?29D5m=cg1yT5vM zUF+}9Cq9WUjcD!tI+sE-2bybg0HcY&jG$)+WIOPh7Apv|sO6Q7y9^0~AWM!?diSa6 z&$Zc$|EcRb@@gHr`IlHBH?vY9nBO}nw924uWgwsbhvzYZ?U*g^W!3EC*lH_os@Mm+ zVcGiNo@>LwVc=*T*BX1{-m$=zAjMnmR^u-#9~%Ip-)|-P%XG%W7WKW3yNm*W7y%>h z%5K~|9fc`N$EPY&m8Yn_uBEQK%b?V6KdueVdbi(sDaBg zgmbC-rQB)Zy8l|s*qfu4i=|O3FN3YKljJhvj#_*l-dHgiNU2~h{>ejD-uVMP(kHG<2%w1Ve7H8yU_hRI3&PBLwS{(X zi+FDu0b#;|QOr>WdQ*Ew)a6vNdmKKvK-{|qhYK?nF}!3N@RhQb=MIPlhDpSg5#k z#;RC7YORjYio7XIh7+Jq3=Zk%V?b+E>Bivs&D5;#RiQtbq$Av!h}&sPAxX;DyC-ou z{#b3_K#D;6lom|>{>?NNK|@qzEym!KPS_a3SMnRhoAvuo1HORw<65;kF;mTlWdNzI~jr$?FR z29RvL_$g~~ppY`Qu?uacIw&K}Fgom(mY#qHov%eU3Qq&aj_O^?2SS;EJsv{na-?se zqE=k~H2Hf)>{3_|jNF4_Pa9W}H(y4M0_Z>W^ip$c71Gu)uCd`<|Br0{l=+TY#&Ef7 zxjZZa7(tCd!IVUN=vIL06T0)?QsPa;W+7nLBoP7_3&Qc{wO1Gqhriz+~2uFVV@ zF-Pv;E6KHbo0W0bX&Gx%NPHkCHa~ciTXH#(~(TUbnK`_hB`ZP z;Sk3%a$!PZl=kZ2z0L7hDWyFjH{k-2`mEs&RsM)yw||E-E@EBI;D7dAv(_d9je;Q< z9R?P--t?q^!?~ZiM9Q74IPsQ)OG{;zivu$Jqu@~}x6XFbE3=bz+sLxRE%{>baSksf z^~;tyAROqK#!edThaiJDG`9m&lvf-Tvk@wmyPObJ?r^4=!c0wtwCARRCP$4?lbjqs zrL{B>DRVIoLt1VKqeU*iIi984X!21LA@8q8-SRU^4xUM>CyqCTr7tcL{7=9*Cu>XB zQfk-wM?V}!oji)x$)1WCA;&yuggQE^L63m*A7U`{rHSocTxZ58;A!`dSIaAvIDnlW zElf@G?wZ1%sGc{uYrWglct!NrV=uL5APKa^Tetk?D zSIJN$@o~=UeS%>BInZ9noY*7Hm8P=?b@ooH6^BzkT7sW*E}xap9^DU1TD9%ndNKEMzAiQe z*9b>Ha+XO58IQ+x?F>|l)kZ2MYq{n@*4BVfM0ccOs1asC4mXV0F0q@&wl)sCrCQ!A zkWw-(r=AmtsIN>0nDX(j`XW%hhkr;-^XzxZO?v9N)@Eg95k6>77E4fB2pdKd7{XC7 z%3BIsj1sAQfBwM2wLJ;0gBEcnEmD>7hwjbxbkG?J4BkyMFenN42=ktF>Da_(Sh2$} zlY4986R1a#%BF}TMKOHjC3Ir{hd6WqFxu{4^2lwP^2@a)+#xnimf2{V|AYkBCI4gG z_%q!i#H+leQ<;Zpbw+}9r-_rZlDurCKsbS$7eSA4{CkvN1M~4&$Q$i6N1oDm1Lr)6 zpl<_pLYwbPj^|G|^QY;Cpm?!0seA$(n2M+OAOAvfcCS6&x^r^wus)~_FW z<<{9m`mH|HNpB+@&n?2)BWT(j$`(hXXtDsOblssry9t&`Otxn)m=jb$ad znjy-v*3o0ApjIjT_~2%ct0E)UrwiV4c;W9nW1W7v&7zfNN|74p1+}SfDY$WWV_B>` zi^(h10~$M2CU|J#MyQj?rl4Scgy2T_s_qzqNLGcCVwEVe{((zPez#%@9*@ z<0MN(77d62gI!8?-*}W73@%q*jdDt@b0iIR2D}2^Ugb}eK8xK=9x&+LI+zu^GrWM(H+%lHLUSkD`tk&t)cg4LRz47#v(UOG9P&lzar({K_G?_^?yW zY*0_Bxkv+ah@W9yo@m377jJjD#`$dZ#nEzikC|7vC-W4@eQoEfrvyMNSOB$%UVX5O zt#gKE6_2x}qz+*zcaYROj~3@2;@%bWKJVS9s3f=Xv|WEK*y6FJS52lkZYCt!oZcc5 zeF?_OK_9PNf{z2wmM05!<6DlnPF{4)U(w~uP!m+NL^CM-R=(&k6f-LGART|-x96D} zJw~E(qX-|hX!1vtj7A`exXyz@AE7Drzei-oF`l?*jnEo+>x@s#TJrTE4=mMgY-xm9 zBqT#|>ceUrXcfT#5O*CcMYu_Skb2>3bs51L?g;k2es*poZiyi@H#_wvue=|^;i^Wwo1wJWlEIXo0uf75sB0bekzC+K&1kc*@* zpH4*86qAzC%{2enoLly0b5&)`kVKRLIQA9mC74+3&OC5KJQC4n%*_8Ba}&%Qsa!m` zdH5w#auyO?*VLXLugtX0?g-R>4`?jcNn|IOlCqmnOQQPfFUJu60G=UAF~>T@Z@-4B zn#spafu?s6XSe<&@sb~ZV*2UA;-i0C`wK|1RoR6vGo_;<*cq%sLDTr`77w&x*a@qy zDNQC8_12G5jOe}6%mv1?pS~7ns!x@a%~R>7sU5Onc5IM&H`p2n!IbIUnJf!;WVOAy~L^&2q`?qPSi8xbB9} z-%puVXY{VY-A{r)S(-HwvCaG+;s^o2Wc{_*_vDfI%T4ls8dK}_cYXT1Rs*zp{Syz3eI>L zY#uq+zfU*`^?kuiFs-XqrW)=}>W6vp89kP}V2Ys`O0#Q|^YCLmP0v0zz)K4N5*IK{ z*Hh-OVu>tERkC-MKmk{utmS6(s9W2neEk!;;wzKH(?YGe0W>gF$t=Wb>xv$;H*xTP zyH6Nbq0GIDJ>U2=@oC`b4v#^50~IjD0bs0y=}+SaE|g2nWt>38pw%yp5B54Y+cShR zLGESN>aEN#ap2sPl!m3PH~}UG!cVhE4s(l~=R@z}NzRsOI3l7cT&|L^)9jfwcpv0w z*%kDml%tOh3gbD?FMI)l^<=a-^hAn#945qlYu92z|0P|6YnjL`gt(>ZwhOJ=m2K%T zw`&DgRy^45>-s~djsyhoH}LNSGO@0`XR^g6A}A>eu6yFddVLdpSO^hZ=J)Rwm4G}Y zJh7rI&R)%?we_D?BcJBn-u$!eWjFxRS7N=aU_X~lSxAvk6Xq~MPG_NqLFWO+LN z^HO&8wh9$eU@?E80!22ioD}7|V3yYSt4$z3$w&)V`&eh4wvvR|Mo^1?sBPH)FIFEh%8@IV$_Kc z?@}!wUe{Lx)9P&mh8U?~QRvHb`lh=c{o7;j5Lf-;Qe>-hKdSP>I^=1v(&}*bP za5&y@_7kR#hLn;5qS5x>0vt>>+9?VcB!oTl6ZQzhp&c)B7HWeqbrBJ~gWKDNJpy(j zdB*UN;f%2LvNBgmO3{KIKBwhFDt6a#|G%yZ^j{BtwZ7>+?J;<$lC&s1at9S_R66eV zACD;GP#_4aOIQGk10~=qX3fN)^YU#|Kk+s_Ttv?byUueNtY>yM&Jc%WG&tP0b$DUV0J`+M3I&oc=i+E9x};f1)^&U>M@OwcU3dN*9ir>n%iGVl(0G~ zo?%D|QFvfwxMaMLF{ZNnx{d^2uSFNVEl0B#DVKuxQU$tseeABAcak=^#4d?2LPMgO zIZ9on_eUGUK;@9#PJwgp_E?ENJdg&aqqD#!E3@0>r{;bY00#X+2WTZPli^*^5NcBE zk92^VYth{`xxoD<1e&}&SWvnct=P3y3N&ZO9u5Aif8Kj2-s7jyTi_XT9(_{$s+(M@5%-$ z&BLPpZU_r_ceR)wi6K<6B4G8wYd$h5OQMHdZvjgka~m0l?b+4&*gjVewad+O>oJX7 zl!b-Z1c1|F)7REu2C#`+R)|se=6%;{;M=s-*CA+Mcr$F69I{8DC%CWdcIw3cp{mCJ zwwO~Kh~g7@kM()M_Snrl!oWusE`hXaY156`OjBheX1aZ!{($jhMrI^w`{Edrflc}T zs1ZDlTQo4s<|xG0@`WNnB~R!Q`VB?BpLA>)UMLN=1)u$@37{6%2f!i)6svQJaL%K` zcv^E3;h|=c0)NowGi&`r95@)9DZ1)`%sr4C*|lR4*`^6EW;6x%Ly@9*_bHbBMj8lo z!8Za+2UAkp7!NJ0ux^V6zWGkI}+p;IS~B+!pD)HnEt zV29L9e&qvRsztCi0PtUdxV?@6M;_POiehj^>&bTh+#DiO7kA@T7Rz$@yy}bvikW-> zW~b_78CK4i4Z*=Kc@%BgeS{^0sGTu4@XX31P@@x@w??^=faFtPO)={3d9eU#X)3Fr z?!-XT@X}de#HU`Pwu`?xp1(hj)Y;Z2n|LU`_2SONFG&^!p4f)lt&leUA$`${LB;q1 z1c(SloG6*heXHdX?NhrzYTB%+@7WpC#44=Qw5RDVx@ZbL8mLmmO>o>UxTAL>nIS3@q_QJ zUO+9^e#jg7Ki7{x(i24_RMDsU{xa%KU2X9>x-h#au(-+rchf@Gwt{Ap_$J^;kjul zYOS$?xEE|OC34v`G&$9*bgUX2YV%i(_ZjMB+maB6mrITU<;f$P^~Vx}Z#f!<5WO!; z>iX*7eO2f(eMw|lS=BLH95FqcS%t5TsbbQ<=1>pa z>c7;?%PVI8%RfC`<&!o}H9s$*t_PaugxWPQCGJ)fF!+=^8*O(p!f#=_nBJ*;BE_Zd zj|Btm1o2t?k`>Epk_BMuTtrq#l;H&bM!PeiS6K!E9s6r9@TE#ROt zVaEb+MaCt44+!A?((Q6s8CP{+9cP3?v%B||(preUNV;c={$a~ISl(5u!1z{*Cp

hkSEoc43MeSmWkb}FMKQtKtr?oUaFTrJ(4)a&t%d;S6 zpzX{I!GBwOJ+$~w37p3PSL^q%iu!4hpxjyV{2b2(M&iU7g;Gx~cPt4=vLLF?peBBj z=%|5aq-wbvz14+e+>*Dh;S7nd?Z;q!8W2!D^;aWi#MOj>fW&q+C&>OU8J1!C58LL& zHH~zuE|=3%96tN;vgtb#@WtbpHg>EBM>HtL-@D~kVwv*aw?et| z%l3m33JucA0s1xO9lys37rj+ij~Z3)U7boy7)#8V&+BVd+ijFj(wOhrhw zX~-Na3OT%HTgNpcxQzk+t&XGLP03bOS7_BeMe*KoxPmKo$~3ZSd42R3>b{XU+U`Bq>kNTUiau#}anc7ve+AXt~-qEoNffBMhC94S)%l$3E_v| zqz|rLZkR6aQ(gTvc_XE+UOi!OKVo$nosx$`yQ!>Dr{kTqLwj_^pE^;#VAv?urR-)xL@BVrhh0OU{wib%>+eQXx21Y`tpyCk&Z z)2$g4$>Sm|zk3*BUe{+wCJV80VIXjfg(Yqo=>&_awuDhMl zn%WT@xO3YXQWUS0Rk&>`Nh4$aA&wvz=)|UXkIa*raPi7!KKK=@K*!=T+Xsa&w^krM z2{}&F-3YT`67~u^R~nUYE_RYVbO&4EnUOztg11kBl6&oKL%H{NO3+N2T_-|tbO`0Q zr-I|wUd4<8vDF<@_8{FQD#@@;Hs5STW`$*Rv3oPKIzFEyTj=L^{y&zRpN1t4gMZWx zgb9{Sf0694J`|@%V_&XsB4Jo>t>`7;yZ5^xTsJ{DN<~@4W{)Kqu?)ygO6BDa*^frT z7~};qE5>+bcw{i;mT+)Z)AA7Z;)f7o**HF%T&goET%Gh*Lmp-QEPj zWQyAm;Mw9D-&3@U%c(4GGS3VTLhxMSv9p3z!_hnim;)H(sFY|ezbadr$8Cfu))Wr^ z@mYH9Myvz!FjzYKOC`-M=ccQRwYqg0X$wvpyGDPYvMGv1z$UOl=B-z-PGyPb>&Hcd zn&4N?Mm#whQDH&+>a%su2seS!zNPf$Q-~~QY-tSvPS4=v(L3P`q@46}?&5J|)UT_7 zT~mtjICr)iEWWir3kh?=->CwYtRj9gKhT{FJ*R_-u^ASPgOLYNpS}1iOx`L{+Z&>D zpLX13J)6uxEsC3$?Qnf?2DWZZO1q~DO3a3ld|_-Ez4JBhuyaDs0Rnu(+N;ioOuZx! z9SBJr26U-YIf|U5Lp^N#TX`f$W9i<=xbhe@c<8v5K?bX%qI-tj;&^qTLA$%qHysb7 zJ^+Ay!KJ8RitQdl(nvqGI?g7jlNOt7zw*^iSd`li8Xlq5w?%s|3Au=e;&{>?ba>h~5sqH*i+ zKP@%4@10$YYLu-Y9b*bGBhr*KoSuVh}>yjdd+Z7 zD)nAW<*EWZYVvz{;#TV>OBMZ)W>7@f>WJ26Eo;-hs7Zm>CoM|Lmi~$ki{qprkFbsU zp?&uk^R)DPk~{E8941^t{>)70@8>hYQy#uhB2@`Z zEZD8)UJaNdv>Y+AM(spRVE=x!mHr<`%7MJES20vyR>BrrzK@JhOPxX=Y6#}@|h1emB)v;OFXlW z*c4uNwg@%C2|Kb4o)1zjH=N{uA^NTser6t7lL8CfW!0P{U=3unuqs)dM_iFHd2T7^ zHJv;kKHyII?Vl*9i&F~v|MrO)05r2)dqpN~NvX@jgiyC>awwTyW(T0iuw3|MCC=lk zN8@u6@iz4{rQU zRa^>b(q&qZmgHC?h_3e(eRuyv1gy`QBOoBbq3V~b*OF*~1P>$2&A}BDLT(Awx_N1_ z`c4vt5oypn7M1(EsrdL#eml5wh2sRJy)c#`3?GA0O-g2r^DpJGF={kxkqcNt>0^xmEpr9^M;N{8)Jdp+z(H!Y6-#N18yG~&Q9*0A#ayzY3t z-f&B(TKD8(yW3uXjlA|^EweY7vf}v8c&>i76&>Zn4hw*vAU3%+lDbXBkB^1kJ!nmQv^_2FI(s&pD45|;^Hmx7etvLrP>Bv(WQ7*hEKimtz z>uYfzEOVhF=pO&}keake`FOkBdiI_#KrPf!sMJN~s-<&j?@ET9b@RR$bkEDJt@(!T z4V^zSe>)z8ShBQ;KyTinh!B>ubf3a z#B=GrUj35^dn6sD=|sfK{EyLd1_QHfbgdZ3QWNU}*n|fcG&nHdbML)lg^S+vyoizK zO`@SbwAb;;Ojpb%t=`ij-NN6?%$^s3YzkkvlI!n`o8C$p73>;bR6=i@B znl$uV24M6tErkh^d1sg~BSvbe0UILd&E&tu6gT6A{{b99el@Z92CdkU%12U)EHw~T&w7GD2TJJ1DoTqr7U^wAIO zENiA|SMSOjEwf4Bv~n}5n?(iEarASnXsX1wXPF43^Q&p+4wt<;XJ9Lud*I@xn(V7m z?MwOiBzvIX$~_onW`d=Sj)s$Yskk6Q00C{a5p=q1IV;eK3>D)uVnyMNs)VY;T#3dS zT3accP9B0`b5dSLXW`k0@MaT_!|3*Rn$L4n49rRxm=5X`a*9p+_Un*|G(lmqYcCNo z+F1$kt>zj+c^2giI}Gu2+HE00e(iS92^L5{+n@|6zl~QRxR=%&>UM zHyrCZgpUb~8464=_)@-5=}ZjFJ_BPABWs*;-MUF+)J4F7=2%ceq~WU^fNkgE3^}uhf>1cmLq;Ht1j?005JTHx!ryM2PEAm$s{h z31T!5RNDiR!;|ed2Vb+3{nct&E88#V6ru_dcWj7K=)t+Gtz(51}*jq(Tfg#;R*o&-%IcMGnrtK*(a)unyVE0y8 zZkrCv<||IvlQ>2+g2y;8#&6T^?eYwg##20^q-;7GY~_&D{i%sfR4DnA_fh6k`1QCD)dNo&Z_%$MpNE;tLhO$wx(^qUf z)=EE{s`&Jq2^k=}nd*4Wg25;R=@T4RB8o@LS7oy1O3t2URYy4o&(FUz)ojx$!mMi3 zKc8q*IqjH>HtT$b*);fvYuzl{FUd{?O=5_N8y~m)f^o~z3@|jjeZJ{x_=B=xS38Z( zg*h@f|6PgOL)U-*{@NyP6vY4lT$RL#u!%9y4qz8ZY2p%M5`T+=h*?9R;5Wz6&3NO3 zu|nppdhtbC7(l~*%7|G`C?AT3B;rqx=1nq<=BndU17*2Dxd4kIUY7f1R!;4fgjs~p zFCuo_eysMM%w%J0?B~|jRpjqYIqC@mAPy!<4`M%_CH(7FMD_X3)5*ze?BD6{f8nVm zhyValG8a<)K$E8ivb8+(tShBr{dWoJco{R8@I7s1zgU-ChUF-OrSwFHNwKiME!qG- zOSt<&#UWl%1__Ka55!ASIsCKAL1DUyg8+&S2B#_roJ!BsBj)Y5^0wH$)Sfb~;L?gv z-zG8WlB2Z5RJLViEHUaVZ_BpysDHfcc!O_!^oOy}@9*UfB!*W20006($XbPT5`fz~ z+d>OCiisdLvT_7~z82urp~K+#Lz-7uTw%?0ui2(#tQsZB#bG4i;dRJu`>+HXf&^eC)gv!Wl8?)~4`Cz3QR#10 zY%q9AJs@j2gpU!W5cHmErKfddROvJjsILp@;xCXVG<*#VSPj20v0 zf9zHg$O`1Ely8Jyh093~{fP7Lb?$i9gjbzRwWtzq-R%GY7eEpecU~$C)1Y$RvS%gI zPPwN=R=Oyvo8e@%CP?78FJ`D-JB}Phz-T9oxKdTf{y4FAhSeNKLnl+p4Jv?WoVsJ3 za`jQ6aT0M z=Ba=F)H#wUWiGn1*7pN968Ir!mXHStNnl4-I>2t zoA-L-KZjL$Y={5=AuT&A3xF;>B1;gw3EHwCnBGv@qFF+PAut^@ciAjE_+CYc19$E38ajn7_tmVL0$Cc+qq^eV#x=mQ@D zh=bwU08b2pPE?Q_J!G2=k({vHSX5k7R`2X)mt#N@01NMa19%6(S0?~65P)nAl5k+W zRSb57%9LB;quA7ohZYEo4&ZL&vgD++vm`wgYO&=W5SdIlZ}ht2V8^cQt$r`pr_^pqQrred>Fi8J#?%&E$j%h)(8n>i6r?;bKNO5Kb^ zT{8diIP^;-({KYLOQH|}RZ1pdf`3HbHoTQI$kV6X+nuLK%fU`TN$UPgCYo5&#bS9SM|d1wES% zD+at;>(H<)>3%Or>x&#x_8%aJZCkN3Pbsq+zkSqMQ&W-{*>TeYyx?N#Rm6$3hPH8D zJ-M}*ydZ-Kj6n4uWV0oiM@`v-f(|4z6O~JdWHb-|`=A6dfCOV%*YgP-vW&|*?qP$t zQBfmV$FO)pAt)<&^p6Ngrf{tg=M%MxwIiZ-Ku?y+{^gOiocWi1o4MqAd4p~|mW=-2 zEdBk~4>uC(BtQby=r#&EwwBlwIc;U!y@yE9)@y+Er{hg}+{X3(`T1=$Zfe#MTat~o zCZ&yfaK7P5T}x+J4c4sL<;xx1wpY|*rF@IhH4Z@j$4k<0`gbzJZMT@Ru(4(zAs)Sd zr?E<1o($wiPp3~;=SVCvq~U3EDu)(#xt_-AY2#N~9m~T$dZKbIGCQq1kcfZ)DuYCH zfX)E$*ed~0ND9$nF%>Z*3lX@7tQR(GvM1!OvR&1tOi|38DH}_4=*GrU>~laq3NqN! zi*9BQDtzv?b^;^bhZQ$oGGPQ3OzP6%VhT*4{YQCf6%Zw0b5uaxBlN;JJYZj5C9Cw6hy=Y@K6BAj0{2agoiXzTi+Pw zi84T(iifI2xc6Xr6VASe1L+TrW+;scmAX&HCJL8~jHoUEY=yB$f{RQ_!%zmvW-uaj z7NQZM80-VA2slU}eI+U^9Xgj(hs0)G%c!w(OUt7fH*+kLn_BRT=yVrZlSyfboW!be zJE=n$nB9s14^R+*z9#MnXrvcJC_cy_x3w5ChpgZ|$N&4V1P*{Ca6;7~=^i4FN*c~# zBgPSJM_bG=Z-O|p>%E2!IVm1%w#_@)F z#T@Fd0au{G=Wil8;JmH{O!M=|N1w0SV9p10BL`f(5YAXe+!aagq(W4yQVu} zd{m+sdWQz>N?EkF48oS*Uz=FV+Gt%51W(Lny(4kO||F zs%~CHl=HG1evy+33#Hf9>08U4A?-D~+Zw|?418Hb#KCc8h+0n-TH40e5E@JWL##Wx zkPsHsSQLs23FS_9Se|X&4c}!ecGzn7SgqaK+@1%3=a>4DS`{Lql}BR2P%|CTiA&ZV z5r&{@bn^CY(p5}Zrd(z-2YvEmPO~vI%vPFP^QQgHUQ}N{^FI3{ZlrDqebDVD&GMNX zdO0(t)^2O$R+HW00eS1*K-dta*zue z?>xigQI$tmXQXaOck}FehZF!{32(YcyH@l0~p6NU->Kz>PJS-*2#=VUHrM0BP zxyWYI?Q+?TZkW|-VvWY&O9OcN5>p`iZfGnm8(wth z)Og9Vw%w;GOyTVn9UdMxM^Kx38;`1wm8}>OhmR{-oRyaU_}wJ)8xVCf5$RZ2m+a@) zQ`Ey1{EkO%tPAa)LlF<4lV_Aj|9>GVn#})w-AN+S&xlv zU0M1%EbUmJlA6m|kH0aefF&%Lx@xe&5dmO{=|q!+dhk+b1ONM=1SA3^WHr`X3^jm? zDf-@FgSb(Q_g8GNcFHU->$!xE;PNC8E;mZ9WqzEr6BQ;TN_`u0@UQ;Ewv>wjMC67T z5e$}7#LPi+YBUOt3Z*B2rNAIDjTRHNQHLVe$tE=sVXRO7zO{9EMGznW38ef=gmO#t zk7;RFk{d8c5yg=@g2!~&b{R$Flh&uDP^y{Z1vhg`RvlX;@H6;>u@C1f5++w?RJ#Mt zOVx5K`|21O#Iyy-&Nl zl*hUlaGhM%a>uk+FY^83pKr`>&tCvQ;xLyA0R)FsjJig&RqGLV5YjM;PrPP@eK4lp zJ5OESj8k%E9gL)D+|hSv> z{%ifEhiGg#nw5HLozfME+>P8>O-g;`bJ8;I> zk#q3dO{W$BVJ3dQZ#Y+`nzStZrWrf2W^mQ8sJn580ecIGCe?#SE_ESZtb zA+EEg<>Wgn3Z;CZQQY^n|BTl%o|(EVL)?(HhvudHJd7_hHwhE}`>+H60t90`R&xwB zqK)cG|6wDx5y=5p%_Mk=Jg4iqh8n`lTpr(~dO>IK7HQgL5-8OAJ)Wk{UZrr|yqB$cyNvG0@H3 zJU|?}1ZhlL$xNF*3J!~v_L&#+_Wd+$>uHA&uajwe6(vcNp~3(Bt!!A^s}>lg70_QX zl+Uf7^$u%q6*UTkA^|A195|`du?azPvW5tlf`DA9wBJ{Vb!{BAP|ha>O% zw?4gI^Pp89+z(14VzH^hF)n-)6iQ91jqEbDT%U1b7+j#~M6u`31H-cr5FLC-en**ikFZOI4$t&Nu^__0}11u_L>PE=QC3jh1C1PcNLZ$(wx z3^k&Xib~#P=&(`=OIM8~)=EAst9g?bAqhIVn`Uz0F8I9t=c(+IKa26FQAwi@i_%2( zICNcFGXN$85t5UaQJI?=p~{0AWZw362+!)-@n`DwwK9JtjIAp(m6P)_R+#DdQ#z+| z8l!V>XO*+JnEo*a`H<=2NcD$eKU&wA4p(&N*fD*4tRY-?wjiVa*2?hCf&c&vy!f+b zj*c#ZWH2N|TdmEnqNJ5~HW<^xgLIwcOYsZOyTOd*N2GSqCF2lvnB9s4td_iDeKVp- zA=o)IkdUT94mckY9V8zvGF_>yk7jd53d=EywmpPl^?&?AZxX*T+{JY&*0CIE^LGDw zug2ZaIe}1)2h{w?c&0-w-b0P2zr;`{A@bj!_O}05%_JZR72**9R>U=BkLuKKABS~_ zEp=f?G>nD(1p{0 zuV5K{h}Eb*k|93>PrwFLXQIk_f_53AEy3V4g|GMRZk+HNfF!19 z)#FAUV3e%-&1lHNQU!lmjTm@>GBfKnq>j;iwsNewmBTpV^ol$-J6N?N<#JB`#qLF} z#BZZIH3Jjd}d zp8ETI_}1_L?ON>2iXaa^wrkYLSbEkl!ht)s-PRdo-6Dv_FK_fRTa48T zn){+eAxhF!nMgSgDQc-TOPRiK?F7vwtRfb3s`LR!4#8y9uQeswc$Lq*;Y8?L=-3%i zs9x+Y4qzi;yPACIM#-9|WQR$JiKwJ8rI7hqq9R5;96;LMjKdz#O*_|8$E|D2{lZVV~>A&@oRRpf>H>`DFs->I-?8%My)qnn*x0=ai=r5B7!vWywRF^ zc*OMlH2=R%+%9a~R#z0%(IjF=2wa*3Xw15AP7lq^l^OrsjmoMTRn?2Qa260G^I9;* zYL0Ri)QHU!vzKGer8g^w%C}y0`ni8|-*~7MPytp=iBtd;1j&U$2x3yowdfrZaAz2; zfg8!0r*u9NT}K_N-aFYPuQ1wa~T0+Ik`9Qtyj zXehE=q9ukPQABcVieD}}X3{cN$De- zGP@wFMtk!W9KP{V{%4Uh9pZsR+F&eGgtqq8j3jzWXRsC@3LR&XG^Kb}g1XKT-9zGv z4$KyKN}Gs?8ZT@pRFoXNA0zrWtX!dT1OlPf$BPkfNm0kjODzuXc)I3mh4y~xHMXi& z5mGexedBX|GE`RH*QEB3vNl*2VpFR;8n_rR0E){60uj8q;>2sg;8162@S;IgJ69=| z&Mr+fq1S z8=VjkOR2>Rg>i+sA`!7fJP{Wr{>-@$qs~%C6AR8}WyFT)rBx?1t zwEQv2$`$Yp6m}z(k9898I&e5FP$)iCC zF4j&;u^CE8?bAIcc_77hGV|D`(6LHwE~H|e$T~JlOM0fp$o8Pc2d?X9Q8ZTQKB!>> zl(altQLQM+u@zT{he87Y6u%q*s2V!AMdDe6eJ5PvKJk`>+HO zfFzA$R`VtvLY6H0zHKP9QnjCH>^#THJg{qhlMdlYETxy_ZmlF1T|lpmYSXPbDvHrs z?P$$~k1I-EV)4p1?GHLF!)Mg)Gu+qs&ChK#_22)-Fl?=x{~@F8QN8kMpfhTO;tnxF zrnKE*XTs5pl~xXFU=~+W+)NoV>|keeHqBZd9EP;0LGJ(1!y_^Xfq(-$bZjVdSqror z0M1xsJi-Gth^AY+jD})OD1ZBn4D)2$z}ZA0#zR<|4~sVbB|`LIn6ed;ZA5V; zxVZMtcRI4TDX6MZ=OV8u6VQq$w+k>Qb9LO*pTaeXCOB=i`prWNtC=w-jL2S1yQ=Ei zqPCm+>*>b`kvD7APWsKvjUOB>@!RJ2U2bJLQyyb7Dp{fea!>bRz~Izu!lhSj#XQY~ zB?drHu&FW;io;;=V$4Q&Oc2UNTO4I#xILA=^j=Bz8P6AIRBw$WQY7k5glQ@4(1ZS) zRkmC*WR=mz7EdP4@c6WNyZ*>8yFB1wNXcIB51_GDG441vFFt+{5PX-RZ-RFf$ zT^8?4K?YB5rMPA;%Hh_}1j3cH`>cB!ICqkjn8XP}OamB!6G>ub_;>le3_^akw|<+t zL=rDYkkIQ%S?9lIa-%WNEzI5@P-ZMZLq3CWxiQ@m89qg?_BXlc%p2)?m?g2?&W#*<-ef9DJHVGD7mXgyRvhKwcFl* zbFHtJ@*iEDUA+Cwi+sI_?g6&>_4*j?83{9Qtk&DP#`llkRX;5R3ik5oBxV3XCZjwr zGIkRP$2D~`7ALXp&Q&ZhA~h6$N-^M)*zZ?gm@LN-q=>MI%*@hdjSzt$1E z-~z2p5vrC}AuuRJ)UrxfIj}rT`_!B3Q3L=4n-P26RIr1T!CD?hKEEXmqWpU3ncJYI zOy+XLTAIa8AGXh&vT+k{=_=4{LaZNK?~q>Xb#@^?Ir ztm7Y?#pqR6iG?x&003F0Kqxd6+Knru?M_6DbepqTvhlTrC}GbWwZy4~>l1Stha?XF z`>+HS0tAp$Rr4kuqK@gx&S1mT5*0C0jWE_iIk9T3g9~6A&_Fn^qTIbQU(PS`^Pu5!25G*EgL6f786nFnfHdrl_x?e*-Z}N(0GfMLfTx&y?m@Tt%e=}07#F$?spa)VD1{0Z;vZyi6`a&>PvrOd9E@At=*S|*=E(KYVM9m&VkfD-pNfIkr z115)>O80;HSth;`02?rgs7g?EywP06+N??qx!j4B)vj(2K*|ray+ku zHx9rSX!T1qtZmKFJw^XUAF-^C0&#HSI|Wy%HEd?(u2STI8!X0U<(9wj^&7VH7^Dp9 zG;zG8BWigVR&O)V*qq{J3L3Pg@bkW3eVnZ|S)?nK-V31Eb$}-bjWlt@kZTMfYi0la zTA5+ZRE&TC0ZC4g>h>(ok_m#SJ-4Ne$`$?E#lM}MIa)y%`e41b?!;c(z zS1F|h37@x(4zP^UvV8FFhnp(rU8Rh@dgQnmi!ju1yN6&n?Im}$>ctbf`i>Jns8gS~ z)u9D7t2?BzO-%zc>UgEyuLY9hMwDk2?dkP}qMP1)FXw&M|Kh~5!;u&Oit@9#Wnfb` zr6Ac$Z)x#)#As#^Lo#V^{M#sN_HNP0Wpv!iTS1IAEB1E~rnT{_v2M$wIgbHpi5ZlY zr1I!kt%N5tvm<`)npvQkLY70|4Q@Z`E`src8mW;Ip~Vr;e2GS2Ns}El)ahE&gs^2W zSd51^UcN&K4XJ4jM5$>Myue5bl_4KzSJ^pbWgs8`002|8iA0o0X9>L9Hx*D?ZDC?c z8xyX^V!Lpm`AoZZD_N9AWq%nZh*F5j8>gXjfli6e4wpV_49M~P%2s{e49UCYt6^Sy zGTZe3`=A6UfCM%?)pH3Q!jLLD?mZ*85lI(a%rOrFHlJ&F^qR=liiI(ZMI{3}QP^DL zJyJ(yQy4>+{3;6<($l%?v?y?2U*> zwx9>VIRz*Q@E3r$V(?!_Au}`!>v{m6Bj3)XR;8QTrC_3X072CjJ^CM-O9gaPEVSp9 zm0q!`cETz3(6p0CnAA56PIWzPJxH;umH9^|R-nmD_N2|s-9;wEGlFn*lsb1SO)8aH z*YiulnFgL?lj3RdD<*=HjaC zGMQ4kii#-yuVG`g(cNL(xQS?_=pYvZ9a!gNePl@~06|0t$CR&P$%kibs(JNMV)0aQ z%wd9YjMk z>EJiyeggc+e)_875?fpj=*UnUZ~NNQ0P>bvDV)Cbv3KGYk^~OKa`9+gv?n&(RWZ4H zTUF~V@}_FG9}t7YO9FxLnWYM@9RL?v4;v;yNGK>KKGiKH6w~NV<}6l@q%qa>A&+{Z zWF(@Nw*ULE1OxyCTTRrX2_3+St1A9IBe)Tm|69zYcEUWVY(0dI;6`w?(AdB3q_vto znm_}((_J?TQyq#l=TfDaW!}j1b+{J+oh!z2I{)&5xx7?d!9u}|G#`)B?Wm<6ny=k~i?Td2BM+kE5hrP)RAD zLW#V}SsE5Wdg-?(+`phCnTH;J60p$`Hg@(h>M%1%zEoke(q4L-grEpv^fM z*XDT(Hi->LcL8-9CxB#C#E?jl3wv!Blqas6LKfC3e-cs6)M4VIDEoIMQhGj(3Isxw zFXX5Z_hykyQyH;)JGr&fbJ1|uQzNt)14BD-;z zTZ}na*#n&UFlW(+CM`Q~fMpShTxMTCF-i2hw?!*p6|K(gA85Yg zQVGp?sCF-f$`fe?_4hjn(9#$sGfPe0uh|-&b{=u7(jrpPVw;m3*O8=|p&taAI#x;$ z5{AtY!VFpWHx@i7J!C=GsA67a@Bh$OiDyAF002c&kw={3g<)|#Yq%;#7_SH6W_G+H zPe`i81B(Iw`>+HO0whs9)$&dRm%BXsYQPg>7e)SeYB3AsQ>^^-cS%5EGPA=T)nD zlt68xlF#FGP4=$^x{i~ozPRJc-fPmU-&RQ{lDyF|RvK!~-}XxX($Ym-7makq-{%4; z0#9&%@iD{YDiL`npsI&uAHA((%o@^i`Qztw@S3ho8p`>&a z)C&px`1|hfho9Tp{)FE7*|)e6`1D_w(W1J-00;mPBrHZoT*?t?THYnz*b&LehMiRy zcx>K|c4p-b*+nFFNep#NKUSf5QsOH)%aY z)2Yp4Sb6lVa@wre4QeWyWOvrmgHIgCGFVD*M8X0?s!R+Y1E%zvL3JH0fkr*c6kuRn z>z-N3?)T{EGig;)FaQFJdhFa8J4U%u;>hY-}Tj-StuYZpuxrQ zMbv;m%Car@$IQgw(IsNPPU@YVFI1h4?>0S*PxUobZol@FW2zPY=@3ml58oaC z&NJN9LaG2w$0Us%SD_0!MOV`_N^B|uwjuY0TUeVrbfI%mIQJt}r)Apa70U!U9jjaV z`5GOONn3Dhl0z*bB@n@SFIG%}tt6$P1j{uu-%G$mT0f)OO`UclGTB_7B4$}#$f8Kf zth1UE*5@_<%OVvTi&L)b5uZ?Q2!J4)`fW8@OG+a%LJ0@}Dgv{S0~!*kl*R>p%UwL8 zZ8;n$T5^>SYi`&BvbWS$^u3 z&y7wRb?)4sZ+6uSd6}A(WB?O#xfAsX=vJ_ahMLMy%hua^<)#AIRhC;za4VH1kG}P< z)RJpgG|z%fv#DkN-h65Q?i3F&nTg9-&fLwTZZ#TO9tlm0oMDXogV3N!>GCva9*e!` zkU6Y41_4bZw9HHY`=A6ffCO1iSbIqw!j1?^t8F8;QMmnC%%paTE-C9djF|a?x)PB( zQiTX?x3c=Zay*pN2FcY<1H`jQt1k0HDVNk>F*fD}ZCnE^QfC_sc#k}ib-&O*gNglYhyh}`DX0qDdbfv`0|Q@QoZ0<7gtNW}*qS3bsNpS&5Q z6a+SZ+eilPQ(mu}I?DJsj;k!YA)$Z)2-39?P?WI=7hID0xadn^4pgSfDUj$Sf&o#3cZV(70}K>E z46Z?yoJ^XL_9=f^yBeuMGhn2klP%MA)N`6|E|eC2$fr3;vJ8E{bTwPMN3rzq|K9)q z|Nr|8w+g6+00> zTTO=fFdPOedw@WeQK}U+Q*prfoZX*45*Z6EJj7=C81$8E{O;aVbW-{WL|TT$@#Bw|7;37=gA`HtkDxeDJ(BX_^ocm#@OwU?A400q93Dq`F> z<;o%<@{%RmI3=RjVgLKE1PuTLQ&86PCLOYmN($a(Ca@8816#}_)RJ zyD?{7=$BzqErvgKr8TwqdJw6oXldn!WAjNl0qFxu3X|TsQ2Ry7O^inp6on>)!(s^q z_^P>RVWd2u6XeQ7TGxZ27=6bhRDnebE8vVbuIdb}gOW2*^H8IcX3PYobM(oRvGbC( z4)t`nR&cJ=?1W$lw92Rn5W0^$I%`b>NKSTGa%net98H!+q565qI<1J^2Il_EN?a(A z*i(}ERHRl89Th`RFa&wP=*+v-mWprVMHoJ4iDXlkBw?pV?$FUkQc)Pocgto=4aO|2 zjI4-=yQ_-2mPwwqpEIqY-}ZmkJN$ ztPU))%zuz{+T^Z@8|R^v*j1#e#YKT;a?i`wpHX#8nfs`>+HV03>`+S91wPkdSIBzHNrG5iLns%oujULa3`a{Gy2G zCNow2c@fDNGCoLLs~Wov!wj)^K*1y9Q4UWkm4~Z$1sjm;UApj;_i&Z0L_u7m`%{$X5VLb?9F}qcfV~%Db8Yv%S>|R zvDupaY@y$~M*V5f0x=eWDrr4JYK5!ZaB5u7(#Hf(Vr+N(@NWDpX{XI2*{- zzN#S?m~%EGs=q)o10n9m2%-|eZiZj@Y{acDo(a{7s*lfZr9BMghCwLe1hWn-CR^SJ z0=0lv%+eHvJNjMaosAUCS~ftS15hzS%zDQ0JroHO*o92=y%GZSZm+AAr&ClH*<)p+ z^a;(Q1ESSO(+l(yRoeurcyI`!heDEvOr}<+;#oA75QmG&GcL+m58K46uG~WJEdwu& z;JO%-jHy}8Lz7vKh9Z4+t?~aiMOb z$?8^6mQ~3{3&Tb$#?z!81_nfg*975!-0Xg#HV(4p1czMfH0EWrLT)|b=69U_AYlZ< zr|BYTB#Iw+SPu4|Vbg9DICquPHQ_WnyELK^006TUK`YVV==y@p86Khbp2}dP?5i$i z4C$FjW6;GUdsgL@uH2Z6w4*C%*MWPU`Repmqwp=4k`J&JL3~WUYfBPhw1EVXW3=cOyV<#!H2xMwJf*% zn4d{tsj13}QO4tbh-`)(qemg-)S4L49%XXbe!3D=1a+Gz)Ehz%Ttk|&Inwj0hG46h zS|Ht{>2pPR`7+bcD5hlDE4v{cr50ajLp8m@1QKN}uYb^%&nXD0Rs+9cb<-FV@HDo1yUheH4W6|lui;=>bN zNVaFyh%1KXmx)UBxNLGt!{5o5QOB3sn2lS;rB!ZSC(;Ra?#M4jz`>+Hn0t9wZRr4$zpp(p+&Sc2OQqf0JjhK4MQL5~H zgqqnxUH&tXVucwcf$9t{a>O+uXXwVID^pWC@RX)ktLY07+9-35e2`Uwbd`z=4Jd*k zHXsbf(f_Zdo*|vp5C9>rh*%bYfJAFjm6-B0g)ni{%4SleA`M0Kn3{@2<<@1Eao@$> zKqjKgN9ZH**S8tTt!i>$(1h$+%?I2hMhz;CPT)YX=?APndlvzT`q#x)ORf9YC+LQu zmQ+_2YYNh&jZEv9g?p);)qieG<)S8{^otmP^d~zz-3*F0*mBdlP1429HFJH@s-Q7T zCf&qCq&g7FA|yZzsbmWSkbonKNvW#?X>jU0%GYa`T0algmDi-@Ey^Xsh){`?joUZf7Pz?VxaZ&|SqrP8@<5aLWQ6*ejG-VLoG8 z@JND529S}&<8^4fscOEi-NiI-6F;Fsg~%S{sdC0IKEv&HFtp7}rLeA#a42l9{g%JC z@8Qi%-`_pn{`lExwkq@AvWftcL*&mmw}mV5`K;E5RaN-TS^U-i?em0y11s_g3LKF} z0>n}^A0jGhjta`om&2=Vh&%5KgzCT4HtkbqH959;hvK}9+|gwZ`^4eJ;wYzQ(V5)W*ZpQY(OPS!%6yrORWDRe)_*H)j)Jl_Qx9fT&k2 zDW5L9%9a@w5v17y7H@ee8vB#-U!>OmnY{*);lEU1eKEvUm|^TS=sXClf1{auegAbl zle(9xx~PV59In}uEGjbd*FY2m$5&b*Ba5u3mA!GMgDGdPa)D&*Vr6D;m6?Ti2w{P| zNj(iqhP zWn=K#oTGF%$q^+bq^QpWpaC_#J2yA~`>+HifCR}=*YgZEBAjYU{$Ym3QoSo_>@e2K zVKMD|@t4r$j(T8<5#9N_et8V(>DMVN`KUWdK%X|p+a<%jT#u>(~;&Kpu-0th&O5yoDRlGzopaPezmExXYBf7}$n+r8H zB+1y^p$;nTZK0`sXHJI4C+77(NgADum-U;&kG~}{h++{8LelYACyvj{hlg&Qm5PrG z(Pbd4u(s0GqS$Xv^MeR-9D=r46h)Ws52$|5sj)mk2X?4e9_2RQU9sFrHrv@}sjIt&asW1+mg<-YlC4R!(^#|Q z@i6B>oH_54TWnO&WM2HXmV#?KZu7Tc_o!(PtL-bK1&604N(@M$?!Gz}L1g^t~x*sK2*s$oZ{%{MthCw2@fQl14Ctx*M)DkZQGpenrz#y$!@BfZQL~3wkO-h)J%4hCgZ)o z|N9xvI{WOi_uA{B>&89#)L!<2Yd20U}AEv8#hxBrq&zC|Y>W*@~0^zYS}IauSdI%HgXOpuL1rzGKAmWqN*(wm4Oqe+|Y z$~*MR2;;~V5_DIwc* z8E~ITutY&;#!t>gjo(;)dIM7c4roSa&i)u|#-EN07+unoe6s19h>sgH zXpdrXjG5+`bOTz}X8!8_zMRaXd4ZopmgY#?_iWQCQ&&f5w&k1m__` zKsS__gx2#!D=vR}a4zco@eCjHZqmCG&+{i-OGjh2VVHy+s;H#}(;n(nf8Jwm%hoN* zV6U2EdSZUgkhn$VJO63C*4Jp>O+MXyQR2@=>}6}0@9sX@`L?FQ^CO7iHh%+|*-5hA z{bQ^2NN=Kan|$sP-<{d!`KpQ^gCgDVyt_o;($B@6$#axxMM^;s9Q3g+bC1O=eW6Wj zzp!OZXVvGqfYAP|@J;!=wbN2qdxf_7P@(ZmAYpp{Mloq(y0)>kZ=9{pXKR~7e;jzU#QJmw#}6y)Nq$h+$ZR+y$D?Jl@b|fA zMJtbujiDy#97R5#j?+loXu149#SueNm)owp!?HGHF({y#of>0YGMJ2&_yHxF zE_!Zq^p++t(r6{k-HTjCc`S9Ufj=ht*@@?uC$F@P>gqPIxj0#}t?aTfeP9`oyjEAo zRvo>jXKLCP^y8Rs7jTknp(#-zA>p#>&5rdJxmJ)LEt~ku&b@rq&bnIZq5MGnX9Mp~M6WG|N$kZBYW!vquCblsLdcj&9(IB|f6fU}_ zxKP4Br9u__S~VcG4T*jeQ5NbPoQg7!fQ>tdsffXph~&hZh)%hRE|5jkA=)q?I#g|E zc~GmZ`TS&@s$a26*OpqXwl&3(+Alg*sho;?CByiKdGC2WqZBd?RZZ()WUi@RE~=G7jCMOei+zqG=-q@-VwM zx%hxb@||Mk_!$y zd0`x4LNH7A(ImcYR^Z+pW!xk7X9El&JxqyKkl69cIW<+bk+c!8<%RUc+Yj%piB29YIx64Fde zJ$G<+VZHkin6(6|RyqPFo!uI)ugDAreJ} z&|(<7g`ZA%3^~}yQt|DFU?_$+)5vBLN_f~i*Zf3c_<~n(P#2R7frM{vq$)@{Z^_V< zbE*`prp5t{)QpQ693OD#bJ?Ic+%K-%PoAvtB|_Tx!d@ZYI@MQR{Tq&3Ysi-&^1)@@ zlJJB-$$H+Xy-%JEQ!_P_zY|eEZ|<|Zc^X0RwB6_pMBz0wRxVd!?MMLYUV2zP4^EYT zZDIR?E+fo%+X+d4GZG%3x=Fn_?_j_9w*=P#{8$Z(I>dZN%9c zEt?(Dxgl;&_oqd=u8obkgekz-XK|ew_b9ZIIw!_!HFq>?eRIEL`uG^MybQtiy|lU2 zL7N!2>Sk{kBF8b=0%j?`GaLncW{M9vWv8r)Pf!qc$;5`bbMXs>Z3g{i=5Z2x1xpyjKSDTL+`&zM> z(q+F}LF7QY?>Y{Iu2v2H!mJ7f#+`m*tMrlN4Fq{!L2PSb@uag}h~p7&;hRB1o-zSi z6_JN0JP?+khlJ*u4m|0{njjKr3t7x@Y+l0-VWI1Bbs8)4JASShqRP4$nh%7FXBkhx z0Bioy3gxskXF3KJ83#E3W~@2l?dDZ<;*t)q+0OhCedr;m_%3;QlysXYEf#A$w>G@G z!S?avh~i)U7;F2;W(Y0_g2)4<=zPif(?VBI0v&RbQC62U{?9NhJ}?(XfRMRJW(sCs zZ*$Y-tE*GouVd?n0@Co?>n_%1Ni6P?x?UXE0wY;)V6H}$`TSXgC*)M;FwG5vaRb3z zi-Nh0TYeUP&kT#GZQ*LP{WwcG<_*E5{b7Q%V@HIyX-!Hj~mdZmHm#Y=yGm&J!s@D&=sRIZI>t-nim_c^(FU zoH!#Zdm@)EU`qdEfN9YaNk%C^V%3M4bR?l;7P`%IwF=| z2^VDV3Qo6A1?@|9YfxqdGdFFZ)A%Nn3)LCu(Gqv|#d27E(Q%>1f9kGB9 zdqZxe(CDkOpVj85^wRSAV(TIMwgV-1_3`@cwCUQeR40JY+sZ zVmUZrEle&UCKDHBCQjU{O}-eW=#W#f&`5^{XLmyj8USH+Ejk29AuMtcg88*cLD|Jm z2D?|s(e|faLLUtu{Y?6_qCWI%*#5504g zUwAfpIM)TOcoFid09{uPSONQ4y}j=197e8q?kknrw$YkW=&&}9w!b)o2a6YlTf@u@ z;Y%j44r@6&6snn`FaPBf#g5qPWJOx(+Rze02W~~=7axwmj*v(7(+a`o@-Z>o7wY2B z2Rw{g$;YJ;DrX^FU9gHbT4t6sOJaD4c1r?o6iNT+;IvfmvxF{ zyk?e0Dqo2>8L=g?qRpNiclq6s-k_e4^Q;a*z$2j;$5LyFZ>BjE7lWE(mVaqDRNkWW&PHnGgNB zDBq9}W=Rf!KxUBq8li)jM(vMgfI8v*>!IOiCCfD1hG%)#!7t;8%&e)uUl*Bc7t;Nj zQaBG5sD+oYsihjJhnERVv1pe|9Y6*m2f$mmOIvJ%CI`K|nM|b$Ob4s)$Q_PeTb6o7 z5F8@n@ti_5kQwOA}Am0puh z?pne-K8eZHH6MkFi&i-T3Vuw{Rf~;f5^}C-a?W(9EMAz~oL7$acsG&#t2TxEbb5-T zDcdQN?lJB!ZMM?n;Jf+`|D;7nQ3-Ii6!y%5lnJDSc>W=G5bWu)C!b_=d2h9TvX?GG zUCjUusaiUtEo?ew0#vXV&gPs!j=qab7;7A=y0VS!sg=EoD}aXQ$gFhB*Y8r6HS%e& z@%`Kzy}GUznrC?qi%8SLmBTa6wm}{tB?~H2{%g8Wk)y;_O?cv`IsT@eCJ2C|mDn#M z-2-;;Ksa+xLLzbavTyg(9h;9|`<%<7bi+FHdZ6^*q{nKizl6Tv>viCkQTBH}5&3_4 zaX6o!MO6_&y^3_8%P?Du!{MuJtL6wpp*Sn6rf}y+kM@n5wBkAPYuzr9JZuEzZ*EqM zHIsR<7|m{LdfZgD$Atg~3P-^MmsJM8Z3hw~Eg0CB#C`;^S)#EgkRxiNi0@ZCX{*P=WN6{m7Efdxo(V*zyu?F%4MXGw=(7L#$9&vM#QIp}sm7r46J ze6{b`oHRCBC@c%KKsD$P6oU$cjYy=wUq#luY;c2#(C`@CirgN}qQiRhr|p)*%VTxn z1!*d^?!#w=FxE`y6I4DtoWPvLl1C;ZCTW)xhg%@?)K0@(%m^i-oVK2_8dq~Ht< z3+y!YMq|uj3fw5xQ{a7_C|Py1SzETmft7=mnZ#qSh7icFc}mT+j;WxKkt(F5Mo01eU27UgX}@~lr};ExLo8{JJL>Se}m zf_8Bhh-*byTlU~Il0UOpMg3nugbJq&IzG0(+$)L?H->N|u3H1xFa>a{Sh# zmZhkvv?KFL=E{t1r4(wi$qF#gd#*f6$g#ydkh&XciVg@J)1_fe`XtE&aNCTP|60AZ z`nGGCYJI=QR!|3PB8E1I*I#i2Q|l|NxLy$5#wj39n}r5oFi7i-fwxZ# zOibY1Fn(RG7%LRwl%>0#$(6{pznSTOHcP_V&xdpB<49&BI6S^HN6fsEhrP6Jsek|g z=0(UMnFaGQ#`kER$U^1n0c08SpP4n`c_>lV@@=(Xbk*o!GkWkJdzdsO*ya-zLjijn zB-OSg78V&3`C(?A%mI6`QcJBCQdMejlwLu!i0z?sON+ zKy9`MnJS~@PUH^(d{w}%Gj!h1Kpy;C=B^GOx6)* z7_tl0niP3@NhG$GkPVTT3sW(_jY?iFGxe$Ra>dAj&M~G;R6(@Iq#sp!jRQhg+(0+N z)iO+3m^>Osm{rvB8FH_4q<;^)HT-nux0~|clTL2`4kI%`Zt8T=$*o^}lS4g_>w{!N zTM|kR*+$?bWw!o7;4&=4!$Vg3307*@C#TS7o&5G>5nS+MP|TbdA?V)_jD;Tf9#u^B z{QTYSXi7fbO3$dXTB`~#*UUT;7R|yVhKU8zN1ihDuLCN%)WzHM55CJ+-T;rq1qV9W zgjj=2QKrv`UA>lfmFB#6>%qY7IX{k%=C5}?mp&h!#aJKKuG`(b9FU!-_qA`h-iG7= z0rrq6%ZM1jB{cR3W>O#eUVp7)gtzE-uo4=e(IBA%c~|rDR+=#2-gy46Zl%7o!};jM9sPmR~H{_&}OD=`y!v1S`5onxG=yi zRRftq5gk$_%u1A5@olv7>YMPmVMJQF6lUP`@QOnU&LuQAp<+Q4dV^f8*cLmv3v>0C$Q@vmiuM{apzkR8g-qseWN zwq&FR0HL5GKvmI|7^ihKf?O8p2_FXJahX@3`4({f){v5hrd(sb5<75J#8%pa-qlxo z82wK@!WLPsY)HIHSaK{wYfZlZu#``)szJ*E6)rByr7T21qXxR&$=s!)@)t{6q6Uee{`7Lk^RSQwT%aP6-X28O08ezL}|KK~+q%Mrn z!d}_rQ6n{Lsb@W~om6J+0NQ%B^0Ap7#e~p_#;zT`N}Y`)D9C!jOxvUzpq9#GxE%?gN6vT z-)UYW%Cs&fxfe)}f-BXeR;w=iL*0f@Hq=5Zceq_^c{-5KpeX&4$Gp-Lnuj-c%qCFf zi2W#N?)aNTKy8ooWLGi(oPP{0uS=6#79*`#&Sa&UCg}m1!NknR8J48Dc3IRRVNAPV z|Lb!|wVxiHH>fjxJGrF|yN%u)kNu~v#C5#UQg$C(dM&j<{^qIWoUW}7QJCUb+oF{U zsa?U#OVyhyJ=hrYhj}C8)k9rl=GVUP)_4E%?d3@(q9FTrt?1vqWZyown3pIS;m7$Y zpLTz13V%IxGsKtVTyn$RCmEj?nA4Q#IgvCHadWk_0!0v7s(m4vZTod-<)47IQbn%` zl^0mbU7-3SA|A~@MT)p`UygtByGhZmYgnSNjQ8p6x$&E5o1~o_LCR}hsxOm%yJ0dd zA8Sg6!{4B9cZOFga454mHX#P@#+ttpJ{SM1Jpgc?m%PsN5otlfq(HaXzB5L}nwF!` zTnsyjgKs3rN4wHm#~i#-k$EtKYRQdF`VN2XnMlQ+&x+I)S4CD6vrU!eKG?cr&z-Ng z!jX<#f8cYYS);=(oFVZ+Zg1IbVPCojjh3L6n0SEx%;F=CxiTNhOR1!vG(yNZ)x}lf zs1?51Kp2V{?8^_{Rg;h$un^zdtH#+IVW&YuS96o$vmun2Cmj@=;t|HoY`qA-PcV=h zvG*eu+p#velq5B7ohw#SmT#Q9eI*;iod!>4|lxP*+1gwG+Z8&4cCkdlA9v*e6J}_bc4FLtY+@2NNUXv z*_+pF-f(hHq{N}$k|IXHZScp6(Z(uqFyv89Rg-t!z#d~Ug|1J`rt>s`Yz!?_Z%>1u zIm`5d1;am7ns?NDtmsZ|Kcl{P@^Q5abTzakG8Ur*VR-aP_5padL3qMkqK?!;cxwG; z%L%+GJxjR^Jt<-CWlM@2C6Yee`=OhHSINJuJf@I^Mbtou#UTYle>YjVIU-Gpw)NW)2KPOA(*Nb9 z0%(X=Je*;lRynYLX>rR@Q@Eq`?=!_%MiK*y9mUZ2x(KZT-_2&~6` z&1$e6X}B#eS7`Y$mYf_UyYdzMOQtbyp+L2!z=;#{2R%Kb9g0I>nPU?lv>dYTDL)W! zFo19@fgPl1@+wkqszTe^Um<dW zG%|cEW%br^YWvsfQ@ThXNnoo*;~L!^%*XEyC*U_dd_F76(dIlj9+tzHqNV8D9L`IC zY@=D#2T$vKJ|gQ{KStQqndix8g`8VUmCTUEKu|;J8KzJuH934j?ihZ4^}1*YK~*Zo zN!5tWs$Ve~+^SkNEh9eeBqkd`lnD!iLv*^D`^(TF!qb9*gUISvIn9X}ySSq$G8iJt zW=WbhJeMA&ah&)0;bpCte~mr>Bgq-Sj}(9|NoOtyX|;$z?g+yE{Y5UFY19MsQwQBb zVD*^EO`5P}IbQHo<!Y?*56{Rui@&-+zkb2T&_Rq1Tfe zAhecunfaZqvj`VBBpwnv5^EjdQj=qJlxPqz#CO7~O8EW@9cFGg&zMHm56{F6B*PJ{ zdf=PFK=KVOFA>|_Og3x@(`94c_QeXj{|*aV2O&kj}(5RL#aLspkM zk&BX}V+R(rQCxgA5Q0AXBW9HdGV9Dm+gXt*Vy4yG?4bIp;73C>256K4a-;|NM%Hu= z=zh@?6feY5V5JjO_fU-By}LE5*kD~4S#>KT6PZ%(G`eG*!&g=B{>@s7mOygFXPI{U z=`UCn^xOT}$l%s`r$<_$x;qQ-`H~P*n25kP3LU0?I66_P1~YF2Wf~rf=xXSyWxO-T zYjnKtXn$Jg#*npg_DDNuIa+KJRo{%^pwp~CJT-ZnEV8M_?qvc}=a(yFmCIRF$$Uin zOM<0&vg?=J@Y|%(St;ox?Of6U4;2kDOaa6Fm*uVwzhpm$Sdx=$fN=mMdpPXR&oZ61 z2ptP_qB9~&Fi2vS2zZ}|oED5)4)SM-53@8cT! zYb!g)WRnw~$8kjc{H3r7t7mkQD7OmJX#o09arD8|W_)X|7hH=87xvY{p@Wz>rQomX zw?Ucmv&+arAMNXMp4Xox@qc-gH`2^|o2WRO6{|dqa`moLFKS_C3Y-E}=?mLhYa_^- zUjsP9d`1#f!Q-=_&rg<}(mK@^K+1IP52!eGlh~wYpriR9%UQ|+#UT)NS?-9d_X2j6 zaHY`+MVYx`W}m{L^M?`zvE38V3{(_{a+|+sX%lXuD?iG(FYhsA3u!t|ZnuHDg z8#lnR07-Nu$U81h2pp>k6*!@bfTqe+o6$)LYOYd>pr3R3zG->#x!Uql(x1b`&{p3R zE!Vu97(KTY0lHl;lQOilytt zikSKJqOckThuTc&EvlVDCy{rBZa-}T)@EQUfAA>x|E`hlyXi>T6y@#C7DL%>Vh9tG zRey|P+v%0eFYzGim33L0dH2m@jl-$mDMU(Dzq>n?{^>fmXY=ekC;2x3`{%{7u7Hf?gXtmJYM{=Ku2;-56vCYmDErQ3&NHpSqS z>51qqlSyiKcTX;FqPR$qyj;a~t3udNI)l_QE(8vD{Y#Z?tc`^v0QTIG9u`+#mb^Jl zhy&eb9r5cI?C}!Ib!2H;iUps;)r6u^(&FNUY>Jv(A7QG!NsI+YKlNexW{q0ICXA=y zf9|k;g%0!<^dQ*|!czmQN+E5Pj&+-`Mtu7VZ1bt32z@2NjE`|p7 zu{uN(kOiwO$B3?OOzL#k2zIM|j(3cEXoRbK2u#+ui1%d=2_l^a(iE=E2osL0b_FUl zD_U}fozu6Sa^h$Gh@UtW8^ks-|sAd$nv$hQ(H zuW7OhLq-hKp!Nn0rLw8Nf`>RCp(Wvva6;A8m?%-a{{Abe?_Z1l!KQZbVY3=m7zam( z#g`m}Cc%<2R3?%kV4(2 zmp#l^^3$_^85%VT9q=<-lx^MGo1RO3!?p(|AONS}e*id`5H_D^p-J1bRq1hbhiqsu z*J@~+{OYmITs8KYmp)IlLE2L6cD|fx5c*~bg!0Q)C`Vgdd19rp)?!V+vb&knw(kKk zwb2E}FwB!e()D+;zwfuw;fm_}w2I~D4y~8;9KdG<-LjO+_DHExGmfB2m_|4aS1Tz^ zIV-DER;yW+A0hdJzS%rHI!=5}8m9XA6G*cKT-ld?e%5l*^MYd5vn(+Hm=_*!jk0)! z6u1)edEv4@*`T;PQWyV-C!gGA_4kl7>BUpX`~w-FC>w`2mu^~5!8P?TH!~{hs+OXm zkbli#W2Q@l7O1xcUdLVh8dX z#-B-O7frjwqHv6aKzeSrj2xIfKg8Lz)+>-DI@;sb6fueVwTvsMAniS=IQz>hskC$; zDmo8o33sz z1Sd`Jg_fpNCyD1ou3jQvzpOIBr?tH0?WtnosyU`%1+kfaA&*I4ima!1Y2)va+jG?k z2X*fH&tyBCj04$8U=jz`JacGN6tyz*2{a#ztt*@06eK_(YguN`)y4Ti_jOuUxy<`y zr^6LRB96!EehWpnbzTrNNh1^sQk;XKtA-WU`c%?Deb2n$%RtK?C6=E}IiyI{QC2*3 z1h$HzqinLlxkJH=P%20rq3EGQq{O5GczhD{caZMzB#5cCEL`qW9bxgmUl?O5{H!R@ z0dnJ8g|0);#!_EYG>0T44}Qa=R?5>BxZ^8iWc{Z&Fy+NaROi3`DjH7yN;otIL-ns- zoRHHbZaV)6sz>8Lc^Eb>KikoP7!E+gNRq~p$VYGpyz8eHy(sm33SP?@z)!>!E?FkwO) z1>%o-EP_)zoDmyUt=hU;rT_40{;?aI+Jt!WUGlIQ*FRuC*?}(v8nuEvb4VgS9Ct7w{dm_{v-puxuivnw0e?cy0Wq8 zzE9cuDZvZ+459?*UYI~Te68D3PAfSniT&Zm!Y^@c-R7Vg%45& zK%4G#zyXWnSP!{}mY|S8>(F0TciYe)NL>m^sQ=mx3JI2W%({5li?h0B@+?rd&c8*% zER!Y3X8-%MG*%9Yz?B8s1^a7>1kQcQd&wG(DjsUSR9T$ys4L|dFZ63K_No2HeVNUb z$1Q{Mv3cbwFBS)py|$0HGzI`CT}_Jvhe#5&$L^c;+{)%+-P&$jIdNDXn;J`!DI-xM z=5J=z{CrsZQt%Xw0!K4pN~f#{yNA4&bgOsV zd2K8|1h1gln%Bb!>kg{|sltW9?!V1gqg?$uhg z_ZPa@79#ap@$Yixz&UQ5K12G}{VwA2eKON9j}GHcidtJUE=H6Q`T_liSEp)Q)zP=5 zN4lhgm7cX)u?jkDInoMKJBJfLmGhXAU3?By0=u^`_C(DCQ zu9V~WgY6KwPIiSi4-<~-zZU{-mxBR=`Vi!1$Q0j8k*at2Ye&ioUSIU(Pb zg+-ca?Y!t~N9OZ;8S{;go>Q8=u=D(*?%xd4m`NBm-lY2s^ZWT1@%x$uZ;rrz>Gf&{XzWI2_Eg(q_ zH2V7E;?&kI)6xO}Fvdi0f$`~vCHRAX5ZnXv^p}jO8J}ai)g>iYW-#735TsJlgWtIC zr0qhF2E1d2w!6OE985>`OezlVcgI!rmf`#5CnxvUKrKq9+}+z92D$H;SdUe2a3k#? ze1(QHUa*EseXV}?x=maQ!ZEk55FP`+b&vL~F0Sl6>+OB`{@d$+zgv~6oGiY#w1R6Tuf8|L-V@_FLr#*=7JtL3RJ zT}fYu&r7nU{JS2!)I-&~r;jVSV*Zf3+=wBhgHtjKpjp5qDmee+#*1}bTY8-8QuN~9|j%1EQ5g(gNnEdw`f|? zxEltY!gaxX3XE-k(WYg@fDeP{+bXsS9ttIupRZiJ{&@!9WK1w7?JdOSDd#@Iso;iFhpT7af|OuE>0*~#$C9T z4J{jl>;^bp5(tQx^%X~&G_{XpaVzD^;dZQlwd2HiNEPly$z1$LNCxjAI;?KR zrN!i}cs$l~s!CD`#ky0(qlXd&O+}>mQEbL`0@R6T8J#Zi0PLj%vPa zVCIJFAS1JbZ&(5!0H811@1oAa1`nH6Es_ju_X=jjf9~`0uMsiPeHmM)Yx9WSKk@_Tc9s<1 zxWOqtE@Wyev!OjBxKGLIhH_G|$7T#C!h&<~x$>17NrUjGc893e<{RAAZ|Bd7ECGNP zAQZaBIDmF4TZdtix3IWn>hN^2&NhNBaSURDS&E;J_8+L~;e!q*Q+b&msg2@OBb;A#VQL6!g`gG}NGZIJ9`u2|g!3 zj--G(vZ2~W7mmwMvJh2r;F>O4AY=ow8 zVHWy}v_#ma(VULr)UXsMsFrFQU-KkMs_3&X0aBp1Vz976Xhb)qf@ch6!>vSjY|hrw zo1K_Nch(4%iNjj9TH|Wtaib_=#c}8>?~m5%rnl{}pQk!`zM+46)0g+P6;6i6ow#oG z(m^>GR`+FMZNf<^#CLxx=5oDkqfw4N>#Pud?X|(n(vaz17sa1M9}e1o`KbTh8Y4e0 zB2J_MV8e4iiL6vr;v3;2*`FO-64LA}Qz`HK!AUwnInsE4-EIl|70f`^8ON`6%FvZ8GJ~ zZt4ML*4$V-mP=R+Pi;4ew|;$dOE=0mL{TosQ7fGbY)olZzM8d=$Fm+sd!jR?2e!Zu zx$FsR?Uiiv0}p)aQ-goOM^h|HyB5Cl#%~`~qoGGR;8D1akJer^`Rh{JH@*q2nvjI9 za!K7@L{`Qa!K!V~%V3K&Jpb^K!+&(1H*AX*)@!XLo8W=@;SyjZ$&e(6G>5Tz*L#EE z`up@jBpjWmu(?e0F(j6rAJ(92?Q%&wLtC2?9U#v&($WisO+oH~*i79l07K6&oAN@n z--jSvJbVFL7NuQ9O+rLlqAVrG)S6-$pO+PZ`JdvzS%SVs+ODU>E?~mcjxbdMh9`=_ z7|1n-ub`?H%oX}dX3&({x}nsjSLXgaS;>3DDLJrg$|23pdlxvXJ zu%ab<@v+P`ZvNBYf{fiXYTUd6dup9V;G2R8{m5~WDtv_&lu`xsTEyqQz*G|_2(yYg z9{v4mlx9oX9Un z+6B=7uLGhR^S2=g2e|=_G_&&5A;ocWb#tPo2m5M>a_=+SGsIJcU-$Zca=6l{+bQAe z4K6Mp!pa2NGZhm38Ve}E z`9iQJz1G5Kj~R7xuQ6_AXbDW;jMbw+5f z_>HZ$d0KE$X@+$xIQMki? z;=m{!g@r2ZV(20Q9Wj4ckI|tGH#5{Ywa$dpasZuaM9Y5LsXGK#6YkdkH`RXF-1NIt zr%$-e4M_@BgkBq1G(g^!#hm7&9mg7eSEV~kK}S$PfLHhBAI!2Xn70j1rur)(H%WjJ zGby#vEcxJZbSJ3>Duz&pM)QL!QOs6xDZr!pPjL(YXniR#$%@!5Vaoo0iaW*7vng?p zQKzxLeoWx^;XNjo%3}9`Q^Mr_Ndq@Slnr2xNWdV;)K#=On%T$HmnkY_LmyM|ORv}H z{yx+_&)iPa20CnM$Jk3xR~*M?iU#4T4DJ@>D z04K>)EN!v#wA0O&Du*;&S9EO~j^BOQx1@P*31G^Gb~~|c)(nGio20}gzL87`BJTpd z5zD&5r7c3hK}Pe5acJjtVFa@6rZTEF^ZFmww|_y4hA$N25PSvwySJvTmoo!_6mmhLZ{qqUY2c}zB5Z=V6rq_YYH zB%&_-=&erLO?CFai)-6WL3CR5@X>i)5+}YyPcea$l;2woE(DDcIOoCo@?65wF;d6F`w+ z$$7t|$Pt*}6_1K8P*?AP)Fa-$++U{D>~sE~{|b^?U;4j}-Ywy){giNM0w#%t3Am4& zq$^>1jv%<U+8<_jJYhn?_d#qv+N&31fOZwY^ zl3ec!ANa-&qql>@hNP|yx&8)*wYDd@Pinrpp1Tq3S2^BQo#t;H7H6X!N+ z2}q|Gl5JYxWf2AZ^g~M$=*NBjNKG`GvSdIggay;Qbc;mUcG>VqFl|l%qQt7RfnoIU zE*shH++)^!4YA7hW?iFXqcr6BiDfL7V2{;Lg6LZ;2DC-E@X!n?$+Ry#atBTo+>BX` zWpE{_L*Zlf7#B+ZQzFP%^XB)aSof}MZlXU zzRgo>={lB-E1l%@6`w1r>DkTSCN)mE{Htfzt!qYfr#PwgnK&MsI=oPRVb@)cVQ!t| z3|`i}3$`GmTS@t%Y^T$fD_2b^I?nno&1JJwRsI$~igR#?i+%ugyV4H(Jnf#m+x~HG zocb)W^Nlg0JR$;Y?V}mp2)m@D2{Fejo&K-(Ab=@)Qo6nuTy9Cx_Tc%|sJf9Wcq1Jk z&qi|Y^FV~4vMGPhE)NbfLxmi1Z)#K(;cNKV%30Qb&3#>#6dh^}orq?!D@KsD#W&$s zT(T@KXYy+5D2^%{VQ%RoBb?LKT~wRDW1QJJ@9NXAx^y%;=Mrj6Rl-tGU(22vf6Cnr zX7Lm9_jbo5hxAtphoQs}3&dK8z_)q}r+~!w z%v>Z*RV%&zhv4pLDp7dUa=RaR28xddVX#kWD%aEhkg*QFp?~V@=z)~4E#{Hh+wUyp z&FhtU-*nPz!hd_MbS-UQeEs{uP;_|6LTNs}sz77Go;GS80!4B$=qzKQp{(EsyN_h6 z5G-iKCh^qA;Me|3|0Ac&D=Si*0)S8+o?qQ^rq)5-+O91 z(QU8uLt=i8b#afJ1&N+$+C>!YMjPtjCtNa(h(ryw4Y@rwR80rn+4OUGd_GUv%d7zr z&e_n#Zx{D3kqV*K5LudB1Vw63j?j_|$szpg+ro^-MWEV>e)2c1n*gR%^bos`n5@p6 zZIxxwY3V|fu`4k8;cTGdHc*2{y#DTQ8-aBNW3!usdzbxt)2-hK$)#4?m zdYWqH`$VxNiI%mv{xcUhs`RQQ9B$EIYE;+k8rD$q4@5-ln!li|b!!@|*?+aQh~I;n z=w7gGF}jOSl1UC>q^YP>7Yh=$&Txm%%FJU8qFo+DCC8{S_Uw>$Zd_>Ea~HNMBSA9#YcO9we;sGI1N^T zuw<3ScYtGv$)aiQO@86I-+o<_KQ!G4c#cj_=n<6X9QSX>ri6ocVM51Oz52_4l4i6e z{R)zn6L(i97^H+LhRUUty$BMz{}u>LS_W?1#Kj#1nP5b3);m>N3G)Ful%P#z6kVOM z8eQl@qe59XV14g=7)#{*IrNZft+$RU+L~9?GabfGS=4U~^;vgi64a6yE3_t#zNA@) zI7xXiVy09nb|hnL$j+0q1Eq1p_W3ZP7z3mU0$R&dPxIG&X*6j$f1B%$>*k)~V5P%_ zQXwrGMsr4_`7m0c5@SSTLPVsDx1U-?M@dVN13;0$;>d+?oRxIjCZ1H3j_H6r-6}x^ z+nBCYpVCn=d5tup?25t?cs6mJAMTWf6iU(Z&Q}zMb^`+@?I==PxJiKQ@Xf>062M9L zY!=30eSKz_1)*nzvDA{d=#v*)4L|Js5TxY)1Mol(zc~UV$ofc0`bgaVjmT;-%q{nf z(Uo8q$8*7W7@^81{O%w@j#(`ooo2p57YaFLgx;^1dosCyPV;wh4$fdI-Lf_me;PCq z10ibnO;oIA@amq5EqQY>bfr&JKK4a{fRu?6owlW{;0S(DIQ1et+G3>$Qfn8S44_E@ z2Z_>28YiN(DxReE7fqbfRe7aGaqQUnbvlVy(W$J4*xaLRxwo9(1{>>_GI_48QMGmk zSGFp(`m=9$qjfsg9q*e>s_wF8sFie8AOR{Qh{ywA(u9%)Xrd;gT)E6b2c(me^np+~ zfRUgC5-K4Ov8oXuip{PM9Au$`Oa|n`geX=|CnC?xNWgR1GAqRCENa<&#D6a!qH^p> z94Nr`F5HGMB$iY+O3%uNV#|PtC`NI^!(dRrIuW5Ns9cojuo5P6qfViNlokNw!odNm zGUe<3#VXd>AqWISY+nj6V;9qW+CVL;)=z_76e-`=A6Sf+R&y)mi2qppAz*ls$&B zQGE|pXQXk$Ivgswh8ihFCRs0hH~+!a3Y4``Ut7@8wnBF1#Dr-3z2RV*0(Uc)XF8Zd zj8MRYaB-_ zw$mXEc(o(hCw-W6v74gx1cty)84ARb-jo@B%p~`@Nt3NxqT-aHI+#U>Rm`RT97^h%u(D8iqS5n1E(3Obf!1FnbE4CQ%Bho(~74 zDJXY=BCs|Y85U9!gPKvgw2_>)(p3B;m&Kx>L zS5v{d6*2cS*-e@y6g(;_A`}m}rOPhKFr5I2Fzoswj4Y6l;GuBU162R%WLBh70RaJ| z2%v<<4_SjR#K=TtEo~nMN#9OOnY}cYl)uLnNSx)hI!`GdJ`z?gcb=6Pla2MRvgK=gQJGZ^Fa!lfhd4t_fana7Oc&-zGuJ{qMH=Rbg$4bN!uxxn z4&bAkrmxV zJTo!@0szXa7z|)2vW8g9MT+Y-HGabuy6sanKFeAJdaK6|T1XNS&7>#o3BgHHu`qOz zMg~O*of5K4hxFyHt}lL_OMAj)QslaG5!o*cRWrHwNu)XbBt*0EEP?Q%4Sgg|@MJtW z$+E4B*J#E`%gl4AfqnluE5>JIRi}skuX1tc!h75Q-}e9A|NkTuX+=>G000K!SUQ2^ z@uyQYV=30A&;wFC1i(@Fb^vAq7+|hHM&)Yzb);4fBf!#akqn_u5R&ah0C{vwsN`v}RWbZB(qBu_ zZkk0B8C9ojGe$v8Rps3kTcYHV6WmA1LGwa`LvhZO9ijFIV-C7eot8bIf0mZ z#WnW*e=pDf|NYfdS6EUdAOU4=1u^zy4}zFg4uZHkf}x22`>+HI05oq!)$!>xLXqcc zggqn15y=}{$FOgLC?u-6h7LH!7lQD+EJRSGjU>|GV3=D~8c_q>N<*y*20}*yz<>x~ zg{&PUL5QIGMi=G?92(Zq63<^m(+8tPdrA7e(*4W&Z?~45 zr8pA!>6T%&-pz~>9s~BWgZT<~MYg5(T#@vd>9 zBrPanlw|CgL07jrJma=ne(E!u{5YZYTdBS~2tpn!iqGWcZX;vI zg(p=wfXWm_NTym4DVq@VuNM?(ZYj-HV{z?ffC}T@VY_}`(6(U2EjK8 z?m2l0g2P0BF<07c&r;h1BFFf9rR$+tt=Ul!Kw91b1^`ft6A+95SOYSc2O{cXD~w}! zw~|%yC`lG@NGFehOYXU-ezhcK=kzgeNlOhFUgGs^U%#Bj^?q4>x{jZyB*O#-Rd@&} zEF0}eLk-AlpK7z5Gb$)Xdj!V8p2`ZwYYh7N2n9)(G{g!UKv_ouB93e-II*K3V@?!M zoH`Q>y(Kz7=!Hl&K_LaO9H3D#RI1@QMGYP5XQqRvafLSwo;YdIbe{Y^I4_~A^c7k% zB&QoF50FeK5~~39CK;qqp-Q84Uu6=A{TkcqR3@_hmPbT)?6PfRYMw8ZkxVbw?f7(m zr!H?;l#u*sN?A?ab);6Af8tUw2LEB0t6pgX79d-~E_;Jy7Hz>Z@7?TGI#p6K00u!w z#WEyA;Ic2MrPoE4K+NbJ0^)c8jfO_!1%l&oey!UmT{gxO0l2IZbe z4>=Nw_=*>7PUI?6Ws++vGv|wq*6rN;W3jBI6D}i{l)PHB4yhf9DEB3fSp}|0)h3|`lcv6_#%!loEi`9J*tkGN|15X^z3>12 z-}xNY;>ZLAxIaS(f`EQxnjwT8B5EJbGmgl}gvoiq3`R)xk{^B3q`EYNSj`_;#)!~~ zC`ffK`KOeI3DizO+XD#hH&6@lQL3r$*yP~!hzOHO8Wd=pmqq^pC^Fy=>3fROaBx9z zj9|@0$uJn;P;f;k3tq=S1Iz8&J(qB2`@Qx%`0l&r{eMvok(h``0Tc)@x`1RY zqn;^56==b2C1VmPCNdb4iA7VTds>DYota+C4sAtZ7_!y!hB~`6Wn8yHYK-v~WgJ$@ z0pr;+8dUC#2Q*`!bJ1zD9O!LJIkGp2g3J;}EzHVk;LmHw)Ek!ri9oCZiOjH?$cgQt z^9F^+HdgA`RlR3Ygz z(32^OjA7`05eZFBhnRYTL8|Hy_76}Hx^TtBvpO);ph4ujrp3%*zU8H{F9pUR?e6jJ zJ|XjF+2FcBjcq1Pt&g<}vMM*#~03?JW zFXRr5GlQVPIT%~yzadSPl{hiQn>mb?Vp@EztdMhOZH$e@E1P$vcG&g&rPRHvm=7Tp zCIq>;b(>}!Tkc1Z+4S6klR1TJeb-+#X+apxS-6FYzArts<Y@L*Yt6CDgQ4c~Y*iHMupbNB~;|v8oW^>pMeyQUV5H zm?s*o7G6)2V20GfL*UIkTW-ByKKV#T3l*R5KggjDZwo=*~^r` zMi5BG(l$hb(GZ5AIYZFyZRgq1vz4@(}+Sq_<(b^M1momJtL zT}82_j)19BoTX^`vFJ|ICwQ#XR%q>)y*15h4$J61<$0x%+9>w^^tjS^;c5!ob`7s! z8iWr6ggah_u+m*v*K-#J7gUrsEZqN6Hj^{=M{@O1^QBP6dEoi=xl3tL_sYU)8%u1F z=}i?(04PMv4?=&KTlc2&|6!fn(k6jnYpRTGu+kV(jjhJxW>GS zH<0x5jp%v)Ey|t8ZVbs97BZOBA#%c%XZDT9weru@*tzeJreFXCeIx_iiQs{&;eaZDlAYH@zLq+S z0yL*n@6~ld4$MTM$P&%o{k}bP3e`IBed+4DHqaBRlmh?-t|{BY^RWMXX^aO}Eo{BE z)Bly%9yvv}w&q0sytwo#uja)vitjt9DY@z)l2m3JbIiB3I7H1ZQR!c-Wts3*c+P=H ziHw>lIEFrOLp^$b`g_w}QbEBo22j3d1(`T7Nsyn5p?VephF=MJKWAfTFX_szBE@v! z1_a6Jhrw}hwGgXAt%_PO6acFlOTT(lOuA=)^8^|nH%pVC{oOIbnvl6V4*J?oj*Vn7 zJBqzt74W~=vs-?@syI2E87Hq|IV5K&kq()GRfNogk)6QX?fUoo;aT}VR&9E)C+_`8 z<#?o;gNP1I;UO-FSWASRF95?VLl6hJWw}Pb86v1`vm9-$vAnyP?j}b(7-nITE_}&z z=1l-_cmo|hD)54S+JgcFAu!|IR)I|JXQ0D@4$;}D-s6~bzQ!@{;mp9XNqpAegmId{ z!oYVyumz-boKL@7l7F}!YV6W3H!dqT{dRn+|IhbZ+yDLBpYkedIT$Ga`>+H803>Qp z)FI{`kdOw-bYX^mQOx^U$EESgKeOt%^on>Vz!?x(iD}>|DgrVX!a(Lc;GKtwDu1(j zELcgF_X;)(>pF3uaY2P64J_X29M+r)2(s*x$>q`og}8yBB>v-t z1W2yLVqne%jB&IFRrD}yrS&bCfY%5VNzr8(hu4(Y^I{^@#A8p+AYH?%WKxoFlvS!x z*A!`X+|+og3(U3%60}h)CB#J)Xj!(N7=uBcZtx?>%;a{B!bFHV`nBun1=|4t1Q8!F z^h=UdPJI+aw}2_g<5BKeg0U~3b}^V9Obw67e`WQH-rdIw%jK#KcHO=~0l*V&x0Oy? z^T3_4nkV2je3dYvGlEdNu3l#MAMWM$EbRYgWbt&ml(~@lxgJ(=#228K>?#HG|FZX;_4tIV7et) z=#V)J(?*Rsv$)D}>G{eM+PSM3R1%cX7Z^sv#WZSWSha{Og2^xv$DJ`+V&7Qb)v=6Q zA6J&3m4K2(4*7h~l2h+~a?_s6UyZpUbzpOXJ@~yj&;R19(i#YuAb~*}pvervIAEYa zOBCacOi+=teI$D^$t&}VXGHj5#02OcYgNgKOjwOA?C9)XPmYLBU9Y)IR zgpm~FdiDCEA9l93%HYDS8>JNXxtYqI`ivUaG003wal~86YPxBa$*76eCoyf^R@s?< zB^i`!)}uydjSA=n-9*M}yFC=%y(mg{cWQ8V)%D#M-2G&q7*o_5#YjCdQ1g`l+tH=6 zXDjx~6(ea+a-Ncs_y7G!u!x|mT`>Pf`C}p3kOBDP`DO)1DVo!jm(ir@xc;9nR$`^$ z6-N?|nVKqs4#R|$oN2tBtm!)=E1knvOimSca>RMZm%2;wr$$e)*HRdX0!f&7Yj>%Z zfn-j;db#b_J}YG(=Dj_$-h)>!f_~d-&au~ukw%wXvkb(_%RR_v01its5){8rnVFuR zoT&KbSah01b5bOp^!nMix%L)wKRc0MT+j8Kxu1KK)vjXcsw1Z+VclbLVQqU+09Z&= z2!I)C?blrj<$txfah$x1+0t%NC|g;3>e4_~UgBxjC1=x73OcKuD>tWG>Lt->*ak3k{sf`pQDkVS!qEwSF85bDaL3SAd!m4DF$CU@sdJA4wbo<*`>+HM z00dTNS$hVAaF7Q2?>#tEQ-@z z1T439a|*PpYOmF@=vJ3QW>Ts8>vwweohEwL$hrpSU7=oS>QzjVDbQ0qhwz4uqH+M_ z$ra*2FOZ-i9BGk?q<&rqq%qT^j3#ZxaD|3YwvlP4GE^!>_U&b?#{YD#^5p+}jOb3?kH`Z|W*ECt_(oW&OEuHIn5?)88M@10g~hZ|Y*Ms+n13wxI0@NUa75-hKx$ZVWPTErV#d27!UH ziC%TQIm}ry*teE#$B7QlV9D`!*{m&2-4Y9qV(K;ZY)dBZeM8JFUvRBxw1r=aV|%L0 zO)c*0MM-8u*l`{k3F1f$K{O;&x8-um6MQa~cfMZ8kuH~A328fGl@SN*!h_o-aJ?W*ljbE8#UbOHCk1^&&G? zy=~T|S1S}!JKXFxo+Akvq@rx26!|?yzsqZE^|8J8(zgwT6%hxb0dEDoC4-hQpis*T z6aMR@v=T!~y)@a;%c(mT&z)M5WxW*4Xd;uO%X*Hjji%=PmN${rc3leF@(G9>uvLxpKVeyyGo*X+Dr*F&KPU~ z7KGw3@uKIzG5cqM!)G*bDJ>L@J(wzTFOfT}(yJhm9Lu<@t3EZhr0cDhR)x~3BI#7T zP7bnc8ssq9)ZeMwsgrj~-Al8w>Pls0rB3!zG`gKiWihiMdMazCk|!3)t!j5QK?N$B z&7=Yv$s(h7a@^g%{~>oTK_&y)stuJOKvqOFwhw?L9**G`I}$JIcQ95PR^nO|l#@?U zmUU$uYeTty?i4*vX|xx_>c`M9cR+CiLq_nfvd)AR;)L4-`7avFe z`>+Hf00f9)S$Xdq@QtSXKVZ+A5)Gec>@0K2I5VyM_K#Wmk9jNWZ%CdrFaQ4(rIYIA zhX;G6)|Y1UO&63w1wn-{950Xm|DoiW?zbp^=DB5=RHrZRng7Uzc(JXKJLklwZfZio zGhu;vJ?V$6s-`$?cfd)Z04FLGNkd1;wnFtdW=k4gwiqmCRP;<$h&@;6q%P$7G*BfL zp(t39hsMHYmogSi^bBKbDL`pE@aPXtPIG2$nhre&|NrUmq;YOkJVYu}%64>%0^3Ri zZng>{5C{d2Iy5bLcdH4s&5(KZ0Z1-U9xxLAGa*62Vl5{dGN*9p+V))OqM&P19mKo zR&wQvMO#y*8$%SG@ok5rsVAfUeT*y=RwOihCMdz;M@cB2fw8Cokf5nCpa0}d%=ldR zdYaDGZMW$YA(!Ume#faUa+#aff6dh6A#MteApHTPsm{yFX^noMZbB_bE*M(E~wrj=)t%Ln5$c^^`{dFgt;^wjV3x6>x2tr>$VW~7-k zmdRAgW2yg~F(;CP)VO^4xw%;&N;y-FM+dl0gM3a^{IyeZ>wnCG zrFAFxU(Am#+D2}9QZzG00Sd~_yvS;szu-&P%CHvYoP~uI7$A(XgdY)+8dbgmVXX1x zioI_9Jq|_SN;=Qulgb97+h@%=6LCc(fx|fBlZ!1m%u`n_L21fR#;u9u>mi;Q4gdSA zN&ow>1S^09c4*ss2^CTbCpmgLpduhcqnhEt+mmA|wpdtkWUfc$5Vn{aIMFwtZs=n# zqkChKr$e5*W?#db%zyK6Y)ly&f_g@b2V>bF$Pij)DTP29384_&x4-`_n3>8&%f3fX z_^TZpgR^k@YZd94{g>zb?=So7bo>2-3yXR8RSa%T_`r4$84v-e1wD{5McAoU88+W_ zZdYFqH#m2)sEcoA&1+M>ZA$7ikTDfmH+MTyFX^?8Bb)Vn2&~M1cirMZ&$g|-TQmJ* zRLAxI|BY5E=xzphvKwMbNmWitd8q455e?@!GUs3a|2lj^${jra_5XsyrF~9s3xL{Z zb0(+v-;=dzXMS@sBFbT9uCC_k(b7L)63{{ia0|hv3{cYqc?1*UekX=0d>C%a;|TOW zAW5bo>=GA9$wpb52r5F3s`h-W;8(e%N$8nsty9$P6-|jUrI!_b?R|g!H8Ai4k-TXH zAk29KB+=4qW~&Jh9Uy{W4xZ2d+27aATdEBmJ9bySw%G2DV3ISgl??41;+pSiw3}Ks z=EyGo)wrs7iZvEwKqm)A6a#QYVUQPyWDbhtiKv1-PD2YFe>0bV7YWdj$|8A7E$!m8 zMhc}uKHE)+maGenD|Cxf96t(2V~)&P1{}Tb^m>)F?pFCdvo+<-M09>lUc-yT6;ai+ z@Rd#f`=A6f00fCr*n12d@{nqK4`C~cQW)b`%q8)HKA!8jj4(0V7>kum^vukO)C~Nv>2KK>z;z_7KG2fH?`X# zyT0dbaP$kppavq72I1CZfhEoz1xk+t@hEhY1cQ(N_`BWvIc>{pncjJp$GSL%tG1$b zZnoE*0Pjp=C7T9zzqR*YH_y~phE_08KmZreW#~ArOGck*dg!bpX#BP(9%Zw)2+anu zbYbE&3KwxZh(Lwg6UG6D5}QdN+XU}lN!w{r;SQgS_G#qWo!m2i)F-|>v+Zx^e=M$* z!_+B4+%pT;N3f<4gK3@8B)TKVpk=!b*14wea#Ruvu+W_+1BKfOiXD;{6NQN+AgmwK zT+q}gS0g4z!e3Z0oRt%-7|!U!H80cDSH`?5DTi2O``aAlY*pSZq(g}99;Gu zt~^%ai}jh)oq00#%9pBbF#P>53wKHERb%MizFIp>bfhh1Z$Cem_Rq99E6vWDDvFTZ zTGb2zz=}sh+syxG?otX|4GwuYz(EVc+WFt*zWcAuWgPM8*rIG(Mv`t<>VdL!iFR`p zB4j%}!vFiQ1O)&Deqq<~>>Top>^lBEBc4(f9bw0@vC2m>Yh5g{<%KRQ&@vUiIzud8=4(}n>XG++?o5bh2qX;w2&XtCQ#m=rDr?DosZJ@G z%aImD$$IblZOOQwf*gv+KkS|wB30DP5I`84fZ}w7L*leogY0htaoMtHjzWJXi`#Q* zbqs*tr}kx7RLUWQUGEcN*P^-#7Et<(kit#WVU4dAV=ea1U-e$=BjC&xXG<6!QK%>p z6%;x~Y=$Zc$xkdvJ*fJv{dh+V&hU(5L@>~XGE-*axxdvsj%5inlI2N^vt_Pp6we0J z9$g@FG}TloDG>ot`Ut??4w2deXh?x(&L<`CMG4V09BAYCl-YRUKrC;^bF_+8mSSuA z_j%Lu$lU6I6AIo{@w%Ml_i~QfDBY|S$;_usCfiB>%$m+uKPazIr8y*Xg5EHIvk(SU zpjbj4%YWHPJ&-hdrKvtS z;w9|1I#R2OOX(9^nc{99c_L~$rHXrk+9DRnFHzDDczt(ghjjt~5CtYt`>+HIfCP#=*Kz55a*|COe_+Kx^bXjH-!46KbCuDt0RPHvaI$3|CQGIwtI^E|dusdZ*>u^=`pE(@aF za&-OwEC2P)+ut%>Uz^Fq6+sZBVHFCa29PK=JdEyEl~_)SY+?dc-*h+8LaIbAkSyEX z+N4B<`bGFb$M6E+YLl{XW0vv=PmAH8ZHdW3lbl0{aqV2`AL}jh|Et=4cj27sE8w#>_U>6xCt?!ddWdii!IBw4 zs4&_^K#&yWgzi5{Db8GCzF~rba;tgLFeq`eHxWt35`u#Y105-$sY3)#S$VNZI2t#b zWn$+uchpYGyK5YX`|gQE6j-R99tI=e4WE4f-~SK0Y&uz043{!$tF4+QQ(Ni3-TR#p zy87E~-!t7$vE9?};!neCZ#OEsrVXl_shNl(C^R2Iu>ee9PB~fu-l-x{ysIUXA|!=d zR%@i{(aNczPyhR{1QP%REj8J53B=-zX6sL7FPu@mpK0te55hY%EV%Sapm#mfI)MQ= z;R+Z@2&N=c+j-^Nr0JWUByJ z==!K0rHZ80)yz2BBKMsn(aP_jy_?$EwnHLPKq*`lBn1y3FbTe1ElElgy&fqP(g&kj zlveRrhWo8Z9)*?3)nvJQ9Co3nCLtNogzKSsZ7y|Rrahlq^zL?cUwh%pR=r3GyGOYUS$vWm&dUf5Im#Lj@WQD5Dnb<-k zm0&A{JY|BVbP{lF0bp2?g;QyOQYg%U={y?iDgMFZ^F^ug+TQLItdSaR#4%Z+HefCO`7+j;37Vvow(Utx`WQBdD$=b7_LH#9B%g^qZXJo2jU za_Pr^+o)v{BNc#2l+ef^L_$JhVc_tL90iC17r*EK-k#L&%)h-@$9-~Sy7`%Y-e&5V zArn1e1!??5t^qV$L6jts4~= zf<#*^6OzImQOH+A0_F9g&Kn}$iKL3E#XI@9>G^)6w4*g6TI#gS#SeR_0(irZl3`eL zN&|>FA@MQI?1MN|{6x9L`T9R=D$ATqqhks z28C}8#Z^>WumA=y9HUGJQ92Ig`smd9ElpkjkX&M2|JFa!l?%>r0(eB;t_H9HMGh+g5RT+^e zysau4&&iU*9wm?p3wLcDWd4se+8Q=?;yC$Vw>D~cd)2Y(bkIOHHzpjA(!>pwXz~8??Tz=2AESSa$gy zd%Zu?^PHVUiH1rG$^ZMH1TFvsWIo#Y>{N1#Z5wYrW2_OCb8Y9Ob&5YJZ2a~u=|HYD z5ll1>;7S%yP~Y=v?nVVcSk3&wf zO1-9G7v)zpo{Stmetw-mF*`fy<`30$ORi0{QSK0AJ+s{Rx}!;nPjgXjP>L)b!q7hw zhC);1*d56ak4-xN+HCfCPUw*m3V*@{BDTPdy{Z5!pv$$C!G`KeTPU^bYtj zZZ9S%SB~IP5I~Z>Hp#&bQMj%rGZo0_rr@uT$*!0rVaarsB%cJLClpSim z4t|-su-wkI87$>_{8A+H_s)@<4)X5HQnxudQ!J!J1i&)B5V4K|nC2m*2x$qxR4@^2 zVTNs%_7)V-^fPN^B_-6?IsUOwb;hZKZ$b|Nr~0c^~z2CeCY7iy~O|s8l%0b2*om`Eip@ z@VdPtp5)z6P6=vvd1N2}ARjM*YaC$PCkLpn5`s`}5o8e1VJ}RSC$yD$)EqoZF`Y9y zTz2|Ya;wJa7PNAY_Y?g#+UB5W+qSi0K{OTS(^Xw0QCaoPAx7sqF`Mrfb*=^i7r=uD z4maEI5OG4RMYsR|{WCh!QZFpHwa<5?A3ho}8@5zhdW`f5Ud>&}|7G43wv*;yK6dWn z9TZ3`g7+tY`wpNR#c<^Th*yb#rYO%+3SSie3etGmo z-r!KRJduLpBOe5QK&JHNpAm4`9dXQ(hspwWwu&=IiJIB|J;}Peg;5X+B)Ng02H?Gl zy%ZjmNTTb(5T1oEH-m+ahX4Dp1P}lOom|@c4>IzV%G*C-=3Y^`YhlbV&x%AUtv!U9 z>Fc(pv*pSB?;Ki^M_Zisv`g8QK16l~X7ro`bbvM1cUOTL01P21{;w`(o6Fp=Dzt@` z<1!a=D$X;auqYpP)I{V&ItYMJ0I1fH2tWk7O9!nWM2O58!f{kCr*LP8`iVyY;ysfN zs(mlG5QkRznKAS(Jl=T`5K*N@Kt6I_468p5!q!KtwOF zf+7IL9RYFYDgv8LOZt8PKW+WH`e)6D*8Qo>OIw>CXpehI0vXiz&kUvj0s~35e*+z4%)LrzSelf+O$iJ!aT1}Uwy;ULEx}5v+&@YTIF%}L z%2SNg2cvXs+!lI-M_8I{tHV)wU@i<_%<_3Ox?{puz&#| zU5`n6lI1m?X2PmvX=bT-<1<$cbTCFs3!(x^8U`eYiHQPWWX{KG=-dXwN6G-Afc(Qj zs{1KJ6bGoAjj!*t%Mv7!6s;YN{&MO2xk34cF_byewZA0H%=xd|8y@nS>ZY5^v3$b$ z64Y7h=$~7MmTw|*DODPQ)3(V$G)HEhT@&ZR-kL$!^Qwoas&_B|0YJB15}{G9EQkmY zY0C_xl+oc%1-Bq|GiJ}kDgTZC`>+HOfFyil*?S8d@{H-*4q(F8QUyU-XQX<{C^75# zh7GyD_cN5hiP-{VlaC~eM_9OGP9_>8ACeJ?@NaNt%3;i{9Yu#cm1ZmjPJVJt2GK5V`CkM&xn-o;it<75B~N5GC1 z=OQggVuNxC&`-^x{EDFTnL{qha{muz^J{9r*f^V-8`bTKB?$*7gj(9PoRDVq!9E8w zV&S)Kj_hz4O*l5+_XK<8hopBj!T3rsnVEmNY4V?+fWYMA{Pg|iK#zSZ_A znK)V~5T=P=g5|BSf>}^`oiE zpz5u1inN*MnYI?W5K$oz)7kxhC5v8Np=j0f)R$XWG6Eq-!4XG~1EeC#LG{NMDKO*X z%1gXIyY!*FGAS4U3JWui;ao96<1jYDLJ}f-b6R!4ktYvREISYc6LT{H_>*uTm^}&% zNMcgHBpQv0hL#Y=6dMNw!&JXCH@d|y6rqpW)vK)bu(mGC*?H!!w5QU`_QDgh$0{KR z&tT9pAc>l%=05(deX)~~%PE_MuZ1qeAd7*&F%9tY5c$}?E?-lX&G4ZsJy>UmbU^?W z8*ZvLB{kZ}TQ?L@Ghzw;#;-g|`A;~_!WfCRJSDWSBleXD@c~ZRwj#+Hl00fO+*YgP-Qj-YU%VFtiQH1|n$E4Is zH#2LwgpQ#Ap&y@WDoIIxT5PL~WJCLoFdTBvrtJy$q@iSMp4wOQ-Uy5Eq;UmW3J3$X+O$PmhFd;VKmc@ z*9m6gy$loZFNW&`&(W&J2~7@5O_n!D>JZl{pB<6OOrc=AGD6qar6P0{7}T)+Ml^W9 zz^K8>xaT`}9(+?G)>P)q%pyEgZbp81djEbxRiA3_bLB#P{YE+}9Ee9=xM@c;bldiv z%?<3{iA7C5|JtmwvIqbG0I5J?gZa>Y64Q_gA$DDpWBH9bJt+12PVI?d>ngN?1yHFb z&Frmo&?a!Ol@mo4L>3l#=jj$m{5qTIu-}_{k_6oRvZsSkGV9UXUk*Bwm*=M?7<<#& zWZ}K!|DX83I9S@#4JH1)WD#4!;@VW+X|nAF9+2%tCvV|>;^xV%zVe7wcVUV!auH@5OT4bppL})J-!bXRP zlyc(pVp#|6GPKX^_1AMrgyf{7rWVH|ElM!rvlG~=O^{H^U}3;DBQwj7e8s}VV$=Z4 z(Y0gEOyqJRl6~`bta-zKhR9ia67-hCT7_%NwhU4=hnZMZFaQ}LMwU( zvWn{jxl*Yi$gVWS)pms)P3^3yHwuhHW=A?emGd208FI#%WKUA**Uu)Wk7n=~)$0dI zb*V}?VMn%M<$UDV2c=A@s;fNJv2Qr#tN;6;1TcUEZ#&m>4>ItKYMSmngM1PZSygAS zdWtihYV7tJ(Ju*+X8UjYT<}p*7_!($h1dkjN z|J2J)>WDx9Dz;$)*lv^cSP2BokqyCTI>`i%A^evlYexaXfTi^!Q3y+1H%wSvc5ES& z$it`jq>a}3Iz-q< zj*;3k2RZ(Gq3IE%K?-Cob2=d$U0N>OqKT;nGNUY02~Xlv0CDTRx8^`*x05FkitzdH!leuF#owZM;p3+>yaaKRyx_Y zhOD%?fjUZ*D0Ob#w|)WLd~;`Wr0J;I?YW+HDfFxcv)!FPdAdf4G&S8V55ro}T zj4;iDJteC7mKo`fvi=n!HbGpS6l(K@$*M(CiFS4N(eM`v6=Lq8A+l29a#A9F$wmaq zmvurs*_-JAp0YhlC&AZoh8jl@#1(Ra5bW8XnCi@@Rd+8)^Ty#3g++oOkh;&sf|tB9 z;Zm+hs0buDT~Sd5B4kiWRCSTH zyU^<~cv{ou#GmCY)y+m_v6x}(c~dT{&nSUu>VqSf%v(62I2;(nalcpKqQt0o%KO)H zavw|}A;HB`2ZaO}tKoOwFoXz)O_Wopb0I(eb2g{e&Ej&+LYqWY}@cWg^*k zvrNdKnOC?@t0CmQFgQ*sJp_dN90WA>1Hh0}K!82v%nBDWRl^A_Fb$aXG0m=o*|e2} zPuGoSct%43096Sf!a^1~icFM+Ug9uX%&l3Ambu+!Y+UcFNJfqIhek(h%>nY^!U}#t zsVmHcqY~nk1v_!-&p+UNIdrZqzhyRpKpRpwd!)?->=TkfBvdhc~(Y&TZ%=`=u(>N=ER=w4CL zeOb&fZNep+>XC*Sd2nPj4Imgq(MF1}sb+y;TgU=v&oFRS^-=43t%Q?xBO}R)$Y{ty z-@K;nNk7WkvwOO9ejrm%%$-X0G(chDqF{-UP@+jk0UQ`W!wnXFz@%^#hGgyRBC#NR zS&qFCq>55CJ1NDMkhgsh1bL!8EdXjo;zcHe=_aj0<+rJjXCb)S+bMBPvM80)o{I;G z;>!8@X%dP@Jxz*2ZSjm?NtYGXF6+3io7_VX13=v+Znlczv81G}5+!*oUWYVFW|@$s zp;vY;Bs4^VDhfi8?dcF<#!|BVeMPmbM=K3_cT=U@)SV-VE(@;hB8$3E*ysM;eX@mE zjOi@Qf&c&lv4Uck0R`37kU&!3+1j=%w~-{*Ig??1(GM+ZW8sS6W(>)fS}|^ifh09-XH*n1d5!Cy&;~p zlKF^)^){=(8Lm4g4n(4qBm=|qgV5{}T7Xl1D&lD19gV0ZHn2b5)qmFsM+&PiU(fsm6p=8S-u|uZ3eeRYk zbz+1$mx(`rdT)f5Py7D;|Nrk_YHF)zmM{+Hb03>EU*ZT}KvWmxA&S8dX zQVCI6%sk7=F03l-^p6q!+Vzy1x-CnCDdwZZ&9iSTx*bQ;Y2`Z2ERs}3s;Ev%Nvb)*f8KTVzCSYcfZahayk}GBHCqS{J7VAyHwJ^v4!#)kFev-)fY}8A+*2ybgUZ>};hwFNVi^zc9*ImK?Xxk|M zRfjj|3;^P)^&IkF?I$&R zSoyFd% z(7;y*06@;Kkw(HsKNE&Wk2-Yp=)y z_eX|tEhn_}Z zIucH%8AQC(!Z>0^W+fCX5b#KOl_Z^n%2xAyVg5MO_6-Frg_TWzO{wX*nXd?LW&C=} zx!^=LGGZsC(Gh-Qu}ZJail5bGwR|?A^k;^=^KU;hmH5nGC@$5y6ilsIN6vskD?2)# z|Nbyv^oWh+PKnjx5xPpAv^)aqLhx%_6oJ|&j(b@<3C}Wv-T0h07o~oDla>oLy2Xow zmpLjba!Q(pP32jt3};5?Qj+39LFQDKEA)HDED(Y5%9CB;HC9P&;I}yrT9~_*n__|) z9VKkU4H^=$3=1|4rvDv`Mk?o6niX=Xku);x;{?G1+}!o&7Xn$USLfHRVIrnc6*;K~ z)X`0;SkBQ873@W)YpF_2Lc|%dkAagumj8g({f_lr%&9ivLaDr_IBi@lLm+O}oSAf7 za}-Bg-7yVrjYi}*&O_A;3tan#kc=dHX$)%tmO=N^XE?qet(3{;r=USr6&eMPhs*hWrJWPrb?!KhYti=PMwxci9H8rP z|LqbG{I3{8dWN_gopj4U9HlhHSS?_nI-;Au^`G|o*Rx`xD=mkF`2Yu9HLi?t24^he zN<*FgwFtc|78ZUHke{kzRD~8I4hXHlV(a}uxf3e>iD(gp7fKjLN$X)bz{Po>khd2j zvZM*f{u(bgJ0ow6AhWc^jUpn)32UjU8oNxN8Y@ZbamCBy>GAv8vaa&3oZ4(-B$!57 z0Bu}|$E{{pXOf4|W>0wl#5-WgLZ!4FQ|Ozxu^(vkZG*sOZa)!TnkBgllgkG`=?e&A zl3W_>^v7Z7%kA5j$I{calsQ0?GdAV05`CGVn%w3iN!cWkf+1-Lx+R4~KZrAbHuYe& zOl}z&1Kwnu=EW)zM+kwOpM=)#>$DWcqJ~VI|JkYr%Oe7@)%mI4i{VVFfh_hZVH-H@ z-S_mhbIg<4Z0P|sUWh8M>cP$mQL>)jJ zarfQnU)ow~ma!aHY6e#mC+SCQB1wzUvT_q*I7`Fe^YDtYsw+o$2|WVO_ciNIBd2-* z{I$evZxA9*f<=-I^@S0ryDJ6MZslc5|ZI-qq!Ks9ga=n4CwpL|o zlRT+G)yr)Hb>`939+v-?H!XGq1T>KU@hN^eAbxOVwc*h2#S*p4-~eS}lE9+wkCDdr zazpOXk1nha+eQ6>!Ns#%yNwOkmF=(Y8{+>$o=rZ_%s+N1Nd$-g&PffU#4jDT%%*YE zM3s$vyff~qz!GTs23&|JIMFJeO`5A}vZP+XRVflx7v#)FUD3WoC1>9!)U-^jl`yZo zz9%p;=ZYjD*oO}RF(g}P&#OW{_PYDsH`z>`8CY~OLe0WUx3re* zHWbu;DodPX65VS$S9?;6y0{V;Ul}0s!_k5glj=p~Dro`VZ1LJ@In?O4DgNKPh`>74r#;bc*Zupq`?PH7Q{=jHhQ&)aD{Wbq{@%9G;{`y|O^cioFoKH1LGA-= zSumQBj~nJsLjrI0i`tcOY7OOgN~YC z4>Du1py*!VuUBd+6am79-4!F*>x&vj1NfJDzAK$Y`mcfy!M+Ub*QI^IGN;ze{>-g# zZ2Y-XmCbekcpg=9;ujSzWPM{5PWS{M;wq~P^a52ums4C)$qJ~quP;|S_6icrn_#q1 zd<(6CL|MVTa}wc#Kj{9K0$Wa1;5=(cJR=Tvq28tk;#Qq&Q-3&l%m+aZS9w4+-&CkK zQ_BkI2d}_Yhi0EBY3BnD4%9!QgPnylYRTSBT%)c1$?U)W>O(kunAvJM7MWY(_q=cB z5d}CxivQVz!#P+T1)nhfOs}PO%%jI@f4H>reEdPn&tQ?4AL51g*9BcsJt?ykhqw21 zw@}`16jd>T#`U|rW4Flo3ReyQPFK{P38=xFqEyNb7kF(2hV?9^n^M|GL&tH)E^nL%_URU5Q z=7@RfvyfxehIP0vVMj{y53VKBNb749s??#%$kU0_Ep`?7$mAPKZqNxB9z*SD1~F7c zpqgkr4S4*}aBixK1M*2GN`zQ`c&gclQ`FV$YxzDz=h4#65Y#-&y z<7qA&$kj3J%Osq~ef**%;WT~H9|;tnIA)tFKLe%H~6R_Sh-XVL<+Bkq~liDzjS6P$ShEt;Y)&uQ-+rfud$Lm(-wkN&0nY z&h}d)(bnJYW|>EuuHBwIa(zGgurAbV5{+0>ohJPFj~R`h4Nlzo7X+|q6ox zC(WEOJtxljIIbK=&gV)$zQzt4+I3A)56;O!&XFR4lQV$C5()~FTX>(iQ;M|`(QI>0 zgx$>0@`Rm~WaW|(x(h>KNZ2jh#ac}vP|E&r2|ukMtgFJ9Y{bdEYIU;NsPuzFGf&Ty zgYsfxbKiu|x^=^#JrB&yDqB8v+z-khbl&@VN$1|fT1H}@b*>iG>MW?^*~rYXfV38h zh!@EP6T}b>vm7Fr0S_d}5{J<=5{+MWf5mc%GmTw_)Y(&#rX*8-dpY5dE!7Z~VoxjV zhFOuSl`Y`LP7I$uwQDESd(mk;qTAZIxJ=w-w)gbP7DlbEk38F~X>%I1lIxib&V2Jy zrgK^O_BWu;89pXh>^^cc`2GD8^d!CZY+?_}HS2cYxxZ@;U8 z_EX<@T;Jb}d`%yn0EqC2`XIm^ZptBhn3kiGIT$CpjQx;GYBrpnHjtkbKZ;Hn6I4}Z zd?QqT@gCsM^of-`b)|sSJub0<^KcS3Dj$SlVD4S9&Rs=YB&~7#%YgJs7L|B}Rd(GJ zh6_bw+L(+GGb%YYx#yafiimQA4Cc55Y^7;KT`CRRNhrJ*RkzIS_l?K5tnE9w1fvuQ z8@FOh1s`ZhvU(+v$}rh;XneGEm8k_bk$L|>IAe)aT9W?1#1R01etfItP;zdnTwJ6m z+cJ)OA=H528ctYPFBDnE44-0SfkvGlW@atf8Z-oU!1||EL938fF%lRt=2Q3BVi~l| zd=eD2<+Co!4ZLNCG91Rm2Kf8(%)mY8!+zskIlnA9Zy}FNqWd!#?Q-aEQ#gZA+coop zOPHtizqj`tC>ZtqwNB5F8Xg;C>>?z32|`zrOJ(u<76VSAm&ArdF#MB-YGV@1K&Nx1 z*nSj@D2;Md^f{cj$I!Yy>0UgZr$ev1H}3Z)%Hf|Rl3L2D=)44~l5WemKNMZQ z$i=N2(&(y4Ab|2ybZpRgtW-a1;BZ*qwm%Is=ltt8v2_bkdZ$Ju@XO;_(=K$QwtqKbYxrzdIKy2%qmsak_TETuGOr4cpr1}Wv{bj{{!Ye1JF89%L#l0Kl&V4eTDJ7HUgQkurrz8(LOv41JG87Fan5x6p+M5BDgulI49>em6RHbBOhKB$XEPew_3NuMcK za+w9c**O1g|GAwaKKlJ#x8wHOjOeEz3|Mupn;Ta`GF&n;g)ZC=d&%SjgX-+%Mbh=4m-gA6;p- zYa}6+At&Ga7&X&(^O13z8I+UoP|brltxgg2pDG2KB>uM(YpWM6S5O=Y4Dd%HO^m=P zoatp~LS0irOLW0HS^3koh-S~p>)k(=&Iq%w3W*zO2zfb~myV+l=+QZ?I|LgX)YML$8A+p< z;oUO`oFh{WiP;d8eJ78Vk2827h0bZGxwH8GZT_qa+Ozk|$`*fUrW19zY5Zk*cey2J z5sejoJN51V+bBI}UdtH0dcjSxg(EEd-kz<#YLx<^48!NraF!Zm*kz zU(3}YXS-_lay2)SDAup7OR|cUNs>R4P-W9KCiu(m{_bh#6D)C1vn4#JrGGhpjb*06 z_FmYHwV<>OG8_K_oTNS;xd+|(&D8_AbOVE1cll*l`Y>5=vX`naz%yu8e|7J|Xc`cQ7w=OBP(qarN z%&(1c*omNt^Hx%+s?&_dY&qZJ*je|4oVfh)mZgZ=Apgy*sn63$8*Hnjw)L~C6Vtu~ zllkx7zjyWf_b-d@on)%4D)50Hh`DJ;UCrq08XIF*$JrG{reevp3GmrVPRM#Nds&L5n+Rf(OF~RyDCf(mU5X@yOPNUxvHqy1UUM^ zI<8j=X3E(afGe_G8krGI13PU0 z>Pg1psps|@HabP$|EaQMR6wWRHG%`r=KsWIG2~^31dyIQf#xsyEpGiRsufQ@7#-i3 z*Bj#_BTF&v9`tEQ5GMP{PJ&bsV*!Eg~Gc#t(HRVD+zXx z3iF6MoX9N$+g!moMOKHFdn{^634JLAl_f+{U`~2U6$7v*ky|Mu9{a&EZ5g>Pv@D%l zLZKS{RcV5@4Mn9!i;QrVzLn3fr6wF&mDyj>h{7=$Itq-;{T3{RNLGdn~7QNuz*?q)C)9d}}K z>DJp(wmpT9o91@#B6W?{QX@ARuH-j3;fXlDF^XS1`1Tz1ssOKzPX#j(w#k@+WDlZ1 zO35oz{JP7?z(}vzWk_LI)EobQch8KF$6!iz0-w3!Q`s8&P4jP56O}?@%`^Z0( zk?;jDV5)vSm;=Hz0PQsfAq70=<_uiT!K-aqDuN^&EX0Zv6~nOi z5h#@OGc;eUz41OVgYp!OA>;iOsA zeo=6c#-M?oZHx1$Fat}lOj5?+{p(8I(q{7%7{iLv@cY^> zp@u(x_!lY`uuNeMz>cla>A&H!skHdA^<27(_)qdPU?OtbMTOdh4k7cKu_pURog7HJJ7Gv&})%8%-ic-gh|>B5$Bc==v#P~KG{ zN27zx9U0+DXvfWE{Kd$A6(;3D$)Ut$ld_;P@({plO?ppBbgCRXWW7a>LV+kBl_{;*s!!NlJ{e4^ZW>5>r zBg#A1g-VAJI>y4uabgH3YZZMIF?$$M#M?6x% zjVJ>c=M+zO4(JCFroXy=!W5h~d)`y*NH&amzSdFK6ZpKaX6PG^yk1&CG7)DXL1$jD zI#9uH!BnP`l*vrDhsUjX6fU(Y#Lf^9{g26&!OBJx9K}sM&4lADZ0+mIF#A|R^!`Pl zejj9{)QsN{M@_)p68)Pq+RY1#&JV?0f%xi(ZBH(?m&+JNtISW=MmWJma(L%ZWqMQa_+C~u15+f z)yVZ!0F*}K*zbtS zw@qq}OnEDk?KBzJ_B9yk8*hN)cFrrGg6;CzG0>@C8mi8A={15ephZsW3;z6i!5_4d z44`6Fe3y?z9wDt3b5)^ceDf!dQ(Lq{ZLveKj~$+(c{UVBTWniVsn^ePl}47HJt`hZ zp6J4_CK@Bu+)}&VJ`W>QAzik$&c@=`NYxBohyeH@#8NS?*ey%^kx=Q0-4C;UZU+dz zm_SMyK?9K%nXYN^XVEpVG$JrLSn0jQJ(J1I?2V5x0qwMqR-4!flfY7+uKI$xQ)Y!9 zCUs9AFaqMSbh~c$`Om7V<(th%GZPZ$c9U`s<{Fvtn#Hevj>qvDer~VO(9QJ~Zowq#H>h3-GvUBRV>7}D`ZnQxorYX2pU0hTwO5BgQ*OG~LU zZ2FHSIHIlVMC=EVAiIM0SGBG+Ht3e!d}7Q1vvaZ!c^*DRaz_wpGm91`%zv>x;`{Q< zW)|BrUA+lvy^^4}S3%>s%vbSuE{vF+?)U6I-0o-4l6ZYe-Bkq;`n&_js2D~@QB!tk zhWe337HI^rjD5t5dMci7@j1}9@+&E@{hhFpmmx{Y?F*aZ3^b=C+Z-egNsmpq8a7PxGIslD>yaIGno0>P)+D!X;jc@ap!{AAeF9 z(;O{dFn zQT94*f_Ug0{T8Ze)wNKBnDcU=*RU}*B2loq`2MrVpeb+DH@6}$_BsyyNaR{FN-RQ% z%%<0!P6$tiK&j79g*M7^SIcy*&o>+~hFyx)Jh0Hac@3M$6q;f5P)>$JYAWzon& zPuM4#2`Neq{mLe$-=eyh3W#XGx`~+$qf((M;BmXo1qEdkd{=PP5(|(!^LscYp*kfu z&GB$g+)%beNXl-n_NHexUI5p?1Tos2-8`_?GCFKIRus~kY^VY=`o0D$2P7IDdh&4< zU(pmY#v2%6yj>=yzk7Dpc4xr?F#m>Pg%U~%vi6flPQXUR$1V_0!*MxN6eyQm$EJ*fu;~m_URk(-dcbohSU;y<=}dHPc)4?!&FGFsi>PtMA8L z4jZvu4i$DV>=}65LRs!(EpsS!XlLt)zVa#}OKouWi(G%**DIHP9rx;ztnsG-4FV;- zu!W|R3jiz@0yC{5)zsx7w@d;}L6`cB-7*HoQIHY&4{zd6F$J@*A2Ccil@HYQ9Xx*) zgdgN0Ne-P4OwPg+31(;UOkN$)m$|w*4qQ=`U*+ZnU8Vd=3=VqHGL%+quhuku&b!+C zJid?h@)12=EzLV7Lz)YK55RfQpChr1MOSe6RZ$Cn|A~mi>0ZmtOkPT6fr)XQ52@U_ zP0E==!W@?bosht$X!bkP6VI+qFDur1677U@pbM8Ri$LDC(cOPFjtKytYYg&4iF8Yy zyjn1a66BW3|D!97iWIQ+Mpztv)Z0qlq)W1}!=@GFYC(geR8E7ZfDO}B4>5FXy4bG3 zGb;63Rwb;s;GvOCulR2BWqD0&J586x9ms1;pmZg?MD$qC%SsFmMT5mG)X$9NTplFd z4mWK=*xV#>!G>h^V2F_>Na+2P;to~UAtgYN|-i_ ztn%dB5i+Jny3&x;52M7*r4djT;Dz_Z`OPFKyGAF5_k#d`4ZT}BX=}Q?1s|J;v;3zIp6zygl+pJ@kn8RCHTPcZ+UxQ_ zA>&!$n&>@u0&=FIu{x@5d71eW;aP`Q2>bXzCq?KDvp;e=^ zLjnRizBg%fRvF$u^4rbpW7O?WkK5&cl^xnP$lhtLA2*Li;bl;K;7J$D2wLt#@+0bU zva_XmV2vsm@#l~u2Xs%v38TG}XtiQk*+k(WD|<~`4uU!;HY+RgLM&^>$;zT0iX)be zLwFgPK+{z5W>Sx_AKi||#|)32vLwkA_QDAg z{Xhu=Wu!fxT(>ALHd&0SY4P_*K5cFENaraHk49c>LJfcG6Ac0hD3aFWn&YgaBen82 zj@h%_rjtNT?TUv--G|hxO2|XJ6eX%W4GkH+y}nNE+ANZ<5%rTK^Q8X0LO4@QM!P13 zH+VwuNU2M-=yzdUSrwXK)=l95fb42?#j|{!;0;>6tWM_aB z6hYQXz=aK#&~8CuUWUOIUV~kbOfAL0Yv0Yviw(CpF(FKk`$L+#>DLhO#Mc?C+qU@X z;z^o%Z};)3NY#=rTP0&<{Y07`1kZ*RKyh*^VWPP0u2vp|xKv_ylEJ4mp z_pZ14_DfCCc`*^4t3aFVo9;qTVU@>@2DJwYc*Tctp) zny36j-ghBqgR}sx)rPr4^g0UzLtU!OIa&91;?i0&H%qtq+-=XQ#w?lXHz$%hI@BQhWJ6^1}orlbxa$Af5 z&DXxRtm5~AY&wa!dssJKtVxpQc#~K5`#Vl-{Y z`S=TIRwW*zKM|PgyI=opHtfCVT@AcDmgl{{7qsNEIUU;K+6Wg+qMuJ)epK~HCDPMs zvSlkkX)ocE(ow}VoBBBKZbPjq?be%f#8$>ezxy_dUFtJsw-A`GPQG0fWK^-G_TbW;5dbYapl5+1(LH}?fKDK{W*Hh8AM7>l=3{$v( z3zn8^%|#XAEfVZQv+nmK&2HZ`F(4S~Kny+bwg`NkS{;Gjq|HaId~6|)I{!+`OFYCDLq~_IZD5RqsJXL&0!)DNGXL0*h0sT&>@aw za!7$WvRj;`br>V1`JDn{U1&Q$ zW2;y}>kL-4I7qrjHd;TDlM8;86rY7znLziuzJa1gFvfq0Lk)!wwbJuMC;yq^ z@G1^v-Du9s8pX7DhYRyK{)xu)cWgmsezwB0Di5?@)JD(Lmak;2=XBsxQ+b{v9bhhr zJZi~JxJ2#Xo2A%l&&r{7zN)_V?5uBfly&qDw6Sqi^D#4x{M_x}WYGWDS-^Lfeyw^ZBB`c&6J`}GNx=xu}^sg`guUGh_&9oI`YMo;SsKeOYO;xM|qu@ z$Agd*kO&Th!^UTtF&I5m0=J}~f1@6iV#}|?HS7#hofJ4cT2z>fWaxF~)$;V0&y0mT zL;l_MT}smvRx*5l&&sasn3Loh{vCJQXdFxX{x|{xGAK)&aDZTq{ECw-M1Lu>G9x`8 zSf{p(V`nok{(|41RPba4d+B`TrCv94u2H1HAm}WMH9B3Deyx2oz#imOdEL(4_45fv3#@{cFI3d8w*adoMj2xvYmD3c@;23J#{p)dxf zfYr3ulJMrM*r2C+FRi`Oh?2m?zKvy)A&{v6L9)W(jUJspTlyOWk?r7$6cV~q{s@*E ztbrd%qpKSjl-#K^3-r1+?GrT51YX&Szy6&8f>2-_94JmN^G~s8VjMxv5Fs< znf)Ww3|4~mYpNC4Gu1$Y*%HPx_oGVC&Ato7;`roBuA~R30sJp1YQer@d)M)lY86+BNUamg3lBR`=&$cScXw_dCqDX|ulKZW~+-W_s z&aCL!1=Y&FiPpOQA^jC*ynUB*WhJFBItkxNSBJcgU-P52=F^Gdi;mCAIOn1-r~dBP zEFLQNpktd(^-;y@y?ZbMf|mIHOLuUJ89-8dIFxJr!x_Z{z|5J8^$`ng@xsTZFy}s~0&M~)R zAX0!jV#)sj%-J+r9*TZ5B#uxkOt%9Y?t<{*spqZq+9%GOTa6nuL;r!#f(Kr>j)-TW z^;1WW!TvBdz%z*c=)?}Do)8D(fyuM0=#0;2-gdf*L^jSBHe!;k-|O=&wb|imyQ=wO zOF2IV1=V>c$+4&HM!=!LZ>T>x#AI3jHLt}r<3m85?rxz%L79U!%!T00G3s%odqhxc z))y5D+?sqFb}XHjurC*XBbTQ8PYTLW!Vw)cE<2(WjalGeC$zE*UeLNE00iGUqmzJa zrLjzoN7pi0gn_csnXrH4ul=GKH3hGZV1l-Ytr{#Z>*6j1}Lsgn@mr0MI@G7T&`BP|9(D4*Lq2Tr z%C%v?c|-$lqO8FbbQhbi$&vFhS)a*}^rj1%x1{2guW{ua( zC~AB~Rh?QDv1gvXa`E-=>sy6QmbahPw9E5U=5Doo?9wqrxie%A=_wQ)#yri2R(N=L zszN+9JlH}qBK!r&+b(m*Sd@@!scbVIatn&l{you_lyW0s#pAy}GLNPf9&S8~xB6@M!9?}o#=uQG+jvB95od~E2=(D(9rnj9*MMGl#_@@Sn z@HPrso@RI`_r8!fFX z_IRZKTiQc+eAZ?6^b0Rzu5w+9@O_FlO{>t(d-A)IZT_^bIZ0^JNQe^Y zjvsI`pxIZ{1W3$KJp9w17XzKEr4U@7?QYa=%HOvlit3`o_<(|K@n7QT0q|x5YjjZF zL=wc|n>jd3b0R{|w!|NnyTlH{ee=>dn8r1M?9GP@>2m6sH zN|mmXq%g)-*iCu?q=vJNfpX<)-#;d}xTl_6V|rB3u4;CiZFHkbcu65v0bk4H_grnL z*LVn|$2A@B+>WXV^^Z4_@!}H$X>(=W}-#^KRtWB$4iJt;Ox$~*};q>1SY$TX)FK~Bz2wsOt=vp~q ziQhs=X<`P_|^B(kXufNhELLG6l|R*#|}Rzv2xD|^f?b&&h! z$Tsz_a1Z5H^Hs?s-6;e)JOVsV@&bL#EF-_sc79uS#oH!-%AoDSf3|*Bz5Cxh8xe6P zi=Dz&*N=lbL7J57C816gj5uLWq_AdHWs5e6I4J@GZ?inIU7xoK`JXPQI+m%a8MqVbE)ZCG*fW`%29!G6@YguHN9%XI7&Ph1 zh2iXRA^~<7W0G=jH=pwYbXe%bTccEmk4?Eq(kIdw*PbEY|9TrWer*2h4i@dR@%NVm zz>9_$z{nG!EGRq&|45E89h%F z-j;-GsEIuy2j_=8w8nXdi!iYIN0S%gh`f}ArHfqCYVe};7C?+Df$QUXD8yM5!H-7MD+j} z+%-zAvUq-@Rn=xUimL@0IQR94WkE?WFvqQ<9@&;rzyCC?KfU1}XwlO;h|H@itdjI0 zS-F!9OVWn5#uLkZnK?7qvu)g6P^wQGc(7Dfx#yJ5LL1pEQc)>zjh*a3gb@LpFMBtWSvh4UE>E((yCyU*CUM z269Rl#nSxAa3D^~nUhhZukjab!vgP+$HFnBRW>d%ti|^%xxP28TbM(4u5tIv?Mgs_ zmXaeDNvRd_2qjfk__>@}437;4-e8@2Cg)`ZiG02B06T6akD1%s+~-hA6y{h(TqMYc z)mFtM%>tx?!u z@V!_WI{1%kVyHwJ(mmq!&$CTVdD@VJ?>Dv%woua`GN~)P6$~+{#DBF1x*40L1%i4T zTT(6q=FBgGG@bSgpgTNqbfw=ppRiEOIgXUvkQDxaVw=`ZQ8YLjZb|lw5x!1f9{v6L zLh`LnNoW35NT`6jcQZXUE;=%By?Wy{^Ii zT~x@Hh_g8uxVQIA>c&|rTwk0jrB&|uX*GjASHGhk1{DrA;-Y3LJ0Fm1m*Xzo`~F^T zvI__Wz%CMV))J;El#Q;J&tjW5uLLTm56|o}AU0^!VlN@XoXA5_G4O>O z;y>=W`6qI!rq+0{qNBGQUfaTBcQdhUTxPz^7i;HGB&@ZN#bNN}Z~O)TU}P)VVR2C{ zHKuTua){)^d?aV!gV<2M%Ru0P&#E*v{u$!vU02kR@oO9&8m?X<*tm4uILPCco>nKV zH4L0?vn}D#%CB-Q#r8lh!Sd>j@osxn_<1e$RQ--@pH#cZg4_3xgUH#EyuTjYDVdl2 znWkrbONb)Ze)+#|{M>`1x{IiXeimQbgY^M$tf|;UT0x;kL^?milQP|NQAj1wzHsBS z(9#bI#$Y~;xxGRL4)nwwD%g9{pVgF3VMqmFC7HQWOUC9umI%63kK~R}t-6U*V_A zgo$3v{J1ihuuNKo@djmr>U1{s-f39 zp|b1|$4ZGZ&yXgA3nd&j!q9@9h@1(7P;J3FpzlL_UiK`8$5ukg1NOeNN7<$T>xK7ESYsr z(~TY?WO)v~!7^I@$MfWQfMEs~i;B+SLRB}}eB!~&+|&BNF%Pay4v^ zpV=2s|C+`ipDYcts=Av>hEypgC|B9Y)1vb(CZ*4#OcP+`Veef1lMyTHnK^Tw@^qB^ zhPAc2;)&!5YB%|VyW*f@QnpN2Hm{?)iphdJ0z&wNN!&rjaq7eG?wluQ2bO}mQoleE zymG_3gvip7@{<=NUze@^UgO_qj4ANb8|L;l2BxoKQPD~= z`84OX$xGUgI+>z`I+bSvGwaju1WZ8YfkgtO{EX#7*2o|0U-9swda{>_qtgnBi>IeY z@EwhjzAR0d?)0DVh9i9L!Ul*_nbZ-6l`DAFf_O4ge#Bn8RjAm^0)4o>4**DFlzDMy&A8Q5|3-a3|g6kM>@(pmq0fQ(w;Uien(1 z=R^%Ar`$@xvHbwExyR9EUZ&R4>81izQ4Yr(oV?y#+qiz{--o!Kk&As8V~`4!(*1Ud z6;PMwg$;!FPy`uz0F=UJ0uB*EYc%9x`ez?a+p8|bQ$uTR0!Am5>e5h!zc0@&bX<-R zRVEYC>)MymHyh5E(}2Ej8|yr#um!lx#zy0Dnw4PNg_>CawpKOt5J$k78GeME?i^^B z5Q#`2?84D@g;H~B}jN9=~mw7gzrFD@moy&9<&@DCqy_`K%nqiDxp9V=V zDOod^q?&oRj#taE()@1IlZ}KyAvf=#KQk|L-rH5p>#m~@e4v1aO3@yL$uoCu=!z`` zWYsgRT&s8#&?-0RO+X}0P@pEDhC@WGRWfEHEp-@`Kr?5h8}g)?5o#kby-dr+c{_wh zi}*-vR9s8hum0q^!4fPQ!lL_JD+`Y1hJGLG%z5W}l~aOMA{8twX|y(jJq0y4oie3F zid8^srVEYi)vV;Vr7}})yGpF&$v!kk?Vv6hKGJV*?R~m(ZfpM~4(i-6G=!2z$lOw{ z>#58mk~CF)4WQn}IGILA|Cq$yXV%@b?ZRXWqYLV!Wso?{ybPrxL@Gf=@)!}2V@Cm*+r z)rLK!W^lF90+Mlso>o`>a4(u|h9bbLjDs>>EuX1`nkQs0j+7Ru3ll!ko^Z$gISVFGB?wWUIKpJ=9$%3Wnx1N zaD68qgs^>)VWk(R62ftcU69TjjI_%C`;XFf1pr`;TuKv>!$p(p3@N3g&y`%!O`QiR1%XtPd>2Mzur&PeIg5#^5A8B`7`k`Vv3nR;WqwJ z8rT5B{78(nVU%Gzv>w>uQ52@$BJ0CYJ(N)l1+)As+G|(Yq=$Wb=a?K%Q--#Yn&u*! znVR(Crewsr(Gb`yG#W%gdViW994-sHYn5VMwLU`pKs5Y#qW{gZ0^t1&)}eh|Tf&U+ zg2>paX2H~_^NQ6tieg70C_#?dzAFXQ}q z-^-7sVHNo4-ZeB6fx&EbJr)qEeUlfL)~L7vaZP>2##f5nHHb;FqGEbLQF4wN})d_RvK% z&6m$&YCCB+{rR0HEwSXri2*y%dCBrG~?ts3I# zCSym~16ftwyP)Q0EP*q2dl5a)a}!67%Ue7=A*iwY{q+6$`N#7%>1-afBdu%nHj`PW z&i&crhuxyP<4e-qu=cHU+{4WeJ``C20zfuKk5=$)T!N4v=~!i)#STxKmZT8Ovnk1$ z8B6fQ=((7D40vwgqr!nFivk%$_s4QqjZnew2-+$TBNk(h(v(Hhi^=gD<)>zWvIJW!Wny_zNL#EE2E}*~g1V_Lal&KrtcGX2dQ5bkO*cy? zKVH-YyR&ZXGi-xGC(^*Q;6!4 z?4y*^s2n~%_Z64mh@bYd$o-e5y6^>wMSRX(B2%md4qd~7$}pDS`})CAa^&T@^W?)<_yy}OL^fzHG54thS&)rRrIghR{r*1%jP+d@zxLj6yl2 zG-mtwXItuyIB7{ldCo@n_UCIn^ooGNPG1}70I*V0ex&dKqu}~1WXjohc!&>Wtq91c zNYWtQ?EE0~QA1CQ24b`m=}~o`ADA3}CU+lzcWHgj{;R?9g4=qb-d6&8Smp+*aH5rX zXNqN#6LB6qTEfItmL`EUl3#z)J6V`F{jI$+tk?8M$k{sQA3TL&`Uy;lPEjj z05hxyodJ&}Mk#Ve5K?FW0yWIMNC+{q1ubIa6unWTMr{}-LNf&njy2!Y+s}Ur1W5Aw zyHO9hFnTixRi4DLE*U(g4r(=1k0V?g>r?a9ol-Gz(dgs<<)z{RpoN8(^gfeEqAjd@ zglPIyQGlOWH&X$;45!Z_X7}=@YbsJS#$R1cDTS56=q14K zHdqNa^-zZb0(VZ63)EY1(|6Gf-aO;qRR#ZYiTLaS?t5HgXlYvg!sb{G+Md^czSruL zid1}l$NO}O$sqs$N1cf(4OWa^Gr}PQ;tt=CDSl>oUl=JvW9SD$6J_`+?)R7lwAlfq-gxXvn>Uh6xF&7Vt-eshcS}00LJN6IKA$37cM5cc0w? zX^NR>IM^z--4s$>UzGpHqzs1DaAw8*^aW`3u3~JpiQ@~JXj~()ep#61@Q74@yvh26 zFcA3VwIys(yx?+A=aAC1RbEa)j(2xkiCiWsA+ov6D&5nn;gCM%uc!XI_X-v%*2oOW z>b;>M0W&Q%TGP%TWf8@8O@-C*EI`b-;;VWK%iwv#f{vbXj2DGp#sqAsH=OuE^N|yl z=*dX@fvxmk?InSkubxV74Aj0w)yc(ULJd8wL|Gl*0oz6S|C_I%upKlP3SqxAM2G9< z7*P&kFj1;}&R62BMW-qcsN~7HCd4xyR?7C`v?!_N9csVwa<9 zw}oGrb31TaT<2zN4qTM?l})8;h2wq0dLKiH{4HUg_6ygW%@(Qn)IX0vY(S>+j%aXS z5rt@c-3T1KrBb6oXnD3S&9%qqzYrP|GzEEA8WM!D)`yS~8??-{%nbp9xpA^t^#}ZP ze=i`8$`cEg7WR@o-TK#G7Ph6b7?~l+kRcUH5{v@93#rrFR33=k-&s8@1s0ry#_sc4 z@tfA_*y(s>8Es$Y^Xu{kqT4T+dp}~@vhVyLCE?Kj>Zzl}#lR&X(}+*KivC%&lxW;{9Lg(hx{=5qlyv* z$&GtdDPH60`nPpQEWXQDWv2*j`=J^wk7-Wc;EoEPnk8o)51#|?EiR#5@bIpl%6e@b5=0`_r=SqVZ{-(m2C5ZL|GU80Gn`!SHIMc##sB$T$p^ zutzAw9fUxtX3J_9AOf_S3qdt3@p4{K{m$5FW%<4Q$6$Jm%fYhn(GUlWGR;3O2+QT= z^z9>+DUEjq_C^U{93%?BZxkL{lo{feBCKeu|1q}drb)VyD)2W%5-+Adz}`lJ;weFq znGmG?GQ6c*ualz#6i7g!fF*vQPjHER0@+))*paZ0xortj9j6wKrHo0NcI*g2v|0(~ z?}cpYc*z3l!!|p2F>Kp81Qo9u?7p7_kXp=Vck}a}(NUx{V|Ba(n@0VhlLo26Q}Y4g zLwQwfqNQrt{v$X&23VM4ZL*|c5s-<-X%64LOTuMOU4l`57s{;6IiF3bc6#O1D;-^m z8maJKqK6Dt?pR^5;k8({ETB%2^FI)^Oaa>omVr7EDW<=^QQdlbW_h;_R)XBG3+V;t z2#S%KdIY^BT9|JO|JpD~oD$dX+v<^FmyqBHh#L9jGc}K{<}SfHVl?x__sDM&ng}=- zD%-W#VCYfGizlFKG2}!Y^Fl#!6j7U^yW6rA-ng`Ux4VqVm0w%Mt+j5*K`^333_x*O zq$EWD9xTz$r)J9!cBzc#oyc6c(W7vz z4qHefMIvc(sb`EH077-Y9;Qeguj)w^p!HXGvumV|8*X89lYp!!is8ZB-h6U|1+ z=w=Gh6o9e`v?i$>BbbWmF+x!4xgl5$JRLO3`&hX|)RXr$gc>J@)5iLLlL&^Opl)AP z_E12PRFmxv=52iI9usd9kUV^OolMfcR{~jQ! z+J<|dm(#sP#L4@{F!Px#3)FmmsFX~H-GB2#XN`e->ga)Cbw<0sbNFJ^V2V75!M}Vh zTubv+4`GlZtB@m~0U;6Nna+hOKaEV$kF}f19r}p2ia*x{ERcv+<>9vAVZVle>M6Zo zn#pgmMev%>oRrCEWR_rQItM%oeiYjlJLugTO#vEhrXTOo-{k1yL} zv=$loAd#zssicl&alTGoYiHuunwU=(H5jKPrg}A=1lJ^nC0kWW1&Gt3{sJ? zc>Wu<_^;Xd=oJvnwONh3S~~!VIwKQ(%rUHZXQ)2`X*Akdo{Jyxsx7QU+igeWVJWr|HNO$2~lIm6tDBIOXOG+2d;~o2zqil->Sp^Cr zKAOwQ7E6UZ>~K~QGoz}SW|VEwJX)E4EtbI6u-c)(maHUG6ioXMaikE?F5-)nEbM=y zX(NJ+LXtpb7oXfSCC^Afe;tTwWo_#B-EMk3$!@2Cn*#s6v_tyWxK_(dh)!5FParie zj*eq|+T_%)509DXc^XPsrOY}e@sR3id{5EUcIx#LM|Zgiy)k5Uc~wl+6O}LFYrHEp z=#Vi?AS-T~$h$4 zB|TJUynKaM|9FmJyC2n~e!_$*u2;Jhs2AGv4*KEUh*RX-HX^kB{p{?@%i{i67FJx_))j$Rk_*~sk}IotK8ZevyIV`5V24@j z(iQhuOZKYQsXif^;;9L3 zSM|cgd?A4$1_eRDyWpa#xdjSBVLu+IGmAJAfoxdSa5hleT7RXR4<1ZNVbD*jJPCG^bw2{(hdL^-F zM8tZP;NU3845$)XXE)Bn@E^yW++t41pNYAgoriW!k6y5AAFkbF-$VxzVq=Dr-zqZ} z=OQAad{&OoBf!DYA-gRF0;uY+qd1yF&^aJ4mdS=AL@`M`eZ@zr#OO0f zoCvBIn_hH^qC4@b7yjXP#k^U-oYf3FryV+Mq*4%}b3~cwaHCYVBE|gU+_itC%Wb@B zbLQ>tuWOMU-u|rh6_(S*eq()7UE+YZ@PlMgusmM;&rM>dr!=+$X|12cZZkBi{(lOG}UIG?gmN2kGFo&5?lRyxk^_hBsg5$0k-xwaZ zrzz+S>3cwB`ue#;)0qGX<0CtQF~4a)nS>GrBK*FU5)}GKlYBMD1QS-2i>Iu%7-hfd zmTKsyl`yb>D&h3PX9MizWNF-7+xvaPIQu0d5PSTs_2ZB0{ZGe@N;*KHE$4`%G4H{( z8ubc*<1yM?BC>cYv1#}X$B%3P78VLyx0o!Z&CMo%m|h&VLes8rowWvbXFE8a0@|>@ zGhE#0z5rnad4xXlG`~fTTUSPk4_(cLRpaoR{=g8c;W|7u-w+0Nf$hN;9})e`qXo75 zL27?ItV&?F?gc^b_C=8<6Hoevt^)WpB4Nu2fJl4HBI$h!5XbzFd*A@j8b%sAhr|xC z@Sm>y5O)j^4``Cr5t2La(<4o=Fw4zr9C!akCFuW zLb5z>KO0tj5~`$)CvMYX5U3nP^bL4W9-)$Lq;}?_=CAmy|AzqB9+NHFW8h|3wg`M@A9AIhel$m z>>PuS^QFGR63F#;l7DFvzsuXsM|@S7kDG7GiV8n8{ z8y(lMXhTFxOW`!!%>$TVF<1;WfaVtkMB^CkF7%J-88!F+h6wumF7dScMU#whk{D@n zo1;(C`ASx@)9ercad69o`X^st?y@2Def}Nec%?oLiAc`{&avM-{@TycYMsGug=_8> z-)w75&x~=I8{iWAa}IKbytY%za9nI-V8B_phVcX=rfl19S7v>S_~(q5zwrG$#;hX~ zpbiC)6gP8-fn4ihGJRu>NkE57d>f)Yby1_p=V6z!Gl(Z9gggHaaX1jr-iC`hCycWZ z^zxtFQ-)Es^VOngMxM8zeD;CB0|q)|CV)0j4I6u)n6aH0)6+kIodvr1(DNsV!BMm` zUb4jN=s_^-H14;TK>KQ$+?w^F!eomvId-*~YXg~0d-7O9wOcXsiH4h-wD{c8deo?! z#8x}~ZkQ~MA1{8NhxlP{S4mn`1BEyvAndOqWV0x5p9#m5u{ooJyPm9^vs6yptrTRB z7L2V-MHji^?43W5abC;FSew{B&Pgg0gCkPD@#Kiph%X&`$hLsnh*KD7Enk+jceS-t zqt7WIn;xB?S--}hGk6<06+RY@n~{}78iO1InMe$Q(I3R7NdL`m?Kp|V#OACbRlaP~ z)6oJSK=s7kk826-04B!$;>Umwv#Av9kX;wmoP~tKic1O^f<%nw=O55TGAPy|gR&7q0-->TwWAUoH9n$E-sJNlXy1pcbT5v3AUV10Ve&2IC4lT6UG1B|Hkq3 z897FQzc6esG%V_o0(hCM|J}vVIkxSbd5-Hy-(nkQzS$+^Luu}~iu4= z;{sE?Z`xSnBmiP4PyfYNKUHZ~r(@BZmkiI^kBNz&H`VR366$FhZS|TY=x=(V4;0~l z?_Eg$<)}ASagE@Q>ZxnCk3y$0sLWLgd3HZvVUz#dXwp&#iIg7%q_X9eo4XM*Hl?MF zlOLKT0j)+cVO0em!9*^Ob50mrMkupVL&Jtft40-?vILsL3@}7d@nW;pj0-vqYTo-smGWtj z-m;AzK@=PY7n}5xf5I-RK^i2x6ui}@D^{?hkDai-G9(J+JrZFLu?)VWwt?&{XA1)tcwXSU~gQOz?f`J||&lTYuNH0Roy6N7+>LZ&;u5EhS_oV)d9uNmly~ zf+pL3mCI?x-LPGA0*QEqhH`~NIi6Hm>&a-=bQEvNo!wpj2}BBI!~XtnZ96GFa(`^O zV3hX#(PcViyWv;H)iu@vcrE1}qN$YeJQW1ft6%-R))md&L1>h+gK}NSt4akZTW?bt z7hNq^>psh-XJdMS4TK@q+B}%bc2BMsT*iW^-SI9*RjH4S;Adv~=NM1=m`-pTCZ#}s zT>O#(FTvl=tkEy@j`(Osd3nr;eKY9T7pfM!<$~j9ph~}MZwoZVI^hOO!(VN6-3z>1 z#i{jBFx;mrbBHx<%|l5q>M7{_!?oVE_jYZIeLFW}MSsi++%q-g&lViyU8;Pk%04oN!BJ0}tR|{sgBiK$B8HMn$2uC3bQViA0=cY@CS#ivHssC;+sF$>OIg z|6dF};wSgCV9s8HO7qj?l}S$>?lLh}%>Y3JdB>o%{0CJ;_I(&oiYrhN_7)z}>Lqy& z2kAEsYqRc{E*njDX899t&)%p-`!$@ zlvD4&8^vr5_*I!H|Lt3b*Xya7@RRx`j);h_AJQjU0>xHWz)Uq+>p6%|k1&jc%i}#F zVt#;Y7kd}*^U@1|#@9}f4v-93AgH)fkb(sjFE45{5eEck9UwLYtr5%+(9Gw|X)eCh?U8W^|ixNB+<$G_1IHJ1+l~!$LOn8z$F7ej*;Kjh99~HeEuT zqT;!lvG;7>tK(H@v$=n_5?#7(cGS;F1_fLAHxy98I2^YfnlW{D(UdZ0L=+N$0Duf? zMfrD*O4)}(f$Ww_?&l=QgT|H8NPPWkMcc)_rV}sOX=lStzu%K3M(Vt7b3p`1EFV>Y z2}w(u5c)+dsu0{LN4^96emAXGjl>m#Rm2IKtQpttV}Dm;z~VvTG|fFe35TpLkaB$= zu#oPokz*>t^Sdnqa`v={oM*(;1HX=)T?=~`c~LB7!?Q}o@~S1!iv~uP#a;QZp}xTi z+og5yJNVq-N-CvKz5WgOcoQL(mt#|FL}fqjTH&DnqjJ7|ZmVDP+uYrN@1LN8I`}vE z@%4gVfj@6$6T8c8b;W+?{OP>%{pwxsweyd!HM8xGBt8H}@`wDW?th4bg}^TUrf!1p zg*}#DH%BON1XFQKC5mc!T!gd&BQ)K^n;9_Ppp9~9dbvOry2oHHK7#u0s% zSu*l98na@{qgc7~VGgeP<7?8r`l|{RX3KVV@$CBd5oFN>CUck5 z8pQ`*^Ec<+!{VtOLM_6#4nDjdT`5{h3yK77y`r)4NTHmQCl(l2g~i&TDkX*bS8y$! zt&9Memy$>v5*;1@3%ANf8FK7~WR0)g-+>G|#wrA)gES-Ar&6GrwVy`>emem1n8u;J z>x0Ug+>X8^)c-bKvA51TN0UCsHcmuY%x$^5EP)IcPRjY{CJjw9i9t08h^iS8G?LVJ zGPp`bce-%FTe0A8=yOHkIB1HXsm|_9O>;pb8!U{7ZY~&33g)KAbO)CJH~Zq~U3tZd zKY}mF6<1F8UG%ig^yyxK4R;Ee$#RNs_7O07d3nF_&AI=wOLwF7|3gDX-CrA@bKrX9Tk1uGvOPEIyI^Jt5F)_HQ_N-^RI`hQn+*UVK8uojoCVLf(XG zmG<~~DCI&aJJtx=WPp_0%dU8Z9iN$3ejR)K_^5upK9>-5#D>wVLP$C**o;Ss3-%OZ z=@{Z3eb13;iass;HntmlC(p`UokGn^J7y)W#{cUirK9@Mhf9oiOE_X*jwo1-RT6@C zmpx1w?yI2UK?WLxbb%>jRTK9E*C9)bIkyWfyE6krPSUARayUjt8Nz1M&9m0nTtCcH zQpUygCHoD3?eo0g(figG{NkV2kLOsMb~;?x1p}C#9%t)=YnRo5%F_Q3hX~23C9(9m zJKv2z9RED+nm|CY&;8Yp0eQ+(jL+m;&lJv3m@1ZZl?JRA5|u|wa9`abf8kNt;=TDq znyk6G5V~0T2E$iW#w~(I;z53@f$^_bwxCB>hlioxb>s67f6<-8S9sM|>rRp%RoCX!eO!`PcspJW-_)Q1PjwZmZf)0{~ zrBT`CyG=YBDUX-=!^jXB%Vo0sLTgNFH>y;OKgX6yN*X>m*hN{jSMPU6q(+wi9wl$ruY@nY zGfi&=VFf5aV7rp{W8_lH=LKLU%Zu)RMZl)l{?>}BEvP@LN#^wh-~%fYiR(D`W43Hr zc*)e#LY)F#BUy7mBjO8lBIDS-3eN2Pcv2Ge+mD=Zs- z`9wFtXP%XxS%R1(M9QBUhzQ<1>(BjFI}U$BO2b5T^;89X~9!U)oo`ev3;br-U#lnQm+I|7ynRXoWo$IUR zOs#T@l2+~IwJJ38?E|>{$UEoEaLMg=JODy906T(YS#c%2VZ=ZZ9KmBAbU1gt;8LWy z?=&c;g~Q<_Cus^llvfu@jLy#h;$|!7Q3Ucaipz$pvjy+YrjD+=r-(2&lpSy>a5yCy zHFmzObjn)m#IIYY-i9W>?swFve>$H~^dlMG-Xb=mJxyKcECZqf1|YETAwbbWE1C&O zP85I=%03a)#-?Koc5%hH9o1<4Ju(&*X^T3YI6)?#No9%tgvbBc7mrDChdf`RMMBmb-8MjWe&tY-P~EF)%r^n-QOg zL~p2cC06GVn^P#Oixm$VS(I&3C44bLeKuQH6eCjccEUdf{0mCNE};93pM8bZ&F-A+ z$+LO2FwZ#U7M;by{6eyQwf;&yL9h+(elDh`E+RwyODfK2j&K6YtDj0UNY0B&Egnyn ztI(QRp+!+$L(A$SY|5!BelVhdJZh_M+phy@LRs2Q4(eLGlqhls-k|=+aTE~PK5}aL zC!FFjw5MMGCG>iH1AX=>%8OD0<36_*Y)4VMqM-O+hwurC4+e$pr_9D7u`50qy+@&5 z6XrkcI1b)?8@EayFSZsn(O~-;IMr>&e4k)iGXI#g`vNx47~h?X!M@dx7onA`PG1oK zWUK+iX!-w8;_WeD#dk5qv1!Hed0?LwA%XrLu#S zE9dB>?Kn;5B=xu`iT6~+>RzO%cc#Kh8A^Oyu!LPfj{i($qE~&>!N1F{Ms6(|_Ou#k zJ$SwT#;#~OT2ihl49Fn+GMPx#4jgXeKJ3+Q-Bf;%zStq?&Q8LMiVoqCsbCEXev@y2 zrRcX6m{{amgHR@h^N1NarE5p>fUQ&U*)DsLFk)U1rA zOCVPCMc|9kQo{TiWMV0_NWXVQwOvbp&=Ejs1M)#)Vse|wO_nC<*ST~$wftk@K4)dJ z*>30a{GhJdNA+!A5DvV0S>tAQ%mWzXk_)oLDPygomjVT$fQr9}AP&b2MOjVnMyja< zXb%<&BnHmIU(lLc;U$m(uu;>T@h7(D|8mn`$~xxEj+uJrITh5YR% zptRKXnq4K|7A?+fHSf9FF#cGXCJ0Sn4{ld7BsFCxrDUv=|b??5#_-{@^nVZuhI0T0WGCLIXz6&KL?`r?Qqvv##TX06^ z=!+Y(b}&a8$MYZqnyvAHw(sKRHr z!(kY;fy$ zUCPj=+<6S9N@JQ}%c)h5(?|m7AUtieO&Z!kBoEJp2qa0vk0ZTMqcxBRD-=i$&AWu) ztE_1iSw>)JyTS~6HFLM_eN!+DL3-aNi3p4C28x*?s3GH=GvucolS^nA!6~PiMTS`1 zVJUr>`F`5}RL!WEx3*RZ56u{Q$Y> z>~1D`0niYqE<>aieJv<+xHID>We@zkfyJeX`7ffmDA2mI?Gj@7>S@K433|M~G1;B4 zDq8v4kSk$Ew-q%0!H3x{XXxhJ_ngZgzbU^gxGfx?HZw-}_D3LkE zgGbhbi~>DD{zxEOe7A97hEu*k)KxM;7)3gESN_Y+ke=l%an@zR%zN~BU0XX?iKxMp z8-9ut?<84Z>KM{U@-dfsXht;f#_9UGe92@&>0EZX-@s2SKcn6c#rVd?>Bp7N->>Xs zzN7i}B1awd7`c~V@{?hc%jiEUjrakwYQ+NAK{U&GReQV_6Mw#K@HNvvv{nHRe6@ZO zYMfddtXc|2Fx;7jk(E)|e_>xS{C6r-==}3rc|vo^He9=hgd}CiMCeQkwyhIlC1!98 zfoiEjsyEw$R#`Oj$W3f9sUfW zH=>Q)p>aQIDyasd#*oXv;Ge@Ei#_u;$MyFlgV(RUXga?{&OW9%+j|f+APg_Dnd0!+ zs+e2cN7IbK3Qe=hEB*IHDnEzS1Iga2sk81i4!XWor6LzL>d^vty&@bjERDi@q&~CcXULW2Fc@wnK^?K85*N4wwQQ@ZsSH(>DGD{8A_Dv zbRA33l&n@4{eIXGYB;QU4DH01I#_;UIEvwyu-KjvrH5!HmvWLb<;(4viAhNVLk zN-V4u`8mqow7W6USK(EmAXk=D+NA^6+{{Ff^2?Y{cQ*Kjg&bU<$Nxhdnjdt4@B$^8 z+)Y9mqNxx~lPWb6$Rf=Hk)x`@E(DdXY(kn?;jEK5Ona8)L`#WLDmJ1{zeJ@OaY`rt zd1$9{Mg^b$=iuPb!ENur6fv_gR>AK*!AAW*gF7!AOj8GyW~~<9H$1I}dThvad7-|~ z`XVUoT=$C=QuM%mrj0Dc#_WEX=2_jz;=4j8_cs7#e~rGT=J+VLUd~|2S6ddwQDfMK zBWix=cU}8qN@lqDmYIj&5N){1%_Ge=nqDDwx0yOyeV9bLnTwgWEA1qJI ztX=)sTCVi#PZbO$zM+C2U#_m)YDlNQ64j63Qz6Br2USVH6mcntP9l(PqVvk6{bj@W zhTiiFrp!N}t)5a5kEoIer_36oa;d$1%mj_)%Va#(Vsv&j=Avw(oXQe%dbx>yiZQHi z_y-8nHxPpcgi}^!x8ci_|RQt+mAn}!k2@Ozenb6_n_ewo-B{Qz+-w>G-7H>MFZ#r9fNB^mztvLULNo=-c*e_ zHJndRoj4r7lP4t*2~L_>!>TG<5V_aKWi;BZ8W zuTariTC;;wVL+gik7=n~dh&Bq9S**i;sw7#o7E$zwr`NmN|+&j7?vt0TDLt9-#pP9 zyei?D=mQ-XqOhO^V5sy*RSx)}El-FMpw|jaNgeWXq1YUJ^W|U6e%jFfhqzCTsh8lA z(IH7gxYc^55oH7h0+fa=>+}F89q?0sMULaz$-&CI`@{=xcfv}*pA-dxnnvmqMn;0{ zA8021Y%>%7M?CsuYN76y2FV;{^UDjPZwi2f7l7)bIg-G%Oi$t5%8_d= zcjX_muS0)g6`z6khhoB(^uT|LUmGCggud5jF)^ zCo7wbCXHME>=dIPir9-Gjq2)~KdlmOmB0Q>`t2r0yl!iW>&?56ZuZFTH~*I|kzh%e zU>EBzy-|AiQ%px@500BswTlCl2;v9;K9pG>;(>KSD^)kT)8q_nsOwZXH>`X_u@vq- zl^$NE%thwEbbZZyc*IdbJ@6E%19Ii{ch7}EXZT&r`wuZi76UH*E~W=u|IJr4P@LRi zYWasGs`2OlZD#F3`di9Ttn>0*r2i@YK&gB9k(fKOXxky|SXg&vbe9f^n5>$^4@jK0 zS{?RYFRtB_LveKKdF_ripaiEdp5n82A>W5BFu3}BG6JOdITb=G<05`#J@lNqV&(md zA6Wvg72Q89h#kdfjuy~=_IGk}N{snmWw>+!OWIatKL6=<{a#p#56Q3TcU@oWscf67 zJ-Rt6Z!(!LXcCO(hzHe?99W*Fy% zfV>c1`8%|?EyYuL1Surr=t448tF?R6%|oGbEV@*4X{IeEokepJSA#Rvbx(-{1vcXK zN81pKm_oi$E{Hk3+pEC0PzW%oww@umF%}?cb~#;<=Bn;56w}HZ$>83IK`(fzw)b>p z8;s%PN`&JF`DEnp2+SyPS)1NwOvkk3d?4)4DQU-Swc?G%l7p{KF}HWmo@4!Muy%VQ zSKMaEuKNy(;zC!95RO1C^OGKP#}SUi5=WPJl2xuD*a?K-AX^l42|<0%3=@lUqT|7f z(^#j87=#xe_y^=1pm}Lb*O6mvF3MPwV{0Jpeyw9@!OV zSQ6t{TmB@Wy&Mc97@bK1=LmUD8;=mKr$}>G0RLsBOTwh=MOhT(h=SW?ab zca@U$$fKR!i7pOfM@Rw>=c}rK-vA_twlK*ihI7})e5CjfaZWs6qMdI<`8VOBcdJ^A z+jNv#Gq0#id)7XJenjPnZm*E1qgEdGu|?sZ9o&RbvZTv2FTN!Q%aROTGV!9&M>fOA55bi4s%kUt$meHd9IdVbdT^yr_FQ;?RB3yc>f5MJ`VhR!0%Y^zyR z&e30BoXgspuI_RF<(=XGafD>v?{QSzX#ca=%#@+@O=9Tr&j-bd;|DOq`ia(mv|Zvc zbAkVp%WAmn|_ViRdbq)gU__=A$)1ZWjO-@Tp6&L#+MqGIjh~gLV*tSjZZEd&+k1M|y#F()$euI#`0MSAqXyKy zToFO9=VFjyt!nR0W8xEI}S(6O4! z&cLAg1cuK{ulWiP{Fa7ACYL-%?fKg+cR3SVSmgsb-{hvMpWg8%U^f7=GhRwIjzF4i z7GaSL=p+CfBl)e})*qUewY2>P)HVAIDAH5AsCLmTK55kQWFYGMqgt*AFFF+WaHcz_ zD&L$DSl#_va3;m$n#(<(vux6bY_kO@-z4%Kv*WT`c3}XK@A{V&B40 z*va2-?q@IGG!zGCWv2;;*lz`~QuxI8xEI;N2H&Y%8pd5jn~3)`?cQmdNBFsQZ&*?q zw+yPTNt!Xkdc?f*aDlle=WE;Mk3Tu(8NVFc1!V&%DdFwj(;x zQbkmjc}*~tYMmU zfgYnya#6ptmP<4ZJ_D9xJ4uKTBA^llf}d}P=OQCDcXy%B+^5alHeijY9s<#{HVBkD z7oljJ+C7={uZMiU)KpYRO3gT9x>$-S8vaVmBOdxRXe4PQLiRE5GE(mT%9rz@*TRzB zUG8kYwbOH&$ah4wZ#NYW9A{5NSLo@j5Fy9-p3dGPAKj#Kb^2|$xRAs59xFjIk7h?v z)a|203OBDJ<@~HDuwhBc+6Vg2drn}-4~z40P9;ipr8pTWb>Os8nYw~V6`7g&*z2&Uyxzv(R#21TjDsQOEQw{fi#A4Cbnwwm7RwJyoH$4UAUe(2< zBCb(&r_EEL0c!L{DXo{l<4AH*VK5Fmh8?*dlB{2a1k#Ug_%Cuk1y+AwFl;;@=L$3g z!o*SO8B^}CVZZ~C9;2rcLb-0&P23lWmY;HF{$20FL9eP^IZc7`Z|=|4y9$vr(TnG$ z7Hacq9A5GVw7>)aTa2+BxGm-CqXujHs6x*CR9Eoq?&D7n&0%|#W4RmkLsCwHigT1% zS5ctGt26j1i@Gh#GTnsSNj9jRdld2e{2t~|pSFaCF`BruFe5wtM1FA9*7xJvK;lO0 zbBDgRlNa7`>M8*l&(TWg+X%AEgn8kh%sFRVe@->Oay6%S;&ULCRQl_*OQ&g2gvJ1i2SqR(3-9M+RnOs`YTbR2+un%jw~0 zEp#iw*(6d0*@(C{;7L0<1Qa!8p z>0z(Yh?N;d&R+S~_g?h({~Z3hK?M)fdL-)O|*PjvWK>ICE~3 zQp8y>z#9_CS@J$o5>YuUXd?zCWUeu9O0#F;%~hwGxZC+*3P(2wT_iCMbCF3OvpCVo zMD$MKN2CU8(EfxccAf+-`h5|Zb4*j(Hj0jhu%p(UiB?~>e*(jCZN~Bjdrkp*h?VKH z_$+GrgUg(ycZXj%%vi%c@89+joJi3ql?QZen=xJ9-!(M$48$r)iRgzyl6@2aC&VI0 zNpudsQaqQrG)qh~Yu1Mvx|BdleqmVSnY8vlCiX&C>10aG-^cU?JwjtwuTV)I_3Af> z3=K^UeL3d|q3h$m!jSL1^0c2~`tw#x%R~g16Ie4^Nfh%G#dkG?@(>p$X=m$wy7+ji z!A$b!(WU|&v{@%>$GQBM#~YO|G{;S*%{sFInR8{45up;qdt?G*0JM55qQS`nvfWMP zJnTS6#X`1+bd5n5@5+3druW9N${Yp$XhHsRySfhSoJw8s>{jZ$VzJ+e{~?YX09|Xo z?r}mgn;b#(T_`X|6(`f|sK|Lhss6k>IL19r2RJR_*SYB#7q%INNbM(ZB0&6AB@Nf_4zek$^u(5GQOVIw z@Lz})5!Y4gtxfor{`nkCB!5tik9uU+B*`zPkwxsIlmC@h8Lm**8hRz&*v7eJxGDU> zk#MsQy+H=Y{#Sc9L6klA`VRfpJvFr**1vDkkzA$fxf`MRVV7Pq{w~-WQ{5;&VXP^o zQBbf-Kb$`LV?04>`u+-hvv#V?5p#mgy@UrvmKYf9$%;M4OEs1a736;qi<~=qA<96C_0oB@8e#JUvszvBLmB1Aod& z{*3bIl%T&I$oE6eq}*CT$pwN0Q$t@~bZ_7-18u67V3|x8(z)=CboG~YH$b4f^%(c{ z<@zMBHIq>jTjA-s5-wqAf-77e??PXWW!WWBUimQ&L1tib7=;KJ{4a8H@`n4C{zcll z5}K74o6?=Hj)jym%s?K8`;~ZtVtcDT?b_dX&&N6=z2Y}JH6cJwTeT&8YZ23HF}qqU zw`H^_hQ6kmaM7y8D%tB7ZC0hawE(^+7mfh~h7=#Ra)#<^(w__k-5k~b5Jv`p_SRW_ zMIgS3x7}d*Os`b+;QKbo>O8JVdG^^E>tQFEuP{&g;cIYVcAt_F5%SCctT;3uRo8cK zIG;i=9nFbHYW&R2AD99$Q88rN7eYCOG&Qkv!8{+WwwKa`cCot3lgkOU476{xzyUwa z)nVZo>g0}b(Cw)GCi%n;X^yZ1e~J~qjNsd>ps@pOY*ax?L>||T3^ihT1r4$#gBc0G zEB4Py=th@L)@j}Uu8o5V^=CRug|vPc*TeiqQ1!21*1irnsHVZ1ih>ValGlBJj9dXf z1G%5mQc`rQk=fP|@QE+-&PEW*;|VB~0*j4s#gh&cu7Q7l$0JbgVkk~G%$}2>i5iR` z!RsOAqZGs;>Z!04(^cIw9BG6|pkHiY;H~Ep&C(^^3>LRGx!LWHFzSvq_ZXqre)C)k z(c%pnw6T88&gI|`iWY+VbEegIpmlw^n?y4*6)I&bXV#G)8hqpf*oa5oc{USmuta|yQ!d&0llgcg_{JNl^+KG<<>F*SSP6yaIh7hg6 zB6FEM*ixez@1vf;$kZ#ZMHL-OG}1(m{9; z*6_OajQdJ&u^g?q1Y>I{DrUa!6UK{clbY@m%&X5n@0J^sstLP>0b{uT<2XO)P*F{1 zShI%cW5Q`e+ZNEf)VFgg=W$u0)2dtcwa9|i?q{DGB|%m+)EtIPKEhIYMV!TfZ-UZw zl*aVw(nIo?k>wnT+3e>lM~nwXL2R8H(6E``vQyuN->;otbGw+p(xVD*3q0+A&R#nf z7vRSMvVM$nFm4Kf(K1HX9ZGk7rD-2eN-?H2aAJx|v*L+o#0t%B=uj z!xl;2N9bBbfqm0wAE(F-El>tbXSZq&cg?KbSS4MP9Wc#s=BdM$lSWsEJGfFP+y<@bN7$oi ziN|X%ug+)Z^}OK2OQ@h#imG)b1EHg#5caGPLH49rzeTpe%3@&?!q4$+?=#|@Tb9Np z4lyBdeJ;ekVtA>h&4cz9gcF9I&*0USoR0;71WKMQG<*=C0XAITH?a@#v*<rLi zOR1EDs(X5kqB}T!(_91QmkyN@*7?JPtWL?^=7@HEc~{JUQp>!N)IzpwB7EZ> z6DeFy*6f;WlwT!Ju%50TV6CXy)(_+B+tiVSIt=N(xoaNW8Q`s~b!Y}@_rrb}--<}P z`2PUeKqkL_IkG=WzwhNg{{R2dxQmIFG$k8=B!LeDbS2e>nwM+ssd zGPqq@+H zC;$XPH&}V-Ou&n(>i<1so>ENRSL`wI!aT4meD#j7f70LF!D_ZNmr||1NSKThY&`6o zsnGzPYhi&vs4h78XgsqE6lrr&SK|drlq6m(ap#KTl27y6W!c^-jKxOC53)xU8?tSI@hBwJ~}ZTe(a_HU!ADT9wt*V6U=Uyirr^$=A{y#1VX*(F;3HUj1V;G&f&2?AvhVYLOdtV`W#$+)xS@Jg~fDbM^oG zumk`A1X)*EdE;&}k1P8BVKI(T<(psUw0w#_v#h-Kj<~3-nubP8>_ACMKn38`KA8mE z$P+@?EusW{sg2^W(TJeEp_y-=I3Jg)mHXPyh>9Ass*#(rnVybgD9KTQgWb`RC0VA& zhjM#ZwyzxVPRQ+D(MF^)==1=45`$Au_OcGPTO)T(HL}){nH5<(Ix1vpN$af#yEcn4 ziwC92auuJoMy7okk~-&mbVE*4LZKYVpc0NE2d9Ja2}iJW7^!|=7FR(1t0PEoomd8P zl3K|kqm8TLnb4g>l9wzxqg#fbyrvtCQd^(V&NQzanu%+o%r*_&O_R)R%{B#3gvY=$@oD2#!E5`_eR z{m_A&hR#ICFO|D4XS84DUo*;)^HVX@hm~q1^A6677?hC-Ai=}={~l4U@pqEyO680P zIsORPX9=J`55Vgufmj+OX#5uwsY->Kl~=|s_QrPH;?HPq3pBaAvg$B3Jvf7&V~%xY z$Ed{zJ26@)GcwS0b=ga`l|t+j{ALW$@`_ zhv#0I_sotOQHYsCyd{KhT+Ej(-hwH0o)Ym}Z|AUDf>fxj{Pqi2IR-&&pEbOM#F=!|b0uL; z)a$k04xTmU(OkEj?|(4aDFP+@HaPjcsZV(N+z6R}m}>hg+2f)Rg*e|3^DPY_V{tl8 z!Vo1Nor1Vs&f^91nJC*F(a@L+qmle`vBEb0|Nq{!Yu2vJcKOd$u*wgXEoDGk0Sy`^g0?G74vc${~0 zIm|;%IP9}fCCwDkz@R>i%<<|fUYMMQUuL?)PSvvdbcAv+X3f$M7NJD8i0o=+S0E-r z1YlqS2vds^