From 6a0afdca78390130f60ca8d42bf672ea99e12d7c Mon Sep 17 00:00:00 2001 From: VitaliyDovbnya Date: Mon, 22 Apr 2024 19:27:30 +0300 Subject: [PATCH 1/2] 1.0.0-videochat-flutter --- videocall_webrtc_sample/.gitignore | 44 ++ videocall_webrtc_sample/.metadata | 45 ++ videocall_webrtc_sample/LICENSE.md | 19 + videocall_webrtc_sample/README.md | 42 ++ videocall_webrtc_sample/analysis_options.yaml | 30 + videocall_webrtc_sample/android/.gitignore | 13 + .../android/app/build.gradle | 75 ++ .../android/app/proguard-rules.pro | 63 ++ .../android/app/src/debug/AndroidManifest.xml | 8 + .../android/app/src/main/AndroidManifest.xml | 40 ++ .../videocall_webrtc_sample/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 816 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 674 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 732 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1425 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1024 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 8 + videocall_webrtc_sample/android/build.gradle | 18 + .../android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../android/settings.gradle | 26 + videocall_webrtc_sample/assets/audio/beep.wav | Bin 0 -> 19490 bytes .../assets/audio/ringtone.mp3 | Bin 0 -> 762819 bytes .../assets/icons/accept.svg | 3 + .../assets/icons/enable_camera.svg | 3 + videocall_webrtc_sample/assets/icons/exit.svg | 16 + .../assets/icons/hang_up.svg | 3 + .../assets/icons/launcher-logo.png | Bin 0 -> 2021 bytes videocall_webrtc_sample/assets/icons/mute.svg | 3 + .../assets/icons/qb-logo.svg | 11 + .../assets/icons/search.svg | 15 + .../assets/icons/speaker.svg | 3 + .../assets/icons/swap_camera.svg | 3 + .../assets/icons/video.svg | 3 + videocall_webrtc_sample/devtools_options.yaml | 1 + videocall_webrtc_sample/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../ios/Flutter/Debug.xcconfig | 2 + .../ios/Flutter/Release.xcconfig | 2 + videocall_webrtc_sample/ios/Podfile | 41 ++ videocall_webrtc_sample/ios/Podfile.lock | 53 ++ .../ios/Runner.xcodeproj/project.pbxproj | 568 +++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 87 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 29980 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 417 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 618 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 495 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 494 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 977 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 618 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 896 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 923 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 631 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 904 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 746 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 923 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1170 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 816 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 1425 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 817 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1361 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1327 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + videocall_webrtc_sample/ios/Runner/Info.plist | 67 ++ .../ios/Runner/Runner-Bridging-Header.h | 1 + .../ios/Runner/Runner.entitlements | 5 + .../lib/dependency/dependency.dart | 44 ++ .../lib/dependency/dependency_exception.dart | 5 + .../lib/dependency/dependency_impl.dart | 152 ++++ .../lib/entities/user_entity.dart | 24 + .../lib/entities/video_call_entity.dart | 39 + videocall_webrtc_sample/lib/main.dart | 54 ++ .../lib/managers/auth_manager.dart | 21 + .../lib/managers/call_manager.dart | 381 ++++++++++ .../managers/callback/call_subscription.dart | 19 + .../callback/call_subscription_impl.dart | 103 +++ .../lib/managers/chat_manager.dart | 15 + .../lib/managers/lifecycle_manage.dart | 73 ++ .../lib/managers/permission_manager.dart | 59 ++ .../lib/managers/ringtone_manager.dart | 23 + .../lib/managers/settings_manager.dart | 42 ++ .../lib/managers/storage_manager.dart | 60 ++ .../lib/managers/users_manager.dart | 24 + .../lib/mappers/qb_rtc_session_mapper.dart | 31 + .../lib/presentation/base_view_model.dart | 35 + .../lib/presentation/dialogs/base_dialog.dart | 35 + .../presentation/dialogs/button_dialog.dart | 9 + .../presentation/dialogs/yes_no_dialog.dart | 37 + .../audio/audio_call/audio_call_screen.dart | 99 +++ .../audio_call_screen_view_model.dart | 120 ++++ .../widgets/controls_audio_call_buttons.dart | 45 ++ .../incoming/incoming_audio_call_screen.dart | 112 +++ ...incoming_audio_call_screen_view_model.dart | 109 +++ .../widgets/controls_incom_audio_buttons.dart | 36 + .../incoming/incoming_video_call_screen.dart | 90 +++ ...incoming_video_call_screen_view_model.dart | 107 +++ .../widgets/income_video_buttons.dart | 36 + .../video/video_call/video_call_screen.dart | 87 +++ .../video_call_screen_view_model.dart | 217 ++++++ .../widgets/controls_video_call_buttons.dart | 69 ++ .../video/video_call/widgets/oval_badge.dart | 78 ++ .../widgets/video_call_app_bar.dart | 29 + .../widgets/video_track_widget.dart | 49 ++ .../widgets/video_tracks_widget.dart | 78 ++ .../screens/call/widgets/circular_button.dart | 42 ++ .../widgets/circular_button_with_state.dart | 78 ++ .../screens/call/widgets/timer_widget.dart | 82 +++ .../screens/call/widgets/user_avatars.dart | 23 + .../screens/call/widgets/user_names.dart | 36 + .../screens/login/login_screen.dart | 111 +++ .../login/login_screen_view_model.dart | 75 ++ .../login/widgets/error_login_text_field.dart | 30 + .../widgets/error_password_text_field.dart | 30 + .../widgets/header_input_text_field.dart | 23 + .../screens/login/widgets/login_button.dart | 48 ++ .../screens/login/widgets/login_heading.dart | 17 + .../widgets/login_progress_indicator.dart | 15 + .../login/widgets/login_text_field.dart | 51 ++ .../screens/splash/splash_screen.dart | 79 ++ .../splash/splash_screen_view_model.dart | 70 ++ .../screens/splash/widgets/splash_footer.dart | 19 + .../splash/widgets/splash_progress_bar.dart | 16 + .../users/callback/app_bar_callback.dart | 9 + .../users/callback/app_bar_callback_impl.dart | 30 + .../screens/users/users_screen.dart | 285 ++++++++ .../users/users_screen_view_model.dart | 427 +++++++++++ .../screens/users/widgets/users_app_bar.dart | 106 +++ .../users/widgets/users_list_item.dart | 98 +++ .../widgets/users_list_loading_item.dart | 23 + .../users/widgets/users_search_bar.dart | 38 + .../screens/widgets/decorated_app_bar.dart | 32 + .../lib/presentation/utils/colors_util.dart | 20 + .../lib/presentation/utils/debouncer.dart | 19 + .../lib/presentation/utils/error_parser.dart | 12 + .../utils/notification_utils.dart | 100 +++ videocall_webrtc_sample/pubspec.lock | 674 ++++++++++++++++++ videocall_webrtc_sample/pubspec.yaml | 95 +++ videocall_webrtc_sample/test/widget_test.dart | 30 + 158 files changed, 7219 insertions(+) create mode 100644 videocall_webrtc_sample/.gitignore create mode 100644 videocall_webrtc_sample/.metadata create mode 100644 videocall_webrtc_sample/LICENSE.md create mode 100644 videocall_webrtc_sample/README.md create mode 100644 videocall_webrtc_sample/analysis_options.yaml create mode 100644 videocall_webrtc_sample/android/.gitignore create mode 100644 videocall_webrtc_sample/android/app/build.gradle create mode 100644 videocall_webrtc_sample/android/app/proguard-rules.pro create mode 100644 videocall_webrtc_sample/android/app/src/debug/AndroidManifest.xml create mode 100644 videocall_webrtc_sample/android/app/src/main/AndroidManifest.xml create mode 100644 videocall_webrtc_sample/android/app/src/main/kotlin/com/example/videocall_webrtc_sample/MainActivity.kt create mode 100644 videocall_webrtc_sample/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 videocall_webrtc_sample/android/app/src/main/res/drawable/launch_background.xml create mode 100644 videocall_webrtc_sample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 videocall_webrtc_sample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 videocall_webrtc_sample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 videocall_webrtc_sample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 videocall_webrtc_sample/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 videocall_webrtc_sample/android/app/src/main/res/values-night/styles.xml create mode 100644 videocall_webrtc_sample/android/app/src/main/res/values/styles.xml create mode 100644 videocall_webrtc_sample/android/app/src/profile/AndroidManifest.xml create mode 100644 videocall_webrtc_sample/android/build.gradle create mode 100644 videocall_webrtc_sample/android/gradle.properties create mode 100644 videocall_webrtc_sample/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 videocall_webrtc_sample/android/settings.gradle create mode 100755 videocall_webrtc_sample/assets/audio/beep.wav create mode 100644 videocall_webrtc_sample/assets/audio/ringtone.mp3 create mode 100644 videocall_webrtc_sample/assets/icons/accept.svg create mode 100644 videocall_webrtc_sample/assets/icons/enable_camera.svg create mode 100644 videocall_webrtc_sample/assets/icons/exit.svg create mode 100644 videocall_webrtc_sample/assets/icons/hang_up.svg create mode 100644 videocall_webrtc_sample/assets/icons/launcher-logo.png create mode 100644 videocall_webrtc_sample/assets/icons/mute.svg create mode 100644 videocall_webrtc_sample/assets/icons/qb-logo.svg create mode 100644 videocall_webrtc_sample/assets/icons/search.svg create mode 100644 videocall_webrtc_sample/assets/icons/speaker.svg create mode 100644 videocall_webrtc_sample/assets/icons/swap_camera.svg create mode 100644 videocall_webrtc_sample/assets/icons/video.svg create mode 100644 videocall_webrtc_sample/devtools_options.yaml create mode 100644 videocall_webrtc_sample/ios/.gitignore create mode 100644 videocall_webrtc_sample/ios/Flutter/AppFrameworkInfo.plist create mode 100644 videocall_webrtc_sample/ios/Flutter/Debug.xcconfig create mode 100644 videocall_webrtc_sample/ios/Flutter/Release.xcconfig create mode 100644 videocall_webrtc_sample/ios/Podfile create mode 100644 videocall_webrtc_sample/ios/Podfile.lock create mode 100644 videocall_webrtc_sample/ios/Runner.xcodeproj/project.pbxproj create mode 100644 videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 videocall_webrtc_sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 videocall_webrtc_sample/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 videocall_webrtc_sample/ios/Runner/AppDelegate.swift create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 videocall_webrtc_sample/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 videocall_webrtc_sample/ios/Runner/Base.lproj/Main.storyboard create mode 100644 videocall_webrtc_sample/ios/Runner/Info.plist create mode 100644 videocall_webrtc_sample/ios/Runner/Runner-Bridging-Header.h create mode 100644 videocall_webrtc_sample/ios/Runner/Runner.entitlements create mode 100644 videocall_webrtc_sample/lib/dependency/dependency.dart create mode 100644 videocall_webrtc_sample/lib/dependency/dependency_exception.dart create mode 100644 videocall_webrtc_sample/lib/dependency/dependency_impl.dart create mode 100644 videocall_webrtc_sample/lib/entities/user_entity.dart create mode 100644 videocall_webrtc_sample/lib/entities/video_call_entity.dart create mode 100644 videocall_webrtc_sample/lib/main.dart create mode 100644 videocall_webrtc_sample/lib/managers/auth_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/call_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/callback/call_subscription.dart create mode 100644 videocall_webrtc_sample/lib/managers/callback/call_subscription_impl.dart create mode 100644 videocall_webrtc_sample/lib/managers/chat_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/lifecycle_manage.dart create mode 100644 videocall_webrtc_sample/lib/managers/permission_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/ringtone_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/settings_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/storage_manager.dart create mode 100644 videocall_webrtc_sample/lib/managers/users_manager.dart create mode 100644 videocall_webrtc_sample/lib/mappers/qb_rtc_session_mapper.dart create mode 100644 videocall_webrtc_sample/lib/presentation/base_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/dialogs/base_dialog.dart create mode 100644 videocall_webrtc_sample/lib/presentation/dialogs/button_dialog.dart create mode 100644 videocall_webrtc_sample/lib/presentation/dialogs/yes_no_dialog.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/widgets/controls_audio_call_buttons.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/widgets/controls_incom_audio_buttons.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/widgets/income_video_buttons.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/controls_video_call_buttons.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/oval_badge.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_call_app_bar.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_track_widget.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_tracks_widget.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button_with_state.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/widgets/timer_widget.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_avatars.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_names.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/login_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/login_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_login_text_field.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_password_text_field.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/header_input_text_field.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_button.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_heading.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_progress_indicator.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_text_field.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_footer.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_progress_bar.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback_impl.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/users_screen.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/users_screen_view_model.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_app_bar.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_item.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_loading_item.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_search_bar.dart create mode 100644 videocall_webrtc_sample/lib/presentation/screens/widgets/decorated_app_bar.dart create mode 100644 videocall_webrtc_sample/lib/presentation/utils/colors_util.dart create mode 100644 videocall_webrtc_sample/lib/presentation/utils/debouncer.dart create mode 100644 videocall_webrtc_sample/lib/presentation/utils/error_parser.dart create mode 100644 videocall_webrtc_sample/lib/presentation/utils/notification_utils.dart create mode 100644 videocall_webrtc_sample/pubspec.lock create mode 100644 videocall_webrtc_sample/pubspec.yaml create mode 100644 videocall_webrtc_sample/test/widget_test.dart diff --git a/videocall_webrtc_sample/.gitignore b/videocall_webrtc_sample/.gitignore new file mode 100644 index 0000000..24476c5 --- /dev/null +++ b/videocall_webrtc_sample/.gitignore @@ -0,0 +1,44 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/videocall_webrtc_sample/.metadata b/videocall_webrtc_sample/.metadata new file mode 100644 index 0000000..8e89d4d --- /dev/null +++ b/videocall_webrtc_sample/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled. + +version: + revision: 9944297138845a94256f1cf37beb88ff9a8e811a + channel: stable + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: android + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: ios + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: linux + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: macos + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: web + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: windows + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/videocall_webrtc_sample/LICENSE.md b/videocall_webrtc_sample/LICENSE.md new file mode 100644 index 0000000..d58465a --- /dev/null +++ b/videocall_webrtc_sample/LICENSE.md @@ -0,0 +1,19 @@ +Copyright © 2023 QuickBlox + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/videocall_webrtc_sample/README.md b/videocall_webrtc_sample/README.md new file mode 100644 index 0000000..19688dc --- /dev/null +++ b/videocall_webrtc_sample/README.md @@ -0,0 +1,42 @@ +

QuickBlox Flutter VideoChat Sample

+ +# Overview + +This is a code sample for [QuickBlox](http://quickblox.com/) platform. +It is a great way for developers using QuickBlox platform to learn how to integrate audio and video calling features into your application. + +# Features + +QuickBlox Flutter VideoChat Sample provides next functionality: + +- Authenticate with Quickblox +- Receive and display users list +- Make audio calls +- Make video calls + +# Get application credentials + +QuickBlox application includes everything that brings messaging right into your application - chat, video calling, users, push notifications, etc. To create a QuickBlox application, follow the steps below: + + 1.Register a new account following [this link](https://admin.quickblox.com/signup). Type in your email and password to sign in. You can also sign in with your Google or Github accounts. + 2.Create the app clicking **New app** button. + 3.Configure the app. Type in the information about your organization into corresponding fields and click **Add** button. + 4.Go to **Dashboard => _YOUR_APP_ => Overview** section and copy your **Application ID**, **Authorization Key**, **Authorization Secret**, and **Account Key**. + +# To run the Video Sample + + 1. Clone the repository using the link below: + + git clone https://github.com/QuickBlox/quickblox-flutter-samples.git + + 2. Go to menu **File => Open Project**. (Or "Open an existing Project" if (Android Studio/Visual Studio Code) is just opened) + 3. Select a path to the sample. + 4. [Get application credentials](#get-application-credentials) and get **Application ID**, **Authorization Key**, **Authorization Secret**, and **Account Key**. + 5. Open **main.dart** and paste the credentials into the values of constants. + + const val APPLICATION_ID = "" + const val AUTH_KEY = "" + const val AUTH_SECRET = "" + const val ACCOUNT_KEY = ""; + + 6. Run the code sample. diff --git a/videocall_webrtc_sample/analysis_options.yaml b/videocall_webrtc_sample/analysis_options.yaml new file mode 100644 index 0000000..d0f4914 --- /dev/null +++ b/videocall_webrtc_sample/analysis_options.yaml @@ -0,0 +1,30 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at + # https://dart-lang.github.io/linter/lints/index.html. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + constant_identifier_names: false + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/videocall_webrtc_sample/android/.gitignore b/videocall_webrtc_sample/android/.gitignore new file mode 100644 index 0000000..6f56801 --- /dev/null +++ b/videocall_webrtc_sample/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/videocall_webrtc_sample/android/app/build.gradle b/videocall_webrtc_sample/android/app/build.gradle new file mode 100644 index 0000000..c3d8004 --- /dev/null +++ b/videocall_webrtc_sample/android/app/build.gradle @@ -0,0 +1,75 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +android { + compileSdkVersion 34 + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId "com.quickblox.videocall_webrtc_sample" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion 26 + targetSdkVersion 34 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + debug { + signingConfig signingConfigs.debug + minifyEnabled false + shrinkResources false + } + + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +flutter { + source '../..' +} + +dependencies {} diff --git a/videocall_webrtc_sample/android/app/proguard-rules.pro b/videocall_webrtc_sample/android/app/proguard-rules.pro new file mode 100644 index 0000000..f5ac73c --- /dev/null +++ b/videocall_webrtc_sample/android/app/proguard-rules.pro @@ -0,0 +1,63 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile +-keepattributes Signature + +# For using GSON @Expose annotation +-keepattributes *Annotation* + +# Gson specific classes +-keep class sun.misc.Unsafe { *; } +#-keep class com.google.gson.stream.** { *; } + +# Application classes that will be serialized/deserialized over Gson +-keep class com.quickblox.core.account.model.** { *; } + +-keep class com.quickblox.auth.parsers.** { *; } +-keep class com.quickblox.auth.model.** { *; } +-keep class com.quickblox.core.parser.** { *; } +-keep class com.quickblox.core.model.** { *; } +-keep class com.quickblox.core.server.** { *; } +-keep class com.quickblox.core.rest.** { *; } +-keep class com.quickblox.core.error.** { *; } +-keep class com.quickblox.core.Query { *; } + +-keep class com.quickblox.content.model.** { *; } + +-keep class com.quickblox.users.parsers.** { *; } +-keep class com.quickblox.users.model.** { *; } + +-keep class com.quickblox.messages.parsers.** { *; } +-keep class com.quickblox.messages.QBPushNotifications { *; } +-keep class com.quickblox.messages.model.** { *; } +-keep class com.quickblox.messages.services.** { *; } + +-keep class com.quickblox.chat.parser.** { *; } +-keep class com.quickblox.chat.model.** { *; } + +-keep class org.jivesoftware.** { *; } +-keep class org.jxmpp.** { *; } +-keep class org.webrtc.** { *; } +-keep class com.quickblox.conference.** { *; } + +-keep class com.bumptech.** { *; } + +-dontwarn org.jivesoftware.smackx.** \ No newline at end of file diff --git a/videocall_webrtc_sample/android/app/src/debug/AndroidManifest.xml b/videocall_webrtc_sample/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..97b4804 --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/videocall_webrtc_sample/android/app/src/main/AndroidManifest.xml b/videocall_webrtc_sample/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a79cae0 --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + diff --git a/videocall_webrtc_sample/android/app/src/main/kotlin/com/example/videocall_webrtc_sample/MainActivity.kt b/videocall_webrtc_sample/android/app/src/main/kotlin/com/example/videocall_webrtc_sample/MainActivity.kt new file mode 100644 index 0000000..f5d80b8 --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/kotlin/com/example/videocall_webrtc_sample/MainActivity.kt @@ -0,0 +1,6 @@ +package com.quickblox.videocall_webrtc_sample + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/videocall_webrtc_sample/android/app/src/main/res/drawable-v21/launch_background.xml b/videocall_webrtc_sample/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/videocall_webrtc_sample/android/app/src/main/res/drawable/launch_background.xml b/videocall_webrtc_sample/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/videocall_webrtc_sample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/videocall_webrtc_sample/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f7719c60ba6627717c7f8eabef0c90aa46fe64 GIT binary patch literal 816 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2VEXRq;uuoF_;!|Ix3Hr`+kRg^ zmh~UB1gCtq5`E%lDV-~-d+wNh!b5)n$7pFs?~UR|omh9eZ49|`%z4X(4Hk|&j|EEy zS17z#_gknh$LwZpdb!$cmix=SH^rBInsBD(y-%87%-_i~G*Z&;FwZDa=}>TF;Z*Vv zaBSiba+#pe#3G0;~H^+(%94#&_=hpChLJ z*R-4cQsega>p6e@a&q_XKi00$r11RW)3ApN4&E<0BA$PI+rO>f@0{h{)6$F(07I}}PzWH4QP z{$%>6Tm^R7ylLL$N!HbCc07w#-U-loUdnFIGJ8d*zCK2d$#@A zcXsRJir>2y*Q;NU0S1YafTPC^j)^B6T!l^5{LaY#==@Rev?fLSbYSMJ{of3>h0Fha zx7k;~@y4bEPHAm^wI{2J{pJ-PUwr9m(e-mD{PbN{F5o;Tv)t>pfB8EeW!`;}zGod%huHxFmUypD2=}t56`X28$Lt&2N*S<(MX_bqL z<+Bf@F|B?EimGE$VS+ZNH;Jl6pRv68;N+n!u{T9_m9ua3Uj1c%T%oBT?43~9M&TKE z-yCAsJslRY)<7}6dHHIYhVOBa+dgs^$rjYjzOr;(weO_rH-1-Nv%lKA>OV6)`hfxX zL|(jL#q{-u<%&AK%ZWO&JUntmbo5EiWyx%st8K!(#b2#E~*5!kn`GU>aH`;sh z?7r8&Qn)3j^+$ke_fLb;rU|QSHid>R^9#6)FNp!Y@{h4fpVLIMUe_9!6Bs;Q{an^L HB{Ts5pAclx literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/videocall_webrtc_sample/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3c84f7756c742dba2897724e4b2f86184ecf512a GIT binary patch literal 674 zcmV;T0$u%yP)Y5S=?j5MyBq1ws4*1tlU_sFj6QViBKF3ui`!0-M0&!a)wCU$`}87ce$y$o*B30B9Sz!?TsgF{&nwMX z1hDgd=K=I#EGyf|gnDkWtvoN82(D4?uOop*gdw0CECNs)99Y#M#u)JQs-BBO{L_9# zJ9rLC{XDP;KxLpdQ8IdTF6cJ@rIb+@TL*#;&%Ts0$^|=w;Al2t9DA6_MXv#^zld6d z0Tuyl7HYg8}VO2>AG4DDB=f?*^y!Y8w0uu<#y zZ7U&OXP^%WU;uOA7&0N_b!h=!PMn8-{>x7y`QS4V4DjkR0~vLI3~&07*qo IM6N<$g3eqitpET3 literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/videocall_webrtc_sample/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c945c8bf39a244c27cf4b3e16791bcae2411e46a GIT binary patch literal 732 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U|Q_y;uuoF_;$8!o`|7@!`_q2 zmbu6<2)J@t1zm9QkZELgIL@juK|qy#!4lU+ixw_i*1*&$z5RPkU%T4w_iTCFNHb4^XC(~5?u-Up4S@_jObH?kiy0(X4`?vB;TH;y zJ@7SKQ}*thrOki4Z|jC>*8aJ+Wb)wng8jSrXbw98LwWxu<+^p^JiUd zN{(#ucOmY)-naK>BxMGNI>;!0vpw16*||3DO_>?@yQjTNeM1>*xAoqwJ@r21n25LZ zb<8jZYJ2kRzx({C$Je?*$_ovI#8ca!#P8w@){EB3T{WLGKTq>>yFzl;(%x)HOeJ>) z`RhrUvwKfryI`89H%%k8Z+5q;*UZPy9x3slM&p?juPMh)A&4bFZb!GlnG}{OJ02E% zTl`1Az=)~sPS*=1wf{$Nmww!#rhFh;@KPu73F0&Nx+?E!lbyr20aGo5r>mdKI;Vst E0QyKX;{X5v literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/videocall_webrtc_sample/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3eb7d8f37918dcf628e0354fe2dc22968e5a92 GIT binary patch literal 1425 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farfi=R@#WAFU@$Fs147pU9;~)S3 ze#YC#!?=)fcglv)5P>Bgfmc+UgO&>&j5I&GSER6@h+`e=%SDqPBot-|F67XfqI7dr z&}wHkW0imt0vw+AHt*lV!MFGMiNEu9f3H0Io%!y)d$I5Ky`Nq1{_`EHZf{F{& zGAam_xhEDzZ?i4`8v8m2GH(4jd-=IXPQMPF?f(>WW7%61 z+2ftxrhfeMBq+pThAsXO6cG(Lw^7e}_sjgX-@mQai7&~r_B~#hrg>g`)zV(pNkB(> zIPtO-A3rZ67y9vM`Qs4_e1)fq>r~QXIpEhxMhCt{#6nG&1wVHj~n)Vzb~`xR=?fD zx?gL%vbV2#!f`rNQ%m8Z=d2!;H{b3qi)XKW<1TXXZ0{HKM{Bh76wZh-HMKS*C@Ms7 zZ~&Q0S2UR9x*EHgM*4qVd&_6<#aiLJcP`h?6MAIu_|{HulXLja^}jun4N1LXZ|;S>09#dWW|?!f$#tA zlG3ue_U)06!Vh9^oy!ahaVVE}c>~NRTVCh~tTuHEHn|*pntjKXxtG@fV_c^= zw^jy{efz}YGdJ_D&AYS3VXc_n#aqHrb_>p0sJwMAzUngZ))7N0C)(818naiU4UgJF%~27%srVIC5?8ouZK@BTZ-nQ$+3 z@87iWs$0AA_x<>G{xj#Idwaeye3-@JFpI%Mm?4u%!IxnPXM+jj1T}_BG#BjUfAIG2 z%P(KU%a@;}Y`#785@4LL+ zS?+(wKe9hN?f>3yetnVM-rxV$FP)w{ZKfN0!JoG3SJVIGA3tw5@8ezn^vyO!)9&{2 zJ^1nZZ|b~{|MhR_7z24L|KfEvP!Os8bmp<}rwy6UfykpU0 zkl6ghX~)lR+I^8x=KE!t@DiKryd3=Xd-gLQ*Xf_1TE3Xs;@wiqcgt@+WYXAt#>A@O z@JFS4_x(Tr+CTA((fJQg9!Vtz7`z+>KFW&*J z1*hkn-gS{Ng0*C3aiqBw!;Wc0N8YU$3~QKno!PlYS{7nMDHabP0l+XkK@X&^A literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/android/app/src/main/res/values-night/styles.xml b/videocall_webrtc_sample/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/videocall_webrtc_sample/android/app/src/main/res/values/styles.xml b/videocall_webrtc_sample/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/videocall_webrtc_sample/android/app/src/profile/AndroidManifest.xml b/videocall_webrtc_sample/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..97b4804 --- /dev/null +++ b/videocall_webrtc_sample/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + diff --git a/videocall_webrtc_sample/android/build.gradle b/videocall_webrtc_sample/android/build.gradle new file mode 100644 index 0000000..bc157bd --- /dev/null +++ b/videocall_webrtc_sample/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/videocall_webrtc_sample/android/gradle.properties b/videocall_webrtc_sample/android/gradle.properties new file mode 100644 index 0000000..94adc3a --- /dev/null +++ b/videocall_webrtc_sample/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/videocall_webrtc_sample/android/gradle/wrapper/gradle-wrapper.properties b/videocall_webrtc_sample/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3c472b9 --- /dev/null +++ b/videocall_webrtc_sample/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/videocall_webrtc_sample/android/settings.gradle b/videocall_webrtc_sample/android/settings.gradle new file mode 100644 index 0000000..392eb2b --- /dev/null +++ b/videocall_webrtc_sample/android/settings.gradle @@ -0,0 +1,26 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() + + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.4.2" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} + +include ":app" \ No newline at end of file diff --git a/videocall_webrtc_sample/assets/audio/beep.wav b/videocall_webrtc_sample/assets/audio/beep.wav new file mode 100755 index 0000000000000000000000000000000000000000..6cbc44afaadd186aca4da5f2f1c153e2904464ab GIT binary patch literal 19490 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%0Dqds@;m?OO0l^On_4KL|j1uVMp9bWS+!a{6{^0S& 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 cQc&sw`8tXN~(%K%4vE!3@fS& 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

Rkg40f4cp1o8qXdl`d1aq;s> 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%0AHVJy^9Io9Ezby{%$y0;i$LLMnjB?baW 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�yxOxlb}>keup+7H z775X`rXfbR@4Q2WZCXGMxuz`(E;hmtHU&-@Pfiiv$A|ecF(8sDKI)W06x>p7Xp%Vl zXBa(#AgZBV;gzxSrpOuxPyc=0B4nXw#ZEQ6E;GX{8XhLlSaqb9VHJrV(Bn_x%}0M5Vji303+H3&TmE(rbKYrWU9r!A{9B{&eBqYv8}?l__t*O$ z-)%ORg{qP?)6z8lm^_zPN;PuqyS5kPW&gqH2k)wTSn%rm+gweGe5>(Ut4v(yjNMC5X;~7&6CA{5c&j(iZzrF-=`tqg**pF-MWjr(w`;jL}t6%jK?-=d%L? zuDMTGNKMq|>(B0@G7Vd9W=*~L{!4m#zF43y&0~eFm>i z6Dn=!kc}(*QWn2#Dl3@D4AO4fx$xzcN#?3hk~FLk(t3~IqiY7l3d2!-(ePZ^s!R>4 z6Xj+Dn#3U(@T726_=y;17xFWe=zVG|Gw$Z!rXubA;aQ1EcupR9MGgxZt_9bI`rP?X z6n>`>#AAk%Bi)slOp#W8(ho?ItiUTCinGuG*ZP4P_3?r2AoA3bFTaOA`uyOSKI@i_s{mSShjkaw9Mi-ijj1#MB@nsr>L z&&umTkjVa{Fv%2{>U2fH;1wOHnb|UQg>_eFr4G!ehHdhNR%DIw(t)45J?+?CZJu~x zt3Fhd>l{M5HKLIIjw5kIK1%NWWaJI$9Lt=g^};TvZ{F<@QGYm`>8J19K_$BKyYDi7 z)Ob>e<18VEqr#>ARDjC;VSVrK7ttKk@!zMU6DwDGg$p7V>&?a4omKCf-^#})>A;>m zqPNODdVA`5XA$8W(vz!NdV43a`bjs5TfIx^#K33s6s-fki1iO9I)jZe3v&szoWNw z(u;L%zMS7D+nDBJX(jkn7exOqEL+?q(=I(5OoE<&H)k}|ExuyqBPO9wjZn2i%&Gd) zt_=T@9_%L82%P8NpUgLt@C-#eBnw$U3{@hHS3>wBZ=Z?^eXD$L`>)iSYoDw|N3-*E z;*um;7y-b8%<*{FMg}?2Q_m*zY87%kxDd>2>r;a!=8PqwDpP_`-r{L2xX8q0>C?4p zTw1G*F)uW0)Bn-FAr>-MiZPy!603~pH&5~J|G;|k*SEQ{4B#S#;dRJBK z^!)6tdR^uck%O{uViF+L>UC|1e~RW5%Ch>|xTN^LB|Kmwm3L5x!nwVqenIi~{oh=EPiX#qIP19p&@q&&(PWBXN z0k|SX?&M~4Ia-+`7HAUZB}Jz+M4xp zT;9Ru;mbM7J_D}2+f8rF3m&A#J)6~Ohn{^^2)wt0!i#fNO_tP|#Z0X*1>x+@LUiU3 zyn@t`LzfxvTKt<^T;cZ4*`DbFJY~kmaJT!o8)JpARF~X39dJEg?KP_$6C;y+=?0HR z71Q3IE#nr*syn8SZrS!Vb&i0ooNMRymep|7XoAe$^&!U~)it!aIG_ijRovWi`#+%Z zDBAOtx1I%2b?`Wq(0+^c0cnk$xkXEDmJLJOxZo5Jc7+1thWJ8Y8fmdGiG0W-3D6to z7l@4==LQu3y@idDbWmicd-)f-hd%Tm#TW*lBY zk{IW6l>y~p4x48K9^&ee5u$R2%u)^fiQiPE#79=zdtxA6%JY)H*3mChKn2Tb3`}zM zwp-s*R13{NqwnUjC*e6_-47G+AG$3Q@v}fTcop|i7HK$V{+TCZ{YmR&Iu_)sI9`$$J6QRm7HCAwu^A@u8P zVKKN2TJihQ$j~gPHSso`p5{F+ZxA4znS60L0E=;>1EO3y0Zf?WkV)S25Dh}2`8YuBB;8+Oc`HUvtQzD#?~yQ zMdog>FET5oIh8E>taPm0WY1EySJrjOf`ABQ5j!PT#R(W@R@3gQPmh7}zz#y*$avxU z0qxF%@5eqVmC8Nqeg{8{qGYmf-2S8S!u-TT4j{f9p+odgL1XGMg!md;K?-Pgl8pxd z)r7jdCM>3~aiRvbcn!BejoAh0vt4cr@l-Ht)@`2GQ`mY~opWPu6bVo8UA{=MUQV_=``1@@%1SPcFm2ai zlD(Njs9ZD(E)Ks^>Xd7eX8@7LGMXh@0?Vhejh`^ysL^3>7DOB%4Z!uEa_%}Az z<4~hdUJ8!Wji&0ay|>TwJh9$Y%bxc_Z9pK1X$ODU7;T|53HaK= zW!r47A!qhD#AuBTtKYQ9A=!+m#-jv?!5{>rRS}!>>IP3YO-NZB-_rxp(<|96K+=DB( z)$_iR>RyJ7^_F7b9u4eX7jfcDJWi}<+_YaX?p5UZEQ|LD(d9@eHl8)972pYxP07)- zH1N~ymFrkA2{PcUepCNs@=m)EZ*H!RcwW6oz~`&BS-dt@g#D7Qwp%y;8x+1!ypb1! zLLo8a&k4c%mcfIYuAI!xZ>b}*SQ@pq7`7P{_=cRg=kr*tX`n1z98?<>9oB54rhX0z-EwK(hJ;wBF4|75mvSWjByPZT#PwPH=-eA4Na@<%2%tTe) zk}~F%vMXYUUs#9)fpZJ5Y2h1YXimXjt9eb@;tyO^QXASNXYyzAG@rx#9I5ug?Z3TW z1`8R;RE<@I-PGG_UkPi@-H1=$%+7o7mA0X$v-isi(H)gn@q#=yxAb!5irmEd{oK=j zUaN^G-wH`_xt&$Iv)b?PD7rlD6^l#w)K7Px(=j68_Vh=Rw_SsO#eg6q|plFX!F& zmm$I@9d0e?*@s-Q+vbd2rxfd+%T+nTIciSZ90$u2N2|@Rtc!K$>MKTEo0&=07SW@e ziXN@guCZvq+w>x8&9X{-5z}7N+gd9IWmh{MlN^*k?pr(_aP_&931&!o(rb^uL&$SY zsGzz!bFWxNLeSa1p4j8mtVF_H$JUNZIR6g}ny&M_L;J&p1cR1DiA!qEl9`WJs2yr! zozI8+T1os^3GS$;4^-_6vfj0&nyJWKGNuowXT&KPUz!&aP+A|I*;@eTj0|!MB@v-K zil*zcP{l)w%$_`VUNUz&i9R}bRGCke2_!DT=gbr@$r0<@w6EbGobvb)F}Ln&n`(n~ zYRABt7{(5Rch%=vvUB#@<;|&@*75hKx|z|EN5O*! zUmpqg46N)p+E+X))b(;SWA6D^JM<{fU;D#rpF7PyZu|x!HxpbPwOcHmXcc|e=ngcp z{hQRSGOl^Sas!%uKhI73ye7B=n>bqs{D@8l02*9?h4qk9!c=*DVPa$!pkQI@VR}q7 zhpEeGbc&^T54)+0I4X`KN!(|vVg-3gg7Id9?-J-}rcemrzi_v8d+T}ba+GTZZ3xmX zbZdqBGx!+Moc!WcV#x9H&>>B)G0Z$Ew6%;%kW+lwRwh@!O0>!?Fk(7no6YxnNMuvB zd0UknKW$^QCyT&0&sMnn6t0pYP?MiBzwYjWJEB8~{1rT${h)k3XS8GJ9Mdm5PU%Y) zt`^=YrtPWw2HVD->vH(W!<)=mrs*!J@0*z*gnDlC?^?g!nCi%mwk(z2nmzxYD8vET zVuzB8T!YR|Y^ebkK%>TmC>&5nAy^uzTWS*cNMmc`TLbR%~lr2#(+n$q>oty2%9g)Xf|0(bAL*GiSVYQ1?b`?IxS1$8Y&vpXVMw#`c){XMBwzHod>FP+&mnxMn9 z@$g2ItC{I1+SzWiI-OuZXEEpsrf6EsETN}m7_!8-CNr;CC*oE7LdUpxpN6lvHN~*l zsJjwhmwvTLiKE6g_*Yc^X5N)K>{*dOU5nhlO-g(4Do^YnR`KtkjNsxvx?KKCmQX+l zl%6T2F3}r|95J6fhfjEZ$Er|MY9uHIyZd)_juecPnGM6PCln|kR{ zzOmqp86tp}+DYIR|CH@zcWXe?H6Z#TA_stCE&vBRNpOX4?RZ9_S-TfI0Pj+6mIDSe zXG3DivvrsYVAz41mxywS*_4O1VuQ?VDPU$`f==}6>EogHB(KMOjZ*i-<&J}pK7Ya* z_?A+?`!)CfG6HCRG4C}JEq@^8mPOU%zf$dtVGCj7pljvP7Py>W!*2s}W5mN=54L;X z%doC1ceZ|V8R3Lpc8+?_(R=lF4=<+Y{2Dc_BI|{nvEbLS3R0u*FPmK9z=E2;|Gq4E z&8Fi15y|NGv!|z46FPEBn$g5i|B7_841HFUvW}n%j}_SzHS*Q1j`wB=#{Wd&bF}_O z47Ty2Vuc}y;202pbW@v^k+V&meHKfys*y6Ntxe};6||qoZ^xgT54ptLpM6OztelHk zdV?VkSwy)ijxSsAC}Wn(C2^6}1vQ1JR<(mm@pK%~oG*CzcrFS4P`oHY4rNG1q&7tL z8)WQt;yt4`&otjRhH2As<~DeN?Bvl!)k1{13j)w(WGgjF36Br0Jx-svajweE?IYKk z*jI1FlousMl1Uqa+8Ra1_U6bah-K~E@XE_8=>5g%JIWb?VDskhz03OuY(%?J{%8X%^oFb`IcU=o?fs--E<*{S;u@E1B|t?`Ig>y^|;U z$FCE5Uy7@fPqmAdo@P24ON_REsY%~a!y+sxXpfkzqoSQXGF>KD)rjuB zg&JhtUrGFOhy5rwBV|uO5+iDa&e%PclAChQ%EV*h&cMQGoLfU#p04?yvl!tAeVrtSn=VT5 z%=iMXrY3T-66zYHDqx?v*(*K7rmMWH%ql)(h&__QRnl7E+>qnr$J;6|=t?o!O4{Rl zYKatzT@NbV%Bo&z3HL;tj89Csd0Dd9Bw58QlzpdBuF}s_Pt?<^qIY*Xg8$x@d|v8u z7%X^Ts+A@alk)g$M(CV&siEifK<=3N`-T@`2zpZ<;kDq40Ox}K@WfEiva*yc7c-Sv z5+q|rz%df(()AX(_5P{E_{JzxbT}?;IKe&K^ZiQ?hhJ8ly+sdZ z6;ZxAYPtzG9#y{}6p5EDK|&Aa?q41k-k+EI(Vk)R`l%Dw6|K7@!=XLSwX2)NbB&FH zQjIkQZmLoGqY&-5asDf&n_a5cJs)kOSfVQ|jO*2hl@u@WY6v2fT$Lbnfapt_bo4`G z444=IxT4z}DeU_ufR2X)Kp4jHOgY2tOaYxnPp0+7{cq5ppd^%t)}iwG>P%K}aSuLf zo$pt2Dez^fAb(8~&o7U!1ie~H%+PzC4Y~|DuDsu!fyVHZ%gQ3Q@>#s>GasP})_b){ z5%;jF55)658LQqEXzu;+&kg#_bR*yQQ@3DCn^Va2UmM)w*|pDTk$2hNM_DB|CW|)S z34xwo_knL#S`h3&ch;#N>V#88B-AI_PBLqn8N|kRmkd#yLIN$4rHj?VjCTKHm(BnQ z|HNWvB3*<20eM>m#BW}X;bfb;V3&5Ww1bO`q~NJ(vt*gD(y&xK-lbNsnYa*i7}83h zoYhA&LsN$mX+^N3PCGq2D!4Eav;f0KV12MtiDU||x;!4q?1hMj0-j)L-sKIc@M-IO z`gk}piuTQh z3K_-{?wijAs9>aNs$_ak(8(#!q0e!{Hs`R^BnyKtCe>}Ua|?Ns+4bVjY|UoiDffkQ zDp9Mt*yY&maKL(93fj=(&fSu9=lYd{-wTa50%hk|9@gJ8@qOO_V5;Zl0w~(WUcxG4 zGZKQ1VSxH{G7CM6LOL=TNzR^3%V6OJ&|NU;3G^D}E2Fr?m+3Z8=F>ac~-r84VyCTs19w2V7oQ%pHTSDx*Jo8bUZ{kC#0c-||n( z#6fcTgeI?g)x?Uh*QorZHsa#pPNmxQIrF4~+#F!tzYmXAv+5TVnC!1N_pMIH{)Nak zr$sFNVSFPSx7OCEXV6e(dFHn2>l}Pj$U%mVf{~?RE@l|LTe2RcF_2p&Lp;+U$~5#6 zj6pcxbUZd%XOhxnbY$p)k}zWfz>8*cT35%PK72E85ycu=>ZMzP2|V}}N5-F|&JI;& zomRBXNI*hdZF3@=!|KerM=D)6^|3oXC&oB;T(wtbwmj>fSvoq7`-uZH$;byw@9tg_ z4bcul`kDB}Gwx(|G3n!DSffzeoz6b*jR0q}JmdD2 zfJ>)w*!!-0+pp080GcirDwtcp@^=m&yG2|QBarOEz|92CgDz0Xml*i~@wq*t7#4=q zNn@bVw}we0T#`hEDPvl?`D1ky!tLgV(osihe1&jG0+=OQs#eCO{0sYx|Mz?V=vT(zX8bQ2 z8c!nZ0^(;y59v7NwJvH~he&j_wP0plO{v#wubnN}wML@>H=nw|Kvl6>oe_2&dVbNd zeRW702K7afG3V!91`Mwb;+nE@wJBM!jIqf165Dc-*SU^zx~!iNrKeS#7b_FZtj{BT zf3IUQGS6V*9USN?!K$ovz0PMf%*If{A^IPDiHTpO-Dz%bW{Zz#6+-qQH?6xlg=VJX zBwL2LY2B?VQ3Yh2%7}hFrB))BYL_G^qRt>ov-}t4Z|5>lR74*O30;$taFjizXUvLv z$kHd2rB>C~Hf@XX<^U-J0aq$607+-rf1+e~H$4YQ71eFSa0-j?QG z?JZUzo2D%a?&W{*O!VKN()OMuW|!XRA9tN7moy(egMDrSHUQk|tpjw(4sif_0!WxX zm7Y%Poqk4a>eUb_EN1#8oSl=4p)~N_S9K#LEiUQm{Xid!*+B(p()7@b#Ja=PT%@a@ zZ*~F)aq??!VHel+()r*TE{V;=NTdXz-IHtGzF`Tlpq#Rtqw1MGWY|)Yjcc=O-Kg1! zB&i(uu&+vzShNi{z2sY7X27h1c@m#Hh13xSxB96Ht~($Sr}AX#1*MaVn<+JcOfflaX41Oom9E#@g76~G zF$Dux)=H1}b5Ss+=p^N>m-A%J>G+gE!U7)_>uJyCLZX}0bHR&)?3NHNtr(d1(8%m; z5Jyn?h!`8=l4a~*mj}v0DOt*X$_+9h5ZNhxkJQGId`VpAEaT`zj_FTbFbMy7Jjc!x zS1G;zEz-)e*~3u(YI_=*&(1p6EStmEOP}skex$1Ex~b=|Vw&Y|3A^`IJ6U7T>WaBy z0^}AdQbdD2$9yDku0}q8&y`y3C*~`TaBzcD)GJoTus9#cs#y24)LnLjsUF|mki^bn zj7dr_o1o@qv+*Zc@VJDE|O}KY%=ik@&qx1h{8e9+0 zR*sA@$7k~5ZZOxhUOXKE{dUa_rRJ;|Kvqow#kUxc!1mZoiX-3|V=iR~fYHUe4APiq z52J>%#G#FJ!L$QREe^JTE0DEwhH1%K(zW0Zj{EqwK}Y&T`84bC}QI+(!>bVjzF9P7_>QbWkpa`dCt@y96N_ZXhNI3-ut#52$j< z5n|H)JXVCWm_{2H8Gdt;9M&P+DwL^ZPs&Ud)|(s1SWVbbIXa3X6p`5^<-sr+n&|tL zoONG)l};r@RznV~1dY7msH(BQUMzE)J*x!)sYbdr-zNP}6n+9CG%whtTPBJO7o^%P z=|It>i`v!;QTT!-(G9fiRLu|-8+-l{LsCmkn?88t*%>N#MbI+DnE|#Od)zqxt8a(I z+!IR{m~B~;(NGL02aVn2VwAqeL!ZT>R@8Lm1PP`1^HI9Qwlv0S6?NVx$>jS=`gV`TOeNkzhna|owkUc1fgs@< zIP+l6>gv`i7YFlu{t&ddplOXG*BV6U8b5J5w#x5@O{1hw#KMP}GWg3sSBXTDNLt!n zvSYSOX*(V)QEyt6~DWx6YOuR-3SK}HMJ zD~{v~|M(|khqP?3m||Q~Xr1YsGwubtR_HhS^B1n{n{DK!8#BUV0y%T7hxY3s!@oun zB5&58e}L(&$ct9r)=<7_h2k)1#rzI-d!rfT=5eSQ4FoElWRgt>UBA-l#KgP?NqX}z zpg^%ca9#t7^svDGPv`oy!Ti&rR^5iKo$ec4%~9TdAx3uDhv7GwV)eAA>e`Ay;SGzXufEq?k3dT-Eq;QJ%Eqo;n{>frv?-ODv{gJ8f1T1#Q{g@^1 z`44SP4^9>XKwFM3nF&JX8NX=xzbb5Q&x^xR9v;D%<}JmS52_D&&9*K(kGF|jZt;M> zJ?0-v{OSgvv*VDq9TXzJe1pQf9~`Rr(?glCWVTs%RzFAvkUA4qSOHh&7K)%o$H&Ia z*t@zI+^azzF2N0aAHgg`@2#F)V;GiSzIuo01WB?;{)%lqz8BV$QFT}Jrnayt<>EZA zY6?zClwtw)(L6BQkxvlh@5y^N0kN&WUn6vB#d0vSU_TSp&fwv%z0q+j=oC+wWWoZz zj7*$}=xH0`Ond}XnOwJU!RqP{PEDUV=G%({9*HR*6wnfcQ4~s=MW=svs+DbSmukjy zo7)w6)CzSc++_}F6|`*Qqm7|18Koi#XaML3ob@!zCyM$sR+*gizK4gP8M zwho|hzlR=Min2h&g)tC&Hj2k@qnf*T*a7W|fuUJuzbIF)2g|H|fBg<5%~TgFY-R9Bzf z+_ix1F-f0LT_oSHJ7dUss z>Bx&{q`isL`Du2m3@T$Cw!1%e?Yd{4-LE|2rH29XQ0Lvy>J{6s4lV6Fr@NgBkV_4H zVk@Yvqg}S_mZ0y@J$^AQIT0vLKfI0-L8~>?_a<1mzwPoXYdC1`XF-K`r13v^G0t03 z)x>Xpmnl=ZWbC$sbCyKH6qNKn-|?Tgd$P)HRj-_b`cj$&nZRI*hFFy!$#;+mM1wV@kmR#`33ruFVUF{1zaw@9<2mx4?QnX-_iX@H*ED zO?#*!ducBqN0WhJB=k&mtt>StC*ia7X+JFDx+pK%%b7`EH#xZSbZI2-d1;xXgot!p zwQy_E?Ia?krCYm=V|HOKssqSnaJuPnBA)J;zhp38Sf$owgHJEAtoE?gykA+|*?Y|> zNm71r;O+ZP@>DkZURj^{{WS?|>-n6{&q>WXw+!a3p=?D*~%IEvzdtY4S zd|ZBVKa2X*9Qi#5ciJSqf9K72*{ay;G-`9((R~$Yna?bjGvx=Xy z$LTUl#oP0k&42noj?RLu355;AqX!HaJvv6`NJ*s`J$f{Z9HF$d#OTr8U87S#RJuW0 zKvY^l^dO~ToR9PUiT8Tzx$mhDH`{ph97kX)HU@nf)=Sqz69I_Btq(Pk0XMo7!#BlQ zc-SIPE!WHQeBAcn`h8zq2d8wuDL_&oYAl-?R#~GeEP;1LsRV=h>ZEwklc{2kGR3OE z-_U6igu^Oy!*aYS#1zC-T$}?F#YjRIgQ?IcsM>PUYtLiOgs)4|-bHRq&)7D2FN2m@ zS}84JO0vv`9FqFf(YnCKOpGW9yGk)f&Y&s=4*Rx>VGt zW|_&j;RBYt?fIlx*)l~_23Bz&r{ARK1?6_FUm(Jh+4TQ}jQ=%K)LK5^4n2PC1=OJD%&7U3CTa9W78BV~A0so#Xy{Q@74FL6t^0UAtj zAB*sGPS#mK-nD~fxstPK_to6Q)rezN&Q#@v34VBtnECU7i{%~|qV#$AWy~-n4CC-n zT_!h%DY^+voKEyvbd>LB+}b|FnAlM83+$FsL3({Fn+EErGG-d}c(M21EI*BFA}vH@ zk6w}7AE{x#1jieBQ46e5Yco#P7~{%1KkEPqQpFRJ=C*+zUjy*ExilT>i=9`HlPf#C zYiW74>yG+Vn_50l&+5Z%?$Pc+SN;@@$2?n1&ZMP?4T0qAgA@kjs~Tx*1TYrBt0JKi zV2zcDc8pZ5k1o;)0WS^5V&x(wKp}LTE+a9i*v~a4rMY&69!%lu@|ft!^{O~gp5G3s z%iUTY^%Xpp!BteI$mr1;s9K-r79Uemy?1UBnhHfaLr5)m(h*^)B6(>wO6mc7WW9jZ znKqOn`+(_I8!-qoat|K$Q9vm+2OY8**D_PvCmOngs!`!DNGlq5PZ)qE`Xgt z_G#35_A6g#-m-}bWjmYM;5st@vZiP$wF}{^5CRk_iS3GGwJ(;}AU?JwzQh1B+Udr7 zA2VJ-rHteVClRRVG_4GR7eg*k(ng+?|3fPOY^RhzIZBoc9$GO-_r~}1=HlhHMsA$22Jszb`4o_BD7g{si>gh6P z3%qgPs}6)%rK0X4wGj8~(irBG9P^-MW6^vm8)q#9bnuC~*yLnKrS)7>5$&#^Xof_E zg3LpHS$nZptHv5#$sRLPN9?x8cMGctRMe4{4jz0*2_4)g2Z+ ziCE0ct+J9S-7VL;zV~x%H+b8-^I?~*^Oj25zT{>7Qr10KH{5e$s)R`ivi3|CXsKIW@8c8RCQlbO$q4W|VNAO#Gn|k_$EZoq}=?ZGVk@1tkPjJbbZ;{^qpr zIv{|ankh_ql1-Q+Hp&3*S2|qk{Stg^O>xf~U+{Rlb)n#l2d?Dg z{@#^`LZ-?jt+Y*Yf0jre_A(3;QOoB@{SbFg7d2e2stHxntlexJ(DGaD;Ub(|lYb;a zv&!)*^R@c%E=wHs{P|$ROlkoqzg19r;d24wJ?~q3g@T`Y@QA9u!stJKet5-OdZG;v zHAaQmY-4&+%lE%?c>9~vGy4{er#;OkLVmAk-k9SanS_T9*?lz@Ow%9q|K8q_rA}0v z2Y(ew!4x~MvCXnGba^2?&fbSLEM$BoP-gv^0>Yy{(Wi)x|K{1YmK_{1U@wB0Ai@h% zCr03hQ2lrpAX5kWT}dD%f&^`{iHygP0Vx5}SwRHF3@Yy)F)%{8xbP_fh8kUJdf0X| zUd$p4_%3(fzRK&OX?YC>8rZ?|XC7h2>z&$b%@gk`|CMIRJUze_y;}_ABPeBT6JJm1 z`=R??#`vs=RSmHcRquolT9BI2%p;#1pDQSPI1mmisKACrKUdFLtD8=zmEG=M?Pn4h zVQ1VJ4@g327dSO!q|O*-s|qC;-at`wCr$sX=Up_b_FAaJ{#w6gxBl_#GT__qo78ll ztsBM{X;$yn|3u|Cu&GA9vb~Vg_+ar*vgivrA%#6L=P*uKzpoqsOt)exO46`N8@0GuqGD$F zB9RTN*P5PI{jLd^2dj`Ubgiuwm|ucEw3X9Nn16P^)uq!-GbZR16qdp?iPSQ2hm0j> z1(2=>mW{5jMc&C3J2Uq4Z?>dM{yg7o%fme3gGuSI8BzWYPnOD|jW{=|*sr#+QtyN2 z{p%m*n(xQPz}$Bp_>Fg@cEpwH;uIy*)w!njV@YP^|?idJ?SlSWqD0(*rP#HVc5LTqLEd3^E+ol*oQ8K^% znv8XJj)?b{H!W4?@Mv01aj%$9ahfIXY`@@sgPCH~2%O+U_weh?5|cz}524Sfe5Jhrxn9wg0!v0vhpS zM+ly{N&Z>#P`wXHvfm?R?iY>YgsN3seJquq1M|AF{lkfaE4Le&cub|wG>#8iIC_W~ zvKCabmH1{fUl0IdXrl3A-aM){hr+0qC7e`K3}_C- zoeyygGoTDOV0hB;R5|v=smCwl7Zl6CpSgf=l{C>F?X`-Vz~? z{3D`p1?l6W$$JOAfeW~4fs>0ul3eq!ko}|@*Jm=HspZCIwtBi;2(?ODVJD-0Q8-s6 zFUB1d=`8=5HW<9K^gxry1z{+6Q&}C@S6Q87JXNA}rOPj!r5QOv|4(d?)$=U#Y|CJa z63x0#iW0I}TvmrIeF+Tj6%32WsdK~MKccs&;QZXv(PVD;uzUKD&RfF;7M(fsdXj() zZk{gJ!bzPMO^gjx8Cx9ZAu5)JElDKF84%0^Bet=GoB#x(5uHd3t>n?Qt`u(F(54Tx zPKboMfdsFgZQ?6i2&Lx|^e_AheDOGgpO}}kD(d5)-qM=95qH=5MB`g%c7&Renvkf> z20_7`h$s&aQl1u`I15hjN{#A#%@51}p48#1#NOh`+puY6skx!1WRIy!n6*Q0BAkR} z2~MbFA|(C1C_m>{ye7mqNh(AshzC@iB8G^Jo8-NR6vkduJdqlVD$zchN-U+pd|(n>y;$! zMdvX&S|vvlia@55Dt&>zBShnX34nf@(u!ynLAd^Rp~{@z9L+p*eBMH8QE3Zg!q z3mjz!i<^wUQq{ut4?XssbfUNK+U)l2+x+gO7wAwE4@)OKJPUXcXHMj=|6Z4=^XdDy zF3-if>1KyeZS0X&pTP~Ac(M3+3B(Cx(Z$z+PM6EMvB%;-IwpN~0(>CWn^O9IY*4o5 z%4H{&c7;lH00{N?X}laB$M>qmZxpBDwW>b(9T}}eHSYSs6-09Sq>ThvP zVHVvW0k55>mfVrT7Y?p=+cko`b0(s*VN*>+DdP!ZXK}@BrG4MNfEW=gZlcZLgYMf$ zuKoM&Y@QFiUmg|S1@(E~{e7{6`~LCk)79tj{h$CA<$TYklEG)+Hym2Y$v^&|(D)^q z#5GQR^*NuJF?6i|e{g#2YIx77o}Vd9b6Gwh0r`n3&?B0VSdelV2#-D(#_oa_ z!1EZ7nFNr&^mZKf2R2DAb7*1=v58yaVU}QjuPB=Pk54??@~hDjXLeEWkQa(K=bou&p$JmqeuD| zbBcVn&*9}E2W-KYLRe>KY26g}w|+x(u;p+l7c3c1L^@vR&%;nPLGF z1Y9i)C+Buh4jM=w$GdpS(CqvE@UR+o$61xZ$XY;IQ`zsLNISwW;^-fVm&VZQ8xZkG z9Q}R_SD^cir!(j@W&Gq~uw7<71?-Lsk9;QC3#c8dd~_pJyHpDw;%!WXb2<&f|I79EP8h~bYT1knLU z2|!9pU5=cpnR{SKK43HjP+nIb2#_l+G-oyc{Ixg7Jf=&~`QD25VS74=c=j08A{UZ^ zSp5)C=d8MvV95SXSGn|~fY(t?@3cB;#E(Ja7s6g}4=)lttpxSV2O6a2w}$BvUqbKV zEo#*KrL7}_laC0Qi;Ak56LkagnpbKi%u?x5rgO$Su*awkirh2;jik(a{8t zX)wIIOIAqyRwH^JBqstSN>{AUU?2Ow$*UO}x&24DvP@me7JVLh-m+xZpw%K|zq0Qp z0_7JAc^v5CX)h;A;GFre+{j7Edki+7iLy};u3|&%<|{wk5`F1=+fj2|RwIZT>JM+` zK<8#DyXDNd7BYUEW2j4KLv_#>KYQCXj@E5#M{1Lc#Z@HCqu)&SM8x=ij+AI9KAa;R z`q(v?8$~J6&h7KGVjXAhpE0;Ml^I_u!AdCbyg-+(kb|qfx^{NO`0Bsu;SxYn``=2z z5cb;_4);meaY`Y_r*uu8TU6Pr8|swb%=9-K*G7@hmE~LX!Q^GsD~}QgGGgY}NF^b# zxvGL%W=259BESCOY-OWkmXF*>bas%WgpoBLlPXCgcL?`8oUPS!t^#%O%ayp&kk}W` z?giPx7L1sFB@&u6!D;u}{f^%hIx0Rku_#iJA!S)MhKv=qNx8wIaN$L>76qvb%n0;g zX0B$xaJjg&MS;z1@Nw8B9&E@CN8=nQC3WyNN5VgQw1TxQbj2hmcJ^0a=f~EC0Tfdv zrYwpSIMgvxIHJmw~%Dm{tvqOCoqw#a>vJfudj>ylv<1Fg#c9DH0SEjY*8W7)5 zFxS96H>kR36)o0gnK z0wo3D^whO*15U@x@G@QDbMcS@baENl#-G+Z9C_W7dAIf}pXMC3xqMSf<3w=xIDDcu z&70ce>9_I4!5`yQPG4m5#@9|U>lXH#eP>`5lyr)}@QkZjF~cwyF1>oG>-pLi7XI|W zsevVCMY|*9>gVEM7r99!WoJj3h*8krrY+3=<2v4z?`<<{ZSp!kgTfCxFK>4hYn~2i z>s1_AzH#dBqrZ;zAz#E9AfL+jWlz0rdL!@7TKDZ!JJzzg%H>~1)9Uz_>Hmf;mbd#9 z{1g7AtodYb_kwq2%_C6n`b%+gaDKZjWm)|Epkeh+P)CM#X5q=9LUOjX?S z>=y$Qgn*8?J4yGK4+;lY@?`2?^47byx%hw>)KP5Us*oXuxijJwZkpvdl?n1R4^&}a z?dE1HGx&mA&?WNnbnnt#IV=H#FN-&edGC4xszZ|&iLYv}do(2!CF(&Ej!KqF#CZLz z?20UYr9+B%B$1s`i8q*6)?dR7Sq+%#bOY;+huom2=-YHQB_E%yFQLh63tRc+FQ2qt zC09RM`9H$$h8LMnNcsP9E1Daa^C5_=fmmk%^;O&dy3l@lDefiBdZ47Q&bTL=Y^> zslzXN6l%9oguLkA1#nh6NHlV-0Qq&ro1d9x+mLWLPnP znvxmxmbC%F>Nq_;9VXHh($n>pQ&hOYnC!>sBw?NUnPh5@Sy)TTR!mIiZY|$c!+KAp zcKq0A3QOt%qOdUyc&f!W`H;R7BI%z_%cCi@)yNWTxe4d6I8VPxf$o zV`;;oK?>o z=&Mv_2W77*Jl{WF_RnB~YkH5P1{1VD6`Z8}e)Zu?EP&G~hq@3|Kge8U$AH=`O2Tsk z5Ye)_Uk zpTBf1bl_+p6oQ9&F3Sq=jdoyMUieeb^mM=iUE^AdeoF!lB!)4_t zX?|9YErw`mIev}1&^zTzYI_AG9 z7Y=F?C-pR|H`R0=GElRQ30)8xbuY+sur;^O9Qt$J9`t_Wp+i{pMj85$yd~^u%S+}p zBg3Iyz0PoBrH~+|E6Y~&6m_An{ea1>h0-hr+wSolDX3HovG|u?P7&Rwg;OEKOPnHB zF2_fV%m>g@s@6+zS|w-{x8RV?E;W`|N3wW8$!g-jlM z1wR31cm~IGl8)%Z(PKUlSI1E}Q57GfL}j$c{lp8QA1LgbAg}brO7XgQZRL! z8M?~4w6C^(Q!+e&M=<&U{l{R_VN#^l(^YB?PLw?)|FH5u9{(9Jo1&OUiO5FSGIK}@ zA?)8!pAnJD+BR)6d`kN89aqF#`pY0FMQ4700TxU8nb~j8Qu9-7t(m5`;>2d-q}QWSuP-cy3a!m?@`}(3V)U6lRq(I>UX|8^K5K)weu{9$EB+)jDg1b z?s)sCv%g9ZkO9*ommU@DsK64@;zZyVQ!R z|5mc8eymGqRBcQle)FR-U_=o%^JtlN?lh;g zjD|#;L9C=yIQmuKCo9@LFe&k8da)WGM*3QrmwLWKzG40yKLwR?w_bvam6}HXl?#3T zR_k?ZI9;|ZI59SGt~H`D458g%J_|ooCLE6QrD#0dyeF z(zy)vOVGN?TP>@~tYupHgakaI*miP|bF@9@{xCN~;KED{9+A}I(>M}S{G+BWMqZZ~ ze7!;R=o1SzgUU0s8P?@1od0-fUZrHHOO8^TuAZAYj}Ns{Ty=pBL7NFlTL??c(Q?%L z?z`%29ka3VD0aSU-hAkE^L4JHyzkqY>-5V&gwl2|balDs35BTWR%3UmO=EJn2UT{L zp4?p9W7>lATSeNwzHilU(EB+oHf@QE{{%w|IfCkxW~YBPl(~Ir)ZS3&9&|h2xUv7` z;k*CUCcL*<_O*ZY{H#?EAIL7O?U6>>3Q_#JUbQ>42DFm_=m@883+Qx~1P`7j!d8vE2UV65g{|p!0raC$V= zPLn709T%`WS}fBQw3-4bipy;T77j>@V>gFPs;LRAM4p*T=6_%?b@k%~?P%drQ^!kF#lnUih53G+0yPI)gPu=G6=%V=atD3CSuiy=Few zaKazzFN-iphWsu#9fOnm)L0A98RikIfPY8~8y64+cgyAgDjR`2WAFsRcpcS+*!b#^ zdJqi4<9O&i>NM65c5Y^B?`Q2f~`fjiDxxLXTc zw?($K%qUxmtb0i#YVM?s%IB5y3c_}K99DYqnX=boH~p+tlXH}|h1)82FkqDK|D8f2 z$I>}TU z3hqQFN6vxA5+Pu5uF|buj|en_x^~7^{EnyDNAgc?Hk8exqpN*prcMpE27!o9i?eO* z#r<^Xy3dN#^G$0@Wn(GYEU2{c>`||)YhBVtJ7OS!%qOJ6_A0};SZBM(H+;?K>D{@f zVpm@)1OMYrZR3`Itb{#pjMl}U(#!?>^CCLUPG6gjwV(dkjS27AuLR#4k^rj?-VewE z@*H3}rUV4A-BmI!$$NF!PnDI2`0A^*xpW}{U=a`Q1C`DZ&M^Wa6&i=;ddHeBUg;+v zgKe8ix@!G-E)Iq_sey&&f1KWgz|=)>cCZUA|h=xCRXSM1IZ}k#ihSKhG1(FRarEAAI8|vyRVMQY`hAZ6M)XR8l&b zHO?hVt4>HEt#LKYH~0lbPMs|@4Ce8J5+cnay$=nLji2YFlGwGKjJf1QIOWPAg-CgT zg_(5MZM6pyf>!8)3pmUPOzKU2v7L zflCu%CvPa_^?+Lf<4y5eM#V3~+1OZ-75P3^Gl%Lbw_ODyJQ|o{d0qc9!uqaHb5u-9 zMh>>oQCoBDmZ5;w`UoFSknhV8 zMFu#_$BIAMSUpg0oogWSDH+gPI-*C%P7w}xsO`fZX>eU)zTqcdxsxIbej*QTYnpGz|bDx?T(%D+%@Rj*XZ<^1q_+ zlMopaHyoGYCP8$8lzBoLVYf(1Dtgayz8Tr0ujhxjR=dk;oA{_UQoPJhOIe2LrfXq% zL_tZ{*Sl7d4GuR<1#5(7Jkgxe%sZ=-(lP3tnFTa0Xkd{fpNFS76M?F+9)t`?Ch~d; z-Z*Wcrt73Pq0yzOf4*g<_g;h3e0=qzRiL#~w3%(vJfte|4oCB>Z_!8@EPpD!VUWncp922Q_O}oeLV)8xGU(Zr zsyvxkza0@1EQ|*PFI7Z_CxJwi3B9iPOp|V`_fJ~KHAFF$m{d-kXQk`j=Y=!^cyXO{>y`$t2$+YT&>r1a3kGwokFVZ* z?o$emH3i#ag_YHXS&Ne1V)+~|c$A_2z-GhuJxBba_V&TVR@SX==SJPBFzMc#$9JI$ zEopW->6kfE+S+$sY}9!A(Nwk8o;269Sqyl7PJRA{QB?fFU%bSM4Pr$0TGu@dkHEk1 zmKVY}*Gx}SKoulsh_QNU5OFfya~k!dGI!2C!2`rWNQ$;#Z_{mwz)XjZ{oESLs&$3R zAoSOAW84Z|9cbp?PIL35ECfI0?{Ko>ZFkAubbK+L{aGOr-59CKgz2REPv&sKg z6utr6%kM*y_b|50`;a6$dD3z5Kf7$&s^4i$_YctGP5t}`V~|K&59oWGLY+OBB_34ROdew5PW((A!=HgDh5Ds9aeN<`t1bQWhsKJmr6Yv<>(as&lO=lthXjsEP4a#3Zo zZ?nw7;O(2YatvH!wn3XsWC!@!*NN^#Z(Q@fwCahhtSwa75XrdeX(z8Mnzt_)-PB1c z*$mP>RzBhXN1^M&{*%bmh1^T$KkNep*yp{mCim`K&#;%Ilni%)Pb8@Wk48IS(=*iv zhQ$bW9%EwCF?{!StjAQ~BD_tdpQ{2WjSp1lNW(kHWJVFHnO{1kPTul4vv>+A46ac( zNHY-st2Sv4H6bjRJmJBR=&k|xLMj>Q+qm&Pz_p6-hzMT`@Ec6`#l`9Vf&0`!4DyFy zV86Y07TKKI!BKVfdV_2IxZIXUQoUJjL4H23oiKP)UA^fe4o!ON9AtcrCc{bwPG9Mk z$Y-^S zJV9ZrN3oRjs7~sOmFS6$#m^Gh=4BY&D?1}13*M$HjTDm}UDK|RRIKRL%1}5nK4J8} z<6?@b)!03+mmWi$&Ex%mn>HN7&qpMOK zg|U;n2m7y!tA9j&4n4R8RNqIs>m9|OoXkLQSs}OnN#{)(n&WQGpruTlGod&~^9HAs zHl9nHGHWbh>;XHh!MR*%~?&QA7~2fAzo(SghUkAkLq4i_Q42e*vF zo!dB*8K-hRZ!5W9)NM+Lu{mVq#>h*tvSXHK+u|dP65^v1TzP-T7}Mp0D0#i=+uM+s z?;7r=Z{S@<=U3Evj41r0mLOM)ra6NLU#s?M7h4?Y5r@B*r6_&DLMGB(JsTGR6a-jZ zAc@GlEF}>Q_FkID2FT#XP&?{i09s^tu}LsVr84|-o9jlC9#lduUJd-M$*5uqs*|H$ z>lv5{gyJz1A% zN0BD1Af-x3S)C2SLJi9b?ohKM=Te2`&S%xoRtfa=ZLSdhI*-ZqdnEJJ9`oDA`;u_g z)uql0%9u4X(u~}meC)|hJHf;x(!f)t$7x4SD=;GU&1Ibjn=L~(YnX|eho9DZked8g z6wafy-^YzK7omLrMIcoJ1Rp!-lK-cip8KNe}d^*=to3~@un_`fxfNyq?!V8aAh9@VI1 z>J$=M^>{+vVR}z;K7;__>yrR);rN&}j|GKb;A6wN{X+xY1Px;pN!hEmZC>l2_I)-7 z^A5YM=>4wE?Q#EzbxQRqKit}YZTEXhmx#3iJ}+VYC+HFjo)(LE{^1iek7lV$txd7* z2p#iDRfeieArI5WzX8m}v!t+J#nDyH4CZt(KXMq-I&$ZnnES_VLpr5|Wov8efb#+HszvQ z^i`CYleOziR8wBCq<_WP2eQ^jv<}bYR7*d9^DXxQZrt;)P&lZ2 zZa0{Yzxwf=Zz%D2v*((Hg19pKE8&RrqdD0~v~jaoO?F6kP0IO%HsiJ1#`l`L+t z?qKk1cCOG8L2xDk**q|pb4yI0)7Od9vspv{h3Y4oqDG`OL0XT2LYwdBv|b<;vCT|9 z_Vb{9Z3p-5^kM-yoUH<4O;!F9n$Jop78WuT)Ihad!aAI-9dlmTgYs`8$?4-2Gp)NG z?d68KY@dl(U-MomJz6FIK+yAbiba@aG`sb$bsnoPB&30;$vFxp z#<)1fOoG7l6iBdYj3aW%(UF2h?UIqgt3`9M#VhYwf8#wp{*Q(I8pKtk%YjN0$YKo4 z4gH&d9B1qPc~xjge8>WOk}?4m_ADRW}a;=95V{|U|L zILM+q5c$eAynk@J?V7JAx`2f5AN*U<{9SG5vyBO3<{oM%=&8knC*rB=>|*==DXo6J z4+b}d%!BZS?DKJ7HeThXdFh*zF`8X<)w5XKT1>tSf37D_RW7&sDPu;b7`gjdF-N$%_k!E4(a!dmHXuMeMpjPs4n#Dw>##e3wEE(1K}-Kk(V2K zXb}JeKu-u5ExG==!wSe<00GCwRmL4v)Cs|CyfA9VQM`k`V<3>21Om3cG*AUsVMs{u zUwBXiF%?gxYj2$^wQ&TY!yF&*{y`r?#SZSiDm0pzcKY1o0OZP}GF?OC{j&*#$zz*B znLp73D@?mb#{x{T=ITs%u=MWP6Wwwgn%^&Wc1D09P5vMFwgFYkV62M_+`{DpU6*R2+strfA>B>Gogb*yi=C|<3O&@L&BKze6p=}FV*135R4_?H3m+C% zdcGwkW-hS8=Vs?i*_7|^4Ft604D5jn#ZTgB$V5EJpm-F3G-g6TmhoD0k-Z1?GdB12 zuU<5_uSF9+J#HF6F~;<^;y>i?p?A~~r+yu`?*6bbOj<%xDwBd5)%G)#~l z*P@iZ)AkZH1e`4@J6)oVV<{|< zC4Q(&yj;1uGgUnVvrVHj?I6h2RHiaoTv&vUQSWd~B7*|tuyaQXD#)Lu>4Jc{xH&l3 z#3>%#0v>k8<8tgUK5V5Y#7w`y>Wa+7e=d^x&tQ+kD^$|5-YM1xRp|3(_R+HjGF!VR z-Q}9K{q}b{%ISu`AoAx1kNvizHv`fH9$9gATgMBTkZUhbFO#uLA%ZQm{V$M7aKp?q z9yVp#5<7BOds^rYjZPhE;!6`edBdjbyF~?q-qV*k<>Atjw{rhuJ zv*b%Qc+Y<5q+7j4Q+Pi)K->(dLL7bWNZ}^-Fd%Lcc;`MG3m7ANC@CpL1CX-k<@9t! z507qoj3jo!nRiMn5df%VXA+d(|Hs5O{tpX=_r6Lr$)>}9g&Na>{sD%T00#(z3?oSq z=L>lwq<(wz;i7_8YO0_h(T>ucrDd{-I=w1Hl)1bxURTjCy}2`!tBV&%qkDg{(k;zT z4NW2XPG|AoG8(>PO-mn!^o&bib&eh4QVnrRE#-U>UmtK83z#d0uA7-9q`fUeE8H}d zs-`__(bo}I1yyj2&))7TnW4T58d$Xmz0vhH4;y>Sq3B5m&u`YUnohU5?i`tG8=%#T z>JuLxji=KzNVgdLS&^J2yp&50ta-(A4@Zpo~?8ALAovX8qIZvF*HdKCV4 zIjKk@n96%ex~Z$NN|afcl&4OpzX5dJ!}5;B>rl<2SKF6W?I@Jmv@%<+;T5)do8}6k z3l9f=$#y$N63AlooT1<)^m1fVZz&{}CQr5O|mtv|V=)s}N42x40i{-=|e1 ztv7U34=HfiU^ruG790FVPe(e8xEQUZ$c+9&HlG~5usXjxEyT|Huz&8BlAdAo9~K># zlB&+iWBwH7=J>`+ou#o4i9aRYm%#M!0{uF!OxnoeNOXV5Tvq03^7<#*n`g{I4@ULb z%2UX4c!tfW@W)Y|6LGiEBrd8;#$X`<(qaInT|F490qa>Qe%e?7H})z4&s=F(Nw1?P zH^;XmkZ<@kA*0OOyj6L>WIJM+0hElmqlswujNFsgFj`dlgOfkibTO>S{yV+uL97el&E2+l{DjsPD3l7vAB z%(#`S0)!A!(o!PKWO#AdmHT4^tFDL+B^6C{bWvvlVKjyv{?m_vI!1CFYQ5(F7tZXJ zBVJY)T01962Pf7i9=9j?DOjb{&jeW6WCJ8G85V1*=eI;M#}#nA^=xZa>LuVHTsrUX zudv*ams7NP;02CX@rP&E6)}j;qz1$D=JMj9yjA=;-c0DzhS9cN(3){AF9C`56I-1m zHZYE3;xwc2o#fvf$u3y_zjLC8N20(%=^Y_Go-Byoc9RF3Lu!(~>G#yfU8*3?{~Coo zLT$&mQQ;8Xi@gh^n@_@|V?6~S#a;$TaKv%qrG)$^vd6g^cw&ro%r zSxN*<@_>t7;!ui2R3fWm3d+FGAYthS;?rQo#{q6JranSRV}zS#exK{qfG zb^*>m)dWta|0@Lv%+^O*yO{mMk~7W)86tse?)&+~W}c{zfR1c#1&eIEc5^L~ z|5c(VbRGK`Ii@(g%~W$S)H=)KM^XJ5J3?wqag};++`wd>=9#zX(UfOfg#q;$&?S1J zEUsOC2f()M@jUm}@rry718qE7s`BEK4UGe8cfDAvn`4+#N5|@7*LU8At*h)g?F-miY1#WkvUHAvl|Mojwl`)fpn2&f-vxib z=UV*}IkUpKDQq$izP$_d&;{$?dDN@~khY?ZWv3bk2@#78m5;Od(EL`@1eF&MQ&}3m z`-jQNfZDQmOQ^GICn;xfUl1)5YDJh-8KA)-Nd;V_)qtLGDe#gK1sCKdUL8t?xhH{H z`m7c@^sU*FWgeK^$Y`rz`aZd01)2OCHoeQkK8hnAyEj@kyIzY$+5t&+suZUdHtWbj zDh3Cs7KLJ1MKB#_sd8Zp*S?G3+tOTat(1>g?hcA6Sy9%piKIdk><9L4n_6v`VdLnbmi z?09@E%nCH7bdrd6mZ$aNRFl~CcZErY0w7orz+wfXLcuyo*zL%h1(!X3Keyd$Ht_bT zUEbP}=Eo4M1V!7#+tARw_~%TDm-8q;8D7&Yr7pOTBxjQ+fW}*0MaquVwGrA(L2ClwrOnO_7468kz;!$?lfHYh8U z1R*OziUu|wiJ$gb^iBFcrl$(#nh=MOdZ+NB_AJ8Zi`BOk)%=uo$<$C>eHkzO7p=uo zs?rYE@{PCxrGHJM;VDo1;^&ICl5;ZzGZ{=_ABHtTTL8r{uAax|kewwL&EEv`ldjsb=fF3#hC{Moq*T}FC{&1t+>}2#V zxUCba@ZomDOiR9sEe(H~0A6SsD@Rw0_{+NcdWNNl}IL{l;H zD>T`yBMLHT9yLrGgs+QsXN-8;M)-#0Njk?T7#0Y1@f(Rtp8YnKIhb0$O2AeW{8tpt zlD@mgj&^&?I^ku)VfVjFcEl7w0|~it>Ji70`$j=V>cniF%%nbTj8F?*Pa-$;^5D2E zJ%u40e-z+^hkf)=8R%M!r=@|em8Js}Yvo=nXQ5)LCk4n(BxABWMA95{w!%5LNy%^5 zj3e`u&dXMtxu2nT5{Z3&)kT$Q^6gK%>wH&{#8s;rhg#KRs#lZXZd=a|-&qgm^Jet@ z-NVs3cI*?6S9=y%_Lr)DuW_RBga+tUBMyk@)WW$-ww|1Cr;1I$;%Y;mi_EVIwz-&w zOCiE7^do`I|Bs!vkh+;E-NgPAHqPLdh67W^Xs38$v7hn)c!2iaVc)gzOe<}=MWLFt-$6@g z?_1lK1rFYa=ZE$EJEw6(4Pv(U))L)GM3xk_Co?-6Y@i#GoT%H@|0^?TF>PXp?Q=Zvj0dB6-R| z*_GZw!=@T~%*HQ{`zj);$N$l7o<&U1RSSmah*#*$Sq`(RDGZmCTIQAF5r-iTSlA`* zBQ8{;{r++&Zv4cU%tHJwxD*7S>bH+V1%IQj&>D$aOJn4=KRr<)-^P}S&|GNYdv_Fp zjso86Ea^@>wuY9&)l7sHdVg8>rUh!&=9~#a%;9-A{;Rj7OVma|A+x-miZyG-#SS&> zrSoqjnkgyenKf&ErHjiyC=JC=?V74}Lu`g6z8Pq>Iu1+4_2_mJxq~vxr2O%^SpF3{ zkbbh8LSzS=ZwvMqn5yKfl2~9rjoo+$WmRd;o*=9`bCF#tTK^Qj?A0^ zC%RAPSg;nhyT|)jC^WC7jjD9hXdLJJTV`%wb4?3#C54x?{cYj3kV}emCd~t>qAnI2 zwJa(h!;kqyz|6_)WPx|1&cMS2U^U{Vh|^1pdnFe9JBgK>TTXya3%i-vCF4T4sx6of z{-p6!SW(nfl(3$W%bcT80i@GYVt>4ZE5md;w9-+TLw)+Qs`;w)yd#gsm=ibtD+)K! zaQ!${+9xjiw_v#x^l3T=>c2f>mfp^Y6a6GVmy)x+a=7bFM<4GuY+{5HMJYc$PY36H zoF0l-__yT5uN+m3hNvOsAujXdhFAfJ0E=!KV7Le7I>yCWKhDFiU?Vpy$cx`1rM>sq zgonzRVn690Yj*_ivZE)BKLy*XNhQL)NR*?Eb5x>0{PoGWby?cWg~(7pzriUceunl) zrGeUYz#4~yIW4xzuI7*R-KGB;=Bjwe(n+xnnhUixyqnWm(QT4E`f4LcZf-mBL7|8{ z(&L5{$D8{(r^I@$8Cf3N@~6=36)jQN%x`1=;x41e&9no5%If?VJ8C}L@&Zw7OmhX! z{~YrF2=8m-k+X;lIc=a4-EneOI88pC%=KP-B5B=f%2g%`5Az(s1H=)ggPcjE1yrUN zOnDRL4ey=OK*D2c4n}|mwYVBw%s85WffGL_GkzE;36^{XcSB`(q6QeGhBDV{gA zH=E%RX;y2NI{&lwM|sH(A!;Td4o&_o@M4}+AWKZBo-KijVdgWopgoe}TpkCFZB(d3 zt$LPbXboVc5#`B!Nd+;pcqSk##l~r*8#naN|d?kFz4@e7Y zzp1?`hhS~Q(^pLrg*j*(4JZfB_@MT41iUe)0GjkU|%(Xcgk*c)WHQBo`TOA&8zc*onbx zUS>Puu*Y{zrz4MCFfcynMK-bF#S{MH)nu_0*@>z7AT%4=J6q;|9G&$;lmFYrM>lMv zN4O0(8b(S>jP7n6-AI?9#ONN~-61Wd(%mT_N=t|Wih=s^;rsjx_Ydd3uIqiyc_C>H zd$D~oaa>2ERY=494m}VPxH~6)&GB0LmZRWeQp8j@(Q#@mFeouuAs9x}tdJ%|VnF;R zyu7ojrY5u&Sn)0yy^g@7&eBlrFeHZIa-z7TvqV=Wp*`IKDn$l~PHXJEMFt zz*Ya)Sr6FwO3UR%PtaX=YlQKQ{Y-~Nw9&$Y{m9>-ih_nmW{*&%JmDL2!pzd7)L$9+ zQgTexk^d8g&yl2<7)8E9`)f*+xv)QFm{l4PNJsYVtaDf8Z7mBd2pyG;y7e6lSP^ez zXyt7}MbXaX=&qT5?wUTApx4Z*e!|G28uo*yUpXd(VX8F47L=N2Hb{SE{1ewgkQR9&cfZ@1gCSgtYv@@KevOpZLhMz4`dvJjj;ip>q zBki!ABlKu3lPS*0kWyLK*v`05877|+wL`%5+C=;ll? zq9d(4u=DwKBs)BstuC~e!SBpbNJ>UU)|O;nRk@guuf`wKxeZUB8_N1IJxZl077rFD z_Y+F7JJ(p(M@N%R$OUR&;bgcVoH8_Uo%-(HZb^?`}aA zAL#bQ8!F-6doQh~@5VM}t82Z>OjxuUmMaLwJwHobHHSTy!;&83s6M(n|#fAJl z`Zi>UV$OIF^3G2`yv>B@T~mTGjy`kb-^eIRhK^bV|3`n%lh<@a*%Kx5<%b*2F8D2b6Jm~#$=$Z9MW>hGI9Vd2hNF;<(8i}N(5JGkOvr~x( z>vQ8pCj(;C(5dCt>Ra^sxss%FoBk`2(=ikOsaT-^0SBxC#(FJk%u$Q`m88MUi?bcWeys7J+;G8!X=Xj znSK=@^B26eUXX?i4pr5RhwI!NCi$W(a9*WQB(lF{H_=dS2en-7M<3dXW$mflkQ_~!7s zO#heJi~otjzeq{5|8eMbMS)i#;{MvUtU7-|&23wh%!+&KgTi}#U-i~+>oWf}SRQP% zm%YlY@jY_K6>#M|VW-_(!nd~ryz}kSPmctuX((P$-Y6)j!DHzhNv+=jx)3S}v0$vb&`u}F0E63?IUI8nwe*r`p8SSwfnNp8019t$tDf3}3&?SnuX&1kwn{2A z*qau}+w!8=h#fLckq@GNmSfA!Y8l`a~Kv!t7Xa30+PHBkl^EWV9{qDvns}4xL%zmRu}8 z?Gzvqf5zutCU&)c$b5YPXZvsUq+9e2ZYNwee6=qTM@WEZ6>W=2)}}%NmGVLDwFEdu zng>i71;qd+Adf!x0JP%1XwnK|v7^!K$pN-jNRUAJ#FWO?4~|(?^^exp+~m`D2Q!=| z6HZ5Li9Xel19XXtu;N9pMh^D&rUP?j2tW;zlIVc^@V<^;*B2Z22REtSCWwlx5=ygc zhz@1JiNI{a4k(|Hsh_?m$?*OW)Lw65Qa+a?w>ddJlNg!_H!H}yl&t;!^#$UChwx9Y z6`LjAKfzd7A_uAO|!$%P=j%;1QjaJhv-kJ!#uK{xiFGB00sb{(kISj_8wMfPY^w**b|=I^#v>KL+p1 zc^fw^^Q%-sDqqge8UHZ>HEQ|R8Y}d9AP(xoZahQ9Pwjsh=gnr7&YLRPs|Yvov_u+z zituc0@BA-3f4M?^KSlS|9go!JT)EP;#dG1#K=(R9*$-^nlDcJqehV}0)U*pE>KHM5XlxeFEqYodAi-~wMCyE3CJH{RBK2oZnb(eY0{gxB|z89@L zWijnW{Qvq8>-z8>Iejk*q-`OR_csN0`FodhyJXDKP{scqAHYva4!kYXSY$vt>*J1s zQc-*@2x~KJ<4QuBR$aoe*m^kc&JD3Kfyk(Xcp?QfC6gIs5XqYFlj$@BCq|LOfglPP z%n~r_FpO_lF{;^$21-Js6ZWdycw>BBBw&i<(Ul#L5VzSU?g>L#;@_XcI7e^#hY2)Y zTA5f9*;5c!^94+#F?(Za0Va-1XVGC2Z{tkAVX0!=b4^%*9GsuB`smE65uwgnYjj?; zPG=762Qb0x*&h8*#t8My;7g2p)DL_~upX^Qcwugr`p+tm`&YjA3aPag>_tnxzqR_k znAU`ymOMM0kF|8QR0x-#XoQz49ejH>Mg!UZaKQR_!&iodY+-LYF&MiZlY#4K2Lj=d4wKueRf>uIZ(HXZuGQg}xwq|J| z-e^oJCq(!xC51#K|7RQ2PHT=1Gp+)>@}V=w@B`Q=Ed%LUDS=UGfbx!K!p?(T^zE6N zRoN-a+rhSCyYagt3ix)!v_$f}j-dywLGMZ*f)cw4D3=a)t#U?rT^GffvUyzH*0Rt0 zip(p=GTN>xa^gj<#dP6)()M19fzJx~!kmx{1F}HG3lYx72V$;y%Zc zBVps*#@cPR%mCDKkD=556&mv`;=8baj%4I0;+JvuzeNw{>8o1d@87!VcuT`LdHp_q z&iog&7A5EY=5ghClNX=3!RADBbxlCiR@~3Hn-7maJ|bIG3(1r?IH*Ddzs-OF0FDaA z)w4DW0ZVMHc0yw#Y!3}Sy?&A8maNv(G_|-$-*a3l z*FGOXUrWUGz0<7WqJOOS?&KkxsNeTWE~B>ZvI}?9Q31L`H%?2x=YFqSPKf9K_F6xE zDE#!_;QvJ7DpH+4T9NOGGwN*1PM%4uMCz#ZR_sx z>3yU#%o(PjJoI_31vOV^n_N{^zD-JYyZ?@p9Zw$$^g7xo@ioKh1kbxJ)=Rj&R(5db zC-1SpeuU8`37G`QyX;<8H0iG^&#Hf&vVxpk{H!hQ_QTckD~B2;3w16?Jl2WuwOY+J zGD~Y{iV(RyUobVww*TrJp!L(nOL$hd4jho;r z02quZNtwnTq+Yh&8Bo!k0(nU};Ib&#$l*hblCwZPCmoaIw?8t80<*Fd06A^XUQIhv zm$q8_AERjl=|ln+C$|TYCoIMV`MI;BnHq{C=3Rf@^|o-gjq)OvM0{xf_szQh9zUYTbt`~U5fN*LfAi6 zelw>(%Qr7K6hAmt0;j{f)}`UKy5XVPlaV ziMY!paT3uU1OnuhDq=>binE%nI^p5i;jz$t)Pr} zL~(&9@P6=cKHhL$$rFG$o7lQKO*TEEE1n218QY$owK$w(Z>}wHXv)YmnKCE@$DeN# zisurucW$zF`T3iQQxWkEYFHVDjr$zYwQmSXt$d0I$&#H86PB_Y4YW|*U2DvH`@-YZ zQ=wY+Vzd9hDG<6;M~`TQ+WV7UnWOx*b!~a6C($2~i1R@l(%D{N$Qg7mrEW>&B)nBu zP?f}{P%J(rfI^@`>#=g=63Um}Il%CnBt`dJ9!Kk}q*{gpqCP)n{Ix2&nFP5$e#qg} z#3D5$oulXc>F7i%m`nY(zUCE`8cu~((jS%(r&AFJ6P3?6MqfLei^Bumx*bTGn_~jn zb*)TKkK_==%HEWHs{MpSytBic8wNCw#Qi1SxVu+YxB7X3yKjShX&EZ=3)PMuJ5SWj7Q{rcvbu0E8#Pt+1iSflReEZF)lfify%rg zpXO2}Zj{7T>_?W6lgRqFtXO&?WGHD}YKJ9WZ|=*iD$^!iYA+hNUV9Z}#U^4zHP&ld^Bg#drGc^`o zZ|>k>JLzYBD|p#n(zfF@&OHvM>ot+%BBQD!k0GpysQ?6-BY2`#W?kGUvrrY?Q%?6k zAHEjTQv}eOK`_q5#%{}V*Ci*Jx-C2t^3cJlT13Z2Kx3dG%YZe^IzHcIe(e`_y=l=t zrNub!bo{e(2sXNdPQ114?47J_%dX75;p^r2=N zw=X|zwVEEB&_0&Wd+ASBjz0TlvL-%fQfQX<^wU3qv7L;e`beiI$PnicuR01kpQbo- zW9kaR3MSVf-+cGI;{;;Jyx?>qv+G7Cr_MnfH6ANB^Yf*Oul&o-JDah*PP~>YPMR~F z`x{kE%8lg~{LH`DVJQz~1asFjDG5e>-(~?0Jkh*h1BOkpd>=lTIP?7+K`~3qUIHRB zj=4V*dh$^r}gc3c`>76HREr@9b!LdqHi}(#=?$4Nere#>__v$Wk9-D_D!4 zP^4vFLna`(-2Tiuuy0g_TrgNS{#Qm32K_xRB~8!4f{u$&v+lvbk3}uNPK4$KPgty6 z4z%+!a{ea@Un14!??aLy4n~CfA;R~Q!UG5enZSN>@|R&dryds9*4COLPV>%6c^g`n zww^;2M;z^r;?+IKV?ZJ!kLER{0v;bJ9x0_b(|Ci9fa~~_!m={{-fA?AmW-L0lu3j6 zlXDxdILdW0rSgEN&iHq6jT4!5bJV#fwRCa^!^Ro~IHCyuC}0X)Z=rnj_W{<~bN4{T zVGk}%eHE)fbz;m@mCl!-jChjsDW^ zW9Yy`5swy_Ma|8;y0_iC|zY{h1M7`Mq8@sf6%Kpx#7 z^~sZ+*45EGVO;oTJ8Q<+OZqTo&6D25dWI;@HwR(g*g9}(JAU!bOpA4kgHi75dKyfM zC;9Vk&9z*J8x3>E;Zjc@gC2c~X}_<>M5eASeM_qi?QMmYW#437X9J^}a?p4Tle>gs z%uN)LLXp(){~$;_(b)|eF{uTTC_+!@QfIU<2N{_UIVx&6%13D$5H&@ZG_*c*BQ*VN zl?ZnAbc={XJ*L=s;Y7h9%JXit?Q>bm0=YATnFbe~^k*I9jG>VLBiXVp_DzJyNMrO%1npX)2=%MElOtsQwyRy3FsY+1?b{%_6L_!kFbr7$ymR4-8?@49CS)q1^ zfE)*B%LT2gs|KBDD9_RZQ(aPHkq+=_25UDX7d<^RWht{qY};^SzK`R=IU3Q!2F{kP z%-}UZnEro5BUT;%{`Dc`e&t;aqE5Yu%K48tF+3dV~1z_C~LK6WBBNkmK*Kx@uX zDRMZ4X-?)rEp(x?GSMu4KL z@)y)_p~9jUW6`18r&<)$8)fXZ{i8X_yPmhQ&oW*!71oLddR0lf(O%m7Pi8!uW#ln@ zMPsJ_?U&|xW#Ow3?vXr-2OG+LRq^u2?(w`p@At!lvq-I6jI_5x_4@@9$)BCx)Xzfq zS5XJDFX1ul{+x*zC#YeD>`jIMgOYP-NfZC;j8=Pu<}T?^W_Wpgt@hd;&f75Zvtju- z0Efqoy5yhK`YIHaVoQXQ^hu}&@>0a7=%Oh}B4gD=6LHw6DC5B+^?)1#4WId8y^4hh zL{deq|9|f~ocV2OJTgf@*rZ9+h*O}pz`6V93ORYW9rqsmqD$OBWc2ronML>AmjrMA;$sdh!JqAzKcG)K=BA!*D z^@Hrj*$t~7z9uF1B5nyK0 zSb1)lI;rh$`qc4tXygks)oU!JgXi0eG5y*@9)5P}8?;~l@j8F62lK)v4bT?YUXx%c zLt1Kj=@E-Vjyf@;v4hvH>jOHQJGU2Q1M6mK&EZcad2oiPqw2?V91Tall@+0L{rHE{ zFL)H}4BMxFeW|mP7X5yxz4H?@r5*yU)!S4I9OGWp<2)~n2s9{`zk6K$M0j2zVO^U_ zeqX~+^)Q#-V50SUjQrIP#uxgp#w0+R&t}}dj_3S%q%}X3L~N<=SgFcQT-xZN>e5N< z0dSUZbR|~h<#tBbsv9$Mi(LWnLYR?_CwF+dL^CL11MUQG&0{{j>u;yk03Hzu*wg3;3-xs2ScUn7G@rHaS!WTZI@ld&76e z6z($274MO(kAv=$5AD)1--q{xd$>@CRzZE5AFsn7&sU93 zT6-7z{C?@q>AN*WlSXsL6c>rbPB2q;WFHU$mM3(9IEHKd#V%^xR zOKVfR;TsE7a??@GEDTa4o`AYkz*XUualEW_V)&&|sg$nc;?aPS3bz@zV^sjLRWzpZ zuUNd4nAYdH48U(GT3#8OYB=k5we9?&HH=o_M`bh{>w1j-f5(+l#t~cx;L*I%W7PwT ze_)36?>Xhc2fY7H^!Ae+uEZ>rBzksM_=-1rQTTGfxM( ztZt1^5h`*Z)8+&@{j@11LHNn9$A=TLBX`Z2#U{`8dZM3k}%^wXLnMdmGz1bbr2grfOAL)xE zSe251ZLi+$~>RQ{T$#kVF!;qoo2)?&m(jzCA!s=bN2tI$y7HoyNn zZ$S;|w#fgshs#K{lNiO$FwJW`p!xlar0(NZlK;h_W(VF>B3{-pduL2+Y5ZR1Qy#BdRLx*sa@#XL_jp$GXOjbED+}~GbJOl;;_S_Vp>vY_t)^=$cK14} z>p&IchsTLK0o9}{x<`jbryrB*n-T6+jw5t?sk5iP3zqizLpwTM5y-cCFVUi36g7EM z<#c7wj>`vUe2vIbAeJV09ElY;nBt?JBc)pNC} z0fesctbzBbr9^UZopw@`H}a2dm;JKFj7q{1v18Hp3Xq2J9ks5I-DXB`benyz56)-YJ84pTIifW%xvjkO2VwgtxX+;4g zR8LjAyfWH&H3KW#pA5x7i!)IAQ@-F*1NGDLFt1n5EejEJF+cd+GU=x_*n%tcg(isS zw!(ATWe^`6f4xp0XSLVBn&uM)7glF+18xs% z)Y_fXQYFma1AH*>tzRTV)d}xLQrn$sgp;O{ zT^cToB@1O5k}WS%L&BU(({#DVU_59Gpgj^v zq|?2E42!j7AW|fDq+|NVZhiXz_0t#&mn0M>b!6pHR;I((CKM#bZvGVGOmQ4CyTo^< zq@kb&z(im_+m7zp3$cKq3}DLmQ5K?f2BxYBC=CCP5CF-L4(Q2-8Bw7A0%NFy)1p%;T!rOIj#EicF}D@@d+ zV##Iy3NYTmVZb7EO!NG|0Eaa1yT zgs^m{p5GYxX8mQY{Q`4dADzrLiuuN;Q}i<6qBiI~DN){%gvmzIRedy7r8M6d)G=6x zi?~1sk($~6g7nxle;C5ro?s{mhLQWA5RP z(0M~WRzg|(jNwlJlhlG3Vc<;f!%@8Qx%^cqd5Ys6w`+=mqEaLt32USV>D$a0YJpg8 zzG}|=b$n*RJI+(Y!cQNSi3H^eJZ9EhKt4kGWg;|=qK|c@?d6m@99#!(BD62BYIWdd z4gAy6u*QlgZhGtgtj9n+Uf>M>t4-S{0e^4yaLA{x#Ul{DxFy?OP}6XzSnt>Fux7fi#cX~v-6%+Hzw zIyWRPscOiSK}W1^pCgI9SIw6|U;Bq20vXrf$z9A9?61}n7PR~H^J+m`x+p=5L~{`*9+5tX7a9RcNJ?{`a)giqHk3swQ=aa5TstYH%nOaQtC1?k zlREJ-(K|QX6nNCn2r*28R$$oxuHuf;`oXt3gW46 zJ0mEE+r_!Hr7F=Yd!owx*^Q2HZj548WaR-=k?cd8LdR#0U8pZIyX1Ha05TL>;p101 zEu1ZA-P@uujcMZMTZ@Jm< z)l38?6M9sBq{<#M6=hA1;d@Jy9}hm)R;b*Px0JU)s7|J$Hyq+$1|abzCWWy zv+7!}&%Pq)$VZBkw3zwEyi^mA%I)MaF;y0&(BEhq;>sP_2*Q}zBr2@LR5WAs6ExOc z^K!Bn%I~2M2Wa^?F0BCcq4q=g(Ipwb+gUS z(JJs_;9JwDwAwj&TD67q)K)HU@xYoMhI0J#X|6n1OPL#1@dRL7($S)ZlC{a=U_z2c z<*BjhH4E9qZ)%jIQaYX`ou4>1l=xrimNBRN{ZHb{;NPOmis)?bT|pVH+?HYD=kA;U z06qFJ=GdF+<11d7bNKx#B76!|wY*}#3oIJ~9O9JZgIgNqLXct3EiZL7>*Ulz z`FhWH8&vhJ77%N33BP`qJU=g~g>S^0496UwzkKj2Xd=S(ajT9L){^8X41H(N}OnA(@mf1-yI?wo^Op!}|x|rS~KzgjtehVW^$t~cYMZDE=l2_rjD68UtfUz11~FQzo)2KmH>j($`o z7xxsN?zHo6NScC9#D1;UY}8N{#4hi~@W5tK%okhzu`$tULsIG3Aevx&n)F4|v=i9Q zq&pTT;Hqu!rGd6eAjBjQ{+@1+o8{;!Hs7>?WG_23$>}6J*JesYw(kV%=)Qa`NFNEH zG$(k)8M2gymmCJ9VofEBAqT8<*#e-^ApFUtPbI1C<-|MH3S#%D4HD7&Gs4U|$l1`O zc*`PnTCV)pok{f%Zoj~VN3ATNBm8RXgrrZNzh04)mw%_yLAOJ&Mw)r9GgvX#5KA5b z*L|EoH}>ddkzC4Ezx@VVKF3=9FLzbTga#v`G^@0JDXTH8XP+xOFU1Ne`#`?HvWSRb zHnX$L#yAd%`}H@eeQ!f6qHHNXHDxBXdWE0H_;)4QL4&$rPwIg5zrPp!l}Wt;w6z6h zeidYj*U5to?*9`7??^8CC}m}BiH^fd(hIjwX)HFsX;RzX&bms#FLNQ+g7cjWvXPk( zMF1WPzg;|50_KX@c**5D9I0>rgQ4C$r8%FaUHcZv@AlJ0CtQ~ONq;rRSPhw%F{I82 zwD#VPiOd&4{_PWZQU;4X>U~JoSSWl@`ar39mx^c8{-D@AgWs4(q;2 zlx&;Mfy)_=XxUaIRopz|qx8FJJZw|Px%-5N!@vyjSTn6k(lwbL=N;k+9)!W}&lUuoo2Yhpun-=oQ5;{w5-*5kW5%$5bFIH^YB?n~0|1(eqL_<@&W~%WH%~>a7*`lij;4gLn(Nf#E2YTd zN#{E-`r(YIEpIYo#sV+%yuGu6idy=)q-Q1;?NsR~CXjg3)xCfLnOhsEJog2xR z)EerZBZxFI?3(6i{kgDom3`DtL-F5C8#FITGrq1@l_J!HBNoR^g{ZWgRZL`asl9R# zpaEOyD*x5^OdWu%z4#f!V%vCA7_jRPyA@D)Wl4n>=PWbibrMroX%85>$$!b);F+T^ zi&?~ztfDM9&_}k_7s5lk>q1-G>(YorOj}&S#^@FYFlYA6g!(VWN(3_jnFFz%D}C1b zk6P5l62y5El*AAQYd9VL9Gyh2SOr-w+G5wS!Z2teV${Bgs%196*y?@cK*nKRYX7++ z?}&;1qDIR)Low}rPiFtTV8Gx>ldjEOL;p4%xwx!HXRWL2IX4lHPNf&`&74#_Q-~w2 zQ0B_>_B4cH7?sut+hWUZ{XbAj*82qFJ{56N`-)#r7iFGn-;%!oYfC%~rII45)x!No zyk(*r(i#C3lFN0!ED=wBmIcDxi_LNsicqDsFYMv8*Y*q-3UU{nC#~ zUThEnZMHH2KK-f2HyrmT+1Lj$z?*&Ens2#k(PPw+y71sA5=f+~ON)ADmD!+8?zbk7e*{)j_IYz*KB(AqDJeF=< zS0BW=;)1gGLo;e?Q(8j)_@H#T3Ro0a;6!M0a) z_^n|~F7ObisA_LunXg1BMaNd!-f4g28x$;^&iB=YM`kw3L)ph1M6i8}G-9mJX-t{H zYDyjIW1-PSnOR~Y#Ee*V&c;i7#m{|#jN~P?0LifmRJL&iPFu_fa zr_|$RgF{Y%Q>;&}Y5msQ^#z8KcGE2Z-OUx)c>%=avylC;8M}@q32U$7x{Ui+3nYpy z3cM7M_h;7Imt1|GJn*wT?;SgU|Ob1yDf~Jj9$H>+nV=zE)ABVLCv9oP!jD1FP|4_h39ArfqrwDMwQL=8cdqyH@AfL!`Vk1%gGw zwsZ8{d1%1(n;XU?r$2S2KJYe{?f<$M*PP8BSr67J9*yxyQBHP>Be4WuJKC)Wspyx@ z8Z9(&M){mKRkFiOMGI$Q`8I4DP=f$xp|YNU?wc_t1@~Y(U7ZFcjYk&c)eck$yajP4 z^19B1LXW*A|LO9BAGJq%NQKPG@i3mV4y+#_Mpt1F%BstnnL&dG6J@CfhvtjmdPaG1 zq1-7gXAG*3nWd3f?ePJxYzG_r%Z~!ho+l3Fi5ctyT}O^DH4{762!k6_{MLq)lzQ%e z6PNtf{5rJ^HCov8*rdH#?-*FDKG0UjP5Gz)EgR4q&zB0lX ze27hFa)Ch3TAp5aXi+@67|E4*HdulR@|0$J0By($Kw26%GP0}GCPNbX?yaPvX%SbS zlc-8bOW)TYu34FD;bNo1kWa>f(t6is3t!4-)yQBh%2TX>jtma-b{z^G#zZD*GQ6{m za6<%_eyErit#SWE^fBW@VTQF=s~`IRJ-d)7fIO*A;mo-&2v$8nM{)rr3!Fs+MIdlW z^mwdt($kmtn`DG|_&M(g`}fxY&W*g&42SZ5a1#N=FRbLhM9+SL?FmB4n2W*6+flzM z^{C$pL-1*PEyH~b0R+RHAM2c98qe!B+JfVw_eJ14nknp};7U1GQzU)q{^1{=IsAiC ztTzQU|CM4`c2tHNMBTH>dsWZ8vEIsQNwjA;h9C7C^_>P)GoG8i?)o}WzKn=4R|McCZXwKd5O%qUD*Q=WR^o4syWI>^RTx24OgrI+7HUxX`l|9**H zC12#yXm5@GpD26)Alssq9r(p=&aXnAdL{NkMQ8{pU!@WP6e|o~w*N$%`~>m?0A6bk z;W;qqDqRR2%F8-0@BwLp#*a+T#G%K9gyjY4cs~M%A8L^{99i@-Fwcw6ASBBl&~X#7 zi{Oppp)h8M-a&mswxla;b%OHOj+ymp<@Jwh>C(#wfS>7U6rZwkib#j@msD8ao6i#K z84~MG1`>55lrZ0RzG?DH$yQ)qYjP-?!NTirR2v)Ia~vT;g7Vwld{A?LJonLptR?H8 zg`DUgsO_rmChF?88^Ai*wf1T4Fi&V_{X&}g#9E(byZv!}ALX>a`pnc^iPS3=*qDmJ z1aaMG@l&n0HMW{D>~wE5)7w5-Ui+L5jIRqZ$iDmZ3NK`Gl5Uc3vrKepmtHFTVsi2_L?OSPUXLS_C^Oqc{BCsU{6aMmJ&3r4c4r zU{1B~rKAhVb^&wl=vQRULd2B@Tm<8V1&kR-r|I0K8f?Ytt%}x;CQ)=e)fQuk!FH^t z*3x8LQN#N&7iJ}lYDyL{_~b+9HJ!j3#j}_r_j17q17NSc-+2UjczF7=Aj0&FJ)p(( zp_OXG;my9^FXy!#0~Yyfz}Z<)vYsKNfQ)z3RxXO=>VhRm>L-i&_}i|~i#Hh?>^&`S zJ^rOyJ`QXAuQhBF?o<{Q|8M9P+^&*RVgaJmJr3s||Swo_npb>8cBc)sAQ&;e5vNRa-DYhYV+8_l8SS4Jx zBG(4tOHIO30ld4#uD&9g>Gh z$Os9N7uv|&&SZbOWnC(^uIqGdIL^U*Rib6l-flQ_bj0V8LPwhrb?E4%BjLCWm?MoP zv*x1Db75(5)E~hYapQn;+2xBZ;Ui#!v{xCJ&ETtRB{3w5iXu|G^T2%~M zx$;zN`9Zb^V=;{}qhLrGD^aH4EUq4GiU3=gULTiYh6&4aM%OA682KYdAfUI_nZ8UJ zsXV{@ldoU)fdUzM*;s8cXkESdw)*@}y=G3r!=|&^48qBa%$DZr6-M7g9S3Iz5Buzg zM_p!jYgk&n7BNmnTYq`6PV(DLqfba{rh}KYy9fcxsPO)#D9bTXPt~`ZwT<`GMj)% z*4Y-{NE6Dtsu~^}j^!%mnJU-tVy8^1T#L>1>-7`r&P{axPJPjo_jOvmO=QseZccuW znRXM8jvRs69pWGPVrhk3)EE`%1WC5?8}yCM<>J<5g#Fc`>x)gztzD=es`MjqH0$UxFfwRl!_t+q(jEg-o%1*ocCG4$;ko;shLti!6%ki9jN z&HA#EGap=KrB0-+lvhlWuc2a!xL=tcKFCy`Gep5A6b7P4fv4{Zr7L6Qz1YF0d>BiKKpl7jPSICJWrBiqr+-(qPfmV ziAN1jy~mm!vKd!i!>Of@O;zF&3uH07OF2Bo-J9Xp%+p(|s*)iq2b-PzZ5L~jP97X( z9PK-Znrj0!99z>O+j^(NSS=|k;N8@L*T?D?UQ!Mgma{R7#oKj3kGQ&)cdk^ANG4yn zt&&V$kTvW}X!`w#TXqLh-=HQH<}xBNl)Ml+JQw%v?gp*7g0}9*Bo*LZWoVl|u5#q? zzDI6;MAK?zCRtcChgl>eOi1h3;SrKqjFN$uhKzfW-!tLbT#VVGXqAuU<7&Y( z)y4|;J^l0cvyJ=n55^^eH$-MzUbx*R1YI~U+a>$7YoJ%ohn?d6#wbVn+~ zAI+l+!li)g6RgR;U3cd}133RI!tf1zVl!gNfUH$h?W{!lUEMRe!uC*_4X#OW_?zsU zXK$a)U0w65?E2V`8gz-ka1V1oG9U-0?m{tK%*;#83lA=6Djf58t z9OJa$nF_;!{#D-8Cw=1WO~B2kab-q5(gTw-Iqso2%8)O`j>?|?yOaU@4C?OAy)7AA zrIl;`Fp3{t{xd3LFD(XpBAi-8?%k%Qf`N>H;DypRO6ji$4n0Q zTZ)8BZJufdYAMG|)EHVssV-foMoC|0w(`Zu7>;V;kG{OxelI)`ORu|S;z7%A0yhmt zPDbNPFUfR2N2GS}#pzxQPjo0L#2S*tob+vMZkPOJPMRbLg=R>DRbJOm5w5(p67wX{V71PJb~!J)Vn z7#xBV+})+P)8g({v_*@y1GLc6cBYs4*L}G6Jmx%}tiAU4eOqb*kr_0wFDgCn{ialP zeB*z0N^a9xDMdU8c?5@b@bR#SW%9)s-)!tAMyiAL)#-GeHsxaTFE}LW5leVV?{gId zzp}=y?12bGD}?uPaGXh%0=2v?T9jPIY&$V>gcG*u;AyOOFLz~I~q2s0c6?jlcF;@ETZoreOUw}EirFJ1cD$_ zcU?@s!{+Lv|6Q&BXXUT`u8_?ftS$1WIIK6zb-X+|VQM;0r%M0*y|%CU-mJW8hIoCr zV(_)*;dETZW}KevKB~UAQB>vgjwF>*OgKP-00^@9PhvYE)b2#<>lG*%#+sj3RiYuh zYLgKA^3T&Vb#RsbtDabCnb?&z;$q*GM}V)=i21)a_u}XdNrS{Mj8^em48hf7i&x^+ zXr&k5_`((5yKAXe=`$qRiGbnsq2&^fi5U73^5a)bSm(=nDs;V(9XxbD)s9KyNXig0 zP!eGxIVwDq>`UxRy0wT-HC_@Dr`C2GY ziFVU~ZLle+f~QhPk}~*k$a6FJ6%WjIe@xr)dFSYuMjG)|%~gVX3V26hzOhTK_Xc7| zbE?j`5EJU%Q=s23m!|Qer}S1yu2uN2VIi@P9672c%-D094)_B4*m6|vZ0JmOCZ^eJ zV#%A8VY1U6trF`14*%usk+f=P1@!BFIFw9zCjZAe(W_3Ey?pehLjpd~!4Y?wa0iQC z3GPgEs_^F0F8ssU_1*opq_M#K*?-^W&ky^(f4{Y~w10eUPgwLK^S_@);D9nDBBR{V zA_zFZ;s&ZAWpT!ZUAhfj1P!qz$lxAwT{oZXHaqTU)<0#Fxy@l=VnW1KXBa`w4B-KZ zkx%1YZHkS!PKphDxwb^?B37nW;5fLbPt8jCIZE22Q@qFQ8=xrl^-UXUR(KxOD(c$C+h*bl z@ETxvBjz}H?WuZm&mTxcxz@T+j~5?O@RoEzjS9auf zo|l`JW3M-5e~UH;me|XaycK-C-+$`h=?vB@Bo5dE1|9Y{0x*Li6nf)0Adm_#R^9)PmBPqfGoHQavW40 zDNUyqi(|u+Q@`635ZdVm53z@dC>TFbwnT$MPM7V$_gN)^QRl%_ToUxrr=J(%q;A&V zDu~g!3$3yETM%3fY}ItV#FIGp@&46F(8G%`|Jw7GCH~;?Nx*s`@~T!~$>ZCJnbsfV z`01O@zWZQP{ayHx(wl3-sDt?0vcB&D#t`(2&g^Ote%J5C?}~-^)j2KWDqjs={W87x zY>z+Pwp_UwSZW^V)bBeLENoU2ESgMpd@s>_MP!|V_=n`&?OjNmW3|PA4@;WKuaE!z z_i|q{AMaZ>HVypz)1i48kHB%(nMAt+3DlkdTjsZJg-gt`9ro3CKd>wJ`Hgugw%RFal1X@`<)22jc-W?Bb!xZCldK+@U(qRj zwm9Ug2Xsx@&4Sn0f9#`tdp*oA^LO)19;hIskeH3Z>|Q8L0vg>mmv1)ooljp4MP2N? zhr`gQH(wC2Kj(i$^=rwv{AgcIUQkV>nf|$62_c2g)P2RBLT&sI{VTF1{DAxUIrAR6Lkw zS;K{v=Jjk}^1M;&H>s*Hk70kq4?p!uohx&aR9`Ldvpm{Bd~46a@O)UDxtSBRw`xxQ zVp87h2HH8>9c$;a+!&Dg8R-l?>~c+%jHK?ZdSGViw+GmH@Mt*=QxNWZ+xo0F`(%1FcwXe zG#k~H4wjD3van-zzPYg|yplW(3EQ5AbAmQ|`PFBXOFWr!|F3t2ldwYW|; zDkmPD8TC@3@stUhlh=Sj@wu`?PKXO`Q3F;ihdokxU7cV0yHU7g1z6ZPZ8sCP)eNR6 zGH5FQQKgt2jM$>UA@!iXlbw^z;#pgbMSD`>vp{aH29MRag0;OZ>731pm~e2Cc~PMIgxc7-IRg`fPxM%uO1tLJNKH~_|oJqUh7oFRiD9eTuX9Eu-< z&+{Y`;Fa7fo0Kx8)@si}h|o z8+Mr*yDKKo&SALwB??Z3pE9>i_qNi+mP?7lX3OD7mN(wzv3ek*=VKyB$ zD3u@!*e=Un2_t!(Jp0%iLxPJN8$l$zVtl0YE*;yaK>SKNRS_yA?fqdPt0VAK!~7G? zCd1rcgmL*#O);4TH196AU$bzp{7mZUhJud;{$mQ_*aZLj!#jeIcmI5mv34VqV+ngC zCwVTVanN_-T_hJAP$cP#E93TA^ZoBstRP`u+6~dj+N5ANU}r!e4|4CpPuG-qf>W|V zg?s0k9;+Tx4Rv_R6jv21Hyk^P0Ff zJ8$@Ay5{gP+Uxc6e!bdx%rQ>>9@ghsq0d=&_>5y(klH(WitrV3p=Z!U=%`EUbHYBF zB>QK#|Bmo7ODik>?O!~W0#!Q<)sg?$D%n&i*nBLiC(4iw!zin`^=VaF~^Td15SfZ=c3Fo-ZG`TB} zFw0wj*lDu8xlfAH6#H2S2@u|c7{{z7Z;<;&Pkju33k*p74I%X zSg?3MXlo~5`{&!y?!(g_5@YVbmw#$iSnWZ{&sX&}Y9=N zWDWZI{Hvlh)IM3F>G7yX%xKsn`f_F{6YuqTi!(M&vztI0?1JjQ2hfscg&#F3EKa{N z8k&2qPS?7i8CJJven#&7N}Sl_=ui$epNv`{x3%(T8uilBCYbu=%l?+4c6-)+$LY>! z;A3<1_rJo1Hk!sHKPL}QM*9lHdj~w$mzrV0k^z8(ZJu@mN8Km!qz%&;K+;ZA_&^a` z(ME|4Qr%*pT&Zj~EMnWdKPpJ^caYhbG$LF5xJ`_dKM(iU*6gw8RX#_Uop`2LI!V6% zJF>03Q~sgjSb0p3;aYst;`_8o)Jokw)k`TECR2fy=KnxJDuUZHbo>~}I{NqLgm0*{ z8uJ!Ba^k^_r1_VX-nlhx_D(rVOTG8JSe$llU>YR~?_wo!q6}2SQ_^biAJnN0W%2p4yl&ryC2#n~_p#dx! z^X79U&5-Ndt-SHWi+YL-*So+RSP_Q|3a`cMuEs<7{azwu9x^TSh-G!_wV@dO#+8Sd zG77&-mI`q)(*zMoBNaE#K+ZB(zNw_zrMgC2r=%bqNVlAYr=v0bW(CuKkw%r*?2n7lHV8CD!mNNO@Qq5gKkBocBel(4iT7`44p068X@{qAQxq+F zJa{qN6aG8+-;Pg@g-N04-%D$=segZ*6T6rYklBJrF|c9rZ>_sCJtovo-P)iAv8&Jaa{%%KJ6k;@%+>D&Zm9@t4W zX$Ihh&*@;qE@^~2f&yGeD5odq$Lrl~QsCWb%2@KoXKPlpagZaXBzMG@OKq7j-GV$*kD4mivG)M?g4}`0PA&Xt zZtC9tc@w!t%x3CM^tJy-!C6>DFAd{8n>J*Z9cwxkME<98HpP}qb(*k8N~|6>!{%J# z&dpcx$ON9cINgUTRlNvDmiyRfuscttzB2j+V=AfBo-+7tIfSnt!#b-Dy^; z0a&q1bWrZibZVKnAQu$~Y$5}UQ53OB@Wlc-wz5wt^`q*Tu=~NJiO!ok%Ibx#_tgQ% z^Y4&YAETUER6m&e57wYtaw7TNyz6-Cl$p?Q>EW{24&8!TnoO*yJ)>nV1wc*piBr4_ zMNzMMYMfGrjgUQcTP|sN%Z_P$ zie-qL!NYfnIT@Q-@0znGQQsCds_jC=NM%>gJVTfgSC^#lTgI$RioUVD*s!B)ee(jj z+r^VRKr!A$woIDCDl1!%GUB+AHbY87Rix?fx~LtpjV=ubrWGh!hb?yOj58GX;fsGag@D5T0Kab0-WpKdH%ZUS9SE$6; zVyCP7BKWlDY6fyhvg$dA{dcyk;?4*&%>2wWIm`=oeS$n)@$9tjF1@RS1!@ebk+4GV zg+4*Yg6&d-D`Vts)#5Y9dU}XloH{+SNtYM^0ivF4MCi!2YP|9IBP5*re9Ows=z^<# z-=-fw!QK#`37L?MHs~@0QmH!?fcrc;+Kg;3d1u5+B3e{X-HvDvQj2@)6MH6&CD);P zS_O|Pz4z3~)l4Z;xeQ_P86(RQDC^&6L5P~qlf4=E(txJyLiu0{rs|6* z>Bn30gsUhjWgTovVTh-VJR0mZ0;q5k4F}-i<3!C^QrHpJG zp?`c$la$-s(ST?{*QGxXbm|aYzhmw7N#%pZA4{m}jhOOAo@k)^<;foAdS#@e-S~2x&~Nj~(^87%gmr&b+%!hsZlkA-XzEa#?+Q2mY~}l(x`) z12MX8;i{&NZAqI{*^}581(Vu8L_^;#Ts50*=l^T9^^IPO zX?A1H6RErvw(Nz`zF*rkqUMJB;WX7Aii>_RE+^PwyUHGwh>UWyj z2w5z`6rW9r@s8_nywJ91EfEdly0~23PL+I|b))HcP-Zo?_f_=XBiGTB-co1~o=DBh zgu!v$LriUCFa|M-I~1l)T3-xMZ}5QcfZl*OL~B%&;7_t1g8Lxc<6DzYv298d-Xu(% z>96!5ly~X;FWzds7pLd) zRRDa{Q>of5eNVKbI1P}(L9sV7orcKf42ziJo2da#tsih;yCFVyQg~RkE5@Q}Z8zBc}#m=U*I&R!F4|si>}on*q0? zHJ2*f06hReBpo2gLDR+*A3I#mh|UbwX%(T4#y5cn1F5+-qcK-+^gbs>n4XLwVrM6I zqd;(nCX6R@a2efR+qvz}JpWP)7N^tz0^J7xorl)bCIURz%#p|*&g1Z>*qd_y<9`+(E4v1!>+i8*BobHE82~=0-l*HB|DZOETo1rJ>8519$_v4Y% zVGfN+|Iqr~yz!^7*9EXfN@_NtG`NiXQHv)hI@M(?nN_CIrc75Ryp{SyO1vvc=6iy0UMk2F>D4 z`m~xcv9o4(JYo^@JkEJU64rGesu*6UmnjXeCYW>}_k&J64<(LPY)u ze98u-ioJg;JNU4ttZ(4&7E*06YenD^B(j#6%c((g+%x!WMQzLDGl87LWwC6D=9DGn z!(KW6{F{0euGF0qK7CkM7ki2XL4KRRfpcd{nL*yP9T&Tmn<%4y-HAFyZX%2&(`Z6` zr`TiTwy*9^dVChnG)L*tap6w&k7REQxq54%lU4NP9VzmB3^1JU$No3b;k$qo6rOfV$fVRmI zOdy}TaJ@U*$TrjWGt+4@;Pr3sybXJp6_s*nY2M6flO0gRu>-TjtNyCFi}I`w5k%BOTJ z(B8hVnN=;viQS3PJa^CwHgRV`j`>p(X_O?d3Ruq8Q)e`}yAWk2=1T@jTH+Ryk8NNZ z0DvO4YLL81ZYshEGn6VCsQ#5AVT6i8(N-&A5+907!lDNxe!I30!eIxag`t~|xuo_{ zbm`7S`1Ry*<`l6K^1Loxae@)(p3j{~L>S-BYplJbS&?ii?s?kci}jZuIgn8PSaCK= zO4}|TW6r;n^vP0Aemnn7N5%Q0N94JQ-vYl$NK++TL61_SfRfZ=okJcb#mB9)j^X-b z#G4$GU<{8Bk@Our@->{;4duqGNEu?P*5&2yI`5uP9;un^qVl1NSgx9ZLJhjIb>cF* ze{d+b`22*O=+^Te^S2M6(!*m*BHF!W)stJ;SK|}?iR?s-(;zMe1f*cmz^dU#-Uz+x z2mm0c#wb6>(_2234@iSNYz83cAW7dwqsfU`z?F82I`YFB4^14Z%JPwlb-gw>Wqv`T+` zRd1C!P}F@jxGvnMI6@s(5}e&q%sfck`8FaV%+B`5wE-VgMt!HE;Dj@c@DtwqMzVpV zT{XnF)@&ZFqKU5iE{(D`@TorX-R!6(BQD(@;M>{c7uTFEbD8)0 zy_TQb`|74hWM#z@iG#nYPB{+pWY$Wo7>(Jp+c|FVo!CE9VP7}>4;21HN%KABE@^9t z{!B*%xx_uNu@DfD916^R9I?&lsqx;zeKLQ53>bQC-KW%h?IZCcZ0rLREgdeels5E_lPgAtLs=lhjLjy0=H0g8vx8889I zIU2dd!Scr#^&;MtEfDKda-Dd2RE}7Kl5py-2=@k|p-hM@aw zAxd68V(%DH$=Oqe@%PGN<9g`?^tJ#o8k>K$lIN zRLy8Ym13#h_o86HQcG{Kaf2a@M5ua(E{yW-PBuh7md}98*JY>qxz2;%*yujJ3xwRO z*HS#QVoy3h*P*wMqhv~3kdlBm^x965b~p9J`)B=t=@{Nom+tH4#m^IzxaV3bRsCsH zi|_?HRcr&4f5#C*bOn6T&5G+qR?yWt2y*4o6h(5^tK&_q3@YI|n+WbQukrIRx8u6z zs0FcQnJc@i<8j<()1mg2h(n43C@u3OUan|-K~03Idr09Q#JZ%Hs1yuTSiEAoFU3J* zI+`t2+w!vf2Ixo`XgcFiF#($%l|`_V`^N+U@)jd$!ea{2isN%9B!D<|&-CWts-f0< z;<6!9Cc5#P+YG`N^JDNCIo) zqbqHa{30NUWJSQ(NqIgW5R_vG((4RJ)eumgnc(ai2qxq`x5picO$#pru&4r@rXiO0 z6F7u|fCD65R)Hbph+I)$7th!g=X{McdG-FD5 zx4))g-;UDvb)lJaPJM|&Ng(%kssSY;hTJnZy-f44qIc?yNqY6!wX(`7XoGl;0~s1v z!`iP-Q59~Q6%B_rWgWS*GV0EV{3@q}me=^^@)6sS!m+^_%u()@nZSw!KHqgEjbtDW zPEir3{IgX4iMr6km<-H|RWlJ>lva-g@TSV0{$N8Upij6%pK*Cy*rnH6DB4danRH$^@T7$Fu z4L#G9^0xQ@?;D*Bo^R1xcO5haltj~-DV$1})u&~^9VMARZ4H#)>T!j~W##$n=-CtT ze-s;4<;up}n-rwve55g$DSiCB@)zlBLS}J~s|}2HqwGrAz_siW7qwsgKF!bg1^kul zFZ$3ytsH_fW~vHi*=`a7f+qE03hhIDIt6*9aO!$<8TkQjDAl@^Pa@|Wp&!DS!njV- zTj3pZgO#pQkg1qFzKX(9VNFg3Z3`d*NHQlH0Us|jyEu4b4tmw3V$P`9FdNWW7BFZ| zPzZg_Y3aM1Eq3<|w<+ACLtD~JmyvJAN z3Jg@rqsqB_pv(nI0~*x%K5iX{1tqwu`23cEy4l-OP-XT| z>bio|w=mgCg3%jAq8W-{H4>t!unpL||D;An#zFzAIl(Mg%Mn0cmT!;xti;U7E$F`( zsrTfJzIJy$v3!m-iSNl9$#p;UOyh8LTs+xOR2)u}Anu3eX)k9#pQ&0K^OQO1X9BSp zQ3^R)iK?F`gC_$_89_0E3Yh!O6t)1V~7R~;${c303@OD zox~ATS1lDT1|xIV^%jsrrCcqW`Xd0(uljgybA*L`N5 z2+hHoj>FieIJ@Ba-i#Z`Umi$Af^DV75K%c0WNxUy);Y}ZpP=zav{Xg(lge33_)*vd zfw~B{UL<_7K8Ph#DcBt5w##HU=!~j^k<-kiifj|AB8rM?KI;=ztxp~n5XUu(4c8{}`yl^d`tq!JPTWv^Jt zqQ*ee$U~jih;}Q7PA&0JHaosYjllgTdqEiwHH(MlA_nJr_$VsRnoZN8C@vG?C!&v0 z#(9SZ3^D!Vb($cqK)gtNQxfC9sI&%}y`J0zpDn$0)=AosP&iLdCl;FkHobb;EpJ&dm0sv-mz5>!4>+vm z>2a2*>V??B0G!U;)&kJMtBt(DX@<0R#DI;Pi(;#Y30}IOW7QSq?Q>}&uPg^41x6KO z+%aEp2cfWnnx2GNCNEsLw3DLZw?)hZGF%!$fT3wHt{vO%&O_E}LAm_wM(<9}R7C`J z)D7*Ueod@95s?2Jj$t*72^8dzsw|OdGSIT!Xro%*fXB>I|45-YrZhTQJBE>Fwk~)1 z7_S@)$=Wrw-X`}WdC=^4Ew?K?m0an$?N-7z-%cmyl9NqCTeUl1b#}guW==_G_3uZL zSXLLt;cJ$1*`8(Ocl*MV^>Dl4&o0*9nn=f5$|(4Y`c3@oy{+MJNOkZDZ@*ww-%j$7 zf4sPIv$g#HilNvVp45vkMamZuv9VEw#kChWU_(GcT|A-dCJVqyJTLj>Of8$BK=ryZ z^#q-ddN{XU?5%AE(aW6=%tDS%k=RUlpmKk5@M9Zs=jEo$JziKr06{ySlkT_{Y`c8= zP00FqofhMX3(%xc$8#o*pi$sYGKb7#Vy%&qjLPdIRypS7TsCHli=)-qqC5Tjw3&C` zx|rX~Z|^V=_u<)U(Smo`5IrS&&;n*2Uz@a!AO914JN*qDTM{=u59-U z^7Vln!Fe89jhW^36U+L@C z0oQU89F4=j`n2iPtwu(M3iBTk3XTc$Gg`#)bu<^??NBg^hkh=zdXulTkmq5LUS_I1 ztqq#Zw9Nuh0f8i45(!lD5H4;w9|xO>te1yrR>trQnGzn?3J1Y*{_3tface|tSr|io zt9H_}s=@a*BcI~7pKTj7EC_}bP8KM7{Wm?_M$^_sD=7UZau!Btpe|Cauu1TUhthCH zMj(**c31^pluPD<{O`gCjPx@DOG-2qAHvrJ>itc}ZcH8rp2J&dsy8cbi{Xe!ulpv> z9$JjGXrVUTLYY5xB^nW3Sm!*V1ee509Q+%EE$GO7Rdt0N{BhE4pkyK=7e>#PGq_$6 zVl}Gg|BBO1qao@1GCDL`G2KD@#jko6F2x|9e{_2v_YQaRUs~O5kx_M|v(gU`dg7nY zhrAB3Guh_TZD}|z4dBYn^FMtJJ)x3VlrbSIAA04y&PDO+NUb1R%KhR>r!p?r=1Tk3 z>t~O*@H2kv7GCsmN1aW?#V_7eYGLYI2qr;Sy-ru&K<+)6eMkdEc^RA1+?t9kkT+PuO?5Bd_?>(n~=lCb-}NtAPOCvbYd44IVPiH|+Gk4ch8QB-a;rmfet zW$<5$nnZB3SG~P3e9G@tG_h5g<8k-Ax3#d#sv50ifU!C!H;yG>IoA8<=XQ!e^irpd@GAh*+9j56e?kk0H6PRiT(7U4(& z@qX%CCA^ixj#oWx?Li|haue~SGK?)flae0a%?7m_!;Yi3Ps#b@0n*vUxAYX;7a{X{ zAxPgg&YtKomGvK#K zYrjPYJZc7|8~)D5*0^fpdY(9N(3;sLP0FxiyIvf8r!BbuVY(--$sXctjl;b>?6SL7+t{Fa+k&G!YO404%1jA{AXPC04AG z)ST;|Jb{a{%duHVaVmZGdp;a57yj}B7*QMU7-_@UI6dfJ2gQ+o;-PwpobFZINhb>L z5?aF(?Yu0`CCn&8QywL5E=`OQ4yDieF^-en;l%KDh_qm)5$t}va!t?XCy<@1xY(eL z?x%)ZwSs2w(ME#6&zyx_Nv&N+H7e5Mj_G5i&{KVpLdB4okgS;5DK+Zc0(x=%4l=Ql z7fpjIFD#p6kK8&8s}%^nv#5s4J&i~>+EYXyK$IA6S^;rC1^OzT-*FTub}qyWr4l{C zQu|;^yoUY!438#FAXK+P;P4XU&u17BFtFiBA>h9 zLGkIwB@zB^FHz=86J6faF6E_`y_N9R9urTgnS*I3N~Y6r0ntmMoH|)4SLI|7Hh6tI zE)1Q49S(KJ9##WJIZQqyBriM6NE*@F#umY%#|73Q(-_Wywm4s&J9gT z5HqUVkn71)1V-xZCO04xigGeakUBAWZO>CEXTm5`{Xpf%Px0^K+;%8?>}pePP6%9s z!`2|rj)R^sb0I0A;iwW03c>@`tRn0B$!BIs*$i?>QG`6QKxG?b8>o&v4tpLT=H*XE z?wn+P@nK^Wtb}jY4Es5=Y?G%vP--)?nxT$;-~0FIgEw=);@W2WqNAK<^%=fUubxFe zKY7wV;yvDx&t~D?;!aZf$*A>~e@h3H!OMm_BhBTZK?-}SEckH0qfI(Wnvi`3`cDP8 zHXF)C1LC~91g`eBhlJ@LD{jv#T|f~&cJ#q(s%}S8X7zTc&$%BEGC^@8g~YV92Gz`S z@t@MD#%s~@U#nUl>XPONr_sCQtmANqB`wPMEeU zz^@vCePjkfb-NV;p;^Z9s`C~^xk(;1W z&En)!oRLe%E_2xkU#)}7aG1Y7JD1`U{}7Lz1~;ve2W`*EWeV#RMjp|EJK-uRPmo?N zstWDroFT;RZyo{fa(q&$MTXano|_j*;wOpi?%TFI&Ucqr`6D#uFC~){qAlkk7%0h% zkrvr*;cf?bfhKf*4d1xuNTm=~z&c*gEXF1PkHDIIWVg3@6XT~?l}JO92UHQd5Us@J zQAh^q3?l4lZ8Kt6Y}325iDf}?%>ES@HA4)U2y_o;WMB^Ux7WurfOIN!{y-{p^E79B?_oA`>8Qc##|<-TN{z5=_7%5spUIwj5Q0=Y(y4k zXaSFei;^((!Z9j|#7%wI|AE3i7B}i?&xq6sYpIx6GbI}lf(*aZ#sDSe;rH+BgLG%tCmx#YL`VEReUVCn08MRa6W zHU1vD(gn?9S0~(P=eWZYr`elOd=0zPJ^EMiY_{)~x^g3K8O)LK5HHfb2#nGE$`D#S z2`JzamadyWP{D;jb)%U+NX#E6gi=q)3llwtZ~)hUZN-%gpwQoXFfwMAMPhaeCF;wg zq1|ub2^Zi~lC6$hDmwNXH?K}4`B1rnFekr|P;yn%-b)$v)(duN(5XR+ypQ?Ote;p% z?NY8J=!MNo0dqK&Lmh`{UZ3f&mJ(=8`&rgTg@^3bK4Jfh(O8dzFfv7ROTr6ILNi~& zXPT(JY9EslVQK$R)dxjQIM?Q7)TL6tXq61|FG}H099q|0s<{#yjs${Z4xQ-!x|gRJ z)eT%b-$ESKpUX{?h322TZZHeQDqPf$Yw!O*^8z(U9w1H~xiaq@i6SkCZrq^vZ9I63%cUxWw&aei0$S!ZbCZd-jgdQBN|D*P7 zt~JEEV?u4r(RMpl;4SBsbC#F$pqu#86Hl(W_HOP;041k&A*V*A8Cq#f+72_bZ@f0c zIicbd27<=ePDL-Ga0J=8zfuyFQ=3Je#@DM03MhGfr&->%7o=(kaQHsB&a=hV92|R7 z+P-gQ+M|^UH1nD{ZJx{@1R<*HvPm8Nt ztZ}~Q3}s4~E&8xLPFN}Ob$Es0vK|MGW=T+=MY2h15u|6E)FVpOg1HQa%z30Tvx-NOUn*|V zZAVdo<4QBt^dBhv#FEC2mLJo$AN?2XEbVep#FFy_3QtWi^CO3l97f?)_LTD2cEhQP zae8wbh;hUQSu7A23V9XE^3z0-mle598iy1 zAy98l#I70DrG+A>{m!JCsPQT_$rZ|TPfz1MCV2laQB_YFwY$d04sMISX@@Xd9SIlZCkw z;Md_s$l=&{3W=AAN7}Y?tzt)~cr^E$AW@g>yWkct*JPV}Y-Fbg1pg zBC6E5$z@P<<)Lw{`w%BK?tl~`^C36dm}6k2kCeW}Fm}I#qyhP5=l;$-jJdZXt(Ja? z7KN*7YsiMb`7M%u%as7dEGlURh9NQeULO8${3M7TV9;?;&AwJe#x!>Mk>-J zL!VHKo*5#nrmvTOTdt$!@rtKT=j|{6>qD_Ee?G&BNtuEw6R7tUws_P73klYRd;OO4 zIXTsD-<1e^pe+HoicOx(J~E+^CgWeV&0@^KDhr-$ut{v~a@3_WWIpZ@KQ4=vuUhT; z`FzI&@R`B979#p|@anl8PhJ-8zBzXOa0D);1+%(c^+r5y^ePsj?!qNQfCd_)ZgCIK zJjS7(#ygy75|*JTZHpX@-?FYDZB{eU*`PJkuGONaR>dbMhmc<&x8REm)kH zgVt$r31-KEgA%mqXo@#hD!iZD|2%p;DpFVbIq$*5^6sXXLW2Da6702|4i>*6?qWZwG4@+RXWNK!fjiZ4B?au{i zsJ+;)Z8o6n&%5P0GLIiJa-mS=*~EkWy3L}})VX3c+ikmV()so77wpxi8iT7_%MKJE zR(H%eV(BDQgON)^d#NN?v1f5hCgw}Mz^ed?0(8Zgr<|)|2*<_;gbt(h1;}w-nQfIm zjtyQ1yhkj#kZ(|%#QO1wC+k7`Vu{7PZPmb?4;j2F`Sz`0WymJ&8F8(@6p<-JJi?~5 zTx@1y%9*3?!`S6YZaG#~KPcbTn7Fu8ewH zt^kPSyn6lAPlll~ve)cQS&;Yk;t7`&%>9iK$;ELDo~?5nWqU;b(VO}(FTnftHGg<9l0XDpYPEKYSc z=_kKAtI;PmeniG=1@c?9-Oj%BtJxW=bq?Ct3ew|h@El=^W(TXVK|&R=YU*9+^8Md; zw2txU3mOem+>@-TDXp-naM~8!e1#4V2-I_a1BB6ou>ACSrx}BM(0BZQ$n|DG&n6{|W;O7wC z<@|W8yHm`+2)f z9S`efE@9T2$Rz4-4Yr0jz5T5wI&D)FKARO?_064zH__)m#b3Gx>(Xm*LLp7EPF- z@Y}~(=l?+AM)Jq&~hp)7)L3D1!o=itX1Og&bMDYrT9&rpmW?vD`E~W07pNPxm z!~8lfCO1*urayVnTk4)ngcPmIL0Spkd?gb>rRo>nT^NVA;^OHI(o$wY7l+iaoFJEP zlPnP>0dRA|`d>j}77?O&F)Q|-#!`q>Rj*{viS$EJUNR0Zrt z4?bvbr3xFNcxN50Kr~H8?2^yWZd94tV;yU!lfd^;27>fL&-kLEbbpb(=GNHcwh9gT zAlk7fC{L`>M6SJja$$S;yl!r&-2Z+P^D}mGF~MAk*r0(q_L6>~^4>MC-A-}EA=NPr zlT<92>_i={Qgz88{?sT4%uFXnnAofr>bh^eTs28V9CS@^h@$NzXIncNcF6UbH20LD zxn6gL?z@+GRH6l(8sc*_b2l{=+;+rFF(!f!P-hsTMBU6~QeI(g;yuoMJg?jX-fYI) zb}SV!T^6T|idPKvYT#ZRxQk(I^Gny}t=2Zvap0ni$|p5;pWa+Rl~eSv)N>Z-h3yXA zDwJK8>TQN}N!$pD!qHt{Or4UY^Ln)j3U7<&>vCQS-~XZMz2DjF|NnoR*kW%9B4Up! zN=pPutk_$H*rWD^Rxg{_B4$yEh~3&nOYKeVqRTEiDP33F*GJ#qa6B zlbjy%@4#mK4CiEu`hk;+FL6g*cnj?X9RF-88sx5WpSt$;VN}cnHg#S!f=aM;Jzm#7 zd;75U{>0l0u8q8B_1ezFp6k-D+tZH38V*nIBp2zSBm#71TIe@NHlH=oO59-6jhR#| z)Ft!Q3B^TU?U(vxxndXb@+3Sx1VBUkYCANa-b%^-t`~i6!7@3$RQB zx>>^pL1RNn-ZMk}B@uTO-wNxOaCAK4^Yi2(7KZYXq~Q*EwW^hrRj5`Zqf|$<5VP8K zU!qUXLaS}b)hl$YqHH#0k7a5=r8fvHZh&Wuku2j7sfrt0oL5}jbz2=k`R1c>F1tuh z9~|RK1wX+xcMbAuzlmgH-(4Kyw}!Hu>{8u z+cFS&@WmP$Ym(@eQj%V~xuZHZId4*&YOFFOR}R%wUkuF{-t->;MEPIJ@W2H>uOjUr z>N&<+WNJ-<;}#xUy~G%Qpjd zqE>#F*V;w&sy=Do7H8H~biADk6sxacatX&aT08J=lp*#DdnTw8PD z$*t4h{%cBHNq~8eM|kwK;G9VyGwyw9zEyYK?3loUDRx!g`LaSja~^pqX}H5@EVoV6 zt8661^^ z?HxGAfnKds2ucnQLEGMOFI)Or{G)Ththlv4O~) zt>yKn-2HoB;LS+^d*eASpX9;=h4-3w^sdF53#m-!_yw)2@l|iKxvG@j_gDq6qAnof zksp6MPp7FE*umq{f?A?_9=Fkp9ed5@Y^(C}Ni*qtZPnZN+vR~Z;y?R-S z*z62pzpBH!@2AvkkZ5lMC|>t@@Sn$$(o(sQuDFW`Ys$@%v38+5yhW1Z0K3hAXsPc@ zPWQuM{1o+fR5rz(W~%?oryNEj>F8S!k27zsu(@fUEsg#Kz3?!y`GC$lwc<}~bB4a3 zINSECr7BIT>)(b;BL_I9uDCV_4h?i>voK=m*HI4La+Ri>I;?&1H!8t!F1MM-`8QrrJmo*Gy- zi^?!tm^hgAkmdoyDo_5uLTIE$+SIi3*J9SPsXcnxT!d@x=eJPyC_=7C2+1_b&njfTmf+-Ptj@(hJsZBaS#Zb=+>C^|V6K{*}7nn&Z(G(ioPH8kjcR z9r|gluxhOEionKW^p|M>b1-_9SHpgMZ=D+!pX}B*BEl<|DfYFzIBz4$N;BcMTxj{` zdLGwU#^SSuT;ZH-`aFsOa2ibho|wzx6dV)fTL*|l*j9z-dqn-%AsQFg18&+1@BDZ+ z^Z7IjD>d_T3s#o0wK6zvmaN*aYe*XU zZD?}O8d}RvV4m&N8&N*KTl|Y1byC&^Bu%33MIFAf zQaBA8y+hHxa8tjkjD6-3o@uGtp|I)s;nTCoQHuPmbAte6hogf4EU>ZjT6E znbdN)a|c)R<3_1%ha^S?1R8h)8c z3-|1v@nkN$+|Z;TdCkB9YRg5VYkAjHRyS{`cN7z5RW#?>KTX~IFm{o5-)q)Y^}3vp zNRz&zSeaN;oVt-??6HMq%Ns>Sw}bZ%t)uhd)O8_6o5#zyi>R=7KJ_k0tl!R>pmL5` z5uw%UKi4n&+8x(goNR1rF=TjvuSV9qVh4!KyA~uI_Px4qKFI~j2&YjGOB!d#uJUlm zqo32xqJrIBSz8uv-DumFUk_+iW;De&ISnhPc5N+2Q(s!dkrq<<8aj%rq5?XMU9WDs zKXd_0io-sdjIXQ>fPXg5cRM#+t(IwD156Q`$dhn9?aOxH^z(dM9!E;vs`-q%9mK^Y z5bR$(M&Bw6Sll9L@K=px0?h?S1oz_MB^@N&~!oM@b^ z=jAgLOIf=kp@e<#iek%AB8?k1K9j7Z-Y^BHnpMOKX*8R*lmlLBYID+|iNP){?lYm` z-(?fq1Ek;2xtwh#cv8Eil8l+_Y@A}OjJUH=W88%u!hDKpoFnS{DaaFhZA}HIWnEqd zj@F#q*I~Wk!kGKCG;q!9{vX&s%J606Dc!JhZ2AiNs3<9SHf+985j(JAVNI7IXp5Uh zXIm8HJuJ6h{;{CI)&2ZZqWn0mdm}ZR_E0enUi`7L;s4%;T1aH}yEHUj0*zn7{I#+8 zLGca_=D&l+zF`umw62f*ev5CNn2}f1u9K15cPC;Tmp;8j$n-affoa-z=Xde1ZDt1t zKim2rw@APX@M9lzwOy-zDoBgJyuHrW|2#EkyKfjn`QF$dVaNho z>XDxVk1=Js8lXvr&alh^=_F3lvdg^)Js)~Md_D=9C94|!erQK{G?jLe9Dt~AX$J&0 zdLuD>K1~7Zc2rhWVWISf@*eb!x*I~S9AAZ%UGe{~H(jk8r4mMfPB|-RC2t^>=TtA2 zWC9({4G+8EH6wgPPfgRu%aDjST6|Z59Bh(ps!f)xhiB3F#daMKfiFnB3VZ%Rt0t$ssKoSqBlAV> zJ`vD>pKZbOC_j2=lG)G+$%dSh#|jIYI*yAfWV1p;_Wc1X!V$a)6cfHXOLu&Vnx*%1 ziwi%|nhch^%{1Ua``Dfr*;k)SOUanexD}N9l(P~Y&}*{J+!*z5Gqv-oG&`Y52IDzZ zjjG8)EH$bO<}h}{b)ho#wdd>)c@d@BLQ`=>Z@6xWZEn*6>wrF>yj@`9G+bCmxBr86 z+Y1fzNPZ83i+7m!-Nw$kW7}_$k#W)ttHqR8g_sCnG&@vP9HHZ`HgY#JTSwL8)R`P$ z8?@X|1i{=l18adbQ!0I;u(qR?hwHlG`x9jR4Cd@EvastpNWDAcl;Y(DG4^cdtY(FN z>J{So>yMDvIY<|xr#|<%FLTDpN*%XV-X{p>Ge&|5SPwsCSwpk0aLhXt^^CQcM@rIx zp+F)!5y23lmxkn4WJ}MPj|$%#`>=!?hXLl`rebgiZT}ue7PqD~3*~pniD&ta5o_Dw z5){+H=aniS&aa23k{d_>V$K7`B;4HR5$(S~<5BX}^uO?u`6aw`IcUW9N*n_IZXf1o z47W)oa!@I)%>SO1fk@W!0?)V<&C!jzyOi1SeVHwfEOpa{!+CoHPJ(42=ldZ8feFmI z*+tj@O)A|;8-FN~Y#v}vYEbM=J7KRKfbLfXX-~&h_IYC1)Lw9kB*EO)a!&8rx8$@g zVS1b{oq(%WOR%poD~Ej9O&d?g6L0BKlD6&URBgTlgt zFXT^|KFmaJwa|aar4D!4U_~GlY#NP(e8*CI-!0K-<(q839%Ci)8Gh8GFpsEQ4hROI z*hj@Q7MHoS*X}cmQ}^gs7fz-~2b(g}(UY}j8y_A8!aTb+w)-nP+yMCn)0f-Tox;YU zgFz*-WX@8~%;5s%E`u zJsR0D{c-j9Yp_!bL^jemry*=1o0KfBbyRDDFDwWqL2t55S#GBZ{rKrj|I*;1jnp;a zVB@8*>fdht9vt3*!!BngeYPwvq|ccrBMa0$gA=#=bZ6?8L%eN35gKEN4Md`Uf;$h= zw1IjC2Bdz4F^@AkUyoB@PNc~;(23Ki#r68(Nu^iZR(5(?U z?h!opNF{6k!ZuB#7snX$&}Bf_tP;ATc%3R>OnFYTv2ewqO z-Sbrs*qsu>RiOQasTu|ggC{MSD1c(ixOs~JfM}a!RSJ?8J5-A&3hE=wHAj;6kUUrrag!{O(5)@XUN^p==?gUf(kjo(_) zoF&IIuZ4dFUAoC)Ud?;8kob$2#t3F+t;v; zn7F!Ch%CIFz_vCcl%3(y_Ee#GE+;roG4$4zbXXHF(ZkZ5LVv=8B*yqstoTgQxb*te z)tmA;c}jf>+s^2lsYpwVKm2d^@PYp7Qp!-Xm3cU;s*`NM@!(A+06mAk+9-7x1S)|v z7BR7EO)+4~IH#aFoQg&iL_k(|HjmPmcsf1W7KSwAQZa?Zo7FWzcM)3O#bSYd)Mwmbh+YW;HdHX*?$ zm2k}AyXC;UCv{e3zhfqDep|gxl(#kTQPUM8c=?{__#NN6>Ig5@d8Tvq zus7zCpGoAC7H3wobPY36Zsa z#Av11>=1WuIn~oD@5-j!SOw3)Kjs7bXF~l<-n7xr&oHM(j%g?-~4hEbri(CWE0s6Tnib`5p>q!QG7 zgG1I9Y#p;f4(=FPzbS?;EdkvE}Omc502Xd(W>+*L*MYV&Fy^)xHQ}GAD_d%vnvO5w5H) zGxP;frFY?pl`0YGq}VIq`3IUiY&95eC*xaA1t&vY={D=c0I`jrkEfl?Rrfkf9A}CE55~*2AV9YX0lYLRR zT_4?)9hi`Bcf1=8C`A3A-~H_WS2>3>6~z866eQLEZX~Z7ZCtWTC6J95K>psQiZ38( zRjB8&U`eSk%%X*kfm*`0Nr!uP)NR9eRnwg13mTfL08#v&>eR57Y?Z>KD2Dnj#UjW= z4P$5B?kMi6m}U8W{oP#^`B;}1)jzI$%e}2Rb^Lvkd!Mg#2ITA(=9GL#LCriYS@EEG zvZ%ANP`7t;+OE2A<{@tT7j@pTUn&pH#srQK&olo)mD0!fH|(s)aSbJeF z(E-%x-kTU%JrY=h%$ z9Ai_oY1AnK;%;%fE^ZR+)Tfwz55477*)IPLDFY4eQ2oujH`Ce%@nZTgz@{FGGmy3* zxy)!PXa@{9Z6Xw1V8EO%`!n}sI(zU#$PqV@(9yvj3Um!i5NkfhjXf5Op450<-L#|djGbr~97^Ycd+@F* z_%7=hO%C4jRmUc#t`9=8nG2*Fyr114Vx5K4vd!&o1&2C3N#E_d7=9>M4w~Ra9!TH2 zox3j8_}u6h1oy6(U!cW>SPwmK8f;YkaD%h#F2R;~rglrwCnzr4F`uwx;-sh{B z%Q(5D-bn73t&?wZbS819dfw^GYvmX7*h*P;tXa}`bD!i>P}0=Ub*DBvwbrU9U@dv+ zJA3C%55t4`LQ8K>j}_HpG2M4xez-CRQdKGzz&sh~3LJd5e7{Pm-`#*QiH<`?@SQZq zB!>G6ulR+bvcPLirif^;o9;SIzuDaI3}nO_j4D8`WSX-jw*qf#=c#Kg+*hVXMuhv) zVNP>;%+0{?v46$dcHo#cnca}Dvc8ba?rYt|#-Dw0{5~h{!%>= z{G*MXiR;)@+4V&F>OG6(i1V>z~@c*HosI@$s?Ha3B)km=&L_1&PHvG>)Yw*2~ za-V)hg6&((W8~jT;WUZ);{WrzfBPJ(jeUPt%7N#yQYcDgzNDP%J9NZR_k)`H*|J6S zvTghK(qf(!j$&v?452EZ-W*iey<)NUcb*|lM!^Ur(QaaYQ z047BeIHmAOvZa-VMi?+Yz^?VKZ*u8fRTM^O z@vyCx`2|;MB}FrQL0ebrP2aB-(7Y295*xT9%QF@TYx{ig2q^jk_vgU&oUGRI^$({{ z$mcQ(qN20ck1jb3->1M_xhd2$w~!b41wvxK7oLh`tms5<3jdF*i(mEGAn{KI+jIX_ zhdT|}6HZZf5Do1J@DAVS2W+BUBF4ElC#2$c`CtyK= z0YSLqPGFg8D^^zJU&Ru{{JI$N_)A!O2MeT^oxP%Z>R9RwGO#A^q+~-Ifg^_67>tD{ zF6YVR+TH0s%Z2wt&K6IcUCxqjyS5u%dZdG<{Y)l_93o{YwK%Au3C&kEB6b|98p;%! z0gUMzY*h*AqPLK&u$dE!THo`;5$R_@0@fx9*UbUBJRyZ{B~ ziD(T0g0`fVPtsuL`jIBra- z*bEOZyw}L=wT7@l^p+g|NY=A?Y9Z~|pj7ARRMdp1*@;v-(EHd3-8y{U95wuqcMCaY zw#v`OKYStll#)2qGh8mOF)vvzam6IMwsgbu^AiiZqF4QY(pL7SD!)}GFDT!PEL+I8 zQP#(tM2D&bUi=M(_ZfokFWUzd^RVxW{@Q-*5)!_bhtq1>vwN3^(id?YSxE${Vqo*n0B1T+LJh>75 zp>*-a%qQr~fa6M@%YTnVV-gBXMCPuhe1H_g;L&EX9h>IyVdHhNg%sA7Q{Mqa|Ln`9sJ!ZTIXrBr(;&V*LunQ{*tj?0w{?wi0l&B$h2%%^~p9S0d}Qi1HJ zW(MO+HQc~*cDWiz4O9Mv5Man9G0eCYEw^M^-sY{eEa{GH>GqJbe_^&x*P;task14R zLGhr1hW$pLPkI6!Q~+R-VhpX(=CED34elxcAH=RJ9lZqo=a~p5tYGex`~kq4$DOH= zT61drY|(4XM84#eQ!u88WsCu(o{wO1!QXT5d8K6sbSWq+Gi+uflyf&FM1WLx`TSpS z<<+FdpU{~k*SY98*_C$}c?A}-vI^M6KDnphf6Y3E5}Zb8H8^kPr~<`7Td(*gF~sYn z1f<`9BIm|~DEeuM1nnZ<+SD> zzSg!el{wS?Rvf3}&VBJXsk&C>v7Tsnd+5IcF*VUhI?Z@8XsRs2K~61ur{2 zu)Ls=FIPC+MnTj0N7Kybd~R)la`+u9IQo&kTBBP0zUjX{XWD`%ZJ!f8ybHsntsEZB zwl@^3XBZW?3_nv;EMb9>ZTEW}C~kcRhroB-ULv|;5hp5ZOc{Ai>uVLGpcRN4;|9iE)asM`%0Z; z$-LnGYVl^0&8pem)E<8d4N{zIj#*{7>AGS^0VIrNnVW2fuR^Ny`k zQv6P%XWxnc4TUeM+Tcr|Q5*Y(vF$I=m?ug8Yf~VY^IgsvOFM+*m9kg4>Qb-fTLq3l z#2-(FaQ!2>uqz{_H+;71l5}R-Xd3KIgH>kCRrU4oC{TqkwH`Mu?=6yFsPBWYQ%4*$ zdP*e-*Y&a&kF+nHy#?boc{0Mm?XMS*GD4CmHi_W2e{}U6^ay2Q%xR2~Z_N&6o_NX| zDUU1;#mPSX05!t(UbjV$8({cM5LX9gm+Xc02tUCDql55~*s>wFF;=s&&R19SPGVb4 z?c2Pj_ZWBm4~+dD$odbu>gM7s`P*hDo@{0=m#?T@FdS2x1|qphJi<~e#87IQXabLp zD&)F$y4JE$JYOZ;E!yGD4do|ct+i`Z)e^pkN?hX!`dxavcN19F0P>;D)*?nT&-ajW z3m#?v0RAUZy6~KTwVe|N%uJ*orAcAvI@2&xaoUEfRm3|!A~sf+j37ZuyPmA5uzKBM zP@Q3(uVg(dU`)cQ69C4g$CH31l@+5#tg;0FHlxw#DSGCt36|{PFZ9gHr;$2^`aVTloq#%Ay%Tt*Cm;2x7NnWNjES}d8$z#1l+WoPwbcpF#H zC2jbl_-PnChu~3nP1rW8*k%?#5lgYOSJyF*>xa7u;!l^u472M3C1p2xSRy_mv&w}6 ziW`8YFS5$}em7jtBifp`W0lbTLB)W_>)PCYD>+Ooens`Li3H9#$MyMwl2l=PvCR2!*@D7ydgmgLmRbB(k4>8C^o2FX6~@vbSYO05-DjgyySB%xE5C% zvP+kx34uOaZ69;ZXifyJDf>@`JpyMs3VQaO&>Sc>)H+n3Z_^yw_G*6ayc!KeOE@pYjDvK_vNdHeBzMS5u^G zTlpIbhqPBaFKr4c=AXZQcGAWkhk8K%&J;9Kc`n@^U4lA4L7!7ke8lMe_K0f-NbCcvVe`N*im8^RKpDJgK=^e-6+-TZfSY-K4|z+qj$GaqXtVwx8gc~Swd{@~@72z{fPyOw-gS)mv_eED_69#} z#>5s$kNttW6)P$PXm#%;ARgFsRQVqS1@jwmG%WnQ=8j&=wh_d$+$!$BR&Zw|sXdn1wazLS<=q+YEn6l#Fmc$^mBXNYe!laHdn z^9!Rq6XsF}(>~4HoT#(8sdlA`@`H|;lT{xE%J@PFVps=C>hLl_NBi6ZrotV!r`o2{ zAedsA21+OBVpV$!LwF+^4m1{2mg%hXH8Ds%I_2YRf{dtF+$&HPl?e^!*I=@?prN^P zm3H--5N4e6sx1C13yYIO*=A`&6cdkeEwW3#CY+o?+|?wQ$|vpz6qPodFHHHMC-RlxPso_SnSRL!nIbU+@QBkKw%jA`FpUAoES%NIA&u9viaVSUXbu0D$ zy`rDJxtaoDbE4*?*$7W= z`YvFS)WJLsGuIW6d`UG}g6BFcqUC(u0wS^|@}D|kn)kJeH9>FveBH@5b=^yC`kfl# z^XYg^jYB%#iK{8;Xgjabg(d#UHqj3O{IN_|CipT3;LMA{!<`q=y-l`JB~4)Kpw*L4 zH}us)Xs5U&&0Q=V(N1cH%QjM9P&~o_7M`+jdlrlB9jB}UG|Tko*d)y%qJ& z%xHcn$b1CA);~XOX3Y;Tz#HWmst!oK@!MWz%EF z8e^Y*Ice-|l{J17tmy>&peQ(zJ1V#G@z>>kDCwg5n|)$066xL?mtdc<)?H`Fb-I?S zrftRj#7u#Evj2g)It$WE3W?>JZXx#71rs+E^~z3jAY9A1<-OInt2V_b!puZ>ECt6Z z)w*+1d1LU>@9v?6XXPn4W$nc6p+JxTu@kR6zbvaQS^Q0zOa~nNc&KBS(5X6{sH`s^ zrd`=VEZ1$R)oNm9eGa4{@1-D(59b_QSgH9u&y+0IWKwhG)E8Ns!yxX29x`rA2+{w6 zHFL|k%)bc?Km|`B^_FTS<#1X?SBNMrQ@2-K3lK{62T~Bqe%&^N`_p z9;1N1g1C|@F&hxk^#?g39Ci_u_D=fRl+`@G^}b|NaIE}N;W+^=C)U(AI+--QRmSZ* zY;&Hrfe}DhpyRJeoJ5R}YQ}0M0t|Fb>bbP7 zRz()%h*1RsZbG7e=G+ncPMQSF*~ncHS{LHAobl;Ds8Q07Xyxz!0s?F*;9OI3Zvu6l z&bBJFQL`fa;z_UFQqB!`c9+GH1ijpB1CM zc&^W$g^g<$vEF+3P%Qi)XP%Qg@XI6&MfK_uIEiz~#ojD?dcD*DPWr=%`jr6c1&T85^|$dOMvP@w2o&u^r$pJX})ksBt&7 zweeeCIqDj1AC#E=4r_DS7N2zHI?hBit;u$fvq>sO%LMGvuffH`Zef41zoGCkNt^C( zDBvR5Rb%;m-lvNRa9o}~Xwcugd|j3b2~Rb@k!GzQ$M1&S72f+ODmdFBpkf~T=DFnk z*L!cqo@~cDwIqzp7%!^Hp-~^i2IlI}?CI+)r)xd0Y^&KlZkhR(_T3^o3by}et7+pv zxfNNlclX&gRAjp(#syNeQaSX55{lE4P5eilOEqY3cN!|%2BOh+xYmYyF~O%3_9rdM z*K(&l9T>-u4+~+Gp~W-Kb6f!w!iisWg2dl9ZJKkmP+X2)!^iG@O%RzDoWOtZmMikT zuBJX(mZVeMeQ7A5Q|FN+OusNg(E)E`oar>T)GJr)C5BC*W&cPG&ZD}P7}m5+Su_;f z%Pn^&-D3)Cd^I~1tU`WM9evm}O>(**Ndd*`HY>)pkYMZmtuGF)b}}17a(#QaW}2Hz zG^vk*I7PzQIIQ7Po}MfWVghgMv$Xq36cg-w+GpD?V_zK>Zay^SU zdt)S4C%+4bB^F!HTjI`AZThF1eT{Ew-Kn%|6pp{4qLd$dVHk7FRjc2g_M+ct?SNAE z{T{48%*!lsJ96~mq@yK~Mtr5bB!j_=%KgsD&?o1jf#vdzMV6i5A?6rlLE-y$*m_0O z5Q4fdK?s-mF5A$M+i92irc+78fN%OCPYcW^vhwb;WcCd~XHWO`o-g@^-il zT4Dy+{|PH}1#aP2_3scPYdd}H4i4(N#{bm|$S#S~SxN@Hh>;{i6}7+UN|2QNM>HN~ zV2PBBS=`cqvJY=+EU85Wub}Kkn-3mK{r6;`UD z_NAy5Q|OnLHEU8J^4P>Q(B^Ap;_i-eaiOQs613G0X6M{x`y)?cL(oRjQVo;r`+7aa z_0BL8Uu?9ij}*-R7$C;q0ko67!L#%EXW`r8$};%Ha@)TiQO9S~`)0*u{C0O>`SvE! z;x|oM=BfgJXoVK^MCHVV`xCvwh~sfSnh)JptNDnCJH*9T95<_hwzh4b9IC6^+1ReS zq{}Cnjn1skJXCi2APxJHRwpNuJW?Vo+hhzK+(oM-SF8kR4~Klfp~ypROI+iH->)n} zsk$lDsvT~UbCISo#d%MBlx9pbU^+N)4Cc)GAP-c3`7SWsFMuC4yrxKJi*L*Y(^GW7 z7mbanJ>-Xf%q~u)oCrK(tR2Y3CYhwGLM);sifzN2vta?;>bRMC=s{K8o+QYP<8lhq_rk#J z&cE0F7sg8oLpV!iSsi^hyr59CQPlL;mi72={14%n|7Hc`$3q_^T**GeTdxab*UKr^ z=~=VYx9*wNXBw+$D^-%?0(pejy2G}KGvfv1Zsp}YV}AUhwTw&pNRt%GfLraCrO^%5 zgR&r=;CCMeJvwWm46y(W7L^@u|=j@$!N9cgO4a4u=HH`QJ z*prsE?7wkn*};>4tojB#l2(IVIn!_^zr!1N8BY@o3V{qk4}y_sx3mcXn6IgSq&nCT2tnS4cPhIe_=mJMJs7J|Zd)iCB6dP?TF5Ne*=a-4BpR=|KV zM%rGX8QEuYq+6ulj{wCzSKZt_=98CQdYIF9IWjAFGB@U+UcmtEv&*6b)F`_1$m>LL zyDi^fmGSU31M1DH@U|f3Js=yN>FiQcmojqAM9bWfKr!c0xk$||udcs9Mb)$UJBl)a!3`j_B9gT^T5DHmdHJ2}0P73V3?HD}5FHgGv%uG7OVe5u zh7t$0(s8vMl0JXVTKXOGo^hyqQ>h|rH!wjaos1c`iEwI;zSeFpTI(5Aa?qf0VNHJM zlQ*%NtqK|PN=56)i%9^BNd@y}h;?^@7dY^>KEw;$j_vlx3x=1{Q54h2yuPK019bA-4E}MX~q`y0)rZ+q}sC|CeaC{L^wqMBA+?)MVl1WVM#VWz8?J^2~{_FknHKe zH2g!UNPW7hz;bwrhFvhGlYALtd^s`weU`#s7!&0eUfC^fAiNM{dLxw5|yUk63Trt}f+}7>3~m_4dM*Z?SyMV_CfaO2aMx{^;0=w~j}{ z_?H1=c4qwAxYs*X_p_B-_uJaN$5*da$ZO;px4buDx`N%Unsf2V486{qNLw+HVJpKZ zCcLN2o#>hU)2U|8QjVh}&i;PP0lUt0%m1XfWe-I8yeq`vz1J7zN5jWYGNkYL9t6Dly z|7)}q?qWWA#`|zW6r0xaUvb`vn7NI1m!;c}$Lg_FrGqEG=`b{EeySmYxCI19hs%vQ z1Ls4NEKk`*g1aq(3@T2eeIU}%eLxp%fj{vJy_Wnx)nl`NG7Wg&cf>_sp*-@*tBBM3 z~xs294Xdp1lU^7~!nz3aR+xV!KOjY1nMReYB2ZJ66imJ50;4FdkbNI zN>~ZnJ65Fvd)9SN>B3A>@iw%*SxW^y&2omdOo0w2mbJ>Atv1g!Sy=xT3dbpe3x9z| zT-Zf{6UqlaA<21p4z-gu#%*|6D71%ny=t4u2HE${owL}0EseaaaTU9{V4+){5n(fN`ZWqRMO2WJ##2-Fsigd#-`qrt&iU zX3WJgbUH~VKP5r#+MnB++L^|gIE63Rirdf;(|K5rFU;Ie3Y(Ri=Gthql~6oN!^=V{ zLL<%JX!+O)%fA`C6Thg@=d^(i{H=r)Nh3Cw@*r9N()-D=eq6QM%b8J}bT89u_%fuw z9!?re3n6rLl@$Tl;U6q<5}wO+JX;(y4>KCgmSiN6(2DqDt4Z2(ZioQtLZ``3*(#jF z>uM|+XXkmA&1t2g1l-O%8ro>PhSq3h<(~`}>*@U+5Cfg1Ls@%G@XOthV13&vXA-)( zYKAH8fE00J;n)28a614>E*sZ&RyI(pH(WtTBkJAr$Rk`vMswx00$3EKZtc%a9HqPK z>V#MTucGnRtc?M_wm#T?l=1wm51UNb{XMsa_pP+*c@U!j?+OuePf8RY3j7S1)r6MG z$VxOqOuH0wAnlpX+zdksp4(Abfgc|@`2T4Zn8F^(Tq|U@QN7Eh7sW4)1Qj|frjyAp z%PWeiaG$a>&>UgO!-Gx!)7TOfot!W1P66jz4(ejV%c}AEJM9i^+J!#X&8iCb&3cK# z$}8JRH~+nSfdxa0$mF3%PFl zhFIcEC*z^QMkeEwKp`G|g*2Tj)vLta4L4f`vD<#ZehzAjFPix2D zd$_sTfVfE0TTbZV#dW>XR^NrZxiyvk(dD?tfOD(1>lMdxS$?DEVqxvJh5sqmdgPp5 z!YQ2Sy8W=FKt#%NZ7=IvpZ4>X-}7vf+pq~W0nf)ca>7y-%<~yD{YGUZ`hl3tkG-i< zO4QEElh~~4_NQ%Q!2><_FQ=*;)(AAWqqBAUCgc?1=Vg|Qd4!NNg`Z1itC-$c!AFC0*_feBe z>Z>zL4Or_v-d-);h?KPtZEdx=b>fm5rjEG%2+zk#uI1j%%^F^|qbZ`7d39?BW`8hOn-BZ~SU*Npcv7-xls2Ml;2^w= zV4@n1fq43}{UIksW@c8<=&6X=x4Xuk72FW*@eM^oF| z|Hsi;_%*%1ZJh2H-8BY`F~;ao3ZuptJvt-?(vk`s@X&1Zh|x7Vr3FO~E!`j>dL*Uv z2!e`w&hy~!Z}@&+_v`*#_jSFmB-JI9Gs}!J8Xv|O^6yP)IJo%D+e!FR>Y+Zjf=@}m%!z(#Vb+!ym+>o&Fi#b_R)fP#KQr^VE>P|f}qF;{cqG8+G;4m4e) zdRzT4#{D|Z-EN%yzCD)MR=GD`5WAG?^kFIE!~LJLB!{n^;}v}&c}d>@xmDWvg8?(k zn$X)wE6RXu7q z&CIxl5ZJVq5aU#8Z@Nsky{P_)JATHsgA&783DrnB)lE`qmO-tm}JXK=(>PBZs;+ zX|@Ku6}?B^v#CWaELy`0Mp86UuUs&(v&s8h6UO)bS-=Jb>t*l>E-RK&hZNt|nG6<} ztNx)1S&~S}M6p4ilLTbkE-SkBHp4tuooit z&l$|X37D4T+!*mX&+E7p(v0pM_8ZTznDXu8ZqfMj%{k<`pzz*0~+xY%%S0!36 zzvcO}vL!BIXNR=xa!{%RKX8$h54rY~dl_bj(MM&__t^M%e`<=@4QHM&Dz}Pw0DCUI ze-41E{1Cq5c+&DMa^geQVHPj<6mGoUE-Kl-_+p%}xKItN%!fK*y3e?EySeQ{NB4MU zC&JSt5B18EeCbMKtJzX4hJ!O{UgSoIM@~+sGI9VHR`fu|^h>fCfE(`oU09-rhi0x> zK*Gzid;Ti)A#HQXCXxJC^QWDaDEwVnZ43JD>yj?9); zB0Qb1KeQL$<_H?$yL;H6+AQ+$NxhS^MYIqz;}nszWy5Jc%?Y0M1}GIfD`#OZ-Uls#VY6?7kBxrf5pAq)ep0bPoZ->^vzfq2+vjX$V}j$jSLO~*Z@CffKVO-1 zNy8_uKz9G63;kl#b-zTEh1RyNSWfni5W7Feq)xfWVEZIJ7!Jp$8;HR21iEI=S$L0$ zs(Ic25G$t?>SMoc3SPQDJMp*J);Uq5Tf~Z@It~4Z_^qVyJ-61TBMYNP4)eI=<+A({ zpkk23L8Pw?70{y7A5Ol`lr5!;XL1w8(fyao0Hmj?3!{(k>&24eMeDs700xxrqrI|Q zG6&4$+lT)76}l2HcwRAjKj-XEC?Bn{TdY>WTvE60N-Qq6_ezMrNjt>Eo|Y*U^s`bk z)o%TM)IlIDc_{rkMcCBh;z#gf=l$$5I1c+V|p`WU3s?=`cpfa*li>2#J3qqF2%p zVx;@tz}^TYV5p>mY~+Va#tm6%C7zb^I1z~xGv7)>8e+1f-dX#a@dsuJ6J{AjJM!A% z{rwqGW$>W)UBTR7LBbRjf*o1Z9^+-UKY^)1L+ytkY3!Q+CyP2j~MzQ;&E}? zpa?3@0{IO9*-3hXL|>tzS>^#_ebG}V;hB-8%OTRBa(h|!n$p11MM+61IM5tHs~4_R z60Lih3>2^76U{7c7UAN0f-JAuoll0 zX`ftEawP{a3nce0J#0JLN5vXBNA;JK7&?5ltz{A1n}Z z1*f<_fJ97l)LLw^15%_!OJB>wLkn_A>BJ0rg~Z*+hX(#6VVassuE7 zV7MS6Nq@y^ew?{Y>-P365MhBdjds>CTZue!sp5DggU#9h66TKhXad*YlmEUoVvq zm^X~jcT?RLLkBv_4G9e6tTM;a{c;oIXwIFqF>kN3$-VI(7?{B20G_kY}_t@K&RXh`N@eE|>chNZZx zp9&eQOGp&aq_CJ;21k)c2{qIBIUUa2z|2!A1X~(7Q+IECcNbM6hLC|D9lda+K~)R# zAM+F1Hq@AyraUaqLKH?X6n@H5as_ydx-y?%ER;Hdm(fwi&a3Ti&c%Rznh!|9l4^?; zqQmTI3n)SgIy#=?PEO1zTU~sbGP;)e;Dla2q}tBquOVOGFqbsahEK#VRhOHF+LyKv zv~R7$)oT*dCyAGm14Y{D-)gYi%nhq*dF?ItdB}7}(Zb3g+owW0=?!_=(&bjL`S-fn zFr#1mDT7<+dEQTojqH6Udpw4|?a~Y#LK;rzDl5&hQrsCVI%PAqZ#^TjfK9bVYr^Q` zz&g}dtnGa5m8lM98;EJUnl%GR^opS4t&{+B<}@q}qrIQQenftW6aUz zots0~1mr$(qzJdTG8W`IGH_}mmRUr0^N&JcLt)aoZk~JOK+k=Sx8Jg-=l~U-b!Lbk zZxp=ukB2+8eSeI+&2FZfZ3u)sm*r4FN;t<*i@QrD!8})ATJ4ohPdmBFRIQ|0AF$VF5sKe>lMr(2UPj@2@?)5 zKoz)iz^fjbFaMI^~2cfB0^K-G(p=H%HW9o5d-S!SLYv6PDa!dp3^NW}G(K9YAsrV{)t1Tw= z5iQKW{NF~XSCp%M)R&T^^A{WPSLo%DF`h*A?Yjs_N3F6h1!b*Cyuhaf(sAe{0=|t1^ zk-w>{nYMJbfrE<~D%M(b^Kqx%gU8mSLV4L?XD3ad2hDRp^oM$I#=GKB^M`%bcy=q1 z&Q_M!IW!kd!|1z@=~$egt=^MTCMWN||NG8HU-hpbB^SMVGb0e{m%9Z|)L?edPVE(Aa72C6(4rYL=*F(i7y^Cv4n#*k|Rc zxfRV&|4oH_8e>esOJUVDLI#M?xqvu3^`zdRWQHy2?7+w;!rF5B1}Cny8zZOH%vZ$o zbp6G|+wNrLLWV#57DClUnMj^Nv?nFd-izZ6rM!GPI{-o78K~h+oXU)O^Z_!*g5}}o zTHJM*!Q1CZc7ktS!we6te+V5+5bSkV9{mj$s{n}>kO;<#mBMz^UOmN!kpj39W4`4A zq}5|S=;^~;{McFvuX#%#OR3D}`1t!@H+fs08Rj`ORDNE)1;cB;j_A5d>+w%bvK8&F zUI+lVpz~+3@5_m)xG#C$VwR5#dyhL}=S=4xjyk8YjSp&|rnP3r3m10&#C=LTnsJd4 zgIBu>YK}zbr2r)C$3D6*3Pkme2vcSWM=J2WZzAsU&wPiks#IiAJwzI8%R;^MXsVNH z*(8|k#o0h6Kh_2U*`!r8EaRjBDV*+J6)E3m?!0M6i!igK)#gp_{Rw1i04e{aERu<$ zr!HB!zsPE_WUg0yF|%OXNS>kqitT0OPwj%~VbAgQ3&RWy-d zt~&Cg8d}*cj6kvp7nHI+ks6IB(lq9Z0$F|3KcjbiPJ@MkobL+R61M`F%p>-l6(m3C zF{gg0b{JZCAYh$ASH=W?s+M;MOjn*&YqfiGx;B&g#7{J2H1mDCJ`d*H>NWaR*we0B zA)eDSiHzt<{#TaBS?a<{rQpv%o!J1Glpi8g#IDA|q@#b|H;}t^UbpsZz>xd>B#hji z#>ZJ^tB3D0GK-TI0p`VN+8PhUzoPr5gp)kM8e9v5Wu)cL14jBd}%aI{ijWc z6T0i2Ei0greE5IJtvISs&4F4`lIg_S7acRTf@J&iRy2a;l`XBhe(XF<+ZSBXRz5+A-Uj2l@RG#`~QxY1JzS&B)4^+)GLBxS1X z^*I_jFn(1ju&pbd*)ih!)#QT@)pJ6=8!UlsXFuGsWM?0k0dB6e6<#t7$+_Q}YoJot zIlm*CQ?m+T&+2UdYJTxyPi?MN(xjho-h)j?L6T?33R<044Gg`w{mr~F*$?pxZUSx{ zR*+)0iz514d zLOyycoWj6M-trI)45G}E7TEpym6#Re_GP#9F>L`!|1Ut&ZvWhSAQJfAe$&DF33;2;>SHc;PZw-O3cgMuuJ zyIyj}@R+;!ApD#JU2Qtm|AbA6r1+_fMhWZ1b8UOnNtnvZV}eFY(mcLh=<-Jxj(g?; z^PVjyhMa5gCbvoZ9xBt;yp`3+kLkd=C`&O+T!V8-Xd7=@$)AM^V)fpBpb(@(vRyXk zb;_6{VECfekY0ZvaMuHUc{)=ZNSD(Y*7*;IMru{6Likh}Hv_j5Dg=9=kOW%nNsKFz zRTNG{L`HtDNGkN5pl9k+l^>U{qz-jWJayVAKdD2EKl3$N&ufc1dzcbf7nSv)$~Sws zX2K4jn4Q68_2S5JVw3z>GfRDjCK(*<+r9SMpv4$1r5K;YAwfwo(Mwd$1vH^wyB^=u zrD6#g_w2N%ecW?VQ@nByZd~!VuJ+zcR4GvRDokX`Q(_n?LgTBdgp70-wL_HOfHptT z075#3t#YTh+E2K|OKI>}?ewj75Y)ghUqX^CHw~}N3%t|C>?@uB4m$LjEMkTaFHQc* z+8Ixbyxek}DlgRl2EYH|w4A@|f<(+ZwVWnKB_xLGZkb9;!EC)+yJ2?nGsNA=D(Mwq zvjq4J%|B`NZ~FUEIf>^|&bBoI8OxX%fW-R3f)RYLrS(nz$AV8Fb~_gM-a|g4=-)%( zfPzmeQEv>2xjf9hEsZ0P#QtNaX3_~cW%?!bBg*p`p}Ql+ajX{AKIBMGczBzZJ`L+=^saN)E$C% zm&w)dPbfkJl`fZqyOg|U+s58#Uzdj9;4ATiS2+S|5%1b*3UhrsD+Dp)tYV1Fd2UHS zG9!bFft8>KiR+F5YTQoJ!!EbR_xT}DGA9>5Q@-AR6gaElq%&xu+-)g5n{*DYi1l4OHKyU1D+yg0sBns_|^vbSF?M zDLOM0GYPH*z`$GvDfcHat)UXqksk5os3Ss;;e39lN?f3yHOOmX$pMrL-IB_X(0Yh8_aXXt%JDX~$7~pPitgco=t~N}uOos^f1#2A zilEz%;H1(1A(63IxBRC}u?_Ai#_1%&I>=s;*$w`RTgr{MP+?7$I^C`}X7{Y2!K>DM z;kFnL66c>Q(xYLdVbgR_-sTt(;({pj8$P`6+FGC)=+ZA;X5$2tjT+$VMPYn(Awtv3 zbBfQtmWM-Yh+~Y{Knd*%ku_&30slQXOnUS;`|UdZdj5 zij5A*PQoRUW0xMKm#4P%D7Jep+LaDZ?6^8)Y`6dvLb(*LnDGce7#MfkNae5hsD>l1 z@Y0WuV_g3>R|JH>^pr5;pB0lpOXfvMQz&j?yKkE>wy|jLa%-|P{-;7$*SfrLzA&>4RL0?^>f18-<;zbQq&#WC zmMw)QYZN!rceF4YR8xgm;rJr=w~E#w-4R_jyX=PMmA>QFFVyy(_)oO>ZG-IJL*Y6B zVeng1@V24Jb&&Etf9TH1`uij~_T|>QM3TPw*gKVG-4{F1#qg{zU{>7vfsn(+m$nxI z)3b&kKPHpRa!PcvVmIXyYo~{&+*{>|gh}f|lz!$eQ*zoY^E3|uls9&_83E_~d6$K^ zNya~PaOwd`a-fnFw&1)I;E_8{}_9J zI96!|um54mLslNUM*$?cU~G(AUQHOJ-?_Ev2teWkAh zX0GrOgZf6p?c7VMaYMRe+SC!-+L})HH?>#ZWaRR$FDmc=Ot-(gMvV#6uE;^ne9+&j zaXd^qW2CpSXPr8Ps3p6ZKQ91pY;>=-bkrZ*$G^WDB*g!0d~;!_<4(nyX{MvyNVu_- zuMfIV_LFE{ckUsBgON|;smWBfRn8fKv+W|ugAP)gannpaNiOncQu1T!4Q2B8X*OlY zrGS{$ev#QtjCwYAX|{_ zZSUmXC|J$Ipj?Hz-3T(ZDuFi9?A;16S&(deChA;xZUFj6 z!>vzOg~vPoq%fuYM?jLmu7}H zxAS&^8VT@_Eti;rJUzWyPawlRk0{_-97%ZtQc8Yg_6$k)u7C-q6*|EXgkde7gSMGk zf38-t+rUnHxJ}HKWkJm#1$jt}R|mT1W=M;29BaP8`S8I5@q3)1U2w}>=h!I*$}NZz zJl#Pr9Dt|kol2HxZteew7t;Y#AmUsfDe(Hss52ni<>Xb`VVU{Hv)#{;!0>-^?cYwQc@*u;QVp|Z<66V zUbOPOvE;nGEWfbsuFEQOWTcgDIPI>-+rW!HVnz3xg%dkXMZ4_1hv)47BQz%Q)Bf&< z!i0T?J0Sed{qLnS|8_ag?vA+M;uN}gjH&L~we>&L5$T=CuEAND_W)f!4%S})EiAew z{S9S^LuY9m4Nh0f=OhBQqh!RNGz1M^1Ieu|t&rO7YI z{t+dRFt?e~FstU(?7ZyIoN;-FL32f6S=omd`mB@86HG_cQsQ?!R(9uIr8e)Gcn1{F z$ql&*;C4>zKV_XkAq}cHhw1r^C&Z=vD@|3H(#6nUA}d8e#OtAv{PF)*zHC+?Y21{u>Z8O#8hciRlxz7zJ zy{B!G#W0w&gE=fl<2!w(-z zA)VFz!N8%XK&0dSa${rXL6r#}aO`U_feKSqkuB#D1G*IPZ5c3`N-s4AH=bz5k8q@x zHksNq)73~>rM2WY=p4ezASX>WBph;)E3`7eh#dA2oEX5^OxVi5uo#e=b5rQMC9BiP zFQOy{es-G2^gc5gnl%OeD$Io$V}KG^b2a*YDA@SQHXdn@%G_8h&d?O-QqWh>vjIDE zPQHJ>h33aoC8f8$A?=POIQ{x7qnU-A#foqGG1hAOZnnzThsv91>}Hzp4lSg~HDne4 zs;475P2FZawE0jpbER+>A|$G0plQcKUi3u7AjElP6^t$tmF(#D4%5of zUf-RIij6cg$}i2K(htrDJ&@s!Z&dGy`w|iti8?9~_~ggfaVd%H4kcxqSkMyD4p}14t&B7x$%c(TJ06J*+Y#P50DNVMZA2)*x|=?qlyQ5!Z|_` z@}RU<+V|(iwAjWEDPLvoW%6pSr*||Y6cs4CiTQGB$3FbqCSV!mTC0l+E{%eRJETvk7yTMM(iTH ziP)CZ2)npY$z^y;^PH7yy-UokZL<0Dt7wn4{%m=Vsb{MCPTcQB;Uq!*_%;rOF}wUP z*B2bX0u$L_ye)lDoZY!atQ6Hp2@N=7J6h}{1|mHFuu-+}TgYGe>tV5W3dDP^g4bSc z;AEpxc5<+_$KAV{1$U%=WZ=RZf4%*0W)d5flWJQFXxLt`5OH3w$G7rdQ2SrfzH5#z z^R?4VPTedM|6M3BNS`zYW19XBlkL)Oomgqy2R5_BOg*!C*|pPJyRLlab)cgEVC?n7 z3qPYYrGBCN25MJ7r>lSU%9YjRiz;*B2s-^)0>0ZyW~D)>#O8n(}6<-56|vX8*XW z8JXKnTGn~@q16?)&6s`4IFJ%&;1CW0Kczp6x760yx(|OkWWH41lV2bR_ehV+%P50F z*Xx;m?MTE#j21VvZ2zNevN(<_8gGU?o=^-LSdz9Bj4M`_JX=4Jbsd z($WA!CtXRTxIj$2Fc&9UonlDHbB)Q8ansZTAr*@D$~@9p)XQ}5FQY4yL}np9x~pbV zR!*8Hh;|*Y8ACb1a^Z?>azG7la8+`cB-0l2kU6SEqh8lFjuN;HA5$REH3$083J#`~7*1(a>J}Bl1e0go2VNQX zmE?Venv1XV(yjVOrWFR`8R-(dHqsb;ZpDJP^}`jQS(1{!BwD=G$&NlnR>hReOddtf zAeV|uy!^f!?MvtLSv}+~AohAyu}G-BT;~y_qR^gW#d=88B9Dp=H6#jVO|kFTXt-%g zSTmYlzI=}qM1=5?ez}D-JHwU_Q*v+0UJYq<-aL4OEC{?+}L>kzQEe4ND0X&c8e%u zEtW}FdzH>DuOtc7Gl6(X*Ht%o#Cu$dt+Yz|eb8s*hZ-d(GhG_Vg=KUi z6{1W~Nyplb95p|Kx>OEOFNzPk{^_OhC3!H7=h~+1Ff`?HvrBkWBwOl9I;lIEr_@cG zigl~9^*xc$jtoVX>o?%rmDH}vDJXAfP&DyNJSM>J?kpd1-SPV(R!ifQ&0(>iR>o92 z1EdmekbTcxHh_+@A(cIUuDJX#epyWdY{6+y8CcO(*1kZG@$|J)6*D!P_V$>Iky}Ut z|EFz%KW6avR+4CD$Gc|zRF-?Il_;zvTWW8?o7d^{Y_4mGz*H&CE7uNP?Q6oV0^7g0 znYrC(rnM<(xR$!D__ZGDt~VLE2vZW^2<97mwU0Xek(qH`bXK=FZ;o+4GPau|NIubG z5-Dnx5?zt8u0XmKriVmE-YrJhpen9QB5vw2iHhGhb60T9!2boOFDTVN-5wtlFrm!w z+l%CRw#!RadR9fn|Gge=lMgm(_c_b5{Y@D%QYOHDeJmrZ^^?@oR(~+eOum}PA!3x`G@Sg> zlt9Jh%(Oe^*b9xyyAIMG&z6t>FefA%teKJwqMAPE4tli8KNb72rhNCAse;0EZV387 zZW(gys#9)DBkNnA7>0!E>fY!GF?IywDsgO>5=yr8bxo8lRyKD_aDuP|BebuXfjy`) z)TM44R_tVJ(+fD2V#~MrmX(>!DvWxA+-Td*!Nlcx~p5ul8FxuA}rUP=Tly0G)5O>>*p^aaHJY> z=HQVlu2Bj%;q2@PO#~%X|8zf9v&({cE`JSxdAw(Fyc%C26F+N(tc)Tlhe=V!Hxc9f zdF)(zPI+6x`Q=0InhlTvB|v+u)DYOHGSzst5}_6(;Sapvaq7*Mhz$@xXb1l=HnnXYkdKj%<=@8F~URwp|Qf(+)JJgxQ2U9o(;=F z?Hcf|S548ZECX3omaR5aKgWw!C93Mgavjx%Nfe&jo>2X?bF) zS+$kQ)|mfv%g*SU6>aja{HHZkUO#v(e~jyZyqX$E3tWC+H$6R~g=Vw)OK&nph8;>b zRCG(01!y*FeiF6^4NUvE%BZUPteq`=?DglXBuyvNUw;9P2Ek>Yy)_kJ6z^V9QNqeq zN{Wn7iMAelIhmLwKjoK^b>BM=wN28#HcfBMxezOsgtb4UCS~B?bdMbd_F6|H$5jtW z?{(ZJ=Jb=i3_znuc}=b0^Lp=ryznMNY+r4PGB~2w4)cTZwA7|PKuWg&20i7@ zHj@`VA87l74$KG_rwEq>P-2}d9Y%p~3>P}64%Dd567`uV3TLmH1h<0Qrp0Hi<_!4!XIFE%%w1?xp$HTrwX{}JE10~MT61#<+DwJ?oTL)+JuKG9>i5 zJ3;Q4Wg*b)xceQn$0)>fI@+Ua{LjEbFHL}eba5MS66^gXNlnny`n1j$&Hg&ix4q$g zCZ`^%1OQoBoyfB>azl#UV9;&j6N~+wI z(@kRrjOKv?@`O1e>I!Wa+SK_tsVQjc?s?QF; zxl8ws7;i6<#Iaw$X$swrQWK$`?1o;+^P-iy9$EQ0Iaqj$P^G9Pg{2flKb5z@mgL?K z0gbCTd-$;u_QkyuQ7V?_=_TXdnQoWchKw4&-dhk44p9ZDpsB8GTMTu?adtMIWLT3^ zyn;oK;;i}&kVJW+utKC}_K8kMSzx&*TGPwRFEulEZ`_C}7h?|c(J z+*Mugv+||}rS?*&V1+!={3(+W>^3O>2kXXDQ%E{BcaevM7}ULGnrL5S$tna*em{{| zS}%jNymAsjCyziq#e|Kp9`&*UP|^G%m?P~sg8VXrNtu&dONo2pi-ON$bt-aPJ1`M( z;bu5eQ@e^hu{7WiIpy%&5*PHwjPbDk$IYNi`8DnR+4HqwifniMA{C{PzyThpn5Li+ zV8cT8(Bm?IF-BDqm?*|>5 z-zEMda~5fYGxUM~xQu_-go*8-dncrH4+G?2R2WWuhoDau2N!lrPCT`%%28KfPrQD> z$R-9xKd&CVJYPLt#J)?ZW5}feRA>mKsY)8l?6@aHNE5Y7x=qpr-n_yk4koxbdzQ4K zs~dQcD|H4ZBEJ5psi369-iu^IjIt8k>_En-4&Qy!l9>Fl0+wuqk^*rSsU$FdpHbUJ z`|eENApWs~8|Gpg)XiYPLOA)W!!2Qoz_o?Qzh5Mk_ZjmGYa|FJXBY*;VSXf*@#3Xi zKj@vSFqUp^+s*`vh)sD}2-%ogPr#3hs=7pv?^$4hEk37C?l1oW9H`V$Hn*88`IirG z;zKB%$+#e=nrvZ~^lGeu6l-l>^D1#TytLDo=u*wXHY=os#-JU7+oeW=M$|2!PTOTr;2>&fmkP4A-8T-5~y8CD|iPmr% z7H!>UZ}oND_7JP`caAm*{%^-m$^r^EPjpm6w@*V~{2mG)Dfx14n_w`Q%ddbag!egK zoawjAImdwZ7RHv=9panpLh#%>g^=CP)5nUtp^|(W?FEQAMxVv|;A(ZHZn&W|ZpH~%}e@j`yoMN|FzwKK)#sI4f zN>!H8DW7ZFa|ju4RSDk~EKwCtMmn&+G{@S9%x+5<(k}$W;;7ZClufk$y0s# zk-SKk?Kc9WhKHR?*=grH|AxLP&leH=+?L!nxFHkQ z9;CUArcf7zF44rOHQ z7Lg0*R+%b}xTJgg!5)DNwD*nGw(K0Uzis6DPZ;B!|30?yYfYcU&>+NKWGh9+uhh*U zq9fLM-FJQbrzwA^R{gKwdv#@eMQs5q<%=Zq@)xxp9t4a*2h!&SLuuFqxG%puX7!n< zOyvKGl_9jQ7x;+&`Sevbuwr0hI>#;KU6DtZZg`pbysoyIg7B%w#<3bs{!!zIYnSxW z@nc=@#ZIYQEWMLVGXcW$hpX3g`rVwgNf`Q&K%9*TWw(ldxi@O%$IJbA9QE)bD=j;+mefhQtfmhLnf<+jh;oA0d0ErI-kuMt4#x+107UKZsKRP>j- z>`qU=d=gy<*^yF6`O8~o(kAmVg9J5tP z*|Scqj znRyee#CKgV7N}?I*qyCouHK3tw(HZKLT;I&f+;-0^O?zdf z^j&@9I`vHYwfm2tTm@`YIQ@%Qq@s?F=alI#I^O?vX!U1Onjh?;k+L*uXKuWvg#Zu_ zWOq#l(OA;v7HALhZ<%8+`^4R+w#INhJPcV$^{+AJE(UfiYM*mA<71Nf#l)cxdkv*# zC2Xqwr(WULn$~h|Lv78Bjv0X3L~2wikB)WZlH(=)@1gKHN&V=z&WPipTJi<^5vIf^ z{}-Izp}ZXmMP0{0a5RcTyK+5PAuQP#*9?e0%dfM22yx`iYsTRP+@`3 zt#P$K(umRJybApMlh4M-VBy^$27X-Cf|F-M^A#mD{PI+mW4>9*d_a;2cFFnHcoSzU zXMI*r(ky3#-dOz{v6HI06VVd&EZA6) zjKM(mEGZ#$jE;Igl_vQx+2P?M0X=yXYmw!~or27|RJV>H&3-4@b7smGp|cEbO^J!T z58P?fvSMRa{0|Z4clcHygsVVANW|ZyC6Ul*hkC}7o5+cNR2Qd}2xEOp3iWbgl07C{ zv3NXmLSDj^qs%mu-9G0~(s*A;%t|BgOZRg>Q>?y{Fgt+XrT;ju+dPa3f}r-OXkgH@ zG8(>TR63P+K27_eChBrxfuF_5##9kNvxJBr;#-`8z@L*id5v5gTv_PIj}7<=RF+h1 zLmDh9_d}&9S2}-LYo&JIPf1!SWi(Sxd#vOaIsYnQUTL@{jQQHY-D&tg<^2Q6dAW5; z{ieK1m?E@nDXwP@kr{IvJsSfnJ9kMuTGS`ML zxyIg`EU%S{@?_L+6pRUY@0AqD>zO;_{YavD4&NLk(^9;R4Nkk=`}8j66*0_f0Wzj< z2_~;!-gcFZczp_d#2xV3;L^|kGUg^yf6MUfjSu=t{)w@{eHbhITb(&66-T?Snh*98 zL%VMdZ6EZUaD%&#a^6`Gf}iSq&>q1RZ0?wJkYh5>9byxMqn>W16inw1(p#&TNzW*Y;~R&p2^u#~8^Lzw}GCE`*bvh5Ac^pF>lOI;Il% zi_<&YN5!|b%;fBm1v=9+#Q2Sg;$ z+99?(vs^w1L2CMUR-itn$@nwZ%#T8n3l}W6GKr2v4t&{=1Bgq#dLLMh^vlJeYIb|d zr>(;|qEfP5#^?K(U@@S%&@Uiwsooqx=8|Q-0*n6@N!}6~Q+{{Gd4~P8jFR#uycC^e zre*0;XZ}~O`gSNFq@Z0Rsm{YLfmuu@RR(CksA6ldNmmVoAb#5o?6MLAT1igqy48P< z5sW;H_k|Ig{|ECi>HxvUpsAcvVDA09 zN)S@o(che6(vykPT^!#ndBwYzBflthC*IuH#zgcfK$P^1_B_B^^m#m;5uu@%`-ja# zcoLL@Uy3vT)_y)1CX}v1#VjYm0hv5BWvIiWfCebBQXSpEXNqV{%kw_{-B2Orc%Mvu z3yE=g!g7_Zp+!sA-f<2W5EktS<9VSSikkx`$35pH*7VMB!CGi2KZi*HvXtBl;!6y< z|DZ1@tb{F3(O(VrdM{T+oL8#zFk0zu4Wv5JNzhU(fdf}#LJzI`rhRqauXQut#lRIy zycj%aw5j*&K$7j!A*F{VrADt@tiPiymm^_QwK-D51Ij>?%aizKN+YClB2yPowP%0i zb8bYjOXp;hRHlxl6ez+1d#7KA-S)1c6Az{3lI5AXodxYw&}8g3aOK#7w_v=)&%GS; z?2Z3_o}Yy$W~MQxoE(Zt-V*^Lqb@Q6@DlPsd36~hE_oDg_M$FWJ2L}?{s1WBSUE=T zam#}gUNp16z3bjRc)0YIv1oB0uBji@gY~yqT^jF59SmoGo8R?*9hN8lsI3D`p!2gA z(TG}U(+u`P_4&vuqVk@o3f z9LyHdywCF(_bi2HyQFx*t@(idry0*Y-2YW%M|mHd!6mC0Y~3D;v^1nJ?r+$0$J~q< zx3TlgKPcnpIbX41Xq;u9J;s)ziAAbUd6We!Ql(l*@nle-8h&O~%0*v%89em%;2O=D zDQx7F?eL$P!+9t+h&;-PY?>O=t*I^xD9d7~CbwiUjXMz)r&;LrfCRrQB{i(J()Os$ z;R4+W8 zX-F8++ysm#)+mqBrU2@<(pPPn?ZkEAqp$z>d`RFs`|WbZgxuU>Tm1;x{|iZaq}&RP z;x*;)K@K!^D+4wokJvT#47YleIp%P7Wk#>TCJng-6q79Vs$K%{lXzabq|9ST#4+mO zEz+LPbh$LC@|mk)$C4KmQ?R1?aAC8@+4oZY2=!P(gx2HuGB!ek*8q6|mKRGqoKj%; zOgS1uWi`LI3NA6Wt{WX$d5ve2H(&Gqqg<%PNm&T)7Tju6%$rv^Ai}c_@z&U9CcDJR z+7;(6EOGle_NBctO8u~mTohAzxaDalbI01@^7YHzNGPjw<^mzDF#zz2lwM?ED1(}x zR?H4;QN!#YNFXyhdF7lPl!5ELP?o-hZ{-k9YIq z*s(my)0o>WE-S-iwBLR&ORwY*@01ats(|$~Rm6K6i2FkT{L*-nO3DN>nz#$* zV5IeokTD#YiUYNB3c#a7Z%pk0;QBB@fJ9wAy^sHfl;&WK0^@Avf_WaPZy)r{Iu%s- zT4blsl&I2M8mYUf#1{4er?wu9NnbNa1J~U3EB<2qIr zegNyl4THMMl$(B?$ng8Ty0XRv3YbDjp#?T&%+$EULDAApcyD$%z~r>8CYG$$xM_ zC-Vqs^i06JQLV(bwDZ4wLz*H;arqYQR&a{fl$BXs0Bo2Xr~fdB`^+&P80%@q0i%2G zM-?P1MXgwJg#$Na^#Np3bGa^n)cr8aU=*7~yT8VG2!{D4bLBb=-y|G3M}(OShT=pe@6x zeI_=p`^LZvBuy`;Q$s~SCzwCw5xC>~()hz-=80~#oJcck-?)2EvGMqqoX^j>>1q#~>{LDaCGTjIi*e_rcX49hDSs&p=JnFhjyr61 z)3tDhd~k|xDQtU87*~V+u`%|KPSga1HnaK*mA?5GbG2p(pwv6Gv(e37W1CB0`CjP@ z!GyQbsD_wpqul;@>hQfZbD>c-On)Gd)fw>rB%Oyl8|wSU?LA}f6)X1MO2j4-BDPww zt9DU(j3BlkHYHZf+6UFv-qhahsaaH8ln!mr`RVufH@w$%U-$bw_j7-C-K!0gtM!QU z)%D5ZIeN?;2P~_a!~D*1n(vTnU*kN_E^4IBD2+0F&)ItvIZKtSdRW z+m0jO-;eNc65V^-yzh8v-`kIF_(k{&2$Vz=$JT+y!^N`k#4~mHn7@ar;n6ggEpoqE zJH6SK0hsql2pT0)Q}|9@7;A3zqocxB=AIp~yLPx}y9mp^;}eB@*J@PH_(%BzL{Mlj zZ!O7;on+onyDd>?2UA=~=H_2oKf&Q6lbLLGpKDu5rhnm*s79Fqr$=s&^3qk*3u=~? z33@ysRMUE&OkAtX#?S~6c4-3*1q&B5yM%y^7{Jt5CW0KZ!~Ru|G3}O?0k5$)m#fzn z-T6!JAL*Ux%fqvI6*_@C6vxWXq0=S#0Zmr%ANL1#+J70R0>@waPghoe9b(rse`=>h zs%uVf`H7WK-|)kicsXY^vq%4S5wDd8wL{FdCs}$s9^u#}*1vyXuBer5kcC7+qsN{O z5{Bwsbj^wY?2Fr~(#(NbNAT|7k9q^V_rL>^=;q#ZoDRSpshta)7%^Sb4^Uz_{N_^qXcsL730oOR0zTBGt0O?pr7Hiy($Z^lMmna)%hvyU~>MVYbNbJ*swg!bDo#6y<#Xb6NyhRhP@8q|zcMyb%FlN>1uIYMn+snp z_wy7XT}GlmfyN)hf4&dxo4a)_wKV>GmD}8}P%Npvw~+L$&_qh9u|k2bz}&PU z{@5N`sAA*kkpObBNv|tzS{XL^IQQEvju?{h{42*c@^1-fKerWH#gh4jp*n`Qk8}rEWZL~XS@-NJ9?|<-m z1UpBE_dR}}ah?Wg)$sdg{PQ#8SF}=2%i839423_;RLxJRo7N>ANRH}$IoAKf)m~@} z{jNYoMEu{h#2#n=Fu4hZIWuc%&Iswu9CB4RYIkLiBv3ig?F3$QBUBZdZpN8ho)$Xt zFcofbN+-{SqkR6w&?L(OZ#m&jzMFYfy_-24U0wCd)Ibyqc*2+Evz`ZH?>iv3#IJc?Ruq*Mv#*!%4u)p=jTCwQx_9$Ut_9`aM+o|Bw!YOe zn=F)Dt2Avy!IH;+GeLEnqI}ib{iwTP`i=Ny|7q;EN>oVN?PoP_tQyO$4>ih>*=zp! zn#KXDnu7ewR`Eu(ZoHU(+NgpW5IWt%=vs|Eg;Rsxq|_x|g(W?*Pc|+0SNK{%O|mOd zfFa@$HlxyDw?F4y;`dhlhuYUfvDaA{h#->T1$e|&bPf-xTX^dzTWd1c2=fYMzor!2 zY)g@rVmMYafMhU|cpVVv?7hHS8tR%~3_WV7yk@ywNoK}w9Vy8Z7ER@^X7e;czRso1 z0wR9r$}c9wfHyS!;dv;B^Fz*Vi49Y9PI&^K!y3HLsV(W%SuZdCOi3`|70)njH22{i0Bk&Qocw-k(K{CclpB zxT*BqhU?ik1QAh?1g-jX>>RZK8cf+lW;TwW-OwzdArhqR2o3xyxD`JrpzUJW}w~Y&zjb8?C#6^qDSi? zj~Mar%m5}^yvGMS+2|WF_{KY3aBze1HFNCVhp2h$+sRuXbn<`rMDzVBz_iU%=|~(%z{~?!nFu@%#54vF|iW@g_Ik1+Juo4Zg7hqFsQws*BO=vri6fqL7K%r? zz9x5gC}0Z1FM6G#F~#9`cSa#NKB_Txwa-47N-~ZZzb=eZVm}#JlHoyc<-IuLJtJt5 zg-Xw|7$yOGi(2)|$KB<1+ zg!t!S@ za&M}Pf9mRDs+=Qd#9%VRQ-wQ8|6onvGB4pmMxu&o>_3Q`7zgz2J=evrEA`Adb-}aA*iynrQ!s$|E-8_-JNzF^Nc8`UuEwo{YtF5Y5GSw7)<>SVZ zGozB>c4W~`4pGNhP?iYl z=k+~2T#Mt$ak<^4Bick;JB|0E{xUH3fR|ML`f`fI%pv*=mDRJ)pp14Enor^kFNbW9 zIz4!eG+{YKIVQbd3amNqfQ7m{dxko6m!i$dQPFhP;;uJwQwA|2`6M0FL?+tG`yyW| z8D&OdNPkjh6SPvXst9P99YQw#k&;-P)A(TTr2tQ?U-+e?*lYhQzzm!7ps5uyde0J} z(8P^O7KM@hMP|=`*AOPy>%Z5Fde*FLHW`=N;V~q=*54k*yyGK#)8PJ?*#sZ&&sW+i z*2(%z6gy}*PElWN&v%bGexDP4Uk6?9(K=DBCoM2^D4GW^$*1r2a5IXIhSqH)V9wo4 zL>cQw-~U+S$S4CC^2Q9Yu|l#qyNuaI-{#auYFcCmwq>Oepf~tbrqU0l zRXyi8p_8_ia{rq|dc7p@=MvG)XtK5W*0sM4FvM&U3P{9ms<%SEfI|dNqsG^u%JnJ- zpDVQPa5q^DT51tVZE&7IK^LN}V@tv>V?V;o2U`NWx%e6wr_*9>qwMeDkva8(gvmeh zFf9e9f2(7`>0h=^QsU?~q~`&)B;SzF6nvZ|#%W^GCC11Qm+k)A`0PeQzLe* zZ&MZ2>KLy+rQ0dg`C!htIp=D;ak?0LFvRV7sWG_n(Z<@Qmygerot{{-%drjO)5=`U z*K=*S2TiwaOH8=74f^zJoqXo1cEzROtm?0X+S4ONMUog{mO(o+X&B64|~rK0tReXB0$?HA(_!!ndY>>2wdS(52W-^sH_cFGR*ytD@O)c~ZIyX~5V zV2?C)tVciRm_Dzu{t)_(x2BavW~nJyo`Va%u8)E0-xD+TP9-PSsl~f$vnLZZZtsaE zHP8}@BuxCzFtjPbeHY#CWKBEfs{f>Icl%3D=SpyCv(q#Dh(}->G^8;r z@Iu%Tw(_!N9{rJnrV5n=Ha+G%LqAFo$g={OX!YX?i{}sG%I!m!kDg^u1BN|U)<8_p zXjAC19`bJq)ZWi=yyNBdr$cw{0q ztu5DA^}wu`?F0Wq>&_5aG+qMhHUtYXb`@V79Z3`>WbtLPNvjk-)m!{woZ>$fc+yu z&B+GMwP0jy$HhtFU-QZ<;?&RymHyfJ59t97R8KYiEv=T+sBau|@STVS4mnz|>yo+p zww83@^)Mnla1bG8zwrs5Ic%futfV=xHXh$PG7dpYT(=xQ z$GLr#m7u4C-w&W!Hjc0Q>0r*r_sES>!)V)VIvetarK5F)_`9H9W`QLj!yjfx`U5aZ z+C>6y3=EPB?5)WAU8>+F?sjQiLfI8?#0cQEUyP{d^0S4ggxFkgawRm#&4U(fN2hjSFG~4O1XJ5_Um|k@cRlD zsom9$brzXHR0Y>-r3JsQz(-EihuX+ zAL?Z=X>_OI`E#C-5Yy$uEJArcmz+|yC+&?X=9&5k$xM|$6Mo2c1PvY$D(x2j^J{HC8uoEx^3s503gGfm%2 z)Yt2xw|KOa=Z)Ic}g7`vaH<$Sy?WL?nmOkHcP_moruxjheB-2RRe^O-P zzT755E%KF{`t)_~HWhVU@t&@t#N}BuGR5TvC3+W7EffM^D+&|hPwWz2`;BcL;-OFW z^BT7Tu0oqRG{vRm3?3n80CcQT(G4XWMXjNe#y9{wBqb##Wu2e~U743*bhk%Whn1+@ zk04xJbcX;EQ|e7O#LLWBN|l{&DR}e-XKHN=Y1u&?iK%mJHsvEtDciCGE7A_alRUJIz*legF8L4(E^rV$UlFfuD4CxBROdldf>SWxDrtT#9v~-=DzJ zA|+6*zI;-mY4L)h!X5(o_%p3CE?Jhd0ZQ1(W4EwcA1dj9cSKGYE6e=+Iv{&LYGbhP ztJ0{KKu4{SIPJR3PO7q27`3AXh!vXs_SJ(1K4Y z`#lyLv_ib2w@9~E!yHA-(=#1uL=l19hmXX|hvO~1dUd2tdmfE2Yd z=uYiXUkBNujM=JoJxs@}rC@LRp9iF)yA-!CFVQO+|AxAhk|ZDaL&+#MphZmZO!}G% z^&h_;eQLFR(|h@2M48M+&!QS3DL9-+ZUTag`K}dUjy(JXUCwiL)kxQK-5vTXchTD}<%m)^8@2F*B#nM1l%naNJ*%e67X1M3rNNSbVdi#oOE znNG{9Um#5h;pPPCnQ&7@cfZ#8b3>YDSw;aJV?~ZU?`d)e;!zNl?1R(EjM&R}hp~22 z&m`;l^LSomwOiDmN*eTp9+M?Cq}7dyK$NqFFelgWSq4)MpbQXB|9(VeL%;)8b-C79 zB=qzpQv05ZR1jgCcJ<^2M|h`eFPGiMsl`5q{)a&QY=i^{B3mX-FCCE`|Wx9Da)9*fi*^AC$hwS=mD8>c_Y`N`$MI< zwCSlPRw+wsAvlnhMiN3+KMvP_z+CV}JqztcpZ%|Z2-qS1r{J}@b~0>W{B?uq4@@}= z+0e|GlAvz#k$kR6GOIqq-TI{5tBY_>L;>Bm6=WUJW(!atOB80dA4@V(DJRMV#7C2R z5z#KWe+O}{jyAfANG!g##Tl>>rI=I+EYpvJ3qC8sQiM%Hg_^Xp-m92dnzd8XGohIT ztMQ-mraernBWIx$hLb4a$ev!a3GgsyTa3${1BL21he=kmX0GKBjK?FUw}MilVx0tp zVJ2?zy}Xz>NrQ3(3w>!aOBRkImD*2bMRYcAFxCsTPeDmxY$sawvahWbbWZ?sQ$0U< zIUg|NDXZ6hem#GPWjD2`Gfq^M^O*9<+Uf0TDyGBTcXTA5nF3I(dg7=JC0fU~xN0(y9FT2d$k^fG=|#6wAc`g`RW_raJ1gMjl6aNlt+ z?|}46gTwMGK9(Jb*_MW%Ikoex@2Vq~Y*F@k;JkH|rP5(&NjF7Ln3PKBeQA($tVOaN zahL#WhlwNRn!`P5IM*J1NyzIWQ`Os|QNgbi733>g3{ID^3xe0hj2`yn zm?%jGrD*$Vqv}lmb%+XN4TLRu5gZBH2L(Mt_6?vs;|SE>EoR2S$rbx$ww`9%_D(4p zY0n{QV#%XZ^UKJy3xA0nVL^F|GIt!-%PKddIBh$`X1WN3SB01ZqZZMskas4@!nbq) z5lC8{k$#9Nljuh=#)QN9K#wdgn~{(Z+F2pJV+@;%Bn)lwQM^Yvv%H{bq*GC_lTG;L zDQ)Q8-JgjC`vmC=6>P_awU3Z%4 z8az~O>be;&D!pGxetwxAj9&q=#b21c6#HaWXw3fQ1-(=3$HrczBZJXaoOP~&Y5L$( zp{r(b=N6-pm0AU}8xhFTsWoH~ZxDO2wf|ZE$qV=X@b4e?tb;Ja2em#1`yPAFb%1ac z1N@g2wEPXap7z{?tca1}$I^!;`q#75Sk~D=JBfkq&Ycl>`c8eCMsrgJxnf5Ipg}@R zQjp)V}`zJrr~MAE!_*u>A))t(5Wm z&MCCW_Zg@=ha=Yf(49iUz-jhX#zoPP1@ReU2FJ!ChNvc}oyrHi)xsT6YxJ0>Lm^S7d&8$)m| ztq=l9*{7!|29&HNp~@vE#*cIwr_&l*lOO`F4j!;Bfzgc;a3yj*8<2=DF$r-VEBRtA z95J(iHpY?=1-DAB;g~;|ryvxUga^{DGh;g`m__KCBz&^-WTBgNA$%#^BWL)iZA%Sg z#>BJ+&$%@O`@N_!zW`i~2Y9ezsYJ(Rg<8RZgk!(5hXSl5(IZCuxCZjjuZNtw5Yr8~bO->)GzF74Ma>?n>?1TF2Lc`nZ4`uM< zODy-T9AZRkI@6i|oH<0S z^vnA~`yJpRQ-ftp2M0JtpJ~Id&{nb4DE!&X!>6C?%`y(Ye|b)u=2;T$794J6&!55C zpkSHBp&_69ANx#QilCTKu0<-!yOEL^%v2ihk~k@J8^t5pWPx)lun&>K;?h5A^d4 zr#Bd!1==Z*kOd(58tn|oJ}+nKkernJ9(Hk^9en%930^(~{4~0HgXAx5w#ZV@E6|aF zxE$x?77m7&cZSa^q`a2(h8b;daOr3dEJx28e-B_W4m5DluuhAqIcw2yAbl?*V{THa z8#9fweHFS9DH}L-vr+Eu*E5c}BkT%Sw}*TX^3Dt0QL?@Uqyg(szOMjuY!@v`OkpXR z>?-sb4AaH27iI-$W?rvn<;M;*F>&K^weu)5t4${3Qy|6@#HaA~TYH|b0A}--_|XCD zk*AM)q#~R?WdYobI8$^SX;)*JZR3-+jUa~#Njvt#qb6DP+028gpFZtPh6D(&XoAzI zpw-Jt-fvr-K@&-Y1qRv=2sv%!7x4=+shQ70Y35LPkI_4*Bht&`E8FbJWAAK7eULEh z>PYlwQ^zUtOjha7Ym2b5_3JlM_`D+7-7(C>TZl5uq}k`%+H zXyS8`BO4p$pZeMKJqEIFq%NkI8*O*i*9sb*bE|)rV0d&aa@Rilf}U<9iU7q|19Q8V z&fq$RYU;vU+uXJv@_)RN^wP;HD*f`62@9a-a^Ot`I2rN%2_*8^|n zeql*BVci*~TpFC!#BW3lg5k6u%~eW6RH#@4i5cbfU>NHV;T^G5!SZO}goQQB*nn_| zI!?cfU`auZbSL&DW?$D)o^#vz&&&ZszX33e+%|328$hCOA>5>-fC{b*l~wFoSiNLBn=78(_;B4s?h zJ-1NqZ>Iy%(gb@Pgw=;cVY5I0p|fr3}k5%m^vRj_P` z7idLKJtPE^Hm53>|H)7EOh#QJy5bNv;fxb z#wEs?GNqlf15%itgotlRzz|du5P%K5^IG6NLg<^s;bB^{ruysfc>_7Nph^S1a#ebbRBguiCGon+T-v}f2J`+-Q7<0e~`yFQq z1)&0j1=|@^gvRP~SU-Yu*9rtrz3rO*>5wQc@E6`T*+gW`II=$_{UpP`U=5VTy`I7H z6~+6?0te;oQ(}=IwBDi~q|Zc)pJ8knmtqFPF@TL!a_doHay5A6shncR5^}QX(ABZ` z6ivmikj%EjbuLBK@`KPT3n{x*EPbVdu4FYY>ui$Q%HH{UVS@08BYvqX(26gR`OW2A zRP}Ia43;bPP0dmAxh=j+^N%Q;C2$nnG2<+t`ZWKe%hvPn{}BZx(sli+y+U!pFIYXB zvOJr&pS3gR{cf4}TajMzPQWEWEZA>UBy9!~S`l27__%~iC6t88LQ2=if|O{M_G_MG zf%|BmK3T@gEL4%~PbNW{@{SbQI+|1K&cb!V1@M9uq5AsE(d|)YJGa?%$x|uV(YK}} zmhe`sG_Jt1Vwxkzen#tIJ3W_fHyjSGeFko5gWPAQNq`tpLk>(Bq2B9=B}VDMZ1Vaw zZm{yqk|=CXlTsyv{er9%r^yU7Sz3YHMDOH0FUwwy*D?gtyL8Q0?%SjFHA|=I9(6g%&(sCvnLIp2Z9S z1nsFJ-a@|Da3dOVe4*8+e{ zMaLmu23ACSUYEMtOo;7Wi;X@gk7ZjyNx%*qyK1=-ltN@C-kG|0YN-nQaQC5_QZgjnLnZ;jZu+&K zE9H!t<~`G|qiH?dGNdPf^sNUoU3 zP4^o>h%r-+5DE!}bc|R7tMoiu8vrhX4Eoz%$LX1L6~5D4_i0x7mLwwB8SR6@SB#~y zO*wSE#>uahn--l^P5g%;-6rCLM&f-B8OxP{=w|{#Y+O-8;|yH(ou2kh4f2)rOFyPR z-k6Ovem^k}&6wXw{|y$k6$Q7)$9IZl#AFH2>H-Ogglg3h&xK17^2?u4s2 z8EC!;o;vP_fr`uw!LQ64GNdID_@7eEk~_PPw4<6LVktFI#hx!5Ht{U*-N2h4>o6qsBI+c)vI%9*SCotR4X zCIB|Up?lT^5bCI4O}W}X-q^HVHjl3j?0jiu$radW5A~A?He9SXpy_lF4)d2XW_LXj zWj2h`aSh=C72rv7r{rfA511{RTI}ibM3z-0C3)4e_R;|oi#s*Ja6?YV0484$qh4CS z#9zR4qJ+ST96(z;+U3tzt1s_3QeeYWu24V!cNgkPIgUkac7kqd4)~Srk#c816Z#i5&cUOO zUDYBvYymHM$PfEj;ylQvA(|0DWt$KwPJj!41mt-rs*J9Q7e6i+sCWTz$18V7N$ZZxcrIhGrnpGl+{wYQY>;qM+HpVU}n4891_egS~Ie?P@iX%O}j- zFyT6mwvfJYKNW7KcP})1>eu&)mz0Nc@HSn}kiE+}V~UB-d=>T98>~b`(>Nh;HFpDs znT-8f%0oDr+%9=rugJ55kyWo=ptdTK9KapbG-~o2Y^o8b&q)oDg3R6M62D?f&K22f zbWEuTd<-Oq0PsKxAgA)zU-1W;1eFXN)1D9XXT&*0r%Mme62vNyq-+ z3wmVBT5dIngJ5CrXaY(wGz?#0%&F!m*mDm77Cdg#m@c+(hV`yOK2cNt4jUI2U00r~ zxBr3(@)h|LX#7D;6_WIa`Vc}F{J%k?K>giHQYUw|dDvaFP@Jnic%Yzg-h3U%E3GA0 zDr4(;&6qhfCVn^))(DUV7)s0N*!i_a>R6>OR{JL7R+8GuU51#6*dnA8-T0Mo5;Ys!6Ms80oc6B1sHXhIpIU z3-T)>@2RhJ6{+X-EU8ENI-02}5J^y8X@s!UuG?s))Y#t3Q59DU8>b2X@mNYQ;jo$e zc+4kzQurX#G2=BJ#XJkyKU6vTxM=jXOx+Q?7Cg?jn92)=o*~?Jnfd7%c&pF8n>1$6 z9P<(eP^=PG{Jqoj1tN%kA(yChZ1J0W>R!J=qLYEy7||O>*nh8csC_8S@cyLTMut~S zqM|c^xLQx6!5JdA+1c(eMY)~eves$)1WZ*>GW z>9E8D&YF+}7F$g>Uq4NEhGwx3vDXHL5_Z5u5f2SxsitUReHDwXtaRli#GZe$Wgc70 zCfVNnX-2);IDQ?lcDFp(*rLp=UY8n>WEtQZ@)oEy zQsF4nuM^SxM+TVb$y~qhWkO2Qlvm2$XQC7|(3b(Ho^pI_Xwh|77lE)d8Iw-(u{@=*)p5^n88j06 zBxIyDO&PSWA&c3*eR_T%bzY5lE2gzd`k+Gg1`Rk$uCK49J2zL0UJDHiEno#&Qt-% zn)*MlpjF~YAMJ126U)+#3JMvW)JZ7`|wgN&z+9-nJ6s(^}w%YFT=;o<$Y z5irfV>HmyEJe6bOkii`ZhN#`-Zln;!YeY|*DZiDJpzj`%!hNa0?x3SC%0~-w=P^2} z)N_m_oPE;9+%O1-Y|l7IE(@n)xWQ>L3Ui~mxg4uKnh1a8t$%7sr06^91<_yG%`oUi zxARyKlRx)aWZkOix#{Fmp}5(Y`@;5V-YlWgEyYEYLiBgFP zi?=AvNYjvRz`L^oOn9(|y;01)n4>f{5c*A5?}=`X9-I2VhB`W;th2qrlU%7Qd<5|G z2G_ta>b=l=PCnH-9#RgIy`KB|<*sMIY;5he%2-#lttZgDC-$D3q zQT1)NF^PCh-}aU5rfs)lNj5lHe0K_Jk=0(qSN%qUhMzEyDzUP-!gn@5K42jGo5!L+ z+3spVo)c`e*Y9pBBXaC>j9&8d+mjz(`z*v!4q8I=mJ+OZg;dOYZGZq{mbLN66jZsX zhLq+a3UYGx*Yr7?5?X0x0OX8v0_?922|$vCGcw(^{HNMQC%rV8+htT$%hJ z8#2}>@OTtG9_pJoOG?WNAG;TGT5D*8%80cdD=V;qCXlVZ%oo$&KKkq`D0|*1=0&4L z^&sp;Wh5j-W16}51u4o_^~H1xrHh1w_fR%nN`g$sH;##| zR*pz##AVBG5krTnlyS1^4%AUcSku!#c2*{m1( zbKT`hlV!*0o^rUZYjBVk0)43vrMD8q5-gn&h}TXynN zX`*VVy#v`yNP&wy$=<-TKvf8j|FENZ6=`*W`HHVuaHYtyu;9y!VT*py+F|<-aM^3X z#T#Zijr)b13T}#2)~EJ$u>nsr>J;aT^P0vp8+`9W3(WWzYjPtRaEq`E0$#F9>nres z=P;ak8WMM}adcv~V8jMyyYCUEPA2;PXy3-L#}v{t6;#)8suL~PQ~~eAhj@sd4KS4( z^5)@;ulvkkQF>OFIW@yK8Skau-aKr&_t3WU+~6F_x@$`^_JN`374uAKWzph>CK$1G zn&;tQfAdEa{!8HOOL~=Lg@Q9KM*Uen@N?fW<8<=I`2L5S-Xr%zezo|qC-g{2+3kZr zOJ7~+rfHo~MR4)(JYqaoR z5K%smwVjO-a?A^^;^DBjVVAF0mFKH1sjY9F%|>lI9rv($tmkIB1id}$f0@@y%cxV5 z!aP;^^5j35V~FIVw+Npsf%bv(foyT55wW+3;*OS*lwjTXf~<2~kv(9TiGRRJ#Hc$t*UeG|kQ5veB%ZF`j9S}A>kT6X=`gH|(o-h=MVHya zlnGx$tBp_7{hoH)D6^(q&#-}d7(rAi6w?GKX$CY6Uj$J!>u7;!kSb6ettctK4^+-Q z#W316v6u#D5wT%4qT_nRrcB(Od>+^eZ7oS8);XkoW-2PzwUvjWUr64E%07BzSN|7H z8Z|3)ZA~i9KcZ+*|`9>qbT;Kvu9q4e$$-Z$7^s zsawZ((XDg!wN&<9UhSH(O|%>x7)V-c@-5laAzFBUT#{}&c;-KE(LRaT)dUsSNUu9M zYTW}I!K;-eiT#IyH2?qt*#SIIp1Y1fLBS{^SY72_IZ>uN#I(hhw*)zuC!xifzvWq~ zrzT+>0lR+>6Ct*~SoMZW3ajH@mcPt;RKe3BtF8qUW?>FBMhKRbmr#leMr}Pl*@bA7 zQV&NR*FtsjySh9%?d@Z0Gk4KJO|$7e zQ`Y~?K#E-0SNoxN6EE;^X>7b**Ou?_BWgy!H)1uOrBDdW?kd?zP8AD~%Mj`|B+Hb| zViVKDOm~q!7&XQI>7xe7TS6&{-*Bjwo3Fw;mM-rB}OA@aPB2V)2*7?vJ~-*l!j8L z#GwZLtjl_wOztkb-xpu9M1|?0izfqPN(am*(Mn($?Ft3^Vy`_a4d4jcO`LyVFE*(F zGC1AM0^X-&;tAkU7VJG6(bow*)ROO9x1sTZB%US5M#c=I9BxMe2N=&E`|D2tqy_h~ zlG7Ge1mIjT$?=ELP`@#YMvGEkR|Y*m#;Pn&^r4?sUUskIW^6^CHImFY=}bF03?B+$ zA)fdn3McVuk#}th(v~))i+4^T?XD2!&zuoE+O6-lS1$iUczHj9c9;hpbi5^`9F^OT z{9d4|x~wRBx9=l0m_Qe}UOIGB5z`rBILFEVIV!vr+^;uC{3z$nj3Ad?qjF85#SnrZE?>(%)qo`?r^|844)k1*G!|i9GBavqpPRw;t<&+JaeUTA)TDxZS_>6 zRqd5T`+W3o53_8N=}?iehygAN!qs>Lq3CI)Y_vpQn|Pb%cV@6hwdBX$uIsYS)^JKG zR2JwxI|t!KoLrGzZSaj44mo}1+vL$Y%O)dES!Dm=nWM^k+v?BKrVkr+qCXhxstbFK z(*V^kwoizWMW)k@`=0f`h`_SN-lbELDgTwErvVWt=|M0Dv!dp!B2tHkC8aGH!qO{m zH%iJqp8KE6QW#0KsdE;TF!GBRj3!JRELSk^Mk}Tz0P+n0MAswgRdHtjffGr)zFQfD z$zwN^5AC5a(%!><`_Pd)nl9h2@d%XNaXv5v|e)bma4q ziy-f9YYmeg$c7A1#og3zbe*NVoZ*sR1k?a_EBFhrhB2M3E%*SP^%2&0d)czrtpp^i z^Vzd7`BJ9+V{e+*SWs*+Gfpd|O*MpgX*?g*!73`@(l6a!F?yX>SJzh29F3FDN#qHy z=8T9Qt%t716s_ZOa$aMS3sg+Vl?sbNJat{@O^j5~QQpvf-3aTe>v=&UN(LiT;!vI2 zFrJ9G%KhD1+kk5lIg>n-;zltO7ZD&(5dB=F@pM6m921?$#Vwok>m+-qUK*Eq)R7$c zS(ZlG5%8qRQ?c2tyrp&tclPcF+4n+Y>l?}%7QpmgLu-Uai6R*VH_Q#HCCyF~E<#E6 zM4F4AF9&AdhV@7Xff2T{{HndmFIRkUpt|@$Ay?=l?^&SQi?j70Q0siR--oI;`4r2-;Ca;`wSQvh$vwef;X zOcaA$Ggn{lPFb+EsC;f^W8CDfoX*AXk3V&u=TP)0GFZ%{*is|?o|B@jSwKwWjK;FN zP{r`3Jk90IOFB8#T+2MGW#ZS!B{wAIjauxp(sUId^?*s(TLcxPPixOp{VHt??P+1l zhZqKThQ90G2h6xjQ`10dq;iZzvp~(FT;*)>i5`=PK1V(K&{qX==u1VgYo`I-0@;}QF~a=QG!;&0s}x3t*0|WFx>AgYEg|1bg za4ga@Z>!sHp$I5LFalfqa2|W7#J=v%B6{%EvzH-wl#1J4VqDCYOu=YM-4`hAHfd#O z93gCivG*aiEZ*Vsw{X9!I!;Yl{df~Vqq}ch3u9vE8)Cu$*{oZPnF9kg1zYk9j*{YA z*mNL3JvXhv$R|~K_u2+#h=oC7sQnxaauz%B7Kp^fK~HIgdgK@_v)2J!J1psl`(CfQCky?mRw2$0pgb_NP58 zN^MUHt*E_Ai4h+52Xv|sy}Y9`TT+G+HTx0Fu(4ON?*w!QTsyJbti+>K;5MK_Uur}s zO;8MWG~$Sv5`!+L%+-#ReJqtKUSR+pbXSJx-e5`?bFC^xhK9Y~zNsb=fyK= z%+O4I?D|4c;^5SK;lgLB z9F}1toZ=2onj7~9ejj6USQ^Y%D6$SVwmj?FoSk3Ju}qH~H*MuwhBY>_y9^|%Z)DKUHA#YrF6f5cm}dT>r{%K^Mwq6H zkTchLl4oZ!nOQw!cIS-wVc(eePK;I|V!1F#Wffzd;b7F;^noIq7Rl9;VIjkpZTVm> zpgWL)nu>f$1T5g33{d*Hs6Ix$#Nj(aI#&Up4lFk$rE9hTX2NXwK0t)?@@kIl$Bf5m zwz#QYc!vhNtd>}c<8qx3q1`MV7NOqm6N|~z4)Tyl>gF!#a;|a4ylP8Q8q-3_%(gP{f)%v^Ox1enC= zM@gbTqHu?YqDTVI-c_s|G2PumofZnE&=cJqPLCOb1>NtE)5J0Q2(d$ z#mL|y7%zpu!Mj8XvYJ%5_Y!k9%0y(j-$|X6+cqLUxlS_6XSM|SpSSp&+e$0LHzXu& zt=)(GP4*E1bZ^xULT&G7UjWRK!!~CJwAqX&HW)M7JR)J5Dp@0~3wLgR&*VwZ+5pp2n2z`9TcswsM&-B2X5>=Ik{{&`%l~n7-j8hd?-#d;o!FZU zvG-n$2qIR*o;6~RlA@^gvBi$qEoyIyqO{t_h`ndg@t7^D1J&yMeD(V$+`pXrx~}&* z=asiUJ{X`-DMFqgx9qG*?=-L6)%owGzF@5pELTOnQyzw+ez&Hv3nmC%jtImIuWD{I zWdNc^$3ZQtRIGA7427{yQc}GjucrP&A1bWPBfjnVq$$Pk0otL;lDrhP+|Z|jk+0P! zH*oSxUY)r3@iMN@?;j*UjA~RmTdumi!n_Z?xf5uS|Ag*j5EBouv{iuUYwO`yR&$B`MvkEI>A!tg1s5P zeMuSA&&~9ZUYzVKZ=~dZuvPwzKu~`g3ShKN2zMagl5GY(w~&z0&k_(9$;L0@k~Ca1 zxus6wzOR|#W6}>EeNckGm64ZBu`aax#358=fD9iAI<}nSfwQ(>NUoFG^@p0-MmdorUGmgd&@*2R-wp`*lB zzYt^b5lSoPvP7B#m)t(ZYg@!&+zkvtuZWlJQG%79K8#ip~thM;KNi5a&z#IgBY%dM*pw3+5`E00wctdm30)X3W(2|LZ9Na!;ru{=8QV1s|h+{#ibF_wAaMgI6qp zuGNy=x%o9;yO+yaLmu4X#?&__-AwxYN@U~O3}>0H?PXSRNX?JrWQS1SQ|^baHlOsh z+u=@FxF4B%h0ci7*+vm9XhqardIB#HbkJF0tsql6FJ_u5x4G0EK_+G)IZ>z_rxc&> z-9AkTj1x=9x)}V!ujs9<#w?^0&zYW-Cp1U)!{o58*rSp@o}ifTk?G2USEacf;@55l z*why;I28tj*v@mCYTNUriUi$~r2aTvl`wpJ(8~GG3tR!Ok}wc_qoeMH>?6JQo{Q-! z99`hhM-8&y+uO5KY2uiz^<5*R&8lw}5wN}4jmJWCrMh@l!CFpY$S5~$i&~jA5Y*~z zX&l)m*&K~P#3xtx6dNqwVfDtcQJV3kYwv z2lwx5rxXiZc4+TNP7O>y$QSqIps(3lYi)!5;#sNra!c^*J6F4tphl!9hhkD6UXJ@8(&$kSl6 zp3WEv5rGN*9|JfUO|az*n{=Yq>h#S-wzoU-EZCDZ3qV7th=iikPx#}6?+b>}saC!c zA4;vRa@x*83O=)8<-;Ollfk)Sso;P=6aFkSjaf}cKW&#RPOwQD+152w{;NEdU{z5=hdxFwMtWJ50?S%l1h_^0hjqm|*X+zK z%UOJ{IQK#J7r`ze|Hgo!Jayyu>#U`w@)c#drk=jQkixi(z#n89pGLTLks0Ii2uS0y z&s8L2obKR&`(D}TyUfN3=D(uwnVN~^Z%ER|hV^p{zdx&ia5oF1oU&?GqM?LWv5>Mt z4W0jD-uMC!M+v(%*DS{0S8{IKjbNcSC|fC}ZFAp-H?ub(rB8hU(L7wWLR0cuhrN$6 z<`Q-T1V&JU=fy5Xg0#(qAqY+xGNZ}3+>m(5m)WTG|Mh{rxcmA`jaBqiPK(u)^-j~CHpC!QObS3qdHZ;{GAv>kN|ALmOXpFN(m<$XE1#1P?KdbNf*%nyQC&E0#>-tJMz7k9HF3rX)UP`sD?QW zXPl-wJkiNXN;=Yj+6an{f3RTJ+P`?gzqj%n5!lah1pH#EW_-8K^5Ihq$HJ;&pzPiE z58l_t&XFB&EB{Z()c@c^MeoTjN~?vjLlt*&*Cah;^U2TflIbxL+Ju zN#V>6hmY1?3vMKhr1GGgJleXA1~pK)$0vQYX9yCGktgk)vKdDWGMVp-Wt< zer=a=G9%maXvF=?hlB^EA>k4-q{3EypjmB8m23g6@>WF^^escgl!&aePS%ysX3 z^QQ|ykEL%~3CO@0uFv*6dnsBij?)Ko5ni<}R!aCMbDf{?(<7^~qqHndHs$ZEt~JcJ zR^;978SJ>ChR*N*%xr&V_XqMt0SfuubK=-7q2y5JDARC_O{4Ad(F?5)#dW#4^@N*2 z^}Y*Z0{`*6L<2ck#>2U*#ii{Nq*t0vr8 z0#(pHtDW%onv4;FG#2^Et>pEEnW%E1w&yqzDCIjyPQVx2a2C2 zgi!^UEd%ZUG5zmlP;dDUBz9mSAYBMzM7}e(W-q;;+(-xFGM>3P8R61%aV(&*_RU|o z1oN;)=rIFWIIF_r?ogWl9k+=m#mCYxZhDUP0%J%$^B3)w15TQk6=^HYK>Y?M3eol$v5Z9Ij384&1Ah+ z9CFJZ`u?En>)QT7tIo6h!^0A$A5(ut;ZGv}@Cfizn9l)h;Fe15t{kuvEgw5e-2P>5F;~Q7Pc=HhFv+Np0T8p&f?3PeCn?5# z?JQ@hP<07z>kz-^fHmZ-acIyi$=g3sjiU8k-lEu&KHM`;J7$>2;qBLGce1_nq$%?IG_O?lMUe60#7!OMy;{P*xEik#Cmnj`K4{uZ^NXQ1+#`M7PzlT02RjS+9?Z=r;YqMh^z#tPydA}~CGm||xd02X4hLHv! zpYUxGu4u1%1O^493|ZHt!^Q#6q`1dbHn!Dz6X|s6pNg&X ziy$r&t=CN2hQ4t()rp#0+NWn?r+n9Z))frjZuvgOencOX=)Q7uS5?y0!Wq^ai^_a_ zFCTx@SGUucvs#MyahS_^(8B-2&t({)`V&DjjHezpp=F^(1ct4TsHzu+c(4oujt!oY z1bIPK(ruk&zBRHjuSi3GRDC!29#oK)8@ap9sSW4j<(^&I8K##ykHMJq_dWtIfKch~ z$Itx&&M6ZYy=Zf1teY^y{p^);#BEd?S+FzS0AbF>P$pz41)*6VK?0p+QP~T`B}?#R zk)%o}*x1etnZs1RB4wBg;1xHn`I$v3GZTca$#tHNGNFlOxotUOm>RXzKE~A&>{9Q% zh#%2VF~}}k?wh1(NKkgKl(5?yt#8)SfN1;Rkc)FTcc52|Zvmo@KIjaVWxZ?^I+S@V3#M~yMhM!W)Y0=#ARCc^6yB)Bu)eE!1D z%KP{a%lj93elrfw33s0XqWRooBeuSb`HVeO@|7_d?Z|^)x)N)iH)3zH^O9C3 zG6J?n(@J4tS|)lI$|G9^u;p9SHH(+OZy)rtR#N^6ZD@bFCJRnYM8MdY?s)J%H%e;8$M>HP?;W$Bz6SJHBMKBh07QaDcxlC ze_)Rai%$0cok&AI06Qr(7_8&R<&nRT^m~z0ql_ zWu%Wbh~g_N2i$hD!oGwFmsoqkn%E~2QsRT&rDbjCzomW@j!X*g`R@J^-Zwf)zaiJ0 zk_i-%Xoo`LTifJyuG@|MFApYn!Mv)qf?7o>wc7rp3^@yOn)z!%vu0?qihlGyM8TbOq28Y*r5avS~Jkx zW4brxHK%wSEqK>r7X3i5NZ!ldlSb`iyyljmaMG0l7@@()L*RQQS8bE64SPZ3SsUT0 zHd@#qzt^R;i|48{>vmVb>zRu+h95T&@iw!f!Uv0&PfnOz zHX}d(u020!)47$NwQxO9jde3VnD@s@X@%B+%d~*e%D=5@wbmn@&+v*a=oz_)3WTO= zOi%A^h2B|hs?sWi>LBQl8Gp~^--0BK$t2=*et@SM!mS-<;dI+6c&yd0sfWm(Qt=eE z7O%>nZ>zd7oTY@!*OL~ev-x$hBPR{8ER}Q7hO2RJzx9i}eULn}+M6CUW5!7jdqh1B ze#RsLgc@l<^Prdd4XmI+&s{iAHFEgJ;d;R|W7@)+iU!FuivBhWP#bc-A3g6-v>xkf zeP2OAM*<>E%E4y7&-7+VFGMD+Hu#x6rGJ_{RYQQ(FWcB!XDZ{MQQ6hIN8EAXJPA8D zKO>gk`98ZcR%rC@5;JNf5lo}<5nDv9mMgP;e5!^k^h)(Jfw`Rs2pI;@AaUc2*1scP__`bIo=SH@`_jL{czFW=T7r3W&>N`FF z+*w8U?JAZOD+Rc*TO1c_m`R$*E!JhPnOl+9>$hqHZ@y=EG%n!7Ha~dkGqV>#ptK9~ zPam*|$~IdhY&uOULyQWm_T!4pN$gDgPyLC2vv@ZDUw^CC2GY*_m0=uhP zX}mH@vD=x>4!f5V=ib?;$9rQBD_gF)bH3v*jE+X5 zRqW(3!M?!{l~4~RHfsn2!Uo!yNK)b5`rUzYed_Lg)P4hUw~JAN1ELaaE{VA_U7~gu z&6K_gcDm|?B1}uxU^QK(W%B*@kt%K$rgYxCYmhr2UZ-YeNn;(hx|hM?W)$w09*Dt4 z`AVnWGF?%P`ZQmtygvh)qu|0UTO4UDXvp16A4DXQI^T6_g*RuyRU~?*RuKKY++M(f z_*EeuDAn7lY(u8t(jiWY))J0v+~APu4b`;px+XDF*KikxigduF{79;mcGWUi@ooGR zI~?o$J^M6@-2e5VmwM`@nDm435DIE}<7aAj*?)08;ciprD&FQsvpVi!5h-9ZBtx!D zYi5REM@tV|yIi|^VsIBsKm6F@%jV!6o1&~jqfxk91#Er;>_hn}@h(F)fZxn}ax&aG+)6l2 zdzkfCn7xPe?o)J!n}Ch7OKEPF%u+fxGWm3xmZu{Q=r+Xpu zWT)M_C&nPV!&O%n`?+n`Z{awC@;_~-NJ89mCaI&O!d*j)7>_V6K3qkaTtph5S~1OO z__!9!o0#6AnBP8KqsX6@$;2&Hjw)?hhWrOEpc?WfEIuj|qKha$s{a*vOV}4bFI3&} z#8ts-kJk1dOxt2dq?Pd0rN!BDifp&b_5BV7sT>LM?_Nup=Ni^c@zXj&5ACyv{z?!3 zc`sYX!0P@5lsJ4Z-_(k6jwU~G-zRk`WFN}>JFZp0hSiegWpng@(U$ZYOq0i+5E*ff zYABJBwps3Z7^f5zrlJ~SXf#Glw>5?q9#8w;vYjRjokh=)^}^cTO&^S>^Ulo=Uw95r zxkm7;)J^O?Q6)ljJ8@5?2G8cX1L}R-8ebNUSKd9(8|IRBmRowKHV3$vPzWXomsX2s z+&~?EiMCY6mVsg{3X~pMmWb4N5T?#%?V|m~MzV8C1IQfJL5U@+Na`hl@j-8s1m5g1 z7WC>u74yjj(IEQ=TZa4f60wOxazglZI-^uS2Kw${BJMF`#Ko#_5p>t))_ge>@Fy%f zrki_==`iH0L^r|3YT6bu;%3-%c2P{(jAL+-rg(3Tw?`TNkC(g_{?=xzlxH0^VYr(9 zL1>~GNd7PU!;4UahcD(te^Yzy6t+};*Kaul6mQc|CG5!hrCDsY?ZS) z#$MF_S*A4yG(_dC7vW6D)tzpO@N~p}6?8iNB~|LTYS8<}?SBug;&S$kb6gn8wPQDC zCWuYpc22R($i6ioRp^erg-Jdej-Q4_dp7gCCuvRCvWl8VwkWX&+r$&yX%`u~%L>xd zrK;(gVj_v=`MtGhqsbBx&TK(vdh60QGLA{e2ijf6xrKu_zb($;obO2CqEkmTi};PG z{}sz)gddXyC8RBB8(Oh5GF+;_F{!lWg&ccl?H9*U%A|7VNu=S(eEY?Jsq&u&d*jA2 z#%B^yBW1}~Z0P0-h04wwG=i2gQkQI)iC}48WfFO<(qq@eU3MUyr+v(5_>Yt3s7)2!*32g>@9`-U`RGd>uI_hqZEMn+*DLc4%wE3J4Y49Ef%~&p$*kSO z1)|=PytRPS3safYGE^m2tUdEt)aZzG9L}How=eZRm&}{j=!!)3 z{W)7sZthHT%z{Eh!MJD0sd7V;@TD0Uk{N?@y0d`$OwQDcwsR;TC=E9D=Vj zM6%&7A4k>o8PB+eP;sNLUb4Baz>c>Io|)P0x?W~eyPD#e$fA8J8t0tCMCH8kD1Nuq zuW?Is<4hpxh;#;O8i2Mr9V`_UGRYBbE1*+_AwClCE2t!0W63wrvOlQN3IY|H?XPbF z>VBKag4h9Hjs?_MI<|O%8f>SD6p1g~>MOxIiF$V-8)cho-O7|u$lB6MpuhlunRyR_a;v{wo5_@hqe^N-$^D^AQm=%Ed0+U%q;zo%kK*@xJ3N;-#8sBo5!jcP- zfestXh)O6ESowf*F${<$@xP+*otp29-#vpuch%5%)uvG2 zi!&GW5g$lEE9oVaW;cSx=z<^Y)WnGc^L25!)Eey9|)AtU>xBuY{!Go6F7a5mGv$ z3tVL-m~`dSfU!hjg8rg~sG!Y|Tgq|kigZBJN$|a@&mIQXx<1UifX=M>cuVBqAc3Y$ z-LZ!{XyR58CS3{oP9#v?Vrr{CXkw~1|Fyi&BZH21Gj7f*3a}-@~m$ z9N+YFa!$$)(*p2Q{T*?hoHYNSY4q!AQ=-kw!={Cc{?oYgkHVk~RIrDOw)I~4qa#T_t8RVq@{u&&ZQGKJmo|kVSf1T(99zjyHjfXc z>CJbNon6&fBHgRf7^LXT!TB&1kG4x0$;n!-z!V7{ZZpDvey*w@+z&H=RuNm3%{Cd- zKB+c&=yFbcQBP6x_4;ylxcz|mW#|YAM;-9i*1I5j_DLT40=&OUR~F*!bngJAbsRW6 zytvwo1rCd~`F2KA86X8G>#P=WM$*qmmkRmHWKSxc`)MHLO@nP4v=4Y{hdWJ z-CDxT$ZmJmrJgd`0MFQ9)D@C?t;+clLaY(+6doA}xaA^|!Awci3le2f9xNmh?pnz( z1`ntik;*62;&m!@ze9UPm-RX+bbG_d$l9fD{$g1CibH>N z`QnFPwL!fN*_>BSrm5Jtb&{jM_{f}P6ZK)s$zNV?ti>~vk*jh|*)>uW+ScEW*~2gYZA`&(6?&M*xx-RH-rJXMygKtaDBn@?RthzBXsO4)kcxk zB?@hRR*BqwCexI}rcCx`V>B7^+T>~ALq;=^0pUyxYrT*gluy!yUf4aOy{=6YB?W*QNGG)SEOrC03xWfP zg$l*uWRGIrQ1E6G9y|uv9L;%ySRck36Balc{*G83-T-K$>R7Fygt6u zQZM7F3Wg}tojWlOnSKIl*34Eq>y$L}HKKhlC3lGKM2r>YH3 z&Xpt%>T8JSZBbUk7HguKOu1Y8Uj1iJT5vFW6RE3B#Boyy4fD0q?8h>%kqJAA*<9DPcbMxI!-NpFUT4e!)u2k*8=q7mm1^(3wRx zN$Fe}EP<#Rs-gP2Rj@Oa?gnn8d~G^9Rbd+U7I$c$A?4c3Kd@$TMj%{Q*T%0;$ulMK8+%ig4v0~wiQ z_>HUTbFurobu|RF+QY6?neac>c{t*0mV{k69{LkLT^Mu3KMe}O^Q9pJTwN-)`VLF_ zWy&(`xqT_Hg$iNvB>m~yxJb@fSw3_l7WLC~f8>%(P^UY1H{q}@voy3HbLTSstFs42 ztxnc-oh?1JKDFba5^wHFzI}OprqmzM685ev=6t>N)~7d}4QXQR$nZlaO%asw91km( z30tK%{dACHys45({Oq6WYBexkvn36`F#Fvi;x*2cJ8;+m!)N31$=o@9L;c*K@=3R; zt#blSy|MOxKMV6du=6NYP;JY$aHh{N zjg;s-3kw8Rx|GwhO>w%i?iT*Gt;ihLwn{qU`Ilj^=a6c+Oz!DQp&$N0s6 zGKWu|64e5L4E@c;* z{ywv!Jx4@^e?j2KhkAhkuVpe`Pcv@1J+)E2wg0ZYTXc9kH2~?Co$~Iw-O#tFM&)+p zkPl|p?q&tW6+QKWjlEE4Z(&O*W%+7>k!G=EW52`DVc(mzqb0%Rf0y?_ z&Mxxx;p6#NR&hPYZ4bowEEYqGW(*2EBF=A89xC4Q=HTua@TT9IMRP(hxi1`6j{fVu zSU1o~oinlj6|;RLcXLe$L7h(Iuj&kSEm-?@C##1CDCO2Yj5h0k$RkhGt+fIJd>b?uWZl+cT%rQdW!O4U(wG zihe{rd|7UKBbh)@d81@&^LGWB<_dtsNY9BYbk+ z^yrXAIyH)XUbAEs|Hy>v$p{n+I-QNP95K(}L^9YP0vAH;qf#c)np^tY5(1e%9~2nG zJ2YQgU2AC|QPFDiuQJ(#)@Y2AO$VS=;Dy-@ob2Kx?kA5$QQ(r!=^MwK_wm2AtsqYI zgCERzA6aHTdYQ-dOc^w_kzq$;FACx4_F|%!xbZoLC=$@}HByC^Omby=p4WzoMjBqJ znjquV4>cWt38r7lI5~o*yhzoO3kWFU z;rf{HLD0QEWt792Hb_p|P$fqiYDV{j8}CONI^Ew+qRCVuRTD|lblx%dGpz9${AQ3b zer$hLU4D&J?DSUOUr{)w)qHiup|{2pPDxic1%TCc$-f+W<(Zk`sw?l3mNow+Ecghp zzQ5$XTU@MziQGk5NFZwi8|eiQr!jouo8D8ciA*fNaYL(hRE@Q)48)==k<=#8etz9b z{6E6PwX^UP7|V~QKZ-LbfI`1Wtm6C$MseC?1Azdk3x#K#lY|10;5o7cUz+M#iQ36&O`w2zNcNva)IHe*IXh}OBOYs0u( z45ea%>QhDVY<7g4tY=P@QvX*j8wmkr0jf4)BIHPXNPv^sG_erH$g-za;CRnhWAekG zX9ms=&BpCjEJH0tQb!tTk!yOHxpk(+5i%=dILYlwF$435Qk_i>5oAeg@$RNVjGVDi zzeU?5k7fcKm}1kH*kBV0(jF+e@I;_fID176w}*!%yIHGU4sSz0_5XKmG!Q64_0~_D z&%tzRr;8Y<8yVY}EtPJwSL=xH!|I%Yr>UM_fFiIO(r;_zs~H|zd%V^VjXt%hEF zo9u1pC5D`cDCe!~pJ*-8=)9X*fEmDe-(`)M&EkUl+FY%iA{x?t=tXiz*I_M|MDGVJNHaV$(NgJJPs$$d2`x4S6Mb7H z>@ti2TUO8&cpd*!OJM{e_0nW?#VhfMl2V!x!CMuQPkSS`KmvxLqEaf_Y#wJVuX$;M zhn28CKh=7K_B1l_gJAr@)Q{oq%Qqoh7I(2W%vtOuoU}WvV@`hIr3g_+(2_7yW>E^x$mk!#vI12a~F3DpsaFF#$sdo~%A+(J6vcGL3Eu2+ z9i(AYZ)6(`TIX#_N{^O6Y8}3R=Zl||ZZJXKFipL94mUCxXt-q*#?J zDy393nR8Xh;|FLD*EUTB4G#985?aT=BtW&j1I!*lCAdY*0PRcR_yFwc>Pr8lwg_N@ z1q-yWpm%U)Y1K8vTlw|y!EH^$gljot_K^IG$3Gyos96pUvDz zbAtSzoniml66e@>JJuG-Z06}{dF_f7SMDraX*{$xhxR0)2nnLhz;qUJlFBgC;`(=T zmDAR=?MeE+Exm$xsHQzcJtK71QD1Ph=0F4;NZ+P5R1~q2qwm~oAM-V)xH#rV<6Kc} z!8@5xJ$KLW&?S+sR#&%$^0)@ZHRFDPBwFZHwJ|VYzk)@^(`#ifZ#;szrM5vqS;wsl z*Y6y7x9+bfe5KVqx@u^2^8Ea*(@D#pRpENW)r;gaWs2tTwtY$W<-{X-e1?P$9xCq3 zbzGnZ=5a1dDJ6A42)X^C%JGj0KynvBl5jhl>R-5vcyx&xD5Z#06Zwy{*sZo84Rvqs zo9@2o+Xy3T%2!gFZ-_6=^G;9cmt`gL^VrR5k&vlx{7lHG^YtiPnGM8;C6K%CO*78o z_wGEeck4Pz^=6t4ak>MW?~qq&QakKhgi4|_&m{SvLvZwfX+>&t@W&=0P=ShqXc}|c7vX+0BWh_TQ>d@9SLDEbsTsm(p-K2-m0RS@5-$>2Mbb}!I_AEwfM+{BJ!i`L z*7EIEYR;VFTy&Xv9HyT|0eVG65W=M3Y+Z460)BU^Ek&RYXPjc(X5SFsDQ_oZazpE{K(-)p=+({ z(_^w;MLQb4W#!}*(zCNz@+|MHA~c1?#b~!Ue4k!fRW&LWlW|YC%r@ne;;yI=9o!49 zl$ZGi6d$99HrXiv_0`og${D8AYw&XAhErw`@iRz3Q}&Jk+YWW*FLcD+jY1?AaKF;r z@|hhoml`v-4fSsx*>oG%mF}IVzyUzt%W*hxeabr1DBLo(kOBSF&x&8J8nTBBV;;5MWlKa$>-(6!y+J^I1-_nRVVN zj%KJRXZp(9>zaW(;)R`i>`FQ#s!UV&EzT0EWfH{eg!kTyI+H|z)XNig32)^C&_+OU z3-c8UCV%GV|L38OdWtPJoL=RBN(iD85~p9Y zpL%=!OB}wnJd$?nO9Gv89}YuT$V~EUla?Rr`Dq8wTRv_#y+8IFnVisXEirXIKQ2+_ zy3qLU2e;?qGuVbbhWt8;_Qo80$6g4O-xx_foEmIX<5hdx96a>q2C$oH$X}ZhMZ5PXgN%;#wPkse7 zq=Y%$wSl^9k9I&ykZb+;ks4&X3|;Tc9Vsr-0-UriF*6s_(Lqqn--*RitZ>0SFDbqOu=S}|Gd`I4fv1wUFHqIQ5>5gsQg-tdCY!7LABUgv#5+K zR9|2$KZ@=t6P0;w6YWM7%oxF2#*Lt6m*ga^X8maNN~;a-7nYKOHs|rK9mXBV(H{q| zgdk%x)W_7UqW3r+cTnwchBL6rtK#P(=8}v?44p3HFl~iW?i>2RxD-&$Ue65$ZIAH1 zEXQlW!?Yk>#eZ@a?+xrctp-ynBF*_1tloRHY==F>{q8Qg01+H%g+q8^&Pgb_Pj-DQ1iJ2-@i_ zOlTT}DCreeG?pY$+8n$`RPm_U{I?}>TLOqL^Xd$%Ga`fKBO7(HsxKR?x}hvb-jZgk z;=iNAs#yw}wQ_OAj(HO;9ELVjmtQ^;0LeUO#1maBeOX|=v(pgict?7bE?{BaG@fc_ zGAUBvwgFI z0soh`UaGspdRZ0%*L?}^0HhM1f$nq2%FX(Nx7K+qAFkD|tZONhbKA5cJrAQ)uU#iR zMex%GEP5trC*o-N6rAuFCuc%83yx08BuKIdSp;SYiOga;C{@YYe4*@>%A=M^&`rDd zFW`WAfW-()-s(o$KAcC0gZ?&ukyJutJ>l4z0(?juyz3aVw?$ z6@?ROe(2vWXCLe*rN7aKIB^v=s#YM}_u}6!=}K8}4bMA+g~*+ckuY3@_|umnuS#osjn$A< zzmtK@4+OFO9hC}_IkCS2jh~ov7+uI#;H!MKZ_?79t0-3ldC1CPZv)kt-gK({4DtS! z=i^aGCOt;}_?kgty=NoT04#08#iU4y(do*fNN+$9o8Q5VuZ(F9>>~&7nyGq3c9sU2 zIrPSQytN5ojFbhyg4WZ#@k%`NTX#Xj9_kC4g1`tbnQWaD5xxh`%;cGcab4*srmd0G zZ=&|s%&V!SsHMutf(t@;ECJ1P73tr$KjZI2JDQd$ zDP^qVf7|S)a;Ry*1MFTmp)k|;pn)?FX<=vjSupyZk?LXP8JJzBUP=at-blU{t}o%d zAwIW;>6Fcs5|u=OO(5`Vv^Ufu?-5ty#>Ay;4m`Z@+r;IN8ei_0fkNKgK6DJ(&1&J| z68dy63?Zr^srd)&^xVknEyHy%@YB^5yxo1Rc@5%+20AM09aw`CImXMjZ|18Yb|{=> z=u`VxP;`Zp{D0o698(QJotz`yl9FysE2}%E0u;Gt)e|+5e_)|al<(6BP)k8ZpV@rR z?Jq1S^_#9x83TWZYRhaH-%uy=;i|mv6E^Pjs%@<)uk3nM$KIg*41GoOtA{8{6X)w* zP$bs%nxajgz}*Sc_K2Zu=#Q~Kb-%_YnT?#2p7P&sb&4m%M_&Ag`bbRCEjDMuyc(MV z0y7ND3jEF6&KK3}KirQv5@k6yGm8lX-yyqBum(L)LT)WHz>vOIT}CL@*XN-O=KDg>24pnqjr-BaHH1`CR~ zT~=>hhMu4#RX?1MpsRFtq4cd5dbbRf636foKya*q*~6D76FaLk1ZTX|Hy3Y!u}tU0 zuZsSvt_PGW3dkvbb0wKV3m#WU=sQ7DJ3T26NAG%8eJ~U5Is6zoI7xPd)EVH$AL?e- zm@^uVSzUL!8y54+xA4fkzP%`ym{GpvbZTMzXz$Uxi@+VZ$lGki(?N$Su>%F{3s0j5dyCr?68?iRKYwUq60MK&Y8n&Dq>u$e_)GzoKwP zt)+YAQ{ccy&?*smyiSNB23IH;Wpxy#hkmKeO7sZ_fedje5GwR~ez(0I@Btl4Sho}9Xj zy{SZkN=%Aj*L|_rV+ zXmPDD~1RzYVyAggidqJyU9ij>_hu$q7v^#uGnw~x zu+Net4K8yBbdr;_++czauQyvL8e?{3*l#poI}dt0>wI-4WZpfo@Uza$dv9L!Ux}yTyuRMX>e#MF+ib>QmXoNCA`ntjG80~Rrj1iU&?D;8zltCsB3(!OS=7?D0b?iXZT=23Wf@jp4f z&M&nQuYF8llaDvES6rg#A9KET>i@a z!JsrN{j7JXd9NE+#H*j!ux+TEQ|B~gzn=+dX%MHP+DCj~8j;V)6SS}enbW-HyHMOc zymFo1u3Kr2!L4W2|kq8csbM5z?jQJ$Cx$ z*e|7V*DRR#2G~X)F|3QikSfVCA@M|6t8gFRK9j-ij~(;SkZf)zUy@m(`_5C0G=&{( zB7MM2K%0`jMrawl_$^t^){4!cSL9uJ6$hju;bT zgi|an8_>jTV}D8^#&NsrCY~Q%Hpvp`lxd}$p_FTUpKH?(EaPido(U!9In)|S{xvjy zNaU-$Iy7>4EC|``Om8Umy#D!Gv%1v8U~d z#%GQuS2J{8xM+;SI%q(U$WE&iiQG?E4--q!H@%7$IgUywQ!1;UYw>`@?Wc zaaxf(f z6a)>_xb97J8E=TSF*dEqr-6>X7nSc~UffA5?hcuPer_wv-{rfH!#|j))2#NJ{_)8Yqm->|ypM^xMc3EB1ClAvkk^~I z-Zxwzrw7FQEu{PY1B^I3?i}fj{~^N#!tY+QqTuFVrj0j@?+GY%A619Rs?^*;dYZcv zwoiZDmpNQ0zag+H*YHdrg5F}sOnfjnt}W)L**ht@$k@l9)SlW&zM9zg=b4FXcL`H8 z%o2G?Q*nnJ+H523f5c-;U&{#LfQ!|^Q7s^{Rpk@xy|gK37g-HNo{JYSdCRJ_k8!Sy zZLzef+9&0*MGc<8ud0R)NoA(C@RQ4a>1{LaAhjtVuph*4%Y$&SrSgPND)SIJ?sHYm z=hNpkOL~?`WZWe&Bov1=2^8vlrHJ|idbRD|*)KH)ER*hw7w%^OtflyQ{JjU7{gs@= z9^`!X)N_X&7HF@2w6MoJ_M0M|)W(0Wd}A;UiCXS$4zaIUTXpEQwZbX2oV9Y73Zq&A zB;x~q9HK$@Y&EW}*6;{~@8HRbnNlePC`0L2iKH4Ykk)2lrG|i0*8zG9^q}6RLI(@f zXtm7ND@2y6rQmnF2~=)BIaESDBbF?(W!R6ohA;<9FCAW?kUb2IOnEJtrV}wr{V!3& zMLAqYT+&rWmJBFPL{l=FheA7@R=1u^$K!~gqLUR)Vi1L(K+KGsh5XEsO)_z{GuoGW zh7GhEm*O7{aT|d=zQcA$Y~HYzXdekn9S_6HyDfqX>qX1`NW2%*=PgeDO|G(~%%r0*NEN5df%-R|92Hh*6oQFt`Fw+fC3HoMJYHuDj1VBS3!#g;QG1 znJbeshsE~!m7&r1$n82a8|{@%0VOe9<<;2rnJ#Q8`RtaUojDYdw8)OM*LQ27d+yT8 zD>rc8VRx%nAks2hHEnIwW$M-0UFxz7m^gMV7{{_LdD@x~icuQS0FV`|#P;}N} z;ZE$x609h@ImAjC5gMe4F~-;T@3^AIn^vA!3TEvfe)7z`vk<&?6OuXsP89qN#d>wMAP+$N4&+ z??3STcs=*~y080nskr6%jI&8hR6-JYLdb>LS&KY<2dy@ft^EQ>CJ`d3SdoKGrIZIG zUmWw4v?R1T3&pFxK!bVCwQETluo7OlLN&8YTI#0~<1I9OeATpIjU3QKxNEi#0I@03 zZk=k*38)g!W`G78IMs%x$0g9yQ0N;h=FU}GVe)MhCW8p17KfYmQuc)eL~IbTV*HcDE4Z_786JV<@g&oi6Zox83x6=T(ETW>WRsx}`V zs%YIYZjbC0^qzvE&>I5k?5V2&anVWo++SS7z{6P!EuA$dO>z2_5^|rJ1Rsl5T>vh* z8y=B<8ln7fE|+Zr>+OkTno(dHUewk9L^{2Ev5R98a=uvVGiMk*@8rF$vDvWSPoz-( zmRw7JPk+e)QP4OyY>G58vkR|OU85B+Zn%W)0)AG@aLin@RT|uOj(}U;8TZdjWV7kZ zZ0dK_CF|rv7EfE-NiUhUUIXPIhK9;03HgY>S%227+|jmpef3^cnk(mc-N} zAWjP)*;@Z~KPPajn|_+CUG%Th=~F6Jeckjb*X)j*gW!QY@#?GNqyj6s%&}#^7IbBN zzgKjjick@w@9;;+K!H{^B8QlK7*JtyAZlgj?2I;5Zd@GQKKvEMl0cvpo&{R?=t_in zV1~z=rMVeFYnj<94r)5~AAh)uoLyOch3s~wb_->t&1^-N^NGiNn}i3P#RmQ;oQNW3 zQM32R^EOLMMBQS}IcGdY%8Az)`2G=(lJidv=aO$q|CDY0%aSAFY!_Os$6Xr6R5E_r zcM8tg(z~dt3*up)hQN6*nHd^Q;Xw{UD=%AQHy+w>jjEZi_TaNe)nX4mBSc7INj+sc z=~CUe@2@P_Fi&~q%y!WM_Fp0FS=jA|(TqkpDTFZk<@#!Iug1_|3jw-4#4k;eqU6Fs zf4rTCz6QrR^O!c>&9$Dy=^`IfbGJ0l`|c53gQgqoe9ofG-bBZ=qNA6cZuciZq)+OC zZ~e2>rL9LV%G9)0&4v8qSrs~%BujMU$`n;l`#4AqQJK*YDet%9xts328Pt1|HzN}iv8&MF==jdCUZ#%c7M27avN2Cub05F zDi1yCi~1rcJld00%F9up(LZMm0S8yKrzaGU1QPKf97{^z0iE53j`ms@B-=o0VfDPq zvB~L*py@@5Vv826J?p^2rXQR#h|Q~D%x?)|fcuD8~D++!C8cu0|xvtPaud|6_ykf z5+2lUV$;=rYP_THo;fhS@Bp`Nd#ScJ!<4!qUEd+$>hPk*aDV1Fr6;R!=rr_T!4lyA z!VDr0VZ>&?eswpo$GKx~NO;4jDE4Fes-$xa-$ZE8PW*IHz3dF$*6zPCoQ3t_C)Lr?d^#Vy)yXl{0QgqE;6pW6{l_9NM#_g0ro%H&h>Mw(}_Y z7COg2?!`XVRO{;!zc)tl@B~f-G0tL6bp501M?=#%`OGT0vGuEj`%~t^-!5^sSJPq6NSSe;fi8~zNt>zDZAERe*wj0 zWsKR28_|cBl#{UZDTbQ4F_kiQMwe$xg*tvKT@$8!&I@EbH6p(ec?u`OO$-goB-Pox z8{#mo-Oria-jWY9P z)b+n*JQjcSvuUxo5Ve2o2OV(W-HY24Nr~7naB{l$PFmg?5==O!sD3!InU~ir#W~VR zv5O+U(}AHvN-(qZm6n7>2aCaM5M@4Jn+m_`B{!4d(6)(^M9ApAD4D2@j{LYpt7mJ? z^6pT(rf~YGks4r$?B<>}`g(JCn3!}ha)G*V&_PAK1~Bi9x=6m)>u-P}+ZBvKt&N@i zEB{)c!6|#Tv=Y#o`f~31HX4Xm1=aQTdHE<(J%WXFs3VaRSWW{KwFa{f5W)!Zg?9e0 zVh$b)tju(5s%SRI)COsDWzHO^lCS?AA6&3alRal)mP$UK&cL*P7Yss~I+vh3Nv~`6 zKjP6mJ?BTWV#a z8AJzHQC0f%Mw>BNX{XudnPv?|~ z-uDmEj6lcGWZG*>-AzR}w&0a@AI6Vo(S9yusw8pmLyGz%M+Ny8Y_x*fiH0hMclzVj z|8?{E@y;1NM8e+h+m*e_QqD<+1;K4qdsF$E$n3}|_PRfiyalkjt0tV6*E(x32)467 zQWoKXJ|qQF4$-c=VV^fLY$o~{?*EVw=E|V26MZW*YTV$sTCK{^jkzz0dh8k`oWdyk z^)fATq75kC>458fI^nQt3~_C5EdU*lD7t=}m?CWy8<0yx!wJ1c_Ym6t?^( zQ6xZ$&7d3|Ut`$$DnTESk7rT2HY5Zs)WjW8cNHHWD5;SC3F8lxQl4y(WVA%F`vi^s~VFRbxcg zI1Ce&H(#8!-2I;@oRX@SCJY%edy@P>L}=WmoPmP$q_?6l%X%vc`R(oVJ;#X*x!^w0 zhp56sHV2{f)fNgW2$eg|r(rrtrZHoX!I=r#2zorj#%Ri;foK7>8c1pVBa&{}TM~{f zfqQB+2z`j>ZMET-oG_`&du%)w z5Fow_9%Xe*(feocf#t4|sjA4%nFJ^W{F~nrQ0sZr8{d0Sp>cTrNgQudW7Qcq z&y|&$k)P6M-6;aTL2IW!d@V2iN_T_dS*XErwOCTE5ipXqk)Lhp&oiBXj`F<4pwp@S zgO3b|<`Mj#89?a^&&A+aV%M%{ZboYW(Mk#=^pE82;RiJ7_-)>sU#JKWu}o4% zbxsS&-w|}Dq7~)AcgY#MMN+wqW9L8#*{WGF(<@^9u-ppxgu97jq=)(t@E@uW{z2*x zvKKnk5X3Z`$vrASbdIe8T^H|~x4$gf07&-NbTe&O#ZWwyYQ7)zVd!{oJf~5YgGR!$ zJ2^?hjKjA60aqPmQe~rRTTQmr@S9rg&Nuu;!v+{ygRduEKZ_x#0M!Wmfq& z=RcM~&ZQe2vBNXGj|nYv(lCp^ zGnDTb6uqxh2rL@8IO%b=TZ4arUW{~vTvWs`H6ii_&m$Ja0Xe_a%=U0o$>LPi?5bZf z?aaD&Pl&LKc()Xqt&K)?97#o5QkkEALBnR6@3(CemYV8Ubof)s`m_uVUwpn1{Yt}2 z5@##g>06*%huaQtfsW<3n^^>@hf0{u!2TSo;{l_>4O&w}!}GcuDXPg^qCf<2i2ex{~u<1YXVO8=SV}w6ZJFL zi}z2}yp-F$ZC=+AK!!@Hg}qw==}A@ZTtw$ryKI^>PS_I#(+cil(R$9dQtQlXpr7`H zRKP{(w}87P8Srl(Jp!ti+hy;8YVAf6R37PMj*;TtW-OKn(5Cb#_kWi8vd-RWk1lb> zwG?x+TdC}N-1 zX!zgHqIz}9lns%p!yT2<#px~h@0bzZe&n!1g2&y)TvMD`Z`C+gB%K`-Q`Q0;Ys{R- zodZ9-zVGgK;r~e!`HyNmjjME}QB%&!F1b{6n{8KkFbt1*keGxMvFw`(QrlD>F5>A5 z+FY3|aa*ku@*hlUKBE0{G8QQJ+$u0jR`6y@8(kx(ls^8ZKZmnarN-CepTIWxpwqKY z?nBddJA-F?X_mb^(~Ic)EPpoJiSZPRx_}Ia?|Uif+v}C0AJKu$RKh& z>z4^%ev-d3ixeLfGG(>*S9zFrGUd88+hzc)<4OWE(NaSU6k?U7o3sFLj{=Xm@8Hxm zWVrHoELWvj^{yihC$~*)3KO*Mh=(~_NvMcz?z8Qavwfr-6ICvFiWK9IOa=K>$m%)x zew%x$7w+(oZ6R2$ZBeFYQz=+wVn?nNUuGQGyxwtcoyow%QCJRA647}ye(E2btBgY8Rh zGc5NW(C_W>Xm&&&ui3H3V-YqE$L;S!zI5Tu2<`r<(c+}0s0|KEt z=T-3}Ap;(y6)v2s#hykS^&uvt_E^sgPvg5kJ^Tkl#5dgh+nC+P%-9oyLL2EjAO1=# zfx_A+Y~c>93Tcgb6y(Odi_?|3v=V+?RMw0;9Yxyn=80o>yV);}jmZ$6n*A1zv&i{!*EcMK7OyPDTNqrW<;&$4|7f4N;uCq8(G~@;>7K_YTy1t&Gi89`Z zskI#6tvnCNc18XuS4P$-llD}g4ohW1CgNT;P0erxfw>d<)vHzZ(g)gjF=m49=4%9}E(`XIe)+Cakc z@6fmt$%Sg4eC`$$nW@T>s z90f3kl}C~ve}?f+gCKr_jWWttyv@tfm4#4+J=$=S-B*ULR*RZ(oqgjvFzaHP7RejZ zxRkMg&PbE9;6PK3ES9EB+}rHvRO5Erz*ZW zIqCWR^))WfPE)yeTJ-W3y*W5-{4|wf!v^0mxzLD#Rhm}@2%2p!99)h2RUoU%L7ztp$V&Kfoj6w6NKM!SVFyK3r$A%AYB+t0Vht5i zgUwSRfdLvdTQvm5mNSL;4Z=BS$Kd?ENp(T`t$VP3>g@mNHMM`gQvvbKC2-2CiL=P}BP*Uvn?^yxZfx(_f9oL@D(WboEj!1@LQ$+!b zapLXTDk3j2g1#oKtz%its$+@AqzkhL6?r<16p$2w;2rhJXvw6KIE%T2Z$X@N!J4=L z!cnYCPl!yan{YOGbd3?6(iTHI_}f{5m14|7#yo{O=}{amw0!lDTu^fN^rI&nE&a8G z)+VeZd^vWY;Lk7x_k*GXRl}tM+ZqWw(NJ~;C!l5`lU}OY0 z*QE*&$vPxv(%!R2h79IgADoRF*c|n(bfZBM9A;^9^@6ZxcrNG;V*6X>p!2||sG+Oh z`F8Svyg`;c>aQa(W_rwtQi`Re{ZI_8A4dAOL;V)|T4C!fT9V^!<6a#2j(qlL;@V20 zVfUHPf1>a&Id^OP>jY-c2MlfhE0P2jG2dpF@<)E%1{(9*uA@L{I=@F&TGq$h+KAzi z4?dc}?$+Lu9V;Cua-HG4<2H^~upd%@RIc?`OxzWF>OuRCOHrU)QCw!Z2)evpDwif; zA^|l1JO15((qW8SS+ZQ%@6yNR$7k$x#f^mpS(DG$pJh|X9laB?Q`g!VF#{t$Ols-w zVI(PsWTJLXln8|G?`)00GZ&a2fzGM&spGqMEtIeL6Mwh;Yj4Q8u-u@r`{^W*t>J`w znkzpzi?xWJ9aNwCLn7UOVa>Kxium*C(c4U0z5|aRtv)7?MxtW&n(o+o_Oy5RN*$VU zr_5g0xX4P5-uHc1iA^CP#>l)1#8j}umohDv?JGY?PHxFee`rEwq|xeh zK!hVm34TXI!)$Q{gC6 z4=fqfn2j-t;9{gSHw)BOa{8g8Uqqklg;|`Y*DlGf@TzK>{EH715ga@m{7A2RL1W$K z(Nq&S!60kBYCkigjD(bu%R$0JPMs)>+Tof)xV;U3og8?APlkHV?!Co^9MUcYkec~xlENkJH6CMpMvq>r(39vkOIi>AgfWoFZ3FC^nH{ZdljK8O2-CKq}KHdkzx#?~ysnx9GN z&TMv%HZ>}U6q0hg=s7#m(vrnjVTaq#VR%nuigam^J37O{GI^=hZkAs#YosCUc?b^E z9aP+B#}~M9>HFGaug9MO4Weo3-D2%}+(YeHlDaVd631^me977vJi0au@qL~*_)e;H zsp-UIJYst2Iwj9MFKZC6H7v zQqrLfc_UYbN;r3T7mo_tR~j9s*Zb+l8 z50^m;=8_F-eLyk{8XBuFYHR-Pe?M2`;C?>a5f46_zagIGkpHxFGH4b9u>gMmk)iOQLkVJ+ z0T?7^ue}`aB4TL_z^O%ei%;XT?ty zFStHka7rB0%6gI4Yq+_8pDDRT-TM!J?lS#S`vyhNJm<%Jnew|^L(en8IQP?E`GcW| z;&AUKAWGEXpS-t6)aU%Rfl^JIq*rB5zJ=~mu2&@*wrv9*NiD9+AJkhcB&w0%)F0wr z$SL-y)cnGsF?ggs=k62H<4L0DUt6hTyy0}bN9|>%r@r7zkEG#E^Ma?g;O+nq!TAUk zC$nsa3vnbm{ZgbI1|e-eBd|m#(yFpG#)9?fSb*p`65~8kM`DKz1*I7Ht%8}aO-5{n z63~^FYD%V?wU!1CMrGp1_I3@DdOPZYl|-Yshbng|;*S_T5Q?J2WY%AUIe*=E1aFk9w$hUG&_D~h|8nq2 zde}K&(`T{Xipv>UD*(IIk)|jm>p|1mOU4k^%nbdKWp7pO|c|pb@PJ7 zO{M8_&AC+8g!UfE(+PKv=w^5K;!_v%TD0a-F_LXbxE zO3S9iVQ8G-FN4%pDY+`+Z3R% zzRUg{@F7k;*QvuwZOaU9JngStZ}<-4v2;|z$7SzvuSkD%6?_?P`JfmBC2N=RcilfM zl4KOqHpf{@iD#2Kw?PxbGi0!IDNu9#LUhA~a6n2W)RYdovTx?4_wlyPForkC}OP4W~7?VeHmCwRXD<9oU{TZ^bcP(uC z{?C3sB{Km%3f%%z@f8#S7MSw0m*fHIfCsX+=y0|ww6G9gz3YqDFGyVvE)nk{Sts&* z8)m30su(y^7V=Zaoi79Xf2M^nxiBKfN04_Of*(gWT)0gmn`}(NzJ73XAnbZJ2)b+a zCP-FfgzQlhv@xt!QSyl^pwIP^>AF+KzRiWkPERFd77VTkxTO9UFFK~;%H}>&%|qkH z&Mu>;?}I^L#ULsUN^#4x>caIlgY8sy*-lz>O4wiZ_3+UcXLG_+0O_-8QW6&7I-x9Sq=9VR+j#-Om9E=0=;vem4&VclTeE|L+O_n==OH)gwuUIHW~IPAiH z=GN+v&ekm$<+^aQU;SoOU&dIMVXB(Mr>i`UQDk~-0~Fa~rFJ`D!(S8KYqwarFZ(!%Dx!&!6C${i4&LC*frGzY=QB;-wT7z-l+ z)Q(ZmRBDUEhm_u+Uq(ZvLI040WS5dmXO?12%XA)sdQfMwMRANlNAnv}Ov?)Owj#zh zDfr^63@Nuoyh6++*lg%Y_^&2zSri~Gwo?mn)(JI^m4c||^}|EfXgCThoO4e&;-Fwn z#sYCGJ+hU;w{0BtiFRep&+e?tnNJ0oc5vLgMT>&1VutFmTp03InOPn0zY49 zLKJM^F8>7@Z{oP?{`Y+NdW%!IO*tnCk^N^hDkm%sZU2XDB~@wd>sadSw4JFkPS1`o zfFLya%GA2PLs;F=w6mb4vz4io>2IexH7zVA6cCn1FBFq@>MVwX^9HMw43ndp?8)Ky zX?0K{fjmg^|Gq{28(kq@)3*B{w&S;u;jdvk6)C1f6$-IG_ExYg{O^c#O@aI8v&pq( zpUl3;%ol}z8Fak!Kx?DWIuBN6X!F_I`k7Fs@6B-6c?F$mDMUv@A;MU|T$EsznEe24 z%`FAP=fdzwIBV|xkF+L0za-%$EVdex-qB=A!=ISo^R8(0V~S}jm?3siZ6}H6(O=z; zID$o`cSk}hn)}0#$(BXFVKm!aw`Xs z&Det@&&_R*Jn&NYb^Th!AZl^kycML$_{JH`g+tgsx$Go7B#Ea0bh~7~8}>kO6rU#N zI?hUPk~_?f@{w8|)jf&m(sxb|mQFV|EHQi1SaCPL;^3W5YrUEyNG_o>y8SpBgH3t?^{pe?hKhB2??htJ!j)2 z8N?@eZ!FhLpEp(tgWnehmFKUjay2^v@*Z@BmL`l6vX<8GOmIICkYHO;P0`?HD#(%C z@9{(yNwF>vJbWYiA75V>8i-x}isomi#PN&QD{`w~Z7>}-3QDT3&D+e0o&qAc*&auq zm05j`8Y^d9M=uO0XzMYSGaPYKqUq~CR(GF=N5|8pk#y1WbAeT(e7?e~T$)x_EtN=) znWSNTGz{1xO|-lAVq+F3npyC>UG(QwD#pJ0*kYs^#{?8xS~A4WkG6yrI>e%J}MrZ+}M zYwGM)0emH&%Ar#1P3a|UMLAjn0&%0;v#suW@;No}>?BB0NC7*piib?Kbl9>-AhByh zMr!gvA+u(gOCli2VBLiX2mDxb1`T&a??}2KV!iq-kD@c}kks^{ zKIN=6?BybzX@w@ z6noGUNT(Pdw8+&cH8q7z!d}JVAtI9s9W~T>+BfMMs-OaU{MVSZNo2JX*)##%n@h1t zSX;0UFYuY}5{?Cu9R_g7Nr(rcmKT&V1;RqG1lTER&|@=S>= zxBhFJkedn_xx3J=f&P%Wy)bXJ@E<_^@0I9~-T5jT7vpRPH}}XFNbR+;rOo1TzuCY3 zmaa=Fwa1`V6p`Auq=&^Y{8PQJ{fen*BWhdYNzy#uVJRS%tcGC zf9PB_Xvy=wX9F`OjlOBcfLmt$=qt_r;(K|bK8bxmSr&`xobT^aDThMlThxoIYKtm* zC7-Ts8zbdg1v?ib^|mU^U4Mo5^yC_Ws7xLkaxwn4y=c0h+GpKc=*KFqZd%j%y}=J( zYavmkWqG)z_%ZD)L^+}QBXw}UJ&G6tF(YJ0hW`3o_Yq7!Q@&8_a z%^Cfs(;jhr*w@`CqHxEtJKYRs6|`r;S?pt|5i)CYus41iGG9{u&1IZ^Oht3_PRfWS zzKKUIpg!GH7XiEF^{N(skTWTtJKaw1;y1j#m|{Z!ma>D4Jj?TpK+A)5!RkBd6ul6C|Ow zd9_%`#UWId;2u>Wwh|kw)#y2yOFGoxxglm=A}>fS4wKGHd+V3ocZ4GW1*&{mW$E2r z6avd7OGr&9wSOC5EE71P*>2qJo?|+FEKHZ(6uhgSZGzgJ3lX85kwR=+Xv_QTWh`=B zPp_%`@AZ(t4Zel3-4Yt<&QKhfQ%C0_da`ES4Em#6OCh;~=g^2pD1AygWpb@hN>{ei z6CK{$(@tx_H%3lb`ECI$$J%22)CTN)V(BCHv>RZS@6>{$UZGLob7}PGE)+d?eccNH z#+S)I;~`8;7kW0U@CrOr;HQSsqdl8pR(_0I5oZr>L$fh&#R^JA4WmCrVdv^!ONrW} zNt*TeUPWok%jM^4wD0~V@`otBm`D+^Dc;_2r0$Y0kwow20}4^S*GpJvb?exLNiyh1 zsSFQC1{?5IeSLAy?Nnsdds_VKyk?peM@IxAk6Sk|dM!I}b{U5^Q4}EBrIMw&dO5We zOu4pZKg(vK;Yi-HLz$n`kF+B<=Ygv~pqjLNqTWS>P=3^Qy_^8CI>H z$tvFtc!tBmh$R(s-*zbppu#^|a`L!HHz_trhNWU)Q_$GAlS0S#g9%N{DSuL8f@nMq zF;q7pj3xNOPhy0j%NS##;*-p9PUKG|yr(#SmY8whz}~N2j(y=-Pz5dLfHx85j3D@j zcNxbuaN9cobYt zA%8aOjc5lm@!DffsdrVoBT73e6kGxyl~9AHEK+u(HrLY@*igtjm2uBgG+EbP0Xfa+ zYQ3684Utb`^ctHA?UtgJ zD7b$4ehV$Dwt7CT5=l&(NRHtrL3OFf0?+1woPC8d*Cof?+Q@=Q*&yyW+!g0?3g7a1 z;u?n)z?^takOoLjyoz;H!*o<5Eup^mf#59tcy2_90G&dG%u;=IN76LNTiTM-mN?Pn z4te+9=i*ZBAx{G4swnKk-?oOyEas*%_4I3!>K6NVjkk2@Idb3gFn{U6c+{LsPnlFk z&VU=+9-`a28V@+>)$VA;&KU+&Rm!WYw1ZTqiHhR#7QpFLy`aF2n=bLQ+CLix>ApD) zLH~)ud7OIZe=!BO9cmWT?du`H1@gbw!^rMX`K>6hZr`YS(^TFOYx4ng6|n++-^o_A z#JT4)iFOL7G)fw!q1%N$r#b1hPSfx`{@3(6ez5bK&buv+4Vc#bNKW8DB>n;hI(hg=D3#(&AiW|wQ&1crM?4}>Gz#zy+H zeUVgw6s2!S(%=DxtowX@yu|js3+s7Nk{tfSfzO_oLD9VU@z=5C<#=zO$ic}|Il2i_ zl42bmQC2QFgrlLlIZ=>hUAWK6?P-}9n=)J7afb?7KkEaEuRAGBJC7<0=o028$AE@j zatvH8u0awBu}6|9RmtX{4Mlvdh6e18vM&%5@gYP^4~`tT_NTuJ_a%YIG^G!oK8!fp zyE4VZF%aEZp?b0sI`Hpz>%ByHuKCPzIP#cGCs;M+JSArMj9mcJRKjKtwWGfk1Y-){ z3zHTkVk1dZV&k|9**8P-^4l$Ic32Edv`C*;#>N_wn2C#J{db%zW*PIx)bfR~>3 zAK*3vC*&I+WW244o=K_vJ}j+IXDV@G>9m+%8TIK74@r0#XL){q|JP7Vt`uN!pl9bq ze`U^D|N3XVec@RRIEy5QT#Yu@mwQR!r!-vw^ar4~zIhtZPzkPHsP|-(!`|osAxiBE z|B1o{33qzJe;di|Uo1Xgx0F``(~P%8l8PfIL)#U362eiEtgJvT{a`T~TGK`|#D{FT zC+x+1j7Fk}Te`mWW=Od?ggYl`(i4N>L;=a=0HnL4L$4W|?zymRW{PMA1NLzoVDtRK z)&{>rJ5~s^805R;^CbTpnazx~iSkwqvh8_hwo-)~{K|_?%S1q;q?}_i!k}nKhlsI2A zj1|KP1*X0{85*3Mo#sli^j7@kWx0bH(421sKOzT1&RnH)%!7&zUT53=n#rkQ1b|HJ zd~i}yLF?lQ*Ff{9iF=$m0ri(j7Hj!FO-9evqEd~<6ChQR951Ec+}Rn%`{+ofHt^8f z*G^@V#YO95at&(o_%yPgaR{k{m<=8z(WD#zYN{Q7Ml8s^fEkpENPvtR2#Ov#X8KNM zRFm-pT3V}kn5{{STLg5;wm9~gfaaZY~*b3W^j_tY$}J$;rKU2zRu#O%JcXqQi)b|mOC2fWqu2J zoU|0nwOOOrn#y+sED&XgN*%y-(!DN%Wd9}fG~!7dfEL}z!lke?YzRYU;}7E*$U8xP zODkt4>eYbqV8Ll=W()p+Z~bjw7PJnH9~w!Vv=%ZpvCQlID=JS&?Fb#O&t$7yFW#_> z+6Ns^r9;AZ&Sm;76vVjZIpq==-D?Su%{5K}0g%5}*EeBADZQPxB1IBQOQ0CduAmf| zQG;-7Iy|U&tKUq@K(_uWJ!9JqPlprU6G3WxC0@Re)*_9w;Y9sb4g11}0h7^&Laga) zw*x}pp#=|A1<#rv@r1N7e;^@Jj1o$C#d$}Ke&{+Ip@V|FUS#R}>g+@oR``5UuJ^$p zIraQ7=_RPE3bH8FR*051LO&(sgxSha869@z8sIE8jKzI8%$ozoM#$v8u_+O8Wzy@j z;=|!h`SN2IVidIzMQAN8H-i=Gw9M(W0$7qay{SEj*SDjnL{c0qS*q7IC*xu8pD27G z=N9>YngZo5%lWoQ(gk^Y4|Uu6FnrtkkSAW?BCM+=_6+dUDbTScTIZBOOy-#%U<))# ze$dp6?Ojx~|7gLS1~$Ie8mU&tB=}$>wLr#x6%{@0)2wC%s z>Aq~2w7F+}I$MjTw||U9M0XVWDq7}F%VpvVvr{T0ajKFP3f^F7hzIp4`x}O=tT2;B zv99lzvxLTyG{O8CH`si=Rfc<~a!;7=sdqx5Of(Ar#Ui)h1qZ!6NV-PXc-0}u5axos z0Uj9aI5)j1xpRfg!*8P`I8&av{*uTOfDRn1x%>K4neoz1wl}tK!75SVUE^s4L2#tx zTgW55(4=o_=-t({KKS^&n+!+W^cy(UkC;kb zcO+Eyg1)A3TRv?dp$t(mx~nP~$5w+z24Qo!+eYAVG!zb#mv6Qo7K%EI9@?3S$Sv~> zGmpE{U^g8kk)(j!B(p+6we{!?;N^kwjN`E1sO2|3Hg!vITD2_{Oky@*nMF7!x9u=ZQuu8I$j!NSs9M|v1(GbcdG zqFphsHxJ_u{ktljLXzcg9$VyAR+vqeMAHR3&84Fi7%dLCD{XNMO(f{+&YpSWG#Zx5 zEI9(`(v9zSdxIJm{NYqX9Ojx1q0cdE;;vqQkD6?xYrrQO#5?Rk7E3otcdSJ+q;(#j zEr;jZ4cJLqMyLP|78^`?-W|^P9hgnmt}}iq{U)a!vI4cg1zas$a)IyFcKlq2htSY? z0gSpXY$iEXM!c3Oaqn!$jOAvj697vfC=@kn6v)ED3|5K7lYu<;WR)08Y={Kg5X{p#Vee$sh!Rmkn z`wK0YpLCfp$U=c5#re>}ct$+Kh6X*4B3>Pb@^EIU7o{JXl zSr3S)@Z_xI9Ls2QP40<>(E+}5$9X;7k1d*wKZ8{BA$yFMoI~WHQvZpT?wV>=X0}_R^v1D$2 zs-V;)$jTzJE%X-H7zn_LE?L!9lHT@9tGnZ)70I649l;d5Io_8(cBTHE+Zn2Xo{970 zHtoK|-kxaU?rkByc7NwtpAP+rHW!SIjkIjn2<$e9q}=Qi9{t1bwd$szMOi&#R`yw8 zi!(R18)DnilA%eOlACy+*(V~`aJiXPt>pz^#|g>)=m_beSwaKfB`5lFZ*35Qmj3!j zS-IaZ<(H|fWZ|OW6fDX<=3kefyMHX`5_jSG{^bg~2D<#o$8Kq1sFUeMC9OOrUCE-w z)AKW!qh=0$-O2d`-fnRA@Nby^MQ%hGojL0ZN$o_Qt`JTyt+5f9knc0%`mJq*Z> zUL1nC+QV%n2EBNBosw?*})S^ih0Vr#O52 znumqHb*`X)+h*XXJ=sZ&%Vm!79a`7|Y*;CQ!V}soC?Km7fw$1(-4KiSmM}KzQp9;( z;ireLVukhfo@O2~q?Fe{@Z^AhCf8_Z(yhxHB!zPL3}n`*mqcLg&)>{o2+MN{BC4Td zk|y7_2F{b1w`5<``qw+j;6?A-sa4r7p7z`xem1ev2Wb1lrFNhez_;)bUC|Nu=oakk z5P&UbMNh@cXod{;E1Uf3SP}7&yxZW+txD0%nA zFyNox-CGhJ>URn??|!nKNmo-({qx;k5CjGl+3EviJ9@U0sc2zE;_D8qItIxQL*Y3tQh`rm&#TTutV=#+y`zZ;Bl~$`MmF(^8Lug-7%TBcC~doP(0z#D z5tnR47B}R>q@_w_hdCiq%$rg!-mlNTT~WqT2sQcy#LY^FOb#NUF_Ejp@ zCaNfYmOaIvRiMlAn>7b(qGT(+hY&-Ne%nl)%AcK)guO0Rtnq@d1WN87*YMWK?Vrbt z74L)0MNfH=-#}UCG$y&S>?)z+oXM!EG(62cGyl_@gT@wb%;3{%KG4pD1j^a;e7; z%`lsVoZZ6M+)g8ekpE?uloOuc!q}3;8>~659e*^?PQN8q^d{AQkyDHTyg?Txrl#fG}QMY4A zngZ2QQGb5uDU#O0^#Qc#$6LGuv*OwRjaz~lJZbZi_+ssdV!?v^8L0?rq~?gJ{$H_d zivkX##=;74mw>yf#;L_SItYn|0CSq?yk`0PLQ!h5!1K)b5QBnt1v-F8 zQaE!DKFt)p$46Yn($Ku0(1g&?R0ILav}zU^G#9vKbyWoYf>_E5g}=6LyUqgDn0Oa~ zx~pP~6QJ@ll-@#a7t33R9=T1|QH1rddyXEt~%auo_E^h9D&XRj@@eNDEVkN1Z z86#Q|6E*Ww$7a^;G-o5aap-iVxvjL~vi?{l$kLaPs3Yg8s>r=wRJdR<=^;jg{o$XQ zySZ=lw4uGiEPpvYs9Pf-?6)CQ9a-AbZ_+*fIDEx#<4Ety5wd4di>Vy-8Le(LvZZ-J7r>N1AD(G<BmlTncVZ8b)#Mxa>y*buC4}Zo;l=WwaSf*$x>e*oNb1egUKoeZOT+3`UXbQzX5USp|3ss!?{$}D>PM0wZ!S%% zU=vsBD*nnAmMq?R6Us3ZU;~A_2z_jLwN>vj-9ogkoSuQ`T@5d;H{d`0Ud2H3cx|NRI%Dp)Z>nMnf70?pP|2`vsfex5CSQ#nIUnrN3|9PR zGKtt)MNAi<+vE1A8(0iRz~rh3*lKRRjqO`KRkY_bVv~PyiLdF)&}t*m9N9=_?0w%THSF(B;(Y zSpXX^e_uD+Bt`#}x60Q4^w~+`=W=-GaP4XKX7K6Kf%g&HrL`H*i>*GCK7+>Foc+y` z>8z;o)1P|n`L8rg<~p7H&k#B>Z zbF`?*;F0)}XnoIDVoI&Pfj5nhSCH(CipyYa@6y`GA;-QBzBr zCtfh}kK*Ee9+OwTEyTOmyvZb<^!KsEvM5MvC1?ZJY=^m#_a@M} z9K{u?3KHw^Z7Jr%T#0DTUe`iTS8?EbwFwV1BTLQg5UzK_cWMJ=8)Um_)POXi(P#?qitL}7%ERcFmE{{^XVRr;f+K{9_Q_~; zo%MhrWM-}5+p4GnxHGjPzzH5A1lA`<%4l`B$&8q`+unx-uj0BMCo^(u11%ISM5^S} z#M|oyCwLWinjFv2z9TTB5{Yp7y5xvcTMld{pD5yRhkE?o*HH(j8kGgHJ)-W#_*7F$}LFSR;|r)4N_cm;C#q+y&N3yj%_wAp{gAFmuRA%kro zr}!`w)+Tml4Jlws*m3E!4miHWfzF&55t94x&5)Asn2jKLcR@hf=0OI_4XlisX5D~-W zw9uoeGETiD=SI;?C(|_vF;fEB0daw37(d#=k03_Z#OyQSjG|*6h^*4UPkBx%%mlS( z#S%RxQ;vA)v&Ev@sge#RYobYpeHaVvKe;n8B{K`7rGiZdt4WQ^<$6+=qcdG)oVymW zzNuC~OhhwS$I$6kJSAtXaBtX$?$#NOARZ%6`=381@+%oaYj&RQwcg*^J`JEkx#^!# z(}l~4CsReqG)ee3WM-QUqN51E%QOXA??F`KuBJ&<@;9q?fX;*x2ms^Ubzg5jN5IM@ zK!B$AG>eKIo>pVSYFdYmf|O-`t*k4`GL5AdfUIks>Io1-4-c2#YH?_8C(xzxXim!- zOuHQza4}MI)AyU!duizd#79h-S%onz+v_j|AGz zO)+Y%Z;De65l$*d!{SrpVXPI;Is@x{$)^{UM*6MLESZFwgoOM9=qqU6QGB)6yUW~J z<|7=<0&i6%5^z#KsVy*lP1`c`3iPyD9DPbgu>hp&@>l02G5<2)Clt6LoIKN05ANq> z+Q!vDVW<-m^-K52@pl3pd9v;%%mYfZV&4Hab&m9E6sRmBx*kK=8N!A;#u<^-v4Sz3 zCK)*@5~phEwosl--cDWD>ItuaE@^?%o`udV%j)|HH){s|Z9WTH!Mzd#PcLvxD*@{% zx{t|d(WgBocFS3QKIol%lL>O6i>3iPd48H^04qa=u!a<)B>ZZ4SRB+mQF#`I=9Gyw zZRSj(O6VE=RXp+GowmaZ!*LPOZo_|@(Z_O!AA|@dsAp|)sRmKE9jWLHbeO7S^*c?% z=+}*E(V@8;KU|NZ?fZ`vC~Htbj_xLXc%}PK&}|W?q?zfr+Ux6nK>$dtf_AMaX#lnR zQ!xS^LTK6ht3U5jRpf{L7ubTX4i=qrstk`6O0xWV1WIK1DC~dl?$}TDS{^6Bw&vI! zCAJyJG@N`ZJ63kIQmS~ul6xx&8?wTj42<;yCI9@(^~!#@CF+u`)l>=o?7J{cp|*KYar7tN{zHLmRdw-wrm^Vh;Wu3SXl+ zRQ`sXZ&q7dv0(R%7Jk1QP0&ypnYbar5JWj6vClB$w$!}Vvu$^QINNd_8 zGVsujA4A$-yJ>7PUHq&UI#~l~5@SZdl zzlYQAt(*2e-)HW?m}S(Hmn9+oDuUlsLO(oTSODvdzcrn!p_-|8tJpXA27pS~>4YS+b z9PCL*OIg&wah9S|ozPf*?{z)edg^xt^Y?Ts4_tlpCNt^QWEu-4lT5&aZap74t*9EQ zLf*xIU^gN~DtnfPEggembo2pdAjpiAZem%vL0iAhFf0q~G@Hx3zJsV08rnxpgAvjO zd%^;yG_=C0b6t>;+pZo7Tr5;mWs`!W4a_VyH-l@6VpRU+M8c&@nb)36)_rbuqGxsi z&!ZA74Pyw{pLuW9(YoxDdH^z5`9SX;Kds1{W_|-*Tw8Kw)kFi0P+|R--zG@k5#~m( zllkubop3M*tIBZ`=6$to{V2wG3DJ;@Pmuth$xBwk$~}RK;hge5y2Fa`mGv5yY(y+m zodM~TqN1T^6-JOX&mADIvAcZ;US=U@_rnUn^$zlN>rhaG*CyOLC!w<&)k*b4#T6iqIs)W6$r&W_mxZ$#V zWww@(@(%Hm0i6ZYZT*P~z+O*~xQVWH+cFRGusyjsxOviG4r^{DmpKEQ4 z*?B~oBzYQC?IX;=w0hz#MK|-q3c4v}MiYj(eD)*q)?&MK`^n(c>K)|ycRoM2r$whp zkXT*U_A{-B7z5+pCo`FSM+MM;>z7c=b$JKfL|s(wDl9r6v*UKxcfF~+s3`gz$~3tY zpSZjbHfyM}kDvK_H-pvN(a9RK*Cigu;{)8*=6{rFD_9;CNsdMBXwJB$AZ3%W(lqaQ zseWJ+Zo7svnvUj+RZAVh^BE)lfkq(H#&&__ddp>5|E{k|C8}?tL22~%T`-kVXB|RmOt>eRfA4bt6~zkAr_-p3A}c&Z z8J?e)(gFM9nXs4u)Y1$VZz3-9KLwtZLawvi=GXHkISL#?tls*GjY9q3ftb=$^c zhG*49*_CDLW}3XF_B&HSn8k&E8d*>CSZ5w4?T$Zcz|1Y17Oa<>Wxg^?Vz+W`>g*1$ zd}TT$Qs4lE)t@Ubbg{CwQYMSJZCPVv;+gddwR#9OH7)a=T85{jgD>@wqvpbbO~Qe7 zG?ob|5)GX5bm7iCOl3Zf8%I6+AaRCVr2D%zmdU5iXx*y)InfR1UG>0L1}2 zdxN7zz4|~VP77IH)cEbpc5{aK|NA0Og)FEFL;^*&%Qt0eIJ*5;?x zESvje6_+z+Z*hRTgGafTW(+-D8gj5B5iR$ zzOi!h!Pp*&eM;8L5TG}3oAwYn)1#z9t0>qhKgv`ovPnu!l~y?>Wi}JAx!olr7b_O$ zn^ooZ>eA|%n7J)L(jU5>NKo2!?X_m4=}XZxWd^oYaai(BJfs7;xum;9&V%@)9BeO;{z+$XyfmC z25*~Tz|r|6#3drqijLzSh$7$6q<{MQTv<_6{dKybU%8kpy6sb`^0Rpjm*3OuwpNH; z-RToP?Z8GCZMcS9AD`$_ym*1yGU!-H@{U@zkP_i~lhz_CN>ICog2>$`Ab?+^BzZ}o zt3+p7XDj#*3=XB4B?@0N$_x>l+bbvG)B^sUe13Bkx06+|Ue3f)@jZ$Cus#hoA((8s zT{G&Sjdu*x>*Vhl@XXD~zt*zR#t|NE^6AhM)puNR+pwqE|T_wEB47O{Fcpmun$ zyL+QOze@m*D0B{+l4e*!^qaF)=jEw8PlTb9(5CDFNmuy9mzV$)oRZE|*T^VlPl6w%47arKA7{I9Um6bLqnup-{ zu2^NmKv_9Sn^4HZM#uOMlI&9VakFHuy{chNt_`J#lE;F$k5*TKMz1>x(MZXJO^pb1 zrlZfcRz%rWufrQfpy^KG8hx9s&UWY9!CcXv;>Z(J+c zmi|qe6>LFmD__vNvx23mmCTt!_C`ughgH!Yf^L(MnZBb7R=SDEcp6+usq^RLrNwaO zO=A!@2-e2}@nW+_`ts~$%5{{T@^EN=tQZ!e#AC8;4aAUfN>fY;+KXm%ASLb1Ks#9y zJ=17&Jb=bjFOe9d9P_YWcg&5x=Z|Y-L2i(bsAK*7?K^uj6p-|1!zHOs&Cb=;^}(y4SBgM2QhjBP^y+^{a@ZPR1nge!0E$xWdq z>xBCQTq7Pd*!MaKu)X*m*Gr$PoJpQnFODWAQrN&AyDG7jr5d>dA7!-ldEL$uX&LDL zam{c(#7K*{ukAW_djsxs+G3BksQQgav;qK24$Gv~jT^Izf*m^3X(ZA*j*m-W!w<~# zqF!&YVJdx2s@nAgWm%6uh2Kjg1q6^2f-wR~lzX~gn;5Ap^RAnox{Wr0fOtlsvrbPk zL87H;siK24<)l{d$<>ci7Q*@35&pnE)eQzQ_gZ-z;b~c8&R(rOGZoK^itk#qzQy@x zst0cEP;_W05!#^`RPU$Q$n+r!`?SIWw2ZYb7pm*im94*rSq=>olB%&%P)(sPcfL-L zqbBMDZdV0P*@ED*ze#-^``i$M$(|h6TjetE(md6TW+`lc7OEV7IUmc}{!m?xR8TYG&VApuUv-HM9W zV5LxHVk46nx8yRgWcede_I1cvYnV*i=ss0(>MG>-Afp$)^TA4q;>;g;F84rDRkqje zZ*8}1Ln&(ci97V1tj#=A`|`uC!o%fBLkc5-Ho@~fk@sZLUdLG*KT9*W7DmfLuZQjQ zWNZp^k#~eQ0&jhs=WESu9iBAFsHg#IGoo-?Z0Xp)!HGGU&l^kZ=Ov38z^qPi(!D9Z!=^zof z1UhUJNRxZV9qGw2IOQj#^>PBlWTQKtgd`{B9g@|JW!_!`cmvpG=xlQ|GjF%W(!6A* zYH#pmLH7tAmRKL;Bi>e<{m2ey!S|ZI2;EOizjwd$kEA1^+Q#Qjngp%3)don~mAShl z9jCze|}huu>pd;1bI?Vo2$S<)DBA|%le*7S7YXtBiL*zF|0tnQ~mqhs}a zvyATC8;-u;Hs4ss$oB1yLh+CDJH7>~X*7X%_y`j(21+Nb*5Kc&zt#=8YlFC z;dA-Q9MOlikBJ;Ip7my<8TH1non$G~VCt!+Wn#?LLU8O@eGX?7ldW4#Y!yQB(3eDw z`OR9UCwZ=LgV7$w7_nds<{bET$Ix7WND24)K@7w&?WLB6R zn`9Ep1B!(4_%E#Q)q;=cPC?d46gjAOZ9Y+wHHsquwRAUZQM6Rg=V@dqTM`HqI8gv7 z+n3{L%5gxeVlyDP0}%X%EzKt`#jR&(j*fN?4x)V_Jo6k+wxhiD4U|)X?y&GNYOX^U zbXfi}%h!4$>|gnHoWWLpU3>*#JKCTvM~YNwS-oxC8ntXtP0mgvrC8Uh?=)DL)iWJU zvYwZ*Z&M+i=rjh9P`uzB10IV@(E8DMXBEtl%7Mg(uMG9HN)GaW*y&6f%%5VB4Wog; zGlRJLQKL5Xh>8T-MK=PfVfj+l_@&S~)4A2tpf{pB%yVng{P0EnP;wssw6!b^RGu$mY-0&?mnoj|4nI~kTvA>rGS~^2A;*tm!455 zuwH)Zb-@~1?^G2ZK)3gG)^ptov~UJI0{izM_e&D_*U(Zz;&3lDD`orp3|L@c0qv> z^3jR_4f2}1I^~P7i4#u#Rp4XoX39=14qWNZ0CWl4&nBA!mvu3q4gctboeMIlzrr0Bb3PGwYHsTbZR94;7HtY0IiJeBYd0;X4Hd~aN@)g3oUvxC zLY)qOEkO1@+9eoxW2-Nlo;y}UO&d(xR^o3d;rg$$dY#co3s~pA>hWJuxQ$Kfq~T=pBVL;B-FO#kMXHyk zGvf`{`lK8zXfbAH4h)-!UZBV2bQYJ4vO!2Nok%oBkx6sANspl%0NJhDh%JzbvLzo5 zNu)N*wJIZ8Q|LJ33@SiOe)mO^VF+}(2QlCBikgG(fVwFj@O64fExm*Kbn!$CQyGsf zu&H4Ehg_`A*x_4)dV!4dql6?AZPP^>HYxFY$#E7!WU}9AwxX%2;vB~Xa{Yf|+ZQfl z#JwD&5&4zF2!WB@G$)Wx+H>(yWKP+P4a2PJ{`woJ$8q=C!MKS8^=QWGyX@wN; zucH%z(TiUY^Q{d4aW+;J#o(9D$(Lj995r{O&Yq(~ZUNJ>+-SPWakJF-qB@`Z`du}8 z2T@qkPUJPBY_yVlyTyTfaBd4-m#=mQgoWv=e`LS>e$Z<260J; zU0jVYGs9nDFV9S^Gv5m)Z7WAAx2b<>{V>qFJ<h ze)P$;daen$+uo<1bRO8Ycs4snCxsC$4)AZNjyR2x73gfcnaFSG{3{ASqLoE&`cOB| z2Wlpdn}PQ{{=altjnvr9n~!8-+qxLVv?Tn~j-6(w7mRtL;W;L_TA;+k&E*LVD{x#u zt}I8zj8WFDka=#V`jgF{{tRRUZaAK!cAbKu^@FIBB}b}T)c<&*`c#hMt(N5(7XSFBSInBr#yn?uJ}!54(kM{ zjJz%23;bd>$mD7Y2qKMlC=UWhqB*k0%#u}UnW?%*)_>*uvps5KaLWqzsuXw*E)ii% z7$F5W2vL#8T6%X2H?va4>KF)EstGnn8i0q_!Qn~DKI-}7KiHTCIRa$CH?uQ}i3s&K8CjKo9Y^yWg zZ{9gRwX)F(CRI?S$$#sU&Tjugxp_h7V}glPx|}v{XCRkhX6tO|bdFP7R!1MG`{ZYS zy@s}(KA*1yMN^<$5LL)-Od}QTKXbM(q^3N$lXBSVGh#?%krJ0I^;X#EuwB1)Qj4SS zUTIRCPSoL&*!2ezy|iflS;}+ftkxnu4$=0$RAR^$OCNxg{;sTW!RD?QyGWDp`E`TB zMguTs;{~_1Az#Z=)h^6ODYIsjSe_LH#UlmtfR}ih_8zz^i?(o*h2D@eQ>rRF?hHx8 zqGckNhL9CG2B+OxHV%lxuF0hha|-~vn5+O07V6YqZOmj{SN~3p-dOBZ>}@7aGlD3c z*borr$11bXjT#rz$y`}UzR;y7O z9Y8Mg-@rS+$W6*wR$k}$ruvZD>dyy~_!h#D!~cTRquD?i+j#{9azlQc(q*jNOCm=_ z7jRBC{~H6UvhY~WSG~2RO7>kA{E1B^fcAY&3)h&NyyY~*6T7|^;U&juT$UmVs!rgA_d;BTqekzt3ywL}lgbHU-ymstSOEd< z@nkj3RcuC{H>tU=t-xN(} z-=>^1jDTN9B5)N!;OU{Kg6~F4Q1J6+nHSPnuuo`tb7U|D z`;R22W)PZJ+_R|7+zf@-iVIou;P%HBq}X3?T2=bkS!d{IL!?Sr)4dHHVwZ2m0Ln-?7n3Z0t|A4#Y{_Rqa zXJRYUw5v^lF#*Oum4+AXt&hhYQN_dc*Ije(NT}c>v_EbKLz8n)vszimRnyEMrabYV zQe?!Sr1NB6%5m&jGHRwTgac30J<{bRh+Zaz(8``8jU^?0Jkg!ieBF#6&^xxs1j=gvg90`XOH2P$SIk5nUh0WpdcpN*+@)4J~EUWSJw(E8Kw9 zw=U!3^h|kQbGl3|=XdTIwKOa(_Vycb7Q80g0IN!^bhzTK-23sMo*Yuah0{bJF^HL% zBnjv;b2}P;o6Rtrn!&9bw5vx`WtGmF;(G*{(U;4CM3E!|s@Y;fD8wYnO!xH*3ur(w zG=N;K2ATpI&GYhhg1(h)z_~HTgBmwz8@(qye}`%E#vHo4h*UPwhGZ*$_JRXZwY2)} zS2D+(BJ4DYtr0-Lh_E_SPZ2^muLRb+SoT3lBul_xS|UHEA}q@x%<$ePfMDk?<+FfG z*XDZ5@Pp~qoa3JE@(T0H7oHS%licGIYQ1*sjR7`N&w*CCs8c(8X=R=k=PD&YDYZ!p zSew&o36bKH^!9D@USOhvpVhdvO4(c5B=x*9^hY6kCk>GkX#{jh##o>P0n*HV>p zYPoxtBY6ghtdNnCJ_)W5qK$8_ZTGwma%KFfm%zF7 zFTs3q+UxB~N8qvuWxTs3@W%j{ql{h1{;8dsiqz33JtztXI&@z_Pl>UYG7V*hko;() z8$5d9weY0tGe{<24DEjSYIo7FrM>0WN0VHBg_`HxUCX|rfy}P2?pS`JSggeBod-^$ zhDV?GO;e7GrPLuNTAunBAc8i!F09sy;$rp<8Ifhx`r(m1)Bqe4V)JGmNV)HvgOdiUao&Vah z+;%o(@};!HTVXIz4<*_tN4f_S5J?>DX~)(Z6JsnSbJ-%0Muku<&r}@{VH=UX5&DRg zE5MeZI{?qKsNE!==LDWZ%^D>a`@>cYAw0TCo?Y%^*X;{jyE@7DlBw|HXE8+gQF#*! z59^!~{fu#KE|q`OQ(sy=XJ%!23o%x13NZbK+fU>1+*SraK#s&4jOfGSX1z~5JsEFd zV@yTq6y~dZe4W4FBqjR3_)#?A5H}DJ0Dt$}+oz-!$UIoqR~MrpQTcTWQCsWH{9Z9v z?>fO%S@v7zo6j2TVSgw&eQhLzrfv4u;>iR^(t|1cjclsBMbbZ2IH>+HtbIq0&Rnsm z&aO^9NN{1!3Spsg`e&;1N@sS&!5pid8IVvFHTje$nW<_u-n=I;pED{rBCmZTuFiGJ z{E8^i#!D+HWgWQb8ud9;l$vrjN9%`-6xIcSWrbGr5m@3AgmVTvlG8Jg%}mTmZ%PC> z`P%PcB5THCK#S{rIjUtRukL!W(aKa@h${DAcO3{XVz>IhFe`CZ&N#e%{qV@!w>e~S zEwJDI{a$UdUbj{JJ)cl@3-GG|V6Mp~mPNx}_tbiMy{IKG%l33n7qp0{ zIHM&N;3w$}#O1#X!gq7ppB;E2^ zxu}z*+J~Pi1mx!@DR10j0XCTwl@hLw)Hb{f#WnB{gU34PqhE+ z^!9h(K+Yw!Rzhf(*X_LU%{>M4CE>S%RFDzMFy66PYgmJ+`y`>!{a(4DodrevHmG7I z0V8koN9_W|~=nzx!u%vx9#fCGr7I!uH zR1NZNpi&NJ1k-Y6n-DiD2i|9#<{BKQS3DMNYrdiF+ceO$x1x$FKz7NZC0Y&S?(Sz( z6=HS1^g85bD9}-tGjHAo18JkbFeVOil+H_7tkxf_PAvVR#C+Y`7=R} zVTByhRdY8-XlLMp+^ZG`yYY{1K0``%ih0A0dOSPNbGqFRtR*t2v9yzMFP&RThLBnv z_krscMx41hy|%uBL!oYCL@aW`|C2mH!DoNUw@4x!E{nuZ=^pyjdx_Y0r|qD|bm|Jg z3c@ul4YZS_2?^lS|^6?0L{igYntO2OqMh5^# zM9|cOg9kgvI$rq-vmFOVX|h5x>{{QJ0Pe8DS^XxpLr@SG_gcd=?8EfqB33l7hSp@Ba-nUd1YF#%kSo3W2}o z|9eR~4g80KnLgD1aN{X_@Ru&H=9J**j6gYRJd{tDDvM@`r)#BfYrmhD>)_BdI%q}Q zia{>cv1>nKg>Xu*@VT?Jo0HA49t}DR(;k;iy4{ac(j&tJm+_?Z1tzpH$dw8P!dkXm zwE_c!Cts@0V7&F~=bzi=d^Vu-Q?%DqeJ{3>2wl1ok!Hkrej`+Gx^k&#CHqXtk9{1i z9<5jiE;7DhYKqNe6?M!iSnga`NwRtrj-m9K)4@9zsd3x!B8TS>(xw(2-+pQk*6;Z+s%( z{;>H{&S3z4@F(PuSYEMbR$QkX*FSx{qsp);$)kL?+-tBBK*MmjHcyQ}Qi)+?f_+Av zEbuoj8;Lv`cHuZx^r(&Ihc^I0g`7UFx==TzNF52#1y7X6OSYGDZnt2jK<%=o^L}+F z0kF6QVkWcR({upK?749K^SC{Pb&fi8E3M{GfYtE91Du3?`9DHk~~CG5o&nAocVABqD`tM#pK{22iGU zArWgSmB-!lCCD8ITmdfuZL%ma$*?^554Rag(l@6*o4@^2YoobWfM5LW_ILODOz;W} zs==#;InEQmIi0rYwt+4VJRfNc*VOKb$R?4$}&rmnbwmxclx3HPdU|nPNp1zWfaee?A>L`VY3UUO1Q^~KSB8UAIZuJ zVB&@vud}eAWz7`Xw>5R2&b418Qw}1X{j=S3Kz^^D)Z`RKtm~#r8%T*gYWTIcb1 z&L^?jh5`YLLtj{!3KG6c^gq2HoX1tQ+gmpoVGuw{)%4Hmdvv|O=cAU?cw}AwWRjW= ze_$v0Xk7Ybovm;?c_ZK zdae*6)E~1I(TJb`U5bo~*ar;j9UcpShBh97T=gNA*}sRvzoeq?{u^Vf_~w6uhe~ST zcf9c#W#!|b+8>;A+YPW8oTFl2bSDL%ES!AV%liHvX)gguYzcwowh=Md>No38=7D5c z$=2!80a=Y7-@VLb_0~ykUP^1tCCJ@Ez#b5zGDWaKyyO)m$94)lOsST@_^4!BM3z5$ zJ%iubLuCO;USnfwJvgcYPl?s9e52@ZIh=&Zqd<9xdcVnZ4Ph-$!c_#n<%WQYGvhJJ zW@g#vU`t#%NKoJh%sg`}Xd)MPdxI$9HXn)4jEZrwwbYjdk_9KFNMOMs@?_yyQJ8gE zk!8{@K+2%dRZ<{JX2DXsy&)UNO-D&imMdq|rwxy}Pu5sw0-_awgr6SeRD`lDK}WsF zB(nR!gzZ zczE6Ss2qZs+(7BGyNstjThHk7{Nct*61-NY8vDmGwVi^I_+EoHefmJCeeqwaM&d-} z6sY*UkC6a`dDcDrM|MyR3ouDbPdR;>d@pgtIeF;dbN<$)T_3*3YGGwR*U=K?X3s}V z9|v_0{S<}q8Im7*+Pm>N?@%&}AOuQ{l=|4)bbjU-vQLZ*hwe6;b0&GfA!< ztLKs^mNrJ|G?3+{Px(tI^0&kx?bp}B2AE&jSw#Qpp018xECGAWF&Vm<$1tRcTd*=# zVz8Bb1-elX!2sc+ag@fLM;W+^5$v}+evd7 z^GVy(mjKD;#_ahevSE}3 zwd2ZX-$x4L zFQQ#cxKY<0cl5ZDGr)|qNOVj2f2|LGw^|UWZ&k$f)`!Uc$t#xg4M`l+uHe$)0zYTV z#OZZLruGbH1Ca(Z-4)YmtZ*&9jBTm1x|gxpF2b4CSvt3^U+f9hW{K153u99RZCrqs zMQOs+AdhOYg91c;z;J(g0K7VX=z@f`Ot~Qo%z6u977?P|0Wv3}Y1Qyy7UI^@WhNXI zJ>W1172aSiul$hHnP}~sGv`M597AD&Y_DeL(dPQ^`S2-L=^}P;=wCPgGk?sDDD>QG zzwsGg;ilLAOF7HZ6$?;*aIUBUAqtrF#81HCAjLhb7(IH@Htgn zfr5qda;MpoW#$h(`>uGdVNYv~#p`E4=Fx_>p&*LDL?$<95w&LhDNDJsdHnG!vNo{BE+?XMryBo*nzjBdYTAiJz{IOd!WA zHi!eas?ofOTM9dIs(Hhkt_02*vDo4Y3TG2 zRa+;2Ywcaezdbv55tOAik^xo*=f1zAq1L&5!YcWPZ3@rsigCUnx*; zl#;+k#~G~Xw57QWUMIb>rLZL-F?4}I9t^EHPzAtQ_T7faqYLAZU}njEF6hkE-Ae5z zchSBV_SUy|UFz*Ww`0i235JqX-3W7DgImm%JH*2e+L0-MpQ2QA8C&)NaX)TqQby|) zXsEboSqr}@Em+2jS}N+5RH;ORjzWDET#)My9qE#wGZ#|1?><2*L84y728}tQrfAU> z!*3>O<;7RUo+S4Q!LtOTvOpX;f_ZZ6PXlb24k?*QSn)m@P`T7ymoBqd#0ezb^WC1#h*d95)JrZNRhOvf%9b(Bczgime@#V{VYb{wC5M?@9>0fNDQZHtC zbH&ogK?MYuIDleIWo4-!q{yA~g{b{(bc#C0Q#_pRaDM3Ijm4wLDGanzUF*|A?-}jy zRFj33Cl6nzCcw?T;>2~UD%yNiasrt;m)TB{<#(G!A!lV9xBN*cwVHLOIwG=X1`+9B}9PcL# z?aX}ae^|iJRH+`3aQpUsc3m3&lu$L6ao^`!(4GVzKvyC48O(krWe`tPN18p}?+2{h87w{J21eLna(iTowO z;70z{zJWfpZU4zz9wr-Fx4976-Tz$VaJKm8UP7?b?;skISg9NGSzJ7IA{X318Ccgr z^evTuuyhLxDG8g`beGzA%gop8MxEU;9*xoPpBgasisWwonDoR#5Ia$zXK-mp^=FuA z-`%RBB7}9i-k4DPyhvahXUKW|x{9SnrY}9jOEO(P=p#d-nQSr#Gom~Y_v1nZumtV7 zw$pH?Cn)&G_-{W!U7)f1F)@sicP7V>Q&YLc&fp;RwgAJAZx|Exs|q+o?R0i{j}uU0 zG6+SPhMsgDE%@2BZptd7&M3PEx-%;5r=q5MlK1_8-#68%6|7L5dPNH^dIl3gdgM5P zfF>m43Xjl^;r@ssrtC)qF2q76WGaJKS^Drgb08ygokgI0uSxK$y?%A>tx9>2agMdF zyjY_6FLOd@5!G1;O$s1-)C3XsLJ?11*4L!jJ_J=NsK{}E^lI?&#cm?s)38w^?{F7{Ubk!haWo`4xN!ohrOc-K9D4!T>cSUUmioLly-LHImbrT!= z1}K*bQM+*Lg|EG$pcWh}H4VDC&ZtQ^b4UO)Tq{3*vn%u|wm=S?QDX1ehvf28hPwo* z1Gr3x+a)R!+O$uL)ZUA#wuY%YbX3j7e7kH`uZyco_>kyGgZUr)LHbT&r})KaPr8%u zH_Mr6d$I?I;Zc9cC77gAbcLBbZi*Bp0$muXI&{|j9f}8 z^?Ag6O*gMckGn47JZ3m|w=$(c&EaFpA=0evv|M8{Sc2y~Wp0iQ0*AgAQl{~~WJtCy z2S2=bkFD|EgOt_7Jl{60+Ygw`!F4>s)b6nM3PFh_JH(?3WLazGF%x*&E}GJzNlKLR zb(5@}Q)pH(y@IyFnSbwBEI#uW>It10=k{SqM5@nIxaSI7BXOq>*z9q6mXA8B6e%r| z66LJsvzX5UGcZbofWE)^9|MC!r%ZR(2CO&!v@h?s+FQrI#`V?wqE%ko-;HzuuY&8@ zdU{uL&v99C8!!zNbie94|ZJor+QW6mwDP@W1>!sHSIZ124tdvlmdT zd3PW+cYIIELr`yVELnz>jK#+Ao3ZNgyL}_b!koXNaFW74^&d0N|KjFSxXCU#_5Brv z?2!wtn}x&i*HpdoF;L_!_t?eZl{cbQb<_IQ}2kbK2>cI8L1Ib7Gv+v2z?J zr<>_vY~pmDW|)o>)5F+w52t2WFdf^}!s7F@@9&>@J>Kzpy`F;;@ialhtwJ)IHq?Rk zr+KPxmyQI0**3{(MM`GI^$2UwhWqD@J|z|qPbN>ceY2b3VeH_zdY)@Mmx>B3-Mq-# zQb~lRX+H%Q!V&$uI?bnbji0yq=C{-|hOFbM1!=o^Dc;!D3_$qLZ}Zt$brh7(%Y#Q} zjZjB>7RkuCZ*Jr7yxcAT25*19fLaTmy@)c~r(uGg9fL0LQcmPGa0x>LXH3&jr|VBukJv}%NNv>+Pgy~g+6<5j-s6l* zbS9DfQ}%i=0a3kvM}@EFd`sUeuI)#C>tb!PG+u7|NN#LmP7r1@rcFuIMe&#Q(s)ld z*N9g$Z$zrko}3IUBV5j1Ljt`iI`39n(k({(zFifE_)11;$XDf@1kwZX&`Zbd3{NSa zYxqC~fj$vuUYzVaJ@(dm_G-!BWg{T;=v%!15OhB_$g$Lk`iN&+26Q z%(nkp)o$>Ed*8H&xLjiq0t7~)k3YVScQ0}TVsj}0?)Y5()<-p1QX#fO6Tt^ZdB%2k zkhLrX=IMd`b;_tY3h*_NoB#!HEvV#Li2;)`}p3&0TVBtTB|6pzsU?2J&c z_{|$pTVV?8{xmSfn23nVA(x*N*`>iOr(jQtyruB4Xu(dHys3^$flf=--Lw7|q=`3t zIC`)0q}%rTZll=JIwKj1R68*&Z)r!S_y>Z_J5dKwQ1P>MO|4dkOdllN?p|t)?jt5 z&fwrPdG_^`jpM8ni<(teP1LzYz9etZUzD%9@dK@tXItoiF2D6 zr<$(7WyTFBDLfDSf2@O(rlxTfQUPl;9{1;KZFz;%Ji@{vJyDfYi`k3B*%$OpXthe< zapiDJ!EWWxi^iS)*h(3Rb@nDLsKLi;Sh@PwlJopp77P)0)yK4Q4r?6>9#=9NKVo_E zHTQ&QViqeNj%{FN5^FIsPYrKyQVtUfq zuxEgFc-d7-L3nf9AW@D-Oi%MmLjB(F^zjb)uu1*uO=F7+{vY;cf_-5-v#Cbd4~RgB zqhoeZ)#uUa{4UGnGEM)-D37gosf!IATR)6O@5B`wT#)7fj1oaHXCE=rYP>(CPl066 zz{B9#ZgwH*;FngC?6pyTPvNuF3x;2oe@_y=Wj`&80(}x3%R#rWvfj(D(Q|6~cIfc& z;WTq%7#Jwb)<6AQ#@OvLNJb9L7@%){`tdY&`$62LR`NFp8A~(~!`#eDg_sTCaWSw| zDb%BV%^D+`qt}iT`>c^>)R4!1uuNiV0!8k4^E;`av+Tu7_hoz{Q^T;8neobh-zO?p z3MdE_3N&t%KiBq-6KssT7BGAGTeUQur`lY{;n8fT4ow%Nf!AhLwvC0t<5sthhL4_b zy~9g%wa9A29ay7@q`jtMj&4DVYSL&l-tx}7AaGvgn@J;1NccB^Lr9e#TZ{Sg`TsHi z)g1!-;gI85N+}70?W=Tf^K*JhSFOJ>x4D)1ft%ast9ZgGNWzZmo5|pzp0bkM@jXm` z=Od%kvY0&~N_~Hwo-KT&&~ajw&t0x;B9SaUBKP+K%w$8k`XO3^52~geTG&Ypqw^lz z$`t~yeXLlv0xW1uRZI$jmy4L4BKZ?!)Nd*|u)lXwh$l}ePXBuRU&^Y0;!{?I-Z{<@RXD% z3hORgZ$d2VRit?HQ@Z7P8H3t%43oR2mjzw)^(=(Z=xO(OX{YMLngr1jaeg({>5AWz zk8Y>b(j_a%@p05+TyAQ`Sg5T#rlt%sA_S`9$IeZEQ8a~z{rM*f$3(X#ZrT)X3f^gv z9yinnFIx+0fcSvSOu8n20QO0Rp}TPb)3{gkL(1rgDm#zpyD_!_dAI8-T3yPW9LZd3 zQ|mB-e8OpCjtw0oRPawJeP3o5>j5v{&a%_Q+}r=d$-WWDi2d5OobNat{p#Rj8yn=# zNI;w?!1SdXvX0`sJ++GE;&N!a#mR{0X08BpcyF&J zzFBLH?I2E&>mKtoW2Fk&IJn8xYP+yi_NZb(-|7on%RffsPZhPZV04iQEiKEnRw_<9 z%cj%U+08Od!U2r^sgi#BfU9+{lA;Ttw-Weg@`j4dx$v1b;EMd}6E0RJhjm|AS>J-6 zS(Dv~p(3GmbbwD&EV)zt^$p6+tqEx&BbfqC2Xd!-&R}ZSn*{`u$TeFTJb`4&hGWES ziNqQrOAO?#!)ze}{6kK6s4U874FI7sb?XP(Y5K5v(ljv|6NQm}Y6nTrbJa)!(u+aS-LI(y2CEI9Uj5@QT| zqN*WXDW8-?DgPxiC@|I3)8)QkuW{_`Vj-TBxvDQv`ll?|#!>b))64t%TvD1kZ8MfsPi%&{O{$?ZRY;~#^fAmkC95)N`M%LWv?7;Ph_>5J7l0OJh94xRM>S1|7 z>hE`Uq@8Su!&Wg>k;q_LjD`5|Q0pxMLtSRYuu~JxtOq42DlCJsTu@i0-CkqSK_ZQcwR#s8f{!flX?cr)%YDr5SDU z7BmJCwVyVt-pC`3y?yX1jGKj=Ri8zM-#B zPrWWrgdPYBJ#Zbv^oJ@bs=7C(^!(>-*7-54Wo_BB-cS6@#ACh=&;Iz8tEJjHF1ZFe zPdpx`qNc*Tz)ls7q zzk>Idw&Q>sn}S@bgCSte|J z7hPq$m6iKe&*Y9Pm>ylP9xw9RP62=%Bzit281E!sQ?(E??Z?jquszYVxiJQO6e^$N z5#vl}WrHt&kJ<=`$wc^e$O>?r47tO!+lLQ`sm4+cN+R z)+If(>+<>>A}+*H##w3_%%b+gHX-dcB4(ltxz|(p8PRCKa%0S$&8~;P)wye17H%b; zZA8afCO!?4FvjJUEYZ8lYNdBpifE*j#0CiRtgIyy2LX#zD=dEcEEX$nPYd2RuHN#I zePgxrEG{cpoXZ!S)|_PHYrlS4wAhp>>jvSr!lNt2aGVNUw%50_#RR*|i%me3mO8b) zbK%P;+SMtv!o}CZ^?YE2s7YR0N12<$*jpdip|;`9xZe|$6#rLC;fN^q-#rL5^s{9@ z8seI=bu&Xl)RY-$4_tFdrrZsD)7sGCPliOW1kH5`zl_oZh=ea z0p-FQz*GVWlao_3QM(pOnD(>yUmNwFxXA-e(zIdQ+H`Oc&Q_JBCimwje2^aXgp9H$ zUrJddcO+0edvl@Vd=D*JR^M9*J^J19oeTd3^$wuIW{lnUcFZVwqvGd%AEl<6%@j=> zF-j)M$pr?6@NMrRF)U?m!5o$fR(+eKd@rWp{X1h?)KH5GvgK+Qvz)3G*!Uwhvc3>1 z_ZV{azba3(f+tbn*-d+;scB6%MjJ+-;~-(<=Kb@NztJ~LUCW1Vu+Yt3p^=Z<$t-t6 z6|LBLHBgO3*7q<1R8uMG+05_d0w@Cz5n=fWn!}sYQpv*VZ^fG;F_v0E%j4t;>-N`| zGG9AKgxsAfnCvC7!4T+vAxi4bC}WAFGX!`;ajUo?U*;HDpxH= zA!U{3hH7v&j>DGtVP7w(&fOXbRO$S4C1XzareKxbq=e>j9EW}F3ae+1a zsodp_B19wtNk-~Hk7DjKi*#BL0p+C>pdQC-1Nr(iiSGu?LxBI8MwaZ z?|VS~Z}Q>0?5DzC(4!Y3rkAgITg;|53Oe}n8@psp?I1g^dbB+5Iil<6cly+OOk2fJ zDVBollY$4%ShUy^Qc|^i^U05=Z=Oi$0(2^tU%sVC$&r%xIQd-?Zn0FT_Jy72jRhZ0kE!(R%}^jkbm^$DlYHJ|bXnz# zY+gQHqWka;^Da9O4zOs-(V(3W*WjOVe+VWKKf9<*O-@S-dcFHi9xr(0?{BM=%`SGA zVa-H5LlV;U*cean$+BU7W;m@+PW<|W^?QdFe64ACr01YoU1U{PL#N}VW5ii4Otege zgoHsWUqla6@mrst8r!H{T?@s=ly)!|4?-OU-E!I;RirjXrB#(yn3AXK{{z8H*V7!gcNWHb#mWq#7L z?#W65RJW@ZbjFv&oaJiK=;qS|Rg`qW(sQgbG-#{-`Dw-c@Fb_{gYn-OdxolYAd( zv;hj3s^IGhKBKlNEovcMot&MjpD%orf+-PVV80$W*M=O&I- zABFVEZZ4ri<=L?9)Wq;Qe8Fj69vwG&X|(!6MT8PiyN%bj+9AR=PY?r z06#{gh+SKFT|s_+K64&x0sTU`T09JRG3Q(AF&5;qI)C65<`)t9s4unXEz{?-Rgp_K zrL@aWstv1G?)Au3CXV)RhPu)ycYsNRTZc8Lz`7P0^Ji5A=;E+N>TOFd)g4;o;AahK7OuM6G004>u z^m5!Yb)-zIcasya4NJF?RX^29<`9bm@yn3x)W0`yNGD~H4%>p3hX-@MK(xmYVRQXU z@;de6ygL+VDsbN1aNptXdE6MoO2^D zD76U85Rc6PsT!mMYG#rch=@pHt+q8|nXB+3Ha|QatEX$7k6T~3$2q(QuB%dq%X5OT zXKMOcm68ztb@vvgxrYvgBLM|Auu5)WinaVA_cNC&CsY2k7 zWBPq6%!~BoOZc1({ur%`rAnFgj>`Y4JX$uT7$pwXcTzl!>?`2&7EMD|Taoid8-b*X z2ClM6Syp%6%*{`lnwld2<=xlR0;-I6@wG>{@WKY(*Q1*&5>^iCp9#uG;@ z!~U0XA*&Ey_)-*R3j*rG*RSTd=tXHpeN|+IyGnk+?6n_-d*4dZIw%w3BTJ>yGE7c1 zs1AtmOL$#Hm(-BRgaBU`!6Ax6Q~qInORNk9@I_ives0)Xqj#c$*DTP((gNvTkKf8= zOscPfs8|ad6SY_HXeL%xczq(I*3e}vTkFL7%S5dw3#%hC`-Dn7g(TMOS|ydP$+9gc zWmoT{H}HAE0{+6_4R2AsXZWU*W{4N(R3OU{pRzK1bq;ViW1b9fgl*LjO%^Q!Le+}O z`Fj9qR4?KhEXt>~%&SVGiS)@x&X#Z2#6pX5g8ENSwbQ$}n_(0`r6L~Z?%t8w7aNthlKC za6VhHK?jTSf=2!v7{v7Hp&>dz$6ARyB45i=m!D~#-e~Hu7#WN)ftHg1wcg;zIn@cp zA%aRq$jsI$73eyu=uBZ`rouYy&^ecfTTEMgvnBgSP?B!^r%|!|QfuqzjAq^z*m{Ey zto6*?ZADpv#nY_E(kaB}WtVm6RX)>+lmuGLzBigUfv=aUsT6#31m2U+TWrV7#D07e ziE4N}W0&Cnhb<|RO&0D^ptvUHVOA0>zG&FFC(gW++|&C031PlI`6gd-h%3q_T{|2Q ztI+XA_85~x`X6g}F8+E1f{qzgmgdcVk^G?Q-p08+50VN@^nF??(mvrtkvfsBDYeR8 zVVP<2)AQ_u^jR^eDi!2dB~%*Y!VFcs6BU8=On}h&S$N&{90@v`@^q4GM_Y#*3h&=q zMm!)sl>YP%dQUv!ga6=bEC1w9$(&88D}miCdKno;wfH9Xvd5MF8?2IT8zPIJwFZLQ zGJI55oSi3-FiUk=dvjY9qP&8Sh&V+yUJ(e*!bqiynK zO4in22MNSlaArS&e}={rBBil^d8iv`95RgkrcQxZ z{r@M0hW~XrD}!#|N~TX>7iOJc6(pwH_8_(@6l7tAncsjhq@^1Ix1Hg*a)%^?#Y%H) z0Mo5D^ZS@Ij~-Eriyd7iiCn*f^>zX5UD5{b9oP8RUr>vIMxQ^6$R2)h}avzaih zP$(t4WzIzrY}QX#2Y&&Yl9PYSe~x)As-JzVR57A$Wkw1gpT?XDQ%)l+e0wvE7KMPjbfCo zt4?eouZRgcA7DUWpd%~0b%-OZ3fcJxsRqPT09}wqZ})j6uW0K70!c*6?H)+dWJ&jd zfKDWp2%ID?Uff0WkG9`iwi)v zWw*d_2sm?@g>u3a?JV1Fb1U;jRE{ar!taPGVpH8e2*6-Zlx3eBZ=pD;8Da-gZ?S;=GMbm}LUZ~~BI%KLghD(!xxaft|6 zjCnNSP@}MZR$jQWh`1!(q{XC{7#|?zbpp*3pX_l!Y^7Eb_Kb~*jCq-OH|!@d?yY_` zb#`?PdrBN6t6RdeNP}oFm$S!KfP2XSM;SA#;#1==hN2-3=S{4TCY-j`9xU*Mn1&Pt z$ynXb5wN&!a+69eGhA31lrmizq#KYeW6Msnwx!E&6)Wr*y(b zv96@CZP6=JW^lmpP_=KxM#Wc9beUbtlKy`-g_}X)@4wboqrm^Z{*MIXP)7aFrZ5Y* z$w=NjA9SU@)yUNa#&#sSXT4k6Xif()?npNDg$t{0BV_(~Si^`DD1t?LtM4y~KQ1D9 z=OCh3bWr}Z0kH+zK(yD2Zw1rHK)J?7t5~K+VzED2O>c1B^y~dTI$Gik>9!SfDavm$qYIqy)C|DYZ}W#WZB1~xl&CP)IPzDnlGj<6b11$tcn zgdVJ!xH2y4&0H6sQe|R70?ka zBN4L`DkJ%viny|K6+SUaBY(TF zuyVAihr6U_L?q>NUu#nkS4~j9c?tb~^F4YFMNdcL@uZZ4qBg#%NnT9(6gu;RiugOu zB3q1W&B)?pF27`NbEQO!vU&i3*ffz4spJZq%%Hw5Recm=ouDDJEt})%D~UOL0Wb@9 zSHF;4+=*S*Ub>gzq}={JlsbrS;u~rV^yNRp7(!S$PySZpdFR34c^6d6W8u_Gi0)0A zQAu!hs8Ls@VJ4zY^thx~d1$AVz%7M6i`5GF<%`~}=@R96L6SdzFVmsxStGTsn4Jx; z!l)L4cDyKiGKssPNg6+`h$xoU$wnq1sr5bi6clkS$+1GWOj=yFTZ6JjhiFa?>!w9~ zXG|i*HOY~$nGHoyRK_kR>&e_YL*iT|N-3rrXZHCgbDu;4fK3bSjT#>o<*H!I>qbrS zi!VPSh)8>c@$@fz)a>pwN=y{q_1A2JJ2-6bl`uNeaEer>v#+kEfZ6mbJUMJjeYW#@ z0+VH8!%LDAF>bNzGv?cn!&p>M%~QzxMmnMGh=LmUDl4kx!XZ~JnY z^5rssV#y1kS|E=C^$p#h%Lz}^W8b58#N&&`w8qWHkV~%_yCUpptlxo0B^C7$8py&$$vI(Ky}pDZyZID$ zW45&XIK-I6J}plA9j}SryG=nw0+*}CzwKd{n2j-ZXhhuDX%Fe4?|SIR5BetxnTFqP zP6`P^Kgryorit={diw2M_K5e;qoz@mHQBW})@pSa?Z&5|x|A`5ANs;Ua`^75j8%mU)~sde{- z$fK`@pnYBr10r9Wej7kKBWxwxkDN(kXVC?7JjgH)*T{;LWvte61L_dM#RXAiSS`q$ zR*g?%FMCANSxE$}ieY$N+9`*7pNEtnIR%;CXM9)IK;Be-AUjI1^HzVo^41l3{k`DD zmqvvGRfgY^(w}K{HSck;KP}4`Co}yz29;M88VoZ-xs?0_E>&H~E^=Cac8bI~X(|V9 zhzOBPlkeul#CpFH$!t9!ehzDP+mC$P>IWZ5BeIeW{YQ~*Xtu2?ZzMMDocha~&yEcac4j9A0|EW{h1LzVg^)66?$_+TX9k^= zMC?C>#4$){k_bEQVODdzAuBE5Bs$3^x5gM|bW><@Sn8 z0z@fack6zdFz&f54h!zzUCmDZwSWk-G>@T|zuT;DZX4P_voqx=KenQqN}WXi@`Q1M zs+P3bi}@(q-ZnkZSC_=J-XQp_?T`sD_fHhQ5krY@yh~F5YFooZJWo7$DgJE_S)^b7 zO$u#=X41m+)Enk~yJ5u%2fDDR%v(tTJ>%$_FI{f*1>8Dqo-?ne zsF6*1yOwErPPHc6rq<|iycRW6p|4${8RAxkN8e1=MuT~MLmJc7UH2@IZD8KR zeG~EMaJW0S+Uh;ai6drL^Kt+KIC}Q5rY;W_6`|07VSFs59$v(#JkFZEuz}H2!t1?r zi`R{G(l_!r+xVT*9=oNWTu}{(AJnXV!tdnq(H@~CeLGb!kdgvk1X{3QH%i&5|2|UU zw5et2vbgavQUoH#IO7!drAd|pH*&W2`%u*AQcKmhxCJU}1y~~A9x~r)iQ>qH|H7N3 ztxAV6vSnHUr!#7WT9kq1;WX`sV`hRXYVkoch@c#Hb2{pEgZ9)X5Gm_mr%}=(FM-wR zdqDiF4fBLs`js$cFezpJ1va~PhWvwxzLZp~!D&euzo_f3Yh6wLu2snc)b+@44miUe z8_^JVQ~EV&{DN9YN>)Qr8?&{@L`s7poG8FPkt(pFwzbLKHt*Q(!Ho^9BoRO7pSc=X zwh>!s5b^szIjPeUf}<9q7IL345xo+vF84o>HXdV{(0H?EHWw?xSevY8R9Ur78^ZB8 z#o%K{`-pj0&HRBu2lAW0e@3Z82kfEY@!jPtl(_Ho@k@-wbNu_Ek;$TaE-%^XV@pQe zwMU~khU{ei! z+A{gp7ttdWxBK1sHLGHEAQUIB4Y4)Z)lcoey`wbicX+ZNp{W|pSGfk&ZPyr+pX(AS z56%&+2L(3?XB7*;BTDZujpNp`l(Kc_oTLo?^i8PZL%cJd*wUeygNpdIl_!m|DXpNE zq9~*L_&QhX&Xng6eLUFJB^}Wj8hzDq5yPSkZS5~UJVV!J*xG{yfy~fI8|xiWneWN| znHu6_H~fZAn3Lg-P6Z2Pn5!l-R$oTX9HLP{qao+}Kz-=zj|^G-{(C9J&uMs#zP7w~ zX}sjZV{v*9#_g*v9c}E%v9TF9@V(?eQMim#y80jVA%H3??B*kx!8iT?F6U1}|DF#V z1(gtv3=)KrM{<4ohu+bO_Q}W#30_MA-L}n)U|I%ebTn&Xm#oTTvi`@dWGsIAH8rx);Ok*)VG$*^fXp|9kuayH61o@tayPn$Z&4`A)rfp z5AXPGpX@v^FRNt4!z!F$t9zWmoUGe86~K?MuvqYqbxZqIz%rJeK~23sA^6<5Tox{g z(dM8FoRSgLV|NTo8zaw|k!*bJo+Pu~*Yqul zx)d2q7(FX)9?>!d;*YUrHq#|m64r#Y`3~Vpj zCJ^1Y%vHHF5^E6hGCK#6yeY%P({T*2%SS_WmrQIyPH@!C{@OwOLH3dEV7?KXJje+f^LtnF~ zCs@tFV!>teg=sC)?3*lAhqm}kjQHw9!0SYD@gc11G#`>%kc~Pk4OpUK>9S$lYc7P= zfLD2>F6m`U8oVPWLmTqNMzc5p>yo&b@a^?S+8Iqz#16l92*lsaAEr{xcrwyt<>s(L z_>m#xPASLaqs&4=@mFb*SLX^!$sji! z^6#AUCZ8$>2;*e>XW{z9b|!YOuoz{UBX(LlT%WcGzVWnJDb3eDLv3bvVnfSqV< z^aMrgAJLq0YM1_Zk;{WA7ZkGWQ8m3YL&zkM{KtWVZ-X{O}H~SDAceR z6P9cQXs4~$Ill>-?5+y={u70R7`BqwA+3MRIHU*E^)P~O`^M0yh8v~$pC~BbqM1Zs zRz0@i3o)%cD;MD&@)xlpi`9akkf?x^ho~FOG(4*g?zz5Z$F3XRuHD>1l;KjnMXY=P6~i z)G-gsN~nGq6&Lck%xYK9&1+%0shqFkWw4E-x7IN>Kw_UYckgq5R(6_y($7(5ePxn7 zy@w=j3rki`S^2+^KvW{CAcdM+dwAz>O}j;H)j8T^itnDW`Aj7rI7Hy;~Xh^I$_ z(V~z{*$;oKBhY(W+^4q zM$Xn}FH!nbL{{rT>er^eX+dqRLAYtQV=}uS`J}iiv4j>&ece`#JBnt@srzJfUdVO1 zJuez&w0y!WzJO}w)McbL>jTc_r4Bo?=lXrcT8Y*&Bs%BQQ}5r>t~z%V>26h&^?AM0 z$pS0{=g@F#Aup0geofn{-oXT<-fpl+r0~pU5fLaWg(xe_8O?xQ{+fYnq!G1O4lmu$ z-imHa7^WUh-r6;M=e5{-c68ywq##or;{54Z!76j9rg{uVNJ1t~hAO_A1XuMm?2b_ zV@=#7>BqG;9yWN-dUYw0gS-ixV^P3TmJjrCHj^U8+`|TwXeJ!zXKX41&6}+Z^d5>Y zN!2T}#TynDz4h=pqgk_^5{EKp8&9__{kecG7C>pC}x~D1E!hLrFQeUS$1G6nMV@{uh!wxQRa8*c9}I7SVF< zoGFP}>D*Sa^Fk2viie=AzlBUNqz}yQjw+ppZ+Ih#FkoHe!9PSlwYEp|D$^g6*ANtx&$i z9i;8nm-(E6%%+i5OTb%MMazsvjv#B5i3}%)YLsyMgT^#tHd&vmw+{Wd*hMN-VQgnp z#G{}Lp)sHSm}k801phNeytQJ7KamY7_VQjWB@qo-*8@@@Q34H=2fmvk{M$)9mzttw zYn6F8P)y&`PoDH^7SpP%HDWCKp5ZoYP{~ZLgvY73TDh8=nc{eGLW6KV=L_VA=lu8s zsnuoLQ`~#eCvGq5PUxsW@#}{%j^}1FIkZ2#VP^u{L4sULv&^MZH`vIU$j`vxOF3X8 zxz2K_sZ;QL)-Bcs8Y*5e!{-&+b?dCd{GstfZjS)9AET<^QrkqA{XOzL{rzcVll6U4 zu|oSrn&43NU(#sFeELo6t+J+v`Rp7VZMTsD@Z+L7%%jf9@0L18a{JbHwQ*ao>0fVy zPX}H+r}1HT;6=DFL^GW{)^@Z54Ohcj60-*4Ko$PXZQ?)i5YVN&V~aWDr6Xa$#Rw(2Et8PGXdbZZ^|}8 ztr1-iD&pF5HS7_M0;3HjyC6TRuGbKemxYR-t$>nmX0gO$`l|9=9BgOS_2n-IJ+#us z&L%ex?$TNAw~HG4BOk!I7uAK+^$q97P3#}Fh6=J!b%FT1e@U>8eh{xxwJq|^NwXCi zv*3lNMFgAZMYIkMeiTi=_D&SF%tOvvs1I#zDLAgXZ6d?WpK(j+Tw5}g)~Sl)75dIK zj$EX}SKP08U$|2LK4=lge}B_#a7XHnEL=kIWt|_PHmgq|{&#eC*HwJ4PHz&xL_wUp zl(!!{Vl^tUp=*LXx%)R5yplo9F|{|9hAA%m}-+864(c zk`;GTsMQ(|%A36WU+#Z(;>wa#xZ~?P5gqr40kwN(hQ94EU&Zfmqb*ChYMh@MaU5Bp zWcDV^^)9*O%QJ4;B3_ku0ORWhp9bV7gKEX!BOw_spRyHzCbL3Igza7y72JP#oj};# zLI&nD>*ZM*y^ApO)tEaT7Dp*>gV*%tU7$T)}4QfX3F75kH7D` z22myn=0=VS@{t!}T8c_iQrINpev|D==C}{@LIjFm!&>%D{kbKz>8Aq0$*c)LF>ic zQlY0_7#EA~S1#?%zgYy#-QB}={NeKJmCriFmFhof# zWWAfvb4JsykZojgOXrD}{mVBdZKJ;J6`!_qj#5w|t&(}&*_wOAG!-~C>-E>3R_CRi=Xr_Gp81u1G!-C~c#ZX=8sB*P_Gy)=lp zVd?QAA`19SeGfV!_WOrnqYy(RAMYo=c*+;jql&onNzoZR_JCWis0LoSz-mBTT}e=L z%}7r~ucYz-4vlACOy|XQOVBWf zc+R~Q@kioN&u)4GntoNjMXBGzxa?n>6n`R02o50Ig>0>>FU|HN~ ze|!bQqE3#gMJ#9k@{2n>^*Q5KZi5v*7PDSP&F|LAjp7$Z%|IKQ+{^LTfbQjrPOZ`y z-vEI4TI!vIp2=W;hy{yum2CezHdo=-Zt`)LBHFr(uTt0TU5vl(+GsDHUxe(1xcPNX zk&WUbBc?nH3p#UyV9AmdY)`4iX)0KZ4EAdg^R~e~cn|*kGleNy8LFE?AP^$2nk;W7 zl)E%TpS|tp6enr6qbo2(kY#$6o2^u@*Wo6pc-O>AjDI|9b*#M-ZA#$Sx}g()K{b7C zwUuZAWs)!( zDNHV_j^+7HQy{tS6z~ofZU8qm_Q+BvO!6nCdBd$2zn4kyt^M&Xh}1EEgth!ZuFxpW zTUK_5cBRfg`guXcc&v?ocf#*tNgdiZLB}3~*<^Las_ix4bo;1zQBZENcfGl4{g2W{ z4qow4U|(X>1DIQM8zg1n%JXKf@9aD@en@`|&i5LL8xgSzCO3L2wA)x=k#LbOBw)<( z%cA4P#nW@VV@@7Jq&g>E#7@)HCWH$(@HFhoZu@p9+PhueC|EK2bv^a)+ zfq6WRgqX7>!7RpMr_6+r%Ofe+0#+dkiq*?soCF|p66cMn$kCaQ8)BPt-u)YAfnkd_ zw-sv~Nq^3*z$YFCx}%9TAzX|_c`0$5ien=~Y=D%E!~16B2D@t^R=qnlqGf{Eoo;vZ z_xkToZ8myCxamq!Bav?4M-Yrd++21x-H7 ztQZ`XQ)E))K=>4JWox(_q8GWT==cqjsgu`$Q8=|fDKOe1-d@_&H5AxpNpn=% zB}%_bWNHQZPZW-c**^VSA6)p(q%k))g)m;Pe}=~N)M-tJ8|uSP87(oUvZ5*p+b4cV zAEoI+StD=l)Jyp+#%evq)(&=RnqXE+Ogo49#Udq@_cL&YL=9z?QHrUeboy#X`L0yG zrqobUkDa!%{@EjJLSxB9a~r^mPk#lq9@BRG@Q^h?k?h9aEQ@DZh+85vr2blKFk41T zog!3oPPE1!nPkh8;-Twl5~3>*Aw0i<-+t@roZfE1n@GBbFH2W-!3|Abt&AZAO`%5@ zfB)EU>t_{$5aCTY=FGa+$Omrs&?O#|7PB;6j#Kfed7bIB<_xz-Pe_05dB1tzydWd`t_CV zGu8N>A{HEbM)LX}Eh*W+hxGWG`5ta-BV2vh{*)bKhU>Ip)b9QIt zvdY1sxBXFm)~h+y;)*;al*A}1dDB{}+q$jis19BmY0apHhP<%+0ky?$8y-!A>vu^-m9IopVq58>#^J(RXEY`qwxnL=rQLcbc3>}Mqf5l z9vO3>ZF;Z?D-FX0CSPaZBv9^&SnTU6m`XfJ<7$m^@KEm2JeBth$q^f!*-hI(rBXgN(4bQziHz|R#DCTH#Q?Wddkykq~jdjXwcInwRTJu@n?Er;O0YtvPCF3ep5 zO6Bt-6BL9Eoq7j6e_hEY$GAHBfh$8xRkg!Mu#xK^mMRr#6*CDj$9)TRr*w`B$}05P z1Yqkh`f##CHAZ>ViU2|2&JVrN{hDljRr}?NF?^25u>PGS|hfq zT}oS{R8?D)4sGxIqwnuu@cs33e6By>I*#i)j`MlE&gc0&A5V1b;!O&$A~otH0GtUa z;^(Y&CHGx6d0E~I=!TlG&|?1f zZ57xQ!=npZD2GUY&5qAu5O7kXW}f{3?>Px3UhE_4^v!14#M~0tQF_`Onlpu%13{M> zcP7&Jc?BIkiA9mZ0&$5YG49Ol{SUY8e1q(~cr6RCi)}hSVXcpr$XTMQucBWrMRtZ? z^s75nR5+2DGmsx_NP6Xc1BOcSMv5Pih^A#3fZt=LQb=iYql@Nl*WF;(w!GI`v8^V9 zz9#AtVi$)c5om$>TBHm$!AG1p`sk;On9aVEnq@k1h6Br4?fA<>D}`BeJyOq|{a|sl z=24CO)MSB%f2sh#!kx(Y7nfs?Aqi8#+2G}=9jz7KI-h3`?<`$@1Ss^<>|`*dZ*(>U z1#$%_f$!S{)^?(4-imUms+Q%V+rD|Zz_Emsl2;lc;w2fIpA4p{ZTL^VttPf5nG+EK zX|gVMLA;i;39c)c3gqXt^6%({!4J`Km;ncUd$}^@NL)89y0dVzl_AUvdtVe>9vhLD$#Xf za!LJ60J?{E!#B9-9Cg=2R@=vtEyCOuSop&rbf$(a!@Naw|D>HgW9oLTn~BA08;hJ0nj%g}Aw8m;;mv@BPh86JA#7tL$ow{a%eM^w)Rv)v&ntVg}JGQHYA7JHOUp#p7H`_ zm#iKr32RytZ$$=7g*qr5w>E$9&X5?+NuoPtY+~pVQQ2>V<^4xb+%vEv(;;QnwkQAZlP(j;Capi}`hDu(6^Vs)EOMbcx&#}vTEK^0k z!>hj+#}q!KQ!IJ`%rb&m`6ab^u0sB5s|2E}W72}|rH&wucAUgVk-+yHY7_RsVN3Q# zZ>`>`I>HBPrn+|5u{JoLqU|nZ2xo-O;FdY>h7uavAa~zZEs$d$0f$YsI|&+q*jlV# z!d=v?l)SV!Y}QUg13dR|Z%`q{7wiypKC0oKf$#CWg$-|Oq0Fi#IP%#cjFa6G17I_? zUXqhbGLmD0t^}25hEq%wwF<21(|@QiPCzYw)grQF?*;ND{l52?gzc(|9JLr$8-u%* z^-lSqOVPLD>D8>}$3tHvM%$tdBpXBjx?UWoARVm*=*{_Ea}kmchkJ<_t7Gjs>%62A zi)2cc)L&VRNk{8&%V0O4*mR0z^fkEzG3Q9*>>l2(KrwKH|F?>UKvZ#OEe5N9`$Lxg5~>}X8N zDPHf5jPqRA+%dbCxP}!S-E@iCps&?TbM`7i2>+E6xS3wbbCV>+#gLO5 zV;X7lkMQX@aLd}&`G@nbiNTI-UMR~NvzX~9&Td7rhT{@IAhe~{ae!F>|3r$i#tM4AU#vTORoo_XR%hd+OxtO25>tAdGz~#-8~RDbvP8 zv#iF`x&6v?42;s#Dhz4RP>di=_35OwcIN@{+EHKe%?vb6QMHE2#2p%dw4+*U3r-^S z%zw-Yv$f(i8s-ZIYF;Dq3DQ!X54y1=ok)zozonG>Z7s_Nv&oD=clRXBvNVr`i;qGQ z(JEifUK$L$zhjB3PT9Lx$V=bO${>xfWUhd^z}?m) zPBFicxBS;yJnpeJXuT(8C1o$HFOWI(K8;hO>RW9bNscOL15A5FV)Ap zSS-iqdNrpD%Fv0cy8~a<|0I<}d$!MI%2gB7@wM?y94XUuDp3)kGU zg>6OzmT|6QqG3QG;sy`D@S-LBgkN^TuXau>1^5mjV^Tt8f|=5(&rMB={4=HS_=Q%8 z>R@%+g2G0KC7aUtwd~`Zn`(Wm3WgJCm5QdwV1fIn_oNxVOOKh)!_iUXp$Cosm;H)f9fenWYgW~y4k zhpvXqif7Y+KiCsHPZjyFn91x9qs#L4*=g5k4CZg^6s5-B)Y>DUv8^Q@YKFWGo)jlD zV{b!sq|gZ&G7?2gm1uqr-z^A@ULg)|5{&V;|Tlu6)9K-GFkorXiirZHbCVyUU*dT zy$ri&iet@dF8{o^-N-Gu_&ws@ur;(l3D2C^FCereJO<1iN9%LjB4m)yuR9~eZg5Iwt zOHz%Jf>e^-7;&SHdi_5=V0rPVt&iE_Q4{-z`;{o2H%19k<<^DyaE!%zx*U8_J(Qw{ z%zO4Ewr(FT!-uO~9PXWOk2z5Kxl}p%<;Gd{S*&v)j}NssVbS7c&?+u*_2jL3ZUX2Q zGx~%#Bzn4LN}?aTn={HQ{NdHTAGM#Vql4yorfS~t3Oo;jd)sfQ0-buXkrqOx@G1d& zx2wJCOrUS(xxKp1zW_xvhZrWvdyd0w2Au75*A}yBgbsU5(fPZZYSRX1%Y(JM*Ily1 zpL0!SXO1(txZe>5WZ()z`E{Rz;I?}&jU;Z~i2!#6-$tWsQbu@-5vk(Jh5GSN`ez=F zrb5H6H0t?xob!0v;=g}CuG;=7mCs$Oh}Bv>hF|xeTD@`=FJ*fB=~SDXo|=)aak9wE zT9`fAKPnDt+;(y|z}yjk$O2onG~2GKcQj_O9OnCxEwAN$qar@Oj|o;l_?xps5%#zu zWDnH(e%n?psX&Ff%i2Fg;kW%HTR2?>l@(yi+q=l&Zq4jUN5?$N)%E}a4OTkq82^p3l;QPxsqDKD?i%ViNUITh+Je3bff!Is5qiRdY~^0%&26!_Oq59mFG_#m?QJ#)qF^QQk&g zA!S&|=l>wQU%NLyQdNM^LpNs6X5o1it?w1&wSG#QG!}?@#Kft7YJ0Dj!tO$$K3nF5 z+dUT$boBO(6Wuv`+nrsaZYg4fvGP6}d0peE8g9hwsa}VID@m7919JWvpXP7&zly{} zQ{knLFU7w4#@j?)SaQ64#lL&GvPlIxW8igBlye&PKc6vKcQj>iTE*cD9RLOiIgGt} z`~MS#$^ZF`4R$%MZHy`dtoi!#+}DKcDVt4gi-MQ9v$EFA+fF0NWGD5c1(4CGQO*JH z(uIG3o%#3a`~BB)?II96FST_uq+mc_t+R(^7o!of&ecOAnU9@PF8g||))ebObHoI#d4Yg?jI^qmjQNPx zKI&w$sQZ+5ThAHO3T7A5Z1PaWbgqoePVd|GWgG`3=vGSoKUz$hhZweLa31lG4C~7qgWcvai8}W5NHUNAu z-dY8*CI{`=oUe{5a7q4Q?_1h&iG(0nbgk&Ko4-$gzSfA{8v;v+K2NDDmN%EJ*!)3H z&sI4$=E9A8mIVrlwfUW|XzpPqvg>0l&qX~G@+Elt5q0Jlr+l<|{9NIh@l)DF&T8Vv zNz%0Hye4B13KKe&p}w%!-1&#d6rez_w@B9!^4`>y7}8MIyIw5g)VVU~iv4Aeq%LiA zR}Mfb&jp4%R5=M*XIOD(h%=gT=>|5g@RIJcQP(tCP$m~lhJ&we;(Z}BBTSbZc1srN z`MLwz-~xr3AZSQ!1RZHHAO1Hu;Zy*OvYzXN|n#<5LNs zoiguXY*3>LI*zKQi>8XhUSLuJ}pfkAIlD?^9d@dlGmZV=OiPx>3WQw2pPSV zI7*|r)}4xkAAeDyy;u4D05|Sg-q%jY1gy!pE5e%Qc>`Z z?YFh?CL6Kkci2j1RJZ=?Xb{`-o;%n`x*^l^G!&CX*SUCBo51p$NB%>~_-Itbj~~%4 zeRWx6_Wu|je7`PBP}u5lC?i+Lp0+C)`0v84{)ob-BsT5;HNix40OAEg4sVN%v0wDi zznD%M+KSFEiVtS!UGrK3-FP3;_!RqRaw7NQfnu0ll}3T*&*dmuhQu25auv6i{p2`UBDcNM&uzWp>f{Qxju} zE?+?ybiV`c!ON6^xi<2X)21$I>u3e;jY`xp9!r<7^zjZos7(zT{V-vNb9tR%l1a5- z85-n?Q}~7M&s(?V5DpPljjLX|;R6rC73U=v?I^Ss#ge}Y>z{*_b6@;e=dtXh$i_7K z-3r(jlCXZf6W2GO>)j6QSB|tLfJ!2%47LLrnt&?)>}ptbMIl?1yOKGHQ_Hs7L(c41D-ndE<-791)OJhfUT? zqQSokH&HWk#?RvSfkT&{y6{;|jx$0+K`P#PJzmZZCLNQ9w!E?3_Dg&GuFo~ZPhPs* zjXw8~yGw09trQo`wBe4?c{wKLo!+b58so6p`pPN9p(tj>v?!j1j(&_~v^HuYN3x<( zamaSeRM<6?oM7q*(i|(wY(YzYv zf$D&09j@*U{it_dfKz={Zkik5EivoNW3!h3AoHH4u`3ewRQqj0<@jvnG@O!XEbbsv%)ki1_6@n$*yu6;~!ZW<$%;EyO#X*#84(uvYpNlQ65?Z{ zH~YH5n#;33W~*}hGZ$dbkjF6pyUp2l`Kxf>M0M=}eW&jdo~_60!=LG~9AuTVF9?B{ z+{@dY4Y>z5nk%3Cx`R_`2Z$$bRbE(gg35abj}L`aU0rQzE@S4Ni+ZSVe8IgC%g@$s z;!d>P47SF!-Q!*JlMgJ8BHkJ9o)k1b531_&M-=``5-xx6w2=pOEYcd!b^&7(zj=xE z4|l2d!e~sB+q{-d$uE3(z+WU>PPQ!PMfWVW*bcL=V-NpU5Uw{C5#Zd*rjwJ`@GCq*N$URASkq&2tjip^eUF|?ou*!p&;R&V^lgtWrRUx0 zW;tgKrc<>3i|qU{tp18%`4B2}+VE}`|LmnE-oHA#L<3W!{}CZK6X56kNX7Knrjw9Y zo~xRn#;XM*!~Y+l@afWH+cj;$Ne&D@$@>a;u6mwX!GILab@1R<2+L@V!g*LT3l8Z*TmN)EiIN=dL)t}5vaI?3q72+xgp-{U~PH#8fX_vV_GqrH!7L@YWC0%V_d+SKn2O`qi6!anZ* zB`@TNYTulzF#`x^<4#p2D;q?!Irgtn=bpb1M+RK^OyG10;rnTM@?dhdn~h>#Ia>A2 zM4ppR$Fb(4%@9ARC!K||Vr^vwzI>=GL_$5Dun!81bt^i6RyiD$G;*{PFG*>xXf!@2p?&+19C2g)yY&E5uk_h!XZ0%B+nUnK1y+y}l2X|1F4BR2UR|&@-}p05D-G!UX0rcDA;ar}hjh3US*jzf&|Z z=51iCd4-gn)#ETI?<61!qEYTGg%y1<$PN{CFDF^=buGbNQ6jRsvLW9V#Dsn*Ta&cI zEoSuTh2dju3&5or8`J$Bn{jw{rFe}+$hdn)#f)_xL5O=|;`d#qmDTF+Q$V2R(XaI) zV+-k&iDxfvq7-<~BVQC(t6J_^ngDi4L`)lta*RuwwKv~`ApWmMc=)SKr$m$WX#gH^hLs#Y9-<)ZVak?|p9M!%TQwNC}PS~;9Qr_uOF@eJu zwFGOu0bB0Czv-b7Hy@pmeHbZR)NtWVgUionZ9*l`%lal-6!XOGm`9IN8#zb|A@kQvYzOlB1u#<&joks!f3oI`6s53 zZMSC@Ku&L4oV`z7)e_%WA?Od$|0b?@q| z9p8ErK5EPT`(DmP!we+LGu`_VjwLtim1b7dASGM5EOY8H)}jH|uy&4{Zr5&B{0m8q zX+4VdjB2`fRbTzv3yR{nx15!_;fEI`b)G%<#;#tUT5QiDv!64s-4X1HdU=M?TFCXk zCms{er{>uX-kWwW5o=M^yV;&KkQREQ`tRlX)Zvf{nTi?3Canz*6%1F@ft=>2aMAmD zai&Y+I_T&UGPjQA4>+DXW&35-B`+8l`_3BAE}P60MS91y{c~hbREGi^mU$N8q^;Q6 znkQWPyqV1wwR1PzaL%odvz!uNmpF~rc_o?@W8$r%;rtuVHR~ZQBCh(7C?w9#a{!z+ z=>=t!m$Z0eN>W{KO_w1%(=2yD(XPt*?esNAbzf31IPW&RFI2k6=`%Sj2vcna8QZS6 z-rZO?@eJtp@!_aFbCMivZR5C|OVKlWG_Eeu^`*h)>ocd<$x&{f06=m<%gVIbqox3&K>?#BqErO1GlOy!Kt6R;*px>iS^e)g7vu9 ztmlU>@J8yWKD?Sd)L&Q08`k1dy)ilmUAOiuMe%#EH!*4Bcatzl?{ zUK=X1-j9(MTOW0{R3_OyIm`3hUij(T1S*GezLL?v;qdmd54J{iDFZaHYP(xM(Ai)g z;q`6WZo~{lM@LU)apaPCc{xMD38l_0AxJoU+B|6}Xo}H&<+GG>&vAxEbp9%{)qcf& z)Xe$x5vEL9xo?f)?|KR?Sxfko-6@y$`Rxkf~yTq@IYZA>h}0Kmh1qrw&8Nz}+?7oq zBV>bm+_+_sp5h;nlxjb}njip}U~t)0gdyzOZ(j;igZu!s3XS1nsWv*&eEXetXPTN_ zLTN-XuH#3Bd|tl|!JkFe1666R&6*?5-O3e#e##pis%<8vz?r&V37EQceFMyBa}Mr)#l^v5Z;=wAX0$NZU$!#upKi9+zK@; zylk(8I5t9u>{-Eb+7tO)YS5@Jy38={(a({pDHC%bmoAuxj1Ov_qUS}oxx4l@)Lw}S z1WrlA5LW|@K&D9t;K)aixsDDoTY0%u1{rfMUT-?{zo%3T z(QeixoTGk|`x2yZJiHRlc4+C14wWrt2|*mcjN*b22k45?NwtUzz7NiPvLy5qFTe)c zfYo2(RquBR)R=$WLrxfq`oR-UmnB34wf-RK|jc=UyxC5^Fu%>{1Q+u<7q!j??DLEZeI_1)5-j z)wzoz8*_BKy8~Gvq%wdy955x!m4l%N3*1l`1QkG4V#m}{XIcEMZ8@QSEbAE+kG3St zDaS5m79lLzv|YIbJVNrGsoPrM1Izz`AN?&{{dSw6; z6DqJZk--Y`cGWOM(77Z)Lph?J0oD++w_Olc(!K$rG|e?JG>O_fU$+C~Q0q>^Dce=S z4RviXAUXEL`AD@&6N3xj)bXVtk=m~j0Q@!=}w3*R%L{$_2ekA10tUBUW0HTQOd{OJ#t`E_4aB!kD*s%~~&u}k-`Op9I9$jzIp z47V^Ad!i!|;9yr;!S7h9tZONsaWkv-L9QbIE@QjZy#Qgk7YZQ?ABbx|kF+r#prMw({hn zyb{)KXYh-sh7#<@J^<&NcS1 zzde`AySQ-=Ca>+1!0dTWi?0nhj_Z@3+SJ2H%A7Af>G~% z8$EQ|Kssk3Fm!8A>s7wXdM@BMaqgr&XR?gO8>4{F;+`U^qR{3Prr=kJ2d@SaUu}Yl zw^i->XjQ1N_lT@^OVh#LZ7S^mEXq{_0r1gT6{W?36moe?g0`I z3*E!?ro5$Kxv>PxiRmyQAm0;n=ij{YVZ}-`CevxA51aA$`}^E&I?sxv2^uFsU>UEv z&~}wnHe%-{L8*Eo3k=7vGAnE>$MsnP_g#2tS-OECRcQi;9iHz18c{MFh;>EpZM)9& z8xajv(1dQFu=rB56rGC$*O8U@Tspa)5vR>`VyPxCpHE5I3WwfmZ`cZwjXsT+FD#Y! z5S865e7nzbn)+=~qyq228GJJ4pEPkCcv_g#;vO63Bo@L|67FiDxE2C7zkn|P7ocHald|1A$3CC#%;CyV1-b?AprNxquCCknd zk)r0V;sJh_>cZ7)W@V&dF4KHjHL$7-$57M&E;nQk+zTtNBFL-T%&XZw7r6|ka!Au< znhWx~XzyZ=axsDr9HJp*X9zV0vd$ql!7dLB62F(GO#7}+D=E?xMo zn3r=tVgiTEv-y~_G=4QW_HKTtDr3NMp)3S9j(f#~{jIJ>c-Yo0GckF`|0~VSaa%~Z z*yE|i^~Ku=%jS5br?k+H(Y>5FaC^Y1f1G1}E)PIxOC73ZK<#wMxvFFxklFDt|5<8~ zOX7Hy`IqA@{moy#5GKlXLEOoi8zW#C=VNnCo_Wh)IpOXkCqb5~i^&*28y{;?6jIYMFjnt7BOGi~ zTk;A_>9l4IUt1E*)^jj)JusY%kv?FP*MaNmFea7Z8aJmx5Qk*HPy4q!FV_V_l)WXR z-n{5+Y+d2_4=5;_Gi`x`vX9e(luXsKhmKNWTW_a&-vZk07uiR|HU~1r-`gCFmxX@7 zW$d||OGv0IZ#TBapbdeqhtKDK^Hx>sJKqb4SbGZzW{zFCVAkDQvCsL{bJIOes3!jV zvH6)?*t%5H`8y|RRiQQpdM_q)wY2Ip_j24B_MOakmmy(7fr5qM4GsS3;92 zC#8MIrHa{#l%nP&&7j_Y0*$Bidd~l2IY<558m16}eIiwLiBZK^gC;Q)5LlxA!}>lt zF?y@YwF9>jn_eXuB8P)sG`!SI^A>Wr3Fljz#H=tI#~0W%KbZ}O1Ue;NLbw(HfF z%|J4V0R7w2Mf%h_WDp_wF|S+i<`cJ%&xeLr?MDZ{XDAnmQ+-!7SI+XlBQcOsgDxt{ zZSdYWec6H76QtUv`oKu=Pt#JeEz>L6TjgOv8On+t;Nd!(?!rkX>JU@|jwjZo4jQD6 zu=?njnY(J+jrds00E9S4btPcQniF$Fx*%(FS?N}4<}8PJo2?@KTX|`KOi~X&SkNZG zA#jPLH)U@ANn1vX0IX>D1YD3|_0XVb+BSki!q*g|V=84O;MJY2MiCFU)rns-r}w-n zpku!}%9x4eVI1zXR7a>#BV=;urdTe~TW{~b_SP=LKVm25@0+rL8uE|SQk$>`ow2sW z3vSGjRAWr*Sf27z;k=$GH%9-PJre9=?U;-7K_csP3TSKjhBVHtLhd`l+2tP<&s$bJ z2s}bhxwQ!$<0PNIlC>=yz)czs`mmo}WW5lplb$P}Y+3iBWigE)23pOir7@=iN=usu z!fXwUja3oVsXJo1S?28QzD(2|xBY95$&Eoqsp9qEIcw&RZYEK=urTRGy%{?b1TAh>z)@eaSR z-#%ZN@@zE27F`M3=*UOlbF9$19=F7+YJA>4i!S11@V%QMK_&Zi}Tdo|mXKdb(wv0?- z2btV5jNLJnlDQswt<(az#SRqrOU*f3vjT; zf?wx8#0?=gKSkdeQs~lAN*?{0K%JbbH0)VKO?F3Vl~h;(A$!FzNR2@wyUI`)Rcfj5 zVgmycpK)IatrSxzJX&*geQ!l_3$;^S|G`4AMQ7Ed!5?`#j_|oqsxkhoTB2Mz@1zR7 zxjC-eAeorEy{rU$XS*xWEgj}a^L5AYxU` zOPRK6SJIr|7If+MU5Gi}(hS*of1Po~t*UJu&b_My#0+;G+zQLUy!i3uXN1A++4{hg zSNZG9!mcc;EYX4hl38C(z{tHvE4Mo_@6B9Mf7O*KgIpDy8c_#L;hbx}v5%KOXA=;v zCBVqk9k5;|I|CCe|MZJ$9v(10)StXGaje$IRGc<0)CqW^$ofVsTm&t$P_3_c`3!h) zATXz21q-C(wEr_G>?W}arwrS1IjZkOdHMumn}YVZe>E8w(k__=2&A`d9X=u;1g8A3 z{sYcPFAGM4rtgof{#A2rcqC-YKK0{r#hu;Zn;$zuCX>n=A{gGQip1Ty?p~B^p+$_dOE$T zcfouPAMDmcr}+h7m)L6kiak64P64{sI)@gu?y#v8p_4gY(jzWzM@I~bZKFN2hdWjN zF&3LhR8K5ftPwF!PFK~Kg5&XPX+ak8n@#~| z$`*vMCdZWvZyr*Q*w9@-uKIJ%~8G_!Ewrqs~UT^z5`X(iFo zF@>coLWHe73$Vwm06@Bs*^-YJV6W4T?<6Wlj}uLj?;llquBHM^*DUDC>^5MnY5(&Sos z6rDBVUXR`>o-sCO&~^jgVC>bo(bO2W6HVN|>vZ;3WamaE?i8ZWuCx zgn1n18cEI#q$UDEdrZTG8YY_36&+=TQ$?L;TIR(BWnvc+9<@QSl&??a`ZArGKOI-+D7G*p|q~uWC=@Y@eBLeDr>qavjFcuAb{`JI`Vi zreSAYmtjig!PPMy!A(Wzfx;a?$ua5GG%J=-us|QW$yO4#KZE2;&mE4Q&Kf+P=Fyxk zdiqc38Kq}8)mj0LRS3&2oa~xkp6mIde-^@?m|M5hVv+fmTErQYEyXC0HSle#EC80Y z>L`T<(py?xR@O*e_bSM)jK1MicJaD2+x!M-Xt`lW!gb&m7h!$n3`^PeNv{M{Q|me3 qLfa3mrrRg0_}m8Q{m5K^n~VK)mZM$fbt?7$E%^VtR{8(WulYYpi;e#P literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/assets/icons/accept.svg b/videocall_webrtc_sample/assets/icons/accept.svg new file mode 100644 index 0000000..0c2c52c --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/accept.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/assets/icons/enable_camera.svg b/videocall_webrtc_sample/assets/icons/enable_camera.svg new file mode 100644 index 0000000..924770f --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/enable_camera.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/assets/icons/exit.svg b/videocall_webrtc_sample/assets/icons/exit.svg new file mode 100644 index 0000000..e1a5e92 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/exit.svg @@ -0,0 +1,16 @@ + + + D4922CB7-D8F4-4442-9AF1-801DCA3E241B + + + + + + + + + + + + +А \ No newline at end of file diff --git a/videocall_webrtc_sample/assets/icons/hang_up.svg b/videocall_webrtc_sample/assets/icons/hang_up.svg new file mode 100644 index 0000000..6ec5755 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/hang_up.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/assets/icons/launcher-logo.png b/videocall_webrtc_sample/assets/icons/launcher-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9dad2b46573022872fccaf4c44d4c1b3ce54a520 GIT binary patch literal 2021 zcmds&X;4#F6vyv-JTPpMq!MD3G;A7>AjqaH8cjk#HU%woUIhx5+8=bo8+{&RlkzGIub zxY`;N4FG_)n=9J~`lflqsll&LU(5pNknerC8$i{gr82l-hx@xlczOaexW)nGXe7Yq zQ=n0x0iaTh02Szw`B*Xf*J)F+%HQkxL{G;xtpF_Wc4M#KvLE?y#%lMX^>|K_Ht|Oj z4{+Fc>A`lQ-T;0ra?sZm??)TJa^g|U%F58_4T_HqQCCkaHn8rwQhPSP|H4F^F?!&6 z_tufIG+kl2eMLu#_7P3=9G1nNDv!lYn+QM*7K!3$`s*GVfh1-DKwTx?3S1L4XPE$W zjdnYsmll+%(**o!n{4nN`5&alTPKZ;d2dXd4D+Qr_lc607Y00^sL^j7ien|tq|jeo zo8|fli?)jL3%hqVrql1e-^P6zANMG`wPn<4$((%hg|OswLml6Z$?%iC9Z!~LGnL-6 z=j~E6tJl_7y}nU-k7e3_T8c`uo!x``ZEq^drNcpY9jmzv-zV=zuZUGo4O`EVca2c` z6M4}e>W1K1T<-ziSkgtStFzn3d^9cfu(PG^0O4P$P^`o7f>@d-K+4`!Bw`^tuHP_$ zY&?>RJXPt!@Jxr40xtL}utBh#tfE1J!1*_$UP_I`R)=u^EjCBz z1j{&qQ}Ruk2ySX0Cq3h5=4_^@xnWN75LRwhv;!HF+z~gbXYtK*)An97jUO%bnjz4; zYS<~iwRId879~U>t2G`hq*&PLMcdQ@=Pa45CSA8(R715L^XF-(j6nHKFN_tm$A$vH zSasYT&jiO#MPB9rBruG8k|qE|tL`u%K!15)X|Wz4#-ZgcBm~=)yJPzyI5N#1c?=Zy z*zoRk4E7=;f7v#uij$t84kwFX?RgbPV+yt25Mj#&OaW=}eG?o_z;3sBW|$KQ zve3)CBf^LGD4qa-+RpgSdiNHGjw~+G;1Yp(X?nn8u2=mvK)>$n@*)Z@k zspI~~+s(d`r*I^`tS*<#)8$XD|2WUzi`sta)Mhz(*r*opG81%ADvBE@X+GTpo8IH% z&ifa)V$}@(qD^IiPPeUxzJ)XLXQ`shUS6iDGJN{kAA0CMjK%i9mPC0mn90H3$#ET$ zl_$d=Wz&=a%KZL)XwN6Zo;{ThMF}sz#HIhVWaMrAYn`dd;Y)sHfeYOYJLKXywFhbW z8%v?S%9c%jdJq{^Yatsx!khC-sw^NgnuE85?Gr0Qea*6cB>p-$OPA%c272%*j+kfe zf{{z}zVvqmwZF2WD-ln}1#7;%u`N6Wa1`(!oC%>a0Rpnin zXN4MqSr%KCvEYkxx!gAmpyW;DE{KLhK(`o@tVP$7K{U=>lu04wYKzkO5Dl*<{3sYy z(O@}1W|v1h*uo%k#6Ta#73bNWpvrJk{4dsx + + diff --git a/videocall_webrtc_sample/assets/icons/qb-logo.svg b/videocall_webrtc_sample/assets/icons/qb-logo.svg new file mode 100644 index 0000000..725def9 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/qb-logo.svg @@ -0,0 +1,11 @@ + + + 05AF3104-ED3E-493E-B542-E47D9BA155CE@1x + + + + + + + + \ No newline at end of file diff --git a/videocall_webrtc_sample/assets/icons/search.svg b/videocall_webrtc_sample/assets/icons/search.svg new file mode 100644 index 0000000..278ff44 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/search.svg @@ -0,0 +1,15 @@ + + + B46AF51E-0C1F-454C-B94D-07E1F7418CB6 + + + + + + + + + + + + \ No newline at end of file diff --git a/videocall_webrtc_sample/assets/icons/speaker.svg b/videocall_webrtc_sample/assets/icons/speaker.svg new file mode 100644 index 0000000..5a38a24 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/speaker.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/assets/icons/swap_camera.svg b/videocall_webrtc_sample/assets/icons/swap_camera.svg new file mode 100644 index 0000000..96c18d0 --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/swap_camera.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/assets/icons/video.svg b/videocall_webrtc_sample/assets/icons/video.svg new file mode 100644 index 0000000..438aafa --- /dev/null +++ b/videocall_webrtc_sample/assets/icons/video.svg @@ -0,0 +1,3 @@ + + + diff --git a/videocall_webrtc_sample/devtools_options.yaml b/videocall_webrtc_sample/devtools_options.yaml new file mode 100644 index 0000000..7e7e7f6 --- /dev/null +++ b/videocall_webrtc_sample/devtools_options.yaml @@ -0,0 +1 @@ +extensions: diff --git a/videocall_webrtc_sample/ios/.gitignore b/videocall_webrtc_sample/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/videocall_webrtc_sample/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/videocall_webrtc_sample/ios/Flutter/AppFrameworkInfo.plist b/videocall_webrtc_sample/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/videocall_webrtc_sample/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/videocall_webrtc_sample/ios/Flutter/Debug.xcconfig b/videocall_webrtc_sample/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/videocall_webrtc_sample/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/videocall_webrtc_sample/ios/Flutter/Release.xcconfig b/videocall_webrtc_sample/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/videocall_webrtc_sample/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/videocall_webrtc_sample/ios/Podfile b/videocall_webrtc_sample/ios/Podfile new file mode 100644 index 0000000..279576f --- /dev/null +++ b/videocall_webrtc_sample/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/videocall_webrtc_sample/ios/Podfile.lock b/videocall_webrtc_sample/ios/Podfile.lock new file mode 100644 index 0000000..f6f3239 --- /dev/null +++ b/videocall_webrtc_sample/ios/Podfile.lock @@ -0,0 +1,53 @@ +PODS: + - audioplayers_darwin (0.0.1): + - Flutter + - Flutter (1.0.0) + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.1.1): + - Flutter + - QuickBlox (2.19.0) + - Quickblox-WebRTC (2.8.1): + - QuickBlox (>= 2.7) + - quickblox_sdk (0.14.2): + - Flutter + - QuickBlox (~> 2.18) + - Quickblox-WebRTC (~> 2.7) + +DEPENDENCIES: + - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) + - Flutter (from `Flutter`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - quickblox_sdk (from `.symlinks/plugins/quickblox_sdk/ios`) + +SPEC REPOS: + trunk: + - QuickBlox + - Quickblox-WebRTC + +EXTERNAL SOURCES: + audioplayers_darwin: + :path: ".symlinks/plugins/audioplayers_darwin/ios" + Flutter: + :path: Flutter + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + quickblox_sdk: + :path: ".symlinks/plugins/quickblox_sdk/ios" + +SPEC CHECKSUMS: + audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 + QuickBlox: 3dba480339b42e77f9450773aaf4c3885463da3f + Quickblox-WebRTC: 10bb490c8f5ffe730a00b62549f059b386e99d8c + quickblox_sdk: 823736a1efcc32164069c21502ced09e48e1ff32 + +PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011 + +COCOAPODS: 1.15.2 diff --git a/videocall_webrtc_sample/ios/Runner.xcodeproj/project.pbxproj b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d3acd6c --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,568 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6B5037A8B1E03CDEA3E8FF52 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A044882BB3D1F207B8046EC /* Pods_Runner.framework */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 4802B1012BA47EBB00BE647E /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; + 539AF109E7D5A0DE417C2118 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9A044882BB3D1F207B8046EC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9C6BC595BFDC7F4D28F2709B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + D8FCDCA17B7E1F59DB05F908 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6B5037A8B1E03CDEA3E8FF52 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + C954E8208D3138DFA76CB8F1 /* Pods */, + FFB4FE0CC5578081A5074254 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 4802B1012BA47EBB00BE647E /* Runner.entitlements */, + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + C954E8208D3138DFA76CB8F1 /* Pods */ = { + isa = PBXGroup; + children = ( + 9C6BC595BFDC7F4D28F2709B /* Pods-Runner.debug.xcconfig */, + D8FCDCA17B7E1F59DB05F908 /* Pods-Runner.release.xcconfig */, + 539AF109E7D5A0DE417C2118 /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + FFB4FE0CC5578081A5074254 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 9A044882BB3D1F207B8046EC /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + DF7C7A38EB9A4E5BFB76B99A /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 39F42ECF7A8431F8B0291A6C /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 39F42ECF7A8431F8B0291A6C /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; + DF7C7A38EB9A4E5BFB76B99A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 8885H5G2YX; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.quickblox.videocallWebrtcSample; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 8885H5G2YX; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.quickblox.videocallWebrtcSample; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 8885H5G2YX; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.quickblox.videocallWebrtcSample; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/videocall_webrtc_sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..5e31d3d --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcworkspace/contents.xcworkspacedata b/videocall_webrtc_sample/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/videocall_webrtc_sample/ios/Runner/AppDelegate.swift b/videocall_webrtc_sample/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..70693e4 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ed1eda5de0d79850f545dcdb7e2661a8876dd9 GIT binary patch literal 29980 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 OKiRpQFF)sV_rCyjUI`EY literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b0d9652d9711af51881d99af98c67605fb4314 GIT binary patch literal 417 zcmV;S0bc%zP)stcX~|MoYooLhS5p1Y5z{&Ocx!YGawg-(V+LTG*rrh@DsnJ`fZOHAN(b zm>3d_+3TKNm#i7r9WYG}Ec+Pd-)cw0j$g~El8^Lt=xRflUE`(3OpYRt_jlxu>Oyq^tZWrT%`M!^{Q zvF4fHvy)}oWMzb%-3cDbg5sq>MDY9yoZbjt-Vj{Br_BPgXSB)62)lX&b`E;hZcBoC z3#c_6f$U-2Ggg*_QR_<@v(pNdy5Qv6p@&J)rv2^vp0dXRG8&vFo6er~YwyU%WG;wI z%Mr+&F&dmE2f&`uCMzRsd0vHp%Je75dRCC_9Atbr{x;BwW$QKHizFzX_yS(qc>zG{oX7rEM5jQ}PQoyiE0mCW< z46Eb-7V<>7ta)9l6II{zaW2E-J!Xt?>o30&HNJ^D`4a|ui4?_*Kl6DX^#}n0cd)AR zhnP=coMLfPqY4MvSWszvP_fO~JJV?Eh|%(_LQB)CEq3|9Xk|x>4iK5M!a=yscM(8ZgIa@(0#2+hRwt&DL|Yd(58z;Vss_gTdji6wPGcq0dc_bJ40Y!mEBug)t@gh zGKp$+D+n?3Zu)aT_*{^c_$e7h5~otYuu1{L>fZzY0zYTT`Y49y>Hq)$07*qoM6N<$ Ef+?~WZvX%Q literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..5ce0e657ef469fd7e7bd5a44d970c4b6873a6b13 GIT binary patch literal 495 zcmVbF5Qpc&^@`vr2x8$&_$t1Gm5sd*;0uV_imhOywt}c&sd8|Yh?Rx^@e=(R!tHs= z?re5*$v9tiT;?wGk!8P-DR9HGHES*xqb5lf} ziP7)VujjAs9ns@!_}c4RqL+97p1p<9)b46RNz(dtd+$D@<&E_F^WrSg&PtftgNu~b z_xzt|y@hcE{%Q&=bOzhzr(3~lXC|?248l!Cg{7myuB4XhM&BstTZ%cgw*A`h7RJ33 zw-fUUTY#qb&jy`c_QKVkT$MBS7DiAg?wvLsp5oN{plg@|QW1i}PjKqt)Wp#W{lDkk z;TX!LRJ3%BiyTBmOAZ<>1Ea#yQDIj&(UOCRXvslDwB(@CGBA}z%Mi6D&u-tgCS zCDAhE)Y4?@D5cFqo^j)*mZQI`NVut}uyj<|l~_~D*mw)$Egq&1`2+bd=--Th7|XcU z#>QJ1uPpOXi@jOIP}kbn)NTzULB*&osGTt4A`+BsCI;E3`3YuW4yF>s0002ovPDHLkV1l;K{1E^E literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc50559ad13c141ca3738b987a455c604056fc4 GIT binary patch literal 494 zcmVsrc=QOA`w&qY7-kvC4&FJMv=7s0UHa!(oQV2*V=47+$&YFyIbyG-AmATx>w=?(LJBhi?szQgA=rphk?Ls>P-B=QsO^N#NVg*<~ zbg(!hkj=O;_S$~V!P6_Sot3bpyDxX8aCFwX6OB*;QzOD(_xAu(NocW&VNruAOeQ~L z>2dFqB0%Gk5y~s|q?AIbwk}oloO1PRtXMV=IU|%cyV7g(7WKJ?;F;ruotlr9aLh9?XIsp(N*H6#7? zP#>XAG-zBhLc?}YZ9anPn?xg&jn6)$SWB9wnXd1F-D3w*cg3AO``OGYSP3wLjn6)$=u(=7HT*NE`#kAR07*qoM6N<$f-!j71ONa4 literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..05caeaf326f380b3d29d145b1a68524e57588d3e GIT binary patch literal 704 zcmV;x0zdtUP)ULb9{6gG*Cg`!Cm z{ELcLL!#J7$nLnGn`IYw=I+k%syE~Lf#BeH?tFLW%zWo;KY={HAJXuh)~yH3+-+vnkakppyXx#wtb}N-DgGWUtKgdKs5NIAv4bp6n*@v zXn7|ZceD{ry)egoAI1!rwH8|_M2-$*7a!r#mmfZT+lxliV-3{OoLxNTwY4aE{UNv< zjXbL!b7j}3g>~L~*+O;SdYV#G^1EK7W?qwVTIw@-k5qEhHAJXuu!Z8d$4RIo2=9QS z(`0=3TTxfLes1L?Ib04;%m)o(?jG~|cx<7#Cvk<8G$$oQ?*B^0ld}Om>del=ow$CG zj6W?BZB>fJw1q7cW+1*N^Z0od{p7}^;xTQJ9L)o^&g6KIli03Bo?@EeKBAd%bIezB z0ekzhg~Gd<91jj2pjb1|@WX~$EP`BgW^Kw$28&P+a!W3!nTa0@2*gK&_~&9EIb78OXaQm$vP{w7L=sTW9Ndic(iXZxRve m8Y0v+M5t?sP}dNlu5kelxbRZw{0ATa0000?;W}$M)~E zR&Rf`U@4dD!7%HNpn&K=_Ik&cR~*&ZwY54Pym_FsgTu;_qiHeUSN(v3jVmTc>Fp+y>|N7}`g8cp$J@}NF z{``Hbq2r4E^&7XStgQRH(Jnn)zHMXf^FFq+#1c(>|QB*XF(M@3&NZ>wVR z{{8jch8Zzees{3`F8h@m-T%1O!cY37uQXTIJQvGdHVUkYA!XiBBSe{_I$3I@Z-bY zZ`(Gr|2yxeOt-S74!dWEBk#TJN>e8_qC0d zd+Xk9-`u%=*T({uj$<<=JxBWie!Cv;* z{XxtwsbY*6)1CR;%zNSIm@N_uh1t$ZepPZ$S-&;ua9V}s%QqhVpSxt{@5wUW*&#Jq z*X{r0kD8koT1%JzNi}%}iR~68@k*^*7PaaoYbsmy;`(oFh}+d#zJUM^owr6zopr054G8E&u=k literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..cac215581a9a19b41505549dfe98214077f9b9e3 GIT binary patch literal 618 zcmV-w0+s!VP)dRCC_9Atbr{x;BwW$QKHizFzX_yS(qc>zG{oX7rEM5jQ}PQoyiE0mCW< z46Eb-7V<>7ta)9l6II{zaW2E-J!Xt?>o30&HNJ^D`4a|ui4?_*Kl6DX^#}n0cd)AR zhnP=coMLfPqY4MvSWszvP_fO~JJV?Eh|%(_LQB)CEq3|9Xk|x>4iK5M!a=yscM(8ZgIa@(0#2+hRwt&DL|Yd(58z;Vss_gTdji6wPGcq0dc_bJ40Y!mEBug)t@gh zGKp$+D+n?3Zu)aT_*{^c_$e7h5~otYuu1{L>fZzY0zYTT`Y49y>Hq)$07*qoM6N<$ Ef+?~WZvX%Q literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..47e1ba52b2f142c55161d08d888e3b62c8a9bfa0 GIT binary patch literal 896 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdoh8V0QO(aSW+od^>w@wuqy|vHQEb zL%Ws)1%6okky%9}%yA9N>=31hsECNDjs-vDSIp&@#<)>HT9Bt{K}SSqyvuHmSEiO* zKLjl?+Wp#2?s)C{Gw+O_>6M@7XF6$6y!rEEBl-7xtWE24l??-DtW2~&5a!P0sWQQZ zD58n`j%9XPLin$PQ!gE`x*FeEyRvlJ)XT4qf17>Qhd*z-pz5|ich~H@7injmYqs5d z_xY_~kJ#0ib~DE(u!wS0@~@v_%+9o^L`3}Ek!_o9X<3&qN|`Qp>YSZjxbW@@^LHA% zEBEENe@pq!nWumB+k?`GW=Gat`zn34US7}rm!K(nL+Z@JyLGi+Rv+Jz%Bgk1J#KRD z)TG?sS5IFrYuVp8xr1erhe9WmU=i&QW-~i^<9Vv!@>07{>+Qn#>mKEQFIy70etXXS zZ%Mh4O%5 z(zx%&8{^pjZ?8QT^WEw9W*_WzKe>N?;sQ%Z zT&t{bNbyv>csyOuQ9^Fw6EzOcor|<0TsJ0^oG%YQKjo6EiuIhQpLtw4v;;KM>>`79 zFdUL~tCo=aXcHd7+O*+T8TT3O{0qh+iHjz6$D9vfIoqfr1oA$V5DHOHlG~>czI6NA zYU@eM`_C$@aM;t{7|vPar*yZ|ZpW8nd)K~J`DE`D#N){NNOjt^YKfn0T|JG*mVVFR zELvzeAw`Gfms-TO%laobb0jNXP(Qe7cAe)uR|)P$uMKw&A>tV)>kn)7KfbwJ#P5j$ Pa~6ZAtDnm{r-UW|zJ7^+ literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..40428b39c88428275c472115ad79ca003a47bfea GIT binary patch literal 923 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FeiDsIEGX(zP+?S?x|9lP@oK zUlw=h>E7>qzkmAtTk_7kjZbbbDc`9sd8eW(NFs%|=s$x;_kl+oI(?K8n^@yw4R7Bv z*j=(P{P&EDH{N`{erVs{4(sm~8QcEX{=1Vs{p`Beo&<^NynxLG@&eyp@>JL@^kf~i}11151=sG{WC z-2<&M{HyPOd;RLpvg76xRX5!K^m(_FV*Z2qJ>1ow3ore;^V^(TdJgyO*T9mVzXqTBYG*S|YGx6^jd)$QHcUzPoz|11CAJokRNZvNS$ zwST=#uRne-7h->Sch6*)#n5K9qi;gUi)BUP`~; z_xj4RW%l{&qt>_WIY?&H*YDcG@oT*YVryi>th+O({-3RyzCjTb)O#x4ZL_uFd9+of~ay{7(Oj z&YYA^Yyl1wTeg{Ve%~!&nZpzKxrg%GSX}zK6o8Jc)7VrL$Yq2urxAYtSte;0! z3gg9s&&Gy9O}hTTI^<%y+_ul^EeA}0G|hP*@N<@Lk1tRE?^n*&>2Fxp9Xx;UH0#c% k)`d9i#U7Suihpxg?XORoaoP7ZFw-%3y85}Sb4q9e09Qr4=Kufz literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..aefdd12324eddf614f69eda35d881058caaee7af GIT binary patch literal 631 zcmV--0*L*IP)x!7qGVQjt^nurL^%yv=e-URAM7yqeRfk2x+3IfoudXpq+$M-zbh%)KUSoIliSE3(dK-krud?0_o%8_pYv#-w^6efXez=Jpx6jZ zEKYP8{_*HMSElR((b7b`=H$AnS)Md&uJUC%%gM$iHlojREj_9F&sH_zJ!DIg+-JmA zl4}Ij2@j-BB`7ncxA1%M)x5teil@1Mk~ghlBPg+`PWr=&0T!Oa?}wK#+^Bi^sMp;3 zW$Nv2)ZCS%qiVqjG63bXsfKu(n@8#0;}IJ{kRb!~*~V7EEOR%-P(RViR1liliafs) zr7yzJlpr>O#5RXrxSf7liHOx{k2dDb*YRI12}BMq5MyvgY(s1W$82LD24w~rzy;OG zgbJ?X$Ao1w#759h;3(cK5ILkXigE?Z1Cezd`UioCutQGhn(wd+RwB}v0x<#|;%Qb< z-v1*bXiv?ZU3hlFEMtIiVTbJ$X|@*3nuzf+McW4z*0{t*^d7sGXurqJGFPK(IV89I z+DdYba00Pe*hxZDg4hUNp5eWdehNl=8U-2p2^__B4HCPRu;U;$g8Clz3h~DX#n5ox zBubjAwml;VJLE)MiG_)DhL<6rZAOsT+_2-2+^S_O&WLR|Bevm;*ha?~`2t#v22Tee RCAt6r002ovPDHLkV1h!;C$sxh^ z$xIWal+>GRBFv+0FV6gZ>u&zRZTDureS7|2&dV7$uW}cbvMFz#F5g`HD<}q7(Cy@3DGj5+g_;{KB&UN#A)<2Cr&aC?in-3o9vFu$L z^SEq(+Y|oMd8IZ5;!SRfRl%BXC%>f4VWJz4enPwihTxr{({XQvYr1dQ&q zCR}uJY7fvzTivOvS>_l~QMms5gG-j1Xa8NdcJ43J{r4UgOYt=C{UPw?p7Q>mK9BTR zBrCjPxH4}{N-}>s^}^kq_j>=yFeM(XIv$t%`)vB8Fx9r50ZAH*CJGp-wD52$LaYHZ z56603Eo)An&GdFcrS9aJhP+#R8+Hq{SXj{)O32)+*B;o+!7Q3=G3! zQHxXal?~6ZO0}N9w@kI||Jl!q3gJmJxK-Pfq`*dJgeG+?(Km~+(s}9a$rGG?{b(%5 zyt1{EBp%(lQt|LFw_Z}#rS`iak#jevuVPLAoCT8KHtp(h-}g-)#A`!Jld`WbofsXq zt}rxDf9I|W|BGde*Lv|3+a{mr z0csNq@|b$oF;ljk_plR}=Utg854R>pcqnQfZ#ebgj)Be+0a<3DizKJkWB#YpYcKf( Saoz*wFa}RoKbLh*2~7YBn33-Q literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f76340f0aa8ed1d5cb12428b27869f06cd5c52 GIT binary patch literal 746 zcmVrWtKPg<$mr2Q@N>TrAugTUrB$7Mq$JY866gX-ou%pdlI@niMy22p7RY z1c{KqP!kIhd1Btv{c^ba@}6_vy}zFCy-vRm2%hV?=bn%6{Q3RPeJz8}e`yMwmPU7= z9*ATph-4^;WGIMaD2QYzh-4_RC7(T1^k6{Ixk&wS{V3M-dREiB1(V#|E)l(Y9MQ!# zm1$#rThquyOnYThemSgY=w_6uw|}5%?0rlNtGvFlC2fKL*9N=kSn^JnvI>IEtBShX ziI&$*`CgB`9`3*2uM$aKR>+pL38qy3$x|&`*HhU%ug;SH5+WH2Y)P!5u6Y@2`|nlj zCI#2LJgU}^2eu@(39O>0`-HxHSd5R$^DCNe-O$w5nr&n2ho-f!C*`;En)*uFdIyI@ z(;piki7g`CCVYI}A{u=YSFHyo=g?m54-aKd`amRujovm~F+}kR7Uga-{Clru=VUn< zt}{!TcK3LFWlOq3HGnyocZgQ<;!#8w&fD88U5ROYy3WCXOAy!=nLM}zPo5_cj}ws$ z1(EcDgctds4MZ{=Hot3XzhrL{&*Q?DL`IK<*S1eqhH6FIynZ=*9bw(-2Cq%Pmc)@o zn$g#aouB5X*2tXnfkP*p$(&A&kS-ycFu}G7)m)Jb<{*Y>`sqzPiKxHRe_n!no=(NI zv75iIY)RXx8i2G(my9H0QCB2`MFw*)m8>S1-qYQo63P4vkqp;R5Xn$rOXBF>m2P44 zPAMN+t61xv6>Leoo50b%?OjOap%XHCB)qP7A%7Fel)zlftm+kV@= z2>~lu+xV<`S$n6d+_;dLDDsanH)oBB8|TK2TQ*(kJLe)Ty;#xk$fTwOo{a}1Ze;YR zX|ZxP?w)%6tmrAeH)qbCJM{Xuib~7vpEJ%J-t_tL?3>@7-0{nMbmDT}E+!>DA-5!6=iA%Qyo))PlV!77ruc2} z^>?->-`;Mses(x}rth4r(5~yPSv8SW@e76GVATH`|lXms(ed2cV4VsVWp>@Q2C<%BXSzXm1?(hzwGTT zsk>t@Cn41%zggqEe8-w!>(}=jWITTUcDs6-ed$Z~(lU<;9zrUUSUOc4l{}G{9(qE; z4`x{N9yFEQyK^f0d5NQaokhMAVpPHmYt+vk^i$tHwf|}FmOb-se`%>-oS%EVA0j<% z(T1+ZlUdhop6`FK&arv=+MtHt{>9aQ*Ci*buRi|gm-hChrr%{dXPka5D{UJWtCpm< zZ*5Iwh*YJUlgG_2XN}vko6X;UjJ-2MKkU)5HNr^lTiD3cs3gy(DHs}l+0e{+yPU0O ziBnL)yDc~GYU@hdKD?OycjoQp=XdY!x)x!`e$rLx_F3~lF6QE%mj*{Ps+NB(e%v(Q zrQvm8Ugh5C;I(&D#4SZQbV%RN4Y zp4$79+k0p2zlBd$*LKdW31#=%C)5i|W=yW1M1gv>n@ze`85-U@9Kg6YINay{lhqS; z9aq}vaXgZ@vhYQwI1PwuyvSgbp4A?Vx_VR+hN#k-9jdPXH->>|m#_8xAmliJfa z!*0L2Sd|;@Bpjd;->T;IR{Zk{VEVe(-59RbvZijwr^F3+txLWxUMVyChKhJ6%c@6v zB|g4md2=&AY4`U;r}K~`QgY$^#f48lE^5_sRg!Iy`y6?!&V9-;Cm>q}$aaLVH7>`P dke`P>NIT{y^VKF_as`$F44$rjF6*2UngEOZ(}4g0 literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..40428b39c88428275c472115ad79ca003a47bfea GIT binary patch literal 923 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FeiDsIEGX(zP+?S?x|9lP@oK zUlw=h>E7>qzkmAtTk_7kjZbbbDc`9sd8eW(NFs%|=s$x;_kl+oI(?K8n^@yw4R7Bv z*j=(P{P&EDH{N`{erVs{4(sm~8QcEX{=1Vs{p`Beo&<^NynxLG@&eyp@>JL@^kf~i}11151=sG{WC z-2<&M{HyPOd;RLpvg76xRX5!K^m(_FV*Z2qJ>1ow3ore;^V^(TdJgyO*T9mVzXqTBYG*S|YGx6^jd)$QHcUzPoz|11CAJokRNZvNS$ zwST=#uRne-7h->Sch6*)#n5K9qi;gUi)BUP`~; z_xj4RW%l{&qt>_WIY?&H*YDcG@oT*YVryi>th+O({-3RyzCjTb)O#x4ZL_uFd9+of~ay{7(Oj z&YYA^Yyl1wTeg{Ve%~!&nZpzKxrg%GSX}zK6o8Jc)7VrL$Yq2urxAYtSte;0! z3gg9s&&Gy9O}hTTI^<%y+_ul^EeA}0G|hP*@N<@Lk1tRE?^n*&>2Fxp9Xx;UH0#c% k)`d9i#U7Suihpxg?XORoaoP7ZFw-%3y85}Sb4q9e09Qr4=Kufz literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1402dca9da1995c5e01feb31b8a94fba3e10d6 GIT binary patch literal 1170 zcmeAS@N?(olHy`uVBq!ia0vp^TR@nD4M^IaWiw)6V2Si}aSW+oe0$fhJ2_S4_(SVW z3OR-f8Hw6Sx?+ps9X8y(=bwy29j1eQezq_~}1Ca5-< z<;-r&=jT6%XzH2koA38@n)Ln5V*mX=pXW6T^y}?quuyjtcD>*tXcEZcD?%@(q~w>! z=G)&s{=WU~-Ri5q4 zxO=(rHRZei78d{5QNC{b+neDxvnxJ*DNDKXxM^Mb5>fu7m7nW={=E9_Eq^(C|LWvR z*8{Hq{MoI#JU%Pt!q-o`F1f$I`jh|o7HhR?-rcWjDtKjkxqr#L7v-<~{i{M_xr}iw z@9OoRwH`OMITIZclHy-p)#laTlexb%@c5cPjkWEjK6m^hfKJ~%Dg4*d?T??YPqzDA z5bGm*ZNo3C^+tLxZY9M7rQVkP`?vfte~Rqqlk7LMSG=~lxMRWVr5m>WyuR-FEsd(a z>36Gsu1nw3_2kBnhM?n1)*p=SyS_s1%w4npr}yeaIr}R&x3zQ3(r8laTF|MKu?WmO zbz(ub*(cTgS6&<{-H{)2!Bq6~o#uVoZNFk&YNytm+VGJtjK}8x`%;4se@tH*eAvUx zeEz$%cu9NXb6JUsefM`Pu;#IOf8fC9zsFd4F$_nt2bBr*5+Czq6e+ zK0la%@debhUe2s;rKyZ@qQM`q+v06={#?qoSoS&L2iT^4RW~ZyO=T{Z!sP$fZ9Oct z>;8XdGCUB@FFoI=Wba~_$v>tnd<{$=Aa7hfd~7*S?E4I0BAWL2j3OxV- literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f0f7719c60ba6627717c7f8eabef0c90aa46fe64 GIT binary patch literal 816 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@Zgyv2VEXRq;uuoF_;!|Ix3Hr`+kRg^ zmh~UB1gCtq5`E%lDV-~-d+wNh!b5)n$7pFs?~UR|omh9eZ49|`%z4X(4Hk|&j|EEy zS17z#_gknh$LwZpdb!$cmix=SH^rBInsBD(y-%87%-_i~G*Z&;FwZDa=}>TF;Z*Vv zaBSiba+#pe#3G0;~H^+(%94#&_=hpChLJ z*R-4cQsega>p6e@a&q_XKi00$r11RW)3ApN4&E<0BA$PI+rO>f@0{h{)6$F(07I}}PzWH4QP z{$%>6Tm^R7ylLL$N!HbCc07w#-U-loUdnFIGJ8d*zCK2d$#@A zcXsRJir>2y*Q;NU0S1YafTPC^j)^B6T!l^5{LaY#==@Rev?fLSbYSMJ{of3>h0Fha zx7k;~@y4bEPHAm^wI{2J{pJ-PUwr9m(e-mD{PbN{F5o;Tv)t>pfB8EeW!`;}zGod%huHxFmUypD2=}t56`X28$Lt&2N*S<(MX_bqL z<+Bf@F|B?EimGE$VS+ZNH;Jl6pRv68;N+n!u{T9_m9ua3Uj1c%T%oBT?43~9M&TKE z-yCAsJslRY)<7}6dHHIYhVOBa+dgs^$rjYjzOr;(weO_rH-1-Nv%lKA>OV6)`hfxX zL|(jL#q{-u<%&AK%ZWO&JUntmbo5EiWyx%st8K!(#b2#E~*5!kn`GU>aH`;sh z?7r8&Qn)3j^+$ke_fLb;rU|QSHid>R^9#6)FNp!Y@{h4fpVLIMUe_9!6Bs;Q{an^L HB{Ts5pAclx literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3eb7d8f37918dcf628e0354fe2dc22968e5a92 GIT binary patch literal 1425 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farfi=R@#WAFU@$Fs147pU9;~)S3 ze#YC#!?=)fcglv)5P>Bgfmc+UgO&>&j5I&GSER6@h+`e=%SDqPBot-|F67XfqI7dr z&}wHkW0imt0vw+AHt*lV!MFGMiNEu9f3H0Io%!y)d$I5Ky`Nq1{_`EHZf{F{& zGAam_xhEDzZ?i4`8v8m2GH(4jd-=IXPQMPF?f(>WW7%61 z+2ftxrhfeMBq+pThAsXO6cG(Lw^7e}_sjgX-@mQai7&~r_B~#hrg>g`)zV(pNkB(> zIPtO-A3rZ67y9vM`Qs4_e1)fq>r~QXIpEhxMhCt{#6nG&1wVHj~n)Vzb~`xR=?fD zx?gL%vbV2#!f`rNQ%m8Z=d2!;H{b3qi)XKW<1TXXZ0{HKM{Bh76wZh-HMKS*C@Ms7 zZ~&Q0S2UR9x*EHgM*4qVd&_6<#aiLJcP`h?6MAIu_|{HulXLja^}jun4N1LXZ|;S>09#dWW|?!f$#tA zlG3ue_U)06!Vh9^oy!ahaVVE}c>~NRTVCh~tTuHEHn|*pntjKXxtG@fV_c^= zw^jy{efz}YGdJ_D&AYS3VXc_n#aqHrb_>p0sJwMAzUnU_vUrN@OZ zaU}G{9mUPT$Iql~p1JS7dGtZEeKT|47nN4;Z>n80d+Vp>`TA#Oo|S(We|cr}ZKKn& z#;N9sGrqj8o_RIxv^vAS8ve51ndQ$mmTJ#0uKuve`t#AnY3JXkEuCa-6L;?IRd)O2 zyh9&acxIbe6x*zQ_bIaHrQe@RFJ~^?^eZ+$-2o4*ml|9-BX)O-(PEv zwU&Q#Wa2^Vzu%>WwRqn8z32NEf8BK3*>(1hUc0$wOLVqO^l^!rcq(L>=t`elAma*< zp|N%ahmf06q6(PEJG8;`i;Q{C+`T&rGoyW_H}H#f2wS+Qr`7M|4xhI^sdY`-I6sqvA?fx_}%gFWKs%a4Ey!f z=9lVcY-yY50rDu6ICYX8HczifmGiSX!rq6j%P)@IzUj~es|6F~zT~;;S8P&P xJ!8s-kT3~{R|a0nbDfs9_A( z{=XZ4RrJrFd*r0>-($Z&zgMf@!Q(>&aJrIJsYR+_^AJ# z{eAhy%BrF#wQuE3KK@eQeB);9KjU3g=XH~DyM`Q68NcbN4CtM}X8dlx4h zZa-^k@0yf^D)o~)ZY=8lac!z+&5x^}uHM>en{D$ped zbG~i=({z6O|N7&z=dYjDZ>=F2asU5xozFMYezU&46<53G&F85rQxYQN35Qas z(S|oCi|gNR^H06_?TjR!bANd0riDPiT%KbpY?>T&ulcZ=-T%64zl?AFyO(Wg>{EJY zbx--#1qrO%(S?5+OqnpB`Sl^=kz02{>Uw2z(=fB9zwu%p(3JlfyuO55WSpJ;4%)7hq`Q!Z0*OslYijDGO zQ*&M~YG`t88G{h2)vIz6oY(tql*sQeje5EwJ9x{=EqSgd59sB%-q}(1C3Jr2$1Srq zi`~iX_7S&Eo|;+vXR-B{U7fc~GykySB}q zb!(pKyl}*?RZ3?52AGk7dh1I)tANwXx zYRp{AYP-nKU+}h-@k?9Az~4J-*H_2w+NOW(a`Vz(cE8xOyT8u-3TfZluzu_y<~cA21gFd&F!wcj!6kO_Bw1g{Ic}Mn)gY1!4Ic# vHufqcbDlNRk!6^6fyD?le5q2byprFvcymju__rItqLRVW)z4*}Q$iB}cB_8) literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..80317dede8cc9cbae0a6d60483c95d2f56be27d9 GIT binary patch literal 1327 zcmeAS@N?(olHy`uVBq!ia0vp^%R!if4M>)V`MhCZVEN|h;uuoF`1bC?{t$PW10Qd4 zx3Cm)dJ5j?;xb^l%GI=(@oN2oeV(kVJXNJaTzRL>+7%q~fT4Dig$t{ws)=PGr{>M@ zx*Rjb*&B>E7+c>z`MYjX@#!Oj%Fy1@A;fvuhO`XRg(+asx zTePOmIb`IQD7kz?PjCdygxfklKT7nnzZbP6J6`XSczgGGx#wTbPMK#r|I+$;pO^C| zZ>lf;9pzRmv@y<9+uMjJa-!-A$ z=e%h!kKprl^{?L=<#q3T?B6Z-d7I4kR>enGY={c3><)|MY}b>w&)B8kkt_cHecSmx zuM6D`UFK|juD(rji^TThck1_^vS0RmmS$Urv02*Df755(7W4B9m)_^~Y+qsOs$HRv zU(Qec{4EOX__j4SW?W7Fo@(>#-^ER@-krWb?+NqDooVIqW@7iRTs^kt@Bj1lB{K1+ z_nyC9e3s?#k(ECU(c?9HhDEhpdU@o;xeb$rZ5-6nx#%`>H&HT=+z4Oq#ke6oT){ z{rfk4Kgd;;ztonp_b>k*Uu+0A%kS)Dj3j*c$j#4Fc3On2e&)XS2=BKY{WF8J&n`XR zUB-16m;hX>DxNPm#qPG&e`YuTg0AyFPsaAl*!?Xt|KlnDch9QMnohS{f9d_neLRBc zf4;1!otU&oqWr6+{q5)LYHvmFQJLAj`RJ@-ul?%3ja=q@%wBtU$8CKVVA9z7X--(S z-t6lZ-Cu3^HXOa9n*ZoUX^7&>jw7Tbmg;#st|h&@p|xm_;-fc}kD`DE2k1WK6->|B z)Ad)^bi3}HIqS?yrk<&Nd@7`LwcDI;%YX`dc*8e-Ty^~2>54Od7pGpmJ6&1U`Nm~| z!nTf-tsk@gi+{UVSfl&h?)@EJ;pNYcL$mveuZci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/videocall_webrtc_sample/ios/Runner/Base.lproj/LaunchScreen.storyboard b/videocall_webrtc_sample/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/videocall_webrtc_sample/ios/Runner/Base.lproj/Main.storyboard b/videocall_webrtc_sample/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/videocall_webrtc_sample/ios/Runner/Info.plist b/videocall_webrtc_sample/ios/Runner/Info.plist new file mode 100644 index 0000000..1239756 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Info.plist @@ -0,0 +1,67 @@ + + + + + CADisableMinimumFrameDurationOnPhone + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Videocall Webrtc Sample + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + videocall_webrtc_sample + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + NSBonjourServices + + _dartobservatory._tcp + + NSCameraUsageDescription + $(PRODUCT_NAME) would like to use your camera + NSLocationWhenInUseUsageDescription + + NSMicrophoneUsageDescription + $(PRODUCT_NAME) would like to use your microphone to provide ability to record audio messages + UIApplicationSupportsIndirectInputEvents + + UIBackgroundModes + + processing + remote-notification + voip + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/videocall_webrtc_sample/ios/Runner/Runner-Bridging-Header.h b/videocall_webrtc_sample/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/videocall_webrtc_sample/ios/Runner/Runner.entitlements b/videocall_webrtc_sample/ios/Runner/Runner.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/videocall_webrtc_sample/ios/Runner/Runner.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/videocall_webrtc_sample/lib/dependency/dependency.dart b/videocall_webrtc_sample/lib/dependency/dependency.dart new file mode 100644 index 0000000..a8754c8 --- /dev/null +++ b/videocall_webrtc_sample/lib/dependency/dependency.dart @@ -0,0 +1,44 @@ +import '../managers/auth_manager.dart'; +import '../managers/chat_manager.dart'; +import '../managers/permission_manager.dart'; +import '../managers/ringtone_manager.dart'; +import '../managers/settings_manager.dart'; +import '../managers/storage_manager.dart'; +import '../managers/users_manager.dart'; +import '../managers/call_manager.dart'; + +abstract class Dependency { + void init(); + + AuthManager getAuthManager(); + + ChatManager getChatManager(); + + SettingsManager getSettingsManager(); + + StorageManager getStorageManager(); + + UsersManager getUsersManager(); + + CallManager getCallManager(); + + PermissionManager getPermissionManager(); + + RingtoneManager getRingtoneManager(); + + void setAuthManager(AuthManager authManager); + + void setChatManager(ChatManager chatManager); + + void setSettingsManager(SettingsManager settingsManager); + + void setStorageManager(StorageManager storageManager); + + void setUsersManager(UsersManager usersManager); + + void setWebRTCManager(CallManager webRTCManager); + + void setPermissionManager(PermissionManager permissionManager); + + void setRingtoneManager(RingtoneManager ringtoneManager); +} diff --git a/videocall_webrtc_sample/lib/dependency/dependency_exception.dart b/videocall_webrtc_sample/lib/dependency/dependency_exception.dart new file mode 100644 index 0000000..3d5db39 --- /dev/null +++ b/videocall_webrtc_sample/lib/dependency/dependency_exception.dart @@ -0,0 +1,5 @@ +class DependencyException implements Exception { + String message; + + DependencyException(this.message); +} diff --git a/videocall_webrtc_sample/lib/dependency/dependency_impl.dart b/videocall_webrtc_sample/lib/dependency/dependency_impl.dart new file mode 100644 index 0000000..b49061d --- /dev/null +++ b/videocall_webrtc_sample/lib/dependency/dependency_impl.dart @@ -0,0 +1,152 @@ +import 'package:videocall_webrtc_sample/dependency/dependency_exception.dart'; +import 'package:videocall_webrtc_sample/managers/auth_manager.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; +import 'package:videocall_webrtc_sample/managers/chat_manager.dart'; +import 'package:videocall_webrtc_sample/managers/ringtone_manager.dart'; +import 'package:videocall_webrtc_sample/managers/settings_manager.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/managers/users_manager.dart'; + +import '../managers/permission_manager.dart'; +import 'dependency.dart'; + +class DependencyImpl implements Dependency { + DependencyImpl._(); + + static DependencyImpl? _instance; + + static DependencyImpl getInstance() { + return _instance ??= DependencyImpl._(); + } + + AuthManager? _authManager; + ChatManager? _chatManager; + SettingsManager? _settingsManager; + StorageManager? _storageManager; + UsersManager? _usersManager; + CallManager? _callManager; + PermissionManager? _permissionManager; + RingtoneManager? _ringtoneManager; + + @override + Future init() async { + _authManager = AuthManager(); + _chatManager = ChatManager(); + _settingsManager = SettingsManager(); + _storageManager = StorageManager(); + await _storageManager?.init(); + + _usersManager = UsersManager(); + _callManager = CallManager(); + _permissionManager = PermissionManager(); + _ringtoneManager = RingtoneManager(); + } + + void _throwDIException(String text) { + throw DependencyException("The $text is not initialized. First, you need to init dependency."); + } + + @override + AuthManager getAuthManager() { + if (_authManager == null) { + _throwDIException("AuthManager"); + } + return _authManager!; + } + + @override + ChatManager getChatManager() { + if (_chatManager == null) { + _throwDIException("ChatManager"); + } + return _chatManager!; + } + + @override + SettingsManager getSettingsManager() { + if (_settingsManager == null) { + _throwDIException("SettingsManager"); + } + return _settingsManager!; + } + + @override + StorageManager getStorageManager() { + if (_storageManager == null) { + _throwDIException("StorageManager"); + } + return _storageManager!; + } + + @override + UsersManager getUsersManager() { + if (_usersManager == null) { + _throwDIException("UsersManager"); + } + return _usersManager!; + } + + @override + CallManager getCallManager() { + if (_callManager == null) { + _throwDIException("CallManager"); + } + return _callManager!; + } + + @override + PermissionManager getPermissionManager() { + if (_permissionManager == null) { + _throwDIException("PermissionManager"); + } + return _permissionManager!; + } + + @override + RingtoneManager getRingtoneManager() { + if (_ringtoneManager == null) { + _throwDIException("RingtoneManager"); + } + return _ringtoneManager!; + } + + @override + void setAuthManager(AuthManager authManager) { + _authManager = authManager; + } + + @override + void setChatManager(ChatManager chatManager) { + _chatManager = chatManager; + } + + @override + void setPermissionManager(PermissionManager permissionManager) { + _permissionManager = permissionManager; + } + + @override + void setRingtoneManager(RingtoneManager ringtoneManager) { + _ringtoneManager = ringtoneManager; + } + + @override + void setSettingsManager(SettingsManager settingsManager) { + _settingsManager = settingsManager; + } + + @override + void setStorageManager(StorageManager storageManager) { + _storageManager = storageManager; + } + + @override + void setUsersManager(UsersManager usersManager) { + _usersManager = usersManager; + } + + @override + void setWebRTCManager(CallManager callManager) { + _callManager = callManager; + } +} diff --git a/videocall_webrtc_sample/lib/entities/user_entity.dart b/videocall_webrtc_sample/lib/entities/user_entity.dart new file mode 100644 index 0000000..2381f21 --- /dev/null +++ b/videocall_webrtc_sample/lib/entities/user_entity.dart @@ -0,0 +1,24 @@ +import 'package:quickblox_sdk/models/qb_user.dart'; + +class UserEntity { + bool selected; + final QBUser? user; + + int? get userId => user?.id; + + String? get name => user?.fullName ?? user?.login; + + UserEntity(this.selected, this.user); + + @override + bool operator ==(Object other) { + return other is UserEntity && other.runtimeType == runtimeType && other.userId == userId; + } + + @override + int get hashCode { + int hash = 3; + hash = 53 * hash + userId.toString().length; + return hash; + } +} diff --git a/videocall_webrtc_sample/lib/entities/video_call_entity.dart b/videocall_webrtc_sample/lib/entities/video_call_entity.dart new file mode 100644 index 0000000..b6d9798 --- /dev/null +++ b/videocall_webrtc_sample/lib/entities/video_call_entity.dart @@ -0,0 +1,39 @@ +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:quickblox_sdk/webrtc/rtc_video_view.dart'; + +class VideoCallEntity { + RTCVideoViewController? _controller; + + set controller(RTCVideoViewController value) { + _controller = value; + } + + final QBUser? _user; + + int? get userId => _user?.id; + + String? get name => _user?.fullName ?? _user?.login; + + VideoCallEntity(this._user); + + Future playVideo(String sessionId) async { + await _controller?.play(sessionId, userId!); + } + + Future releaseVideo() async { + await _controller?.release(); + } + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + return other is VideoCallEntity && other.userId == userId; + } + + @override + int get hashCode { + int hash = 7; + hash = 31 * hash + (userId != null ? userId.hashCode : 0); + return hash; + } +} diff --git a/videocall_webrtc_sample/lib/main.dart b/videocall_webrtc_sample/lib/main.dart new file mode 100644 index 0000000..244cc94 --- /dev/null +++ b/videocall_webrtc_sample/lib/main.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:videocall_webrtc_sample/managers/lifecycle_manage.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/splash/splash_screen.dart'; + +import 'dependency/dependency_impl.dart'; + +const String APPLICATION_ID = ""; +const String AUTH_KEY = ""; +const String AUTH_SECRET = ""; +const String ACCOUNT_KEY = ""; + +const String ICE_SEVER_URL = ""; +const String ICE_SERVER_USER = ""; +const String ICE_SERVER_PASSWORD = ""; + +Future main() async { + await DependencyImpl.getInstance().init(); + runApp(const MyApp()); +} + +class MyApp extends StatefulWidget { + const MyApp({super.key}); + + @override + State createState() => _MyAppState(); +} + +class _MyAppState extends State { + final LifecycleManager _lifecycleManager = LifecycleManager(); + + @override + void initState() { + WidgetsBinding.instance.addObserver(_lifecycleManager); + super.initState(); + } + + @override + void dispose() { + WidgetsBinding.instance.removeObserver(_lifecycleManager); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData(primarySwatch: Colors.blue), + home: const SplashScreen(), + ); + } +} diff --git a/videocall_webrtc_sample/lib/managers/auth_manager.dart b/videocall_webrtc_sample/lib/managers/auth_manager.dart new file mode 100644 index 0000000..1aaf0ea --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/auth_manager.dart @@ -0,0 +1,21 @@ +import 'package:quickblox_sdk/auth/module.dart'; +import 'package:quickblox_sdk/models/qb_session.dart'; +import 'package:quickblox_sdk/quickblox_sdk.dart'; + +class AuthManager { + Future login(String login, String password) async { + return await QB.auth.login(login, password); + } + + Future logout() async { + await QB.auth.logout(); + } + + Future createSession(QBSession qbSession) async { + return QB.auth.setSession(qbSession) as QBSession; + } + + Future getSession() async { + return QB.auth.getSession() as QBSession; + } +} diff --git a/videocall_webrtc_sample/lib/managers/call_manager.dart b/videocall_webrtc_sample/lib/managers/call_manager.dart new file mode 100644 index 0000000..30211a5 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/call_manager.dart @@ -0,0 +1,381 @@ +import 'dart:async'; +import 'dart:collection'; + +import 'package:quickblox_sdk/models/qb_rtc_session.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:quickblox_sdk/quickblox_sdk.dart'; +import 'package:quickblox_sdk/webrtc/constants.dart'; +import 'package:videocall_webrtc_sample/entities/video_call_entity.dart'; + +import '../mappers/qb_rtc_session_mapper.dart'; +import 'callback/call_subscription.dart'; + +enum CallTypes { AUDIO, VIDEO } + +enum AudioOutputTypes { EAR_SPEAKER, LOUDSPEAKER, HEADPHONES, BLUETOOTH } + +class CallManager { + final Set _callSubscriptions = {}; + + final LinkedHashSet _videoCallEntities = LinkedHashSet(); + + LinkedHashSet get videoCallEntities => _videoCallEntities; + + QBRTCSession? _session; + + StreamSubscription? _incomeCallSubscription; + StreamSubscription? _callEndSubscription; + StreamSubscription? _rejectSubscription; + StreamSubscription? _acceptSubscription; + StreamSubscription? _hangUpSubscription; + StreamSubscription? _notAnswerSubscription; + StreamSubscription? _videoTracksSubscription; + + Future subscribeCall(CallSubscription? callSubscription) async { + if (callSubscription != null) { + _callSubscriptions.add(callSubscription); + } + } + + Future unsubscribeCall(CallSubscription? callSubscription) async { + _callSubscriptions.remove(callSubscription); + } + + void _notifyIncome(QBRTCSession? session) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onIncomingCall(session); + } + } + + void _notifyReject(int opponentId) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onRejectCall(opponentId); + } + } + + void _notifyAccept(int opponentId) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onAcceptCall(opponentId); + } + } + + void _notifyHangup(int opponentId) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onHangupCall(opponentId); + } + } + + void _notifyNotAnswer(int opponentId) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onNotAnswer(opponentId); + } + } + + void _notifyReceivedVideoTrack(int opponentId) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onReceivedVideoTrack(opponentId); + } + } + + void _notifyCallEnd() { + for (var callSubscription in _callSubscriptions) { + callSubscription.onEndCall(); + } + } + + void _notifyError(String error) { + for (var callSubscription in _callSubscriptions) { + callSubscription.onError(error); + } + } + + void addVideoCallEntities(Iterable users) { + for (final user in users) { + VideoCallEntity entity = VideoCallEntity(user); + videoCallEntities.add(entity); + } + } + + void _clearVideoCallEntities() { + videoCallEntities.clear(); + } + + bool isActiveCall() { + return _session != null; + } + + Future enableAudio(bool enable) async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + await QB.webrtc.enableAudio(sessionId, enable: enable); + } + } + + Future enableVideo(bool enable) async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + await QB.webrtc.enableVideo(sessionId, enable: enable); + } + } + + Future switchAudio(AudioOutputTypes audioOutputType) async { + int outputType = _parseAudioOutputType(audioOutputType); + await QB.webrtc.switchAudioOutput(outputType); + } + + Future switchCamera() async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + await QB.webrtc.switchCamera(sessionId); + } + } + + int _parseAudioOutputType(AudioOutputTypes outputType) { + switch (outputType) { + case AudioOutputTypes.EAR_SPEAKER: + return 0; + case AudioOutputTypes.LOUDSPEAKER: + return 1; + case AudioOutputTypes.HEADPHONES: + return 2; + case AudioOutputTypes.BLUETOOTH: + return 3; + } + } + + Future startAudioCall(List users) async { + List userIds = _getUserIdsFrom(users); + await _createSession(userIds, CallTypes.AUDIO); + } + + Future startVideoCall(List users) async { + List userIds = _getUserIdsFrom(users); + await _createSession(userIds, CallTypes.VIDEO); + } + + List _getUserIdsFrom(List users) { + List list = []; + for (final user in users) { + if (user?.id != null) { + list.add(user!.id!); + } + } + return list; + } + + Future _createSession(List opponentsIds, CallTypes callType) async { + int sessionCallType = _parseCallType(callType); + QBRTCSession? session = await QB.webrtc.call(opponentsIds, sessionCallType); + _session = session; + return session; + } + + int _parseCallType(CallTypes callType) { + switch (callType) { + case CallTypes.VIDEO: + return 1; + case CallTypes.AUDIO: + return 2; + } + } + + Future rejectCall() async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + await QB.webrtc.reject(sessionId); + } + } + + Future acceptCall() async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + await QB.webrtc.accept(sessionId); + } + } + + Future hangUpCall() async { + if (_session != null) { + String sessionId = _session?.id ?? ""; + QB.webrtc.hangUp(sessionId); + } + } + + Future?> getOpponentIdsFromCall() async { + List? opponentsIds = _session?.opponentsIds; + int? initiatorId = _session?.initiatorId; + if (initiatorId != null) { + opponentsIds?.add(initiatorId); + } + return opponentsIds; + } + + Future initAndSubscribeEvents() async { + await _setRTCConfigs(); + await QB.webrtc.init(); + await _subscribeEvents(); + } + + Future _setRTCConfigs() async { + await QB.rtcConfig.setAnswerTimeInterval(30); + await QB.rtcConfig.setDialingTimeInterval(15); + } + + Future _subscribeEvents() async { + await _subscribeIncoming(); + await _subscribeHangUp(); + await _subscribeCallEnd(); + await _subscribeAccept(); + await _subscribeReject(); + await _subscribeNotAnswer(); + await _subscribeVideoTracks(); + } + + Future _subscribeIncoming() async { + _incomeCallSubscription = await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.CALL, (data) async { + final session = _parseSessionFrom(data); + if (isActiveCall()) { + await QB.webrtc.reject(session!.id!); + } else { + _session = session; + _notifyIncome(_session); + } + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + QBRTCSession? _parseSessionFrom(dynamic data) { + Map payloadMap = Map.from(data["payload"]); + Map sessionMap = Map.from(payloadMap["session"]); + + final session = QBRTCSessionMapper.mapToQBRtcSession(sessionMap); + return session; + } + + Future _subscribeCallEnd() async { + _callEndSubscription = + await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.CALL_END, (data) async { + final session = _parseSessionFrom(data); + if (session?.id != _session?.id) { + return; + } + + _session = null; + await _releaseViews(); + _clearVideoCallEntities(); + + _notifyCallEnd(); + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + Future _subscribeNotAnswer() async { + _notAnswerSubscription = await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.NOT_ANSWER, (data) { + int opponentId = data["payload"]["userId"]; + + _notifyNotAnswer(opponentId); + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + Future _subscribeReject() async { + _rejectSubscription = await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.REJECT, (data) { + int opponentId = data["payload"]["userId"]; + + _notifyReject(opponentId); + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + Future _subscribeAccept() async { + _acceptSubscription = await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.ACCEPT, (data) { + int opponentId = data["payload"]["userId"]; + _notifyAccept(opponentId); + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + Future _subscribeHangUp() async { + _hangUpSubscription = await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.HANG_UP, (data) { + int opponentId = data["payload"]["userId"]; + + VideoCallEntity? entity = getEntityBy(opponentId); + entity?.releaseVideo(); + + _notifyHangup(opponentId); + }, onErrorMethod: (e) => _notifyError(e.toString())); + } + + VideoCallEntity? getEntityBy(int opponentId) { + try { + return _videoCallEntities.firstWhere((element) => element.userId == opponentId); + } on StateError catch (e) { + return null; + } + } + + Future _subscribeVideoTracks() async { + _videoTracksSubscription = + await QB.webrtc.subscribeRTCEvent(QBRTCEventTypes.RECEIVED_VIDEO_TRACK, (data) { + Map payloadMap = Map.from(data["payload"]); + + int opponentId = payloadMap["userId"]; + + VideoCallEntity? entity = getEntityBy(opponentId); + entity?.playVideo(_session!.id!); + + _notifyReceivedVideoTrack(opponentId); + }); + } + + Future release() async { + await unsubscribeEvents(); + await _releaseViews(); + await QB.webrtc.release(); + } + + Future unsubscribeEvents() async { + _unsubscribeIncoming(); + _unsubscribeCallEnd(); + _unsubscribeReject(); + _unsubscribeAccept(); + _unsubscribeHangup(); + _unsubscribeNotAnswer(); + _unsubscribeVideoTracks(); + } + + Future _releaseViews() async { + for (var entity in _videoCallEntities) { + await entity.releaseVideo(); + } + } + + Future _unsubscribeIncoming() async { + await _incomeCallSubscription?.cancel(); + _incomeCallSubscription = null; + } + + Future _unsubscribeCallEnd() async { + await _callEndSubscription?.cancel(); + _callEndSubscription = null; + } + + void _unsubscribeReject() { + _rejectSubscription?.cancel(); + _rejectSubscription = null; + } + + void _unsubscribeAccept() { + _acceptSubscription?.cancel(); + _acceptSubscription = null; + } + + void _unsubscribeHangup() { + _hangUpSubscription?.cancel(); + _hangUpSubscription = null; + } + + void _unsubscribeNotAnswer() { + _notAnswerSubscription?.cancel(); + _notAnswerSubscription = null; + } + + void _unsubscribeVideoTracks() { + _videoTracksSubscription?.cancel(); + _videoTracksSubscription = null; + } +} diff --git a/videocall_webrtc_sample/lib/managers/callback/call_subscription.dart b/videocall_webrtc_sample/lib/managers/callback/call_subscription.dart new file mode 100644 index 0000000..b500e5e --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/callback/call_subscription.dart @@ -0,0 +1,19 @@ +import 'package:quickblox_sdk/models/qb_rtc_session.dart'; + +abstract class CallSubscription { + void onIncomingCall(QBRTCSession? session); + + void onRejectCall(int opponentId); + + void onAcceptCall(int opponentId); + + void onHangupCall(int opponentId); + + void onNotAnswer(int opponentId); + + void onEndCall(); + + void onReceivedVideoTrack(int opponentId); + + void onError(String error); +} diff --git a/videocall_webrtc_sample/lib/managers/callback/call_subscription_impl.dart b/videocall_webrtc_sample/lib/managers/callback/call_subscription_impl.dart new file mode 100644 index 0000000..3af3884 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/callback/call_subscription_impl.dart @@ -0,0 +1,103 @@ +import 'package:quickblox_sdk/models/qb_rtc_session.dart'; + +import 'call_subscription.dart'; + +class CallSubscriptionImpl implements CallSubscription { + CallSubscriptionImpl({ + required String tag, + void Function(QBRTCSession? session)? onIncomingCall, + void Function(int opponentId)? onCallRejected, + void Function(int opponentId)? onCallAccept, + void Function(int opponentId)? onHangup, + void Function(int opponentId)? onNotAnswer, + void Function(int opponentId)? onReceivedVideoTrack, + void Function()? onCallEnd, + void Function(String error)? onError, + }) : _tag = tag, + _onIncomingCall = onIncomingCall, + _onCallRejected = onCallRejected, + _onCallAccept = onCallAccept, + _onHangup = onHangup, + _onNotAnswer = onNotAnswer, + _onReceivedVideoTrack = onReceivedVideoTrack, + _onCallEnd = onCallEnd, + _onError = onError; + + final String _tag; + final void Function(QBRTCSession? session)? _onIncomingCall; + final void Function(int opponentId)? _onCallRejected; + final void Function(int opponentId)? _onCallAccept; + final void Function(int opponentId)? _onHangup; + final void Function(int opponentId)? _onNotAnswer; + final void Function(int opponentId)? _onReceivedVideoTrack; + final void Function()? _onCallEnd; + final void Function(String error)? _onError; + + @override + void onIncomingCall(QBRTCSession? session) { + if (_onIncomingCall != null) { + _onIncomingCall!(session); + } + } + + @override + void onRejectCall(int opponentId) { + if (_onCallRejected != null) { + _onCallRejected!(opponentId); + } + } + + @override + void onAcceptCall(int opponentId) { + if (_onCallAccept != null) { + _onCallAccept!(opponentId); + } + } + + @override + void onHangupCall(int opponentId) { + if (_onHangup != null) { + _onHangup!(opponentId); + } + } + + @override + void onNotAnswer(int opponentId) { + if (_onNotAnswer != null) { + _onNotAnswer!(opponentId); + } + } + + @override + void onEndCall() { + if (_onCallEnd != null) { + _onCallEnd!(); + } + } + + @override + void onError(String error) { + if (_onError != null) { + _onError!(error); + } + } + + @override + void onReceivedVideoTrack(int opponentId) { + if (_onReceivedVideoTrack != null) { + _onReceivedVideoTrack!(opponentId); + } + } + + @override + bool operator ==(Object other) { + return other is CallSubscriptionImpl && other._tag == _tag; + } + + @override + int get hashCode { + int hash = 3; + hash = 53 * hash + _tag.length; + return hash; + } +} diff --git a/videocall_webrtc_sample/lib/managers/chat_manager.dart b/videocall_webrtc_sample/lib/managers/chat_manager.dart new file mode 100644 index 0000000..c3d8b32 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/chat_manager.dart @@ -0,0 +1,15 @@ +import 'package:quickblox_sdk/quickblox_sdk.dart'; + +class ChatManager { + Future connect(int userId, String password) async { + await QB.chat.connect(userId, password); + } + + Future disconnect() async { + await QB.chat.disconnect(); + } + + Future isConnected() async { + return QB.chat.isConnected(); + } +} diff --git a/videocall_webrtc_sample/lib/managers/lifecycle_manage.dart b/videocall_webrtc_sample/lib/managers/lifecycle_manage.dart new file mode 100644 index 0000000..e62b962 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/lifecycle_manage.dart @@ -0,0 +1,73 @@ +import 'dart:developer'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; + +import '../dependency/dependency_impl.dart'; +import 'chat_manager.dart'; + +class LifecycleManager with WidgetsBindingObserver { + final ChatManager _chatManager = DependencyImpl.getInstance().getChatManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + + @override + void didChangeAppLifecycleState(AppLifecycleState state) async { + switch (state) { + case AppLifecycleState.resumed: + try { + bool isExistSavedUser = await _storageManager.isExistSavedUser(); + bool isNotConnectedToChat = await _isNotConnectedToChat(); + if (isExistSavedUser && isNotConnectedToChat) { + await _connectToChat(); + await _callManager.initAndSubscribeEvents(); + } + } on PlatformException catch (e) { + //TODO: Need to add logic of show exception to screen. + log('Error occurred: $e', error: e); + } + break; + case AppLifecycleState.detached: + try { + bool isHasActiveCall = _callManager.isActiveCall(); + if (isHasActiveCall) { + _callManager.hangUpCall(); + } + _callManager.release(); + _chatManager.disconnect(); + } on PlatformException catch (e) { + log('Error occurred: $e', error: e); + } + break; + case AppLifecycleState.hidden: + try { + bool isNotHasActiveCall = !_callManager.isActiveCall(); + if (isNotHasActiveCall) { + _callManager.release(); + _chatManager.disconnect(); + } + } on PlatformException catch (e) { + log('Error occurred: $e', error: e); + } + break; + case AppLifecycleState.paused: + case AppLifecycleState.inactive: + break; + } + } + + Future _isNotConnectedToChat() async { + bool isConnectedToChat = await _chatManager.isConnected() ?? false; + bool isNotConnectedToChat = !isConnectedToChat; + return isNotConnectedToChat; + } + + Future _connectToChat() async { + final userId = await _storageManager.getLoggedUserId(); + final userPassword = await _storageManager.getUserPassword(); + await _chatManager.connect(userId, userPassword); + } +} diff --git a/videocall_webrtc_sample/lib/managers/permission_manager.dart b/videocall_webrtc_sample/lib/managers/permission_manager.dart new file mode 100644 index 0000000..29082b0 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/permission_manager.dart @@ -0,0 +1,59 @@ +import 'package:permission_handler/permission_handler.dart'; + +class PermissionManager { + Future checkPermissionsForAudioCall() async { + bool microphoneDenied = await Permission.microphone.status.isDenied; + bool bluetoothDenied = await Permission.bluetoothConnect.status.isDenied; + bool isAllPermissionsGranted = true; + + if (microphoneDenied || bluetoothDenied) { + Map statuses = + await [Permission.bluetoothConnect, Permission.microphone].request(); + isAllPermissionsGranted = _isAllPermissionsGranted(statuses); + } + + return isAllPermissionsGranted; + } + + Future checkPermissionsForVideoCall() async { + bool cameraDenied = await Permission.camera.status.isDenied; + bool microphoneDenied = await Permission.microphone.status.isDenied; + bool bluetoothDenied = await Permission.bluetoothConnect.status.isDenied; + + bool isAllPermissionsGranted = true; + + if (cameraDenied || microphoneDenied || bluetoothDenied) { + Map statuses = + await [Permission.bluetoothConnect, Permission.camera, Permission.microphone].request(); + + isAllPermissionsGranted = _isAllPermissionsGranted(statuses); + } + + return isAllPermissionsGranted; + } + + Future checkNotificationPermission() async { + bool notificationDenied = await Permission.notification.status.isDenied; + + bool isAllPermissionsGranted = true; + + if (notificationDenied) { + Map statuses = await [Permission.notification].request(); + isAllPermissionsGranted = _isAllPermissionsGranted(statuses); + } + + return isAllPermissionsGranted; + } + + bool _isAllPermissionsGranted(Map statuses) { + bool isAllPermissionsGranted = true; + statuses.forEach((key, value) { + if (value == PermissionStatus.denied || value == PermissionStatus.permanentlyDenied) { + isAllPermissionsGranted = false; + return; + } + }); + + return isAllPermissionsGranted; + } +} diff --git a/videocall_webrtc_sample/lib/managers/ringtone_manager.dart b/videocall_webrtc_sample/lib/managers/ringtone_manager.dart new file mode 100644 index 0000000..b07f641 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/ringtone_manager.dart @@ -0,0 +1,23 @@ +import 'package:audioplayers/audioplayers.dart'; + +class RingtoneManager { + AudioPlayer? audioPlayer; + + Future startRingtone() async { + audioPlayer ??= AudioPlayer(); + await audioPlayer?.setReleaseMode(ReleaseMode.loop); + await audioPlayer?.setPlayerMode(PlayerMode.mediaPlayer); + await audioPlayer?.play(AssetSource('audio/ringtone.mp3'), volume: 1.0); + } + + Future release() async { + await audioPlayer?.release(); + audioPlayer = null; + } + + Future startBeeps() async { + audioPlayer ??= AudioPlayer(); + await audioPlayer?.setReleaseMode(ReleaseMode.loop); + await audioPlayer?.play(AssetSource('audio/beep.wav'), volume: 1.0); + } +} diff --git a/videocall_webrtc_sample/lib/managers/settings_manager.dart b/videocall_webrtc_sample/lib/managers/settings_manager.dart new file mode 100644 index 0000000..0556192 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/settings_manager.dart @@ -0,0 +1,42 @@ +import 'dart:async'; + +import 'package:quickblox_sdk/models/qb_ice_server.dart'; +import 'package:quickblox_sdk/models/qb_settings.dart'; +import 'package:quickblox_sdk/quickblox_sdk.dart'; + +class SettingsManager { + Future init(String appId, String authKey, String authSecret, String accountKey, + {String? apiEndpoint, String? chatEndpoint}) async { + await QB.settings.init(appId, authKey, authSecret, accountKey, + apiEndpoint: apiEndpoint, chatEndpoint: chatEndpoint); + } + + Future get() async { + return await QB.settings.get(); + } + + Future initStreamManagement(bool autoReconnect, int messageTimeout) async { + await QB.settings.initStreamManagement(messageTimeout, autoReconnect: autoReconnect); + } + + Future enableXMPPLogging() async { + await QB.settings.enableXMPPLogging(); + } + + Future enableLogging() async { + await QB.settings.enableLogging(); + } + + Future enableAutoReconnect(bool enable) async { + await QB.settings.enableAutoReconnect(enable); + } + + Future setIceServers(String url, String userName, String password) async { + QBIceServer server = QBIceServer(); + server.url = url; + server.userName = userName; + server.password = password; + + await QB.rtcConfig.setIceServers([server]); + } +} diff --git a/videocall_webrtc_sample/lib/managers/storage_manager.dart b/videocall_webrtc_sample/lib/managers/storage_manager.dart new file mode 100644 index 0000000..c66da57 --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/storage_manager.dart @@ -0,0 +1,60 @@ +import 'dart:async'; + +import 'package:hive_flutter/hive_flutter.dart'; + +class StorageManager { + static const int _NOT_SAVED_USER_ID = -1; + static const String _USER_ID_KEY = "user_id_key"; + static const String _USER_LOGIN_KEY = "user_login_key"; + static const String _USER_NAME_KEY = "user_name_key"; + static const String _USER_PASSWORD_KEY = "user_password_key"; + + Box? _hiveBox; + + Future init() async { + await Hive.initFlutter(); + _hiveBox = await Hive.openBox("storage"); + } + + Future getLoggedUserId() async { + return await _hiveBox?.get(_USER_ID_KEY) ?? _NOT_SAVED_USER_ID; + } + + Future getUserLogin() async { + return await _hiveBox?.get(_USER_LOGIN_KEY, defaultValue: ""); + } + + Future getNameLogin() async { + return await _hiveBox?.get(_USER_NAME_KEY, defaultValue: ""); + } + + Future getUserPassword() async { + return await _hiveBox?.get(_USER_PASSWORD_KEY, defaultValue: ""); + } + + Future saveUserId(int userId) async { + await _hiveBox?.put(_USER_ID_KEY, userId); + } + + Future saveUserLogin(String login) async { + await _hiveBox?.put(_USER_LOGIN_KEY, login); + } + + Future saveUserName(String login) async { + await _hiveBox?.put(_USER_NAME_KEY, login); + } + + Future saveUserPassword(String password) async { + await _hiveBox?.put(_USER_PASSWORD_KEY, password); + } + + Future isExistSavedUser() async { + int userId = await _hiveBox?.get(_USER_ID_KEY) ?? _NOT_SAVED_USER_ID; + + return userId > _NOT_SAVED_USER_ID; + } + + Future cleanCredentials() async { + await _hiveBox?.clear(); + } +} diff --git a/videocall_webrtc_sample/lib/managers/users_manager.dart b/videocall_webrtc_sample/lib/managers/users_manager.dart new file mode 100644 index 0000000..f903b7c --- /dev/null +++ b/videocall_webrtc_sample/lib/managers/users_manager.dart @@ -0,0 +1,24 @@ +import 'package:quickblox_sdk/models/qb_filter.dart'; +import 'package:quickblox_sdk/models/qb_sort.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:quickblox_sdk/quickblox_sdk.dart'; +import 'package:quickblox_sdk/users/constants.dart'; + +class UsersManager { + Future> getUsers(int page, int perPage, + {QBSort? sort, QBFilter? filter}) async { + return QB.users + .getUsers(sort: sort, page: page, perPage: perPage, filter: filter); + } + + Future> getUsersByIds(List? userIds) async { + String? filterValue = userIds?.join(","); + QBFilter filter = QBFilter(); + filter.field = QBUsersFilterFields.ID; + filter.operator = QBUsersFilterOperators.IN; + filter.value = filterValue; + filter.type = QBUsersFilterTypes.STRING; + + return await QB.users.getUsers(filter: filter); + } +} diff --git a/videocall_webrtc_sample/lib/mappers/qb_rtc_session_mapper.dart b/videocall_webrtc_sample/lib/mappers/qb_rtc_session_mapper.dart new file mode 100644 index 0000000..1106bc0 --- /dev/null +++ b/videocall_webrtc_sample/lib/mappers/qb_rtc_session_mapper.dart @@ -0,0 +1,31 @@ +import 'package:quickblox_sdk/models/qb_rtc_session.dart'; + +class QBRTCSessionMapper { + static QBRTCSession? mapToQBRtcSession(Map? map) { + if (map == null || map.isEmpty) { + return null; + } + + QBRTCSession qbrtcSession = QBRTCSession(); + + if (map.containsKey("id")) { + qbrtcSession.id = map["id"] as String?; + } + if (map.containsKey("type")) { + qbrtcSession.type = map["type"] as int?; + } + if (map.containsKey("state")) { + qbrtcSession.state = map["state"] as int?; + } + if (map.containsKey("initiatorId")) { + qbrtcSession.initiatorId = map["initiatorId"] as int?; + } + if (map.containsKey("opponentsIds")) { + List opponentIdsList = + List.from(map["opponentsIds"] as Iterable); + qbrtcSession.opponentsIds = opponentIdsList; + } + + return qbrtcSession; + } +} diff --git a/videocall_webrtc_sample/lib/presentation/base_view_model.dart b/videocall_webrtc_sample/lib/presentation/base_view_model.dart new file mode 100644 index 0000000..3de14e1 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/base_view_model.dart @@ -0,0 +1,35 @@ +import 'package:flutter/cupertino.dart'; + +class BaseViewModel extends ChangeNotifier { + bool _loading = false; + + bool get loading => _loading; + + String? _errorMessage; + + String? get errorMessage => _errorMessage; + + void showLoading() { + if (!_loading) { + _loading = true; + notifyListeners(); + } + } + + void hideLoading() { + if (_loading) { + _loading = false; + notifyListeners(); + } + } + + void showError(String errorMessage) { + _errorMessage = errorMessage; + notifyListeners(); + } + + void hideError() { + _errorMessage = null; + notifyListeners(); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/dialogs/base_dialog.dart b/videocall_webrtc_sample/lib/presentation/dialogs/base_dialog.dart new file mode 100644 index 0000000..ad218b6 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/dialogs/base_dialog.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; + +abstract class BaseDialog { + List getWidgets(BuildContext context); + + void show(BuildContext context, + {String title = "", bool dismissTouchOutside = false}) { + List widgets = getWidgets(context); + + Widget dialog = _build(widgets, title); + + WidgetsBinding.instance.addPostFrameCallback((_) { + showDialog( + barrierDismissible: dismissTouchOutside, + context: context, + builder: (_) => dialog); + }); + } + + Widget _build(List widgets, String title) { + return AlertDialog( + title: _buildTitle(title), + shape: _buildShapeBorder(), + actions: widgets); + } + + Widget _buildTitle(String title) { + return Text(title); + } + + ShapeBorder _buildShapeBorder() { + return const RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(10))); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/dialogs/button_dialog.dart b/videocall_webrtc_sample/lib/presentation/dialogs/button_dialog.dart new file mode 100644 index 0000000..8630649 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/dialogs/button_dialog.dart @@ -0,0 +1,9 @@ +import 'package:flutter/material.dart'; +import 'base_dialog.dart'; + +abstract class ButtonDialog extends BaseDialog { + @protected + Widget buildButton(String title, {VoidCallback? onPressed}) { + return TextButton(onPressed: onPressed, child: Text(title)); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/dialogs/yes_no_dialog.dart b/videocall_webrtc_sample/lib/presentation/dialogs/yes_no_dialog.dart new file mode 100644 index 0000000..497ad53 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/dialogs/yes_no_dialog.dart @@ -0,0 +1,37 @@ +import 'package:flutter/cupertino.dart'; + +import 'button_dialog.dart'; + +class YesNoDialog extends ButtonDialog { + final VoidCallback onPressedPrimary; + final VoidCallback onPressedSecondary; + final String primaryButtonText; + final String secondaryButtonText; + + YesNoDialog( + {required this.onPressedPrimary, + required this.onPressedSecondary, + required this.primaryButtonText, + required this.secondaryButtonText}); + + @override + List getWidgets(BuildContext context) { + return [ + _buildNoButton(secondaryButtonText, context), + _buildYesButton(primaryButtonText, context) + ]; + } + + Widget _buildYesButton(String title, BuildContext context) { + return _buildButton(title, context, onPressedPrimary); + } + + Widget _buildNoButton(String title, BuildContext context) { + return _buildButton(title, context, onPressedSecondary); + } + + Widget _buildButton( + String title, BuildContext context, VoidCallback onPressed) { + return buildButton(title, onPressed: onPressed); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen.dart new file mode 100644 index 0000000..26e76ad --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/audio/audio_call/widgets/controls_audio_call_buttons.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/widgets/timer_widget.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/widgets/user_avatars.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/widgets/user_names.dart'; + +import '../../../../../managers/call_manager.dart'; +import '../../../../utils/notification_utils.dart'; +import 'audio_call_screen_view_model.dart'; + +class AudioCallScreen extends StatelessWidget { + static show(BuildContext context, bool isIncoming, List opponents) { + return Navigator.push( + context, + MaterialPageRoute( + builder: (_) => AudioCallScreen(isIncoming: isIncoming, opponents: opponents))); + } + + final AudioCallScreenViewModel _viewModel = AudioCallScreenViewModel(); + + AudioCallScreen({super.key, required bool isIncoming, required List opponents}) { + _viewModel.init(isIncoming, opponents); + } + + @override + Widget build(context) { + return PopScope( + canPop: false, + child: ChangeNotifierProvider( + create: (context) => _viewModel, + child: Scaffold( + backgroundColor: const Color(0xFF414E5B), + body: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + UserAvatars(opponentsLength: _viewModel.getOpponentsLength()), + _buildTextCalling(), + Selector( + selector: (_, viewModel) => viewModel.isStartedCall, + builder: (_, isStarted, __) { + return isStarted ? const TimerWidget() : const SizedBox.shrink(); + }), + UserNames(users: _viewModel.opponents ?? []), + SizedBox(height: MediaQuery.of(context).size.height / 2 - 120), + ControlsAudioCallButtons( + onEndCall: () => _viewModel.hangUpCall(), + onMute: (isPressed) { + bool isNeedMute = !isPressed; + _viewModel.enableAudio(isNeedMute); + }, + onSpeaker: (isPressed) { + if (isPressed) { + _viewModel.switchAudioOutput(AudioOutputTypes.LOUDSPEAKER); + } else { + _viewModel.switchAudioOutput(AudioOutputTypes.EAR_SPEAKER); + } + }, + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage == null) { + _hideErrorSnackBar(context); + } + if (errorMessage?.isNotEmpty ?? false) { + _showErrorSnackBar(errorMessage!, context); + } + return const SizedBox.shrink(); + }), + Selector( + selector: (_, viewModel) => viewModel.isEndCall, + builder: (_, isCallEnd, __) { + if (isCallEnd) { + WidgetsBinding.instance + .addPostFrameCallback((_) => Navigator.of(context).pop()); + } + return const SizedBox.shrink(); + }, + ), + ])))); + } + + Widget _buildTextCalling() { + return const Padding( + padding: EdgeInsets.symmetric(vertical: 8.0), + child: Text('Calling to', + style: + TextStyle(fontSize: 14.0, fontWeight: FontWeight.w500, color: Color(0xFF90979F)))); + } + + void _showErrorSnackBar(String errorMessage, BuildContext context, + {VoidCallback? errorCallback}) { + return NotificationUtils.showSnackBarError(context, errorMessage, errorCallback: errorCallback); + } + + void _hideErrorSnackBar(BuildContext context) { + return NotificationUtils.hideSnackBar(context); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen_view_model.dart new file mode 100644 index 0000000..8ae5b89 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/audio_call_screen_view_model.dart @@ -0,0 +1,120 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/dependency/dependency_impl.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; + +import '../../../../../managers/callback/call_subscription.dart'; +import '../../../../../managers/callback/call_subscription_impl.dart'; +import '../../../../../managers/ringtone_manager.dart'; +import '../../../../base_view_model.dart'; +import '../../../../utils/error_parser.dart'; + +class AudioCallScreenViewModel extends BaseViewModel { + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + final RingtoneManager _ringtoneManager = DependencyImpl.getInstance().getRingtoneManager(); + + List? _opponents; + List? get opponents => _opponents; + + bool _isStartedCall = false; + + bool get isStartedCall => _isStartedCall; + + bool _isEndCall = false; + + bool get isEndCall => _isEndCall; + + String? callAcceptErrorMessage; + + CallSubscription? _callSubscription; + + Future init(bool isIncoming, List opponents) async { + _opponents = opponents; + + _callSubscription = _createCallSubscription(); + await _subscribeCall(); + + if (isIncoming) { + _isStartedCall = true; + notifyListeners(); + } else { + _ringtoneManager.startBeeps(); + } + } + + int getOpponentsLength() { + return _opponents?.length ?? 0; + } + + CallSubscription _createCallSubscription() { + return CallSubscriptionImpl( + tag: "AudioCallScreenViewModel", + onCallEnd: () { + _ringtoneManager.release(); + _isEndCall = true; + notifyListeners(); + }, + onCallAccept: (opponentId) { + _ringtoneManager.release(); + _isStartedCall = true; + notifyListeners(); + }, + onError: (errorMessage) { + _showError(errorMessage); + }); + } + + @override + void dispose() { + _unsubscribeCall(); + super.dispose(); + } + + Future _subscribeCall() async { + try { + await _callManager.subscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future _unsubscribeCall() async { + try { + await _callManager.unsubscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + void _showError(String errorMessage) { + WidgetsBinding.instance.addPostFrameCallback((_) { + callAcceptErrorMessage = errorMessage; + notifyListeners(); + }); + } + + Future enableAudio(bool enable) async { + try { + await _callManager.enableAudio(enable); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future switchAudioOutput(AudioOutputTypes outputType) async { + try { + await _callManager.switchAudio(outputType); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future hangUpCall() async { + try { + await _callManager.hangUpCall(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/widgets/controls_audio_call_buttons.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/widgets/controls_audio_call_buttons.dart new file mode 100644 index 0000000..72965b1 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/audio_call/widgets/controls_audio_call_buttons.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +import '../../../widgets/circular_button.dart'; +import '../../../widgets/circular_button_with_state.dart'; + +class ControlsAudioCallButtons extends StatelessWidget { + final void Function(bool isPressed) _onMute; + final void Function(bool isPressed) _onSpeaker; + final void Function() _onEndCall; + + const ControlsAudioCallButtons( + {super.key, required onMute, required onSpeaker, required onEndCall}) + : _onMute = onMute, + _onSpeaker = onSpeaker, + _onEndCall = onEndCall; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 40.0), + child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + CircularButtonWithState( + onPressed: (isPressed) => _onMute.call(isPressed), + backgroundColor: const Color(0xFF202F3E), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/mute.svg', height: 35, width: 35), + textBelowButton: 'Mute', + isPressed: false), + CircularButton( + onPressed: () => _onEndCall.call(), + backgroundColor: const Color(0xFFFF3B30), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/hang_up.svg', height: 60, width: 60), + textBelowButton: 'End call'), + CircularButtonWithState( + onPressed: (isPressed) => _onSpeaker.call(isPressed), + backgroundColor: const Color(0xFF202F3E), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/speaker.svg', height: 60, width: 60), + textBelowButton: 'Speaker', + isPressed: false) + ])); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen.dart new file mode 100644 index 0000000..f070a71 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen.dart @@ -0,0 +1,112 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/audio/incoming/widgets/controls_incom_audio_buttons.dart'; + +import '../../../../utils/notification_utils.dart'; +import '../../widgets/user_avatars.dart'; +import '../../widgets/user_names.dart'; +import '../audio_call/audio_call_screen.dart'; +import 'incoming_audio_call_screen_view_model.dart'; + +class IncomingAudioCallScreen extends StatefulWidget { + final List opponents; + + const IncomingAudioCallScreen({super.key, required this.opponents}); + + static show( + BuildContext context, { + required List opponents, + }) { + return Navigator.push( + context, + MaterialPageRoute( + builder: (_) => IncomingAudioCallScreen( + opponents: opponents, + ))); + } + + @override + State createState() => _IncomingAudioCallScreenState(); +} + +class _IncomingAudioCallScreenState extends State { + final IncomingAudioCallScreenViewModel _viewModel = IncomingAudioCallScreenViewModel(); + + @override + void initState() { + super.initState(); + _viewModel.init(widget.opponents); + } + + @override + Widget build(BuildContext context) { + return PopScope( + canPop: false, + child: ChangeNotifierProvider( + create: (context) => _viewModel, + child: Scaffold( + backgroundColor: const Color(0xFF414E5B), + body: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + UserAvatars(opponentsLength: _viewModel.opponents!.length), + UserNames(users: _viewModel.opponents!), + SizedBox(height: MediaQuery.of(context).size.height / 2 - 104), + ControlsIncomeAudioButtons( + onAccept: () => _viewModel.acceptCall(), + onReject: () => _viewModel.rejectCall(), + ), + Selector( + selector: (_, viewModel) => viewModel.isCallEnd, + builder: (_, isCallEnd, __) { + if (isCallEnd) { + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.of(context).pop(); + }); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.callAccepted, + builder: (_, callAccepted, __) { + if (callAccepted) { + _removeCurrentScreenAndShowAudioCallScreen(); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.callRejected, + builder: (_, callRejected, __) { + if (callRejected) { + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.of(context).pop(); + }); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage?.isNotEmpty ?? false) { + _showErrorSnackbar(errorMessage!, context); + } + return const SizedBox.shrink(); + }), + ])))); + } + + Future _removeCurrentScreenAndShowAudioCallScreen() async { + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.of(context).pop(); + List opponents = _viewModel.opponents!; + AudioCallScreen.show(context, true, opponents); + }); + } + + void _showErrorSnackbar(String errorMessage, BuildContext context, + {VoidCallback? errorCallback}) { + return NotificationUtils.showSnackBarError(context, errorMessage, errorCallback: errorCallback); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen_view_model.dart new file mode 100644 index 0000000..25d6cd2 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/incoming_audio_call_screen_view_model.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; +import 'package:videocall_webrtc_sample/managers/users_manager.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/error_parser.dart'; + +import '../../../../../dependency/dependency_impl.dart'; +import '../../../../../managers/callback/call_subscription.dart'; +import '../../../../../managers/callback/call_subscription_impl.dart'; +import '../../../../../managers/ringtone_manager.dart'; +import '../../../../../managers/storage_manager.dart'; +import '../../../../base_view_model.dart'; + +class IncomingAudioCallScreenViewModel extends BaseViewModel { + final RingtoneManager _ringtoneManager = DependencyImpl.getInstance().getRingtoneManager(); + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + final UsersManager _usersManager = DependencyImpl.getInstance().getUsersManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + + List? opponents; + + bool callAccepted = false; + bool callRejected = false; + bool isCallEnd = false; + CallSubscription? _callSubscription; + + Future init(List? opponents) async { + try { + _ringtoneManager.startRingtone(); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + _callSubscription = _createCallSubscription(); + _subscribeCall(); + this.opponents = opponents; + } + + @override + void dispose() { + _unsubscribeCall(); + super.dispose(); + } + + Future _subscribeCall() async { + try { + await _callManager.subscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + } + + Future _unsubscribeCall() async { + try { + await _callManager.unsubscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + } + + Future acceptCall() async { + try { + await _ringtoneManager.release(); + await _callManager.acceptCall(); + callAccepted = true; + notifyListeners(); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + } + + Future rejectCall() async { + try { + await _callManager.rejectCall(); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + } + + void _showIncomeError(String errorMessage) { + WidgetsBinding.instance.addPostFrameCallback((_) { + showError(errorMessage); + }); + } + + void loadOpponents(List? opponentsIds) async { + try { + int currentUserId = await _storageManager.getLoggedUserId(); + + opponentsIds?.remove(currentUserId); + opponents = await _usersManager.getUsersByIds(opponentsIds); + } on PlatformException catch (e) { + _showIncomeError(ErrorParser.parseFrom(e)); + } + } + + CallSubscription _createCallSubscription() { + return CallSubscriptionImpl( + tag: "IncomingCallScreenViewModel", + onCallEnd: () { + _ringtoneManager.release(); + isCallEnd = true; + notifyListeners(); + }, + onError: (errorMessage) { + _showIncomeError(errorMessage); + }); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/widgets/controls_incom_audio_buttons.dart b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/widgets/controls_incom_audio_buttons.dart new file mode 100644 index 0000000..8ba981e --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/audio/incoming/widgets/controls_incom_audio_buttons.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +import '../../../widgets/circular_button.dart'; + +class ControlsIncomeAudioButtons extends StatelessWidget { + final void Function() _onReject; + final void Function() _onAccept; + + const ControlsIncomeAudioButtons({ + super.key, + required void Function() onReject, + required void Function() onAccept, + }) : _onReject = onReject, + _onAccept = onAccept; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 40.0), + child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + CircularButton( + onPressed: () => _onReject.call(), + backgroundColor: const Color(0xFFFF3B30), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/hang_up.svg', height: 35, width: 35), + textBelowButton: 'Decline'), + CircularButton( + onPressed: () => _onAccept.call(), + backgroundColor: const Color(0xFF49CF77), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/accept.svg', height: 60, width: 60), + textBelowButton: 'Accept') + ])); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen.dart new file mode 100644 index 0000000..332e638 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen.dart @@ -0,0 +1,90 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/incoming/widgets/income_video_buttons.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/video_call_screen.dart'; + +import '../../../../utils/notification_utils.dart'; +import '../../widgets/user_avatars.dart'; +import '../../widgets/user_names.dart'; +import 'incoming_video_call_screen_view_model.dart'; + +class IncomingVideoCallScreen extends StatelessWidget { + static show(BuildContext context, List opponents) { + return Navigator.push(context, MaterialPageRoute(builder: (_) => IncomingVideoCallScreen(opponents: opponents))); + } + + final IncomingVideoCallScreenViewModel _viewModel = IncomingVideoCallScreenViewModel(); + + IncomingVideoCallScreen({super.key, required List opponents}) { + _viewModel.init(opponents); + } + + @override + Widget build(BuildContext context) { + return PopScope( + canPop: false, + child: ChangeNotifierProvider( + create: (context) => _viewModel, + child: Scaffold( + backgroundColor: const Color(0xFF414E5B), + body: Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + UserAvatars(opponentsLength: _viewModel.getOpponentsCount()), + UserNames(users: _viewModel.users), + SizedBox(height: MediaQuery.of(context).size.height / 2 - 104), + IncomeVideoButtons( + onReject: () => _viewModel.rejectCall(), + onAccept: () => _viewModel.acceptCall(), + ), + Selector( + selector: (_, viewModel) => viewModel.isCallEnd, + builder: (_, isCallEnd, __) { + if (isCallEnd) { + WidgetsBinding.instance.addPostFrameCallback((_) => Navigator.of(context).pop()); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.isCallAccepted, + builder: (_, callAccepted, __) { + if (callAccepted) { + _removeCurrentScreenAndShowVideoCallScreen(context); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.isCallRejected, + builder: (_, callRejected, __) { + if (callRejected) { + WidgetsBinding.instance.addPostFrameCallback((_) => Navigator.of(context).pop()); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage == null) { + NotificationUtils.hideSnackBar(context); + } + if (errorMessage?.isNotEmpty ?? false) { + _showErrorSnackBar(errorMessage!, context); + } + return const SizedBox.shrink(); + }), + ])))); + } + + Future _removeCurrentScreenAndShowVideoCallScreen(BuildContext context) async { + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.of(context).pop(); + VideoCallScreen.show(context, true, _viewModel.users); + }); + } + + void _showErrorSnackBar(String errorMessage, BuildContext context, {VoidCallback? errorCallback}) { + return NotificationUtils.showSnackBarError(context, errorMessage, errorCallback: errorCallback); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen_view_model.dart new file mode 100644 index 0000000..e1527bb --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/incoming_video_call_screen_view_model.dart @@ -0,0 +1,107 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; +import 'package:videocall_webrtc_sample/managers/ringtone_manager.dart'; + +import '../../../../../dependency/dependency_impl.dart'; +import '../../../../../managers/callback/call_subscription.dart'; +import '../../../../../managers/callback/call_subscription_impl.dart'; +import '../../../../base_view_model.dart'; +import '../../../../utils/error_parser.dart'; + +class IncomingVideoCallScreenViewModel extends BaseViewModel { + final RingtoneManager _ringtoneManager = DependencyImpl.getInstance().getRingtoneManager(); + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + + final List _users = []; + + List get users => _users; + + bool isCallAccepted = false; + bool isCallRejected = false; + bool isCallEnd = false; + + CallSubscription? _callSubscription; + + Future init(List callUsers) async { + try { + _ringtoneManager.startRingtone(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + + _callSubscription = _createCallSubscription(); + _subscribeCall(); + _users.addAll(callUsers); + } + + CallSubscription _createCallSubscription() { + return CallSubscriptionImpl( + tag: "IncomingCallScreenViewModel", + onCallEnd: () { + _ringtoneManager.release(); + isCallEnd = true; + notifyListeners(); + }, + onError: (errorMessage) { + _showError(errorMessage); + }); + } + + int getOpponentsCount() { + return users.length; + } + + Future _subscribeCall() async { + try { + await _callManager.subscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future _unsubscribeCall() async { + try { + await _callManager.unsubscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future acceptCall() async { + try { + await _ringtoneManager.release(); + isCallAccepted = true; + notifyListeners(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future enableVideo(bool enable) async { + try { + await _callManager.enableVideo(enable); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future rejectCall() async { + try { + await _callManager.rejectCall(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + void _showError(String errorMessage) { + WidgetsBinding.instance.addPostFrameCallback((_) => showError(errorMessage)); + } + + @override + void dispose() { + _unsubscribeCall(); + super.dispose(); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/widgets/income_video_buttons.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/widgets/income_video_buttons.dart new file mode 100644 index 0000000..16b3d5d --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/incoming/widgets/income_video_buttons.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +import '../../../widgets/circular_button.dart'; + +class IncomeVideoButtons extends StatelessWidget { + final void Function() _onReject; + final void Function() _onAccept; + + const IncomeVideoButtons({ + super.key, + required void Function() onReject, + required void Function() onAccept, + }) : _onReject = onReject, + _onAccept = onAccept; + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 40.0), + child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + CircularButton( + onPressed: () => _onReject.call(), + backgroundColor: const Color(0xFFFF3B30), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/hang_up.svg', height: 35, width: 35), + textBelowButton: 'Decline'), + CircularButton( + onPressed: () => _onAccept.call(), + backgroundColor: const Color(0xFF49CF77), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/video.svg', height: 60, width: 60), + textBelowButton: 'Video') + ])); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen.dart new file mode 100644 index 0000000..f59bcec --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen.dart @@ -0,0 +1,87 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/video_call_screen_view_model.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/widgets/controls_video_call_buttons.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/widgets/video_call_app_bar.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/widgets/video_tracks_widget.dart'; + +import '../../../../utils/notification_utils.dart'; + +class VideoCallScreen extends StatelessWidget { + static show(BuildContext context, bool isIncoming, List callUsers) { + return Navigator.push( + context, + MaterialPageRoute( + builder: (_) => VideoCallScreen(isIncoming: isIncoming, callUsers: callUsers))); + } + + final List callUsers; + final bool isIncoming; + + final VideoCallScreenViewModel _viewModel = VideoCallScreenViewModel(); + + VideoCallScreen({ + super.key, + required this.isIncoming, + required this.callUsers, + }) { + _viewModel.init(isIncoming, callUsers); + } + + @override + Widget build(context) { + return PopScope( + canPop: false, + child: ChangeNotifierProvider( + create: (context) => _viewModel, + child: Container( + color: const Color(0xFF414E5B), + child: Stack(children: [ + VideoTracksWidget(_viewModel.getVideoCallEntities()), + VideoCallAppBar(text: _viewModel.getOpponentNames(callUsers)), + VideoCallButtons( + onMute: (isPressed) { + bool isNeedMute = !isPressed; + _viewModel.enableAudio(isNeedMute); + }, + onDisableCamera: (isPressed) { + bool isNeedDisable = !isPressed; + _viewModel.enableVideo(isNeedDisable); + }, + onSwitchCamera: () => _viewModel.switchCamera(), + onEndCall: () => _viewModel.hangUpCall()), + Selector( + selector: (_, viewModel) => viewModel.opponentActionMessage, + builder: (_, message, __) { + if (message?.isNotEmpty ?? false) { + NotificationUtils.showResult(context, message!); + } + return const SizedBox.shrink(); + }), + Selector( + selector: (_, viewModel) => viewModel.isEndCall, + builder: (_, isCallEnd, __) { + if (isCallEnd) { + WidgetsBinding.instance + .addPostFrameCallback((_) => Navigator.of(context).pop()); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage == null) { + NotificationUtils.hideSnackBar(context); + } + if (errorMessage?.isNotEmpty ?? false) { + NotificationUtils.showSnackBarError(context, errorMessage!); + } + return const SizedBox.shrink(); + }) + ])))); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen_view_model.dart new file mode 100644 index 0000000..8d43a7c --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/video_call_screen_view_model.dart @@ -0,0 +1,217 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/dependency/dependency_impl.dart'; +import 'package:videocall_webrtc_sample/entities/video_call_entity.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; +import 'package:videocall_webrtc_sample/managers/callback/call_subscription.dart'; +import 'package:videocall_webrtc_sample/managers/callback/call_subscription_impl.dart'; +import 'package:videocall_webrtc_sample/managers/ringtone_manager.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/error_parser.dart'; + +import '../../../../base_view_model.dart'; + +class VideoCallScreenViewModel extends BaseViewModel { + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + final RingtoneManager _ringtoneManager = DependencyImpl.getInstance().getRingtoneManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + + String? _opponentActionMessage; + + String? get opponentActionMessage => _opponentActionMessage; + + bool _isStartedCall = false; + + bool get isStartedCall => _isStartedCall; + + bool _isEndCall = false; + + bool get isEndCall => _isEndCall; + + CallSubscription? _callSubscription; + + Future init(bool isIncoming, List users) async { + _callSubscription = _createCallSubscription(users); + await _subscribeCall(); + + if (isIncoming) { + await startIncomingCall(); + } else { + await startOutgoingCall(users); + } + + await _callManager.switchAudio(AudioOutputTypes.LOUDSPEAKER); + } + + Future startIncomingCall() async { + _isStartedCall = true; + await _callManager.acceptCall(); + + notifyListeners(); + } + + Future startOutgoingCall(List users) async { + int loggedUserId = await _storageManager.getLoggedUserId(); + List opponents = await removeLoggedUserFrom(users, loggedUserId); + + await startVideoCall(opponents); + await _ringtoneManager.startBeeps(); + } + + Future> removeLoggedUserFrom(List users, int loggedUserId) async { + try { + QBUser? loggedUser = users.firstWhere((element) => element?.id == loggedUserId); + users.remove(loggedUser); + return users; + } on StateError catch (e) { + print(e.message); + } + return users; + } + + List getVideoCallEntities() { + return _callManager.videoCallEntities.toList(); + } + + String getOpponentNames(List users) { + bool isNotExistOpponents = users.length < 2; + if (isNotExistOpponents) { + return "UserName"; + } + + bool isOnlyOneOpponent = users.length == 2; + if (isOnlyOneOpponent) { + String opponentNames = users[1]?.fullName ?? users[1]?.login ?? ""; + return opponentNames; + } + + String opponentNames = ""; + for (var i = 1; i < users.length; i++) { + opponentNames = '$opponentNames, ${users[i]?.fullName ?? users[i]?.login}'; + } + + return opponentNames; + } + + CallSubscription _createCallSubscription(List users) { + return CallSubscriptionImpl( + tag: "AudioCallScreenViewModel", + onCallEnd: () { + _ringtoneManager.release(); + _isEndCall = true; + notifyListeners(); + }, + onCallAccept: (userId) { + _ringtoneManager.release(); + _isStartedCall = true; + notifyListeners(); + }, + onNotAnswer: (userId) { + String? name = getUserNameBy(users, userId); + _showOpponentActionMessage("$name is not answering."); + }, + onHangup: (userId) { + String? name = getUserNameBy(users, userId); + _showOpponentActionMessage("$name hung up."); + }, + onCallRejected: (userId) { + String? name = getUserNameBy(users, userId); + _showOpponentActionMessage("$name rejected the call."); + }, + onError: (errorMessage) { + _showError(errorMessage); + }, + ); + } + + String? getUserNameBy(List users, int userId) { + try { + QBUser? user = users.firstWhere((element) => element?.id == userId); + return user?.fullName ?? user?.login; + } on StateError catch (e) { + return "UserName"; + } + } + + Future _subscribeCall() async { + try { + await _callManager.subscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future _unsubscribeCall() async { + try { + await _callManager.unsubscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future startVideoCall(List users) async { + try { + await _callManager.startVideoCall(users); + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + Future enableAudio(bool enable) async { + try { + await _callManager.enableAudio(enable); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future enableVideo(bool enable) async { + try { + await _callManager.enableVideo(enable); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future switchAudioOutput(AudioOutputTypes outputType) async { + try { + await _callManager.switchAudio(outputType); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future switchCamera() async { + try { + await _callManager.switchCamera(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future hangUpCall() async { + try { + await _callManager.hangUpCall(); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + void _showOpponentActionMessage(String message) { + _opponentActionMessage = message; + notifyListeners(); + } + + void _showError(String errorMessage) { + WidgetsBinding.instance.addPostFrameCallback((_) { + showError(errorMessage); + }); + } + + @override + void dispose() { + _unsubscribeCall(); + super.dispose(); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/controls_video_call_buttons.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/controls_video_call_buttons.dart new file mode 100644 index 0000000..c3060f8 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/controls_video_call_buttons.dart @@ -0,0 +1,69 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/widgets/circular_button.dart'; + +import '../../../widgets/circular_button_with_state.dart'; +import 'oval_badge.dart'; + +class VideoCallButtons extends StatelessWidget { + final void Function(bool isPressed) _onMute; + final void Function(bool isPressed) _onDisableCamera; + final void Function() _onSwitchCamera; + final void Function() _onEndCall; + + const VideoCallButtons( + {super.key, required onMute, required onDisableCamera, required onSwitchCamera, required onEndCall}) + : _onMute = onMute, + _onDisableCamera = onDisableCamera, + _onSwitchCamera = onSwitchCamera, + _onEndCall = onEndCall; + + @override + Widget build(BuildContext context) { + final screenWidth = MediaQuery.of(context).size.width; + final screenHeight = MediaQuery.of(context).size.height; + return Positioned( + bottom: 0, + child: Container( + height: screenHeight / 4, + width: screenWidth, + color: Colors.black.withOpacity(0.5), + child: Column( + children: [ + const OvalBadge(), + Padding( + padding: const EdgeInsets.only(left: 16, top: 16, right: 16), + child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + CircularButtonWithState( + onPressed: (isPressed) => _onMute.call(isPressed), + backgroundColor: const Color(0xFF202F3E), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/mute.svg', height: 35, width: 35), + textBelowButton: 'Mute', + isPressed: false), + CircularButtonWithState( + onPressed: (isPressed) => _onDisableCamera.call(isPressed), + backgroundColor: const Color(0xFF202F3E), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/enable_camera.svg', height: 35, width: 35), + textBelowButton: 'Camera', + isPressed: false), + CircularButton( + onPressed: () => _onEndCall.call(), + backgroundColor: const Color(0xFFFF3B30), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/hang_up.svg', height: 35, width: 35), + textBelowButton: 'End call'), + CircularButtonWithState( + onPressed: (isPressed) => _onSwitchCamera.call(), + backgroundColor: const Color(0xFF202F3E), + iconColor: Colors.white, + icon: SvgPicture.asset('assets/icons/swap_camera.svg', height: 35, width: 35), + textBelowButton: 'Swap', + isPressed: false) + ])) + ], + )), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/oval_badge.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/oval_badge.dart new file mode 100644 index 0000000..fe658ad --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/oval_badge.dart @@ -0,0 +1,78 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; + +class OvalBadge extends StatefulWidget { + const OvalBadge({super.key}); + + @override + _OvalBadgeState createState() => _OvalBadgeState(); +} + +class _OvalBadgeState extends State { + Timer? _timer; + String _formattedTime = '00:00'; + int _hours = 0; + int _minutes = 0; + int _seconds = 0; + + @override + void initState() { + super.initState(); + _timer = Timer.periodic(const Duration(seconds: 1), _updateTime); + } + + @override + void dispose() { + _timer?.cancel(); + super.dispose(); + } + + void _updateTime(Timer timer) { + _seconds++; + if (_seconds == 60) { + _seconds = 0; + _minutes++; + if (_minutes == 60) { + _minutes = 0; + _hours++; + } + } + setState(() { + if (_hours == 0) { + _formattedTime = '${_formatTime(_minutes)}:${_formatTime(_seconds)}'; + } else { + _formattedTime = '${_formatTime(_hours)}:${_formatTime(_minutes)}:${_formatTime(_seconds)}'; + } + }); + } + + String _formatTime(int time) { + return time.toString().padLeft(2, '0'); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(top: 24), + child: Container( + alignment: Alignment.center, + width: 60, + height: 28, + decoration: BoxDecoration( + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(20), + color: const Color(0xFF414E5B), + ), + child: Text( + _formattedTime, + style: const TextStyle( + decoration: TextDecoration.none, + fontSize: 11, + color: Colors.white, + ), + ), + ), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_call_app_bar.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_call_app_bar.dart new file mode 100644 index 0000000..0d9e8c3 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_call_app_bar.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; + +class VideoCallAppBar extends StatelessWidget implements PreferredSizeWidget { + final String text; + + const VideoCallAppBar({super.key, required this.text}); + + @override + Widget build(BuildContext context) { + return Container( + color: Colors.black.withOpacity(0.5), + height: 64, + width: MediaQuery.of(context).size.width, + child: Padding( + padding: const EdgeInsets.only(left: 16.0, bottom: 4.0), + child: Align( + alignment: FractionalOffset.bottomLeft, + child: Text(text, + textAlign: TextAlign.left, + style: const TextStyle( + decoration: TextDecoration.none, + fontSize: 14, + color: Colors.white, + ))))); + } + + @override + Size get preferredSize => const Size.fromHeight(kToolbarHeight); +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_track_widget.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_track_widget.dart new file mode 100644 index 0000000..01bb2c5 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_track_widget.dart @@ -0,0 +1,49 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:quickblox_sdk/webrtc/rtc_video_view.dart'; +import 'package:videocall_webrtc_sample/entities/video_call_entity.dart'; + +class VideoTrackWidget extends StatefulWidget { + final VideoCallEntity _videCallEntity; + final double _width; + final double _height; + + const VideoTrackWidget( + this._videCallEntity, + this._width, + this._height, { + super.key, + }); + + @override + State createState() => _VideoTrackWidget(); +} + +class _VideoTrackWidget extends State { + bool isVideoViewVisible = false; + + @override + Widget build(BuildContext context) { + if (Platform.isAndroid) { + Future.delayed(const Duration(milliseconds: 2), () { + setState(() => isVideoViewVisible = true); + }); + } else { + isVideoViewVisible = true; + } + + return Container( + margin: const EdgeInsets.all(0.2), + width: widget._width, + height: widget._height, + clipBehavior: Clip.antiAlias, + decoration: const BoxDecoration(color: Colors.black54), + child: isVideoViewVisible + ? RTCVideoView(onVideoViewCreated: (controller) { + widget._videCallEntity.controller = controller; + }) + : const SizedBox(), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_tracks_widget.dart b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_tracks_widget.dart new file mode 100644 index 0000000..ecbf865 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/video/video_call/widgets/video_tracks_widget.dart @@ -0,0 +1,78 @@ +import 'package:flutter/material.dart'; +import 'package:tuple/tuple.dart'; +import 'package:videocall_webrtc_sample/entities/video_call_entity.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/widgets/video_track_widget.dart'; + +class VideoTracksWidget extends StatelessWidget { + final List _videCallEntities; + + const VideoTracksWidget(this._videCallEntities, {super.key}); + + @override + Widget build(BuildContext context) { + return _buildGrid(context); + } + + Widget _buildGrid(BuildContext context) { + final rows = calcViewTable(_videCallEntities.length); + final totalRows = rows.item1 + rows.item2 + rows.item3; + final screenHeight = MediaQuery.of(context).size.height; + final screenWidth = MediaQuery.of(context).size.width; + int index = 0; + return Positioned( + top: 0, + left: 0, + child: Column(children: [ + for (var i = 0; i < rows.item1; i++) + Row(children: [ + VideoTrackWidget(_videCallEntities[index++], screenWidth, screenHeight / totalRows) + ]), + for (var i = 0; i < rows.item2; i++) + Row(children: [ + for (var j = 0; j < 2; j++) + VideoTrackWidget(_videCallEntities[index++], screenWidth / 2, screenHeight / totalRows) + ]), + for (var i = 0; i < rows.item3; i++) + Row(children: [ + for (var j = 0; j < 3; j++) + VideoTrackWidget(_videCallEntities[index++], screenWidth / 3, screenHeight / totalRows) + ]) + ])); + } + + Tuple3 calcViewTable(int opponentsQuantity) { + int rowsThreeUsers = 0; + int rowsTwoUsers = 0; + int rowsOneUser = 0; + if (opponentsQuantity == 1) { + rowsOneUser = 1; + return Tuple3(rowsOneUser, rowsTwoUsers, rowsThreeUsers); + } + + if (opponentsQuantity == 2) { + rowsOneUser = 2; + return Tuple3(rowsOneUser, rowsTwoUsers, rowsThreeUsers); + } + + if (opponentsQuantity == 3) { + rowsTwoUsers = 1; + rowsOneUser = 1; + return Tuple3(rowsOneUser, rowsTwoUsers, rowsThreeUsers); + } + + switch (opponentsQuantity % 3) { + case 0: + rowsThreeUsers = opponentsQuantity ~/ 3; + break; + case 1: + rowsTwoUsers = 2; + rowsThreeUsers = (opponentsQuantity - 2) ~/ 3; + break; + case 2: + rowsTwoUsers = 1; + rowsThreeUsers = (opponentsQuantity - 1) ~/ 3; + break; + } + return Tuple3(rowsOneUser, rowsTwoUsers, rowsThreeUsers); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button.dart b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button.dart new file mode 100644 index 0000000..3eb10af --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button.dart @@ -0,0 +1,42 @@ + +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +class CircularButton extends StatelessWidget { + final VoidCallback onPressed; + final Color backgroundColor; + final Color iconColor; + final SvgPicture icon; + final String? textBelowButton; + + const CircularButton( + {super.key, + required this.onPressed, + required this.iconColor, + required this.backgroundColor, + required this.icon, + this.textBelowButton}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + ElevatedButton( + onPressed: onPressed, + style: ElevatedButton.styleFrom( + backgroundColor: backgroundColor, + shape: const CircleBorder(), + fixedSize: const Size.fromRadius(36)), + child: Center(child: icon)), + if (textBelowButton != null) + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Text( + textBelowButton!, + style: const TextStyle( decoration: TextDecoration.none,fontSize:14, color: Colors.white), + ), + ) + ], + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button_with_state.dart b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button_with_state.dart new file mode 100644 index 0000000..33cf68c --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/circular_button_with_state.dart @@ -0,0 +1,78 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:flutter_svg/svg.dart'; + +typedef IsPressedCallback = void Function(bool isPressed); + +class CircularButtonWithState extends StatefulWidget { + final IsPressedCallback onPressed; + final Color backgroundColor; + final Color iconColor; + final SvgPicture icon; + final String? textBelowButton; + final bool isPressed; + + const CircularButtonWithState({ + super.key, + required this.onPressed, + required this.iconColor, + required this.backgroundColor, + required this.icon, + this.textBelowButton, + required this.isPressed, + }); + + @override + State createState() => _CircularButtonWithState(); +} + +class _CircularButtonWithState extends State { + bool _isPressed = false; + + @override + void initState() { + super.initState(); + _isPressed = widget.isPressed; + } + + @override + Widget build(BuildContext context) { + final backgroundColor = _isPressed ? widget.iconColor : widget.backgroundColor; + final iconColor = _isPressed ? widget.backgroundColor : widget.iconColor; + + return Column( + children: [ + ElevatedButton( + onPressed: () { + setState(() { + _isPressed = !_isPressed; + }); + widget.onPressed(_isPressed); + }, + style: ElevatedButton.styleFrom( + backgroundColor: backgroundColor, + shape: const CircleBorder(), + fixedSize: const Size.fromRadius(36), + ), + child: Center( + child: ColorFiltered( + colorFilter: ColorFilter.mode( + iconColor, // Fixed + BlendMode.srcATop), + child: widget.icon, + ))), + if (widget.textBelowButton != null) + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Text( + widget.textBelowButton!, + style: const TextStyle( + decoration: TextDecoration.none,fontSize:14, color: Colors.white), + ), + ) + ], + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/widgets/timer_widget.dart b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/timer_widget.dart new file mode 100644 index 0000000..193fda6 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/timer_widget.dart @@ -0,0 +1,82 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; + +class TimerWidget extends StatefulWidget { + const TimerWidget({super.key}); + + @override + State createState() => _TimerWidgetState(); +} + +class _TimerWidgetState extends State { + Timer? _timer; + int _seconds = 0; + int _minutes = 0; + int _hours = 0; + + @override + void initState() { + super.initState(); + _timer = Timer.periodic(const Duration(seconds: 1), _updateTimer); + } + + void _updateTimer(Timer timer) { + setState(() { + _seconds++; + if (_seconds == 60) { + _seconds = 0; + _minutes++; + } + if (_minutes == 60) { + _minutes = 0; + _hours++; + } + }); + } + + @override + void dispose() { + _timer?.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.only(top: 8.0), + child:Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildTimeText(_hours.toString().padLeft(2, '0')), + _buildDivider(), + _buildTimeText(_minutes.toString().padLeft(2, '0')), + _buildDivider(), + _buildTimeText(_seconds.toString().padLeft(2, '0')), + ], + ) + ); + } + + Widget _buildTimeText(String time) { + return Text( + time, + style: const TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ); + } + + Widget _buildDivider() { + return const Text( + ':', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ); + } +} \ No newline at end of file diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_avatars.dart b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_avatars.dart new file mode 100644 index 0000000..103ef2c --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_avatars.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; + +class UserAvatars extends StatelessWidget { + final int opponentsLength; + + const UserAvatars({required this.opponentsLength, super.key}); + + @override + Widget build(BuildContext context) { + return Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + _buildUserAvatar(), + if (opponentsLength > 1) + Padding(padding: const EdgeInsets.only(left: 8.0), child: _buildUserAvatar()) + ]); + } + + Widget _buildUserAvatar() { + return const CircleAvatar( + radius: 50.0, + backgroundColor: Color(0xFFBCC1C5), + child: Icon(Icons.person_outline, size: 50.0, color: Color(0xFF636D78))); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_names.dart b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_names.dart new file mode 100644 index 0000000..475b596 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/call/widgets/user_names.dart @@ -0,0 +1,36 @@ +import 'package:flutter/material.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; + +class UserNames extends StatelessWidget { + final List users; + + const UserNames({required this.users, super.key}); + + @override + Widget build(BuildContext context) { + String firstOpponentName = "UserName"; + if (users.isNotEmpty) { + firstOpponentName = users[0]?.fullName ?? "UserName"; + } + return Padding( + padding: const EdgeInsets.only(top: 10.0), + child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [ + Text(firstOpponentName, style: _buildUsernameTextStyle()), + _buildPluralityUsersNames(), + ])); + } + + TextStyle _buildUsernameTextStyle() { + return const TextStyle(fontSize: 20, fontWeight: FontWeight.w500, color: Colors.white); + } + + Widget _buildPluralityUsersNames() { + String other = users.length == 2 ? "other" : "others"; + + if (users.length > 1) { + return Text(' and ${users.length - 1} $other', style: _buildUsernameTextStyle()); + } else { + return const SizedBox.shrink(); + } + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/login_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/login/login_screen.dart new file mode 100644 index 0000000..678d64c --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/login_screen.dart @@ -0,0 +1,111 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/login_screen_view_model.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/widgets/error_password_text_field.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/widgets/header_input_text_field.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/widgets/login_text_field.dart'; + +import '../../utils/notification_utils.dart'; +import '../users/users_screen.dart'; +import '../widgets/decorated_app_bar.dart'; +import 'widgets/error_login_text_field.dart'; +import 'widgets/login_button.dart'; +import 'widgets/login_heading.dart'; +import 'widgets/login_progress_indicator.dart'; + +class LoginScreen extends StatefulWidget { + static show(BuildContext context) { + Navigator.push(context, MaterialPageRoute(builder: (_) => const LoginScreen())); + } + + static showAndClearStack(BuildContext context) { + Navigator.pushAndRemoveUntil( + context, MaterialPageRoute(builder: (_) => const LoginScreen()), (_) => false); + } + + const LoginScreen({super.key}); + + @override + State createState() => _LoginScreenState(); +} + +class _LoginScreenState extends State { + final TextEditingController loginTextController = TextEditingController(); + final TextEditingController passwordTextController = TextEditingController(); + final GlobalKey _formKey = GlobalKey(); + final LoginScreenViewModel _viewModel = LoginScreenViewModel(); + + @override + void dispose() { + loginTextController.dispose(); + passwordTextController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (_) => _viewModel, + child: Scaffold( + appBar: DecoratedAppBar( + appBar: AppBar( + centerTitle: true, + title: const Text('Enter to Video chat', style: TextStyle( + color: Colors.white + )), + backgroundColor: const Color(0xff3978fc))), + body: Form( + key: _formKey, + child: ListView(padding: const EdgeInsets.only(left: 16, right: 16), children: [ + const LoginHeading(), + const HeaderInputTextField(text: "Login", marginTop: 28), + LoginTextField(controller: loginTextController), + const ErrorLoginTextField(), + const HeaderInputTextField(text: "Password", marginTop: 16), + LoginTextField(controller: passwordTextController), + const ErrorPasswordTextField(), + LoginButton( + callback: (buttonContext) async { + String login = loginTextController.text.trim(); + String password = passwordTextController.text.trim(); + + bool isValidCredentials = _viewModel.isValidCredentials(login, password); + if (isValidCredentials) { + await _viewModel.login(login, password); + FocusScope.of(buttonContext).unfocus(); + } + }, + ), + Selector( + selector: (_, viewModel) => viewModel.loading, + builder: (_, loading, __) { + if (loading) { + return const LoginProgressIndicator(); + } + if (!loading && _viewModel.isLoggedIn) { + _showUsersScreen(context); + } + return const SizedBox.shrink(); + }, + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage?.isNotEmpty ?? false) { + _showErrorSnackbar(errorMessage!, context); + } + return const SizedBox.shrink(); + }) + ])))); + } + + void _showUsersScreen(BuildContext context) { + WidgetsBinding.instance.addPostFrameCallback((_) { + UsersScreen.showAndClearStack(context); + }); + } + + void _showErrorSnackbar(String errorMessage, BuildContext context) { + NotificationUtils.showSnackBarError(context, errorMessage); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/login_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/login/login_screen_view_model.dart new file mode 100644 index 0000000..2fd88cc --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/login_screen_view_model.dart @@ -0,0 +1,75 @@ +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/auth/module.dart'; +import 'package:videocall_webrtc_sample/dependency/dependency_impl.dart'; +import 'package:videocall_webrtc_sample/managers/auth_manager.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/presentation/base_view_model.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/error_parser.dart'; + +class LoginScreenViewModel extends BaseViewModel { + static const MIN_LENGTH = 3; + static const MAX_LENGTH_LOGIN = 50; + + final AuthManager _authManager = DependencyImpl.getInstance().getAuthManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + + bool isLoggedIn = false; + bool isLoginError = false; + bool isPasswordError = false; + + Future login(String userLogin, String userPassword) async { + try { + hideError(); + isLoggedIn = false; + showLoading(); + QBLoginResult qbLoginResult = await _authManager.login(userLogin, userPassword); + + if (qbLoginResult.qbUser?.id != null) { + _storageManager.saveUserId(qbLoginResult.qbUser!.id!); + _storageManager.saveUserLogin(userLogin); + String? name = qbLoginResult.qbUser?.fullName ?? qbLoginResult.qbUser?.login; + _storageManager.saveUserName(name!); + _storageManager.saveUserPassword(userPassword); + } + isLoggedIn = true; + hideLoading(); + } on PlatformException catch (e) { + hideLoading(); + showError(ErrorParser.parseFrom(e)); + } + } + + bool isValidCredentials(String login, String password) { + isLoginError = false; + isPasswordError = false; + final isValidLogin = _validLogin(login); + final isValidPassword = _validPassword(password); + + if (!isValidLogin) { + isLoginError = true; + } + if (!isValidPassword) { + isPasswordError = true; + } + notifyListeners(); + return isValidLogin && isValidPassword; + } + + bool _validLogin(String login) { + if (login.isEmpty || login.length < MIN_LENGTH || login.length > MAX_LENGTH_LOGIN) { + return false; + } + int min = MIN_LENGTH - 1; + int max = MAX_LENGTH_LOGIN - 1; + bool validLogin = RegExp('^[a-zA-Z][a-zA-Z0-9]{$min,$max}\$').hasMatch(login); + bool validEmail = RegExp(r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$').hasMatch(login); + return validLogin || validEmail; + } + + bool _validPassword(String password) { + if (password.isEmpty) { + return false; + } + return true; + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_login_text_field.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_login_text_field.dart new file mode 100644 index 0000000..cf5adb1 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_login_text_field.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +import '../login_screen_view_model.dart'; + +class ErrorLoginTextField extends StatelessWidget { + const ErrorLoginTextField({super.key}); + + @override + Widget build(BuildContext context) { + return Selector( + selector: (_, viewModel) => viewModel.isLoginError, + builder: (_, isError, __) { + if (isError) { + return _buildErrorText(); + } + return const SizedBox.shrink(); + }, + ); + } + + Widget _buildErrorText() { + return const Padding( + padding: EdgeInsets.only(top: 10), + child: Text( + "E-mail or login should be in a range from 3 to 50. First character must be a letter.", + style: TextStyle(color: Colors.red, fontSize: 12)), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_password_text_field.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_password_text_field.dart new file mode 100644 index 0000000..b5a43e6 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/error_password_text_field.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +import '../login_screen_view_model.dart'; + +class ErrorPasswordTextField extends StatelessWidget { + const ErrorPasswordTextField({super.key}); + + @override + Widget build(BuildContext context) { + return Selector( + selector: (_, viewModel) => viewModel.isPasswordError, + builder: (_, isError, __) { + if (isError) { + return _buildErrorText(); + } + return const SizedBox.shrink(); + }, + ); + } + + Widget _buildErrorText() { + return const Padding( + padding: EdgeInsets.only(top: 10), + child: Text( + "Password cannot be empty", + style: TextStyle(color: Colors.red, fontSize: 12)), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/header_input_text_field.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/header_input_text_field.dart new file mode 100644 index 0000000..79149a7 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/header_input_text_field.dart @@ -0,0 +1,23 @@ +import 'package:flutter/cupertino.dart'; + +class HeaderInputTextField extends StatelessWidget { + final String text; + final double marginTop; + + const HeaderInputTextField({ + required this.text, + required this.marginTop, + super.key, + }); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.only(top: marginTop), + child: Text( + text, + style: const TextStyle(color: Color(0x85333333), fontSize: 13), + ), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_button.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_button.dart new file mode 100644 index 0000000..732239c --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_button.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; + +import '../login_screen_view_model.dart'; + +class LoginButton extends StatelessWidget { + final void Function(BuildContext) callback; + const LoginButton({ + super.key, + required this.callback, + }); + + @override + Widget build(BuildContext context) { + return Selector( + selector: (_, viewModel) => viewModel.loading, + builder: (_, isLoggingIn, __) { + return Container( + padding: const EdgeInsets.only(top: 42, left: 64, right: 64), + child: ElevatedButton( + onPressed: isLoggingIn ? null :() { + callback(context); + }, + style: ButtonStyle( + elevation: MaterialStateProperty.resolveWith( + (states) => states.contains(MaterialState.disabled) ? null : 3), + shadowColor: MaterialStateProperty.resolveWith((states) => + states.contains(MaterialState.disabled) + ? const Color(0xff99a9c6) + : const Color(0x403978fc)), + backgroundColor: MaterialStateProperty.resolveWith((states) => + states.contains(MaterialState.disabled) + ? const Color(0xff99a9c6) + : const Color(0xff3978fc)), + ), + child: Container( + padding: const EdgeInsets.only(top: 12, bottom: 12), + child: const Text( + 'Login', + style: TextStyle(fontSize: 17, color: Colors.white), + ), + ), + ), + ); + }, + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_heading.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_heading.dart new file mode 100644 index 0000000..608a312 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_heading.dart @@ -0,0 +1,17 @@ +import 'package:flutter/cupertino.dart'; + +class LoginHeading extends StatelessWidget { + const LoginHeading({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.only(top: 28), + child: const Text( + 'Please enter your login \n and password', + textAlign: TextAlign.center, + style: TextStyle(fontSize: 17), + ), + ); + } +} \ No newline at end of file diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_progress_indicator.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_progress_indicator.dart new file mode 100644 index 0000000..b7190a0 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_progress_indicator.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class LoginProgressIndicator extends StatelessWidget { + const LoginProgressIndicator({super.key}); + + @override + Widget build(BuildContext context) { + return const Center( + child: Padding( + padding: EdgeInsets.symmetric(vertical: 20.0), + child: CircularProgressIndicator(color: Color(0xff3978fc)), + ), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_text_field.dart b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_text_field.dart new file mode 100644 index 0000000..da40a35 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/login/widgets/login_text_field.dart @@ -0,0 +1,51 @@ +import 'package:flutter/material.dart'; + +class LoginTextField extends StatelessWidget { + final TextEditingController controller; + + const LoginTextField({ + required this.controller, + super.key, + }); + + @override + Widget build(BuildContext context) { + return Container( + padding: const EdgeInsets.only(top: 11), + decoration: _buildTextFieldDecoration(), + child: TextFormField( + controller: controller, + textInputAction: TextInputAction.next, + style: const TextStyle(fontSize: 17), + keyboardType: TextInputType.text, + decoration: InputDecoration( + errorMaxLines: 2, + contentPadding: const EdgeInsets.all(10), + filled: true, + fillColor: Colors.white, + border: _buildWhiteBorder(), + focusedBorder: _buildWhiteBorder(), + enabledBorder: _buildWhiteBorder(), + ), + ), + ); + } + + BoxDecoration _buildTextFieldDecoration() { + return const BoxDecoration( + boxShadow: [ + BoxShadow( + color: Color.fromARGB(255, 217, 229, 255), + offset: Offset(0, 6), + blurRadius: 11.0, + ), + ], + ); + } + + OutlineInputBorder _buildWhiteBorder() { + return const OutlineInputBorder( + borderSide: BorderSide(color: Colors.white), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen.dart new file mode 100644 index 0000000..f9e1db5 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen.dart @@ -0,0 +1,79 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:provider/provider.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/login_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/splash/splash_screen_view_model.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/splash/widgets/splash_footer.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/users_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/notification_utils.dart'; + +import 'widgets/splash_progress_bar.dart'; + +class SplashScreen extends StatelessWidget { + const SplashScreen({super.key}); + + void _showLoginScreen(BuildContext context) { + Future.delayed(Duration.zero, () => LoginScreen.showAndClearStack(context)); + } + + void _showUsersScreen(BuildContext context) { + Future.delayed(Duration.zero, () => UsersScreen.showAndClearStack(context)); + } + + @override + Widget build(BuildContext context) { + final SplashScreenViewModel viewModel = SplashScreenViewModel(); + viewModel.enableLogging(); + viewModel.initQBSDK(); + viewModel.checkSavedUserAndLogin(); + + return ChangeNotifierProvider( + create: (_) => viewModel, + child: Scaffold( + body: Container( + color: const Color(0xff3978fc), + child: Stack( + fit: StackFit.expand, + children: [ + Center(child: SvgPicture.asset('assets/icons/qb-logo.svg')), + Selector( + selector: (_, viewModel) => viewModel.loading, + builder: (_, isLoading, __) { + if (isLoading) { + return const SplashProgressBar(); + } + + if (viewModel.isLoggedIn) { + _showUsersScreen(context); + } else { + _showLoginScreen(context); + } + return const SizedBox.shrink(); + }, + ), + const SplashFooter(), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage?.isNotEmpty == true) { + _showErrorSnackbar(errorMessage!, context); + } + return const SizedBox.shrink(); + }, + ), + ], + ), + ), + ), + ); + } + + void _showErrorSnackbar(String errorMessage, BuildContext context) { + NotificationUtils.showSnackBarError(context, errorMessage, errorCallback: () { + final SplashScreenViewModel viewModel = + Provider.of(context, listen: false); + viewModel.hideError(); + viewModel.checkSavedUserAndLogin(); + }); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen_view_model.dart new file mode 100644 index 0000000..acde83e --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/splash/splash_screen_view_model.dart @@ -0,0 +1,70 @@ +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/auth/module.dart'; +import 'package:videocall_webrtc_sample/dependency/dependency_impl.dart'; +import 'package:videocall_webrtc_sample/main.dart'; +import 'package:videocall_webrtc_sample/managers/auth_manager.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/presentation/base_view_model.dart'; + +import '../../../managers/settings_manager.dart'; +import '../../utils/error_parser.dart'; + +class SplashScreenViewModel extends BaseViewModel { + final SettingsManager _settingsManager = DependencyImpl.getInstance().getSettingsManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + final AuthManager _authManager = DependencyImpl.getInstance().getAuthManager(); + + bool isLoggedIn = false; + + Future initQBSDK() async { + try { + await _settingsManager.init(APPLICATION_ID, AUTH_KEY, AUTH_SECRET, ACCOUNT_KEY); + + String url = ICE_SEVER_URL; + if (url.isNotEmpty) { + String userName = ICE_SERVER_USER; + String password = ICE_SERVER_PASSWORD; + await _settingsManager.setIceServers(url, userName, password); + } + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + Future enableLogging() async { + try { + await _settingsManager.enableXMPPLogging(); + await _settingsManager.enableLogging(); + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + Future checkSavedUserAndLogin() async { + try { + showLoading(); + + bool isExistSavedUser = await _storageManager.isExistSavedUser(); + if (isExistSavedUser) { + String userLogin = await _storageManager.getUserLogin(); + String userPassword = await _storageManager.getUserPassword(); + await _login(userLogin, userPassword); + } + + hideLoading(); + } on PlatformException catch (e) { + hideLoading(); + showError(ErrorParser.parseFrom(e)); + } + } + + Future _login(String userLogin, String userPassword) async { + QBLoginResult qbLoginResult = await _authManager.login(userLogin, userPassword); + if (qbLoginResult.qbUser?.id != null) { + _storageManager.saveUserId(qbLoginResult.qbUser!.id!); + isLoggedIn = true; + } else { + isLoggedIn = false; + } + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_footer.dart b/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_footer.dart new file mode 100644 index 0000000..1c2e946 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_footer.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; + +class SplashFooter extends StatelessWidget { + const SplashFooter({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.bottomCenter, + child: const Padding( + padding: EdgeInsets.only(bottom: 40), + child: Text( + 'Flutter Video Call Sample', + style: TextStyle(fontSize: 18, color: Colors.white), + ), + ), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_progress_bar.dart b/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_progress_bar.dart new file mode 100644 index 0000000..d2babe8 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/splash/widgets/splash_progress_bar.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class SplashProgressBar extends StatelessWidget{ + const SplashProgressBar({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.bottomCenter, + child: const Padding( + padding: EdgeInsets.only(bottom: 150), + child: CircularProgressIndicator(color: Colors.white, strokeWidth: 4.0), + ), + ); + } +} \ No newline at end of file diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback.dart b/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback.dart new file mode 100644 index 0000000..feeadc7 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback.dart @@ -0,0 +1,9 @@ +abstract class AppBarCallback { + void onLogIn(); + + void onLogOut(); + + void onVideoCall(); + + void onAudioCall(); +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback_impl.dart b/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback_impl.dart new file mode 100644 index 0000000..e84badd --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/callback/app_bar_callback_impl.dart @@ -0,0 +1,30 @@ +import 'app_bar_callback.dart'; + +class AppBarCallbackImpl implements AppBarCallback { + AppBarCallbackImpl({ + required void Function() onLogIn, + required void Function() onLogOut, + required void Function() onVideoCall, + required void Function() onAudioCall, + }) : _onLogIn = onLogIn, + _onLogOut = onLogOut, + _onVideoCall = onVideoCall, + _onAudioCall = onAudioCall; + + final void Function() _onLogIn; + final void Function() _onLogOut; + final void Function() _onVideoCall; + final void Function() _onAudioCall; + + @override + void onLogIn() => _onLogIn(); + + @override + void onLogOut() => _onLogOut(); + + @override + void onVideoCall() => _onVideoCall(); + + @override + void onAudioCall() => _onAudioCall(); +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/users_screen.dart b/videocall_webrtc_sample/lib/presentation/screens/users/users_screen.dart new file mode 100644 index 0000000..207d608 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/users_screen.dart @@ -0,0 +1,285 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:videocall_webrtc_sample/entities/user_entity.dart'; +import 'package:videocall_webrtc_sample/presentation/dialogs/yes_no_dialog.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/audio/audio_call/audio_call_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/audio/incoming/incoming_audio_call_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/call/video/video_call/video_call_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/login/login_screen.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/callback/app_bar_callback.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/callback/app_bar_callback_impl.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/users_screen_view_model.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/widgets/users_app_bar.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/widgets/users_list_item.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/widgets/users_list_loading_item.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/widgets/users_search_bar.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/widgets/decorated_app_bar.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/debouncer.dart'; + +import '../../utils/notification_utils.dart'; +import '../call/video/incoming/incoming_video_call_screen.dart'; + +class UsersScreen extends StatefulWidget { + static show(BuildContext context) { + Navigator.push(context, MaterialPageRoute(builder: (_) => const UsersScreen())); + } + + static showAndClearStack(BuildContext context) { + Navigator.pushAndRemoveUntil( + context, MaterialPageRoute(builder: (_) => const UsersScreen()), (_) => false); + } + + const UsersScreen({super.key}); + + @override + State createState() => _UsersScreenState(); +} + +class _UsersScreenState extends State { + final UsersScreenViewModel _viewModel = UsersScreenViewModel(); + final ScrollController _scrollController = ScrollController(); + final TextEditingController _searchController = TextEditingController(); + + final _searchDebouncer = Debouncer(); + bool _search = false; + + @override + void initState() { + super.initState(); + _viewModel.init(); + _scrollController.addListener(_scrollListener); + } + + void _scrollListener() { + double? maxScroll = _scrollController.position.maxScrollExtent; + double? currentScroll = _scrollController.position.pixels; + if (maxScroll == currentScroll) { + if (_search) { + _viewModel.searchNextUsers = true; + _viewModel.searchUsers(_searchController.text.trim()); + } else { + _viewModel.loadNextUsers = true; + _viewModel.loadUsers(); + } + } + } + + @override + void dispose() { + _scrollController.dispose(); + _searchController.dispose(); + _searchDebouncer.dispose(); + super.dispose(); + } + + AppBarCallback createAppBarCallback() { + return AppBarCallbackImpl(onLogIn: () { + _showLoginScreen(); + }, onLogOut: () { + _showLogoutDialog(); + }, onAudioCall: () async { + List selectedUsers = _viewModel.getSelectedQbUsers(); + + if (selectedUsers.isEmpty) { + _showErrorSnackbar("To make a call you need to select at least one opponent.", context); + return; + } + + await _viewModel.checkAudioPermissions(); + await _viewModel.startAudioCall(); + setState(() { + _viewModel.clearSelectedUsers(); + }); + _showAudioCallScreen(selectedUsers); + }, onVideoCall: () async { + List selectedUsers = _viewModel.getSelectedQbUsers(); + + if (selectedUsers.isEmpty) { + _showErrorSnackbar("To make a call you need to select at least one opponent.", context); + return; + } + + await _viewModel.checkVideoPermissions(); + + List users = await _viewModel.addCurrentUserToList(selectedUsers); + await _viewModel.addVideoCallEntities(users); + setState(() { + _viewModel.clearSelectedUsers(); + }); + _showVideoCallScreen(selectedUsers); + }); + } + + Future _refresh() async { + setState(() { + _search = false; + _viewModel.loadNextUsers = false; + _viewModel.loadUsers(); + }); + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (context) => _viewModel, + child: Scaffold( + appBar: DecoratedAppBar(appBar: UsersAppBar(callback: createAppBarCallback())), + body: Column( + children: [ + UsersSearchBar( + searchController: _searchController, + callback: (text) { + if (text.length >= 3) { + _search = true; + _viewModel.searchNextUsers = false; + _searchDebouncer.call(() => _viewModel.searchUsers(text)); + } + if (text.isEmpty) { + _search = false; + _viewModel.loadNextUsers = false; + _viewModel.loadUsers(); + } + }, + ), + Selector( + selector: (_, viewModel) => viewModel.usersLoading, + builder: (_, isLoading, __) { + return isLoading + ? const Center( + child: CircularProgressIndicator(), + ) + : const SizedBox.shrink(); + }, + ), + Expanded( + child: Selector>( + selector: (_, viewModel) => viewModel.loadedUsersSet.toList(), + builder: (_, qbUsers, __) { + return qbUsers.isEmpty + ? const SizedBox.shrink() + : RefreshIndicator( + onRefresh: _refresh, + child: ListView.builder( + addAutomaticKeepAlives: true, + controller: _scrollController, + itemCount: qbUsers.length, + itemBuilder: (_, index) { + if (index == qbUsers.length - 1) { + return Column( + children: [ + UsersListItem( + qbUsers[index], _viewModel.handleChangedSelectedUsers), + const UsersListLoadingItem(), + ], + ); + } + return UsersListItem( + qbUsers[index], _viewModel.handleChangedSelectedUsers); + }, + )); + }, + ), + ), + Selector( + selector: (_, viewModel) => viewModel.errorMessage, + builder: (_, errorMessage, __) { + if (errorMessage?.isNotEmpty ?? false) { + _showErrorSnackbar(errorMessage!, context); + } + return const SizedBox.shrink(); + }), + Selector( + selector: (_, viewModel) => viewModel.receivedCall, + builder: (_, isGettingCall, __) { + if (isGettingCall) { + if (!_viewModel.isVideoCall) { + _viewModel.checkAudioPermissions().then( + (value) => {if (value) _loadOpponentsAndShowIncomingAudioCallScreen()}); + } else { + _viewModel + .checkVideoPermissions() + .then((value) => _loadOpponentsAndShowIncomingVideoCallScreen()); + } + } + return const SizedBox.shrink(); + }), + ], + )), + ); + } + + void _showLogoutDialog() { + return YesNoDialog( + onPressedPrimary: () async { + Navigator.pop(context); + await _viewModel.logout(); + }, + onPressedSecondary: () => Navigator.pop(context), + primaryButtonText: 'Logout', + secondaryButtonText: 'Cancel') + .show(context, title: 'Press Logout to continue', dismissTouchOutside: true); + } + + void _showErrorSnackbar(String errorMessage, BuildContext context) { + return NotificationUtils.showSnackBarError(context, errorMessage); + } + + void _showLoginScreen() { + NotificationUtils.hideSnackBar(context); + WidgetsBinding.instance.addPostFrameCallback((_) { + LoginScreen.showAndClearStack(context); + }); + } + + void _showAudioCallScreen(List users) { + NotificationUtils.hideSnackBar(context); + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => AudioCallScreen( + isIncoming: false, + opponents: users, + ))).then((result) { + _viewModel.receivedCall = false; + }); + }); + } + + void _showVideoCallScreen(List users) { + NotificationUtils.hideSnackBar(context); + WidgetsBinding.instance.addPostFrameCallback((_) { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => VideoCallScreen( + isIncoming: false, callUsers: users))).then((result) { + _viewModel.receivedCall = false; + }); + }); + } + + void _loadOpponentsAndShowIncomingAudioCallScreen() async { + NotificationUtils.hideSnackBar(context); + List? opponents = await _viewModel.loadOpponents(); + if (opponents == null) { + return; + } + IncomingAudioCallScreen.show(context, opponents: opponents).then((result) { + _viewModel.setDefaultStateForGettingCall(); + }); + } + + void _loadOpponentsAndShowIncomingVideoCallScreen() async { + NotificationUtils.hideSnackBar(context); + List? users = await _viewModel.loadCallUsers(); + if (users == null) { + return; + } + await _viewModel.addVideoCallEntities(users); + IncomingVideoCallScreen.show(context, users).then((result) { + _viewModel.setDefaultStateForGettingCall(); + }); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/users_screen_view_model.dart b/videocall_webrtc_sample/lib/presentation/screens/users/users_screen_view_model.dart new file mode 100644 index 0000000..c3004b2 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/users_screen_view_model.dart @@ -0,0 +1,427 @@ +import 'dart:collection'; +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:quickblox_sdk/models/qb_filter.dart'; +import 'package:quickblox_sdk/models/qb_sort.dart'; +import 'package:quickblox_sdk/models/qb_user.dart'; +import 'package:quickblox_sdk/users/constants.dart'; +import 'package:quickblox_sdk/webrtc/constants.dart'; +import 'package:videocall_webrtc_sample/dependency/dependency_impl.dart'; +import 'package:videocall_webrtc_sample/managers/auth_manager.dart'; +import 'package:videocall_webrtc_sample/managers/call_manager.dart'; +import 'package:videocall_webrtc_sample/managers/chat_manager.dart'; +import 'package:videocall_webrtc_sample/managers/storage_manager.dart'; +import 'package:videocall_webrtc_sample/managers/users_manager.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/error_parser.dart'; + +import '../../../entities/user_entity.dart'; +import '../../../managers/callback/call_subscription.dart'; +import '../../../managers/callback/call_subscription_impl.dart'; +import '../../../managers/permission_manager.dart'; +import '../../base_view_model.dart'; + +class UsersScreenViewModel extends BaseViewModel { + static const int PAGE_SIZE = 100; + + final AuthManager _authManager = DependencyImpl.getInstance().getAuthManager(); + final ChatManager _chatManager = DependencyImpl.getInstance().getChatManager(); + final StorageManager _storageManager = DependencyImpl.getInstance().getStorageManager(); + final UsersManager _usersManager = DependencyImpl.getInstance().getUsersManager(); + final CallManager _callManager = DependencyImpl.getInstance().getCallManager(); + final PermissionManager _permissionManager = DependencyImpl.getInstance().getPermissionManager(); + + final LinkedHashSet loadedUsersSet = LinkedHashSet(); + final HashSet selectedUsersSet = HashSet(); + + bool isLoggedIn = true; + bool isLoggingOut = false; + int _currentPage = 1; + int _currentSearchPage = 1; + bool usersLoading = false; + + bool loadNextUsers = false; + bool searchNextUsers = false; + + bool isVideoCall = false; + + bool receivedCall = false; + CallSubscription? _callSubscription; + + List getSelectedQbUsers() { + List unwrapped = []; + for (var element in selectedUsersSet) { + unwrapped.add(element.user); + } + return unwrapped; + } + + Future init() async { + selectedUsersSet.clear(); + loadedUsersSet.clear(); + + if (Platform.isAndroid) { + _checkNotificationPermission(); + } + + bool isConnectedToChat = await _chatManager.isConnected() ?? false; + bool isNotConnectedToChat = !isConnectedToChat; + + if (isNotConnectedToChat) { + await connectToChat(); + } + + await _initWebRTC(); + + _callSubscription = _createCallSubscription(); + await _subscribeCall(); + + await loadUsers(); + } + + Future _checkNotificationPermission() async { + bool isNotGranted = !await _permissionManager.checkNotificationPermission(); + if (isNotGranted) { + _showError( + "The requested permissions are required for the application to function correctly."); + } + } + + Future connectToChat() async { + try { + final userId = await _storageManager.getLoggedUserId(); + final userPassword = await _storageManager.getUserPassword(); + await _chatManager.connect(userId, userPassword); + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + @override + void dispose() { + _unsubscribeCall(); + super.dispose(); + } + + Future startAudioCall() async { + try { + await _callManager.startAudioCall(getSelectedQbUsers()); + receivedCall = false; + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + Future addVideoCallEntities(List users) async { + _callManager.addVideoCallEntities(users); + } + + Future> addCurrentUserToList(List users) async { + QBUser currentUser = QBUser(); + int userId = await _storageManager.getLoggedUserId(); + String userName = await _storageManager.getNameLogin(); + currentUser.fullName = userName; + currentUser.id = userId; + users.insert(0, currentUser); + return users; + } + + Future checkAudioPermissions() async { + if (Platform.isIOS) { + return true; + } + + bool isGranted = await _permissionManager.checkPermissionsForAudioCall(); + if (isGranted) { + return isGranted; + } + _showError("The requested permissions are required for the application to function correctly."); + return isGranted; + } + + Future checkVideoPermissions() async { + if (Platform.isIOS) { + return true; + } + + bool isGranted = await _permissionManager.checkPermissionsForVideoCall(); + if (isGranted) { + return isGranted; + } + _showError("The requested permissions are required for the application to function correctly."); + return isGranted; + } + + void clearSelectedUsers() { + var copyOfSelectedUsersSet = Set.from(selectedUsersSet); + + for (var element in copyOfSelectedUsersSet) { + _unselectUser(element); + } + } + + Future _initWebRTC() async { + try { + hideError(); + await _callManager.initAndSubscribeEvents(); + } on PlatformException catch (e) { + showError(ErrorParser.parseFrom(e)); + } + } + + Future _subscribeCall() async { + try { + await _callManager.subscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future _unsubscribeCall() async { + try { + await _callManager.unsubscribeCall(_callSubscription); + } on PlatformException catch (e) { + _showError(ErrorParser.parseFrom(e)); + } + } + + Future setDefaultStateForGettingCall() async { + receivedCall = false; + notifyListeners(); + } + + Future?> loadOpponents() async { + List? opponentsIds = await _callManager.getOpponentIdsFromCall(); + + try { + int currentUserId = await _storageManager.getLoggedUserId(); + opponentsIds?.remove(currentUserId); + List users = await _usersManager.getUsersByIds(opponentsIds); + return users; + } on PlatformException catch (e) { + hideUsersLoading(); + _showError(ErrorParser.parseFrom(e)); + } + return null; + } + + Future?> loadCallUsers() async { + List? opponentsIds = await _callManager.getOpponentIdsFromCall(); + + try { + int currentUserId = await _storageManager.getLoggedUserId(); + + List users = await _usersManager.getUsersByIds(opponentsIds); + QBUser? currentUser = users.firstWhere((element) => element?.id == currentUserId); + users.remove(currentUser); + users.insert(0, currentUser); + return users; + } on PlatformException catch (e) { + hideUsersLoading(); + _showError(ErrorParser.parseFrom(e)); + } + return null; + } + + Future loadUsers() async { + hideError(); + if (!loadNextUsers) { + _currentPage = 1; + } + showUsersLoading(); + notifyListeners(); + + QBSort sort = QBSort(); + sort.field = QBUsersSortFields.UPDATED_AT; + sort.type = QBUsersSortTypes.STRING; + sort.ascending = false; + + try { + List users = await _usersManager.getUsers(_currentPage, PAGE_SIZE, sort: sort); + + _usersEntitiesFrom(users); + + hideUsersLoading(); + _currentPage++; + notifyListeners(); + } on PlatformException catch (e) { + hideUsersLoading(); + _showError(ErrorParser.parseFrom(e)); + } + } + + void showUsersLoading() { + if (_currentPage == 1) { + loadedUsersSet.clear(); + usersLoading = true; + } else { + loadNextUsers = true; + } + } + + void hideUsersLoading() { + if (_currentPage == 1) { + usersLoading = false; + } else { + loadNextUsers = false; + } + } + + void _usersEntitiesFrom(List users) async { + int currentUserId = await _storageManager.getLoggedUserId(); + for (final user in users) { + if (user?.id != currentUserId) { + loadedUsersSet.add(UserEntity(false, user)); + } + } + + for (final selectedUser in selectedUsersSet) { + if (loadedUsersSet.contains(selectedUser) && selectedUser.userId != null) { + _getLoadedUser(selectedUser.userId!)?.selected = true; + } + } + } + + void searchUsers(String text) async { + hideError(); + if (!searchNextUsers) { + _currentSearchPage = 1; + } + + showUsersSearching(); + notifyListeners(); + + QBFilter filter = QBFilter(); + filter.field = QBUsersFilterFields.FULL_NAME; + filter.operator = QBUsersFilterOperators.IN; + filter.type = QBUsersFilterTypes.STRING; + filter.value = text; + + try { + List users = + await _usersManager.getUsers(_currentSearchPage, PAGE_SIZE, filter: filter); + _usersEntitiesFrom(users); + + hideUsersSearching(); + _currentSearchPage++; + notifyListeners(); + } on PlatformException catch (e) { + hideUsersSearching(); + showError(ErrorParser.parseFrom(e)); + } + } + + void showUsersSearching() { + if (_currentSearchPage == 1) { + loadedUsersSet.clear(); + usersLoading = true; + } else { + loadNextUsers = true; + } + } + + void hideUsersSearching() { + if (_currentSearchPage == 1) { + usersLoading = false; + } else { + loadNextUsers = false; + } + } + + void handleChangedSelectedUsers(bool remove, UserEntity userWrapper) { + hideError(); + + if (selectedUsersSet.length == 3 && !remove) { + WidgetsBinding.instance.addPostFrameCallback( + (timeStamp) => showError("Cannot select more than 3 users"), + ); + return; + } + + if (remove) { + _unselectUser(userWrapper); + } else { + _selectUser(userWrapper); + } + _prepareSelectedUsersIds(); + } + + void _prepareSelectedUsersIds() { + List selectedUsersIds = []; + for (var element in selectedUsersSet) { + if (element.userId != null) { + selectedUsersIds.add(element.userId!); + } + } + notifyListeners(); + } + + void _unselectUser(UserEntity userWrapper) { + if (selectedUsersSet.contains(userWrapper)) { + selectedUsersSet.remove(userWrapper); + } + if (loadedUsersSet.contains(userWrapper) && userWrapper.userId != null) { + UserEntity? loadedUser = _getLoadedUser(userWrapper.userId!); + loadedUser?.selected = false; + } + } + + void _selectUser(UserEntity userWrapper) { + if (!selectedUsersSet.contains(userWrapper)) { + selectedUsersSet.add(userWrapper); + } + if (loadedUsersSet.contains(userWrapper) && userWrapper.userId != null) { + UserEntity? loadedUser = _getLoadedUser(userWrapper.userId!); + loadedUser?.selected = true; + } + } + + UserEntity? _getLoadedUser(int id) { + for (final userWrapper in loadedUsersSet) { + if (userWrapper.userId == id) { + return userWrapper; + } + } + return null; + } + + Future logout() async { + try { + hideError(); + isLoggingOut = true; + notifyListeners(); + await _authManager.logout(); + await _storageManager.cleanCredentials(); + isLoggedIn = false; + isLoggingOut = false; + notifyListeners(); + } on PlatformException catch (e) { + isLoggingOut = false; + _showError(ErrorParser.parseFrom(e)); + } + } + + void _showError(String errorMessage) { + WidgetsBinding.instance.addPostFrameCallback((_) { + showError(errorMessage); + }); + } + + CallSubscription _createCallSubscription() { + return CallSubscriptionImpl( + tag: "UsersScreenViewModel", + onIncomingCall: (session) { + if (session?.type == QBRTCSessionTypes.VIDEO) { + isVideoCall = true; + } else { + isVideoCall = false; + } + receivedCall = true; + notifyListeners(); + }, + onError: (errorMessage) { + _showError(errorMessage); + }); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_app_bar.dart b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_app_bar.dart new file mode 100644 index 0000000..806bc0e --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_app_bar.dart @@ -0,0 +1,106 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:provider/provider.dart'; +import 'package:videocall_webrtc_sample/entities/user_entity.dart'; +import 'package:videocall_webrtc_sample/presentation/dialogs/yes_no_dialog.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/callback/app_bar_callback.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/users_screen_view_model.dart'; + +class UsersAppBar extends StatelessWidget implements PreferredSizeWidget { + final AppBarCallback callback; + + const UsersAppBar({super.key, required this.callback}); + + @override + Widget build(BuildContext context) { + return AppBar( + centerTitle: true, + leadingWidth: 120, + title: Column( + children: [ + const Text('Users', style: TextStyle(color: Colors.white)), + _buildAppBarSubtitle() + ], + ), + backgroundColor: const Color(0xff3978fc), + actions: [_buildCallButton(context)], + leading: Row(children: [ + Selector( + selector: (_, viewModel) => viewModel.isLoggedIn, + builder: (_, isLoggedIn, __) { + if (!isLoggedIn) { + callback.onLogIn(); + } + return IconButton( + icon: SvgPicture.asset('assets/icons/exit.svg', height: 35, width: 35), + onPressed: () { + callback.onLogOut(); + }); + }), + Selector( + selector: (_, viewModel) => viewModel.isLoggingOut, + builder: (_, isLoggingOut, __) { + if (isLoggingOut) { + return _buildThinProgressIndicator(); + } + return const SizedBox.shrink(); + }) + ])); + } + + Widget _buildAppBarSubtitle() { + return Selector>( + selector: (_, viewModel) => viewModel.selectedUsersSet.toList(), + builder: (_, selectedUsers, __) { + int usersCount = selectedUsers.length; + String subtitle = "$usersCount user${usersCount == 1 ? "" : "s"} selected"; + return Text(subtitle, + style: const TextStyle( + fontSize: 13, color: Colors.white60, fontWeight: FontWeight.normal)); + }, + ); + } + + Widget _buildCallButton(BuildContext context) { + return TextButton( + onPressed: () => YesNoDialog( + onPressedPrimary: () { + Navigator.pop(context); + callback.onVideoCall(); + }, + onPressedSecondary: () { + Navigator.pop(context); + callback.onAudioCall(); + }, + primaryButtonText: 'Video Call', + secondaryButtonText: 'Audio Call') + .show(context, title: 'Choose the type of call', dismissTouchOutside: true), + child: const Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Icon( + Icons.call, + color: Colors.white, + ), + SizedBox(width: 5), + Text( + 'Call', + style: TextStyle(color: Colors.white, fontSize: 18.0), + ), + SizedBox(width: 10), + ], + ), + ); + } + + Widget _buildThinProgressIndicator() { + return const SizedBox( + height: 25, + width: 25, + child: CircularProgressIndicator(color: Colors.white, strokeWidth: 3), + ); + } + + @override + Size get preferredSize => throw UnimplementedError(); +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_item.dart b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_item.dart new file mode 100644 index 0000000..3730edb --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_item.dart @@ -0,0 +1,98 @@ +import 'package:flutter/material.dart'; +import 'package:videocall_webrtc_sample/entities/user_entity.dart'; +import 'package:videocall_webrtc_sample/presentation/utils/colors_util.dart'; + +class UsersListItem extends StatefulWidget { + final UserEntity userEntity; + final void Function(bool remove, UserEntity userWrapper) + handleChangeSelectedUsers; + + const UsersListItem(this.userEntity, this.handleChangeSelectedUsers, + {super.key, required}); + + @override + UsersListItemState createState() => UsersListItemState(); +} + +class UsersListItemState extends State { + bool _isSelected = false; + + @override + Widget build(BuildContext context) { + _isSelected = widget.userEntity.selected; + + return Container( + color: _isSelected ? const Color(0xFFD9E3F7) : Colors.white, + height: 60, + child: Row( + children: [ + Padding( + padding: const EdgeInsets.only(top: 0, left: 17), + child: _generateAvatarFromName(widget.userEntity.name)), + const Padding(padding: EdgeInsets.only(left: 9)), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(_formatString(widget.userEntity.name), + style: const TextStyle(fontSize: 17), + overflow: TextOverflow.ellipsis), + ], + )), + SizedBox(width: 95, child: buildCheckboxItem()), + ], + )); + } + + Widget buildCheckboxItem() { + return Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Padding( + padding: const EdgeInsets.only(top: 6), + child: Checkbox( + value: _isSelected, + fillColor: MaterialStateColor.resolveWith((states) => + states.contains(MaterialState.selected) + ? Colors.blue + : Colors.white), + checkColor: Colors.white, + activeColor: Colors.white, + onChanged: (changed) { + setState(() { + _isSelected = changed ?? false; + widget.handleChangeSelectedUsers( + !_isSelected, widget.userEntity); + }); + })) + ], + ); + } + + String _formatString(String? sourceString) { + String formattedString = ""; + if (sourceString != null && sourceString.isNotEmpty) { + formattedString = sourceString.replaceAll("\n", " "); + } + return formattedString; + } + + Widget _generateAvatarFromName(String? name) { + name ??= "noname"; + return Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Color(ColorUtil.getColor(name)), + borderRadius: const BorderRadius.all(Radius.circular(20))), + child: Center( + child: Text( + name.substring(0, 1).toUpperCase(), + style: + const TextStyle(color: Colors.white, fontWeight: FontWeight.bold), + ), + ), + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_loading_item.dart b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_loading_item.dart new file mode 100644 index 0000000..a2d6212 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_list_loading_item.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:videocall_webrtc_sample/presentation/screens/users/users_screen_view_model.dart'; + +class UsersListLoadingItem extends StatelessWidget { + const UsersListLoadingItem({super.key}); + + @override + Widget build(BuildContext context) { + return Selector( + selector: (_, viewModel) => viewModel.loadNextUsers, + builder: (_, loadNextUsers, __) { + if (loadNextUsers) { + return const Center( + child: Padding( + padding: EdgeInsets.only(bottom: 20), + child: CircularProgressIndicator())); + } + return const SizedBox.shrink(); + }, + ); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_search_bar.dart b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_search_bar.dart new file mode 100644 index 0000000..96534c7 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/users/widgets/users_search_bar.dart @@ -0,0 +1,38 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; + +class UsersSearchBar extends StatelessWidget { + final TextEditingController searchController; + final void Function(String) callback; + + const UsersSearchBar({super.key, required this.searchController, required this.callback}); + + @override + Widget build(BuildContext context) { + return Row(crossAxisAlignment: CrossAxisAlignment.center, children: [ + Container( + padding: const EdgeInsets.only(left: 12, right: 10), + child: + SizedBox(height: 28, width: 28, child: SvgPicture.asset('assets/icons/search.svg'))), + Expanded( + child: TextFormField( + controller: searchController, + keyboardType: TextInputType.text, + maxLines: 1, + minLines: 1, + maxLength: 25, + onChanged: (text) { + callback(text); + }, + decoration: const InputDecoration( + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + hintText: "Search", + hintStyle: TextStyle(fontSize: 15, color: Color(0xFF6C7A92)), + counterText: ""), + )) + ]); + } +} diff --git a/videocall_webrtc_sample/lib/presentation/screens/widgets/decorated_app_bar.dart b/videocall_webrtc_sample/lib/presentation/screens/widgets/decorated_app_bar.dart new file mode 100644 index 0000000..721bef4 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/screens/widgets/decorated_app_bar.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; + +class DecoratedAppBar extends StatelessWidget implements PreferredSizeWidget { + final double _shadowHeight = 0; + + const DecoratedAppBar({super.key, required this.appBar}); + + final PreferredSizeWidget appBar; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Container( + decoration: const BoxDecoration( + boxShadow: [ + BoxShadow( + color: Color.fromARGB(186, 49, 122, 255), + offset: Offset(0, 3), + blurRadius: 9.0, + ) + ], + ), + child: appBar, + ), + ], + ); + } + + @override + Size get preferredSize => Size.fromHeight(kToolbarHeight + _shadowHeight); +} diff --git a/videocall_webrtc_sample/lib/presentation/utils/colors_util.dart b/videocall_webrtc_sample/lib/presentation/utils/colors_util.dart new file mode 100644 index 0000000..08d5f04 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/utils/colors_util.dart @@ -0,0 +1,20 @@ +class ColorUtil { + static int getColor(String? text) { + List colors = [ + 0xFF53C6A2, + 0xFFFDD762, + 0xFF9261D3, + 0xFF43DCE7, + 0xFFFFCC5A, + 0xFFEA4398, + 0xFF4A5DE1, + 0xFFE95555, + 0xFF7EDA54, + 0xFFF9B647 + ]; + + text ??= "Noname"; + + return colors[(text.split('').reversed.join() + text).hashCode % 10]; + } +} diff --git a/videocall_webrtc_sample/lib/presentation/utils/debouncer.dart b/videocall_webrtc_sample/lib/presentation/utils/debouncer.dart new file mode 100644 index 0000000..b0173a6 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/utils/debouncer.dart @@ -0,0 +1,19 @@ +import 'dart:async'; + +import 'package:flutter/services.dart'; + +class Debouncer { + Debouncer({this.delay = const Duration(milliseconds: 300)}); + final Duration delay; + Timer? _timer; + + void call(VoidCallback callback) { + _timer?.cancel(); + _timer = Timer(delay, callback); + } + + void dispose() { + _timer?.cancel(); + _timer = null; + } +} diff --git a/videocall_webrtc_sample/lib/presentation/utils/error_parser.dart b/videocall_webrtc_sample/lib/presentation/utils/error_parser.dart new file mode 100644 index 0000000..1b52635 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/utils/error_parser.dart @@ -0,0 +1,12 @@ +import 'package:flutter/services.dart'; + +class ErrorParser { + static String parseFrom(PlatformException? e) { + String message = e?.message ?? ""; + String code = e?.code ?? ""; + if (e?.message == null) { + return code; + } + return "$code : $message"; + } +} diff --git a/videocall_webrtc_sample/lib/presentation/utils/notification_utils.dart b/videocall_webrtc_sample/lib/presentation/utils/notification_utils.dart new file mode 100644 index 0000000..d6644e6 --- /dev/null +++ b/videocall_webrtc_sample/lib/presentation/utils/notification_utils.dart @@ -0,0 +1,100 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; + +class NotificationUtils { + NotificationUtils._(); + + static void showSnackBarError( + BuildContext context, + String errorMessage, { + VoidCallback? errorCallback, + }) { + WidgetsBinding.instance.addPostFrameCallback((_) { + hideSnackBar(context); + ScaffoldMessenger.of(context).showSnackBar(SnackBar( + content: Text( + errorMessage, + style: const TextStyle(color: Colors.white), + ), + backgroundColor: Colors.black87, + duration: const Duration(days: 365), + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.all( + Radius.circular(5), + ), + ), + behavior: SnackBarBehavior.floating, + margin: const EdgeInsets.all(8.0), + padding: const EdgeInsets.fromLTRB(6.0, 0.5, 0.5, 0.5), + action: SnackBarAction( + label: errorCallback == null ? 'Hide' : 'Retry', + textColor: Colors.blueAccent, + onPressed: () { + if (errorCallback != null) { + errorCallback.call(); + } + hideSnackBar(context); + }, + ), + )); + }); + } + + static void showConnectivityIndicator( + BuildContext context, + bool isConnected, + bool isWiFi, + ) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + ScaffoldMessenger.of(context).hideCurrentMaterialBanner(); + String label = isConnected ? "Connected" : "Disconnected"; + Color background = isConnected ? Colors.green : Colors.redAccent; + Icon icon = isConnected + ? isWiFi + ? const Icon(Icons.wifi, color: Colors.white) + : const Icon(Icons.signal_cellular_alt, color: Colors.white) + : const Icon(Icons.wifi_off, color: Colors.white); + Duration delay = isConnected ? const Duration(seconds: 2) : const Duration(days: 365); + + ScaffoldMessenger.of(context).showMaterialBanner(MaterialBanner( + padding: const EdgeInsets.only(left: 5.0, right: 5.0), + backgroundColor: background, + leading: icon, + leadingPadding: const EdgeInsets.only(left: 15.0), + content: Padding( + padding: const EdgeInsets.only(left: 20.0, right: 20.0), + child: Text( + label, + style: const TextStyle(color: Colors.white), + ), + ), + actions: [ + TextButton( + child: const Text("DISMISS", style: TextStyle(color: Colors.white)), + onPressed: () { + ScaffoldMessenger.of(context).hideCurrentMaterialBanner(); + }, + ), + ], + )); + + Timer(delay, () { + ScaffoldMessenger.of(context).hideCurrentMaterialBanner(); + }); + }); + } + + static void hideSnackBar(BuildContext context) { + ScaffoldMessenger.of(context).hideCurrentSnackBar( + reason: SnackBarClosedReason.dismiss, + ); + } + + static void showResult(BuildContext context, String text) { + WidgetsBinding.instance.addPostFrameCallback((_) { + ScaffoldMessenger.maybeOf(context) + ?.showSnackBar(SnackBar(duration: const Duration(seconds: 1), content: Text(text))); + }); + } +} diff --git a/videocall_webrtc_sample/pubspec.lock b/videocall_webrtc_sample/pubspec.lock new file mode 100644 index 0000000..d4e66ff --- /dev/null +++ b/videocall_webrtc_sample/pubspec.lock @@ -0,0 +1,674 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + archive: + dependency: transitive + description: + name: archive + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + url: "https://pub.dev" + source: hosted + version: "3.4.10" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + audioplayers: + dependency: "direct main" + description: + name: audioplayers + sha256: c05c6147124cd63e725e861335a8b4d57300b80e6e92cea7c145c739223bbaef + url: "https://pub.dev" + source: hosted + version: "5.2.1" + audioplayers_android: + dependency: transitive + description: + name: audioplayers_android + sha256: b00e1a0e11365d88576320ec2d8c192bc21f1afb6c0e5995d1c57ae63156acb5 + url: "https://pub.dev" + source: hosted + version: "4.0.3" + audioplayers_darwin: + dependency: transitive + description: + name: audioplayers_darwin + sha256: "3034e99a6df8d101da0f5082dcca0a2a99db62ab1d4ddb3277bed3f6f81afe08" + url: "https://pub.dev" + source: hosted + version: "5.0.2" + audioplayers_linux: + dependency: transitive + description: + name: audioplayers_linux + sha256: "60787e73fefc4d2e0b9c02c69885402177e818e4e27ef087074cf27c02246c9e" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + audioplayers_platform_interface: + dependency: transitive + description: + name: audioplayers_platform_interface + sha256: "365c547f1bb9e77d94dd1687903a668d8f7ac3409e48e6e6a3668a1ac2982adb" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + audioplayers_web: + dependency: transitive + description: + name: audioplayers_web + sha256: "22cd0173e54d92bd9b2c80b1204eb1eb159ece87475ab58c9788a70ec43c2a62" + url: "https://pub.dev" + source: hosted + version: "4.1.0" + audioplayers_windows: + dependency: transitive + description: + name: audioplayers_windows + sha256: "9536812c9103563644ada2ef45ae523806b0745f7a78e89d1b5fb1951de90e1a" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + url: "https://pub.dev" + source: hosted + version: "0.4.1" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + url: "https://pub.dev" + source: hosted + version: "1.0.6" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_launcher_icons: + dependency: "direct dev" + description: + name: flutter_launcher_icons + sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + url: "https://pub.dev" + source: hosted + version: "0.13.1" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + url: "https://pub.dev" + source: hosted + version: "3.0.1" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" + url: "https://pub.dev" + source: hosted + version: "2.0.10+1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + hive: + dependency: "direct main" + description: + name: hive + sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" + url: "https://pub.dev" + source: hosted + version: "2.2.3" + hive_flutter: + dependency: "direct main" + description: + name: hive_flutter + sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc + url: "https://pub.dev" + source: hosted + version: "1.1.0" + http: + dependency: transitive + description: + name: http + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" + source: hosted + version: "4.0.2" + image: + dependency: transitive + description: + name: image + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + url: "https://pub.dev" + source: hosted + version: "4.1.7" + js: + dependency: transitive + description: + name: js + sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + url: "https://pub.dev" + source: hosted + version: "0.6.7" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + url: "https://pub.dev" + source: hosted + version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" + source: hosted + version: "0.8.0" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + path: + dependency: transitive + description: + name: path + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + url: "https://pub.dev" + source: hosted + version: "1.0.1" + path_provider: + dependency: transitive + description: + name: path_provider + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" + source: hosted + version: "2.2.1" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" + source: hosted + version: "2.2.1" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5 + url: "https://pub.dev" + source: hosted + version: "10.4.5" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47" + url: "https://pub.dev" + source: hosted + version: "10.3.6" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" + url: "https://pub.dev" + source: hosted + version: "9.1.4" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" + url: "https://pub.dev" + source: hosted + version: "3.12.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 + url: "https://pub.dev" + source: hosted + version: "0.1.3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + platform: + dependency: transitive + description: + name: platform + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + url: "https://pub.dev" + source: hosted + version: "3.1.4" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + url: "https://pub.dev" + source: hosted + version: "3.7.4" + provider: + dependency: "direct main" + description: + name: provider + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + url: "https://pub.dev" + source: hosted + version: "6.1.2" + quickblox_sdk: + dependency: "direct main" + description: + name: quickblox_sdk + sha256: "60fb0f66d33b43946edf490e23dbdf4490c1580346548e6f048a26cb79f30fec" + url: "https://pub.dev" + source: hosted + version: "0.14.2" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + synchronized: + dependency: transitive + description: + name: synchronized + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + url: "https://pub.dev" + source: hosted + version: "3.1.0+1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + tuple: + dependency: "direct main" + description: + name: tuple + sha256: a97ce2013f240b2f3807bcbaf218765b6f301c3eff91092bcfa23a039e7dd151 + url: "https://pub.dev" + source: hosted + version: "2.0.2" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + uuid: + dependency: transitive + description: + name: uuid + sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + url: "https://pub.dev" + source: hosted + version: "4.3.3" + vector_graphics: + dependency: transitive + description: + name: vector_graphics + sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" + url: "https://pub.dev" + source: hosted + version: "1.1.11+1" + vector_graphics_codec: + dependency: transitive + description: + name: vector_graphics_codec + sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da + url: "https://pub.dev" + source: hosted + version: "1.1.11+1" + vector_graphics_compiler: + dependency: transitive + description: + name: vector_graphics_compiler + sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" + url: "https://pub.dev" + source: hosted + version: "1.1.11+1" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + win32: + dependency: transitive + description: + name: win32 + sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" + url: "https://pub.dev" + source: hosted + version: "5.3.0" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + url: "https://pub.dev" + source: hosted + version: "1.0.4" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.10.0" diff --git a/videocall_webrtc_sample/pubspec.yaml b/videocall_webrtc_sample/pubspec.yaml new file mode 100644 index 0000000..7f9a6de --- /dev/null +++ b/videocall_webrtc_sample/pubspec.yaml @@ -0,0 +1,95 @@ +name: videocall_webrtc_sample +description: A new Flutter project. +# The following line prevents the package from being accidentally published to +# pub.dev using `flutter pub publish`. This is preferred for private packages. +publish_to: 'none' # Remove this line if you wish to publish to pub.dev + +# The following defines the version and build number for your application. +# A version number is three numbers separated by dots, like 1.2.43 +# followed by an optional build number separated by a +. +# Both the version and the builder number may be overridden in flutter +# build by specifying --build-name and --build-number, respectively. +# In Android, build-name is used as versionName while build-number used as versionCode. +# Read more about Android versioning at https://developer.android.com/studio/publish/versioning +# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. +# Read more about iOS versioning at +# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html +# In Windows, build-name is used as the major, minor, and patch parts +# of the product and file versions while build-number is used as the build suffix. +version: 1.0.0+0 + +environment: + sdk: '>=2.19.2 <3.0.0' + +# Dependencies specify other packages that your package needs in order to work. +# To automatically upgrade your package dependencies to the latest versions +# consider running `flutter pub upgrade --major-versions`. Alternatively, +# dependencies can be manually updated by changing the version numbers below to +# the latest version available on pub.dev. To see which dependencies have newer +# versions available, run `flutter pub outdated`. +dependencies: + flutter: + sdk: flutter + cupertino_icons: ^1.0.2 + quickblox_sdk: ^0.14.1 + provider: ^6.0.5 + flutter_svg: ^2.0.5 + hive_flutter: ^1.1.0 + hive: ^2.2.3 + tuple: ^2.0.2 + permission_handler: ^10.2.0 + audioplayers: ^5.2.1 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^3.0.1 + flutter_launcher_icons: ^0.13.1 + +flutter_icons: + android: true + ios: true + image_path: "assets/icons/launcher-logo.png" + +# For information on the generic Dart part of this file, see the +# following page: https://dart.dev/tools/pub/pubspec + +# The following section is specific to Flutter packages. +flutter: + + # The following line ensures that the Material Icons font is + # included with your application, so that you can use the icons in + # the material Icons class. + uses-material-design: true + + # To add assets to your application, add an assets section, like this: + assets: + - assets/icons/ + - assets/audio/ + # - images/a_dot_ham.jpeg + + # An image asset can refer to one or more resolution-specific "variants", see + # https://flutter.dev/assets-and-images/#resolution-aware + + # For details regarding adding assets from package dependencies, see + # https://flutter.dev/assets-and-images/#from-packages + + # To add custom fonts to your application, add a fonts section here, + # in this "flutter" section. Each entry in this list should have a + # "family" key with the font family name, and a "fonts" key with a + # list giving the asset and other descriptors for the font. For + # example: + # fonts: + # - family: Schyler + # fonts: + # - asset: fonts/Schyler-Regular.ttf + # - asset: fonts/Schyler-Italic.ttf + # style: italic + # - family: Trajan Pro + # fonts: + # - asset: fonts/TrajanPro.ttf + # - asset: fonts/TrajanPro_Bold.ttf + # weight: 700 + # + # For details regarding fonts from package dependencies, + # see https://flutter.dev/custom-fonts/#from-packages diff --git a/videocall_webrtc_sample/test/widget_test.dart b/videocall_webrtc_sample/test/widget_test.dart new file mode 100644 index 0000000..7cf8fe8 --- /dev/null +++ b/videocall_webrtc_sample/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:videocall_webrtc_sample/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} From 39791817d2ddd780cb3999592fe11038b2f037b2 Mon Sep 17 00:00:00 2001 From: vdovbnya-qb <81157864+vdovbnya-qb@users.noreply.github.com> Date: Mon, 22 Apr 2024 19:29:03 +0300 Subject: [PATCH 2/2] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8d53903..a8ea90f 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,4 @@ * New Quickblox Samples: * [Sample Chat Flutter](https://github.com/QuickBlox/quickblox-flutter-samples/tree/master/chat_sample) * [Simple-sample](https://github.com/QuickBlox/quickblox-flutter-samples/tree/master/simple_sample) + * [Sample Video Call WebRTC](https://github.com/QuickBlox/quickblox-flutter-samples/tree/master/videocall_webrtc_sample)