From 2999de23d1a11a3ab0e747db44042dd37d13319a Mon Sep 17 00:00:00 2001 From: roxy Date: Fri, 22 May 2026 17:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dcp=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/modules/chat/message_chat_page.dart | 9 +- .../chat/system/message_system_page.dart | 9 +- lib/modules/gift/gift_page.dart | 128 +-- lib/modules/index/index_page.dart | 31 +- lib/modules/room/voice_room_page.dart | 40 +- .../user/profile/person_detail_page.dart | 5 +- lib/services/audio/rtc_manager.dart | 278 +++++- lib/services/audio/rtm_manager.dart | 302 +++++- .../res/sc_system_invit_message_res.dart | 142 ++- .../models/message/sc_floating_message.dart | 8 + .../local/floating_screen_manager.dart | 92 +- .../sc_config_repository_imp.dart | 38 +- .../sc_cp_relation_broadcast_assets.dart | 15 + .../tools/sc_cp_relation_notice_utils.dart | 37 +- .../tools/sc_cp_relation_pair_utils.dart | 130 +++ .../tools/sc_entry_popup_coordinator.dart | 77 +- .../first_recharge/first_recharge_dialog.dart | 82 +- .../floating_cp_relation_screen_widget.dart | 213 +++++ .../floating/floating_game_screen_widget.dart | 896 ++++++++++-------- .../room/rocket/room_rocket_note_dialog.dart | 100 +- .../room_rocket_pag_effect_overlay.dart | 438 +++++++-- .../widgets/room/room_game_bottom_sheet.dart | 35 +- lib/ui_kit/widgets/room/room_msg_item.dart | 30 +- .../widgets/room/room_user_info_card.dart | 23 +- .../room/seat/room_mic_relation_effect.dart | 228 +++++ .../widgets/room/seat/room_seat_widget.dart | 598 ++++++------ .../flutter_pag_plugin/FlutterPagPlugin.java | 33 + .../ios/Classes/FlutterPagPlugin.m | 78 +- .../ios/Classes/TGFlutterPagPlatformView.h | 5 + .../ios/Classes/TGFlutterPagPlatformView.mm | 234 +++++ .../ios/Classes/TGFlutterPagRender.h | 1 + .../ios/Classes/TGFlutterPagRender.mm | 42 + local_packages/pag-1.0.7-patched/lib/pag.dart | 122 ++- pubspec.yaml | 2 + sc_images/room/anim/game_win.svga | Bin 0 -> 451450 bytes sc_images/room/cp_broadcast/CP_broadcast.pag | Bin 0 -> 164501 bytes .../room/cp_broadcast/brother_broadcast.pag | Bin 0 -> 166508 bytes .../room/cp_broadcast/sisters_broadcast.pag | Bin 0 -> 174898 bytes sc_images/room/mic/CP_mic_1.pag | Bin 0 -> 15839 bytes sc_images/room/mic/CP_mic_2.svga | Bin 0 -> 11794 bytes sc_images/room/mic/CP_mic_3.svga | Bin 0 -> 114884 bytes sc_images/room/mic/CP_mic_4.pag | Bin 0 -> 78497 bytes sc_images/room/mic/CP_mic_5.pag | Bin 0 -> 119333 bytes sc_images/room/mic/brother_mic.pag | Bin 0 -> 80412 bytes sc_images/room/mic/sisters_mic.pag | Bin 0 -> 80121 bytes test/gift_res_cp_relation_type_test.dart | 30 + test/room_rocket_status_test.dart | 37 + test/sc_cp_relation_pair_utils_test.dart | 65 ++ 需求进度.md | 64 ++ 49 files changed, 3587 insertions(+), 1110 deletions(-) create mode 100644 lib/shared/tools/sc_cp_relation_broadcast_assets.dart create mode 100644 lib/shared/tools/sc_cp_relation_pair_utils.dart create mode 100644 lib/ui_kit/widgets/room/floating/floating_cp_relation_screen_widget.dart create mode 100644 lib/ui_kit/widgets/room/seat/room_mic_relation_effect.dart create mode 100644 local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.h create mode 100644 local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.mm create mode 100644 sc_images/room/anim/game_win.svga create mode 100644 sc_images/room/cp_broadcast/CP_broadcast.pag create mode 100644 sc_images/room/cp_broadcast/brother_broadcast.pag create mode 100644 sc_images/room/cp_broadcast/sisters_broadcast.pag create mode 100644 sc_images/room/mic/CP_mic_1.pag create mode 100644 sc_images/room/mic/CP_mic_2.svga create mode 100644 sc_images/room/mic/CP_mic_3.svga create mode 100644 sc_images/room/mic/CP_mic_4.pag create mode 100644 sc_images/room/mic/CP_mic_5.pag create mode 100644 sc_images/room/mic/brother_mic.pag create mode 100644 sc_images/room/mic/sisters_mic.pag create mode 100644 test/sc_cp_relation_pair_utils_test.dart diff --git a/lib/modules/chat/message_chat_page.dart b/lib/modules/chat/message_chat_page.dart index 9462608..811b734 100644 --- a/lib/modules/chat/message_chat_page.dart +++ b/lib/modules/chat/message_chat_page.dart @@ -1868,14 +1868,7 @@ class _MessageItem extends StatelessWidget { SCSystemInvitMessageRes? _cpInviteFromMessageData(dynamic data) { try { - final content = data is Map ? data["content"] : null; - if (content is String && content.trim().isNotEmpty) { - final decoded = jsonDecode(content); - return SCSystemInvitMessageRes.fromJson(decoded); - } - if (content is Map) { - return SCSystemInvitMessageRes.fromJson(content); - } + return SCSystemInvitMessageRes.fromMessageData(data); } catch (error) { _cpMessageLog('parse invite failed error=$error'); } diff --git a/lib/modules/chat/system/message_system_page.dart b/lib/modules/chat/system/message_system_page.dart index ead845d..84abd24 100644 --- a/lib/modules/chat/system/message_system_page.dart +++ b/lib/modules/chat/system/message_system_page.dart @@ -1843,14 +1843,7 @@ class _MessageItem extends StatelessWidget { SCSystemInvitMessageRes? _cpInviteFromMessageData(dynamic data) { try { - final content = data is Map ? data["content"] : null; - if (content is String && content.trim().isNotEmpty) { - final decoded = jsonDecode(content); - return SCSystemInvitMessageRes.fromJson(decoded); - } - if (content is Map) { - return SCSystemInvitMessageRes.fromJson(content); - } + return SCSystemInvitMessageRes.fromMessageData(data); } catch (_) {} return null; } diff --git a/lib/modules/gift/gift_page.dart b/lib/modules/gift/gift_page.dart index 1b8543c..27ecc0f 100644 --- a/lib/modules/gift/gift_page.dart +++ b/lib/modules/gift/gift_page.dart @@ -18,10 +18,9 @@ import 'package:yumi/app/config/business_logic_strategy.dart'; import 'package:yumi/shared/tools/sc_gift_vap_svga_manager.dart'; import 'package:yumi/shared/data_sources/sources/local/user_manager.dart'; import 'package:yumi/shared/data_sources/sources/remote/net/api.dart'; +import 'package:yumi/shared/data_sources/sources/repositories/sc_config_repository_imp.dart'; import 'package:yumi/shared/data_sources/sources/repositories/sc_room_repository_imp.dart'; -import 'package:yumi/shared/data_sources/sources/repositories/sc_user_repository_impl.dart'; import 'package:yumi/shared/business_logic/models/res/login_res.dart'; -import 'package:yumi/shared/business_logic/models/res/sc_system_invit_message_res.dart'; import 'package:yumi/shared/tools/sc_cp_gift_relation_utils.dart'; import 'package:yumi/main.dart'; import 'package:provider/provider.dart'; @@ -84,6 +83,7 @@ class _GiftPageState extends State with TickerProviderStateMixin { TabController? _tabController; List _tabTypes = []; bool _didApplyInitialTab = false; + bool _showFirstRechargeGiftEntry = false; /// 业务逻辑策略访问器 BusinessLogicStrategy get _strategy => SCGlobalConfig.businessLogicStrategy; @@ -240,6 +240,7 @@ class _GiftPageState extends State with TickerProviderStateMixin { listen: false, ).giftBackpack(forceRefresh: true), ); + unawaited(_loadFirstRechargeGiftEntryState()); Provider.of(context, listen: false).balance(); rtcProvider?.roomWheatMap.forEach((k, v) { if (v.user != null) { @@ -275,6 +276,35 @@ class _GiftPageState extends State with TickerProviderStateMixin { _normalizeCpRecipientSelection(notify: true); } + Future _loadFirstRechargeGiftEntryState() async { + if (SCGlobalConfig.isReview || AccountStorage().getToken().isEmpty) { + return; + } + try { + final home = await SCConfigRepositoryImp().firstRechargeRewardHome(); + if (!mounted) { + return; + } + final shouldShow = home.shouldShowRewardDialog; + if (_showFirstRechargeGiftEntry == shouldShow) { + return; + } + setState(() { + _showFirstRechargeGiftEntry = shouldShow; + }); + } catch (error) { + if (kDebugMode) { + debugPrint('[FirstRecharge][gift] load entry failed: $error'); + } + if (!mounted || !_showFirstRechargeGiftEntry) { + return; + } + setState(() { + _showFirstRechargeGiftEntry = false; + }); + } + } + bool get _isCurrentCpGiftTab { final controller = _tabController; if (controller == null || controller.index >= _tabTypes.length) { @@ -287,9 +317,6 @@ class _GiftPageState extends State with TickerProviderStateMixin { bool _isCpGift(SocialChatGiftRes? gift) => scIsCpGift(gift); - String _cpRelationTypeForGift(SocialChatGiftRes gift) => - scCpRelationTypeForGift(gift); - bool get _isCpRecipientSingleMode => _isCurrentCpGiftTab || _isCpGift(checkedGift); @@ -703,10 +730,7 @@ class _GiftPageState extends State with TickerProviderStateMixin { final currentTabType = giftTabs[tabController.index].type; final isCpTab = currentTabType == "CP"; final showFirstRechargeEntry = - !SCGlobalConfig.isReview && - !isCpTab && - (AccountStorage().getCurrentUser()?.userProfile?.firstRecharge ?? - false); + !SCGlobalConfig.isReview && !isCpTab && _showFirstRechargeGiftEntry; _ensureCurrentTabSelection(ref, giftTabs[tabController.index].type); final isCpRecipientSingleMode = isCpTab || _isCpGift(checkedGift); return SafeArea( @@ -1577,7 +1601,6 @@ class _GiftPageState extends State with TickerProviderStateMixin { } await _refreshGiftBackpack(); _refreshCpStateAfterGift(request, profileManager); - _sendCpInviteMessageAfterGift(request); return; } @@ -1640,7 +1663,6 @@ class _GiftPageState extends State with TickerProviderStateMixin { } profileManager?.updateBalance(result); _refreshCpStateAfterGift(request, profileManager); - _sendCpInviteMessageAfterGift(request); } catch (e) { final errorMessage = request.isBackpackGiftRequest && _isBackpackQuantityError(e) @@ -1683,90 +1705,6 @@ class _GiftPageState extends State with TickerProviderStateMixin { unawaited(profileManager?.refreshLoadedCpProfiles()); } - void _sendCpInviteMessageAfterGift(_GiftSendRequest request) { - if (!_isCpGift(request.gift)) { - return; - } - if (request.acceptUserIds.length != 1 || request.acceptUsers.length != 1) { - _giftFxLog( - 'skip relation invite C2C reason=invalid_accept_count ' - 'acceptUserIds=${request.acceptUserIds.join(",")}', - ); - return; - } - unawaited(_sendCpInviteMessageAfterGiftAsync(request)); - } - - Future _sendCpInviteMessageAfterGiftAsync( - _GiftSendRequest request, - ) async { - final relationType = _cpRelationTypeForGift(request.gift); - final receiverProfile = request.acceptUsers.first.user; - final receiverId = - (receiverProfile?.id ?? request.acceptUserIds.first).trim(); - final currentProfile = AccountStorage().getCurrentUser()?.userProfile; - if (receiverId.isEmpty || currentProfile == null) { - _giftFxLog( - 'skip relation invite C2C reason=missing_user ' - 'receiverId=$receiverId relationType=$relationType ' - 'hasCurrent=${currentProfile != null}', - ); - return; - } - final providerContext = navigatorKey.currentState?.context ?? context; - final rtmProvider = Provider.of( - providerContext, - listen: false, - ); - try { - final applyId = await SCAccountRepository().cpRelationshipApplyId( - receiverId, - relationType: relationType, - ); - if ((applyId ?? "").trim().isEmpty) { - _giftFxLog( - 'skip relation invite C2C reason=no_apply_id ' - 'receiverId=$receiverId relationType=$relationType', - ); - return; - } - final expireAtSeconds = - DateTime.now().millisecondsSinceEpoch ~/ 1000 + 86400; - final giftCover = - (request.gift.giftPhoto ?? "").trim().isNotEmpty - ? request.gift.giftPhoto - : request.gift.giftSourceUrl; - final invite = SCSystemInvitMessageRes( - account: currentProfile.account ?? currentProfile.id, - actualAccount: currentProfile.id, - userAvatar: currentProfile.userAvatar ?? "", - userHeaddress: currentProfile.getHeaddress()?.sourceUrl, - userHeaddressCover: currentProfile.getHeaddress()?.cover, - userNickname: currentProfile.userNickname ?? "", - relationType: relationType, - dismissEndTime: expireAtSeconds, - giftCover: giftCover, - giftCount: request.quantity, - ); - _giftFxLog( - 'send relation invite C2C applyId=$applyId ' - 'receiverId=$receiverId relationType=$relationType ' - 'giftId=${request.gift.id}', - ); - await rtmProvider.sendCpInviteBuildMessage( - applyId: applyId!, - invite: invite, - receiverId: receiverId, - receiverProfile: receiverProfile, - ); - } catch (error) { - _giftFxLog( - 'send relation invite C2C failed ' - 'receiverId=$receiverId relationType=$relationType error=$error', - ); - } - } - Future> _giveBackpackGiftToRecipients( SCChatRoomRepository repository, _GiftSendRequest request, diff --git a/lib/modules/index/index_page.dart b/lib/modules/index/index_page.dart index fe26430..f2b0541 100644 --- a/lib/modules/index/index_page.dart +++ b/lib/modules/index/index_page.dart @@ -15,7 +15,9 @@ import 'package:provider/provider.dart'; import 'package:wakelock_plus/wakelock_plus.dart'; import 'package:yumi/ui_kit/components/text/sc_text.dart'; import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart'; +import 'package:yumi/shared/data_sources/sources/local/user_manager.dart'; import 'package:yumi/shared/data_sources/sources/repositories/sc_user_repository_impl.dart'; +import 'package:yumi/shared/tools/sc_dialog_utils.dart'; import 'package:yumi/services/general/sc_app_general_manager.dart'; import 'package:yumi/services/auth/user_profile_manager.dart'; import 'package:yumi/ui_kit/widgets/svga/sc_svga_asset_widget.dart'; @@ -50,6 +52,7 @@ class _SCIndexPageState extends State Locale? _lastLocale; bool _hasShownEntryDialogs = false; bool _hasShownRegisterRewardDialog = false; + bool _hasRequestedFirstRechargeDialog = false; bool _isShowingDailySignInDialog = false; bool _showRegisterRewardAfterDailySignIn = false; bool _isOpeningFirstRegisterRoomGame = false; @@ -438,14 +441,27 @@ class _SCIndexPageState extends State return; } + await _showDailySignInDialogIfNeeded(); + if (!mounted) { + return; + } + await _showEntryPopupIfNeeded(); if (!mounted) { return; } + await _showFirstRechargeDialogIfNeeded(); + if (!mounted) { + return; + } + + await _openFirstRegisterRoomGameIfNeeded(); + } + + Future _showDailySignInDialogIfNeeded() async { final dialogData = await _loadDailySignInDialogData(); if (!mounted || dialogData == null) { - await _openFirstRegisterRoomGameIfNeeded(); return; } _isShowingDailySignInDialog = true; @@ -461,7 +477,6 @@ class _SCIndexPageState extends State if (!mounted) { return; } - await _openFirstRegisterRoomGameIfNeeded(); } Future _showEntryPopupIfNeeded() async { @@ -474,6 +489,18 @@ class _SCIndexPageState extends State ); } + Future _showFirstRechargeDialogIfNeeded() async { + if (_hasRequestedFirstRechargeDialog || + SCGlobalConfig.isReview || + AccountStorage().getToken().isEmpty || + !mounted || + !(ModalRoute.of(context)?.isCurrent ?? false)) { + return; + } + _hasRequestedFirstRechargeDialog = true; + await SCDialogUtils.showFirstRechargeDialog(context); + } + Future _waitForRegisterRewardSocketIfNeeded() async { if (!DataPersistence.getAwaitRegisterRewardSocket() || DataPersistence.getPendingRegisterRewardDialog()) { diff --git a/lib/modules/room/voice_room_page.dart b/lib/modules/room/voice_room_page.dart index 81319ba..c456fe0 100644 --- a/lib/modules/room/voice_room_page.dart +++ b/lib/modules/room/voice_room_page.dart @@ -79,6 +79,8 @@ class _VoiceRoomPageState extends State int _shownRoomStartupFailureToken = 0; RtcProvider? _rtcProvider; bool _roomProviderRebuildScheduled = false; + bool _roomRouteVisibleScheduled = false; + bool _roomVisualEffectsEnsureScheduled = false; ModalRoute? _routeObserverRoute; SCRoomTopLayerGuardLease? _coveredRouteGuardLease; bool _roomRouteVisible = false; @@ -87,14 +89,9 @@ class _VoiceRoomPageState extends State void initState() { super.initState(); _tabController = TabController(length: _chatTabCount, vsync: this); - Provider.of( - context, - listen: false, - ).setVoiceRoomRouteVisible(true); SCRoomTopLayerGuard().activeListenable.addListener( _handleRoomTopLayerGuardChanged, ); - _enableRoomVisualEffects(); _tabController.addListener(_handleTabChange); _subscription = eventBus.on().listen(( event, @@ -131,12 +128,12 @@ class _VoiceRoomPageState extends State _routeObserverRoute = route; modalRouteObserver.subscribe(this, route); if (route.isCurrent) { - _handleRoomRouteVisible(); + _scheduleRoomRouteVisible(); } else { _handleRoomRouteCovered(); } } - _ensureRoomVisualEffectsEnabled(); + _scheduleEnsureRoomVisualEffectsEnabled(); } @override @@ -184,6 +181,21 @@ class _VoiceRoomPageState extends State _setRoomRouteVisible(true); } + void _scheduleRoomRouteVisible() { + if (_roomRouteVisibleScheduled) { + return; + } + _roomRouteVisibleScheduled = true; + WidgetsBinding.instance.addPostFrameCallback((_) { + _roomRouteVisibleScheduled = false; + if (!mounted || !(ModalRoute.of(context)?.isCurrent ?? false)) { + return; + } + _handleRoomRouteVisible(); + _ensureRoomVisualEffectsEnabled(); + }); + } + void _handleRoomRouteCovered() { _setRoomRouteVisible(false); _acquireCoveredRouteGuard(); @@ -260,6 +272,20 @@ class _VoiceRoomPageState extends State _enableRoomVisualEffects(); } + void _scheduleEnsureRoomVisualEffectsEnabled() { + if (_roomVisualEffectsEnsureScheduled) { + return; + } + _roomVisualEffectsEnsureScheduled = true; + WidgetsBinding.instance.addPostFrameCallback((_) { + _roomVisualEffectsEnsureScheduled = false; + if (!mounted || !(ModalRoute.of(context)?.isCurrent ?? false)) { + return; + } + _ensureRoomVisualEffectsEnabled(); + }); + } + void _clearTransientRoomVisualEffects({required String reason}) { if (!mounted) { return; diff --git a/lib/modules/user/profile/person_detail_page.dart b/lib/modules/user/profile/person_detail_page.dart index baf5366..7c290a8 100644 --- a/lib/modules/user/profile/person_detail_page.dart +++ b/lib/modules/user/profile/person_detail_page.dart @@ -19,6 +19,7 @@ import 'package:yumi/ui_kit/components/sc_compontent.dart'; import 'package:yumi/ui_kit/components/sc_tts.dart'; import 'package:yumi/app/routes/sc_routes.dart'; import 'package:yumi/app/routes/sc_fluro_navigator.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; import 'package:yumi/shared/tools/sc_loading_manager.dart'; import 'package:yumi/shared/tools/sc_lk_event_bus.dart'; import 'package:yumi/shared/tools/sc_pick_utils.dart'; @@ -1476,7 +1477,9 @@ class _PersonDetailPageState extends State { } String _profileRelationDays(CPRes relation) { - return _firstNonBlankProfileValue([relation.days, "0"]); + return scCpRelationDisplayDays( + _firstNonBlankProfileValue([relation.days, "0"]), + ); } String _profileRelationLevelDisplayText(String rawText, CPRes relation) { diff --git a/lib/services/audio/rtc_manager.dart b/lib/services/audio/rtc_manager.dart index 3abc932..4046c67 100644 --- a/lib/services/audio/rtc_manager.dart +++ b/lib/services/audio/rtc_manager.dart @@ -308,6 +308,18 @@ class _PersistedVoiceRoomCleanupRequest { final bool clearMarkerOnly; } +class _RoomMicRelationProfileCache { + const _RoomMicRelationProfileCache({ + required this.profile, + required this.loadedAt, + }); + + final SocialChatUserProfile profile; + final DateTime loadedAt; + + bool isExpired(DateTime now, Duration ttl) => now.difference(loadedAt) > ttl; +} + class RealTimeCommunicationManager extends ChangeNotifier { static const String _roomRocketRewardDialogTag = 'showRoomRocketRewardDialog'; static const String _roomRocketPagLaunchDialogTag = @@ -327,6 +339,12 @@ class RealTimeCommunicationManager extends ChangeNotifier { Duration(milliseconds: 1800), Duration(milliseconds: 3200), ]; + static const List _roomMicRelationTypes = [ + 'CP', + 'BROTHER', + 'SISTERS', + ]; + static const Duration _roomMicRelationCacheTtl = Duration(minutes: 5); static const int _roomPasswordNotTrueErrorCode = 9005; static const Duration _micListPollingInterval = Duration(seconds: 2); @@ -415,6 +433,9 @@ class RealTimeCommunicationManager extends ChangeNotifier { Map roomWheatMap = {}; final Map _seatEmojiEventVersions = {}; int _emojiPlaybackEventVersion = 0; + final Map _roomMicRelationCache = + {}; + final Set _roomMicRelationLoadingUserIds = {}; final Set _roomMusicPublishingUserIds = {}; final Map _roomMusicPublishingClearTimers = {}; @@ -1428,13 +1449,266 @@ class RealTimeCommunicationManager extends ChangeNotifier { }) { final changed = !_sameMicMaps(roomWheatMap, nextMap); roomWheatMap = nextMap; + final relationCacheChanged = _mergeCachedRoomMicRelationProfiles(); + _scheduleRoomMicRelationHydration(); _syncSelfMicRuntimeState(); final roomMusicChanged = _pruneRoomMusicPublishingUsersToMicSeats(); - if (changed || notifyIfUnchanged || roomMusicChanged) { + if (changed || + notifyIfUnchanged || + roomMusicChanged || + relationCacheChanged) { notifyListeners(); } } + bool _mergeCachedRoomMicRelationProfiles() { + final now = DateTime.now(); + _roomMicRelationCache.removeWhere( + (_, cache) => cache.isExpired(now, _roomMicRelationCacheTtl), + ); + var changed = false; + final mergedMap = roomWheatMap.map((index, mic) { + final user = mic.user; + final userId = _roomMicRelationUserId(user); + if (user == null || userId.isEmpty) { + return MapEntry(index, mic); + } + final cache = _roomMicRelationCache[userId]; + if (cache == null || cache.isExpired(now, _roomMicRelationCacheTtl)) { + return MapEntry(index, mic); + } + final mergedUser = _mergeRoomMicRelationProfile(user, cache.profile); + if (identical(mergedUser, user)) { + return MapEntry(index, mic); + } + changed = true; + return MapEntry(index, mic.copyWith(user: mergedUser)); + }); + if (changed) { + roomWheatMap = mergedMap; + } + return changed; + } + + void _scheduleRoomMicRelationHydration() { + final roomId = (currenRoom?.roomProfile?.roomProfile?.id ?? "").trim(); + if (roomId.isEmpty || roomWheatMap.isEmpty) { + return; + } + final now = DateTime.now(); + final queuedUserIds = {}; + for (final mic in roomWheatMap.values) { + final user = mic.user; + final userId = _roomMicRelationUserId(user); + if (user == null || userId.isEmpty || !queuedUserIds.add(userId)) { + continue; + } + final cache = _roomMicRelationCache[userId]; + if (cache == null && _hasCompleteRoomMicRelationLists(user)) { + continue; + } + if (cache != null && !cache.isExpired(now, _roomMicRelationCacheTtl)) { + continue; + } + if (!_roomMicRelationLoadingUserIds.add(userId)) { + continue; + } + unawaited(_hydrateRoomMicRelationProfile(roomId, userId, user)); + } + } + + Future _hydrateRoomMicRelationProfile( + String roomId, + String userId, + SocialChatUserProfile profile, + ) async { + try { + final hydratedProfile = await _loadRoomMicRelationProfile( + profile, + userId, + ); + _roomMicRelationCache[userId] = _RoomMicRelationProfileCache( + profile: hydratedProfile, + loadedAt: DateTime.now(), + ); + _applyHydratedRoomMicRelationProfile(roomId, userId, hydratedProfile); + } finally { + _roomMicRelationLoadingUserIds.remove(userId); + } + } + + Future _loadRoomMicRelationProfile( + SocialChatUserProfile profile, + String userId, + ) async { + final cpPairs = []; + final closeFriendPairs = []; + await Future.wait( + _roomMicRelationTypes.map((relationType) async { + final cabin = await _safeLoadRoomMicRelationCabin(userId, relationType); + final pair = cabin?.cpPairUserProfileCO; + if (!_hasRoomMicRelationPair(pair)) { + return; + } + final normalizedType = scNormalizeCpRelationType( + pair?.relationType ?? relationType, + ); + final enrichedPair = pair!.copyWith( + relationType: normalizedType, + cpValue: pair.cpValue ?? cabin?.cpVal?.toDouble(), + levelText: + pair.levelText ?? _roomMicRelationLevelTextFromCabin(cabin), + ); + if (normalizedType == "CP") { + cpPairs.add(enrichedPair); + } else { + closeFriendPairs.add(enrichedPair); + } + }), + ); + return profile.copyWith( + cpList: cpPairs, + closeFriendList: closeFriendPairs, + isCpRelation: cpPairs.isNotEmpty, + ); + } + + Future _safeLoadRoomMicRelationCabin( + String userId, + String relationType, + ) async { + try { + return await SCAccountRepository().cpCabin( + userId, + relationType: relationType, + ); + } catch (error) { + if (kDebugMode) { + debugPrint( + "[CP][MicRelation] cabin failed userId=$userId " + "relationType=$relationType error=$error", + ); + } + return null; + } + } + + String? _roomMicRelationLevelTextFromCabin(SCCpCabinRes? cabin) { + final config = cabin?.currentCpCabinConfigCO; + if (config is! Map) { + return null; + } + final level = _firstRoomMicRelationConfigText([ + config["level"], + config["cpLevel"], + config["cabinLevel"], + config["lv"], + ]); + if (level.isEmpty) { + return null; + } + return "Lv.$level"; + } + + String _firstRoomMicRelationConfigText(Iterable values) { + for (final value in values) { + final text = value?.toString().trim() ?? ""; + if (text.isNotEmpty) { + return text; + } + } + return ""; + } + + void _applyHydratedRoomMicRelationProfile( + String roomId, + String userId, + SocialChatUserProfile hydratedProfile, + ) { + final currentRoomId = + (currenRoom?.roomProfile?.roomProfile?.id ?? "").trim(); + if (currentRoomId != roomId) { + return; + } + var changed = false; + final mergedMap = roomWheatMap.map((index, mic) { + final user = mic.user; + if (user == null || _roomMicRelationUserId(user) != userId) { + return MapEntry(index, mic); + } + final mergedUser = _mergeRoomMicRelationProfile(user, hydratedProfile); + if (identical(mergedUser, user)) { + return MapEntry(index, mic); + } + changed = true; + return MapEntry(index, mic.copyWith(user: mergedUser)); + }); + if (!changed) { + return; + } + roomWheatMap = mergedMap; + notifyListeners(); + } + + SocialChatUserProfile _mergeRoomMicRelationProfile( + SocialChatUserProfile user, + SocialChatUserProfile relationProfile, + ) { + final nextCpList = relationProfile.cpList ?? const []; + final nextCloseFriendList = + relationProfile.closeFriendList ?? const []; + if (_sameRoomMicRelationLists(user.cpList, nextCpList) && + _sameRoomMicRelationLists(user.closeFriendList, nextCloseFriendList)) { + return user; + } + return user.copyWith( + cpList: nextCpList, + closeFriendList: nextCloseFriendList, + isCpRelation: nextCpList.isNotEmpty, + ); + } + + bool _hasCompleteRoomMicRelationLists(SocialChatUserProfile profile) { + return profile.cpList != null && profile.closeFriendList != null; + } + + bool _hasRoomMicRelationPair(CPRes? pair) { + return (pair?.cpUserId?.trim().isNotEmpty ?? false) || + (pair?.cpAccount?.trim().isNotEmpty ?? false) || + (pair?.meUserId?.trim().isNotEmpty ?? false) || + (pair?.meAccount?.trim().isNotEmpty ?? false); + } + + bool _sameRoomMicRelationLists(List? left, List? right) { + final leftList = left ?? const []; + final rightList = right ?? const []; + if (leftList.length != rightList.length) { + return false; + } + for (var index = 0; index < leftList.length; index += 1) { + if (_roomMicRelationPairKey(leftList[index]) != + _roomMicRelationPairKey(rightList[index])) { + return false; + } + } + return true; + } + + String _roomMicRelationPairKey(CPRes pair) { + return [ + pair.meUserId?.trim() ?? "", + pair.meAccount?.trim() ?? "", + pair.cpUserId?.trim() ?? "", + pair.cpAccount?.trim() ?? "", + pair.relationType?.trim() ?? "", + pair.status?.trim() ?? "", + ].join("|"); + } + + String _roomMicRelationUserId(SocialChatUserProfile? user) { + return user?.id?.trim() ?? ""; + } + bool _pruneRoomMusicPublishingUsersToMicSeats() { if (_roomMusicPublishingUserIds.isEmpty) { return false; @@ -1519,6 +1793,8 @@ class RealTimeCommunicationManager extends ChangeNotifier { await _roomRtcEngineAdapter?.leaveRoom(); } catch (error) {} if (clearMicSeats) { + _roomMicRelationCache.clear(); + _roomMicRelationLoadingUserIds.clear(); roomWheatMap.clear(); notifyListeners(); } diff --git a/lib/services/audio/rtm_manager.dart b/lib/services/audio/rtm_manager.dart index 15357a2..a7768b6 100644 --- a/lib/services/audio/rtm_manager.dart +++ b/lib/services/audio/rtm_manager.dart @@ -14,6 +14,7 @@ import 'package:yumi/shared/tools/sc_message_utils.dart'; import 'package:yumi/shared/tools/sc_path_utils.dart'; import 'package:yumi/shared/tools/sc_room_top_layer_guard.dart'; import 'package:yumi/shared/tools/sc_room_utils.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_broadcast_assets.dart'; import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; import 'package:yumi/shared/data_sources/sources/local/floating_screen_manager.dart'; import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart'; @@ -293,6 +294,7 @@ class RealTimeMessagingManager extends ChangeNotifier { Timer? _roomRocketRewardPopupRetryTimer; Timer? _roomRocketRoomReadyRewardRetryTimer; final Set _shownCpInviteMessageKeys = {}; + final Set _forwardedCpInviteC2CMessageKeys = {}; int get currentLuckGiftBurstPlaybackToken => _luckGiftPushPlaybackToken; String? roomRedPacketBroadcastGroupId; String? roomRedPacketBroadcastRegionCode; @@ -886,6 +888,13 @@ class RealTimeMessagingManager extends ChangeNotifier { fallback: currentProfile.id, ); final relationType = scNormalizeCpRelationType(invite.relationType); + _forwardCpInviteC2CMessageIfNeeded( + sourceMessage: message, + data: data, + applyId: applyId, + invite: invite, + isSender: isSender, + ); if (isSender) { final receiver = _cpInviteReceiverFromMessageData(data); _cpInviteLog( @@ -968,14 +977,7 @@ class RealTimeMessagingManager extends ChangeNotifier { SCSystemInvitMessageRes? _cpInviteFromMessageData(Map data) { try { - final content = data["content"]; - if (content is String && content.trim().isNotEmpty) { - final decoded = jsonDecode(content); - return SCSystemInvitMessageRes.fromJson(decoded); - } - if (content is Map) { - return SCSystemInvitMessageRes.fromJson(content); - } + return SCSystemInvitMessageRes.fromMessageData(data); } catch (error) { _cpInviteLog('parse CP_BUILD content failed error=$error data=$data'); } @@ -1351,6 +1353,110 @@ class RealTimeMessagingManager extends ChangeNotifier { ); } + void _forwardCpInviteC2CMessageIfNeeded({ + required V2TimMessage? sourceMessage, + required Map data, + required String applyId, + required SCSystemInvitMessageRes invite, + required bool isSender, + }) { + if (!isSender || sourceMessage?.isSelf == true) { + return; + } + final normalizedApplyId = applyId.trim(); + if (normalizedApplyId.isEmpty || + !_forwardedCpInviteC2CMessageKeys.add(normalizedApplyId)) { + return; + } + final receiverId = _cpInviteReceiverIdFromMessageData(data); + if (receiverId.isEmpty) { + _forwardedCpInviteC2CMessageKeys.remove(normalizedApplyId); + _cpInviteLog( + 'skip forwarding CP_BUILD C2C reason=no_receiver ' + 'applyId=$normalizedApplyId', + ); + return; + } + _cpInviteLog( + 'forward backend CP_BUILD to C2C ' + 'receiver=$receiverId applyId=$normalizedApplyId', + ); + unawaited( + sendCpInviteBuildMessage( + applyId: normalizedApplyId, + invite: invite, + receiverId: receiverId, + receiverProfile: _cpInviteReceiverProfileFromMessageData(data), + ), + ); + } + + String _cpInviteReceiverIdFromMessageData(Map data) { + final content = _cpInviteContentMap(data); + return _firstCpInviteValue([ + data["acceptActualAccount"]?.toString(), + data["acceptUserId"]?.toString(), + data["receiverActualAccount"]?.toString(), + data["receiverId"]?.toString(), + data["receiverUserId"]?.toString(), + data["targetUserId"]?.toString(), + data["toUserId"]?.toString(), + content["acceptActualAccount"]?.toString(), + content["acceptUserId"]?.toString(), + content["receiverActualAccount"]?.toString(), + content["receiverId"]?.toString(), + content["receiverUserId"]?.toString(), + content["targetUserId"]?.toString(), + content["toUserId"]?.toString(), + ]) ?? + ""; + } + + SocialChatUserProfile? _cpInviteReceiverProfileFromMessageData( + Map data, + ) { + final content = _cpInviteContentMap(data); + final id = _cpInviteReceiverIdFromMessageData(data); + final account = _firstCpInviteValue([ + data["acceptAccount"]?.toString(), + data["receiverAccount"]?.toString(), + content["acceptAccount"]?.toString(), + content["receiverAccount"]?.toString(), + ]); + final nickname = _firstCpInviteValue([ + data["acceptNickname"]?.toString(), + data["acceptUserNickname"]?.toString(), + data["receiverNickname"]?.toString(), + data["receiverUserNickname"]?.toString(), + content["acceptNickname"]?.toString(), + content["acceptUserNickname"]?.toString(), + content["receiverNickname"]?.toString(), + content["receiverUserNickname"]?.toString(), + ]); + final avatar = _firstCpInviteValue([ + data["acceptUserAvatar"]?.toString(), + data["acceptAvatar"]?.toString(), + data["receiverUserAvatar"]?.toString(), + data["receiverAvatar"]?.toString(), + content["acceptUserAvatar"]?.toString(), + content["acceptAvatar"]?.toString(), + content["receiverUserAvatar"]?.toString(), + content["receiverAvatar"]?.toString(), + ]); + if (id.isEmpty && + (account ?? "").isEmpty && + (nickname ?? "").isEmpty && + (avatar ?? "").isEmpty) { + return null; + } + return SocialChatUserProfile( + id: id.isNotEmpty ? id : null, + account: account, + userNickname: nickname, + userAvatar: avatar, + ); + } + Future sendCpInviteBuildMessage({ required String applyId, required SCSystemInvitMessageRes invite, @@ -2270,6 +2376,7 @@ class RealTimeMessagingManager extends ChangeNotifier { roomAllMsgList.removeAt(roomAllMsgList.length - 1); } msgAllListener?.call(msg); + _enqueueCpRelationBroadcastFloatingIfNeeded(msg); _showCpRelationFormedDialogIfNeeded(msg); if (msg.type == SCRoomMsgType.text) { @@ -2327,6 +2434,71 @@ class RealTimeMessagingManager extends ChangeNotifier { } } + void _enqueueCpRelationBroadcastFloatingIfNeeded(Msg msg) { + if (msg.type != SCRoomMsgType.cpSystemNotice) { + return; + } + final action = msg.noticeAction?.trim() ?? ""; + if (action != "RELATION_ESTABLISHED" && action != "RELATION_JOINED_ROOM") { + return; + } + if (!_isLiveCpRelationBroadcastMessage(msg) || + !_shouldShowCpRelationBroadcastFloating(msg.groupId ?? "")) { + return; + } + final relationType = scNormalizeCpRelationType(msg.role); + final isEntry = action == "RELATION_JOINED_ROOM"; + final firstProfile = isEntry ? msg.user : (msg.toUser ?? msg.user); + final secondProfile = isEntry ? msg.toUser : (msg.user ?? msg.toUser); + OverlayManager().addMessage( + SCFloatingMessage( + type: scCpRelationBroadcastFloatingType, + priority: 970, + roomId: msg.groupId ?? "", + userId: _roomMsgUserId(firstProfile), + toUserId: _roomMsgUserId(secondProfile), + userAvatarUrl: firstProfile?.userAvatar ?? "", + toUserAvatarUrl: secondProfile?.userAvatar ?? "", + userName: _roomMsgUserDisplayName(firstProfile), + toUserName: _roomMsgUserDisplayName(secondProfile), + giftUrl: scCpRelationBroadcastAsset(relationType), + giftId: action, + giftTab: relationType, + displayText: msg.msg ?? "", + durationSeconds: 5, + ), + ); + } + + bool _isLiveCpRelationBroadcastMessage(Msg msg) { + final timestamp = msg.time ?? 0; + if (timestamp <= 0) { + return true; + } + return DateTime.now().millisecondsSinceEpoch - timestamp < 60000; + } + + bool _shouldShowCpRelationBroadcastFloating(String groupId) { + final normalizedGroupId = groupId.trim(); + final currentContext = context; + if (normalizedGroupId.isEmpty || + currentContext == null || + !currentContext.mounted || + !_isCurrentVoiceRoomGroup(normalizedGroupId)) { + return false; + } + final rtcProvider = Provider.of( + currentContext, + listen: false, + ); + return rtcProvider.shouldShowRoomVisualEffects && + rtcProvider.isVoiceRoomRouteVisible; + } + + String _roomMsgUserId(SocialChatUserProfile? profile) { + return _firstCpInviteValue([profile?.id, profile?.account]) ?? ""; + } + void _showCpRelationFormedDialogIfNeeded(Msg msg) { if (msg.type != SCRoomMsgType.cpSystemNotice || msg.noticeAction != "RELATION_ESTABLISHED") { @@ -2792,6 +2964,93 @@ class RealTimeMessagingManager extends ChangeNotifier { OverlayManager().addMessage(_buildLuckyGiftFloatingMessage(broadCastRes)); } + void _handleGameWinBroadcast( + dynamic rawData, { + required bool isRegionBroadcast, + }) { + if (SCGlobalConfig.isReview) { + return; + } + final wrapper = _broadcastPayloadMap(rawData); + final payload = _broadcastPayloadMap(wrapper['data'] ?? rawData); + if (payload.isEmpty) { + return; + } + final winCoins = + _payloadNum(payload['currencyDiff']) ?? + _payloadNum(payload['winAmount']) ?? + _payloadNum(payload['awardAmount']) ?? + 0; + if (winCoins <= 0) { + return; + } + + final roomId = _payloadRoomId(payload); + final userId = _firstNonBlank([ + _payloadText(payload['account']), + _payloadText(payload['actualAccount']), + _payloadText(payload['userId']), + _payloadText(payload['sendUserId']), + _payloadText(payload['senderUserId']), + ]); + final userName = _firstNonBlank([ + _payloadText(payload['userNickname']), + _payloadText(payload['nickname']), + _payloadText(payload['userName']), + userId, + ]); + final gameId = _firstNonBlank([ + _payloadText(payload['currentGameId']), + _payloadText(payload['gameId']), + _payloadText(payload['providerGameId']), + _payloadText(payload['vendorGameId']), + _payloadText(payload['currentProviderGameId']), + _payloadText(payload['currentVendorGameId']), + ]); + final gameName = _firstNonBlank([ + _payloadText(payload['currentGameName']), + _payloadText(payload['gameName']), + _payloadText(payload['name']), + 'game', + ]); + final gameIconUrl = _firstNonBlank([ + _payloadAssetText(payload['gameUrl']), + _payloadAssetText(payload['currentGameCover']), + _payloadAssetText(payload['gameCover']), + _payloadAssetText(payload['cover']), + _payloadAssetText(payload['iconUrl']), + _payloadAssetText(payload['icon']), + ]); + final roundId = _firstNonBlank([ + _payloadText(payload['gameRoundId']), + _payloadText(payload['game_round_id']), + _payloadText(payload['roundId']), + _payloadText(payload['roundNo']), + ]); + + OverlayManager().addMessage( + SCFloatingMessage( + type: 2, + userId: userId, + userAvatarUrl: _payloadAssetText(payload['userAvatar']), + userName: userName, + toUserName: gameName, + giftUrl: gameIconUrl, + giftId: roundId, + gameId: gameId, + roomId: roomId, + coins: winCoins, + multiple: + _payloadNum(payload['multiple']) ?? + _payloadNum(payload['winMultiple']), + displayText: _payloadText(payload['msg']), + broadcastScope: + isRegionBroadcast ? SCFloatingMessage.broadcastScopeRegion : '', + priority: 1000, + ), + ); + } + void _handleRoomLuckyGiftMessage(SCBroadCastLuckGiftPush broadCastRes) { final rewardData = broadCastRes.data; if (rewardData == null) { @@ -4653,25 +4912,10 @@ class RealTimeMessagingManager extends ChangeNotifier { notifyListeners(); } } else if (type == "GAME_BAISHUN_WIN") { - if (SCGlobalConfig.isReview) { - ///审核状态不播放动画 - return; - } - var fdata = data["data"]; - var winCoins = fdata["currencyDiff"]; - if (winCoins > 14999) { - ///达到5000才飘屏 - SCFloatingMessage msg = SCFloatingMessage( - type: 2, - userId: fdata["account"], - userAvatarUrl: fdata["userAvatar"], - userName: fdata["userNickname"], - giftUrl: fdata["gameUrl"], - roomId: fdata["roomId"], - coins: fdata["currencyDiff"], - ); - OverlayManager().addMessage(msg); - } + _handleGameWinBroadcast( + data, + isRegionBroadcast: isRegionBroadcastGroup, + ); } else if (type == "GAME_LUCKY_GIFT") { final broadCastRes = SCBroadCastLuckGiftPush.fromJson(data); _giftFxLog( @@ -4890,6 +5134,10 @@ class RealTimeMessagingManager extends ChangeNotifier { } return; } + if (data["type"] == "GAME_BAISHUN_WIN") { + _handleGameWinBroadcast(data, isRegionBroadcast: false); + return; + } Msg msg = Msg.fromJson(data); if (msg.type == SCRoomMsgType.sendGift || diff --git a/lib/shared/business_logic/models/res/sc_system_invit_message_res.dart b/lib/shared/business_logic/models/res/sc_system_invit_message_res.dart index 893b94a..c2a5983 100644 --- a/lib/shared/business_logic/models/res/sc_system_invit_message_res.dart +++ b/lib/shared/business_logic/models/res/sc_system_invit_message_res.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + // account : "" // countryCode : "" // countryName : "" @@ -62,7 +64,7 @@ class SCSystemInvitMessageRes { _actualAccount = json['actualAccount']; _applyType = json['applyType']; _content = json['content']; - _relationType = json['relationType']; + _relationType = _firstNonBlank(json, _relationTypeKeys); _dismissEndTime = _asInt(json['dismissEndTime']); _giftCover = json['giftCover']; _giftCount = _asInt(json['giftCount']); @@ -126,8 +128,43 @@ class SCSystemInvitMessageRes { map['giftCount'] = _giftCount; return map; } + + static SCSystemInvitMessageRes? fromMessageData(dynamic data) { + final root = _stringKeyMap(data); + if (root.isEmpty) { + return null; + } + final content = _contentMap(root['content']); + if (content.isEmpty && + root.containsKey('content') && + !_hasInviteIdentity(root)) { + return null; + } + final source = {...(content.isNotEmpty ? content : root)}; + final relationType = + _firstNonBlank(source, _relationTypeKeys) ?? + _firstNonBlank(root, _relationTypeKeys) ?? + _relationTypeFromGiftPayload(source) ?? + _relationTypeFromGiftPayload(root); + if (relationType != null && relationType.isNotEmpty) { + source['relationType'] = relationType; + } + return SCSystemInvitMessageRes.fromJson(source); + } } +const List _relationTypeKeys = [ + 'relationType', + 'relation_type', + 'cpRelationType', + 'cp_relation_type', + 'relationshipType', + 'relationship_type', + 'relation', + 'cpType', + 'cp_type', +]; + String? _firstNonBlank(dynamic json, List keys) { if (json is! Map) { return null; @@ -140,3 +177,106 @@ String? _firstNonBlank(dynamic json, List keys) { } return null; } + +bool _hasInviteIdentity(Map source) { + return _firstNonBlank(source, const [ + 'account', + 'actualAccount', + 'userAvatar', + 'userNickname', + 'nickname', + ]) != + null; +} + +Map _stringKeyMap(dynamic value) { + if (value is Map) { + return value; + } + if (value is Map) { + return value.map((key, item) => MapEntry(key.toString(), item)); + } + return const {}; +} + +Map _contentMap(dynamic content) { + if (content is String && content.trim().isNotEmpty) { + try { + final decoded = jsonDecode(content); + return _stringKeyMap(decoded); + } catch (_) { + return const {}; + } + } + return _stringKeyMap(content); +} + +String? _relationTypeFromGiftPayload(Map source) { + for (final key in const ['gift', 'giftInfo', 'giftConfig', 'giftVO']) { + final gift = _stringKeyMap(source[key]); + if (gift.isEmpty) { + continue; + } + final explicit = _firstNonBlank(gift, _relationTypeKeys); + if (explicit != null && explicit.isNotEmpty) { + return explicit; + } + final inferred = _inferRelationTypeFromGift(gift); + if (inferred != null) { + return inferred; + } + } + return null; +} + +String? _inferRelationTypeFromGift(Map gift) { + for (final key in const [ + 'giftCode', + 'giftName', + 'name', + 'special', + 'standardId', + ]) { + final inferred = _inferRelationTypeFromText(gift[key]?.toString()); + if (inferred != null) { + return inferred; + } + } + return null; +} + +String? _inferRelationTypeFromText(String? value) { + final upper = value?.trim().toUpperCase(); + if (upper == null || upper.isEmpty) { + return null; + } + if (_hasRelationToken(upper, const ['SIS', 'SISTER', 'SISTERS'])) { + return 'SISTERS'; + } + if (_hasRelationToken(upper, const [ + 'BRO', + 'BROS', + 'BROTHER', + 'BROTHERS', + 'SWORN_BRO', + 'SWORN_BROS', + 'SWORN_BROTHER', + 'SWORN_BROTHERS', + ])) { + return 'BROTHER'; + } + if (_hasRelationToken(upper, const ['CP', 'COUPLE'])) { + return 'CP'; + } + return null; +} + +bool _hasRelationToken(String upperText, List tokens) { + for (final token in tokens) { + final escaped = RegExp.escape(token); + if (RegExp('(^|[^A-Z0-9])$escaped([^A-Z0-9]|\$)').hasMatch(upperText)) { + return true; + } + } + return false; +} diff --git a/lib/shared/data_sources/models/message/sc_floating_message.dart b/lib/shared/data_sources/models/message/sc_floating_message.dart index 711a66e..e47f3ac 100644 --- a/lib/shared/data_sources/models/message/sc_floating_message.dart +++ b/lib/shared/data_sources/models/message/sc_floating_message.dart @@ -12,6 +12,8 @@ class SCFloatingMessage { String? fallbackUrl; // 兜底资源 String? giftId; // 礼物id String? giftTab; // 礼物分类 + String? gameId; // 游戏id + String? displayText; // 飘窗展示文案 int? type; int? rocketLevel; num? coins; @@ -35,6 +37,8 @@ class SCFloatingMessage { this.fallbackUrl = '', this.giftId = '', this.giftTab = '', + this.gameId = '', + this.displayText = '', this.number = 0, this.coins = 0, this.durationSeconds, @@ -57,6 +61,8 @@ class SCFloatingMessage { fallbackUrl = json['fallbackUrl']; giftId = json['giftId']; giftTab = json['giftTab']; + gameId = json['gameId']?.toString(); + displayText = json['displayText']?.toString(); coins = json['coins']; number = json['number']; durationSeconds = json['durationSeconds']; @@ -82,6 +88,8 @@ class SCFloatingMessage { map['fallbackUrl'] = fallbackUrl; map['giftId'] = giftId; map['giftTab'] = giftTab; + map['gameId'] = gameId; + map['displayText'] = displayText; map['coins'] = coins; map['number'] = number; map['durationSeconds'] = durationSeconds; diff --git a/lib/shared/data_sources/sources/local/floating_screen_manager.dart b/lib/shared/data_sources/sources/local/floating_screen_manager.dart index 443a203..1bcaa10 100644 --- a/lib/shared/data_sources/sources/local/floating_screen_manager.dart +++ b/lib/shared/data_sources/sources/local/floating_screen_manager.dart @@ -17,6 +17,7 @@ import 'package:yumi/ui_kit/widgets/room/floating/floating_luck_gift_screen_widg import 'package:yumi/ui_kit/widgets/room/floating/floating_room_redenvelope_screen_widget.dart'; import 'package:yumi/ui_kit/widgets/room/floating/floating_room_rocket_screen_widget.dart'; import 'package:yumi/ui_kit/widgets/room/floating/floating_vip_entry_screen_widget.dart'; +import 'package:yumi/ui_kit/widgets/room/floating/floating_cp_relation_screen_widget.dart'; import 'package:yumi/shared/data_sources/models/message/sc_floating_message.dart'; import 'package:yumi/ui_kit/widgets/svga/sc_svga_asset_widget.dart'; @@ -30,8 +31,9 @@ class OverlayManager { static const Duration _rocketFloatingFallbackDedupWindow = Duration( seconds: 30, ); + static const Duration _gameWinFloatingDedupWindow = Duration(seconds: 10); static const int _maxStackedFloatingVisibleCount = 2; - static const List _stackedFloatingOrder = [5, 1, 4, 3]; + static const List _stackedFloatingOrder = [6, 5, 1, 4, 3]; static const double _stackedFloatingBaseTop = 70; static const double _stackedFloatingGap = 8; @@ -190,10 +192,45 @@ class OverlayManager { } return 'room_red_packet|$packetId'; } + if (message.type == 2) { + final roundId = message.giftId?.trim() ?? ''; + final userId = message.userId?.trim() ?? ''; + if (roundId.isNotEmpty) { + return 'game_win|$roundId|$userId'; + } + final roomId = message.roomId?.trim() ?? ''; + final gameId = message.gameId?.trim() ?? ''; + final coins = message.coins ?? 0; + if (roomId.isEmpty && userId.isEmpty && gameId.isEmpty && coins == 0) { + return null; + } + return 'game_win_fallback|$roomId|$userId|$gameId|$coins'; + } + if (message.type == 6) { + final roomId = message.roomId?.trim() ?? ''; + final action = message.giftId?.trim() ?? ''; + final relationType = message.giftTab?.trim() ?? ''; + final userId = message.userId?.trim() ?? ''; + final toUserId = message.toUserId?.trim() ?? ''; + if (roomId.isEmpty && + action.isEmpty && + relationType.isEmpty && + userId.isEmpty && + toUserId.isEmpty) { + return null; + } + return 'cp_relation|$roomId|$action|$relationType|$userId|$toUserId'; + } return null; } Duration _floatingDedupWindowFor(SCFloatingMessage message) { + if (message.type == 2) { + return _gameWinFloatingDedupWindow; + } + if (message.type == 6) { + return _gameWinFloatingDedupWindow; + } if (message.type == 3 && (message.giftId?.trim() ?? '').isEmpty) { return _rocketFloatingFallbackDedupWindow; } @@ -245,13 +282,16 @@ class OverlayManager { unawaited( warmImageResource( message.giftUrl ?? "", - logicalWidth: message.type == 5 ? 350 : 96, - logicalHeight: message.type == 5 ? 84 : 96, + logicalWidth: message.type == 5 || message.type == 6 ? 350 : 96, + logicalHeight: message.type == 5 || message.type == 6 ? 84 : 96, ), ); if (message.type == 0) { unawaited(_warmLuckyGiftBannerSvga()); } + if (message.type == 2) { + unawaited(_warmGameWinBannerSvga()); + } } Future _warmLuckyGiftBannerSvga() async { @@ -264,6 +304,16 @@ class OverlayManager { } } + Future _warmGameWinBannerSvga() async { + try { + await SCSvgaAssetWidget.preloadAsset( + FloatingGameScreenWidget.backgroundSvgaAssetPath, + ); + } catch (error) { + // Preload failure is non-fatal; the banner will retry during rendering. + } + } + void _safeScheduleNext() { if (_isSuppressed) return; if (_isProcessing || _messageQueue.isEmpty) return; @@ -470,6 +520,12 @@ class OverlayManager { message: message, onAnimationCompleted: onComplete, ); + case 6: + //CP / 挚友关系飘窗 + return FloatingCpRelationScreenWidget( + message: message, + onAnimationCompleted: onComplete, + ); default: onComplete(); return Container(); @@ -487,6 +543,8 @@ class OverlayManager { return 4; case 5: return 5; + case 6: + return 6; default: return null; } @@ -528,6 +586,8 @@ class OverlayManager { return 66; case 5: return 84; + case 6: + return FloatingCpRelationScreenWidget.bannerHeight; default: return 68; } @@ -679,6 +739,9 @@ class OverlayManager { if (normalizedRoomId.isNotEmpty) { _removeMessagesByType(3, roomId: normalizedRoomId); } + if (normalizedRoomId.isNotEmpty) { + _removeMessagesByType(2, roomId: normalizedRoomId); + } if (normalizedRoomId.isNotEmpty) { _removeMessagesByType(4, roomId: normalizedRoomId); } @@ -734,9 +797,14 @@ class OverlayManager { return message.type == 3 && message.isRegionBroadcast; } + bool _isRegionGameWinMessage(SCFloatingMessage message) { + return message.type == 2 && message.isRegionBroadcast; + } + bool _isCrossRoomRegionFloatingMessage(SCFloatingMessage message) { return _isRegionRedPacketMessage(message) || - _isRegionRoomRocketMessage(message); + _isRegionRoomRocketMessage(message) || + _isRegionGameWinMessage(message); } bool _shouldDeferRegionRedPacketMessage( @@ -856,15 +924,25 @@ class OverlayManager { currentRoomId == messageRoomId; if (isCurrentVisibleRoom) { // 区域红包/火箭在当前房间仍然需要展示;区域礼物当前房间由 RTM 层跳过,避免和房间 IM 礼物飘屏重复。 - return message.type == 4 || message.type == 3; + return message.type == 4 || message.type == 3 || message.type == 2; } final isCurrentRoomMessage = currentRoomId.isNotEmpty && messageRoomId.isNotEmpty && currentRoomId == messageRoomId; - if ((message.type == 4 || message.type == 3) && isCurrentRoomMessage) { + if ((message.type == 4 || message.type == 3 || message.type == 2) && + isCurrentRoomMessage) { return false; } + if (message.type == 2) { + if (SCGlobalConfig.isFloatingBroadcastRoomOnly) { + return false; + } + if (rtcProvider.shouldShowRoomVisualEffects) { + return true; + } + return SCGlobalConfig.isFloatingBroadcastAll && _homeRootTabsVisible; + } if ((message.type == 4 || message.type == 3) && rtcProvider.shouldShowRoomVisualEffects) { return true; @@ -920,6 +998,7 @@ class OverlayManager { if (activeMessage != null && (activeMessage.type == 0 || activeMessage.type == 1 || + activeMessage.type == 2 || activeMessage.type == 3 || activeMessage.type == 5 || (includeRedPacket && activeMessage.type == 4)) && @@ -959,6 +1038,7 @@ class OverlayManager { final isRoomFloatingType = type == 0 || type == 1 || + type == 2 || type == 3 || type == 5 || (includeRedPacket && type == 4); diff --git a/lib/shared/data_sources/sources/repositories/sc_config_repository_imp.dart b/lib/shared/data_sources/sources/repositories/sc_config_repository_imp.dart index 6f4195c..c6e9509 100644 --- a/lib/shared/data_sources/sources/repositories/sc_config_repository_imp.dart +++ b/lib/shared/data_sources/sources/repositories/sc_config_repository_imp.dart @@ -18,7 +18,7 @@ import 'package:yumi/shared/business_logic/models/res/sc_top_four_with_reward_re import 'package:yumi/shared/business_logic/models/res/version_manage_lates_review_res.dart'; import 'package:yumi/shared/business_logic/repositories/config_repository.dart'; import 'package:yumi/shared/data_sources/sources/remote/net/api.dart' - show BaseNetworkClient; + show BaseNetworkClient, DioException; import 'package:yumi/shared/data_sources/sources/remote/net/network_client.dart'; import 'package:yumi/shared/tools/sc_deviceId_utils.dart'; @@ -58,23 +58,37 @@ class SCConfigRepositoryImp implements SocialChatConfigRepository { return result; } - ///go/app/popups/entry + ///app/popups/entry @override Future entryPopup() async { final deviceId = await SCDeviceIdUtils.getDeviceId(); - final result = await http.post( - "/go/app/popups/entry", - data: { - "scene": "APP_ENTER", - "platform": Platform.isIOS ? "ios" : "android", - "appVersion": SCGlobalConfig.version, - "deviceId": deviceId, - "language": SCGlobalConfig.lang, - }, + final data = { + "scene": "APP_ENTER", + "platform": Platform.isIOS ? "ios" : "android", + "appVersion": SCGlobalConfig.version, + "deviceId": deviceId, + "language": SCGlobalConfig.lang, + }; + try { + return await _entryPopupByPath("/app/popups/entry", data); + } on DioException catch (error) { + if (error.response?.statusCode != 404) { + rethrow; + } + return _entryPopupByPath("/go/app/popups/entry", data); + } + } + + Future _entryPopupByPath( + String path, + Map data, + ) { + return http.post( + path, + data: data, extra: const {BaseNetworkClient.silentErrorToastKey: true}, fromJson: (json) => SCEntryPopupRes.fromJson(json), ); - return result; } ///sys/config/enum/config diff --git a/lib/shared/tools/sc_cp_relation_broadcast_assets.dart b/lib/shared/tools/sc_cp_relation_broadcast_assets.dart new file mode 100644 index 0000000..42426ea --- /dev/null +++ b/lib/shared/tools/sc_cp_relation_broadcast_assets.dart @@ -0,0 +1,15 @@ +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; + +const int scCpRelationBroadcastFloatingType = 6; + +String scCpRelationBroadcastAsset(String? relationType) { + switch (scNormalizeCpRelationType(relationType)) { + case "BROTHER": + return "sc_images/room/cp_broadcast/brother_broadcast.pag"; + case "SISTERS": + return "sc_images/room/cp_broadcast/sisters_broadcast.pag"; + case "CP": + default: + return "sc_images/room/cp_broadcast/CP_broadcast.pag"; + } +} diff --git a/lib/shared/tools/sc_cp_relation_notice_utils.dart b/lib/shared/tools/sc_cp_relation_notice_utils.dart index cd15ed3..3ffb9bb 100644 --- a/lib/shared/tools/sc_cp_relation_notice_utils.dart +++ b/lib/shared/tools/sc_cp_relation_notice_utils.dart @@ -41,6 +41,17 @@ String scCpRelationPossessiveLabel(String? relationType) { } } +String scCpRelationEntryLabel(String? relationType) { + switch (scNormalizeCpRelationType(relationType)) { + case "BROTHER": + return "brother"; + case "SISTERS": + return "sister"; + default: + return "cp"; + } +} + String scCpRelationDialogTitle(String? relationType) { switch (scNormalizeCpRelationType(relationType)) { case "BROTHER": @@ -52,6 +63,19 @@ String scCpRelationDialogTitle(String? relationType) { } } +String scCpRelationDisplayDays(String? days) { + final text = days?.trim() ?? ""; + final value = num.tryParse(text.replaceAll(",", "")); + if (value == null) { + return text.isEmpty ? "1" : text; + } + final displayValue = value + 1; + if (displayValue % 1 == 0) { + return displayValue.toInt().toString(); + } + return displayValue.toString(); +} + String scBuildCpRelationEstablishedNotice({ required String userName1, required String userName2, @@ -66,7 +90,14 @@ String scBuildCpRelationJoinNotice({ required String joinedName, required String? relationType, }) { - return "[System Notification] $ownerName's " - "${scCpRelationPossessiveLabel(relationType)}, $joinedName, " - "has joined the party."; + return "[System Notification] ${scBuildCpRelationEntryBroadcastText(ownerName: ownerName, joinedName: joinedName, relationType: relationType)}."; +} + +String scBuildCpRelationEntryBroadcastText({ + required String ownerName, + required String joinedName, + required String? relationType, +}) { + return "$ownerName's ${scCpRelationEntryLabel(relationType)} " + "$joinedName enter the room"; } diff --git a/lib/shared/tools/sc_cp_relation_pair_utils.dart b/lib/shared/tools/sc_cp_relation_pair_utils.dart new file mode 100644 index 0000000..27679dc --- /dev/null +++ b/lib/shared/tools/sc_cp_relation_pair_utils.dart @@ -0,0 +1,130 @@ +import 'package:yumi/shared/business_logic/models/res/login_res.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; + +class SCCpRelationPairInfo { + const SCCpRelationPairInfo({required this.relationType, this.cpLevel}); + + final String relationType; + final int? cpLevel; +} + +String? scCpRelationTypeBetweenProfiles( + SocialChatUserProfile? left, + SocialChatUserProfile? right, +) { + return scCpRelationInfoBetweenProfiles(left, right)?.relationType; +} + +SCCpRelationPairInfo? scCpRelationInfoBetweenProfiles( + SocialChatUserProfile? left, + SocialChatUserProfile? right, +) { + if (!_hasRelationIdentity(left) || !_hasRelationIdentity(right)) { + return null; + } + SCCpRelationPairInfo? fallbackInfo; + for (final relation in _relationsForProfile(left)) { + final relationInfo = _relationInfoIfContainsBoth(relation, left!, right!); + if (relationInfo != null) { + if (relationInfo.relationType != "CP" || relationInfo.cpLevel != null) { + return relationInfo; + } + fallbackInfo ??= relationInfo; + } + } + for (final relation in _relationsForProfile(right)) { + final relationInfo = _relationInfoIfContainsBoth(relation, left!, right!); + if (relationInfo != null) { + if (relationInfo.relationType != "CP" || relationInfo.cpLevel != null) { + return relationInfo; + } + fallbackInfo ??= relationInfo; + } + } + return fallbackInfo; +} + +int scCpProfileRelationVersion(SocialChatUserProfile? profile) { + if (profile == null) { + return 0; + } + return Object.hashAll( + _relationsForProfile(profile).map( + (relation) => Object.hash( + relation.meUserId ?? "", + relation.meAccount ?? "", + relation.cpUserId ?? "", + relation.cpAccount ?? "", + relation.relationType ?? "", + relation.status ?? "", + relation.levelText ?? "", + relation.cpValue ?? 0, + ), + ), + ); +} + +Iterable _relationsForProfile(SocialChatUserProfile? profile) sync* { + yield* profile?.cpList ?? const []; + yield* profile?.closeFriendList ?? const []; +} + +SCCpRelationPairInfo? _relationInfoIfContainsBoth( + CPRes relation, + SocialChatUserProfile left, + SocialChatUserProfile right, +) { + final leftKeys = _profileKeys(left); + final rightKeys = _profileKeys(right); + if (leftKeys.isEmpty || rightKeys.isEmpty) { + return null; + } + final relationKeys = _relationKeys(relation); + if (!relationKeys.any(leftKeys.contains) || + !relationKeys.any(rightKeys.contains)) { + return null; + } + final relationType = scNormalizeCpRelationType(relation.relationType); + return SCCpRelationPairInfo( + relationType: relationType, + cpLevel: relationType == "CP" ? _cpLevelFromRelation(relation) : null, + ); +} + +bool _hasRelationIdentity(SocialChatUserProfile? profile) => + _profileKeys(profile).isNotEmpty; + +Set _profileKeys(SocialChatUserProfile? profile) { + return { + _normalizedRelationKey(profile?.id), + _normalizedRelationKey(profile?.account), + }..remove(""); +} + +Set _relationKeys(CPRes relation) { + return { + _normalizedRelationKey(relation.meUserId), + _normalizedRelationKey(relation.meAccount), + _normalizedRelationKey(relation.cpUserId), + _normalizedRelationKey(relation.cpAccount), + }..remove(""); +} + +String _normalizedRelationKey(String? value) => value?.trim() ?? ""; + +int? _cpLevelFromRelation(CPRes relation) { + final levelText = relation.levelText?.trim() ?? ""; + if (levelText.isEmpty) { + return null; + } + final levelMatch = RegExp( + r'(?:lv\.?|level|等级|级)\s*([1-5])|([1-5])\s*(?:级|level)', + caseSensitive: false, + ).firstMatch(levelText); + final rawLevel = levelMatch?.group(1) ?? levelMatch?.group(2); + final level = int.tryParse(rawLevel ?? ""); + if (level == null) { + return null; + } + return level.clamp(1, 5); +} diff --git a/lib/shared/tools/sc_entry_popup_coordinator.dart b/lib/shared/tools/sc_entry_popup_coordinator.dart index 5664d95..7d562fa 100644 --- a/lib/shared/tools/sc_entry_popup_coordinator.dart +++ b/lib/shared/tools/sc_entry_popup_coordinator.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:provider/provider.dart'; @@ -68,43 +69,53 @@ class SCEntryPopupCoordinator { 'response requestId=${response.requestId} ' 'queue=${response.queue} popups=${response.popups.keys.toList()}', ); - final popup = _pickDisplayablePopup(response); - if (popup == null) { + final candidates = _displayablePopups(response); + if (candidates.isEmpty) { _log('skip reason=no-displayable-popup'); return; } - final imageUrl = normalizeImageResourceUrl(popup.image); - final imageReady = await warmImageResource( - imageUrl, - logicalWidth: 326, - timeout: const Duration(seconds: 8), - ); - if (!imageReady || !context.mounted) { - _log( - 'skip reason=image-not-ready key=${popup.key} ' - 'image=${_clip(imageUrl)} mounted=${context.mounted}', + for (final popup in candidates) { + final imageUrl = normalizeImageResourceUrl(popup.image); + final imageReady = await warmImageResource( + imageUrl, + logicalWidth: 326, + timeout: const Duration(seconds: 8), + ); + if (!context.mounted) { + _log('skip reason=context-unmounted-after-image key=${popup.key}'); + return; + } + if (!imageReady) { + _log( + 'skip candidate key=${popup.key} reason=image-not-ready ' + 'image=${_clip(imageUrl)}', + ); + continue; + } + _log('show key=${popup.key} popupId=${popup.popupId}'); + await SCEntryPopupDialog.show( + context, + popup: popup, + imageUrl: imageUrl, + onDisplayed: () { + unawaited(_markShown(popup)); + }, + onTap: () { + unawaited(_handlePopupTap(context, popup, onSelectRootTab)); + }, ); return; } - _log('show key=${popup.key} popupId=${popup.popupId}'); - await SCEntryPopupDialog.show( - context, - popup: popup, - imageUrl: imageUrl, - onDisplayed: () { - unawaited(_markShown(popup)); - }, - onTap: () { - unawaited(_handlePopupTap(context, popup, onSelectRootTab)); - }, - ); + _log('skip reason=no-image-ready-candidates'); } catch (error) { + _log('request failed error=$error'); } finally { _isRunning = false; } } - static SCEntryPopupItem? _pickDisplayablePopup(SCEntryPopupRes response) { + static List _displayablePopups(SCEntryPopupRes response) { + final candidates = []; final queuedKeys = {}; for (final popupKey in response.queue) { queuedKeys.add(popupKey); @@ -119,7 +130,7 @@ class SCEntryPopupCoordinator { continue; } _log('candidate key=${popup.key} source=queue'); - return popup; + candidates.add(popup); } final fallbackPopups = @@ -134,9 +145,9 @@ class SCEntryPopupCoordinator { continue; } _log('candidate key=${popup.key} source=priority-fallback'); - return popup; + candidates.add(popup); } - return null; + return candidates; } static String? _cannotShowReason(SCEntryPopupItem popup) { @@ -447,7 +458,9 @@ class SCEntryPopupCoordinator { final room = await SCChatRoomRepository().specific(roomId); resolvedPreviewData = RoomEntryPreviewData.fromMyRoom(room); } - } catch (error) {} + } catch (error) { + _log('open room preview failed roomId=$roomId error=$error'); + } if (!context.mounted) { return false; } @@ -521,7 +534,11 @@ class SCEntryPopupCoordinator { return ''; } - static void _log(String message) {} + static void _log(String message) { + if (kDebugMode) { + debugPrint('[EntryPopup] $message'); + } + } static String _clip(String value, {int maxLength = 180}) { if (value.length <= maxLength) { diff --git a/lib/ui_kit/widgets/first_recharge/first_recharge_dialog.dart b/lib/ui_kit/widgets/first_recharge/first_recharge_dialog.dart index 10c0291..75f518a 100644 --- a/lib/ui_kit/widgets/first_recharge/first_recharge_dialog.dart +++ b/lib/ui_kit/widgets/first_recharge/first_recharge_dialog.dart @@ -156,36 +156,59 @@ class FirstRechargeDialogData { SCFirstRechargeRewardHomeRes home, ) { final levels = home.availableLevelConfigs.take(2).toList(); - final packages = - levels.map((level) { - return FirstRechargePackage( - priceText: _formatPriceText(level), - discountText: level.discountText, - totalValueText: level.totalValueText, - rechargeAmountCents: level.rechargeAmountCents, - productPackage: level.productPackage, - rewards: - level.rewardItems.map((item) { - return FirstRechargeReward( - title: item.displayTitle, - style: - item.isCoinReward - ? FirstRechargeRewardStyle.coin - : FirstRechargeRewardStyle.prop, - badgeText: item.displayBadgeText, - cover: item.cover, - ); - }).toList(), - ); - }).toList(); + final packages = []; + var selectedPackageIndex = 0; + for (final level in levels) { + final rewards = + level.rewardItems.where(_isDisplayableRewardItem).map((item) { + return FirstRechargeReward( + title: _rewardTitle(item), + style: + item.isCoinReward + ? FirstRechargeRewardStyle.coin + : FirstRechargeRewardStyle.prop, + badgeText: item.displayBadgeText, + cover: item.cover, + ); + }).toList(); + if (rewards.isEmpty) { + continue; + } + if (level.current) { + selectedPackageIndex = packages.length; + } + packages.add( + FirstRechargePackage( + priceText: _formatPriceText(level), + discountText: level.discountText, + totalValueText: level.totalValueText, + rechargeAmountCents: level.rechargeAmountCents, + productPackage: level.productPackage, + rewards: rewards, + ), + ); + } - final currentIndex = levels.indexWhere((level) => level.current); return FirstRechargeDialogData( packages: packages, - initialPackageIndex: currentIndex >= 0 ? currentIndex : 0, + initialPackageIndex: selectedPackageIndex, ); } + static bool _isDisplayableRewardItem(SCFirstRechargeRewardItem item) { + if (item.isCoinReward) { + return item.quantity > 0 || item.displayTitle.trim().isNotEmpty; + } + return item.name.trim().isNotEmpty || item.cover.trim().isNotEmpty; + } + + static String _rewardTitle(SCFirstRechargeRewardItem item) { + if (item.isCoinReward) { + return item.displayTitle; + } + return item.name.trim(); + } + static String _formatPriceText(SCFirstRechargeLevelConfig level) { final amount = level.rechargeAmount.trim(); if (amount.isNotEmpty) { @@ -476,14 +499,9 @@ class _FirstRechargeDialogState extends State { Offset(227, 316), ]; - return List.generate(positions.length, (index) { - final reward = - index < rewards.length - ? rewards[index] - : const FirstRechargeReward( - title: '', - style: FirstRechargeRewardStyle.prop, - ); + final visibleRewards = rewards.take(positions.length).toList(); + return List.generate(visibleRewards.length, (index) { + final reward = visibleRewards[index]; final position = positions[index]; return Positioned( left: position.dx * scale, diff --git a/lib/ui_kit/widgets/room/floating/floating_cp_relation_screen_widget.dart b/lib/ui_kit/widgets/room/floating/floating_cp_relation_screen_widget.dart new file mode 100644 index 0000000..9c80fdf --- /dev/null +++ b/lib/ui_kit/widgets/room/floating/floating_cp_relation_screen_widget.dart @@ -0,0 +1,213 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:yumi/shared/data_sources/models/message/sc_floating_message.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_broadcast_assets.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; +import 'package:yumi/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart'; + +class FloatingCpRelationScreenWidget extends StatefulWidget { + const FloatingCpRelationScreenWidget({ + super.key, + required this.message, + required this.onAnimationCompleted, + }); + + static const double bannerWidth = 350; + static const double bannerHeight = 84; + + final SCFloatingMessage message; + final VoidCallback onAnimationCompleted; + + @override + State createState() => + _FloatingCpRelationScreenWidgetState(); +} + +class _FloatingCpRelationScreenWidgetState + extends State + with SingleTickerProviderStateMixin { + late final AnimationController _controller; + late final Animation _offsetAnimation; + bool _completed = false; + + @override + void initState() { + super.initState(); + final seconds = widget.message.durationSeconds?.toInt() ?? 5; + _controller = AnimationController( + duration: Duration(seconds: seconds <= 0 ? 5 : seconds), + vsync: this, + ); + _offsetAnimation = Tween( + begin: const Offset(1, 0), + end: const Offset(-1, 0), + ).animate(CurvedAnimation(parent: _controller, curve: Curves.easeOut)); + _controller.addStatusListener((status) { + if (status == AnimationStatus.completed) { + _complete(); + } + }); + WidgetsBinding.instance.addPostFrameCallback((_) { + if (mounted) { + _controller.forward(); + } + }); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + void _complete() { + if (_completed) { + return; + } + _completed = true; + widget.onAnimationCompleted(); + } + + @override + Widget build(BuildContext context) { + return SlideTransition( + position: _offsetAnimation, + child: SizedBox( + width: FloatingCpRelationScreenWidget.bannerWidth.w, + height: FloatingCpRelationScreenWidget.bannerHeight.w, + child: Stack( + clipBehavior: Clip.none, + children: [ + Positioned.fill(child: _buildPagBackground()), + Positioned.fill(child: _buildText()), + ], + ), + ), + ); + } + + Widget _buildPagBackground() { + final asset = + (widget.message.giftUrl?.trim().isNotEmpty ?? false) + ? widget.message.giftUrl!.trim() + : scCpRelationBroadcastAsset(widget.message.giftTab); + return RoomRocketPagPreview( + resource: asset, + width: FloatingCpRelationScreenWidget.bannerWidth.w, + height: FloatingCpRelationScreenWidget.bannerHeight.w, + fit: BoxFit.cover, + clipBehavior: Clip.none, + defaultBuilder: (_) => _buildFallbackBackground(), + ); + } + + Widget _buildFallbackBackground() { + final colors = _relationColors(widget.message.giftTab); + return Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(42.w), + gradient: LinearGradient(colors: colors), + ), + ); + } + + Widget _buildText() { + return Padding( + padding: EdgeInsetsDirectional.only(start: 82.w, end: 54.w), + child: Align( + alignment: AlignmentDirectional.centerStart, + child: ClipRect( + child: Text( + _displayText(), + maxLines: 2, + overflow: TextOverflow.ellipsis, + textAlign: TextAlign.left, + style: TextStyle( + fontSize: _textFontSize().sp, + height: 1.18, + color: Colors.white, + fontWeight: FontWeight.w800, + decoration: TextDecoration.none, + shadows: [ + Shadow( + color: const Color(0xFF5B0F59).withValues(alpha: 0.86), + blurRadius: 4.w, + offset: Offset(0, 1.w), + ), + Shadow( + color: Colors.black.withValues(alpha: 0.34), + blurRadius: 8.w, + offset: Offset(0, 1.5.w), + ), + ], + ), + ), + ), + ), + ); + } + + String _displayText() { + if (widget.message.giftId == "RELATION_JOINED_ROOM") { + return scBuildCpRelationEntryBroadcastText( + ownerName: _shortName(widget.message.toUserName), + joinedName: _shortName(widget.message.userName), + relationType: widget.message.giftTab, + ); + } + final explicitText = widget.message.displayText?.trim() ?? ""; + if (explicitText.isNotEmpty) { + return _stripSystemNotificationPrefix(explicitText); + } + return _stripSystemNotificationPrefix( + scBuildCpRelationEstablishedNotice( + userName1: _shortName(widget.message.userName), + userName2: _shortName(widget.message.toUserName), + relationType: widget.message.giftTab, + ), + ); + } + + String _shortName(String? value) { + final text = value?.trim() ?? ""; + if (text.length <= 14) { + return text; + } + return "${text.substring(0, 13)}..."; + } + + double _textFontSize() { + final length = _displayText().characters.length; + if (length > 58) { + return 9.5; + } + if (length > 42) { + return 10.5; + } + return 11.5; + } + + String _stripSystemNotificationPrefix(String text) { + return text + .replaceFirst( + RegExp( + r'^\s*[\[\【]\s*sys(?:tem|term)\s+notification\s*[\]\】]\s*', + caseSensitive: false, + ), + '', + ) + .trim(); + } + + List _relationColors(String? relationType) { + switch (scNormalizeCpRelationType(relationType)) { + case "BROTHER": + return const [Color(0xFF0B5DA8), Color(0xFF63B8FF)]; + case "SISTERS": + return const [Color(0xFF8E2BA8), Color(0xFFFF8BF3)]; + case "CP": + default: + return const [Color(0xFFFF59B7), Color(0xFFFF9BD8)]; + } + } +} diff --git a/lib/ui_kit/widgets/room/floating/floating_game_screen_widget.dart b/lib/ui_kit/widgets/room/floating/floating_game_screen_widget.dart index 54f717e..922482a 100644 --- a/lib/ui_kit/widgets/room/floating/floating_game_screen_widget.dart +++ b/lib/ui_kit/widgets/room/floating/floating_game_screen_widget.dart @@ -1,412 +1,484 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_debouncer/flutter_debouncer.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:yumi/ui_kit/components/sc_compontent.dart'; -import 'package:yumi/ui_kit/components/text/sc_text.dart'; -import 'package:yumi/shared/tools/sc_room_utils.dart'; -import 'package:yumi/main.dart'; -import 'package:marquee/marquee.dart'; - -import 'package:yumi/app_localizations.dart'; -import 'package:yumi/shared/data_sources/models/message/sc_floating_message.dart'; - -class FloatingGameScreenWidget extends StatefulWidget { - final SCFloatingMessage message; - final VoidCallback onAnimationCompleted; // 动画完成回调 - - const FloatingGameScreenWidget({ - Key? key, - required this.message, - required this.onAnimationCompleted, - }) : super(key: key); - - @override - _FloatingGameScreenWidgetState createState() => - _FloatingGameScreenWidgetState(); -} - -class _FloatingGameScreenWidgetState extends State - with TickerProviderStateMixin { - Debouncer debouncer = Debouncer(); - late AnimationController _controller; - late Animation _firstAnimation; // 第一段:从右到中 - late Animation _secondAnimation; // 第二段:从中到左 - late AnimationController _swipeController; // 新增:滑动动画控制器 - late Animation _swipeAnimation; // 新增:滑动动画 - - bool _firstPhaseCompleted = false; - bool _isSwipeAnimating = false; // 标记是否正在执行滑动动画 - - ///游戏赢的金币按数量分等级,不同等级特效背景也不一样 - int level = 1; - - @override - void initState() { - super.initState(); - if ((widget.message.coins ?? 0) > 14999 && - (widget.message.coins ?? 0) < 50000) { - level = 1; - } else if ((widget.message.coins ?? 0) > 49999 && - (widget.message.coins ?? 0) < 100000) { - level = 2; - } else if ((widget.message.coins ?? 0) > 99999 && - (widget.message.coins ?? 0) < 300000) { - level = 3; - } else if ((widget.message.coins ?? 0) > 299999 && - (widget.message.coins ?? 0) < 500000) { - level = 4; - } else if ((widget.message.coins ?? 0) > 499999) { - level = 5; - } - - // 主动画控制器 - _controller = AnimationController( - duration: const Duration(milliseconds: 1500), // 每段动画1.5秒 - vsync: this, - ); - - // 滑动动画控制器 - _swipeController = AnimationController( - duration: const Duration(milliseconds: 550), // 滑动动画500ms - vsync: this, - ); - - // 监听滑动动画完成 - _swipeController.addStatusListener((status) { - if (status == AnimationStatus.completed) { - widget.onAnimationCompleted(); - } - }); - - // 第一段动画:从右侧飘到中间 - _firstAnimation = Tween( - begin: const Offset(1.5, 0.0), // 从屏幕右侧外开始 - end: Offset.zero, // 到屏幕中心 - ).animate(CurvedAnimation(parent: _controller, curve: Curves.easeIn)); - - // 第二段动画:从中间飘到左侧 - _secondAnimation = Tween( - begin: Offset.zero, // 从屏幕中心开始 - end: const Offset(-1.5, 0.0), // 到屏幕左侧外 - ).animate(CurvedAnimation(parent: _controller, curve: Curves.easeIn)); - - // 滑动动画:从当前位置滑动到左侧屏幕外 - _swipeAnimation = Tween( - begin: Offset.zero, // 从当前位置开始 - end: const Offset(-1.5, 0.0), // 到屏幕左侧外 - ).animate(CurvedAnimation( - parent: _swipeController, - curve: Curves.easeIn, - )); - - // 延迟启动动画 - WidgetsBinding.instance.addPostFrameCallback((_) { - if (mounted) { - _startAnimationSequence(); - } - }); - } - - void _startAnimationSequence() async { - // 第一阶段:从右到中 - _controller.reset(); - await _controller.forward(); - - // 停顿2秒(你代码中是3秒,这里保持原样) - await Future.delayed(const Duration(seconds: 3)); - - if (!mounted) return; - - // 第二阶段:从中到左 - setState(() { - _firstPhaseCompleted = true; - }); - _controller.reset(); - await _controller.forward(); - - if (mounted && !_isSwipeAnimating) { - widget.onAnimationCompleted(); - } - } - - // 处理向左滑动 - void _handleSwipeLeft() { - if (_isSwipeAnimating) return; - - setState(() { - _isSwipeAnimating = true; - }); - - // 停止主动画 - _controller.stop(); - - // 启动滑动动画 - _swipeController.reset(); - _swipeController.forward(); - } - - String _coinsVaFormat(num coins) { - int value = coins.toInt(); - if (value > 99999) { - return "${(value / 1000).toStringAsFixed(0)}k"; - } - return "$value"; - } - - @override - void dispose() { - _controller.dispose(); - _swipeController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - return _buildGameAnimation(); - } - - Widget _buildGameAnimation() { - // 如果正在执行滑动动画,使用滑动动画 - if (_isSwipeAnimating) { - return SlideTransition( - position: _swipeAnimation, - child: _buildContent(), - ); - } - - // 否则使用原来的动画 - return SlideTransition( - position: _firstPhaseCompleted ? _secondAnimation : _firstAnimation, - child: _buildContent(), - ); - } - - Widget _buildContent() { - return GestureDetector( - onTap: () { - debouncer.debounce( - duration: Duration(milliseconds: 350), - onDebounce: () { - if (widget.message.roomId != null && - widget.message.roomId!.isNotEmpty) { - SCRoomUtils.goRoom( - widget.message.roomId!, - navigatorKey.currentState!.context, - fromFloting: true, - ); - } - }, - ); - }, - onHorizontalDragEnd: (details) { - // 获取当前的文本方向 - final textDirection = Directionality.of(context); - - // 定义一个根据方向转换速度符号的辅助函数 - double effectiveVelocity(double velocity) { - // 在RTL模式下,反转速度的正负号 - return textDirection == TextDirection.rtl - ? -velocity - : velocity; - } - - double velocity = effectiveVelocity(details.primaryVelocity ?? 0); - if (velocity < 0) { - ///向左滑动,把当前视图向左平移出去 - _handleSwipeLeft(); - } - }, - child: Align( - alignment: Alignment.topCenter, - child: Directionality( - textDirection: TextDirection.ltr, - child: Container( - alignment: Alignment.topCenter, - height: 120.w, - width: 325.w, - margin: EdgeInsets.only(top: 10.w), - child: Stack( - alignment: - level == 5 - ? AlignmentDirectional.topCenter - : AlignmentDirectional.center, - children: [ - if (widget.message.userAvatarUrl?.isNotEmpty ?? false) - _buildHead(), - Image.asset("sc_images/index/sc_icon_gamebroad_lv${level}_bg.webp"), - Row( - mainAxisSize: MainAxisSize.min, // 宽度由内容决定 - children: [ - SizedBox(width: level < 2 ? 82.w : 95.w), - Expanded( - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - SizedBox( - height: - level < 2 - ? 22.w - : (level == 5 ? 31.w : 25.w), - ), - Row( - children: [ - Container( - constraints: BoxConstraints( - maxWidth: 55.w, - maxHeight: 18.w, - ), - child: - (widget.message.userName?.length ?? - 0) > - 8 - ? Marquee( - text: - widget.message.userName ?? - "", - style: TextStyle( - fontSize: 12.sp, - color: Colors.orange, - fontWeight: FontWeight.bold, - decoration: - TextDecoration.none, - ), - scrollAxis: Axis.horizontal, - crossAxisAlignment: - CrossAxisAlignment.start, - blankSpace: 20.0, - velocity: 40.0, - pauseAfterRound: Duration( - seconds: 1, - ), - accelerationDuration: Duration( - seconds: 1, - ), - accelerationCurve: - Curves.easeOut, - decelerationDuration: Duration( - milliseconds: 500, - ), - decelerationCurve: - Curves.easeOut, - ) - : Text( - widget.message.userName ?? "", - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 12.sp, - color: Colors.orange, - fontWeight: FontWeight.bold, - decoration: - TextDecoration.none, - ), - ), - ), - text( - "ID:${widget.message.userId} ", - textColor: Colors.white, - fontWeight: FontWeight.bold, - fontSize: 12.sp, - ), - ], - ), - Transform.translate( - offset: Offset( - 0, - level < 2 ? -5 : (level == 5 ? -5 : 0), - ), - child: Row( - children: [ - text( - SCAppLocalizations.of(context)!.get, - textColor: Colors.orange, - fontWeight: FontWeight.w900, - fontSize: 16.sp, - fontStyle: FontStyle.italic - ), - buildNumForGame( - _coinsVaFormat( - widget.message.coins ?? 0, - ), - size: - (widget.message.coins ?? 0) > 99999 - ? 26.w - : 20.w, - ), - ], - ), - ), - ], - ), - ], - ), - ), - Container( - margin: EdgeInsets.only(top: level < 2 ? 10.w : 21.w), - child: netImage( - url: widget.message.giftUrl ?? "", - width: 28.w, - borderRadius: BorderRadius.all(Radius.circular(3.0)), - ), - ), - SizedBox(width: level < 2 ? 63.w : 65.w), - ], - ), - ], - ), - ), - ), - ), - ); - } - - Widget _buildHead() { - if (level == 1) { - return PositionedDirectional( - start: 43.w, - child: Container( - margin: EdgeInsets.only(top: 12.w), - child: head(url: widget.message.userAvatarUrl ?? "", width: 40.w), - ), - ); - } else if (level == 2) { - return PositionedDirectional( - start: 10.w, - child: Container( - margin: EdgeInsets.only(top: 25.w), - child: head(url: widget.message.userAvatarUrl ?? "", width: 70.w), - ), - ); - } else if (level == 3) { - return PositionedDirectional( - start: 10.w, - child: Container( - margin: EdgeInsets.only(top: 25.w), - child: head(url: widget.message.userAvatarUrl ?? "", width: 70.w), - ), - ); - } else if (level == 4) { - return PositionedDirectional( - start: 10.w, - child: Container( - margin: EdgeInsets.only(top: 25.w), - child: head(url: widget.message.userAvatarUrl ?? "", width: 70.w), - ), - ); - } else if (level == 5) { - return PositionedDirectional( - start: 22.w, - top: 20.w, - child: Container( - child: head(url: widget.message.userAvatarUrl ?? "", width: 48.w), - ), - ); - } - return Container(); - } -} \ No newline at end of file +import 'dart:async'; +import 'dart:ui' as ui; + +import 'package:flutter/material.dart'; +import 'package:flutter_debouncer/flutter_debouncer.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_svga/flutter_svga.dart'; +import 'package:provider/provider.dart'; +import 'package:yumi/main.dart'; +import 'package:yumi/services/audio/rtc_manager.dart'; +import 'package:yumi/shared/data_sources/models/message/sc_floating_message.dart'; +import 'package:yumi/shared/tools/sc_network_image_utils.dart'; +import 'package:yumi/shared/tools/sc_room_utils.dart'; +import 'package:yumi/ui_kit/widgets/room/room_game_bottom_sheet.dart'; +import 'package:yumi/ui_kit/widgets/svga/sc_svga_asset_widget.dart'; + +class FloatingGameScreenWidget extends StatefulWidget { + static const String backgroundSvgaAssetPath = + "sc_images/room/anim/game_win.svga"; + + const FloatingGameScreenWidget({ + super.key, + required this.message, + required this.onAnimationCompleted, + }); + + final SCFloatingMessage message; + final VoidCallback onAnimationCompleted; + + @override + State createState() => + _FloatingGameScreenWidgetState(); +} + +class _FloatingGameScreenWidgetState extends State + with TickerProviderStateMixin { + static const String _avatarDynamicKey = "avatar"; + static const String _gameIconDynamicKey = "gameicon"; + static const String _textLine1DynamicKey = "text1"; + static const String _textLine2DynamicKey = "text2"; + + final Debouncer _debouncer = Debouncer(); + late final AnimationController _controller; + late final Animation _offsetAnimation; + late final AnimationController _swipeController; + late final Animation _swipeAnimation; + + bool _isSwipeAnimating = false; + + @override + void initState() { + super.initState(); + _controller = AnimationController( + duration: const Duration(seconds: 5), + vsync: this, + ); + _swipeController = AnimationController( + duration: const Duration(milliseconds: 550), + vsync: this, + ); + _offsetAnimation = Tween( + begin: const Offset(1.0, 0.0), + end: const Offset(-1.0, 0.0), + ).animate(CurvedAnimation(parent: _controller, curve: Curves.easeOut)); + _swipeAnimation = Tween( + begin: Offset.zero, + end: const Offset(-1.5, 0.0), + ).animate(CurvedAnimation(parent: _swipeController, curve: Curves.easeIn)); + + _controller.addStatusListener((status) { + if (status == AnimationStatus.completed && !_isSwipeAnimating) { + widget.onAnimationCompleted(); + } + }); + _swipeController.addStatusListener((status) { + if (status == AnimationStatus.completed) { + widget.onAnimationCompleted(); + } + }); + + WidgetsBinding.instance.addPostFrameCallback((_) { + if (mounted) { + _controller.forward(); + } + }); + } + + @override + void dispose() { + _controller.dispose(); + _swipeController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: _handleTap, + onHorizontalDragEnd: _handleHorizontalDragEnd, + child: SlideTransition( + position: _isSwipeAnimating ? _swipeAnimation : _offsetAnimation, + child: SizedBox( + width: 350.w, + height: 128.w, + child: SCSvgaAssetWidget( + assetPath: FloatingGameScreenWidget.backgroundSvgaAssetPath, + width: 350.w, + height: 128.w, + fit: BoxFit.fill, + dynamicIdentity: [ + widget.message.userAvatarUrl ?? "", + widget.message.userName ?? "", + widget.message.userId ?? "", + widget.message.giftUrl ?? "", + widget.message.gameId ?? "", + widget.message.displayText ?? "", + widget.message.coins ?? 0, + widget.message.multiple ?? 0, + ].join("|"), + movieConfigurer: _configureGameWinSvga, + fallback: _buildFallbackBanner(), + ), + ), + ), + ); + } + + void _handleTap() { + _debouncer.debounce( + duration: const Duration(milliseconds: 350), + onDebounce: () { + final currentContext = navigatorKey.currentState?.context; + if (currentContext == null || !currentContext.mounted) { + return; + } + final rtcProvider = Provider.of( + currentContext, + listen: false, + ); + final currentRoomId = + rtcProvider.currenRoom?.roomProfile?.roomProfile?.id?.trim() ?? ""; + final messageRoomId = (widget.message.roomId ?? "").trim(); + final isSameVisibleRoom = + rtcProvider.shouldShowRoomVisualEffects && + rtcProvider.isVoiceRoomRouteVisible && + currentRoomId.isNotEmpty && + (messageRoomId.isEmpty || currentRoomId == messageRoomId); + + if (isSameVisibleRoom) { + showRoomGameListSheet( + currentContext, + initialGameId: _resolvedGameId(), + ); + return; + } + if (messageRoomId.isNotEmpty) { + SCRoomUtils.goRoom(messageRoomId, currentContext, fromFloting: true); + } + }, + ); + } + + void _handleHorizontalDragEnd(DragEndDetails details) { + final textDirection = Directionality.of(context); + final velocity = + textDirection == TextDirection.rtl + ? -(details.primaryVelocity ?? 0) + : (details.primaryVelocity ?? 0); + if (velocity < 0) { + _handleSwipeLeft(); + } + } + + void _handleSwipeLeft() { + if (_isSwipeAnimating) { + return; + } + setState(() { + _isSwipeAnimating = true; + }); + _controller.stop(); + _swipeController.reset(); + _swipeController.forward(); + } + + Future _configureGameWinSvga(MovieEntity movieEntity) async { + final avatarUrl = (widget.message.userAvatarUrl ?? "").trim(); + if (avatarUrl.isNotEmpty) { + try { + final avatarImage = await _loadUiImage( + avatarUrl, + logicalWidth: 96, + logicalHeight: 96, + ); + if (avatarImage != null) { + movieEntity.dynamicItem.setImage(avatarImage, _avatarDynamicKey); + } + } catch (_) {} + } + + final gameIconUrl = (widget.message.giftUrl ?? "").trim(); + if (gameIconUrl.isNotEmpty) { + try { + final gameIcon = await _loadUiImage( + gameIconUrl, + logicalWidth: 96, + logicalHeight: 96, + ); + if (gameIcon != null) { + movieEntity.dynamicItem.setImage(gameIcon, _gameIconDynamicKey); + } + } catch (_) {} + } + + final lines = _resolveTextLines(); + try { + movieEntity.dynamicItem.setImage( + await _buildTextLineImage(lines.$1, highlighted: false), + _textLine1DynamicKey, + ); + movieEntity.dynamicItem.setImage( + await _buildTextLineImage(lines.$2, highlighted: true), + _textLine2DynamicKey, + ); + } catch (_) {} + } + + (String, String) _resolveTextLines() { + final rawText = (widget.message.displayText ?? "").trim(); + if (rawText.isNotEmpty) { + final normalized = rawText.replaceAll(RegExp(r"\s+"), " "); + final winIndex = normalized.indexOf(" win "); + if (winIndex > 0 && winIndex < normalized.length - 5) { + return ( + normalized.substring(0, winIndex).trim(), + normalized.substring(winIndex + 1).trim(), + ); + } + return _splitText(normalized); + } + + final userName = _firstNonBlank([ + widget.message.userName, + widget.message.userId, + ]); + final gameName = _firstNonBlank([widget.message.toUserName, "game"]); + final multiple = _formatMultiple(widget.message.multiple); + final coins = _formatCoins(widget.message.coins); + final line1 = + userName.isEmpty + ? "play $gameName get x $multiple" + : "$userName play $gameName get x $multiple"; + return (line1, "win $coins coins"); + } + + (String, String) _splitText(String text) { + const maxLineLength = 32; + if (text.length <= maxLineLength) { + return (text, ""); + } + final midpoint = (text.length / 2).round(); + var splitIndex = text.lastIndexOf(" ", midpoint); + if (splitIndex < 10) { + splitIndex = text.indexOf(" ", midpoint); + } + if (splitIndex < 10 || splitIndex >= text.length - 1) { + splitIndex = midpoint; + } + return ( + text.substring(0, splitIndex).trim(), + text.substring(splitIndex).trim(), + ); + } + + Future _buildTextLineImage( + String value, { + required bool highlighted, + }) async { + const double logicalWidth = 318; + const double logicalHeight = 24; + const double pixelRatio = 3; + + final recorder = ui.PictureRecorder(); + final canvas = Canvas(recorder); + canvas.scale(pixelRatio, pixelRatio); + canvas.clipRect(const Rect.fromLTWH(0, 0, logicalWidth, logicalHeight)); + + final painter = TextPainter( + textDirection: TextDirection.ltr, + maxLines: 1, + ellipsis: "...", + text: TextSpan( + text: value, + style: TextStyle( + fontSize: highlighted ? 18 : 16, + height: 1, + color: + highlighted ? const Color(0xFFFFE95A) : const Color(0xFFFFFFFF), + fontWeight: highlighted ? FontWeight.w900 : FontWeight.w800, + decoration: TextDecoration.none, + ), + ), + )..layout(maxWidth: logicalWidth - 8); + + painter.paint(canvas, Offset(4, (logicalHeight - painter.height) / 2)); + final picture = recorder.endRecording(); + return picture.toImage( + (logicalWidth * pixelRatio).round(), + (logicalHeight * pixelRatio).round(), + ); + } + + Future _loadUiImage( + String resource, { + double? logicalWidth, + double? logicalHeight, + }) async { + final target = resource.trim(); + if (target.isEmpty) { + return null; + } + final provider = buildCachedImageProvider( + target, + logicalWidth: logicalWidth, + logicalHeight: logicalHeight, + ); + final stream = provider.resolve(ImageConfiguration.empty); + final completer = Completer(); + late final ImageStreamListener listener; + listener = ImageStreamListener( + (imageInfo, synchronousCall) { + if (!completer.isCompleted) { + completer.complete(imageInfo.image); + } + stream.removeListener(listener); + }, + onError: (Object error, StackTrace? stackTrace) { + if (!completer.isCompleted) { + completer.complete(null); + } + stream.removeListener(listener); + }, + ); + stream.addListener(listener); + return completer.future.timeout( + const Duration(seconds: 2), + onTimeout: () { + stream.removeListener(listener); + return null; + }, + ); + } + + Widget _buildFallbackBanner() { + return Container( + width: 350.w, + height: 128.w, + padding: EdgeInsets.symmetric(horizontal: 26.w), + decoration: BoxDecoration( + color: const Color(0xDD291436), + borderRadius: BorderRadius.circular(8.w), + border: Border.all(color: const Color(0xFFFFD35A), width: 1.w), + ), + child: Row( + children: [ + _buildFallbackImage( + widget.message.userAvatarUrl, + size: 46.w, + circular: true, + ), + SizedBox(width: 10.w), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + _resolveTextLines().$1, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: Colors.white, + fontSize: 13.sp, + fontWeight: FontWeight.w800, + decoration: TextDecoration.none, + ), + ), + SizedBox(height: 3.w), + Text( + _resolveTextLines().$2, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + color: const Color(0xFFFFE95A), + fontSize: 14.sp, + fontWeight: FontWeight.w900, + decoration: TextDecoration.none, + ), + ), + ], + ), + ), + SizedBox(width: 8.w), + _buildFallbackImage(widget.message.giftUrl, size: 40.w), + ], + ), + ); + } + + Widget _buildFallbackImage( + String? resource, { + required double size, + bool circular = false, + }) { + final target = (resource ?? "").trim(); + final fallbackAsset = + circular + ? "sc_images/general/sc_icon_avar_defalt.png" + : "sc_images/room/sc_icon_botton_game.png"; + final child = + target.isEmpty + ? Image.asset( + fallbackAsset, + width: size, + height: size, + fit: BoxFit.cover, + ) + : Image( + image: buildCachedImageProvider( + target, + logicalWidth: size, + logicalHeight: size, + ), + width: size, + height: size, + fit: BoxFit.cover, + errorBuilder: + (_, __, ___) => Image.asset( + fallbackAsset, + width: size, + height: size, + fit: BoxFit.cover, + ), + ); + if (!circular) { + return ClipRRect(borderRadius: BorderRadius.circular(6.w), child: child); + } + return ClipOval(child: child); + } + + String? _resolvedGameId() { + final gameId = (widget.message.gameId ?? "").trim(); + return gameId.isEmpty ? null : gameId; + } + + String _formatCoins(num? value) { + final coins = value ?? 0; + if (coins >= 100000) { + return "${(coins / 1000).toStringAsFixed(0)}k"; + } + if (coins == coins.roundToDouble()) { + return coins.toInt().toString(); + } + return coins.toStringAsFixed(2); + } + + String _formatMultiple(num? value) { + final multiple = value ?? 0; + if (multiple == multiple.roundToDouble()) { + return multiple.toInt().toString(); + } + return multiple.toStringAsFixed(2); + } + + String _firstNonBlank(Iterable values) { + for (final value in values) { + final text = value?.trim() ?? ""; + if (text.isNotEmpty) { + return text; + } + } + return ""; + } +} diff --git a/lib/ui_kit/widgets/room/rocket/room_rocket_note_dialog.dart b/lib/ui_kit/widgets/room/rocket/room_rocket_note_dialog.dart index b421e16..2abaef7 100644 --- a/lib/ui_kit/widgets/room/rocket/room_rocket_note_dialog.dart +++ b/lib/ui_kit/widgets/room/rocket/room_rocket_note_dialog.dart @@ -368,6 +368,14 @@ class _RocketRuleHtmlText extends StatelessWidget { } } +String debugRoomRocketRuleHtmlPlainText(String html) { + final spans = _RocketRuleHtmlParser( + baseStyle: const TextStyle(), + scale: 1, + ).parse(html); + return TextSpan(children: spans).toPlainText(); +} + class _RocketRuleHtmlParser { _RocketRuleHtmlParser({required this.baseStyle, required this.scale}); @@ -446,9 +454,12 @@ class _RocketRuleHtmlParser { case 'li': _appendBlockBreak(); final list = _listStack.isEmpty ? null : _listStack.last; - final prefix = - list == null || !list.ordered ? '- ' : '${list.next()}. '; - _appendRaw(prefix, _currentStyle); + if (list == null) { + _appendRaw('- ', _currentStyle); + } else { + final prefix = list.ordered ? '${list.next()}. ' : '- '; + list.beginItem(prefix); + } break; case 'p': case 'div': @@ -477,7 +488,10 @@ class _RocketRuleHtmlParser { _appendBlockBreak(); return; } - if (_isBlockTag(tagName) || tagName == 'li') { + if (tagName == 'li') { + _endCurrentListItem(); + _appendBlockBreak(); + } else if (_isBlockTag(tagName)) { _appendBlockBreak(); } for (var index = _styleStack.length - 1; index >= 0; index -= 1) { @@ -588,7 +602,18 @@ class _RocketRuleHtmlParser { if (normalized.isEmpty) { return; } - _appendRaw(normalized, _currentStyle); + if (normalized.trim().isEmpty) { + if (_segments.isEmpty || + _segments.last.text.endsWith('\n') || + _pendingListFrame != null) { + return; + } + _appendRaw(' ', _currentStyle); + return; + } + final style = _currentStyle; + final textAfterMarker = _flushPendingListMarker(normalized, style); + _appendRaw(textAfterMarker, style); } void _appendRaw(String text, TextStyle style) { @@ -612,6 +637,9 @@ class _RocketRuleHtmlParser { } void _appendBlockBreak() { + if (_pendingListFrame != null) { + return; + } if (_segments.isEmpty) { return; } @@ -622,6 +650,55 @@ class _RocketRuleHtmlParser { _appendRaw('\n', _currentStyle); } + String _flushPendingListMarker(String text, TextStyle style) { + final list = _pendingListFrame; + final marker = list?.pendingMarker; + if (list == null || marker == null) { + return text; + } + final leading = RegExp(r'^\s*').firstMatch(text)?.group(0) ?? ''; + final visibleText = text.substring(leading.length); + if (visibleText.isEmpty) { + return text; + } + list.suppressGeneratedMarkers ??= _hasManualListMarker(visibleText); + list.pendingMarker = null; + if (list.suppressGeneratedMarkers! || + _startsWithGeneratedMarker(visibleText, marker)) { + return text; + } + _appendRaw(marker, style); + return visibleText; + } + + _HtmlListFrame? get _pendingListFrame { + for (var index = _listStack.length - 1; index >= 0; index -= 1) { + if (_listStack[index].pendingMarker != null) { + return _listStack[index]; + } + } + return null; + } + + void _endCurrentListItem() { + for (var index = _listStack.length - 1; index >= 0; index -= 1) { + if (_listStack[index].isInItem) { + _listStack[index].endItem(); + return; + } + } + } + + bool _hasManualListMarker(String text) { + return RegExp(r'^(?:\d+|[a-zA-Z])[.)](?:\s|$)').hasMatch(text) || + RegExp(r'^(?:[-*•‣◦])(?:\s|$)').hasMatch(text); + } + + bool _startsWithGeneratedMarker(String text, String marker) { + return text.startsWith(marker) || + text.startsWith(marker.trimRight()) && text.length == marker.length - 1; + } + void _trimOuterWhitespace() { while (_segments.isNotEmpty) { final trimmed = _segments.first.text.replaceFirst(RegExp(r'^\s+'), ''); @@ -791,6 +868,19 @@ class _HtmlListFrame { final bool ordered; int _index = 1; + String? pendingMarker; + bool? suppressGeneratedMarkers; + bool isInItem = false; + + void beginItem(String marker) { + isInItem = true; + pendingMarker = marker; + } + + void endItem() { + isInItem = false; + pendingMarker = null; + } int next() { final value = _index; diff --git a/lib/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart b/lib/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart index c527af1..442eaee 100644 --- a/lib/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart +++ b/lib/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart @@ -7,12 +7,13 @@ import 'package:flutter/services.dart'; import 'package:pag/pag.dart'; import 'package:yumi/shared/data_sources/sources/local/file_cache_manager.dart'; import 'package:yumi/shared/tools/sc_network_image_utils.dart'; -import 'package:yumi/ui_kit/components/custom_cached_image.dart'; import 'package:yumi/ui_kit/components/sc_rotating_dots_loading.dart'; const Duration _pagMemoryTtl = Duration(minutes: 5); -const Size _roomRocketFallbackPagRawSize = Size(750, 1624); -const Rect _roomRocketTopAvatarRawRect = Rect.fromLTWH(291, 164, 168, 168); +const Duration _roomRocketTopAvatarResolveGracePeriod = Duration( + milliseconds: 700, +); +const String _roomRocketTopAvatarLayerName = 'avatar_tip.png'; class RoomRocketPagEffectOverlay extends StatefulWidget { const RoomRocketPagEffectOverlay({ @@ -54,7 +55,40 @@ class RoomRocketPagEffectOverlay extends StatefulWidget { class _RoomRocketPagEffectOverlayState extends State { bool _completed = false; - Size? _pagRawSize; + bool _topAvatarLocked = false; + String? _lockedTopAvatarUrl; + Timer? _topAvatarLockTimer; + ValueListenable? _observedTopAvatarListenable; + + @override + void initState() { + super.initState(); + _observeTopAvatarListenable(widget.topAvatarUrlListenable); + _resolveTopAvatarLock(notify: false); + } + + @override + void didUpdateWidget(covariant RoomRocketPagEffectOverlay oldWidget) { + super.didUpdateWidget(oldWidget); + final listenableChanged = + oldWidget.topAvatarUrlListenable != widget.topAvatarUrlListenable; + final fallbackAvatarChanged = oldWidget.topAvatarUrl != widget.topAvatarUrl; + final resourceChanged = oldWidget.resource.trim() != widget.resource.trim(); + if (listenableChanged) { + _observeTopAvatarListenable(widget.topAvatarUrlListenable); + } + if (resourceChanged || listenableChanged || fallbackAvatarChanged) { + _resetTopAvatarLock(); + _resolveTopAvatarLock(); + } + } + + @override + void dispose() { + _topAvatarLockTimer?.cancel(); + _observedTopAvatarListenable?.removeListener(_handleTopAvatarChanged); + super.dispose(); + } @override Widget build(BuildContext context) { @@ -67,28 +101,14 @@ class _RoomRocketPagEffectOverlayState child: SizedBox( width: size.width, height: size.height, - child: Stack( - clipBehavior: Clip.none, - children: [ - _buildTopAvatar(size), - Positioned.fill( - child: _RoomRocketPagView( - resource: resource, - width: size.width, - height: size.height, - loop: false, - fit: BoxFit.cover, - displayScale: 1, - clipBehavior: Clip.hardEdge, - memoryTtl: _pagMemoryTtl, - onReady: _updatePagRawSize, - onCompleted: _complete, - defaultBuilder: - (_) => const Center(child: SCRotatingDotsLoading()), - ), - ), - ], - ), + child: + _topAvatarLocked + ? _buildPagViewWithAvatar( + resource: resource, + size: size, + avatarUrl: _lockedTopAvatarUrl, + ) + : const Center(child: SCRotatingDotsLoading()), ), ), ), @@ -103,69 +123,77 @@ class _RoomRocketPagEffectOverlayState widget.onCompleted?.call(); } - void _updatePagRawSize(Size rawSize) { - if (_pagRawSize == rawSize) { + void _observeTopAvatarListenable(ValueListenable? listenable) { + if (_observedTopAvatarListenable == listenable) { return; } - setState(() => _pagRawSize = rawSize); + _observedTopAvatarListenable?.removeListener(_handleTopAvatarChanged); + _observedTopAvatarListenable = listenable; + listenable?.addListener(_handleTopAvatarChanged); } - Widget _buildTopAvatar(Size canvasSize) { - final listenable = widget.topAvatarUrlListenable; - if (listenable == null) { - return _RoomRocketPagTopAvatar( - avatarUrl: widget.topAvatarUrl, - canvasSize: canvasSize, - pagRawSize: _pagRawSize, - ); + void _handleTopAvatarChanged() { + if (_topAvatarLocked) { + return; + } + final avatarUrl = _currentTopAvatarUrl(); + if (avatarUrl != null) { + _lockTopAvatar(avatarUrl); } - return ValueListenableBuilder( - valueListenable: listenable, - builder: - (context, avatarUrl, _) => _RoomRocketPagTopAvatar( - avatarUrl: _firstNonBlankPagAvatar([ - avatarUrl, - widget.topAvatarUrl, - ]), - canvasSize: canvasSize, - pagRawSize: _pagRawSize, - ), - ); } -} -class _RoomRocketPagTopAvatar extends StatelessWidget { - const _RoomRocketPagTopAvatar({ - required this.avatarUrl, - required this.canvasSize, - required this.pagRawSize, - }); - - final String? avatarUrl; - final Size canvasSize; - final Size? pagRawSize; - - @override - Widget build(BuildContext context) { - final url = avatarUrl?.trim() ?? ''; - if (url.isEmpty) { - return const SizedBox.shrink(); + void _resolveTopAvatarLock({bool notify = true}) { + final avatarUrl = _currentTopAvatarUrl(); + if (avatarUrl != null || widget.topAvatarUrlListenable == null) { + _lockTopAvatar(avatarUrl, notify: notify); + return; } - final rect = _mapRoomRocketPagRawRectToCoverCanvas( - rawRect: _roomRocketTopAvatarRawRect, - rawSize: pagRawSize ?? _roomRocketFallbackPagRawSize, - canvasSize: canvasSize, - ); - return Positioned.fromRect( - rect: rect, - child: ClipOval( - child: CustomCachedImage( - imageUrl: url, - fit: BoxFit.cover, - placeholder: const SizedBox.shrink(), - errorWidget: const SizedBox.shrink(), - ), - ), + _topAvatarLockTimer?.cancel(); + _topAvatarLockTimer = Timer(_roomRocketTopAvatarResolveGracePeriod, () { + _lockTopAvatar(_currentTopAvatarUrl()); + }); + } + + void _lockTopAvatar(String? avatarUrl, {bool notify = true}) { + _topAvatarLockTimer?.cancel(); + final normalized = _firstNonBlankPagAvatar([avatarUrl]); + _topAvatarLocked = true; + _lockedTopAvatarUrl = normalized; + if (notify && mounted) { + setState(() {}); + } + } + + void _resetTopAvatarLock() { + _topAvatarLockTimer?.cancel(); + _topAvatarLocked = false; + _lockedTopAvatarUrl = null; + } + + String? _currentTopAvatarUrl() { + return _firstNonBlankPagAvatar([ + widget.topAvatarUrlListenable?.value, + widget.topAvatarUrl, + ]); + } + + Widget _buildPagViewWithAvatar({ + required String resource, + required Size size, + required String? avatarUrl, + }) { + return _RoomRocketPagView( + resource: resource, + width: size.width, + height: size.height, + loop: false, + fit: BoxFit.cover, + displayScale: 1, + clipBehavior: Clip.hardEdge, + memoryTtl: _pagMemoryTtl, + imageReplacementUrlsByName: _topAvatarReplacementUrls(avatarUrl), + onCompleted: _complete, + defaultBuilder: (_) => const Center(child: SCRotatingDotsLoading()), ); } } @@ -236,7 +264,7 @@ class _RoomRocketPagView extends StatefulWidget { required this.clipBehavior, required this.memoryTtl, this.underlayBuilder, - this.onReady, + this.imageReplacementUrlsByName = const {}, this.onCompleted, this.defaultBuilder, }); @@ -250,7 +278,7 @@ class _RoomRocketPagView extends StatefulWidget { final Clip clipBehavior; final Duration memoryTtl; final WidgetBuilder? underlayBuilder; - final ValueChanged? onReady; + final Map imageReplacementUrlsByName; final VoidCallback? onCompleted; final WidgetBuilder? defaultBuilder; @@ -264,6 +292,9 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { final int _debugId = _nextDebugId++; late GlobalKey _pagKey; Uint8List? _pagBytes; + String? _assetName; + Map? _imageReplacementsByName; + late String _imageReplacementSignature; bool _initialized = false; bool _loadFailed = false; bool _releasedFromMemory = false; @@ -274,6 +305,9 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { void initState() { super.initState(); _pagKey = GlobalKey(); + _imageReplacementSignature = _imageReplacementUrlsSignature( + widget.imageReplacementUrlsByName, + ); _debug('mount'); _prepareResource(); } @@ -281,9 +315,16 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { @override void didUpdateWidget(covariant _RoomRocketPagView oldWidget) { super.didUpdateWidget(oldWidget); - if (oldWidget.resource.trim() != widget.resource.trim()) { + final replacementSignature = _imageReplacementUrlsSignature( + widget.imageReplacementUrlsByName, + ); + if (oldWidget.resource.trim() != widget.resource.trim() || + replacementSignature != _imageReplacementSignature) { _pagKey = GlobalKey(); _pagBytes = null; + _assetName = null; + _imageReplacementsByName = null; + _imageReplacementSignature = replacementSignature; _initialized = false; _loadFailed = false; _releasedFromMemory = false; @@ -327,23 +368,53 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { return _withUnderlay(underlay, defaultChild); } final bytes = _pagBytes; - if (bytes == null) { + final assetName = _assetName; + final imageReplacementsReady = + !_hasImageReplacementUrls(widget.imageReplacementUrlsByName) || + _imageReplacementsByName != null; + if ((bytes == null && assetName == null) || !imageReplacementsReady) { return _withUnderlay(underlay, defaultChild); } - final pagView = PAGView.bytes( - bytes, - key: _pagKey, - width: null, - height: null, - autoPlay: false, - repeatCount: repeatCount, - onInit: _handleInit, - onAnimationStart: _handleAnimationStart, - onAnimationEnd: _handleAnimationEnd, - onAnimationCancel: _handleAnimationCancel, - onAnimationRepeat: _handleAnimationRepeat, - defaultBuilder: (_) => const SizedBox(width: 1, height: 1), - ); + final imageReplacementsByName = + _imageReplacementsByName ?? const {}; + final useNativeAssetView = + assetName != null && Platform.isIOS && widget.loop; + final pagView = + assetName != null + ? PAGView.asset( + assetName, + key: _pagKey, + width: useNativeAssetView ? widget.width : null, + height: useNativeAssetView ? widget.height : null, + autoPlay: useNativeAssetView, + usePlatformView: useNativeAssetView, + repeatCount: repeatCount, + onInit: useNativeAssetView ? null : _handleInit, + onAnimationStart: + useNativeAssetView ? null : _handleAnimationStart, + onAnimationEnd: useNativeAssetView ? null : _handleAnimationEnd, + onAnimationCancel: + useNativeAssetView ? null : _handleAnimationCancel, + onAnimationRepeat: + useNativeAssetView ? null : _handleAnimationRepeat, + defaultBuilder: (_) => const SizedBox(width: 1, height: 1), + imageReplacementsByName: imageReplacementsByName, + ) + : PAGView.bytes( + bytes, + key: _pagKey, + width: null, + height: null, + autoPlay: false, + repeatCount: repeatCount, + onInit: _handleInit, + onAnimationStart: _handleAnimationStart, + onAnimationEnd: _handleAnimationEnd, + onAnimationCancel: _handleAnimationCancel, + onAnimationRepeat: _handleAnimationRepeat, + defaultBuilder: (_) => const SizedBox(width: 1, height: 1), + imageReplacementsByName: imageReplacementsByName, + ); final visibleUnderlay = _initialized ? null : underlay; final content = Stack( fit: StackFit.expand, @@ -351,7 +422,10 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { widget.clipBehavior == Clip.none ? Clip.none : Clip.hardEdge, children: [ if (visibleUnderlay != null) visibleUnderlay, - _scaledPagView(pagView), + if (useNativeAssetView) + Positioned.fill(child: pagView) + else + _scaledPagView(pagView), if (!_initialized) Positioned.fill(child: defaultChild), ], ); @@ -379,25 +453,68 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { final path = widget.resource.trim(); _releasedFromMemory = false; _memoryReleaseTimer?.cancel(); + _assetName = null; + _imageReplacementsByName = null; _debug( 'prepare kind=${_pagSourceKind(path)} ' 'isPag=${RoomRocketPagEffectOverlay.isPag(path)}', ); _restartWatchdog(); - unawaited(_loadBytes(path)); + final assetName = _preferNativePagAsset(path); + final imageReplacementUrls = _validImageReplacementUrls( + widget.imageReplacementUrlsByName, + ); + final imageReplacementSignature = _imageReplacementSignature; + if (assetName != null) { + _debug('use native asset loader asset=$assetName'); + _assetName = assetName; + unawaited( + _loadImageReplacements( + path: path, + signature: imageReplacementSignature, + urlsByName: imageReplacementUrls, + ), + ); + if (widget.loop) { + _startWatchdog?.cancel(); + _initialized = true; + } + return; + } + unawaited( + _loadBytes( + path: path, + signature: imageReplacementSignature, + imageReplacementUrlsByName: imageReplacementUrls, + ), + ); } - Future _loadBytes(String path) async { + Future _loadBytes({ + required String path, + required String signature, + required Map imageReplacementUrlsByName, + }) async { final stopwatch = Stopwatch()..start(); try { _debug( '${_pagLoadAction(path)} start ' 'host=${_pagHost(path)}', ); + final imageReplacementsFuture = _readImageReplacementsByName( + imageReplacementUrlsByName, + ).timeout( + const Duration(seconds: 10), + onTimeout: () { + _debug('image replacements timeout'); + return const {}; + }, + ); final bytes = await _readPagBytes( path, ).timeout(const Duration(seconds: 15)); - if (!mounted || widget.resource.trim() != path) { + final imageReplacements = await imageReplacementsFuture; + if (!_isCurrentResource(path, signature)) { _debug( 'bytes ignored stale mounted=$mounted ' 'elapsedMs=${stopwatch.elapsedMilliseconds}', @@ -415,12 +532,13 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { ); setState(() { _pagBytes = bytes; + _imageReplacementsByName = imageReplacements; _releasedFromMemory = false; }); _scheduleMemoryRelease(path); _restartWatchdog(); } catch (error) { - if (!mounted || widget.resource.trim() != path) { + if (!_isCurrentResource(path, signature)) { return; } _markLoadFailed( @@ -429,6 +547,31 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { } } + Future _loadImageReplacements({ + required String path, + required String signature, + required Map urlsByName, + }) async { + if (urlsByName.isEmpty) { + _imageReplacementsByName = const {}; + return; + } + try { + final replacements = await _readImageReplacementsByName( + urlsByName, + ).timeout(const Duration(seconds: 10)); + if (!_isCurrentResource(path, signature)) { + return; + } + setState(() => _imageReplacementsByName = replacements); + } catch (error) { + _debug('image replacements failed: $error'); + if (_isCurrentResource(path, signature)) { + setState(() => _imageReplacementsByName = const {}); + } + } + } + void _handleInit() { _debug('init'); _startWatchdog?.cancel(); @@ -452,7 +595,6 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { 'viewSize=${widget.width?.toStringAsFixed(1)}x' '${widget.height?.toStringAsFixed(1)} fit=${widget.fit.name}', ); - widget.onReady?.call(Size(rawWidth, rawHeight)); unawaited(_debugLayers(state, rawWidth, rawHeight)); if (!_initialized) { setState(() => _initialized = true); @@ -541,6 +683,8 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { setState(() { _pagKey = GlobalKey(); _pagBytes = null; + _assetName = null; + _imageReplacementsByName = null; _initialized = false; _releasedFromMemory = true; }); @@ -586,6 +730,35 @@ class _RoomRocketPagViewState extends State<_RoomRocketPagView> { } } + bool _isCurrentResource(String path, String signature) { + return mounted && + widget.resource.trim() == path && + _imageReplacementSignature == signature; + } + + Future> _readImageReplacementsByName( + Map urlsByName, + ) async { + if (urlsByName.isEmpty) { + return const {}; + } + final result = {}; + for (final entry in urlsByName.entries) { + try { + final bytes = await _readPagBytes(entry.value); + if (bytes.isNotEmpty) { + result[entry.key] = bytes; + } + } catch (error) { + _debug( + 'image replacement load failed layer=${entry.key} ' + 'resource=${_shortPagResource(entry.value)} error=$error', + ); + } + } + return result; + } + void _debug(String event) { if (!kDebugMode) { return; @@ -675,6 +848,45 @@ String? _firstNonBlankPagAvatar(Iterable values) { return null; } +Map _topAvatarReplacementUrls(String? avatarUrl) { + final text = avatarUrl?.trim() ?? ''; + if (text.isEmpty) { + return const {}; + } + return {_roomRocketTopAvatarLayerName: text}; +} + +bool _hasImageReplacementUrls(Map urlsByName) { + return _validImageReplacementUrls(urlsByName).isNotEmpty; +} + +Map _validImageReplacementUrls(Map urlsByName) { + if (urlsByName.isEmpty) { + return const {}; + } + final result = {}; + urlsByName.forEach((key, value) { + final layerName = key.trim(); + final resource = value.trim(); + if (layerName.isNotEmpty && resource.isNotEmpty) { + result[layerName] = resource; + } + }); + return result; +} + +String _imageReplacementUrlsSignature(Map urlsByName) { + final entries = + _validImageReplacementUrls(urlsByName).entries.toList() + ..sort((a, b) => a.key.compareTo(b.key)); + if (entries.isEmpty) { + return ''; + } + return entries + .map((entry) => '${entry.key}\u0000${entry.value}') + .join('\u0001'); +} + @visibleForTesting String debugNormalizeRoomRocketPagResource(String resource) { return _normalizePagResource(resource); @@ -752,6 +964,22 @@ String _pagLoadAction(String value) { }; } +String? _preferNativePagAsset(String value) { + if (!Platform.isIOS) { + return null; + } + final normalized = _normalizePagResource(value); + if (!RoomRocketPagEffectOverlay.isPag(normalized) || + _pagNetworkUri(normalized) != null || + _pagFilePath(normalized) != null) { + return null; + } + if (normalized.startsWith('sc_images/') || normalized.startsWith('assets/')) { + return normalized; + } + return null; +} + String _normalizePagResource(String value) { final normalized = normalizeImageResourceUrl(value.trim()); return _pagNetworkUri(normalized)?.toString() ?? normalized; diff --git a/lib/ui_kit/widgets/room/room_game_bottom_sheet.dart b/lib/ui_kit/widgets/room/room_game_bottom_sheet.dart index e28ac8a..10dd16a 100644 --- a/lib/ui_kit/widgets/room/room_game_bottom_sheet.dart +++ b/lib/ui_kit/widgets/room/room_game_bottom_sheet.dart @@ -8,6 +8,26 @@ import 'package:yumi/shared/tools/sc_room_top_layer_guard.dart'; import 'package:yumi/ui_kit/components/sc_debounce_widget.dart'; import 'package:yumi/ui_kit/widgets/svga/sc_svga_asset_widget.dart'; +void showRoomGameListSheet(BuildContext context, {String? initialGameId}) { + if (!context.mounted) { + return; + } + final guardLease = SCRoomTopLayerGuard().acquire( + reason: 'room_game_list_sheet', + ); + try { + unawaited( + showBottomInBottomDialog( + context, + RoomGameBottomSheet(roomContext: context, initialGameId: initialGameId), + barrierColor: Colors.black54, + ).whenComplete(guardLease.release), + ); + } catch (_) { + guardLease.release(); + } +} + class RoomGameEntryButton extends StatelessWidget { const RoomGameEntryButton({super.key}); @@ -15,20 +35,7 @@ class RoomGameEntryButton extends StatelessWidget { Widget build(BuildContext context) { return SCDebounceWidget( onTap: () { - final guardLease = SCRoomTopLayerGuard().acquire( - reason: 'room_game_list_sheet', - ); - try { - unawaited( - showBottomInBottomDialog( - context, - RoomGameBottomSheet(roomContext: context), - barrierColor: Colors.black54, - ).whenComplete(guardLease.release), - ); - } catch (_) { - guardLease.release(); - } + showRoomGameListSheet(context); }, child: SCSvgaAssetWidget( assetPath: "sc_images/room/sc_icon_room_game_entry_anim.svga", diff --git a/lib/ui_kit/widgets/room/room_msg_item.dart b/lib/ui_kit/widgets/room/room_msg_item.dart index 71158a7..6493628 100644 --- a/lib/ui_kit/widgets/room/room_msg_item.dart +++ b/lib/ui_kit/widgets/room/room_msg_item.dart @@ -669,8 +669,9 @@ class _MsgItemState extends State { return Container( alignment: AlignmentDirectional.topStart, child: Container( - constraints: BoxConstraints(minHeight: 49.w, maxWidth: 315.w), - padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 6.w), + width: 315.w, + constraints: BoxConstraints(minHeight: 49.w), + padding: EdgeInsetsDirectional.fromSTEB(28.w, 6.w, 18.w, 6.w), margin: EdgeInsets.symmetric(horizontal: 10.w).copyWith(bottom: 8.w), decoration: const BoxDecoration( image: DecorationImage( @@ -679,18 +680,21 @@ class _MsgItemState extends State { centerSlice: _cpSystemNoticeBubbleCenterSlice, ), ), - child: Text( - widget.msg.msg ?? '', - maxLines: 4, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: sp(12), - height: 1.35, - color: Color(_msgColor(widget.msg.type ?? "")), - fontWeight: FontWeight.w500, - decoration: TextDecoration.none, + child: Align( + alignment: Alignment.center, + child: Text( + widget.msg.msg ?? '', + maxLines: 4, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: sp(12), + height: 1.35, + color: Color(_msgColor(widget.msg.type ?? "")), + fontWeight: FontWeight.w500, + decoration: TextDecoration.none, + ), + textAlign: TextAlign.center, ), - textAlign: TextAlign.left, ), ), ); diff --git a/lib/ui_kit/widgets/room/room_user_info_card.dart b/lib/ui_kit/widgets/room/room_user_info_card.dart index a7c6439..345f8a7 100644 --- a/lib/ui_kit/widgets/room/room_user_info_card.dart +++ b/lib/ui_kit/widgets/room/room_user_info_card.dart @@ -24,6 +24,7 @@ import 'package:yumi/shared/tools/sc_loading_manager.dart'; import 'package:yumi/shared/tools/sc_room_utils.dart'; import 'package:yumi/shared/tools/sc_room_top_layer_guard.dart'; import 'package:yumi/shared/tools/sc_string_utils.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; import 'package:yumi/shared/data_sources/models/enum/sc_props_type.dart'; import 'package:yumi/shared/data_sources/sources/repositories/sc_user_repository_impl.dart'; import 'package:yumi/shared/business_logic/models/res/login_res.dart'; @@ -751,7 +752,7 @@ class _RoomUserInfoCardState extends State { currentProfile?.id, ]), rightUserId: _firstNonBlank([partner.userId]), - days: _firstNonBlank([cp?.days, "0"]), + days: scCpRelationDisplayDays(_firstNonBlank([cp?.days, "0"])), relationType: _normalizeCpRelationType(cp?.relationType), dismissCost: cp?.dismissCost, cpValue: cp?.cpValue ?? 0, @@ -1638,7 +1639,7 @@ class _RoomUserInfoCardState extends State { child: text( SCAppLocalizations.of( context, - )!.timeSpentTogether(item.days ?? ""), + )!.timeSpentTogether(scCpRelationDisplayDays(item.days)), fontWeight: FontWeight.w600, fontSize: 12.sp, textColor: Color(0xFFFF79A1), @@ -1830,7 +1831,9 @@ class _RoomCpProgressData { currentValue: currentValue, targetValue: currentValue > 0 ? currentValue : 1, expAwayText: SCStringUtils.formatCompactNumber(0), - nextLevelText: _levelShortText(_levelIndex(cp.levelText)), + nextLevelText: _levelShortText( + _nextLevelIndex(_levelIndex(cp.levelText)), + ), ); } @@ -1900,7 +1903,9 @@ class _RoomCpProgressData { nextLevelText: nextLevel == null ? _levelShortText( - currentLevel?.level ?? _levelIndex(cp.levelText), + _nextLevelIndex( + currentLevel?.level ?? _levelIndex(cp.levelText), + ), ) : _levelShortText(nextLevel.level, fallback: nextLevel.levelName), ); @@ -1941,13 +1946,13 @@ class _RoomCpProgressData { } static String _levelShortText(int? level, {String? fallback}) { + if (level != null) { + return "Lv. $level"; + } final fallbackText = fallback?.trim() ?? ""; if (fallbackText.isNotEmpty) { return fallbackText; } - if (level != null) { - return "Lv. $level"; - } return "Lv. 1"; } @@ -1962,6 +1967,10 @@ class _RoomCpProgressData { ) ?? 1; } + + static int _nextLevelIndex(int level) { + return (level + 1).clamp(1, 5).toInt(); + } } class _CpProgressLevel { diff --git a/lib/ui_kit/widgets/room/seat/room_mic_relation_effect.dart b/lib/ui_kit/widgets/room/seat/room_mic_relation_effect.dart new file mode 100644 index 0000000..4d90203 --- /dev/null +++ b/lib/ui_kit/widgets/room/seat/room_mic_relation_effect.dart @@ -0,0 +1,228 @@ +import 'dart:async'; + +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_notice_utils.dart'; +import 'package:yumi/ui_kit/widgets/room/rocket/room_rocket_pag_effect_overlay.dart'; +import 'package:yumi/ui_kit/widgets/svga/sc_svga_asset_widget.dart'; + +class RoomMicRelationEffect extends StatefulWidget { + const RoomMicRelationEffect({ + super.key, + required this.relationType, + this.cpLevel, + this.width = 108, + this.height = 54, + }); + + static const String assetBase = "sc_images/room/mic"; + + final String relationType; + final int? cpLevel; + final double width; + final double height; + + @override + State createState() => _RoomMicRelationEffectState(); +} + +class _RoomMicRelationEffectState extends State { + static const Duration _cycleDuration = Duration(seconds: 4); + static const Duration _pagMemoryTtl = Duration(hours: 1); + + Timer? _cycleTimer; + int _assetIndex = 0; + List<_RoomMicRelationAsset> _assets = const []; + + @override + void initState() { + super.initState(); + _syncAssets(restart: true); + } + + @override + void didUpdateWidget(covariant RoomMicRelationEffect oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.relationType != widget.relationType || + oldWidget.cpLevel != widget.cpLevel) { + _syncAssets(restart: true); + return; + } + _syncAssets(); + } + + @override + void dispose() { + _cycleTimer?.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + if (_assets.isEmpty) { + return const SizedBox.shrink(); + } + final asset = _assets[_assetIndex % _assets.length]; + final width = widget.width.w; + final height = widget.height.w; + return SizedBox( + width: width, + height: height, + child: _buildAsset(asset, width: width, height: height), + ); + } + + Widget _buildAsset( + _RoomMicRelationAsset asset, { + required double width, + required double height, + }) { + switch (asset.kind) { + case _RoomMicRelationAssetKind.svga: + return SCSvgaAssetWidget( + assetPath: asset.path, + width: width, + height: height, + active: true, + loop: true, + fit: BoxFit.contain, + allowDrawingOverflow: true, + ); + case _RoomMicRelationAssetKind.pag: + return RoomRocketPagPreview( + resource: asset.path, + width: width, + height: height, + loop: true, + fit: BoxFit.contain, + clipBehavior: Clip.none, + memoryTtl: _pagMemoryTtl, + defaultBuilder: (_) => SizedBox(width: width, height: height), + ); + } + } + + void _syncAssets({bool restart = false}) { + final nextAssets = _assetsForRelation( + widget.relationType, + cpLevel: widget.cpLevel, + ); + final changed = !_sameAssetList(_assets, nextAssets); + if (!changed && !restart) { + return; + } + _cycleTimer?.cancel(); + _assets = nextAssets; + _assetIndex = 0; + if (mounted && changed) { + setState(() {}); + } + if (_assets.length > 1) { + _cycleTimer = Timer.periodic(_cycleDuration, (_) { + if (!mounted || _assets.length <= 1) { + return; + } + setState(() => _assetIndex = (_assetIndex + 1) % _assets.length); + }); + } + } + + bool _sameAssetList( + List<_RoomMicRelationAsset> left, + List<_RoomMicRelationAsset> right, + ) { + if (left.length != right.length) { + return false; + } + for (var index = 0; index < left.length; index += 1) { + if (left[index] != right[index]) { + return false; + } + } + return true; + } + + List<_RoomMicRelationAsset> _assetsForRelation( + String relationType, { + required int? cpLevel, + }) { + switch (scNormalizeCpRelationType(relationType)) { + case "BROTHER": + return const [ + _RoomMicRelationAsset.pag( + "${RoomMicRelationEffect.assetBase}/brother_mic.pag", + ), + ]; + case "SISTERS": + return const [ + _RoomMicRelationAsset.pag( + "${RoomMicRelationEffect.assetBase}/sisters_mic.pag", + ), + ]; + default: + return _cpAssetsForLevel(cpLevel); + } + } + + List<_RoomMicRelationAsset> _cpAssetsForLevel(int? cpLevel) { + final level = (cpLevel ?? 1).clamp(1, 5).toInt(); + switch (level) { + case 2: + return const [ + _RoomMicRelationAsset.svga( + "${RoomMicRelationEffect.assetBase}/CP_mic_2.svga", + ), + ]; + case 3: + return const [ + _RoomMicRelationAsset.svga( + "${RoomMicRelationEffect.assetBase}/CP_mic_3.svga", + ), + ]; + case 4: + return const [ + _RoomMicRelationAsset.pag( + "${RoomMicRelationEffect.assetBase}/CP_mic_4.pag", + ), + ]; + case 5: + return const [ + _RoomMicRelationAsset.pag( + "${RoomMicRelationEffect.assetBase}/CP_mic_5.pag", + ), + ]; + case 1: + default: + return const [ + _RoomMicRelationAsset.pag( + "${RoomMicRelationEffect.assetBase}/CP_mic_1.pag", + ), + ]; + } + } +} + +enum _RoomMicRelationAssetKind { svga, pag } + +class _RoomMicRelationAsset { + const _RoomMicRelationAsset._({required this.path, required this.kind}); + + const _RoomMicRelationAsset.svga(String path) + : this._(path: path, kind: _RoomMicRelationAssetKind.svga); + + const _RoomMicRelationAsset.pag(String path) + : this._(path: path, kind: _RoomMicRelationAssetKind.pag); + + final String path; + final _RoomMicRelationAssetKind kind; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is _RoomMicRelationAsset && + other.path == path && + other.kind == kind; + + @override + int get hashCode => Object.hash(path, kind); +} diff --git a/lib/ui_kit/widgets/room/seat/room_seat_widget.dart b/lib/ui_kit/widgets/room/seat/room_seat_widget.dart index 2094a57..25029c2 100644 --- a/lib/ui_kit/widgets/room/seat/room_seat_widget.dart +++ b/lib/ui_kit/widgets/room/seat/room_seat_widget.dart @@ -1,296 +1,302 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:provider/provider.dart'; -import 'package:yumi/services/audio/rtc_manager.dart'; - -import '../../../../modules/room/seat/sc_seat_item.dart'; - -class RoomSeatWidget extends StatefulWidget { - const RoomSeatWidget({super.key}); - - @override - State createState() => _RoomSeatWidgetState(); -} - -class _RoomSeatWidgetState extends State { - static const int _defaultVoiceRoomSeatCount = 10; - - int _lastSeatCount = 0; - - int _normalizeSeatCount(int? seatCount) { - switch (seatCount) { - case 5: - case 10: - case 15: - case 20: - return seatCount ?? 0; - default: - return 0; - } - } - - int _resolvedSeatCount(_RoomSeatLayoutSnapshot snapshot) { - final int liveSeatCount = _normalizeSeatCount(snapshot.seatCount); - final int configuredSeatCount = _normalizeSeatCount( - snapshot.configuredSeatCount, - ); - final int seatCount = - configuredSeatCount > 0 ? configuredSeatCount : liveSeatCount; - if (!snapshot.isExitingCurrentVoiceRoomSession && seatCount > 0) { - _lastSeatCount = seatCount; - } - if (snapshot.isExitingCurrentVoiceRoomSession && _lastSeatCount > 0) { - return _lastSeatCount; - } - if (snapshot.hasCurrentRoom && seatCount == 0) { - return _lastSeatCount > 0 ? _lastSeatCount : _defaultVoiceRoomSeatCount; - } - return seatCount; - } - - int _seatCountFromMicIndexes(Iterable micIndexes) { - var maxIndex = -1; - var count = 0; - for (final micIndex in micIndexes) { - count += 1; - final resolvedIndex = micIndex.toInt(); - if (resolvedIndex > maxIndex) { - maxIndex = resolvedIndex; - } - } - final indexedSeatCount = _normalizeSeatCount(maxIndex + 1); - if (indexedSeatCount > 0) { - return indexedSeatCount; - } - return _normalizeSeatCount(count); - } - - int _seatContentVersion(RtcProvider provider) { - var version = provider.roomWheatMap.length; - final micIndexes = - provider.roomWheatMap.keys.toList()..sort((a, b) => a.compareTo(b)); - for (final micIndex in micIndexes) { - final seat = provider.micAtIndexForDisplay(micIndex); - final user = seat?.user; - version = Object.hash( - version, - micIndex, - seat?.micLock ?? false, - seat?.micMute ?? false, - user?.id ?? "", - user?.userAvatar ?? "", - user?.userNickname ?? "", - user?.roles ?? "", - user?.getHeaddress()?.sourceUrl ?? "", - user?.getHeaddress()?.cover ?? "", - user?.getVIP()?.name ?? "", - ); - } - return version; - } - - @override - Widget build(BuildContext context) { - return Selector( - selector: - (context, provider) => _RoomSeatLayoutSnapshot( - seatCount: _seatCountFromMicIndexes(provider.roomWheatMap.keys), - seatContentVersion: _seatContentVersion(provider), - configuredSeatCount: - provider.currenRoom?.roomProfile?.roomSetting?.mikeSize - ?.toInt() ?? - provider.previewRoomSeatCount ?? - 0, - hasCurrentRoom: provider.currenRoom != null, - isExitingCurrentVoiceRoomSession: - provider.isExitingCurrentVoiceRoomSession, - ), - builder: (context, snapshot, child) { - final int seatCount = _resolvedSeatCount(snapshot); - return seatCount == 5 - ? _buildSeat5() - : (seatCount == 10 - ? _buildSeat10() - : (seatCount == 15 - ? _buildSeat15() - : (seatCount == 20 - ? _buildSeat20() - : Container(height: 180.w)))); - }, - ); - } - - _buildSeat5() { - return Container( - margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 0)), - Expanded(flex: 1, child: SCSeatItem(index: 1)), - Expanded(flex: 1, child: SCSeatItem(index: 2)), - Expanded(flex: 1, child: SCSeatItem(index: 3)), - Expanded(flex: 1, child: SCSeatItem(index: 4)), - ], - ), - ], - ), - ); - } - - _buildSeat10() { - return Container( - margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 0)), - Expanded(flex: 1, child: SCSeatItem(index: 1)), - Expanded(flex: 1, child: SCSeatItem(index: 2)), - Expanded(flex: 1, child: SCSeatItem(index: 3)), - Expanded(flex: 1, child: SCSeatItem(index: 4)), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 5)), - Expanded(flex: 1, child: SCSeatItem(index: 6)), - Expanded(flex: 1, child: SCSeatItem(index: 7)), - Expanded(flex: 1, child: SCSeatItem(index: 8)), - Expanded(flex: 1, child: SCSeatItem(index: 9)), - ], - ), - ], - ), - ); - } - - _buildSeat15() { - return Container( - margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 0)), - Expanded(flex: 1, child: SCSeatItem(index: 1)), - Expanded(flex: 1, child: SCSeatItem(index: 2)), - Expanded(flex: 1, child: SCSeatItem(index: 3)), - Expanded(flex: 1, child: SCSeatItem(index: 4)), - ], - ), - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 5)), - Expanded(flex: 1, child: SCSeatItem(index: 6)), - Expanded(flex: 1, child: SCSeatItem(index: 7)), - Expanded(flex: 1, child: SCSeatItem(index: 8)), - Expanded(flex: 1, child: SCSeatItem(index: 9)), - ], - ), - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 10)), - Expanded(flex: 1, child: SCSeatItem(index: 11)), - Expanded(flex: 1, child: SCSeatItem(index: 12)), - Expanded(flex: 1, child: SCSeatItem(index: 13)), - Expanded(flex: 1, child: SCSeatItem(index: 14)), - ], - ), - ], - ), - ); - } - - _buildSeat20() { - return Container( - margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 0)), - Expanded(flex: 1, child: SCSeatItem(index: 1)), - Expanded(flex: 1, child: SCSeatItem(index: 2)), - Expanded(flex: 1, child: SCSeatItem(index: 3)), - Expanded(flex: 1, child: SCSeatItem(index: 4)), - ], - ), - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 5)), - Expanded(flex: 1, child: SCSeatItem(index: 6)), - Expanded(flex: 1, child: SCSeatItem(index: 7)), - Expanded(flex: 1, child: SCSeatItem(index: 8)), - Expanded(flex: 1, child: SCSeatItem(index: 9)), - ], - ), - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 10)), - Expanded(flex: 1, child: SCSeatItem(index: 11)), - Expanded(flex: 1, child: SCSeatItem(index: 12)), - Expanded(flex: 1, child: SCSeatItem(index: 13)), - Expanded(flex: 1, child: SCSeatItem(index: 14)), - ], - ), - Row( - children: [ - Expanded(flex: 1, child: SCSeatItem(index: 15)), - Expanded(flex: 1, child: SCSeatItem(index: 16)), - Expanded(flex: 1, child: SCSeatItem(index: 17)), - Expanded(flex: 1, child: SCSeatItem(index: 18)), - Expanded(flex: 1, child: SCSeatItem(index: 19)), - ], - ), - ], - ), - ); - } -} - -class _RoomSeatLayoutSnapshot { - const _RoomSeatLayoutSnapshot({ - required this.seatCount, - required this.seatContentVersion, - required this.configuredSeatCount, - required this.hasCurrentRoom, - required this.isExitingCurrentVoiceRoomSession, - }); - - final int seatCount; - final int seatContentVersion; - final int configuredSeatCount; - final bool hasCurrentRoom; - final bool isExitingCurrentVoiceRoomSession; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - return other is _RoomSeatLayoutSnapshot && - other.seatCount == seatCount && - other.seatContentVersion == seatContentVersion && - other.configuredSeatCount == configuredSeatCount && - other.hasCurrentRoom == hasCurrentRoom && - other.isExitingCurrentVoiceRoomSession == - isExitingCurrentVoiceRoomSession; - } - - @override - int get hashCode => Object.hash( - seatCount, - seatContentVersion, - configuredSeatCount, - hasCurrentRoom, - isExitingCurrentVoiceRoomSession, - ); -} +import 'package:flutter/cupertino.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:provider/provider.dart'; +import 'package:yumi/shared/tools/sc_cp_relation_pair_utils.dart'; +import 'package:yumi/services/audio/rtc_manager.dart'; +import 'package:yumi/ui_kit/widgets/room/seat/room_mic_relation_effect.dart'; + +import '../../../../modules/room/seat/sc_seat_item.dart'; + +class RoomSeatWidget extends StatefulWidget { + const RoomSeatWidget({super.key}); + + @override + State createState() => _RoomSeatWidgetState(); +} + +class _RoomSeatWidgetState extends State { + static const int _defaultVoiceRoomSeatCount = 10; + static const int _seatColumnCount = 5; + static const double _relationEffectWidth = 108; + static const double _relationEffectHeight = 54; + static const double _relationEffectTop = -2; + + int _lastSeatCount = 0; + + int _normalizeSeatCount(int? seatCount) { + switch (seatCount) { + case 5: + case 10: + case 15: + case 20: + return seatCount ?? 0; + default: + return 0; + } + } + + int _resolvedSeatCount(_RoomSeatLayoutSnapshot snapshot) { + final int liveSeatCount = _normalizeSeatCount(snapshot.seatCount); + final int configuredSeatCount = _normalizeSeatCount( + snapshot.configuredSeatCount, + ); + final int seatCount = + configuredSeatCount > 0 ? configuredSeatCount : liveSeatCount; + if (!snapshot.isExitingCurrentVoiceRoomSession && seatCount > 0) { + _lastSeatCount = seatCount; + } + if (snapshot.isExitingCurrentVoiceRoomSession && _lastSeatCount > 0) { + return _lastSeatCount; + } + if (snapshot.hasCurrentRoom && seatCount == 0) { + return _lastSeatCount > 0 ? _lastSeatCount : _defaultVoiceRoomSeatCount; + } + return seatCount; + } + + int _seatCountFromMicIndexes(Iterable micIndexes) { + var maxIndex = -1; + var count = 0; + for (final micIndex in micIndexes) { + count += 1; + final resolvedIndex = micIndex.toInt(); + if (resolvedIndex > maxIndex) { + maxIndex = resolvedIndex; + } + } + final indexedSeatCount = _normalizeSeatCount(maxIndex + 1); + if (indexedSeatCount > 0) { + return indexedSeatCount; + } + return _normalizeSeatCount(count); + } + + int _seatContentVersion(RtcProvider provider) { + var version = provider.roomWheatMap.length; + final micIndexes = + provider.roomWheatMap.keys.toList()..sort((a, b) => a.compareTo(b)); + for (final micIndex in micIndexes) { + final seat = provider.micAtIndexForDisplay(micIndex); + final user = seat?.user; + version = Object.hash( + version, + micIndex, + seat?.micLock ?? false, + seat?.micMute ?? false, + user?.id ?? "", + user?.userAvatar ?? "", + user?.userNickname ?? "", + user?.roles ?? "", + user?.getHeaddress()?.sourceUrl ?? "", + user?.getHeaddress()?.cover ?? "", + user?.getVIP()?.name ?? "", + scCpProfileRelationVersion(user), + ); + } + return version; + } + + @override + Widget build(BuildContext context) { + return Selector( + selector: + (context, provider) => _RoomSeatLayoutSnapshot( + seatCount: _seatCountFromMicIndexes(provider.roomWheatMap.keys), + seatContentVersion: _seatContentVersion(provider), + showRoomVisualEffects: provider.shouldShowRoomVisualEffects, + configuredSeatCount: + provider.currenRoom?.roomProfile?.roomSetting?.mikeSize + ?.toInt() ?? + provider.previewRoomSeatCount ?? + 0, + hasCurrentRoom: provider.currenRoom != null, + isExitingCurrentVoiceRoomSession: + provider.isExitingCurrentVoiceRoomSession, + ), + builder: (context, snapshot, child) { + final int seatCount = _resolvedSeatCount(snapshot); + return seatCount == 5 + ? _buildSeat5() + : (seatCount == 10 + ? _buildSeat10() + : (seatCount == 15 + ? _buildSeat15() + : (seatCount == 20 + ? _buildSeat20() + : Container(height: 180.w)))); + }, + ); + } + + _buildSeat5() { + return Container( + margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildSeatRow(const [0, 1, 2, 3, 4]), + ], + ), + ); + } + + _buildSeat10() { + return Container( + margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildSeatRow(const [0, 1, 2, 3, 4]), + _buildSeatRow(const [5, 6, 7, 8, 9]), + ], + ), + ); + } + + _buildSeat15() { + return Container( + margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildSeatRow(const [0, 1, 2, 3, 4]), + _buildSeatRow(const [5, 6, 7, 8, 9]), + _buildSeatRow(const [10, 11, 12, 13, 14]), + ], + ), + ); + } + + _buildSeat20() { + return Container( + margin: EdgeInsets.only(top: 3.w, left: 10.w, right: 10.w), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + _buildSeatRow(const [0, 1, 2, 3, 4]), + _buildSeatRow(const [5, 6, 7, 8, 9]), + _buildSeatRow(const [10, 11, 12, 13, 14]), + _buildSeatRow(const [15, 16, 17, 18, 19]), + ], + ), + ); + } + + Widget _buildSeatRow(List indexes) { + return LayoutBuilder( + builder: (context, constraints) { + final rowWidth = constraints.maxWidth; + final columnWidth = rowWidth / _seatColumnCount; + return Stack( + clipBehavior: Clip.none, + children: [ + Row( + children: [ + for (final index in indexes) + Expanded(flex: 1, child: SCSeatItem(index: index)), + ], + ), + if (rowWidth.isFinite) + ..._buildRelationEffectsForRow( + context, + indexes: indexes, + columnWidth: columnWidth, + ), + ], + ); + }, + ); + } + + List _buildRelationEffectsForRow( + BuildContext context, { + required List indexes, + required double columnWidth, + }) { + final provider = context.read(); + if (!provider.shouldShowRoomVisualEffects) { + return const []; + } + final effects = []; + for (var slot = 0; slot < indexes.length - 1; slot += 1) { + final relationInfo = _relationInfoBetweenSeats( + provider, + indexes[slot], + indexes[slot + 1], + ); + if (relationInfo == null) { + continue; + } + final left = ((slot + 1) * columnWidth - (_relationEffectWidth.w / 2)) + .clamp(0.0, double.infinity); + effects.add( + Positioned( + left: left, + top: _relationEffectTop.w, + width: _relationEffectWidth.w, + height: _relationEffectHeight.w, + child: IgnorePointer( + child: RoomMicRelationEffect( + relationType: relationInfo.relationType, + cpLevel: relationInfo.cpLevel, + ), + ), + ), + ); + } + return effects; + } + + SCCpRelationPairInfo? _relationInfoBetweenSeats( + RtcProvider provider, + int leftIndex, + int rightIndex, + ) { + final leftUser = provider.micAtIndexForDisplay(leftIndex)?.user; + final rightUser = provider.micAtIndexForDisplay(rightIndex)?.user; + return scCpRelationInfoBetweenProfiles(leftUser, rightUser); + } +} + +class _RoomSeatLayoutSnapshot { + const _RoomSeatLayoutSnapshot({ + required this.seatCount, + required this.seatContentVersion, + required this.showRoomVisualEffects, + required this.configuredSeatCount, + required this.hasCurrentRoom, + required this.isExitingCurrentVoiceRoomSession, + }); + + final int seatCount; + final int seatContentVersion; + final bool showRoomVisualEffects; + final int configuredSeatCount; + final bool hasCurrentRoom; + final bool isExitingCurrentVoiceRoomSession; + + @override + bool operator ==(Object other) { + if (identical(this, other)) { + return true; + } + return other is _RoomSeatLayoutSnapshot && + other.seatCount == seatCount && + other.seatContentVersion == seatContentVersion && + other.showRoomVisualEffects == showRoomVisualEffects && + other.configuredSeatCount == configuredSeatCount && + other.hasCurrentRoom == hasCurrentRoom && + other.isExitingCurrentVoiceRoomSession == + isExitingCurrentVoiceRoomSession; + } + + @override + int get hashCode => Object.hash( + seatCount, + seatContentVersion, + showRoomVisualEffects, + configuredSeatCount, + hasCurrentRoom, + isExitingCurrentVoiceRoomSession, + ); +} diff --git a/local_packages/pag-1.0.7-patched/android/src/main/java/com/example/flutter_pag_plugin/FlutterPagPlugin.java b/local_packages/pag-1.0.7-patched/android/src/main/java/com/example/flutter_pag_plugin/FlutterPagPlugin.java index 52eb3da..116f078 100644 --- a/local_packages/pag-1.0.7-patched/android/src/main/java/com/example/flutter_pag_plugin/FlutterPagPlugin.java +++ b/local_packages/pag-1.0.7-patched/android/src/main/java/com/example/flutter_pag_plugin/FlutterPagPlugin.java @@ -10,13 +10,16 @@ import android.view.Surface; import androidx.annotation.NonNull; import org.libpag.PAGFile; +import org.libpag.PAGImage; import org.libpag.PAGLayer; +import org.libpag.PAGScaleMode; import org.libpag.PAGSurface; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; +import java.util.Map; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.MethodCall; @@ -79,6 +82,7 @@ public class FlutterPagPlugin implements FlutterPlugin, MethodCallHandler { final static String _argumentCacheEnabled = "cacheEnabled"; final static String _argumentCacheSize = "cacheSize"; final static String _argumentMultiThreadEnabled = "multiThreadEnabled"; + final static String _argumentImageReplacementsByName = "imageReplacementsByName"; // 回调 final static String _playCallback = "PAGCallback"; @@ -224,6 +228,7 @@ public class FlutterPagPlugin implements FlutterPlugin, MethodCallHandler { result.error("-1100", "load composition is null! ", null); return; } + applyImageReplacementsByName(composition, call); final int repeatCount = call.argument(_argumentRepeatCount); final double initProgress = call.argument(_argumentInitProgress); @@ -276,6 +281,34 @@ public class FlutterPagPlugin implements FlutterPlugin, MethodCallHandler { }); } + private void applyImageReplacementsByName(PAGFile composition, MethodCall call) { + Map replacements = call.argument(_argumentImageReplacementsByName); + if (composition == null || replacements == null || replacements.isEmpty()) { + return; + } + for (Map.Entry entry : replacements.entrySet()) { + String layerName = entry.getKey(); + Object value = entry.getValue(); + if (layerName == null) { + continue; + } + layerName = layerName.trim(); + if (layerName.isEmpty() || !(value instanceof byte[])) { + continue; + } + byte[] bytes = (byte[]) value; + if (bytes.length == 0) { + continue; + } + PAGImage image = PAGImage.FromBytes(bytes); + if (image == null) { + continue; + } + image.setScaleMode(PAGScaleMode.Zoom); + composition.replaceImageByName(layerName, image); + } + } + void start(MethodCall call) { FlutterPagPlayer flutterPagPlayer = getFlutterPagPlayer(call); if (flutterPagPlayer != null) { diff --git a/local_packages/pag-1.0.7-patched/ios/Classes/FlutterPagPlugin.m b/local_packages/pag-1.0.7-patched/ios/Classes/FlutterPagPlugin.m index 7429a4e..99d2001 100644 --- a/local_packages/pag-1.0.7-patched/ios/Classes/FlutterPagPlugin.m +++ b/local_packages/pag-1.0.7-patched/ios/Classes/FlutterPagPlugin.m @@ -8,6 +8,7 @@ #import "FlutterPagPlugin.h" #import "TGFlutterPagRender.h" #import "TGFlutterPagDownloadManager.h" +#import "TGFlutterPagPlatformView.h" /** FlutterPagPlugin,处理flutter MethodChannel约定的方法 @@ -33,6 +34,15 @@ /// 用于通信的channel @property (nonatomic, strong)FlutterMethodChannel* channel; +- (NSDictionary*)imageReplacementsByNameFromArguments:(id)arguments; + +- (void)pagRenderWithPagData:(NSData*)pagData + progress:(double)progress + repeatCount:(int)repeatCount + autoPlay:(BOOL)autoPlay + imageReplacementsByName:(NSDictionary*)imageReplacementsByName + result:(FlutterResult)result; + @end @implementation FlutterPagPlugin @@ -45,6 +55,8 @@ instance.registrar = registrar; instance.channel = channel; [registrar addMethodCallDelegate:instance channel:channel]; + [registrar registerViewFactory:[[TGFlutterPagPlatformViewFactory alloc] initWithRegistrar:registrar] + withId:@"flutter_pag_plugin_view"]; } - (void)getLayersUnderPoint:(id)arguments result:(FlutterResult _Nonnull)result { @@ -136,6 +148,7 @@ if(arguments[@"autoPlay"]){ autoPlay = [[arguments objectForKey:@"autoPlay"] boolValue]; } + NSDictionary* imageReplacementsByName = [self imageReplacementsByNameFromArguments:arguments]; NSString* assetName = arguments[@"assetName"]; NSData *pagData = nil; @@ -157,26 +170,24 @@ [self setCacheData:key data:pagData]; } - [self pagRenderWithPagData:pagData progress:initProgress repeatCount:repeatCount autoPlay:autoPlay result:result]; + [self pagRenderWithPagData:pagData progress:initProgress repeatCount:repeatCount autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName result:result]; } NSString* url = arguments[@"url"]; if ([url isKindOfClass:NSString.class] && url.length > 0) { - NSURLSessionDownloadTask *task; - [task resume]; NSString *key = url; pagData = [self getCacheData:key]; if (!pagData) { __weak typeof(self) weak_self = self; [TGFlutterPagDownloadManager download:url completionHandler:^(NSData * _Nonnull data, NSError * _Nonnull error) { if (data) { - [weak_self setCacheData:key data:pagData]; - [weak_self pagRenderWithPagData:data progress:initProgress repeatCount:repeatCount autoPlay:autoPlay result:result]; + [weak_self setCacheData:key data:data]; + [weak_self pagRenderWithPagData:data progress:initProgress repeatCount:repeatCount autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName result:result]; }else{ result(@-1); } }]; }else{ - [self pagRenderWithPagData:pagData progress:initProgress repeatCount:repeatCount autoPlay:autoPlay result:result]; + [self pagRenderWithPagData:pagData progress:initProgress repeatCount:repeatCount autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName result:result]; } } @@ -184,13 +195,47 @@ if(bytesData != nil && [bytesData isKindOfClass:FlutterStandardTypedData.class]){ FlutterStandardTypedData *typedData = bytesData; if(typedData.type == FlutterStandardDataTypeUInt8 && typedData.data != nil){ - [self pagRenderWithPagData:typedData.data progress:initProgress repeatCount:repeatCount autoPlay:autoPlay result:result]; + [self pagRenderWithPagData:typedData.data progress:initProgress repeatCount:repeatCount autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName result:result]; }else{ result(@-1); } } } +- (NSDictionary*)imageReplacementsByNameFromArguments:(id)arguments { + if (![arguments isKindOfClass:NSDictionary.class]) { + return @{}; + } + NSDictionary* params = arguments; + id raw = params[@"imageReplacementsByName"]; + if (![raw isKindOfClass:NSDictionary.class]) { + return @{}; + } + NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; + [(NSDictionary*)raw enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL* stop) { + if (![key isKindOfClass:NSString.class]) { + return; + } + NSString* layerName = [(NSString*)key stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceAndNewlineCharacterSet]; + if (layerName.length == 0) { + return; + } + NSData* data = nil; + if ([value isKindOfClass:FlutterStandardTypedData.class]) { + FlutterStandardTypedData* typedData = value; + if (typedData.type == FlutterStandardDataTypeUInt8) { + data = typedData.data; + } + } else if ([value isKindOfClass:NSData.class]) { + data = value; + } + if (data.length > 0) { + result[layerName] = data; + } + }]; + return result; +} + - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { id arguments = call.arguments; @@ -215,21 +260,32 @@ } } --(void)pagRenderWithPagData:(NSData *)pagData progress:(double)progress repeatCount:(int)repeatCount autoPlay:(BOOL)autoPlay result:(FlutterResult)result{ +-(void)pagRenderWithPagData:(NSData *)pagData progress:(double)progress repeatCount:(int)repeatCount autoPlay:(BOOL)autoPlay imageReplacementsByName:(NSDictionary*)imageReplacementsByName result:(FlutterResult)result{ + if (pagData == nil || pagData.length == 0) { + result(@-1); + return; + } __block int64_t textureId = -1; __weak typeof(self) weakSelf = self; - TGFlutterPagRender *render = [[TGFlutterPagRender alloc] initWithPagData:pagData progress:progress frameUpdateCallback:^{ + TGFlutterPagRender *render = [[TGFlutterPagRender alloc] initWithPagData:pagData progress:progress imageReplacementsByName:imageReplacementsByName frameUpdateCallback:^{ [weakSelf.textures textureFrameAvailable:textureId]; } eventCallback:^(NSString * event) { - [weakSelf.channel invokeMethod:PlayCallback arguments:@{ArgumentTextureId:@(textureId), ArgumentEvent:event}]; + dispatch_async(dispatch_get_main_queue(), ^{ + [weakSelf.channel invokeMethod:PlayCallback arguments:@{ArgumentTextureId:@(textureId), ArgumentEvent:event}]; + }); }]; + CGSize renderSize = [render size]; + if (render == nil || renderSize.width <= 0 || renderSize.height <= 0) { + result(@-1); + return; + } [render setRepeatCount:repeatCount]; textureId = [self.textures registerTexture:render]; if(_renderMap == nil){ _renderMap = [[NSMutableDictionary alloc] init]; } [_renderMap setObject:render forKey:@(textureId)]; - result(@{@"textureId":@(textureId), @"width":@([render size].width), @"height":@([render size].height)}); + result(@{@"textureId":@(textureId), @"width":@(renderSize.width), @"height":@(renderSize.height)}); if(autoPlay){ [render startRender]; } diff --git a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.h b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.h new file mode 100644 index 0000000..8649e60 --- /dev/null +++ b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.h @@ -0,0 +1,5 @@ +#import + +@interface TGFlutterPagPlatformViewFactory : NSObject +- (instancetype)initWithRegistrar:(NSObject*)registrar; +@end diff --git a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.mm b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.mm new file mode 100644 index 0000000..42685bb --- /dev/null +++ b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagPlatformView.mm @@ -0,0 +1,234 @@ +#import "TGFlutterPagPlatformView.h" +#import "TGFlutterPagDownloadManager.h" + +#import +#import +#import +#import +#import + +@interface TGFlutterPagPlatformView : NSObject +@property(nonatomic, strong) PAGView* pagView; +@property(nonatomic, weak) NSObject* registrar; +@end + +@implementation TGFlutterPagPlatformView + +- (instancetype)initWithFrame:(CGRect)frame + viewIdentifier:(int64_t)viewId + arguments:(id)arguments + registrar:(NSObject*)registrar { + self = [super init]; + if (self) { + _registrar = registrar; + _pagView = [[PAGView alloc] initWithFrame:frame]; + _pagView.backgroundColor = UIColor.clearColor; + _pagView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + [_pagView setScaleMode:PAGScaleModeLetterBox]; + [_pagView addListener:self]; + [self configureWithArguments:arguments]; + } + return self; +} + +- (UIView*)view { + return _pagView; +} + +- (void)configureWithArguments:(id)arguments { + if (![arguments isKindOfClass:NSDictionary.class]) { + return; + } + NSDictionary* params = arguments; + int repeatCount = 1; + id repeatValue = params[@"repeatCount"]; + if ([repeatValue respondsToSelector:@selector(intValue)]) { + repeatCount = [repeatValue intValue]; + } + double initProgress = 0.0; + id progressValue = params[@"initProgress"]; + if ([progressValue respondsToSelector:@selector(doubleValue)]) { + initProgress = [progressValue doubleValue]; + } + BOOL autoPlay = NO; + id autoPlayValue = params[@"autoPlay"]; + if ([autoPlayValue respondsToSelector:@selector(boolValue)]) { + autoPlay = [autoPlayValue boolValue]; + } + NSDictionary* imageReplacementsByName = [self imageReplacementsByNameFromParams:params]; + + [_pagView setRepeatCount:repeatCount]; + [_pagView setProgress:initProgress]; + + NSString* assetName = [self nonEmptyString:params[@"assetName"]]; + if (assetName.length > 0) { + NSString* package = [self nonEmptyString:params[@"package"]]; + NSString* assetPath = [self assetPathForName:assetName package:package]; + [self loadPath:assetPath initProgress:initProgress autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName]; + return; + } + + NSString* url = [self nonEmptyString:params[@"url"]]; + if (url.length > 0) { + __weak typeof(self) weakSelf = self; + [TGFlutterPagDownloadManager download:url completionHandler:^(NSData* data, NSError* error) { + if (data == nil || data.length == 0) { + return; + } + dispatch_async(dispatch_get_main_queue(), ^{ + [weakSelf loadData:data initProgress:initProgress autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName]; + }); + }]; + return; + } + + id bytesData = params[@"bytesData"]; + if ([bytesData isKindOfClass:FlutterStandardTypedData.class]) { + FlutterStandardTypedData* typedData = bytesData; + if (typedData.type == FlutterStandardDataTypeUInt8) { + [self loadData:typedData.data initProgress:initProgress autoPlay:autoPlay imageReplacementsByName:imageReplacementsByName]; + } + } +} + +- (NSString*)nonEmptyString:(id)value { + if (![value isKindOfClass:NSString.class]) { + return nil; + } + NSString* text = [(NSString*)value stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceAndNewlineCharacterSet]; + return text.length > 0 ? text : nil; +} + +- (NSString*)assetPathForName:(NSString*)assetName package:(NSString*)package { + NSString* resourcePath = nil; + if (package.length > 0) { + resourcePath = [_registrar lookupKeyForAsset:assetName fromPackage:package]; + } else { + resourcePath = [_registrar lookupKeyForAsset:assetName]; + } + return [[NSBundle mainBundle] pathForResource:resourcePath ofType:nil]; +} + +- (void)loadPath:(NSString*)path initProgress:(double)initProgress autoPlay:(BOOL)autoPlay imageReplacementsByName:(NSDictionary*)imageReplacementsByName { + if (path.length == 0) { + return; + } + if (imageReplacementsByName.count > 0) { + PAGFile* file = [PAGFile Load:path]; + [self applyImageReplacementsByName:imageReplacementsByName toFile:file]; + [self setFile:file initProgress:initProgress autoPlay:autoPlay]; + return; + } + if (![_pagView setPath:path]) { + return; + } + [_pagView setProgress:initProgress]; + [_pagView flush]; + if (autoPlay) { + [_pagView play]; + } +} + +- (void)loadData:(NSData*)data initProgress:(double)initProgress autoPlay:(BOOL)autoPlay imageReplacementsByName:(NSDictionary*)imageReplacementsByName { + if (data == nil || data.length == 0) { + return; + } + PAGFile* file = [PAGFile Load:data.bytes size:data.length]; + [self applyImageReplacementsByName:imageReplacementsByName toFile:file]; + [self setFile:file initProgress:initProgress autoPlay:autoPlay]; +} + +- (void)setFile:(PAGFile*)file initProgress:(double)initProgress autoPlay:(BOOL)autoPlay { + if (file == nil || file.width <= 0 || file.height <= 0) { + return; + } + [_pagView setComposition:file]; + [_pagView setProgress:initProgress]; + [_pagView flush]; + if (autoPlay) { + [_pagView play]; + } +} + +- (NSDictionary*)imageReplacementsByNameFromParams:(NSDictionary*)params { + id raw = params[@"imageReplacementsByName"]; + if (![raw isKindOfClass:NSDictionary.class]) { + return @{}; + } + NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; + [(NSDictionary*)raw enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL* stop) { + if (![key isKindOfClass:NSString.class]) { + return; + } + NSString* layerName = [(NSString*)key stringByTrimmingCharactersInSet:NSCharacterSet.whitespaceAndNewlineCharacterSet]; + if (layerName.length == 0) { + return; + } + NSData* data = nil; + if ([value isKindOfClass:FlutterStandardTypedData.class]) { + FlutterStandardTypedData* typedData = value; + if (typedData.type == FlutterStandardDataTypeUInt8) { + data = typedData.data; + } + } else if ([value isKindOfClass:NSData.class]) { + data = value; + } + if (data.length > 0) { + result[layerName] = data; + } + }]; + return result; +} + +- (void)applyImageReplacementsByName:(NSDictionary*)imageReplacementsByName toFile:(PAGFile*)file { + if (file == nil || imageReplacementsByName == nil || imageReplacementsByName.count == 0) { + return; + } + [imageReplacementsByName enumerateKeysAndObjectsUsingBlock:^(NSString* layerName, NSData* data, BOOL* stop) { + if (![layerName isKindOfClass:NSString.class] || layerName.length == 0 || + ![data isKindOfClass:NSData.class] || data.length == 0) { + return; + } + PAGImage* image = [PAGImage FromBytes:data.bytes size:data.length]; + if (image == nil) { + return; + } + [image setScaleMode:PAGScaleModeZoom]; + [file replaceImageByName:layerName data:image]; + }]; +} + +- (void)dealloc { + [_pagView removeListener:self]; + [_pagView stop]; + [_pagView setComposition:nil]; +} + +@end + +@implementation TGFlutterPagPlatformViewFactory { + __weak NSObject* _registrar; +} + +- (instancetype)initWithRegistrar:(NSObject*)registrar { + self = [super init]; + if (self) { + _registrar = registrar; + } + return self; +} + +- (NSObject*)createArgsCodec { + return FlutterStandardMessageCodec.sharedInstance; +} + +- (NSObject*)createWithFrame:(CGRect)frame + viewIdentifier:(int64_t)viewId + arguments:(id)args { + return [[TGFlutterPagPlatformView alloc] initWithFrame:frame + viewIdentifier:viewId + arguments:args + registrar:_registrar]; +} + +@end diff --git a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.h b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.h index 5f13fc4..6b8d08a 100644 --- a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.h +++ b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.h @@ -30,6 +30,7 @@ typedef void(^PAGEventCallback)(NSString *); - (instancetype)initWithPagData:(NSData*)pagData progress:(double)initProgress + imageReplacementsByName:(NSDictionary*)imageReplacementsByName frameUpdateCallback:(FrameUpdateCallback)frameUpdateCallback eventCallback:(PAGEventCallback)eventCallback; diff --git a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.mm b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.mm index 35fc9aa..57611da 100644 --- a/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.mm +++ b/local_packages/pag-1.0.7-patched/ios/Classes/TGFlutterPagRender.mm @@ -12,7 +12,10 @@ #import #import #import +#include +#include #include +#include #include #include @@ -86,6 +89,7 @@ static int64_t GetCurrentTimeUS() { - (instancetype)initWithPagData:(NSData*)pagData progress:(double)initProgress + imageReplacementsByName:(NSDictionary*)imageReplacementsByName frameUpdateCallback:(FrameUpdateCallback)frameUpdateCallback eventCallback:(PAGEventCallback)eventCallback { @@ -95,6 +99,10 @@ static int64_t GetCurrentTimeUS() { _initProgress = initProgress; if(pagData){ _pagFile = [PAGFile Load:pagData.bytes size:pagData.length]; + if (_pagFile == nil || _pagFile.width <= 0 || _pagFile.height <= 0) { + return self; + } + [self applyImageReplacementsByName:imageReplacementsByName]; _player = [[PAGPlayer alloc] init]; [_player setComposition:_pagFile]; _surface = [PAGSurface MakeFromGPU:CGSizeMake(_pagFile.width, _pagFile.height)]; @@ -107,8 +115,30 @@ static int64_t GetCurrentTimeUS() { return self; } +- (void)applyImageReplacementsByName:(NSDictionary*)imageReplacementsByName +{ + if (_pagFile == nil || imageReplacementsByName == nil || imageReplacementsByName.count == 0) { + return; + } + [imageReplacementsByName enumerateKeysAndObjectsUsingBlock:^(NSString* layerName, NSData* data, BOOL* stop) { + if (![layerName isKindOfClass:NSString.class] || layerName.length == 0 || + ![data isKindOfClass:NSData.class] || data.length == 0) { + return; + } + PAGImage* image = [PAGImage FromBytes:data.bytes size:data.length]; + if (image == nil) { + return; + } + [image setScaleMode:PAGScaleModeZoom]; + [_pagFile replaceImageByName:layerName data:image]; + }]; +} + - (void)startRender { + if (_player == nil || _surface == nil) { + return; + } if (!_displayLink) { _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)]; [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes]; @@ -121,6 +151,9 @@ static int64_t GetCurrentTimeUS() { - (void)stopRender { + if (_player == nil) { + return; + } if (_displayLink) { [_displayLink invalidate]; _displayLink = nil; @@ -136,6 +169,9 @@ static int64_t GetCurrentTimeUS() { } - (void)pauseRender{ + if (_player == nil) { + return; + } if (_displayLink) { [_displayLink invalidate]; _displayLink = nil; @@ -146,12 +182,18 @@ static int64_t GetCurrentTimeUS() { } - (void)setProgress:(double)progress{ + if (_player == nil) { + return; + } [_player setProgress:progress]; [_player flush]; _frameUpdateCallback(); } - (NSArray *)getLayersUnderPoint:(CGPoint)point{ + if (_player == nil) { + return @[]; + } NSArray* layers = [_player getLayersUnderPoint:point]; NSMutableArray *layerNames = [[NSMutableArray alloc] init]; for (PAGLayer *layer in layers) { diff --git a/local_packages/pag-1.0.7-patched/lib/pag.dart b/local_packages/pag-1.0.7-patched/lib/pag.dart index 2588a53..a5494b7 100644 --- a/local_packages/pag-1.0.7-patched/lib/pag.dart +++ b/local_packages/pag-1.0.7-patched/lib/pag.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; class PAGView extends StatefulWidget { @@ -45,6 +46,15 @@ class PAGView extends StatefulWidget { /// 加载失败时的默认控件构造器 final Widget Function(BuildContext context)? defaultBuilder; + /// Replace editable PAG image layers by layer name before playback starts. + final Map imageReplacementsByName; + + /// Uses the native iOS PAGView instead of the texture renderer. + /// + /// This is intended for local PAG assets on iOS where the texture renderer can + /// report playback events while presenting transparent frames. + final bool usePlatformView; + static const int REPEAT_COUNT_LOOP = -1; //无限循环 static const int REPEAT_COUNT_DEFAULT = 1; //默认仅播放一次 @@ -61,6 +71,8 @@ class PAGView extends StatefulWidget { this.onAnimationCancel, this.onAnimationRepeat, this.defaultBuilder, + this.imageReplacementsByName = const {}, + this.usePlatformView = false, Key? key, }) : this.bytesData = null, this.assetName = null, @@ -81,6 +93,8 @@ class PAGView extends StatefulWidget { this.onAnimationCancel, this.onAnimationRepeat, this.defaultBuilder, + this.imageReplacementsByName = const {}, + this.usePlatformView = false, Key? key, }) : this.bytesData = null, this.url = null, @@ -100,6 +114,8 @@ class PAGView extends StatefulWidget { this.onAnimationCancel, this.onAnimationRepeat, this.defaultBuilder, + this.imageReplacementsByName = const {}, + this.usePlatformView = false, Key? key, }) : this.url = null, this.assetName = null, @@ -148,6 +164,9 @@ class PAGViewState extends State { static const String _argumentCacheEnabled = "cacheEnabled"; static const String _argumentCacheSize = "cacheSize"; static const String _argumentMultiThreadEnabled = "multiThreadEnabled"; + static const String _argumentImageReplacementsByName = + 'imageReplacementsByName'; + static const String _platformViewType = 'flutter_pag_plugin_view'; // 监听该函数 static const String _playCallback = 'PAGCallback'; @@ -161,7 +180,8 @@ class PAGViewState extends State { static MethodChannel _channel = (const MethodChannel('flutter_pag_plugin') ..setMethodCallHandler((result) { if (result.method == _playCallback) { - callbackHandlers[result.arguments[_argumentTextureId]]?.call(result.arguments[_argumentEvent]); + callbackHandlers[result.arguments[_argumentTextureId]] + ?.call(result.arguments[_argumentEvent]); } return Future.value(); @@ -172,21 +192,60 @@ class PAGViewState extends State { @override void initState() { super.initState(); - newTexture(); + if (!_usesPlatformView) { + newTexture(); + } + } + + bool get _usesPlatformView => + widget.usePlatformView && defaultTargetPlatform == TargetPlatform.iOS; + + Map get _creationParams { + final repeatCount = widget.repeatCount <= 0 && + widget.repeatCount != PAGView.REPEAT_COUNT_LOOP + ? PAGView.REPEAT_COUNT_DEFAULT + : widget.repeatCount; + final initProcess = widget.initProgress < 0 ? 0 : widget.initProgress; + return { + _argumentAssetName: widget.assetName, + _argumentPackage: widget.package, + _argumentUrl: widget.url, + _argumentBytes: widget.bytesData, + _argumentRepeatCount: repeatCount, + _argumentInitProgress: initProcess, + _argumentAutoPlay: widget.autoPlay, + _argumentImageReplacementsByName: + _validImageReplacements(widget.imageReplacementsByName), + }; + } + + Map _validImageReplacements( + Map replacements, + ) { + if (replacements.isEmpty) { + return const {}; + } + final result = {}; + replacements.forEach((key, value) { + final layerName = key.trim(); + if (layerName.isNotEmpty && value.isNotEmpty) { + result[layerName] = value; + } + }); + return result; } // 初始化 void newTexture() async { - int repeatCount = widget.repeatCount <= 0 && widget.repeatCount != PAGView.REPEAT_COUNT_LOOP ? PAGView.REPEAT_COUNT_DEFAULT : widget.repeatCount; - double initProcess = widget.initProgress < 0 ? 0 : widget.initProgress; - try { dynamic result = - await _channel.invokeMethod(_nativeInit, {_argumentAssetName: widget.assetName, _argumentPackage: widget.package, _argumentUrl: widget.url, _argumentBytes: widget.bytesData, _argumentRepeatCount: repeatCount, _argumentInitProgress: initProcess, _argumentAutoPlay: widget.autoPlay}); + await _channel.invokeMethod(_nativeInit, _creationParams); if (result is Map) { _textureId = result[_argumentTextureId]; rawWidth = result[_argumentWidth] ?? 0; rawHeight = result[_argumentHeight] ?? 0; + } else { + throw StateError('initPag failed: $result'); } if (mounted) { setState(() { @@ -216,6 +275,9 @@ class PAGViewState extends State { /// 开始 void start() { + if (_usesPlatformView) { + return; + } if (!_hasLoadTexture) { return; } @@ -224,6 +286,9 @@ class PAGViewState extends State { /// 停止 void stop() { + if (_usesPlatformView) { + return; + } if (!_hasLoadTexture) { return; } @@ -232,6 +297,9 @@ class PAGViewState extends State { /// 暂停 void pause() { + if (_usesPlatformView) { + return; + } if (!_hasLoadTexture) { return; } @@ -240,22 +308,43 @@ class PAGViewState extends State { /// 设置进度 void setProgress(double progress) { + if (_usesPlatformView) { + return; + } if (!_hasLoadTexture) { return; } - _channel.invokeMethod(_nativeSetProgress, {_argumentTextureId: _textureId, _argumentProgress: progress}); + _channel.invokeMethod(_nativeSetProgress, + {_argumentTextureId: _textureId, _argumentProgress: progress}); } /// 获取某一位置的图层 Future> getLayersUnderPoint(double x, double y) async { - if (!_hasLoadTexture) { + if (_usesPlatformView || !_hasLoadTexture) { return []; } - return (await _channel.invokeMethod(_nativeGetPointLayer, {_argumentTextureId: _textureId, _argumentPointX: x, _argumentPointY: y}) as List).map((e) => e.toString()).toList(); + return (await _channel.invokeMethod(_nativeGetPointLayer, { + _argumentTextureId: _textureId, + _argumentPointX: x, + _argumentPointY: y + }) as List) + .map((e) => e.toString()) + .toList(); } @override Widget build(BuildContext context) { + if (_usesPlatformView) { + return SizedBox( + width: widget.width ?? defaultSize, + height: widget.height ?? defaultSize, + child: UiKitView( + viewType: _platformViewType, + creationParams: _creationParams, + creationParamsCodec: const StandardMessageCodec(), + ), + ); + } if (_hasLoadTexture) { return SizedBox( width: widget.width ?? (rawWidth / 2), @@ -274,8 +363,10 @@ class PAGViewState extends State { @override void dispose() { super.dispose(); - _channel.invokeMethod(_nativeRelease, {_argumentTextureId: _textureId}); - callbackHandlers.remove(_textureId); + if (!_usesPlatformView) { + _channel.invokeMethod(_nativeRelease, {_argumentTextureId: _textureId}); + callbackHandlers.remove(_textureId); + } } } @@ -285,16 +376,19 @@ typedef PAGCallback = void Function(); class PAG { // 是否开启缓存,默认true static void enableCache(bool enable) { - PAGViewState._channel.invokeMethod(PAGViewState._nativeEnableCache, {PAGViewState._argumentCacheEnabled: enable}); + PAGViewState._channel.invokeMethod(PAGViewState._nativeEnableCache, + {PAGViewState._argumentCacheEnabled: enable}); } // 是否多线程加载和释放资源,默认true static void enableMultiThread(bool enable) { - PAGViewState._channel.invokeMethod(PAGViewState._nativeEnableMultiThread, {PAGViewState._argumentMultiThreadEnabled: enable}); + PAGViewState._channel.invokeMethod(PAGViewState._nativeEnableMultiThread, + {PAGViewState._argumentMultiThreadEnabled: enable}); } // 设置缓存数量,默认10 static void setCacheSize(int size) { - PAGViewState._channel.invokeMethod(PAGViewState._nativeSetCacheSize, {PAGViewState._argumentCacheSize: size}); + PAGViewState._channel.invokeMethod(PAGViewState._nativeSetCacheSize, + {PAGViewState._argumentCacheSize: size}); } } diff --git a/pubspec.yaml b/pubspec.yaml index 018e2d9..e917567 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -175,8 +175,10 @@ flutter: - sc_images/room/cp_progress/ - sc_images/room/cp_invite/ - sc_images/room/background_examples/ + - sc_images/room/cp_broadcast/ - sc_images/room/emoji/ - sc_images/room/entrance/ + - sc_images/room/mic/ - sc_images/room/red_packet/ - sc_images/room/rocket/ - sc_images/room/anim/ diff --git a/sc_images/room/anim/game_win.svga b/sc_images/room/anim/game_win.svga new file mode 100644 index 0000000000000000000000000000000000000000..c6bcbc23c7f25ca76a4c161df375816963e62c6a GIT binary patch literal 451450 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 #fQ?_YXEV$;F>$xqJYLd_ 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 z�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%0DJ3LKklK>_jqenbEG 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∓u@Lw;>~UYZ5FPY9d_`I5Oj|OQDLsX~gj(1~dZA!P>T};MFOvS?Co+7;r)^85 zGI^Ha>{YUyA5qUw>CCof6t_~icso(rv(pI+2hM4|2;v}MUffLfy4Qco-eL63uG?$_ z8>0S>vZ8+x;yQ!hr8PNit;@)-1&uS}Uj!%m*_fj%o(a4N%pWt*D6o@fnBb-4Xt`s~ zqqob1G4_2gO!ruXg{7BpflK%W+tK-Su2!~Q;r_?IPMkO+|HTB(Q^X|2vI1|`o-_F? z0m43*DNg$Bl=r`Fa{NN`uT74RY0&5YVUwfkNqP5YljE}RDenLDC+;B&7-tS2e}W)) z=+FSh_~P*P5ZVgH*x~W!5W)>rXt&vxiG>`YS!aw-*eKov8vTeseZ-?Jq3;3XKRsq3 z6o9;7gflL~e7x3rYx2|Py!r8R5T@xT3V4D_$BhuZF-#CMygOX# zd2nEd15p4f2bfh*?Ya`7)$>(-Aj)&9)_Zp+99q)Z$7kZ}YmaNn_Nqp3;UU9~v)I6( zp$hX6H~-Ep0M-Cl0$>(^i^?OcQZrZOMy|_D*m*QM2h~YQ;4lRLIhN;Li;kS3buU#_n)Hc=#tuQJH}DENsI%Eub({{19)^CxFJ$LnXVCHa zFjN8k(_>G{tna4}d_`fxBfR#7b{EzZAfq9?AHWvDT+(x@-W$?dBd+?R8hOCs{lY35 zv~**hYplPG!q`UaRxLr%gYd^+IM2@r8!r%OvlEsJ752mOHlrn0*fMQ2ZWQc)0H*eR z3GcQxCa?v^K=;e?2g!a}{@pif(Bw8?d$S{}zo;*;EiXTyrnz5QicO2ej$2@3tykmh zFry=Qlq0~m0n@nEau{fs_q2_}dcLd5YMn+>2Mmhq?t*)WLrCn?f^7vPYYzFE?wi?d zSWN=01YD#c#{b=tlf!YSJ2qzyxJzuT$lS~|(5E#kq2fKD#sws4eE7t`=6qUJPrcjmaAPW#lz&>}1l&CR4Q^DLb|T-(Di~e*8X6?z zO&!F3^^P|Eg|10kr>pOnZ-$Vuc!`TsoTp6wL>)96sUhYbeqGFw+zIJyJ5~~@R2EMg zch%zP`jfWU_=E1aDT7*vwdY6xv0Whgiy8p~)uXJu$VnHH0_@`Q(Ul5IpF@H1R~q=n zalTjjWy5mB`bDeS{K=*&otH~RnzCCrW{ku9kM+c(B`J3^t@JknHX2?)(}Zbsa#xiP z8f{ve7kp14wr$hsF7{?T(BIH1_;wdR$!hXU(PYwCZCF?sI=nyYmeIXu zl20uKneX`2=HZ`B<(ZDoPFuMF+Xab@aR0D`goHNN_f@S66pw$|SDF>DF6^f*L?2Z1@gBcN zWBuwtUiexuO6l@jvjA~crdq*hhwP_6`_n5b^7Hd6Cfa(uK5cZq z?pN1{{^_NhJl7xLcgZ^KrjB(9k52!q2Fl9;t^9PfLrO98=js={dFR6}T4} z_4oI0l86O){P24cuEcG@e*e#Hga^FXw6((RtQg?i0voOywTo z54%DbQ&TP8(lU{Dppn*nI_Dr>A1CEI)cBYEn>tA?Mwl z1q!m&`uSsBRt!h*>oz|}BZs7D(d!O`Om}`*i+8E7u(r@%eVaz_{e9L^^o?;v7*PzZ z3lTxfdEq!yMv9%lPwGx@qu%T!4XMf83aP0%ej879*4%_2x>3JTdhayF@rXw_O@+Nc zh)keBN$mE_`@>%;b#Qw{k=t{=a!yI|^hySugan<3VPO)1+y2)zvo~dyV!cfm&b;I( z3GAeBDx_>osH#t67AR$Xbf=)~P=91a?K1;Em+bN43m+lbu70e}tuK7}CdjX21y2)M z69mTJD>Z9=(=2Fg@3(~5XN2C*=vDHu2_x-qT#!{rIEnxf{XH>Qnt+D+0TQBjecgtb z^wprzRJya$PhW9!-io-bE)zTX63@$ePn^ZX-x(LRE~fPB(-TL|R97SrlwB(S zs4DdK-q4U}LmumvwjbwzJTMvq)^Yj zwXoqxo~`8=2zwCdWESJggT)p@+cs^Ps-xZI_@k1^YV*x8yY)t?^~qQOm9BJZAC4KK zx7=X34&8V7!}H1Nxc^kW0b-{SyJ~zqVRUpjvN<1x+0WeDO4*Emc za5N53G5D3#JWbm51~dF#8@}JT!s;ff)fm9BM}5`+I|5JJHh<=jksJ*P@&nKJUH5d^jW+QijJ1M-Qy*x#xj)WOY}Tn z@}u`k@vHe+hSw|g7>DxE$TqG0*_@FKWIp?6+w$VeqWY5v6if-lQdc|?@dc*t&#$2o!w zqmeRW$MGm9OZ3WFG*2>H}w@4nx`nzrP1kb)oKK7l@Hs9_D_Oevh&zD+LvfvmC zZ=Wl-PtnraUtF-eqislgsUk(*o}*EY)<4bEFV&!IXef0ywc=aO5Akx~HHaQYjBT-1 zbekc6VV4>`bnv@F2FtD8^dY)@PlDdQ){yC<^{_Hu*@uNx-XKwx@#gbB>yden6nD;&`C-|V6I8_g znWZn5u~j7oxUG3IzH|IUA0BU<^eZQ+^Xl`8%gqYG6E{Wkm!>-3dCYAa^N%R>7CR;j z->x=%s3d(o+tBhtz8KMBz#f0qcju2dzMhR}H@PC$2z*9*VwCvxZhsHGa8uFxJAtzm zSt~L+T$ic?8iORsLQU?xk+^w2jq)m4xbpW8Q34q`XV8wHba3l3*S7DjK6U%5N^t1o z%_n1*W>=fr>(7EO=LitvaJH~1o^$&^%AP!Q5y6zhSz!9cHC-wQG+Gh zDN~G}66@Q~#2J=YRXk?jR^@V-Y3fs{(?yrhT;r?Ov*~&iA=SAOGSQ?S_iCllmWyu%{2E_0^kh$(ZH?wkaTS_H=|nzJE$f;zVHk(0 zs&ezm;zXqghYY1!W@}t0VhvX$c0M+dhEj-rvUp>6Kl)8EVIh0{*QG(fjYv?;@f)Voq21OgW%IkIl8s8ea6U|}KWlDPEiqEL(@d(!2k z{m*Q#H2b?M6@~}L$2IKsB)w+uqxicla@Y7&ZJqhQw|_x(#RrHHt@78o0MF+MM-4m< z`nvYFJZ))m1mknb*)En*i9BiS_87f8|CV0uvU}mxsWu_chxt`{PPCHi!w&>(6SQGC zke}Dg@hxEj+{1J~iEI1Amj1Vn0GrqPsi%gl)Hg}aEq48kD6W>hWuuMXX-c`eltM2n z*)VcFY5Q)(P|%&80Uwikh`-dL(q4nba%I75Or0N9BE*cC>43IvN+TBFDOnn=imWm={wXWuxW}=G- z9P^))q9PXWl_3)p4QJ)J#i?U*FzQ%~Y##U?>P)5bvVHN~m5p2a2L@(O@D(Z5zN|!9 zmCS?z9X7XXrzT1VB|m0ezqWZRm-E3xX1BhdZ7b~3UOyce7#w2s6$BR#M9seEZk{z- zQGZatLTCDf%W=D2ZLD*K$X%S^lp)V$N0*@rY0crm>7#EPi8nd7OWRqVX_hfW#%OnQ zD~FMUM2t$FmLJnpwKx-=O*ri+$jihyS$dVTonwl`G+4aeVQu~!bOqJ7_6)neP5n{) z$xiZY%blze`NwhDV=?j)0bWKKWWXA47jXH?bar={q%?!eDdr%$p+K@JUyp`TDtfd! z??JOc;^%#h=h%&jj|QwlScgwD72~HL#AP#rv3v960X2F`%}Df^U4N%N4z>ZOJfnY<>S`9a0rZb87(4cCJa(l7Yf$op1e6koZx zgnzLHoVS}7@9Vs)f$YtUI=`+J(dVLmx@l)6Z&TRjOkP{)Qu-H_P8ODLJwN8^YGubp z8$uXVq|kMVZ;eV?BCeQE-+l1BUt9dVoCJknO@Yp5Q|fzXMws4lq^B_ZvR6Kg;pX6G zPrM;G+5VRGzKeMa&)_-U?5JNDiL=cS>`N0r8Ini8jtZI_E9LeYo~27)Gh~sX=;f^vB!8HJM3)!au|o&*V&7wiEZd>mI;#m9yV`?|3=BOp zti-x0+I)d+7czMSYXlcJLao0Y)9Osd1SfX2Eu|1CDjGbl;$fwGq&-N+FEUZ194eVU z&Q)?*mj`1a6|#w`Uxpk-hbIL>!&($>5YYWtTfCEL*Kz&!a{|$3rLdTXs?}AOg!WPy z&y>#+?Zw^M?Yt`~&3;ZSmEiNeuMHs);gN!<%?mHbQ6Ymo{QL|BL~M!S85vy4sT10_ zp9=*q+u9c$?Y4Ii%tV^3TSsSQUQd6>RVxs6y&(NI{~ZFR%)wL!Zi!8en9l0*eswmv z)`N0I0?)+~TUC=sC7e=TWm5OX;u!Gm96_x`;fV+1+T*aZ%N<9Ij~CO>Q=PRlJ`-8+ao4x2-TUC9yu~h65jag? zV`+5r9{{K=BO57MdqFIf^1$=_L0-kWm}$`7D@ z@CT8|3E6s=YXGd_u{HR^pZJ5oxkS#%FuG=Ka{P|Rcy}H4sCMiV>Bv{AwY=xZ^iu~# zCw+frzoVXwy4LS@YCeLZ^&?rKI>}z{B>)z>Kal|7TB=LhVnu=~zgS~LaxkP)ph^rK zMB$DK045#aDsad7hx$>og7+B_COQ*xn$pG*Z-m*d#QNwe*@KHRxX$DWSL;b?XRcGM^c^I5pru7a}OZx*@)s3d~C28y>=kGMFez7!?fg)=(=eyv~g(Jp&JO z!*endUkMhX$*Qyo;Bi6xngQ|`Ilhw;UXU3LB8FBh!GR>aZe0A1pje#%o{|P29^ZK% zOufdHp56FC((6PB=49IK2*C;`Jn{ryR_}HrhE}!V3Gt0|GGqxQSbC4orNEca;!0?s zImIen0%%Paj9kM+kmFCTYnTPoOaU*w!~CMbRWreL=iz1+Ff9%yp1}ibFjNC?nZuJD z0A~(XKR~^F@aP?A!vsH}2JhO!2ua+c7QA5yj+0=79oVsi(Z8U1Wq3^wJ{e)#92yq} zC+oaryjI1}adLBT{K*uUgKqWNDlwatHd8NufG@;?$mO+V4o}JVafTqxw$3{ zild72J3q;B2fm1vs#a^#Vh!@_cW0)8sOI|e0B&k-t`3XJ!|(gzaHII6!u|c>!^7UC z>}M0H!ibq5{9$sH2^EAJz~P3fEzjkvlMZ>F2Dq6fE5csav(QoYgdg?M)H?u>xZ{={ z2TDAq?Zk-j*im@Lx=@7xp1B8aOZ1x%0EGT_!;Pf?qJx6d`-NxVEgPuwF}_0pEWHBj zTF{6n*wn*}-+)HNz(FvK^nwqgajm@I#CG?+kE_nX8+y>37QTZAfFKwy!4C@qoG}cg z;bx6t*cUf)3E*_W?q_VxJ+LnZuNlHy7Vx1oy!ipzwg3m>@R9~tRY%vHg*J`B+6Ne| z2Cu${p==0a4i=@rh6TK=R;xz<&r9KYE`l``c;WR{3K_I%jvb_fC;3J_2>{9mtZ;#q zM_`>B-Vp@*?wIH^*b0UdU$UBh3m&=*X2k(UYrlXJ?0ds=l9)VtFwTtoMGcUm_!&uP zgbJFM2MB9;MG=}%0-F{vIuh(y!D|}$bxRmzmTM8>r(S{$LwH5w#LjTF_wel;(BPvJ zTZE5O06G&sv;go|7;1(N!ojK%epL^w8-QssT< zX$tpH!xN%#_vKP`0(=AQawKuBAwlOyf@TW>xRV}C3fCGCfKBrge*?{n;wtE&#v41? zRA5aTUe-9MAcvPVK^q;spoobkg;zh|)6Wd~k}RZ>f_X)F-SEhd6rPsov?DliC)kWL zTRErjjo0B30eDRtOiRIiH{eZ^QGX(I^XW=$A~3=OPl>{F3dd0-PzBXmIx*D8apGCw zrS~No1aR*id@e0mP=Gqw;1ykb_Gx%Q74EnIdhgCAkm0(h9xA?@Jh6dCf1HhHAPEnX zCbPy>>O_jkCAW@i4gSyisf8(K;Fnnf7Q*t^c4$4^6f1-j-R$e;Hkbo_t8chSi}rpy zu_3|VPKT{e=R*<=HSKc4eHIpul;wrHx9Y!&$*2#`-s+zc>>BZ?)HsG z9TOhsrF)t0v)13`yLqdC@A*te46#_RZYLhSo}U!gUD?`LsLrdQ`(%mkwEn%`?-bI% zjMj~N?)nt#iiPmR@Hk+)_2fEA1WkBt9xH`SYGudido0nJ@8)>TdY>L-tv!40>bj3Am3EmH53yDnqR)9| zy|7wk!BqEo(lvAD`_Z(t2B8@aD$V;pTg?UY$Eu z_WkiS@W*UtQ6zGv0xaQ{;z>o+4U=!rRm12UN&0iOkGN^|TPZ$~&h&iCLr!r^z9%uU zF*am0&bY(fPe?#;WaVIUH>Q;7-#pto^(l(KJlm6pG*i_7;M$~5ip(F^CjY|Z-hcWS z79?T;8h~gF*n+_x1V-^-2?8ZpP=`I-n#Y|qrD4skEa_ce0by9siUWB#@Er@f@wl(p zJqHXx!9%)7Z_mxho}SXWJP#)E$FA536LhHxD(m&$rY+|4lbtfDeRaB76bhVkMY;^Z z=RR!*KSR{%9HlAl&zm0G-dNrD#kZ@Y(w^@gL_#jN)(2@w zI5w}Qp;@9)Px5dVy?03r)`IPiKtBYsu-!UGJ=T~N3$)k0tw~ROg2Y~^%x)|{GLjns zsv&dMHS9LDfdmf+;m{HwPCv`ifETF6GlcG2l)y!+P_8{X%m4+vvG5+Q_B%c+2*2ir zgK@ZtA7JeV_$G*e<{&$+t#1-YS2ZMrg|Qisy%gfG7h36rjcg9I{f{d%z~&^_U4~|7 zfu6yxzAB=B92iLK2!|apmteV4j(HWf9+)AFS|Nh>E74;xiQqhe(u&gEwRg>Ms^MY2 z?xBw#CR}}gDh$S9u%E3^?s|KDVK9V)*FzxRSe%_d8sCiWN&_=Cn6&~>6%QSh9n4mp z2!Q2qbapCOIs(IOV1Ebx_;D>P4Qi|a>TW296r5Hprmz&q%>(yUIJE*i_d1YB#^!Z` zc_fe$+hWhd4sXF((~xW({#rJM_2!b44uY3`?VRKivE@4d)6F_7G}wUv8sF)GTl9gF zJ9tAU5>%E{uU|+;CtNI$>Jlq0r>*gCFo=F*H~NFpW@3I(&=pbT!Y{C;mwBNlpUyk6e!LEk3t|;j;~*auZ8X@6+@(NmzmYpgF2uubug9i z;`bLj2~r0Maro%h2rzVnr~{w{{aIiOj|Zr62$c$f3M^EBQJ4ajt9V1cEt6>=HVYkM zfd336&cDs-hLD>BdYL$jHR$yOAXZ(Wd%ber6E(aC*mCgqvY_!jXr>6F`maA+hyF!G z(ElL(|E&0n=pl&d)IT@j|3B}pCq?(~^PGPc|1WxcQs!|G#QFO~2wIhcZa~oAb2u6P zKAtq9|66`*@z2`Yilei6)Xh0clW>80+XSnmM z*Yv{XEaVAQnEH+hgW)`EEFuZPJxA1;xme7NB6A;)!!?4qSySKMg(Ff=7& z#vgWhN+Lt`Ww4s6u#l8LCB;#j{Nl@^_MCgv1l;+dpAQ_*6&BqlVxe%8CW&c_Hx^CM zGD!V7ktFo)>3Ln|b^%21#`2}3sGeC36%`c%iZ5O}?yRgH-Ly-q2_j#uLfuv^ue%ZS z3ne)`dnR;{7PP5)KgBanqw2~02j1rDW>F?4CUeA#)R!#^oM(l}uTfiCT2f!QK*C^u z{l=1*#;g>bIYNa7+PKx;)P9D@Ux?tbLXZw`fBCd}kkw7>p;C;ydv30`cM$dS=gs2R z5{h-&5_I)N{GDXvB_z4~1LS0>>B7(ZP!q*c@Nn*|f1wQJ<~}%ZHn9E_LSvmrrH#dv zl*H4C>bb3o33c;3^0+iEcW~=pSixmlhK3kuR(ARlyWeXU2*SCM?K56#Zfm>x{MnMt z`Sx;gntg-F(3AuppM-180!cVgQ5*NPmX^bwXzn%C%8wQHjGH8}S!q5r)KTkC8mH5< zrbb3+#>OIxJ~R~SMZU$j+?*}Wkg?v!VzK)a2in?p+lEFPd~u;gANCgYvhp~ei+$#i z8VNhzMWINdZ<9ZMQ#v;?Qj)T?+Z<=)2SG^1JdG8Tm(@nr*II?G+4tS|mZPF`3|`#CZ`e(B=Hi&w8gmPgxJEG&oN#>v1Z&`b54jlDxd z>n%gWa^e6JLqm$GijT-y1j2!Zg?DT?%L_gceYU6+vAA+L`dVH}yx;PZh56ZYWkp3M z#+wPe$f+I^VWFYkpbwMJG$^C2d?`DGmW0xFj5jx;pSxz1JZk5WKNWn#>84xj-kzfx zL4c%;jEs?mg~`-NXuP27hWu8zaQMjDYxZD-q_~Iw5;0?BLPE&kY()4YUjC}o)a-7@ zfXPkCo6-7}uW0n+DjXag9kqlB`->|i-O^MwvlRK?XxHSwIb|G2+F!o7D3WBg*2|%) ztw(Az+43fJ^j%TH>qdX#*ish=>+8$;xIy`@=Y4f`QEMtg?0o`~O}7s%zH}=qbab1W znU9qtehSmihRX5Bx@eS{&wQm~d~7kRuHk|!&Dmj9iv7?vC{)M0%p+DVQnIT=h*JYo+wSi!U$5tQ)Yh1Hn*RNd>0c)n{j!1W66uW-bN~KIlVC10 z-s|6>Mm^QvNfa*^O)=F!AdQyRHG)F0Kq9&}?kTuVYVh#?TIqhA=8tMu^L zrj<_3)e?=(B8dra#yDY$<)6=S$EzSS6OV1*-ybhjKAZdI6ohG=j%3HMgXAQ z_i`VCaRo5@4jd(dJ|$>e9vgfMY-)p6F)(L>8IXpuALG*>p#83cc@-GxhtJ~$t4{Ea zC%j+^jq3wY3RX=4Iu}f91JDRC#W2(XKo7n|6zTE;3WWd|hetHDLehRedU*2(X*BULKXTEgq$PyemBzls#$7}{ zD3845R?_w%wa+xi#A@8rx-?ajV?%U3Sz{K%lp{`jeBn`Q8*+770@;BpF=}QFLe>c7 zX#`)9xZ$uPFFJ4{tqza( z0m*u6Uyt&)`@bJveeKR)^?oM*m(~NaJE}t?CC<2+sZX>bYKU^D7+V42Y=E*pVhqZD29BnkvNZ>jO?r4 zvid}E2|q6%8e5v{b~Rhvn9uh3n-`AB+u#4pshXq1)=Fu$Nm^P6X-m4ZE5tVFQ2gwM zfB-YwW7C#{;oF*lSKpTzZABoSA6qxRkDK>B!)`K2+_W^bG|Ked{^^apJoLhVZM>RY zv$96=sI`#cRiuwprM~(=OVjnGEPm4MiG-{eyHmPiZ(B)LK4 zaE-)7*;8it!^_+&ioy7>Mh{v8daqZlJgoPgXv8bI=)+r)wt3}?MGC}&my&(?PJN== zey2WrktTYg(t2ZKb4ku1YmJk?hE-5UO!m3dc~7B+Wgn+CF%Ah6U!Qk&`YY34TffFs ze0(v~bb}cCQ_Gj{3+s_oW)!{c6E41DguKWLeW_Pcuhb1gU1c|)k=k1p9!hm`va7^} z=d+iu7^~?^sjI6Seij!uJ#x9PFN)e*qd#PQBOrGzoR(>NmS%Q%_`={KQ;-dx7~>OK zZxrio`jtqY#BK@0E(+8+%5z;5ko?6xf5s=Tt;7lFq+`_WYbze#-4qcqG3nV}IsIcU zDw$PAW^WdsKu;IGmVQmO8o#*jclyWk&(92g1}5~kT)0htZBp=X4>dT5UCqvnW}2If z($;5?c^n-wqkw#KHzzYMFY#z2j)V7T`}RHdCm$zKgPEBdc1NT3)>X`*VcCV3L(exQ zkr9|1h(?V?GmQOP2y>(SJ6q=EdO~wR@eeUf;P>{6KQU~|sq_8+62k~5|Bhj zf0CU2p%b9`pD4Drw)TI!vj3j(|3af0Jd7tFVf-KOOhipgLP<(UM0n-mDH;kY;+xzT z$mq!7Q)HyX0?(N4urV`Sl6}A@`by#SU3N_eD|#CqjG)W)#mTe%S?_3RuAZYLKSx4G zNP|9@rL3DQ*BcxldmD+iG!`1g(CNqPjAHMvjp=O zv7*nfo~sF5u}kvfy&vfy_SUF?dA~7NXh`DN*tcri9Dn9o4Do9_tCQRD`)^+_-nKKU zq#zTMLG891*EGth)C{|GQ7sVnsQhIruAYK~*{zM-(O!@9&N5E-0 z$Cs(9(N(*5bS4xFkxG|o%dS*@KI1rBk==JOOWC4VnMaLNft9KEC_aOs>UqfJ8NN5x z&9J>D4=YFKUCxfaOwLDbN-cbGKAvq;V;dh$Vt%o5J$U>?pnq;?Mn5c;-Q+am$IHc! z=vpp7KaE0~&yYI4SIzx$cYS-m-SaWBO=;7aC!hP-=BLXm<_tG}MHt4~IA#zwiO0Yd z6VZDNl4S$Ca@vJ%wpAm(Vaw4qW8$suQY`v{vLX$OsHOvimT#X}K_c7d_hCUU*J&0m z4C0ovE_MqLJ(6m^;pY6}Oa*~f&`q*t**qF*w;eZv<#9HG(ibAn-O1*a+kb=#TRtXH zV^P^N09=$Lr&-F+dQehCh;ZrtI`QILv@*B(dyU*y`~J-Zb)EYcihf8_ckUlN5bH^~ z^~VD-d@_0XpQ7jrRg%^DHXL@WSc~d#e}1jx^=NCr@zHe04@DGm4vX2y(Pk=AA+FFN zY5I7!-1I`5HN{jIEo z{kXMTa&0MwG*9!)#!tEe?KAtuw1{7)QKdBNm7=|l!qUmJCVnSJxBZTn0@o3 z?X;tVEF8*Vy-p5`e7jnuy__LDl`6EH_GrZ6)J!Q)rx8WH)fFUi%ukrQ%a^5GmKcSa z!J&(>$L-tO!w{|mh3dgz7O=;NA^-beLmzAzgKcxL_8yEp0!SOMp#v7>(KY7)N&-y3 zgx7T76*aJB0Pnfg84`ebX|Q1gRz83!5wK$o)=!w{(3S;QQ36OSu=g3B7pwR{PfUhokOK?S8x ze<8w^UIK?cowfu$4g@XczdSe60@o&d6`);+=P&H$?mj^t(ohydPrGm!-JT^@2H0`siU zo(9-@3I;jh-dosYGPwC1Ja-0QGvHoMXz(#ScA|MXG{A=K5Xa_T!8bB*q>=*g4eSda z7N1!NB^&b~1mOF`H*!qF`J)Chxa$sFe|{y39G`azbdchDNDplZhrbfTO{Z~bdksu;L&yivmMy02CXCGmm?U({IRM%*&1^8#3D7F=jurrEsAfudO9hv89w5Zw zW)e&Y5iWoPjNZVlyqyRm1tVt<hWem{XZR7 z4`9BdB|iRCm%xbFeP@(H=bPO*+(cN=v+6I*Xe$tqc0NKG@t7d^XElE16;S>p5OY75t>K#S2OPJOn_(bhFH`%o17 z;o#4bz@{4K&(6-DS#fAANt$XQO9s2t{_{FmsXnWSem`;6Nq*xhE$z}y{4(Rx@%oo1 z>fyS=h?oNl1tNJDy5+K+C|g$U(WxnZuI}4+()O22X)nqushbBIm24Fe$zLDSFq;x^ zMudy`<=&n?eeRrJpiga;v?4`jH}rnLl{YUfN8mJ%@hVC+@`d^R`?2M@yleu`?%BX` z@js}QvN5$LkK^uF6Ff9toj#gi5zL`QUQ<(Myv)e7rRiedAS13=HB35E>-;tdpqli9 z2SLW_S9`q^=fm$&#H z!QIe=#ZOkwqK#Xpg1m%MF52xpSDaB@NxXEGx@xl_?(5f!mS6bO$>O88<7M|8%$?dJ zl#?ONb1IvXW@paaRWv(N^p2yt2zA-Uj6UiG* z9|mmegc9Gr))Mj>5DpE!{!!cU_ViPGzN^2oy@N>;o=98BNXzW*^#qW(533`61z(-r z*68OW{`EbQJh(CE#l`0mr}v2s-0C}L1-mTtcr7gM_{0P^+;xl7yi%L^j&Eu! zO!u#7&O_rx_Ycur@OMt}Cz>zLi@5x!(OfYd=tl#M#FGR9xYqrKqMu!XY6dvTCbSBH zW;!^*+lJjh=_gRn1$w1GD-*nQ{e9Ff0%{q+FbC*l0=-ONl>3`EDh4`PK??{ z;CUTT4hHH;z$gdk<^cU%U~uxv0j`O>$D80G?_EMS=ZTi|2_%{ri;^>@u*m71|Y zKM$DX{+2ZOQ?H-#dxXFE6Xv&M&Y$i%z&PhOua^T%{)}dr^`|Kh80Y>iaPs1g{;im4 z9x%)V2LGDH_|G`TIe)A1yC(Oy*k2?6Zp!`dDgKK${Fm_GI{e`+t9}cdh?y4w*I}R@ z{d-OH{|FoBf$#IbWt_W!Yd^4S`pugZ{*f;L>1)4F!-he{GWb;aTY1w;U{(yw>VDUo zmIL=m@O>BaJS3m~o+*pz^VEfClRBG0-NgJn%C}upi$u4 z0-V}G@;Gp<1wR(RE(Rbm0D%G1Xt09;<7lvk0fT6;bPO_&z#JM>AA>$LsM!Z8N1*ly zv>$^l446Cs^GBfP5QH6oQ8Y;318I9;5)CGHz`!~B4WZ* zbVQ_-r%!Sy>N97rUAWBp?mW%;OAI9Br$1a|xyesP$$0g?vX~CV^#=-4N@o~vuyL{9 z=6fOVP}}HpRJ}XXq0Fmi3YH(e14-{aeZ(WKu4x+XXb@j?S2*7)**~Y#GbU3)#mm-0 zFJvWe{Fv<2^~bUWnAE+ajr7T~3Vag=#&FC}ZI!K{k6aNQ6O-r}^a{4?XlV7Iakp=1 z0fu%qF)#$f$1wf~#zV)S4zTzZ7=b(3-GOn_o4Bo`2~5-BDl|8UoX5A~F%S+~fOqy_ zEEWf$U^q>nnSg+d`|spU*;ZZ6;KELqr1(BFONZ0ISNcV28V?f63l!8IPF9hNGLjip zvKDVYeL_yp%#`)MGCZyLb}}HqY|c|g#GTL;F?Ikjy-;qP(`_kxH$dO6`;@?;TCs}I z-}B5b#mpDae<|*(bht^R$YC3j2Y%_W4DAp^F2$Xpaufa``%6cTtnv(notZFos@Dc# zk-9ifmE7GSwwn|Ym_oVR1);RDek@YdQnE{s17D(F{-q1w05kUose8M;6!b=}}tjy}QhAmI0gwX1&o=YEi?d>R3*~3@Q zgb9B3DIY3It9IRQo;hpM7yd#m@R~}PK}KFoc8HYC&1Ui<@|aMP@}&M#8Xvsbj2iY< z1D{0Ly<_%Q!h?&pVu7LNO|~^evPvPhB5oUer3!- z<5OBY)zC(qScNfNuYL$w(MI#P*YcMd%GoqoWH0`*{TYi;IRRyXiMOut*`-Z6Vg?br zA5uufn1gH?A19wF(7nXIx(V@;*a7hhed%7~N+1E=m4qJcaa<-C3JUQ3gkVy5B=|i8C6!dh$TfdYvoD z*y-ILWp=SE4U-!*1xw6EjgldP<)`|T2k<4%J0wplFH8Dzi|uDm9!Bg=ez|fW$$8&5 zZ!?kWT>EG&(7t=y$)K-l_C>za7$T>mC%doXzOT26Apg{r0(;4fv&{i16hW+WZLIRS z0k2i~*7QFaAP-fmy7%_6ah>5G6Ycd8F@?7{EfS(v5G!}6b@I&`$;W%;qgA->wDW)N z?0lleG$E@T%-l!8ooBykhb&>N>ve|v(?s8A4oEk=RA(z@xpHYd>3Sja&D>m@qwXKo zG56%+a&rxp=?(Xe5)vbFOfvl*oWJAAa0N@9<=GtaWTDd|>C$^cl}lU=s3-XtMMvebCj_T&rt!_qDpZsv)U2 zeXiDv_uWzf;noOUN%OhW?-BGIvL?nkntwAEELEj&w0;QseM;_tF7g>^0vr;(g=dFq z(dm^lf6~xX26Ri8sh&9@!rs+0(djkXZig&$;)NFuh_uqS>^+g@4JEM=1+&~;VR6^* zRkhfP`Fo}C@Ua@=TplT@$FeS<3A;yV%MZ`vXy>Hju6jYYVdGb`iwmBegQZKx1+Tl{ z{tOR36k%KojW+JzbweXb^8-2Q6fiUd38NMd|ySW71F|4 zpiRJGiieE_cvWFA=PI{1ZIA?NKiK7{`^D4F_(5+fOg-9t zdk2a$$rogAX2lCWj;{XyACuNZg8$!JZZ{Qruj z;NaljzI}s$fIvk>gMxwr|33i_508|T^#7(|VPXF({lDptkFWn?I5@c1PhjH$z`-J1 zs0Ls0zn&ieOk~>se4v{x;C$|X`8PX2 z@6^}O{FjUwFx37vIs*)h0uWG05Kw3xLtj%%z*yJ+>TDeWZ9Tx=FraD+tnL8w8$f0X z5Eup&{Q|aozV>ecBR3!>7Why8{Vw2c9}v}l=2SX9-vd&-mPacdt`30Jc7U9B{Q3}Z z@&Ry|+v&yjIK}2}c7d~fAT$^#NCwj5fu;hWs~Gsx`3af<>f3;c#~0k+S9(_7%=5jeRA zmQR75OW@)j*u4faDuJMM;QbRgxCfp-09kY3;lJTt0G~wQ@DkWO1CDQjol{`#2>4YC z#1;TaC4g%TaQg&w3dbmiGZUbKvhKFg^!t9{?Z_uy+iMF9TPX zfQb)~S_Yh40XP2%e+o=b1B0`GM;zdn0SOrEq0ZC&(MCrMyAD9{hv>X5f z7eHM9rLGuo^#iQk0ajVSrNZxj3q}9`U@0dB0Tl9gp>NXj2#dZfO?G{h zU5{aQbZ5Gy_)o*z>+r&))&K8bw##33@@Z#SL9eVry{}x+>sz?B)Ov0T((h(n1Y5BY zquN*(<&G`76fygiZY7xbxP+9Ydm@AZG@ zHU3w=JdO`#VmCNA_#?tWz1ihJHu_Hhxn?inO|9QanRdxy1S1+^9kuyqT<;{mzmi}> zmyMUTbOwkao=;w%cLJZc#z=s-5+nk{Zm&n{bFJXl^}s2Xz#t>W@h*giy)F{y!%(np zmPnK-vfLXMqkQZRhlzaSY$-1aa($yR824J#Qxv>mNYOw+(=T}e$b2xADxum!ukjQ3 zKu0Y%kAZDa+JRFH<6T568kK|NiBv+r*#U;a69 zYJLnbq~X)yN^zL^v2xquw$2qea98(#_sSwANb^h``;nyf{>1e#)y`nP{l)auNtYn# za3R4Uq3QHUH7v&8P>=@a=c?_L^LSwyLE{@qG75(%DikxEY{W|OV_M`;=E;+kY0(JF z^Q-~_TPi(f@uXpl4gnuWaOm zBYDfomSAw?$-{Y;ti6iIg-yxtStAp#T&D{&s98U0hgH@fj(>|BCDKDE6!JHt4s$3; zloazdH!n656*w+iXI|c=N_9O@TM$e0XhhK0Y#WymhEa||N8CGVdvZre@s_TXZZc*cME$_ zy)pW7C5Z7}q*AikJh6bkuLsZZx9-1|8`keu+HXbtl;tFv-M!u%;pfu=**PULA~=#z z?yQY*Y6lD~hzA@#V?F4he&?l0HcoaVVa8&Y_!<+i~#`IoS9)g4k&l zo`-L5zd!A{P?h-m&qZB8+Pmh0At|;SKgm0J%TX|%l>|(ed=i-xGfWAfs&@(((tAuv zk^HXsR;n@|O}4mvcJ(Ox*YwdmcNAfX#Y?K2f`TG+djQQ6PTqn0U~beJTIH7oJOV;v z*VaQ-PbMiIVw%o-<8ucM-uYn zhAJqhm=3$JYXg#w@DYsg*89|2$~dQ$QGIk<)9JjbkfH6NpU5qIp8XjqCg>5xA1>Zy z!`{|$EVF^Zxnc`N;Mq^p(~r~B)43dwqlEn?4cCQ_%||`sa~cfW0eG6qkzNv-b-Gw@ zo%}ir$^6h6p5r-A5XP;#HJ0syELnmr1S1DCg0O8jyL#xD_+=c$+-&aQ zq%tN3d5IjTr?Lir&^e$Z(6OnE5&li4Oi^VrjDUTKZhUBv&33qM=DLwTAVTw|%HEfj zACp(@CZ<-ep8DERh>7iyctJt78Hbsc^gqFiM@ULa_I~=9lZ^A{6ofC5A;@Ly{k3{v z7eQ4rRPOp(Ugm*0$=0zQ7F40=^$ho~B^bKGJ~1{{r5lZi9muJNzX4N6=q5zBV}BEj!Z0r&Oy;oM$ zj0Ho*z)g#kKF$q5(f#X42<|6~fX||xtsb31hN*gw8#x1jndX3 zvu3Jze*2Cxxg}gCR3clDEL2Ei(uB&WQOl}H&YP)}izw+BfWP-Ua*qGUy@x0YgZAStxj-Q|A(!A!y?)myCHW{ZjI_E`s0qh{@h}eq z!-cjnva~qa6lrnsli0%vs9|yt`~4Rt5%5fjQC6TXF*#72p3Jbyh;X)_YN3q3BO5*f zUjarHyIMy)E)XBD$AQ09{H1JEF)xl=dx=*BKBZ~cv&E^Ye%+4XMeuXNK|AG$}*LM08wWpOb+(K?2a=cV&g8K_zeZ4(08A`fz_%Y*KptxzV zIt4IFmLWDt;8t7h&dDph*kz_5;d)b(;;&XD8W2NWirAjzeD{Qr?a4gTic_` z#OjY7SxsQ-B2_ejH!Xp7`c4pmvk#y0N4tpw%cYnhRK7L4*VDv ze*X>p+zO>Jsb8`41v0lMG1hZfl8N7@H?XNbZgdVg3V`vX8ChvXY#bVJqt;=9#zvR@ z7!8nq9fgimT#BlW)VGds4YVZ{S*#KL{qO!RGGG}B#!z|N==4S( zLpA6LD`S_x#h>cpHH(+sGD=>jc+CO5e{c>bY#gt8GCkYAYJ93D*yY8y1#T<0*!dK` zNdGuWb08vdj`vrIhwn$jlg?g7Z_+WV74xvN&Wkhbwy4&|;;;;QiK;V%Pm7jiY4*#s ziy)M#<{r?zA{CrV$((T;RkJO!%@>45fuunSV zDzG?mkf85e89)6P#$8wES2l9A0)>F{<(j#NhxITdC$!i8&t~tQgHX=@&S7Zk4k0dT z8k$J%_#m7z;PHgyx4ZH>^b=_>RK{=U{`(W>!*DKi zblC>E(&U+xS#tYCYsxb4Catkhp2KqPx-t72@;!;=W3Vhgw-b}EVqVGSvy@eSN=^#? zey|}tMOlR9-74OEv<^GD1km=Q{d-&g`3!7rpgGe3=VgI0`l@mE-f$abHLw4?>kh6; zm4x2dy+b<|r4K7N8~I8>1XpKg3BY&P09J=BEyBRPU|IQUw{)4ap(j+ENj)P~rbOR0 zYy~@xIuPz}<6aMY`{2XBu?}$>1aYvt+``6+gWu$YtEBlTQ7z+iWs7U)$R+;Dl4&}Z zQO8&J7D^hlblac!&fa+5xJ&<$KO{RbGy<+c2`Pn2y(c$FM4!!K@MR`5Da;SNw&J)V zznq1zNC?d%vM55JUzHNS#prJ$QbsF~787aH!_j1hF?S%^M624W<8W0WewU9)qovLz zjeh-kKng>3a{i11|Ft4|@!)kI$YSD1R6|_wdv0i7jnC(DyatzBt=IkVs$xMDAhOWY z(_01sKRhjb54Z1UPfw4Jk7;v!4o1pP0<2!|pP2U^v~Nwi0>>KH*L&92;pKm_(?nP< z+`JPV7?wI>dud1qA2Ryr=b+o(|8yrwG^ePF@^G4tPoH^^6zA7lXflZ1kl~v^SS=!Z zv7~~x8(S&b)E2!vIMCj>9Tqi@kW*{+)vFx3{M*Ur=QU(@-UZdGg4wzyy;wj4eFrYs z=jeqcRi_OgR{6RzggL>^puH4qQHXhj*zgMI&LEqCZ6258F&)cj*f|riHV7h4w-{~s7$vJW4uN+wMtB7R zNXR-44VqON^cNfEj+PQywOTF=ZZ0*d^&Ok$%qM3CPriDYLqoHZ6f!;8al@OF`o%3r z57RomH1!mYTsd;O=)7f&r4BZ1=#&JwD)yMI-ZTQlE=-lx``{Wwh}=ic5G+GhxDj}} zRC%U?2SM5St-$V>q{zdfW$H!Ddf;zqKigJ}hQb$)l*f;IBYld}ESOt;|KGl^Z>OV= z3kYl9dVWxQ5c=8r;^%F=`8fCo`V)aDjQ`s$7k4W)S)*Dzb(u7@_b*yuadP>$mee&;Y-k`hwC+$nP)3{9*7q%#fw$gH{NP{ zF>*+%aMG#BJB!lsqaIquo_A(}iy~Zz_oLP$E`})2a{yz%iF5A;8f!AmNM4v-Ow z?Hwy1f1-1b2nQjA3@C?WxaqAnvWwsnfm7_tCM)fg^uM^z>x zM!z=7vnkZEl4vG9B5R&4Z&ZFm__O4o!VsMzgMtuIRj`JFw$z?dihZ&Iyv*_HSUT>K zLo1>9iCY*yHhk~gnnoe3zdeQ@+nh(#B!x=^ekdh~77HTn9R|^l0<5AUW^y;YK8fg` zL+Wzm-I;8}=`)4TEV6!99bp}jKw3{3vlp-|C%qe$A5m_!TcmF$ETd>fUTKp6=O|c7e~)6ews{dLHl=MuPZORD zHCfa|g_~CqoYOq2TMtuRBtZ0(fig%5hC$^!VMtC1=j|L~GJ3W|9~vwkb#yx2CaO|< zR9aL45Dck(Qma9YB8&R%m7CdAM+lewu9+qW|8@S=;@+$5p3;842_j za8*AFv#(Y*ghk5Du#yKu?6z&{kwp?6>|!Xk)I9p~UFw?j>|NEC(p(rL!=IT?apb3V zFlOfYzOlZl_wY1bUa=1GR`RTrrz+QaQhdDB7}ZzNTI7C#_Ak4&ei}kTg4AAn(P68& z5v%E-gx|MrEvN$E?A9&rSQ@!$#(v){lXrCg>c+2lhIIt zS){yt&YH)fUOylq8rQ*>`Ev&!#|w+?sjQg#Y?E#){eWF6Q;t9U+*Scl#WJT!j2t*l#SiIhW)c+&4qS#3dgm$ zdTz%#W6BzIBb~8KUe(pmfdy5X5r#O7M=OCY=s-*%1(hYyCh;TFb^!&!)xL@Y#LB&_LoQ@8?qUFAkKgB9e1nX!F#9+uqB zCr(S-%a46;4*jlkuz1iPNb)K7R-J(Re6Ar?s~04D?#+2N zE$75p{zgbv#(y2BTa1h7ku;YSY76HTNfwK%gfS`|(CzkCoBPCzcpz`O#Wrnyqc6b z$%bq!n(4C>)uP^ui$y3gNf?*ZWTe3{Ib^`>@C6qiQ>pPUx^pRKL9U9#up%)*Q;);z zZ-<|}hSl?Rp}%YAJW$BjU| zKWEhEz!9K!$8YjqB2kyqv{@RQ{|I?JbfhVF4APU%*DuEk9Vy_d4?ShIj%}d zsQKOd4U6&c)sJ##isRp~l^aPqbDq6SY|!LFL|I-2kwPd@XIKe9c4cpxGg;5wOB-tv zX+G0tK&r9j{@1@OpenX{OYrYnz|sV_VlF8GjfW{^sC^Nv31w=ja2Pw4YN?|nd<-=` zCpf-{u5wv5?Hu)D5xWM>RttiaMxq3W{Cm6Z9M$zy3mNow#cJ zgLg6na?tGC6R}xvfC8)mu?hEsD+*yqRa61(Y|@p>NOSJM82=TIA9{ppsfCeJ5@p-J zg6y=4CHHE}(@gv*$jy}{W@FeC}!iGI2t;%zW$_+@UgrPEW=dMdK**uI`-nc1hJ zQsohbvMrkV9Z>U#g#PE~p!So!7{?Z4lVJFzGN|L9jda$;_MlbI`(nqO(Jdg#fH-wa z{-(|bf0?JfiG%j?-gO#K2$-Rse|GXk2Cge&*{}X^W6bx9G)LhW67$DwBm6F)m9ZKe zX*3bqQ{OP=G=bopWAq_LelH&`ghtv zP}c7$@;Raa@kXW9ZRk$yFl#3^AJklERvRw2Ph#|IwUfOe2aUxyKFY0X)+Ikuxae3+ znYgfINEn=Y&71ZTm$x5=?GGf0O1`R1?k}`GMZ$vYxpvVk7i5hR4!m-)TayT%OW6u0 zbxDtqZ$D0+LxTA5v3P9km0YhRL}K3R)wZppo@E2UmS_k=`}VRL4J7?~11=LrQg_+K zf*%>3V0`^g)~_l+M%RMD=RE0anP-_7SDlyFnY)?M`8y0gSp`L!Bve8KHEo;+I0U5v zX)8bXcn(vpnqOa~7uOieyye?DuV79V?jdGsYx%E!MCi=XK<{DcHY(2iVk9V6;v7#v z${mY4RA%6K6Ftu0>S2v(i|*2s5|cvaFSIcAarPW$)zV8wlECPa`I=M*Z7AbzaTQOOQYBGQ4)Xsf>BXReCQL8&Yp0)Ci%X zsf8YH22XUKW;a8>eQsQ#tuUbG6bB)Qbc*XLh@y~gGKPzBD9sd{O5FS+&E0-(GOf;KTa9tlYoU-JOPV%*?-%d=)Qg?W4t=@@v@#kpN zg)cC=ZU)=+14$q;IKQOMUr}tA+gE%SQA*lds^kf@V(<%6=w$tnprW28+ zo;NVNoy>Gx!_YVmHqX1^jAt8*`f)8lBNU}*QPN|#f}fQA$I9@uOMDK}dUMs@j7y35 zWatKaaG<31cm;78T9fu|cS=UCFjeIm#6&54GzfF;LIkG7!#-0mk#_Z&PnPNTS!pt=E}# zK^bYq3=)M%xpgcZ4EDy=jnQAL2!R z7nMBGNZVtRa5O4mUBb-z!+8{?ha6r#?3L9zcUCl{A_>OMoJmjI0FhkeM}d72eY*aN z4ohhK5sVOhLUR;|E8&FOtm$Nc8u}s(W#M6eZv*)$S8za3y;pL!sW%i9ogX-9KQgc# zJOHz?ui^UO%(*A*`#`@^uP;}-GlVf({twXWgq(sAhN61Na}0Xj=dsh7E-RFD-gN_7VeJF z`I-Jk+7>2PcOW$~kK5UpXCN;%mQ(sh<(4C!lL|txnL${z=sW5(@v-_yO46()uV~6G zOq+r}=phdR#wMiPo(0y^BYNg9Xb zTter-l~mHhP7K`y1$wLlx?PA73I<`EF41L10-f+o|v3r&V};x$%RO zNF*v;%j0@YvpjLVKR$M|4i-1Cu#;ss4`Bz+5p>kTt?vaoOY&Q&RENRRV@XYAx2^eh zYf*y!X9G1P#CgPwNneLk3fol(3ivtlpe+VIr$_~Jwy}zn<(ez4`J(zVs(!2XYV2fP znsozan{_lLos0oE{$|+3feO94P8ZsgL6}_|Rk!Wymb&?BnK(nIBupePLvQ3}o?&I1 z+}&)|Wybvdp`r8Ib&A2K(SAko>byXw+9to#OAJLewi2O&s* ze_ASMH{!EuB(zv52aa;nAfKH70LSEM++^<*R(?nkCkw_}M_QCiA%W{>6JgHRd$hg# z!FZlogz;m;oyshLRp%5_g4XVn2_)vn!o%(lS^~Y!v z%m*?W+2KzO7#PXe|K0+eYV=@wp)$LQ_&iEi4UX9+68?eo4zA5iCw9^g@%`@Syp;9M zh}6l#_M@}d@Tz^jzfIv;`fw!Oom|o?=VD)!LGH&G6pO^PxOyTvxZhIg*|`J@nO3Er zmEfy+bg`Z{d`(QJJ+wx=pJ4hFwLet>vWo{5c9fEh@IQDNJYt98kQ9N{*-1xBZMWCA z=J!M=p`JSzq~pXyzm+iJAS*k$^?EF>X+iZ(?y0hc(9CX?9PEfQTQKFBwk{&Lk6OKd zw&!sPlbD_Ph!Ix1vigGjzlbIXs4Er23eYU3B#Upy;f98~^9_sJrB5OP?^9pf+YjN_ zjql|JRebKlWr}IU_CpicR~a;WeU~b?+@FlY(_Ci$bCx){S^`d^15K~6tq@G`2EmyY z)-1<#Zs+eYD#m`?I@fNCdf5m34v$40{+I23+P}#Bx2ArX=x4w$N1C~Qvx-qF=4qS^ ze~y1@I=oToAWSk(@qA=mAB z`E+1?n8ywh;11Zlgp?B=aF;ip6-g!@c+cc1uI7EHaPW>ZCZp=3j$xJ*du55y5%)2lC5^gvUWKy zIAMpV4BBs3IC4hrRms)aZQ?VJ^Xnx_)iEG=JB9oa99URHU^gKodw2LzhOfRLk!69qK8Vzy{?_8P8^qL=v7PDB$JuhHMSa=0D`D zxC{tEz8shEk%(69Uz>z9#|pibbv63poW91EMdCCL+v7Cc{#*z}Ne&leYSW3-W_*a6 zP0&Rv!+BTl@itTPG9Svz$*DY8pf&Oy7t61C7ZA)}O`WSqrsQ97RN3Na9Q!V#2XEDs zT{=vz$2KID(yQKYP+f^xRILV?!kcDlz;1;Ngd&i6g4F~a)IOq2L`}#X(P@!nj6xkGp>oP$4 z&M5^_nZ+`MmU#U5#7NF(im`NiJKMjz1z9jxOvZa@WmY7H3AU;T|lD0)ZQ%HbU)Wn-qoHfVDWc6*Ue|* zHcaMq0Mbhp(-ljgjl5jC**r>G!@lWzC>$9jT~Y(&FV+Ved-hyM=|)Voh?}0CJs;rF zQ`@_pbNWTl>B}z?UC=JMx$6m-Wfth}HaUIWHxdOoZGFi>Am2SiA!YVIj4RZ->tPld zWrUP3&v!6`5TLIYxjw+%$j#Q4WCrPx_>D!g)a z(#}ir;2RB2E5A;)qkAj=d3LI~7o{MJDt|gGN@)U7CKM93Lad>xk;yZRwIAup!|xas z-xHWm{DPWH)^!Ng>`iQ?Jhe8MGaem1-(o|%e#lQ&p$1l_mlPI$?|b7D=K?Y2Fe{t@ z#v_Q;``~=dItopxAu+W)!T0GDe)ovTMDH2>Ll#z#=lm$5zEY|3jB4S;w{q>2MtBi$ zA$^I&K?s*Dnt$m0^I^th)CsPk?E>7QN1=nSKVIwYNdB#pfmYj(rP}#IpMTkBJ@T7`Tt0~BYX?%u(zuS% zANq)us1@jz86-Y(c6*B|Z_ zbTOhC>`tVPxkgnu13zCnimmp*3tC}Db>#etNodDfhnr5S2#-1w)?P06w3DRrEL>f& z6k{3`4)!IfydSll+W2HomdKh*_8Y4^GW*B;W)3mEe*{%vvhrh*&4j^BBkRLp4a2K6 zKs_&1{nChnIe*pfuAs>zw1?wbulL6_F@(7|oV`slhomq`7oCz*(Gb|)L-uTq5Eu)E zi^OZFSUD^9W4jiJ-uOf8-^X$^wAwDr<|IAc3ZC3G*Zfd8rXv^N$41ixv)gD7x@R6N zNeGcTE#ma~Z5Q+q@@#_5Zf)E-mUs#I&&J%!CuU3nH2zvdM0 z5{ei%wimX>W4)fs&y}A*#-CgV=^eeU&{2y83X`00)2mG^3t1N9{U$F5naENu zMf7L~PmJ6|jlrm7Odb2GY9ykGmc@*KeM`#EZT9CoK7+wg^PW@0*`7DUTX5`8pQUkg zvo@(rfjkb>BxnRRj)!1q!7~o`*Wp}M{OcNDn-?gL@8ye)D?{c&8Ej4`h0ddupYtVk zB>zNEsC?@WoL{_C_?4Nq)}rQIiw(~|4=F!{l}@z+GEpXfnzTt}99f@0-R}0rSdJNb ziMqyFdKpRd1pKjWED5l-2`BR&FWki^GMDm?KF;08^%^y;CGVs)sZkW^WbtBdCYPWn zUKCWRV`Q2tfmLG0&n37Weq>$Gm*m>I>>uR*jgO~=Ar@Ta%a zrw+AX8do2^(9}lAAmYFM%B&QQ)dl7Z@lm+Q?%I5}L>}~YX0-ifmviQgU$3)~u0bQN zsL?ZiNh@t@?X{FBT3-LRy`3Zca!J9<8dxY5!drsN@3$S_^ZXT!){l4-1CIPe@$d}q zEihuE4mhI;6ezdH_$>(FLMkzv(8&(pbIj>*79YXEj2eImSd1wWvrF_~B1&5n)A)}~ zdC5WzWJcz;qn#s@BAghhm4H@2vr2e|BjzAzSW7Ao>pTKS3L@`kp2g11V@{w|gkB39Xp(h1p*;ziXu7r|^ z%|>!k1RDPQ0nb08&_0)x3(hooFD|YaNvSA{PhgH_=!t9ewVTv^m!un@>oik4s*P_{ zv$2nh)ep9DNA$9uEfl3`8e=n(KEJOqSU#l|q#1 zLncu1KIY1YjmH=LahcUO-I@r>F#K}8$$=G6GSORQ8w_2W#_uw$smoS$EoWb>&AxR; z!rW6ym`a+MR#g6Fx}#aGZc1bTK6voHlFy|pq*CY4X&=+gxR%o%Uq7$9E^Dfx4pj&u_E_FDMHj=fxa0fk6M) z{bj>;W7Q#ue|4)xXDZcx5%m~!$F+R@KOl_WvBqk><4`smBw#Erw-jlru1Hz-LW zjc0g<_tU^_El*KJ5Bsi4xmDo9RROC?yQ4i#I#F<89>wMKkDR=-SvS{m z{Iao#F{{NAxx%I_%A!QfhC&7nb-eh-)J!;NncKsEx9wh7%x@SAUG@nnGZB*_Q~M+635e{{CoGrSGGdoV}gXKm<_%I_xWK`WG+3e_%fyVSY=tgB^c2A z`V?;AgDEga+*Yff$tW2?H8?%%(hTALl&y;@q!D3NZLU02220nRISQHgJx6V?wX}SG zqIqynW6KOK)}h%?#Gj+8N?pnTPOH&}>FPQ}!K-NVDr1rk1uNF@Cn-WoM@g9HYcWg( zK}5WuUe9Rsz;Fct2=hDJgABH7u-mn*?=0WDkznBKak`C9+R6UgsbjmAZ~7~o?Peh> zfz=p|SM|R_bC#8egJ$Gv%vui80kxD4pyaiiD%Mq0$w5N@h-k7Mtf!l8`Yu}vnQ zzX2vP*KvEs_}O*bn-DQ2;nYni3anKJ!5W1{)Yh$#MMr3-6|oaJC^714fc(AiHaDP3 z9h7h5gPXr~RRS@Spk1I5QIQIZQs#diFme4@{0-8Fl_)-EL$Wu0Y@W6)o=*E0_c|vh zdIHbm#fNiuW)JI03Ae<_XTqD1WB(veUn~iSV43hW^wWO^*-=fn8d#qQvI~%Yj5C9! zek7##+i-mut&a{|s+mFA_#oWX;nk=`Kly0MM*vLt!%f;< zkz_%SQm6Qpmb3FH%a<>a-k|V}y>wj&g-4+k@H@}%7@Z`aDNiu4RzC5i4y%RV+!y&4 zj4w78&C9lC)WpM226y9j?r;HYaXNsi-1fd>9zJu<0hGomfH5;fM7mELl~epe9l4eE zzE>$T7W`TW6R(6F&OV(K=zdkg951-r&g}nu+$Ux33_Wp#Msa*DqC~E2B_}uO)H7FZ zWnp1q(5VWSA372$!Ceyz&EHIgk&7Nf*f$v~Hlv*DuO6;}I{kMx5&nnjwzwNS>d%9i zUzcHZzOFoS&$1iLI&+B5x$RG%#%+?DsSkpNbXWhbx~>&umwH#JETYs@S^VEe6FGSv z*hGfr1R&%p;F7 zEOe`}7Mi%Ho^<(@Ml+p2Hm7(G+3P=b_P9B* zUa6$+&8y0JHe^uK)}mjU|K`k+{A-!O%^Ro7g(>qywjJR*Xl`hBE5XEceByO-rNibea%e! zcn0)&FsFaZX(C?0=#Gb#L9&-eeW&#D)L!=FhY z)jS4)dImXLxUmRcVFrdGV0Mf6!UH>F(GUuQg9n1a?OptxpT^e*f(HgXxABYzF#WIS z2uhRC2*g_Y?eAp~e-jGWdRmsol$Z4Jh4r{wxUX3-RDMYXNwZw>cpRM&EK43XVQUgY zZTy9x=Go6Ku0tyLpbN_v{!81^>62Ixr1@S(!l{1D@wX~*tLbgw%KgY`$9hmxQ+XSv zRF{3u6*!l-w>>?}6aD8#o}qaQ#waHz_kBPwTt4OWiUTK+&jA+el?Ovl=R7n^}e}k5Rbe7%kw>}aQpKwavPS11H7FE%p;{R|1JhU zcnurV7Ov>Lva+%7u;1m1#Ue9W9(EqcW6XIV zc&3NBxdPU3T1`bud3)LhuZ03~Dk5^(S2f!)&^oLgf)%9o*IQtIFg>Lma*WZn3NS<% z(zz}^&@B^)0$vp?hP}}&)bE7(kz*+}%SNi7SB2#;1#)FH97*}vZj3)vvP>Hvm)~)m z48M7R5n(2v{TeIY!8P46>*H?O5ee6h4)s<))tGisUAiWv2sCC06KuL<*oG81^{x?U z*rANgt@V2>9^qMVn%~n$+hOKU2L3~Wp%Dk~F4v8g+Bf@zG>DLt+DefFCmC0K>^{aX$N}>!qiaFc!L^ zwD8`pG?+osQ~dH3>6my|XiMFqTy6SCCl6=>p;y?qu*=_-nhi=;U$~Fms`o}zNrzq2 zPqw;drzF$G?TUx{sUeocpf3QZE(@>mU|LhVG3xU>yCiLNwVmYRw7&?uY{?-=wfvve zsV-X*3-P@F4Uqt41vuj%&~b2X={ZXvci*3n4(!F*=P!Ba;;yvu9P&o)-+589r)JA6 zFo_vm|KQLuE;%1Z)*1-X2MyA{vGh)aJkJCqxrr>muy_pdR# zC>dF^+;k{7Yvd~M&?B?Gh zH5c&vdR%~t3+_%btO+CZ4kAo%6%rHU?1rl(ks;BFWH=&VShskr!kF^o}J+3-vARu)KRM^Z?bwSi#P+r-Yi#Rg2Y%x{$*CC=u#f)4vY(D=RR-C$EMHd^re5Q&Be2Yz}K>a&P81MRtr3=~6d_@)>-^1d6^; zsUpmgjfxKLXH+VU?k}c$$OK?;STp$*CwiLT-ZdXpk1f~Q`XLjrp(1K4GL%3=sZ>|6S*_Bftu}}O;Z#V@ARRoPsk)%WOxMK3VoKN>|6)JBgSu zW3QWqLhwLn)}~eKwS7xMqrjz_$F8AGBw*lMykc4{%2O(8T*6tP+F9LmAslEMhecCU zQ%j4aiL}MXL1L7Fp_$>~`>u6>L;fKD{I4T$A=#jexT`P)d_OYN2yCS6IGYm7?On_{ zOSU`bZ-`0l_k-XF@En{10yIVRsBl9;5s0&1lyNg_w^LS% zyov39S=3u%>83so1Q|rFKy=-iK3HIU*2<5Xp2_p4faN4#p>ko8d!)>{NMM9p;e@K| zvN0tk4g5c(y#-8VK@%p5ySu~1?c(n4J~#{xgS!vz?mDXXph|{36mOu;BP~~0GZ~wR>aLuImu*_O!t|MV z>~tkO3KA3w-~a|i+4f~}3XwldLydaOK7&Kt-7g}aC``fIqW7h^ZWQnwbm3A)I^g@G zw{5V*dx!>Ci5bVwsi(n5K19tbrlQ<4yPyH9)!GuD`fn&3ef`dhYjrUJ36oY@Rak8|Sfe$8q&rPl^Yy(DcG=y;}B1y(vBkT@#7LDj7QN zcZSJuv?TK%SCi)$lSlJ|SaSca+b>?ev^n z(UJZ)mwg*(8`6`;JQn^=kL$0FXwTuRpvSQ2o=oZAftClgg1;}F7CqcA*P309r$`SF z)I97o^L}JjbMEl0LgtDlD9Vi}Aot4iwJy`Srj zJ#p~OH!9{X1@zmzKP@fsrI7yd`=EV2pJbU%vrU;W{1HdnYFIPC?DXf?OKfbp;$j8z ziyI7fVw*OUXtM86Q zP=o0+!fBwpy1J*QrM%F#GF&dc44_O}853Vtj}A{?Nt+cw95RwhLb@Xk#>wF+0H;b3 zBY;(m7b6(EMD#vbbblfdZIE;cFpT`b?#qVxZGqUL>nK~W*0VXPmomw>h;p;Dc2%ERE;(S@|)BI@8 z`xPXRDu#blRawX!!y5G4&@l$KOEe^MoidXB-4X@vLN8Sp{790PRYA1bWFwUxJ5*mt zzt4Xd3>OxGB|x&^DOe#?dlYOQWp)yb3%5yJ0_+Gcq7y$K1x&OJGqH(WK@x&&s~lAS zLdwXBAO(I12Bspjt^m#@BJ@AOb;L6L53~+;Ha1?20H*&1Sck|z+ULJu9WADy_y6Mz zPM|{&XcHC|Y(Ex$qYwCBTnf;CGu4A^zLWe1rysQEWGey!?R+iJe$A2pYyP+Ffg{NRf6YJ-q5m=uHitPup#6VkClPsPTx>fA=^yj`AOLi2{U84Ge`<0#UnAs%k({}yO1K`y;(|#WEPicsbwqHwgqsLVuAD3p!J;3)xmD3tv zygBC6M!{bXsL6@COdtBU4ef_PinkTuQ322GsP{uA++8cdUON8S?{6>9+pS3qw|STw z^WvZ?!p}R=hlRwmNwP8rq>nqrm*=g|d+U?!@24d+_f=Tu-BefI_Lq|qpclr6h0GWY z=(8@s`2usUCivsS?n*G+nh)gdSkU^Q;(#a8@eJeX4AaqHjqY&&7_=Vf@HLvGME`#;}p`$K^~EkQf_pkqJKF3-opKhJ)E z_VhsqN}xj_(6upWR|a${0s8U*-Q+F{8nnR=T4gxf6i(GZpA=tv-$0<&uM=6&f%twr7^s{0G#?st z8x8sryJ=(nx@863R)IjXmodno`;^OSV$eI^c{Rk>1@%D)^xIzi=XL8>EymZ=>}@aP zUNqKSpYT-+#K#3D=&|?nW)!r_1zHDuZPWiZjc3r?LCMz?=GOr0>kj(ekowcS_rrwQ zyjs;5-G8;Ls2RU+@ITAP_1MIwH;#9)J|Hn1W-ue3$0yi}{Nl zdiCRLk?K>JMnYioi+2s_xd3DLOZ8w8r2C}`+FcanOqc#h``V`StPtV)`1<_%e*3lk z-L?%1|8JhJkO_VcFffel{})Ci8&O657(1Y~{hKPwDyNB@?YMeMwft)2 zxCniMw)g@a6~C0L6x-13?1FSzOzGn7>{_PM2!{oWEPqbm0y%^Rny98Ks}ZJz3JX16 zL1Ceo1{P+_-ul#v%NOWRyl?LnL~{Fit^;Xf{KR3y^Zv*2M?5DUToBp65>b{(=8zvB zd1E=nq9sGopUkU}0`T1{#PAI{K>0<1$hH7UkUC1<5H3xO>z3;jA1%FRDM4xlwzj{A zV$DYMlFNUC44Y^cJz5~LFhY0d=r)r)Gjr@s!I2VOtb2eJc`|^UvO{s9dVoJQX?zv~ zCPiMPvEt$rY=cG5I44zTj1>kUL%K+U?lD75jk3aKy--f-n0p-YA^5-BW!4+Dh zOaa)UbW8ZyK)2T{wmn889MvB3uOcz5Pzb=YQwyvfFh<}6h5eYy2bi zDXvU1ujvc=EbPPXlgNtknL;*?6GRfNJtlQ8g91gJ3=b4SJuMV4lPH8E6U}!=xki}$ zE8=E9A2oyoplo8YH{I0h0zl_EC`3aPGn?@UHPgPaX14W2-TFkiBUQZTBp_t2MTH{8 z@tVmo1pGPJ5w}N|gF-RJg9yzBBxkYOAr%UgZ)YGI_vJ?FrKc|<3gQYyB0fd_@TErb zlC*%i;Y!LFEks#9^5}hgJO}j#O20s8!3V37zr%mb;*ZCz*bfMNSigis^nB>3H4Gsp z9X(L1ELF)W{iGF*%2^#LmmE(Fj-f8buMmsVB-SWbv#RY!{*{%AeETWiYrHd>Nb&Re zO3?j6TeMI3I~{F+$J3Rd^TCbrO73OaWl5w<-D$quYoD{$mmJLFESv1n(Bskun(~3> zk4H)6oc*QtcDK=E-K#!q%dX{>w&q)QsR7<%$ko;Qbz**xYjxgyFCX+azt5!_y;g^f zwmwP>1nlxXEX$2{C&-p=zfZoe4auHH$Wir7nA93iRo>QFqlh?nxB_zeRT$=jH>>Pq zBx9+78I_d;d=hRWy#yH%94Gy2W5;4fR~;5IR2F~F6IwDj+*h(_e&tna)H zGAI98Vk<1?rem(PqS4@=2T!9AoI69S0Ap3LR|Xh8o8{LD0-U;g!RSBUTgX4Bu8mXD z8Um1RarbM9oU&LhL>;SYHen0!x3<+9W=WCR2)B&BVm1%qO?zO~Ufk*Ezp0fLD}k%6 zrfyb$tJbtBX=ZD@yO-O^B?AvqD}s|lAj92|wvAPhjd0v0a5OrGOgZ67htp$+B5`uF zXLlnJ@O0ei3$#H%UnX+T4v?T6jfX-;r&W;D?64aV`g^XuQMHq^M}O7HbR%9Byh6r)6rv^qyqvs8_Np!HU<4G6IO5LM;8+G z&sR#`1Bu#3J>FfMpBnie+hJEw%$%JY0@+u8BwVoXfvdTcmL4%4kFPRhXJ!9(@T(E+ z@;oeEIf;6yAn3dOwI5R=qNk_l@tjN}2?RQJ(7*T#WhX~{14=6Ax_S((*P+{gAX8)& z5w-L9a1$~AfU%1W;GnIwNgW_1nnn)NYIJGfZ`?&l7taX?72?=z zzrS3pGHl;HTjZz4v}Gstd5@lK;!&k_EH#a!_{Q2mlJY1IhP`WERI$sv}JT)*!UAlIH<#m%ny>w$yhzT3pH?}3S-I$mXH>Tk9 zjUf3kk|;h?2W$|FJsaviAmiOY|zvS z(efq=6b?OQNfL3pD8u#)vA*#Qid43~)hW|S*$-k^H($5}Z~Pge2VPY3d7mbgdIVyJ zLl-)LJAVwMGZEKV+w+aeu_mhHE{Dl}?M)}q-i+`)c}^;Hm)T!YL(v6SQVbTysh%k` z93MuC+%>V8b0s7T=05b{nK8)AlvjWJEWs7wgb%RE<5bAuYc4W9zS_jq`CYcQKh`@n zS$T9+y4lG;wfV>YPrVak5haGq)-i4*$F*R{L%Uz9;3jI^iUwe{Kt+d~l}o@_){OBsSW4kaP(ev&(fmGsZgw*W$y}E5?=4*+dNlj_Ch5h$$^Ec;=MX+`KXa2j zV{edITQuHlAE;z;t7+UiB7+fJj{>KqXY;DBosKfI=nh|+JWyn{`EYs|a{JzhE1yM- z!+q{1yZcLeNYzqhOp3TnwECGv;!5ygUI*bybEGqI?9zkr#6z`ll|>l)BQi>kX~_x5 zyh`>tw)pe9AfDjX&*1l;U*fID7MeD)SllwLptU69dcy~jCqpXXuOPay8z*jdT3)%< z<}MC~q}L+Q)<7TISRTr@t-azAp#0$2`}5ks1UgV{V$Le5lu6bBNEZ`Dt(^aIEY zov!U7entW$_jg?z!1%+^fEK80kj`r9Cg?6Q%_-yB@F44`rEZLcfc1J@r^BV^>gvjp z6(firDLzT0VB9Sj9qishHGo3|w*IKcr`louw+I6#NGZiyt33r_MSa3U1Bdp*;D)3D zMW@sK(hzT(8&&sbvOxr$YkDR`f*)c1YXx4Q5@jB(0Dy<85t(jHbC8$rJ~WI(l+%=* z!s?Q2h|FL>@0-P(*PIhjxGMUG=nm?)6D)nDV8OCh-WQiUv&14HK|z$e1Fb3sFeX&B zk>c`Qy&^iWQ*E+=5xdMX<+6t8G`saSalCNdmgXj`=ABDnNylB=k%^~EuOR08JC=_f zIgE*{V5}f*WJBRxHOm|inC213HEfjTeG^povR%UPADrRVH-mzq44_d@1_Se4nC#FntximHd&^cMxN*D`Kf=o0Ps(`r&+YW4cyxn_ z#txyl)R*K}j5Ev3)1bpA{{T@Bf7Y8uB~G7wGu86+;s-Ea4#GLBi9^wo)lvc>GPfwE z0Y+N?Uc+69e?89u1di1@VX@kC zu<8StpH*k$`6=AGOsKXpG1f1==IzAd2~K3T54J{6~*%aL^@TjHSvSd9TV{$m~ojodoF3&k$?RLc@}- zcH21g`x8Hu$eP+|z0N zl-Zsf{+Z+n0erFKdNEbF^L1xfyn(Vd+6T}MJOfxOcj1Lt%L(RA_=O)><4Xy0cf1}B z8jxqgbl8G?kwmoz=6M8+Stj+}aS2(s!v@R4Xb#ZK;xZutqbKVLc(DVR2-l`?4KEy& z)IIZY|J3}%Jl2h&E}|L>|L@qyD_NFzcKWJn|JaTM=wC+s&j^Z+i`p@h zJ7XDJH|oD7G#mg+a{~1{>WT0z{63o(e^q4VQ7>2hRiflEv-Y#Y|7ugJ)^T5k0?>-z zk;jJ-Y{~84gowi>jWcFIZ@y;X#^NpBgj8WoTzb@_Ph?#1LP7r*!K+zEVEjSm&^S>4@T=7hBvQ!xBbA4BTy^-t! zi?PP9x8->wNZ@1@MK4gQ@kS}&l9*_M$tt9EKMD}wuYDDGd|n()O-+42t8Nz{V`CG* zW5Y#?d)hON>$Pj_rmn8`p1uX6_#4^wUS2(Tch@+3@^9K-yEl;}_0eU$DF#fN)uZq; zuX45Ioe>Beqk0Z+Y%O8JgTd$A_}!?u9o#|*0H{>C)Ws?-X(|=4@)lQpJ4%QjAR!=7 z7tX;+Q&hxj?5~5jwj#cbozZ536cnx&5t~CBv>(7UxyVmO4iJO2?S;2CIN8)hhfMVlG6tEgcBKi@q=(kD@Irf?6U zfxD6|+~t06lBntmFf8HQ>@%l!sXV0KA{IiBrny@I+fG-}A!1|R{)?bMwKTVzZqJlR z?Hl?|eCF{1jMUC}y8;5f4kcRa8OJ;ZQv%!3J^GYe;#X%y-ZK4WjtbA7RZ4`>gY%-~ z{Jp1}e2N|XgvtEwttq7$B?q#d=XYY15q$qWa0T|+Y$YG8=#YsRvR%sk^#i!}Aew>@ zmA3{e6owG&fO+_O$!DGZQ|(cBnUgTr(c+(xeteD2A<>l6osth^=LkJ&CqPdsFX+K54+!epHKu6{R~KX5!?(9V)UA>B z1Arz%aD6()%3AKTdHz5#^6{s$s$nmemHx7>)j#^c2yV;w3p+(^^G6HZGvL+alua#7 zY5Z7GR(_{A_IV1w<5oB~Eac}Y0-$?-6{B>~Ip>JTpzT(9_r3^fspq-UMD}|Ab-VW; z^&~3VFM??7-PqXp`1tTOvbMIK&I_>$kp0vOkN`*Gp4{1i@&t;Za4 zdSKNe{(h&HcY;khD>HMOaSU#u(Q)qVJ}MHGW1p{5!jOiARJa3 zVS*}c4WKzd@7f+CRpixGdbAYYYnZZKIAbc)=63#cnHM9KKH+w$E6rOkE7iQRpq87y z0uED&(#~|b$3Z-jj=$|7k5l>MW^H6H1Sek^La$j5+5l&D%=6npGtVFv;CM<#wSZpN zC8tH{pgm+^(RYx{?mcR)m~rk|u2$b9ysV9px6^W>eY|P)+*oo#IG=N1#hkQbM_khz zD=IrXyQ`}|D5%+H`RGUp84DY`#_&&1aj_ZXAwIf$TR}0D8bBG{?C;-DHE8J2P%kfD zUW8C`VSniFBuR`&yJve8qA?L{Mf8Py<1~Eaa^sLx*gV zqB24y?;y%^q_w3Kq%#vWPEr-*6Ayoc2GPmEq!ptr6^9<4jCwy<_ucQ54&SM$smo`w zI!DRTgU<=pk2+$n4vO3}8S(;GG!=u){7Doe{u34&HF+f@mTkiz$_az|pW@*w0pR~% zK%AWwV?5x01z*khk2d;mL>#_)_3-~RB94p9feuHm$Q(~Wkwz+6Kt>kFO60~y;0RF8 z)#7d(r=LscTy870KkL&sD{ zKv$Ph7*!W+`6kwmqb^cEt1Oma~*u!F(^Y)&><9P_Qp2Oq&!D1R95Qg&BT#$<= z^L0J)jGXgMT~WL5vL_z!E#C@kJ&;@Mu>QIuAq}RGO&6GcqW9aQwBM!wdBc@=0*u&a zFTA3$J!4M2;LbQ?NqnI7I2Ad2;V5|o#-5W~tnd!riQT-(HJ{Tt-cSPKzQ2Bv8LkpZ zF4LLc^DEX9DJ^q1J(6m!k!kOe$ZV3RYyk{+xN7cQKfcIl!(h?1#A?rozs(CBJdx-v zroDq`E$SFTFKCD(1&3d_f4x%EB~hB3N|v08<{bkg?kH{70RpMCT4(ew9kN3gid7d> zMpxA0Tl{6G7Rs0De z;hjMu%ck@kvwHvf`w1fAs67RN0zN=L3?F1{{z~?~scpSzHeO4KY>F5@aPSuiR=fkb z=c(npMH}B)qz~k0-dVo?L80l~0D(Er3-1dWzESO zWQqzBisYE9Pm#1EWtl^%opdfEo9EwW61Fx4%}Z*PE1k>txRqClm`UsY2M&`-QsWu(+fPpWQKR8a6gdKd+~FOQ)smi;Myr?e=w_pf_&elLf)D9db2aW$k_t0h$Ct{K;JViX_LAVTSM`t5<8*1dlg ziSPC8+mm39#Ex-0&k#;xC&?wrtz_ISiHNR8i-y*0@?=h%<}bWLNIFT4NNsyO#AP<@ z`2d%ZeLbN#C$GXDE^MEvKY@JJCQ!pO`C`$W3+Qpy)U9vI(7a@e(9~<_v)jVh9mn9; z!WyTv-;C;UG*(lqrqh%{h)o$yk;#5xqf+Atca4ao0Q%Gn`5`~L5yaD* z;{_<6>C<CC&}!G>i1LeJkT!VSehf( zDXDKr;?QIp0iRkB^^zgnTBvpsJAWIxFHB&tS@^Eg=POz~U>?^Yai_G3p6Q$*vHN3M zR5ytm7NAeU1e-M2m4^QV z9yPt>!ZhAXs~7vXj*%An&sj<3?AbnDSgf8z*O?QQ$si8%6UETE0#6#*39YUao_0gq zEBs0}9n?@#!D`XoSdxe}w*d&1BIs80%=IpYs_w2M6U6S;oiPZu6rG7HmBaMIW4-GG z5cNYuQW?pTcd_s{Gy9EvHj_;jgAQXT(HQ5L;Z*e+sUl63-!SwwnhoZ&b6#3qT}PIP z#K4NcGi=66s<3B0TNJ!XazR852<( z+5!#^PL6tdD{E_dI??YZ{coFd$bGJYpI5a*% zkMJUwkSkz5XO*>-Q>xg22~>r&5o@Hn4|lxOzJ_!sYKQweZ1dYjX5>?UAvKfb0n6}@T&?kh#KhO=3} z&Q5JyVPaHo;%=Wd_4?qX`UXcsBxs~{Wr+4JC5{0hZjqRbG$<8d{?K1Zm!vrZd>%?` zY_;EmfAzJ-$PuKn{U!Xv=lcrvPX`k(QtJOQuAvu5JG7kq!dS~F{(s0@pF^-7sDb>B~{;+}dE z%WP3Q)0(7fvT#)YaMc@%;jlk0SE{BvDC?i^%h%gKi1E6G`S|F6OY!qd+jR+YfHxS} z_&sac%O@8V6>ANlT1Z{TbcUs3F+!Umj?Ptnzc$$h{e5vmYhx3#@N}JEjYkVUK)iXw z-iJ58i1dL`6wbC#Py-(+RgOfPFH=iARi}EiT_{_U=NPA7tjdxgg2_x_`rg|i@-gay z>ikI}5vmFw%7K})-7o3->s0Kz12_P5ci`+E;3U7BfW;McFNhDSLG^g5?hneC!Rfjc z_`aDMy)$0Jpw#|&G+VU(c2z670R7P`CX#IJd;mDwrG#2P7?K^H9V?QKS0v&0j-dd? z<(L56RTCIjz$!X>i9zZaA5Lrg*UE?>!R(L_@9MXZ;Si`6*_Urc%0=<<%D@L*(koS_ zrCoi;iX1D~Ko?^2nh3wdFTYYnDt(E8)q#g26Ub9z0#VR2Wj=h!m z;0m0cO-+7RM{3d&1nbY(E<;20tee=4tNOc8jqMNPH529XT3%k9aNj%iicN`0ZLRqMC-uI`WyQj-Rs>nHF+uz z;#KPyQc4pNVgvyI0KC`FyC+K9V9G#oFBTfx^(8#?-ESw~wDq*Lv-C0$5e{2gk0CBu zTDJ#jPp(M`F0*++SMu`;Z$u=hD6i&=%v1HfsC~le#6YIU&%CV5_MqB_oOU%;Cubab zdO6rF{T`o|T11~yj3lHqRD`uUGCOEHUOQg7Im9^^1f!r2s+`h?2Uo=o7}7(0G*fppI?uU@(Bwc2stHEE4zbrB7x$QaL_cqe}`? zCUnn|W1W*{g-byxsu_Z5SP%6jbOsk;QpayFQX1@~oc>0H; zqK@XQB$V`oH}2a@w&i|QyWQl2!~IzDmLAu1e;RNLbUI4vY5QB=LyLO=tVCK8=?xMl zc*-auxb%Gstt>kFog^X@g@K+@3JtX{Y;cB8XqZ`OOId6mHzLB$Xve+!GH8=!Pza1C z4%h~VL6nU|5rBSieolCGPIzPk-y9+u#F!uDpq)X*!N>^rS9V;6F9_Up&0kCp&yk{U z#P5|bAQArcJs=U5Vwq&JSnVoR+xZ|bpT*@@xO)Mk?+3Z=9^3C$uDoA=kFI)tfwOCw z&mSqOa7@fo-{R%kg6mxg_;}lK>?}ngjCFEWGJym$2-7~>6YraroRZCM2B$3oMP0Z zen(Q`x{c}nR_E(-w^5=|$DtBGfB|mOC}I`GyK8kRt)q6jD;xo zFPWY1dlQOu6B7qMy(SS_RJ zQ@|AMS>1Hl$hRByRc)~1tmjY2>q02OI}p(y6*VWh8xbZENWD^2SYIfLYYQ^n@)6r_ zyW&ww5|_Ve?kllJtVh#SUgLtY-5W6IaINr2)J`($n&=R`tlL4+C=G}1vzK<}QqXQ% z(nV*hp-Hjpoei>$P(y}mq32v`*+I$LgaAxHv%j)+eM}0DKn>d?dV7D~>Po~~PI4Z7 z?#|5d%FPn?@&EJuQy86%M|8ej48?*P7Bg&aJyX4ucDiC&O$2dM@>s1x9balZ>p>(r z6+yYMI7t3Rli#okoRyPYBHzh|6Bjn5loBo3EPm|USCCZ2}^wGKC|jmW8pbU``@X@;${iwjA?<~7bX&)>44;c=|uc}r4#SSemG-lT~mGvz4! z?@_Y_Cask{Jng(*?`T@%AtMhWGTth5xHQi1>R&8IN+aqSFlskt0qk0neZ`4%2sF^1 z;NaXM3JQl<%w}pbVOmex*uNpZb!*Q2uqHPdbbDktV2-3bWXDLh?WC+9gE4a~to*9u zgL>uqgULEDqY^I*5gLS?h{>k$#sC51l=$0KV;TG+j8Er&$7vgkwfG$)EiQIz=|jC+wc8BntWNgNth5H@3m6yN z@Fv41?ck9G^?{^6M=V~sey2bY_@AIsSS3Z2w7u|??iP41WPbnrh~HtXwavTs0fjm! zGm~&5z%yKbAgN}0`hhe3!Wk?XYir87d}0z26H{0N?i4Quk!t3Im#flPOH2u27nb?b zpOp#mAIP_0Y*2fDuA53M$riGoetjRl;w2~&4})SQ%! z02{ykP7)JP_hDxh7K2H3qw({uCv=*AS7D%&qg(b%o%@xrO{l2F<_2H!5Q5IQ z`^+yMUe4*!F4-7t8AHY~!4A*e5osFkI2Du8a~0&91~Ue|RBcAX1_Evvv6LDPd7xnG z`vUT7u$0E>i^Li?VATYQL(%U9m|>9i_K*d#4Y0EGB^6YvHrC}48}8)B@+F68Av1D8 zJaBf=RsaTkHKPXUjNeGF;tDnqX{lSQy>5NFQ`^wv$ajceNct*6;%Ffzyf;Ne2XFBupb zE1F;Gp!pMQ;8U;CB)@I>sL^IBBgz|^hNu(*1{+BBAE zU3YO({EIHXEi*?vXns~=imii|c3y`{ZkoB1Rfh&t$oTUS<6v4(gu5_Ig!^|0EY!*> ztDc7Zu$Qa}7t=BR51$lT)c#!fax#%K6qYEo8m_)bSOR8hmuGf|=eSKqOjKsi0vbsn z%^Ed;wyh6Ef0xFDD&Yaz(m2RFUcTEn1r*dQpsV*9F;6(brBjbm?Qnq(##z@FA*(SXGoYzN{&U_ZPt|6Z?DQzFO+~bws zp$05#sLCEQfES1j2iAQwuoGCB_K}%|7uA`rd!JvP3(nJC#IiJNM&s>1kYYR86$=S?@+}V4iXa!$_4`7 ziJ=(!13D-r_4U7}KDdJg( zZa8sbC`+!0`pZL=`bglpD0N)NyedjPuRhpl?!`aamMt)S#vsIQo%bg(qWff)_eS_NJoB^i-1#mGbTOR^QSTr$V zc!A^*R|D$pUH<@^{E=(L`|-rfC%#Y@LmY@5C7!a2L9f=gDdy5wn2m?1)DLab1|}sR zmY-DfBPT4l&8+cPvaS1Crh9q91TG9&E=$U0pGkz`?_* z3fwqdv)Q^BQi3#AXB;J6_x2-Y;}hLv&qN5OBC&!9D=T>5nkrh7l;-khdt7w0zW`9o z01ub$R850>BzqKG1Rb8$N;Wf9KSoH>`ImwmuFHh??~BO!nF`gKpnMjlV`JJz*_&DP zJUI&Xu^kcJ5L|}L2fA=$-2`l5ML{+pH1Jy(d!cXSGwPpqFMorZ^IKh8TkF3IloD1) zzmy?sao7IpxCK9LoL=DOuC1NgY8&kUd)w(}4oC}^KLHv6nMvzMO?n}mP8@?vDS;P^ zt^%$#UUu^7AK*#AQs_mM0W_!n@*U_9M*-)CBRcdPOl;@*v+@YkqR0#d>Jj*;acw;8 zOe93X-AWo(IAvTfOWm$U8Tm^_Lc~Jnt<-X;ri2-tx~xDY{A7%*r=Rj$ElEiu#g_uG zfU~kY^mLy{*c?R!I!EMIV?fUIas9cqZk!h?VkFUJh-lmL;KT_19+wN7FMPPjk}oc;T>SuZ zuzWaPO{&ObhB8-@f+0CI3PG+JkDhZ}NQHLx(0 z@Y<)R(n=9Akz6jGM3vSgYN^C+c)?-;N8z^uYSmAd9I5nexa_}KS#vQcO&NLo1proj*jedfj!BB9DTiO7`HM+`azA*RZj zVZCCp2oKRZKxQlsTGe&2Ff|>#iscwU(@72c2~h#YWg0dxWL&2n+twqHL$ieCf-xY1 z2XQXoI40qiT8=#eq0U4$nOK6roF}QCg}G2ISA%o$QUF5ZN5>}pqn=y){`gFX8aLO{ zX@A`Pb~i{!a9cm#)#dY8VuCax?bU1C$&gQ%Cc4)-$C$TENqW5i)h!Q#tGV1A=LkCT zwfmt_MIMoD03I>%j=JvFBJEdx-GJnqUV{TTzQbYNz!2JXn7aSOdVPVe0T%rRuB2B~ z;UN+JM6p)iFzrQjAqp;%EVd+KLI2bqwfb;$Ic0GPimEL2b{$WwY{wE(?3@CL4#41U ziIBx2Ak9@MXE_@T&anvfY3A;DYVR=C-lLvh+)(RK_}#xcN6}J$8G8hf6~@##QA(wm zn|nKxC^ad@KB>(PN2#^LiWkcf(i3V8QHwSfg6~4!zsAyIB&(s;ov`|LxFObWX@AY5W*o%XWccGfybBz==svpH zA5fp7ox&M-3Qc7*ZAv4aeSJDQ+3?borEK(h?iO_2(#Gc(!VOHIK~;_8%$=&sK1mA^FM5Yh}Z5wEVr|6LN|a2QLINy`U#s#4^h z(>de^zv$EbC;GO1Q!t{zFk{=y>;BxmZ2kSot=y{_L5c~MlF`zM--Nq1^7GQMV4EZ# ztgnz+WR$KYz^H+>`StX0;+uoZLSfU#iIq@;kB4>-o3@an7j1Jxk~_Ml081^b%SIMmP-{3Tp+4(tI42;9#F85Bxc360;Els_S z$FwN93UvrEZQ&nu5jy1oMJnZMwA7cWi{6r!71c|e{Me%ij*%Sb#>H#jOB^(dkm%K; z%OvID*3QpqM&e2G_&pr_>v~9}RPjPJQyc7?>D*WSn(oMAinIaXH16mIVgRZnQ@B(f zG+mTL^(*)bT?EVX5gFM^F>Ts@8o=j47 zw_&47exi4%=C{7PMPFaZMq#o=(eCmQm#gYkmurF=C6kzPJ*%M-aB`?aUzX#LGg)zr zN0#}x#}1JhIfc7Q;~hm>Hz94yb3WcqRkmN?+iitxH-=Xu99*JCx`cRn9X_xC+{xMJ zexv<8UWgD512MoHfD|d+si^tZrMDt1gksv%15Xv%?a`8>KUWQP$5a1WLAd`**YED% z90V9!r{V)s>)E+If`2>zc{*<)B|&P3ZsRe?2%#K}YLn=%b~YbtGKv1QTm2&=Wo4y{ z`I|#88pw;bhgZ9o>rkN{HRM%NG72LVW&XX-mk^tR9JP>qGKEJsQ@x@q(7;#RoV}t6 zjyWl?vL&r^$82Bqwy7>Cq)p;`ITc2;gpk<+xoE3I*tpoQG`uDi0@N#k9{;QTRA1_J zw_7M@qvZzc1uEw7_rP zM{H^O@DpC4&^ne{PNGz!f#Q;U>Cb;07RiESrQcGi!lQ|+k=o@nInaUh3~l$-G7cOS zmh~| zOm6Aflk`ae7ic*8&QZMxs;c@TaMC>(AyDFpLf(ej=>8ERJ2lbNmneS&o3{2o;c(}X{6V&;#3D2JM7 zpFbJObmUyvJvG0l4>FRL>-3HfKo%DUa{y}zpz1>`HWQsCjdj>m0>+(_tF@gXme30h zs?Dh^6OiiYN~0p7uxCuBk)3y|W;~fHtSD(xlgbO>k@m1rj4M%6gWmD9$~#$^YZ~N? zLQ~I&_;9S3{&COq6m07tg;B3`I-oE<;%8 zXw}F_>1bag0{K#63qL=26TdUUdX{d1mf-ZV)N4W7A*rao8ifr> zlF)~dOxVcbd{UmWbBRrwjiR={`1QV|~( zcewpE1RIO6mBUxTP}oS^8`@9mA588a-~p$n)5pTFL*MPa$f%aUs}Cdi383LGF1eoa z#Fp7!-&jG4kU<-aOWm0}nw>q`4f~lGr@YS1_3W5DeV*RVQb;8dUR0|_eIi!o zvH&1TQrfnjs5J9XV&y9mEfpkHPN27U?b#HfVEnkgaomr?k}yr_s%0DOEHYnA`iM5d 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 G3G2<5DT8ENIM&haFXNA^0>ij9&8D<#+q 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�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 literal 0 HcmV?d00001 diff --git a/sc_images/room/cp_broadcast/CP_broadcast.pag b/sc_images/room/cp_broadcast/CP_broadcast.pag new file mode 100644 index 0000000000000000000000000000000000000000..25b5de169b2dff238130e63a3e0d94fc74739aac GIT binary patch literal 164501 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