From db2f338acdf3a7b213289fcb0dea7933a37e86b0 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Fri, 24 Oct 2025 18:07:08 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=BD=95=E9=9F=B3=E6=A8=A1=E5=9D=97=202.?= =?UTF-8?q?=20oss=EF=BC=8C=20pay=20bill=20=E7=AD=89=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VisualNovel/app/build.gradle.kts | 27 + VisualNovel/app/src/main/AndroidManifest.xml | 2 +- .../visualnovel/api/service/AIService.kt | 222 ++++++++ .../visualnovel/api/service/ChatService.kt | 159 ++++++ .../visualnovel/api/service/DictService.kt | 23 +- .../visualnovel/api/service/MessageService.kt | 52 +- .../visualnovel/api/service/OssService.kt | 39 ++ .../visualnovel/api/service/PayService.kt | 87 +++ .../visualnovel/app/di/ApiServiceModule.kt | 20 + .../app/viewmodel/base/OssViewModel.kt | 271 +++++++++ .../entity/imbean/IMAIInMessage.kt | 12 + .../entity/imbean/IMBaseInfoMessage.kt | 10 + .../entity/imbean/IMCallMessage.kt | 12 + .../entity/imbean/IMGiftMessage.kt | 12 + .../entity/imbean/IMInImageMessage.kt | 12 + .../entity/imbean/IMLevelMessage.kt | 12 + .../entity/imbean/IMMessageWrapper.kt | 44 ++ .../entity/imbean/IMOutImageMessage.kt | 12 + .../entity/imbean/RecentContactWrapper.kt | 19 + .../entity/imbean/voice/IMVoice.kt | 27 + .../visualnovel/entity/request/AIGenerate.kt | 58 ++ .../entity/request/AIGenerateImage.kt | 28 + .../entity/request/AIHeadImgRequest.kt | 9 + .../visualnovel/entity/request/AIIDRequest.kt | 8 + .../visualnovel/entity/request/AIIsShowDTO.kt | 9 + .../entity/request/AIListRequest.kt | 8 + .../visualnovel/entity/request/AlbumDTO.kt | 21 + .../visualnovel/entity/request/CardRequest.kt | 9 + .../entity/request/ChargeOrderDTO.kt | 10 + .../entity/request/ChargeProduct.kt | 35 ++ .../entity/request/ChargeProductDTO.kt | 11 + .../visualnovel/entity/request/ChatAlbum.kt | 11 + .../visualnovel/entity/request/ChatSetting.kt | 21 + .../entity/request/ClassificationRequest.kt | 46 ++ .../remax/visualnovel/entity/request/Gift.kt | 22 + .../entity/request/HeartbeatBuy.kt | 9 + .../entity/request/HeartbeatRelation.kt | 30 + .../visualnovel/entity/request/ImgCheckDTO.kt | 9 + .../visualnovel/entity/request/PageQuery.java | 32 ++ .../entity/request/QueryAlbumDTO.kt | 10 + .../visualnovel/entity/request/RTCRequest.kt | 24 + .../visualnovel/entity/request/S3TypeDTO.kt | 18 + .../visualnovel/entity/request/SearchPage.kt | 10 + .../visualnovel/entity/request/SendGift.kt | 16 + .../entity/request/SimpleContentDTO.kt | 5 + .../entity/request/SimpleCountDTO.kt | 8 + .../entity/request/SimpleDataDTO.kt | 10 + .../entity/request/SimpleTypeDTO.kt | 5 + .../visualnovel/entity/request/SubPriceDTO.kt | 11 + .../entity/request/ValidateTransactionDTO.kt | 15 + .../visualnovel/entity/request/VoiceTTS.kt | 32 ++ .../entity/response/AccountBuffBill.kt | 38 ++ .../entity/response/AdvertiseOutput.kt | 66 +++ .../entity/response/AlbumCreateCountOutput.kt | 39 ++ .../visualnovel/entity/response/BucketBean.kt | 19 + .../visualnovel/entity/response/Character.kt | 7 +- .../entity/response/ChargeOrder.java | 6 + .../visualnovel/entity/response/ChatBubble.kt | 52 ++ .../visualnovel/entity/response/ChatModel.kt | 42 ++ .../visualnovel/entity/response/ChatSet.kt | 66 +++ .../visualnovel/entity/response/ContentRes.kt | 8 + .../entity/response/ExploreInfo.kt | 26 + .../visualnovel/entity/response/Friends.kt | 64 +++ .../entity/response/HeartbeatLevel.kt | 67 +++ .../entity/response/HeartbeatLevelOutput.kt | 18 + .../entity/response/MeetSdOutput.kt | 15 + .../entity/response/MessageListOutput.kt | 59 ++ .../entity/response/MessageStatOutput.kt | 21 + .../visualnovel/entity/response/NimBean.kt | 10 + .../visualnovel/entity/response/Pageable.java | 50 ++ .../visualnovel/entity/response/SubPrice.kt | 31 ++ .../visualnovel/entity/response/Token.kt | 8 + .../entity/response/UserSubInfo.kt | 31 ++ .../entity/response/VipItemPrivilege.kt | 47 ++ .../visualnovel/entity/response/VoiceASR.kt | 9 + .../visualnovel/entity/response/Wallet.kt | 25 + .../visualnovel/event/model/OnAILiked.kt | 9 + .../visualnovel/event/modular/UserAIEvents.kt | 34 ++ .../visualnovel/event/modular/WalletEvents.kt | 27 + .../visualnovel/manager/gift/GiftManager.kt | 46 ++ .../visualnovel/manager/login/LoginManager.kt | 21 +- .../visualnovel/manager/nim/FetchResult.kt | 93 ++++ .../visualnovel/manager/nim/LoadStatus.kt | 11 + .../visualnovel/manager/nim/NimManager.kt | 518 ++++++++++++++++++ .../manager/pay/GooglePayManager.kt | 476 ++++++++++++++++ .../repository/api/AIRepository.kt | 229 ++++++++ .../repository/api/ChatRepository.kt | 133 +++++ .../repository/api/DictRepository.kt | 5 +- .../repository/api/MessageRepository.kt | 156 ++++++ .../repository/api/OssRepository.kt | 43 ++ .../repository/api/PayRepository.kt | 86 +++ .../visualnovel/repository/ext/MessageExt.kt | 149 +++++ .../remax/visualnovel/ui/Chat/ChatActivity.kt | 73 --- .../remax/visualnovel/ui/chat/ChatActivity.kt | 255 +++++++++ .../ui/{Chat => chat}/ChatEditView.kt | 2 +- .../visualnovel/ui/chat/ChatViewModel.kt | 357 ++++++++++++ .../ui/{Chat => chat}/InputPanel.kt | 22 +- .../ui/{Chat => chat}/PopMenuIconView.kt | 2 +- .../call/manager/BinaryMessageHandler.kt | 89 +++ .../ui/chat/message/call/manager/RTCExt.kt | 31 ++ .../chat/message/call/manager/RTCManager.kt | 353 ++++++++++++ .../detail/flirting/FlirtingLevelActivity.kt | 248 +++++++++ .../detail/flirting/FlirtingLevelViewModel.kt | 32 ++ .../detail/flirting/FlirtingRetrieveDialog.kt | 42 ++ .../chat/message/events/ChatSettingEvents.kt | 24 + .../events/model/ChatSetAutoPlayEvent.kt | 14 + .../events/model/ChatSetBackgroundEvent.kt | 14 + .../events/model/ChatSetBubbleEvent.kt | 16 + .../ui/chat/setting/model/ChatModelDialog.kt | 115 ++++ .../ui/chat/ui/HoldToTalkDialog.kt | 25 + .../ui/main/actor/ActorsAdapter.kt | 2 +- .../visualnovel/ui/wallet/WalletActivity.kt | 107 ++++ .../visualnovel/ui/wallet/WalletViewModel.kt | 44 ++ .../ui/wallet/dialog/RechargeDialog.kt | 83 +++ .../ui/wallet/income/IncomeFragment.kt | 113 ++++ .../ui/wallet/manager/WalletManager.kt | 116 ++++ .../ui/wallet/recharge/RechargeFragment.kt | 83 +++ .../wallet/transaction/TransactionAdapter.kt | 73 +++ .../transaction/TransactionDetailActivity.kt | 82 +++ .../remax/visualnovel/utils/RecordHelper.kt | 91 +++ .../com/remax/visualnovel/utils/Routers.kt | 14 + .../utils/analytics/AnalyticsEvent.kt | 10 + .../utils/analytics/AnalyticsUtils.kt | 38 ++ .../visualnovel/widget/RoundFrameLayout.java | 183 +++++++ .../indicator/SecondaryNavigatorAdapter.kt | 64 +++ .../SecondaryNavigatorDictAdapter.kt | 48 ++ .../SecondaryPagerLockedTitleView.kt | 156 ++++++ .../indicator/SecondaryPagerMoreTitleView.kt | 102 ++++ .../indicator/SecondaryPagerTitleView.kt | 82 +++ .../itemdecoration/VerticalItemDecoration.kt | 2 +- .../widget/ui/chips/AssistChipView.kt | 38 ++ .../widget/ui/chips/DropdownChipView.kt | 57 ++ .../widget/ui/chips/FilterChipView.kt | 103 ++++ .../widget/ui/chips/RemovableChipView.kt | 127 +++++ .../drawable/shape_dialog_hold_to_talk.xml | 8 + .../src/main/res/drawable/shape_oval_talk.xml | 6 + .../main/res/layout/activity_actor_chat.xml | 2 +- .../res/layout/activity_flirting_level.xml | 180 ++++++ .../main/res/layout/activity_transaction.xml | 45 ++ .../src/main/res/layout/activity_wallet.xml | 92 ++++ .../src/main/res/layout/chat_inputpanel.xml | 4 +- .../src/main/res/layout/dialog_chat_model.xml | 92 ++++ .../res/layout/dialog_flirting_retrieve.xml | 157 ++++++ .../main/res/layout/dialog_hold_to_talk.xml | 85 +++ .../src/main/res/layout/dialog_recharge.xml | 84 +++ .../src/main/res/layout/fragment_recharge.xml | 98 ++++ .../src/main/res/layout/item_chat_model.xml | 104 ++++ .../main/res/layout/item_flirting_level.xml | 73 +++ .../app/src/main/res/layout/item_income.xml | 56 ++ .../main/res/layout/item_income_header.xml | 125 +++++ .../app/src/main/res/layout/item_recharge.xml | 45 ++ .../layout_simple_recyclerview_refresh.xml | 13 + .../main/res/mipmap-xxhdpi/book_archive.webp | Bin 0 -> 2412 bytes .../res/mipmap-xxxhdpi/crush_level_bg.png | Bin 0 -> 1311071 bytes .../mipmap-xxxhdpi/crush_level_bg_bottom.png | Bin 0 -> 599353 bytes .../res/mipmap-xxxhdpi/crush_level_bg_top.png | Bin 0 -> 756854 bytes .../res/mipmap-xxxhdpi/ic_transaction.png | Bin 0 -> 11218 bytes VisualNovel/app/src/main/res/raw/voice.json | 1 + .../app/src/main/res/raw/voice_recording.json | 1 + VisualNovel/app/src/main/res/raw/wave.json | 1 + VisualNovel/gradle.properties | 9 +- 161 files changed, 9176 insertions(+), 121 deletions(-) create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/AIService.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ChatService.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/OssService.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/PayService.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/app/viewmodel/base/OssViewModel.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMAIInMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMBaseInfoMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMCallMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMGiftMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMInImageMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMLevelMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMMessageWrapper.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMOutImageMessage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/RecentContactWrapper.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/voice/IMVoice.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerate.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerateImage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIHeadImgRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIDRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIsShowDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIListRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AlbumDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/CardRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeOrderDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProduct.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProductDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatAlbum.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatSetting.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ClassificationRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/Gift.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatBuy.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatRelation.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ImgCheckDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/PageQuery.java create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/QueryAlbumDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/RTCRequest.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/S3TypeDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SearchPage.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SendGift.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleContentDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleCountDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleDataDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleTypeDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SubPriceDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ValidateTransactionDTO.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/VoiceTTS.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AccountBuffBill.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AdvertiseOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AlbumCreateCountOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/BucketBean.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChargeOrder.java create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatBubble.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatModel.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatSet.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ContentRes.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ExploreInfo.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Friends.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevel.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevelOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MeetSdOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageListOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageStatOutput.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/NimBean.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Pageable.java create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/SubPrice.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Token.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/UserSubInfo.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VipItemPrivilege.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VoiceASR.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Wallet.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/event/model/OnAILiked.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/UserAIEvents.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/WalletEvents.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/manager/gift/GiftManager.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/FetchResult.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/LoadStatus.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/NimManager.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/manager/pay/GooglePayManager.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/AIRepository.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ChatRepository.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/OssRepository.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/PayRepository.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/repository/ext/MessageExt.kt delete mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatActivity.kt rename VisualNovel/app/src/main/java/com/remax/visualnovel/ui/{Chat => chat}/ChatEditView.kt (93%) create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatViewModel.kt rename VisualNovel/app/src/main/java/com/remax/visualnovel/ui/{Chat => chat}/InputPanel.kt (78%) rename VisualNovel/app/src/main/java/com/remax/visualnovel/ui/{Chat => chat}/PopMenuIconView.kt (99%) create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/BinaryMessageHandler.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCExt.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCManager.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelActivity.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelViewModel.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingRetrieveDialog.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/ChatSettingEvents.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetAutoPlayEvent.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBackgroundEvent.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBubbleEvent.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/setting/model/ChatModelDialog.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ui/HoldToTalkDialog.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletActivity.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletViewModel.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/dialog/RechargeDialog.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/income/IncomeFragment.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/manager/WalletManager.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/recharge/RechargeFragment.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionAdapter.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionDetailActivity.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/utils/RecordHelper.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsEvent.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsUtils.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/RoundFrameLayout.java create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorAdapter.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorDictAdapter.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerLockedTitleView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerMoreTitleView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerTitleView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/AssistChipView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/DropdownChipView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/FilterChipView.kt create mode 100644 VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/RemovableChipView.kt create mode 100644 VisualNovel/app/src/main/res/drawable/shape_dialog_hold_to_talk.xml create mode 100644 VisualNovel/app/src/main/res/drawable/shape_oval_talk.xml create mode 100644 VisualNovel/app/src/main/res/layout/activity_flirting_level.xml create mode 100644 VisualNovel/app/src/main/res/layout/activity_transaction.xml create mode 100644 VisualNovel/app/src/main/res/layout/activity_wallet.xml create mode 100644 VisualNovel/app/src/main/res/layout/dialog_chat_model.xml create mode 100644 VisualNovel/app/src/main/res/layout/dialog_flirting_retrieve.xml create mode 100644 VisualNovel/app/src/main/res/layout/dialog_hold_to_talk.xml create mode 100644 VisualNovel/app/src/main/res/layout/dialog_recharge.xml create mode 100644 VisualNovel/app/src/main/res/layout/fragment_recharge.xml create mode 100644 VisualNovel/app/src/main/res/layout/item_chat_model.xml create mode 100644 VisualNovel/app/src/main/res/layout/item_flirting_level.xml create mode 100644 VisualNovel/app/src/main/res/layout/item_income.xml create mode 100644 VisualNovel/app/src/main/res/layout/item_income_header.xml create mode 100644 VisualNovel/app/src/main/res/layout/item_recharge.xml create mode 100644 VisualNovel/app/src/main/res/layout/layout_simple_recyclerview_refresh.xml create mode 100644 VisualNovel/app/src/main/res/mipmap-xxhdpi/book_archive.webp create mode 100644 VisualNovel/app/src/main/res/mipmap-xxxhdpi/crush_level_bg.png create mode 100644 VisualNovel/app/src/main/res/mipmap-xxxhdpi/crush_level_bg_bottom.png create mode 100644 VisualNovel/app/src/main/res/mipmap-xxxhdpi/crush_level_bg_top.png create mode 100644 VisualNovel/app/src/main/res/mipmap-xxxhdpi/ic_transaction.png create mode 100644 VisualNovel/app/src/main/res/raw/voice.json create mode 100644 VisualNovel/app/src/main/res/raw/voice_recording.json create mode 100644 VisualNovel/app/src/main/res/raw/wave.json diff --git a/VisualNovel/app/build.gradle.kts b/VisualNovel/app/build.gradle.kts index 9a66c87..d574124 100644 --- a/VisualNovel/app/build.gradle.kts +++ b/VisualNovel/app/build.gradle.kts @@ -124,6 +124,13 @@ android { buildConfigString("ABOUT_US", "https://www.xxxxx.ai/about") buildConfigString("API_FROG", "https://www.test-frog.xxxxx.ai") buildConfigString("EPAL_TERMS_SERVICES", "https://www.xxxxx.ai/policy/tos") + buildConfigString("API_SHARK", "https://test-shark.xxxxx.ai") + buildConfigString("API_COW", "https://test-cow.xxxxx.ai") + buildConfigString("API_PIGEON", "https://test-pigeon.xxxx.ai") + buildConfigString("API_LION", "https://test-lion.xxxx.ai") + buildConfigString("RECHAEGE_SERVICES", "https://test.xxxxx.ai/policy/recharge") + + buildConfigString("RTC_APP_ID", "689ade491323ae01797818e0-XXX-TODO") } @@ -135,6 +142,13 @@ android { buildConfigString("ABOUT_US", "https://test.xxxxx.ai/about") buildConfigString("API_FROG", "https://test-frog.xxxxx.ai") buildConfigString("EPAL_TERMS_SERVICES", "https://test.xxxxx.ai/policy/tos") + buildConfigString("API_SHARK", "https://test-shark.xxxxx.ai") + buildConfigString("API_COW", "https://test-cow.xxxxx.ai") + buildConfigString("API_PIGEON", "https://test-pigeon.xxxx.ai") + buildConfigString("API_LION", "https://test-lion.xxxx.ai") + buildConfigString("RECHAEGE_SERVICES", "https://test.xxxxx.ai/policy/recharge") + + buildConfigString("RTC_APP_ID", "689ade491323ae01797818e0-XXX-TODO") } } } @@ -274,6 +288,19 @@ dependencies { implementation(Deps.exoplayer) implementation(Deps.subsamplingScaleImageView) + //s3图片上传 oss + implementation(Deps.awsS3) + implementation(Deps.awsCore) + + // 网易 云信 + implementation(Deps.nimBase) + implementation(Deps.nimPush) + + //内购 / 充值 + implementation(Deps.billing) + + // RTC : 实时通信 + implementation(Deps.BytePlusRTC) implementation(project(mapOf("path" to ":loadingstateview"))) diff --git a/VisualNovel/app/src/main/AndroidManifest.xml b/VisualNovel/app/src/main/AndroidManifest.xml index 3a564f6..f247fad 100644 --- a/VisualNovel/app/src/main/AndroidManifest.xml +++ b/VisualNovel/app/src/main/AndroidManifest.xml @@ -73,7 +73,7 @@ diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/AIService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/AIService.kt new file mode 100644 index 0000000..f135566 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/AIService.kt @@ -0,0 +1,222 @@ +package com.remax.visualnovel.api.service + +import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.entity.request.AIGenerate +import com.remax.visualnovel.entity.request.AIGenerateImage +import com.remax.visualnovel.entity.request.AIHeadImgRequest +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.request.AlbumCreate +import com.remax.visualnovel.entity.request.AlbumDTO +import com.remax.visualnovel.entity.request.CardRequest +import com.remax.visualnovel.entity.request.ChatAlbum +import com.remax.visualnovel.entity.request.ClassificationRequest +import com.remax.visualnovel.entity.request.Gift +import com.remax.visualnovel.entity.request.QueryAlbumDTO +import com.remax.visualnovel.entity.request.SimpleCountDTO +import com.remax.visualnovel.entity.response.Album +import com.remax.visualnovel.entity.response.AlbumCreateCountOutput +import com.remax.visualnovel.entity.response.AppearanceImage +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.ContentRes +import com.remax.visualnovel.entity.response.ExploreInfo +import com.remax.visualnovel.entity.response.MeetSdOutput +import com.remax.visualnovel.entity.response.Pageable +import com.remax.visualnovel.entity.response.base.Response +import retrofit2.http.Body +import retrofit2.http.POST + +interface AIService { + + /** + * 卡片上报绑定 + */ + @POST("/web/meet/bd") + suspend fun cardBind(@Body request: AIIDRequest): Response + + /** + * 卡片被喜欢推荐 + */ + @POST("/web/meet/rc") + suspend fun cardLiked(): Response + + /** + * 卡片上报 + */ + @POST("/web/meet/sd") + suspend fun reportCard(@Body request: CardRequest): Response + + /** + * 获取首页卡片列表 + */ + @POST("/web/home/rm-list") + suspend fun getHomeCard(@Body request: ClassificationRequest): Response> + + + /** + * 获取单个首页卡片 + */ + @POST(" /web/home/meet-detail") + suspend fun getHomeCardDetail(@Body request: AIIDRequest): Response + + /** + * 获取分类列表 + */ + @POST("/web/home/classification-list") + suspend fun getClassificationList(@Body request: ClassificationRequest): Response> + + /** + * 获取榜单 + */ + @POST("/web/rank/heartbeat") + suspend fun getHeartbeatRank(): Response> + + /** + * 获取榜单 + */ + @POST("/web/rank/gift") + suspend fun getGiftRank(): Response> + + /** + * 获取榜单 + */ + @POST("/web/rank/chat") + suspend fun getChatRank(): Response> + + /** + * 获取发现页顶部数据 + */ + @POST("/web/explore/info") + suspend fun getExploreInfo(): Response + + /** + * 解锁加密图片 + */ + @POST("/web/ai-user/unlock-album-img") + suspend fun unlockAlbum(@Body dto: ChatAlbum): Response + + /** + * 解锁秘密爱慕者 + */ + @POST("/web/meet/unlock") + suspend fun unlockSecret(@Body dto: AIIDRequest): Response + + /** + * 设置当前图片价格 + */ + @POST("/web/ai-user/set-album-unlock-price") + suspend fun setAlbumUnlockPrice(@Body dto: AlbumDTO): Response + + /** + * 删除AI角色 + */ + @POST("/web/ai-user/del") + suspend fun deleteAICharacter(@Body request: Character): Response + + /** + * 设置当前默认图片 + */ + @POST("/web/ai-user/set-default-album") + suspend fun setAlbumDefault(@Body dto: AlbumDTO): Response + + @POST("/web/ai-user/create-edit") + suspend fun createOrEditAICharacter(@Body request: Character): Response + + @POST("/web/ai-user/edit-head-img") + suspend fun editAIAvatar(@Body request: AIHeadImgRequest): Response + + + @POST(BuildConfig.API_COW + "/web/gen/user-content-v1") + suspend fun generateAICharacter(@Body request: AIGenerate): Response + + /** + * 编辑时获取我的ai角色信息 + */ + @POST("/web/ai-user/get-my-ai-user/info") + suspend fun getAICharacter(@Body request: Character): Response + + /** + * 访问AI个人主页时获取信息 + */ + @POST("/web/ai-user-search/base-info") + suspend fun getAICharacterProfile(@Body request: Character): Response + + /** + * 访问AI的统计信息 + */ + @POST("/web/ai-user/stat") + suspend fun getAICharacterStat(@Body request: Character): Response + + /** + * 修改点赞状态 + */ + @POST("/web/ai-user/like-or-cancel") + suspend fun setAILikeOrCancel(@Body request: AlbumDTO): Response + + /** + * 喜欢或取消喜欢相片 + */ + @POST("/web/album/like_or_cancel") + suspend fun setLikeOrDislike(@Body dto: AlbumDTO): Response + + /** + * 删除相片 + */ + @POST("/web/ai-user/album-del") + suspend fun deleteAlbum(@Body dto: AlbumDTO): Response + + /** + * 批量添加图片到相册 + */ + @POST("/web/ai-user/batch-add-album") + suspend fun addAlbum(@Body dto: AlbumCreate): Response + + /** + * 获取创作次数 + */ + @POST("/web/user/get-user-create-count") + suspend fun getAlbumCreateCount(): Response + + /** + * 购买创作次数 + */ + @POST("/web/ai/buy-create-image-count") + suspend fun buyAlbumCreateCount(@Body dto: SimpleCountDTO): Response + + /** + * 批量添加图片到聊天背景 + */ + @POST("/web/chat-background/batch-add") + suspend fun addChatBackground(@Body dto: AlbumCreate): Response + + /** + * 获取相册 分页 + */ + @POST("/web/ai-user/album-list") + suspend fun getAlbumList(@Body dto: QueryAlbumDTO): Response> + + /** + * 获取用户礼物 分页 + */ + @POST("/web/ai-user-gift/list") + suspend fun getUserGiftList(@Body dto: QueryAlbumDTO): Response> + + + /** + * AI一键生成-创建生成人物形象图片任务 + */ + @POST(BuildConfig.API_COW + "/web/gen/image-ct") + suspend fun generateImageBatch(@Body request: AIGenerateImage): Response + + /** + * AI一键生成-删除图片生成任务 + */ + @POST(BuildConfig.API_COW + "/web/gen/del") + suspend fun generateImageBatchDel(@Body request: AIGenerateImage): Response + + /** + * AI一键生成-轮询查询图片生成结果 + */ + @POST(BuildConfig.API_COW + "/web/gen/image-pl") + suspend fun generateImageBatchQuery(@Body request: AIGenerateImage): Response> + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ChatService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ChatService.kt new file mode 100644 index 0000000..3743d08 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/ChatService.kt @@ -0,0 +1,159 @@ +package com.remax.visualnovel.api.service + +import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.entity.request.AIFeedback +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.request.AIIsShowDTO +import com.remax.visualnovel.entity.request.ChatAlbum +import com.remax.visualnovel.entity.request.ChatSetting +import com.remax.visualnovel.entity.request.HeartbeatBuy +import com.remax.visualnovel.entity.request.RTCRequest +import com.remax.visualnovel.entity.request.SearchPage +import com.remax.visualnovel.entity.request.SimpleDataDTO +import com.remax.visualnovel.entity.request.VoiceTTS +import com.remax.visualnovel.entity.response.Album +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.ChatBackground +import com.remax.visualnovel.entity.response.ChatSet +import com.remax.visualnovel.entity.response.Friends +import com.remax.visualnovel.entity.response.HeartbeatLevelOutput +import com.remax.visualnovel.entity.response.Pageable +import com.remax.visualnovel.entity.response.Token +import com.remax.visualnovel.entity.response.VoiceASR +import com.remax.visualnovel.entity.response.base.Response +import retrofit2.http.Body +import retrofit2.http.POST + +interface ChatService { + + /** + * 发送开场白消息 + */ + @POST("/web/chat/send-dialogue-prologue-message") + suspend fun sendDialogueMsg(@Body request: AIIDRequest): Response + + /** + * 获取IM中AI的基础信息 + */ + @POST("/web/ai-user-search/im-base-info") + suspend fun getIMAICharacterProfile(@Body request: Character): Response + + /** + * 访问解锁加密图片 + */ + @POST("/web/ai-user/view-unlock-album-img") + suspend fun viewAlbumImg(@Body request: ChatAlbum): Response + + /** + * 关系列表 + */ + @POST("/web/ai-user/heartbeat-relation-list") + suspend fun getMyFriends(@Body request: SearchPage): Response> + + + @POST("/web/ai-user/heartbeat-rank") + suspend fun getMyFriendRank(): Response + + /** + * 生成提示词 + */ + @POST(BuildConfig.API_COW + "/web/gen/sup-content-v2") + suspend fun getPrompts(@Body request: AIIDRequest): Response> + + /** + * AI回话点赞/点踩 + */ + @POST(BuildConfig.API_PIGEON + "/web/fb/v1") + suspend fun aiFeedback(@Body request: AIFeedback): Response + + /** + * 获取RTC + */ + @POST(BuildConfig.API_COW + "/web/voice-chat/gen-rtc-tk") + suspend fun getRTCToken(@Body request: RTCRequest): Response + + /** + * 操作通话 + */ + @POST(BuildConfig.API_COW + "/web/voice-chat/opt") + suspend fun voiceChatOpt(@Body request: RTCRequest): Response + + /** + * 获取聊天背景列表 + */ + @POST("/web/chat-background/list") + suspend fun getChatBackgroundList(@Body request: AIIDRequest): Response> + + /** + * 获取聊天设置 + */ + @POST("/web/chat-set/get-my") + suspend fun getChatSetting(@Body request: ChatSetting): Response + + /** + * 修改聊天设置 + */ + @POST("/web/chat-set/set") + suspend fun setChatSetting(@Body request: ChatSet): Response + + /** + * 修改聊天气泡 + */ + @POST("/web/chat-set/set-chat-bubble") + suspend fun setChatBubble(@Body request: ChatSetting): Response + + /** + * 修改聊天模型 + */ + @POST("/web/chat-set/set-chat-model") + suspend fun setChatModel(@Body request: ChatSetting): Response + + /** + * 修改是否自动播放语音 + */ + @POST("/web/chat-set/auto-play-voice") + suspend fun setChatAutoPlay(@Body request: ChatSetting): Response + + /** + * 修改聊天背景图 + */ + @POST("/web/chat-background/set-background") + suspend fun setChatBackground(@Body request: ChatSetting): Response + + /** + * 删除聊天背景图 + */ + @POST("/web/chat-background/del") + suspend fun deleteChatBackground(@Body request: ChatSetting): Response + + /** + * 展示心动关系开关 + */ + @POST("/web/ai-user/heartbeat-relation-switch") + suspend fun relationSwitch(@Body request: AIIsShowDTO): Response + + /** + * 语音转文本 + */ + @POST(BuildConfig.API_COW + "/web/voice/asr-v2") + suspend fun voiceASR(@Body request: SimpleDataDTO): Response + + /** + * 生成语音 + */ + @POST(BuildConfig.API_COW + "/web/voice/tts-v2") + suspend fun voiceTTS(@Body request: VoiceTTS): Response + + /** + * 获取心动等级 + */ + @POST("/web/ai-user/heartbeat-level") + suspend fun getHeartbeatLevel(@Body request: Character): Response + + /** + * 购买心动值 + */ + @POST("/web/ai-user/buy-heartbeat-val") + suspend fun buyHeartbeatVal(@Body request: HeartbeatBuy): Response + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/DictService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/DictService.kt index 343dd38..40f60e7 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/DictService.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/DictService.kt @@ -1,6 +1,13 @@ package com.remax.visualnovel.api.service +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.request.Gift +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.response.AIDict +import com.remax.visualnovel.entity.response.ChatBubble +import com.remax.visualnovel.entity.response.ChatModel +import com.remax.visualnovel.entity.response.Pageable import com.remax.visualnovel.entity.response.base.Response import retrofit2.http.Body import retrofit2.http.POST @@ -10,24 +17,24 @@ interface DictService { /** * 获取聊天气泡字典 */ - /*@POST("/web/chat-set/get-chat-bubble-list") - suspend fun getChatBubbleList(@Body request: AIIDRequest): Response>*/ + @POST("/web/chat-set/get-chat-bubble-list") + suspend fun getChatBubbleList(@Body request: AIIDRequest): Response> /** * AI标签 */ - /*@POST("/web/get-ai-dict") - suspend fun getAIDict(): Response*/ + @POST("/web/get-ai-dict") + suspend fun getAIDict(): Response /** * 礼物字典 */ - /*@POST("/web/gift/dict-list") - suspend fun getGiftDict(@Body pageQuery: PageQuery = PageQuery(1).apply { page.ps = 100 }): Response>*/ + @POST("/web/gift/dict-list") + suspend fun getGiftDict(@Body pageQuery: PageQuery = PageQuery(1).apply { page.ps = 100 }): Response> /** * chat模型 */ - /*@POST("/web/chat-model/dict-list") - suspend fun getAIChatModel(): Response>*/ + @POST("/web/chat-model/dict-list") + suspend fun getAIChatModel(): Response> } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/MessageService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/MessageService.kt index fcba604..fd60258 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/MessageService.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/MessageService.kt @@ -1,34 +1,40 @@ package com.remax.visualnovel.api.service import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.entity.request.AIListRequest +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.request.SendGift +import com.remax.visualnovel.entity.response.MessageListOutput +import com.remax.visualnovel.entity.response.MessageStatOutput +import com.remax.visualnovel.entity.response.Pageable import com.remax.visualnovel.entity.response.base.Response import retrofit2.http.Body import retrofit2.http.POST interface MessageService { -// /** -// * 删除会话 -// */ -// @POST(BuildConfig.API_COW + "/web/ai-message/del") -// suspend fun deleteConversation(@Body request: AIListRequest): Response -// -// /** -// * 送礼物 -// */ -// @POST("/web/ai-user-gift/send") -// suspend fun sendGift(@Body dto: SendGift): Response -// -// /** -// * 未读消息统计 -// */ -// @POST(BuildConfig.API_PIGEON + "/web/message/stat") -// suspend fun getMessageStat(): Response -// -// /** -// * 系统通知列表 -// */ -// @POST(BuildConfig.API_PIGEON + "/web/message/list") -// suspend fun getMessageList(@Body dto: PageQuery): Response> + /** + * 删除会话 + */ + @POST(BuildConfig.API_COW + "/web/ai-message/del") + suspend fun deleteConversation(@Body request: AIListRequest): Response + + /** + * 送礼物 + */ + @POST("/web/ai-user-gift/send") + suspend fun sendGift(@Body dto: SendGift): Response + + /** + * 未读消息统计 + */ + @POST(BuildConfig.API_PIGEON + "/web/message/stat") + suspend fun getMessageStat(): Response + + /** + * 系统通知列表 + */ + @POST(BuildConfig.API_PIGEON + "/web/message/list") + suspend fun getMessageList(@Body dto: PageQuery): Response> } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/OssService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/OssService.kt new file mode 100644 index 0000000..b4a0a98 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/OssService.kt @@ -0,0 +1,39 @@ +package com.remax.visualnovel.api.service + +import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.entity.request.ImgCheckDTO +import com.remax.visualnovel.entity.request.S3TypeDTO +import com.remax.visualnovel.entity.request.SimpleContentDTO +import com.remax.visualnovel.entity.response.BucketBean +import com.remax.visualnovel.entity.response.base.Response +import retrofit2.http.Body +import retrofit2.http.POST + +/** + * OSS文件上传 + * + */ +interface OssService { + /** + * 获取aws s3 bucket信息 + */ + @POST(BuildConfig.API_SHARK + "/web/file/sts-tk") + suspend fun getS3Bucket(@Body dto: S3TypeDTO): Response + + /** + * 图片鉴黄 + */ + @POST(BuildConfig.API_SHARK + "/web/file/check") + suspend fun checkS3Img( + @Body imgCheckDTO: ImgCheckDTO + ): Response + + /** + * 关键字校验 + */ + @POST("/web/check_text") + suspend fun checkText( + @Body simpleContentDTO: SimpleContentDTO + ): Response + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/PayService.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/PayService.kt new file mode 100644 index 0000000..5e95e48 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/api/service/PayService.kt @@ -0,0 +1,87 @@ +package com.remax.visualnovel.api.service + +import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.entity.request.ChargeOrderDTO +import com.remax.visualnovel.entity.request.ChargeProductDTO +import com.remax.visualnovel.entity.request.ChargeProductInfo +import com.remax.visualnovel.entity.request.SearchPage +import com.remax.visualnovel.entity.request.SubPriceDTO +import com.remax.visualnovel.entity.request.ValidateTransactionDTO +import com.remax.visualnovel.entity.response.ChargeOrder +import com.remax.visualnovel.entity.response.Membership +import com.remax.visualnovel.entity.response.SubPrice +import com.remax.visualnovel.entity.response.Transaction +import com.remax.visualnovel.entity.response.UserSubInfo +import com.remax.visualnovel.entity.response.Wallet +import com.remax.visualnovel.entity.response.base.Response +import retrofit2.http.Body +import retrofit2.http.POST + +interface PayService { + /** + * 获取我的流水 + */ + @POST(BuildConfig.API_LION + "/web/pay/account/bill-list") + suspend fun getTransactionList(@Body request: SearchPage): Response + + /** + * 获取我的钱包 + */ + @POST(BuildConfig.API_LION + "/web/pay/account/wallet") + suspend fun getMyWallet(): Response + + /** + * 获取充值产品 + */ + @POST(BuildConfig.API_LION + "/web/pay/config/charge-product-list") + suspend fun getChargeProducts( + @Body dto: ChargeProductDTO = ChargeProductDTO() + ): Response + + + /** + * 获取vip订阅价格列表 + */ + @POST(BuildConfig.API_LION + "/web/pay/config/sub-product-list") + suspend fun getSubPriceList( + @Body subPriceDTO: SubPriceDTO = SubPriceDTO() + ): Response> + + /** + * 会员特权列表 + */ + @POST(BuildConfig.API_LION + "/web/member/detail") + suspend fun getVipPrivilegeList(): Response + + /** + * 创建一个订单 + */ + @POST(BuildConfig.API_LION +"/web/pay/trade/pre-charge-google") + suspend fun createOrder( + @Body dto: ChargeOrderDTO + ): Response + + /** + * 验证支付是否成功 + */ + @POST(BuildConfig.API_LION +"/web/pay/webhooks/google/v2") + suspend fun validateTranslation( + @Body dto: ValidateTransactionDTO + ): Response + + /** + * 验证订阅是否成功 + */ + @POST(BuildConfig.API_LION +"/web/pay/subscribe/upload-google-receipt") + suspend fun uploadGoogleReceipt( + @Body dto: ValidateTransactionDTO + ): Response + + /** + * 订阅/升级VIP前查询订阅信息 + */ + @POST(BuildConfig.API_LION +"/web/pay/appStore/getUserSubscription") + suspend fun checkSubInfo(): Response + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/app/di/ApiServiceModule.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/app/di/ApiServiceModule.kt index 0420e5d..b9c116d 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/app/di/ApiServiceModule.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/app/di/ApiServiceModule.kt @@ -2,10 +2,14 @@ package com.remax.visualnovel.app.di import com.remax.visualnovel.api.factory.ServiceFactory +import com.remax.visualnovel.api.service.AIService import com.remax.visualnovel.api.service.BookService +import com.remax.visualnovel.api.service.ChatService import com.remax.visualnovel.api.service.DictService import com.remax.visualnovel.api.service.LoginService import com.remax.visualnovel.api.service.MessageService +import com.remax.visualnovel.api.service.OssService +import com.remax.visualnovel.api.service.PayService import com.remax.visualnovel.api.service.UserService import dagger.Module import dagger.Provides @@ -40,6 +44,22 @@ object ApiServiceModule { @Provides fun bookService() = create() + @Singleton + @Provides + fun aiService() = create() + + @Singleton + @Provides + fun ossService() = create() + + @Singleton + @Provides + fun payService() = create() + + @Singleton + @Provides + fun chatService() = create() + private inline fun create(): T { return ServiceFactory.createService() diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/app/viewmodel/base/OssViewModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/app/viewmodel/base/OssViewModel.kt new file mode 100644 index 0000000..e81ec90 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/app/viewmodel/base/OssViewModel.kt @@ -0,0 +1,271 @@ +package com.remax.visualnovel.app.viewmodel.base + +import android.graphics.BitmapFactory +import com.amazonaws.auth.BasicSessionCredentials +import com.amazonaws.mobileconnectors.s3.transferutility.TransferListener +import com.amazonaws.mobileconnectors.s3.transferutility.TransferState +import com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility +import com.amazonaws.services.s3.AmazonS3Client +import com.amazonaws.services.s3.S3ClientOptions +import com.amazonaws.services.s3.model.ObjectMetadata +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.app.CommonApplicationProxy +import com.remax.visualnovel.constant.StatusCode +import com.remax.visualnovel.entity.request.ImgCheckDTO +import com.remax.visualnovel.entity.response.BucketBean +import com.remax.visualnovel.entity.response.base.ApiFailedResponse +import com.remax.visualnovel.entity.response.base.ApiSuccessResponse +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.extension.resumeWithActive +import com.remax.visualnovel.repository.api.OssRepository +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.suspendCancellableCoroutine +import timber.log.Timber +import java.io.File +import javax.inject.Inject + +/** + * Created by HJW on 2022/11/9 + * + * oss上传相关 + */ +@HiltViewModel +open class OssViewModel @Inject constructor() : UserViewModel() { + + @Inject + lateinit var ossRepository: OssRepository + + data class LoadFileData( + var isSuccess: Boolean, + val isViolation: Boolean = false, + val errorMsg: String = "", + var urlPath: String = "", + var filePath: String = "", + var width: Int = 0, + var height: Int = 0 + ) + + data class FileUpLoadRes( + val loadFileData: LoadFileData, + val fileOption: FileOption? = null, + ) + + data class FileOption( + val path: String, + val urlPath: String, + val ossType: String, + val width: Int, + val height: Int + ) + + /** + * 请求oss的token + */ + suspend fun getBucketToken(postfix: String, ossType: String): Response { + return ossRepository.getS3Bucket(ossType, postfix) + } + + /** + * 挂起函数上传图片 + * @param filePath String + * @param ossType String + * @param isImg Boolean + * @param checkNSFW Boolean 是否鉴黄 + * @param checkRealPerson Boolean 是否鉴定真人 + * @param checkKid Boolean 是否鉴定儿童 + * @return Response 封装成服务器返回一致类型处理 + */ + suspend fun ossUploadFile( + filePath: String, + ossType: String, + isImg: Boolean = true, + checkNSFW: Boolean = true, + checkRealPerson: Boolean = false, + checkKid: Boolean = false, + token: BucketBean? = null + ): Response { + /** + * 获取S3 STS Token对象 + */ + var s3BucketRes = token + if (s3BucketRes == null) { + val postfix = if (filePath.isNotEmpty()) filePath.substring(filePath.lastIndexOf(".") + 1) else "png" + val getTokenRes = getBucketToken(postfix, ossType) + //请求s3 token失败 + if (!getTokenRes.isApiSuccess) { + return ApiFailedResponse( + errorMsg = getTokenRes.errorMsg, + errorData = createNormalErrorFileData(filePath).loadFileData + ) + } else { + s3BucketRes = getTokenRes.data!! + } + } + val uploadRes = uploadFile(s3BucketRes, isImg, filePath, ossType) + //上传图片失败 + if (!uploadRes.loadFileData.isSuccess) { + return ApiFailedResponse(errorMsg = uploadRes.loadFileData.errorMsg, errorData = uploadRes.loadFileData) + } + //如果不是图片 或者 不需要鉴黄、鉴定真人、鉴定儿童,直接返回成功结果 + if (!isImg || (!checkNSFW && !checkRealPerson && !checkKid)) { + return ApiSuccessResponse(uploadRes.loadFileData) + } + val fileOption = uploadRes.fileOption!! + val checkDTO = ImgCheckDTO(fileOption.ossType, fileOption.path) + //鉴黄 + val checkNSFWRes = if (checkNSFW) ossRepository.checkS3Img(checkDTO) else ApiSuccessResponse() + return when { + checkNSFWRes.isApiSuccess -> { + ApiSuccessResponse(uploadRes.loadFileData) + } + + else -> { + ApiFailedResponse(StatusCode.UPLOAD_FILE_VIOLATION.code, checkNSFWRes.errorMsg, uploadRes.loadFileData) + } + } + } + + /** + * 包装上传失败的实体 + * @param filePath String 本地图片地址 + * @return FileUpLoadRes + */ + private fun createNormalErrorFileData(filePath: String) = FileUpLoadRes( + LoadFileData( + isSuccess = false, + errorMsg = CommonApplicationProxy.application.getString(R.string.upload_error), + filePath = filePath + ) + ) + + /** + * 协程处理亚马逊上传图片 + * + * 使用带取消回调的协程,当上传回调时,需要判断协程isActive以防报错崩溃 + * @param stsToken BucketBean 授权信息 + * @param isImg Boolean 是否是图片 + * @param filePath String 本地地址 + * @param ossType String 上传类型 + * @return FileUpLoadRes 返回结果封装 + */ + private suspend fun uploadFile( + stsToken: BucketBean, + isImg: Boolean, + filePath: String, + ossType: String, + ) = suspendCancellableCoroutine { + it.invokeOnCancellation { _ -> + it.resumeWithActive(createNormalErrorFileData(filePath)) + } + + val awsCreds = BasicSessionCredentials( + stsToken.accessKeyId, + stsToken.accessKeySecret, + stsToken.securityToken + ) + val uploadClient = AmazonS3Client( + awsCreds, + com.amazonaws.regions.Region.getRegion(stsToken.region) + ).apply { + setS3ClientOptions( + S3ClientOptions.builder() + .setAccelerateModeEnabled(false) + .build() + ) + } + val transferUtility = TransferUtility.builder() + .s3Client(uploadClient) + .context(CommonApplicationProxy.application) + .build() + + val fileName = filePath.substring(filePath.lastIndexOf("/") + 1) + val path = if (stsToken.path.endsWith("*")) { + stsToken.path.replace("*", fileName) + } else { + stsToken.path + } + val urlPath = if (stsToken.urlPath.endsWith("*")) { + stsToken.urlPath.replace("*", fileName) + } else { + stsToken.urlPath + } + Timber.d("oss上传 - AmazonS3 Token path:$path urlPath:$urlPath") + + val obj = ObjectMetadata() + obj.addUserMetadata("x-amz-tagging", "temp=1") + + val transferListener = object : + TransferListener { + override fun onStateChanged(id: Int, state: TransferState?) { + Timber.d("oss上传 - AmazonS3 onStateChanged:$state") + Timber.d("oss上传 - 协程状态 isActive: ${it.isActive} isCancelled: ${it.isCancelled} isCompleted: ${it.isCompleted}") + when (state) { + TransferState.COMPLETED -> { + //此方法是上传图片完成后再打标签 +// uploadClient.setObjectTagging(SetObjectTaggingRequest(stsToken.bucket, stsToken.path, ObjectTagging(listOf(Tag("temp", "1"))))) + if (it.isActive) { + if (isImg) { + val options = BitmapFactory.Options() + options.inJustDecodeBounds = true + BitmapFactory.decodeFile(filePath, options) + val wid = options.outWidth + val hei = options.outHeight + val res = FileUpLoadRes( + LoadFileData( + isSuccess = true, + urlPath = urlPath, + width = wid, + height = hei, + filePath = filePath + ), + FileOption(path, urlPath, ossType, wid, hei) + ) + it.resumeWithActive(res) + } else { + val res = FileUpLoadRes( + LoadFileData( + isSuccess = true, + urlPath = urlPath, + filePath = filePath + ) + ) + it.resumeWithActive(res) + } + } + } + + TransferState.FAILED, TransferState.CANCELED -> { + it.resumeWithActive(createNormalErrorFileData(filePath)) + } + + else -> { + + } + } + } + + override fun onProgressChanged(id: Int, bytesCurrent: Long, bytesTotal: Long) { + Timber.d("oss上传 - AmazonS3 onProgressChanged - bytesTotal:${bytesTotal} - bytesCurrent:${bytesCurrent}") + } + + override fun onError(id: Int, ex: Exception?) { + Timber.d("oss上传 - AmazonS3 onError:${ex?.localizedMessage} - id:$id") + } + } + + when { + filePath.isNotEmpty() -> { + val file = File(filePath) + if (!file.exists()) { + it.cancel() + } + Timber.d("oss上传 - 上传文件大小 ${file.length() / 1024}") + transferUtility.upload(stsToken.bucket, path, file, obj) + .setTransferListener(transferListener) + } + } + } + + suspend fun checkText(content: String): Response = ossRepository.checkText(content) + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMAIInMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMAIInMessage.kt new file mode 100644 index 0000000..7c62f0d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMAIInMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.voice.IMVoice +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMAIInMessage( + override var message: V2NIMMessage?, + val imVoice: IMVoice +) : IMMessageWrapper(type = IN_TEXT_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMBaseInfoMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMBaseInfoMessage.kt new file mode 100644 index 0000000..e512bd0 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMBaseInfoMessage.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.response.Character + +/** + * Created by HJW on 2025/8/19 + */ +data class IMBaseInfoMessage( + val character: Character? +) : IMMessageWrapper(type = BASE_INFO) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMCallMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMCallMessage.kt new file mode 100644 index 0000000..f13ea8b --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMCallMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.raw.CustomCallData +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMCallMessage( + override var message: V2NIMMessage?, + val call: CustomCallData? +) : IMMessageWrapper(type = OUT_CALL_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMGiftMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMGiftMessage.kt new file mode 100644 index 0000000..d57d1bc --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMGiftMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.raw.CustomGiftData +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMGiftMessage( + override var message: V2NIMMessage?, + val gift: CustomGiftData? +) : IMMessageWrapper(type = OUT_GIFT_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMInImageMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMInImageMessage.kt new file mode 100644 index 0000000..22f30fb --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMInImageMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.raw.CustomAlbumData +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMInImageMessage( + override var message: V2NIMMessage?, + val albumData: CustomAlbumData? +) : IMMessageWrapper(type = IN_IMAGE_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMLevelMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMLevelMessage.kt new file mode 100644 index 0000000..1721863 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMLevelMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.raw.CustomLevelChangeData +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMLevelMessage( + override var message: V2NIMMessage?, + val level: CustomLevelChangeData? +) : IMMessageWrapper(type = HEART_BEAT_CHANGED_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMMessageWrapper.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMMessageWrapper.kt new file mode 100644 index 0000000..daf1e60 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMMessageWrapper.kt @@ -0,0 +1,44 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.manager.nim.FetchResult +import com.remax.visualnovel.manager.nim.LoadStatus +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + + +/** + * Created by HJW on 2020/9/28 + */ +open class IMMessageWrapper( + open var message: V2NIMMessage? = null, + var type: Int = OUT_TEXT_TYPE, +) { + /** + * 表示该消息后是否要加一条AI输入中的消息 + */ + var aiIsSending: Boolean = true + + var fetchType: FetchResult.FetchType = FetchResult.FetchType.Init + var loadStatus: LoadStatus = LoadStatus.Success + + companion object { + const val BASE_INFO = 0 + + // ai回复中 + const val INPUT_ING = 1 + + const val OUT_TEXT_TYPE = 2 + const val IN_TEXT_TYPE = 3 + + const val OUT_IMAGE_TYPE = 4 + const val IN_IMAGE_TYPE = 5 + + const val OUT_GIFT_TYPE = 6 + + const val OUT_CALL_TYPE = 7 + + /** + * 心动等级升级/降级 + */ + const val HEART_BEAT_CHANGED_TYPE = 8 + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMOutImageMessage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMOutImageMessage.kt new file mode 100644 index 0000000..dc8e199 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/IMOutImageMessage.kt @@ -0,0 +1,12 @@ +package com.remax.visualnovel.entity.imbean + +import com.remax.visualnovel.entity.imbean.raw.CustomRawData +import com.netease.nimlib.sdk.v2.message.V2NIMMessage + +/** + * Created by HJW on 2025/8/19 + */ +data class IMOutImageMessage( + override var message: V2NIMMessage?, + val customRawData: CustomRawData? +) : IMMessageWrapper(type = OUT_IMAGE_TYPE) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/RecentContactWrapper.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/RecentContactWrapper.kt new file mode 100644 index 0000000..cb34887 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/RecentContactWrapper.kt @@ -0,0 +1,19 @@ +package com.remax.visualnovel.entity.imbean + +import com.netease.nimlib.sdk.v2.conversation.model.V2NIMConversation +import com.netease.nimlib.sdk.v2.utils.V2NIMConversationIdUtil + +/** + * Created by HJW on 2020/10/9 + */ +data class RecentContactWrapper( + var recentContact: V2NIMConversation +) { + val aiId: String + get() { + val targetId = V2NIMConversationIdUtil.conversationTargetId(recentContact.conversationId) + + return targetId.substring(0, targetId.indexOf("@")) + } +} + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/voice/IMVoice.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/voice/IMVoice.kt new file mode 100644 index 0000000..6190590 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/imbean/voice/IMVoice.kt @@ -0,0 +1,27 @@ +package com.remax.visualnovel.entity.imbean.voice + +import com.remax.visualnovel.entity.response.base.BaseVoice + +/** + * Created by HJW on 2025/8/28 + */ +data class IMVoice( + val code: String, + var filePath: String? = null, + var url: String? = null, + var autoPlay: Boolean = false +) : BaseVoice() { + + override fun id(): String { + return code + } + + override fun url(): String { + return url ?: "" + } + + override fun filePathName(): String { + return filePath ?: "" + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerate.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerate.kt new file mode 100644 index 0000000..3af0402 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerate.kt @@ -0,0 +1,58 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/7/29 + */ +data class AIGenerate( + val nickname: String? = null, + val birthday: String? = null, + val sex: Int? = null, + val introduction: String? = null, + val characterCode: String? = null, + val tagCode: String? = null, + val roleCode: String? = null, + val content: String? = null, + val ptType: String? = null, + val figure: String? = null, //ai的人物基础信息(背景、性格、身份)【生成个人简介时使用】 + val dialogue: String? = null, // ai对话风格(角色的聊天方式、对话语气)【生成个人简介时使用】 +) { + companion object { + //AI一键生成人物基础信息 AI自行创作 + const val GEN_PROFILE_BY_NON = "GEN_PROFILE_BY_NON" + + //AI一键生成人物基础信息 AI根据用户输入进行创作 + const val GEN_PROFILE_BY_CONTENT = "GEN_PROFILE_BY_CONTENT" + + //AI一键生成对话风格 AI自行创作 + const val GEN_DIALOG_STYLE_BY_NON = "GEN_DIALOG_STYLE_BY_NON" + + //AI一键生成对话风格 AI根据用户输入进行创作 + const val GEN_DIALOG_STYLE_BY_CONTENT = "GEN_DIALOG_STYLE_BY_CONTENT" + + //AI一键生成开场白 AI自行创作 + const val GEN_PROLOGUE_BY_NON = "GEN_PROLOGUE_BY_NON" + + //AI一键生成开场白 AI根据用户输入进行创作 + const val GEN_PROLOGUE_BY_CONTENT = "GEN_PROLOGUE_BY_CONTENT" + + //AI一键生成人物简介 AI总结 + const val GEN_INTRODUCTION = "GEN_INTRODUCTION" + + //图生文-参考图生成prompt + const val GEN_AI_IMAGE_DESC = "GEN_AI_IMAGE_DESC_BY_NON" + + //编辑AI或相册图片生成时,合并新老形象描述 + const val MERGE_NEW_OLD_IMAGE_DESC = "MERGE_NEW_OLD_IMAGE_DESC" + + //文生图-生成6组不同的prompt + const val TEXT_TO_IMAGE_PROMPT_V2 = "TEXT_TO_IMAGE_PROMPT_V2" + + //图生文-参考图生成prompt + const val IMAGE_REFERENCE = "IMAGE_REFERENCE" + + //文生图-生成6组不同的prompt + const val TXT_TO_IMAGE_PROMPT = "TXT_TO_IMAGE_PROMPT" + + } +} + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerateImage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerateImage.kt new file mode 100644 index 0000000..c0c3fca --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIGenerateImage.kt @@ -0,0 +1,28 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/7/30 + */ +data class AIGenerateImage( + val type: String? = null, + val aiId: String? = null, + val imageStylePrompt: String? = null, + val content: String? = null, + val imageReferenceUrl: String? = null, + val batchNo: String? = null, + var hl: Boolean? = null, +) { + companion object { + //创建ai形象 + const val CREATE_AI_IMAGE = "CREATE_AI_IMAGE" + + //编辑ai形象 + const val EDIT_AI_IMAGE = "EDIT_AI_IMAGE" + + //相册 + const val ALBUM = "ALBUM" + + //背景 + const val BACKGROUND = "BACKGROUND" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIHeadImgRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIHeadImgRequest.kt new file mode 100644 index 0000000..78e33db --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIHeadImgRequest.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/9/16 + */ +data class AIHeadImgRequest ( + val aiId:String, + val userHead:String?, +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIDRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIDRequest.kt new file mode 100644 index 0000000..339c87d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIDRequest.kt @@ -0,0 +1,8 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/24 + */ +open class AIIDRequest( + open val aiId: String +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIsShowDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIsShowDTO.kt new file mode 100644 index 0000000..5eb57af --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIIsShowDTO.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/22 + */ +data class AIIsShowDTO( + val aiId: String, + val isShow: Int //默认关闭 0:关闭 1:打开 +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIListRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIListRequest.kt new file mode 100644 index 0000000..f130006 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AIListRequest.kt @@ -0,0 +1,8 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/24 + */ +data class AIListRequest( + val aiIdList: List +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AlbumDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AlbumDTO.kt new file mode 100644 index 0000000..e893b07 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/AlbumDTO.kt @@ -0,0 +1,21 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2020/11/19 + */ +data class AlbumDTO( + val albumId: Long? = null, + val likedStatus: String? = null, + val liked: Boolean? = null, + val userId: String? = null, + var height: Int? = null, + var url: String? = null, + var width: Int? = null, + var unlockPrice: Long? = null, + val aiId: String? = null, +) + +data class AlbumCreate( + val aiId: String?, + val images: List +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/CardRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/CardRequest.kt new file mode 100644 index 0000000..29707f1 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/CardRequest.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/9/10 + */ +data class CardRequest( + val aiId: String?, + val lk: Boolean +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeOrderDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeOrderDTO.kt new file mode 100644 index 0000000..fa2e843 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeOrderDTO.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2022/7/19 + */ +data class ChargeOrderDTO( + val chargeAmount: Long, + val productId: String, + val version: Int = 1, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProduct.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProduct.kt new file mode 100644 index 0000000..04a1a3f --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProduct.kt @@ -0,0 +1,35 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2022/7/19 + */ +data class ChargeProduct( + val id: Int, + var selected: Boolean = false, + var hot: Boolean?, + var localCurrencyCode: String = "USD", + var local: String?=null, + val payAmount: String, + + /** + * 充值到账的BUFF金额 + */ + val chargeAmount: Long, + + /** + * 赠送的总金额 + */ + val giftAmount: Long, + + /** + * 商品ID + */ + val productId: String +) + + +data class ChargeProductInfo( + val productList: List, + val countdown: Long? = null +) + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProductDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProductDTO.kt new file mode 100644 index 0000000..f09f4fa --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChargeProductDTO.kt @@ -0,0 +1,11 @@ +package com.remax.visualnovel.entity.request + +import com.remax.visualnovel.constant.AppConstant + +/** + * Created by HJW on 2022/7/19 + */ +data class ChargeProductDTO( + val platform: String = AppConstant.ANDROID, + val version: Int = 1 +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatAlbum.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatAlbum.kt new file mode 100644 index 0000000..7c27d21 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatAlbum.kt @@ -0,0 +1,11 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/29 + */ +data class ChatAlbum( + val aiId: String, + val albumId: Long?, + val unlockPrice: Long?, + val messageServerId: String? = null +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatSetting.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatSetting.kt new file mode 100644 index 0000000..d2ca539 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ChatSetting.kt @@ -0,0 +1,21 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/23 + */ +data class ChatSetting( + val aiId: String?, + /** + * 修改聊天气泡/模型 + */ + val code: String? = null, + /** + * 修改聊天背景 + */ + val backgroundId: Int? = null, + val backgroundImg: String? = null, + /** + * 自动播放语音开关 + */ + val isAutoPlayVoice: Boolean?= null, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ClassificationRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ClassificationRequest.kt new file mode 100644 index 0000000..6f308c0 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ClassificationRequest.kt @@ -0,0 +1,46 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/9/9 + */ +data class ClassificationRequest( + /** + * 情感性格code + */ + var characterCodeList: List?=null, + + /** + * 需要排除的aiId列表 + */ + var exList: MutableList = mutableListOf(), + + /** + * 页码 + */ + var pn: Int = 1, + + /** + * 年龄 + */ + var age: String? = null, + + /** + * 性别:单选 + */ + var sex: Int? = null, + + /** + * 角色code列表 + */ + var roleCodeList: List?=null, + + /** + * 标签code列表 + */ + var tagCodeList: List?=null, + + /** + * 每页大小 + */ + val ps: Int = PageQuery.DEFAULT_PAGE_SIZE, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/Gift.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/Gift.kt new file mode 100644 index 0000000..69881f2 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/Gift.kt @@ -0,0 +1,22 @@ +package com.remax.visualnovel.entity.request + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2025/8/18 + */ + +@Parcelize +data class Gift( + val id: Int, + val name: String, + val desc: String?, + val icon: String?, + val startVal: Double?, + val heartbeatLevel: String?, // 发送该礼物需要的心动等级 + val price: Long, + var getNum: Int?, + var isMemberGift: Boolean? = null, + var select: Boolean = false +) : Parcelable diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatBuy.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatBuy.kt new file mode 100644 index 0000000..642a58c --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatBuy.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/9/22 + */ +data class HeartbeatBuy( + val aiId: String?, + val heartbeatVal: Double?, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatRelation.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatRelation.kt new file mode 100644 index 0000000..68aa43a --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/HeartbeatRelation.kt @@ -0,0 +1,30 @@ +package com.remax.visualnovel.entity.request + +import android.os.Parcelable +import com.remax.visualnovel.entity.response.HeartbeatLevelEnum +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2025/8/20 + */ +@Parcelize +data class HeartbeatRelation( + val aiHeadImg: String, //AI头像 + val userHeadImg: String, // 用户头像 + var heartbeatLevel: String?, //心动等级类型 + var heartbeatLevelName: String?, //心动等级名称 + var heartbeatLevelNum: Int?, //心动等级 + val dayCount: Int, //相识天数 + val price: Long?, //心动值单价 + var heartbeatVal: Double?, //心动值 + val subtractHeartbeatVal: Double?, //已扣减心动值 + var heartbeatScore: Float?, //心动分 + var isShow: Boolean?, + var aiId: String? = null +) : Parcelable { + + val currHeartbeatEnum: HeartbeatLevelEnum? + get() = HeartbeatLevelEnum.entries.find { it.levelName == heartbeatLevel } + +} + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ImgCheckDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ImgCheckDTO.kt new file mode 100644 index 0000000..cb604f0 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ImgCheckDTO.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2020/10/21 + */ +data class ImgCheckDTO( + val bizTypeEnum: String, + val fileFullPath: String, +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/PageQuery.java b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/PageQuery.java new file mode 100644 index 0000000..3fe9dc3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/PageQuery.java @@ -0,0 +1,32 @@ +package com.remax.visualnovel.entity.request; + +/** + * Created by Eric on 2020/9/9 + */ +public class PageQuery { + + public static final int DEFAULT_PAGE_SIZE = 20; + + public Page page = new Page(); + + public PageQuery(int pn) { + this.page.pn = pn; + } + + public static class Page { + + public int pn = 1; + + public int ps = DEFAULT_PAGE_SIZE; + + public Page() { + + } + + public Page(int pn) { + this.pn = pn; + } + + + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/QueryAlbumDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/QueryAlbumDTO.kt new file mode 100644 index 0000000..15ee706 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/QueryAlbumDTO.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2023/8/31 + */ +data class QueryAlbumDTO( + val aiId: String, + val userId:String?, + val page: PageQuery.Page +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/RTCRequest.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/RTCRequest.kt new file mode 100644 index 0000000..3c3d5e2 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/RTCRequest.kt @@ -0,0 +1,24 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/25 + */ +data class RTCRequest( + val roomId: String, + /** + * 操作类型 开启通话:START,打断:INTERRUPT,结束通话:STOP + */ + val optType: String? = null, + val duration: Long? = null, + /** + * 任务id + */ + val taskId: String? = null, + val targetId: String? = null +) : AIIDRequest(targetId ?: "") { + companion object { + const val START = "START" + const val INTERRUPT = "INTERRUPT" + const val STOP = "STOP" + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/S3TypeDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/S3TypeDTO.kt new file mode 100644 index 0000000..e17671c --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/S3TypeDTO.kt @@ -0,0 +1,18 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2022/3/7 + */ +data class S3TypeDTO( + val bizTypeEnum: String, + val suffix: String +) { + companion object { + const val ROLE = "ROLE" + const val ALBUM = "ALBUM" + const val HEAD_IMAGE = "HEAD_IMAGE" + const val SOUND = "SOUND" + const val SOUND_PATH = "SOUND_PATH" + const val IM_IMAGE = "IM_IMG" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SearchPage.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SearchPage.kt new file mode 100644 index 0000000..4c169a2 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SearchPage.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/27 + */ +data class SearchPage( + val page: PageQuery.Page, + val nickname: String? = null, + val type: String? = null, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SendGift.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SendGift.kt new file mode 100644 index 0000000..5067025 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SendGift.kt @@ -0,0 +1,16 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/23 + */ +data class SendGift( + val aiId: String, + val num: Int, + val giftId: Int, + val scene: String = IM, +) { + companion object { + const val IM = "IM" + const val HOME = "HOME" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleContentDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleContentDTO.kt new file mode 100644 index 0000000..dcc05ae --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleContentDTO.kt @@ -0,0 +1,5 @@ +package com.remax.visualnovel.entity.request + +data class SimpleContentDTO( + val content: String +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleCountDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleCountDTO.kt new file mode 100644 index 0000000..5be2aed --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleCountDTO.kt @@ -0,0 +1,8 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/9/17 + */ +data class SimpleCountDTO( + val count: Int +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleDataDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleDataDTO.kt new file mode 100644 index 0000000..57fd206 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleDataDTO.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/21 + */ +data class SimpleDataDTO( + var aiId: String? = null, + val data: String? = null, + val url: String? = null, +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleTypeDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleTypeDTO.kt new file mode 100644 index 0000000..9b68f54 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SimpleTypeDTO.kt @@ -0,0 +1,5 @@ +package com.remax.visualnovel.entity.request + +data class SimpleTypeDTO( + val type: String +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SubPriceDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SubPriceDTO.kt new file mode 100644 index 0000000..48be7fc --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/SubPriceDTO.kt @@ -0,0 +1,11 @@ +package com.remax.visualnovel.entity.request + +import com.remax.visualnovel.constant.AppConstant + +/** + * Created by HJW on 2021/8/27 + */ +data class SubPriceDTO( + val platform: String = AppConstant.ANDROID, + val version: String = "2" +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ValidateTransactionDTO.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ValidateTransactionDTO.kt new file mode 100644 index 0000000..924a191 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/ValidateTransactionDTO.kt @@ -0,0 +1,15 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2022/6/28 + */ +data class ValidateTransactionDTO( + val productId: String?, + /** + * purchase token + */ + val receipt: String, + var orderId: String? = null, + var currency: String? = null, + var price: Double? = null, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/VoiceTTS.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/VoiceTTS.kt new file mode 100644 index 0000000..95ee9f7 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/request/VoiceTTS.kt @@ -0,0 +1,32 @@ +package com.remax.visualnovel.entity.request + +/** + * Created by HJW on 2025/8/28 + */ +data class VoiceTTS( + + var aiId: String? = null, + /** + * 音量(Volume)。值范围为 [-12, 12]。默认:0 + */ + var pitchRate: String = DEFAULT, + + /** + * 语速,范围 [-50,100],100代表2.0倍速,-50代表0.5倍速 + */ + var speechRate: String = DEFAULT, + + /** + * 文本内容 + */ + var text: String?, + + /** + * 语音类型 + */ + var voiceType: String? +) { + companion object { + const val DEFAULT = "0" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AccountBuffBill.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AccountBuffBill.kt new file mode 100644 index 0000000..665abcc --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AccountBuffBill.kt @@ -0,0 +1,38 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/9/12 + */ + +data class Transaction( + val pageList: Pageable +) + +data class TransactionGift( + val giftId: Int? = null +) + +data class AccountBuffBill( + val amount: Long, + val bizNum: String, + val bizType: String, + val buffType: String, + val item: String, + val inOrOut: String? = null, + val time: Long, + val extend: String? = null, + val toWithdrawableIncomeTime: Long, + val tradeNo: String, +) { + + val isIn: Boolean + get() = inOrOut == IN + + companion object { + const val BALANCE = "BALANCE" + const val INCOME = "INCOME" + + const val IN = "IN" + const val OUT = "OUT" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AdvertiseOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AdvertiseOutput.kt new file mode 100644 index 0000000..a2ac346 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AdvertiseOutput.kt @@ -0,0 +1,66 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/9/8 + */ +data class AdvertiseOutput( + /** + * 使用端点(WEB/ANDROID/IOS) + * endpoint + */ + val endpoint: String? = null, + + /** + * 扩展字段 + * ext + */ + val ext: String? = null, + + /** + * 广告配图 + * icon + */ + val icon: String? = null, + + /** + * 是否弹窗(1.是,0.否) + * is_global + */ + val isGlobal: Long? = null, + + /** + * 跳转连接 + * jump_link + */ + val jumpLink: String? = null, + + /** + * 广告名称 + * name + */ + val name: String? = null, + + /** + * 展示结束时间 + * show_end_time + */ + val showEndTime: String? = null, + + /** + * 展示开始时间 + * show_start_time + */ + val showStartTime: String? = null, + + /** + * 排序 + * sort + */ + val sort: Long? = null +) { + var type: String? = null + + companion object { + const val SIGN = "SIGN" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AlbumCreateCountOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AlbumCreateCountOutput.kt new file mode 100644 index 0000000..28ea8be --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/AlbumCreateCountOutput.kt @@ -0,0 +1,39 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/9/16 + */ +data class AlbumCreateCountOutput( + /** + * 购买创作次数 + */ + val buyNum: Int, + val usedBuyNum: Int, + + /** + * 免费创作次数 + */ + val freeNum: Int, + val usedFreeNum: Int, + + /** + * 会员赠送创作次数 + */ + val memberNum: Int, + val usedMemberNum: Int +) { + val hasFree: Boolean + get() = usedFreeNum < freeNum + + val hasVipTime: Boolean + get() = usedMemberNum < memberNum + + val hasNum: Boolean + get() = usedBuyNum < buyNum + + val canCreate: Boolean + get() = hasFree || hasVipTime || hasNum + + val canUseCount: Int + get() = (buyNum - usedBuyNum) + (memberNum - usedMemberNum) + (freeNum - usedFreeNum) +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/BucketBean.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/BucketBean.kt new file mode 100644 index 0000000..5e9f7a1 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/BucketBean.kt @@ -0,0 +1,19 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2020/10/20 + */ +data class BucketBean( + val expiration: String, + val region: String, + val requestId: String, + val accessKeyId: String, + val accessKeySecret: String, + val bucket: String, + val endPoint: String, + val path: String, + val urlPath: String, + val securityToken: String, + var tempTime: Long, + var type: String +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Character.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Character.kt index 8aae888..6b3d6a0 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Character.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Character.kt @@ -1,6 +1,7 @@ package com.remax.visualnovel.entity.response import android.os.Parcelable +import com.remax.visualnovel.entity.request.HeartbeatRelation import com.remax.visualnovel.extension.calculateAge import com.remax.visualnovel.extension.getNimAccountId import kotlinx.parcelize.Parcelize @@ -49,8 +50,8 @@ data class Character( var isHaveChatted: Boolean? = null, //是否聊过天 var isDelChatted: Boolean? = null, //是否删除过会话 var isAutoPlayVoice: Int? = null, //自动播放语音开关 1:开 0:关 - //var aiUserHeartbeatRelation: HeartbeatRelation? = null, - //var chatBubble: ChatBubble? = null, + var aiUserHeartbeatRelation: HeartbeatRelation? = null, + var chatBubble: ChatBubble? = null, //排行榜使用 var rankNo: Int? = null, @@ -65,7 +66,7 @@ data class Character( var role: String? = null, var tag: String? = null, var isSecret: Boolean? = null, - //var albumList: List? = null, + var albumList: List? = null, ) : Parcelable { companion object { diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChargeOrder.java b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChargeOrder.java new file mode 100644 index 0000000..59c6074 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChargeOrder.java @@ -0,0 +1,6 @@ +package com.remax.visualnovel.entity.response; + + +public class ChargeOrder { + public String tradeNo; +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatBubble.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatBubble.kt new file mode 100644 index 0000000..9fd0233 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatBubble.kt @@ -0,0 +1,52 @@ +package com.remax.visualnovel.entity.response + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2025/8/18 + */ +@Parcelize +data class ChatBubble( + /** + * code + */ + val code: String, + + /** + * id + */ + val id: Long, + + /** + * 图片url + */ + val imgUrl: String?, + + /** + * 当前用户是否解锁 false:未解锁,true:解锁 + */ + val isUnlock: Boolean? = null, + + /** + * 名称 + */ + val name: String, + + /** + * 解锁心动等级 类型为HEARTBEAT_LEVEL时才有用 + */ + val unlockHeartbeatLevel: String? = null, + + /** + * 解锁类型 MEMBER:会员 HEARTBEAT_LEVEL:心动等级 + */ + val unlockType: String? = null, + var isDefault: Boolean, + var select: Boolean = false +) : Parcelable { + companion object { + const val MEMBER = "MEMBER" + const val HEARTBEAT_LEVEL = "HEARTBEAT_LEVEL" + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatModel.kt new file mode 100644 index 0000000..01f2405 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatModel.kt @@ -0,0 +1,42 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/18 + */ +data class ChatModel( + /** + * 对话模型code + */ + val code: String? = null, + + /** + * 对话模型描述 + */ + val description: String? = null, + + /** + * 对话模型名称 + */ + val name: String? = null, + + /** + * 问号图标内容 + */ + val questionMark: String? = null, + + /** + * 文本价格 + */ + val textPrice: Long? = null, + + /** + * 语音聊天价格 + */ + val voiceChatPrice: Long? = null, + + /** + * 发送和听语音价格 + */ + val voicePrice: Long? = null, + +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatSet.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatSet.kt new file mode 100644 index 0000000..b479aaa --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ChatSet.kt @@ -0,0 +1,66 @@ +package com.remax.visualnovel.entity.response + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2025/8/23 + */ +@Parcelize +data class ChatSet( + /** + * ai的Id + */ + val aiId: String, + + /** + * 聊天背景图片 + */ + val backgroundImg: String?, + val isDefaultBackground: Boolean?, + + /** + * 出生日期 + */ + var birthday: Long?, + + /** + * 聊天气泡code + */ + val bubbleCode: String?, + + /** + * 聊天气泡名称 + */ + val bubbleName: String?, + + /** + * 自动播放语音开关 1:开 0:关 + */ + val isAutoPlayVoice: Int?, + + /** + * 对话模型code + */ + var modelCode: String?, + + /** + * 对话模型名称 + */ + var modelName: String?, + + /** + * 昵称 + */ + var nickname: String?, + + /** + * 0,男;1,女;2,自定义 + */ + val sex: Int?, + + /** + * 我是谁 + */ + var whoAmI: String? +): Parcelable diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ContentRes.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ContentRes.kt new file mode 100644 index 0000000..a4d335a --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ContentRes.kt @@ -0,0 +1,8 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/7/29 + */ +open class ContentRes( + val content: String? +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ExploreInfo.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ExploreInfo.kt new file mode 100644 index 0000000..eeafb49 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/ExploreInfo.kt @@ -0,0 +1,26 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/9/8 + */ +data class ExploreInfo( + /** + * AI总心动值榜单top3 + */ + val aiChatRankTop3List: List? = null, + + /** + * AI总心动值榜单top3 + */ + val aiGiftRankTop3List: List? = null, + + /** + * AI总心动值榜单top3 + */ + val aiHeartbeatRankTop3List: List? = null, + + /** + * 广告列表 + */ + val outputList: List? = null +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Friends.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Friends.kt new file mode 100644 index 0000000..3fc0dc8 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Friends.kt @@ -0,0 +1,64 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/14 + */ +data class Friends( + val aiId: String, + /** + * 出生日期 + */ + val birthday: Long, + + /** + * 性格名称 + */ + val characterName: String, + + /** + * 头像 + */ + val headImg: String, + + /** + * 心动等级 + */ + val heartbeatLevel: String, + + /** + * 心动等级数字 + */ + val heartbeatLevelNum: Int, + + /** + * 心动值 + */ + val heartbeatVal: Double, + + /** + * 昵称 + */ + val nickname: String, + + /** + * 角色名称 + */ + val roleName: String, + + /** + * 0,男;1,女;2,自定义 + */ + val sex: Int, + + /** + * 标签名称 + */ + val tagName: String, + + /** + * ai所属用户id + */ + val userId: String, + + val isShow: Boolean +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevel.kt new file mode 100644 index 0000000..b043c6d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevel.kt @@ -0,0 +1,67 @@ +package com.remax.visualnovel.entity.response + +import androidx.annotation.StringRes +import com.remax.visualnovel.R + +/** + * Created by HJW on 2025/8/21 + */ +data class HeartbeatLevel( + /** + * 心动等级code + */ + val code: String, + /** + * 心动等级图标 + */ + val imgUrl: String, + /** + * 用户是否解锁 + */ + val isUnlock: Boolean, + /** + * 心动等级名称 + */ + val name: String, + val startVal: Double +) + +enum class HeartbeatLevelEnum( + val levelName: String, + val level: Int, + val levelContent: String, + val startVal: Double, + @StringRes val tagName: Int +) { + + // 初识勋章 + LEVEL_1("LEVEL_1", 1, "Lv.1", 0.50, R.string.meet), + + // 发图功能 + LEVEL_2("LEVEL_2", 2, "Lv.2", 3.50, R.string.meet), + + // 朋友勋章 + LEVEL_3("LEVEL_3", 3, "Lv.3", 12.00, R.string.friend), + + // 语音通话 + LEVEL_4("LEVEL_4", 4, "Lv.4", 30.00, R.string.friend), + + // 暧昧勋章 + LEVEL_5("LEVEL_5", 5, "Lv.5", 90.00, R.string.flirting), + + // 专属礼物 + LEVEL_6("LEVEL_6", 6, "Lv.6", 270.00, R.string.flirting), + + // 恋人勋章 + LEVEL_7("LEVEL_7", 7, "Lv.7", 540.00, R.string.couple), + + // 专属聊天气泡 + LEVEL_8("LEVEL_8", 8, "Lv.8", 990.00, R.string.couple), + + // 结婚勋章 + LEVEL_9("LEVEL_9", 9, "Lv.9", 1778.00, R.string.married), + + // 自定义形象 + LEVEL_10("LEVEL_10", 10, "Lv.10", 2957.00, R.string.married), + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevelOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevelOutput.kt new file mode 100644 index 0000000..20559fa --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/HeartbeatLevelOutput.kt @@ -0,0 +1,18 @@ +package com.remax.visualnovel.entity.response + +import com.remax.visualnovel.entity.request.HeartbeatRelation + +/** + * Created by HJW on 2025/8/21 + */ +data class HeartbeatLevelOutput( + /** + * 当前用户与AI的心动关系 + */ + val aiUserHeartbeatRelation: HeartbeatRelation, + + /** + * 心动等级字典列表 + */ + val heartbeatLeveLDictList: List +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MeetSdOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MeetSdOutput.kt new file mode 100644 index 0000000..a1dd08f --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MeetSdOutput.kt @@ -0,0 +1,15 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/9/10 + */ +data class MeetSdOutput( + /** + * 是否能够调用绑定 + */ + val bd: Boolean? = null, + /** + * 是否能够调用爱慕者推荐 + */ + val rc: Boolean? = null +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageListOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageListOutput.kt new file mode 100644 index 0000000..b2de65e --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageListOutput.kt @@ -0,0 +1,59 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/26 + */ +data class MessageListOutput( + + /** + * 导致消息发送的业务ID + */ + val bizId: String, + /** + * 消息内容 + */ + val content: String, + + /** + * 消息时间 + */ + val createTime: Long, + + /** + * 消息扩展内容 + */ + val extras: String? = null, + + /** + * 消息ID + */ + val id: Long? = null, + + /** + * 发送人用户ID + */ + val sendUserId: Long? = null, + + /** + * 消息状态(0未读、1已读) + */ + val status: Int, + + /** + * 消息标题 + */ + val title: String, + + /** + * 消息类型 + */ + val type: Int +) { + companion object { + const val UNREAD = 0 + } + + data class VIPRenewExtra( + val expTime: Long + ) +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageStatOutput.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageStatOutput.kt new file mode 100644 index 0000000..5c4fdf1 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/MessageStatOutput.kt @@ -0,0 +1,21 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/26 + */ +data class MessageStatOutput( + /** + * 最新未读消息内容 + */ + val latestContent: String, + + /** + * 最新未读消息时间 + */ + val latestTime: Long, + + /** + * 未读数量 + */ + val unRead: Int +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/NimBean.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/NimBean.kt new file mode 100644 index 0000000..b517ef4 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/NimBean.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/19 + */ +data class NimBean( + val accountId: String, + val token: String, + val appKey: String, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Pageable.java b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Pageable.java new file mode 100644 index 0000000..5151032 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Pageable.java @@ -0,0 +1,50 @@ +package com.remax.visualnovel.entity.response; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Eric on 2020/9/9 + */ +public class Pageable { + + public static final int DEFAULT_PAGE_SIZE = 20; + + public List datas = new ArrayList<>(); + + /** + * 每页条数 + */ + public int ps = DEFAULT_PAGE_SIZE; + + /** + * 页码 + */ + public int pn = 1; + + /** + * 总数 + */ + public int tc; + + /** + * 订单搜索总价 + */ + public long amount; + + /** + * 是否还有更多数据? + * + * @return + */ + public boolean hasMore() { + return pn * ps < tc; + } + + /** + * 自定义每页数量,是否还有更多 + */ + public boolean isEnd(int ps) { + return this.pn * ps >= tc; + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/SubPrice.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/SubPrice.kt new file mode 100644 index 0000000..654821d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/SubPrice.kt @@ -0,0 +1,31 @@ +package com.remax.visualnovel.entity.response + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2020/12/2 + * vip商品列表 + */ + +@Parcelize +data class SubPrice( + val chargeAmount: Long,//赠送的BUFF + val memberType: String, + val discount: String, + val payAmount: Long, + val monthlyPrice: Long, + val period: String,//MONTH QUARTER YEAR + val productId: String, + var isChecked: Boolean, + var billingPeriod: String? = null, + var formattedPrice: String? = null, + var priceCurrencyCode: String? = null, + var priceAmountMicros: Long? = null, +) : Parcelable { + companion object { + const val P1M = "P1M" + const val P3M = "P3M" + const val P1Y = "P1Y" + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Token.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Token.kt new file mode 100644 index 0000000..f7c9c02 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Token.kt @@ -0,0 +1,8 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/25 + */ +data class Token( + val token: String +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/UserSubInfo.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/UserSubInfo.kt new file mode 100644 index 0000000..3c47d61 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/UserSubInfo.kt @@ -0,0 +1,31 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2021/8/21 + */ +data class UserSubInfo( + var platform: String? = null, + var purchaseToken: String? = null, + /** + * 创建时间 + */ + val createTime: Long? = null, + + /** + * 编辑时间 + */ + val editTime: Long? = null, + + /** + * 过期时间 + */ + val expTime: Long? = null, + /** + * 会员类型 + */ + val memberType: String? = null, + /** + * 产品ID 或者说 订阅计划ID + */ + val productId: String? = null, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VipItemPrivilege.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VipItemPrivilege.kt new file mode 100644 index 0000000..2350f06 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VipItemPrivilege.kt @@ -0,0 +1,47 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2022/6/1 + */ +data class VipItemPrivilege( + val id: Int, + val title: String, + val desc: String, + val img: String, + val code: String +) { + companion object { + val privileges = + listOf(ADD_CRUSH_COIN, ADD_CREATE_AI, ADD_ALBUM_CREATE, AUTO_PLAY_VOICE, CUSTOM_CHAT_BUBBLE, SPECIAL_GIFT) + + //增加coin + const val ADD_CRUSH_COIN = "ADD_CRUSH_COIN" + + //增加创建ai个数 + const val ADD_CREATE_AI = "ADD_CREATE_AI" + + //增加相册创建数 + const val ADD_ALBUM_CREATE = "ADD_ALBUM_CREATE" + + //增加自动播放 + const val AUTO_PLAY_VOICE = "AUTO_PLAY_VOICE" + + //增加自定义气泡 + const val CUSTOM_CHAT_BUBBLE = "CUSTOM_CHAT_BUBBLE" + + //增加特殊礼物 + const val SPECIAL_GIFT = "SPECIAL_GIFT" + } +} + +data class Membership( + /** + * 用户会员权限列表 + */ + val memberPrivList: List? = null, + /** + * 用户会员信息 + */ + val userMemberInfo: UserSubInfo? = null + +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VoiceASR.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VoiceASR.kt new file mode 100644 index 0000000..39f0dc8 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/VoiceASR.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.entity.response + +/** + * Created by HJW on 2025/8/28 + */ +data class VoiceASR( + val content:String, + val duration:Long, +) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Wallet.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Wallet.kt new file mode 100644 index 0000000..f5e6b6f --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/entity/response/Wallet.kt @@ -0,0 +1,25 @@ +package com.remax.visualnovel.entity.response + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +/** + * Created by HJW on 2024/8/5 + */ +@Parcelize +data class Wallet( + /** + * 现页面上显示的Balance为可用于付款的金额,实际为后加上的charge字段(用户充值金额) + */ + var balance: Long, + /** + * 现页面上显示的Income为用户收入金额,实际为之前定义的balance等字段 + */ + val income: Long?, + val withdrawable: Long?, //可提现 + /** + * 待入账收入 + */ + val awaitingIncome: Long?, //待入账 +) : Parcelable + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/event/model/OnAILiked.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/model/OnAILiked.kt new file mode 100644 index 0000000..e7f53dc --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/model/OnAILiked.kt @@ -0,0 +1,9 @@ +package com.remax.visualnovel.event.model + +/** + * Created by HJW on 2025/9/24 + */ +data class OnAILiked( + val aiId: String?, + val liked: Boolean? +) \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/UserAIEvents.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/UserAIEvents.kt new file mode 100644 index 0000000..37c76b8 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/UserAIEvents.kt @@ -0,0 +1,34 @@ +package com.remax.visualnovel.event.modular + +import com.remax.visualnovel.entity.request.AIIsShowDTO +import com.remax.visualnovel.event.model.OnAILiked +import com.pengxr.modular.eventbus.facade.annotation.EventGroup + +/** + * Created by HJW on 2023/5/18 + * 当前用户相关的事件 + */ +@EventGroup(moduleName = "AI", autoClear = true) +interface UserAIEvents { + + /** + * 用户的AI角色发生了变更 + * 包括: 创建AI,编辑AI,编辑AI相册,删除AI,修改AI默认图等等 + */ + fun onAICharacterChanges(): String? + + /** + * AI修改了默认图 + */ + fun onAIHomeImageChanges(): String + + /** + * AI的心动开关改变 + */ + fun onAIHeartIsOpenChanged(): AIIsShowDTO + + /** + * AI点赞状态变更 + */ + fun onAILikedChanged(): OnAILiked +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/WalletEvents.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/WalletEvents.kt new file mode 100644 index 0000000..34fa373 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/event/modular/WalletEvents.kt @@ -0,0 +1,27 @@ +package com.remax.visualnovel.event.modular + +import com.remax.visualnovel.entity.response.Wallet +import com.pengxr.modular.eventbus.facade.annotation.EventGroup + +/** + * Created by HJW on 2023/5/18 + * 用户钱包相关的事件,比如充值 + */ +@EventGroup(moduleName = "wallet", autoClear = true) +interface WalletEvents { + + /** + * 充值成功 + */ + fun chargeSucceeded() + + /** + * 钱包余额更新成功 + */ + fun buffBalanceUpdateSucceeded(): Wallet? + + /** + * google订阅成功 + */ + fun onGoogleSubSucceeded(): String? +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/gift/GiftManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/gift/GiftManager.kt new file mode 100644 index 0000000..acba02c --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/gift/GiftManager.kt @@ -0,0 +1,46 @@ +package com.remax.visualnovel.manager.gift + +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import com.remax.visualnovel.api.factory.ServiceFactory +import com.remax.visualnovel.entity.request.Gift +import com.remax.visualnovel.repository.api.DictRepository +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch + +/** + * Created by HJW on 2025/9/17 + */ +object GiftManager : DefaultLifecycleObserver { + + var gifts: List? = null + private set(value) { + value?.firstOrNull()?.select = true + field = value + } + + private val dictRepository by lazy { + DictRepository(ServiceFactory.createService()) + } + + fun initSelect(){ + gifts?.forEachIndexed { index, gift -> + gift.select = index == 0 + } + } + + fun getGift() { + CoroutineScope(Dispatchers.IO).launch { + dictRepository.getGiftDict().transformResult({ + gifts = it?.datas + }) + } + } + + override fun onResume(owner: LifecycleOwner) { + if (gifts == null) { + getGift() + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/login/LoginManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/login/LoginManager.kt index 468b199..de44bfe 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/login/LoginManager.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/login/LoginManager.kt @@ -1,11 +1,18 @@ package com.remax.visualnovel.manager.login import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.api.factory.ServiceFactory import com.remax.visualnovel.entity.response.User import com.remax.visualnovel.event.model.OnLoginEvent import com.remax.visualnovel.event.model.tab.MainTab +import com.remax.visualnovel.manager.nim.NimManager +import com.remax.visualnovel.repository.api.MessageRepository import com.remax.visualnovel.utils.Routers import com.remax.visualnovel.ui.main.MainActivity +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch /** * Created by HJW on 2025/7/11 @@ -20,6 +27,7 @@ object LoginManager { set(value) { loginInfoSave.putUser(value) field = value + WalletManager.refreshWallet() } var token: String? = null @@ -51,6 +59,7 @@ object LoginManager { token = null EventDefineOfUserEvents.onLoginStatusChanged().post(OnLoginEvent(OnLoginEvent.LOGOUT)) MainActivity.start(MainTab.TAB_BOOKS) + NimManager.logout() } /** @@ -73,8 +82,16 @@ object LoginManager { this.token = token } + var contactUnreadCount: Int = 0 + set(value) { + field = value + EventDefineOfUserEvents.onUserUnReadChanged().post(null) + } + get() { + return field + if (NimManager.isLogin) NimManager.totalUnreadCount else 0 + } - /*private val messageRepository by lazy { + private val messageRepository by lazy { MessageRepository(ServiceFactory.createService()) } @@ -82,5 +99,5 @@ object LoginManager { CoroutineScope(Dispatchers.Main).launch { messageRepository.getMessageStat() } - }*/ + } } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/FetchResult.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/FetchResult.kt new file mode 100644 index 0000000..44289f5 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/FetchResult.kt @@ -0,0 +1,93 @@ +package com.remax.visualnovel.manager.nim + +import android.content.Context + +/** + * Created by HJW on 2025/8/20 + */ +class FetchResult(var loadStatus: LoadStatus?) { + var type = FetchType.Init + var typeIndex = 0 + var data: T? = null + var error: ErrorMsg? = null + var extraInfo: Any? = null + + constructor(loadStatus: LoadStatus?, data: T?) : this(loadStatus) { + this.data = data + } + + constructor(type: FetchType) : this(LoadStatus.Success) { + this.type = type + } + + constructor(data: T?) : this(LoadStatus.Success) { + this.data = data + } + + constructor(type: FetchType, data: T?) : this(LoadStatus.Success) { + this.type = type + this.data = data + } + + constructor(code: Int, msg: String?) : this(LoadStatus.Error) { + error = ErrorMsg(code, msg) + } + + fun setError(code: Int, msg: String?) { + loadStatus = LoadStatus.Error + error = ErrorMsg(code, msg) + } + + fun setError(code: Int, msgRes: Int) { + loadStatus = LoadStatus.Error + error = ErrorMsg(code, msgRes) + } + + fun setFetchType(type: FetchType) { + this.type = type + } + + fun isSuccess(): Boolean { + return loadStatus == LoadStatus.Success + } + + fun setStatus(loadStatus: LoadStatus?) { + this.loadStatus = loadStatus + } + + fun errorMsg(): ErrorMsg? { + return error + } + + fun getErrorMsg(context: Context): String? { + if (error != null) { + if (!error?.msg.isNullOrBlank()) { + return error?.msg + } + if (error?.res != null) { + return context.resources.getString(error!!.res) + } + } + return null + } + + enum class FetchType { + Init, Add, Update, Remind, Remove + } + + class ErrorMsg { + var code: Int + var res = 0 + var msg: String? = null + + constructor(code: Int, errorRes: Int) { + this.code = code + res = errorRes + } + + constructor(code: Int, msg: String?) { + this.code = code + this.msg = msg + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/LoadStatus.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/LoadStatus.kt new file mode 100644 index 0000000..35584d3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/LoadStatus.kt @@ -0,0 +1,11 @@ +package com.remax.visualnovel.manager.nim + +/** + * Created by HJW on 2025/8/20 + */ +enum class LoadStatus { + + Loading, Error, Success, Finish + +} + diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/NimManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/NimManager.kt new file mode 100644 index 0000000..b65b74a --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/nim/NimManager.kt @@ -0,0 +1,518 @@ +package com.remax.visualnovel.manager.nim + +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.app.CommonApplicationProxy +import com.remax.visualnovel.entity.imbean.RecentContactWrapper +import com.remax.visualnovel.entity.response.NimBean +import com.remax.visualnovel.extension.resumeWithActive +import com.remax.visualnovel.extension.toast +import com.remax.visualnovel.manager.login.LoginManager +import com.remax.visualnovel.ui.main.MainActivity +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.google.gson.Gson +import com.netease.nimlib.sdk.NIMClient +import com.netease.nimlib.sdk.NotificationFoldStyle +import com.netease.nimlib.sdk.Observer +import com.netease.nimlib.sdk.RequestCallback +import com.netease.nimlib.sdk.StatusBarNotificationConfig +import com.netease.nimlib.sdk.msg.MsgService +import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum +import com.netease.nimlib.sdk.msg.constant.NotificationExtraTypeEnum +import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum +import com.netease.nimlib.sdk.msg.model.IMMessage +import com.netease.nimlib.sdk.v2.V2NIMError +import com.netease.nimlib.sdk.v2.auth.V2NIMLoginListener +import com.netease.nimlib.sdk.v2.auth.V2NIMLoginService +import com.netease.nimlib.sdk.v2.auth.enums.V2NIMLoginClientChange +import com.netease.nimlib.sdk.v2.auth.enums.V2NIMLoginStatus +import com.netease.nimlib.sdk.v2.auth.model.V2NIMKickedOfflineDetail +import com.netease.nimlib.sdk.v2.auth.model.V2NIMLoginClient +import com.netease.nimlib.sdk.v2.auth.option.V2NIMLoginOption +import com.netease.nimlib.sdk.v2.conversation.V2NIMConversationListener +import com.netease.nimlib.sdk.v2.conversation.V2NIMConversationService +import com.netease.nimlib.sdk.v2.conversation.enums.V2NIMConversationType +import com.netease.nimlib.sdk.v2.conversation.model.V2NIMConversation +import com.netease.nimlib.sdk.v2.conversation.params.V2NIMConversationFilter +import com.netease.nimlib.sdk.v2.message.V2NIMMessage +import com.netease.nimlib.sdk.v2.message.V2NIMMessageService +import com.netease.nimlib.sdk.v2.message.config.V2NIMMessageConfig +import com.netease.nimlib.sdk.v2.message.params.V2NIMSendMessageParams +import com.netease.nimlib.sdk.v2.user.V2NIMUserService +import com.netease.nimlib.sdk.v2.utils.V2NIMConversationIdUtil +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.launch +import kotlinx.coroutines.suspendCancellableCoroutine +import timber.log.Timber + + +/** + * Created by HJW on 2020/9/28 + */ +object NimManager : DefaultLifecycleObserver { + //没钱发送消息 + const val SEND_IM_INSUFFICIENT_BALANCE = 20000 + + //发消息等级不足 + const val SEND_IM_LEVEL_ERROR = 20001 + + var account = "" + private set + + fun log(content: String) { + Timber.i("云信Manager $content") + } + + override fun onCreate(owner: LifecycleOwner) { + addLoginListener(true) + } + + override fun onDestroy(owner: LifecycleOwner) { + _conversationSyncLiveData.value = false + _updateLiveData.value = null + _deleteLiveData.value = null + _addLiveData.value = null + addLoginListener(false) + addConversationListener(false) + } + + private val loginListener = object : V2NIMLoginListener { + override fun onLoginStatus(status: V2NIMLoginStatus?) { + when (status) { + V2NIMLoginStatus.V2NIM_LOGIN_STATUS_LOGINED -> { + log("已登录") + addConversationListener(true) + } + + V2NIMLoginStatus.V2NIM_LOGIN_STATUS_LOGOUT -> { + log("已登出") + addConversationListener(false) + } + + else -> { + log("登录状态回调 $status") + } + } + } + + override fun onLoginFailed(error: V2NIMError?) { + addConversationListener(false) + log("onLoginFailed ${error?.code} ${error?.desc}") + } + + override fun onKickedOffline(detail: V2NIMKickedOfflineDetail?) { + LoginManager.logout() + } + + override fun onLoginClientChanged( + change: V2NIMLoginClientChange?, + clients: List? + ) { + + } + } + + private val v2NIMConversationService by lazy { + NIMClient.getService(V2NIMConversationService::class.java) + } + + private val v2NIMLoginService by lazy { + NIMClient.getService(V2NIMLoginService::class.java) + } + + private val v2MessageService by lazy { + NIMClient.getService(V2NIMMessageService::class.java) + } + + + /** + * 监听云信登录状态 + */ + fun addLoginListener(register: Boolean) { + if (register) { + v2NIMLoginService.addLoginListener(loginListener) + } else { + v2NIMLoginService.removeLoginListener(loginListener) + } + } + + /** + * 注册监听会话列表 + */ + private fun addConversationListener(register: Boolean) { + if (register) { + v2NIMConversationService.addConversationListener(conversationListener) + } else { + v2NIMConversationService.removeConversationListener(conversationListener) + } + } + + private val _conversationSyncLiveData = MutableLiveData(false) + val conversationSyncLiveData: LiveData = _conversationSyncLiveData + + // 会话变化LiveData,用于通知会话信息变化变更 + private val _updateLiveData = MutableLiveData?>() + val updateLiveData: LiveData?> = _updateLiveData + + // 删除会话LiveData,用于通知会话删除结果 + private val _deleteLiveData = MutableLiveData?>() + val deleteLiveData: LiveData?> = _deleteLiveData + + // 创建会话 + private val _addLiveData = MutableLiveData() + val addLiveData: LiveData = _addLiveData + + private val conversationListener = object : V2NIMConversationListener { + /** + * 数据同步开始回调。 + */ + override fun onSyncStarted() { + + } + + /** + * 数据同步结束回调。如果数据同步已开始,建议在数据同步结束后再进行其他会话操作。 + */ + override fun onSyncFinished() { + log("可以开始拉会话列表") + EventDefineOfUserEvents.onUserUnReadChanged().post(null) + MainScope().launch { + _conversationSyncLiveData.value = true + } + } + + /** + * 数据同步失败回调。 + */ + override fun onSyncFailed(error: V2NIMError?) { + + } + + /** + * 会话成功创建回调。 + */ + override fun onConversationCreated(conversation: V2NIMConversation) { + log("会话成功创建 $conversation") + _addLiveData.value = RecentContactWrapper(conversation) + } + + /** + * 主动删除会话回调。 + */ + override fun onConversationDeleted(conversationIds: List) { + log("会话被删除 $conversationIds") + _deleteLiveData.value = conversationIds + } + + /** + * 会话变更回调。当置顶会话、会话有新消息、主动更新会话成功时会触发该回调。 + */ + override fun onConversationChanged(conversationList: List) { + log("会话变更回调 $conversationList") + _updateLiveData.value = conversationList.map { RecentContactWrapper(it) } + } + + /** + * 会话消息总未读数变更回调。 + */ + override fun onTotalUnreadCountChanged(unreadCount: Int) { + log("会话消息总未读数变更 $unreadCount") + EventDefineOfUserEvents.onUserUnReadChanged().post(null) + } + + /** + * 过滤后的未读数变更回调。调用 subscribeUnreadCountByFilter 方法订阅监听后,当会话过滤后的未读数变化时会返回该回调。 + */ + override fun onUnreadCountChangedByFilter( + filter: V2NIMConversationFilter?, + unreadCount: Int + ) { + + } + + /** + * 同一账号多端登录后的会话已读时间戳标记的回调。 + */ + override fun onConversationReadTimeUpdated(conversationId: String?, readTime: Long) { + + } + } + + /** + * 登录云信 + */ + fun login(nimBean: NimBean) { + v2NIMLoginService.login( + nimBean.accountId, nimBean.token, V2NIMLoginOption().apply { + retryCount = 3 + }, { + log("login调用成功") + account = nimBean.accountId + loginSuccess() + }, + { error -> + val code = error.code + val desc = error.desc + log("login调用失败 onFailed errorCode:$code desc:$desc") + }) + } + + + fun logout() { + // 请勿在 Activity 的 `onDestroy` 中调用 `logout` 方法 + v2NIMLoginService.logout({ + log("logout调用成功") + LoginManager.contactUnreadCount = 0 + }, { error -> + val code = error.code + val desc = error.desc + log("logout调用失败 onFailed errorCode:$code desc:$desc") + }) + } + + private var offset = 0L + + /** + * 分页获取所有会话列表 + */ + data class Conversation( + val list: List, + val hasMore: Boolean + ) + + var allConversation: MutableList? = null + + private var queryConversationStart = false + + fun getUserList(accountIds: List?) { + NIMClient.getService(V2NIMUserService::class.java).getUserList(accountIds?.filterNotNull(), { + log("获取用户信息成功 $accountIds") + }) { + log("获取用户信息失败 onFailed errorCode:${it.code} desc:$${it.desc}") + } + } + + suspend fun getConversationList(isRefresh: Boolean) = + suspendCancellableCoroutine { coroutine -> + if (queryConversationStart) { + log("queryConversation,has Started return") + } + queryConversationStart = true + coroutine.invokeOnCancellation { + coroutine.resumeWithActive(Conversation(emptyList(), false)) + queryConversationStart = false + } + if (isRefresh) { + allConversation = null + offset = 0L + } + val pageLimit = 100 + v2NIMConversationService.getConversationList(offset, pageLimit, { + offset = it.offset + val conversationList = it.conversationList + val hasMore = conversationList.size == pageLimit + log("拉到的会话列表 $conversationList") + queryConversationStart = false + coroutine.resumeWithActive(Conversation(conversationList, hasMore)) + }) { + queryConversationStart = false + log("拉取会话列表失败 onFailed errorCode:${it.code} desc:$${it.desc}") + coroutine.resumeWithActive(Conversation(emptyList(), true)) + } + } + + /** + * 获取会话 + * @param conversationId 会话 ID + */ + fun getConversation(conversationId: String, success: () -> Unit, error: (errorCode: Int) -> Unit) { + v2NIMConversationService.getConversation(conversationId, { conversation -> + success.invoke() + log("获取会话${conversationId}成功: $conversation") + }) { + error.invoke(it.code) + log("获取会话${conversationId}失败 onFailed errorCode:${it.code} desc:$${it.desc}") + } + } + + /** + * 创建会话 + */ + fun createConversation(accountId: String?, success: () -> Unit, error: (errorCode: Int) -> Unit) { + val conversationId = V2NIMConversationIdUtil.p2pConversationId(accountId) + v2NIMConversationService.createConversation(conversationId, { conversation -> + log("创建会话成功: $conversation") + success.invoke() + }) { + error.invoke(it.code) + log("创建${conversationId}会话失败accountId:$accountId onFailed errorCode:${it.code} desc:$${it.desc}") + } + } + + /** + * 获取登录连接状态 + * IM 登录连接状态表示当前登录的 NIM SDK 实例与网易云信服务端的长连接状态,也可以理解为用户客户端和网易云信服务端的网络连接状态。 + * V2NIM_CONNECT_STATUS_DISCONNECTED(0) SDK 未连接服务端 + * V2NIM_CONNECT_STATUS_CONNECTED(1) SDK 已连接服务端 + * V2NIM_CONNECT_STATUS_CONNECTING(2) SDK 正在与服务端连接 + * V2NIM_CONNECT_STATUS_WAITING(3) SDK 正在等待与服务端重连 + */ + fun getConnectStatus() = v2NIMLoginService.connectStatus + + val isLogin: Boolean + get() = v2NIMLoginService.loginStatus == V2NIMLoginStatus.V2NIM_LOGIN_STATUS_LOGINED + + private fun loginSuccess() { + log("loginSuccess 当前状态:${v2NIMLoginService.loginStatus}") + when (v2NIMLoginService.loginStatus) { + V2NIMLoginStatus.V2NIM_LOGIN_STATUS_LOGINED -> { + addConversationListener(true) + } + + else -> { + + } + } + + //是否需要开启通知栏消息提醒, MessageAlter已经被去掉,这里需要直接设置为开启 + val config = StatusBarNotificationConfig().apply { + notificationExtraType = NotificationExtraTypeEnum.MESSAGE + notificationSmallIconId = R.mipmap.book_archive + notificationEntrance = MainActivity::class.java + notificationFoldStyle = NotificationFoldStyle.CONTACT + ring = false + vibrate = false + downTimeToggle = false + } + NIMClient.updateStatusBarNotificationConfig(config) + NIMClient.toggleNotification(true) + setPushAlter(true) + updateMyIMUserInfo() + } + + /** + * 获取会话总未读数 + */ + val totalUnreadCount: Int + get() { + val unreadCount = v2NIMConversationService.totalUnreadCount + log("会话消息总未读数 $unreadCount") + return unreadCount + } + + + /** + * 标记会话已读 + * 并触发 onTotalUnreadCountChanged、onConversationChanged 和 onUnreadCountChangedByFilter 回调,同步数据库和缓存。 + */ + fun clearUnreadCountByIds(conversationId: String) { + v2NIMConversationService.clearUnreadCountByIds(listOf(conversationId), { + log("标记会话已读成功 ${Gson().toJson(it)}") + }) { + log("标记会话已读失败 onFailed errorCode:${it.code} desc:$${it.desc}") + } + } + + /** + * 未读数清零 + */ + fun clearTotalUnreadCount() { + v2NIMConversationService.clearTotalUnreadCount({ + log("未读数清零成功") + }) { + log("未读数清零失败 onFailed errorCode:${it.code} desc:$${it.desc}") + } + } + + private fun updateMyIMUserInfo() { +// val user = getUserInfo(account) +// try { +// user?.extensionMap?.let { extension -> +// +// val fields = kotlin.collections.HashMap().apply { +// put(UserInfoFieldEnum.EXTEND, Gson().toJson(extension)) +// } +// NIMClient.getService(UserService::class.java).updateUserInfo(fields) +// .setCallback(object : RequestCallbackWrapper() { +// override fun onResult(code: Int, result: Void?, exception: Throwable?) { +// Timber.d("updateUserInfo code: $code}") +// Timber.d("updateUserInfo res: ${user.extension}") +// } +// }) +// } +// } catch (e: Exception) { +// Timber.d("NIMClient-updateUserInfo-error : ${e.localizedMessage}") +// } + } + + private val _messageStatus = MutableLiveData() + val messageStatus: LiveData = _messageStatus + + private val messageStatusObserver: Observer = Observer { + Timber.d("observeMsgStatus:${Gson().toJson(it)}") + if (it.status == MsgStatusEnum.success) { + // 1、根据sessionId判断是否是自己的消息 + // 2、更改内存中消息的状态 + // 3、刷新界面 + _messageStatus.value = it + } + } + + + fun v2SendMessage(v2Message: V2NIMMessage, accountId: String?, errorCallback: ((Int) -> Unit)? = null) { + val conversationId = + V2NIMConversationIdUtil.conversationId(accountId, V2NIMConversationType.V2NIM_CONVERSATION_TYPE_P2P) + + val messageConfig = V2NIMMessageConfig.V2NIMMessageConfigBuilder + .builder() + .build() + val sendMessageParams = V2NIMSendMessageParams.V2NIMSendMessageParamsBuilder + .builder() + .withMessageConfig(messageConfig) + .build() + v2MessageService.sendMessage(v2Message, conversationId, sendMessageParams, { result -> + val message = result.message + log("发送消息成功: $message") + }, { failure -> + log("发送消息, code: " + failure.code + ", message: " + failure.desc) + when (failure.code) { + SEND_IM_INSUFFICIENT_BALANCE -> { + CommonApplicationProxy.application.toast(R.string.insufficient_balance) + WalletManager.refreshWallet() + } + } + errorCallback?.invoke(failure.code) + }) { progress -> + log("发送消息进度: $progress") + } + } + + /** + * 打开、关闭推送服务 + */ + fun setPushAlter(isOpen: Boolean, callback: RequestCallback? = null) { + + } + + fun setChattingAccount(account: String) { + // 进入聊天界面,建议放在onResume中。表示来自account的消息无需进行消息提醒。 + NIMClient.getService(MsgService::class.java).setChattingAccount(account, SessionTypeEnum.P2P) + } + + fun setChattingAccountAll() { + // 进入最近联系人列表界面,建议放在onResume中。表示所有消息无需进行消息提醒。 + NIMClient.getService(MsgService::class.java) + .setChattingAccount(MsgService.MSG_CHATTING_ACCOUNT_ALL, SessionTypeEnum.None) + } + + fun setChattingAccountNone() { + // 退出聊天界面或离开最近联系人列表界面,建议放在onPause中。表示所有消息都可以进行消息提醒。 + NIMClient.getService(MsgService::class.java) + .setChattingAccount(MsgService.MSG_CHATTING_ACCOUNT_NONE, SessionTypeEnum.None) + } + +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/pay/GooglePayManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/pay/GooglePayManager.kt new file mode 100644 index 0000000..d5c27b5 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/manager/pay/GooglePayManager.kt @@ -0,0 +1,476 @@ +package com.remax.visualnovel.manager.pay + +import android.app.Activity +import android.os.Handler +import android.os.Looper +import android.os.Message +import com.android.billingclient.api.AcknowledgePurchaseParams +import com.android.billingclient.api.BillingClient +import com.android.billingclient.api.BillingClientStateListener +import com.android.billingclient.api.BillingFlowParams +import com.android.billingclient.api.BillingFlowParams.SubscriptionUpdateParams.ReplacementMode +import com.android.billingclient.api.BillingResult +import com.android.billingclient.api.ConsumeParams +import com.android.billingclient.api.ProductDetails +import com.android.billingclient.api.Purchase +import com.android.billingclient.api.PurchasesUpdatedListener +import com.android.billingclient.api.QueryProductDetailsParams +import com.android.billingclient.api.QueryPurchasesParams +import com.remax.visualnovel.R +import com.remax.visualnovel.api.factory.ServiceFactory +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.app.base.app.CommonApplicationProxy +import com.remax.visualnovel.constant.StatusCode +import com.remax.visualnovel.entity.request.ChargeProduct +import com.remax.visualnovel.entity.request.ValidateTransactionDTO +import com.remax.visualnovel.entity.response.SubPrice +import com.remax.visualnovel.entity.response.base.parseData +import com.remax.visualnovel.extension.launchFlow +import com.remax.visualnovel.repository.api.PayRepository +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.utils.TimeUtils +import com.remax.visualnovel.utils.analytics.AnalyticsUtils +import com.google.gson.Gson +import com.pengxr.modular.eventbus.generated.events.EventDefineOfWalletEvents +import com.remax.visualnovel.configs.NovelApplication +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import timber.log.Timber +import java.math.BigDecimal +import java.math.RoundingMode + +/** + * Created by HJW on 2022/6/28 + */ +object GooglePayManager : PurchasesUpdatedListener { + + private val payRepository by lazy { + PayRepository(ServiceFactory.createService()) + } + + private var isConnected = false + + private var billingClient: BillingClient? = null + + private var queryProductTime = 0L + + var productDetails = listOf() + private set + var subProductDetails: MutableList = arrayListOf() + private set + + private val mHandler: Handler = object : Handler(Looper.getMainLooper()) { + override fun handleMessage(msg: Message) { + if (msg.what == 100) { + queryPurchases() + } + } + } + + fun startConnection(callback: () -> Unit, errorCallback: (() -> Unit)? = null) { + if (billingClient == null) { + billingClient = + BillingClient.newBuilder(CommonApplicationProxy.application).enablePendingPurchases().setListener(this) + .build() + } + if (isConnected && billingClient?.isReady == true) { + Timber.d("Google Play正常连接") + callback.invoke() + } else { + billingClient?.startConnection(object : BillingClientStateListener { + override fun onBillingSetupFinished(billingResult: BillingResult) { + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + isConnected = true + callback.invoke() + } else { + isConnected = false + errorCallback?.invoke() + Timber.e("GooglePay连接失败") + } + } + + override fun onBillingServiceDisconnected() { + isConnected = false + // Try to restart the connection on the next request to + // Google Play by calling the startConnection() method. + Timber.e("GooglePay断开连接") + } + }) + } + } + + /** + * 检查本地商品是否为空 + */ + fun checkProductDetails() { + startConnection({ + /** + * 如果距离上次查询时间超过10分钟,则清空重新查询,防止商品token过期 + */ + if (System.currentTimeMillis() - queryProductTime > 10 * TimeUtils.ONE_MINUTE) { + queryProductTime = System.currentTimeMillis() + queryAllProductDetails() + } else { + if (productDetails.isEmpty()) { + queryAllProductDetails(isSubs = false) + } + if (subProductDetails.isEmpty()) { + queryAllProductDetails(isConsume = false) + } + } + }) + } + + private var productList = arrayListOf() + private var subList = arrayListOf() + + private fun queryProductDetails() { + val immutableList = arrayListOf() + productList.forEach { product -> + immutableList.add( + QueryProductDetailsParams.Product.newBuilder() + .setProductId(product.productId) + .setProductType(BillingClient.ProductType.INAPP) + .build() + ) + } + if (immutableList.isNotEmpty()) { + val queryProductDetailsParams = QueryProductDetailsParams.newBuilder() + .setProductList(immutableList) + .build() + billingClient?.queryProductDetailsAsync( + queryProductDetailsParams + ) { billingResult, productDetailsList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + productDetailsList.forEach { + Timber.d("GooglePay 查询一次性商品本地化 : $it") + } + productDetails = productDetailsList + queryPurchases() + } + } + } + } + + private fun querySubProductDetails() { + val immutableList = arrayListOf() + subList.forEach { product -> + immutableList.add( + QueryProductDetailsParams.Product.newBuilder() + .setProductId(product.productId) + .setProductType(BillingClient.ProductType.SUBS) + .build() + ) + } + if (immutableList.isNotEmpty()) { + val queryProductDetailsParams = QueryProductDetailsParams.newBuilder() + .setProductList(immutableList) + .build() + billingClient?.queryProductDetailsAsync( + queryProductDetailsParams + ) { billingResult, productDetailsList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + productDetailsList.forEach { + Timber.d("GooglePay 查询订阅商品本地化 : $it") + } + subProductDetails.clear() + subProductDetails.addAll(productDetailsList) + } + } + } + } + + /** + * 查询所有商品 + */ + fun queryAllProductDetails(isConsume: Boolean = true, isSubs: Boolean = true) { + if (isConsume) { + CoroutineScope(Dispatchers.Main).launch { + launchFlow({ + payRepository.getProducts() + }).collect { + it.parseData({ + onSuccess = { productInfo -> + productList.clear() + productList.addAll(productInfo?.productList ?: emptyList()) + queryProductDetails() + } + + onFailed = { _, errorMsg -> + Timber.e("GooglePay google支付单例查询充值接口报错 msg:${errorMsg}") + } + }) + } + } + } + + if (isSubs) { + CoroutineScope(Dispatchers.Main).launch { + launchFlow({ + payRepository.getSubPriceList() + }).collect { + it.parseData({ + onSuccess = { group -> + subList.clear() + subList.addAll(group?: emptyList()) + querySubProductDetails() + } + + onFailed = { _, errorMsg -> + Timber.e("GooglePay google支付单例查询订阅商品接口报错 msg:${errorMsg}") + } + }) + } + } + } + } + + /** + * 发起支付 + */ + fun pay( + activity: Activity, + productId: String, + isSub: Boolean = false, + oldPurchaseToken: String = "", + tradeNo: String = "", + errorCallback: (() -> Unit)? = null + ) { + startConnection({ + queryProductDetails( + activity, + productId, + if (isSub) BillingClient.ProductType.SUBS else BillingClient.ProductType.INAPP, + oldPurchaseToken, + tradeNo, + errorCallback + ) + }) { + errorCallback?.invoke() + } + } + + /** + * 查询商品 + */ + private fun queryProductDetails( + activity: Activity, + productId: String, + type: String, + oldPurchaseToken: String = "", + tradeNo: String = "", + errorCallback: (() -> Unit)? = null + ) { + val queryProductDetailsParams = + QueryProductDetailsParams.newBuilder() + .setProductList( + arrayListOf( + QueryProductDetailsParams.Product.newBuilder() + .setProductId(productId) + .setProductType(type) + .build() + ) + ) + .build() + + billingClient?.queryProductDetailsAsync( + queryProductDetailsParams + ) { billingResult, productDetailsList -> + // check billingResult + if (billingResult.responseCode != BillingClient.BillingResponseCode.OK) { + Timber.e("GooglePay queryProductDetailsAsync onFailed") + errorCallback?.invoke() + } else { + /** + * 启动购买流程 + */ + productDetailsList.forEach { productDetails -> + val flowParamsBuilder = BillingFlowParams.ProductDetailsParams.newBuilder() + // retrieve a value for "productDetails" by calling queryProductDetailsAsync() + .setProductDetails(productDetails) + if (type == BillingClient.ProductType.SUBS) { + val offerToken = productDetails?.subscriptionOfferDetails?.get(0)?.offerToken ?: "" + flowParamsBuilder.setOfferToken(offerToken) + } + val flowParams = flowParamsBuilder.build() + val billingFlowParamsBuilder = + BillingFlowParams.newBuilder().setProductDetailsParamsList(arrayListOf(flowParams)) + if (type == BillingClient.ProductType.SUBS && oldPurchaseToken.isNotEmpty()) { + billingFlowParamsBuilder.setSubscriptionUpdateParams( + BillingFlowParams.SubscriptionUpdateParams.newBuilder() + // purchaseToken can be found in Purchase#getPurchaseToken + .setOldPurchaseToken(oldPurchaseToken) + .setSubscriptionReplacementMode(ReplacementMode.DEFERRED) +// .setReplaceProrationMode(BillingFlowParams.ProrationMode.DEFERRED) + .build() + ) + } + val billingFlowParams = billingFlowParamsBuilder + .setObfuscatedAccountId(tradeNo) + .setObfuscatedProfileId(tradeNo) + .build() + // Launch the billing flow + val billingFlowParamsResult = billingClient?.launchBillingFlow(activity, billingFlowParams) + if (billingFlowParamsResult?.responseCode != BillingClient.BillingResponseCode.OK) { + Timber.e("GooglePay launchBillingFlow onFailed") + errorCallback?.invoke() + } + } + } + } + } + + /** + * 将购买操作的结果传送给实现 PurchasesUpdatedListener 接口的监听器 + */ + override fun onPurchasesUpdated(billingResult: BillingResult, purchases: MutableList?) { + Timber.d("GooglePay 购买操作结果回调 billingResult:$billingResult res:${Gson().toJson(purchases)} ") + when { + billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchases != null -> { + queryPurchases() + } + + billingResult.responseCode == BillingClient.BillingResponseCode.USER_CANCELED -> { + //取消购买 + } + + else -> { +// showError() + } + } + } + + /** + * 查询购买交易记录 + */ + fun queryPurchases() { + startConnection({ + billingClient?.queryPurchasesAsync( + QueryPurchasesParams.newBuilder() + .setProductType(BillingClient.ProductType.INAPP) + .build() + ) { billingResult, purchases -> + Timber.d("GooglePay 查询一次性消费商品 billingResult:$billingResult res:$purchases} ") + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + if (purchases.isNotEmpty()) { + purchases.forEach { + handlePurchase(it, BillingClient.ProductType.INAPP) + } + } + } + } + + billingClient?.queryPurchasesAsync( + QueryPurchasesParams.newBuilder() + .setProductType(BillingClient.ProductType.SUBS) + .build() + ) { billingResult, purchases -> + Timber.d("GooglePay 查询订阅商品 billingResult:$billingResult res:${Gson().toJson(purchases)} ") + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchases.isNotEmpty()) { + for (purchase in purchases) { + handlePurchase(purchase, BillingClient.ProductType.SUBS) + } + } + } + }) + } + + /** + * 处理消费 + */ + private fun handlePurchase(purchase: Purchase, type: String) { + if (!purchase.isAcknowledged) { + //订阅 + if (type == BillingClient.ProductType.SUBS) { + val build = AcknowledgePurchaseParams.newBuilder() + .setPurchaseToken(purchase.purchaseToken) + .build() + billingClient?.acknowledgePurchase(build) { billingResult -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + //订阅成功 + EventDefineOfWalletEvents.onGoogleSubSucceeded().post(purchase.purchaseToken) + } + } + } + //一次性消费 + else { + val consumeParams = ConsumeParams.newBuilder() + .setPurchaseToken(purchase.purchaseToken) + .build() + billingClient?.consumeAsync(consumeParams) { billingResult, purchaseToken -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + //消费成功 + try { + var currency = "USD" + var price = 0.00 + productDetails.find { it?.productId == purchase.products[0] }?.let { productDetails -> + currency = productDetails.oneTimePurchaseOfferDetails?.priceCurrencyCode ?: "USD" + price = + BigDecimal( + productDetails.oneTimePurchaseOfferDetails?.priceAmountMicros ?: 0L + ).divide( + BigDecimal(1000000), + 2, + RoundingMode.DOWN + ).setScale(2, BigDecimal.ROUND_DOWN).toDouble() + } + val orderId = purchase.orderId + val productId = purchase.products[0] + Timber.d("GooglePay 本次消费的数据 orderId:$orderId productId:$productId currency:$currency price:$price") + validateToken(purchaseToken, productId, orderId, currency, price) + } catch (e: Exception) { + Timber.e("GooglePay 消费回调报错 msg:${e.localizedMessage}") + } + } else { + //消费失败, 后面查询消费记录后再次消费,否则,就只能等待退款 + Timber.d("GooglePay consumeAsync failed") + mHandler.removeMessages(100) + mHandler.sendEmptyMessageDelayed(100, TimeUtils.ONE_MINUTE) + } + } + } + } + } + + /** + * 后端入账,并且查询钱包 + * 验证支付结果, 如果成功, 则服务器端增加buff + */ + private fun validateToken( + purchaseToken: String, + productId: String, + orderId: String?, + currency: String, + price: Double + ) { + val currActivity = NovelApplication.getCurrentActivity() + val dto = ValidateTransactionDTO(productId, purchaseToken) + CoroutineScope(Dispatchers.IO).launch { + launchFlow({ + payRepository.validateTranslation(dto) + }, { + (currActivity as? BaseBindingActivity<*>)?.showLoading() + }) { + (currActivity as? BaseBindingActivity<*>)?.hideLoading() + }.collect { + it.parseData({ + onSuccess = { + (currActivity as? BaseBindingActivity<*>)?.showToast(R.string.charge_succeeded) + AnalyticsUtils.logAnalytics("Charge_CheckOut_Success") + //充值成功通知 + EventDefineOfWalletEvents.chargeSucceeded().post(null) + WalletManager.refreshWallet() + } + + onFailed = { errorCode, _ -> + if (errorCode == StatusCode.UNUSED_PURCHASE_TOKEN.code) { + WalletManager.refreshWallet() + } + } + }) + } + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/AIRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/AIRepository.kt new file mode 100644 index 0000000..86903cf --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/AIRepository.kt @@ -0,0 +1,229 @@ +package com.remax.visualnovel.repository.api + +import com.remax.visualnovel.R +import com.remax.visualnovel.api.service.AIService +import com.remax.visualnovel.app.base.app.CommonApplicationProxy +import com.remax.visualnovel.entity.request.AIGenerate +import com.remax.visualnovel.entity.request.AIGenerateImage +import com.remax.visualnovel.entity.request.AIHeadImgRequest +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.request.AlbumCreate +import com.remax.visualnovel.entity.request.AlbumDTO +import com.remax.visualnovel.entity.request.CardRequest +import com.remax.visualnovel.entity.request.ChatAlbum +import com.remax.visualnovel.entity.request.ClassificationRequest +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.request.QueryAlbumDTO +import com.remax.visualnovel.entity.request.SimpleCountDTO +import com.remax.visualnovel.entity.response.Album +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.base.ApiFailedResponse +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.event.model.OnAILiked +import com.remax.visualnovel.extension.toast +import com.remax.visualnovel.manager.login.LoginManager +import com.remax.visualnovel.repository.api.base.BaseRepository +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserAIEvents +import javax.inject.Inject + +/** + * Created by HJW on 2022/11/15 + */ +class AIRepository @Inject constructor(private val aiService: AIService) : BaseRepository() { + + suspend fun cardBind(aiId: String) = executeHttp { + aiService.cardBind(AIIDRequest(aiId)) + } + + suspend fun cardLiked() = executeHttp { + aiService.cardLiked() + } + + suspend fun reportCard(request: CardRequest) = executeHttp(false) { + aiService.reportCard(request) + } + + suspend fun getHomeCard(request: ClassificationRequest) = executeHttp { + aiService.getHomeCard(request) + } + + suspend fun getHomeCardDetail(aiId: String) = executeHttp { + aiService.getHomeCardDetail(AIIDRequest(aiId)) + } + + suspend fun getClassificationList(request: ClassificationRequest) = executeHttp { + aiService.getClassificationList(request) + } + + suspend fun getHeartbeatRank() = executeHttp { + aiService.getHeartbeatRank() + } + + suspend fun getGiftRank() = executeHttp { + aiService.getGiftRank() + } + + suspend fun getChatRank() = executeHttp { + aiService.getChatRank() + } + + suspend fun getExploreInfo() = executeHttp { + aiService.getExploreInfo() + } + + + suspend fun unlockSecret(dto: AIIDRequest): Response { + return if (WalletManager.balance < 5000L) { + WalletManager.showChargeDialog() + ApiFailedResponse() + } else { + executeHttp { + aiService.unlockSecret(dto) + } + }.transformResult({ + WalletManager.refreshWallet() + }) + } + + suspend fun unlockAlbum(dto: ChatAlbum): Response { + return if ((dto.unlockPrice ?: 0) > WalletManager.balance) { + WalletManager.showChargeDialog() + ApiFailedResponse() + } else { + executeHttp { + aiService.unlockAlbum(dto) + } + }.transformResult({ + WalletManager.refreshWallet() + }) + } + + suspend fun setAlbumUnlockPrice(dto: AlbumDTO) = executeHttp { + aiService.setAlbumUnlockPrice(dto) + } + + suspend fun setAILikeOrCancel(dto: AlbumDTO) = executeHttp { + aiService.setAILikeOrCancel(dto) + }.transformResult({ + EventDefineOfUserAIEvents.onAILikedChanged().post(OnAILiked(dto.aiId,dto.liked)) + }) + + suspend fun deleteAICharacter(aiId: String) = executeHttp { + aiService.deleteAICharacter(Character(aiId)) + }.transformResult({ + CommonApplicationProxy.application.toast(R.string.delete_succeed_toast) + EventDefineOfUserAIEvents.onAICharacterChanges().post(aiId) + }) + + suspend fun setAlbumDefault(aiId: String, albumId: Long) = executeHttp { + aiService.setAlbumDefault(AlbumDTO(aiId = aiId, albumId = albumId)) + }.transformResult({ + EventDefineOfUserAIEvents.onAIHomeImageChanges().post(aiId) + }) + + suspend fun editAIAvatar(request: AIHeadImgRequest) = executeHttp { + aiService.editAIAvatar(request) + } + + suspend fun createOrEditAICharacter(request: Character) = executeHttp { + aiService.createOrEditAICharacter(request) + }.transformResult({ + EventDefineOfUserAIEvents.onAICharacterChanges().post(it?.aiId) + }) + + suspend fun generateAICharacter(request: AIGenerate) = executeHttp { + aiService.generateAICharacter(request) + } + + suspend fun getAICharacter(aiId: String) = executeHttp { + aiService.getAICharacter(Character(aiId = aiId)) + } + + suspend fun getAICharacterProfile(aiId: String) = executeHttp { + aiService.getAICharacterProfile(Character(aiId = aiId)) + } + + suspend fun getAICharacterStat(aiId: String) = executeHttp { + aiService.getAICharacterStat(Character(aiId = aiId)) + } + + suspend fun addAlbum(request: AlbumCreate) = executeHttp { + aiService.addAlbum(request) + } + + suspend fun getAlbumCreateCount() = executeHttp { + aiService.getAlbumCreateCount() + } + + suspend fun buyAlbumCreateCount(count: Int) = executeHttp { + aiService.buyAlbumCreateCount(SimpleCountDTO(count)) + }.transformResult({ + WalletManager.refreshWallet() + }) + + suspend fun addChatBackground(request: AlbumCreate) = executeHttp { + aiService.addChatBackground(request) + } + + /** + * 喜欢或取消喜欢相片 + */ + suspend fun setLikeOrDislike(albumId: Long, isLike: Boolean) = executeHttp { + aiService.setLikeOrDislike(AlbumDTO(albumId, if (isLike) Album.CANCELED else Album.LIKED)) + } + + /** + * 删除相片 + */ + suspend fun deleteAlbum(albumId: Long) = executeHttp { + aiService.deleteAlbum(AlbumDTO(albumId, userId = LoginManager.user?.userId)) + } + + suspend fun getAlbumList(dto: QueryAlbumDTO) = executeHttp { + aiService.getAlbumList(dto) + }.transformResult({ + it?.datas?.forEach { item -> + item.userId = dto.userId + item.aiId = dto.aiId + } + }) + + suspend fun getUserGiftList(aiId: String) = executeHttp { + aiService.getUserGiftList(QueryAlbumDTO(aiId, null, PageQuery.Page(1).apply { this.ps = 100 })) + } + + suspend fun generateImageBatch(request: AIGenerateImage) = executeHttp { + aiService.generateImageBatch(request.apply { + hl = this.aiId != null + }) + }.transformResult({ + when(request.type){ + /** + * 生成背景每次都要扣钱 + */ + AIGenerateImage.BACKGROUND -> WalletManager.refreshWallet() + } + }) + + /** + * AI一键生成-删除图片生成任务 + */ + suspend fun generateImageBatchDel(batchNo: String) = executeHttp { + aiService.generateImageBatchDel(AIGenerateImage(batchNo = batchNo)) + } + + /** + * AI一键生成-轮询查询图片生成结果 + */ + suspend fun generateImageBatchQuery(batchNo: String) = executeHttp { + aiService.generateImageBatchQuery(AIGenerateImage(batchNo = batchNo)) + } + + /** + * 获取相册 分页 + */ +// suspend fun getAlbumList(userId: Int, custId: String?, id: Int, imgOrder: Int) = executeHttp { +// userService.getAlbumList(QueryAlbumDTO(userId, custId, id, imgOrder)) +// } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ChatRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ChatRepository.kt new file mode 100644 index 0000000..4c35748 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/ChatRepository.kt @@ -0,0 +1,133 @@ +package com.remax.visualnovel.repository.api + +import com.pengxr.modular.eventbus.generated.events.EventDefineOfChatSettingEvents +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserAIEvents +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.api.service.ChatService +import com.remax.visualnovel.entity.request.AIFeedback +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.request.AIIsShowDTO +import com.remax.visualnovel.entity.request.ChatAlbum +import com.remax.visualnovel.entity.request.ChatSetting +import com.remax.visualnovel.entity.request.HeartbeatBuy +import com.remax.visualnovel.entity.request.RTCRequest +import com.remax.visualnovel.entity.request.SearchPage +import com.remax.visualnovel.entity.request.SimpleDataDTO +import com.remax.visualnovel.entity.request.VoiceTTS +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.ChatSet +import com.remax.visualnovel.repository.api.base.BaseRepository +import com.remax.visualnovel.ui.chat.message.events.model.ChatSetAutoPlayEvent +import com.remax.visualnovel.ui.chat.message.events.model.ChatSetBackgroundEvent +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import javax.inject.Inject + +/** + * Created by HJW on 2022/11/15 + */ +class ChatRepository @Inject constructor(private val chatService: ChatService) : BaseRepository() { + + suspend fun sendDialogueMsg(aiId: String) = executeHttp { + chatService.sendDialogueMsg(AIIDRequest(aiId)) + } + + suspend fun viewAlbumImg(request: ChatAlbum) = executeHttp { + chatService.viewAlbumImg(request) + } + + suspend fun getIMAICharacterProfile(aiId: String) = executeHttp { + chatService.getIMAICharacterProfile(Character(aiId = aiId)) + } + + suspend fun getMyFriends(request: SearchPage) = executeHttp { + chatService.getMyFriends(request) + } + + suspend fun getMyFriendRank() = executeHttp { + chatService.getMyFriendRank() + } + + suspend fun getPrompts(aiId: String) = executeHttp { + chatService.getPrompts(AIIDRequest(aiId)) + }.transformResult({ + WalletManager.refreshWallet() + }) + + suspend fun aiFeedback(request: AIFeedback) = executeHttp { + chatService.aiFeedback(request) + } + + suspend fun getRTCToken(roomId: String) = executeHttp { + chatService.getRTCToken(RTCRequest(roomId)) + } + + suspend fun voiceChatOpt(request: RTCRequest) = executeHttp { + chatService.voiceChatOpt(request) + } + + suspend fun getChatBackgroundList(aiId: String) = executeHttp { + chatService.getChatBackgroundList(AIIDRequest(aiId)) + } + + suspend fun getChatSetting(aiId: String?) = executeHttp { + chatService.getChatSetting(ChatSetting(aiId)) + } + + suspend fun setChatSetting(request: ChatSet) = executeHttp { + chatService.setChatSetting(request) + }.transformResult({ + EventDefineOfUserEvents.onUserInfoChanged().post(null) + }) + + suspend fun setChatBubble(request: ChatSetting) = executeHttp { + chatService.setChatBubble(request) + } + + suspend fun setChatModel(request: ChatSetting) = executeHttp { + chatService.setChatModel(request) + } + + suspend fun setChatAutoPlay(request: ChatSetting) = executeHttp { + chatService.setChatAutoPlay(request) + }.transformResult({ + EventDefineOfChatSettingEvents.settingChanged() + .post(ChatSetAutoPlayEvent(request.aiId ?: "", if (request.isAutoPlayVoice == true) 1 else 0)) + }) + + + suspend fun setChatBackground(request: ChatSetting) = executeHttp { + chatService.setChatBackground(request) + }.transformResult({ + EventDefineOfChatSettingEvents.settingChanged() + .post(ChatSetBackgroundEvent(request.aiId ?: "", request.backgroundImg)) + }) + + suspend fun deleteChatBackground(request: ChatSetting) = executeHttp { + chatService.deleteChatBackground(request) + } + + suspend fun relationSwitch(request: AIIsShowDTO) = executeHttp { + chatService.relationSwitch(request) + }.transformResult({ + EventDefineOfUserAIEvents.onAIHeartIsOpenChanged().post(request) + }) + + suspend fun voiceASR(aiId: String, url: String?) = executeHttp { + chatService.voiceASR(SimpleDataDTO(aiId = aiId, url = url)) + }.transformResult({ + WalletManager.refreshWallet() + }) + + suspend fun voiceTTS(request: VoiceTTS) = executeHttp { + chatService.voiceTTS(request) + } + + suspend fun getHeartbeatLevel(aiId: String) = executeHttp { + chatService.getHeartbeatLevel(Character(aiId = aiId)) + } + + suspend fun buyHeartbeatVal(request: HeartbeatBuy) = executeHttp { + chatService.buyHeartbeatVal(request) + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/DictRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/DictRepository.kt index 3dacf11..f8a4b9c 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/DictRepository.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/DictRepository.kt @@ -2,6 +2,7 @@ package com.remax.visualnovel.repository.api import com.remax.visualnovel.api.service.DictService +import com.remax.visualnovel.entity.request.AIIDRequest import com.remax.visualnovel.repository.api.base.BaseRepository import javax.inject.Inject @@ -10,7 +11,7 @@ import javax.inject.Inject */ class DictRepository @Inject constructor(private val dictService: DictService) : BaseRepository() { - /*suspend fun getChatBubbleList(aiId: String) = executeHttp { + suspend fun getChatBubbleList(aiId: String) = executeHttp { dictService.getChatBubbleList(AIIDRequest(aiId)) } @@ -20,6 +21,6 @@ class DictRepository @Inject constructor(private val dictService: DictService) : suspend fun getGiftDict() = executeHttp(false) { dictService.getGiftDict() } - suspend fun getAIChatModel() = executeHttp { dictService.getAIChatModel() }*/ + suspend fun getAIChatModel() = executeHttp { dictService.getAIChatModel() } } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/MessageRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/MessageRepository.kt index 5c68926..2101984 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/MessageRepository.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/MessageRepository.kt @@ -1,8 +1,34 @@ package com.remax.visualnovel.repository.api +import android.os.Handler +import android.os.Looper +import com.google.gson.Gson +import com.netease.nimlib.sdk.NIMClient +import com.netease.nimlib.sdk.v2.conversation.V2NIMConversationService +import com.netease.nimlib.sdk.v2.message.V2NIMMessage +import com.netease.nimlib.sdk.v2.message.V2NIMMessageListener +import com.netease.nimlib.sdk.v2.message.V2NIMMessageService +import com.netease.nimlib.sdk.v2.message.enums.V2NIMMessageQueryDirection +import com.netease.nimlib.sdk.v2.message.option.V2NIMCloudMessageListOption import com.remax.visualnovel.api.service.MessageService +import com.remax.visualnovel.entity.imbean.IMMessageWrapper +import com.remax.visualnovel.entity.request.AIListRequest +import com.remax.visualnovel.entity.request.Gift +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.request.SendGift +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.base.ApiFailedResponse +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.extension.resumeWithActive +import com.remax.visualnovel.manager.login.LoginManager +import com.remax.visualnovel.manager.nim.FetchResult +import com.remax.visualnovel.manager.nim.LoadStatus +import com.remax.visualnovel.manager.nim.NimManager import com.remax.visualnovel.repository.api.base.BaseRepository +import com.remax.visualnovel.repository.ext.convertMessage +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import kotlinx.coroutines.suspendCancellableCoroutine import javax.inject.Inject @@ -11,5 +37,135 @@ import javax.inject.Inject */ class MessageRepository @Inject constructor(private val messageService: MessageService) : BaseRepository() { + private val v2NIMConversationService by lazy { + NIMClient.getService(V2NIMConversationService::class.java) + } + + /** + * 批量删除会话 + */ + fun deleteConversationListByIds(ids: List, callback: () -> Unit) { + v2NIMConversationService.deleteConversationListByIds(ids, true, { + NimManager.log("删除会话成功 ${Gson().toJson(it)}") + callback.invoke() + }) { + NimManager.log("删除会话失败 ${Gson().toJson(it)}") + } + } + + suspend fun deleteConversation(aiIdList: List) = executeHttp { + messageService.deleteConversation(AIListRequest(aiIdList)) + } + + private val messageFetchResult = FetchResult>(LoadStatus.Finish) + + /** + * 分页查询历史消息 + */ + suspend fun getMessageList(conversationId: String, anchorMessage: V2NIMMessage? = null, character: Character?) = + suspendCancellableCoroutine { coroutine -> + coroutine.invokeOnCancellation { + coroutine.resumeWithActive(messageFetchResult) + } + val optionBuilder = V2NIMCloudMessageListOption.V2NIMCloudMessageListOptionBuilder + .builder(conversationId) + .withDirection(V2NIMMessageQueryDirection.V2NIM_QUERY_DIRECTION_DESC) + + if (anchorMessage != null) { + optionBuilder.withAnchorMessage(anchorMessage) + optionBuilder.withEndTime(anchorMessage.createTime) + } + + val option = optionBuilder.build() + // 此处避免在获取 anchor 消息后被之前消息添加导致ui移位,因此将 anchor 之前消息请求添加到后续的主线程事件队列中 + Handler(Looper.getMainLooper()) + .post { + // 调用接口 + v2MessageService.getCloudMessageList(option, { result -> + NimManager.log("查询云端消息成功") + val messages = result?.messages + val anchorMessage = result.anchorMessage + NimManager.log("获取到 " + messages?.size + " 条消息") + + val loadStatus = if (messages.isNullOrEmpty()) LoadStatus.Finish else LoadStatus.Success + messageFetchResult.loadStatus = loadStatus + messageFetchResult.data = messages?.convertMessage(anchorMessage != null, character) + messageFetchResult.extraInfo = anchorMessage + + if (anchorMessage != null) { + NimManager.log("还有更多消息,下次查询锚点: " + anchorMessage.messageClientId) + } else { + NimManager.log("没有更多消息了") + } + + coroutine.resumeWithActive(messageFetchResult) + }) { error -> + NimManager.log("查询云端消息失败, code: " + error.code + ", message: " + error.desc) + messageFetchResult.setError(error.code, error.desc) + messageFetchResult.data = null + messageFetchResult.extraInfo = null + + coroutine.resumeWithActive(messageFetchResult) + } + } + } + + private val v2MessageService by lazy { + NIMClient.getService(V2NIMMessageService::class.java) + } + + /** + * 添加消息监听 + */ + fun setMessageListener(register: Boolean, listener: V2NIMMessageListener) { + if (register) { + v2MessageService.addMessageListener(listener) + } else { + v2MessageService.removeMessageListener(listener) + } + } + + /** + * 接收方消息已读 + */ + fun sendP2PMessageReceipt(v2Message: V2NIMMessage) { + v2MessageService.sendP2PMessageReceipt(v2Message, { + NimManager.log("接收方消息已读: $v2Message") + }) { + NimManager.log("接收方消息已读失败 ${it.code} -- ${it.desc}") + } + } + + fun sendMessage(v2Message: V2NIMMessage, accountId: String?, errorCallback: (Int) -> Unit) { + NimManager.v2SendMessage(v2Message, accountId, errorCallback) + } + + suspend fun sendGift(dto: SendGift, gift: Gift): Response { + val totalPrice = gift.price * dto.num + return if (totalPrice > WalletManager.balance) { + WalletManager.showChargeDialog() + ApiFailedResponse() + } else { + executeHttp { + messageService.sendGift(dto) + }.transformResult({ + WalletManager.refreshWallet() + }) + } + } + + suspend fun getMessageStat() = executeHttp(false) { + messageService.getMessageStat() + }.transformResult({ + LoginManager.contactUnreadCount = it?.unRead ?: 0 + }) + + /** + * 系统通知列表 + */ + suspend fun getMessageList(pn: Int) = executeHttp { + messageService.getMessageList(PageQuery(pn)) + } + } diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/OssRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/OssRepository.kt new file mode 100644 index 0000000..000a45a --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/OssRepository.kt @@ -0,0 +1,43 @@ +package com.remax.visualnovel.repository.api + +import com.remax.visualnovel.api.service.OssService +import com.remax.visualnovel.entity.request.ImgCheckDTO +import com.remax.visualnovel.entity.request.S3TypeDTO +import com.remax.visualnovel.entity.request.SimpleContentDTO +import com.remax.visualnovel.entity.response.BucketBean +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.repository.api.base.BaseRepository +import javax.inject.Inject + +/** + * Created by HJW on 2022/10/27 + * + * 应用相关 + */ +class OssRepository @Inject constructor( + private val ossService: OssService +) : BaseRepository() { + + /** + * 获取aws s3 bucket信息 + */ + suspend fun getS3Bucket(ossType: String, postfix: String): Response = + executeHttp { + val bucketDTO = S3TypeDTO(ossType, postfix) + ossService.getS3Bucket(bucketDTO) + } + + /** + * 图片鉴黄 + */ + suspend fun checkS3Img(imgCheckDTO: ImgCheckDTO): Response = + executeHttp { + ossService.checkS3Img(imgCheckDTO = imgCheckDTO) + } + + suspend fun checkText(content: String): Response = + executeHttp { + ossService.checkText(simpleContentDTO = SimpleContentDTO(content)) + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/PayRepository.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/PayRepository.kt new file mode 100644 index 0000000..7937daf --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/api/PayRepository.kt @@ -0,0 +1,86 @@ +package com.remax.visualnovel.repository.api + +import com.remax.visualnovel.api.service.PayService +import com.remax.visualnovel.entity.request.ChargeOrderDTO +import com.remax.visualnovel.entity.request.ChargeProduct +import com.remax.visualnovel.entity.request.ChargeProductInfo +import com.remax.visualnovel.entity.request.SearchPage +import com.remax.visualnovel.entity.request.ValidateTransactionDTO +import com.remax.visualnovel.entity.response.UserSubInfo +import com.remax.visualnovel.entity.response.Wallet +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.repository.api.base.BaseRepository +import com.pengxr.modular.eventbus.generated.events.EventDefineOfWalletEvents +import javax.inject.Inject + +/** + * Created by HJW on 2022/11/8 + * + * 支付相关 + */ +class PayRepository @Inject constructor( + private val accountService: PayService, +) : BaseRepository() { + + suspend fun getVipPrivilegeList() = executeHttp { + accountService.getVipPrivilegeList() + } + + suspend fun getTransactionList(request: SearchPage) = executeHttp { + accountService.getTransactionList(request) + } + + /** + * 获取我的钱包 + */ + suspend fun getMyWallet(): Response = executeHttp(false) { + accountService.getMyWallet() + }.transformResult({ + EventDefineOfWalletEvents.buffBalanceUpdateSucceeded().post(it) + }) + + /** + * 验证支付是否成功 + */ + suspend fun validateTranslation(dto: ValidateTransactionDTO): Response = + executeHttp { + accountService.validateTranslation(dto = dto) + } + + /** + * 获取充值产品 + */ + suspend fun getProducts(): Response = + executeHttp(false) { + accountService.getChargeProducts() + } + + /** + * 创建一个google pay订单 + */ + suspend fun createOrder(product: ChargeProduct) = executeHttp { + accountService.createOrder(dto = ChargeOrderDTO(product.chargeAmount, product.productId)) + } + + /** + * 获取vip订阅价格列表 + */ + suspend fun getSubPriceList() = executeHttp(false) { + accountService.getSubPriceList() + } + + /** + * 验证订阅是否成功 + */ + suspend fun uploadGoogleReceipt(dto: ValidateTransactionDTO): Response = executeHttp { + accountService.uploadGoogleReceipt(dto = dto) + } + + /** + * 订阅/升级VIP前查询订阅信息 + */ + suspend fun checkSubInfo(): Response = executeHttp { + accountService.checkSubInfo() + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/ext/MessageExt.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/ext/MessageExt.kt new file mode 100644 index 0000000..387b85e --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/repository/ext/MessageExt.kt @@ -0,0 +1,149 @@ +package com.remax.visualnovel.repository.ext + +import com.remax.visualnovel.entity.imbean.IMAIInMessage +import com.remax.visualnovel.entity.imbean.IMBaseInfoMessage +import com.remax.visualnovel.entity.imbean.IMCallMessage +import com.remax.visualnovel.entity.imbean.IMGiftMessage +import com.remax.visualnovel.entity.imbean.IMInImageMessage +import com.remax.visualnovel.entity.imbean.IMLevelMessage +import com.remax.visualnovel.entity.imbean.IMMessageWrapper +import com.remax.visualnovel.entity.imbean.IMOutImageMessage +import com.remax.visualnovel.entity.imbean.raw.CustomAlbumData +import com.remax.visualnovel.entity.imbean.raw.CustomCallData +import com.remax.visualnovel.entity.imbean.raw.CustomGiftData +import com.remax.visualnovel.entity.imbean.raw.CustomLevelChangeData +import com.remax.visualnovel.entity.imbean.raw.CustomRawData +import com.remax.visualnovel.entity.imbean.voice.IMVoice +import com.remax.visualnovel.entity.request.SimpleTypeDTO +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.extension.convertFromJson +import com.remax.visualnovel.manager.nim.FetchResult +import com.remax.visualnovel.manager.nim.NimManager +import com.remax.visualnovel.ui.chat.message.call.manager.RTCManager +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.netease.nimlib.sdk.v2.message.V2NIMMessage +import com.netease.nimlib.sdk.v2.message.V2NIMMessageCreator +import com.netease.nimlib.sdk.v2.message.enums.V2NIMMessageSendingState +import com.netease.nimlib.sdk.v2.message.enums.V2NIMMessageType + +/** + * Created by HJW on 2025/8/26 + */ + + +/** + * 转化一下消息类 + * 适配一下多布局 + */ +fun List?.convertMessage(hasMore: Boolean, character: Character?): List { + val result = this?.map { v2NIMMessage -> v2NIMMessage.convertMessage(true) } + ?.filter { messageWrapper -> messageWrapper?.fetchType != FetchResult.FetchType.Remind } + ?.toMutableList() + if (!hasMore) { + result?.add(0, IMBaseInfoMessage(character)) + /** + * 没有聊过天需要添加开场白 + */ + if (character?.isDelChatted != true) { + val prologueMsg = V2NIMMessageCreator.createTextMessage(character?.dialoguePrologue) + val prologue = IMAIInMessage(prologueMsg, IMVoice(prologueMsg.messageClientId ?: "")) + result?.add(0, prologue) + } + } + return result?.filterNotNull() ?: emptyList() +} + +/** + * @param fromHistory 是否从消息历史解析 + */ +fun V2NIMMessage.convertMessage(fromHistory:Boolean = false): IMMessageWrapper? { + var aiIsSending = true + var fetchType = when { + // 收到的消息总是展示 + !this.isSelf -> FetchResult.FetchType.Add + // 自己发送的消息先loading + this.sendingState == V2NIMMessageSendingState.V2NIM_MESSAGE_SENDING_STATE_SENDING -> FetchResult.FetchType.Add + // AI只回复发送成功的 + else -> { + aiIsSending = this.sendingState == V2NIMMessageSendingState.V2NIM_MESSAGE_SENDING_STATE_SUCCEEDED + FetchResult.FetchType.Update + } + } + NimManager.log("消息转换 messageServerId:${this.messageServerId} text:${this.text} attachment.raw:${this.attachment?.raw} serverExtension:${this.serverExtension}") + val res = when (messageType) { + V2NIMMessageType.V2NIM_MESSAGE_TYPE_TEXT -> { + if (isSelf) IMMessageWrapper(this) + else IMAIInMessage(this, IMVoice(this.messageServerId.toString())) + } + + V2NIMMessageType.V2NIM_MESSAGE_TYPE_CUSTOM -> { + val type = attachment?.raw?.convertFromJson()?.type?.uppercase() + when (type) { + /** + * 用户发送给AI的图片消息 + */ + CustomRawData.IMAGE -> { + if (isSelf) { + IMOutImageMessage(this, attachment?.raw?.convertFromJson()) + } else { + IMInImageMessage(this, attachment?.raw?.convertFromJson()) + } + } + + /** + * 用户发送给AI的礼物消息 + */ + CustomRawData.GIFT -> { + if (isSelf) { + IMGiftMessage(this, attachment?.raw?.convertFromJson()) + } else null + } + + /** + * 心动等级变化 + */ + CustomRawData.HEARTBEAT_LEVEL_UP, CustomRawData.HEARTBEAT_LEVEL_DOWN -> { + fetchType = FetchResult.FetchType.Remind + aiIsSending = false + val msg = IMLevelMessage(this, attachment?.raw?.convertFromJson()) + RTCManager.sendIMLevelMessage(msg) + msg + } + + CustomRawData.VOICE_CHAT_EMOTION_SCORE -> { + aiIsSending = false + fetchType = FetchResult.FetchType.Remind + null + } + + CustomRawData.INSUFFICIENT_BALANCE -> { + aiIsSending = false + fetchType = FetchResult.FetchType.Remind + WalletManager.refreshWallet() + if (!fromHistory){ + RTCManager.balanceInsufficient() + } + null + } + + /** + * 拨打语音电话 + * 语音通话消息不需要回话 + */ + CustomRawData.CALL -> { + aiIsSending = false + IMCallMessage(this, attachment?.raw?.convertFromJson()) + } + + else -> null + } + } + + else -> null + } + + return res?.apply { + this.fetchType = fetchType + this.aiIsSending = aiIsSending + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt deleted file mode 100644 index a55f1b0..0000000 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatActivity.kt +++ /dev/null @@ -1,73 +0,0 @@ -package com.remax.visualnovel.ui.Chat - - -import androidx.activity.viewModels -import androidx.lifecycle.Observer -import com.alibaba.android.arouter.facade.annotation.Route -import com.alibaba.android.arouter.launcher.ARouter -import com.remax.visualnovel.app.base.BaseBindingActivity -import com.remax.visualnovel.utils.Routers -import com.remax.visualnovel.utils.StatusBarUtils -import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents -import com.remax.visualnovel.R -import com.remax.visualnovel.databinding.ActivityActorChatBinding -import com.remax.visualnovel.event.model.OnLoginEvent -import com.remax.visualnovel.extension.launchWithRequest -import com.remax.visualnovel.ui.main.MainViewModel -import dagger.hilt.android.AndroidEntryPoint - - - -@AndroidEntryPoint -@Route(path = Routers.CHAT) -class ChatActivity : BaseBindingActivity() { - - private val mViewModel by viewModels() - - override fun initView() { - ARouter.getInstance().inject(this) - //setToolbar(R.string.setting) - - StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) - StatusBarUtils.setTransparent(this) - - with(binding) { - - } - } - - override fun initData() { - - } - - private val loginObserver = Observer { - launchWithRequest({ - //TODO - business handling for login events - if (it?.isLogin() == true) { - - } else { - - } - }) - } - - override fun onDestroy() { - super.onDestroy() - EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) - } - - - companion object { - const val ACTOR_ID = "ACTOR_ID" - - fun start(actorId: Int) { - ARouter.getInstance() - .build(Routers.CHAT) - .withInt(ACTOR_ID, actorId) - .navigation() - } - - } - - -} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatActivity.kt new file mode 100644 index 0000000..c34228b --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatActivity.kt @@ -0,0 +1,255 @@ +package com.remax.visualnovel.ui.chat + + +import androidx.activity.viewModels +import androidx.lifecycle.Observer +import androidx.lifecycle.lifecycleScope +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.hjq.permissions.OnPermissionCallback +import com.hjq.permissions.XXPermissions +import com.hjq.permissions.permission.PermissionLists +import com.hjq.permissions.permission.base.IPermission +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.StatusBarUtils +import com.pengxr.modular.eventbus.generated.events.EventDefineOfUserEvents +import com.remax.visualnovel.R +import com.remax.visualnovel.databinding.ActivityActorChatBinding +import com.remax.visualnovel.entity.request.ChatSetting +import com.remax.visualnovel.event.model.OnLoginEvent +import com.remax.visualnovel.extension.countDownCoroutines +import com.remax.visualnovel.extension.launchAndLoadingCollect +import com.remax.visualnovel.extension.launchWithRequest +import com.remax.visualnovel.extension.toast +import com.remax.visualnovel.manager.nim.NimManager +import com.remax.visualnovel.ui.chat.setting.model.ChatModelDialog +import com.remax.visualnovel.ui.chat.ui.HoldToTalkDialog +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.utils.RecordHelper +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.Job +import timber.log.Timber +import kotlin.getValue + + +@AndroidEntryPoint +@Route(path = Routers.CHAT) +class ChatActivity : BaseBindingActivity() { + + private val chatViewModel by viewModels() + private val mRecordAssist = RecordAssist() + + + + + override fun initView() { + ARouter.getInstance().inject(this) + //setToolbar(R.string.setting) + + StatusBarUtils.setStatusBarAndNavBarIsLight(this, false) + StatusBarUtils.setTransparent(this) + + with(binding) { + initInputPanelEvents() + } + } + + override fun initData() { + + } + + private val loginObserver = Observer { + launchWithRequest({ + //TODO - business handling for login events + if (it?.isLogin() == true) { + + } else { + + } + }) + } + + override fun onDestroy() { + super.onDestroy() + EventDefineOfUserEvents.onLoginStatusChanged().removeObserver(loginObserver) + mRecordAssist.stopTalk() + } + + + /** + * 处理发送消息的错误码 + */ + private val sendMsgErrorCallback: (Int) -> Unit = { code -> + when (code) { + NimManager.SEND_IM_INSUFFICIENT_BALANCE -> { + showSelectModelDialog() + } + } + } + + private fun initInputPanelEvents() { + with(binding.inputPanel) { + holdToTalk({ + mRecordAssist.startRecording() + }) { + mRecordAssist.stopTalk() + } + } + } + + /** + * 检查麦克风权限 + */ + private fun checkRecordAudioPermission(onGranted: () -> Unit, allowGranted: (() -> Unit)? = null) { + val permission = PermissionLists.getRecordAudioPermission() + if (XXPermissions.isGrantedPermission(this, permission)) { + onGranted.invoke() + } else { + XXPermissions.with(this).permission(permission) + .request(object : OnPermissionCallback { + override fun onDenied(permissions: MutableList, doNotAskAgain: Boolean) { + this@ChatActivity.toast(R.string.no_permission) + if (doNotAskAgain) { + // 如果是被永久拒绝就跳转到应用权限系统设置页面 + XXPermissions.startPermissionActivity(this@ChatActivity, permissions) + } + } + + override fun onGranted(permissions: MutableList, allGranted: Boolean) { + if (!allGranted) { + this@ChatActivity.toast(getString(R.string.no_permission)) + } else { + allowGranted?.invoke() + } + } + }) + } + } + + + private fun showSelectModelDialog() { + with(chatViewModel) { + fun createModelDialog() { + val modelDialog = ChatModelDialog(this@ChatActivity) + + modelDialog.build(chatModels ?: emptyList(), chatSet?.modelCode, { + + }) { model -> + launchAndLoadingCollect({ + setChatModel( + ChatSetting(aiId, model.code) + ) + }) { + onSuccess = { res -> + modelDialog.dismiss() + } + } + } + modelDialog.show() + } + + if (chatModels.isNullOrEmpty()) { + launchAndLoadingCollect({ + chatViewModel.getChatModels() + }) { + onSuccess = { + createModelDialog() + } + } + } else { + createModelDialog() + } + } + } + + + companion object { + const val ACTOR_ID = "ACTOR_ID" + + fun start(actorId: Int) { + ARouter.getInstance() + .build(Routers.CHAT) + .withInt(ACTOR_ID, actorId) + .navigation() + } + + } + + + inner class RecordAssist { + + private var recordJob: Job? = null + + private val recordHelper by lazy { + RecordHelper() + } + + private val holdToTalkDialog by lazy { + HoldToTalkDialog(this@ChatActivity).build() + } + + /** + * 开始按住说话 + */ + fun startRecording() { + // TODO - check bill count + checkRecordAudioPermission({ startTalk() }) + /*when { + // 没钱就去充值 + WalletManager.balance < 1000L -> WalletManager.showChargeDialog() + // 检查权限 + else -> { + checkRecordAudioPermission({ startTalk() }) + } + + }*/ + } + + + private fun startTalk() { + val maxTalkTime = 60 + val minTalkTime = 1 + + var recordingProgress = 0 + + holdToTalkDialog.show() + recordHelper.startRecording(this@ChatActivity, { + recordJob = lifecycleScope.countDownCoroutines(maxTalkTime, { + Timber.i("startRecording countDownCoroutines: %d", it) + recordingProgress = maxTalkTime - it + }, { + stopTalk() + }) + + }, { + if (recordingProgress >= minTalkTime) { + Timber.i("startRecording onStop: ${recordHelper.getFilename()}") + + launchAndLoadingCollect({ + chatViewModel.voiceASR(recordHelper.getFilename()) + }) { + onSuccess = { + if (!it?.content.isNullOrBlank()) { + chatViewModel.sendMsg(it.content, errorCallback = sendMsgErrorCallback) + } + } + } + + } else { + //录音最少1秒 + showToast(R.string.min_voice_time) + } + }) + } + + + fun stopTalk() { + holdToTalkDialog.dismiss() + recordJob?.cancel() + recordHelper.stopRecording() + } + + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatEditView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatEditView.kt similarity index 93% rename from VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatEditView.kt rename to VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatEditView.kt index ff1d44a..95e2bf8 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/ChatEditView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatEditView.kt @@ -1,4 +1,4 @@ -package com.remax.visualnovel.ui.Chat +package com.remax.visualnovel.ui.chat import android.content.Context import android.util.AttributeSet diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatViewModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatViewModel.kt new file mode 100644 index 0000000..ef9eb50 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ChatViewModel.kt @@ -0,0 +1,357 @@ +package com.remax.visualnovel.ui.chat + +/** + * Created by HJW on 2025/8/13 + */ +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.viewModelScope +import com.remax.visualnovel.app.viewmodel.base.OssViewModel +import com.remax.visualnovel.entity.imbean.IMAIInMessage +import com.remax.visualnovel.entity.imbean.IMMessageWrapper +import com.remax.visualnovel.entity.imbean.raw.CustomRawData +import com.remax.visualnovel.entity.imbean.raw.CustomScoreData +import com.remax.visualnovel.entity.request.AIFeedback +import com.remax.visualnovel.entity.request.AlbumDTO +import com.remax.visualnovel.entity.request.ChatAlbum +import com.remax.visualnovel.entity.request.ChatSetting +import com.remax.visualnovel.entity.request.Gift +import com.remax.visualnovel.entity.request.S3TypeDTO +import com.remax.visualnovel.entity.request.SendGift +import com.remax.visualnovel.entity.response.Album +import com.remax.visualnovel.entity.response.BucketBean +import com.remax.visualnovel.entity.response.Character +import com.remax.visualnovel.entity.response.ChatModel +import com.remax.visualnovel.entity.response.ChatSet +import com.remax.visualnovel.entity.response.HeartbeatLevelEnum +import com.remax.visualnovel.entity.response.VoiceASR +import com.remax.visualnovel.entity.response.base.ApiEmptyResponse +import com.remax.visualnovel.entity.response.base.ApiFailedResponse +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.extension.convertFromJson +import com.remax.visualnovel.manager.nim.FetchResult +import com.remax.visualnovel.manager.nim.LoadStatus +import com.remax.visualnovel.manager.nim.NimManager +import com.remax.visualnovel.repository.api.AIRepository +import com.remax.visualnovel.repository.api.ChatRepository +import com.remax.visualnovel.repository.api.DictRepository +import com.remax.visualnovel.repository.api.MessageRepository +import com.remax.visualnovel.repository.ext.convertMessage +import com.remax.visualnovel.ui.chat.message.call.manager.RTCManager +import com.google.gson.Gson +import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum +import com.netease.nimlib.sdk.v2.message.V2NIMClearHistoryNotification +import com.netease.nimlib.sdk.v2.message.V2NIMMessage +import com.netease.nimlib.sdk.v2.message.V2NIMMessageCreator +import com.netease.nimlib.sdk.v2.message.V2NIMMessageDeletedNotification +import com.netease.nimlib.sdk.v2.message.V2NIMMessageListener +import com.netease.nimlib.sdk.v2.message.V2NIMMessagePinNotification +import com.netease.nimlib.sdk.v2.message.V2NIMMessageQuickCommentNotification +import com.netease.nimlib.sdk.v2.message.V2NIMMessageRevokeNotification +import com.netease.nimlib.sdk.v2.message.V2NIMP2PMessageReadReceipt +import com.netease.nimlib.sdk.v2.message.V2NIMTeamMessageReadReceipt +import com.netease.nimlib.sdk.v2.utils.V2NIMConversationIdUtil +import com.remax.visualnovel.manager.gift.GiftManager +import com.remax.visualnovel.ui.chat.message.detail.flirting.FlirtingLevelActivity +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.launch +import javax.inject.Inject + + +@HiltViewModel +class ChatViewModel @Inject constructor( + private val chatRepository: ChatRepository, + private val dictRepository: DictRepository, + private val messageRepository: MessageRepository, + private val aiRepository: AIRepository, +) : OssViewModel() { + + var aiId: String = "" + + var character: Character? = null + private set + + val conversationId: String + get() = V2NIMConversationIdUtil.conversationId(character?.nimAccountId, SessionTypeEnum.P2P) ?: "" + + private val _aiBaseInfoFlow = MutableLiveData>() + val aiBaseInfoFlow = _aiBaseInfoFlow + + fun checkHeartbeatLevel(targetLevel: HeartbeatLevelEnum, checkSuccess: () -> Unit) { + val currLevel = character?.aiUserHeartbeatRelation?.currHeartbeatEnum + if ((currLevel?.level ?: 0) >= targetLevel.level) { + checkSuccess() + } else { + FlirtingLevelActivity.start(aiId) + } + } + + suspend fun refreshAIBaseInfo(enterPage: Boolean) = chatRepository.getIMAICharacterProfile(aiId).transformResult({ + character = it + NimManager.getUserList(listOf(character?.nimAccountId)) + _aiBaseInfoFlow.value = Pair(enterPage, it) + getChatSetting() + getChatModels() + }) + + var chatModels: List? = null + private set + + suspend fun getChatModels() = dictRepository.getAIChatModel().transformResult({ + chatModels = it + }) + + suspend fun setChatModel(request: ChatSetting) = chatRepository.setChatModel(request).transformResult({ + getChatSetting() + }) + + var chatSet: ChatSet? = null + private set + + suspend fun getChatSetting() = chatRepository.getChatSetting(aiId).transformResult({ + chatSet = it + }) + + + /** + * 云信发送消息,raw代表是自定义消息 + */ + fun sendMsg(msgContent: String, raw: CustomRawData? = null, errorCallback: (Int) -> Unit) { + + val v2Message = if (raw != null) + V2NIMMessageCreator.createCustomMessage(msgContent, Gson().toJson(raw)) + else + V2NIMMessageCreator.createTextMessage(msgContent) + + messageRepository.sendMessage(v2Message, character?.nimAccountId) { errorCode -> + errorCallback(errorCode) + } + } + + // 消息发送LiveData,本地发送消息通过该LiveData通知UI + private val _sendScoreLiveData = MutableLiveData() + val sendScoreLiveData: LiveData = _sendScoreLiveData + + /** + * 接受方添加消息接收回调 + */ + private val messageListener = object : V2NIMMessageListener { + /** + * 消息接收 + */ + override fun onReceiveMessages(messages: List) { + NimManager.log("消息接收回调 onReceiveMessages") + NimManager.clearUnreadCountByIds(conversationId) + messages.firstOrNull()?.let { message -> + if (message.conversationId == conversationId) { + /** + * message中的分数 + * 本地实时加减一下 + * AI发送的文本消息和语音通话时,都会有serverExtension:{"score":0.1}的计算 + */ + message.serverExtension?.convertFromJson()?.let { + _sendScoreLiveData.value = it.score + RTCManager.sendIMScoreMessage(it.score) + } + + val messageRecFetchResult = FetchResult(LoadStatus.Success) + message.convertMessage()?.let { messageWrapper -> + if (messageWrapper.type == IMMessageWrapper.IN_TEXT_TYPE) { + /** + * 处理自动播放 + */ + if (character?.isAutoPlayVoice == 1) { + (messageWrapper as? IMAIInMessage)?.imVoice?.autoPlay = true + } + } + messageRecFetchResult.data = messageWrapper + messageRecFetchResult.type = messageWrapper.fetchType + + messageRecFetchResult.typeIndex = -1 + _sendMessageLiveData.value = messageRecFetchResult + } + } + } + } + + override fun onReceiveP2PMessageReadReceipts(readReceipts: List?) { + } + + override fun onReceiveTeamMessageReadReceipts(readReceipts: List?) { + } + + override fun onMessageRevokeNotifications(revokeNotifications: List?) { + } + + override fun onMessagePinNotification(pinNotification: V2NIMMessagePinNotification?) { + } + + override fun onMessageQuickCommentNotification(quickCommentNotification: V2NIMMessageQuickCommentNotification?) { + } + + override fun onMessageDeletedNotifications(messageDeletedNotifications: List?) { + } + + override fun onClearHistoryNotifications(clearHistoryNotifications: List?) { + } + + /** + * 本端发送消息状态回调 + */ + override fun onSendMessage(message: V2NIMMessage) { + val sendingState = message.sendingState + NimManager.log("本端发送消息 $message") + NimManager.log("本端发送消息状态 $sendingState") + /** + * 发消息时需要刷新一下调用推荐回复接口 + */ + refreshPrompts = true + if (message.conversationId == conversationId) { + postMessageSend(message) + } + } + + override fun onReceiveMessagesModified(messages: List) { + NimManager.log("收到更新的消息 $messages") + messages.firstOrNull()?.let { message -> + NimManager.log("收到更新的消息 conversationId:${message.conversationId}") + if (message.conversationId == conversationId) { + val messageRecFetchResult = FetchResult(LoadStatus.Success) + messageRecFetchResult.data = message.convertMessage() + messageRecFetchResult.type = FetchResult.FetchType.Update + messageRecFetchResult.typeIndex = -1 + _sendMessageLiveData.value = messageRecFetchResult + } + } + } + } + + fun updateMsg(message: V2NIMMessage) { + val messageRecFetchResult = FetchResult(LoadStatus.Success) + messageRecFetchResult.data = message.convertMessage() + messageRecFetchResult.type = FetchResult.FetchType.Update + messageRecFetchResult.typeIndex = -1 + _sendMessageLiveData.value = messageRecFetchResult + } + + fun aiFeedback(request: AIFeedback) { + viewModelScope.launch { + chatRepository.aiFeedback(request) + } + } + + // 消息发送LiveData,本地发送消息通过该LiveData通知UI + private val _sendMessageLiveData = MutableLiveData?>() + val sendMessageLiveData: LiveData?> = _sendMessageLiveData + + private val sendMessageFetchResult by lazy { + FetchResult(LoadStatus.Finish) + } + + // 同步发送消息 + private fun postMessageSend(message: V2NIMMessage) { + message.convertMessage()?.let { messageWrapper -> + sendMessageFetchResult.loadStatus = LoadStatus.Success + sendMessageFetchResult.type = messageWrapper.fetchType + sendMessageFetchResult.data = messageWrapper + _sendMessageLiveData.value = sendMessageFetchResult + } + } + + fun addMessageListener() { + messageRepository.setMessageListener(true, messageListener) + } + + private var bucketBean: BucketBean? = null + + override fun onStart() { + viewModelScope.launch { + getBucketToken("mp3", S3TypeDTO.SOUND_PATH).transformResult({ + bucketBean = it + }) + } + } + + override fun onDestroy() { + messageRepository.setMessageListener(false, messageListener) + NimManager.clearUnreadCountByIds(conversationId) + GiftManager.initSelect() + } + + private var anchorMessage: V2NIMMessage? = null + + /** + * 获取历史消息 + */ + suspend fun getMessageList(isRefresh: Boolean): FetchResult> { + if (isRefresh) anchorMessage = null + val res = messageRepository.getMessageList(conversationId, anchorMessage, character) +// if (isRefresh && res.data?.size == 1) { +// sendDialogueMsg() +// } + anchorMessage = res.extraInfo as? V2NIMMessage + return res + } + + suspend fun voiceASR(filePath: String): Response { + ossUploadFile(filePath, S3TypeDTO.SOUND, isImg = false, token = bucketBean).transformResult({ + return chatRepository.voiceASR(aiId, it?.urlPath) + }) { + return Response.createZipFailResponse(it) + } + return ApiEmptyResponse() + } + + suspend fun sendGift(request: SendGift, gift: Gift): Response { + return messageRepository.sendGift(request, gift) + } + + var refreshPrompts = true + private set + + suspend fun getPrompts(): Response> { + return if (refreshPrompts) { + refreshPrompts = false + chatRepository.getPrompts(aiId).transformResult { + // 失败的话需要重新拉 + refreshPrompts = true + } + } else { + ApiFailedResponse() + } + } + + suspend fun viewAlbumImg(request: ChatAlbum) = chatRepository.viewAlbumImg(request) + + suspend fun unlockAlbum(request: ChatAlbum) = aiRepository.unlockAlbum(request) + + fun sendDialogueMsg() { + viewModelScope.launch { + chatRepository.sendDialogueMsg(aiId) + } + } + + suspend fun changeLiked(): Response { + val isLiked = character?.liked == true + val request = AlbumDTO( + aiId = aiId, + likedStatus = if (isLiked) Album.LIKED else Album.CANCELED, + liked = isLiked + ) + return aiRepository.setAILikeOrCancel(request).transformResult({ + changeCharacterLiked(isLiked) + }) + } + + fun changeCharacterLiked(isLiked: Boolean) { + character?.apply { + liked = isLiked + likedNum = if (isLiked) { + likedNum?.plus(1) + } else { + likedNum?.minus(1) + } + } + } + +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/InputPanel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/InputPanel.kt similarity index 78% rename from VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/InputPanel.kt rename to VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/InputPanel.kt index 093ce9e..c3c7624 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/InputPanel.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/InputPanel.kt @@ -1,7 +1,9 @@ -package com.remax.visualnovel.ui.Chat +package com.remax.visualnovel.ui.chat +import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet +import android.view.MotionEvent import android.widget.FrameLayout import android.widget.Toast import com.dylanc.viewbinding.nonreflection.inflate @@ -79,4 +81,22 @@ class InputPanel @JvmOverloads constructor(context: Context, attrs: AttributeSet } + @SuppressLint("ClickableViewAccessibility") + fun holdToTalk(callback: () -> Unit, cancelCallback: () -> Unit) { + binding.ivHold2talk.run { + setOnTouchListener { v, event -> + when (event.action) { + MotionEvent.ACTION_DOWN -> { + callback.invoke() + } + + MotionEvent.ACTION_UP -> { + cancelCallback.invoke() + } + } + true + } + } + } + } \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/PopMenuIconView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/PopMenuIconView.kt similarity index 99% rename from VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/PopMenuIconView.kt rename to VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/PopMenuIconView.kt index d0f6ed8..ef47ab4 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/Chat/PopMenuIconView.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/PopMenuIconView.kt @@ -1,4 +1,4 @@ -package com.remax.visualnovel.ui.Chat +package com.remax.visualnovel.ui.chat import android.animation.Animator diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/BinaryMessageHandler.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/BinaryMessageHandler.kt new file mode 100644 index 0000000..4a989e1 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/BinaryMessageHandler.kt @@ -0,0 +1,89 @@ +package com.remax.visualnovel.ui.chat.message.call.manager +import com.remax.visualnovel.extension.convertFromJson +import java.nio.charset.StandardCharsets + + +/** + * text 字幕文本。 + * + * language 字幕语言。 + * + * userId 字幕源的 ID。如果字幕源是人类用户,则此值为人类用户的 UserId。如果字幕源是 AI 代理,则此值为 AI 代理的 UserId。 + * + * sequence 整数 字幕序列号。 + * + * definite 布尔值 字幕是否为完整的句段。 + * * true:是。 + * * false:否。 + * + * paragraph 布尔值 副标题是否为完整句子。 + * * true:是。 + * * false:否。 + * + * roundId 整数 对话的回合 ID。 + * + * 在不同的使用场景下,你可以根据definite、paragraph和sequence字段来决定如何处理字幕。 + * 实时字幕显示: + * 如果paragraph=false且definite= false,则用较新的字幕(序列号更高)替换较旧的字幕。 + * 如果paragraph=false且definite= true,则开始一个新句子并替换前一个句子。 + * 如果paragraph= true,则表示一个完整句子的结束。此时继续解析并显示字幕将导致重复显示。 + */ +data class SubtitleMsgData( + val definite: Boolean?, + val language: String?, + val paragraph: Boolean?, + val sequence: Int?, + val text: String?, + val userId: String? +) + + +data class SubtitleData( + val data: List?, +) + +class BinaryMessageHandler() { + fun unpack(message: ByteArray, callback: (SubtitleMsgData) -> Unit): Boolean { + val kSubtitleHeaderSize = 8 + if (message.size < kSubtitleHeaderSize) { + return false + } + // Magic number "subv" + val magic = ((message[0].toInt() and 0xFF shl 24) or + (message[1].toInt() and 0xFF shl 16) or + (message[2].toInt() and 0xFF shl 8) or + (message[3].toInt() and 0xFF)).toUInt() + if (magic != 0x73756276U) { + RTCManager.log("unpack magic != 0x73756276U") + return false + } + + val length = ((message[4].toInt() and 0xFF shl 24) or + (message[5].toInt() and 0xFF shl 16) or + (message[6].toInt() and 0xFF shl 8) or + (message[7].toInt() and 0xFF)).toUInt() + + if (message.size - kSubtitleHeaderSize != length.toInt()) { + RTCManager.log("unpack != length.toInt()") + return false + } + + if (length > 0U) { + val subtitleBytes = message.copyOfRange(kSubtitleHeaderSize, message.size) + parseData(String(subtitleBytes, StandardCharsets.UTF_8), callback) + } else { + parseData("", callback) + } + return true + } + + // Parse + private fun parseData(msg: String, callback: (SubtitleMsgData) -> Unit) { + val subtitles = msg.convertFromJson() + // 这里可以进一步处理 subtitles 列表,例如打印或存储 + subtitles?.data?.forEach { + RTCManager.log("Parsed subtitles: $it") + callback.invoke(it) + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCExt.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCExt.kt new file mode 100644 index 0000000..2feebf3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCExt.kt @@ -0,0 +1,31 @@ +package com.remax.visualnovel.ui.chat.message.call.manager + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch + + +/** + * 防抖函数,在指定时间内只执行最后一次调用 + * @param delayMs 防抖时间(毫秒) + * @param scope 协程作用域 + * @param action 要执行的操作 + */ +fun debounce( + delayMs: Long = 0L, + scope: CoroutineScope, + action: (T1, T2?) -> Unit +): (T1, T2?) -> Unit { + var debounceJob: Job? = null + + return { p1, p2 -> + // 取消之前的任务 + debounceJob?.cancel() + // 创建新的协程任务 + debounceJob = scope.launch { + delay(delayMs) + action(p1, p2) + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCManager.kt new file mode 100644 index 0000000..a926328 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/call/manager/RTCManager.kt @@ -0,0 +1,353 @@ +package com.remax.visualnovel.ui.chat.message.call.manager + + +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import com.remax.visualnovel.BuildConfig +import com.remax.visualnovel.app.base.app.CommonApplicationProxy +import com.remax.visualnovel.entity.imbean.IMLevelMessage +import com.remax.visualnovel.entity.imbean.raw.CustomCallData +import com.remax.visualnovel.entity.imbean.raw.CustomRawData +import com.remax.visualnovel.entity.request.HeartbeatRelation +import com.remax.visualnovel.manager.nim.NimManager +import com.remax.visualnovel.utils.TimeUtils +import com.google.gson.Gson +import com.netease.nimlib.sdk.v2.message.V2NIMMessageCreator +import com.ss.bytertc.engine.RTCRoom +import com.ss.bytertc.engine.RTCRoomConfig +import com.ss.bytertc.engine.RTCVideo +import com.ss.bytertc.engine.UserInfo +import com.ss.bytertc.engine.data.AudioPropertiesConfig +import com.ss.bytertc.engine.data.LocalAudioPropertiesInfo +import com.ss.bytertc.engine.data.LocalAudioStreamError +import com.ss.bytertc.engine.data.LocalAudioStreamState +import com.ss.bytertc.engine.data.RemoteAudioPropertiesInfo +import com.ss.bytertc.engine.data.RemoteAudioState +import com.ss.bytertc.engine.data.RemoteAudioStateChangeReason +import com.ss.bytertc.engine.data.RemoteStreamKey +import com.ss.bytertc.engine.data.StreamSycnInfoConfig +import com.ss.bytertc.engine.handler.IRTCRoomEventHandler +import com.ss.bytertc.engine.handler.IRTCVideoEventHandler +import com.ss.bytertc.engine.type.AudioProfileType +import com.ss.bytertc.engine.type.AudioScenarioType +import com.ss.bytertc.engine.type.ChannelProfile +import com.ss.bytertc.engine.type.MediaStreamType +import com.ss.bytertc.engine.type.NetworkQualityStats +import com.ss.bytertc.engine.utils.LogUtil +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.asSharedFlow +import kotlinx.coroutines.launch +import timber.log.Timber +import java.nio.ByteBuffer + +/** + * Created by HJW on 2025/8/25 + */ +object RTCManager : DefaultLifecycleObserver { + + private var mRTCVideo: RTCVideo? = null + private var mRTCRoom: RTCRoom? = null + + override fun onDestroy(owner: LifecycleOwner) { + leaveRoom() + destroyEngine() + } + + fun log(content: String?) { + Timber.i("RTCManager $content") + } + + var onAudioPropertiesReport: ((isLocal: Boolean, linearVolume: Int) -> Unit)? = null + + private val mRTCVideoEventHandler = object : IRTCVideoEventHandler() { + override fun onLocalAudioPropertiesReport(audioPropertiesInfos: Array?) { + audioPropertiesInfos?.forEach { +// log("onLocalAudioPropertiesReport audioPropertiesInfos:${it.toString()}") + /** + * 线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。 + * + * [0, 25]: 近似无声 + * [26, 75]: 低音量 + * [76, 204]: 中音量 + * [205, 255]: 高音量 + */ + val linearVolume = it?.audioPropertiesInfo?.linearVolume ?: 0 + onAudioPropertiesReport?.invoke(true, linearVolume) + log(" 本地 在说话,音量是:$linearVolume") + } + } + + override fun onAudioPlaybackDeviceTestVolume(volume: Int) { + log("onAudioPlaybackDeviceTestVolume volume:$volume") + } + + override fun onRemoteAudioPropertiesReport( + audioPropertiesInfos: Array?, + totalRemoteVolume: Int + ) { + audioPropertiesInfos?.forEach { +// log("onRemoteAudioPropertiesReport audioPropertiesInfos:${it.toString()}") + /** + * 线性音量,与原始音量呈线性关系,数值越大,音量越大。取值范围是:[0,255]。 + * + * [0, 25]: 近似无声 + * [26, 75]: 低音量 + * [76, 204]: 中音量 + * [205, 255]: 高音量 + */ + val linearVolume = it?.audioPropertiesInfo?.linearVolume ?: 0 + onAudioPropertiesReport?.invoke(false, linearVolume) + log(" 远端 在说话,音量是:$linearVolume") + } + } + + override fun onUserStartAudioCapture(roomId: String?, uid: String?) { + log("onUserStartAudioCapture roomId:$roomId uid:$uid") + + } + + override fun onUserStopAudioCapture(roomId: String?, uid: String?) { + log("onUserStopAudioCapture roomId:$roomId uid:$uid") + } + + override fun onLocalAudioStateChanged(state: LocalAudioStreamState?, error: LocalAudioStreamError?) { + log("onLocalAudioStateChanged state:$state error:$error") + } + + override fun onRemoteAudioStateChanged( + key: RemoteStreamKey?, + state: RemoteAudioState?, + reason: RemoteAudioStateChangeReason? + ) { + log("onRemoteAudioStateChanged state:$state reason:$reason") + } + + + override fun onStreamSyncInfoReceived( + streamKey: RemoteStreamKey?, + streamType: StreamSycnInfoConfig.SyncInfoStreamType?, + data: ByteBuffer? + ) { +// log("onStreamSyncInfoReceived streamType:$streamType data:$data") + } + + override fun onWarning(warn: Int) { + log("onWarning:$warn") + } + + override fun onError(err: Int) { + log("onError:$err") + } + + override fun onLoggerMessage(level: LogUtil.LogLevel?, msg: String?, throwable: Throwable?) { + log("onLoggerMessage level:$level msg:$msg throwable:$throwable") + } + } + + var joinRoomCallback: (() -> Unit)? = null + + var binaryMessageReceived: ((SubtitleMsgData) -> Unit)? = null + + private val mRTCRoomEventHandler = object : IRTCRoomEventHandler() { + + override fun onRoomStateChanged(roomId: String?, uid: String?, state: Int, extraInfo: String?) { + log("onRoomStateChanged: roomId=$roomId, uid=$uid, state=$state, extra=$extraInfo") + if (state == 0) { + joinRoomCallback?.invoke() + } + } + + override fun onStreamPublishSuccess(uid: String?, isScreen: Boolean) { + log("onRoomStateChanged: uid=$uid, isScreen=$isScreen") + } + + override fun onStreamStateChanged(roomId: String?, uid: String?, state: Int, extraInfo: String?) { + log("onStreamStateChanged:roomId=$roomId, uid=$uid, state=$state, extraInfo=$extraInfo") + } + + override fun onRoomBinaryMessageReceived(uid: String, message: ByteBuffer?) { + log("onRoomBinaryMessageReceived :$message") + message?.let { + val bytes = ByteArray(message.remaining()) + message.get(bytes) + BinaryMessageHandler().unpack(bytes) { subtitleMsgData -> + binaryMessageReceived?.invoke(subtitleMsgData) + } + } + } + + override fun onNetworkQuality(localQuality: NetworkQualityStats, remoteQualities: Array) { +// log("onNetworkQuality: localQuality=$localQuality, remoteQualities=$remoteQualities") + } + + private fun notifyLocalRTTUpdated(rtt: Int) { + log("notifyLocalRTTUpdated: rtt=$rtt") + } + } + + private var userId = "" + + fun createEngine(roomId: String, userId: String, token: String) { + this.userId = userId + if (mRTCVideo != null) { + log("createRTCVideo: already created") + return + } else { + joinRoom(roomId, userId, token) + } + + val context = CommonApplicationProxy.application + val rtcVideo = RTCVideo.createRTCVideo(context, BuildConfig.RTC_APP_ID, mRTCVideoEventHandler, null, null) + + val config = AudioPropertiesConfig(300) + with(rtcVideo) { + // 开启发言者音量监听 + enableAudioPropertiesReport(config) + setAudioScenario(AudioScenarioType.AUDIO_SCENARIO_COMMUNICATION) + setAudioProfile(AudioProfileType.AUDIO_PROFILE_DEFAULT) + +// // 获取 AudioManager 实例 +// val audioManager = +// CommonApplicationProxy.application.getSystemService(Context.AUDIO_SERVICE) as AudioManager +// +// // 获取当前媒体音量 +// val currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) +// +// // 可选:获取最大媒体音量 +// val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) +// +// Timber.d("audioManager currentVolume:$currentVolume maxVolume:$maxVolume") +// +// setPlaybackVolume(1) + } + + mRTCVideo = rtcVideo + if (mRTCVideo != null) { + joinRoom(roomId, userId, token) + } + } + + fun destroyEngine() { + log("destroyEngine") + onAudioPropertiesReport = null + joinRoomCallback = null + binaryMessageReceived = null + leaveRoom() + if (mRTCVideo != null) { + RTCVideo.destroyRTCVideo() + mRTCVideo = null + } + } + + fun joinRoom(roomId: String, userId: String, token: String) { + log("joinRoom: roomId=$roomId, userId=$userId, token=$token") + + leaveRoom() + if (mRTCVideo == null) { + return + } + mRTCRoom = mRTCVideo?.createRTCRoom(roomId) + mRTCRoom?.setRTCRoomEventHandler(mRTCRoomEventHandler) + val userInfo = UserInfo(userId, null) + val roomConfig = RTCRoomConfig( + ChannelProfile.CHANNEL_PROFILE_CHAT, + true, + true, + false + ) + mRTCRoom?.setUserVisibility(false) + val result = mRTCRoom?.joinRoom(token, userInfo, roomConfig) + startInteract() + log("joinRoom: result=$result") + } + + fun leaveRoom() { + log("leaveRoom") + if (mRTCRoom != null) { + mRTCRoom?.leaveRoom() + mRTCRoom?.destroy() + } + } + + fun startInteract() { + mRTCRoom?.setUserVisibility(true) + } + + fun stopInteract() { + val userVisibility = mRTCRoom?.setUserVisibility(false) + } + + /** + * 本地音频采集 + * 开关推流 + */ + fun startAudioCapture(start: Boolean) { + if (mRTCVideo == null) { + return + } + if (start) { + val publishRes = mRTCRoom?.publishStream(MediaStreamType.RTC_MEDIA_STREAM_TYPE_AUDIO) + log("publishRes:$publishRes") + val startRes = mRTCVideo?.startAudioCapture() + log("startAudioCapture start:$startRes") + } else { + val stopRes = mRTCVideo?.stopAudioCapture() + log("startAudioCapture stop:$stopRes") + val unpublishRes = mRTCRoom?.unpublishStream(MediaStreamType.RTC_MEDIA_STREAM_TYPE_AUDIO) + log("unpublishRes:$unpublishRes") + } + } + + fun sendEndMsg(accountId: String, durationTime: Long) { + val callType = + if (durationTime < TimeUtils.ONE_SECOND) CustomCallData.CALL_CANCEL else CustomCallData.CALL_END + val raw = CustomCallData( + CustomRawData.CALL, + CustomCallData.CALL_CANCEL, durationTime + ) +// WalletManager.refreshWallet() + val v2Message = V2NIMMessageCreator.createCustomMessage(raw.callTxt, Gson().toJson(raw)) + NimManager.v2SendMessage(v2Message, accountId) + } + + /** + * 心动等级变化 + */ + private val _levelFlow = MutableSharedFlow() + val levelFlow = _levelFlow.asSharedFlow() + + fun sendIMLevelMessage(message: IMLevelMessage?) { + MainScope().launch { _levelFlow.emit(message) } + } + + /** + * 语音通话中分数变化 + */ + private val _scoreFlow = MutableSharedFlow() + val scoreFlow = _scoreFlow.asSharedFlow() + + fun sendIMScoreMessage(score: Double) { + MainScope().launch { _scoreFlow.emit(score) } + } + + /** + * 更新心动关系 + */ + private val _relationLiveData = MutableSharedFlow() + val relationLiveData = _relationLiveData.asSharedFlow() + + fun setRelation(relation: HeartbeatRelation?) { + MainScope().launch { _relationLiveData.emit(relation) } + } + + /** + * 余额不足,关闭语音通话 + */ + private val _closeRCTFlow = MutableSharedFlow() + val closeRCTFlow = _closeRCTFlow.asSharedFlow() + + fun balanceInsufficient() { + MainScope().launch { _closeRCTFlow.emit(true) } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelActivity.kt new file mode 100644 index 0000000..bbeb505 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelActivity.kt @@ -0,0 +1,248 @@ +package com.remax.visualnovel.ui.chat.message.detail.flirting + +/** + * Created by HJW on 2025/8/16 + */ +import android.annotation.SuppressLint +import android.view.View +import androidx.activity.viewModels +import androidx.core.view.isGone +import androidx.core.view.isVisible +import com.airbnb.lottie.LottieAnimationView +import com.alibaba.android.arouter.facade.annotation.Autowired +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.app.delegate.isFull +import com.remax.visualnovel.app.delegate.titleTextAlpha +import com.remax.visualnovel.app.widget.tips.TipsSwitchWindow +import com.remax.visualnovel.entity.request.AIIsShowDTO +import com.remax.visualnovel.entity.response.HeartbeatLevel +import com.remax.visualnovel.extension.addScrollerAlpha +import com.remax.visualnovel.extension.getTemperatureTxt +import com.remax.visualnovel.extension.glide.loadAndRoundCorner +import com.remax.visualnovel.extension.launchAndLoadingCollect +import com.remax.visualnovel.extension.setMargin +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.extension.setSize +import com.remax.visualnovel.extension.setSpanTypeFace +import com.remax.visualnovel.extension.showMoreTxtDialog +import com.remax.visualnovel.extension.translationYObjectAnimator +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.spannablex.spannable +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.UserAvatarView +import com.remax.visualnovel.widget.uitoken.changeTextFont +import com.remax.visualnovel.widget.uitoken.handleUIToken +import com.drake.brv.annotaion.DividerOrientation +import com.drake.brv.utils.divider +import com.drake.brv.utils.grid +import com.drake.brv.utils.models +import com.drake.brv.utils.setup +import com.remax.visualnovel.databinding.ActivityFlirtingLevelBinding +import com.remax.visualnovel.databinding.ItemFlirtingLevelBinding +import dagger.hilt.android.AndroidEntryPoint +import timber.log.Timber + +@AndroidEntryPoint +@Route(path = Routers.CHAT_FLIRTING_LEVEL) +class FlirtingLevelActivity : BaseBindingActivity() { + + private val flirtingLevelViewModel by viewModels() + + @JvmField + @Autowired + var aiId = "" + + @SuppressLint("SetTextI18n") + override fun initView() { + ARouter.getInstance().inject(this) + setToolbar(R.string.app_name) { + isFull = true + titleTextAlpha = 1f + setRightIconBtn1(R.string.icon_more) { + val switchWindow = TipsSwitchWindow() + switchWindow.build( + this@FlirtingLevelActivity, + R.string.hide_relations, + flirtingLevelViewModel.levelOutput?.aiUserHeartbeatRelation?.isShow != true + ) { switchView, isChecked -> + launchAndLoadingCollect({ + flirtingLevelViewModel.relationSwitch(AIIsShowDTO(aiId, if (isChecked) 0 else 1)) + }) { + onSuccess = { + with(binding) { + listOf(tvMeet, dividerMeet1, dividerMeet2).forEach { view -> + view.isGone = + flirtingLevelViewModel.levelOutput?.aiUserHeartbeatRelation?.isShow != true + } + } + } + + onFailed = { _, _ -> + switchView.isChecked = !isChecked + } + } + } + switchWindow.showAsDropDown(this) + } + + setRightIconBtn2(R.string.icon_faq) { + showMoreTxtDialog( + texts = listOf( + R.string.flirting_tips_txt_1, + R.string.flirting_tips_txt_2, + R.string.flirting_tips_txt_3 + ).map { getString(it) }) + } + } + with(binding) { + scrollView.addScrollerAlpha(aiAvatarView, includeBgAlpha = true, textAlpha = false) + + tvMeet.text = "· ${getString(R.string.meet)} ·" + + setOnClick(retrieveGroup) { + flirtingLevelViewModel.levelOutput?.aiUserHeartbeatRelation?.let { + val retrieveDialog = FlirtingRetrieveDialog(this@FlirtingLevelActivity) + retrieveDialog.build(it) { + launchAndLoadingCollect({ + flirtingLevelViewModel.buyHeartbeatVal(aiId) + }) { + onSuccess = { + initData() + retrieveDialog.dismiss() + } + } + } + retrieveDialog.binding.run { + showHeartAnim(levelBg, levelBgTop, lottieView, 84f) + } + retrieveDialog.show() + } + } + + rv.grid(2) + .divider { + setDivider(16, true) + orientation = DividerOrientation.VERTICAL + }.setup { + addType(R.layout.item_flirting_level) + onBind { + val item = getModel() + with(getBinding()) { + tvName.text = item.name + tvName.isEnabled = item.isUnlock + lockView.isVisible = !item.isUnlock + imageView.loadAndRoundCorner(item.imgUrl, 16) + tvTemperature.text = item.startVal.getTemperatureTxt() + tvTemperature.isEnabled = item.isUnlock + imageStroke.isVisible = item.isUnlock + } + } + } + } + } + + @SuppressLint("SetTextI18n", "DefaultLocale") + override fun initData() { + launchAndLoadingCollect({ + flirtingLevelViewModel.getHeartbeatLevel(aiId) + }) { + onSuccess = { + val relation = it?.aiUserHeartbeatRelation + with(binding) { + listOf(tvMeet, dividerMeet1, dividerMeet2).forEach { view -> + view.isGone = relation?.isShow != true + } + + showHeartAnim(levelBg, levelBgTop, lottieView, avatarView = aiAvatarView) + + aiAvatarView.loadAvatar(relation?.aiHeadImg) + myAvatarView.loadAvatar(relation?.userHeadImg) + val currHeartbeat = relation?.currHeartbeatEnum + if (currHeartbeat == null) { + tvMeet.changeTextFont { + textUITextToken = getString(R.string.txt_title_s) + } + tvMeet.setText(R.string.no_intention_yet) + } else { + tvMeet.changeTextFont { + textUITextToken = getString(R.string.txt_display_s) + } + tvMeet.setText(currHeartbeat.tagName) + } + val heartbeatScore = String.format("%.2f", (relation?.heartbeatScore ?: 0.0f) * 100) + + tvMeetDesc.text = + getString(R.string.flirting_desc, relation?.dayCount ?: 0, heartbeatScore) + tvLevel.text = spannable { + if (currHeartbeat != null) { + currHeartbeat.levelContent.text() + " 丨 ".color(handleUIToken(R.string.color_outline_normal)?.color ?: 0) + } + (relation?.heartbeatVal ?: 0.0).toString().text() + getString(R.string.temperature).span { + setSpanTypeFace(this@FlirtingLevelActivity, R.string.txt_numMonotype_s) + } + } + + /** + * 已经扣减的心动分 + */ + retrieveGroup.isVisible = (relation?.subtractHeartbeatVal ?: 0.0) != 0.0 + retrieveTitle.text = + getString(R.string.flirting_deducted_desc, (relation?.subtractHeartbeatVal ?: 0.0).toString()) + + rv.models = it?.heartbeatLeveLDictList + } + } + } + } + + private fun showHeartAnim( + levelBg: View, + levelBgTop: View, + heartLottie: LottieAnimationView, + bgBottomMargin: Float = 0f, + avatarView: UserAvatarView? = null, + ) { + levelBg.post { + val currProgress = + flirtingLevelViewModel.levelOutput?.aiUserHeartbeatRelation?.currHeartbeatEnum?.level ?: 0 + val progress = currProgress / 10f + + // 弹窗中的切图需要往上移动 + levelBg.setMargin(bottomMargin = -((bgBottomMargin / 400f) * levelBgTop.measuredHeight).toInt()) + + // 根据切图比例调整宽高 + val heartSize = ((98f / 214f) * levelBgTop.measuredHeight).toInt() + heartLottie.setSize(heartSize, heartSize) + + // 头像框距离顶部的边距 + val marginTop = ((120f / 214f) * levelBgTop.measuredHeight) + (heartSize - 64.dp) / 2f + avatarView?.setMargin(topMargin = marginTop.toInt()) + avatarView?.isVisible = true + binding.myAvatarView.isVisible = true + + // 动画持续时间 + val totalTime = 1000L + // 总高度进度算 + val totalHeight = progress * heartSize + Timber.i("showHeartAnim heartSize:$heartSize totalHeight:$totalHeight") + heartLottie.translationYObjectAnimator(-totalHeight, totalTime) + } + } + + companion object { + fun start(aiId: String?) { + if (aiId != null) { + ARouter.getInstance() + .build(Routers.CHAT_FLIRTING_LEVEL) + .withString("aiId", aiId) + .navigation() + } + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelViewModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelViewModel.kt new file mode 100644 index 0000000..24a0bde --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingLevelViewModel.kt @@ -0,0 +1,32 @@ +package com.remax.visualnovel.ui.chat.message.detail.flirting + +/** + * Created by HJW on 2025/8/16 + */ +import com.remax.visualnovel.app.viewmodel.base.BaseViewModel +import com.remax.visualnovel.entity.request.AIIsShowDTO +import com.remax.visualnovel.entity.request.HeartbeatBuy +import com.remax.visualnovel.entity.response.HeartbeatLevelOutput +import com.remax.visualnovel.repository.api.ChatRepository +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class FlirtingLevelViewModel @Inject constructor(private val chatRepository: ChatRepository) : BaseViewModel() { + + var levelOutput: HeartbeatLevelOutput? = null + private set + + suspend fun getHeartbeatLevel(aiId: String) = chatRepository.getHeartbeatLevel(aiId).transformResult({ + levelOutput = it + }) + + suspend fun relationSwitch(request: AIIsShowDTO) = chatRepository.relationSwitch(request).transformResult({ + levelOutput?.aiUserHeartbeatRelation?.isShow = request.isShow == 1 + }) + + suspend fun buyHeartbeatVal(aiId: String) = chatRepository.buyHeartbeatVal(HeartbeatBuy( + aiId, + levelOutput?.aiUserHeartbeatRelation?.subtractHeartbeatVal + )) +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingRetrieveDialog.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingRetrieveDialog.kt new file mode 100644 index 0000000..b14aa75 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/detail/flirting/FlirtingRetrieveDialog.kt @@ -0,0 +1,42 @@ +package com.remax.visualnovel.ui.chat.message.detail.flirting + +import android.content.Context +import com.remax.visualnovel.R +import com.remax.visualnovel.databinding.DialogFlirtingRetrieveBinding +import com.remax.visualnovel.entity.request.HeartbeatRelation +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.getTemperatureTxt +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.widget.dialoglib.LBindingDialog + +/** + * Created by HJW on 2025/8/17 + */ + +class FlirtingRetrieveDialog(context: Context) : + LBindingDialog(context, DialogFlirtingRetrieveBinding::inflate) { + + fun build(relation: HeartbeatRelation, buyCallback: () -> Unit): FlirtingRetrieveDialog { + with() + setBottom() + setBgColorToken(R.string.color_transparent) + setCancelBtn(R.id.cancel) + with(binding) { + quantity.text = relation.subtractHeartbeatVal?.getTemperatureTxt() + priceView.setPrice(formatPrice(relation.price)) + val total = maxOf(1.0, (relation.subtractHeartbeatVal ?: 0.0) * (relation.price ?: 0L)) + relationPrice.setPrice(formatPrice(total.toLong())) + + setOnClick(purchaseBtn) { + if (WalletManager.balance < total) { + WalletManager.showChargeDialog() + } else { + buyCallback.invoke() + } + } + } + return this + } + +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/ChatSettingEvents.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/ChatSettingEvents.kt new file mode 100644 index 0000000..a266ea8 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/ChatSettingEvents.kt @@ -0,0 +1,24 @@ +package com.remax.visualnovel.ui.chat.message.events + +import com.remax.visualnovel.entity.request.AIFeedback +import com.remax.visualnovel.entity.request.AIIDRequest +import com.pengxr.modular.eventbus.facade.annotation.EventGroup + + +/** + * Created by HJW on 2023/5/18 + * 用户修改了AI相关的设置 + */ +@EventGroup(moduleName = "chatSetting", autoClear = true) +interface ChatSettingEvents { + + /** + * 修改设置 + */ + fun settingChanged(): AIIDRequest + + /** + * 修改点赞/点踩 + */ + fun aiResponseFeedback(): AIFeedback +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetAutoPlayEvent.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetAutoPlayEvent.kt new file mode 100644 index 0000000..e434f5d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetAutoPlayEvent.kt @@ -0,0 +1,14 @@ +package com.remax.visualnovel.ui.chat.message.events.model + +import com.remax.visualnovel.entity.request.AIIDRequest + +/** + * Created by HJW on 2025/8/24 + */ +data class ChatSetAutoPlayEvent( + override val aiId: String, + /** + * 自动播放语音开关 1:开 0:关 + */ + val isAutoPlayVoice: Int? = null, +) : AIIDRequest(aiId) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBackgroundEvent.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBackgroundEvent.kt new file mode 100644 index 0000000..f4612f4 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBackgroundEvent.kt @@ -0,0 +1,14 @@ +package com.remax.visualnovel.ui.chat.message.events.model + +import com.remax.visualnovel.entity.request.AIIDRequest + +/** + * Created by HJW on 2025/8/24 + */ +data class ChatSetBackgroundEvent( + override val aiId: String, + /** + * 聊天背景图片 + */ + val backgroundImg: String? = null, +): AIIDRequest(aiId) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBubbleEvent.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBubbleEvent.kt new file mode 100644 index 0000000..add5cb3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/message/events/model/ChatSetBubbleEvent.kt @@ -0,0 +1,16 @@ +package com.remax.visualnovel.ui.chat.message.events.model + +import com.remax.visualnovel.entity.request.AIIDRequest +import com.remax.visualnovel.entity.response.ChatBubble + +/** + * Created by HJW on 2025/8/24 + */ +data class ChatSetBubbleEvent( + override val aiId: String, + + /** + * 聊天气泡 + */ + val bubble: ChatBubble? = null, +): AIIDRequest(aiId) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/setting/model/ChatModelDialog.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/setting/model/ChatModelDialog.kt new file mode 100644 index 0000000..053b046 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/setting/model/ChatModelDialog.kt @@ -0,0 +1,115 @@ +package com.remax.visualnovel.ui.chat.setting.model + +import android.app.Activity +import androidx.core.view.isVisible +import com.remax.visualnovel.R +import com.remax.visualnovel.databinding.DialogChatModelBinding +import com.remax.visualnovel.databinding.ItemChatModelBinding +import com.remax.visualnovel.entity.response.ChatModel +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.extension.showMoreTxtDialog +import com.remax.visualnovel.ui.wallet.WalletActivity +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.widget.dialoglib.LBindingDialog +import com.drake.brv.utils.divider +import com.drake.brv.utils.linear +import com.drake.brv.utils.setup + +/** + * Created by HJW on 2025/8/18 + */ +class ChatModelDialog(private val activity: Activity) : + LBindingDialog(activity, DialogChatModelBinding::inflate) { + + private var selectCode: String? = null + + fun build( + models: List, + selectCode: String?, + recharge: (() -> Unit)? = null, + click: (ChatModel) -> Unit + ) { + this.selectCode = selectCode + with() + setBottom() + setCancelBtn(R.id.cancel) + with(binding) { + dialogTitle.setText(if (recharge == null) R.string.dialog_model else R.string.recharge_dialog_title) + modelHint.isVisible = recharge == null + listOf(btnRecharge, dialogText, priceView).forEach { + it.isVisible = !modelHint.isVisible + } + + setOnClick(btnRecharge) { + WalletActivity.start() + dismiss() + } + priceView.setPrice(formatPrice(WalletManager.balance)) + + rvModel.linear() + .divider { + setDivider(16, true) + }.setup { + addType(R.layout.item_chat_model) + onClick(R.id.group) { + val item = getModel() + click.invoke(item) + } + onBind { + val item = getModel() + with(getBinding()) { + modelSelect.isVisible = item.code == selectCode + modelTitle.text = item.name + modelDesc.text = item.description + priceView1.setPrice("${formatPrice(item.textPrice)}/${context.getString(R.string.text_message)}") + priceView2.setPrice("${formatPrice(item.voicePrice)}/${context.getString(R.string.send_or_play_voice)}") + priceView3.setPrice("${formatPrice(item.voiceChatPrice)}/${context.getString(R.string.voice_call_message)}") + + setOnClick(priceTips) { + activity.showMoreTxtDialog( + texts = listOf( + item.questionMark ?: "" + ) + ) + } + } + } + }.models = models + } + } + + +// inner class ChatModelAdapter(private val activity: Activity, data: List) : +// BannerAdapter(data) { +// +// inner class ViewHolder(view: View, itemBinding: ItemChatModelBinding) : RecyclerView.ViewHolder(view) { +// val binding = itemBinding +// } +// +// override fun onCreateHolder(parent: ViewGroup, viewType: Int): ViewHolder { +// val binding = ItemChatModelBinding.inflate(LayoutInflater.from(parent.context), parent, false) +// return ViewHolder(binding.root, binding) +// } +// +// override fun onBindView(holder: ViewHolder?, data: ChatModel?, position: Int, size: Int) { +// data?.let { item -> +// holder?.binding?.run { +// modelSelect.isVisible = item.code == selectCode +// modelTitle.text = item.name +// modelDesc.text = item.description +// priceView1.setPrice("${item.textPrice}/${context.getString(R.string.text_message)}") +// priceView2.setPrice("${item.voiceChatPrice}/${context.getString(R.string.voice_call_message)}") +// +// setOnClick(priceTips) { +// activity.showMoreTxtDialog( +// texts = listOf( +// item.questionMark ?: "" +// ) +// ) +// } +// } +// } +// } +// } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ui/HoldToTalkDialog.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ui/HoldToTalkDialog.kt new file mode 100644 index 0000000..788d5c4 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/chat/ui/HoldToTalkDialog.kt @@ -0,0 +1,25 @@ +package com.remax.visualnovel.ui.chat.ui + +import android.content.Context +import com.remax.visualnovel.R +import com.remax.visualnovel.databinding.DialogHoldToTalkBinding +import com.remax.visualnovel.widget.dialoglib.LBindingDialog + +/** + * Created by HJW on 2025/8/16 + */ +class HoldToTalkDialog(context: Context) : + LBindingDialog(context, DialogHoldToTalkBinding::inflate) { + + fun build(): HoldToTalkDialog { + with() + setBottom() + setBgColorToken(R.string.color_transparent) + setMaskValue(0f) + + show() + + return this + } + +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt index 53583d8..a947006 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/main/actor/ActorsAdapter.kt @@ -5,7 +5,7 @@ import com.chad.library.adapter.base.module.LoadMoreModule import com.remax.visualnovel.R import com.remax.visualnovel.app.BaseBindingQuickAdapter import com.remax.visualnovel.databinding.FragmentMainActorItemBinding -import com.remax.visualnovel.ui.Chat.ChatActivity +import com.remax.visualnovel.ui.chat.ChatActivity class ActorsAdapter : BaseBindingQuickAdapter(FragmentMainActorItemBinding::inflate), LoadMoreModule { init { diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletActivity.kt new file mode 100644 index 0000000..f81df84 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletActivity.kt @@ -0,0 +1,107 @@ +package com.remax.visualnovel.ui.wallet + +/** + * Created by HJW on 2025/8/26 + */ + +import android.annotation.SuppressLint +import androidx.activity.viewModels +import androidx.core.view.isVisible +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.databinding.ActivityWalletBinding +import com.remax.visualnovel.extension.addScrollerAlpha +import com.remax.visualnovel.extension.launchAndLoadingCollect +import com.remax.visualnovel.extension.setMagicIndicator +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.ui.wallet.income.IncomeFragment +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.ui.wallet.recharge.RechargeFragment +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.spannablex.activateClick +import com.remax.visualnovel.utils.spannablex.span.SimpleClickableConfig +import com.remax.visualnovel.utils.spannablex.spannable +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.indicator.SecondaryNavigatorAdapter +import com.remax.visualnovel.widget.uitoken.expend.dsl.expandDp +import com.remax.visualnovel.widget.uitoken.handleUIToken +import dagger.hilt.android.AndroidEntryPoint +import kotlin.getValue + +@AndroidEntryPoint +@Route(path = Routers.WALLET) +class WalletActivity : BaseBindingActivity() { + + private val walletViewModel by viewModels() + + override fun initView() { + setToolbar(R.string.wallet) + with(binding) { + appBarLayout.addScrollerAlpha(tvTitle, isFromToolbar = true) + + setMagicIndicator( + listOf(RechargeFragment.newInstance(), IncomeFragment.newInstance()), + SecondaryNavigatorAdapter( + listOf( + R.string.recharge, + R.string.income, + ).map { res -> getString(res) }, viewPager2 = viewPager + ), + indicator, leftPadding = 24.dp + ) { + bottomLayout.isVisible = it == 0 + } + + agreement.activateClick(false).text = spannable { + getString(R.string.recharge_agreement_hint).text() + + val color = handleUIToken(R.string.color_primary_variant_normal)?.color ?: 0 + " ${getString(R.string.recharge_agreement)}".span { + clickable(color, config = SimpleClickableConfig(false)) { _, _ -> + Routers.navigationToRA() + } + } + } + + radioRecharge.expandDp(30, 30) + setOnClick(radioRecharge, btnRecharge) { + when (this) { + radioRecharge -> { + radioRecharge.viewChecked(!radioRecharge.isChecked) + btnRecharge.isEnabled = radioRecharge.isChecked + } + + btnRecharge -> { + walletViewModel.products?.find { it.selected }?.let { + WalletManager.onCreateOrder(it) + } + } + } + } + } + } + + override fun initData() { + launchAndLoadingCollect({ + walletViewModel.getMyWallet() + }) + } + + @SuppressLint("SetTextI18n") + fun refreshRechargeTxt() { + walletViewModel.products?.find { it.selected }?.let { item -> + binding.btnRecharge.text = "${getString(R.string.recharge)} ${item.local}" + } + } + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.WALLET) + .navigation() + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletViewModel.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletViewModel.kt new file mode 100644 index 0000000..cf427f3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/WalletViewModel.kt @@ -0,0 +1,44 @@ +package com.remax.visualnovel.ui.wallet + +/** + * Created by HJW on 2025/8/26 + */ + +import com.remax.visualnovel.app.viewmodel.base.BaseViewModel +import com.remax.visualnovel.entity.request.ChargeProduct +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.request.SearchPage +import com.remax.visualnovel.entity.response.Transaction +import com.remax.visualnovel.entity.response.base.Response +import com.remax.visualnovel.repository.api.PayRepository +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class WalletViewModel @Inject constructor(private val payRepository: PayRepository) : BaseViewModel() { + + private var currPn = 1 + + suspend fun getBillList(isRefresh: Boolean, type: String?): Response { + if (isRefresh) currPn = 1 + return payRepository.getTransactionList( + SearchPage( + PageQuery.Page(currPn), type = type + ) + ).transformResult({ + currPn++ + }) + } + + + suspend fun getMyWallet() = payRepository.getMyWallet() + + var products: List? = null + private set + + suspend fun getProducts() = payRepository.getProducts().transformResult({ + products = it?.productList + products?.firstOrNull()?.selected = true + }) + +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/dialog/RechargeDialog.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/dialog/RechargeDialog.kt new file mode 100644 index 0000000..1c8b6f3 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/dialog/RechargeDialog.kt @@ -0,0 +1,83 @@ +package com.remax.visualnovel.ui.wallet.dialog + +import android.annotation.SuppressLint +import android.app.Activity +import androidx.recyclerview.widget.RecyclerView +import com.remax.visualnovel.R +import com.remax.visualnovel.databinding.DialogRechargeBinding +import com.remax.visualnovel.databinding.ItemRechargeBinding +import com.remax.visualnovel.entity.request.ChargeProduct +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.ui.wallet.manager.WalletManager +import com.remax.visualnovel.widget.dialoglib.LBindingDialog +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.drake.brv.annotaion.DividerOrientation +import com.drake.brv.utils.divider +import com.drake.brv.utils.grid +import com.drake.brv.utils.setup + +/** + * Created by HJW on 2025/9/15 + */ +class RechargeDialog(val activity: Activity) : + LBindingDialog(activity, DialogRechargeBinding::inflate) { + + @SuppressLint("SetTextI18n") + fun build(productList: List) { + with() + setBottom() + setCancelBtn(R.id.cancelBtn) + with(binding) { + balance.setPrice(formatPrice(WalletManager.balance)) + rvRecharge.setRechargeProduct(productList) { item -> + btnRecharge.text = "${activity.getString(R.string.recharge)} ${item.local}" + } + setOnClick(btnRecharge) { + productList.find { it.selected }?.let { product -> + WalletManager.onCreateOrder(product) + dismiss() + } + } + } + show() + } +} + +@SuppressLint("NotifyDataSetChanged") +fun RecyclerView.setRechargeProduct(productList: List?, selectCallback: (ChargeProduct) -> Unit) { + grid(2) + .divider { + setDivider(16, true) + orientation = DividerOrientation.VERTICAL + }.setup { + addType(R.layout.item_recharge) + onClick(R.id.group) { + val item = getModel() + models?.forEach { product -> + (product as? ChargeProduct)?.apply { + selected = item == product + if (selected) { + selectCallback.invoke(item) + } + } + } + bindingAdapter?.notifyDataSetChanged() + } + onBind { + val item = getModel() + with(getBinding()) { + group.changeBackground { + strokeUIColorToken = context.getString( + if (item.selected) + R.string.color_primary_normal + else + R.string.color_surface_base_normal + ) + } + priceView.setPrice(item.chargeAmount.toString()) + amountView.text = item.local + } + } + }.models = productList +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/income/IncomeFragment.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/income/IncomeFragment.kt new file mode 100644 index 0000000..75cc208 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/income/IncomeFragment.kt @@ -0,0 +1,113 @@ +package com.remax.visualnovel.ui.wallet.income + +/** + * Created by HJW on 2025/9/12 + */ +import android.annotation.SuppressLint +import android.os.Bundle +import androidx.fragment.app.activityViewModels +import androidx.recyclerview.widget.LinearLayoutManager +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.BaseBindingFragment +import com.remax.visualnovel.databinding.ItemIncomeHeaderBinding +import com.remax.visualnovel.databinding.LayoutSimpleRecyclerviewRefreshBinding +import com.remax.visualnovel.entity.response.AccountBuffBill +import com.remax.visualnovel.extension.autoRefreshList +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.launchAndCollect +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.extension.showSingleBtnDialog +import com.remax.visualnovel.ui.wallet.WalletViewModel +import com.remax.visualnovel.ui.wallet.transaction.TransactionAdapter +import com.remax.visualnovel.ui.wallet.transaction.TransactionDetailActivity +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.itemdecoration.SpaceItemDecoration +import com.pengxr.modular.eventbus.generated.events.EventDefineOfWalletEvents +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +@Route(path = Routers.INCOME) +class IncomeFragment : BaseBindingFragment() { + + private val walletViewModel by activityViewModels() + + private val transactionAdapter by lazy { + TransactionAdapter(AccountBuffBill.INCOME) + } + + private val incomeHeaderBinding by lazy { + ItemIncomeHeaderBinding.inflate(layoutInflater) + } + + @SuppressLint("SetTextI18n") + override fun onCreated(bundle: Bundle?) { + with(binding) { + setOnClick(incomeHeaderBinding.transactionEnter, incomeHeaderBinding.pendingTips) { + when (this) { + incomeHeaderBinding.transactionEnter -> { + TransactionDetailActivity.start() + } + + incomeHeaderBinding.pendingTips -> { + activity?.showSingleBtnDialog(text = getString(R.string.transaction_tips)) + } + } + } + + with(refreshLayout) { + refreshLayout.autoRefreshList() + onRefresh { + getData(true) + } + } + with(recyclerView) { + adapter = transactionAdapter + layoutManager = LinearLayoutManager(recyclerView.context) + addItemDecoration(SpaceItemDecoration(16.dp, 24.dp,0,24.dp)) + with(transactionAdapter) { + addHeaderView(incomeHeaderBinding.root) + incomeHeaderBinding.transactionEnter.text = "${getString(R.string.transaction_detail)}>" + headerWithEmptyEnable = true + loadMoreModule.setOnLoadMoreListener { + getData(false) + } + } + } + } + } + + override fun subscribeUi() { + EventDefineOfWalletEvents.buffBalanceUpdateSucceeded().observe(this) { + incomeHeaderBinding.income.setPrice(formatPrice(it?.income)) + incomeHeaderBinding.pending.setPrice(formatPrice(it?.awaitingIncome)) + } + } + + private fun getData(isRefresh: Boolean) { + launchAndCollect({ + walletViewModel.getBillList(isRefresh, AccountBuffBill.INCOME) + }) { + onSuccess = { + val data = it?.pageList?.datas ?: emptyList() + transactionAdapter.setTransactionData(isRefresh, data, 32) + } + + onComplete = { + if (isRefresh) { + binding.refreshLayout.finishRefresh() + } + } + } + } + + companion object { + fun newInstance(): IncomeFragment { + return ARouter.getInstance().build(Routers.INCOME) + .navigation() as IncomeFragment + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/manager/WalletManager.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/manager/WalletManager.kt new file mode 100644 index 0000000..8b4fa8e --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/manager/WalletManager.kt @@ -0,0 +1,116 @@ +package com.remax.visualnovel.ui.wallet.manager + +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.Observer +import com.remax.visualnovel.R +import com.remax.visualnovel.api.factory.ServiceFactory +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.entity.request.ChargeProduct +import com.remax.visualnovel.entity.response.Wallet +import com.remax.visualnovel.entity.response.base.parseData +import com.remax.visualnovel.extension.launchFlow +import com.remax.visualnovel.extension.toast +import com.remax.visualnovel.manager.pay.GooglePayManager +import com.remax.visualnovel.repository.api.PayRepository +import com.remax.visualnovel.ui.wallet.dialog.RechargeDialog +import com.pengxr.modular.eventbus.generated.events.EventDefineOfWalletEvents +import com.remax.visualnovel.configs.NovelApplication +import kotlinx.coroutines.MainScope +import kotlinx.coroutines.flow.collect +import kotlinx.coroutines.launch + +/** + * Created by HJW on 2025/9/15 + */ +object WalletManager : DefaultLifecycleObserver { + + var balance: Long = 0 + + private val walletObserver = Observer { wallet -> + balance = wallet?.balance ?: 0L + } + + override fun onCreate(owner: LifecycleOwner) { + EventDefineOfWalletEvents.buffBalanceUpdateSucceeded().observeForever(walletObserver) + } + + override fun onResume(owner: LifecycleOwner) { + refreshRechargeProducts() + } + + override fun onDestroy(owner: LifecycleOwner) { + EventDefineOfWalletEvents.buffBalanceUpdateSucceeded().removeObserver(walletObserver) + } + + private val payRepository by lazy { + PayRepository(ServiceFactory.createService()) + } + + fun refreshWallet() { + MainScope().launch { + launchFlow(payRepository::getMyWallet).collect() + } + } + + private val productList by lazy { + arrayListOf() + } + + /** + * 创建google pay充值订单 + * @param product ChargeProduct 后端返回的实体对象 + */ + fun onCreateOrder(product: ChargeProduct) { + MainScope().launch { + launchFlow({ + payRepository.createOrder(product) + }, { + (NovelApplication.getCurrentActivity() as? BaseBindingActivity<*>)?.showLoading() + }) { + (NovelApplication.getCurrentActivity() as? BaseBindingActivity<*>)?.hideLoading() + }.collect { + it.parseData({ + onSuccess = { res -> + res?.run { + (NovelApplication.getCurrentActivity() as? BaseBindingActivity<*>)?.let { act -> + GooglePayManager.pay(act, product.productId, tradeNo = res.tradeNo) { + act.toast(act.getString(R.string.google_pay_fail_toast)) + } + } + } + } + + onFailed = { errorCode, _ -> + + } + }) + } + } + } + + fun refreshRechargeProducts() { + GooglePayManager.checkProductDetails() + MainScope().launch { + if (productList.isEmpty()) { + payRepository.getProducts().transformResult({ + productList.clear() + productList.addAll(it?.productList ?: emptyList()) + }) + } + } + } + + fun showChargeDialog() { + if (productList.isNotEmpty()) { + NovelApplication.getCurrentActivity()?.let { act -> + productList.forEachIndexed { index, product -> + product.selected = index == 0 + } + RechargeDialog(act).build(productList) + } + } else { + refreshRechargeProducts() + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/recharge/RechargeFragment.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/recharge/RechargeFragment.kt new file mode 100644 index 0000000..8efaf57 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/recharge/RechargeFragment.kt @@ -0,0 +1,83 @@ +package com.remax.visualnovel.ui.wallet.recharge + +/** + * Created by HJW on 2025/9/12 + */ +import android.annotation.SuppressLint +import android.os.Bundle +import androidx.fragment.app.activityViewModels +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.BaseBindingFragment +import com.remax.visualnovel.databinding.FragmentRechargeBinding +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.launchAndCollect +import com.remax.visualnovel.extension.setOnClick +import com.remax.visualnovel.manager.pay.GooglePayManager +import com.remax.visualnovel.ui.wallet.WalletActivity +import com.remax.visualnovel.ui.wallet.WalletViewModel +import com.remax.visualnovel.ui.wallet.dialog.setRechargeProduct +import com.remax.visualnovel.ui.wallet.transaction.TransactionDetailActivity +import com.remax.visualnovel.utils.Routers +import com.pengxr.modular.eventbus.generated.events.EventDefineOfWalletEvents +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +@Route(path = Routers.RECHARGE) +class RechargeFragment : BaseBindingFragment() { + + private val walletViewModel by activityViewModels() + + @SuppressLint("SetTextI18n") + override fun onCreated(bundle: Bundle?) { + with(binding) { + transactionEnter.text = "${getString(R.string.transaction_detail)}>" + setOnClick(transactionEnter) { + when (this) { + transactionEnter -> { + TransactionDetailActivity.start() + } + } + } + } + getProducts() + } + + @SuppressLint("SetTextI18n") + private fun getProducts() { + launchAndCollect({ + walletViewModel.getProducts() + }) { + onSuccess = { + it?.productList?.forEachIndexed { index, chargeProduct -> + GooglePayManager.productDetails.forEach { productDetails -> + if (chargeProduct.productId == productDetails?.productId) { + chargeProduct.local = productDetails.oneTimePurchaseOfferDetails?.formattedPrice + chargeProduct.localCurrencyCode = + productDetails.oneTimePurchaseOfferDetails?.priceCurrencyCode ?: "USD" + } + } + } + (activity as? WalletActivity)?.refreshRechargeTxt() + binding.rvRecharge.setRechargeProduct(it?.productList) { item -> + (activity as? WalletActivity)?.refreshRechargeTxt() + } + } + } + } + + override fun subscribeUi() { + EventDefineOfWalletEvents.buffBalanceUpdateSucceeded().observe(this) { + binding.balance.setPrice(formatPrice(it?.balance)) + } + } + + companion object { + fun newInstance(): RechargeFragment { + return ARouter.getInstance().build(Routers.RECHARGE) + .navigation() as RechargeFragment + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionAdapter.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionAdapter.kt new file mode 100644 index 0000000..d765064 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionAdapter.kt @@ -0,0 +1,73 @@ +package com.remax.visualnovel.ui.wallet.transaction + +/** + * Created by HJW on 2025/9/12 + */ + +import com.chad.library.adapter.base.module.LoadMoreModule +import com.remax.visualnovel.R +import com.remax.visualnovel.app.BaseBindingQuickAdapter +import com.remax.visualnovel.app.widget.setMyEmptyView +import com.remax.visualnovel.databinding.ItemIncomeBinding +import com.remax.visualnovel.entity.request.PageQuery +import com.remax.visualnovel.entity.response.AccountBuffBill +import com.remax.visualnovel.entity.response.TransactionGift +import com.remax.visualnovel.extension.convertFromJson +import com.remax.visualnovel.extension.formatPrice +import com.remax.visualnovel.extension.glide.load +import com.remax.visualnovel.manager.gift.GiftManager +import com.remax.visualnovel.utils.TimeUtils +import com.remax.visualnovel.widget.uitoken.changeTextColor + +/** + * 这是一个适配器,LoadMoreModule按需取舍 + */ +class TransactionAdapter(private val type: String? = null) : + BaseBindingQuickAdapter(ItemIncomeBinding::inflate), + LoadMoreModule { + + override fun convert(holder: BaseBindingHolder, item: AccountBuffBill) { + with(holder.getViewBinding()) { + timeIncome.text = TimeUtils.format_y_m_d_h_m_s(item.time) + titleIncome.text = item.item + ivIncome.setImageResource(R.mipmap.ic_transaction) + GiftManager.gifts?.find { it.id == item.extend.convertFromJson()?.giftId }?.let { gift -> + ivIncome.load(gift.icon) + } + + when { + type == AccountBuffBill.INCOME -> { + priceIncome.setPrice("+${formatPrice(item.amount)}") + } + + item.isIn -> { + priceIncome.getContentView()?.changeTextColor { + textUIColorToken = context.getString(R.string.color_positive_normal) + } + priceIncome.setPrice("+${formatPrice(item.amount)}") + } + + else -> { + priceIncome.getContentView()?.changeTextColor { + textUIColorToken = context.getString(R.string.color_important_variant_normal) + } + priceIncome.setPrice("-${formatPrice(item.amount)}") + } + } + } + } + + fun setTransactionData(isRefresh: Boolean, data: List, topMargin: Int) { + if (isRefresh) { + setList(data) + setMyEmptyView(R.string.no_transaction_yet, topMargin = topMargin) + } else { + addData(data) + loadMoreModule.loadMoreComplete() + } + if (data.size < PageQuery.DEFAULT_PAGE_SIZE) { + loadMoreModule.loadMoreEnd() + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionDetailActivity.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionDetailActivity.kt new file mode 100644 index 0000000..569ee3c --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/ui/wallet/transaction/TransactionDetailActivity.kt @@ -0,0 +1,82 @@ +package com.remax.visualnovel.ui.wallet.transaction + +/** + * Created by HJW on 2025/9/12 + */ +import androidx.activity.viewModels +import androidx.recyclerview.widget.LinearLayoutManager +import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter +import com.remax.visualnovel.R +import com.remax.visualnovel.app.base.BaseBindingActivity +import com.remax.visualnovel.databinding.ActivityTransactionBinding +import com.remax.visualnovel.extension.addScrollerAlpha +import com.remax.visualnovel.extension.autoRefreshList +import com.remax.visualnovel.extension.launchAndCollect +import com.remax.visualnovel.ui.wallet.WalletViewModel +import com.remax.visualnovel.utils.Routers +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.itemdecoration.SpaceItemDecoration +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +@Route(path = Routers.TRANSACTION) +class TransactionDetailActivity : BaseBindingActivity() { + + private val walletViewModel by viewModels() + + private val transactionAdapter by lazy { + TransactionAdapter() + } + + override fun initView() { + setToolbar(R.string.transaction_detail) + with(binding) { + appBarLayout.addScrollerAlpha(tvTitle, isFromToolbar = true) + refreshLayout.setOnRefreshListener { + getData(true) + } + with(recyclerView) { + adapter = transactionAdapter + layoutManager = LinearLayoutManager(recyclerView.context) + addItemDecoration(SpaceItemDecoration(16.dp, 24.dp,0,24.dp)) + with(transactionAdapter) { + setOnItemClickListener { _, _, position -> + + } + loadMoreModule.setOnLoadMoreListener { + getData(false) + } + } + } + } + } + + override fun initData() { + binding.refreshLayout.autoRefreshList() + } + + private fun getData(isRefresh: Boolean) { + launchAndCollect({ walletViewModel.getBillList(isRefresh, null) }) { + onSuccess = { + val data = it?.pageList?.datas ?: emptyList() + transactionAdapter.setTransactionData(isRefresh, data, 120) + } + + onComplete = { + if (isRefresh) { + binding.refreshLayout.finishRefresh() + } + } + } + } + + companion object { + fun start() { + ARouter.getInstance() + .build(Routers.TRANSACTION) + .navigation() + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/RecordHelper.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/RecordHelper.kt new file mode 100644 index 0000000..d6ad93c --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/RecordHelper.kt @@ -0,0 +1,91 @@ +package com.remax.visualnovel.utils + +import android.app.Activity +import android.os.Environment +import com.buihha.audiorecorder.Mp3Recorder +import com.buihha.audiorecorder.Mp3Recorder.OnRecordListener +import timber.log.Timber +import java.io.File + +/** + * Created by HJW on 2025/8/16 + */ +class RecordHelper { + + private var recorder: Mp3Recorder? = null + private var filename: String = "null" + + fun isRecording(): Boolean { + return recorder != null && recorder!!.isRecording() + } + + @Synchronized + fun startRecording(activity: Activity, onStart: () -> Unit, onStop: () -> Unit) { + try { + recorder = Mp3Recorder() + recorder!!.setOnRecordListener(object : OnRecordListener { + override fun onStart() { + //开始录音 + onStart.invoke() + } + + override fun onStop() { + //停止录音 + onStop.invoke() + } + + override fun onError() { + Timber.i("startRecording onError") + //录音错误,主要针对OPPO手机在调用startRecord方法时弹窗安全权限提示,此时如果拒绝,则会执行该回调 + onStop.invoke() + } + + override fun onRecording(i: Int, v: Double) { + //Timber.d("采样:" + i + "Hz 音量:" + v + "分贝"); + } + }) + if (!recorder!!.isRecording()) { + val filePath = activity.getExternalFilesDir(Environment.DIRECTORY_MUSIC) + val file = File( + filePath, + "record_${System.currentTimeMillis()}.mp3" + ) + filename = file.path + recorder!!.startRecording(filePath?.path, file.getName()) + } + } catch (e: Exception) { + Timber.i("startRecording catch :${e.localizedMessage}") + e.printStackTrace() + onStop.invoke() + } + } + + @Synchronized + fun stopRecording() { + try { + if (recorder != null && recorder!!.isRecording()) { + recorder!!.stopRecording() + recorder = null + } + } catch (e: Exception) { + e.printStackTrace() + Timber.i("startRecording stopRecording :${e.localizedMessage}") + + recorder = null + + val file = File(filename) + if (file.exists()) { + file.delete() + } + } + } + + fun getFilename(): String { + return filename + } + + fun setFilename(filename: String) { + this.filename = filename + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt index 77e0a08..ba6b05b 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/Routers.kt @@ -13,7 +13,17 @@ class Routers { private const val ROUTER = "/router/" + //----------------- Pre ---------------- + const val CHAT_FLIRTING_LEVEL = "${ROUTER}chatFlirtingLevel" + const val WALLET = "${ROUTER}wallet" + const val INCOME = "${ROUTER}income" + const val TRANSACTION = "${ROUTER}transaction" + const val RECHARGE = "${ROUTER}recharge" + + + + //----------------- New ---------------- const val SPLASH = "${ROUTER}splash" const val MAIN = "${ROUTER}main" const val ROUTE_FRAG_BOOKLIST = "${ROUTER}bookList" @@ -39,6 +49,10 @@ class Routers { navigationToBrowser(url = BuildConfig.EPAL_TERMS_SERVICES) } + fun navigationToRA() { + navigationToBrowser(url = BuildConfig.RECHAEGE_SERVICES) + } + fun navigationToBrowser(title: String = "", url: String, needTitle: Boolean = true) { ARouter.getInstance() .build(BROWSER) diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsEvent.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsEvent.kt new file mode 100644 index 0000000..b98a77e --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsEvent.kt @@ -0,0 +1,10 @@ +package com.remax.visualnovel.utils.analytics + +/** + * Created by HJW on 2020/9/23 + * 埋点事件 + */ +object AnalyticsEvent { + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsUtils.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsUtils.kt new file mode 100644 index 0000000..5e3ee79 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/utils/analytics/AnalyticsUtils.kt @@ -0,0 +1,38 @@ +package com.remax.visualnovel.utils.analytics + +import android.content.Context +import android.os.Bundle +import com.remax.visualnovel.manager.login.LoginManager +import com.google.firebase.analytics.FirebaseAnalytics +import timber.log.Timber + +object AnalyticsUtils { + + private lateinit var firebaseAnalytics: FirebaseAnalytics + + fun init(context: Context) { + if (!this::firebaseAnalytics.isInitialized) { + firebaseAnalytics = FirebaseAnalytics.getInstance(context) + } + refreshUserId() + } + + fun refreshUserId() { + Timber.d("firebase埋点更新userId:${LoginManager.user?.userId}") + if (this::firebaseAnalytics.isInitialized) { + firebaseAnalytics.setUserId(LoginManager.user?.userId?:"") + } + } + + /** + * 添加埋点 + */ + fun logAnalytics(event: String, bundle: Bundle? = null) { + Timber.d("埋点事件:$event") + if (this::firebaseAnalytics.isInitialized) { + Timber.d("firebase埋点 event:$event bundle:${bundle.toString()}") + firebaseAnalytics.logEvent(event, bundle) + } + } + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/RoundFrameLayout.java b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/RoundFrameLayout.java new file mode 100644 index 0000000..105d2d1 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/RoundFrameLayout.java @@ -0,0 +1,183 @@ +package com.remax.visualnovel.widget; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.widget.FrameLayout; + +import com.remax.visualnovel.R; + +/** + * 裁掉圆角边的父布局 + */ +public class RoundFrameLayout extends FrameLayout { + + private float topLeftRadius; + private float topRightRadius; + private float bottomLeftRadius; + private float bottomRightRadius; + + private Paint roundPaint; + private Paint imagePaint; + + public RoundFrameLayout(Context context) { + this(context, null); + } + + public RoundFrameLayout(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public RoundFrameLayout(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + if (attrs != null) { + TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.RoundFrameLayout); + float radius = ta.getDimension(R.styleable.RoundFrameLayout_radius, 0); + topLeftRadius = ta.getDimension(R.styleable.RoundFrameLayout_topLeftRadius, radius); + topRightRadius = ta.getDimension(R.styleable.RoundFrameLayout_topRightRadius, radius); + bottomLeftRadius = ta.getDimension(R.styleable.RoundFrameLayout_bottomLeftRadius, radius); + bottomRightRadius = ta.getDimension(R.styleable.RoundFrameLayout_bottomRightRadius, radius); + ta.recycle(); + } + roundPaint = new Paint(); + roundPaint.setColor(Color.WHITE); + roundPaint.setAntiAlias(true); + roundPaint.setStyle(Paint.Style.FILL); + roundPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT)); + + imagePaint = new Paint(); + imagePaint.setXfermode(null); + } + + public void setRadius(float radius) { + topLeftRadius = radius; + topRightRadius = radius; + bottomLeftRadius = radius; + bottomRightRadius = radius; + } + + public void setRadius(float topLeftRadius, float topRightRadius, float bottomLeftRadius, float bottomRightRadius) { + this.topLeftRadius = topLeftRadius; + this.topRightRadius = topRightRadius; + this.bottomLeftRadius = bottomLeftRadius; + this.bottomRightRadius = bottomRightRadius; + } + + //实现1 + @Override + protected void dispatchDraw(Canvas canvas) { + int width = getWidth(); + int height = getHeight(); + Path path = new Path(); + path.moveTo(0, topLeftRadius); + path.arcTo(new RectF(0, 0, topLeftRadius * 2, topLeftRadius * 2), -180, 90); + path.lineTo(width - topRightRadius, 0); + path.arcTo(new RectF(width - 2 * topRightRadius, 0, width, topRightRadius * 2), -90, 90); + path.lineTo(width, height - bottomRightRadius); + path.arcTo(new RectF(width - 2 * bottomRightRadius, height - 2 * bottomRightRadius, width, height), 0, 90); + path.lineTo(bottomLeftRadius, height); + path.arcTo(new RectF(0, height - 2 * bottomLeftRadius, bottomLeftRadius * 2, height), 90, 90); + path.close(); + canvas.clipPath(path); + super.dispatchDraw(canvas); + } + +// //实现2 +// @Override +// protected void dispatchDraw(Canvas canvas) { +// super.dispatchDraw(canvas); +// drawTopLeft(canvas);//用PorterDuffXfermode +// drawTopRight(canvas);//用PorterDuffXfermode +// drawBottomLeft(canvas);//用PorterDuffXfermode +// drawBottomRight(canvas);//用PorterDuffXfermode +// } + +// //实现3 +// @Override +// protected void dispatchDraw(Canvas canvas) { +// Bitmap bitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888); +// Canvas newCanvas = new Canvas(bitmap); +// super.dispatchDraw(newCanvas); +// drawTopLeft(newCanvas); +// drawTopRight(newCanvas); +// drawBottomLeft(newCanvas); +// drawBottomRight(newCanvas); +// canvas.drawBitmap(bitmap, 0, 0, imagePaint); +//// invalidate(); +// } + +// //实现4 +// @Override +// protected void dispatchDraw(Canvas canvas) { +// canvas.saveLayer(new RectF(0, 0, canvas.getWidth(), canvas.getHeight()), imagePaint, Canvas.ALL_SAVE_FLAG); +// super.dispatchDraw(canvas); +// drawTopLeft(canvas); +// drawTopRight(canvas); +// drawBottomLeft(canvas); +// drawBottomRight(canvas); +// canvas.restore(); +// } + + private void drawTopLeft(Canvas canvas) { + if (topLeftRadius > 0) { + Path path = new Path(); + path.moveTo(0, topLeftRadius); + path.lineTo(0, 0); + path.lineTo(topLeftRadius, 0); + path.arcTo(new RectF(0, 0, topLeftRadius * 2, topLeftRadius * 2), + -90, -90); + path.close(); + canvas.drawPath(path, roundPaint); + } + } + + private void drawTopRight(Canvas canvas) { + if (topRightRadius > 0) { + int width = getWidth(); + Path path = new Path(); + path.moveTo(width - topRightRadius, 0); + path.lineTo(width, 0); + path.lineTo(width, topRightRadius); + path.arcTo(new RectF(width - 2 * topRightRadius, 0, width, + topRightRadius * 2), 0, -90); + path.close(); + canvas.drawPath(path, roundPaint); + } + } + + private void drawBottomLeft(Canvas canvas) { + if (bottomLeftRadius > 0) { + int height = getHeight(); + Path path = new Path(); + path.moveTo(0, height - bottomLeftRadius); + path.lineTo(0, height); + path.lineTo(bottomLeftRadius, height); + path.arcTo(new RectF(0, height - 2 * bottomLeftRadius, + bottomLeftRadius * 2, height), 90, 90); + path.close(); + canvas.drawPath(path, roundPaint); + } + } + + private void drawBottomRight(Canvas canvas) { + if (bottomRightRadius > 0) { + int height = getHeight(); + int width = getWidth(); + Path path = new Path(); + path.moveTo(width - bottomRightRadius, height); + path.lineTo(width, height); + path.lineTo(width, height - bottomRightRadius); + path.arcTo(new RectF(width - 2 * bottomRightRadius, height - 2 + * bottomRightRadius, width, height), 0, 90); + path.close(); + canvas.drawPath(path, roundPaint); + } + } +} diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorAdapter.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorAdapter.kt new file mode 100644 index 0000000..696c130 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorAdapter.kt @@ -0,0 +1,64 @@ +package com.remax.visualnovel.widget.indicator + +import android.content.Context +import androidx.viewpager.widget.ViewPager +import androidx.viewpager2.widget.ViewPager2 +import com.remax.visualnovel.app.base.BaseCommonNavigatorAdapter +import com.remax.visualnovel.extension.setOnClick +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView + +class SecondaryNavigatorAdapter( + private val mTitleList: List, + override val viewPager2: ViewPager2? = null, + override val viewPager: ViewPager? = null, + private val lockList: List? = null, +) : BaseCommonNavigatorAdapter(viewPager2, viewPager) { + + var indexClickBlock: ((Int) -> Unit)? = null + + override fun getCount(): Int { + return mTitleList.size + } + + override fun getTitleView(context: Context, index: Int): IPagerTitleView { + val secondaryPagerTitleView = + if (lockList == null) { + SecondaryPagerTitleView(context) + } else { + SecondaryPagerLockedTitleView(context) + } + + + (secondaryPagerTitleView as? SecondaryPagerLockedTitleView)?.let { + val isLock = lockList?.getOrNull(index) == true + it.setIcon(isLock) + it.getTitleTextView().text = mTitleList[index] + } + + (secondaryPagerTitleView as? SecondaryPagerMoreTitleView)?.let { + it.getTitleTextView().text = mTitleList[index] + } + + (secondaryPagerTitleView as? SecondaryPagerTitleView)?.let { + it.getTitleTextView().text = mTitleList[index] + } + + setOnClick(secondaryPagerTitleView) { + indexClickBlock?.invoke(index) + viewPager2?.let { + it.currentItem = index + } + viewPager?.let { + it.currentItem = index + } + } + + + return secondaryPagerTitleView + } + + override fun getIndicator(context: Context): IPagerIndicator? { + return null + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorDictAdapter.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorDictAdapter.kt new file mode 100644 index 0000000..68053ef --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryNavigatorDictAdapter.kt @@ -0,0 +1,48 @@ +package com.remax.visualnovel.widget.indicator + +import android.annotation.SuppressLint +import android.content.Context +import com.remax.visualnovel.app.base.BaseCommonNavigatorAdapter +import com.remax.visualnovel.entity.response.AIDictItem +import com.remax.visualnovel.extension.setOnClick +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView + +class SecondaryNavigatorDictAdapter( + private val mTitleList: List, +) : BaseCommonNavigatorAdapter(null, null) { + + var indexClickBlock: ((Int) -> Unit)? = null + + override fun getCount(): Int { + return mTitleList.size + } + + @SuppressLint("SetTextI18n") + override fun getTitleView(context: Context, index: Int): IPagerTitleView { + val secondaryPagerTitleView = SecondaryPagerTitleView(context) + val currItem = mTitleList[index] + secondaryPagerTitleView.getTitleTextView().text = "#${currItem.name}" + if (currItem.select) { + secondaryPagerTitleView.onSelected(index, mTitleList.size) + } else { + secondaryPagerTitleView.onDeselected(index, mTitleList.size) + } + setOnClick(secondaryPagerTitleView) { + mTitleList.forEach { tag -> + if (tag == currItem) tag.select = !tag.select + } + if (currItem.select) { + secondaryPagerTitleView.onSelected(index, mTitleList.size) + } else { + secondaryPagerTitleView.onDeselected(index, mTitleList.size) + } + indexClickBlock?.invoke(index) + } + return secondaryPagerTitleView + } + + override fun getIndicator(context: Context): IPagerIndicator? { + return null + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerLockedTitleView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerLockedTitleView.kt new file mode 100644 index 0000000..17d5a9d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerLockedTitleView.kt @@ -0,0 +1,156 @@ +package com.remax.visualnovel.widget.indicator + +import android.content.Context +import android.graphics.Rect +import android.text.TextUtils +import android.view.Gravity +import android.widget.FrameLayout +import androidx.appcompat.widget.AppCompatTextView +import com.remax.visualnovel.R +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.IconFontTextView +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.remax.visualnovel.widget.uitoken.changeTextColor +import com.remax.visualnovel.widget.uitoken.changeTextFont +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IMeasurablePagerTitleView + +class SecondaryPagerLockedTitleView(context: Context) : FrameLayout(context, null), IMeasurablePagerTitleView { + + private lateinit var titleTextView: IconFontTextView + private var isActive = false + + init { + init(context) + } + + private fun init(context: Context) { + titleTextView = IconFontTextView(context) + addView(titleTextView) + with(titleTextView) { + setPaddingRelative(16.dp, 0, 16.dp, 0) + setSingleLine() + ellipsize = TextUtils.TruncateAt.END + includeFontPadding = false + height = 32.dp + gravity = Gravity.CENTER + changeTextFont { + textUITextToken = context.getString(R.string.txt_label_m) + } + } + + setPaddingRelative(0, 0, 12.dp, 0) + } + + fun setIcon(isLock: Boolean) { + titleTextView.setIconFontDrawable( + endIconFont = if (isLock) context.getString(R.string.icon_private) else null, + iconColorToken = context.getString(R.string.color_txt_primary_normal), + iconSize = 16, iconPadding = 4 + ) + } + + private fun setActiveStatus(isActive: Boolean) { + this.isActive = isActive + with(titleTextView) { + if (isActive) { + changeTextColor { + textUIColorToken = context.getString(R.string.color_txt_primary_specialmap_normal) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_specialmap_normal) + } + + changeBackground { + radiusToken = context.getString(R.string.radius_pill) + + strokeUIWidthToken = context.getString(R.string.border_s) + + backgroundUIColorToken = context.getString(R.string.color_primary_onpic_normal) + strokeUIColorToken = context.getString(R.string.color_primary_variant_normal) + + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + strokeUIDisabledColorToken = context.getString(R.string.color_outline_disabled) + + backgroundUIPressedColorToken = context.getString(R.string.color_primary_onpic_press) + strokeUIPressedColorToken = context.getString(R.string.color_primary_variant_normal) + } + + } else { + changeTextColor { + textUIColorToken = context.getString(R.string.color_txt_primary_normal) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_normal) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + } + + changeBackground { + radiusToken = context.getString(R.string.radius_pill) + //无筛选状态将描边恢复默认 + strokeUIWidthToken = "" + + backgroundUIColorToken = context.getString(R.string.color_surface_element_normal) + + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + + backgroundUIPressedColorToken = context.getString(R.string.color_surface_element_press) + } + } + } + + } + + override fun onSelected(index: Int, totalCount: Int) { + setActiveStatus(true) + } + + override fun onDeselected(index: Int, totalCount: Int) { + setActiveStatus(false) + } + + override fun onLeave(index: Int, totalCount: Int, leavePercent: Float, leftToRight: Boolean) {} + override fun onEnter(index: Int, totalCount: Int, enterPercent: Float, leftToRight: Boolean) {} + override fun getContentLeft(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 - contentWidth / 2 + } + + override fun getContentTop(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 - contentHeight / 2).toInt() + } + + override fun getContentRight(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 + contentWidth / 2 + } + + override fun getContentBottom(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 + contentHeight / 2).toInt() + } + + fun getTitleTextView(): AppCompatTextView { + return titleTextView + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerMoreTitleView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerMoreTitleView.kt new file mode 100644 index 0000000..a155d4d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerMoreTitleView.kt @@ -0,0 +1,102 @@ +package com.remax.visualnovel.widget.indicator + +import android.content.Context +import android.graphics.Rect +import android.text.TextUtils +import android.view.Gravity +import android.widget.FrameLayout +import androidx.appcompat.widget.AppCompatTextView +import com.remax.visualnovel.R +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.IconFontTextView +import com.remax.visualnovel.widget.uitoken.changeTextStyle +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IMeasurablePagerTitleView + +class SecondaryPagerMoreTitleView(context: Context) : FrameLayout(context, null), IMeasurablePagerTitleView { + + private lateinit var titleTextView: IconFontTextView + + init { + init(context) + } + + private fun init(context: Context) { + titleTextView = IconFontTextView(context) + addView(titleTextView) + with(titleTextView) { + setPaddingRelative(16.dp, 0, 16.dp, 0) + setSingleLine() + ellipsize = TextUtils.TruncateAt.END + includeFontPadding = false + height = 32.dp + gravity = Gravity.CENTER + setIconFontDrawable( + endIconFont = context.getString(R.string.icon_arrow_down_fill), + iconColorToken = context.getString(R.string.color_txt_primary_normal), + iconSize = 16, iconPadding = 4 + ) + changeTextStyle { + textUITextToken = context.getString(R.string.txt_label_m) + textUIColorToken = context.getString(R.string.color_txt_primary_specialmap_normal) + } + } + } + + override fun onSelected(index: Int, totalCount: Int) { + + } + + override fun onDeselected(index: Int, totalCount: Int) { + + } + + override fun onLeave(index: Int, totalCount: Int, leavePercent: Float, leftToRight: Boolean) {} + override fun onEnter(index: Int, totalCount: Int, enterPercent: Float, leftToRight: Boolean) {} + override fun getContentLeft(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 - contentWidth / 2 + } + + override fun getContentTop(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 - contentHeight / 2).toInt() + } + + override fun getContentRight(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 + contentWidth / 2 + } + + override fun getContentBottom(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 + contentHeight / 2).toInt() + } + + fun getTitleTextView(): AppCompatTextView { + return titleTextView + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerTitleView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerTitleView.kt new file mode 100644 index 0000000..2a4f39d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/indicator/SecondaryPagerTitleView.kt @@ -0,0 +1,82 @@ +package com.remax.visualnovel.widget.indicator + +import android.content.Context +import android.graphics.Rect +import android.widget.FrameLayout +import androidx.appcompat.widget.AppCompatTextView +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.chips.FilterChipView +import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IMeasurablePagerTitleView + +class SecondaryPagerTitleView(context: Context) : FrameLayout(context, null), IMeasurablePagerTitleView { + + private lateinit var titleTextView: FilterChipView + + init { + init(context) + } + + private fun init(context: Context) { + titleTextView = FilterChipView(context) + addView(titleTextView) + setPaddingRelative(0, 0, 12.dp, 0) + } + + override fun onSelected(index: Int, totalCount: Int) { + titleTextView.setActive() + } + + override fun onDeselected(index: Int, totalCount: Int) { + titleTextView.setInActive() + } + + override fun onLeave(index: Int, totalCount: Int, leavePercent: Float, leftToRight: Boolean) {} + override fun onEnter(index: Int, totalCount: Int, enterPercent: Float, leftToRight: Boolean) {} + override fun getContentLeft(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 - contentWidth / 2 + } + + override fun getContentTop(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 - contentHeight / 2).toInt() + } + + override fun getContentRight(): Int { + val bound = Rect() + var longestString = "" + if (titleTextView.text.toString().contains("\n")) { + val brokenStrings = titleTextView.text.toString().split("\\n".toRegex()).toTypedArray() + for (each in brokenStrings) { + if (each.length > longestString.length) longestString = each + } + } else { + longestString = titleTextView.text.toString() + } + titleTextView.paint.getTextBounds(longestString, 0, longestString.length, bound) + val contentWidth = bound.width() + return left + width / 2 + contentWidth / 2 + } + + override fun getContentBottom(): Int { + val metrics = titleTextView.paint.fontMetrics + val contentHeight = metrics.bottom - metrics.top + return (height / 2 + contentHeight / 2).toInt() + } + + fun getTitleTextView(): AppCompatTextView { + return titleTextView + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/itemdecoration/VerticalItemDecoration.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/itemdecoration/VerticalItemDecoration.kt index 8cfce0f..3c2cc05 100644 --- a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/itemdecoration/VerticalItemDecoration.kt +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/itemdecoration/VerticalItemDecoration.kt @@ -1,4 +1,4 @@ -package com.crushlevel.android.widget.itemdecoration +package com.remax.visualnovel.widget.itemdecoration import android.graphics.Rect import android.view.View diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/AssistChipView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/AssistChipView.kt new file mode 100644 index 0000000..b79bd5d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/AssistChipView.kt @@ -0,0 +1,38 @@ +package com.remax.visualnovel.widget.ui.chips + +import android.content.Context +import android.util.AttributeSet +import android.view.Gravity +import com.remax.visualnovel.R +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.IconFontTextView +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.remax.visualnovel.widget.uitoken.changeTextStyle + +/** + * create by wl on 2022/9/9 + * 帮助chip + */ +class AssistChipView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : IconFontTextView(context, attrs, defStyleAttr) { + + init { + //初始化固定token + changeTextStyle { + textUITextToken = context.getString(R.string.txt_label_m) + textUIColorToken = context.getString(R.string.color_txt_primary_normal) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_normal) + } + changeBackground { + backgroundUIColorToken = context.getString(R.string.color_surface_element_normal) + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + backgroundUIPressedColorToken = context.getString(R.string.color_surface_element_press) + radiusToken = context.getString(R.string.radius_round) + } + gravity = Gravity.CENTER + height = 32.dp + setPaddingRelative(12.dp, 0, 16.dp, 0) + } + + +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/DropdownChipView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/DropdownChipView.kt new file mode 100644 index 0000000..176d12d --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/DropdownChipView.kt @@ -0,0 +1,57 @@ +package com.remax.visualnovel.widget.ui.chips + +import android.content.Context +import android.util.AttributeSet +import com.remax.visualnovel.R +import com.remax.visualnovel.widget.ui.IconFontTextView +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.remax.visualnovel.widget.uitoken.changeTextColor +import com.remax.visualnovel.widget.uitoken.changeTextFont +import com.scwang.smart.refresh.layout.util.SmartUtil + +class DropdownChipView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : IconFontTextView(context, attrs, defStyleAttr) { + + + init { + //初始化固定token + customViewToken.run { + textUITextToken = context.getString(R.string.txt_label_m) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + backgroundUIPressedColorToken = context.getString(R.string.color_surface_element_press) + radiusToken = context.getString(R.string.radius_round) + } + changeTextFont(customViewToken) + setInActive() + setPaddingRelative(SmartUtil.dp2px(16f), SmartUtil.dp2px(6f), SmartUtil.dp2px(8f), SmartUtil.dp2px(6f)) + } + + /** + * 筛选状态 + */ + fun setActive() { + customViewToken.run { + //normal + textUIColorToken = context.getString(R.string.color_primary_variant_normal) + //press + textUIPressedColorToken = context.getString(R.string.color_primary_variant_normal) + setIconFontDrawable(endIconFont = context.getString(R.string.icon_arrow_down_fill), iconPadding = 4, iconSize = 12) + changeTextColor(customViewToken) + changeBackground(customViewToken) + } + } + + /** + * 无筛选状态 + */ + fun setInActive() { + customViewToken.run { + //normal + textUIColorToken = context.getString(R.string.color_txt_primary_normal) + //press + textUIPressedColorToken = context.getString(R.string.color_txt_primary_normal) + setIconFontDrawable(endIconFont = context.getString(R.string.icon_arrow_down_fill), iconPadding = 4, iconSize = 12) + changeTextColor(customViewToken) + changeBackground(customViewToken) + } + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/FilterChipView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/FilterChipView.kt new file mode 100644 index 0000000..ee18e52 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/FilterChipView.kt @@ -0,0 +1,103 @@ +package com.remax.visualnovel.widget.ui.chips + +import android.content.Context +import android.text.TextUtils +import android.util.AttributeSet +import android.view.Gravity +import com.remax.visualnovel.R +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.remax.visualnovel.widget.uitoken.changeTextColor +import com.remax.visualnovel.widget.uitoken.changeTextFont +import com.remax.visualnovel.widget.uitoken.view.UITokenTextView + +/** + * create by wl on 2022/9/8 + * 筛选chip + */ +class FilterChipView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : UITokenTextView(context, attrs, defStyleAttr) { + + var isActive = false + private set + + init { + //初始化固定token + customViewToken.run { + radiusToken = context.getString(R.string.radius_round) + textUITextToken = context.getString(R.string.txt_label_m) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + } + changeTextFont(customViewToken) + setInActive() + setPaddingRelative(16.dp, 0, 16.dp, 0) + setSingleLine() + ellipsize = TextUtils.TruncateAt.END + includeFontPadding = false + height = 32.dp + gravity = Gravity.CENTER + } + + /** + * 筛选状态 + */ + fun setActive() { + isActive = true + setActiveStatus() + } + + /** + * 无筛选状态 + */ + fun setInActive() { + isActive = false + setActiveStatus() + } + + private fun setActiveStatus() { + if (isActive) { + changeTextColor { + textUIColorToken = context.getString(R.string.color_txt_primary_specialmap_normal) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_specialmap_normal) + } + + changeBackground { + strokeUIWidthToken = context.getString(R.string.border_s) + + backgroundUIColorToken = context.getString(R.string.color_primary_normal) + strokeUIColorToken = context.getString(R.string.color_outline_normal) + + backgroundUIDisabledColorToken = context.getString(R.string.color_emphasis_disabled) + strokeUIDisabledColorToken = context.getString(R.string.color_outline_disabled) + + backgroundUIPressedColorToken = context.getString(R.string.color_primary_press) + strokeUIPressedColorToken = context.getString(R.string.color_primary_variant_normal) + } + + } else { + changeTextColor { + textUIColorToken = context.getString(R.string.color_txt_primary_normal) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_normal) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + } + + changeBackground { + strokeUIWidthToken = "" + + backgroundUIColorToken = context.getString(R.string.color_surface_element_normal) + + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + + backgroundUIPressedColorToken = context.getString(R.string.color_surface_element_press) + } + } + } + + fun setActive(isActive: Boolean?) { + this.isActive = isActive == true + setActiveStatus() + } + + fun getActive(): Boolean { + return isActive + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/RemovableChipView.kt b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/RemovableChipView.kt new file mode 100644 index 0000000..807d062 --- /dev/null +++ b/VisualNovel/app/src/main/java/com/remax/visualnovel/widget/ui/chips/RemovableChipView.kt @@ -0,0 +1,127 @@ +package com.remax.visualnovel.widget.ui.chips + +import android.content.Context +import android.util.AttributeSet +import androidx.core.content.withStyledAttributes +import com.remax.visualnovel.R +import com.remax.visualnovel.utils.spannablex.utils.dp +import com.remax.visualnovel.widget.ui.IconFontTextView +import com.remax.visualnovel.widget.uitoken.changeBackground +import com.remax.visualnovel.widget.uitoken.changeTextColor +import com.remax.visualnovel.widget.uitoken.changeTextFont + +/** + * create by wl on 2022/9/9 + * 筛选chip + */ +class RemovableChipView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : IconFontTextView(context, attrs, defStyleAttr) { + + companion object { + const val START = 1 + const val END = 2 + } + + private var iconDirection = END + private var iconFont: String = "" + + init { + context.withStyledAttributes(attrs, R.styleable.RemovableChipView) { + iconFont = getString(R.styleable.RemovableChipView_iconFont) ?: context.getString(R.string.icon_delete_2) + iconDirection = getInt(R.styleable.RemovableChipView_chipIconDirection, END) + } + + //初始化固定token + customViewToken.run { + textUITextToken = context.getString(R.string.txt_label_m) + textUIDisabledColorToken = context.getString(R.string.color_txt_disabled) + textUIPressedColorToken = context.getString(R.string.color_txt_primary_normal) + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + radiusToken = context.getString(R.string.radius_round) + } + changeTextFont(customViewToken) + setInActive() + setPaddingRelative(16.dp, 6.dp, 12.dp, 6.dp) + } + + /** + * 筛选状态 + */ + fun setActive() { + customViewToken.run { + strokeUIWidthToken = context.getString(R.string.border_s) + //normal + backgroundUIColorToken = context.getString(R.string.color_primary_normal) + strokeUIColorToken = context.getString(R.string.color_primary_variant_normal) + //disable + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + strokeUIDisabledColorToken = context.getString(R.string.color_outline_disabled) + //press + backgroundUIPressedColorToken = context.getString(R.string.color_primary_press) + strokeUIPressedColorToken = context.getString(R.string.color_primary_variant_press) + } + changeTextColor(customViewToken) + changeBackground(customViewToken) + when (iconDirection) { + START -> { + setIconFontDrawable( + startIconFont = iconFont, + iconPadding = 8, + iconSize = 16, + iconColorToken = if (isEnabled) context.getString(R.string.color_txt_primary_specialmap_normal) else context.getString(R.string.color_txt_secondary_disabled) + ) + } + + END -> { + setIconFontDrawable( + endIconFont = iconFont, + iconPadding = 8, + iconSize = 16, + iconColorToken = if (isEnabled) context.getString(R.string.color_txt_primary_specialmap_normal) else context.getString(R.string.color_txt_secondary_disabled) + ) + } + } + + } + + /** + * 无筛选状态 + */ + fun setInActive() { + customViewToken.run { + //无筛选状态将描边恢复默认 + strokeUIWidthToken = "" + strokeUIColorToken = "" + strokeUIDisabledColorToken = "" + strokeUIPressedColorToken = "" + //normal + textUIColorToken = context.getString(R.string.color_txt_primary_normal) + backgroundUIColorToken = context.getString(R.string.color_surface_element_normal) + //disable + backgroundUIDisabledColorToken = context.getString(R.string.color_surface_element_disabled) + //press + backgroundUIPressedColorToken = context.getString(R.string.color_surface_element_press) + } + changeTextColor(customViewToken) + changeBackground(customViewToken) + when (iconDirection) { + START -> { + setIconFontDrawable( + startIconFont = iconFont, + iconPadding = 8, + iconSize = 16, + iconColorToken = if (isEnabled) context.getString(R.string.color_txt_secondary_normal) else context.getString(R.string.color_txt_secondary_disabled) + ) + } + + END -> { + setIconFontDrawable( + endIconFont = iconFont, + iconPadding = 8, + iconSize = 16, + iconColorToken = if (isEnabled) context.getString(R.string.color_txt_secondary_normal) else context.getString(R.string.color_txt_secondary_disabled) + ) + } + } + + } +} \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/drawable/shape_dialog_hold_to_talk.xml b/VisualNovel/app/src/main/res/drawable/shape_dialog_hold_to_talk.xml new file mode 100644 index 0000000..17fa0d6 --- /dev/null +++ b/VisualNovel/app/src/main/res/drawable/shape_dialog_hold_to_talk.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/drawable/shape_oval_talk.xml b/VisualNovel/app/src/main/res/drawable/shape_oval_talk.xml new file mode 100644 index 0000000..cf4aea2 --- /dev/null +++ b/VisualNovel/app/src/main/res/drawable/shape_oval_talk.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml b/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml index 3766bfc..6cc7196 100644 --- a/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml +++ b/VisualNovel/app/src/main/res/layout/activity_actor_chat.xml @@ -35,7 +35,7 @@ /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/activity_transaction.xml b/VisualNovel/app/src/main/res/layout/activity_transaction.xml new file mode 100644 index 0000000..9148574 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_transaction.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/activity_wallet.xml b/VisualNovel/app/src/main/res/layout/activity_wallet.xml new file mode 100644 index 0000000..5946c5a --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/activity_wallet.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/chat_inputpanel.xml b/VisualNovel/app/src/main/res/layout/chat_inputpanel.xml index 5e6babd..5fbd689 100644 --- a/VisualNovel/app/src/main/res/layout/chat_inputpanel.xml +++ b/VisualNovel/app/src/main/res/layout/chat_inputpanel.xml @@ -15,7 +15,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent" > - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/dialog_flirting_retrieve.xml b/VisualNovel/app/src/main/res/layout/dialog_flirting_retrieve.xml new file mode 100644 index 0000000..6907356 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/dialog_flirting_retrieve.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/dialog_hold_to_talk.xml b/VisualNovel/app/src/main/res/layout/dialog_hold_to_talk.xml new file mode 100644 index 0000000..104cc80 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/dialog_hold_to_talk.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/dialog_recharge.xml b/VisualNovel/app/src/main/res/layout/dialog_recharge.xml new file mode 100644 index 0000000..06737ac --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/dialog_recharge.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/fragment_recharge.xml b/VisualNovel/app/src/main/res/layout/fragment_recharge.xml new file mode 100644 index 0000000..9e0369a --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/fragment_recharge.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/item_chat_model.xml b/VisualNovel/app/src/main/res/layout/item_chat_model.xml new file mode 100644 index 0000000..688c100 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/item_chat_model.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/item_flirting_level.xml b/VisualNovel/app/src/main/res/layout/item_flirting_level.xml new file mode 100644 index 0000000..e28ed85 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/item_flirting_level.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/item_income.xml b/VisualNovel/app/src/main/res/layout/item_income.xml new file mode 100644 index 0000000..f1f130c --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/item_income.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/item_income_header.xml b/VisualNovel/app/src/main/res/layout/item_income_header.xml new file mode 100644 index 0000000..929c66a --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/item_income_header.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VisualNovel/app/src/main/res/layout/item_recharge.xml b/VisualNovel/app/src/main/res/layout/item_recharge.xml new file mode 100644 index 0000000..f9cd3e6 --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/item_recharge.xml @@ -0,0 +1,45 @@ + + + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/layout/layout_simple_recyclerview_refresh.xml b/VisualNovel/app/src/main/res/layout/layout_simple_recyclerview_refresh.xml new file mode 100644 index 0000000..33e38ba --- /dev/null +++ b/VisualNovel/app/src/main/res/layout/layout_simple_recyclerview_refresh.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/VisualNovel/app/src/main/res/mipmap-xxhdpi/book_archive.webp b/VisualNovel/app/src/main/res/mipmap-xxhdpi/book_archive.webp new file mode 100644 index 0000000000000000000000000000000000000000..c9678952e671e264b2d273fb75ddbb88a4b99acb GIT binary patch literal 2412 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%0DHwJid1 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∾!TxyTw(mM?`L)w)##O4LK7T*Y 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Ξh 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∋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

evs9BGIBv-%K3- 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

qCNzJoRk~%urEq<&&lyfU22_jb% zN(U+q^&_sV9MFVapv?{nxS*IsBKwnmU%~ZwQTh~%x@{A(b9B{uCVV_DO03;>uin)k z^rC-@`1N}^(jrcL9sBFaZ`bBWx)>WdxZR8onSJ`=%#>4bsEe(@T{P?lLpd@?Zcpz} zkH<=!SW#fMwUbeCM(X_(gQtF8_y>7Jz*6^$8O50aSNjcUo<_^*mE$W^10n)IUuPZ< z=6bwfS2<`#q^WEfg@E>|dA@lTIraIA>mMP%gasu%u~51PM^6LdBf48UAr+qa7% z|4r!d4#FWEWayR=60WwU=>H{SE(S1I?5C-F-uD#l`L_MJ@n1+1h&_Tsg@*|$uDTLI z#8K)$2#va??~qXQtwGzTYZv^i#E)aF1^z1%HIA3|HGVu@Hw5oqwlvZ+x{hKClOGiv z5m)l@AGUSH0kN>MFx9Viyg!d+p!4gqwR-g*@x$`M*fCD4xaWil7k2pn?{!-Jr|=K~ zuvb{@shfN_@M%5X2MmP6Sg3|TrH67)G@!N1_tc4hi-^1>i;~Xfb?43#Q4HN;C#RfW zKlm&-M1f4%Fka%9k3e8G*PvPq;Gd_ia3I7a8&yFublSoHk!a>;kVAZCE_Nu~IPm%j z{Flw|=t_@d@2peqjwFhw;2ShZ(h~pYLY{Fr6K?9pzXbAa<|Alna2z{_ur}T}CwDqY zsKJ5t^8?*H%wjqSV;lZ{^R&37v^Xg{zO*-%dBOibJfkXefy&}Z;-6_)QX?NROiPyj zgJ^fL9?dtX$vP5jaT_i|Ss%9rk21XV|LWjTxEmOR`(R#Cb@}<^Wod65 ze^=T{W&B%|nRGt=ikCG4_oId79}R1`_}0E-{P{K^sj^e0>UGjGtUL8=m(m{MY6G)z&9+TATQd z|L?UpyDsrx(skm0g#Ui)uWS}18FCZfl+2OIA5$)s#8EnSSUlOh2 zm!;_pw*X6$yH%BD0}@2w{m;xz+&U$xJyw(3{=zL|sD6&cKXs9|DC*qI$|dK!<=CR( zcPc49uN9GUozvENOC992&Cj@URs!khwAZe2Byf$_KMrCf-_>+GVBBO4FE`>!`Pg@s zj878pGSRhSWCyQ?b-^g4yizHCe}5E^ohAKSqIN4}oarFc;6sgPxIrz-GooYORnDnWAmJy>^7ON2bILJ;Hg zlT?tSjo5FCofrqNEzPBPE?fB-7$T&r{|GczH*Qx;Vd|f}GkHG3*h6&$wj5yp1nAej z+)g^iS3OpF;M9}{2^rKLhyFjr~!V4dC3B-TvJfu;eJWA|u zPw@R+^~*b%+^5{)Y!&3p{b6yAfkrnUZ<^~`0}fbe>?$+60^dztPTz}`#8o-=FN6}Y z3R>{b<|)qQB#_U>BUiHAqvpa_aY#FV7!?Z^$-OZr+KFPr9$B98Pq|-bI+QsieQ;?? zl4GI$>+#vRjfnqbJG}z9@!vVeWvi6Qf5QLsN)BM{8?uv&>iL6R22uY!myfKU1%-}L zCG$CO-M=F#KbH#s7zbTiBt6IOxs#FCbGTedN9=i~`Ixpj#{C-V9PW%kbp{z8aZeV= zc$PnU3nAqLcREmKBtY0Xv;+C#Pu#+GIgdzE+i~CZTJ^-g1W;z-or01*^D+3g7_V}8 zosR~VFs3)3mcrW(NkX4JmGLbF5y_90S5zp?PCGxRCqz|uQY-&!5jY-_$MB$ zuo}JHtQ$LOIHX_vC$4Bx&4dvJR_f-$R3ozPYh1;78HXO1Y`((P5f^-;WKTfq7yo&W z9A(7+Pfg?@n&Gs@_y_(wnkPYAu|qi?WVbMMw+kPP@r&-b4o|LiKl05}*2eY)CjNNW z(Els`X%Ag~nIX^pBmO@C?>hD-JT}Rn`)RFV{9iHmi5;l;On#o%@QtLxzck^+J=mzq zGdODC$OG|;uI)R&w*TL-MGLjx{C}P+Ua z|HW8F_@_P6|5q@C{smm=80o%T>g2T+Jf$~^vF`Z)zu{jd+*ufLE;GVE!l3!gc;Wl- z<3x(u(HR)*Trv&_2uc#V?XP_oC|TzLkzHDu=NXJvob^HR#?yfV6<4E!fow?-LX}ru z4`~41>v>QJ!gw76K~d`@D&nRhu=aJ_Q%WSf0#Jq5)z?IVyO#Xe2rwfG zFNu0Tzg>07WV*bf?EvX|#HDP;vheaS>0D(z-|jxpCdD-#XJo9ECe3Vzo`_XhSfG;~iWyn0O@+c^__IY%44w9sRdE{B&i@iJb_xRGB1f2L3?T@PJvmnGv0={K8tf zy~b`pE#3I1B9x@*^Ipd9;*_(FlRU|Ox)Lt9Cb{tY%Mk&A{gnS7&bb8!UIXSjTv zr_J%__d$|Qjv(C87p%N(0VTNEm~0UA+1|=l;$np=!oPd0z+i=JDb!D{o|GIFo9mF{ zkSW%d>&O4g4gE88(L(oxzSJg@#pc{QY)(cn@8JBg@?vlyyqTm6|7|xJ_X7 z7=LDm{*{Fj3^i<>$x|6G9~xp){YkIDKP(~&D{-tEZ|@wH>>*-S`S2Y59%FFz4aqf$ zo#I?+iFFE)0 zTnm6ARmp|z^JWU(_@_R4bU-o+a>J;cVZf&8!av7HJePIr&pD1J*HfUye6OXqmk9N^ zG2#Ic+z<9@AKz2uc4)HXo4#X*CJV`zX};bPUgT4Gerb6Kz{9B@}B9#4qO?wfRnEUbnNR@f!Rpx^K&HsO!Vo^taTw(~OFIIe1 zyqL@HTRwEo^#8^9U-*xonr&+1rL;Pe&2sTL&vd=^O{cFJESKWJH~kh z3J~C&RhbF)6rdaAAty;Gd^GQxs(`6N#aW`-Ko;3C7~Sy zn76#_koK&pnZ#C}qkwO&jwa&DFE&3q_%4%aQf|1T#Tk<;j*W6a$U=K+Ci$n20{*Kn zN04|H{_6_GK%NtHNS87f;@C(d!o0mHA)XBW6L5!I-cc;y=%1=n8f0 zShx+h!dBT7xo%9#;+LZCM>E!q$Dw~J4M2~8d_Vd8;$L(0e+tt=k1U*@?;p-{LMB}y zlqsog-yos_(-lx(4G8PJS-aOU9lC7e|C!P`ZlUXzl|uHtoPjwlhVfV*{XLn4<8>r* z;~%QSPF2Qn7~o?gy#kRi+>XMUVIDtS%~k2mqfvk*=CX0a}`?-Q7 z1;QhnjvY$22gU-*670S=(m>|EKqdiF{@8bOc?%Ke*2LDFje%6!gWbjvP`8{X}m9~8vu-!j~`+FW>K`9~7>ALn?~Pw+mI1=DAYv2vag z5dKBb;Nu{8`Fm-BxS2|9r1z227(AypGTo64va4&1aX%BgiZ47#>1OZciY*Rrc5amI zuRP;C6i1XVIYLa1Y50$Rjg?}|7zlPQe(4zY#}Nw0Fpu4V?!|yOxc+%dStPo+uQR|M z!RUT;Zh|yZwtdgpm%GVB-@y->E6H)&iTJ-Yt4l6%Gr5IUJ28$4{DXSdF1|ZWfPeZ+ z`}FX+EGk|$ggHLu2*eMT$shRtzHOCO{QdtET#v5cM{-4R`=hpZ6 z`A=zwM!5J2HO*VMl6lxfy?)Y0(f~T}uX}^z@Q;7Ne~)}(#I?fzymS)3NVhqU5`A6x ze_r_SkZDB@$N9v0h?i~9|3j58{EuRU94qE}=Xzlj5Li3a}3w;aCOc=LR<;(3TzAck*$ z`Tv3cugm{G7$3qmVS9L3e$4UQBmZBQU)<^6_~a=$y{nH`9y$4tQOzYk`mk~`H$cDWKqTr{ zO_~#@Cbu=RxH)0KbNMrZJ{_KdCqS0SC6Spa-LC1`Bm&v!?_}$?RB3}0@;XPkHF^pu z>xpIN?=z`cxH;B39NvP(;GcDgX!l9y%EHr?ji?*B;E*D+NpJX20?b4Hr^MW{dI_Lp zurTtgX|ZxM2rpy2HI&T><;?>Btuvb$jpFW#ek@r(R;Fn&lj6F!uH+V;khF0wj7bP(n5r);iX-X4$a`9 zs?n_WiM^xb=Y@a5{X;X`?|2|@3LPrvEij*vwmGy1Z;Nb?bkA%0l#*{3X?p3&PV-15 zsj6U-HYWxk=iHiI`uj#GpVICE0@GWbR|h7D-1M|iW>Mj^DMNkXpJ?do?6cjR^pPGA zw6Lev3n{)odK(GJ8Izt2>M-V~6cQbbeD5_qwF~18!9!X2igM$*RGfS83|+GMfIMDS zwY*2`-mz*jQ-1*5}|y# zdW>0c40u*#!`BBl##?J=q#d0t#(6QgfUGV-N(d>>!kHwPMTAzN6^*a#Gsm$;nRw^+ z|Eu3e!NGYP)&8vXz~*aA+-<5D{Yt1Xl{AdDLF&-wiSbX3Vz%M$i+{S4)E)0>w%7Xp zoFYze5AS#~IkD(z(;9=@uKu6?AL@GP7)9^%-^=)u%jyyLX98STRw2$(S~tz}k}O-1 zV!zFYbG>qT9;mDdRoSXug^=Rn5*cl%n?HZn&ruP9yPrYTb=FW<-}q-yf^&}eKl?f| zZPj~Ze@>(!lNbI?6wsI zFht~M>DpvGd>gIsPfjc^AU!pCkhkRA^;)#CAO3(lyW>0X$7KFx(?l?voG6^GpnN){`vfF&UFI+0SL**G0FV6t;@`$u#%7G z5x=FbH1^?u|vj3O=ME+0tAr2_U%p7dSArskNqp7!jBR&##6-&xETQdE4oQj2Y za!JM8ivg54gYIb^2LrkM3;z56SNw;?4@Qi<`Un4I|6ecvFPzasb-(<7>E#0dhJVK? z!P{T@JOM}1a8fH)R@v4RloRZQ%bn14P&0cj5{tb2EE^pm`H17usxl|xaq7x0QjHf z-63i!0%Pa%>7XxF5F-iQx6M7CY$I^E5QtX^BVw)RodhrlfR41a^7|))I#o`g+wqX0 zSs9-?r=1~jY9$-IyX@rpBO*|7lg2*Y#UY9d098lpXa+f{hT!xDYHUD3eek&5T=u(Xp8?->3E>tm$IpOM zH$=2zj+}jsJn%ojf5BE#bVGaXiNxKq|MsPG9KUUTDw3^;k7!Di1 zyUB%3kK&bK$*yz|{~`{_$cU@z2XY)YgKP5E_m8KYytZAYBr6{g1#<@HWB>1%M(y9c z+a8Dl`y;z8bKY-bTP~X_2e}sbaFBY7C+(Nl!67P^nW_4fM-&p8YE%2>{HZ*bhwXKz zjz^ERP>$#!sDgSj$M8){ao@z6P{SrB>MnxlnKxN>=)l~ zPCbc#j=AdnqJRtk^m}Fd2-uG(`U-)jXbPgv@Aue^Sx%nTO9=lJ{=XQ@D!E&ZrR}zS z5LJGzcvNf|y5{SL_VWk+GkqH$!rv_Nj_`le@7P7z_i+;dUY3A@wfz5IdhWV+mvI_b zk+~`g9jRZ&%6`(!?YAC;I3H=N&|LVh;*I0SS}C)Be*8c2|6yG~YFU}KY{Wy6uF>{} zMIlSgt>fqs3^zDetP_rQ?=Sn+aREcSZL0P0rGlw)l@7K_5y)p?&dvaU|Cax~{a)2y z_`cqnm;@B_p#EFjlm34@zA${gS)3@>Y5Q|=DgB)F^oRf7;1Kif>$`$2louf9!avx2 zPz>f6SX|+w&XAoi`5XURr+HjVEa}L$^v3`9-;ePhCKPrkd1`FL--&m92>&1W@2f@o zv)K(1iT{cs-qioV{|ERF|37yhpVduQrL$e@b)y1y;qeGwJsK1fT32sZnlzu4J)gQ38(OoBzS`ZPQCD5Vv#f>(4*77xTZ#zbmTH0))Vi zZB9KNf4MfZk3MUPYe{!--(uC3>->U+eNwTFz~IREAD?MhQPq3IVg}V|pSx{JDmOXS z1{$o4vIw{!YtCPUPZA_MX%-ZJw;27*>$#)OK_(aU?8hg1T6ZH(&q=TU+MlQ z-tXI$K!8rdX~-lntcq#d-ypLs!M)UBsFm+Kl1fM{lLCB1fV2?H}=OL zAIMLG`Tl+0`1Nh&!AGMSZ86A~osGvhs!Nb~UD$i}W@i%zxb!aqTxKG&RBb-RG}4ou_|&bvL9)NP|Gw#Il~EBWf3N(6 zUN26Y{^6SATa_}PaP^esRigk*if2$S`x_MSFx?JaRLDUb2>jy_^E*i<=gt<3TA1=O zEwdUFG722c35ZJ&tPJDYHdf&id;RctIFEzN;ts2Fwdi{h-++Q0V}n46_LKn}EMe{V zN&lbnDF$a(Vt2lW549PrAWIQAeS6y7AR#S0a`<=`H557&UtI#1k0NK?iHoqXGGWjL zBOb_DA0JFaVT$yH7^2B#fe{7ov=@f481KYbD&m+L2h98|&)ext(D1>|adx*$mlG5+ z)QuAzK%}>G5d%zqI;b+{9Q*{^hf2S1=G^89|A(%$V5V3!)m6+P zG%gjd!~bWS=HVXsXv)4=AINU5_;4E{2_S~%d$B0!Zy(avI4&ZW{O$iqU;qVzrwU`} zmn~Zk^D?EFS4sKE5r6St;rBRR<3BL+i7voxl=m0^^qV;%UKb`3_&4nN^>FTp%NidH z1HIMhUMeGKoQp@SLcgq`h}?+(M~@E=C&}xe{LfP~p0@KjwxRk_lZUj=x#w~jia8h@ zF=+26u4qRe(A~c6B_3x$?vnw=N)1l`v(e9_x2ho6Pixo0?JQcARPM&H;k0uH1hoEX zkhXJwDVA)tt+b0#($_xf@>o&NPz9}`09NXe->?hJvB{-x%BsR1_yYap(s-acgi&UudS$z??_xiE3z2 zbwu!$M&|)-<9Nzw3q;>wj>o99%tZLF@v7%sIY!%jzT0aCpBennX{+Ij?B|Vt-on|` z78<9`%}gd9!g%XXtjcqH1X@S-qCd{4QuHf&S z9s}(Pj>dtGdSGH2On=cXA74xSGb^(XV<3UILQ%0_U5%YWtWKRK+7{(_3`08xu*C;* zv+xgp60HsGu%hsz`N2_0*Ma|XZlgBvMl3tqsvB#sANwH%t*|Kss1xJSbsd4;4n*?~ za+@TMGT+&^(c!I83VloVe5A4Ihir9pX-vjTi#y*UI6KlDyTktzF?$gM6D5-#g92A- z>n~Z1!QjH|SPYb1goRos|nNHFFi#m`n+I%wE`5-TvQ7pC3$# zaa+>G3;*8zQGi_x9XbI1msa*% z$yLm@5x6k;?jl;dQ^Nc_UD?Ec{t_S89*`-&G|D%eYDmI zM>ZP!xsGpA>u?fnC5`>H#!k8RmC%l2jV{+YJWhsow31bV&Oo!h6^lC3>3_k0*)+F+ zMt^}pIbY!@N`;1w-QB|fKi2OVR6O!{62(98f7t?y!&4Ku4g9yq7yMB8+xTB-9ZrK$ zRTLNa(T#t!fzR##ad}g#;PK66FZ?scPn`YO`gd6W=j`c9vJgUlw~G??S1#&MAasFH zWyKjk<%Q%y{6C3*#7UZ4;J-D8LLat|Ev$Z9`;cGP|2w7?{!9Kktga=Zbu$t?yh^tW zpF^VTxZZ;HP>1bsY0f@?eC9f8D`$mTxu|KZ0FYEb4xKjw!||5Gd)^*zt3PMf2> zAqM{O|8@I++0i5ZI!=L{J&3Q3|9|)Y&%fY5R|3ypANaSI|F8Ft;O?A*(hP|@KwE^BRg(A++KKpSI zVE;XCL9yM)LhZ<9*p|2pR@NJ<>dc&)H9GVeYM7TyL~L`byJ@%}Q|Yv-eq^^1;>-58 z@6+*v?R>N=B;z6s=B*@4?+$4@&WaVhuz>`jlI$wk@PNJORGxV_{`I)ZG{eSXBNDyh zDI(sGFA+Lp5Dq)XqU(FY#4z+K=8Dwk=54YurBq$YS>Z*S=DGI&&^tg!EG<>z6{ot- zaD=C+aLSGpfwma4@eiZK{LPD_qC_Fs!%f@a15W!ChIkij_P7ot=zvud|0@PWpS!DW zY~%z@@nFrdU{C2gUG1kAY**-O_)E)qPU0S)NVWk)KN{khA8(sOv?KL z7Iq3qSNMD56;ejMJb+Da&_*+<3~3B$d8&Q_U}3LtzM_Yu)TZLkZqiICj(QiuUbEH^yT&xU{9zI*&}&x=*WW>aR-VU!~TeWV;V68@ZZwr zH54S1^;(1+SpV(}!ed+?F2)u59!;mm__zDJqK(SRy{6OjUl?a{X9qn<{hV+pi({@A z{zImg5fl8fpE^lPhwT^>H2SXCbWaKL%csU^0ytn;ivU6122{FO;$i#`oQ(!@;Xie# zo#2$m3;*O5;=cm_JP}&)eZLq9-1Tg|p}Bjr9Lx0kHRhrc&;Q5YR8j^GN@h%HQ9xhe zugr0O;h!ET>z<&WF5@2`!!nm&+y4KO8K60(1t+!2|Ky%NS1l349Pji1{;m3U9;m5} zqRzzs@`!>{j)5shGd|gN82>M(A0+?j{}WKl^UDqOD1>X`yK9Sv982TzH1WiM7pH}P zsblC4ESL`a-#EVIk2TKDNwzt=0!LSaRf;j$U-*B;@xig@Z}7v1G4Kojx@)2sBMPIx zF5#5=z5V~a7Rq+4^RW8C+u~8Y3-VIMDLD-RN)(77@PmJU))8-=8PI3{;6MCqxVI7h zFN!}#$7e7@_ZzQV{@(&Lg3&w|Ro>Vk8wGz{W8=?Lm;bK{pGq-1<`-`h{{T{DF8#*8 zJdYDl2`J#)byHXvL@9RqpuZUhQzK(VE`$%&)%o+|uH!xgbx$d1ot~r_!WelD&(5#| z;RF%p=n=i|eO_7N#Ocw_oT4ybnUo7j2tHuSHtGx`FTILkI|OsZmq#rOc$<0VX2mVc zRM8{u87>2(6p`CxQVAvZ20}Eq%-m{r61XJVh& znV`Gb$FL^kp@xwU=;jFK9TAQS0JR_;XG{%o^j&c+*9*48p_vb6r{qv`tZ1@q$PIRY zep|Ap?;gqniWbH8P~KTQAQP%=lQhx!H;aABt4`Hkw%&d;75}kjLJILz`VQG1U2h-! z;OrbyB5Vu6{J2)32#5Gzx{HyUVYmfOJ!ATKG?Vy;es!S^s3SMPf*mxrc#68jL3`Rn z(P|3>N&NG~vEr_g2GAbXTxb^{x8Tx>99UkVN0Crq4|Z3gWjcARmOXG%eA_@FAfsN_ z)D%P)3mfDG>q?5bF`9ww3;&wTQt0{U!#5!|?orupZ6B8-cm)2DU^DhBj>DX|vCo6C zK7jjqdkAUgsx~J zZ36OmWFF0V(;k(C(>5i)HIs7SiHREj6ApmqM|E7|#b5dRy5-K~K4Utif&5;Fz*pw& z=>IFa$LG~lwjtlslSQ}-RwLP7yCAwMdCtM)0R40u_!9|^lO?qNiG)D+4ZCThi&ZAx zm^%kb$~~I-IJUV4NruC9MjmytczMLZG-k?7#Meyn*)BaGMW~nq9DKSaeSF8qdq2V4 zIVRv+GMN}ikIr(jj(|3X@GJyz&U%btTb!%d68ueReFo?5u-P_=(r63%%-whaG^>ko z=*zB%TVfmM`8BZto13QpZyDCG@0v)et*87z`cU!|#N&XN5U1|1w@*9CSkjpa{1Fe^ zeCM|v_uC-~};C(}UMkI$S6+`uOU{*wT14jDaaX1=dVQoH^& z2pnVQt@x~DMpq8Q-AzMf@F(zJBdY%&_&3i$!O}DFFa0E!q3xdVy_^*F_&u_MXEKEx z#H*0o8RuiLSr+TRGVf@Q9sa-gXk2wfZs^DUW>cph{0}~_b~z4Yt0LQ;$7C}}{5Sl| zX@`D%WO^$Q9$=2~v_VxS_WdGxa3A3ce_tgfG5MlOt6%MXzHgrU6z$`D{z?3o|IHy+ zDHkyY=LN1-uC;S6iFho#OyokYORpP(Ywq)_bfBFy7Q?{S@uS}J->-gXN zKNWQkYF_>y`J+aXn!89XibrA0L?R_pTfOo?ItpY|ffrF!7(dUPNZvckyZoT5 zud0hw-KNKT|Iu@=W`^zEd584Cli_8P`_u-Gg-Y5)unX;uuTFgO|T zCUnE7E#@~?8F5#_KL|$nr*JT)@V()xC@bM0R!=h7X)kmcpNbWW-a1Aj`7-*Toc>?% zFFQ)~!^ga0Gn$(ex7fHJr5J#B>6l|fv8aopYx3BWweqlx?JO2=o*Vyk!mYWKIAg3c z*qx@jpJPezTWoC;*~)oXH_)u7(wr!JdipMN0B>wwH+O-l;5)UL(H>f7BD`EKtQ!k` zgP+4|e=;QkJ>T(-P|qd$(HJWP$cD)cQ=V)17Pz0e^v)8+!Ie@Y29fAG{5Whj9TjnS zz@S}-E+n9DuWl;x>QbPGe}h9-x#EfXFZc(SGv}FxzKnmlY7ot5?&SCU zov)rJ?S0AxvY7u|J1tvCq~D|eCq*m1o6b{#MpbgvoKv3stjU-*g ztaU+4hSjB5Ec1g8@V~SY#Y1XChH0mC9Y_4(`% z{~zq4`4r5Lz-r+i(+vD;K7aWCWB`QR!#RY13;!QdCtdvDA2K2hU-3VFF8_~Y{ClDB z|Cj%7Cw~|p&TE>M|1ZO%tJ9aAFTU~Q2aCfRBmMup+)RfL8_~>ZD<8|N6blI`JrHz7 zI+O$?jTUrFTyD`;-U@b1)gEmURyp2p;y( z5GTnoal73LzGVb~>HXjlx30=Vnqo0urO>H4y^U)ltXlisg7l#0miJff(4WXqnOkC7;XaQ-tfEH_(==e-PP1-1ZXV}@h@qT_Hv{{D zEB5@?yI0s5Y^GSL=jN4--pj$BubvEovTfxmAs^Wrqm9-3jmKG8$R2H?!hwQeeLo`6 z^j7dvSJw+&->CP3bM7>rMqLJnKGLpO*g}AKq$B61t?!u2%iX{hSl}hgIN9@6oryH@ zJCU_NWcm_Sk{UNgJR56&@+r4f?|z=$p(_-VgLPBc@fV%3kLUa zbs`6*pcw}YwjJjk%2qk(B##yyHcYjR|55^g$$s*z0I*L>s_j=s52U`bp}A45(l5Y} zB5vLQ@G0L4-$VE*ChfrgNsh#inxv40`1gGDN&F9_vpic7&_bom^v3;Tm@}1|`_8yN zwEVX89gkQagg2wtCpfF!HCH?9G5#Z^zeG#BG>5v!>z2Oaf-8{8gjDwUl&ZWFeeN8v zxB-9k(8mS$jEjZaefNFHY|5L~g~|Y838No|bHo;{>aR!mO8Ty0VbJ_luRgk1NW1WVUo5%q0mHM;Lo`31cauFGx@foC zb@`c)qd9)h5?tizMI95igEqxUqgvNURweZJH8}RoHUMt=^4*DcI+KIr{2oMf*hmHc z-w`>x&?3shc`#v@iX}ZZ$W#eO6sbZ*X~Mw4<&!9bv;%37`WHW3u(s@ge>sSWgrV&3 zrW}SOlx4+p`vUuh>5knh{IC$Fp0FjZ61#{VONsr-Qr_c;Eq_s`g`YIk^rY|+jWUv$`UJdvUAG0cm92e!ZoQ-%-UH1#Y8 zk2^1s5Q`pA40p;7(^k>~fd5B3k4EDIhQj~jo_vFB#aOFg;qX5NqgFQ!fZeFNy5QTgnEqs*XYhw?l)4hKFLxWj^+K2fClh zBzqqZf-syGNhek8S#)ZxpA5^gB=ny1lm8sro!A z!tb(T;ZSMHP)jPZl~#gin|bcsNcWc5ItFYVOsKjdpk3st7M+LmJBF1cgy~jvxt9i(8m5pGbq*GcW zM>b#%F?!1|RKb@I3A<6?+16*qWM_yOJc@T@I|{Ni`JTI|Qx#lcB`JrXC`JMCq=SGc z{5NpHYEt4 zT%d8FvcYL{r{?{`He*yfT+}JQzw-qXbYMeT5+9HJ5w{ZUA){D1r0JEwAgsk3%qju@ zjtJ?$*bendnfJw03}iOgcqStBvK@G?bQMmdDr}VYMd5vJX3}sG`LYcMes0l8Nqjb_ z0pyMbe9pv%V;Sx&aXXv3vs6xQf^_%>PmZr&CO|x`td!i3`~t5TQk>lL49QM9g}hr1 z61bpAlMRfi%vdC!u{q9%g%rv*bZ4F(7b0o9hz?3r{@ljB&M>t1sIZK+O z-=+){?2YAm6&oJ50h2qOnSVX}atMDtn%JIN=wp3ZIq>37`X2r~F4{aVF1;=!*k9ju zC8q%&h+&2{^OOri*h<9ny%IN^Ba0sVZhC(3bbZD!LiisQDTSX2d2(E?WMqbZB_QN( zkMBK}Z7ls#Jc4n_55|{#b}fq8$KC=KYy6uSc7w#HnaUN&5&=k~#bv<~o7x zNQOcX7yeZUu>X(nYP1+xmyKXpo!-1M03G!&N58J00goI1%{RqW&2J8+XPiQ|)ya?e z$J07Ti*Z(luZ{nR|BJ7vgTU{zfd%kC!LQde`8Ej+>U)Xxte{a(VZ zQIvtP=i*owQbtLaBG7`=C0qK16xNAR@~9LK=_3sn$e6Js?;lj*`27=v$lzmmmT!ru z7yGM5lV0hM38NB>?xJ#w)WVAJhxe}lZWGO!!YU$*%Z?Hfl zY3*fAmBJdfm!5Az$qtbBf+N3E+#sJf$yfmwlGV^vnG|6s_(ZR$FIvKA!^r6N?;IbQ z)RZ2fk?c_@d^(s?-e3b=ukxeqh{!4mdYF9(WT4DQjA0TlXV*?pFy+qg<(go8lIlw+ zU-_Ol8c^>`JU7J0b&ayqgILCq-9!T1RodZU>6HpwWycVDEP;Xr+YiW*`i>@LaheR~ z{>YfOxEIfr3y-vZCS-fCHf3Em{xNz6E5lOY>KVy8yVq`#VSFy z;$yLKkSwx)*;xc?6)TgN{P4T)f5h*RDHGOkmO#bIAsiC$zvt1Fyf&X=Cev2XQ3H*!TfqxtU*UV0Aqjw;>PJYK+^q@sIa5}jot;g-Ol>@m0|MOT` z_?$E_unXa;9dtX{8W-#*+K)#Ia1Yv6ZYKPPpy~>G!9PmerZ_lVUaqPFq(%I zAy~}qW2PozmEfrApVym1PVhf6zG6z&!LvNiBZ6GNzw7GfHAc!F_a0xHkC%KujyHWJ z{s-SR7L7a=;1F#hS?uWAw)asjXNchzUrhuY?FMVyA6h-Z3FQGHYbbJG)oM36+5=~D zcRjwd9lWPSZLjg~4BF|WkM0n+WMZj=t$nVL zZE5do7;EC60sgsX&$=KtiB3AX75&vqsO|N z^&W4^NbN;z)R$mNKES&=U@O2*wzGX1|8hk1TY~&;59jjNxlkIzi~ATe`QOIEF$KOI z7Wl8g|L2AOodfKTJi6K8{?0`7k?HNc^oGfe|A}D% zNl$Y@>L)HgpZ|j;;tCv&>Gj*^=Tp1h8DcI-YE=dq|ABwTC=3U_*M5*S<7O+3w;|@y z7>6T6zoSHBF6Nk6)Wjbwa>Kx7fN%U~!Y>)JeFq;ar@&ZM@b_m;fr+@}ALk8S{{P!V z`u|J7@k75-o~;^;7i8G~Be%Hle{;~U|Bra+x#Oy0pR}QW_5Z|Bad8|%;}cL5{y%&k z2gUBb1OB}6ADmakvyv+3L?5d$>N^ahJr9v^=5Ba(QjbS>a_NLXp#yLo<#WdV z5nb>xv-PhOcf55C%CSI+f0(=Fh1x_EAsqjJ`!3GkqSMC$*g>Q-n2J?^F0XQ<(#B+? z_PZgFa#cMNhv*!*!yk)FJ04Ym&vy^pwc5wZpbS}srOzhe1MB?D~HbH`LlMRd3{t_8|oY;wrR_cOP}js zYwwx(`$`3c49e&h2jun@+irQcmrz>A$*+fM5o3||Nu9tTWc-GLSt|KIC*-VP6ZoOXeSDiU@*@ULAo{V(|E<)1sybx_gvX-({ME)Dz}-vtn|hsgkAw5YQ@^29=J z;D3I`)!}Y{IRv#S4+T2GDbsg*oWjswF-dGhVDV<6wvQ|iizHB_<26^lXd-x&{Kc`+ z#nMtPe|60C0}j6}VM14(`0vF6(&Tbt6`-e{IHwH=Rh-$sy}_gUf-0vg{6p9UL01|s zco}vwTIG^J85dP>ACuM$ruA=(ns}uDUl)CIWZcIONG}z_I}&NJemG=Kv9$9;G0#ix z=auo_fBwhqTsB*y0u83A|K|@x)IVQT`2UpOwyk(qCEGPJU7`8p`ITL7`HFY+{RI?% zKb^4|42QlGJK@f)2mjN$ANMLAALZh!$IJffjuQ;CcH z2#25Z<|+qW5?AYs7}CUehnkWvNPWsRQC8#;`}MkhUic>kC1!LV;vL;)AI^Ce_|*94 zwV;M}m(1G$fBJvREWR(tNwgFD zf5(_?hk~36|Ia>U+LS@~(z*2}ISq?ms5N?Ub^HJM@&6xIWWFGJcF#3{j6Y-uE;w8c zer6vbdq8|&X8Y%Ss8<;}(5bSG?MHCijwlq^P3e{AtJ!|)dV2zQOQ0I}f7ks(7r>#C zlh%glM7hhRLJ$OW8X2E!9uW2^>crdEf_PLwk#Vo;$n`sZoIe#S>6<)MUkTk3dy9<5 zhBFM4L?MAHA~wMS8DE4!M@7%?gtSC7-~LcoCC_u_KiYgDHjkugX&opeD5^QA z=Z|eJYy*$PW?|%v>I2hR*s>l*J1u;7w5Bs$zB)TqCBBtyRnSfbY3@A^z-XdRRG%fm zzGW;}-ao^D14@<79w<}`O{dS1qo}%9Ng(*qn-&JE))5unPN`zdRLjnFy5%@2Yf!*u zz2VXI@HLtuSV|Ks6@)dHuXz6thdcnWm>4@4AKO31tDq5>7yiK!MSwoJlslam0R9Kj zgaX~+CGc+*POhB9GYCyy6aJ@!{~6<-;lmM!D{r1pkBNR29>y&8>{*0&7%#e(|qB z`HlY)UGHBH%^L7}J%+`gk}Ijg|0OZ%?SznIPH1%1aPSZ3$-|?>RrOw#1^yLmJUVkv zPB9HuatBt*aX^Rc82I#se_gP4%x#{Jb?rbUT+j76+IST%@%e8;Gd+L)&XKom?Yw=0 z!7gQVbiV4kf|Y1*<0S27icC{7pP#X6xa3#L|26#LnG3;p@L%>7ReTMwt{FYraCVoR zq~npxq}xSsPCRI2@HJqhVK7S7bowuhk1T?qF#_ay?5>-^pn76_>j9kC-nZBy6fL)6 z7Jgcei2qe_X1xtlX34OR13kqx&mCo`)Fb7&zoOKSKEbnD@8~;hj8O!?v^d9UK0g0r~YECddAsd9`)=o#wE` z`{NyO!b#%6ZM(a94cHe=et*e%?CQ^sEb0g6Wwc^3waxe;M==xQLxSNxGheKlYj~Yj z0&eW->#;{lK_LkmO8nz?-G?382ZvGMgqbO@oO;Qm?ZvvY^9DvXN_yV<_QK|3f?LV| z7yfxWIHYe_hJb^rxB-9xQ`N=YjQ{DJ=zkpt4WIPtfEfLa%x)0YMBxnnf34K`rxAAG zAMsS}+rT)-j~8_**AVl3Ive+Hv#`a>sKR-(Y9|8s-dXfkDqHQR=qrX;+O*z4zX@ZseC_LDjH#e;|s=}Qb z{||I^ruL!n5#+1^z07f5_}74Ki!qvd(c;}+-}2`D51+%Xx`lc9|N0mIzjImtKk)xg z;NKyn-PVnN*qw*TP(@XQ=Y{`LduIrUJ1z!bTVjM!?B;md_`m2}K5s7kn?csX&xjxU z|4BXN1_8h2S^d+7DfCOWRkHn2e%F8de_XU<)HxLUCo!!5t26@2hWxHJ=Li4%oZ9-< zeLDEu_@6)h|A*y-${9u!FvSg0fiHWD^+R0o9aI5v&cl%+lLbV1qXc2JLuprZdK0XN z`CW4bOc_SERw4Hjw3h`EiiiqkChc!ZKU1Uasnsqrgz(JdOt~=s2*G41I>?odZpy*S z%Xm26WzYw!0083L!RIxmQW0odb$eriy=LeH9e$GA_pqAWQE^~a-l13QT6m&ZI65og zA?2wEmy_*6X4EQnK$lQ^UvnjZzjt150IE)Tl^jiL_>~T|TUGZQPiNtRy58|LgZgIC z4`U9WRr+g4j3H=F7yT!Jezo8LWBr$IQ|bdK2zV-IAm~ebtD;_`MK}2D=svHXGRzX z{_zJ$rC`5_e>%3O>CGtj3iO8zM?q2ioZmjb_?P%vv~R>cR!-6B1^%b(;AsD2Ijm?) z{85@yReBfWzm0#`X)7v&x{o(`6p-Qn+v4+hN2F}7?M@cHd*kCsc9^v784r+gJio~u zCac3bOHRVQ{`LWgl=1!(%KS7JkzwNlzp_FR{$CscN+=gdV4qX;7?-XYGOW`C{^!Pj zT|fPco3H_6An;#07go4uoQ>FI$Unlr0-dtsFJn(atBBXrzLP7Tgt)EgJuOYoeiLq> zrIz>Yq#$7#+}G6-`%ZlnG|8;W9CiA~i#Iw0$;5wAuAOnghKsb5lRxz)rr{G-9tcWk zso!hA*vN!m3T@83Kr#I-PDSj~^@D%@X8&I=|KDO!bF}au*dnT(+)3U&4j%3QzxV8+ zsdW+AH^O_umZ}sm$79}}_NN?q-`6XG!4!sZpRSpgWi?FqV;!a}gnz-PhB(WR+l;l*_ihqB&sHxvQ_EBtH&TId~KRKhAjCZ?x`@Dc#f#^)z;)2(`T_3FN&MHHjB8Nw*@gdp%O?1=-ig)WgLUDU=~G^?!9l>y zeIAs^*hDC&#Xs_%DF;d*z3!BB;-6LSoy-<=)cXE>&VuQrnacm;v|>$(9MYs@#{UyI z@5}!eKF28%@(23aV@Z%3-rt``hhF$^#;qT3kgN3nuovn>7za17SeZso#$WyE&CzV? z+)Mwjt6}iWmN_@YRaNz;|0e-w;4nK^4uV<))L2WM+g$_&v(O^l#RUm8#qFhN_e|rd z|3UzN{9O1K(}w>y0UG~f-y{Ez@NSg0z>ofo|057C7@dD_ks<^^8=!IC?J-U|_dL%3 z_1!H6;lDE`oSS3g+MXx^_ACGYUIYAx_kVLTxv&@uNe*CF`~MgtGk|j|U&J+KfI^%g zsB46+N1X?puTn zJ5+E&r$OoNjpNE2fY`!1G?|JIpSQu zaqTd1hFd0eg5_6+j|0{Tq&8J#fgNS z6Rv#lTYG04>hmm*v-1tw&-%3ny&xjT}i$iX2t`8)`@*Fvjauj2I zd>3oJe&IiXV~wFD8jcYeSoeI&7Y?LrWPA*epV@0e%4w)=4KLs`ba z$}4NTe$J)$jTLQ$a$KXS7*Tq`7c#U}(#GqQEN5rZRLs0`VVNwe6(j zCnA97>SLcrfs>eW?oq(ZvpCM>^#2p)KwqTfF-D7nCn$tX(kmABG_G(B&ER#%lKruc zX9?pRvrz$@O;FQJrae`HxvJ(42s)rlyL?iK&ySfZPN>VoJ8U?L%kux*0iCG)%3PsW z@UJKw6-mr5@shrmpOGS!YgQ-c>a3j_iaiUR0wLQ`sK!!#oh=i*u0Pq9{D0^G&mwOp?Uy-M@NeLs`fSAitcE6GhDf3Eny!+tc3sj}Y>Tun&^ zZ~TMx$!XTSDvY=oOpDUjj#vYS0fBS#pzl48s+YV*%&lrN_ zXA6KWMlORBNIv7_cncqem_i8oZ1keV`%y1AcS?gP2Rd+)Qb1)gRtgYT9Hb$F1^{}P zw`|ZC2f_UY6Fp%+68n@d;+(|17?<- zw-?7*M<#X#(L`<#a>^$5uPAg3=YCa6A!t zY20bhN0`Y}QoyLdRW2X_-LRo<7AeeCr5yu>)Bm863Zfq*nuALD`R`*=;#`?f2Jj($==JFFG4GdRF0C-)@as$53@m}mtr9-6x{^*f z{(+-b5YZEl3rz;`vQQ>E!hgx>6qyFH(tOVap9#zxGevobX9E9qIZ%k8A=eB4d+TQk zCOwt<<1aSwJL{-8Savke8Bq&^=&o=s)IYEY{PPff)ecmsA@7OALF!YPtRg0v2!tV@ zBJU`&>q^Osj|%}Ke;+!>mMzhV>~`qN0>wl%l~l9e>y3{k`)^?Lrzi$JXx_2CcmX@W zRZqtBoYw{#b}ZX20{ayX^|!tj!K&snQ(2g4`LptU&lR<8LjCD0p*)`jcb$2Kjg$9j z+dF6DA3VE49o09QU9#__a){c4h{7hf_je>IVat_$T>e1B?nQ5eA1AP3(Nj%r0@5tF z*>LSwYGTj;i^lf-pO?E7yj=m|7I4IeJ8t4A?3V#Fxf4EEez;$SfT_#>J1F+N6X!CJ z4ppOQqbeI#KAZj@0-sE}AWyP+Vd(dHKMpz?Z-8WbA%sx{Vpu?Ky#bW6=wJ=u1@bCI zC=ezdZ#B=h?FrXz#8P&OjFD*=IwIi0US{;RQ`%xnr$ZsoE+G;wGyvaKxkH|Iw2|l? zw89+O<+k#PxeFQ@hE@r$nb^JNez%J&`H`dq z`gWL;@So(=zMHZ21TKaDwjFGHfqw;6J=}G9(O=@f0!y+xh@bN!{`XkeVo8nmoc7Q5 zc^%t7K`;_W*%BY`s*d|V27Q=i@)YI8h#}s>8pMAJD_%tTejMkI7_Vj0fn2mh81!pj z;u@sj;+?)P{I9#{3;(sde8X;p%7>abrY`NraGo;lC39Y4GH@tH;iQ z`i=ia!Vmm^RCT7a<=jk(it`fh?=z@c{J0oXwQjEAdF<FQyu>&{v)1-|CBxv&)&uSntY6x*TPr-#A|_m{D}*Q z`!X*nxc$h{%Ktn6pUeDZ6lMS4>HncW;lE3OXQ1yfHsb%0T@>S^Ac%W@w+wk>&b|}( zW&BUHZ;6E&vXTyd6U*6<+7>>djkByzAMx%OupJhBE9Vud) z!8uS$UY|XnRK)xaj*5?QaQ#Z74T&>gO5&SygpBpR~49RY2yb;XZQB1R;Eh>!IWzc^~ z=iL#U74G5F1eF9Xi0#(B?hEhZ|0_sobO8Eq3hZ1nk2DVXBFP7Kshvo)J2TIRb^1C5 zn}NYw-e$+8QY6IRe>~h0_T2N~>f%#zK7xy|YL-s_A$e8vKrhOuGI)XQ$nex2V|%>8 z@k)v(|GMQgJMwkPbwvc;A%=hnIDO`_t257YrWFaiZ8x?-5Qq7(_AP19vm9}W;lAxX z)C3dEaeTz$W02aaF^P=lAqoG5v1Gu(V(g6UJtBh%shqZ1OcjR0So#$;en^;;s&^co?*mGH^PD@1%H;CwJy-ummh_ z&^4I^oMGf6E#wi%M$v3{rK6)frHwEG%H%G5{oQf9Zxu73wO7Oc@#$afP|Do`K z>Bmphf2<7h0U!p`!2OE!u_z$V83PddBs*DwlS`*+y9Tk$?fEUY14cvs7HB74P&G$9+GhB1p@yT3FqVFG7`t! z9ULZCS09Q6v3NxvFOzxt3F3J2+?ARe|54=aj!Dz!Z;|F0iZV`_5ytZbmOIAS3KrH~ z`2E>1nCMUVC%2poir%W6HLgO8|7Hg}C}>8S#4f{=f7#)TWMK{(pmA(4(-lfmxit;BR9O%}#S zGKfd1(kE5=Bkx=(7A9iaw&Mrw3jd>XnU0WmgGEIgc9aPMa90h-aSIzANW7A$#cvCcc+iUOHa?oLx@_d z3WpGkl>`D{-ln^{@bZf*Fp`tUcb13s`g_S410IwL=8v9Oqp~=U{s66#g!x}pi z@}2+{4wnDf&_*fNf**61^v1#57T&0ySUDHjhNA>1b^Bz@JTyBROl5q+NE>9JNzb3G z3)WQH+1FIb?;qN!<@lwz(;&Hl#C9b~#m9AGs1QI=MUg0tf~g5k zP;N{e^+lST6&~s@5N8Sp9*aA!T7i`1)O>rzL`OI)tQhJD)ZEckbjGaF1>uXNZYq)f zi*3R_A1B{xW+KR}Tj88%t`O-u9zKbm_tFVfW3NDmw1ni~MYD+zV`6^nn1y04mai=Z z{yiV=fOJGmiZQuO=yk7SwVl9FVA5`b2^l^QO(@xMUxELnMB{I}-GR&LK=*80T!Rq? zPk-@KNQJv1!MTbbR z>LbUmIOy2gydfEX<-b0{K5vNV`h#dFc-dNa<>RJfw)pRKpP-FlWZ%qK&`^<^TJcI! z4MaSTjW53H^s5`a+1B{O!VWtjFZ|A4>$G$Snbv!mbKHHaDP7Ykf4-kbHyQ4L%jXOx zjbb>K!s;wAK_Z`h`=uUfPNZ&R*=m80B8gO4;N6dvz&`$nYd|WS14rB{WdADOL;0z&btO2m~p6d~@3cRM?Dzb;^d$(WQprU3_ z+QO|Bhwg2C;eVL%d_de~zrgu;F_{r<^)1+tV?wveTp#$)Sh-hqu+zd8p>c6~q{AWj z?a#K&cjb+cb?2K;o&?}b`Vb}^RJ(3UT||EV?xgw#BEnlYLStLwhiWlaHZR{gY*S& zh-FaodLvHDMUF-YngK{m>9W^mZ}9)WHeby9#w(F6Ui~0l@jw2q>pB&|>iV4OC$%+f zl)QWSe|5Hkp>Y@~6%0ClOR%leyAK^$%l`-M7q655&v|Y?bbPU}hat3Ne7%%H#j1#Z zE+0N&>rsZ_Vop3WGd_K>Vl_Hpj;e}K$U7;;{lVEwJu!gM%@e$Z#C_!uNl{fg!8APT22I`Ln=>(;NKU?p#M>I*ba zQlaD0>(_wOk$T#p2a{*mMoAC8ZZ14fhQI=Qn7#v-T1oXD6nQ+6HzB3kIdIyf4yJFl z>3og7n0lwb`z9c3nPY%=vWQK&=H2UOh=FYdBoG?tl-CG2F6_Z6>2;o(^X`{b$?IID=Vs zLoXAysd-O1Fr|Hq7uP27xaQ^Kn2jsM%pj?)l!zzyZH)vAXr2aOq1Z`^>i-o}RAzOE zqO%#bMZ3YhcpPjCKj>)whW}D?5W&=B(4TUgrnyx0cdS+AT79#EZ&|hRTIRSvdNq6dG7@X(EM#U@I-Gu+)MG&j)76|8q|AvfSF`)791q$Pzd?$UcD`Z;@FS8u}2l*6S%Y=msd#H`H9vz`|<2zEIaM;`}Kxu zo&hVJ^habJ_O6M6BSC5vKTKjo6)3*U?`$C)Ez)796K#@n!-UahRm2#U^A>nU0BhTk zM%&D>IOa+}IDhda;YYjf$!WOC59tI>n>;#&T!HpSyizys$)`c1@g37u#!P>R3xA)> z5MOY9UtRc~Ahy5w=91@6tP}_e7Sey=71|^k{&oD)|Nj{QP${3W#w9KBq43ixl<+a^ zYmUKSU&gz7PQH61#bGWKJa^~+6}kEg|G!FZ`G5F1+Uis(kOQ zlI8T4d}bZP|I2Ioe)37pANXIN-?rnIL1usOj|D!sMRvkJo3@?0s2@d*2Sh12gAN72 z+u->{1P)-MnSETYu3L`Lyxd;v`Dk?|5)auvHn+B^mEO^r+Fm10XnswDU}1}lKVks) zs{$LcH!Ac32d%6#`2!;>fh6`CM2MZfW526`V~*`$tz&xr-GA<{J|SMt$PC)j!Tzk# zvhYQ7)ZEH=7Ad9&B_ZOCVgm|)5dk!sGccwv6$w9;l<-+`zITE_B*emv$X zJ;^!RbuyS*T;oGa*N$FhFQ@TGAp^&F-hlSoo$W0^>hy?(#iI@xZ?*bzr6dzRauANJ zRjgZe`5v~#>ndypa#QZ`yW%C)kL;?g+CLnY3Ef(f9g}@Ht{_w4KX9=64jT;o(qWF= ztFonog;R`zvnT$Gfae&fdxjuZMp-4Tz9NayFXI6SkNSG-D2DTU9Ht=31X0SMX@_l_ zh8%!@C2XC!2wrQ{BFbD$5NHNo=bGlV1~XO zTg0QCr`l%}A=Bu6)oC*^Cf55N!==Ar+?mS6Q3ic)Z#CO4%p->zqs5vzFk$gg|Hn^*@vim&VK>01E&c?iDgQeh0ef#${I zW7x!ah`zx8GDFcq7#LQJ(~X2=qSYA&IAQNxQu5zp}KDVySi=7i1`gqXIQ`h!tPDGan7Wg=rWq`lI7tMI1uuIsnWc^`P z1!z9iS$L_>k31XCBgq5=#R#exg?BtgL`^dGxKjJYKZkkjN{G0NuT-)VV0Vr>6Yx@et)OhDO0yr%G{aNm-2Pq0=iNDCG&V z8S37AX!(wFps^-B7TP>{t?DoMmzoIWF<;0``VTIYcK{D^Qu*_mkyb2d?->`yV!MA% zoT7gSXdA}1<^?5D+z?$4z8 zvVkzhBA>wr9`2@%a}I%b1!oW*tmuRP6>4*gU0k1-2|KF(Qw^F;`>UL@Z1zz|fg$-# z;{gFTmw9Z!4)XFY?MeKPVuZ$=&|eT0+GHV~Z8(qBL?%Q}Q!)|J&(rQv0^#SlVanu% zKmcjwI0nJjan8NRz*w6j)F9Z0=Qb5{h*)#xgMav&QK0IH4s3APFoci^4#(6&zwuw4 z_|JF)_%Ck|i9eFMmH%Tr-D!A(Ck~E{6e8A9C%=C`#6QMseU|WFl96@%zx_WvFz~;% zooN@+?)X2lwOFUh0FORu&dK0XTT1PmzqBh(tFTzjA`q z1Ahslxw;cpdwcBRV|D2Mkjk6=-m%o#*`+&(Ox$iIS&r0+@Wq zf7{ylc*jx78{mA4hxIzR?hA*zTLi=>N#%4IOJ=}ob@XJ?{QLW*P7yZ0FO9`KIA%T= z{ED;4ovm#p+|83<$;pUtqRCdlYNTU%yt)D=h+mLdfHRX<~TtNHN+(a_^ zdnKfaD_C!@s=1BzSca4s3otzZpu?^a{`Ymg#Q(@+jR+0)3icKL<&G$az<<#Jw&huNf;0hPOXo$^<#g8S z%#GWD=zn78ytNv=ysdLtSy0h=45LAm&UIqYibPEKpOh;x4w7^5(-zHpA)y#3jCAoD zqYL)mF;J&?ERZ}nqBG!6x=0^Uj94wVmLWL2Y>S7kNaO-V8lDB=oq!+QqH;pOej!z^bqe#HU$g?O;yOr$A|t3_iat2>-rqRIIn!s$-%nlqYUd)DUjNQ`yD$91N4Pk1 zy)JxYHyUq|bDHC&$dUjWr|Eej+CfbSl|w|}|LqJ>NoRYC0r-~pwT!b+D{IbeZ)6a< z13+1-qRfZ0$-Ky@vrOv7{}dmA+xX7;;-4{%?BqdkJ`RFmcPJ*I zgCxk9YxsXnY{Kpe3!CaO49hWJJLT!Rmk`secoGCM5-DI2AThhcVLx*x6WBGX#y@tNLWmEqaF`qJg z7Bg#;PhDvBuj5P;~20S}0e9=P6?lk^Cnk8Gg6jYv<>@bn6)|G@oR zM7;yKZ1Mr!zPk&HUd|4v_W5`@fY}FHG1kk2T~^Syvxfz!?U5-A^*Fp0*vZSFi}X>u zI{z5|KyIf!D;aJ(Fzr+ZW}w$q+pY@3@bLNm1^iFUwHZ=lF5?yJy7Av6y&8@E1f(39 zmAvBvPYM6DMdF`E{c|{vv@kz=>QaKeOxZ!^iFx~;v0YWk2I4y6f7}iO91dIT-Tb|P z|0#YGwrkJ-b|h47n{Do|J9>Y%9y!)`+ir}1;K$s=4M+}*{KyBzVf^oaYWUfXy7jnF z!!Bt#n#;H?{ngPnLrPsTJ|2r# zn%k#hz7KyOX4E>lv*A_#t78$v3_2X|YU+_|JcxC8%P*Pp~! zqfhz|`Tt5pG|jhHldVUDoUcBfZZIR$Ch@3Ji8-p*St3=c$8;W#YA zHpc+}Bv_M5V^@yX#xxc?=Q6MJBXy4uhdr^N9+a2<#!85P{JzL|kuIPWmJMHeQSyMm zDjkN10Qf)GD*i9=2`ahsM_e|7N%J-Jw0T;UhW9#6=^x*}>&Lv~*Z8mFAK!SS9=rM; z7c2DlTUR~Dvc7+e|3^wI&Nt>HUkaaKJWTU^6(qPdnTUVzUmyJUU+|y9tH0pCdbD96 z>{+}H9~!osZf{~o8q^p(AF({muAPbblzi8QJ=nMrjK*=*ct)A*i!0e2;vM2Y$9nmhnhXE= zF%(iNFkJCJ{`bru?oIkaBA{5{#5&`HWh!~TTE0n~(~?<#@&6|N>!U=Dy&UI-qO1qw z|Kx{1{=~~7cnt9IDu2O0+c~E4^aboA`q#Cm>&!n<9yAsHzoM|l$Kt7X;(s!R#Eo1C z?cWnY05brZF83B$7i+hU5d`@{yFq)B7d1sf$=3f6AgJY~OQqw8^S>RR-GYd>I`m zaf-QzvE-bu=QJao-A0&@!x%coH*;kb)Qc*}^~?WXI45J!1*oo%jPbbG z(1^Y5I95|#L)l0dlcmIMj|bnR>2oO`wwqJda%$3&lYV5ZG~>Yuj^pZ@bm>Cw^~3K; z1o5cZ`8w`DkMUIoL`ynnnDGcmDL5Qf{AS;n2glh}xq<=@Y``L%6d zas{0Ah!a1rx{@y+6kcQ^HqhGsk3JPE1Iy#LnuU%^e4zE~?l zm}|?_Kj-1t3NX?KGDk62b{~91Ov(-r2#Ns0+?wVP!A-0JSIQrFpnZzYKuY<@fK1HgZWK~Ihs6d^pqY0(j#pkp}9k|NL#nn&{TxSN#u+UbHN`Mj#GgkAHU z5BM^uZyGve#?_RwY7_@2OHTXW`XR;Z+bfsJe_!g+8WH)`R())skqBJ)XQ(jqs}5Q>t!(M;!X^`0vl-ar??(Xc!pK zVQg8T4|?MD7z?V)P2ef20@&`v8)r2KkiETkN} z@1`&MBM3}Xjr{m+uv6wZB{vN$fo+sf!11O3*ZDq={l5hWj^hrDM!+73Qp}-Xv_HPE z96p8rr#x4$z(2HlO>y-xd5;3o`!W_Vn{yjztTb9&KgK@=)0aR?zC*fOYAg7`*)yQV z?mv@Z;-6{b@8=)EA!FqG&jO$RrEr`lc*G${NR@jvDReC0)*j&_M2%JpIESfgsf zspD|{)Gu`W!G9saqyJ~%nR5M&?T`4M3WP7`OG?id-<<*7u8~>pLW&N`Ci))idOn;Z zrr7vDAC;rNt?M=rP!yprB$x5uk;MuBxF@)1*gtnF5HrV6-oU@+hVN&@ivfLF8$~iD z{8Mj?02IpDmkIxj7v^8_&mCANQpiQkz<)IhQ>_)1DvOWgPW-R9O0msR*<-`~8~zQG zzT>)L8`q&jf#gP(v@4w-H`+kN0p1kiaU46xmFZ>r^{H#fj1Nu$y&PD(H-YECJuon7;fnCwsZYsFpn~!kaL#^ib0dy34Jz)CVn)CfPI5Js2DrG4#9);^s-_|cXdI%pTb55{$aO|3gS&}3&DNx zzwrs@M&%)JA8Z9GiU>=p!$ek}+j6C)D;Sa5+C|hRmEmh8*iGB0iMeHjK>Qy|XVAai z{*0FRS71bWj017meaCo-{~9^d*#zK&|57pRH2#$Io<3ve)lQhDlUpt}DC55;8pQbe zga2)cf_&=Q)(o;E-p*j}xdQ+2+zL!UziTd3umZfrKR*5s3I-Wmn?8z<6Rkj7&&sEL z(0KIk3a*1<)pS>7>|A5vr0?+8`@zfCgZzhVKh(#WBiVT1?<8CXnWf;dY~W@5vyfdS zKQO_+%|Mo8W-!RJdtMSt%Xf6xNYh>=3;IkuDVU{#-HAZ!@-Uy|0BLgN)K~2(gHK;Eb`%hrd{%SWE+M1%$Fl9IkHXS5fZK@Zay-*Ww2plK z(_Q9tCh8j#Jo`#`JzS9ZAIY}JNOOT|fR`#~PP}jh7j?Xy2VULQnIxV5w7t_dI$N+2 z*zLaIr%c?`y_4~>I>#|{mqOuIE{k#SMRcC8{Xvm5Rro7&U-?Hm%v}i5H}w|_0$k{5 z^%IRkPapi#|DUg)$qGW>w?g0w-YnawN2*?#*p&XK|BC;m^G*)F`RCw&{dwYl!c+eZ z|IOW>B!Hej@o$^bf=z`F;P~i+rJG-C&+yTpz<*2v<0udpZR(4E3XG(2*)ruI{|}ja z@QO}PyW@qO7{!hM2mt1dD>`S32_vx3OMHO;_b>P_E-2FP5L+F2V~EkQ9t_oA2usbt zJwk3>hh2uJkTND+;(xLFe*Ayfn*)9|oCYo}h1}fv``#HP7g1q>2Ek zcR!T_E^oUX0hxLRc@4F`8Ad2yBs44E7sE_@mk=nw=5syLl>_YC$(AesR_8cKpYagj zK)C(;ozi=|bUn^0TasFv&JK@pmM2CXp0lq=D9`~--y0g5tJKZIxQCoEi7$(cf+A)K58@GrJ}8hqeKS9}J+Y42=f~z520bbYWN=71h!EDv zAU81n%lIFOuj7 z7eKZb{uxAEKTqBRyAAwvL~)i}QI-{#I&gc0f8fDQwXUP|Var?G=D!;a@M~g-Y5>oo z;qf5JUE&|=DX-VOFMJf{q)mfMM8%h~(5YuY`jh6*(q3x)!av8NzZZaS;ZbWo{_Y=Q zFK9SM*N~qLLuSvq~c&e%?+w=(_QJgMk5jpEuhqexG@mAh?~J&s_7u^ojpi zT0$HEF(YZN){P$HMfcImT;n#~h}RTO2>+8$rp;)8^#}eXDe~aPU1e?@$B>9EB5A+; z>FKg}(>0UUhEL77%jzZm>$Z6o6Wiy^MS-H}qk9R)!fG8IVlnRM=kfsdQ;+F9CWLq(WnMS__utqF4;m?v;)X}$s3B3l zhzHgUe(=9Cc%c-=---!=_ko+E4=LOnm&oBw` zRsJ~6;&tVhDj*lW{r|t?|MrVF{x7un(Nb%Wada7P_3{73960dLL5=*^&=VGS>>isF z{-@~wZ~W8$zuJ+EAfr0R11{$b{}=veGTeb}j;-~Je_UmZ0{j;C@|i$%IZHH&!uLX_Uuk6$OLmC*~GOw1|@K#Ft+TB`35si z3eJ9BQ#Ypp<|pM>fQ2C6JO(SioaPWU4L5?Zo#!RvXE}Q{tViu&FfuU4+TEEvVZJ5O zl5cN14sKK^2MC@(O>AGJt&wOH!Z~FGTM?8ZR}{En{97f zZ0{~nL7*xQ#cJ^5M4&`sv(Hu#fyRbfp)5yvu7Lyd&|$(Pyti2<`UQNJ6AQ>m;&+X)jURBp<8x_QXq_;A1xFS3-qtDY zwgUhB7b?@7#<-9QeA26x@lVs(F+Z@giCqW=6rIS8f9OE?uQ0CiBOWPJ;U9faV7#Z^ z6lQhczbucr6;5$eg2%6*VgEf5 z_ziYkPT)UxH%vGH#w?5fmy2wHsR~<}PVp3ixg#nBD6)r0f*a@7DVyu4jc4ox?HzgG zxp+b^WM1K?1j%!*T2%&C{)xw8d$@DT+1|webbXa%y<@QdAIo_g>W!KRZsEUTMXStz zY$X$Y;a`QT`P8=7Zm?^VxY_^s)|B6cj}}Vr*dy&N=i24BeGxql_GSJB*=2xF3Qphb zAB07)(w7BJ>uBYLu|M@_qD`VhLsJ$zGqIk8%wVjxkH7j~G9;oka%B3;y4o3-^+H2lg?e#xabTOT6?(_{aP(mA79S zJ7~dgkFDML6L=QqK(_szZ1^us=fc0oZ2Z?|P9Z%Mz}Lu%+=HYGmg&>PC7dZ2Lf|_i z>1Q&2;lBd^_}(~`jNpSq1|sD$sc9^<+v$%*)P?^u&i^C+hmX|^pTf8jShaQiglSU= zJ4it#chm&_!TjDqea3*KpM@zH%uO(|%cfsk|KH>IApXMy^|_k?{vF?`fPm;j=hl?d z9E#dG#fYCzTTiGshaEmKV_GY9(s(UgVM)ca%dkTFu#M9}32dF7F!3*gZH|exx%!MF zCjxP9!Has;{fI3h|9@b(c>5WQ6*9^*qf~4w=eqbkO>hg175E=dK95W&<-2FD5B>kE zs+oM$IX{G;gB-An{%G~B4>=0|e%f%GYVj&D6++tp_k&f2ebN#g7Y6@^|6f!2#QNd? zt>xJk$MG|5S3LN%D_&(RoX>#2|Hd}F$1<^0&ml6G6QL6rq-PuZJ@Fti{%FQwyAnX- z-z05kGq6$eDVR#O%-sSNWPh&JK0jW!Gkjt6=d)}1C^Xc?3Tx3xvLR}26hG1`dl-lT zS}^LKsPYYWFtK1J;kOH48#Ksa`4R?*g8*Yh{tZk=QEE}tJfN?Xh+P#+5ynhTbDM1z z2g+4S1|Hb%Jz>2Xi~E5=SrN0LZ12vp*7q;TkEE7Sk=0o1F*@{7iWYP~jHXn<9qS0! zgYbLjXXkXVBLC7NUl`yp0aMU{@3hkUig)TN&aM^|L6R+KXBx*lHbUqsBh!z;pdz2!ZpM3MRjMGg_*ZZs zC)YMe=n8tKE{TP%E4iJptuXQH?jm4tkp|Ww7s%m0pc3|Di`THSYKAcr2K2EAZf18& zbt7o&J(p-EikEb-8eGxT&lSY~X|~(bnLBypv*Q(k(eJA#91QV493$nqV|!ujD++nk z&aqKe_B0`M>@X64lF#3^!=dgby%F@t;)QS+#j^<9Ds+6V!Q*y{2Z4XKJw^L;@Poh# z)3<)qF9>?iap^x2Sg+>y2d{;dRt;u3N`7r`6E{PKchRQ*2oKMQUgAFtvVC6Q$UzUI z1nUe#O`n(FenUaha(Q0jT4RPQU_6BONNl`d5V-7^|Hy@mc(|%mOb_3npqTR<4W`n! zumj1B0qOya@zoNBX4@o#4AvAC1V2GIOdlkF1=F3y4ftpZljh097e>k8vDg11+CYJ} zRA8VEA|_D-+XoM;pS$2hx$OudnH1Me&ReoTa47#zI+a_IH>+6LCjZTa|DG1%Q-EV5 z*v~JHZZsAJe-;l$_$?`*5&!VB*im@mkYBQp#F1r%*X%d+g305!QL|d zf9Y@O%(3G`{9|5EevaD7K<8dGb20u;{0m0cyklXsuSfp}F{6$@fqVnz!vC0B2P&Vx z>H!zz%S!^yrGiD@_@_C1KdQd|#i<&nvWdRV2;0JenynAE>tgOgJ~awSkuO#NF=NMj zaSJX3AKd&kDZIJE)%;~{i%TkyT;W9H8m{@49w9tFza9VcNFVKdJT_1jhl*E)X9ngR zXK~n1^PMNM@$qisrhoWd*HKg}c9TKe`3^wS#?aC6ew_39numXf{||BAhDa_6{4=OQ zJZG@h+RY0mEPK?8*HEuYDZH=r*=!#q(9@UZPeF(T)AX?OdjXA}1?-}Km|+cPm4-sW z*$J}!X!TTq?+S6L;VgCPV>ns2039mjYxYrw>6eAg=u3@(L4S0Et3vR*|ae zWAj^lQsBG}heSa#_&qYGTp_^4T`n!X1wV{!hy^TRJHg@`+6MTYA2^KeWLTu?;S!%H zkviA!Y_n`%57UOJjznbqtR-X*WB4xBno2 zFqMkm?cx!dzjo7A;9n!bxaM#8fARJ{`lbC&nVg`Ig|W!=O90W!@9rB9BgzuQ@-jR9kd&f|f`scb&{k&m_$Ez{J4E*o;T^(*n$)Rw7 zA_LFAtJDM-dI<*y{lhjJHbaNBa?`#0^VEl}EsH6i`_L*pZI|8An0=8%N3Lc&E@C=C zKG#B=6MVgnXXVn!~G;4{u0aal9DyDLa7 zzAmf?cl2*x1$|WM4LWAxB}N6;xS!~focJwmoBmDb!9#_CaaX8~mk~su9Svje>VvhN?rdBm!)kC@|dj zoE*&Bk-_{Y;(PQ(A?mR4Ufm4AsrL55DW*9uk}jPDW&klbsCZT} z0^aSW$AaMisU#5c;{voTZRl+UCI%WzWaw0B&${lvWBTWu$1^HN3WN|2Ut)G>=;enf zLP$+zN%AJl;bqt`+U!$23xb}VL^|?{4895KR@k+6KMGtpzL&`qNrv~0`t&H*(I4Ub zl8C46NKJrk)KLX;`Xge*NW9`T{GPVdc3NuEyTbd+zyTIId4b{$t9`ce#~@==J{@$83iaHsmdJi{QfX+o1lfN@7u;m!rc*+QgMhZ>41j2 zB`D{T&H^*#GpdOCd=~xV8dJ$5vD<+_LjH_;g(no23iis!q(E4jJ9SY$7fm47^{ugJ zE@fXdTm3G^5{@v$<8)F@m$q06{PTMP>77p$;C9qDDTW!zuEx1@NpX48+xXp|iw#B2 zqY1(3)6K@2BWCoGu0Qx^5kAiqI`*>3DwH}kALXm&RI_g%?3_2JH}!90)(>|kOy!F5 zX;8uR#Q~IDOKFf%xiE$fBk|nNKlmr+*q>~X1CGQ=iAeMTJCPnvu=J?N1e@XfZ?2-G z;1ilrd|_KQ1HaWHpj@=;axesZ&5i%l&X`j;o4qbLD`k(vVJsB*UIponHFQ5GCzD;Q z4|RKF{n>>Zhg7~S?yv|2d#sQZt4W&c?dAa{&$D5&(i7$KSid+%CM`C z1B;nKB?;{SpF)*}#g z?YjBN;APvt4<5$#w_l?4_H$ze^4~d7es= zplc?fXM%m0|0lfSNrtYT^d&h<`SF_Y z|C~^X^0i>D$X4L!x{R{#4$3~^^3@_KI<~QFUovq=JG4#jJ~ldAPNRadEVHq1mEUy^ z`2Kw6f9{*E-=%{gA@_6PzlHaKif;VBE!!bSPhIXYW7!-3BRg*r$z1cz0{!Oy9Qfxb z3d`Cu7ass!RkvPG`2W7KbBGLJ`5kwGbB*7?ziix%TC_T|x5m29xXqgfT+ps2DA86^ z<7|h#^{4+I<^SR?`mwyuf+{-njM0hl&2=)~<{aFX!2JF;=CXs6PrdRABZNS>8!T*R z6QHG{gZVk@-{*Yv%x;Xbq3ygqjxdK9XxG6!@7gEqV1%S_`0w(H&Y0R$$r|Bdl`fwA zHJ?@VYFosa&!fV87(ArYA2Mj=r3~Y8nCy463 zo&@%XLs1C6f4t?n6oaygGjeE~PzddGA9;dJCJ07hgR@*0bQBF%sgQz4JVsWJjF}4AQkTYU=epa`U z)rF&QekF{DqkaSb+1hZ7=P`kfr!91)Us+$|V=rbw4kfo#t5}jlQ=|-R`dJNPaXO2=!&`q%- zU`+4(stiziRXvG>7^f|n=EEU2@Za07_)w!g{Hnt@5%tkc>bkjSSm6@tPd+T6cEBf+ zQ?qFmxod&}tXFh@GCs37Y`Ty&X5sPlwXVjy->PE7821}N6IIA7>8s!Z(vWN_zVlD~ zQ;s!0vq-yqne+k16Zr462bNXJ9gY$*^2|pcrENq6z+3UyGMk~E7=(24jHlO>MF;+2 zR}9D}g&X48!v5>3Tjfk93TC!p*|Yj-F75UGteN z@cqgd#Z#$q7-zMDdU6aq**J+8jI{xI^05rs_d7TKlTf;{aMr5T(f`|Cr>mSK!CmB| z>?QruM+W}SWiQo;ekSk$Cq>&f++i25I}+ZxP{+5)VRVWw*ZL5iR|ozHK!lNh`X6x?Y=^}wCZamLJj5cAEP(6LU|*r?jvFrfG%g=d{mjPm~@d$JH+Xe6oUGS}Ki z2X0Ccz-cz*QCnB@S~y$y;Gg3qp=Zp*CqiV$A(h#CY6AasI%%hr@yP#UQ24bz@l82T zutmt}mE()Q;J-ikH*frj|9u#$;j2N`S~OykWuw1nbimf!SyEP3k@R;pJm#>8tc{BU zB=fT}ri3rGxP10%FLPl1J$p*F5F@!wDJVE#X?^JgWvGpz!c|EidS@iOmkzYbEBNI( zG9c5Kp`T0oDMJKNZf9>@o$}ND$F((kBZA^}N{q`pBY1mOAE&;XWILz*ZjJS|Kt$7K|1h~$ySrceq>B9a_IEpcxpYS}Ch527NnT(Pje+LfNIO3jBVPT7# zw3iAQ4~dZY)%?LQ!f28$yZ~PiQfWqg7pMcjblYY`*xCj-$9|NFPU2QPV6&<%0F_3H zh}_&Wpny;x9tk1#=>s!J*Wco_ZzFK*eP0hc-oN{cf8$0dwX)^1YjgI zjgx_i>Pl37k=o_p!}dHbZKaqQDq>n_JlDyK5WkPKUcbJqER0 z8K6qav|n7n?2| z!|SraGBlv*-cNvq%~DrVlOn;6^21_k9q29ve@(d#3O+M}axdr;;|H&1NbEk5iMW}_H@R7&UC0D1L4B2Hv4v98J zF_(<66+_ndW)j)b+lUee1_*tvUhKz?y*!LdMibFEp1?oj%IPl>*L*wiuO|5fz?xPw zGHsV8>_l)4OiT+86voA`fqxe)&p)NBsxW_ii}o`%M!dpX3bv3123itr0~9CM)8RiT z?#fsksxZArDTX_=XTC8t;9&uU_QCAgQ!VcvUjWXNO~qHPy-}h6Y^~{(q{H zmzW0DnsYvM*tiBP(J>AvuG9?h$PIjyhSdB zNFd0`>TW-JR+S{LYj*Z1kPzW=9h9vM$2L=$JJ1BL?3{MQ`C>|}v|?gw?Q?cADPD4r zpyyi$2|0fs>o=$!hW+MtU>^+k@NHxa@t&%v@I?{w6^x-kNl*U3RxPtuAx_(%N!DQw z53Q=lEIO^{T*IQuiBU%T=y&HwnP_b6hu1Or&q%ffR7&hlfZ}f@Dg;%V$R6pYz!NKv zcf4JgP*udh@zHTHYh{o_d%osw^3j_vhmUFu4uYM&jkM|$1Yqb#C=;>_#QKd>Yx!`f zeL zvcPV;iJ*r7BevN;_=2UZrtPpfoh`G~JwPZf${H=}!E1HysT#Wy#zFvsM(B_$nS{d9STtaouK6-p5>$m zzEbWPmETXnXn%j1T*sF5Eh^Pave$%-KwoB;+3YPuqi9n>mO%MJ+5pb57+?$CXmuFG zlnN&=%O6L%Se=(3RG`A{p$@=+RwX_g+t7r{&P!*DDITr}l%{k0zHK*FvMK_g{fc>l z?qGu*5{fQB&7S5=|MD$iwE&cP{W)4$=RL*oS7A9#@GD7TFA^CzdGR`|>bV z@%Qh*&=-%GvcESl`|J3no38KAs`*IrY1z7n^dFZ=UJ*fwaM$KqD^k>p@PZGeH*$jn zG5sxA@Ju=;v4}#&03zKfY#Bz{@}frb0Qb%Rrp@{5*x*N;w8$%J$fT;`P-#=V0J2)7 zPh&Tw9OJ>pBmAStbcALy7oYPJ;U7Q?vJycMGlBop>{#X#G7_#B$m1e#S7#8zBIxv; zA>a6iflz+KT3u@rHBqRqYXMlIzvWB(cj#%9snWLh=2#7@s_%-ga52`S5X!#c1&DYV z0r-G_^46wIDVMQ+H1)aSICnVv$exre4hycTsVg`c(10K}P9{WYNY>x;Shug6zF7C* zA2vAkHwI|Le2QxK^AC*Q!P(>y)bPFto&wti!6De|^yB#Xac68nT^@3X#Uyz&ESMjs zBjuD<>za=%Za~`am-iyDotlK#_P^h8I@gFbt-ye8AM`pSKf!a95DQ2|!@n8y1)#aY z%tz0|d^zU*7v?7njdp=?u-nZ7aqph8MPXb&9X{dz*Mus$<$R(L3A{`E-{NhL@oR2f zf8sxaX@zV(G3>ro4t~B+I zNniNK2W|JEE1${Li2deq_|b|rC;O5bR`@VgQXt+A&BvBU+)KMJ#cdil{L7AcLs}@# z<4T!QZ(&$B{(<>&{GU6^s3-gXHoOhA{&q}kkuLI@&`tDH6Y&p<95?>;PgD{#einJk zF+_=g>tFC+3SwYCbpan?uoHdKgz(dG3(s;Qz@OlgtNNKhk|&S)d%p`H=BH zDMt;K9Mcgvy?A_qWy;>)bse%p#9RO7|K~EU3jbdUJPTl)xzihBdErN zQQv(O<_Z7w3)Np;&HbnFKMs=u|Mds{y)!yuTHt@AN9Ey)FRzhT1&7oB-}s+9j=b>y z_GMS#CEDm2-@C8Xv6@bHhZ;Za2GTuuomX+T1HB_|{JT-}n7JJRCy#Z?c430I5|Xt#zri2c_ry?9ay}NLEe#Qj;k5l}w zfWR+|pw=|VJLqF5AiE+>p;@05PTJl|lWno`5C3T96a;^(LoYeD9Nb{;9e!8A8f2~O zo-4yeGCQ>D;$vIjeGHF9p>z@Wj7NMv)=g{1g9Y{x8kFt|U@a^7{u~1Rx7< zcUvJv0=vUkl)ZXUcBr}{DjF4Xs7C}w;;xjfWna=P?SRef)EQIm9+5!O+PZD(TCwz` zuY!i`TDvxAH$&GzkG;0^bOx}vbV{#urytPD-t(~`v?W1uxQq`5R!dHi|3_$T_p_q> z;{Uzl=UjJKA3i;A;y?UKM?wIMe#f$60gb*SE1bd<=fk$` zBygB|iF+}wHLUsU_EP1d>BPBlaq<82Ax$?-a2EaKne=$V-&&ueG<83`gr259(!{DyO@XIMU8}3Ocd(7J$ zaEW5B`^Wx3Zzili@xR50nT_>ENv8OC!oP+!Xt?9QZMR5`$Fk;JrZisp{}MS&u}HP! zln)aA$q~eVUHBgtf68*0ivJ-GNRv6!O}>Y|d$Pb-ER4)m@S2)%3%;)0nlXbTonJG{y$nXCqr)}f+wI+@QE{bT+zz^xtogjFATaY%$`uaDe51| zXsg%qAAl6`f=LWlo+2?=7ZU-%PZ~Nexb!(;^Edy`<~dh8WEc|gSD*a9;s1F#&y8N? z!(~^{4AB)apZz~O+sp;!r?_c~E@bBxu_Y*Nv z5&zD$I{g2Ui-t4zddmr{`M6x$BoJ{6Oe8x7SR+@xlRdj3PBgotzpH5Q0enX0=XCH` zQndk7SIukrEQ(SA%uyd(6u{pQ@K*O4XTyLbIcpYk9>wD#w;`r@HVXWNoC0<`Xw@^= zoQbjwFhFwV$^<*8UGfYkCag97(_Bklg!0rj<9IfCyKEJBY#33bXgah~LMSrF*l1Lk z*0C%V&`5!p3tqW+?tNbq3B_Q05Rd2)J!UG={?4O!_l9KSIG>kzM-Z8Ab{7@fUUOp} zL(?54b9OPio2M`aKAzP;35i&E^7Dv{+Mm&mMCQVOM2(4mbZ2%Y{!2h%6u)||N+-y| z@%i8Lh}1cs4tZXMijNS+MrZs(M}x&B$(Q&qqenuKLiwyAQihziJM}Oo5>W5yD5NaAL-SgZWTtOfDU46qR)AoS5b8ke+OrE;Z zz&4w}{jH)M@jbBf$sJWANt~fiaUnz4QPRvga3N`@+W7?h@3#k8UzzeN6OlOJp9b^6 zKfU>Q6$3J&3@>VJVn2M|8HoM=jsKd7H_6IAT0903hV2*e#*~G_N37Sz|8!l6s{abE z8@gRR3dN5D{|;K^IjhFLCpa(-?aZB+ZlUDd#y9;T8Y2EKyMj*M30Kd)EV8l*4;}1{ zk<|qJL`RXjuAP*>9`UXhne%8qmf7K}4*c`Fz&{JalnWj^*x?bDAi|WHxKX;}JVGb< z(VK_MGASkPWo31$r9HpXVJt-c`ixyWAJ<8CQCBd)mL6hYt+R6e4gY)N#+l1C*Ev1B z_Sb@nm2>0&*(hSKsaUXT`G3SBnjhqYah4P``FWLsZsK18S-ArL#A$0xiVbktk?#lp zP}5R1jHJO+WsWI5)A{|$?_eW;!@rFp@gIvXp;V1|)${THw|?h?e=TUu^*!uKa-IB6 z1*o}W1KLu^J?!RVXMz7~%z4FlP(|k%_;075@?{hF=a@Aojz{}lotwR64cH}EgqwJ@+T8Gu0iKYQO)c;6v`a_Da; zfI&RQrh$-=G_&8eZ;346lMF^Bl(TOP8`^7)c2`lq3_MWroXr|i59GVijNb9#V<$R3 zqBB8}34fRG!})UwjB1M2Rm8h%Z8)&4&hsoV^`R^Qg1uD1Z>1wAE)GK_Kq>FgyhDEtas>I0H=1H$xb=UuW8=5lK~E`+{a*D1)KMHVWVd2}UE z1qPh4GdO&eG8CxpA+vq^rXAzjABgMYG}y*FG2`Q$C`lzMAX9#`x_NP^*cNf>JD$<7 zEmyxHQ|wh3!_@GQvd|e;uS;*J=_Veowq=i@|CKKrT!MVjI71kYu_I~^BOJAjWd9-} z23*a63pV>^akIQdo~x)eP7rB0FZtB-(Qvwb)>>bLJa}c%wxwWo-vC6X<2J1iCQj4~ z@qdPs1ykE-V+?0Sod@^p(cs@7*l9;>k?0j@!1&+9|6}~OoEn*M$mF}S!1JXByTicB zR6~9APX!K>?S4iMEgaHDAo^WlAPrI2h90=gJ>GLIWR`K1c1kt*8)N?v@PN+Sb)FtUMbgV&3?7`;414unGe%%HfeeQ~)x$`+zn}{PQ}j z3~IN=dkvmc7(u+9{qDwk%7th2MI3O);V^J7*zkmydi@ChA)|JW%EB(ruI0^xe{xE< zbr*bwC5mYUj`aELblZJRWRrHV{yB6u+CYO{fUEw9Khtg5&c|Qi!lvyMzUz=<;)!i_ z86J$CHaB{^gX^{28g?za_;4@Bqy7l+hPAR?76dF~Ye>SWAStz5$z!yG=G}Bv^OfXzcx0K)6fl#?NiA{V2<k>2?)Vk^FSHpuq!#)k|Nm{X=sVi@pMS;wvAz9QPYB+-FDCGR z50dzwuE2kOCp+%Avn7rE>1;aX{vxrJ4bm||Y?lm^;_ohZid?ksuNiS+oxBq9+j*ck`#KIx$dW8!A&&77A^}QSf@^}U; zU6=oF`87jV{Prq8kpI^lUc{gxCF7rRaO4JjRY`HuB#8IK|2oeC6cT*4Pue8@@o&iQ z#y@5qc_4DIkrA5EKmNaTod-#V`V;>Z_}@G}2U zL>5ic>_sXVC&Q0|uyFXLxjOKq1`CIE;i5Hp4o5q3Tm)c>vZ7!G?_Bd1RAceYc~u4 zLiI>iD^C3lt-_>^d;t8HISge<9Vu8qL5gxv0_D|7j%VbPqO34B;p=kddcAXh9hr3DXwn!#G_AdI5Dhh0Ah3N3jcf%w3ie2 zuB*6KV#n}_cZIXeag2%Fz}OLWRr&*tNhJJs6d^j2I_wNo+d~S4#oa;ev4IzxFJTW1 zz*&T*eAIS0x@%TLmlETyvg3i**oCH+gL!c{z=~mIB?@_z!7Y8XV|rS{gse#|Djq=_ zBd?->h;evNMD@IS&hG2yj?+Z+5q*o|JM9ygRCHFbq$K;Tj^wbt28-B zQp4%ul^1Hbfx!QKmOHmCo>@iw%l4^5sQ5{40DldfvfLdyJ>voh0)iA>v&c;xA-+f) z{q(>Jp5H)MB8b2}b5WdAZb z_T;alT;0!?6wo8mm$6gMF6UVtNgxK$mN&f~@g*oM5DQP_s=c)fj(>d!Ux4dZZioEj zPjCER#0dN#c-}eUoE8?kdvQf^8;3B_^|8`BRPhQhsEb3iItN05<=j}ee5h(Ej`JXI z4>4X>F=a8Tq#RsAj$U~V(NgIqOC_4%SB5u=9~yIL*|Nm#H>;vKM8fbtc>TLW{UJ6z zC>7?p^WL6(WPjv|+sl{ZpmA8chJ&#cv(NaF#;O%lQ5|Q8oh^8;1l?=uh0Q&;|DSSW z^mHai*o2b_DCq4{6UKji=1F}kY3Fzz#4X_lsdNrXDau^o6Jn8=3+F{Hru^Z9Zvw0< zMd|8$$I^hd>HqN?^1}{N+V-auOkSey62@h0KN;yKNwy3!R)QsGs-yxbQC5=^M{(b#)x$#zJ#yI;kFa8oT;v8d$;n{NA-zL1^IPp?;U|YAU+@g9j=|f?_=@-o84ivC0GS z9mWX;eqnTquj0AJz=~TXvpZtumX?Mvt za6*J0KD{o-9E7{Ned*ymk5c4OvZJug2L9`Vf0DY!nVyH7!ZrdOqy9`O_m7#c&2MsJ zm)&Aq*@hNMzO4e69#{Qw&)@Jb-En9UJI|!7!H6j@s4ojBnxnES_KCSB{$)BbzbpQ? zPMoYs1sSkwg+JvZABVpcgHQ(HAHu!&pTe!R--CaSC;UR-A07P*{;A@*e3pF16V5@} znp>u2{r+KDgCy-Qw@QD-qESFYgR@*F+X(z?_f_0h>Hi_q=GizXi1lmze~J>?-S&qa zvAyQ}FY=U6+kYyT;A0Jp+Reb6ye0H?`Y>}ou#tnImxfT79_$dFGknvt5{#PaG z4>z|ynut9NJRt*se!#CW`y=dq^KaN!+V3cpQd`3Onbv&bziXi0{=wR#er2fr!t;mLHzyl zf7>kZbOZfg`iy7()12&9?TOL3CTKY{S6wPx3n~mO1AmjIDOEkO2Xs_Lt(bgkAxFZ4 z61HK#8e`k4PGj9RpJw5_)r6n*IMe5fi3p3p91IaXEYNNv>v67fZoxpg>c2I--xMD< zLf@%oAQA%mdLDzsRbsc6Jargq+Uqo!jnhU;XRGokxS9L|r2>A#8p?agzy+L*6N=9O z?AYJ~YOE(d9x=_TDRvluTXZcb=*V(lr8cnP!mD)Bve$OmxD#nDi2 zyWKV>gooecboSEjaVfln5$;4P6=5cKjhxG3qXtD%tQ0sA1V1h5+1Z{U{@CmH=#vhU zFRcuvfobkAo5yi3pUm5c0o=-S)v#-CXs;=^c4lP!+e1;m!@~a|8?m;ik+M`k8ALdY zIIHSU{|nR8BW=gpT5OJ>=}66IS9EhJfHrLQh+-tgHY6nXp6q|-R572D(^ubBXowC6J( z@!iJ%8AJ%QhyL#YCVp+aSmBxMot7rf>)EXuH4GkU16?@tK=OwUKz{d*r~xOIcB5Go zLqjacYbN-1Wjo~^HPb%tk0LGOi)Qm1&=Ve>^5$W^!2b>&GGE0|f5iaCywZQ-s;#3& z_^aKy6_0S#2miDWWrDw--JBEuIi9X^Sn=Aw$LFET{==*=#}-v5{--W?aC3?% z)UH86A_BZAQOjKaf^C8~!E}Nc6>XycmB?pRY|R_RKuxy-hF_}LKXkx46J+mB1f353 zNv>LPUSU)cfb=Ta$nW=P&fGCU3!))=XVU5b_z&#fJxQK12pmU{cwX*=oLvkUUSpx{ z+~oh6aHInz+obKYo%cgg%~)}brYRGAPHw1);5P8@8BaM0U_p@aq3ApCKN?u7s@N8H zlbk;qyQDm381Tlj6ERXzpL^Q~Z_UKT?lxpQm;O|H5}x*#FaD9ZP+v$sTci{B_ZFJ) zC5&gM(!&45|AaC()Pi&t51;>v{NUFz?uY6W=3eIOZLP+^smeLKYx%yMYG&+dgV|uGeUiux}O( zpl~TMRZY20>--A~q_iy&IoG)ZX8^iDMZc=zHZj4JY`ZRU;jxY<1pdV1!Ldz0zVfB~ zG9KJGjyt&dk#;Ga?_Tx&LLrHN4Q`mGsnE31+Qiro{=2Qg$yIO3vBUo#ukg48Hi3V} z7$&Z=&-&nBe!}`0`TUC(qeegJ|065Wkrkt@<@W!^KgTk#<)j7{5@?GG_o={3?}RMz zk6hwhw_{j45?bdwr}HOv)mDcf=p)V;nZV!UcPlEY(K^}B|4aNk?5e1Z6y=G7QHA9< zX!(PGlPFa8Q~BV%+63%?Q{)N|*iQ&LlKpa(xTyZ-tIhOi1PcTu640wBUpa?zz(^2= zVeNo7th$tc#u*r)XIoj~fY`CX5DZfw!};L*_bwDn>8XKz6(b)?*Yn;~lC-Q3hYp|q z0=~Wwpi3sNWCJr1S<%RFADk-nkwJrscMs22d^A2K|A^vGTYQXdv|>ON2RhHJ@e0Y- zn;t}@N}oyr&43X0zc;{q3^6f6{@1wG_oN zi-wG-A+6Z#2<6LY%eHl><+ZBY%)++YDqR!m_Fj~h$%wh2kIJIw@6Q)+6atgOF*S<> zF?+o|k^&^J(0(d{)0s+uoSrCyweyNhNx&CoK8|?;Kjx7PD$A@mAy=?i1%a9;gUIQl zGN29NVajrDJoLICF1I~V%@~g>0hS)^V|(xWIyj+CV<2~-2`a#Z5a%#k8 zM|4k%WXx`M;=+Fi0a*ba5+4a;LN*=GR+%@N{W!quw8iG#O?`~|PyB18wpxz45Lq6) zz~3qH^&Z-}s`D8DiOCb&pu8M!K4cNy&H|2creiu-H1IkYJqc|%4e~pTj(7}wNrnX-&G|s({ z{XW7vnkSQ$UBzZX50KKDfDdwYNB>7dIDLD^^>)sy49}{>fA~@g=wbM_fxd;+AwOc9 zjq(wckvsJpmsDtS;ZSO5ZrEPC9?P|ZsA2Psmr^VPwNEnb2tQg$RQi$vK6*4B2O}sX zyvF|-*MHXj_mLn4I&ec{{5O@mpJUUQ`Z50JGDN+tRRg!d9J71uU6GWI!IzR=Knuax0vS|!x;aR=kQ}zhZQGJw&J(I?KmA9G;73U3%g>T;mD%Q#gmM)-%>(f z5eGHl+V=kwV;{yrPrTJK@GoB5(fPU#h!DcOSAAMbo zM1A9b=OCy0Fdv(9fHnQUY+m@6UIe^+!#L>`zI)FYeAEB`@ZX(}@RqDCIj6NCJWH99 z{opyV#D9kYJisL{~!M^J_e6A4MI%!I@PT` zPMf4m!4&eKhvPdviZq_je%HWS{u z2oDVL#yDA_tLUIHF|#BMcdKuwMKA2{J@ARxHo_vLNQIw;ng13@=NZgR~jwMnV0;S#V8LEf{ zwt{(8$_{oj(8lGEsjgpT^|f>UTp}GzmkVeh1rnzi>$h!_kHF1j{e^{{Ey8fzzptLY z0%PvHku{>)wV6M-=&iFlLF$l0{*Cbk$L;JjUQP|c?oi*y?(pV3sqM7+mgVu4U1;K5 zi@wXvC@_{6>&e9Cs`7sVtBU)P2=Avai`^R6Qs+lsAf7wGs2b+9#6S3LVxnw2cCQH9 z%p+E|FQ5?74zWDrxami_F9VKgd0E(dleDVsq*gV7|7@>AbPoKsecIUI)qk9pi2w$K zMWJrX5jt*^SD4?h$bvyp$o%=(xG^L@i77U0qzM=Vh7m^oiT}PPe<`^lP~#)PR5!*yqq=ZaMm6-hzWSw1kNEmgXBZFeZx>lcj~`)v zGtAvPi&!C(SfLkCf^Nk>bsbJi*_Ib+3=hKCj-UEP#I1r1?dUU+(W|9qJmnXOI=GZB zUHC`aSFAu~BB^j3yfQ)ieVOa@1fbGLozR zGmNt~IFw|_|fO7~ot8qGW>+!IcG(|*vK zu4`H###u#u2j2%*6q0-9wu-siF`ix+@kU7joWGwfQCIF*yo5*@PT(JgCp#}e6!)}u z<26^_r{bFP`slKZB^id);8YK#$8Ui0#bQ+Ud+Y=FU)z}LZL}2-qm@C9R1~EwN`*xJ z#6SGP>j6=OY#_;$+4Fq-e--s${PU<5s8d&6x0Pv69kPkoF`%TI^eL&!VYPWGtrwim z39T=={1p!Zw-J|Yh{OLA|1F*|X;LoXN5wY({pCNU>JgIZi2pTGnF9T?FoCfb5=d(- z@jrjye|L1Z3Sc9@J%8YzKOATO1^*$hDEdtJi?xFS{;4*| ztGB3y{+q8|cUTqrq>p>onW|thAEIs5d>acD1;<+@YA?$V@&D^{dAGH0FM3S5mMX%q zARVghD*hRs@V`@ge_JONv)KRhW&ns%6TvrQFFJ+`|4ST;|G<5P`3wJh2j2o$^dXwH z7wOHJD5gj(Y}f*j_pgflA8lW|SBL(@A<4P+b#P_uuZ>iBteDu)P!sF$2^S~WdEgwl z{@{P7(1Vo2^6Js`ZFc`%8~EoU%#dSX!`&gHjGGvc09XI!|BKH1ga7BR{-5JlO4e7@ z62XM@60ACx{}0(wu00tJNSB5ji+gh=brTNb(NvP~Fi94KI8zmY=5)k~vTTT`| zxsPXo0rnrt=wmGkJ9a#JUE;6Jmv%o_YiG9afJJB)zquSxYR{q`;Tv>|xte%HG*DAl zl*Zc0?C73hcr|d+l9xO>HIGZN1bN8ek(WkDvf1CIHb0s%G!$;brR?7dCBl$jRTnD` zcjRsigTS`8*gN$%lzZsa!whQoel~xSJ)G^;JJhtuRDx{1|`ekf$jSj&=JLtHa zjJ+?57Nb754eJp6gFhymj|hf@j4p}^-Z7X{Nku(Sfdp-M{YFOSWP`E&V_eMx4_S1; z{6$9fS+Sau!D$-Ieb9vym#9i z4XCNBh{u~79*Y4KE`1zb+?{ z3WUqF!GPll{BL}-=CUdShPD?5dTQp405Kfy~|CYSD|V4 z0MWPZEmdV((8}yqKY#C=us(Cl4)qK&s0^IYq?y$hMi-C9%ov7j?AQYeUQ0Ubp*Q&0 z?-7fU?_8*&pfE=Agk??bB?rV`?dGVWC5?cXjL#vY&e8%}59GO_lgh zMfbfjTtk*Tb5y@)$_qLzYDl9yvaLApuhZDyKD-(gtq*X|D z4Hy5TZR!nWWiz^rVREeUtIPL`$)THcs2eU%fteb9RTiuA^%`8mdM6hx-;H8MlnoB< zz<=*Bb4O|g{^cF`c3?oF(Ukf zyxwBG`$vB(qfw}T6BYa(8lGg{#X3hU+{kf^}d`1c| z$kws`+66VPpYZu+-A3ys$4&Gx3R+22+{|;n;jV@0@>Wm{&%udAP$o9%u)V#N9ZInJ z%Ue|?yEhPCQu~VVQQ1Mo6#h!#R_IVa03-w7$pAL&c9gjV5J@_4av8<3#e@{h{v)YRBI^g4urEG0+PUDpl0V%ZsIkDd|F2lh@KtSgg zK_1e}G)>6tKDbMsOI@*X^>f)niOc#j`EszUA|V4M6c*p8fcyeTZJp*g8RRjJ`C$@8 zSlLsR3M*D2T6Gb5f8kjauA8b5px`l-Ncqu_IHs$cE(OgYuaHX>lMw|+Ah7b_jeqD0 zQ^EwnQ#PG(hcVw6SK`00f+~uNAVQ%|#f`A@QId(TsFPTP;4X@4P>i3Qm0?x|{tM0# z(Gdl$Ltan7(`&2yuxa3loHf8M<~R~_b0~TP*l}_5wFfUuV@VtuekgN8w^;*nx%8WON{}}%ukS!&M=UHHw;#U zWy+Koklz@+ftUtVdh>K?SApd82DQ%mf4-hQiYCB6c{F0McH%@&5+--)D)E2&|B@nU zXd_*Y&ZnwOz(&y(&x&hu%69pxwo&qMUhjf%g3DU|Un&Q)k*?WCm_%LN%lSN`0!>)h z2mj&B1OF5FNBZZq;Z5}Sc)-q=B*+)iA;fks&?sO0-Nu81Iv#71tp_-5^Pc~i%kBT= z?k3gV^9KIwulVm0F~i;?*SK8-<$+|cFX7r|g8xH6f8wA2K<=^yg^u{YLfu_lzbrm7 zJotSV0$}I%GK|aCOuBCWU-tisiGIIpSML5!TRs21p1$~_$SI|Gry_ehsiyG1HZS9R zUcgcPf&a0u8ngNT!oU6h7ypn=Yr=Q_PiOG; z|5Nt=qwa+N3HzT9{wbx!fBOIXr!V}6y$*&XX}*k@w!`0-AO9aw9hE2X*#Faqqb3pl z|M&aDi8I7zvQBbO08CW=S;Ex+px_ABw#h>@ISpN_=puf0Vvf`_#kayqE-yd`5Kb|1 z7C7+n8i8(rBj7UP=6_werWxi_42C9%gJij`?@2(G5=(M>v~-FszXAnF_=VzGFj%?I zso2j2>^s^8K!S{M&K9A)QAun?2tmrLO-F>|Ig-bjeiV1}>=&;DU$P9grFmXOijrd^ zZ?KS_MY@XUoH~Qntl-4lI34feAjSf2-1=^P`eif}12U$brlz zJLpnWbgonKJ68}E=5QB;@Q6d&7!zRzmKXeqYo6(%`S)jgDQGE4aKo6UjCtL_2@E5L zIFEq5aoHN}A`+lY#vRzgrYoPhXK~Z2YJ_OhVm_|00?g#y<(P6{fKn|!@0s8}!!K5` zxJd%EfqUP7NakfTMN}+Z&|%U^5~i2aq@wfpu=^hIddo&7nL69kotYP;+d5IJw?8&2 zzfE4O&^9xUvD>1eI9|%AGWKIZOoU*a$-;-LMoe0P`%c>{9ax+WiodIW%La_j04;_~*{i2(cu0k&sO<80GE{G{fN>sIF_>?wf9=bNy`hm`{>73_uo z*7rV`xPpwrHDP?jwCw2iS^h=7;=DdcG3EX*?QgidA^XJRH5AtGvwtQtfts8j?3{j^ z4A5Ubs2lUC2iZ+uDvg7Kt*UWYEF;K3U0xn)EyEuxesAebG}^IQXVnKo>~#T9m;zU4?)v=p4CuT@XI_9~_SB zgiqL>Vm(KYBlq*r@ITq2X;P%3K5%Lu78S6hkQ+>w#-Kl#&W=HvUEL=tWKX)M78uvxwa^$XV!=N6; zr_n|s{$;U%WsYd(Y-excl=!d3$Ucr6%Jx~qq_fL)W5`e7AG!#I;^}7Mtrfeq^W&Op z2YlU#DqwgVq+a+ZDbZg&5qIv~IFh;WuT9~B|Caw>WiI#Z?QalPD^{4mGX=nL;rAhy z{tf>rt(O0X_69qQR|$N?S$v9|^Fs-h##OC1MIxKELUVw{w0IOh@^-hqlhO{k-?d?f ziGL7q87r_zVT1S&EIppcjej-}d3uHa*Um8GA2L&plK4Li;IlE6S4{Ld$OCyz!T%eV z^Kl1tpVbD!RXp?Y{{-3>{|iXZdWDfjhQjvq+uJa$stkkOf|6weBS*YrgDr+vk6lkC zDV>4EThWG79+9FMq@0}FG@${G74UB@>PQOm^`6`HlXgr$=a{Dh7tOx3-P&l1Ky!k{I;0k470E47RCLUI*)02gQCw z29Y=o?GARMLDn6FH7ESvd;ddM$v|y~x~AepqT&|RlIxierT-XR%hq z(%R}&nm^THLS!2Z&~SaDJ;(1)MivTriPI@#$Q)*g<14273#Bebdp5;RP zH)*A*kJ6OL2QUmauIuZ@|M!Pu)wqTKb)gRK6aV`=g#QQrTlh~qDDvQ$a96t;AVp&A z#6O+6I_Po{76HT6_E2A2q|mFH1I8Jwd;Fc|z+cb7u&{wj25%RuNrAMdoG)oc_{Vj$ zvBkfNx)*N~%?eW#ADpTy8~9Q~uv)ee|*o zqX8iG5B$>~5k&ZxzpHchPLt0V|7dZB$sXBkCDv}obb9?~*?}Naz~N-*5*XaQ@~o32{BIp{%cYKpkKF&xQZ^ zyAuEN@&Ej9KKLgI;BT19hn+{o8)#+CKJuoz@h_YD`2Sl-vrnTuV@!wtN1)1_9rFJ- z{4d71)Ah#x{Nev6<7xWK)ols&BSqxGpuT(jc0DF#YOlgTC*8N9pFo%)-} zYIt4{?UIGIwVm;5)A2wk4o=yYL3rCMYbK9oT#CZNCw zXG-nwGqjBrG5#z3HKGdne~O1mI&p_Zo$&v-)4R56zU z#{~R0Y#{Nkdp6n`eFwXkx!hIG8!{dN*#cTW4C}1`iBWR<$#T*KPE}ZevGcR^HGIor z(GLtCX=&N@&wRYgu7tK%pO^#?GXSHceEXh^vpzma_~(CxF{@P2+C^0{C&We_s-!jY zBj}D))>{3cueD$hd1zFR~#}35>q#C z;J-|2U4O;@PMSlyLLm4aKFWO&s$zmxJbCo=geRP}?Z!f3@xQ6uWh?ye%Lc@=j4D}nqk;bE`24!gxec8EMuNWA#`z{`kR;@R0W*Ea zHR`KLrU*_o|4!#CmCd57x6CxTs`k>zKx_L}G-}u+gvSi;F=YEi{NK5pxj>Y7;~zym z9u=^ZBR=cVZzPr$l!X8J3;qY^gz3BF^A0IPckeA%@mhyZf9aNtd)g5ljK)hnKjG}z z`jFiavOT(bp>757;-|@5u}{aXidv();8yOujIg(LA#bo z3(K5jD)YFBc$>vNKKZ-T6(4OJ_vLwn$C&%Uw`SbC=MuzbXCxQ_y2!jwoCr#4o3%PGL;un@P!sn(oZyO2|@(}>#enJ z^%L~|WciRo%LyGR3}fvt_#17-*uHBRrU11j9?d324IV17Wm&{ly=3! z2orNr_{_71@Enwr^5eo7EC5FwlSMev1w8xuU*UhQn&Qw$1^y|sbB%Q*{D+<1_-}X& zGG2d7R{p=$#&PX9_P{Z~Y)D5%ixUTDHl9Sef~QJ4J+ESH#s4}JNQ3Q@Yn;d0D!c}G zR&)=uda)%3vMLRfhpfc^siQgw&=!~fI8OtLJ# z)SJe`CxDXHup>`GAtvx&j+bBC|6s)Ao-h7$yll9H|Im4PT7YyJn)g$=#J^0h`?AIQ z3;xg7k8?KJ4sGQR{Li(xp+8#Uv~+py6yp98{#7Ugj=`bA+{8JdU;NJ>_-F2G{LlXd z{)1=#z<>IGTg)|X>VE=6RhQNfUUkZ@Vp!)-F6=X=hb`#5;0$bkkjytC<16Ez{lB;K zh5xS!n9Bci&UNkg;Fu@E*vU4Fu*#6rde8a_(;wt95o2 zMARBNRfWm?e*NtzcrM^gXhwY<+1M;K<=@#mb_AJEmv%Bh^K>K(iW@qNRg&y@9l8N7 zf~NkEYc`FZJWgZWg!Ul(!mEfLcJnGppaT$vppP&?I2{xa#w1m;6A_8j)+PcaC-DQ_ z#`O1IYsxG00UNg0#o+`|@bC8jq?WouY~MojI{g4sotMOF7W8YA{O^_jjN2`)j#QW8 z5!V_es~20`IInm}oH~zD?;IQF{|qOxed3HqoNfO5-y@s5oOlI^ZhX>GUc1dH>uD^4 z^B<0E=(wD0uHY0>??^oAa#s5bwGwt-uz}SX{L83+b;fw2_N^~0c0FMyoC1r{9f@rr zMU}aPK->3Ta+W-Xj?J&Qja`uJlQK8|A~`KCS_Q7dc$wsY0(1E&x$nQ&)MG?WJ|Lc4 z^(XieYy6CkS)OKQAK&3)ehBu$_RwF=*TH2FHSi_ZLO|fZ%VWI~t1^D6YB&nFOC>eW zwnGHsTc}4W*_<=jphJVBH!{>(kI^zfE6d+adGd!tV<+v#MWe@0sJ@{i;XEh#rGWqR z8@TWM@j_*l!Ja3KPS*ebe)46uO?eULXti}t!gAB?V=PZ77dDLt$@R7+40IA_BX|{k zz!D>qt}DRM&WU2kkYDe#OF5sCY^NVO%$c@42$7Q7#d}k{7(-2Y_wof~T$SXfnFdQ@ z!0U6b%O`GUfQ!13?5NYPPs+a6uk|onV?$+|1{(B6ud+QbE{gb!4wC^p<$fLTOPN0I zgCWl}Y85!Qi#nm)h8D`ncbT?0FK|^9$0kYSiVhIVoZm1;yWbX1CcLXs2eU5)Xj^lq z{Dtw3G0Z~et=l1TF6oN`58OdR+dh^T=g06^f{wnJJjh|i>NTjkWP=lQ`I)c6ltlti z5T>4X39q9$aL4>D!K#Sehc|(qu0^Mb@zMYHke2&ylX*iaMBw<>-^U<3qAyOOy`ZSK z*mbe^0XP%?CH!Nm7yfArebG#5$B`uRw*Vl{b)h}$@b!=XH!tInwW{#{b*e#AA>%T~ zBS%1zZF~~{ukha}B59_;{{;R41G*U7^6!k(Hn&2i7yg?LbES)OYp4^2%n_&{Syv&z zDqmp`7{{fz4OAi9su8>GkTmyYpYZ>!_@Cld927jp%1a+#ZtgGmk4WLde|_*jC~}tzg2D9D+L0wGIsU)#AJ!+GqD{{| zf4F!FS(oDf;EG3j)8B}n)i?g8o^&tVwDbSyexvbka;n@*ni%3YQUWUe^xzn}j@Q30EkBpw08@9%%!I2WK1EPybc?mOt&Mo13i zg*COg%;v)QM^LtJ7iPTL=sgv3J~XO)^mIBNZ|VR@m;&d_U{ygtxxX$23K)!54X97z z>c}=89l3te$pDSQPHmx73$Z5v zHD=U`5|^;+Blgrq_7}e}(93K__%GxC{G5%MV^XBD1cP;@*5tT_DQq z;trljrs-4py8_<|pEHHzM$B>P8ivs1SjN>M!@X`5`IdKMp6i|p+8)gE8ScKt7k|c4 z>?YohwL7Ma|LZmE@Hv&NCgFv_0N}dTa8Wx@2=ZJM0qL($nb9LzW2%?G2165{O}!@m z>&8E%D1SjB?TRv?5?}mlV#vD&)aLX0!~bX8Bm6^RCs`%`c(=m2ea{&k&oRWrb2%t8 z*?3jF07P1bN{BgIaYa2GY76{RJfFUaCHZ4|JLpYsd9-fFDZJvA%L`5Le16R6pM`GW zKW}#JXq?#E7wUcK3cHFXFB(ZMq775V?Jmwd8}`xB)I?Gr;nz7EyJ>{svS!L}4eal% zvEW#Uu_})VGKW^FkUHcbHl-KeU`TXbvYUy1rtU?Y>Fe!yKhAh6@IM*1{1yM{*AxG7 zbkiUBhiriy65|pS@xK^p+a@Q+93@3bB?JE$p_Bt^E+J48z!Zpu^yL?SOkKOblYd0i zpx+k-;ps_Ystf-E|G!MMPYKxt(?6kK$@R4Nw$rdb@ISUc8T|Iae+QqhAYOYk;~)1f zo=ZCxFT1GHqs*zEriV@c?`tIMs)TO%|1bVIBKOf$pDAg-BbTv1&KW9_omi{6DCCNd z<-PxGTW1UZ%dzUdJyw{4&GP|@6Z(}hk^7AawTg7-U&wiOdd8Cqw2J?0j}n&u$4EXL z%uA0Cj(hb)$G8S{VidhZ2>*fha{z9LNP_BgQhxB`yfaF z&+}t@^)B+if&-}@v8wXeQIK+U7u2A`7daVvw1PnS=Pv+%Cvuf-_nb+QLd}L;@}&%D zF?5*2g9pidOWrTXIz01A&SQ`iQ67U{d;igk{8C~A$q=gh`D@@N@paGwNsa^Y-|xY=oQmI06akYY((WbjQ^)XPDQ`lBthRwdPruY zil73=O&BJk3}Y{1&T=3zE-Eq52sNyjTDGqO4xKN8N@UI|T=_hJ()Z|7QNbpOuM=3z zgLtWAXn<`4yBB)kP9_2q!IvVHs7FqK7qSlK8`}lZ(souC{>9+aSvXM@4cEVkf0JnT z&pDOsNp&p!2W`+eh7o~2SUc+sN{#4HW)UO)wbY zU#3TUWbq53o2 z95zJM;ej;QDAt&`n5>hPC3|2|k_;m|>3|J5d_&hWMJIb~lM zHzB#WzAFY1(^1@#NS`VDxXVT`M&V!P@qG}qW!my3mTA0|Q9a_+LNK;vY@{!R(}(TK4q)`GhQU@oRga*qPHG=?(#Y6?Dt+ z3m2b@Ye#U*X(KLjaV^Ii_y+`Jms$m9!rk|rZv02#wmV!jcP1>Cw%yH#$1x9%>+Av< zeV2B9F3JUy-#stv@Pq$|G%8Wf!a`!2E=S@H`%d{^I!COf_y!_1{--L77k$V7$ydn} z5i)F7#J}W)i^RwD$4LWSvMr44^zxtHc%A$+#!_&O3~d7ciaX-GRK~6^AMI&u1nkay zX3jAN=kuqG??GTj{4bG8L=pd6E@xi#Qif&x*JUISjLz&V?(*%tP<9w`FT#Xt8#;D3 z!TBgbU+3KcX%Au2&Aowtr47G^p2YBt|M~;}BD@R#6aK%&)zB_20}F;Q$%5ZS4wV?d zz@Nf9GUgQAA$yPiZ~h-4QHJO;$@Vlde3yNNW`4WCeh)BQwpV8DTrkxmk{s_kWJSl2<@n#RWnD2?6f7Yk z`xjzX_$Q~k9AjF%k#YB7wELU_>b`G3A|n)Is$rae$)QGGU=(gc6}gM-XTUo zfJ`z=k=mg&p;-#+j2jhp1^3YKsq`{f!oXgmYc8^7(!j5A5SyHp-|R4>zIh)zoV~79 zEUqkK={$t=pMA7$Tm*w5Pn$qtl$3pgk+}PcfoybX4DX|i zrx`wSDO;i4fomA7oom@H^|tP!^;qWkaC;uIPRCFm(kCXE>@yE$*ye&FZRWknj5hZB z2cJmkHjvj2R#zSFXK{qH@AsKpd###1Lu+E3@DHPzY}H=Qge!YCt0HzdetG_4WN&%+wuLclOLDZ3g)W*9rRWrQ z@!x@ev3KdetaH=3mhiu(0szN(Uu#vD4{PI@K}`w4j$SAM?#!Tv zN}-G|mKQgyU>2S|3_QvE3UteyCI8k+ZNy_(&f8;M3dYC7SxG8IPDwq(|5xZ=LmdTi zR}h<)yLiJ5ox2{S7Wv{PBs=i!1%a!WFv)Eb2rv7Vsp~D8do2@XbjK`_nP8c#Scg?O zYLSa?7yr;HuO`ulEN+UQN*PeL$OX5DXFQm8bL8+1GYGs$6gc0mAb{wr9Vnl>VaQN@MZ4zAUfo_F=`mqI}bzN-#Q4Zgf4|g?8@)X;AdlIXTUu7=9 zX5cO7T%JV*Cg)ysa3PR*8}K*B{k!@f>sh{qaThV}q0c2;_STB#VK=Zlntl+yK34%0 zl>XvUCE_>!yZR6O3o9@24^1u&33|r=NOE8NJKjW0LUuaemGOVDNc=zC{X4r$@x?g1 z>8b+|;%7Pu9nJUq`}Ok;BVC5Cl78feD(7KrjINWM(BQw}-^669n!x`P_-D~dxO$vZ zU|20GfDK}ig`wVFANXes)H1S(>N0r-p`v(vhy1GFxd&Ml{vUFF$9Q4*lkxv*MfmRz z{@0QJ4gZK_%l;oPFuwf1+WhQ5Kk;%rYOjTw3;%tY5^}K%{}-q9CC&vH5QHMi3o{evtk=G9O zz085eGT;)YQgIo13pp5Vwz#vl#LWBiq!ST?u@eRFXaxgF!jVFxd>4)SQ{|N7atelG@874sv`=|N+{`|`}Sqk}GV0AHq!?U>zq~8(PwVkcXNrHmTkAUeO-%KJa zST>DP)LB`tsaSSO_bq)cjW=zXEx^`t0^s{p$defnA* zk@_Gr(O=@9eZNUyEdXkqbRcEhYXy#tJ-wy#p{Tc4HZf&#?N-66MuS|Fm&4fsjK?n> zGm#?}f>eo-WdP`v_$S2=WDxkLv+6b;Ea(nDGE!!16|3nW8$2QVt0K`GDtq(xuQ^mH zn2GseH|5IcMJ8Q28sP4(icFN=3%e#2)1G|!(@OLxcD+G+=844=^ zSmls~*GAqZ6xQV3(1|%F03S=%!3;!5OCX#v1$>hpeVrpEt zh|lx7y|3ltKKI{#?X@f9I9#alyB=kmJzcrgS-NmHF@Ng-^Xy8VA~-`^G9Ti<6RSmD z>zq1XD=pif(P5+NqFLa_=M&_^V)VkpWYBmT>ns>GqvF>17TOG|gnvlA`Md41lsp5S zwE9UbNKurRY=m;|8~;og=W>mzNZlN^+;r(1!EnXB_!8W9`O>=Ey})BVChsSfiuI&F z3=?$H;U5S;7iY*HRmAS-aXO>#++*Ch^>v$7ndgK2hiOq{tge?a@xl-Tg%uiKs)Ns z@9g7aVei+yEII4l|c;i_I{>|y3A5{pTmLl%pTYumGr=_$aFXarx zl*LUKfq#l+I*K+Q{C||4{$G-7k%7+nI#hsNBpC}beybuimE*>_{r^+l8gvIoLVV5Q zix+b@ZNh}D36C^l4$9rrE+y`EEBhsn`lN3P`2zp8Xy#UR6*=m!_<#9(;9vS5jUN7R z2gVrcn1JyAmlIEbRryZJwx&p)dc&3oeSx@d9(HeN+*Sy+Wu`Xu zsmp{S7RhVqhfW#`{C6cyPtU*Lep~e+5|Ksx`SHyzgap5Wb z{}pTv7rZ-}qOjP&kKR@hXZ8Jr9IDb_D!Uj5KUs8z3hB0$_uhUI_s}JEd#;!NR~YtF z@iWR%)9TVguMItn!~ z{&eaJw1p%TU@_Kz_(rzjfr|!)9$Vqyc1&`NbP)8Lr>5}+HFW7PZS}#o570qnMQi(F zMf^%MOo`h58nI&7w}XDn6Sg-57LBEg=W@Jco|ZB|Vy6V$SCORCTnzV=N!d7CpSBK| z9=iggjyn-F%PnQsjm$D34$1WyCs)+{-1b?wj8_!N2}h{&QUWSmw05Yxh6z`8WUHk^ z`1o-oDMOustUjyZlG*D(r^Z_vHK!@lF;_Y^lEHsvU~;6g*9!Sik7XNthXsYEEV!bQ zkJyNy(s6N)(2r>C=`D;S@dJ0QEJpvh3SN~e(z1-a0`xdG3Cv?GqoECxSSIm>-~n{d z;4S$`zWq{x83OAjwaIp^Y|h-+?ijV3`#ig{JUIfTvc z_owU?0{=|bCWXn%#?zAH(PwsMF#?az*A*Ypt#u(vK7Cr~b-gQ7zn_=Yy>TG+#ee${ zQIF$;|E2uCDHizekk?DS?T)Oi=(kW#U7UavMbrw!rzxk)Gj^{O`;r?kkcR1_#%-{> zUN62b62d?g)H-;K|NG1Z4Hv-~Y>>N^TLn8|vw@i{V~p|re(=B6a+%-}(o;QunRCNE zT*jXYYI$tM62$)w1Kh|*^ssA|@+zr^{o4=1FLIeMi#dnLWwcm2YVJ@GpGF+RuZXRe zJ8TNONnh;9r7m$wiTETLu-V*xaCTYtpVDKX!=WhF3L*#@?QI*S3bQzjdfMD1lM^oD ztz8<}C>!2O+raOsi7Rz4>}SJ?`g4~JhIg3*c5m)A7~WHv5CO$)^3q&NzF;wYa~Akl z5>+fD{9o7in)_@2|J0QLMP@eN!V|CCmnw8!q?4Gu>3qz|El!hO0m{oV`ug3NkD^$_ zzM-UkJS}k>{Qm)I3;*~; z!oK7G>6@eeM-1wiUP_bth1rSa_kohxyB!GUX z`{Kx$YKfz(J_fYx#>ZxVgGg2AFnU&S%h>Tr$_RagYI_MzQL;e4b{=EgUHIQsD9`0j z{GWgS1^*TJ=RJMJG%*R_@+K?QTKYm_Z-2_mIv!&z7d{jg2L1=}0MvDb!5zL)@k7~b zC;lgmwqh~z#&v~#c7-_720HS_Ya<6sQ5Zl&F!K*ZJS<`i-wMe-hZ<6zSc(sFj*45z zea{~N-&?13Fw@kBAws5_cU3+uu}=EnADO|-pZ>qfv0uCMk+Q(+V%WLjf6>zm=LX(1 zz$S*sT&gepul>+PPO;$9;Wecb3{Yd}j5g}ZH*RyO6mCTfSBP1TR3G?C+DkL;(*P@C znl-O?;w^Op8CArZ{5@h+wsS%$2o`5E9?nmjcOZN*yv-m!QkMu_YN6v7~G)Pr~u@Ug+SP9 zlTLENW-y`gb@d0CLjnkCUIk{L1Uny0NUK3nR8)`x^+?xLNXZswb81gvrzi?4$~2I- zvx4FIfbsqJxs6+IQ$M`s%%_`$hSTZ3ekRZ6Xe;3B7x-C-u~eKhKsQ`iGPUgq0ftPR0n5u z$gA1J`d>;wkCYFtdH0Px`xe~wLL0NJ`Nj5o`Nvv+(D!axJsu_;wC&~a3z9q(OdfQM;BAAXD&+p;r|iU$^YxKP{SK`U!``$8V~$GJoX6xwjcZd^i(9c zG5%pML2&bjjm&5arw`$uyA(_Qf9-#|bW{ZCIpta6qwnW%#h$u&y*z*UQu~Yx|Lc$zanXKlkkrzQU=hy{Z=z{_Op?||D;W#G|usSTt+eUqyG9~+P1AY z{(@kU+|^ z#)Vzwo`*KsDilTRS62}MZ}o$8kN>aq{{&osZ^AqRkR1|*=vxL?n2QT@BMmsG8VySV z!x@HhkD+n%>6nkyZ=AhJSx&oPThzX=zTCLugbOz1@b}qta0}VxyZT^|p^O)Rt z(Q-mB3nh(x(syFp6CVwwF-Ml_X)%kD(Nc!KqfjO3O?u~Tym%A^Po!U3;5VNVDAdq;zT z&GO#z`6Kl=#t-#fJUdY#)C0F=5a5=M>UWVPhcFqi1pQ6yu|2lBDL=PF)1`#CCEd* zbQ0rb6G+8&B%BZw!Xtkl5HE_fl>Lb2`$NLkm+*h>oJ#LsUN967Vg=>5nxI;njKKJ3 zpJF*(#i2W3W1J8&fUT1tOPn&2^-$JHEERpXcC591+}SxnnFDLQwLzF>=H(A}KKDGP zeC89cpYR88V{8vTyJ_PgBpx6h|Bi&$y@J$@u`~F6%(`5J@)*S8I9C#h&%Tpx&3B;EwaMOB{92zSycMr!r15aq?I`fvIsjjEVf>39;y=i{ zG#5sk3|n!KI=EwtoQ97y7A6NRFn-X1s;SDVh#3?Z+vUfh{beU98fhI?dVYT#^7=6l z^{Iireq*W}zwqC2xpiC&xU{>6iM1wT3rYO%PTl()zw&5k#^p2B(57|lLctmJBm8qr zbIWDYM`V&SVZ`A0y&st*Z{Yn=SXtA1MHy{l0s3?T~N+|L5LcGWAFf&FyP&;VeRI@Xz+I_+K)!KewaV3m=5>|Cx;N-;a|i z*l9(koklt+@M%#&z6hc3WsV6x268zbVZ=;HGBv>f zOnc6JAG2Q31_~i%VOQso^~LW8|MVMp@ydRo{KNR4z`yK5j~?tFN+1FcH~v?Tw0kWM z(^lV@U~r-^3I$>`@-vdpGpbY+@GnNWY-v9DpTFW?migGB8UG$<+Kv6cc&j^m9mk^V zd+~p=h0Fi%P)7DKPIcu&`4~I(sQ99dY8peqX1Vc!HY;C6?4=%w-`vH9s7d!!)#Y~s z|JPa3^hHe))L53g9z~2%{2Vqv{M-1S3;!BJr@WcoL+0bdVelq7W}_50P-p9RBLM*M+ICfz!5*ZKL$fyJNUoi|6u`d|9Y;_yw^;2 zxXqpBXRezF)dY&h>S^B}1Onq{5sG~BTaD6K(=yH_Oe)V~Y^9xET{>JGWX3V5ALwdZ zLm)%K(-_!BWw8dU&m%dw65i$KtRa^q^xyx^V{I?zw)ef#ZyT%?<^_b9gi43#+ICG^ z8;p4CGkMb@6iM&jSe<$8qu3-hhM;9QzBc)ZP@#MJ#j)4KGD*ova5IXlnfpa6I9Dy_ z-GXZ{?*2>1`yzX+p7$A2HW^mm=d#=q)EW~ciT((hoW-!|5B?E2EBPn>*P*~;aIkU) zqmlPiCZSW4Nw1a_e?JeSw^30`^4Xzv+7RdHs0-r_S+{u9j+7jyBHXWuPcg&y1@0>X zvQn}eR#h04!JoUB(Z(lz>o(I zO>|!eds2pgZYdFi6^J(77jU|af6TN8NjvA$P5X<+=?^Ptl^k~DJ+y}@pD-Z(qwDs{;jWXTHyfTmFz&N!xwlzlH&HkIhYTKx5i95lMEH z@vr;)f|~dvf3I?JDfJrs8~EpwA{J=cJ&2NKGbSWXz0b=ZsM!j8IAdmo!osqTBG-0R z5+WTWc~drmG?V-^Q7tw8v$60$;;42<^#6{Nl{~OS#`ZNflGwyt_dgo#FyOC{2Yh^s z+=fA4;$P&)Jl=k8kc4)n92JSMBRG?Cu<+C*AcNT#?uX_L`6 z@V|%S6aTcs`$r*qf;f}wc2wxC{te=}h2*4^=-kSzR9nHS{2_FuP?U%3GPHJ2q;8qca| z!U8Me|JKnJihm=5$);S;Qlt2)wAhk^IHLFi|01b7W@*8eaq-tjmlq`w(p~uf`hTfm z$MpyPueP_L^#25mpgyS#(n^5^B#(J$NbA%!Zw#`kD>(=?gv-z6S%SEgIBqGkOSbqY z{_7))sgDuMdWO07&<9XtNPU?P2e*?=<#Wym?^qWCDMuEEL3T%@Fi7ItK>4@PA#E~ZR&;Mywr%7E3$#Rr3nU=Ow!8Xv&;M8#JXZ2bPp&gm<5Vux$_ z9lgu1na8m`EsonQuXCHu7`QTu{}q~8M`Y=Z;_m9QXkx1O&j_F{wxuYgn68wb5^Wd) zw%``ch=#ar41X^Pt6OBEdwy*{r5ze{WJisUc+7TL5x1pEFBj#{M1Uj)?M9;-3%?=CLRs3?z z;Q#%QMI_va54K->oW2l_d2%dsJ4h7K))`;;H@cV}?7#aH@Fb4PSc?M@>pC%rbB zoUsXB?;}39tzi`Xbf=x(h2+5FksDqGjea>>rEL<)pjuJnDU5sZub@fxfv&4U(|^H# z{qe1J6#VzFz6Za(wY(qP#>t52V6PAXR0<>q8nhS%G`V0Plf8&if72b-Rgv^zG z12Jgxzp9?@q2#a(VI6YacKHsWSo=Mu6YjW+@&C}I0{`+2 zvKQSu@->J^v>D7p#rWA~&SOpPHqRjQ`R;sDVti`@vE;DwzN+D4WBmO0Tb%vJlxKf+ zIGy;nd#^3QR;DpsRuW8Fm z8tQ3NY9{mg$6UdMl$lMPg4PHBf@_{}KO{GBPba9r!Qhi4K#; ztgU;2gv`soI3v9IL8f$NuF{X&b-XD2PpkNujw<8-QqJIM|7~1&6>(y&$ZUQqfQS8G z@jvC>Lv|K<#Q$UduPX1v&G`RM{L|kt{&z?HK|F0ckMLrV)09Vi_-?j+e&`$gCcZ>1$HBZH0&MaS6F!ySQ!yUp~fPIX1CZaP1 zvW{)mIo9reqGQ~sB0|5Cqw6b~*;iav9%4264@u3SFbBe#HG*RYI)VXrzeW8_=xf4h ztit5OLA)IL^q!j(h%-lh976@ldEu`p!bLGzW3W>Wc|3gp}c=hAUbcDP6W*tXbk_}#vzFGI&Y=O6$2b#E)RDZK&i9Y0V9wF7B$ z;p%M921edUK9GX85|nc>c8!%6SrNI)F@PtVPv-C2 zgq4H+CrSm!Na@C3f&eR(a(bvR#D?dw_@zGg8Hl4Yh< zgb5vNSIsM!LeZI>MihvS(G1>k23cCISp0KLLaz*en^C~BvJqy}t_gDdtg9f0H9>)JQw;`QRKJI!K%Ah4HY^46% z|FjnfNVJ^Z7z*2e7{UE-Q-%W3kOSL>u5s(mTKM-$_!xX=G(Dj$=zEl!mjkZiA)lWg zmT;h?CjNg{`f=&H=AsWdiegCOk3&}cE&V@c!A$%z)-+UJtwG?akGfXR(56hE%C1PK@PXULjQ02e>gYczr#li4WDDg3L2A=xBr5F z+~?Hk$h(WtD~D8AG?t$>{)2Ufj%O?fFbUHj$KYlBCkY&;_=hE00cgSU3elKuSHu99 z%H_M3(2I*y6bWt5_#fM2g$>M9RA>NrBhzK|M9{eCb(IYg0CBGXZR%i z&mBk4$Ep7Qd|&F#!pNeP=LDVX&GO}hKW%6(5+(jw6xTh2m_ppHuFf@Y;C~guJdzv? zQ8chF!P3{MyGffP2fZ!srHy8;L@D9%FvSz_|BU&dTEx{ff(iWB2=__Bg*GcKXNrZ2 z3?C=Y4jVg(Ne@Z!p%3DpOiY=OkNU#D2U`(KZeCOWBmUX{T={=l4g)g-BwM=p|BL_mEB!oQx8R0bRuhFa^om2PCdFVM?t6z!1&xyVDI*ENEOPYq zI{$yjq$3@@Yeo=;4kZTaTwtQY9)$^2X-9OV2HRW#Xpah8gJbSfCC z=3l=Kb`Nsvbo#{1j*m};QD6rIuT0c4ILIv;@NJAftI3Qn2C+-qyjgrloPH7;20I&aP6q|XRoHn{9MkWw zCq3_mBM%Lwx8QW*gq<^Wjie0)&vCRAXDyM)WW&@q)Q^{3ac9fKrE>dg;*dp4m$yx> znd4QH9l`j1&w`iExobRb2_>EaC>$yd8u|H^ST$+MhHY~mb|~DkY+|S|RP8EzZ73?l zaUQ}h`e0V5KptY=B1FL+i)mGb?FtTsonj~1%SD1nzVNrsG~l7Q(q(y!zi#@?N@l5e zGwto%;o1&0pm=lcdZNt2TMNYo1inM(3c+0XS8&iV29D48Z$3^VU0Qbv;2ccaoos4c zjyFg6FPUO*A9B{kr0CK=?}eb*mZdjU3Wfsbwt^}K=^a6n{W1RpPcXM@_?%FM8ceY7=U;@T}ioZ)=|Hkw}Pqc-?94BPV z;vDm8u^)rm&Ujijvg+doJ~*Ep?*_hT#In&iU>lDU{1Kz@2a3jd1ZB0*01#~t;KLh+ zLOTgsCMcM>lc3i(B(1sbbd7(>5;6lO3US{K zd~L=ogTSsCcMSQZmbV`nBdkQmPy!5hm5;IV`%}j%tn+{Yjf_B`d}IFQVyW2vOqv|-rI>{+0A^yC5ano6rCxf$blEX4s? zin^QTITz&k%LaC|p)-~irrHa(@+A+C7%86jDH`7R6cGuGOUKx#lH-2|AFpio042;r zBOG5OSt0)K|B8R|z3jNEvduBWPnQZV=)!(hk9X7m?*vZI3fxHtkEyG0fjln#r0{Q> z$?!~0eFI4IJpAXwQsn7R&RQ~~-sqJO|2zriWQ4VwgU}F zq$i!?u@S^>5de6@5fxZ7C`yb{c=(B?op2Khx6N@SRQ&}v9iEGTc!$t6DuglkDGjlL zl-^))yglGTBlSF`3U)bS+J7?{ctc}b?0JJc$VV*dkO8KZbkOo4NEY(I_zGUmjwlk8 zC=SJ3fMK#2V<%${@;}Qg8#k2+mk{IdXIY zoRr#C95Uwh?=v#{|IXc6CobL~y8oDCEKB^F(|J@*VCW2WZ8sic%z*~}+q6xt($9-c zZ`G?Hh1tz)H~<@=;)Rj_SOD4CT+tU1rOk-s^r0@O`oIRO86rQ3IG1AjQ=U@ zk{q?8bD4zsu?_#m`>-V3IByc?4a2sNzk4FksEjvOzLcNv$U)_6{S5ly zm}MaHU!_^V>U>5fw&*AR_YHcOZzrs#L)Ra4C@b zAMuY2@DKb?$&Ar1UK`I)BMg(mB@Gm+NU+1EpTc7|!ar&1{a^5pHTsrcT&d zf}yX`+-cK1G{5SKS%+Ni=%>I4VKei;;2(x|Wu#%C|ImW*BC1lz74dL~SN)&xUq!Ih zg@25hi#kvDpNyx;)+r{8P^D0^sfcV`}f6(=_7JJ-4eq{=YAX=$??Pa4md1 z=?MAV^FQLBQk}}3!ZbW#%l@B=dmS;QEGQnyhPo?r@5(FgA;R|wrdD3qZFY$^OCPZG z*`##%*Qk-LQBdMtl?-5>x$zGZK3J(P`TtTfv?efI2UY%`{{QsEvw87(gudGo4fWIj z$JOkz!}Sl9hdcElfeXaeh+1QYa9+H}X2OV9fs?*|8w)|#c6qMI$X4*TcYa8_2y%-T z)m1w%>Waauf{W%nPTq(h1fRVIPnp=A+`S^I9un!O3Y@YE>8gf;fo7X1O4zxh*Vjg| zlIeETz6R7mPPt27M#`c=!CB!m=(Vu}1)dyQh0)D(gDFMFpYX6Xm(yU*>Di_Z+)$rZr3H}gw+D8)0p8Q ze{^;m$Kg?%D!)-TaD`uY_+2_&l{%zuHN7c|@b`}(;a9|WiOS|yOVH)SFcEQ?Cv~HL zjpI;_#{ysuKU5j#Wd@}cmuy^zCl*FDEKOa-sAeQHif@o;HQvaxwkn60N)x{jgMoul zpjA>UO3pw8yIxO13ej#7^)=Va5aweG_H(9C__r|H68@75sH;IRI4lYk?XeU@xau8= z{|rN6vTp0~0KzVGGQ|Jy|8J=8_c_jBQ~wbbF@b{)#`e*ARFIFIVX#gwv}L_)*POXl z_ZR42plW-MErqBLUa?u-ac8iKvj*Y+~(fi(^FLmm>nNl{HYbxM%x3`>F~2M}B)v<>@;y2!)E9gnw|JR0sP- z-&Z!!rEpw&I)CA@rttB@gtO!yfScBW6Y)>g<(mU9K^^=f0Kgc)fu%v`+$3Da&6$Wo z-+}+&0pXtpzoek!LSXl(g zw&!D^yNuk1s4(Au!9U3YvLWL>8s{0?z6{vr%-}^5KtHN*&8Mh#W_}7wndtdRw)hA0|D1lxq+lJ_mzV#q*wHGkrFGJ(nG>Ero}51aMF%|`5k^nP%u{|2 zakR*=D+(hvfB*{wbpCFfn^Xp8PK}k^zO62K>7i_q+tSjRVzK6=b!dNG01H z(elz)JK-Uz|JPfWFBh;E{XXy`;ugKGmbIABHNufFhmHVDHjW1=rbU}2lTmQlQz!1_coKNg#?^vpBl8pzR(o04uPp-n$gn4a}h!E=1f zZwsbVaw4z|-OJSz5;f?9cHuBc&vEvVIql|%_utjSVbVvLS!%=qUPVyf!cKq8s)&Et zO!6sAlO7XTuVB2QO}6{fc=)Y?C*l85a9}XBs#uuAjekP~qbutkI)5FA&=xV6_Lk-F zd&X#6w;Xquie@Sv%$?+z`}aXWYT3t zfKxt?m*IcYBCxBcu^YANkMR9VU)13tEC*w_z%79nNcH8(zU?50dJIiTFXuz4YE@bn zB+FR;{f|DBHaM2~PLoMD107SGWLXp8E8JfTqwXFm!{D6YP51yhBKm(6wn-*Cf3l5_f#RMmxlQKaxsITZOR@K2@wiT^RxGFFmnGX9lIjFb&qcx7AXcPyxLz8SGL zOfaxw78cLqZ;n%P;7P@X!yPjaY0$#$i*XS*02u$k&i>-vP};0f#Uvl%g57cVS~(k!l1c@99b84P`CDNT|N|^%XloAsht9{}1OI&mC-+bKnEH$VpMOXGpRvlM zU0TmHP!xl|`EtoNg*lS*JHZL%*t?$ePm8X8D$&pRbIMjR`j!JMB!z2Zj{nDpY!B@< z_!@k3hBoINJHv=-ls~+P!&a0peXsD318IKOJ$=VJ@JYKP7aR;b7`S1DnHVRFqpZ!e z^kx2{Pp!az#^Ris;(xgljxGKFau#;&Go}>&S*fP**OeBxv*N#MHEgep!|Ljj+@Ti% zPrzt7s8RM(2E*_7e^tm6y2#jj-JS)d$2Esh%o`{H3VEIfCI0zg5J`b!PHh6IO5!GY zksw;}#&ld!tg2pTK#WOFlWWfbO^YNal4AZ~HmSoHSB%{J0HHWc4 z6`ZEnNReR&G`xnc)!Y@GUU4PmK|&TV&P5wAjxAsMBZ~EAzxn{@4ISvkVhpIkZMkeZ zZ+b%5;#2)7Da5XrfiqyY$zMY{#cLlo67LFK6hH^cYTQOUy5~Z>8zkhT{!EJO8$H)t z@t5?oBs1|nd=sywO@Q3Xi7_58P_%k8bWt9~!>ad!L++dmoB+8QWTT-2(NlBT*N+a!*Z+TkP*?q0$K@+$NKrPB-6b8jh$T<047j3?I@8u zS=wHcW4#8zK-T!*02T>KTdzHreOA!l@4x5sXwmEV7o8H4l~%)Ik^;_4A}fJb7TTXB z^ePwIi)YD9$-Bcq;nBoNKoa6T8+$99NY~O?n1G2o5?<%lOv3c+Kl%MC)^zOLA~%%+ zEZipf9zD$Nn5=PNp=4vU8rf>co=OptcmT7IY@t`n825H0^8D3H^|G%Jf&3WpMA>{u#bXb&#z8Kc`zB%m4fENn&7WNU|fB(GB`rthmo-(lA|AG8Y zLee>Ydwk)a_G-r&I{H&);8?HXbrSU-0rnNYZ?G;oUBRqZ2WiT}%n+RiL!%|{ThD-}P0@v%8NFz!v3UT2|O`=A{tG~;B3 zMYYOAm9i!NTj8*uP*V^mx^IQ-NbeiCmkh@EANbHVYiUGHOBphG=@Zf&^;;o( z{QDT{)8+}-2z9;wDXQ6+?D8SJ{&($*^IzDQ60zCX3bb6K z5DRL5(h^k^HU1et@E+`9dQ_np$p^8Y#=(S;=Xma}zKTijzpxPc!T+dIaN#8X4HHup zqFvyDI*fn%ov;57TslZ}KeR`3PqTgc|04{fYk_FNu|whfrcl7nk8NP)J@qlX4ff8* zT}uc|{MQHnNeEZJ$Xi4MiKl1%f1q06jo}$zFO@Z3JQ*B;L~d+#VSfMMzf`C~k?S=> z{fYni3;yeW#s5?UG2nG$2gr>#A{+m+2Jui|V;i}2SmFW+4Z#iDqfTeiEP~tXPyAP4 zKlB}WGv?bCG%EOL&U6lOjqtWHt-aGelS^1SrUZn4ix?!BP(_dG5REs$|IX;y6S+I{ z7tOEmR`Q5rz{tq)A=3|8Qg8eB2J@r3lj31b|U1Ix9Yb0JYQVl(Q)EA5MSy2^(I3f2e0{52zgvodYj|rsHhSuuWVGLtzxB6ASxOQl=V;Hz`VC_Ay6lS!%JzovQxU* zLGyY`3JWKr0J*ZrLJ3&F2qH7!vgX7MOm1~w2~$`la}*&GR6<|cF#&!VrV>0rA(iAvsN{^kb>zms_wi7mpkOz|Uv78CTkZL)S zp<}m;!`LT0E27-~J+bppFD+G2Sp0#bp+@TyEUcA}2m3_WbHp-D4B$moRgX3bGaj(7xcT_1@x{IHJs{)WH z9F4zUTP-~X(ZQTO!arprj%X+474i5^1w~nx)cPG`H72{ z$K#pw_mAf?bw>KET3mJsLBsAhm2HVr{z3slVjSkLB8-~s;p2c2JeC5nUt7}|KsO)# zI9;4a9JtGRx+q|3n!NwYxVI(f60JbsOj5>FcN2jqF>P!omPt@$;ux%k%cAcN43IXL zKl|Eo!@4LId&P6rIac9A_!NH&gsgKc|3(cWbc1tKFZ^?|XGji=N>lIa zza9B>y8rX%8O!@2X{uw$`>?lPM_eVxxjoEFordlpNC|7V9E^6fqI)WfIl=qQE;0DJPf0qkhNN@KrP5C>lmO`lm6 z#ncub4Hvr&k*bffR@J=c3XXSt%C)BKFxuchpS`8mu20Ah|CY;`cE26i!{cYIvoeYq zJ;n&_yjX2FuxlnU$Q+)QE#mdxivL_!rm71G+kMOMD2Nh~Fh?vR57;qgz;aXh;t=N| z^+_1$Fc|~G|5Jv2;UCt~F&sBRp(A|2D*ww#hb#C?{7;!3|Nl7r13k&M^ytVR_#gU* zJHaU%PnT_6SmWcs7yf~5bfws>9Z#kIkGM`bKbb>|)Kx0LRVVi$MqvEWwh3PQ^X+fo zzhZjCe_i;8EW7_J{&$KPC3GymM`N*t3jYQCo9o)32DKf$;w(S?v?m39c)soU|NQqT zHluZngx&QQ{MUcQzdV?kQwzIO;z9f4IA>2W&2*=2m*-09!J@zJxy^3 zDWAA17LvBJ@CQu^6!6=*Ca4W_`m>4&L(tIh{)egZj(Lj5>1dkEFR$=_y8maZY>EHm zKJb0(;qkP|@RO`;VR|_G_=Eq)WGFF^)9Ti@@Ctdib+P?Cw_XRa>hE88M~O7=r;OlV z&-9tFZAoivyJArTGxiAXeXk}iWA2LN3S>b6PJn2&+SfIl$PCZ!)?vN-dy#G37L+oE z^hn!&LsikBRXnLonw$g~`)&_8>ltgl${YT!MP7q4|FfVoE3GUfM^;vTyAS?x!ZuFV z(_Ny8)2CEDw`jSg?cA%^s#1qCCKEx>Pca9sPz~L-^xY_SRcTeu9G8oYt5~hPmtzCk z-dURi!LlGZPQ=yuzwf`rLe$`_3R7mMd;r98Kmb(8V}MlNJxF{HsjiODh&zAxCKg`M zY%!r?nXJPRk@pAA2wvLREqmA>1vLEOV<0+!bEl)1FyLUj(OFuxB-ze8$3hvbE^mPZ zT-6rTU94)r8fU)43`(J0x>QRW)Q5u!ZJ$-Q$&;>j5^vxihGk6AU(W_Wxa65gdR&u?7ueiX>gg;QIQWvbeqO1~I4S&r^jA0jZv*`!Ijc){j3MEYH*hBa z3u}^VJ&|w~b+Z3)fse}Ws3Jk{wDSnM;O<;fqgi|&y*1pdo*6ysUm zc-wZ&DPhjwKBNke(NHS5oac=Qd}xjK;bu2IqD!>`9a8j&{egeje^=n21DK#X ze!5}2;&kDEcw^j`QM;U9$5y!DPbYyE%7N>GGOi2twuKl6tF z#~ZPC_mfISiGNDBT46xX2me%iK^EFnfUGR>Z$7g^`}%;z>$%LR?{-c&H?r{}zLT0( z-_4+}SiGwm6)$NIOY?a5QrEuZs4x736M&beoc~rSK}0-Q1h;Mv@q<-&h<;2BBj|w5 z{8Int;kNnuJ#xs^>lm2vzfS_7NEUH%VL0>Dbq-xQUM}UG$f0#a1#_bn0t5)N71;mg z|6?Lkjx_+HiCk{Vn)8(A&W}nEI&*mFF;0Qxu>3nr+9yK8b3X<63L4tdSSa{tr4Jo$ zPd%AzY|I{H*Mq}SESDspd*lUN5qgp|^##f;Xf_lW| zazxbYDFixaV8g|rfp5I?a!`~S5SYDqLj;Rk)RSZ*AJkXENXi@}g-0=nUf#L9`i`lu zfGQ(*Do91E{mgysTn2@NV;A?lOPpyk716=Dk5&FgVMzA#w()8D+`1-X=>%7 zvAw|B_|NgZA_JJcEFOcjFz3CDU6IGGwtVnkG%@0T0{_)6s&G933J(ic@!{YOyDL%X zRHGHT)P&C)=mz*dbM7uCrWM7Qn9d{ZvJOz(6|nZ8VaZ17`iHR307ZI}W1&*WJ54?_ z{!2tm=(Z9fad9oS&ztlb-rXMFfzKDGoCAaLgMaLH1<$Zs_!jRPc_WvRp8jLKTpHsl zVA(&4QQ|!?@L!x-jT&bp(3~m z)2Ddx&oi5|8~Y`G;(P-4%*BgI-pj{qx|KdVM8LPfC-;Dk3=LmkLU14{iy)i1NidTZ zT6!NN{L$i@_Cijo5JJ;vS%F(wyc*%L(cK+Gb+3LNBRg=^bbV21v%{;$U7f#a4Z>I{ z{yEs+m5?p;KP-5bW%f3=4($i=IAqGclIN?G8yDM~u=k?~V?rw+c3X~QYjnt6H@|u7Nu`&`-JkxSGOfVBeK{sKxc^RNE z7Iv|&n>tu3ewqbk1h(LMjkN;*5z`b&Rt(F64oQJzX#DeUm`qEYZ3CoR**+Hk&Em6* zv8%_K3;*I2TPOkh3^tBh%YBS|_>G`CE z#{U5SEgxQ`H==Urj{%^#z01WS{)m%0cCp?+u*5EjhLa6a?!NH9_Aw=#%(#J~JSgxj z;4J>Da<{6a81YldYS_0_+L`}OVzs9mQA@JeWpE%|0_3CXg4?eI`)pMBF|X;_y=VVp{wW{wDhZ0bjSd_Au&VE#RS0 z0U;(nE(CB@L7>TMF$6JPN`M#`dqSOdEQpfvNI+^IK}~KA)L1a~^}#r}x%Jt6clhYl zoM?#TK{32c*Whd=oOmPDNX|Q0#Hf2MU;7M;k|rC{hSBM-VxTpAk@dFvXeV5&JvhzN-+5fjY3Pi$tVkBrw;tB9dZIx)Jr2z8S7O4(|J_m}i+qM$8F%fbwk9uW+qqhrtHAe;0bbNc-YXKNKI z;|d~a8}Kh_8yWP|CK#j?1IrBvfw2s~#~VYC$P9OGz$T~jQLippxnh>Kgu6_T9K+P- z(X5i`2brz`Gi_~B<2bgaJ;dlA4!t%IQ>-_^Zv~x|+b{#y!+sqZ1ij#OZeAe$S)#1R5O*$NW_IHHp) zT(;Op@>8*p5JYlBv#W#c#5TKSJSe+BaTni>+H6w3Wn+#wKTp@S6OVoeiXAAN!0y0* z1%8mJ$`ug*^gHCL%y#TIBJqE|_`f+tZ7>5-mURDME*&D@{{F2A-|eI_{If<{i*+fs z)4r|qDf-8-!=jfnH>xgBgYpn3LOHaHsOqu>6+^fxpDmG-#|Q~W8W-%oarkr;7ZwD* zzT>XsJ|rM(c;MHP{o?z3Yz5c*%opEM-;S6Zx^pGwn6xT}dhPB+j>jkMIW>mJ7BK9S zl>4at0;I%xmNoHiFlT@+Ij<1p2gG$6!9)T7TrkOlwF^+gVPl8$pYZRD(KW^t zjeTYKpOUvwF?T8!BT^4R;49-PF;rjX3`eq#xtSXckF;pLJV5x*1YAX_s!Wa}mKid@ z5c$w42i#F5*`Plz5u23?kv!Kji?zG?17m;PuH}K@e(c-$-lH%$*Gk;9#6NU>Bmci+ zdL!P=9l~%&G~?m|0>>gUJcP1_q`vZJ`oh2BCie5W-tn#Hi8!l8m4Cs1edTlTUunJb z%JRinvb!t(eB4_opC7+49o*pE zE%bK%$}0AE-_s*j)dh~<>q`K}IENxHvvXT4)?EHaox@9vIsQ-l>uTX&{kdG<5pRlf zSb*&h{_8LJr)&pf%Fp2KK3R!crvG0q zZ}Y9}Fs-{{9;6_IOx4~xS+YsQHjrb503!#XBvDO?`C7&!4YdFz!sHEiYRX$4Imyxd zIK*`c#{YcrKZ$>t)|LMg|Fpxk+5I%$as~W*y65_Q%#(AIJp}$=zxcdV(<$*@s_nTc^s%YaH=uw5;sT8BzS z7Lz3R*`;9%=a$-Oxd^QOGy^}fayqFO!GJ_-q+G!o5gSx8;_BFGMA`6O%H@3invAtw zRt!^05-%5*ZB0))UOMqwz4SHyXkr-{2SCsq5160j9vu14>6{N)XyX#mB%ylhWGT*> zQI+&_0-HCg6#NFiL#*>D9_a7(8CZ1nY@r#9#M~7qn9Pg;DWol*@)picVE{K}jC!&tM$A>@ zm3=S);B|CL=O0*ki)UjOquk#KCn!4~VTTNexA!gnt#7hIYyrUdGiw$i{qAGM^&8ga9Ve#C6(@JJyhFgXTi ztirzywf-yqJM{bB_6J_X((uz)Xi4WXA=ioTOf5^Ku`<^vY7K!gkqvTQUpykD$ZAFT ze&e5tq<(sXzW(rZLo$-@&`U!hYydUj>NoHY+imZD>X%rmX}{?#WaY^4ql@6d6yRx9 zd<*}Nz;US>v2S1azkGShQMpM3a8p7T$3>qJ*K9j@`<6^+#PHBtk8(hA5^+lxZ>gt39r3N_Ez*`$6&A?DuLP)Sx#-$Gms0%uJCp#iwW5!9G3gJWib_oiiQ z#84)*v=iV#I+Y}nLc5S4>^QHYLP>{hS$*Z|81W3HF#{vIx%fvwQuj1Xwm4+F`V0Qs zcA|pj7ysl|_uy9yqRu|7qr&Yo)%M|MQ!l6e&sKfHD zsw9~Yriym5Ehh1KA;9<#_V8u4h5)?B#~7tC&cNA)fBIiE{8#+bSCx&pJAD zV(vfWtqzT?`UC$WVs2#U((Y!8<#kJ&%(I`i&qI}8X`3wFl?itiLSdAv%hVPM9gJa|lWYd4g|Bml%9kPu4~a4>DSNI&nC|A%>XoB^f%;2@9)259G(B3nj?BG}k% zp-))|Y?#m&W0g74dbu2pWVp__b>D<;2FcfvBLl&jbbRiM2?r3u*RjK_(P_RCR$d8b zIP7bTvX4>QA)&F18R(iJg*5Yy5zm$hOx`A$NIk!weU3l7zDLp#7)$%?t}uT3o|^lx z=!T7OE)*JZ=T#DOO$`exT?t!}EVfn`{7dM2mhc9TQ2l#?x}t$d4d>f^gF+($aTLt) z%y=c{V+F%|_%~HTmq6!LHu2w&V$>RAxEIkEKt}Nt9n8ID znYV0V<;LI`S|oo~U8`$z5&l{Lkw9+0{zN8A|D+pgviL6t*%^=s|LvVnTs4}WaQK!n zAh65WBRCJybm5==%E9lE({i>o(6^R%_ zqc|#M9(+>?(F^~!89Md3e9x6w$!kKr!oTQ@y87V1s6RBuAtFGOtYJhO_&k_P?2_8) zHDTLDxd7K3?xhT3D6~G&Lz#{yII%c&Ula# z{}=qfDui8Q#^+bzsjkGZL#1u3DK8PZOG;a?HF2p}!M8 z*bEbtO8;NCzRw@e#pmU>3t}40;Xj2$y1Ay7>wPN#(zFfT# z;lBd^75LYj%SBiQaq15X>K+D(vtYA-5&#q4x4grBi1jW<1T&vwB(%%e!NTvKZ}^(< zn|3N>gq1?#Kd#=nw>J$+7};c7z9anmUdf@u6MXUi)*zU^o6HqcHb?j5Lgq^*(q|S`=m;0H2YpO*b)xB4uv~`7;(16dM2o zoD||GNftH+pB;y+;Wzi${hHL4(BHLqWMZF_8O)rlv@A971Y1B1tup-}=@}|fZSRlBF)N)SX6#0IYjTt)=?9t8 zx)>$o)-(kMzhWF-6)^yQRcqX&D{UoYp~Z%QKY`0?RVd#8c!D?l4bIO(zn$%`BJ#ez zHmWno_O(Cqc?npLsV;(*XQ{dpHrn_pPX4-ba`~b^k14h=fk-Gz&SBs3w=x=s= ziGTk(62~Q~@S^RZkLRp=kcE%%KicW=s@eTZD>}g;w=ECshIe2rw$K&OPKbs#!epQL7U7g>+Al1WwnPydpW$cft(!NU)2tZGHY+Cv4Fr?HocDaSPE}Kiw zE6l{SUW`~efU>aaT>wqfB>TA*e5O>tAqf_0~ig^PFK|8>(A z%>CxQzTZmt%E2uDe}A2)Wr?~D5iLD$o${?cljs-_&1@itQX)L{ApuWG|7Jm^G>&#W zQ5K&~*GY?wY?|53NJp^Y&mgXimB4LOMGa=zgz-PBCkcd==BPKj@C{y5!fFZIoF(I3&={<)qKadC-*?a+VP z4SqWXIlVF0?f5|PV$^j$-gCP~O|vDwjqFUX5o47XQ~oG^P`1K9RPHEGT*~09 zrB!$<(R6C!4C<8(B5ai5IsSic_1OP26U0qZ*RBCKxF0ltA=tr16c=;GBB*iLv<(dy z0kOitKNmg0co+V0FZn8Yu1m4kMHp0O;J?cLKQCAI@szg>Ga){jc!htqeHwY{gMY@b z&Ow>5vgob=3)wYoWKYp}|G8_Wo{Wk+xvX+*mdjrL_6Ps|IsO8%DGLEg zSwg1ZOY7k;@xMkc>#7U?fP{C9p>K`qAJYPp{c%ZIKA_5e+Gc~H1OEc^DLCbl(Cz<; z|H`yYPM7gN0wcDCfdT*TJ9QN|1OFxb zkMJ)Hlf;*E6wiB+ptDw3a##;&N67@bL`+}0T#G%i5IfKt@_at+WBrJWf&mo&3qsuh zH1oCo+_U(9FZ`>H=oD{djwU6jsyW@aH*!Pg2uxXb& z@%9hA?=b^<6`G(#+PL^mHn#*?mn@WcgRu9yH|$~#u<;<*G|BD^_*LP@D_*cycaK1o zg~<$zt>lQ^!kYMYluqlKj@lO6Nlf#z*VS}j;*Iu6T9a~uESc0okSYlA+Lvm(?@qDG zBn>)$ILQ{Bb>9K8*5@M4zl$tI`~j3~Y#m>JxXCSW?#Vk#fgK!xVh#!GJU!M}AqE}p zBR3ly+=DFc2vOgG|0ib3`ERk8Y_?H2WMGJLXd#v%xI^5s#hoawqwST4I+M6tyMlKW zr+x9Sw`tsDax?-j%>tn2rvX!4#pVQe9tS{A*l?aS8AR0j>_zgrS!`><9lU?xp9!!M z9u$cgc(=j@aBqkZ=6?cdWTC{{An{}3AkP#p6gYt^@P9_3E%RQLqC4Xp^z-!X8&hXe zw+J?h1I6ijnW|cTgE1gx>!8=?2sO|08dVAE^7XXoq`D1>*M4Cal~X#emHXOS(oxI?&suz|mCiqCTF|tSf47#H17U$PqYnF=J=s)wc95$+-U^AD0BAa{()G2s>k<*G>GtO1x?3 zmQ_Rl7&`cHc@0)ie17qddl*;HYUmZ(o}nbKXK3Y`3NJU0g-(Lv)HkunNnxV>!T)}K z^P|SixmU(v?jz!DJ0JMB0{%JBw4w2o_p>|)uEcfRd9i=2I9eG`)qlmm?RfscKYq7u z7Yzc9^6lnf1d0iS|Jc!O?3Ut&J1OzJXfK0+|LgyYney%DfW|-YPd!S@J^F>tjQPpR ziCS30{~P|5>P<*8bw~f-sG`J9pG|{bnwj8026)5&D`tc}Le%j8FKvbu74a#2riMJU z)qlF*0LvK_^N%tF_=&ffZr}3%WBX68EWyPAf%GZnn2zVL)HeTaw?(6qW3_*p5^}?g zBx2g?%!Pj&i+HOeHXYdxMhn>EZwy)JM5jHa8hZS+gm3)giw!f^7WWDs9M2^Hj&Op* z`fmR&?!kQ7HES%aDj^@7kRb)Sv4?jq&iGr1!ULg_g@1FDUSl?wQ$Mo{f~k%floWOP zd@Iz&Axw3LGWSPS#$U1G_mb)Hq-g9)GG#M(W-%(J82dGzK@?RKd~q(v1vc$##89RA zktL_=F0|2dT84VQ*GgAXi4Rx{pm7SLKx;{2+=qFv5n#1Mz(lM@AcwAwE46pgqW{iIm3$W?LDY&47Ki*+%Pl5n-uR$bT z^^ptvC>K^H*a*5Q+X}5ri>`{9vR?%oJ1}BsEIPjiwk}&NIb0l^qNsy%Vn8vK{Lo06 zl$;i$;fjRleBZ`@6_y6}kIBJw;Q#j_&T`;w64!4Q54eT5HWxh0w{UjNW9zCE2o~Rt zv-bIhx>|E!9hZ1@!+8C!upk?Q7}(byx8x~8a{WkE)0btm@lRPav&dGVN6MS#n^cW| z&QVe&!)H+O`{xsheT^=d{v%))uak@Ssc|bgcaT(kUJNKl4r6&70KN`PFUK7lupzLW zeFLk4Dan^}LBXzI6TSK>y#^VETIC2P`FH~V!}(~grLek<<{7SF2A3=@hhuUf)hMH< znDK%5B1N>TxP40g#Q1lS<-$JLmiJZoqtniV1sm7~gVp42uA*MWGlISAmiaR#L;8Z3 zMT@v+P{bvdGNW!0nK<^s|F}qqSgV;_Xsj3hpHYAk)NoAeK{BKmU?l5e1aK17j1C~{ z!CQm}7{?so*Sy0!f@slMmwgll){vd&G6K%gg?8)>X{fPzkvkmX@Thi70z$cprqY+r zXsSDD7+TTo{}o5dE!iK@wtQTv?CAzSejXN36b7~GRMS?AxVObI_W$sE6N$U$wj&S! z&;B~V7?v`TU=G`S4F2sMVs2~SYj5y34O89TProIFm0fAzOm$03{|HQ;G4?bBS zs7>I1(~upPyvAwg#oL#u*FxNo@|}$_bi{|puzXF73u>HnMf zuUoot?Y@aUsS1m@aIJ6PKeUY9X2}2B{-4Mk1PFREOEN3rKPU$~n@k1c=x6Aq5re)C zbeR!8t|)aBA&O=quT(P7pX%o9p4#sSMgm*ob(Nl7hW~>Rz7*_Bww8jNLDj3CYam?M{>Lz6#OJuvl}HQ4Vk`j1y9(K{3XY1FFfO!W=iOE*Zc4?G&ur z0kz2=j%hx)j<#)b80*_9hyshQZsNpz1JFBpWCNKkw23U~MT)zCEDSgZB8`KH=rGW# zs%i?}r>(mPhIK8*PVpZVXjO$jSoLjJB&WCy^KFwW5*FGlHy^!&99fdJy`5mHQTib+ zN&z-y}-YVzX{s@7~nWwqwGdD4GXGkD{Vg!y}&+|Brbn# z=n6aKed?sic$9w(N`@aRgY2t{fs)1;Yy$c0qxj^k4*X+qrEYj*JjSbl9>ju|JjU*f zrjwSuH}vC}cA$+d#=?pi-+Z8&>z7YE! z+@fs>eLc36%b~vvXbEA_dlzH4>XC~a)7(_Vs84;;wcjxLM$*wv!lH?U4C~Q`fTZ;c z{|$4wRXWlc^*vGG%>ZE>#9i(ogPJ!upG7d^AA!2!^1y#vpO8TF5i5vTZ^H5vNkM3= zE0yITB1C=%K6oSy{^dZnoOGvc3V)cn@L%QR#rzZrO`#GpTg^qm;|-qTgp^7=;~ge2 zK+=My=f~&8SK>JKydO7ZeDZT!S1ZTs6I5~m9=u(`7&-K)*=P9JZXWZBKC?Xci|59_ zv>!5tE8HXEHy=k1tj_6I%fPBKtQaR$`~Zs_{$W$+ z^Jisj|BsxmzWDDo0u=Sx6?wW9q{dpB6LDApPL{avTIq|66loK1n+k!SDi$&@Rtd%G z>6wX4sPWkfE%1*>`*9s+g>UQ>ZL?$07#q%JVMxWtWZ9B<&q|%RU%o;1e0q5~2IAi_ z(FFb(VA%gJP-(rB_>V2Y?DyUUir#)QdnO!5ImW9I2UhSN!sq6F^@x=)e#;D3r|17R0j=~~#iW1Rw!t&7vxU+`bTzbu9gOmd&1N2>ZAlkA9O znu#tkO&!wjU5`-+|4P&)Gx>y>$~u?^(el8GecxjI-^OO(|M=32y2Uwr@=$zc(o;n)ve-bVy_~Ws4EZQqQ?TEEEBX#{22QcKIC9}xFY+iiT@J+cUam3 zRQx`8?z#cSi+~4m7N;T5dO2aG`j&Tv5$t%I4I2wX%nAD*K|Q=~mtaPZIIzfy-%sl7$^qpi zgN1@Q`nA>b-AiSU2g@A*jyH-y=^h%Qt!13U2EOz*n0V)Aq%eRg2J(y7YS+c`nOU&C z!1nv)ow&f-PTn(7!cIO(!>^}Tg(I6w6>|<15!No=7WkXY&$tSPv4JVb&msGk1IIy8 z8r-rb$+$+vg@OYE*p*Ny7=&&~*3ic(*8Kj9^EP-J*$GCdxs!cdG>Ryo637@+SG-iN zv+!5~)SA`KiDNtm3qS_D%dY0*{WNosgx(rL;!!U4p0^am?mIANf^?GS>|8>AB`#mx zx&PBg$qjzVqT?08^mq-Oo)4bv+rd!VW>1eCuVvl{%iGS(Heh)}n+^zebYeA2fSBGZ z9N0LSuw{(U0g^|5(G<@GN_H&bp_s~3$bt6)R#b%OQb4nQ5F*4u6pH>^yE!zVi-;k6 zcFC?z_cMI9RJ(oXiKOQbnPhFM-OP|$`_4Z+yQU3QT?tfG*WA&UgbqPV{cN=nXAw>= zFsT3L0DG`{(B3_=gxs>fuwCN6CgwhhQKwWK6@RY13~Z)#ERT45%C^*51pocHXDfC6 z)4Baj^0a;L2w$Fs@v}4R;KG2;IY)e?iGSm~5($mUQ;6+n|2dJFY5`y0zhr_@LE*$` zzeN$7uv9k;Jj7EK&*duNx@f=a(m`o=mW*y%=P4bvuaR=~tqU7G)?C)thK9pS7iqxf zgO%*#E!BFCW-@;7VZ_t6dqX|>w`uHb<_S#EM@%LG=U0C<&$?!xQ$VLdgL1u|JD^~ zT76aLc@pFs`6R|T6AAva_Kak7@n3v9=^X!$#~llak|J;_xX|F(^ZJ4r{9KH)DEDJMkNdv8RfR9}c$@xd9P?C|tXwAiP!G!iQN5d<3;*g%Y~Cx^ z{dt^7JNFr>2tA9jC7(D*eYyhw4cmz^1>tGF{EW{k)h3?e8yCSau%;1jars|SghtlF zZS)o+zvBOf%3`fWxal$yY2UC7nREF6^ZO&Bcft7)UV;Dem}d!CG3|UpZaJ{aUF@)C zF8oj69}Am-|FM&^w9M0C@TE8}cTj1PG6)74H~vTXPrVhCJB>W`=?nkmfMEv(G8yEQ zJcw+(o>Sw;MbBFb`I!B{x#iOi`paj3S)82LshR*$;-o@xZQl}qaX04o%Kt;5Ggv&3 ziy_C%*dk$~Qw+SkssMk{NW^xT>?bn$|AKu1C-R@}VHnh^%K_2SuzKYx`_Ej0{$GBR z{s5CKlIZ;+1=|X728D=kDDbY}=%Pi#|8wJN;|y8Io3FB6bN&PWYTg$Wy>T(hqkajS z$MF;=*2z=Bb@Ycr6ea#3VWva18y(JP?IRQ>;{usc+RFOw(fEhul>kQB?2aN}V{YaLSSnM5M~P7;S0~GHlrhg*J3npow+R zk0OoJ)DM$>!-ao_mI~Pe*CLo`oJMWFM8vT|m6F9ED>FTld)`uZ2K1DiId0$_b$Ds& zA^L^ru z$RD2(_)Wfoi4geyocbx^4mVPyiT}{ct-n?k8-I~PE#7I)%i)s+>T!=Bv!cw89Au;T zan`QZ^wlM+_I3_T{@YfgJ(_bcspm{;_zjWVgE!jkR(^19lCd0)AYJTSF2k(p(GVu) z)s4N&KW(G6T{;j(C1~&GR^yYHc{r7rBCQ2h#N!h*wHTRSaMpaPWiNS+|4+i%WnWYj zj})>ak07kEO8M3Egroc5ABG0*0q+&@-`Q_rHS7W4(gde3SkflCU4W2lgAb%$lR2Sx ziET)i6*~U~cU)Q5i$n_`4E?14&-+XEBvF>HSzGKVOel|N5fCahh7{~|scJh#wAq%C zwOFoDsHoaGthp_mPG$lZ`GY`kk8T6(F1;pL%qR87^qC}7a9naiK2no@rWpN&J{1@u z6O-~imtP$CYO!uipN@Shr0>TE|Jx6YO85_-%C0rW%Px)Q^Ut?sKkps9TaYy9uF7JK zs8zgfoXjdn$(L~}Iie$(j`~!1D_v>anDuv$B=8i$NxF=^5qTQpO@Y4Sj5Ysox0|@_ zl4HcwNQ(2UAP4s`k6V|zA;q0sfA|c&kOu zOi-YWq>CTUAJg`+FJ@uqwNGp-Bjja=^1BU2sBFD|bup`x<> zg8y}@Afb4 zES`zyOKhxw&-~)W{Q1iBoFD}S*W5ucMN;FrSxqY1>!_7x?Mo8oyZH?i)RiKR<^ z>CoDGV2$OB=O_4k_hTtN%%AZ8^h9ZCow;>9&h7aBS97Yx#M#C4YwX=M+w*p^13;Xm zj{Q}Qy`_;f;CD-o0{YnqpXnUTV@tMta0oVf=KIR35I>+8Se2{ZB!~0!k0T`+8=XC0 zn8)^JQbixqY`L0|pf_pQ6aC+I^>zDs|9wl1x6!A$j)6HQr1T$WM3f2Je{Ukn@fP2R zaemL|usL3C>$V~m{|t)xzw0d(<;UgVfLT_j=D5B6>u5A~IgzYxoA_qX?&exO0s5h! z#?Y$4@fvpMm|~m#!bYZ4jW0)8J7d`#q9^=!hNdmDd<)tdN~KPyUvQ1FjKd@fbW(Ia zC{_+hpm=EJ$|$zwVkPFlvlReU=uAzoM-fSbrq8vH^C2q#vLCK!UfDOUoiWVW(5pQ*L8X^o`>VJ=B~ zyu2Y`IzhygH;n80d<8I_wtw`9H)|>o`6LL0yV@Mbemjnyd}Js1#gRs}dWD8}^{}r_ zinD@HWB8oglFj*#tF`07;$W15NACPCbOYF!Zxn6NhQ0wGt{%t@^=8G zX%DqRf||u6{LR2xlKLIKiawDC#vC~>%3Xdj)=(gWw6>S{#~3eXyRtiaIq~6G=HOks zE?rOD-~M08x%K8~_6Z+OP9%|(*8~VB1ses7hv^AVZ&89`?4jHZngLUi7%5%K2X*4W z{|0!YoiROmZrg1(U;J0%znpxOZ#)-0=f5i9zbtSj*87?0t6YGhhpNOa6r|uaH-G6(ROG8)XWM7Y4(f{}49JaBi%C@t*Qc@%^)TI5`uNr2Y zTA7PX)J2Y2JGkN*;-5cHSO;Yi{$Kn;GwYCcw4(s3>&8E2fqfE0>dNb-U+PLC%OCYQ zj{ouJwdepa)Qor2br1^>L;P3Dyu-e^gCCRe*DG85)r*jY|MN$@C9Z}LwZ>Ct@&gdn zMC`Eo-d4Z(m$;p3tQIc(_l19RDwvbwIV(F+RQv6gX|ejyDW8RpUXW#BOaxI~ccBI| z`mGv0qO393O{=g@BP*Di^1U6_`@#S3vnSp$0yi<)wN=%!u%+(44--dU!hc{f+u|Zy zR4J~QR+8fQ$t4r1Z`WlyRe$2I(|p24c{OnkH+12jkJrd&3jZe3@KoNlQ*-&k<+9uV z*Ia74bv+&U-{*{6XhQNsqd8{E_&=?jqq5*{{I6{IRr-I3q$zIk&r@Olu*aGR|0npY z6r)nul-arNHU70y_50dqw_>~z!;g4J{a0Twa62=>a~#5S_<(&H{8%~>)peiwbAIjK z$Ln}F#!}go{p1z`8jsMGyb6T1dF2fQj`FmzPORI3kz+vz>S5Twfa~9X1yd-%Ml(oO zN8IE$ph#rD+eaQJXN#N?^ zqD7KXN1#Z8>)a@SeqASXvR8Zd1twqgvl1s-qQ+=_8dGK&H+2>jWb{kH+?8^-kEbI@ z*rf!Avkzkj7$^veXCeep0pz?bjjyo%ef}K7^qD_3c-xzu%K1<;Y)u$jES>tOVALL0 ziJkrI{4(|lR-(`{S9V0)hy9`#J|gJ=0{RPOAvwl@;blj+mL3WTcC)t6NX2DB zkxn64CPOX$A)2%|8D?drqSJh*s9yyuw0p|3tHfd8g2fgOH5`dt*B6V`Q?eZXn>r&_ zGHDQ>tbdrWUyVb2RqEeE;C$zJLj{@b7oXW_?7Wo&aqu*lVcl}raghr+)`4Rtf?kaU zn(n&sAI@Y#to!@x$FK%F2hlA;tGaIISt;nd#>F&3S58lA6|S~Sw{mpwLEa7gGf=Gb z9zij3aI*tFpCJKd-a@DM+C78cu!1Mi;8B3`VzeA7g46StDmv2QUg`? z~n{J#Zn|DQjU*_jaz$Ay1yCoHn6y^;$@HIcAm3Z4AaR(>}>lThiZA=W zXKtCau)Xp3J0iFCe8~kzAH?6z8Jzzpjw1&N|7O3n1zo28Jzs<=RTuu<=)Qg(vg+`^ zkSFcaI_tW2c;N;OAowS_a2UHOezJMq`uyO3>VyB+@&5pe_&fc7(Sf{m*-8C1p&>@` zYv6x`f9A;m^|LQ6;ZW*%s@g?Pnbl&uVm@gD=}-6V&c}YeV1MI(h4a!DLZ7ejPZp}V zcm^mr^SBOLkGfvq|M%HT+pV$eJ0dJe(^o^7GL-G49A9Uc;nygp|z`^hkcYO|ir(8}mXSeJC189$rgDo!3 zgm%$yKi5mT_}1IWG1KjLnCxUJQb8&fRW&cziTI!sh7!ngb{}Du zJR4&4zbbdT@9-tZyqhue`9@mE+TTNMZ%5oEwWNS8M*;*~+l99|1d+0-)}bfje7o9(r>f~M?NOjty%ZM3VMGyR5Dc~# zICiA4?N|~>rvn_+t@bD&p#c>U55l>dp~!AahGUs?ge(fhA)Ef8Alp7Mlci~YW}7)* zC#(iq2c%NmXOX0fMdzo1_|O8T?S zCkh`-P&znzLj=j^*er_KqPd+>hb^=U1RHb2Qh5cxE!5vDZ00~{(<%V#h9?Vb9r&-n zKjqt^lVbh5P}Ks*Y&Wq|T(Sk+249~fW&dx65l|EVk9C6Z+hW-6v8p6ek^iq9mw5a8 zgR{Df=YYdRC!Sc3alT_(dc)u+sQxkjVcTAreb)c;&4YOcsW=!*WO`lS%a6;yzv1pT zCPTk-O@s22_@84mf&Z5MkGZXoV3+hc6bt^xe)18NnqUo&ApJk&;~&O96*>U^$Az$R zw^RAwx;3$aN+PtUj`%;OqgX|Y9~b^ZZ`~|HU40(k_8>`ToPjy0PzGAvzm_!O1mYcU zkd)3e8sx@}1$yBhnru>hGGOBs@=f>$1GTv!ij2SCUb8ntEDm7X{oo&+Uwn(t7s|eV z5B;xQym@0hm^k6TcwQVS=A0@PgPFfw_(zR~ql&UaF~5SChWOP2-TcmJDq2}bgd!7? zCnJVm)VpYNKg0OV>EE+!<2g#DhX{42D0j{nj)?y29s7w~k)*K`el^9?=tq_Q_Xv(> zhMZ~cZisp1B+D9@@{W#|9(cse=YTJQhO-bpGz&XR7)1Z4GM|>pz<|Lwzhn+Wk*i1q zW~Bzpf&bV*AWilGmop6BSTScThY9@t<$_^fC>0S!%he+Dk<-DPSC@jRZnlWAO8ey|%O+kE8tX??7afjGgYd%EFLo zGWd)HxPb~87#RO@W2K_EI6+(}kbQwvPJTL8^mzSTzjhdjbWn6YY12qByfhm&(13a- z$?d@b|8?Pir-J`ve;nc$|14|+PbL^ z{|>pNWmCJw{Hc7mJ3WFxz$jP&3l&M-$PYD(g6(YuW&B@LyKRpccrO1>s^J}!Gv-S! z7^FNLR<{bn_;u~^!Rq|A<^Syp``z6vA#3=;r8}wBr**!$To2CP&8eo>e8RF$FT(!&*ftrHNSie2-uh28zKjnsAxW(PYhz1 zZE|$OkUxm$sL?;-~w|zP?#|ebDbOi z=1t65`jCbZT!jDck~^3wKi2yyTAbj#x%yzc`RJ0O$G$(~Kbr0qyToU_*jm8fv20($L2pn8 zVwGPT-oTLfCn@eF7|biS1{W>&6CgkbO9YhDnguu|lVCP)7T{}uSZ{Qp(pT7fA4uh_@Jw*_C1{6>09 z{KwCXi?h9F8>{~bpC}&loFe~+pw0y2@yPC|7nI_#;QFyf=?mp(#9*!q1s7vXrI@Zh z@&B}n=ZXvA)9bvd>Og8was1DJvaaD9-KEPlhVIx$wc=^%*|E~Ec;(g8DkeO?t?yd^ zSk2{*0Kl8{7K~(iq&=NPpXjUDGOuw?^Qo{2BZbhma6U+Qn1I%xKvp=D2SF=>g>gav z;Uf^)KeBJcs(ab{FEUpcD^(2!J{r?`4VW~QW!78@BpK3?mA==(J`BuCJMc1+}Ne^h?w_TAKitH+Ew?j`1UaRe3r?67=mTdQNVs-k9H?bAl{&CoqbaUj&0Q?yNsRI9%*zbwrm5UH71LJ?BRgh)JKv(<2{?Tf)u*4*VD}9R> z44%I5yJea9KbOK@bLCuZ6e1Dp3R7@4-6%>`DP1_1v4~PtDiAgCAJR?yPbp?b92^t0 zOQ<%t=&?FkQJ{;0#cRBkGfpI>vH?g~5fNM|c$))k5>p$)D+kVl+nLHB{RUfAH`riZ z{MS2kv6=&ATZ&AnkPM3tcdq+V3;K`TRYT5J{IjxPxqx~&!BwZ%s7QXVg{xC|dksAX z!d!hEwnr7)Gf3wJ|6fSNI5&&%PyauWT2coWXtRO)&WOvvtAN3IH07TT|L?ns_@|tk zD)Hvisz{-2Pjl@yo8yz@)PU4?%gVbVGm|2^rPNH>b}`ij#XESGm{ z@lj3AUpYg`K{%UK;sR+}<`dvXH@^3ub|=a6r>NNEny*$_L+a~4azi8juXUb$42kjT zIA2iZq3Li&Gk~6`FDA~t2PF|%s+hKni|XH@m(3H7w)4rE4&I~xzvZN2!*AR?_Nl-4 zm;Wz?I~dsxfjFPBYe`>_lx1E!_}7k}#D53=SAA=0iGSp;iT^>rBi|#3F=~8MZut2X zJPR32I9@&*hLl(w)}-7DcCj^{6b!NAh8J%mW#UT?bl=O_jm^8^eD;_1BP8eH*nh<{ z$eA%D8XZ0Y&prmST$q@cC7a+e%vA*`+JtmjJs18sAc}QT=XLuVju*spJ3Jo_#Z$D=;2sFYrjHt`4%9S3&I;aBZdAAmX|X!^Ne*?r~_4 zgLVUfY^aY`vOXcJ@;D>TI$ZJE$nRHL+c_mc!J~He&zKM-h2owIPR(WL1R>8M!D`~! z77eCizvboYQfd{1fXDTg_$c@Y{Oocc_@EX43&V*;FN}X+qoL~3w2O+J2JuiXp%<|} z+ow#lW2TGof@B+WQ!;w=^yZ2mR&&MTBcg*W&-cNSk?fkB#?f=yopd@Rx0kaUxeuR{@F~`@?2Xe z6n?63elmikbJhu5TFGB^;GcqVfW*T0`v;FzRS?PCpSB~EmSAzAZDq`y;tUG&Q_z*O z&7LD~V;>Xv&vCV4P>E|L;nz!RZlN~#n1Y|8g`GCoa8^Nhgez zzA&_f;HrwzH-tP}wBL}I_Bh_@)wGX05WJE|`CSC8C8}x7ja;-oy+w|aBV|_#R1}nj zxzwZw%Jg3T-}9#ETBZprhkfisUKctcBfQ}>XZxSR$|nBOEA6P(|4r2X+T@n;1nTRa{4c!k`rk%TO}ucn3PkQ!s3s62iGY^z+42xi}r z0P2zID!~AX1v{QW12MsjRGUop}H zoQEG}VTEDlL=&`3~=QcNfH+6f$VDBt&b+npv}a+U+%~$7N6CG@K385FIf6`8sJ|(7qpbM zv-!mTXiKzS5rY?EU)Ta-!1@dR8!x+p-3$oU%Ev55X`#2`m4HC}zreq`IFG?yjwtUP=oBe+agk6$3_@mD*U%uhWPJGH0 z)EA*NZ8wWYi+{v(Q;Giy{@B*Cz+F7G$8k>RTK>8!JRO-*7-jD80K+!lIewe?ugm{8 zKzt0d4^9gCQ{DJKpYuR-#%hWerrq01UkN}3^y3G18KC4wqB7x1?x30N+>QkIWs}Cg z`)bXdPBJ$3p#A^J{}=rKW1D<2Rv7(~*Zh0_ed@7&c0c_HW2jDA#rgA$puI%POnc-+ z$1HV`6~{22&w;X+$yv!w*3?y-D;7O0IudzlyNPRGgirg>-uE6CMf>}0pQtOnEk@&g zEo7^U+lw`~<}>V8g5cLB5*cn1+dg>~5Q#)e1#xYpHr%mDw&FGKykVZLLy=KakuT)4 zz_R+MO?x2CVGtqQ5D0SxR{JcyzeI3xK6}&nHqLOtfrP(2*VNlp@c7;KwBW^4xJGl1 z1nYSm7sumG;*TwS)j7af|0~PkjTCyUTKLPb4eWL!IiP4iD+Zo9HbPW*4Y5cB$k;9&$tK;NzGT0&*eby z75VF6=j`BM9Mr>A+cNE+@ss4jo|MN7OHLeUl~y4eTb8k+)$%^X2`A5o!+X4ie2g;V zzbb@lo&SyNFef^Gpw_ltBrn!&ah?(aTkW!X`p$k7(2n~axjPZc5k9t)E8qd}G>hax z4IlWg8~+_MU%u$;j5vmu8$=-nfB1^moPjqf9SpIk*b#F^P&6XpsXV)YI)H!RwR$_6 zY&*g$+NZvQIVwb85o$~unr8$G>;DT=1IEAfFKaK!nQ^fZ2S{d ztvL(-27RkOw01YUtMzv$&rkHKZy~f!X|iwex$Jk0tu1DhLV`91Yi@)TWy`S#Kg_ph z`)T8%_g75y_NRK~yjW>o|jW81!TP!}F7 zsu@Kt3Rm|Y9aJCOfH^f|jB^H$;@BEVrmpz^i0<`84q4|;s{r(f@zrXzKw*|{?g_wm z&5;CtN4b>FDq9j^=M(yZ5Br#(3s!Ukv>7j4xDW-N&-i}`H}2khz0GEUVD7Q-Vr-&C zIW*a?@c-_jChP<+5+>&e-^;xv9_n>{RpdlMn!TL z{wKJtKKQ5Wz5IW~|FY65$9u(1lHx-a2}w!VHaM{cspxU#5&8c+AF-4l3noN_G(w`S zM~F>?KpxCEC9YJNIpU?&;-rALAKPSMHB#Ic#8CDdva%jatRrA8ykx<{GXC-3PkfJK zsNhXD{)hiRws-k|nlJZw5d$-$%*fdsSm&bJfx$GDeO|+C(kKazznpgaOE3FXZeD^E z=DG%yao#A#WD(3p?1h{885HciS2A;O?bo%#eued8G!;AYlx@ta9C}y zYCU@60xSIm8Q`pa89TXTy?9-k90YBO*Bo?%kYdNwz(8IQ1(2ubEg|xOo_H?TF|x~dQDm!_g1NN z8;4V)pqit2=@jKQTG*KArwaNjyS~*SW05G@b&%Bd(`hSXW@552iEn!Fs;kgfvQ@Ts z``2(ZeJe9p5_hN6%A7Ved-m4kSi8!00*WlnKIA{xK}M%F<)RPbBH;f#uJHT!!vkT< z=N=Jebb_L-f$6eO1X_?Fd<%j>L_lzCk_p9)wwuAMf}L?YaJu>*`1pMJPv~9zsr$+z zm-X?SCXA=Cn`$n`kdKpK-@O?&htTH0+Mml8oE@h)ej$OYuZ%I zt-=RlG+la27?UDnYm3at%;ySyYhtrN6luY*>yjWP4(D$==O*r%tF7;p$4ts%gYC8` z@9FeKQN#^f0=(h>K`iqBas}ZhTGGlh9aylyRE2-emIVUJ8bwnS4hpN`$CVAaZQI~u z8|XhKFy8_NbjsWNPyDwz_lW2T{M$K5$VnI*mtZ=23BZ0fQKzfWXM<2qw~W;)avhmt z-2cV@<069;!a^Nil}(4SH59?PgSL#)g?d_9X@hwf*KLKZ=;w6s&@~i18)b zWZ-t=f9^S#b{~t6`PeztnEl=T?l_@(47)W-#z|-F&}ln85tfL5tv(P%z4(XWj~KNB z!*%0-SlU!EW0Hf3Vtudk?cjIVR&YxQK(qE?((TDk-`NH^Ha-|8idjIv867=Efu`UW z&tRTMxKuU-|B(2f@(#_Hm|o~CF&+Fbsm{Eb#7^q%ww<(y`Qo?FG(*8Mu%S~dwSRU@ zyz-nCpkEc@&!r^be-=b^BLIOwe!o3|m&+%yS50Q|g*wtZ6B{NxU8x9IL$$J`-nEqj zZoMUJdAs#_5e>pFG=Cfp3INj6 zLIUq-bWDU_&=V}Ux47^|qCum3#77aZ4xh(8b(j=_2Bfj~D{>fnOazaUf-D*sc$l(y zHA+Nh8ehjOMR3Xi<{V|EnBkB)0}H-=YK*lRZeHQ@>2H?~;Do)}%@hufK3OQoL$pi; zg=c%ry{7=>z-BF!M$71nmb)$n&%bwnh#=0^GIDn8zhS!D~~P(@S`1=)RV5_{i?`~mP4=Cp|=sI$9bOWnFy2794^z)3x%$V;AF>|b0yJtktL+0VW6J)?+s>UgG0|oQN;ME`_4_=m_6)6 zi!3l2w7=%_?39=kJuW0s0R_OY%{TYnQQkaYylrXW z(Qg00ZysGcctwJep9h}!=fpekFCI}p@e~-b;m3?iaj)!yu3mCv1>o1lzxMwH`yw}- zkFmmP{98x%DGmR>KDW~Uqm99x9L&muIcoV)^YGU;;WEG8>cn|WWR0w?{&esZ=#S*K zdX+*=NL73XQ<2ca|BKO--{_??7j*klG)-mg3VO1!YKCbxw8g|f*~ zh63LkA%Jj%i!Qs-#13}b{@>JQ;ZMm6P5A$2#08DD6=o>i{%mxdLRGx*80b;IqZqEl zAVvSlS(%hDL(q~&s*N5G?^r6?AEs2{? z{EvRs`1!w%5(xauLDc0Va3k;L#a|DV!QBES-{8 z(Tvo-upE9LkXm~_*+y~2;dHG+^Dbqy9t`dDUG4(`%N}4pYf4xD2xyjrIZVA0w+Tv^ zEeWhi3~iNY3~FmC%;z`shu<4$FeN%JI;~$HJWmp?iJET(&kj4X&E+v%{UD#9ID9=x z8k$S(N4vlCquvOh*e>6KCtjyBba=HLKzBT93yI2baA)8g4F2`dco#SOMsU>IBDVHt&hTth$&vtPKCGN-Nmhb-5s<>2vo7{^`|Mr&Iu52Q<+ z0kfB$Eyb!g8xAnHT8Nb!}}?HFr>wYl&drlH`gLI=fpzByjm&NX}%H>QeDz_p1?L+QvG8*vL0 z@OBsYN50;BRGh);D3G1Dkdnnr_AfD{K{CW5Hc*r?bzOj33kj&q^ZjW`DhR0%4z})= zJF8Bi(!sTy%#MiX;!)z=OOpgnuc@>T^tg*j{7(GW zTZsOX7tID0Ho1-diGN$mfBS)KzI;QzFlJMs)HJqVclbFJ`S zoT_~W@&A=pQ~J-X%bxfQvb*r#e~eC&r)hUzl(34Q3P-{V>E9kuP{1=T<-3c<~|5w0bX>u3m~QZp1bqiBz&7rrWoC_fJo7Q+lbsm$y<2{a1$3?mGQv{ zP)zAo&2Xs`Z{A)zh6bjsa7&QUZO;e)n}P|G?zJ!dI-tR1RA`)@K!f7Il*_6V`9EV) z>M8juM!fpVuCE_k)n}&Qh>jTFWB2(*Hg_+iGJV-=oJ;-{|3}4I2-`Nt#YD;>B%^X6%oM8`?s%)Z#n%% zh|85P+>`XsE(Vpjta)u+jU8LS!DZd7+IF}rws$j~jZiJ({GsZ2>xW-)%S!5AuY>f) zEfom{A97=hSHrZLD}d-aJ6OqU+%*elipS3_2HcR0j?TTa#FJcjPbpA~A`+JbOd-4g zHE88&KG0VykdWZ6w2V8sRA32JhfNRBiuwDCaB#=k8A%Ow3~Pb^8RPYvcvWf4Mu!kWc;su3myD!I9#y?F2!5wyUl=|=bB({;J6HOpI(Dca0 zsKgj!h3x6Dfh&z?*mwDU>q!PF@0TyfGL5Mqz_8s=_`ofBmNo#H zIblm5Ghr)%|KdW{!z^9)RA*;sPKttZNHfx@wKI`G6rE~gX#B2Ogd(kRZp6QTgHvBo z%AO?C0%KJqnnU6Sh35>^K5D^j{}9(_0nc}K_EUfgPrm^E?f*|qplDW@*p#%b>xdZ! zxO1WD=!1sYd}WRv=eh%)F8U*_=3)hBD&!S*!EqxdIGP}?=2pAI#^J=(%3ShIw)woq zxIVt(TC05D-uC7H zcgwkT(|_^*1)nU*4*URQI~@F!UMOJv!;g)90y%PmTgN`9;Xml42QO=w(CbLFf8f8y zCk(@ih6t3(Mo$Y+R+G(FUH+GN)F_%7qTuQ>7-4hYS3Y%P5gb7oow;=UO3A*7VT}qR zd@f4qn-2rA9BIfX6R|9U!mqa(Ncv(D%>qMB`vYFYr$w+wU?&^+k2pR8nds)&m9aeG z6p^b4E?@jpGAiDqX{4!t;{SKkBZeDti0n`Thwp5Khm-z`rf45uRW21QiP7D5Pk3EV z9QeFc^MwFu z6mqrW=T54qjBVAg+iHD5^X`iLCwCOAWXK6_2^f2Cwt${WU{ z?Zf+u$>=TlQ&ii~86@;LFc`+qtNrb*#s5Q3h37X2@?Sjtdt?lx2oLZ~p5<|*FF^we z;B`Lln?;vxAA9bLUXBv%73pPtV}j_p4m6E|U5qPz!Xzf;&;iG@=HbxjzM)c)C zOu=E>(pQO1SGn*7HIBCJv$I%mlLS>@iJ)P1ivY31UGu#b=WS47Ph&G++=>Up?)cCk#i}%o2l&t>8pH5}~Z6_WtoGC-Ben z>cp{QClzA{YDUkD#j>#E`4t5I~x6p?{Z|kAH&lkh2(q5 z+(=ZihpEYPG4Pw3>-+{`x0IS26Z09%Vo&3uv!#QmkQ2^NlY_=h;9R8c(;UkSEL8`R zN^o`XRNQIG`PEc*%p!^7+?s!??+CU2__+ulL5Lq?ZiZ4!&X!%%4%)Hr+9PvKc?n;a zbVkM~2^sNL2mY&l_7#>;$X_7!{MlV)J3!i6F`Db)gKfb745Hdi;y4rqa>azA7jN;y*q=)Sq_q_^{=)vas+hG$A2ha*nT|;qC3cjoYp4(ZO0r!R4Zsk0x#}n z1N^M3B0*v-m^fXInn-vjlL`Q%MzpaSZ7yEPRwj~1d`5${{Lj#vS;fc~G`yf}@V82T zoy$U#W(2UI;%WW9&i=pXeL1QaU+Lu+3@z$!ZSd!v8~>!)-%Q^e~f=(L##>reC7Y?hXx5^RdQ3}UotB%SJ#by z>BB{B%BdLRHQM{|G}fhcPEYfc4BIUkpz7c3KJhO#OvFr>Lq|Ad_m=qI*q-tK#-@Y0 zo%mgfZ7t@UfC2cQ;Mf0#{}7u;#5WxU3Sf|XRm-P3ridVc0kDAB{90VcRlX=ZNMR-a zKVeId*GsKctSK#R}ry0Kz?-8=<_w{pX;~70?NBldR zhW1>B5*M5^H&NduYEc0C1OIRuD98;Lp@;t8*l{+)I8}Ba{M(_C^Co$c*4;xV6^a_o z4~l23Y3>+Llkq?8NH&~mFNP`OeoHT=mw#WIc)4h>uqKt?rf${R4WOt%+dE_Ph6&1_ ze$2kloK~CL68|i9>|kT8)LmcE-1`53cEg;m_^RiQ|Dh)Wi&j|tCzaT7Oh)^O%P?CP z*5qeKK2Q4uHJII&M{{g>wccH!2W(j7&Qsv63;yX6*vfRUDzZ&7d&m7ZLCp-_K!*gk z(H;SHf=g6<@NZ~A7DB`87Bq(MzdYBy0uQy!AmLONpS~1wdOb?gmW+<0sNm1~^10hK z-|iwmb4K;@Am}zZ$XOMSc4?eDfa9yKc6+??!{AfaiXsSRx5cG(`oE7*J)vu$XL7%F zVSi2{#p<|>4)l;<@YbPK+&xA<(NDruvr?ygP(#ZPrVzD!#;Va9S=y9~ztvmSwoQbJ{~m zH`pN970!nPlC~>~RWuLyr}rK==A>5*X`DuuOr60)ar_f{05aD&VSl@m0^PkM{7)FA z9UmrvpWO{L9Q>qBfe+xvG0I(&P#{3@ldJY{RoG$%mbmKt9lKg7%AEx~`@R^}yAo=` zfJOtaOTzH8D3~`*IqeTorwu|nMUWDMh2xkf7yu#?KEpvnG1~1@OtK6?+d4RTA46*% zVhHqJPw|yw|Jxf7%IBd-Yk>Yi~B4>>!(IR zI9@Br>s_<)@8?ZEYfmky6gS5;uu|WYo1{y7X6oM;Ln+|dH|@3k;972X@$4$hzm#Pn z*gXOI8~J9H{2KJjU~zJ6^qW|aR%}u9{|^$VDeLzL6qn&c;{Vz{Z~b@K=@x}%<6ZwB zCTqLlFTewXXzIMb{vZ6?DxS^8Pb@8nzvz(ql8HFCHarvSKG%c@?JI6tzf>kg6Tp7- zwnYe)%Ma0X>HoWA+YoS(jy=xLfanitiTsKjl=z2^QNTSd>OfuLe`PTpf&cI3C-Lv1 z-DyUe&_D3ssQ}On{R%lu z_^)#EAH5V8Ay_=yLV>ALrlPSvL0O6aH}HS$?sS~lvdLDMM?WFthhG}{X!2PdwY_vc z<3Y18+sWz7FKkZ_owh3<;qjKtsDW8tS{%mgSxYDwwRR6N!2e$HzN05g691OF#ENjchg>4uQ!mzT+4q&=bx_@^PWUGrY)WJ#8U<}_uvj)% zWw`v*MdSz)g6+DQCrp{=qtA|CBgX4IA1wKn3(4~T)c>ZMos>qaQ8-OFAchnEbptsK zvelTE4=*LB|CdnE6rc8CEN=ggalA0tzFpeYZ&_Ru{=cGD1GzgACOs^_5B(SE<(WmF zl5#pq4wPnnzIzR1jc`@AiD27@lg!r+pLSHVk6-a|z2?U4CjXb50|KI9NpD@qIl#Ov z^=8;%9`r0uo6^$Rk>xqP2~yzZMS!%g1TA7{V}CGa7~knxMK=IAG9WlS0dp`tT4#|e zT5X+2{`P2tqaiv(%H+yF#awKH$qc7<4k4e?T$ZqkKpD=1#;Q(eZs#(bLHo10=MyCJ z!c#y4J)uxucYG#{#>9sCY-d<&<^w}x{5x0C=oMnGVMIZ>PmN5F3IYVEfXq&zr3zFaRJoC|Sw zY+R3>L~tmcqy%?$^R-aT7Som?=dTGDoWiy!1=7B!f;pzNo=$dz zJX-+MBLj$mLDjM=_2D#nA8muy;2_8{L(mQhzxi(tAm)Mbf=iBm!N=F8yCS8^p!bKx zod@#o_zr6bM-DvXo%oluO^uLLzZZd&Vwv+dwroS4^bgfK{1|1Y3^suOHDCuMT@~BB z!}s4d@8X;ivuPdPJr(|?Nps7YD5xm_U~0ufGSwkux3jc8{jPbfBgIv}dmiOh>xQPB zJ8(|etxNyYiGK+6(kJl$bIT_%i7ldv9}65YcnrSE!KHOpmnVD>S+yjQSiAgsAE75)lug4frRGKd?T;g?s_K*#c=hekd&w zqvtoRtF961*Jk{?j!2OTxeg*$kpQ!+v~d#}Ffp(V@}*2Ed=&I4|G$kRa0vWsS|w~$ zl@dt3+B(Rg6aP+Xde`~(GhwL7ljC9-VBZyHeEI*xzd40I#mNRIxH*~e-*fr0lv7}c zB+Iek+7`8wW%p4c(}5lZ>0zNAZT))NE zTm1+A^)cruAxsPv>UZDrbxm%9Qa25&B~lG~B5$K#~Z3dn+rq=lJ4*c z`jne3lHh0u_}}n9;s2`{15wE=mVo(_b#dXyY3?pH##*L=me%0|`jvjyZc(!DD(Bi5 z(75&?e{KH{wdBGzJjKaJc$e~@j9uI6snk{AUoSo>akUpg!0W$z|2#1y>^AT}u_zbW zGDA>cr5tZwKci@HAO9MKP{nxVu^i7GT&uqDPyY{yc$~&R(mcy>KP(tkd3X}M?=I)k zdx45?o->p@bNPDmKMmleLeaB$Q5MLXA6=<49FmD7}RuP^>ba0)JM`Qn`* z+oRuNkqTTn^3hq44#xbj? zPP-TuESioN#<#@QK_GSKm1)zXXsg6#JjfJIu5}Mk{5ougTos27?yC_R3v6L;Fl~EQ z?9mmEVD1H6Y4m87W1*(kV`cQvpkHoLi05BXe{$dmEg+WAbLk}T^BE>)>i~&(hKAsb z0JBzcSFwK|zt~}N{{3qk+pj8uY>%&p!3NB)^>%>ZsTnPFp2BGV)8=&aYeL*zcebFqFSy7Kan0jmPp8L!{*$<}y{>a?xEcRLuu>qhDbJHT++glaVAJCm|89m>_|iL3N7Zq41rM!lATi<@Sp{V77~hMk zN^`>Br>mDrG}$Vd$pG<#{~<%ulvFgp$iDVm=6hrdxUNNjk~1Q|eN!RWgV$3}O9ha^EGv|Ms5Y2e_N_5Z{_bB|&# zW-U&zqqiA!U%+z?CkBMNWFHI!Fz>GZ;X2mYx@s+&a<|E>nT8h+w`$ht8XE}WIjWpTzg z{xWueaT&|?2mV#KB582^Z~7+2$e)~tebWy9iho4{Wa|*Xwsww10sc>D66cD_dIf}t zTTeUh75}@SHMn*+Mqndu#3EBs2qVT@%4}Ara79<_7)#r>xsaPz-)}1*4MRE8Y_@2f z2%FOBv~Y>xDz>3EuQ+Vlx-ah*z3^X#CsAG{w`~7UKGB%u|1Zw0)W=*;Xtbfx$tU7< z*?RowEopNlF7x&OF9(QV74|8Y(IxylSEc{2irnxT!SySDAx>s1uRstV%hn{%^!vU1 z|K?N`_@~~4@}>h;Uy^;<|A+FHi-p zpRRHP^C@mc5ftFf0T==N_ir6hAb?G|79D|GDhHm1k0=DxKJApl_NM^IXkIJ|z+=2)FaGFJWMZ&$c?rj-)wr1(0Aa6jdm0lQXc~ zI^=7@1(1)}l+1zvjsIxH7@+&u$13)zu9B7G>{dob3~cGgsw!-+P^#2<@3fEd;o^JN z&L)S@dFz$5!(v}CkX(5v*qz8|DGTY9sF8!XWEKhf$`qFQyZE1rGrGzv42gdc z>`0*TeR^Mj&TnAow1?mSUL}ANMpN@`gEA8Snc?!PLF@S%&ih4|OuZzty?{I63~pgu}6LcW>P(dXb14I;8eGX4J; zdy_25ksVqLU~NR}&_DxePts6FN9ztk<%ZjtN7Vm{_p&m>owNqPy=cs6O#IX4WZr8} z=deNGzvm0Tu*ny)l4LA)^XBk1o>pV?!U;83;6Hv4(88S@M+bd5exU zjO_C}wx6Vb?Q|SPhjkwFCO1rHb~iWvi}mMc#fROGqj`_;59|g0NB{f!3H;~aAn7fJ zj>d<$ZJ*#B@~!+ws#;CKcJ=QfUr}^w>+s$>xhG}W3B4K zzx}_pD6RtjEAX#t8W2LPv_didS7eNG{{7EC)pPM9Mm6Jk9Q@Bdx}4^Ms12de#{UQZ zikFnnsR&RdTrmFcz<(4pn~-2Jaf{U;17eGIup>80$OM*p(Htqv`49Y8b?n#BF1p?_SV&T=gNiPdn1wB8Y$v$Bct^1Uk+^wG;k~3IY z7rOqS;L-pZaoPFxZRv<(gy>$LqA~94V7Iwwx=wYJ9zj#Jjj#4&?d znL2dF$pgpjT^5CKl46a504kvA=t)HMQtiQ8%=8N3eX1_wDyUNv9tKmGv*7e_a4!xA z?Vz60BN&nqd=rZahAS`~-ZJpC1HvuxcHV1Q2Kb|9}s22a) zGTb&q-Csfc-}on)acRl7Rf+nlZoX}qdL%)*Kw|oDNe>k(@?|f+FG1adBYRg*Ts=%kb(b@ ztNmG}E?bFTW`)5`A|3EfRqX6*_*4>qJ6ybfVv+94N;>q;uZ({iG1mJU_&AG|K9-}x$7%jZBBjR(MpN>s$^G{KGptvR zbd=bin92S_VXC+bM>!5Gk42nIF6G7JV`6ahivJ;+5srq|xbG!_|9>wNu%DzHAOzc= zWx6ATj2if_a(*UqLSV2oObWU-{a6f7T@`EdKipK4_Xv+sv72J;7?bVoq5$Ck)y^l` zSnllk!oTW_JEkh(pEh9G)Bg{y-&DpmI>-MJ*Z+i?H?gd8Bqx8gx{=^={+IvP?wJ`p zx^?IOnrq1JD*UAXSG*Pah#MzkQT#j^|Np{2sHuFk%lG}-c?4h8cW7HVcK`bA|Hpk| zv67FgD*nfvBmdv5zSR7RvEK#**Wdo%{Z%+JDb~i#akenbmmLjxkN*G8d0w79#uuPb z2bKQc-H=2eRIDZK7OK&kw8mqDQ)l3IObqt8DtnOzjCkAGDo%m}Nay{5m36BkGH^8K zzE>1&`RKy^KySS}3Ti2U`~vd>jCL$+$EwQu$J5jq=ivWg9Ef~~{K??+6|?nj7j7#7 zUWm@yRiMjmkrS;$>C*0{8rSgbWEbTHBc)r<)}-{oBxzrhUUAUQic>4h*gCj;+by|S z4dQ-~Hi$+C_L8ZZyX4^fHrb(bL7)Q8^|nI#2#Bz#Ih2^kX2CCME66Po55EkrpomVP z%TPlfjGO3egD`X`X~ciF(H>a~M~&!t5Owkf**1*}mEtuc6&r6b?|?>avmK1DEu>W> z1I&(d)VAZ{7`Mx&kVH~^4xUbxK^4z*qolUW_D%}g;BBw1;tGr<3QkH|-f%MK(sm&r zd4|?Nxp-F*<^s~v+l=Us)K`h2fU~dNVvdl~uA1aqG+_@zDw$FOA=Y?h`mHBkZLB4C zu;XhLVmjM`Nkx#|f&U7pPW14640N=5AHsh0h|ucqsim5$kVPV0JRF^roty9v&b!9e zlYb9ADduKrgC{V}D7cUVnCurB3b34ZU^)}A@ZeEr)(F|3u!)EbMj_aX)w&!&JU0gR zS$td)ZxPv<^vK4^VqnE_aJ%+IJF2TDxArXV8Ya;)LIs+*c<7}DHdz(E#Rbiw{nnK0 z5$&>P%YiNhLonBZVE~ryeHO4#SHeNenf5a$Q z5cV1YvJ-n6BD8`)=&6e*jhq!aUt$3=9`l`i2t1fEB-;kQ&sizE)2Ym4GWq6sfH>=y zaRW&D^06+Sr6`H-^?c~;`kV8m50+dsF)N?mPDxK?eL!O`_#NXvR$;kQ3syllBAbiH z#)(JsASDb%o}gIRbs?#hpX%Jl<)$c(h1_nY_uu=dGi|&gw)l;INoWL0{qWp6YSvsb z_W$J>SK0q-p_1Q_^EKI#Kiab~O88%mp?NZGcTl7g;xik)DB^(~fT6?R@+`GN7&|U{ z+U&rG#y@6$9y=Au?GYBNh{z~o>=U+7G_W9pxR$;ZA_`?PWvXH%VEhkvh8*jgU-%C( z+q8D_wmQNjKe;*Wj7M(voJZA9|FSoF2*o1~DHH>-jq}%ocEQ=kzeQ9!AE%N=OV{b( zEOBEO9l;)kE2f0|x-T1G% z-xjEOfF9>YAg2}h7XTwysN|Vgu(|#Js4`rL|Ea6k2y%0P{QtVaU*!RD-5qBw8PDsuG4<5SsK6`X|7V80MSMH+m0qiaf7UJA`9BKT08ad)e#if9fe-S3 z_(kE~@&C)!j?>4ZEu(vNr3JiLG86?Pc*GoS_#Y&E^ z%oS~VX9HFqG+Y6*!$DLb8Qe?LiLCL0z+zkF-u8OMXJ@z9ktiXiw*o_vj#sQCO*$BS z{pJ}p|9lh?cSotVmVm;ndWVbs;t3pvqobZ52V9Rfd&Za53|M9%cQM z8DZ-_h5_zyR}uNg#qZ$IZ|+Pd0I#%y;&iy85Iy!Qv?QO{Ac$HIGRXl`6ik)i#X)n{#}gZ9N?Tc#47lI6t3J4Ol8#Qkay*Pl5O6?{Nib5%#CAA z^5E}7L2b=g^LmMx;tC52H#~s1rN7Ya;2kcbl;iZsmzzj>kagDumL012072&RXIDIq zUpy4M$zPTDe=u0!4pfdne3R9RH$Oru+gForM-h+9O0G)tO>7@Lnr{$G}~_i#%JFP*vYuNhTFDCcngmr2Nt zf7*s^1ag>=8-L=E?i>GRu@nD;m(re!WxQsasFT8*yzryKKe+)7DE#+mH1FT|M}IMo zz4sgc{0nCK)P;Yib6Oy#+lKVu&pFUpyX%mNI360>x_`^=Y*_X*Iyd5)1e*`TtRuUhHThc8H;ff5!Od z<7>?UGOkJdPjdI11ImDjx^}sy|1b0OwqFwz-Hz4EMWUKt`2P+7T82F`Y32W4{vRZI zq;!^wY+TC@Iys9_>(XS$NuDMnKr%iMb4&_B=MdcL9KF_a+iQS%6OB(}Z|qKbN3_BZ z_+Z~~7t?9u(ffC$QU-E6r`%mNnxKLf3i}YiYNse;ObyOa%E7oIkwG9e0V_KcI4dfZ zJ4iI1Rn6zWyP`?rg2AH>1WV`Z8v>YpO%LPYwZayx4B>G?wq&dTi~QuWsZ8!=e-X)^ z0v;1?$#h!Q-a1F{{L!Oj$5zlCNMjJyoqzv`vDMFm^B-t&j5L%$9ufmt7grA4_beU& zPpgu@BG)5tf;E^Rv@d>C1{xa+%_6WMqnlMzYzag zX@-6v)N(Dq?AWRLW(Z)Ygfm&Y9gmI&;@UKKEX!vWj%=S!2^1-PJ?xi$fx%!I|CNO- zXwqIe?G^*am#=yOEHUmP{@FkcIURz!-3#^mD5a51#}LEXBFit#KI(q|DnDq z3qXlZVjc%kq`7`IqGBvMh(Cn?4*ZuB-0|)EE9a_Wr_u=QYuUY(aE9 zm;WEm_HzLj^FjuI$@Sj!dm+~BT7;!PkcvZ=^o8VwSN_?r! zg3g&6U=rts(N2-U^N%h1z3~6}@lL`G9QHg(_4dpEbDZMK5eJte%nSbT*sfrf&22Re z`xx@X1Q^0^1OKa%r^AzOvzw^LLEs#7QxQBs{2E$tv6#JVQ8QHv#?I~{+AAuo8MKUz&=|U6IbexvhR29-M%Dsn zY?BgW%nby)Z8yYvg3Fgiy6q60S^AX$?1X&~KL~TmX}k<20JeCGRzGKhi6UPmG)I|>1dS__BwT?Ug%*h9-<)n0Kew}V*n6iQw+bSs6{ zQM6_e91lcK>j&lTs_vA@mNtOV>mDnNhCVLltR4{W@SfoyG}fd7ML?>UPbfjM!*^A2 znEGd{s|Yv?02NrSipNGUbm(`k0NrL($}&J!XYhR3aabiaCPjOl7GR68z02lq41OC# zp?EpoDH!7=%?@yK$rJNEZS)}R%d1?c$xCH{*+9u8)oEu3{$Hz=HyypoCYMie@! zg*^{Z`Rag(Mo;>gn~KP zR@?wgyvrIc*`|1fHl?oy^57U4pmFMDUhsDac@zKFZXe@+eX~BT^p69f((hlsaw0J4 zvVIHy9$Or~Z)?OebH@Qq`bZ zxsr_0^8TXN3r`cPvs#K6)A+`KaRY-<7G&Ny;0VFdjL&(CT@kJj;P*|JVLy8-Im4qJ zo82w%*53mizde5SJThu2%X%07>HnE+^AU=nQGI@%z6*i)?4kg$T!)1yp?JAF4CCPS z(s8irxF&JUcjcY_VB;i^&V>JGEH~C=`tcesB(%7SP7Y(6oGpK66LtUqGyOju#XE_0 z6+2iYD@A44dG$;c%^ zsy1V0f=>T`W0@PuM z@&E4UT;muX3=XqL2=JKeC1x1FP*^zF`vv~H=>J2QAI^W@Kk@&qqwXuDU2njmZ~A{0 z9${yYW0^aK_e$v;0DWx94UTzP{D7}o!c~ldsVTizr;Pnv0ox_YYR2(0iNeNZAq>w9^)FSY)+E{DHXIW8 z7JP2RO0Nu(uE%x6{}d|%nDHyUUVl9{WR2+9=jrpMg<}G;7|^w?#Q!*n2e= zDjJh$827fQ9Xi`asrd9l8H2G4$RwWgLcA6`(-6;)J5DT%iJskEICXiS$z%YrEf--k zzT2}>8_}K;X01?8nNWsP*PEq=F3PHfV)cj&tS%ynRoHQWEkd1R?_V8CsQ+(W=UThYpe)Lt8q7!6B1C0`=iVGFaZU z{c&HqxU{8AS(utF09_=HeU}vhD)5&F%y((!m7Zr1RPSrE8qbtDzyg0O`1<_&5t54R zFc~9ukQKrtg1$>C8^S_4#2LY4tL%OY1n`pTy=M~pK(e+qkGP*jG%-GGqZx^i2d}N} zB`j*#X%omj5H!9a_u*2I+IT_6pn=dwF{zQaeC3ErPM@|)|M&TiUNU&J`u@Av`HTV( zJvvzlk$UT!EqCHrMcm0@X(eCU3dN-7mc6=odcApU=fe5o1l|3m1-m5yzY(#`Z$dOUBna|%lQrkq?XP65&v`SA+WYP!&3w>`7Wb##1A{Uv6CU)lCl-C zjtfs<*#!ijPH1mzWDW#mf&vtZAhdD(Pi%j#e?B(`n1W6Me>iqf6l;VutB7W^JBpJ&s6ZQ19XYi;tVhSC0OA8GnWU zhcrmvjdWyGbO^Pci`)Fj1-Q&vAPD`o_q$ik%4N->Sxn-8n$-g-0X}+oPE_H%XxY1m zNjv-<|2N}$6tA#BqO$gYN8>4KVv#x)=5R1~U)M8!-h;h+91kh~A1o{p>6|zHk=~a4 zI(~>l>W}HPl;Hdyiv$hck`E~0e~hV1UUD^^oFn{Gll{={5N~m}@d9>2>4m%`{0(G? z`&V~;&a9gQ-7+|T?;IM9k*~D-JjU=&m_8;z;md)?GV%QA;BOa!FpvQV_IxP%o!#xU zuV9z!Ywb0CxtBUAq3KK|i!D?+*dTwMyM7`vky7noSX*)Mp(VwZ!qnGJ-9CFieb>Q{ zrY5Hm`v#@_NR?nSkf>(JE#y<~A4b($-Bdi&RTntDyW$M%(ZvFUwE7CfWgf9(9I_4Z z`5D*i$$!}JMNlLni}BFN?68{6sUWa+bs9gTdU@7EVdn`l?cga|ffCghm3jG}C*-{d z8BSusL4OEc6&!h$lCF18T&F&pgP>g$F-}NSX|A%v;Ys~7f@Kf31M7=;I;l07)=4Nx_% zhD!mrQr$JyGwHyZBhp)<3tVyB)5ZtK;DVd*J}a9~(A{6b6P!jxZ;n^v(K2bUxB~JT zBbxg#kfO!dloJ2-Y5&;^o(>L+x?XsXDF-sA&nK!E>jS#PpMxY6H&gZ;4iv(<&%Nb3 zgWJ{JH~!gXjr5Y?66H=x0|trZCTU35FC`3>P@*izjCS%g#O!3HC71OdmA-(w;9G!b z9-rPG&BPNg&0mvLN_xmGjF;wkEhU^^m0pE!6_U- zd_kvD_A{4*h~fz^?pvRmNc3%oPrCzAvW!j%>iYl0|9q7IroQnno4eyYTAAV!7}0VH zcC&M?qmfVuqseGa51ifS=kYTcizVYk1@;*B)|c9YQh=cL{`CJva`FunThm1OHy`&I zD&J#LoAUqIkxJiP9;@P#!(i}j=Q_OLfuXn{BE8Zd459Fae})CHe*rjFEVr0{>rpKB?d_Fiy@ewDwWFJQao6Nv>ttV#=I!?5P6(7+7*D?cfXlG*!ky z8~@V@bM7UMI0*$x{Q%a-sA26*B%_ZVW62de{b@e#MCG30>sqEcnE?W^BRk*tNILFYBlrr%8y&2<05!Hl z(3V6k^cI6{C>+4R`7fUf`7AEe)Awai)2><#mB8N${Wo_>@%9R%+7&|Y#3CvicIm^7 zC;p51U}B!Xuxb6ukzEB|$+c;5uqP%lC6tW13&IIgULRw$tlfKK7 zZ?6Bsl^I0M1kh|GQ;Z}BH#dq)1)wP?k-T+ZCH+1zmL)vc@`_@&74zD+In65Npk8ro z9cv(=T-!`3PdVQsA386%zn)Hqu{TbI^kBTg{~PBpT|pLI7Rgsdp01Krv*7n~P6%e& zlK|l9+$s9p{=U!R7aIKc-k(u$K=EupSAosJDxyxjX7hSRp1MwOt(=w;UOrGc+QbNK z8rrB=?M@~pOrtvud@cXxH!17W|pf97wL#;FhkUKyBDQ_ zpIhhGb>VFXx`^Wi_9_lhcM&bPRw4>NgHMJWE4>iQ&oCO>-|<+Uc)(FfSg6IzE%+dh1Im&0tbg}dckMN)}>^{ht$puJWDrTeG)+y8$J z54rX*DpZ^{QoVK>grJPq8~Li<#yA_P`Z zT-GS&*5Jj?mv&?}l`(CV-#iw6p#1_C_|4G(a~M@)n=AT)sq0)5qe#CS|E1kC$DEmy zekC8hZu5?w#)(tJ3Y!=|`>2L`eg(bo|KcD8JBj}yH`H?EHhw4b8Kd|Nt_{~wv_?2{ z7d_^Z*~mhS|HWe~{#W$a4kT(+Cwo0X4BUdlKk5JHFaM9787FG|FaJN~*e3CRO|Hcf zQ>8)&!&0i2!hIu-hU;FDHNDLe@pT@OCpd_&M{glT5z;GJptUJH>ZXj46j`#N|B?T% z%`rr0V*+Z(xirDW|K}GRWm8}tw^oE($q!G-SVZqD-xLY=Y9O|Y@#}0hq|B8D63R%gw|4%0&YQuttQ7&;$@;2kc z_Kvc1CC`FL{7>LNbqa87?zxC@97v&s|Hn9~bJ!vLKgaTn?D3iieVTN+HjP0U{~pQZ zqqf#R@xmAZD&&Nm5u+&=%Ec2-;G5P_3X!5rhST!CQW#047w)$C~~m`zg{iw}@wvuZ^)`ML`XZ<2Uf zNk6lEJv=JBS!Zq>z6ssBv-C83AMEMK?n5`Pup?&k54F=bzYhBwlHT7BZD@{6jxW%TQ35W9VZLrH0dL2cal*Fe$q5&-Py8 z|1C`AS6@px5$xkXEjxiusXIJz9XyYiqhubmxia*SQ;32IgOv{%i$soqNw)Nbf6Bri zNGWr1cNBxhB|T3t^daow5)~Z+|NSMn{mgD)z>cAK5O)=e!t(j$owUL-!;;ih^vkIp zyL{`$KM8Zm&w@Vfpr9-KYaT24$3{5RBIQoGwX?PuZzVSl$JHgjG>iowm2}k)6Zs*( z?9N%{wri8z^+!Gp|1Ud(%NhEAv@V}o{2cS+mVSPS1B9=TkOlXl&Dli~XKlU1|HCQW z!R6d0M?6pLDl_gNcB}`H(`Zw!NnQB=^!MKQKmXdya`6<&R;Bvc-?SqXDz;lY5$!05 z|H|1YgWX4;3Ph2@T>OKsCyOLo&uaUSz&{M{7yg}CGVX)lB8Rl`e`NG9hU18A{z@Ew z;UBUgQHldg@d@Q7n;;hoW0QSo+{x4Sr%~WhKO>cpXg@kZ9wJ*)*3s($`57mAmHRxl z{g=-CfwBG%{l60+89?Y}Ui#Dih5vMJ5Y6TP&&~^+`(^y^xt?@`<#D#>HkDX$`XeJM zSk%hs5h1T{Ls707A>voYSugf?F_dJHtl~%U|1Dt-H~nRS^TsB{n96!-8H3xPlN3L` zE*#At{{N(J599y&g@5TgisuzHAr7CqQX~~LG@IZlKEAa9Q(VJbui^i1{MR4&S08`i zUs!bCrL?&j-HjK=`4-Nplqh}d@GyIRcjG_Q`Gr~GA5XKS|KIyPPGTA&YsCV_6Z}8s z+nJUDEPJhY?Z8N`a|uBN%>O_0Iy_E4546wa|J{qEy><%xmq&i#e**t+bKDGF692BM zNR-38eUS|RvTUG*KFMN2Vah8Md{Tfu5$Ju5s{yb>CX8uNLMc9(=6GjRZ@G9b@NWyB zC{kvKRg~rVIpNVBHv2^gKIa`gKdKRcBm4jTKmIQ|IF4s2^)i(0l2eTYVwn}z+>DqY z5GFV+K$H^H^NBrI(E(GI29~Ho<(wGg+DfK@y%He-BWhLqD2)qp%3QP4PlKPp@ePmk z^tD=B^b;UM8fXZuSb-e`JRYTo>$e)w_KGezWq;=N9g;55cobQm3%OO_E1Ig~jaFSPpXJ>n!?vZ+{&T^l1Uvv! zL1;%1#Wy0AZ5Wo|N;-UaavFjM_8McdoR4oPt-2W#oDS+iqXDduEJdeos6Xq6WJ8@8 z9-ad^PQpt%xUPY{rB2Z2lB?^toW$xKb6#fC3K?ZeTS=SMzvr@yA}*r)y0!o+BHn%| zkEFO%ovZ@megglrHIJJ`rMAtM`A64kmyHKEp}O9v>g<+zGI`LPX3titJNr)OKQt`O zy%TOb7sxebeGC$BKe-qu#%3VXCy|IxUhLIWU_PjKNP|19w9SF!gJ1Sz8pzFWvahMt_*Wz0!!)gipX;Q9p@7UWlb_fSyN5&k;cA?Z$syG)fO~u77lW$gbJDdCM#Yxxklk{=z@FF}V2q z-}EnX0fqV91aNT{XFb5b{Ak^}{$+AhUct`p_JMimIq;ujKKE;LBPhSvcw3;y|NCCY zj`E+s#%=x8ueTb~hN?Xme;1gY?OP#Op=euWJiGWH{11#+@+5@5{QvN`zV&hWicDD3 z|EDbfxcAa|-Lm`b|G#lHl77y2r#0eunCKQhdvx+hbr9z5I|C?vk~jDR`~SEud4=C) zoFbdlT<4c(hwaske_<-e#Bmeu=9@oM(<_{zT;yV@D`YFstxD+h+WTIoBO47ekNBkIerR|B9u` z?N^MA4rKl(_@9XnBKP?V|MsMESB^b!h(+?MY*{@=_~ z`fF@o_=jnI;otI2{6hwsfrdZLQo>o0O?~|*{`-H1{{sL^dk0qQ|KGm+=m#Ufzv%x0 z)C4VPcVx-;@*3H}ZzD1O|G1vcFQ-HN^6o#bC%2FbTwntHPW~^=vD9#N!ZH2I(G5Yx zte*w>&YUZh6xpAC*RRMehQFx6n!4~$)`0ztx`44qZoPjpkS0s$9|7q;JhM+zVjIUf#Hb#MZVcSjnxK7jieDb~lHOz-c zjkBNn!Qsv5Z~wQ;8HGUS)Abu(V9DVkW6q0)HYq>gTC0KRR|j(Pb+^&T`39d2o^@s- zJ;i`C3Bd=;VTetJC2Pu8wrg(1E>E8m)rm3c*VzyH+*y5qSCq+cJo7R*x6yVlA8N9}Qem{y0XW-Cnl zcFsy}iUf7W#IuBgl6B38vu0!quF5+T8J?p-$u5_!QNIc_JIBN(Kt|LWUZ?z|JMxTe zib8#tB0@X0QGZww5EDYdT$#M(Nv5a?>ZVTF|LFCLJ((U2i^BC4kVs&k!LVs+hmPnJKiZ!oYc^pXsXS~-&t1pdW`&e-@D3wZA zC)?x8&XJs5`2XDfaA*+Hj9$TP>_g5FDV^@*30zHMsI)o^upLg!${Thjk(Zir(Q$ys zV^Lr7Joo$u{wJ$h8L(Lq@<6Lo@uGK-pqb7_+%;KGgHQZd;9s{8{}12+VdX9<;8M^pYK|G!*@ zd8XZf!0rE?2uKI~T|xD~zx<ooO`kh45I9kcV?@fq-|1iBN`R<8Alkq?A7hfp+7~#K! ze>Js9_;;bHNcG)_nQJEx^+^%g!Gc+Ad|0_lkt+*iMBb@*~plxyWYU zS9q@L4*ia!ro>hD~Maq9~ne$A3 z#Hq5s`jVH0GnIk+>%Lnu_=gQfJc+VHI!1*2*E+tGDk5`Oj28QOv^&}6ApHNy^HH>) z%Bui@^WbA^S0QTw#)-YT{K0+`yA@7g_HF<$QKGqp`t+tC1C}{;BoHZf-pJOVc(mzP zq;imX@Z=GWJ3O_e^7xTSH#6#8gkU5)8st6{KAbZEUZq1EDoCH6fm=+%!wv2MKo**v zuL~Xp`!)oQe{$7+Zf(U+chOOc*%%;xK0bStp&k|o6!hRMo-V!So?hqUknbDb#tF5txa=em7 z+j#jn*NQ}h$SuhXzSvmBA&)!2_D&w^pyVi83E@a61ecsVbF`zgyp4~*Z@Y2gKIvFyF*mYLk!Q7Q3t#wWV-Cn5Yj{)?Aw-bpKRC>K$3IR8`!bcnY5&K2*Zxs5_PD=(hM|=xekc{CaS~`>iTkXJFVlbK? zYpkIf9+8eI7f&;iYdp zeiHSwXb^c$DW+RnstBCGN9Wh4nF#L9vzlU1B9Bup`0(&Xy+U29mc;++O2sK=m5V#Y zIC|m0h||wXj#tE~U&kAKNe1N7I-3pjXkTaiOKE}s%7F4u{7=c%5|_ba);nybWwPc# z2BwgcuH{)G<<;!DqXfq~v$$A(nDk1+9cSmR#?h2j6yR_-{=d>LqapIZ2c$7S;@nb~8BqfGM8I*PgL>7p)LJuxDuDi%&$?*|w`pMee9O60pe`b$*)VXj_E;EHp=7wStzIyA597WkK^GQ#CY0$%!M7)t!nz>v7wWrENo5tMc*9V>A%DOi+d1f zyuxAeEpNaK%z>P17W=}#!?^XyB^#uhYw&~@#fNdOl%QRh@ZaC~hby&;yTbo7d1w4T zhYdkWyd|dSL@_o4fZbVflEIhba6T|FDw@{|^_M zZC1*7FoTjk7$cMcJmbbdC%t0v!uThjG5-I?|IkhtRm%U)A7R zY&B)z(x5lu`ZcB_ws?CCOb+px@EI%&WFqi5yRJHtZ^`?V;FM&H9A?SMdM61;^ke)u ziVCvbEuPv6O_PTt5O7^lQ46B6WmB9$o7=>dY8zVMHAY(^9S9tr=P;#&ys2Qw>kXWI z{_%8Q`iM64c@P>6#0Rum{GLepwUujgdL8FAUl9MYqU0yCe@V)maPQdw+W9zmur{ju z)PS6vUIRKVY>%WR^Wt}Uen0G#Z)!CBc}e1u_s*@d9;qBZ0 zPREMU2^7sfoHW=>fgko>7ehQOsTwzTwi|X&iP)w;N_r~rzZV=1tx4XX?ziYXAfL9a zBtJ8mlb_{3ueZlJDGW2ipy5&3cJFy)gC#LhUFoE)qQJZ z4d1}dOp|s=C)|O5_HbNN?AWXEd_FY(l2cWD%ej_T#bHyc>v*m0jei7Bwzn_*kI&+w z&$uk3=rtt!gzcCN?7XK#d=4xMxyu*+NngZ2qSjvY16O-qlg>?!P)+#1{eR#e3jk2Vy&zB( zp=(vpw+BdDgFNvB)Y5O@|Na4--||Zt0{|3 zY6$-r`zL{TDZafJQf>fMRpKR>$sz(3jNt7n+rmsgcU;@5{`Z#y;rD0oR-+|EAH-*nj2=FrHF7SilTMnj z2EFrxbdMrmCw-0r`#UaeCzpjPH|3w+dED+kw~IC<>n_n0La?p}Df1oNdG)Yg8S|RYMQlK~rlIWyf?nN|%(4A4Qx2(?2z~$6IsKgd= z9V0qSTZO*@hDmmGaHurnEPIg4I9OAH53beJiu{Dc1hAOPUO4JX|HVq`XrLt!H{Z-= z{I|r%hkP*)*hq}EO9==(gq49p;9N!x(dBD%ne6VhlfieDJq4E;SX}T7>xzjDNnp;?uO;!cmzX-Q0Jlw`9#e5e)5N=yKxyj$%80(`Em2 zk9$0R*`Iye{+kV7;OWR{Y9=!Vu7IrqQ%P)g$&a#MD^M;YmeX{f?~=aiSX_OWQ=zXJcAhqZ(MVE6HeuJ8{W zURBznE2CPt;x@MV#eeUU*=2rOS&_tt@*3I&X=DqVkWSk+VvBwR6!>2!e@P_U7gltg zTsx-a!a*_E9m<((0&WyfNYe6sX^}FG$38F(emK_U4-f0PSDLk=cR*RBozc9jf)DqL ziQsP9kHM^;bTQ(29=X2V;ng_Qb8=-I&Sit+Q{e8+LUhhl92^D3O`1#oe^mUJdhn8x z#DB^2lAcew5BlXi!*8&wJN~Dy7iR}FG#^{yLGkqm|uoL=gJ{HOL z6h8^osQCo`4-AC=!Zm0Q^W$0FSoQBGd`5*|czJk6jDKq6|2N*nqsg>Cj2XPyUUVsA zNQR()0_zq2zpnTnrgsFsZ%$n~x@cA9f|pGd#&zNUG#|87cQI_G^T^S-;3`*EzwkeS zf3^v}P~pFvyiHv?6KDL6|Al{Uric5+@bE=la-eu#P1}EQl!5SXbj(}EeG4*(@|kLGm`Zrl4jo%mve#@STlnaAk%O)EHlq4FS;*5n*RCfPNkCgpw6fWQ%RI64wr+<ft3apfjecN zF0kqwhZqq++_%ZeXRw>ZXzNz$1z`c?`kO25f-x@IfU1~E#H#+le+dXD&KVQTu`#S- zYkb|;xf<=qqOPJs>d!`7(yi^sbDMH9Q^1vsiu|TxM5|#oCI63W58s`~#ClXHVKUk% zA|9cv|KATsoM*C48MSoF@vcjK$aao%q4~WXPWRc}edGeEfOh_6@79qDG?K`XgIdMQM*{cAEB^mZc)w)pIdAh*VW#_8+zSe0 z{0qB6&>HP}KHJ`TOpN%?emU$v@Xr?jgl_-n12#sUVzF=NzEiaPOL&Hsp;LPA!zn z{y;W@ps9Z8gMOxc2CMYhSWKfwO8-CCU)%X;F2~35=n`PDDSOJ}%nzdkVUpyHe>8p# zcmBx#9eZ*tUj|L!U#87T^c9!F|07?S4eM(FB>U~wcu)t}Gj1mg>>K~!Vy1_Pr9mh5 zgOz+*FqdbP|L^_gAx-MHhEKx_Idb>sh_w>_|E*fglXf~W))>!uuqX;q(XRy8F%I*o z2X;*0niz5|nUnL-t?|X-SX&GR{2B0`b$OlNv619fg?TvL!H2{N0I1h- zQi$hcRW7lcVn$^&8DE#d-7JEQK5Q zUV_V@+wF-ui$MTg$?i}-4N&gfvI%D4^D4ZYD@&SBqhjBPeHuLP#|s-XTWN#rz*>0A z#!EvaHxxqE!o|`-$Zsa~G}minr@jhJz)dSbu2L18->*HkNnYd)fsESmXJu2cek-n> zs;FM;I|N4WS&cYYJ$zP=palpO)(=YV1@ z(am<1)=g0_km@84^53~U@9RV3FXx7d|yfAF?0G=WFjs3ggnyt)_%GpKVy5wrKr!5|QQp;@gC|!Nks1XP zi%P%p8F$L2qv$5lcjS50)ngy}8P3DA#e^4pL%p%%_T#fE^1MI^=Tk1$6r8tx2T2^S z(S}>%VbBwSx7^E!X%2o$ZiJL_wu}FY2@?NQ6sY&Ap_F|sOj?EIp^a~YN+_y{|H4wP zKciwRALFaW3VXk*S#vB_IB7`hNiKMwvAlR)xjDl4Usl&6S+pebs%pF(JCc0xc>sN5L8XrsIVEi{C;+K;q8IxC95<9!F z$}*p5ON&NiGTB*QFIAxVZ{;r%;ub^g_@&R~UFmD0Z_3=i4E5;3$ml);a^#mcj>KaW zEcifyK>tdVc*587h5w?h)aa24U_1!YB0k?e^trJkWICv=I|?wO zfGHbBJ8x-(J}ar{;_#FnmAj3V5Dx3~+#9d|Vk zwI=?@L7L+irkxl5lX#|5$NZP)5yGVot9+k+89Y8_|IgyaOI8A}E&+F@Pn$DDfpzUk zWtFRRxoyfaHW46rZc^ai`M*@gg-EG?Txcpvw>$@ssut$Y zpN$mJgS+J%`hS{5Po7(t_)mU5dE#^9|NX{)DMhe7qH$ql6MDH}k!TAts44B1R+W6sbKC+=CX@US->G^8)ChvDb z2_#clQ~WNuZ~GIZ)q=8t!F85d&kDceFzOW)_Oe$I+c*$~Tt+7S_RDbW#mOI%7ly6= z2e0dHCm%S;dIE88nY_2)C;o>5TQXe2@WI$jio?PnWU*lYWcWSKGoinvO&k_(dSeQtnhqd)q1`F(RJiVC< z|IN+o#w2Z6zwH!wewB|AP`R3ZQlG^T(L&F#5LxO%M82}vKG4r4vz&v1c?GZ;h_B6s zW}si#_(@>*9%FO=Gtd~wVYRr2Twe|Halo4qI4lGUh(MGJq4yVbemxoh!h%0*`G?i* z1~K6kzwzG+7-Bk8-txaYd4%697~0;sHj)vErq_SrpY3xz+iwM=B zi%Gg=PY6O!@v+u7J}%A45i`-GFH^6Ooe!Nh{+9%sFXbiQpPO}P^IV0f{px;sh_QkJ zgE)e`HSa>_uOkE97d`|loIAq_Q&>uCpF1VK0-n0As`%Q&>W}`P0e|tbjF}1m!?${K z={_^Phnu&a5LUrP_#gjoqKNli_5+#oOqgE0HzR4{Uot2SOCx1+Li>|XfK2&VZyAq> z{-Z*+GWtFvMaL#Y+rm;$aR|g%LB&z6aIg7{c6bo{EEQ1aE@Yd zX;xVjTVz26RmPTTsNXYQ$42r+q1b>9yP=fcnmpS%;{amm^N;5%{>Ko9ebV^PhR1eo zcy1Ee-SaeT*3)8Dkzu2-)X9c48anTpw&QQt=sphEhd#HVO(B3|2W>Kd(yA5<5aa730T)xj8dysxrjigXWCZiV}b4$9^>1UcQ_Fj2-5q4XC{XvG$X|Avi7 z7R-{sX*IkLgIqG(OCFO@=x_Y0aFX;LxRt=bIhhFgslx4JXNvkmfbaKni?{gS_$Qht%x6e-L)(TXL>e1qN zR8-iYI+G${(^GfIR5L0@Rh4TKJ02&=1u=;c7+g#QJ{5ANxz~+dmgtuF?l#YFKJW-M|%{9TUv4~E<{wwz7d*0O(K3} zjSMJQ2U{%+GK0o$n*HK+GTt87L?Bw01q)_kQ9=rG0uMdstf*5&2rY(y!+|kbU;w2g z)ix3M7e~0AmkMDpjHKWn;(ru?pe=?0#*IXRAbii7DDT>t*uk)Rd3BB*=Fz29E(#rf z2rH_IC+J=Wu1@eYxu~#BLT>8Dxzw$BslegnmODWvO|w%45W4TvJv-2`m$~uZ!6nt= zIQEgUtRYaohyq=-z7eoFpVQZ@O}&2hy}D$A-FSkhtJ&j=fB}UC2slk z!TQATO>*h~S=9KA|D7Mu-^HD5#RWpVu%qPXN`6jKzYSiq!T6vjC06$T+`X9m+yIdM zEb-5^%~C)dD%`1hgKJh9isO(Sp)mOE|MjoHe-U83m$633oI}5gth^tEyl?#DdD!73 z6&GCipD+9m7wCZh`sM%AMvQ;+BlAca8g~xLerG~2_ewdf#r}V^2v;ujUejk+3@ZmX zrZJPN!-l%URWxGKBOexUBrD>-|HOZl<3P%63Oidy+HTT`A5jBG(m)db2*7fd1!&*C z6ZRSYe~JZetfjoN(Jp&z&fGqlvZ6%g|N9sI_o`RP?9i4l`czESsDH$-6LDIJ6GIL+ z{^buU!gqyiltWX0{Gt4^uZ+9?#J@hOO8?*G7%}j#YZ<&n93rZXAE+&ix+`s>e~$lvwW@m1{`=h!Ow z%lsdsbNmlksm}_f8vkS8a^)NpZm>jL?T;4667kSCwd4paSjVh3HwhLyQ#H=>FjGh6 z0PQLNZ&Ti?^`#-874C>D#UouYo0eVnXm^v)SZ(f(%XcjF|2XRw3$=yN3B4;P3^xXj zkX$sLQT)#*P?}oih~^D8S$<;pKcI*_-*MeO3+4X#wDqv0`Bq&^T%UiV_+TFafNk(d zwb68;AoidWZr4gjh@*wicqC zNGs~zp1SmFu-bmo9CR<8pL!S9sgK@A2ZxdAH-W2g?VDl^l;2_GpKqgREjBvI4c;Vx zXilUwyca>3$woc_UUzDOfb=m(A`gA>IufLnA74qTQ^%%Enh2~$X077L-X91Jl}i_} zwH<%+F%Ztz&VaHrQx^|hYw0`QKIT=7va^nP4#;Ov^-zovYAt`h*{;Wo!-8Dp**O#kT;00g8qvJQhtTizbyEG!5pcrVeNw zymzQ`QLyI_5%>l^uZp_9Ut-gs=F5o;3!bqv$YZ^QHVh^4*}1lz2$V92Sdeo&kZgM-{$ip8V+%0cE^4Q=*TkcnDC!{2=xHayBbyi3P`61#Q9@Bq*yV!4 z$Y^^#6(h8+@lTDLKA007fKM$m1POX_wUUE4Rt)w}{6jWx@1fLZC)wI=Yt@ZF%0S{GLOWU)M4?_Y6^Nz|BrvB*p(1+0g2r4@%hAmzDWvz zp^PD)HkaG5ytDt+?gM5b#IkPUywkI9;fnoe*zMyPX<5KO4gvoM`6FD{7V%! zqOm-U|GDaQRD`H>6jd7k1^lCO$e@z1=w_(nNzl);C1bBA@IQfn#U;^B6-gL!?NCo& z@fv9^{Qt=RQ#crd&6E829hXZ&gB?;(U(0J1FfIn z{7=d*$3`^c1t=bH+&}|)BG$y0$8_ng8ULekyl9J0pR9!BO{PiOI=maY8G<#7@TrF} zLyBZMlj_U=XS>k$mL5M}{L?CGDig?`%>SX2aC91t@t;}KNZj%xw5JLDUjp)@Z2OjD zJtDZmdk}nV;0gSXYdVVm$NvA{-{bt%`j#P_rty#a(UWv55=sBh@A8q?3EvXD5h=;J zh?3`Hde2kdbc352n1I$gzJeyV%O~VA)c;r+cMPyLqTdnwb-Zbj_VlKXaPOn#=f)W> zy+D3PPVfBdRW)W5=(mhvF4n+S0WkxM?sL17wdm`2+u~;$?*z|Pc=%B_GSpLPjU-A_ zTr;OzovROjUu9xGAMRsu1*fkN9nNms-k{M*>=Yy9L3^S8`f7 z*UCP8pswR5*YaV3hP27LMbs=s1EKI1FM?39)Z}Q?;A&6+RxBl4hYJR#c)5= zB#O2#)9qMRPK+fS*-PA@YX-@n9%uwvkbBz2k`}M5?QvEBMQ>&Qb;2eBC=Tt>&(aCD`;G#|5^CXx0pj z8$|=qY0RtQsb3O+?y(&yAd{23eO$=9MotXL&B43Gc-m+e=dT|Vxk&sxraHll>y)bN z!hZ|@%TtCrgM^8od++VlK5S3(4LL!5H~z~wnlf051ud`6o;L7=iSWOUwkoZb?FRgR z*#T{fNyh}yQ5q*v>(VpvYZ;4oOVIfL-1;=$TsMIs0B@d&}XHfmS!y{#wIHTH0-}rCfe{5$HcF%D^MQ`~3+{r;b z2#mvEJHBs3UDyoENt5fJzKa(R-lB!jloJ;Ixy?s1iE&&y!W1tx{3mJ^%}hL|ohXjejM*&BRUuj-xtlq9t>gByrQ8IF0UL zpzj4bs5|A^wrR@NHe>sp(iv{lb7>x&u370x$zYP<|IhW01_9H^+6uJ%-uQ1AP}>DB zhctJ@{KkKk7d~V&j)JtHAX{ZD1Us7x|5H&q!T1r|WlT_kvm!-KX%Gd|qKzx7cdU1< zOjTW}=K6okgC@$(DU+1_Rb9qsuLJ7Bs!TCShHd!TSH&ZJM*Kg-e`~Ct?;oXrz1n1$ z`f2(tNtlI5_sQK(5g(R^Ka^bf|Ip8u|HlFZ_=gU0#ZLSOFAGPoVe(Wd--vP4h5z#O zF$;R|xh~Osp29`};Pu=8mvKQ|aJ*mqzPy@`{|@|rMXY9I>E73FL;fEotrs;2|9|-Z z{2?}1=yUzLk6-h#<((J(Kj+D(mG_~vm9B7Dd;gIJ2;K8fVtf5a_b|u1PhTXe@H-Uuhy3n6dMM!OzK}(W6kb6ejQ77_k1TSvafTm#|7k^#~Q?pLmh^JWW=x}xbfQ07wNkIGvN}x(ZL`Z zJG7wFiJN%+YcZTvMCb`A$MST$c-?*s5UWsA78z}D#B~MkE!r-Gz`*VTN(VRc(CW4> z*wN?L*J5ZUU==?sM0IcuVNEkGx^dd(gbv=I1LETNf7Ok)zsG^!fCaeN5|Z8k#pT4l zuv|_!CT0pKc4ZKxd*Ekg2z}YivG`~IXvb>&bOo+9sg#6dD~(;R8xW{yTpW|w4!@rP z44_pN0dh-G^8YNX@M-zE^hSCiAIM+iM1cQ*%>Mlvg9r5gthMFA!DOJGhUX^S-BhTwE)1io!mRlM_J^C+0=`sQANqwA{&Q_pP~d5PGn*Uo6-F{}#k& zm)qK07~q6`p`$1Ke_i;80IEP$zj;~hJ6Nuk)AqmcFJDz5gMpm~XKA_{x>#0aHW&Wu z#{W}{KSyh^^@aZe_B#*7uUjvt`xp2wZ@7ZV%l}vSeN0D+Qd@!l>Wi|MU0&nAzWx6j zzO>EHU^vT+F>Y1hKVd-skNZ${ET5%AGMq>LKNeU6RF?N}m)+1T6u$LsGGYM~v>@*b z|19A&btv=#$R?mY*Yk()+Lny}()}U5OO7yb`;4h8)>^%Q6b_Ex?!cksOWyvp^Lb-! zD-~n$W$5a8t@&T&FU+fHugzk*s2-YjT=Soy6E`a}AYlDhtv@pWv&L;eSbx98A zYCUKaaq;IG?v_>DpZKRoc!huJXrC&m!2g<2%LwLbYZZ$z$}mQxASVDq6qk}`HtXuo zQ399F0b0ewz(0nwwl>VIgCEE%d*ROG`49ik$ye~C2*#NH?f<9t2$tV6A!qWpmqbUTg5y33;x{`G6(+UhdhQl;y+xp8hy3Sf=9o~S@521vuV>{MaAUXw z54+SI(#MS$&F^0su%vJ-xFBx#j zo{{!j1a{E@fVB6F9#wW}1{mebcSPqGtmYbj%&p?OL2$qo35vEEQ0}L#K>M|GDDrth4h&5g zR4CxlT+7hMWy9;EE_08MiYe(6WJWz>0BVyrH6_nD;fXbwVy?bLW?A-tL>WiKGpy zO>9kmz;l*9>A81`URh=k^%<8=`X<*llM=s)bmdSC;n5RT7l=<_MSp;Q^}ip#c)bnr zuly$52FFLElMkl6Dfux!4Zn&cnu+c!UmQr|e;v$*nqL<;h~M!=XUt8}!vtX`sgAks zH~#sL4afp{{k5B5qxvCfGlm#VwgdmAq!zCGeE3}P$ix7D<6jaG{?({uH#Z%-v9uw4 zRyD*&RS5Vqt2YLDx3rf$%{o9M$exJ&D)FEHpzJZ!3&RtgbmGr`*pI}ccwNEkT%+n= z_(z~CKS6ygmLS2-1XBEiakYwt!9}vn`NDsh2WdO_MJXSXus`rG&N}$7*e(P;p{RQb z2hZLu2SHzt_9hHM*aFxRGcuE!Kkz^DXQZ@!CIp5vQLh(PN<}8qTnqmz4(jB+-o!MO z9^!K6=;hT$FUK@>;a{?}wr~7b+=n)yj)qwd$0(kcO!t#8miDb>n}N*5IvH+&3k!28Dx6>I?tHGiK{I{;Q;x)A+>k78*;YQv9uBktc{4 zVXEX+ivN+@piq#x=Ex|dSm1w!%eOU^IK9ae+rHxeSJtp&0jG|+m0u_R_i2a7rPu-s z8c?{NGWv!8RzZw%WHl863IA^&HlfsMbApFCT$H?D@DupoVX~v|&w}>o|4T=i@bR+C z|6_Eh5S^CRcZ~BR;UB-_s$Jk3^qqjL^#7LM#P9G!aB3+4P0V`3cXJ^(=Q*W#3SH6m zhM?mZ-u@H()Xme};i{2M=9jSCQ85ZguAmk9e?DG~d&|X*EB`<1E5QGGG_UTsWsowX zZ~g2uTlW9q%1Gy;-*vdaQRxE5j`?HEciWEK%yv8Dv#5`8sXCriJ!Li zkn5O3>s5Xf-OfcJ6@h#iuO43jJL>>x3GB4Q1P&1wg!8Y}o<6#?n}X&^|M7aq$XrPP zH7N@-BSLtaE`qDbtE{qKPW|&3BM#vy?JigjTz*=TK$W|>?S*B`xsfn*lyWpnlC70# zuiya0UX2_k2Oy@AI|ZW;Wl?@k7|UQ{dbVwH*V@n;P0Q)L^n8e}WO^q$`}~U2#bWE; zg!k%v+~Xw7?{x@c0v4oReE5}>?uxl@qmapP2Lj{R3jMpFS5bUBcJvkxVzi9A>I$r0 z*|Wq%`6(dccc_9haotrNJ3^5mFwx{8b-3**vZG8$lq!tjnm2+G^C*IpC?bItXM516 zSCM3Dln&Gv80ykxOCA`e=!JY$+|;qi+WDiPhGgS6{xQ-L8VVOdA1*9xu<5cx@U_}q#i;#70f^_##B_@|%#R*B zBIzCWSiuyltFbZE7`bYWls|g3gm3sL1~&&|;%5?&uv2T|I;wO$ov;KRJx7`SszTOOA0K(5Y(GuB)|>8OaOT08f?~LRB$@u7 z)W~tkH$5Fgpuw$dv_qv5gUGopNNHDO2f^ZT5EZqF|MhXk|H0jpi7Occ*ILO==6Nmf z&sdoEl^uPBolNyN{_6|>b@~6GT;cz;NBbc7gn!Gp5Pd|(7xW0p3B0YsWz)}%>j03L z@V}a20mf|&j%L6^8x{%w&G8iu?@xOq8UTW~fMXtb%zC7UBhVJ-(j7>D2j?o3kX6PpT zbL=HKR=MCs#q`ZXDAd#co5;u|4V#v!`pF55aj3qb?e!n{XZ)Wcijn^1|KoSYh4%>#;npni-O96V>nwL&6u6eZK}r`rn?^C`2P+3gA+tM z)MB+BHB|nu6_LQd{eR+rcO>=b^q7!)Pt0j)57Rq^9QtVh^o5aeShBKrpD@@$S;iS& zaBjuVhlFRJ`yCbIrUEk>*hCEK0+Hl#+d6pPL0MNmOGdtOczZuizkx%s+2#Wx{b)sT zV-jjs1PcUBW$-u-6d|bnOZHJ?=+;{fqe$;Nq!PiO zdwX}rA38a|ZB0->LgbQL)>wG3gi3*cLC|Q2@Hp%p#`*8}KaS5s-U6J#zuRBqxE9Ir zGZySxT_}p|p`~CD7XwUEC0m=`{p=(%sPRK8?WAJOse|xdU3UrtdZqSMBm>10An~>Z zkDxhseD-dlDO-xA2G9Ntm{x^*JHdUCp{5j^P+NQ*s4*6DP~zj5hU1id{`_(o9NxAI z31wnA6`m+p6gYSWFf(?#v;|{Vt4A{6(LmRQJWc5BY#;2+1Y?atp^)1eikv$l({XS@ zGTh%^1wpZEX-0tyUEvGv#Qn0pHb&XiN|tY|f`0e%XB4n5Cl$@y0WxKdIW_G9mW)D- zk|D_x0cBVCCGIY49U?38e@Y39M>v=#kusxkxSLyQ_1>jJ8Vr z!%@>?y_Z^}h=2g2s*<}gAmAS=YZZP*k5B-ojN8C2;OW(Jvj|s-e`tIEzi&bcF==O! zIC5WYTNI|wYfAi&`T%d2#nO@ug0$+y-P5#*TV0T;3n!33MXWl_w~MoHbqCp8Vyz0M zg*>!no?Z*8*Z|w``)jh=COp>1pCZ10T{|^^Za4+Lgs(aFY&+ip>Xs#O- zLF&Rk`-07?aKEwojLsTiC656dibRLI1n!ZauBsdVloV{czmB40&;T3a;{xqE!mO`1xdD9~-d@Pv z8?Ov|1KS?bk7)ZxnK((NN$E5#^L-}JRME>(=zeTb{K$b zYJ8NbCaDt?$03h{#rnM)QSd?oiZKrUtBnzJz?tvm|3#JiH#*k&k(3z-;N%|_xx0~% zc|hL6|A^2O77mIA%el5e`eO|AdzWVul#er$Bi1eOuJ2-p?VZ(N4d9*j4$((E3%?`( zUp<|>LofdifAL1!l$*#{lO14m$4-?B1LgQXiF$zPf|Dzc#KuxM*q>bSi9HclmSn^t z?I?+F7P0y@9UWP=9N$dXE4xMMK=qrU|KDjJaqu_}Op^W|u0?S`5mT7_E^by`eG32B zy~_omz(0#u^b5JeYfNCIqn?L_DaHAYzgAOCEbR5;_`m4?<$Obd1$vOLCB0oOTZ}!WiSz>Z7`kEoRIe^@V>8z7gdFhl&@Wzy4BDT`f#$u^|}Z z)tt-ze^jJ*4gFNf$q~UHWRB0&gnw`sdAzSspx^@~;Re6#^tTV`fS3gBykQ}1Lyy_R zNQa$OKma19xB93CAqvJpDo0!?;`$XOVjjt)F<;N z#h5S+!r$Cdmj!jiYPABT`6^D0bD0ig@i<{)C>4KC#{X5~dfTJEQT%`69t`ZC|LuSI zU;l3m4iia_2D>T~X?MDJUo#3D<$z%)9Efjp)Z8SHZ3q=BIHk()Snw!_Ll9gc z(li-3Jl<7G{T}qP^R>RG6d+0$h=0`Qu#+}VwrNEo;{?aMU|K=lerR!Y3epY~Nsq>} z!AisYXrNtT7i4_~ZOHSgR2G1f+20emU9rTJHj1KBGXOR6pqS^mj5it-N|V&|hfBgB zZ0lFSN&BXzxcXzqxV}we(|Q)H5o;HS!Au2aUMbh%r#&O76=tlCpV%V< z`Bh&S27iv_-Q^_vyPwasFX)ywi+QO{sjNsfO@W&u`j9g~K0E%t@Ly#Eqh}?^ge%(6 z`dt(4d&{-fwXDA9=qY4sb5#(Uc2qmmN?md8&0ki=u&IH%8|+#WE+hGuI|!tuEn<2l zC}>p4h58>$Kd@cmf|eXPK3;#RlM#+0qob-A^3xvyC&E7) zAw0>w8+3W*qfy%bbK1keOaW)kmv2-laeIluz`qBzl7AD-&tv7Aa9cv7@07pj<*eo- z-;F(S?fKE4DPe<5p4(3QoxE35RJTy=EzeZFv zjdKt1A7;<1?EiBn(%u?}LVw!c2mk+gOk+RB$rrQ3BhS~dK)GkOr`(43x5ChB$)F8p z-v500f7;IH`zH>yt?))1LCXW%|HGO<-yByD=S&$+_@{@5yZa@e()SqWRKpg0 za#1t3fg)%>qJ8cdr7rwCor>GC-3$NJS=x7%`}U7(YHyRc ziGK@2xV@BR9gq5mzs|hsiEwv@P|HP{4*$WnjyK&i4P*T6xvmh$$f%y=>Et~R>I?sY zOMU)0kRi8iJgN3nowK7G+h}4ze>ec(h?spZlNHm9@GqA61OKf;fwcM=%Rfy)U;baV zS{Yl6{{8ijR*{`WmKK#sjlb|uafbhAY$z=~-K;h;%F0`d98=g7=T~zAkwS^^e{k~L zMy(?f!vC`;;7Zbon)es}#S6lJ1^!iBLCjS3Wvk;HCHgJmcWqB3oE&3%GEWF{w!>M)~nyFl5HW!C{_!= z8m^f)cLcN}2C zA`tsxzdT|OBaQL+^K$jOF`-fbQkuHjEO-dXa^#$AU%|}r7wY?iG8C+TL?fe!KCS6` zwJV(teTFr&2O_J)USQh&d5!I?$+;(1ZD@5O&m0y&A27H6jt zvB8UhL!}u^n&KiA_&5Kj#ZjVYbnk>?_scJ?wUd@StXQ|R|KLVSVlA-8v8|roGI3Q^ zM-fIZgixTjeKE*~OjorwqR;1i)M~@x)r~{!QM;nI;V`CB_Sc^{M4$NYYvO~)Lx(o5 zFNq0pR+R!t@e1Zo{GVSDpQRoUGmQdUVHS9bt+;qxX)f@XYoWgFcu){HD|KlbPwdorUFX2R{(&)1KttRk{Flidwkv;;_#b(T?RUPr zDy(FJXSGuQYJ_J8M;sn6fH59;%5UsE{cmwXaop#cf9gN{zjqSV#P{TSddT5RWMT7- zgUO*UyxFc*3@24|`hWP~8hRzFC}V)Ww|r0jT`%8WMd1hjM`J5O+SU;<-@(N*fq%vt z;r|ggb_k0xBIySf+j3@zE6CGp^NIid6aW2B%Wl?7G43Ir2aktLU32E2z&~Xg?G>@f z!4caf|7J5i&CzZYPn7*Wc!O`$6Yogg_|d;yw1S^Y$^bRNAf^g087i$sQLb1Z6Pl4PyI}L#*&kFkbeGpq8Nso zkN;Qh=WwDT{;%!~de+*zJ>DlYKGYA)(h(sHx=Mc+sm*LC{J!>vi+>|rvxEoDm%iww zLLRR=BmN;)u~9mn=EA9PW}P05Yv9Nc;Ml0%-0@8fclaqb!r9QOrewoa%HgP|QT#3+ z-R26;=bgFuZgV&K|BU}D9pkzPyby(c61rHfdQ+#jOcMX`a70GkmknecXuwe*f1-^yr9IXnOCDBk89Nnz?9a$f`MqO0i}|K|~M?Tv^`Wo|ZY z$huK9ny>lrM{jVRj>_2j?C04y1TPF4&b_aa2ILd?pOW&Y@bZ;a=No%_nk~%a1YpEn znO{;G`16wRKLwmOUQcENFnD43gN`UnUdFeE6fzAsHjL>7l34jWn`Ih;OT_^heIE0B z)j`Mq)K8rna+^VK-hdRSbV-9&Ug+vr2^Jd*!phjOHyiZ^6yfUu&qURWz z1-x@?5qCW1!XF-X=eo=OgHFSe-gbcr1&VZq;0tsNEP-6-W>y{2Et^Qo>AL3<#Ob0~ zlf8?Vq`x@7zR(@}8n-_DwQZ8Z*ykUg4NA=9`1+iYuV)jeV(}gtl*P+)dcYh5oX5Ni z4@5g4BFO~Sk{9+`Kl|S)Lq2-4dcYy`^<}>ys?Y!Ptv$3$tDC`$?x;Wk3V=}R3=*xoea-x-;oR$CXHnof{!^N)h}(;VL*%&C&= zG+yC7LN5a z@QhaWfZrCb`-=}?&TFLcxr=(AXaxBMrqtr|<;N}-@e}|1`wmwmLpgopAD?R+wC!=+ zGgovsU*5MaJ$Lwq#e3c7DLDt3DF@$Ye*bV4$f_RLW{}|AwpTom+Q9D{XA~|h0B0|8 za9J7xzbi;bdbCch)NhWVz%#AYWXL#$GxGoNL)nZ(OZ+dtEf^&Oc8E_paIZP5;4zmB zVcVym!C0$0I);EpM31Vb{D0uT?ONqx9kQN@>1{nAqVxaPK21hO|6gVQPj1)~ADcTp z>|pjj3Y(KWBGDT?;fjIH)Fwu_1HWm9<`${FNSSskuo zqDRFK9VugnC=A>GTXb{b--*yZc39#aj)xO34*F00+cvv|`|+vhul-m53ctm1HHrUH zA-w*;zcAf_e?B64QGH$he`1?~rtokFNhX&=VXb~-^Q%5S7OG+d{r{&A$OtdC*{Lyp zhxy8Gs;&^6)Z`FzxoZ``M!Ef4y& zfH3tx@V}bGuYA6!lefF(EB;?&k`t3jGX7`om8(iGXF~ubZ!+Hq|9{5&^@v^4E93uD zB>Un&-9r?}|2rZZa)5xaB(dW`eg71l;_>vpvGMsEXA;R0s3qiF#ex;Fz4(W_YMV6Q zdiVM4X<71meuU9cLi8AVANRbp?<=a!**dGATq9{va^RkbU8)g(od*=`GgXLVx;-q= zRrsWT!jFitVS{`B5WvX+MgPym4)MLHwLRBuPm4^~J?HVfYpMgLV z$SzjUxnj;(j(J(ProK*sGh^4KxmjByIdu$Ry~g;t;S%eQ$IXC>y}5(F+Gj*W(*`pk z$oTwz?d+O}Vr9A&xyVh<`DMoh@p&k(t}&u3gn%-i&hv_9u71Xe$ATKpId=K%zgls6 zNu0KI4QFxEF~8R8t|%UiDn)fg;5(g@VxL-B*XrA7{1Yk#GfAi5h~l9f{RjTHi!8bV z|6>`aZPm1|muu08Ndi~l=(7C9t)2~$-fEPc(Mp)tTgtS6EX-Y4Yk!9TpWpTtv#Vn` z2$twBbdd90ur2PO)VU}Q9J|9ekgxl^Vq_SH%DwNEhz-x%Jo~~j@xMXVw5yjD`kuPc zzhXg5MHLFgyz!C$uab+3e}`+9oQu7;4Qw+V4{4b6akQr>1hYTBrv?WEm%`QUU{bYi zv;7~t#{I$Wi^)$FS5%E2eXTS<`F0)%EnI^M4SOW;f;CQHC}OO|plb#1bs@8)E>)h7yt#(#mo90#(e(b!en zA)gI*_F+E4l~?7Be#irdGD{2S7x2G-h|d+E@Xy4F7j1RNR}`8A+m;G_o1#ELquolM zzjs(&_vFE<>qAS0zS8P59qG2+`?v`!ENW>VSLE<@E+Pq;e_H-u(dm#3<^Pp1H+)#F>Hm?K0{@rorQg2rkDo3lzbmA^hhNrzCGd(q zAAp$Kuu3tUNW%V#5m@V*4Pkn4%m?DAHvUJhqFcV)jPzp54oBDW{}LG7{^FmUllU)* zx^_|U_=rX^YI@4A*P5?$sHnw`yMfo*9o^|B@nYR_ z4D^8!|BuD9XLnK_Lua2TpX-r5k}AOt^m{N&?rA%)WzDu<7VQ2L|3gLtImT>h9-nX8Y&ru?IzdX;h5mEO>KT@TDKiyvxwoit|xnZrZIE)E1 z4TTmKrz-GYbfOSTD_R*Y3b7v@=Tg7?zkEd1efA~`FL^^@y86V|OSGrG;B@OyIsF~4 zibrjm#lI)}ix_PY{3fB19FM|V&T5tyrF+=`TO(g{P7MdzIk)xyJTQDFbTgyfj~Vbh z;Q+e$WZ%1ke-S0E^xM_1ZRi5-d7L#>>`i0>X$ePG#=6agc5X z{$&;vxSDeC^8)V#NXljH+E<9ee?0)(=Zc^67~6XOAe8eXvM5V~M8~nelhxAzZ4oGa zEg)&7jQML(2G*zk%#?~%GkhamBT(1!uVN^VGj-ny?ln)mZu4LAez6}ol}YDHC#3!q zNbx(Pkvh)Ue}qTo$>rK&j+Ks4Q|ETj7SZy$bwb)|yIar^PotQ$*X0|?m`lH9vUrpv zj{-m1R?EhUAxtWV3T5$zNeg3e2M@(JoWxQ-Ugh53~ zZi>o!bnq$ri8t%5MRx3bIrp^BZ(#8y3!&?CwqSVcs%d!3U(@7j$vI3~j7~MsJ@A^I z;HFBdiV#h5CFh!dSveX;4PAnMSGK*M&nS_k-ahwmci5%73EpW@XY-4EUqUO28_7l( z&0@@&AU6iBlv-NCU|YSrG6zZ~S9+0ks733apG}u`C;?)4x zF1XUWT!}uVQ{i9--LLR3OV#}QD;pP0EPMgR} zWY1ug2_1l@_YsE(K8?I7l3RVxreEp%{gGTOC#l#X1|%;Gxfp`g-#1{tkaiGQVEft~ zA8$OGHO6Y~+cAqpkydoQc6fgM0oQzfr_4DazIpe?e@PCL_&+yvlAe+gK^1@2nmU;K z8~>EjjsF7gRmsN{cUW~K!RPvOAb1QGZDP$y{@wngd_Ve_Ok!Ri70I2DQgLw4qR@`2 zscbFGmAPiZ7dGvy!=;kYT82{Mkr5yVNqsY@f_@b{U<39`|KD{PW!koE)V6A0L*2rr z>^DN~VdKPqOFrw=IIPjz1~8Kserfg>wnN>Orq?R=5G4Hv{;Q%cVP@Yk&O~^0$VWSG zV#9jOr>x7VFaJLr)6fwpR4?0nL{dxDO(Rf(Bz&)I%YKErE*^XgD}C+%TRLb&6evo4 z787|m+#0Ns?YDl6e?8vX=F1V~hKsnl%lN-|lR_Mz!XyM9nwT*2Ir$mfuVOWrjhGdQ zhHokiPJS%>zm?dOZ%tiwt7xOH_`lX6jSF8}dm|W{^4U-C`VV3@7K%IivWaNN(i*Ao zZ;_m@rhno8q=}6K=85^he*^!UU>pC&B(2K$$HzyqI%HpyfrCP&mNIJU)BFrk^<@uI z-7owjv~0%zSL9F15}sV_9SvR4_Xx=?er7z^7VvmZO~3#7`+f7A03q}giPJgfWgS=y(P4G^s;B|H|$$6D{qt&TW!$TOv=EG4Y?E| zQCK<)eI!=OWywIggAVK&@yHvA5Khl#2bi^TYi>GRan@JhgBm^^XI9_`avshbRqu}R z4`ny>A%!BaqfPebgtO=bX?h@dbD8u5hwMiw$2*LqA1W9m#DWX$$_k{JbLc_V8ECrb zK*vKBD^?ADA4a#Y!YxJFLwm?K&+q(H^v2_K`cmH^&Fu1c6|lAJd(G;R8xQ=_#`<^P z5L8(?RYAs{+*H}pFz@h`NWjocv923l4Xd+rbLge8gQK&D1YA=#K6sg~lsZ5dr zUryA))x!UH=JZ35xcW^J5A@4U@! z+nP=+mQc*+%g52Z%!OWmG6*HvMq%JU^M`zcpp@71vA!M|OaBM{DOVM8FovVkey<&C zd_DJIA*6_ZWG)u_{{Pjcd`yD)@9-s0`ZWxz!)E3G%Qg};B^}bcjdiHNm;bg}OMKM| zh=ylO$=om}o&xV<4R%0u(8q+@VMuox5Rcwi9a0ZN2B_coufRWTP_yn%ZW8`a+jtWn zm2F7wI56et*IyG}0i1N`H~#74hDEvi{(y-Xo{8{k6xGUqZXX!@)_SD&!v7YhVT+qO zltN#0STc?!hQR+NRG8v(W1IY9L*e-57TCGqrJpzcrKZ3flvsiPg-pAG!AJC{ar~!PwSNxA<$gwg9z`XJAf;q?0^j8GPD&qY0cKDN(`NmVt$BMy^BMz4oHed6i z*5bdR@BKvae`Ky5_%Gpq9IMVKrXLQKc?+(^BL05o>tDQ6NB%#|SQ$VTFeJkZzm8Kg z{-^G*0yf*9-~0hME{DjUF)p3m885yp-S|S9$GnAq3UcKC@n|0{t|B{@t(-5y{}&)? zx&_oEsh2X9lVYqu-tVdl?kM?w4*BufM~4znfGu3suGegTMdHL!wx}?-oU2Pe zZ}Vx%8M*0m#+Q`F17fSFKTQU@94f}RR4)!Clf;ZD=*ZGTo#x(yTQ9(0))MO zGnhN1e z^cMpdn=*qSYK(;lqB<0Xd9TbkyO*!_RbX3W*=r|2NUpRqD;&-Sr&HkoE0Pke8rRct z*tlRElPoBAD)A$O(8wWI1inWOJbTFjmm6U8-xi!?hrW+p4-P`K0rtq>Y@qXIR51W{ zr;OlEub;Nl8bOk#iojG&YDd$#??*lr;aj!jNek&f9wx^2f8!s4?nxY(>>yyOa5$f9 zP`PFRvyV^=x`EmbUm->jP-5N(_M-$L$90O9Bb68N#DHXAGdVd7Waj&TOXGsu1S zfm)&wU=qk;=`))$&Q;!=b$P|)1$A}2%9i}m6lHi~TyoAzoaMg0-qkS|-8Fbnim}#< zujbCgImp+3p5nvvdR#_Dl#1Ez|JR%!KI&5rfQ8BR|4;h=KC2w(->*NS4QPIk7m;a{ z9IizdX06DrbXYYEyHv|<+ca@QJ*->9eKd21yDcrBzVSM3;D3|^FPR-y$vxBu@BS^@r<%r$tb-y8pL*=U9K z7?hH?z34@@M))QEqu)vlqj=Nx=#!5VWi~kf}>NozS zj}cs_%w43q7x>3+yW{^q-@oBM*csEvG7Hps@fH9~M-kcKWIo0CpL|e(e^N-=9cpxA0DmN*`F-Wi*#3sN2lYe%h0eD!ox`S zn0NQogN2?S?8;`^-6_9`c^2VAm5t+U^|7*Q`2Q^=EXGj$nifmVzVE|tnB%#Yh-E&7 zpptQDBzCHAy%&M(WZzMXOg>gGA+hc4-SXV*o8hP^L`;Q2-NDcS&3@@XcG=**j%&$(k#qcWtgf0;1?>&?i=Fomhb|oFo zEd!ik%*!Z>M9xFcZfhOi2d3JUPZ<;}bmtiNISSvTb|+-t#6V-0FtK_qne9a$BP9HU z(?N(ynJCC<#QqpF+uM~8mp%9Kf!&eB)7uy*SmHXYZe@5(j$f+c-SdX5Jp3gsatou_ zkf&lDQg?sl2tyCbRjzi>G6wKqzZd7w*;bGZeZM?Im!et~G(zF%zeYJXEC~dtq)MK| z^Uqc1bm+WPc$}CE?P)My{PIfHtqzXN;Y~*;{Nw8t`L^+N^fh?ix{HMkrfhFKlB;k+ zcDsp92R5>13_ELL`t#@IA*UmK8PnlqhopZBxqHRgkR|U__Dry4>49|AcGA*USK!1y zlq-wwZzQ!24>i)c#>wQ9`0tUtC)r1zP0w{EO&DYm|IpVdYBR9Lm%&??tO~2ttyaP< zl}n!5BdjZSMd)<-zzk8yT9aYG<37juKh8}Ft~myu3IFRm!oJz}7oQU3iXmj@9J7R~ z1hP8q#|h3AqK)xCa)gi#J}ea-WhWeyL>iFND)mrK+l1zz_UI4vhFNfJS1dZs`tNaP z`ybi#fCLo4Z?jg-*w@coiw+1xATuPDjsf<(C5gak-i;Gl7W6Yr$PI}IPLDiZaa7Y* z1OJ!zZ|GJwU3%7qTWOmb(zbOe46ZzKm`-TG)#|i+BNxf3woZT$^wDDaR{8 zyQnvJF=QO$|Fq1QWK4<|{!7yDE1~)F|Le2olH^dn7ycas^o9Sv+AS5a;Bwl@6>*a; zM);>hfq(OYS!M$NBTOXzE8j4wIHhgGKER#y!SXZ$3v&G^sVe!bE)VXwjMrA9{%8G3 zVRx$I{~5hLzRG^%k4JJvM<>a6i?vMI59YT6ei5H_Y0)Y9?ZW@%*Ma5HV$3H4yNDh- zR|9!-HjtUK5hL7|7nl3m2dnH zHf?Nf{^BHWb4f*~uY3fHYjtu0WA=S7Q`R6E(!7bQcAP<-Cl;Llz>7S9~ALJ~=aTZiqJd5VHos1y<-y{{bh020j?)&PIEciqVRLJKrFd35Wtyzul{3UWdkG?gKj%(o z`4Bk*I=Yf!F48~6o}ZtW&P_&bgcrwquz&EO35WV?!8t=Bp#!vxC_5()Yk{*eKLs&$ zTBSF%sEv|7&XKbFDs&9x>3F`~q&8Oq8{;G);~MHnI;Atz9G3i)OnF$)PsxF1k!*L6 zH3jRo(h)-z8Y67xH87*I@har9*OC|<5T7x&oL=N;P)SRr+sB8Xeq@e9h)EREe5AiE zI2}8Gm`HsQNoQ0t*2xwyn0qyTXYfBBLtXf39dQN^wf`HCVR2Yay0*V|!9oEe?G*%| zU2hCz**^O&d90%IfGmxF{f+*zSUA^31Aja+yNW_U$wrl=?q{)6tV=;ibD{&?7c$y1 zF0OwS&L^QIHNc0*(To$aO3CXe7`h`1PHBICbe4{GTuEtZ`^V?)bs~{&#fS=a=ep05 zp3Q61-k8)~)ZDEOYl4e_{|cN&Oe$Rt$Sf17#J?`?Q2>)4JE7sQaCuQo5#R>MWp5KS zA*IcD6eE5o{!7FFISmSMOr&huvS}VzAe+L?{OgDjkM@Zi_*oQ?Wb1v4av)<^x9~6N zvpqZ-c6!OTWJ$df{0E|w!9L@n%d5mf#i7e}Vo)22qrGQkDg1xL8IKKP7TXkd0Z6eH z6>PViDEnLKeN-WuQX#;;ppY1I`}<|jVzg0VWyK(xosyc-mio`%dmnw?X-4ujlF!he z800rjdUDKXymra={6}hNw?KP@qF$W`fIq_jZIZ{X`#xv!qdp%cgE>A`OiqHfAlFC> zk!(#GZI9Zw|NjI3a;z1=X1gW)U(ILD1=#Kj#y;KC@BkZvp`<{J@5~GwyKlz|2ts#`Tk0h9Tx#)6_GW9 z^GUptbM_I9+y76<-#$q3-Lwl+M8?kL0Y<<4Kbd*p|H;X>|DVfl=HZc1cpOXk-(8e8 z0JM88>C4pG3i%BDHU7bO_Wv9MjRSous+hij)VGQ!4jfkEJJDXzPmz9~qUc2Mm(P3g z=LX1`Z|?#tdGo}gySrU@JUKx#03F7!Rf_-nl6MAc1E0RK#)rY{iT`rG;he#s6d@8P zuDP~tqdVPpRsDshkpYpf`S{Rt;lDKHbL1=SO^Hd3&L#fX)=v$&LicLOL*I!H|HePV zm*IG+cZ%Odposq=Y50Gg%li2>->CTu|3H8E|3>`ZwmGnb$E0FV@)P|3=7RI(|5q4q za3$mH3jAY!C7aTr@&2Co5&v*NbHynnGUC5=WE|~Fg&paNTskA6q|IDAca9mnCe_c5 zybt}qn}1J;g|yoAT{ETTd0~g0Kxel1`Qp%$ADt0j!BpV?zmo7t{}2DNDa*!9d7fS7 z|J!$$>m6ugJWg@`&f~_vV!h=Z+%-H9oHz_ovq;xhyvL+<^Wk|2iSneF!xfXw`;t9# z?sMf2Th8ZVKVyEmO=JvkQUjf$7Q6PZDNbzcnaaddp|~xEK}--#J96X4+%3fju6+w2 zJZA?&i%8G}y+O;Fj)z*s!a#kBRI#NSf&ySB#(n*@YI*lo1{M9o%F&}%fa=BU%kvU; zU}8S@&Eu4`%i;3{e@S*}-jsIX5z4q};Iu`@M@1r_hOXv8ntS0UBzha)ID##BX z%&<~o<7-^xaZI7XY8k47-PFTS!5pAy>V_Aw?ff)OP*FCjvA3?GC0;Qv#PJd_*55> z-fPVQBZYEma@mi@TeDmqdB@5t@lL}m}FY$~_xr16>Lf?uM@yE_RnA0CzV z>yb1;GC+WM8;V_}Jc?X27E%U;!+y7GV(9Fagey#<%6XJ!SS8=MRsGK`Ec`H2#2Z6Q za1ZR`h0X#?rC63Z*wS-ZTNN164!CF@A=ImD2?pyj-RBhWg-xYQ)v0%!!xPqq6|818+@eWNs zs9A^({R{s?C+7L$+@byaBn=8xS{&BdT9Y1n#88k)Pk?35sX6`LL;crWFS{+tkymIWuKjbq) z^jrt?!>P@CT>d}sPn}lZakNg;AH_nYzqu31N@q|^0LnuN|1a?0b@^*d z{mNZb8Ex4wcgb4kc2;bUE|kSkc|t}d4_-^F_`hXJn+@2)KAtoa-*WIfo~L-yQZ zd>#G3@oZdK`f@lw-Z-UrY*py^Ul_amzZYl!!oN{~2Enh9U)FU@#mo4==eni7`#pZB z5RLkCPuJhc|1bYaET4=13I7iao=2?41yRL$;FBW7Vj!za_#@c8uE5v;*UHDVJ2~?4 zbszi#6M=t>pG_eCKb~?IPKpU&|H40gkL3wls*yel@&CYl3bw16uF6;vMtMLcd-X%rI<%440;_=0?5x+FW`}=sR(P*vq z_Kf%Y9dLDaaJ}%zyp=v10&vB#Lv>Qt6dvCy)V!R~QDEb$?v8s$rImmM0fVlM&o=Nb z>{9IO{EyRp4_D4fYVRe_W#<{^8p-mixfMzBQjYRsC0wMwl@>$xa!LXwJDCk-bwf50_ z`!7~uo+#Q7&$m>AV^?!N2Po zB1{HGaflM4ePnu5ehOAL1T47CZoMIhx})A&rgg`<9CpcZ!&owN!nF>Hs@9QVwYEBj zwzFoWgZ_WxpJ@Gj^)w#kE1rF{<9J%o`%>!82j3zf2vUg?9!13sz72E2 z)|R(VBBfv+@+rFK{o?cK6FOpS)HF8m6?7$xLO{j@cPf;4;T!+7cabmnqA5+{6oH-& zBR|PRj}i$C?WM1)+gxDGtfA1pL2NH}Nr#U?Xl%f|jn{eVVAuh#uMI`a6Zog&8P-9+ zteHAndmrJS=gMfAW^5-xu;#Kc_Fin~=R|l-EB;|F)<&%GAI2h{Xc(*7Xs9v@P?xV+ z?tAOTzjaZZ0{hJhmM~8e$MUWBJ$#v~G5DC!Ch5uqK z!P$1;pM{nn-PJYxKOZX@2nUj1|6e{9v931vqjxn+qL-bzu-7405=+mRlW7NJKscuI zLGUR0_1nK1gIN}BXGRkY{9@W+hm=uM!6oA0n~HwpUm{a(#fX<@)mhgS@q>NKg#WFo z%NIZ*805&X_!5W7xB#M~>wvhZO{MUFFa#dx8m3>dU zmCOHoIKnHzD`Ck0+m09%?IjaBt?!*dyAvK`dTCdm;e`+6oHb5}FvS+=hnyfxZl~lU zKpu`>nSEm@sQ7jKwp+$q@xSD38)6ve7Z+8HsH!m{@DLAzf8&vNszkbJ`-X2{LqD#0 z|H6M!jXvvV-R&9@|7Pq=dL%Db`Az34TxeX&V}bu8%6IhYt#C@Rg(80rZD|KoQQHG{s4c z=>Hoe`8)oXA#VwS?rYWrD@-$rErnfH8#mI$X}o#~kiC zXD!=lRGv(4Fd`cK2mcQ^clz>M^x5J6TLIUYPb%+2z*KYb6bnD>Lw^Xd4g)8NVO!Pu z|F?9ObJ2nBeuw+f!COW;XKakUjZIWEh3t=2%=0Enbp7y^^R4B)>!IphPTi_BEs1{hu1I@_CT6`nWATe_$c{%lps-#T)7-V@Cd=f_=aQ>%bR2z|$ zA$kq9xsCnxWv3DO=D7}3e1&ovW*RZ&p%(RB4?@LT!y8<#Xo|o$MR?fbpIb?Z-OmJ zjsuASQRk43A?fKxa|-F=MW}+XjgdL?^sBQoe}p?10A^T7r$-Vu47{5@5q8LEw1EF2 zPCXtff^SqRCO`T&`xzQpJ-&oOl+T{mo&x_fk++BLl#sW~tJFdAM|*? z=Ihe&XR5*5wrvQ$km%*IiTg34w(0#63**6^VE;$G! z2LAv}ALlF2bO<2okR10}xjjWN>I?Yqz<-hMt5N~XO}Z4M_lW7K+tc>{+27>u(Sp6P z>;qos_q1EcocQnXN8g_lZ>!^cJMd53lCHQ#LH0xC8AKx+jHCv5kxn`mxlD!ft&%SQ zpA1k>-)wvhX8jlvHrfVdJBX$DZ-@F-4AODHogM()9CL$7XZ>%GIj6F<=*5gMU zP9vpX3jE7hUEoxx9EM%R7hj_04-$@OO;QS7+rOP^j|9UY^O}JwiM4iMW#(aXsB?B+8 zE)A1+P94^Ga0CO6w7PQP=9i8)d1E{}i2UwP#P&9xe_m85-J-b@=+hwt_l$Nvx}$(Q=4j@Y+?AL1&S?k z2{VsEB6w&ZHi-Rm1a!rT(D42(06Q{ofJ^~wIQB_x%8$aKaJb72LKc%LO&i-Rr)oYc0J(+V&`Yx3`APq z)jL!cgr@<%)!(O_M1s}|og+Xn$%esb-lzPm|0mKB$&ZyrvUU#>g%7;IDWA=8bq{BK zxAbe}s@8SP5-5d)Cp&8kJ8P%!xgibRf>cM@w&DZs`URo-?L_#TD|oG`g#&NG0XCxp zcH0kouZ3aI5=YTlT2hV`@6Y$?MLe1?vAvGLgl2YDqp+Z6uzYz_a|>t69#fw(Y(!$S zk8V(DPtw4#!)DbMb}AOhUjH}R1Yuim2UOV}>F};p83xJZ?;Lix)VT&%YhwyHNN-G- zNaK^MSTqtl5%o%n~V%iV~X49KH{kd6Pcze=wC%#&;>a{8(`-@M0xQHyNn z%F@@2613%86fz`e@?ANw`zf+c2!H8Bh0G6&WEBINmQKetB2Zful5^VPn6}oQj?8p| z-om_KGxYdl7y8({Z*2=`@ekW$X0c0Ykohnjjh1--;P0KsM@f?QTEVHHP(bU0;k6UZ zw(Fb6^Mw5!Lj0Rag3Y~c>=qcK;e4i4lB9!Av2cI zm56|_lOq00_zx5`=?g>JL`IJ72mkwj8%to!T`HiFR2^3l|MlR%;&T0fPu9+HLG0eB zBKj3^A~+0U!0#Nx(xPM?oaXseb_#a$9CH(itg&f64sa&{9E*eO;ZS5Nh^#A+8 z2a6$35LO&ht^Z}A?oNJ$1<0``@gIvI`n_|w^@D%tfW8yM%$;n)f4hN#JfX94T=|_7 z?M3`P$XC{Vi=QyRkSF6oE3tGy`hhb%X&be>rSSCHo$;Cm;;@_Mp?Dej|Jn!b9duS% z2;0I`hyT9?BXC}GDYRTbgB>bYN&#!Plkun`+o#JRt?$?!OSQ*#Twf8)_2PeYmN9Kk z=!dpM4u0h;poHt|5SEuxF>Ntd~&H)AfmX$oUGPp9uoBaNAb;L1j#| znEi0?AXpI#i-R3gl25Pzix+fsZtHBclZBoE&P2{t>YpQOCYR6rwR%h9%%HB%$o)>R zvk14VonVYCd!>c#Q?%5nQsLzL0k*b{xu1`gN8nJ_^Ukxqg-!(glSEbl1chp-R7GtU zP4retSKRz&^}(|y7@au`wmoHn$$xydGi+P6qXB(+PWUrndk7jTUTrS7+{H*$HvOIP zksQP=a4t97`0iLjpxIC&nY<7PtrAacH50L5g=EcU@5G~W)E_a{L46vloE3wcl~V_I z(Jo3jUCZ8ceVLT5Rw7cj9*_C7(R5&Fyh44w=}JI`#m>7eLrtN)(XgwpW2kpABo-#J*f75?_L z=1u&=cnJsE7KL8fKJQyVuX-rK2*`2L22I00gmD?$glL3+_i}S5=y-HQ259c-y z{uTOl>9N_O&3r~yr?KbmY9xK?H}J3Ngl$wC|4?sF7TJY=w299$uK5uEWq-}|L7|yq z8;lG1ugA_xei31d@GlucPE+%+E9O~5|FCil9KQ=9?8l~lA6@#6@t^en<;=dugXhRT z3(5!oln*g|`j7ZO?I&Ym7{crSfp5jfQT(}IA3X#t|Ia2A^Rm!Y*sb=l^OE=Pip40J zY)70)Z*TukRUjcQ{k>Pnhm=JB^W#|cUafO#98L`{)1R|Eqj+K({$F<($@~QVA8n2C zFc1DG4MO_zXZLF3E@FZ50?KlWWoqPE*O(x2epo?fG4MHBpwnc2{2Y|}ao&~qxBOqx zPu1&hFaCii#sA~CP|E)Y&LVz*ZS@`(a)iz1w|B0XjpM&vj4tV=^gZ!UZfukiTGt`R z5TwPOBagE42uva^tV!MuUEh0nwkz8l>92}KT+RG5#Fb)(E5|WoRip#+i-WN1vPo)T zh+V4~*Yi9WaWNCm9qLGl8Rb#M`BR?X9zMooN1H6p_ziG|!`LrQJ#l^yi$NXr2b}W0 z`G4dnY-}-E83ELN5Vnq#svA>2>amOl(kDw1Qp%8~}ul6~2K%ub6Lg{h5K z#yx{Md<2l89x?}`2t`Sfcj%)vTMLjZx@aCe_RYXwWC z6}G0kAk^e|H7*N&Dj9Bzba?#GhxntBL*KV^l_wdTN5%TuPSAnkZEFKPX-Jx?L4g4h z!q7v<8fQE9?N6FiORF+xkcP;>SI}}8230h)3l(P{0c=~qe0accjb9%P#N0*WByan$_KXG96pw43LgFM6P{%}-{O0X=jd zj)rYqyP(UutO@p+Ul5neLeg z<6SSe$gqnp+fjb09iF-%CGJrGs-}G{X2*&QQKg)V%WvW3Z7>sj~Ck0mRor&gg4# zT8-TvnxK6_KQ`b`*(QJNQ~6~g|Hu2TIc59}*{>U6F&px0FOS`zY5hNwp$YtVy(gbK!M8;sE5~gcoYWuYCp^$V&Ht1UJBJe)X5k|v*iTzyP=HAD-sD>! zeP{F!5<4_xeF9#W%Uy&i*%TMyYm+|m&c;~&4w37qdITRpoQWcfMkR5LU7f&d9vr@? zqxhyXVn?jAiq#IPP~HgS!asr6f5Cr)SbBufDV-l#v_q206~GDn7vsWG!JohX;9t_e zk7`F)d}Z~qO_dYCX5d;AvMSn+bjJk7Z9r^`v)5m7uEc+5%NP>FcKFbyn!lff|5u52 z#+)}X$SoSY_;28q_=hb+{3TNMo%<jLRKax;jXaCI?>_}FFn4-nAy9Hr>$PWC@ zH{uGf6P#O?XX=NF{{Ho^3_WJ&~k z9QRjKem&a4jzX<;qJ^vWnO!w|u83l;Vs)p=K2^K^Ts$e+j%0>Qd9wX|G%5T)<&8PH zh$sAqYEUR2jIB$44?9;E|MFWfK*j(4hlz`8b*u@l*Sy=Imi#6AYD@Kf?VZ7`95BDmwefu77Wt=SGk**8=5~f z5c;Uw%xS(mOU=+`goA_46paNcwmMkMI32=)!p@RR?*h?X%ln9H*t?8p*2bOxJBMVV zyT6e7*;ORH{I}~17aJFxw2f!;Wy7)E9Zj^kPb0V}EiHFP#wqKyXQO%W;WK`s-;T5M zEpT;7lB|ZIbcy5ZV3e5G4Lm+kw2H8W!K}R1`q)<07FQh}v7pTv;zW`GcLTL{L@}l^ zUT`q_fNcypq%G3sN2xe;9RF5vZ8+PP)nX-xTlz%C0wh$7%313*>{I{pty$j}CNsID z(;%;W$>!Rx3j`yx$W==Kje*}vp>C8#zUu*vuZN>96NMcHk!Cera(UT6)psB#nfcf@D6>S+UM4@hEt!-;y<$Z&` zd#Lz~NQA)!>#JOtNZ&v^rH3IzPj3?X;f{)Mh+?^wc=Fto7G9mF<+~^a=W;by-S9e=DjTfQt)bxB1AR>n|8u0RWM`t7*j>es<&O*QRPQ0{yDG>XRXW^NTv~d;!COGeqK2^8oKG{mZS!J}$Dy*(3G|Iz zcF}BiyzBqrNn727?3L_&x`_e(pYAJhHHoU80^As}7{sQT83-3C?(T?cDRgM&P};cg z#v7<&2Sq-Rw*#wS?{4EiS8}E2z=`osS&jqE2L9Vc*?S2#lrR1%Pk0{N3Z571Q3Nka z_!-OhAD@r##JTnJNLWj!CHE&B1^&%+5y$=!pCtZ`0o)(>$9V>r(ZupM@!yhHbC+!; z{@03F)YWilOc-0`k9N$A!ani=AqqndSz=zFU;p2DX+$Gf5B!70f?r?%FLO4i+IGG= zvTq*ux#EhVrxS{1ac>Kcv>kFl?_wtS>d4+H(^8S^l<<1!w#LP;F5tfvFOg(4KDFK2 z89AcoiGP(VqiBTj^y7cWqLcq;mpA^es*g`AXxdhnHm{eUhENE` zHVCefGIZMS-~Ipm75~lafd7GMpznq=ADhs;j~cUxRWJUR^ndYR!O7I+{PMv-osv5o zP2p@N`4Mrfc#d-P&V9VpJ*a-Hx1wvFFq0i~9*c2rJNfd;2JXZijwfhyIXf;cr2lV} z9V7n7Jlo@dosfS<_}sINFi6J#2a5RU&2YC$F_Yopj&f!Ek)Ne?V9Li@y5IG%P-8%k zUX0-w>okroF2{t@r?DcOaV|qjUba+@w<=o6w9dZ<07@8>|1O-Bt~Z8x(hW~{Z8mrI zjXeN3zk$~d{OhfGbF_IRa~hZmuu=pWj6(B~P2Jl+ExFjM?cxskEv~;h`0O~2A5j`B z4h91kIzumhc<9deviqnV%aQ@1VUY%&q`vV^zLX{4uU{CzE6>1*`~)nHVj;xCIdG;TGu!Om!2_VLxu4R;3|>Lb1)K|YlLsQ-CjV>aa7P5{n|EAz1LMH9 zY+$&LSv@Kkw}T_~i0@R;K%jBr%@JKc6^Uld$T|XMGm~ei?Dg?TCsa(>*`Yu_;@-v$ zQVfe&I|(P*8Vzxbp!0IBcXw1fQiTI|-GXAMHz8}5Xv=>fUs)vZ3i<-KH0`#N{mFn720raQ;#L=p6xMS3e5!i~o>ID8`SK z)KmtYxR9$Qv_A32{SU8u-)WBZ%=Vwr8UNBZ$IJ}~ zy+!S|?S8xZJe4fkTzQ(oKMrk6WL+US3bJta&t4wkTVzBI% z)a`;ali2xR;=hk6YHikM5Mes@H|qnpoqr&S3Js1SpxyG|mh#Zav{RBJ_yhh`s_apb z=Xs=a@!K%dZQ{reR(NHH^TS8_(1d-W$9W89)^l%PO*szYfBRF;pC(ol|1pL-fjG+k z_QUx982^yTK5<}o^~w0BHWFoS34@!Zf2a7XyNt^iYm&*e;z-L9iv-uV@AL1Ng8c`BsB+(ytXG^GeE2>FFjZ*~VFt}$LB?V^!v==20_XTc zBHnSB6;8qrhPUL5Fe~H-G4K7kOA5~y3)o+aJ4H83LuyhLiUo3J9KUvpfq|QI0+$)p z^^H^F{3?|mAA*fy3YrZMpsB0(mb+yz*7O_48hOb1kP-HVbLZ_oroB)a+@Pg`DFH!k zS}&fL`uyJZANtO&^o^WabC(u7sSTFt+{Ok8)4)s-w``y%pnBEFK^blKpwO`M%pfr0N|I-jZ~LKWj6M!6j7&i*v|E1?Je z0(Ur7iVG>uuKN8NSLEn3NK3S}rQlYUOyI~3GM>+UscVd(rBf`Gp`ggd%ZLCk3mZZlj zY}}OX5Eq5z==m{2j)4kek-7b4r3|OFtAm*T!~gFMr>vT?ZH?y8%r1!6sd9afUJSv; z?j{@YYX$z9q%)b8jkUiojm(-3fo`i@WoAc9U(AF~;ic!OhC#!GBXA#9-AQ_$NlGAAD~}x4*q@)Blg`P({M~ zfBQzhB8XMoJT+0@yMO5^gz%{JN8)G6IOBipmTlMA=*r%FXPi#Tz6NyPd}4~+YF~)7 z`M@^#Vu#y*`u_<(I1&H5ytfyA=E1-9puGXR!wujdZdi@|7JAOJt9<+Vuu6J=PNNe= z;(Fr0QJ>wH=(NsHy6UBmWu7n;$UH$4Fn;tzQs5{snzw|UXnfsxs%IXM$}fcf2aaYG zu;4A?PyRoCO*+FAKN6(RM;ssZX7{eerSD(o9X-05%KU!~xufWOWdi)e;$|-A4ENlqN6a9T z81^Y?q9v9&T`W=P226a=s{c#M&gkedNyN`2G99 zu<5wQ7D43x{9SVPusD zr1ibuj~pUqX&NvUUCjJsKc4^_f^n+-#GyenzX0XQ)n!2|SftDkcD49GMWcz(SQ{>K6zBKvnV4^T ztbAgKvaV7X0y{nv&yUmD-Ie`*`3Gq&gD-LGw$qaW=6LDsB)-$KyQXgTQAmSc!>6;X zibgIkA(;YQv}E6wt2uVoyl~Jy)lOq60E4<>)AeZ1wmlA>u#!m=Z&k^PFE}K_d^`FS zSD$msJpI4s5!lFGTHDY0%XKk8aF24VEjE;&8N=iVFBXu%?^gDy$L1x=4SN5?KMd_} z@NXuiFY+lW8cewTlh!Op;UN?OfqpQ8w~uHbcDv>fp&!CP~gFlyR4G-(0T3S|B1ye4f5?% zoW(Frjn3>&iUL{^NPk~ML5^0zlZzVpN+SO2 z!T(S-hzT3MH6N448wCMRCiuNvPIF=Z-=28J&yWA-RDRr3z;IIZ-ZjGLFz`($(Vom- z@ZY;7V1hRKnfmKgO0+QY$1}lQ9M5;rvpZw5d&SiW?4q~$IE+>BtjW;pRXj#lE~ax# zgixp82L8x+M2>+aUd8`U5u~7>p$OEM@J~cJ4o8o$)rq=uX_)tVyjjx4t=1xZ@;6x! zaZluJ@`d-Gwt1BT!s*i|l;Wq2|L12=_6^O#T)|L3G`0KmNYPoDDKihdgp|9qR&qxS zYP(bP6W>wSivP(OU|-sFW8=U~ynuI~Zb6fHDh4Kds9HZbPECqmW0tJgfBfJ93R=$?pn&O3> z3$vILyqs3-7%ZmgJ0Mj_abOetejYs(>YFg59m+mJcZGN2wA>R}@H#mK0F`94fOpYn zg|T*^ao`z>=FTYuz>>gFnXU6Fmh{_Z_Fd)E2moIOV+|R>NH?O=8~eDdQz?%jGgl?y z#9xY4ox;_Sfe@iyxwP!*5>EFXK;(sZyA#YAfwQkGC53-mup zJlFi+@2-RY6kprgjslwYuArL9!G2qWT_(~b;K~XC{vyqyHk(OTl`BZQ^JRokD}F-$ zOiZ=Q0yl9tkQ;$T-a3w4*eEc9;5ElV(i~4dH`Cj-#z1BHz*n?)ul)3*$yz6v71UXySQn8MM*C^*0#qTy z`U6gJ=>OWhtZwnec|ucrW)6kNxTZ=6ZZ!)-#D9}!Mvr`92IO&lGUG^nubsr!-|;Wm zRJJwIw?4u=DD%X>oJZwhw&#QW$1uCzyJF;dIZ2|8_B0C))oDK zJ^r8MK>RcOohW>$7~?`?yHJEe6m3&@im75`D<{e{Z1T|~Ls{Z~v7m6JA0!RIn{=uo=N20?2lPYLR+HutOJwi6TdKTjJ zf+DD7WiiSCs_OAM<7hTyC9|^7h5ritL-%?#e7q2nF$f;}>>MnFBU{(}nmO=(%vgaj z7$Gy|ldGC?{_lf-s-LLx%G&-E09yThtW!EoQB&X_s8YXbW*p1w!-fsZ|C{bcbCzKZ z<#+E3|IaQv#v=Y;ji^^>7Bu8SPW%49pKvYOvW&F<;;+6`o&Nv1U?uti{&%A1DZoFR z0sp^L5n%!iY)prw0>}TylMZ!??S^q#&(9F0xbhFJlXfcI^5CO|84DH*#%nhyIx&x2 zwZ|^5kP&z0fGUN5bXGDJ2Y5F(J}jC{%!M?$X?s;JoX`rX|F+C^Oi&sBTuZ@o@6-CM z6U8!$95!(ZbEjWH)3CYk2=2?Az^@%a=tTaHc&ad4zx}w_V95 z`k(YlHYoO{{QrBq^8Ycu!7zK8j##KzSjrts5V9jwRkq4twIHBzet4VsIQdsk+gdXc z;Q`t>Nq9oLMPlRtRv7XR-+Q(S`Qg~p61n3_4tMVvY(bd^M46BeP`B+8#Yy^-Lyuyn zmfp67c08qG)XHEs`@KJ7r037=cKvkewT4q$Z9MwmP^#9Gh|YQ~r_btX;N%T{lJZR< zrwMS$rz8g{b7$4wsu)Fn6MZSiKbdqn)sEwmc{VE3B?H&hGfaNmr; zJ&$>KEW=>=VG=lJC3TQ@sXi4#(}WO&yY0iZ~6y(Q0T%U~=B`J4R!XP4AyP=yx)C zp?bb;f9Hyz5nG@sJwlbSl?K(qXAO6Nn7>6r&nn|YL|u7(G0+358p*lN*XXIt1sk^e z&E?}D#vT7%MFAEwK$t!6Y`@Sd_>>0(nt9BPLWeE#8U)WwPAUdhZxFizQi6W(=XOZi zG7MJBo*B6*dIB}!e5a`f7_lugLaizJos)O7^@XR+b6pC!T)bS z7H{g45osV5iD5ax(j!wPJ^r|N-ecU8+hY6^F7ac3;m6jDe;%M4ZtxGhR{p*NB2jTH~@?*tk*{NP{nspzN4C7qH8{P#$2{c^~JRWdd(4-EbDCMTcu|2@V(IGGmi z?s?5U?=$f~mU-DOpzjC&(n*bGP#oWb|C$Nj7CusDx7}t!WO=0h=}gZa74xD6qp(OR>SzbP+I*7x=S@Q4|H=7KRE^@cQNhq-j{dpQ9e(l8 z{~yCZ{vZ8B0jrpx@o{AohjxVGxcVK67VlA9Ew!C>u2v}k!rs_MoVu1-SYpz%`T3>u@vMm55|$*OUhA9LKPOtzhr@7O)LI) zL1}bGXZnAI(y(RjCfZ_rjWf#9KTv1qx~AiS@&=|BR_pcS)b9`e?JDPu|2u3;@&AZg zc<+P$6^h@2_Z*y0{GZ4FZ()s%shAOZbG%?DlK3xAJS_Ip{z`NE%J#ov1Xa;qsk<19sw zYnyQ|o1Qmf2-3kA>*&6C(f4U><; zAXT5KG-&b5R|cn~TaS%>^*ES^BE|LtoaV=E@L_eM7R!MJQU`zRoco(wte zLSz5@6LstFWuH=Vc)FCZUD-%}6Dn-Y)v{}^G_b<)y$)wokfv@MO6>MJtb}2^lUEb( zRoG(GJTQ)#_H5rOlSU$?py&p7U8$R?dWxBRu2;~kQGw=O+VdO~O;>T9@~8d96xjzM zfrArl!`>u*Uq`+Nd>0*t$EZM{BT2I1sdC>Dcm@1zdoZ$D$2nZBn;mu;5TzgyD!X@| zB0fq%95zYbR&UPn2~rOt);#t5w8rY8>Fe)^x#g9jZQBnYT6>bQ!zgg{C~3?bhJ?UO z!4LH@FaO*&7{tMbwzxBh+)g^Iz3TI^?jHQFDMr4g0zgMDKCh>d8SzbdmAD_Svde}` zP9Cz^!)ReDPtbt)KYr$)dgTSF>VcA(M_ChODF&zQ3|rb)1}`hOCZ;z%l9JN4#gSlu zaWZ7d47q*>@UdQLpbpZ3f4xnv_Aug?``^&;AA}1eym`9cb%qHU;^g{f08-(Qh=0gK zGTP+IMZATLRNn}^6u^So4Hj9*ut=+FoRd<{+4$!!s$mAW1-Faa68xQrH|;$*pDMVR zKE*_81LJ-$U6G6qZvt*}%%iK?{a?_Hc*?qxm2fa|ZO_e;%w0lIWbj|E<$0En(D(@&)3?9!4&;5!7Tdl+@eN39+Ze$LO1l7Fb_l`D1=72__- ziuX*ZpoI9iBbF-WPTF~@Y*H?I=OjKO4Z2>|wA1Q{;enU0()q#|6Iv9O5VdeZfwSt2 zbs1}fEI&NgXS{L0gS+R!zr{cB|1K&u{Cf}b9ToU;XOWVOGKa~E?;!Z$5AZ>E4vU)S zKxqp(=H84a_DOI679>=RttT)`4svJ>o3vQmwegoN+V*=BShSpKc%xjj7Gz{4NZUA%s$BC#n-hII63k4Bu*+#+$RHQXCq#>R z-tm3Z14sg-)vcxg)t&v*%xq>;t@@72GHb5qs7m73Oq@-W@e>hvzgStg0g@jezR8J_35>a1;WrI)=%;6(7J@*!3 z5jxWG*x@Yu$I%i~(i0u)1EcOoJdFa@V-Ykqhza--yxYVn$G8e#_M$(e?D!$uO#7oA zuWjfI6sg;W(FVITvdX-2tF3Tfl^4lL2z2Q$EK8b(&)w(+n! z84TFacN#k&J+Ex)r6uxWIRG;ZfAp5Us_zm0+YUkI*fJJgcVDB*xYlneNpH~(q?Tmx ze_embf;Vsfm+LsD3H8d(S0;{#vVOxK;J=cK6uVh6TNukxTUNr_`>iEPgOg9( z`889G&ud@Jv4$c@9|(ie$V&s>?;1J5)L(3G;y2Ll9%T8GU@iV@(uWh{d(-{P_)pB~ zgNU4eFpfD3|3A@AKjUX?QJB`Wba@v;6dz!5pv^^7PrIJtgy^Ppn!;@2VY{?u-Gat7 z{Wzh&;9tcTOFeV|v=?2Mjdz?Vre4}Wv+SVrydrBawpGWD_ZWYOnRRD8uEhDu@_S1UHvSR*eSTi;$h4_A%aeMqk(0ISgX z5B}G8PT)HnYse>Twwxp4ntefzY6EjHgzj@z?_=+pN!2cY{e=?9HlM_2li`7*bKte>KFf# zQL~mr>p%;~aeC2s!WP;wJZ%wl8LZVIXn*Pr0`zgp6?uQ={~&PKJ^CNTG0@FkUnuGo zok`e*O-uapVg3(oW3X}EAF+VRmx0F^0h2Nw>jnI@`cU-xa?+=X&R_Qc4r9!@E(&c} zu78Y`1YV+0uhyt}YbK!E{NxA!l$E9iWA5lxTrw=GcE1w5Veaxc&+g-{1@6!yqaVFf zT5(D@&+bCutpvrutz$Q>kW4F_qA_Lm4)?!Q-3s#Vg3Hc`X}0hqKiiGz?b|)-KWR^(D9*iL&fuwEN}zb9e6Z2CmYsELfCUueMd;wSJLd6?gtfZ1>+hOphU5N!q;}H(I`?%?#)F{avqBy9JAY zcdbllPE;XC;N*=kff=J*c0}rb*rOHMvieO&!aytVA>B;Ucwr3b1U&ZEPMz;pJfIPC zxm#fCvj>!_Te&^j`KjYmc zTIs`(kK~9pF}#$cg0h80y{im~k99jMW25@>(JHtn)ecB$o70|ni>>ztZ=vR6m$iv9 z38YD1;wst~n_4d3qCr@UEP0epf24UnrMr!cVq|AYSenvMFf#dhzhliGq>&}o4=PnwU{FUIe*|#_B_&@zS}py>zwu?INc*zf%TsG_T|fAjDoV5}+zGpZ zf2p6}ol^u|<1Ktmhqz*tEl=n`_@ADi&!NMkb^vdgHviVa%wJihZPF$NoOWd{Jfuah z41R;*e#eM^A{OG!mQ`G>|Hi2w{ef1$F~ODS=MU#JOl@>ESGGH>OmDzB5w=eb`3L_R zljnmJYjC=)zJ(578(JCvOqW>>jn-bBT-Wu=G(Wq)|9u-Zu)o+oAa1OFzAk^fJgXLj%TJ2_Rn%_$s*zoa!0PX&(@Ok_hq z_-nlpoupAIV}p8@q^Dp z?fD^^ikJy5W+;S)|KBH1;%NgD6IB3ycDoZ6w}af**H^@JoK4C9+d%r4s{;Qdc+P}J zDkwYe;N19kqO!`e9qQ!3YfgMGZ@&N^&H-wHsfizQ)`dG@lWQ&?${Xvo5+(~PXZ*GTc2S~CKo zg;fFwm#&4}lhB^vI|PbBkA#7VQtG3xG0mA_v5KTQx-ke8GoaEfZnkG8R~z@>@1tEF z63d~C(Ej(kGxN^YDJ#xnD4Zu%GJ;8kdJ+R9Rm^kVJkLi5{6yiu|r2asc2=YWLdV;_F_`q0NQpg=%c+NNDl6+u=I zXgz@zorw;muW>;FgW-5h&>afBAl|mIy zp!2V|KmKnFU=GDtm|{Y{6tvrMsk^o&Yjc66xnUHOa-=jA8)dOa(WJ`T45DYA7uWFW z=6LVik4$cO78P}8GAR1H3Ddh7BsO5E;H-ua*~G8CQL7nigqZb{eRSpd7jEk$cF{j(V%BS@uLH_YP-P^L z$ZMBwF1E1+&e#PZ|MB!E@)dAcGGI~##T;Ae@_h9vn;qL z_VrZbVI#)>6$2jS{=g*Yl2N1J*lq(3>eO56Lwy&M2gk(5|DVG~F$(yv((7HPr=8#y z4aCM4^!Ak*A3w}Tc!ZW12!$uT1gHGxZO;J!^RKUuzBb+*y1VWEDEPQNK4*c**Eg@` zZ5ft=_x#%BT%&Ej>2gh%VPh%Lzik{Q+cBMzExM+XrH*(inWFuTg~gkX_{U@T-dBfCO`O{AOBzQ7r}jsMX7!D)9);)EhX)hnyJA5`j(@3tB7U7 z#`X_e?T>L7PPoE^Js$4PR)-6Lr$ME z*4XyLG$URT>OY?UJkJm&{^yyI#?CgIgJ|0YWkMZ=QV$vM;{TvNvG;90HD$lYF}aAd z5I)_~72ZNxS@;v->_)E5d1n5=Kc%vwX{92V6arp?V>f&nufyIc9^$8bhK;pG6C4ai=vSrqyqR$4XM z{EAz%7!Mq1^&eH%_Gg80n`rj=-Onx$jHinEIf)dqBPN(q zy=EMoxyZ3H3%};DGQnDp^H45NZVe{Zs5KBiJH7DT+dDBMB0>Op{JP8gIofQ!QA}0i zp4eHnbgLxcCkeZ7SYr|vm#Bu0Lc@VTuAjJpV8eli5zM$wW;0zENoQLx{&jVG;*9(R z#n7e8AEjM1Q1(>}j*x1%Sz3x_5U`3T1|zAK4Z)3>SEPRoln5s+h5~E^6 zq^igHXDogd|Hv*vbxOo5ykv>Y7@VKh$Q&#kn&>bgQeyaP1H!?FB}QfegM)HQ*S&6U zZB2`LEI3Q-RvG1UXYrw}#%DI@5(_b$D6fDIFFSwYKb5jNwTEdGp-k%r$j9d42g|C{g+B6Zb2h+F}tKNH#B&bJ=O7WP-DjRi^_97L+%sFq)U4HkOwOo<- zF24kXOA<;?ZUZl`4-ENw9U?+z6nuVTgzHfarIT9SLmc$M9wzj^vL&y$`t7q{c6jeTXb)0s5;21p4FC!r{O~;83Bf@nrj9O}DChvD%r|)y zAshH_Ug#ZE8W-h-2Si7b1)8VA&8h}39mr!eicy((&|OfUF#(nOp@egyv|6)g0R8+N zRZRpa+{2=a0l9GRl!+9;dst+lN|Lbm4Rk9E+m@yUrwIi0E|g9@aR@uEqoP!M(^lH% zw7+p?H+g~QlHAjBU@Rd`*KL{xg>ZGReHRXGU$Azgq*yGstD!rClV8&a81 z*j|_Oz$f0~%~2Hz4&ek6=1Ja&NQir4FW!bsPshg<#un94XdqB2?l#rn zIsO`^mWRO&@>sWsL*&?6+(~tL&C&RtNd!l-T7J zun}8!{7O5HgsT<;9gh3<@w}}KP$+p{33$K{z<;UH2G?5yu4hwHP{CrgRymB}}eZr(^64nQr z8;S59-Z&;7f_t|3GIys%eCHJ^#R~Ke&hF9iQL<6>=u&*4@2ErZ0RlZ5zmo59(bD+0 zPgVg3Nm)xEH9tcbCx?hbCtT<5_(0O%TxXEdmAtMuoPK=f>Nw!=-)H}1VX)-?Ik&`r z$-o?j?*C4!Y__{D?swOncH*CgHLCWl?L2Ql3~880_dAN-${g9&-8L`$+h(3N%K-E* z-9O_B{Il2x+4Y%8ueXEzWM&1%qisNWoIcDV@Lw)WJ;kx|w#+vEsS}Cos@`uUl4w*N z3j3lybABNd6(k-(l}!D%cV9itV(I%c$qG35eugM4`KWdw%tra(pbch-Kp2D&!7bLp zakM~r2fU`@UrO*^0x0%?H(sfpKPiO7|B>!m$vpl4dF`FWM)^c{R}Mgk|7u}w3Xc;P zFLff{#ocb^u2#CNqI*hUI{5Va?N7mueUZ@mulNta&f-^ff@9wJEB@jC!BO|;)I19b zfo+6|5Piq0JM_V6+ykYX{vS4T;sQ*@zeC9UyuvPuMJ)P%^@%rtjv}jZ!Y8>3|95h0 zWKMrft879cKYlIJdCF|%)qhstdQQHTjE+i0*MM<5%*3stzMX%m?`NPRT*?2J@E>+C z-o>=NA5_jI9P}-ZKmBVP663`6H|AUpSl@o?Dhk^;i58^OOcmv16w< zoVy1l+uX1^=Z9lv@N3{79)f%#-?AM6$B6%1FIFNhKFzw#mJ1H607JW7y?ku-vR~Og zrugl0kFxW^AfN28?I}PM4W97-dl`K1cfOJ5Pq%guop8o0s}sh2?2Q}G{sQ|)11j6% z=x>GhD~;<^<#E!NrwKo&Z7gb@+H{E`9I|*Ucwunr9m}5B%h|P2lJcy!GD=AzTaa^sO#+K_lfEA%xn*X zzJr6ce8+);hL#0axZNyl=!_<44?$6jp{ryx(7Yq$9daQ+333v6pYh$ly+f+ewqLPb zG9XL={c&zh~&8PLpid&kEoIRx8E}$PNSQ2XG@<*YKG^z8y~{R*|6G3t9mJG}IZC|F%s6 zT9J0Dxr4tza7SAp*O5%@Wt?|=YC1iEggX(caabSKXmo8TqE+xqd?*%uu5Hm2ml#Fb zRZp-s4)sMf<_7)mg77QR1N0*3vM-FY6ZG0;^%D?5;jv@K(nz+D`}(sOB@?ZQKW(kM z7z;}~I6vuM_CKF}D_Qf5hb$H-N!VA!wwZwcXosj`eg1`|bU%F#GYzy{Pw0Fb0#dD+%pSX9e5omQ29tUhwEgg|N{G%7$*> z>K>mr3Xu|y3v{!JX8=?093YKOqbUTW&4zhtss6zakTq{LpYG6$``=%6Cc*dr@T%0} z$|1du6k1lsjNbGUyk!P%W|u=;?kZ2moblU43&GFG9cPO6@{EzI6Y6Gn)xz_xkdwrgmgpJi7KlIoTahC#a*-P(R z0Wo3x6-B7_$01=`+vm^6C$0$t|L~Q6;2(|2m=y0e`^TTo!b1Nq@E;=K*)l*l6A_a4 zC=_H-g3<_uQchVZ*!eb0TUI*rT*0B(os@N1w$Eqo^nJx5@=U7ubv0G{I9eFC{`s9J zA7!E<8CxhLl&(!ct&i0feWLNNnYpR9PfB~a4O~u3<}z*U*bbySIwNq#)1|tJi+l5Z zqtofI;L2T&IrjPs{yRoe3?SQm$p6>tmx^{-f&ZFU=d?8%``xboi+}jg_3`${m>==a zSndA$u>kdX7Ta(pm3-|aH;r^6{Z(*$$Lf)D;x+x&pvE}f1yA{nJ!4UkoA3)xa`9zi zQNl46YiE!Dry5T9e}(6X}Fm}Uku4DjDC|Ng)f zQl92C%erKNZT0rpSQ}Uy-~K_CiU_9|gVV4M0NKx+iA(Xxlk87$y!1rbmN2x5)<@7m z{BQdB#eW0AG+ay$a8ly`6h30pIKrzKyjBWal`1m_P9Bj?At4=&MGZfdwGP2!Sj1^4| zGJ5Vi+c#l8mIjP7oFDUlNM@g2IS-c&H4N>rVnBw4DEH?s)Sic5Z?C7!zmqQD#SOWE z{6RU_IE^~4zA4+6={Lk)R16F=76ljvD|wTzWKoi~`-A^d{W5$F@XwM?k;D2K0?&r> zdBKu_;(vzUE5|Le^KEu>M)KiWxQ=R?wX)$8fh1n0vsFoHcZb73SzS4$v0%rpqf~n$ z(O0SHG!;QSRNfk$1lR&F2ag_}ViuXWP*$0uH-{d#kMnb=H|GUQ?k&>5URnUZ5)tJm zRx4zrep!&93!;14!TyV9?0IlGE8X95pD$_bb{qtk2w3n6vpw4fwA$Vwp`Q!*Pf@(B zB9q!Imk<{aJfEUOh11O97y!tz*Ab|ph-B|)AQc2`+gO6GsJgDw{`+jc3S%6 z{oo&YjQxJJB&7uPaa{GM-0o%Ab+y{=Bq_{k9vj?#;Xl)+bdl|%NWM$t=WtUN^oZi^ zStG?$M^>Z6JBViDa2_e>j{j5T*cY~a9Bn$fq4X8t6U>(-zUGG4-m9JKf6y--V)KzM zb0QP23Ff$E?rWDv_~&Y%tc0TDyesK)@a2at2^q4W*m%dQna-#_@H^22K#QGSJKoy!r^vP$verNUVM;W<4k4`k^bJq zDk&ee|K6j;8{b46u*7Kl8?TJ7@4fT6to^Y*!n-kmc|P3xPvF1I5ub|H@^+(GnJpC` zv;%3%@*GRlSnKxVpKyo$z*G2d3U9|QymbWEa_=QwH1(yZq|4eU;-K7|Wct04=NNVH zPvXDa*dIUZ1Ag$&;4sv>m>Uieo*aumAJ{(5U`o02F+~C{)k50dkz&2-+g!KsUuctx zZyNU47Sw`dXx*5PHy?KXH4k6YCUkGt+eLH7OYXWd29>zcR9OQV?mS%EyRrp-t{HUB z;3&4&`04-Mei(vrdidB>=(3y+4-58i%dYAD;6F`-_`L-Vj2m{~ds!s>3;ruT+SKER z558$E-1JjWSUE!01d4L!Qam)m|84sNd;54MynVbwX_MoU3oPm?c!TD!kVxCd zF!X)@`2Xskf^d6rts1*HcxD;!uLJWD2g-+*cW6@jC!kW}A#>?=l zXa$XeBxUL~@%v@&5|B?USL_W_=+U{o3_GzL>KzfTD<@-jXN0>c7_`kcJ zHD9$EFW|ukKlrzTCTs>eqP!uYi!)Ae{2hJ#vvH%Wt|@J*R)D$q@1cKzDv3s0HVVR1 ztj;Qgpd4Yi#y|TEb$b`m%n$yVa$07ZHVbO2XDs9n@IO+}@G*=tQ-6v7slA&gaEBC0 ze4j5x?$=Q!zFKVsscWw@);jYr~*k&d+wP@c!S=_$dT9RxS68C6j?_XQuyHoxVsC3A4<5|v!uKzvI_GX-knu% zYxa`BvA_?ix(*cMeCKMl!@rLXfhl{z(v4MKuw=2S3LfFgNv^*|x(FCL(u$@LODRjd zJ0whH?PQv-OWUpS0V>2VNB37KS;RFWp2uOwylTpsc=-THwKqx(8Kf)L0^mo2?eOxjO>X_-XbwYfWV`@XexjY~1xy z>&!g%+<^$KHtl@d&|$X+(c@H(@#=kd1&s?z+x`YN3y>@Zob!%XyRP7HWGm9+IKafO z$q~wc37`^E{F@0g<0tmVM~L`$oV7L{&yMeLpw$~tgNx+Y3pUfiEBY@Jt9}b6 zlJ6Sqb5{)mFeJ=1PL{@$TWZdH%UF|KU1K|E7!x?VVEGn5>0}F=uo%EiZ1pY$t!<^S zpr&0v2#dKxE@XQ^oXHts)AvfgRk6p3?JX8!uR}dr+MfTz|EDSE|L*)ing}`W7{y!s z6EdR^xg(I4Ao?Edj>+CTZY``>72191|2vnDV8%y*ouG48$BOjspy_#}Rc(4%*`J)p zM*(5rUw3c3C^DZdZqLxC+t|_{GT0YCGfy{Hp*`=By&U zqBu5Va=7}yVY8zEba`4EnOVR|--f@3dM$5!AWpDQQTdtXkFjXAlEt(yNA&2w7yp)L zv5#Ux7X!sTw%O7ntFB+v^Fz6ZP5j_L`fT$z!Z59Gnj>ZBt+re1Ou&}ZJE_BQ#l<^u z2-_pElXHaw+4RT#{0;w_F9%SI|K(7~{A2$w+og1Ye;L+9d+1C4zgl|2S+SkIT{#zR z;g=tT|62U-v(I5?^X$kZ$4`wOb)&Co&)XPcfjIGR`+02|-!+L9ew!EJalTGxD~wWx zKX}N(Cg*xE59+4^^OpfeyEQ5;c=<9v;Xjslxa%e04_+-NkZpTWs>9-q@SpyFlvF;h zrFT5at6aCHdF$m@h<0Ao>F14Gi?>x37vL(@``AeN>@~#F>ueVPuad%3 z-1B5Vw0#8ah-Kmbt&zn)Lf~MMtxDgE5$AoI!I8h*IRw(2NBHaW$~$*VZv|Vw_@9XX z?ZD5Y7ud4w^pWF=yRp7mBmAHAC)g3Qh9|zi-Cak>U5SgsPjWo`{}cZ=a*Fa|uE(R* z)a09FGNXc4xuc3~ne1`rxOzHSFxuvt3(Bq7>$(YiP6M&Wr2X#Luhv;q z8p(x?FaAS*dI${oN6tDdg6%Ai@=xtXYgx0@$a!A3g(#sTx84sTry2b{|NNi-`~UI( zB1S>A72-t-9gM8?obDg`*_y>lm&|5^Oc#yDldb1=g{qCi~6)K8Z98ZI4TiK*%tm~$HDci<}AHRmF`=#vVqBvV=0rcrG zufB5v7ibLh-e?dQ)c_!`>}-0Or&+nZ7k@G%iR-5{|6#P|X_H4G-txlT$_iw8Etr~y zLu%0+D1@ET^C3PfBm3gy zBfHT6hAU`vQW)ScS$h=3JK+=XcLn~{Bd5CrM|N{?V~sbw60ZZ7h5&Tm3hC>7PLqv1 zo|%yEA5(QZsH-(?rGgWm!IhHFe#Q}yqeosYdhtan{LbqWoI4$_(?#=b{&T^H=Cra| z^Mi1yDk2@%?jT?XuwCLm)T!$!Ag+!L2k9|v6>k(0p%0*WNJ%>wvT~Jm*^Gp{gbBF{ z*-)r!;62Xr8A6uLdY|1XUG~iA5=s5~!^Zgo=4@tLcIXwvRuIY#?jz{d&Cug@?JXTN zY-jFnlC_wylV-!RuTDQMBQjn}NevZ31z6^UNZA%Q1Jf#4!EDTc_tV+w8W_)_{0+0iazY_nXe8u<6DZ@%(6)_cgk8~Kr1^!E$lXvdZf6OOF z_-H=psgXq7->(0!zv7>d-X;E7*psYv+*!ePY?k9677I%FufYEV{uOfk;J?SC7NfsRshC0L|`>Ps%u2?kB@|W_zdV#)@Bm^aNLMKzCU`apR!DYm<1>aE+vcpzdMdj z7RdhlorWlR&xkYad%%EbD*A9m^%K_mZSLss_6LezgUQkCxXt)+$$}wj8#OV(gfq!m$Zs>=uQt*)t&~&Ql8;77NQzILxbH ztxi`K?s}iT;Nq)#yA5{q&Bw0D_S8xQ_zhcb1md;|@6@=D?{P?l?bHqaU?QwSqIO3O z|9r3E<7QY9)HwLVXWg+gg#qrx<9@K8H&>Wp0ElRd0T5U3BrC2aKXy$huUc*V%1X_g{Ex5r>sFt+9VO0#rjC2RUKbcw)VI z;|Z5Ak8^~S!hl)@`hM`=h@J~}uw8=whJJ1kg>H!(I0|k!Br*W7*S4tl33-TqIrowJ zS)-aL5|#==fE(r)KNJ-Nbw7%83%Ckx{1*cAgqwAnE1qc@-_Ny^>)(=;ORG-oJR9A= zJChlE8D58L+}q5&eJ>vg5EEmnbVFB2$3Y=FyuW|1{cr$N@iwiPH}pk3$7-iBD@$un zvHrmS?lj7sSq3Pyt{kQrObP#LUf88=c+Ml8D{QEFbXkAFKYe7{jppHbDS3aA>==@L z(I#nLsg6QZSGGU`UleCXK+P_$|A(%jter{CPv13NjUz%Q%oMwOeUSJnd3vIH}efVL$`)|3#YToRaT<@PA`uzJKQr{8#x^iVw<4 z5mI92#$tGs6242z;RrN_SPShJ9H4!=<$du(t2+!!Sum@562$mGlVqlV!h-QHb&jw> zWk>|m%IET$2mffS=|3U64UETSYPn+*{$JoTQgtxX zHe3y-n+2wq%W&rf5nf(SGi1PrM}hFnLaXG|yH|Ce`s!S4*UB)J%r8Jx4l}=s_dYtv zaMQ5T46Tnn5M8wFVBvey2R?Y1b|GS3d#TXe_FR68TdQcY|91>aBdM7TDN!#TFkCDy zOgddzv*JzL!_Y!;2cDS^_%!4gNeqe0kBsbvqI6DEeg_JmJy!N_cR_MAI7y`72y&5i zdV-h?-VZ1)IA!`s^NEc+K$Bd(MKA4G^aiJBAb; z{U}_n7qH+$I-!XfKg!1Nuk9XMCq5?*DZiDx4kH}QtvZ;cRGA>`51s(M_Z;mm-dp5k z(Vq)R!7&G+O@fi*F4lTBh~DinTmltG6^kCAL8S&!eA#&*@FtN|Ye|Jc5@oXORq#-$ zKt&yJ>w3WnJ?aUtF~AgWA+TkVUn$@E&V@f6_}@Vt&)MeCNa>|xoT&kfKqvw6@f^GS z2EcpS*(BqL`Fnow&xBuL3CtKmwCBMW0gMf?h|so%oYD+deXFU*^ltgv6d=l ztQzH+8mAPHjn3JcEm$%kJM1%jHowCd;xUxPMJalK*U=tGd$2DSjs`a3VncJ;%sNprPCp>K4$dwYT42j~BbO7Y z<)1PB(=I4sjNzli&URJ#mOV+F0r1}6X>2Fv7k90XJ?5q=KBCDOuAVQ|+s@}OQJDRt zpvx2ZPrp|vVAyRZ{xPOi-#rMM97Z*l@L$3|C;8wXvTFIj#Q&&}vi7^C`Un0I9I+Y= z@p(Zjb*-2~;Nz|X>A?7>h9K6@&Xp6OCTRm0#E{7-uzH0}QpdlREIeDsMC4i{upCr6^^#Ypm};{Qq( zZRQqo1bhUs%pI`jrjyyTo*Zy7{*Uv=$bW;Ga<&}gQ&9xZxJUVa=4##(Ft3(ZXn6F1 z4bo}x2FCwuZwqGPh~o)+Y{+wOXYu8G50Co@F^&ipxCxR%TW%P_MS(GojDNh!s%ax6_W-8>@_k%DXsThCuEg) z1CoINq3le%P~O>{I5_BA-tRtU{_ip7Jm@$_Yx<8#o>elWog8Mw=TyHn} z-;VwB>^g!n?~UW2XAjCCi{MRiw-xO8Dqv%Oa1s)XoF0-+5C+{=G754rkd_)FXf%1^ zqKy_NCO8p3pldT&{t(}yBZSp6;)vUXK=H@@gFWareCl*e5*WuMIV$l^U@|e_(1vcn zjy`cxF;DhORi&R%k&mZIilrVoM2H;$xx(H`wz(O^Ff*hVLO?w*<_5Bo$=g0 zycP_-Mb`Zz5$yl?Ii0tsS_*cT$4UIV{Bira2brH0HQq$0utK~mg^6KgXm9}guU6o* z2S|&?%<>E}hV%8o=k&}Qh#_{aw{Qk+(01ie5Nqs|Rq3Ze3>`pe-uT^5%uU&`Vw2y{ zZu&KG=$c9D9d8`Qyw6|5PS!LKOSJGJ>lu2aoe=BBECOtMl_G+9wa&gsC)4z*#j|HP zmXfs!7cmay2KjvzQLoVmIEV;pd^Fg^O*CmSuZYqCTsvr0181LIZ_aU5qdKgXl5Ha= z79}JDj#D!#7Lb^5P0VkoB>MoGIwl(d?~g;4O}MCe?^Fg?`)C62Kfv^kbNgKTCaIV`wAs7lVKj2gda+VeyD9 z8Y~a%9r<+PpF24<|JnJqVh9JSe)Ljct|G<|h~32YlNt4tl11u=@+f;ofrciJ-|qXb zCa1rh-MdfN;>RHtlQM#Eknr6Joee({|J62Cy7b8e9rn=U-H)9Gv$7~)a?@d}CsHV1 zI@I3U^G^sMY<|GlpGXQBhm72o+N_Xa2d0RB7Cdm#bK{jdxKm>w1XUO$Ji|uFE#Pe0 zQqtHw_>Y){&T@g1Bq=K+{w-6s8G={QWP-a;xFY^N4&b*&2acD0ZIcjq?JxerIA-mT z>s>i|*-%s3>CxXW?3A8(G4X%Ii>*WanIkg{C;nI5Jt~TsujK!o|99ZO5R5_9 z=o5=572&>fq3@fV3#i_xu4jGq0+ zPj$UXvJu)Oh3}B?)Dx=0JnVYB^b`p};kyU-1z}dzb3>O_vp4x?wr3eC`uXqjfAioo z>Zx~kldNHEnT&{L(x4(KiBaXXNmWBi-Qt9zKFa>!A+LjFMkYWdn*L(>1G8?)XXGs> z6CM@%&?(g+vE7yZ`_=-18)VWgZ)pj#8Y__9qMpe9s7gFm&Aw0pj|E~_E56P|`D@Uh z?G6DCo)7I9Kvyzg**u0p#V~1_u$888sA(o_QH*2zv~FM%yDV8P%j_8e*ifT-HPmF^`%4ulN)EZE%IxqoVG4ma1tbW3xhyMkwl(iLd*&lnr$L6 z!|Fyw(1mLl^vV5@JS2A-DkVImWBjcIVf#|TBsa;xy`8udm(3@JPsgJy`!$-Ed3|%b zPfPCd7`UTlHH#M>1Wn;Jb&B!y;w0KAgHIbVtxr(K8W9W2U;KAF`2_Y{aL_SUa0arq zroP8+xN`2Mqlsmn_=oC}#{aY+i6prd*z?xI*Wos}4ftoGG!Cu3(4yBXGjNqOB80+E zhh2tFIB;;v@Y4Oq#Nq;NVz{b#vHoeV>V5AzK{EVo!$H|lvx-930oXO*+?ai?&`N)c z|5959C-E=2LHHwHY|qbu5t16rH#uUvjv`glkYHPu7$DNoxnJm30ZF8<{-d=(lja*89wSy%6P^>PW$%r zsV9+VFwX>;wA@T|OeuO~tW%#8d|A7DkOyK@{-HKfp2N|paq%JXKf-^|P{5iNmTt9- z{~s=F`?iuFi@OeRAzwx81#U`OGX6=%#Q)*^rvHL}G!kiOc@lrezh)TYh+V10$HF7N zs=R;kt#o(lO`_ob5eYO6yVFP-3M;kgB29aKiVvo|C?J2B{6;>xEpYeU>jNt$BN(>- zY#gqHjz$B>JkXoEM|*9DMZY(M5mnSf zo(7uDYfFxUG5h>F=m$=9=fq+~*)R6XZ*=sbHS47!tea4-Ov!eI)Ck`g|BSQNPwki( zGZjdk+;`;vFMCTUijB7>cmFI(LPf${(S{6k@2r_5yx?9>-g zl9choGdrl}b*6`DvG1F7_cWpTbJNGI;Xc-*YsZ1###9UjlsqS#2l?41y(5y1goec| zPUfR^%F=eq8?4_ zzSptH=zu{yvt$2o7mH@yRa*TW-7_GdaHYk-K|m4l3`oZ!Ws)6W_dxmgh^SWXZxi_^ ziO~$2*=-S3kT-MB!t=iq*A#U#Bw!IVhQfK$jP{o4=cN%1JAY+N57;8gs?u}5xA?eb zh5mMKmjm&+2EOdII}2%yk_RHHG+{1aL7Ew1G68|eU)=kCLb@Wm&}kL z+qMzJ`7J@^Y-k635)`crRor6 zFtYwm$x%j)T~mdGXpZA2CdD@hrypJXY$G3?VN^~08&Y1k`UjlKp2sqwjFlSyf&co8 z|1Uo>THf^af$Nim`);qKS=Ztq(%mw>L`=5RUm`R0xOvZ~Ff+{>k%&n0s>U zrLds5sNdQNKEjgtBBnP{unGp~p%1$spW++2C&<4T|Cy&Zjv`%Sj)zqz2&E%WVg-4W}iRd2^)apG1+fiozqF zT9_z`*-o0^8|rprhjA?2-3<#4jr# z9Kh3-QfCg!I&)(mbmfouWBmAUu{wr4MB>eV^WM8F35NjC-qdy>mR^H<-|XkMsfRCU z4nqMEZxM7&RZeificO#P8{t@49SI&*bBiYzGqu$}8DB}jX#T`2f^K&_Y^LmtqAZ*%EbLqy#CevylrpCyT1_KscH>f>~=<;HnyYx+QZo;Z|gPg zDaZr1+)fNN+=}GHtn<2L|Y(B@+%x6<{j~el`&t7t{7ReoP!@P5jU&^8Nbh;nQe9aa*o$1vLQoKDH!X+H<6>ER)Vay_LN zII_T=1+eSEo$17O; zU?L$UFNbM|!}}V5dd=2k(~Q4^1_9qZK}Pastl8Lctzh!bJ%zYL5$9oM`q%74&TI zM(#>n6#T^f^C5qL*l$O~J!Hr_MMp0HI|i}lJu8R9b4_$zE#^~!)s z=~scU-cExvf>E*~Du>zVh%=Q!_KKS3=4E?@AYk3M( z1UQIz3Xrs(@BcO90rB3{$OwR&vyamhgLpsUP+`7ddsJB9Unbh4WcI4Et>PtQ;J=fr zEAW5xJ%bmhR*yt?a0BO-h3zWF+HgVAp95S6Y*%RY=lqBm1E&}<^RWr31bdChjRGn`H%nKxt$Ip zYjLiqdwQSwE##tONAO?M4wbK^wPeam&=1DS@W09h@$D|=R*Fx_YpaAK}R3ZWgq!}<%{Hw2^+8rUj5oGriH_f9dqCN)(ghldTCCr zeK_Oa3C3+o^Psfg5)ORoh<6+(plA!umy>hlBS2W@Lr@NO1;BnvKI2=W_-NAaoszamN1_4cC=1JiX-hrO{_bP0utsf{>*0ev^Sq>vaVQiz`|VW~g` zVB_zJRCj?iqc`6HP_2m)jHy=bmFH^{XG;cXf5&_t`@09=#8xL1_8@vB&mATQ9rKYe z)+ymJMMB{+{;+p?SIH3Y8!lxkaEQ36r4L2s3KA#GQizU_-1Y(DGx7Wzz#k}4W`1Vu zl&Zo@4haDMAvhQ{is#Wp1QN@_&C|tpJQVHKG#95uGIzsEN$s9dqfusVc@O-La5Gb0 z8DImPBM9m#Ql;1^lPZ#b`k0-bqJmA=qrdI*zh7ASW`(%PJdh_GtlBfV$_5y`LF;XO z4{gNpW>?U^6O#m=s-gBab@!v+X5sv@yDzpd!X=I91CS|!^qeVjfFW5RM(i! z`B!$xAepAlU~nY=ElAq-IpvRrEgLTmSvCXM^@KgOD|nh@G1VcxtR5y(7Q=6-yI@Nt>E81S{3{b%d3$}vW6QkJa20u+86%c00g3iEeiJ~ z8TnDaVhk`;3WUnyn7?!!eSWc2qXXLcdr{6a@o1r8&tGyC4TCO*B0m34#p5X!8(Q#R z{I8g{fB_mU-dgkG|NDP9lv}Vz1alI<&q`(cZtet{Qc=u2>)p9`jZ#8i{y*|n)+_B+ zQ|*e6QB0=?DR;(Ujg?Vi;~+4~W`fbqv0aFhEuaa1V%d$>dzwjax2g0d)Y{r;N+B=l zaNzINUStqwR*o}W4E4uC{kKoNVdsAQQ5|AbD5X3sZ?VtXb^YKU$4Z4P6{CEW_`Ip7 zNYUXlOp+CLLfgf>g#QK9>;D@Dz`UlRo2^a!$?o!N9bx0gkHIQoD_ys?^!eow`hW9Q zlSs6?gL?44A*Mo6E{HRdDBzz)X-h*Z5&sin|Ki0kJ|l{4Lxh!NRxB2g74SX&9_0b$ z|JWwEvgg&M3+$YGq#%ryFh@RFX6lrUSX11U&Gc;LLV1L(hss_&GJceyjR`;(%`;{W zf_@|I_Y7hzDm3q+T~^uPeLOIkL_=cCK z_|{=jq0QsYTR@>D3;%`qUksj9>cZIJlOg6bjSU9W%wXDD$GO9b|G~J-7Ru+;T9nnQ zrWqx`W`$4cs*K$p{4<<2ZuUCnYW?H?g?|Jbncn*KQi>DmH~%M=Eb|inIX+Ngg`bzq|8S=(K{1fvjhkMS9t}@Jq-4UP$8g=P&qYQ|6cxzC}8W z5P1ZvyU#^J3eS32A}6z8@Th>hs#v9|(Shr7h*QszV%)8jW$=G3qSa0sgkD8Zx>;jt z5&Oi@OpLO&HFQS?B?oxLHlw$_4c!ORrI|^IpFMMgRkTk08}u!LpyUBB@1z(ht{|MD z4DgkUG652)RJG(>M>5XwRG7HNuD(L2O+H^alX4b-80X%3aDBG#>k6#E3^+&V=AK~`BAaZ{;Fhv42<#8YGRN)YetTFA7 za|hl;wx-oC6<hj ztFrSG2$X~#J4xb7%_c|U`(GUJBR@2AlIuN2Y@-eoFiU>ztFk5|gnquqx-C)~+f6Vmm`Z+z0{(}j^ zjAp_VRHR~!kaPNX^ya1M_wg&)_^(_BE+z4wNWx>{qr4s}i{c`e0GrF=6L5vTTKJ!m zuHY3OJUx2v<_9LYdloTSFZerts%qzVPBgkO+S9f4drj+@BKvKVyJW7KO_bD;Z2c z^30OT!5+tPQl$y!-&CHKjWH!2H+RjQuWTP(vj1iog!m^PL~?uow%ruJSoKkAd;UGEdc2?h$}J`vVBa#?fOVlJ-n znvu-_{{}|&@p!7T@Rz<-l*9ja8+9N`#-Dl|5<@)& z3EAGfL#len-{?pC5CoIW6EP0)&m{7hMVp8<a(zEp#`P1M|Nd|ftZC@h zS?t%hi zPs+;p*NqFvVlMc+wD0-pC_+qEL{0v_1OMN1(70g3xIF|A7EqEu?U%)Ha)vBu&Dvtx zw#DnQOC9nNr;K7P>Aaq6cc5~QVc8YMHK`+vqUj4VCgi0`lKMnSJ>sIz`D^S3t zv0^OV0TjGHX7{U5Z!zq!DlJcrHJMG^zPJkv9I}poX5!JYqQ{0Jc&^M!o9>WOnepZDJ< z3JQ@SpWJ7TkjJ2Zf2d|fd^ZpR88aRK9^?0~eR2Zx=%lxXT30^;Ete1h`g({AiIQB^ zq*c9x&7hpscWGP7FGrJ{S9Rbq?3+6>iTHkqTqe*t;8j%=I`|s{m?zMWAfjW8<6ddx^!zgu4!wPink~nM zg=-x7;rhUT*-wN${@2OB* z732}%xJ{aNdskgLuhp`n+WmY~p6vqnj*GZ$g|2Oa8}JNk$-GAG>-n#$CpM5?wW^4~ z=G2_nRY7$nSChZ^*xo_0z>6R!0!q(q$GhybVmV-%9## zU!rn0nUJm|?Km*MVsQebG-jQ0@e7h|(+Nf9sSb7yQ4kdFw+3pwrt8Dq%(SKU6>%<%+J^uC=|3kXkzG#JG^SX;# z#a|w}5cl9|3Fite3Ljrg0fe;CWF9xLadqepjRDvp>nKGfLuc)=7&C#}1=gMS@a8Uq@uK-EFVOWU8Ol~ z0>y{l>1DX{>I>+2?BM>ixwcGX3OxCiuE@-2huYB;3GZGhZzmT6Rlt>S)o7|rCrtuy zArjU|2O%fo;1AZ?r3lteK>|=vi8(Pilhc`JO(vb7qyi#=C*9CuKyHn#sB8Pf-AE!7 zv~&DGZk60HrG(<#2al$HD)5g`;>Cl;Fa$k}p22^GBUnOgyuD{v7U+m5AQ)x@h!AUG zalNp+k+$U^jGOA_IO3@h@G!%cpKayid^6i7cOCGxMuM8xPB4T|MZ~fPn=`Q0Txtw0 zxr=E>#^ZqK>Q4EF27!`#zQDgxB@3K4gbNU0?o@j?Oui+c$y>73E7tNZ$7 zOxpPGiYLn*Gs&Vr+5bRyd<}ToOGFIAkeuY*G3K`KEAlUS^|OyM4Zy*mo}5U%Xzorv z6dl5m0RM<}j^h0OF<1`R_-8i1^DN!+(KJhT9!)gHqet{32@?0t|R}?S}aJ>3i&pmfCamThQ$pP4~75dcD5q? zk2psz>F!(|oNvuL%FJ2|1^E@SofX z*?Ks`2{F7H1@ewZKf(7RA@DgB`1!;CUs)jeye#s^v+H3@Eio8(&6iBbcJ2soVW0ZO zXPg$#qGi)VEQJ5>N2jAeiESqSXN-S|0BEzXf9QFNPth-$+mLoDi$RalMzppD|!^3M*q?O_doEdAChxPN&T=Y zebg{$;tbySAGQx3;<+t$fIU$2-A#3w5R3D+glnVPahUp$DV1~2 zqqs=wr|*5feG^~~SX2Z8d<(;!Gxy|_COfjJXDXI zaob@c$DK?f>|wye0?o|3X`orq5(idh2TjPg9xfXSb&}L1%TWNbMxn!Zi=xI}ZO@BJ z@Y~|PJEG_TZWvQAn$oTktk@RILrqz;Z+zCxsHGaKJg_}fHg+0^g|-@nyez~GJqaV? zM-C`>h6z*meg)})Jw3FDWUIre+~&CQzu@NBVTZQU8Y6Ius|{wTqd;1h(V0}`X!oYR zOwwDdV$r6?PU-%tN8g6ydHU$G{~?(W6Wq~9!d1MhAw&$^@`-YqmDiV?&C_2r7P7)J zU5ur|;ehvDDC^xInlPvj@!#f{&~~r^+bcY@x*+um3rMlO2C*E!TWW6H1n9GXG@do> zVB`p}0z4XbbG3gWh%ON`;@SqViVU-?im(s=U=Tgx!O7_!#stPcB5>IT97oX+4}vH= zWpl8``)wMBvmxQ-E{grXBY9B{8}i=#*>;)V!RDLi_Z4k<|2LVCP~xkoP09`05jMxQ zVPvvZZ+I3(%I|+%3X&02Gr8s57AFBx6e-1*vgvu^2^UPzbQfPLA*@`#KA)+uCjGSP zvnqV5IS3JR7-IB9U`<@KGTv}&xSln9hRL7a8oZ(Ntgwr#zdN;PmWh8x?Gy8^3I7ip zVFB$CSqHYuj~O)Fll*@D@X^mtdbTk!_)FMU;(z&s)sNHrqKUJ1-g~I@2DB|(td`9P z|JN6yST-czc9J?MB6D19i1tt#6Kr)Tn&#TpR9DzLrZyl7BvUE?*J4OGMXZvKDq*xp zP+xIPdy)H#e+;qp$mc*8Klm?Hn^df#&k+8J&G{4mxNIu%FQ+Sc?srr5Q_Q;fVn07W zdVCJ?Dr1weeF*>J!m4-Wza0n5Pt9v^loN$}o9-=oDD)Ek`=M}|Y~#sM1{26XXuIt> zjBFwBN*~~AmFg9v-ad?!;A=kiv68)G3C3OZ`J~9>Z^hVTkDS+w|Fv)BJv6`9_mpLo z_%Gu12mcfQVp}gKZ^IWOfUjI=8~=-^^#2&kr|g>&DG)4JxMibVmGNn@h~(R~aDzzj z_5Z^6;|H4pQ~U$`lgm0{K;d+J&tn@M#T-pX-H8>3#``Vm&%Y5Za9n3I^Tr|Ruzv=F zC0y!JPWXRSI*LhSJJy}CI)RI<&DeKg+z?k8|BQvGn`#v;^yfhx?ZAq1AI-OB3jYFD z2xPxw5mg9SK?oyi&&-qz&}4v{I|Rx zp?@mzU-m;7Z=gta-x>cOnge4b5xdSU##7B#hK+)q7FHMw6$+YbKb@N+i2o_vcPdt7 zR)2TPl7&<#v69b~^bdj^iRknBr!!cWVNKeo2w}iS_v3T?Kv!&kTphE1j{z|^wlf@! zVkf-q1$v|l31B8(6}k>yHTiiXo4tOaPtNReaY90&tma$HIa-=R?WgRdn&m_mf8ewM zRD9oA5iU_mxAt+b9<+m^RHPsP>vOq#w{%@M(zc;q=FL;s*yv?|^plvV|Gpe^EUi z;plx2^BC6#i>;udym{`fCYyhUGDrAB_GxZg3cMQs;?D6Z;gUwtZvEyG&Jkw?5pXJC z)J;AbP$~p#P{!_ZQt_Z98wj@^RVe=7e}{i^n}a7QXj{YJt4IT;yTCt+qEoW3vsE~? zaYv?m6e~&75UzBz^W~#-SBB)x_T#pVTL*+Rs39~Xsx~ISe;+h+DifTs-{j+z>CccX z(-wXC%=w8)P zYChY;lO8}gs=RN@K0eZbAASyB%4U+YrMlpY5#)% zC^`!NMgK4Sm*h!KM$xg8xQYMn(qi_0g|jB(F=7>f!;Wd2(j7lV=znM99qEXtwkU@M z+bF>rc;iBe1>UWq`7CJ+x~f1e@Go!F5EX~D3{WV%%Kv*e(rZ8NTXN{f@lzLc0PZxu zgE2^M)tV=ziNUDh!DGnufAwJRe$>o!7BjY~*;NmF9gP-mNtNjj11iaS@>#8B0R%-J z3r3gByb({q#u!8_x4*Gm;@_Va=JCe=;RAiqXKA3c;5VrR%W!sn!tJ<5nVjMnhU0nT za_38?y)G3+CU{%%?D=V14ywHAYUUYm>H3JFaNX7>Z19Tz_b~Ov+UJwL^u_-mHO_pA zD;9s^A2vn*zf3ky+=t_kevb>hkH?`^u+!3hMa@v{Y@aUF z9pL}JKmX(Z{vYs)n#4l3Em~eICErT#l&UH$ADBDC_{fv6BPsb?nEAMt)WXkd4efrS zqR*mI6n0uB{xD*|J8Y`~#3~8w$7=GU#p6Br` z*(FnmL$9Tb} zlW=hj9qI>jRhNu-c6@jD!SmQk{atqp&4Kw9I8(ah$^(l+Bms=E;T&+WR$sg7A@K0o z8Yj%Si#q~r_BQbEashXGSdN`jDw6xeJRZZqea1iSMD5)H^~a|XGO2|8M*zb(r2ZXn zCAg+6hiid{)3x4cQVe_=xjp1tsaZ))(DurMhXCH-7z_5ty9JK+M_=9kbEDFbJLfvt zPRQzKR1@s`T^BMg0VYT5Z?nI@AgueeKre z?Udu_;X#+_Squ8vuC4|9rEM%ww7F(sI z2|Ib_p&ow-$a+op-x)+_ax;|ce_dbvrw#Qmuzffi8C(4!+j(>qV-1Y|;y>C-eYigQ zyipW~81H;OKMuEFUIfP(|5Z{3@|eF|7l{@1HQM>{?u^MqOngz5<=*e7i+}ITA^uIT zY5HNiN#WqTNeJSkBXr8TE3PPh%8fF*a{ju=AN+T_E&#si z{z(q-kNf|gPXNAb>!evK@E8ATRxyh1+~NF~sJIos*jILHu2p30DjoItv2Rw;osSdM zFC<3(qgc=sN3H;O)u?{t^BE>l=MVhDz~j+T`~TN9h4FmTQKPdhZgSkc;q!}s)FU4M zUyuLKsa9q3Zvta1M)}{zYmf0i?Z-Kj=df;M*j<|SQ14m*AnO)CAgn11I^4(=!9dSqgh)hnyK_PNOZ zKMvKl%bi=W(%Dets;-C?ivG-V_;bEew7XWku>WR1iaX%{omx@22w|W2pKp&}J^W!S zj||Ws1qK15xRNEb{d4f|dye%I?C?7Z>-*?A0Hg#3{b)VwgLjM zs;1>4N1fOe1r}i}TEFziI1&^82I$hl(LBY~B;KY_>gVbjH?*U=6(p{!h8ymX89~M8hRFiOKpX})eiU>hdynXNXgv-D z}Imm0xNqcb-2XDC<$x#fqPx1U%!iXqCJX5!yf>H{R zS=m7rmTEufmHKyk{)s9(W&k~Yi)ClG6pu`bpepH?Gf?4ZeA!g^PCbcnaORlK;lbdC z4}Gqm;Ujq82KXF*u;ZFhJ3m}$P(WTYpTPfwUe-oHx=4C?5N#WLWp?XO(WAkV0d|I{ z(w21uroC$WAc?ETj&K+*SBHx^jC%z1X>-fsR&sJ2x_YvJ>0Au7&EGb;Wn0syRsRRa zf9lzh@ryTq&f?VgO+;7?>dFLsxRUQSG`^{cgcq+qchZ1y_;9(B>?sr3bW~xamp1+{ z&clP|7|-)IG(8ogxpmB4Qo)e0BSJe_ETcah76pRd(f`>bK?N@cwB&>4O`|FLACPW| z--Q2l7ay)#uTB#a)T7U^m>lQ{p127NNV`zEeevHeY~T=Da%Xd;6$2zj?%&vHCi@%3 zPhJ#&*)#K)3J%Mpi0)&m<}cWQO*BSJ(9HyE!jAmY@2}KrCZJ*(1(aeH&mXFiJV$Rk z1;)3bN#{h{5B#&XQ4{A~#{3ii8TkL=UuPqgV+j&Z{{{auuOCzU#J_w10{Wt#TF#}7 zia!@Kv}{%Y2cg20uir<1k11XJR-@!^1DB}6#`k+l01{;{IQ&oW-+G(a_bxp?KwZmP zMlzDmyn5c5AOxwu(LhN(x@djmhi_VgX-Ym|OXA|nU|JmdTV%or_e{6`3;rLg)d8QK zyV}NTzJC1BhFCC5a4E0r;k*Vf6Zrn?gPHsg6dj~qDzJUQ|8L=dyj`D)XviE_;p61} zx1pS2m69$TJpbUIH$h=pe+iuXZ;*oS#NpU{*}!mi*o>me!;63V|N6uKYb;)*y@lOx@P;*iJUlJEP*#Nj^lNz>J#wjF*q|uN&kOW2Nj!F*h=`7Q9MmM+xlit z8u|M(@@0deqK~^6Q5pY(A8o<>Hx}p=|9jWclP&o7p*nU~)~N^oH~w#KWctKt^_t;@FS-k2q~`DgepPx2Rip)mcHT2pS{g-<@&*7ZQ zfB&8ciRdH1r%>6fZ>Uar9#j%<{EyWe#RSzU4q@Qi-v_}1LzIGREJ|sTqyD?&R>Q(P z=hr<34>9B`)QyVeUEk|yfPy&z$jf7QV$E>?nAo1M)+omOY@63VoZ(ya=p&jQX67g# z;h1T3+b3>m44#5;3Dm{)V`H8NP;4ILrZ5Mg@PO)~{J#kVw=|gDniVtzh?Z}mm!Vvx z4V?j^$v`#}yN;VH^pgNxmMS}q`>NIbK|s_26v(AH7?NZg9nf1YIU(^v53A=fb*x&; zJI;1hV%mT@{qMh_!`0N91>SNv60+!SO40q4E0ZO+tpa8ZA2Mw^9wh9G#D=|KEIX&F zibQ#W=gNhShVvoPs3(XNzljVFO{xf?38GU%fiZ?SD9@HDbIvutn0>HdW>T28$*mSfxxSu!bX>~t%_m*`WVVgh6M9ejIue?n7&HbrbMsGj{OOe_auWu$L@HjL&+(0$kQ^Nm%!zP35w7K^oQ7@6PIU$iAHdBzi$}x?Im^> z7<-cJnEgZ7Po-SOTUa9IBXUH7y?ohH)sn!#BK9nW8}=9{uni(b6x`T zX?y3{H&7m*nt&oq9L7)l$G_VJN6Ngz*ZJM;jAe_POIX~A@k0Ff zxDsJQ+1~NpzpDg|hJPojxr@v!TPsE>M;hQ(;>*K2U9WY7ugV|e|NgdxoFDw}S(+^50k@jx$p6PQ zd$b%h!I#njS+FbOq5pPci|soYy3|o(B1!x z9K0t(TL6Iw|KvZ!c3Q1)+2#6DjAI`B`y-Mp9n|^?TbBi_0J~fO3XKyZW+k@O>yJw@ z8#(k|&9^EQ3YVY1?Q|G#QIP*H*#ICX{FBEj{Xf94hj-6-%h@DN)Rsz<>P_|C{&lu_=39{Nn$RjwbAL?Mmy3WR1V*v!3`L zW9ic|F3UH5v~p8{|L>pAVAuV~t=sPsLsfY5WiwAX`~v=Od!Fiymns&u@LgHv&JC(Y zg{Q0ddD!jh(C^KHnCFSK6e9>V1D!9YxOg%eug*aVA zr(Yx3>s#CoekaK_Xk@3MT}KQ9$wh029pgZFQXM`$W#jk|J>92RynAhVYUDQ>G4js) zfV0%2`!g0whRtK-r^06ehXJSw-<<%O;V@l!-^}6ai=? zR=ZCWN=Ozv4;G3hhe4DD<9Q1`gbb;bsvw!dS>?k5^F zb}{lkJxZ50K$^O{rt~=v*M*(T?21S$MJfWHvgmFnNhAFiBer|ZzV^27!Y>H(`ky^8 z0pQq!1u-juORsgD+==J$EnywoX5n#_Awe=+f{poh1D#|}W`+VB;56)S-h@gk3$UMn z8o(g}|NU-AbRZ2%f%Xh?fNcuT3Z|$dTQ@?de&$7NMCUmUkU0U?a4~vy-VO!{iikK9 zJx@Z|+&3cZwF+8-_RC&{NB%8K4@k~Q`E)sPw2YlTgHKOIF1)=&v5z|EH6;t+9YDks zmV!cu*Pswg>-Ej}o-4y+sN0)5*cc~irig+#yM&WcI>p&x4E-~nu_#HEXqYs+&7sck z0L+S~nUC|Y_*~=OmHiClIRrYuPX+#`a?GOX@3lPZ=9FG&FnT2DeqlelfdnwCq3z2n z5EY4`hj`JY3ZN$g$`D~!+bZ54y$xy)3s~D|h3(+XRQwj7~6u~6br!q94vwu-X<;^N3rcD0a9G#3`kbMGvuhD)l}cHr@*TY1A@{L@a$0{jd9_i+8GKX|XS z${$2(VczQMN0gx}+9EB!aSE*4T13zlfrw$P>)A25@sYiTRzyi{x>tq*MWY~Ht;~c4(Zm)g|tnBvtSg^Ef-jLH3m{0;8WTk_T*!k5YrLU$y4$@N~Y-Kj0VbiX}VU_1#J{kVX~A{=cL z%EMtJ@3TJ^hh?Mq|NIcZ3UrWMQ~1Mk%M|={nGNu_ z$f|;Wn5H%&-0RkW!I|grBAk^+6M@@L?8KFiPy0imO1v|0C$AiM&T}fWbeK5% z-I?o}qe+*ka2zX7NVgT^{1C0^(bf+`=C(P1~Xv^Lmw6Y@D;5NiFrHK7s zzNV^6LC8Q>eIJi2o=4l<3Z`yj9Ak!PMWwf|3E+iJc(0#ML_>Q`K8m@?(a5%L-_IEl z03tjPaiD&KrRj7I0~T>AsvK(vE#qQkj@THI*7yI8&&DejhmxkZ;e+}Ii{bYx0}CCt!;5Plc18knE$8o>VlCnxY+fh{@2S?D)5mwsU!y**u0nChNH%@kIG> z55)b_z~q6v3B8b$h1^j1EV1$as?yg~WZ+Mr(ip{bFrYFRHJ}VRU%K~LEfDl>jJOJb zfE)P>)z{ibtZ`7LfEs+C(jE#rz{)&em{U%YegD#oK5VX{;K}0LQV2Kmu?+qWs2}Dm zF$n0YBOzMaLl-+D+nLv~j(1-ms-7R583v6VkplzU!i1w0W6z!N`yhzJRhf_n%8UwB zri*V>t4!f9-_8R0y8J1^O27bI40~?|D`YDBns&j1EQLl6MAZ`sAq#*kP%fQki%(Z} z)@sJ(vab|J*#A@@`;;IXx@sLoqHDQ@eo0z{nlhW)_D{C6D7JC|3T_(xCV=~Q_+EVKx32nE`?oH3*gvL?w2V5jyvn|J z$H{|8T5{vKTmECLXYNBQGP!lK`J9Y+i^EK4iPiVavNmd3&usrG6&x$wPBY8OU8>Xg za8h$>Nkq^_+AZfMAlLk2i*avawF7K*?BnRKdfPwe5Bxvdi!pU{0$Mw^&>_}$4B{3# z-|T5DigC&Y2$SGTaWb)k zCvwKN3XB7R-w{?88!LHBYG7PheLjqzus!bV$~Eoicw$Wq;odLe(HEZ)j#oXn4#H&r zXi2mQ#Mh=fE@x3>BXP&ej6W+lZd@>~$o}sgJ)UqmFOMSrXDl+-p;22^_pumlVOmLc`DcN}|=P1f$(qwDHJ}NY}1CDDXA;-c?vzojhY*z@TYGU>; z{)PQt8ldC6_q#Jdyp-)7I-Ew>&-Q1m!1d@%(Ks}rP(D|S6Qt*R=BQ>qFQc08Q2wgM ze?DDWd|qP%l<2!$jln1liltGAO0v9yPe}6vJNF1&e6?ybWeObBS?2vTHnCA-(*)VBt?1(2d^u~n}ucYt7uJQ zhEb_nZrv|{6&-=OdsiA$`}q9In$)i{@r*MBJx_quk9aZGwo{@-@I39JDKa@~j~6j$ zb34ZJYGvL8Y-x^3Z1H6OlsrLe6Iec|av3@nJ619EW6C%HFRNLe`)RyAV;DdLRcNRx z4TC(X(eGvc;I^F=p)OY(k^&l-ExWhdmbR--%H7NfQC$EiRl}(B!$8T~Rk+HgHT|%w zY9atZ5*mVVX7=hJE)FBLaEqao1lW@9QI_P-76OF-n}nxR8i}GZ&GNKl-ejz@}~ z#^W4up;!;D@~kp~mMY^stF_c&(ZnC|>TeY<6sWfS1&coPkv0ro#|mDm2w<0k#`IhM8Z%Z|XVBItX(LK$j+ zwU0Na9)5yo!UWq;vBa>0+lJ3y*0B~%I+{8Hn*k0*(hmE-Sc6H$lKoo36K8{6Hg`yVNL+FJHMqf@rqa-=+n7hSf0efDW0LgW0Ba{HZ?i;<3~u}QBt`v%gp zW1gUo<1hJ740wIfUH#()(UtV6^&(A)w5SBTO!si=Ct82~{~gCEiJNhD7R3X)+!Ts|j1I-1w!&wB*7jiKPZ6dxzAFGbHt?91 z@DH>68m{H){YUp2_J85y$qp&wP58&Sj$7peQ+KDWF+Zc|0>{>_2Xe`ZuqNP#?6v%q}= zup&k(=Nh>&;`rqtcIrq^@vR@7_~*AjJ|8FWO=EVN9`->^L;vV!9{;~)H>^MqIhto| z4TC-@?Lqxqi(Ky5K6&QF?eH5Nd@^9AD$aA?syGG|0_@cK-^*PrAkd~3N1@hm4qHd* zZt2sfql8gn5AB5vMFFN{3Iw@Ha-?1N0Wtav;!U>DA*8+HEplWeD*@7*%F6vQ7E3w1 zxr##vWtWXxNO-reEwFk`{k7#|1F@1I8sCB$DzPiWqevZb>OFuQc&N;3EY$LcRn-}c zEB+nf5NJMCGpU_3QBN z8w0W>L>yguD#ub> zCiKwKpm)Sof)|yvoAP_T&!1t%UO+5x`JLfEM?(kHc%?3*GVIo&B2%67$7 zk7*fOT2(n^uQm@GK`IO9LrpEnqKei_CTDP?+?w88boS5uj}*5esUD4cdq3o5tPIjK z9mVf63<^sL_9udm^Fq`3r8s^)k*oLHHpe!WQ6qrADM2QEHS&JL#Iyy$4yY=SoMVj{ zp?cwy8K_WV$jDe$52buv`=P_zzS};0sTZ3(OJ{9Gp~b%?ww(X4@cfo z^$I`7Jzp-oU1uUG6ju=C*hIUGnY4p{(h9T4?qZ^_WOoYxZQ9r-gCvA2op`td=<>Ka zlZZQPMa#yGE-VP#*LZK+N(dh8(Kq|5qU-9iA9vV44B>XoB)^KQrv<&7q|pjY&6e&T_sk|7m`|MiUenu!55`dfsvF+Yep$~* zkjhmt6loD&)|G_)gAXVuO*|*x1|1^83IWsp@hW;fEYyYVv%e&?qoXEPLB?C$^_XP; zuU)e6)4%flbT9zI>x#q;z9wP^sSRSkFu5A~=f$|5uKi_qnuSa?GS+HV^VaV+ByQo)#<=+ai?)~y4LoE_yY=CR@$;caXeYf zz;X^0UaUJ-)Cc5cf>LO_gKiuShE=g}qo4N&``@#r4p$?YJ}+C<^O`Dz%Nj7$X`E?4 zBkip4(p4SXkQOW~bcA~&Yu$x_-^)5cJwW7?@UWs%A{o}2%bIEPY^K|Q91UbQRNOy! zqhG`x#bq#XoOrsEGu5 zq4mM5m*!9N^ZD=cFv%BW)DMay$QICChdxZE!f{LI43ziCw&{j6TnWjgh>( z#(rItW56cHa$(k!U{_a!5j;7q0PNytO-ZR(pgm}pr1`WS^HloZs8uC zfT(Nv1dMm}*ZzNXBIs&i%(}kH1O)o2;vj0!d`p^F$utAoFM%IDySiiC<`}sJixg?- z^n}vWD1M^2XZt_6qjYXze*Ig1NxdQfFRxasx$<|=eE{?T7fY%GeY=Rfkg$p79`H6{ zo$M9%?`X*Of5bz*&bLa1AIFxaKka|Q{-43p{>cO=Vb9}si<1cVktpnD8%i46w)eJy zxA9Sb&@Sc~W&eK8m?YQ3MC@PfzZ7xJllXTC8=nRj6hq7YMGly>!Zp4 zV*gZ^@%;_qOs>u%FYU-}?4!(dyEq8fi33lJn&#AAQC*(s5hBd|ZU5~dNp}^uUB*wk zfeKs@#tuG5ck^nU6Y-`avb$Tv2s=YxRk1oP>X@?6Wys0U#dwRsB+aq1!~+iY{rZ|5 ztK%`A6Da?ty!=q@Mn@Y!gtSr99xlF0`9J+mPfRk)ZlbUitDcBAD?VnaY5yUIefavv zGJz=K4fLvio**18j#c?AOZ#xm^Dal!dfO(OeM4!6M+WR}B$y{|6+P*shiti&9|s?3w-p$4EVC?tK36Rj z6#6=+1yUD1sm{Z(>-xp9o$eCqA`n};=M4aBo}gMDm3-a`5s{jz)#Sl&aK#x8_SmrC z#OkFSZxaK>wB0KVq;AbXv5iv8&2bMbT(+QP-deNSvX7l|k*5$Czrj~MWfbuwm`;5h zk6`cdY>FC4xKc3O3MD7~3+-R}$DvNCSkptO2P0YNY8RY%aI0(5B^#ADfo`r*lm1e% zdhNe)cyaKP^o#0M6@;HXC&s?vqXO$0+kF(4EZZl7hYG6ik`HmQWc7=aYJ3l|g~wH5 zu)S=Y{lbRj#5#*UQK-P*BKSrql~8DxQpscL(Y8&Tgx-y9&o*cso=1uAss<@iY07Q& zuQbSeGY{O(z=L?kg8)&Tc>?nx29)Z+8aETUw(WI{v&f0+dWz5)w@ls!lLhVep=0Kh&&ys!ONG}vMP7*iA~ zp4E($S*cJ^qh)>b$hgK#hGIO6kQ;B7C}O&vHFkB56>=!}fAPPiV)FgVGtyfduJC!q z5-&bg4B?=t1?%r1uH=WvSi}q){{t~7yNbdhs13HmCmheKQm?5`kOk9YUZra7Xqa2qP@QAR64@jF-6NS%J{ ze_)4e?}$mk!TY$*e-xLD0AdUAg7yzBzSZ*@PV!PuhxSi%va&z%|4`S!9go6adMo$( zt*My!8#b5rKd(_~f-vkqyj5phOr<0ZhX#h?QI%u2fmtt+w*RS;{mWKNe-Se&1Ng?_ zSliG@C0dS?=>te(UeuO9FlSd0odkz*tmS^qW4}No;(x$6Yu~kaaf~ZX|J1F><0lSX zqEBo&y>C%g;Sqc)ge%gKQ92!Rx=kLAV8%Lghu4Z4sITyQSQs+>#zR*!(5;g&mHMa! zKN-8w2DaMfVwLjg{%$~^v@*iX<}c$vC=#LZfmsHif(r`;Gmbqrcpm2D?nuA7Z4`?qNG!&LVA%CQiuND^-bLQ96@_F_VeDk=( zUdGLEYN!#kjgAx&h}r-+$d-#dtQi#o`|+)Xn8FdX8M?q2Eg(AN@#NDE>6S9*0x6#!q}^ zTcq&jS5wiB)PG8o4Xl?b$V+E{>kbMLxQ8JxWq#QsK&S$I9lAVAD+#9T*UL0D0tfBY zC^UVSX>wXsb`aYm3Wb{0htFq}kQbaNopACGPOr}qaV2~W8Vd3wHq1i0;928>ULIDH zcWk>=Y$Yk@C7|mpoPvKPn}4eyv|$KEFi0wFmmbGzaF=jn>h)3@_vqXQ=o1`R1(F61 z$%Ba|lL{c5gtH#KiR~$lE)gxQDt|O(T#j)WbK*uP3H5$W{e?E8Bxiq>&gXoPR>BD5 zujgt6B(mK@cj)E*#5WaH+EbSaOx#<~ID)XDAf9ign&w$D51xg-=~9=AMQvMJ*N1=u zOd9G%XR%;-{W;$e*ocP5jPKOfNy+7}2GB~`M@dg2Z3S3dMT-KN{Kn9T>C(wtmU(dK z+xm_Xz9SG-Rw(-)pQ$(DV6|TB`^d*LU}MUgbC9Pw>4BAkvfmrnSRW!Qib6Q9R0W^5 zkFa^hDaE1EW)*qQPoP+mGcneDri;i&i4T}1<(W@Ild+s|ZwKWb#RF9w&_5)6<}dp% zF=qRCLXs&N{OkAiVd&m(5E_*A3o8Ycx^iQI#0il$(`p9TRIZ!BA=p6pMFJ%I!duFZ z28II3P%z*BS!|rN%O?BqA_w~av7m@X7|yT#%i56njA@5!w*UWk`>&o@+4-gDkoS}? zCDfJzqg7u|5NCXFI>r(9-(mj^f4=5lKlIQQthjCeasl)+lhlqTR0Kv!C__zYH*Kx% z$qceA1(w>L-69*p_h9rFMt?m!F>K0Dk3nf`AN^ zK`VJa{Bv80^X8`0{)IC?)<%Yv9R~iqB=oQSzqrBc;0ILarMV{b%uhz&^N?~y*)N$r zGGEKhdXSCPM6%kpE7<#}V7DtJ+A-%oj`*KC3cIgj{Mv?tia|yE&*)<2FBTIIpEH7R zd+}!{V-#t~{x3W6QyB35`-J~jF}a?Oo*fD`8UW*G{(X+Mm^#BeqqBH7#>y$E__h1P zr!cJ-9mJ^@a_9Z2z)fIU*K!4IXmAivLN(>6FLn-NyfH?%7^A z^StolH~+t|hY5+LW1)jZ64L^ESVhxkS2y9yjn}eR3Jd^R>%)s^sH=Mf#E{M!A7+7!UV)T`}vR+FmPcD%DgGPckH^(fG{d?nw z9bP3ima*_M)`lDm+}!X6wLw4|Fk9sU1u)QJRY-r`0tSiJ3i6c!#j;y~Xd+*Wj&poi zwwOAxa%O$5Pk}dbwR=-(V4qoy#4w{P2VYP4- zZEnG@DkquSvxyw{j0!N}RqprC=hI^MOej$x^FT(d*5ZCp?1S7%Cs?+LM?^H8%^M4- zAqxLOl1G;01fyb%JTygPFO9cb-j`z`sLR-T3r}_q? zK9I)keHgG|Tb}fEi!m(#UWKju%Fc$4YlarV1fA?u0O$^FT%;P=@`&e0&YjhNXrH|c zc2?*-3w)eKtqI*$`-k1ozB;j8knk@D>tXBDgOO0TV6joL$tRvCA@ydGQXRzTpnvrs zU4y9+YouN=0M>M!MR?>YEPg^kw3VsrHQ>*1u^Ee$daGkWo>V#|NWqC=adTHcb`0E! zb5IBSuSvwlZyz!vEx+h2#2=Y&Z07HTr*F48MJExh;o;%032vDVTIHajRksT)merN5?wxi z8TPS=?xV2(4-;w9Al$J%(lj={wkABhg#A;tdxk(OL6P?0nfrDa_H|bRp_vixmb40n z)Fq=TCi(9?!zjep(=2v9U$kQ4+LKR64|twbMO*oN1z>x^M8hn*8OKvf*ZQtZLc`4a{=qKo<6y{&- zpMPuda?S!zPdI+H?s#FrO2KE?e<_S0*41?20^6DNY-DVE(xwb`kNw{Oo<#svK&rp2 z$Ns5ukRDJ3|E@*}nkhyFCYEoqnA)KUeW8{XcqrDwon_^GKjB`-kYdI!$(1 zZL1$W5J$ttWtU6ip2tVSnmDxEy3>Tf005~_4197D2QpgwAF2aAUg{K431jj6Zwtd7cRl#WngvPE=94;Az_On05191HHyVs3v}9v`|?=3=`tmTmGN- zFD;M%uRXpcj0NF28tTMw=w2|u_f1afkJ{>K1q7;FMggf6dF;<#d`3DUqMG=`_@A{5 z7GVr|P?MikUmC>@^$33~1I3u-xm?9kA&-OjAIVf{1hiEvaHW`4e@Wh{ANv1&jAsZH z3zdB4jNbsxVxVluG^aeby@F|u*eIw8`>%-qDZg<68O<%#ktpmH$b)0!mSwS5FL@}p z_0KbZW?XZjltPI#F9o^pVugbVE}Z(%0Y|)dqY4WJ?b=>AP7#>n zHRMZ9jA40lw|UIxE#}Z;-}8rxNnI!nZX5d3Dy{55%+i92`v4g`MgLaeUsfKYIsn_e zl*lnpIjN(U0A)-(W{VIh9IcKKaH)FRrL~8+5S3slHcLkMF!@l_DoUfcqH!CXG6?6hkiA$r0AaPF$fg-?^&7BjSBsn{NHO@W{7`foWW1X( zgX0U3w`Ip_Im)8XhY=t+|Ni7zQCFu%1`!Nufe&eFY)jNiro;XYgEdh=r+l;J$vD#Un1ZakeT!?x0;~02cMD|*uJ|@ zBdI~b2pA_1I+$&d5EW8fj>y2bih*E~2r-e2baAF(R}Ahfh}2i@z|L6I? z9UNT$1UQf4Dgqa^#8ZGZHr2)i#fTrA}AO$dYdm6|@-AM@w6<3Hzsq7^o6(r85|S&Ru4XdYeo(RPch{^H5*fK^5!@3ZzFNL1}AY-1G{JL^z|nv$d*2^o0F~v$DTZ zK;t^_5CeVEw`~aaFJ7Wu<`%1O%!$1&OuF}N;BKqWHDk1Y>F%<8ck7n?p4{aW@r8Cn z`@d%gDlutS-9qu5+^o{1{a0Y~;Kc|xNIxXrHe#qM%dD3Fw14B~(yPRmS_~X$7U+j) zpj9B|wd@~@`|lg#Tr^)7NsX8$knf7D}-|bxB4%vAffK+_xyGjcJ{yz6npivbvQ%=Kn_$BD(xK;-S z;fN=tfK1dCe7q{Qjfg&40nZfXu_n zr&z4bSQPEfL`>qv5R<{c_mdB|(c!{Ts9v&R0yUL|1|5yg0yDq>H65;unPox~)w;a5 zp~e-{z=ajUi1bmYs?OS)q-WrFJyHrK8+08@@5tO*D8bdv`N19&11(^$z>*zQ9M4ReA3J7*$ zsX^8^`{ygIz4oy~2kkAs+`o>N5;0GrNwWaa6__VMAs+aZ^TubbYvtXTRsLfIm@?l{ z>^WB>*xPoFF)SSj0_>trPZ0cHzS2G?^$_9Nz4F<{ANx-`Y-|(j5I~4&kgQ}n7wv>R zr@Yd#Cwzlu?wJdU-XGzMRZVb@f$|0$1Q9hRHLUj1Nu{8`x#A(x)Z=LeVxt6fS6xvX z>^P)*M2gA}C-xgSKOGg9h6c+qen0x~jig<_%0@YfPr!q~?V{cnI(5BkV|OLho+VFJ ziRVw)Km0S__JsECSdQy}Nv36rgyg<~32pb)OSuL(bZVGC;qSr1{HqKsta%ITFcNldP|_PYlOQwJm^r`|E2#^C@lAAG^e5p zutIc*HH6D;=ZjU?psZ^Z!2S4tV>ieY6rPAdDFeodV#`*zde7uc$1$Z)MMLJK9A(&^ zP~}rNc)jv~ZEUC10V9%!T!(zBe9nyIwqrQLo%7e^4|Uns`$4=CuLR-g|Ctf8a05Q^ z4Aky<{3>=M$uBNl4jl$y?G2lm#H=$i6YS)0OuVsO4|^dfxjp zY8V5s0#75S@Y%m)O!rf~E_(Pu70zs$-(z4_XJD&aJhP58&ZHeNd*50&(o;A>{H?PJ zw^GoVD{X!SWQR{1#8{I$-rC0|WAJ%gk0sSp7%W2HchY42|A%U`RJdR=zFtueAsmR7 z#WQ$McrI8{TP4emj!#VpqwtrFL(gLAe<8Rck~Ms1-Rc(Gc0AD0%ccLYB%Mk*Z|L#; z^vEji5bo*})IKs$>DVDyE7&8FD9p2oh zWAzZgg$1v{AK|Oj*V)We=)QkDexMg=)OH(VMiD+xO=mbks$R+D=w+Jc*W7cq{+YQR zNu)I0%T-&%K`70nP9Y;|jG5}u0*c$-2lqQDZxldM<9JxOXVJKj!Nmy`P>||Paae7K z`B;xQb3tO;N5DADhjhr1K>Zx6zg8d7>Q<5h5~tmO3TC5UW=wSl}qVUhPSCOM8_UHmmiPu-alC@?+`D4&7!=yHbEQ z;#PI&pVHqA9$H0$o>*1UE<%NxOe8?!CHO|$CplA5Xd6H8L=|#t-)FwM=)5XXlVi8L z86{$OsW=x2)Fucg5}2TiSd?PyhdGPwwkYOuX-5YNcot* zTtV`qUc!p%2eyz3w+9{9ZW`dv}t;2s5< z0fUAQc{W8A@gHHx{`dFVm{94*HaY^1*7SmjOkF=d2ya%N(%Iz~ZC33=Q>mN7EG9;c zVz{=gS6ikt-sX*a@89um=TU+Hkhmlq?qS|1?@ETFXht%F4_tu%6!Gph%OVz5Gwf;| zjYTqp^+DIVwd%OXs|H^KnN+(9%+pNCY;ZyrN`4(8CVr>_w0gj;j;T@Va@)UY06Y^#*8u%M&f zBL7dn3PBjQZy`iUf_TRBe#&pNn`O-X&SaZ$z$A4o=}}wP^o-Aa3%1mc&OlVZx0y?3 zBmN&@qz3_M(qY#E_$>sC{Zs#o3@3gv4vpf-aIzMD_db8kpBrWFC#Rnn-Yu3-MF9I&vi~muFzh;g{Fs)b(A%FQ9%p*cc=c5Oa$|%b{V%$<7eAkR3O6Ur zY~+eSM6+6c5n~Q~mgC42I9MD8ea0~tW%DC75AsazR`9)_8*AE;#rBL86Qf}r8 z$_Jjfudq$-iK~_=l*b|0FWI*Lb$!#LeTkxV?<~Yr+n-`vIfTn<9$P~!z>X?Q$OWYE z|2l$*Y6ZS-?!7YU$p1emK``?v32uy5-I$I!Qbe0R3p@QNsF>c}Ji)%r#8pJbM+VN= zat2vCB%t#d8&S=KLhFDy427OqYCjxovG^p_Sb-iPN#kChFF>V=drZyVfbmT7N0}D_hLZ{YByUr!hQAEiYwAJI-5#xo4|OtyB(g=WF{Y$ zOTQx9GVP`C8?eT4G@xVu{Cr%fJL7}7zn_24k~&y2&Vyw|2N{nD3wY90X52HAf~D>^ zN>KlJakks6UUR@%;3$I`^&g;T4$*-jQLw)6$|o$zgjEBkQ zi~$m^oPep(pn1T!%*Ur(k&ta>ipgB>vQ>SSdQru?(K-&yQq?^Bd9`QS5-DoT#F#1_ znbK-oGR7~*0dd9|fCfzo0|2R*3m6s3qL2K@GGSLz+V({`#)~bO^Ek|l%N!{kh7|{h zWB?fV31Qw3ANz;=&xuArMA*T=VFGWJM3>$K(^%;M#G#t2uu(s6rGlbRJoGK*8mp@{ zcKsgD{rf{*qRq&4(cYI6pRkJe0M_vv1SK=^nqNDUszqH{9zM$cx9t;Se$b2w1B`MMR~A&f&3la3 z#o5p8?MH_2{bB!j@|=t#%Af+hKyVt^%?I^dm+Zen9u5g6?7yA}Z6euTFSYxo`?3FQ zvSI(biscjVvNMjHpP?NV0>kIy*fxCRZR9`wxBUR|Wto^{;s zZUMhHz}rv65`W^e#J`gN9~Rc2?}8$T0pjzE?|9(qTR*bV!10p^fH+Vd zZj{5!WBn*rO;eX2J8Y~#qApEMx|=EHyl#-OVReX$_TQyBoP)_Q7OZkoXy_BZizz;> z6?aR?f&I5)#Z^lb@0b&;V1U&_dxa+MXH(BuZ^8DbRV~5@^x+YB0)5YE|*N7f$(?iRNUIBpkXV4S}<5Bm6oCV;=v zo;9#5k1am9BC@fZ`=`FkYFmzSL1(O}>kE+#ey^X4b{I{cz_1B^PE^oQlOj^FtDTV$ z*tU+k&@77vuuKbo!6mL`dv$?9Q!_o~Wx)~P994|0UzhJaTrJgfDn^8=nkRtLf+GX~ zvp(GJS4EX|B(a(Wl0FVPQRE|7Qb9lMqG-dOY2IUbIXNJMw=d5T^GfY1B*mC&yB`I~ z0Ia|Wp&jMA1ePz4I?}8gl+{I)DH#&eZoO@5P5;1IINB*CFSnHsr}{}&6$VgH3NRaypN!u`ZZ*8ZpJ!52Li+cf1vq9~NOaL0XD0*zv!vd=9}(vW$` zMxchrSkw`XlG`i_-qj@xtQxDWFou=}$hX#iinG=j>jF$E-e@GuGVVo@56$SV#CYNp zVdy^mmj6=6wpk?$8<0X z>O;S&VB(+pz@;+}%+vlm>|X^F*#Du)hW$sAlDCTcnn?$bQKl{YEU=v)? zavK-1<)Xs(;!#jDfBS#x3spLB3CY5xe;1nI`G@bavpaa5XEX%mdd3!gf#G!NRq4hl zjBU%uetdsn{7>4Wl#6!?%oG0?;xQq|3?`K+3+mm*=E^HamN&$^%TIbE3c7do5_Om2 zZTU;bM^Kb3cxdcgL4-KlyOgECn=bY^cC6-)K}gWTLz^ z=o$qbyr54vR2l|<#y_A%0`2I5DXUNbW1}ySD~ROh2B&Ie*3cq;K2MKStg7}KsG4NR z0MD7nnVvnk_-SYCO)r1&2>2Hx?be}Y%j=yyqoOZpD2x=$k$&~pY3wtKvT2l|JPo77 zyBN#GH3VWueErVYT+;r`Zj#Hs`BiROP6(EUbFVtLBZdUGu(yS%&r?a2ey(&kTbUQdZSiOwKm3r?kIm(MI;3dJ24^pVfB>2%X+ff87{I_yDNk0I$3B|t4Mio zIgJ7xUd5Tt?$8Ep1mUQnD$unE7EeZLMPqx{Y@rBvaRC^Q zYHahcEZIv#2>VaJ(uJ*wbhNA$oVGJg3G%)sdyB;!D!7(l%kKG{!PWrI{%A0PX5%q^ zgD@1cgj3Y4$P-pdM0_(L#)0!TF0F?wf3R;1nLCa{BBwlPjH4q!^5K5!_oVtWFOqD9Uz?~$Zh`&Cc{4GH_0R&3NaWEq9Df}rk(>>Zd6J+s%lE*XqMy5Qs6RWXQ85a z)|P>7K%rFCuOHYPB`&j^Fs4?Gkv=g1ZI3;|y^YbQ==(NxfYvOY4Luv1lX6L0ng%BM zM%?lJI-b|T`j2hfct&yQ4Uv1NW(dn~*lDg}@?Z?GLqoYtWA4n@0^ejS7&26AsEdFd zS9mv9jObn>D25w7tLdWQ=>$Nw-$X_Q67||aF6P8KSLBn z-}hL*+gO|%>qq$i2ZvYamVF77UiOi|C)qdO!7tc9eC{MYuN`&x|1&Xxd3RxU!FTqf ziB**|`}48=$*+C?B|bmOO+^H{!{@>6cqsUi7h#h9Y%MMOn_;zPTiETyH9CA58jmn( za%I}^(+#musHKms@$P{yZ&4^vAu0)d^}zMwkjr2-Md<64qjBPJf5InE*vqBcXEbp~ zE~;mtH`9Nh95aObV!A;5-F|tvbc3J6pN_kIz;;!&SM}r@&6Yo?<%qjGNi0tDX3+iR z(H|BM;g?j`*LY!jJ0Z}L3Fy@Lis$Vh)Z19Sqv}stwF(o{i2rwPVG=C$JNv}NkOk$y zp*7`rEZ`PDNNea6^g=w0IBMAL_m+ApCUTXYAhq8WS~4$` zNlq(JBJY{gT>xZ^UZWeocl@9K$NzPyy>I*41lxJ>i20DuU%E$W^>Tovs^(iau>T!> z(rDLnO{HC-*s^Nyq_`LfVs=!moRmwD_-Ghdg2)?4V5aj9^C4rsLqvzrOxo*ro7Wf! z=M4ptCg0OC$6+GrCw83g^yt3?7kX9kQOA?dHkAkbFybxkmQ+)a?V?KYv8otzSyP29 zq}f#9St<0u#}F7i8H{?3iYL3GgZ@0nyfjdD0Gs~N0(fS`OsUM-R!R4*4BuxzCX&U6 zA*)O`jPNH!P{zfNeuj9w?Ruu!H?ZaV`zgk_V@C~$ZOf+~ z2J9%7UxPrQiCTyYz6as{DIHk1PO)v`VXhv;I|lLV>q5a3miLco5WV!n4CqQeXrnH` z&pe%x=lH!5;WoXV>5$Y?eEgho&<7ad*P^uwf!DUM<%4$np>h{#c9e;sk+)SGVVA-9 z{BUt?!1v7jBp06TvAt47N=mQl=>Dh8Y#SyE z=;8H`X7B6O-k;}5JLsHpg1NRQ9^GY(AIck#D@ph~ z=M`#5H@gd&l=6$$^%bn0Y_)!c{gZ#pWIlI0T<{jf4?A^-WB;{@`uCY5@T+{X39*KBMjX zFaE(DO(cH(+iWj9E2>D|yI)&+;)$Ra^v|A6Wg8c(1h#0T`Ku+dAiD_z`SD08nR7*$6zdd)bC-Ju@ zXqtZYnzZLVFOf-X37^EKd2E`#@NfG!>?Sse2aMUM3o)TEKYJ^!m-M+m@G!Beu>Tsv zGjTzEtVy-Py^rHCHd7A5aNx>S!3^qOQEeY=`T>&nOLR=E&XNoH7a3I<*Kg6nEBON= z_+938!v8Bg7wvF9bWGKBP;OHGKNDxd6qE2D`X6Jq{oj>PpNRh}RsH>~{W#)0`bHbW z%M;VYL!=wQitwlV>BaH?wDNSdg_ygWJ9Sncu%cFaSF(>vm+>%TnuV`cn!&Va(g{uf z#XiR*B&tWaH5sUi*OVte`Lrh{m})rxw~A^mri37Obb`VsQ5XRmkrIEGJbzM@`iP58+ zx^5FXC&*m+29ww$gnNcXj_QY@`v{6U`aFjE{pEaLNripb7?#E|^yHB4i2fbQZDJES z{Ufz3oL}u*x`@$tpm!_SVLPUdq8qw)C;|6Z0@ItMG9yiGzQI}?9`(KLu45{0e+#W4 zcgQ!|MRWWu#(lg0!^6S*vbNdQol{s9Tn^4WvS3LbJ3^an2d`9x$A4>+3T%WdjR0Y& z%|7_A%7VIz%sapbNI*?d*Vdtk+UD|s0S3SkNc8(Z*-~7QP+C%a!QjIP_k!Wv<+I=O zs}4lRU7BN$(?X0c;oIK3f9O2@txkW}d2NxO%E|E#fi&Q!nSJf;kFTc&SB1^(EnK-& zRgazHpvQiluRpdvPDgyyHZeJ#5q-jAKSPMZT=asioLxf0et4SBypf<63Qs=g*K#DV3q_zG zxL4734N~uwbB~<*JhjtiAnJ&xB3ahKCHMKyw!`G1mpKzfihA^B3R`Sf=7KF4QPFe& zvz}!Sd9w=&a7WHU3jcPSyrsy5lwV+`Vt3!8e@%KD({sf%EEr(>Co1!8eis-&chT65 zv>#<1OYz>F(UMJ#`czWmQt@lj9-xviuR?)OENzZ93l4b5JU+r5`E6oEvhrdOl7^wZ zb=#Am;eo!Y_$Na{;-&=5L=DF5Gn7Ch10S3D6OD@({QSrM>Ek7Pg5A`-dZC!qj^W;u zZ%bO4Q3W)%8U~RgTy;kK==$KJ!+;pcz_t4iC+M06w9k-Fc4cMc8pO=Hw4*qHuCFqD z76C|qj0Pg0&quH#M==IV*gue@g9wucFya^|ZlV23&NZ5EnJhG^&?4mQ)fwn0X&J7r z_plEV@D5y=o}NJZm<<}oxYPC1=YrN}b(Z&cfk$Mz5^zhBcK*Q@VjhWgF?w=nvj2dn zvEtG0$WugW^JtOQLO?)}!bb@qgOCnnxw(^kiJU7+G0(xHt$wU3G%7 zT*_H2EYm04MPM@;PQCtL_Fs?vlV2<*RroiXK1On=e6hl~XsYn{6JoI6q{`U-S!hbp zA^z8eh2H*^tyrS`9oVvAvVxN|u(sx;T(($)6)*=*mhtPID_D1haKMXFfRU3SnD7go zpW~4f+Uf8sXqbh4MV?)<9`H$NrYeFCYiK~11vD&>Cm_O*KO3L=C z|5SzC=E?DHe!-R4Q`QD3#89ZhuUgtaSy-ChxA%?XdTytpYiJz(z_CHWWDDrr@xRy? z?xi&x<{y+_MWJOT0`#gUMb|sC_}1h&Cq+oZF$w*JKtKL}JX-*er^*-VGTaft_@9zF z;r}^~oS=bTZT#P8t$045#??=7LqcXP$OpAcEYd*87)qUsd8}s$ll9NR#6D9hjL9)< zM1)oA#*tlh+gPQzZ_L~Hev(pEUJBW_+tUzt2{7z;OO~D1Q_}{^Bfh} zEY)FT@;wd~<=>htxy7gBGf8;wI+l)FgNZ-NBmo<9xHaJ_$E}#`Y-j%zt*Bx5=}W|? z-el4vPJMRZp3mxWYub6hOdsNBXtTPuV9;0IzlP z+wng$+82DKXU~lD20Ndgpi9_VKD6!Pz^@<)qg{JGPh&YuTR-&>oZFQ6Ix*qW9~kdZ zal%E4P`3}V2O(WA94`=~qvUpFT)bUH z5H>O>SiL)REX6?Z*a5cA{s8HuRLgD^TpxO}rlEu5p)D1zPM^}jI78)jgXI%vlP_;_ z4?kGYXBf&Ngo77$WD!P;aAKC}-rYWP)L+Zpf)2unn9!bz-f6HTz3uz4R zR0so+r)R zs_d~o_J2G1ST0Si``~YSq%+}EZT}N=Pz*-Y4j`PK(6bpx@cOkFD@4w1UL2FR&`$7! znRWX_aALTLdH*vt#!Tw!)Sl5m?$1+z(!F{kaneKGYnd5i#^O=o~awhj&MN3LJ=&tKOe{c zMRq;$|6qA0#3uM2u+#cRz3-;|lYjZ9wUx1)e}{3Q?GGqogwv{)(jD#FC|S_()-|-< z#*>4Vm19b7(7n*B9h>Vj)FtIJ!`PNNmR~&KvuPdwSJiWN@V606E=!(QeLj_w#dr>$ zb-@u!)=aB-FVY6c$l&@|>0x-p7*8x1zd>W)Z3yke9< z&&`PNf-H55r36-87_?4huc)xK#y_5qXh23 zuMTavK@!fV8sqYY{L`=xgO*#Fo#K=)P&Xe)pKkWHDGt>DHt zKl+rSWfI631;TE|Li0#Z0v0rk#j5Fx=``$M=zW&D-GoUotNA{F7=pT|nA+`J^6(SU z0a^Ljf0>@PYs4)m+#*pY`OBA?fGA=2@`{(~S=E8N<`$^u+_~eMG=BJ=1!+J7AuHP+ z>tCvQ_ANc`_%t}uJOG|V4jVQesC2nQ6~u;(w31HRk>Z{~!`MzOLHW>B~m_~x8VAL|KkZ^NsVIl_zFs zCWQowzE8baQ^46D`)8c^m;JZLqSwryezwqcu|E25_J5Tcx)Z(yMH&>OLcG6UVxhLm z4eh^P6`22qBe?OZ>Uia*{nxMkvtdV0l>42R{umgMdQe+1jr$Jp`}cMC1k3RM%UET# zwtsX=lQSnk(I>-t{CMo2DVp!<#NMum%{)ZGYA}8K1Me{|(s2L&D9$M&&O`UV*ncRG zj!$ToQzDy`Kcgfqo~h8?zhcr-tdF7uAgcGEXa+V3EwE)48J5^~JWLAOIAtE@xNJzY zl4kqgpC4ckT^9?H>S7qufJF*AB*&tDatq|;H)>Vi=M?|{_Q2!G1Rk zi04LWM6?Hss4Y@8(vjh;6%dYYaNrkRnlJ{bcsMGgG{?wDM&s*<6~mmpJ47F`=3tLq z+(uVhd%4L93r&dAQRtycNy%q0A0F}^nq|r-iYMoISMYFVu(qlh2TEI_yF`riB%a+h zV>)8W_Asm_fW$Seu?DKPM@Au#VpVYse4Elw^crVI7FR&2>Q^1~+xcNOVWQAP7Q!r5znU05 zDuM!CloJ6@eCFUd>!bCzldF!Jev3|`Xgo8Lo%mUJlOM+y+K?mxqA=0^{L&koOc#n{T`NiL)AjlLp;;q|9k+ z6=xjct=z=!)rfs%Y-`2=WQERF6woBAWOi5u_2c4<7T^|T`(jp?W$mi#ZVO}O)eDDw z9~5nQWGo7nO3Gt#-p9WI49&iHXF)R!NWoVJSGw78s{eyiIiQ>>pvfx1HM9^ zahn#iP#d5>`j2db*&naXhEFcpDgqT)C3i*62B3jOgTz{TkNZnLYHHsO=tVbvxG16? zmB!0XnZFiW8W-ir8qlra$rEyqbADdW88%FUPy-GFRFAT;ig7hrmt%Lz3yX}2R9Y#-u8jc z#Xx1DAp=U$X!S6~F+J)lcTIQ6_{Q5aCd-k>ME8`BirLo62HF39&cvIyz4o7jNc(?quT4@*Nr@lLJe~5vFGK)gXLxGc z|M=h$0!^>|PX^%`Qm6fYqzaNlj)lWsJFD>(+yeifK#|^NM_E0edF`Li;HUA2I1gh; zo%;SeubI*QE9{>TIz+3s-4Eo`^1X*48fMsfD8FP3CH5-^%KKqi@X>LATQcwNo90Aw zMI)+pB(GL<)6o|W2=|IT`NeTxf7w5dx7$cM{6Bmz2>$c6+Ygg<$0IjxsT2MmV(;D7 zrJ;81s+v%nU&~LwGZp#=dG$xDC(6Hn$v<8l3H><}evIdr)d*HMd+_RUtqP8R>d%xt1JGOO1sK5@Ugq9XOWaf1>ZYZ>ah}RuAKGCrLT&9SXi%l z&M!k2dX=9i=8%*Nz7vV&(vRFU8;b_T`(l zRo3e8M+exG0f|gSLTda=VC--Xsp;N6uu6pl(uZky$|@#Q!;GT*j4Y`=7=@|#Z>MOh zi}(=J0)^0~QJCU5j!{?bwu?yN;TIEXBT#zJasSC>Z_DbSe@G7p8P5HPpAP2k^D?69 zJr`;vgpxFgmyoJL^^#ZJV#R^>^YbHwxJlAT1=Amw3r>xi&V><|b5SgjOcXGvc1U7j zp={5~jq zTyFvtfqx(S;Mq-Dutk)P8-ZnGUhezIkP*uuiT@q_I+*XA~JB1-1fbb9RD zJccvFp}8E^vU@%EJ%IefZENST{~Nq4HO(#iC5;W8CEzp;{)QdkS{udLF8SUD6n^A_ z1gA(fv!pR1>eO@1ACT!$ozZdxgjn;(b}2YHnmLBE^jqFr3uKeu5eC zzVdKGzrHznnO}T+BW@BSzc+Oj?~oss$x_18jUd%mY88ZC?ar|9}lTD5@X5 z>l>(gd38ZfS-7(Ozv0O&@2Hu)ZT~y-SK?xOvYx4(7#{!OT%G~NKgn<#Dv)$f0}mjN zcHp}=Gbkn2d`2sdmiMJ(WP)DVDtRK?3DQ_bpiXll2dY(JU!ogDFPM}QEr}M0I|0Rz z^Bp74^#2wN#&#+hpnX*VIDG0=>g=bVfKc+EC=M{;fc;ZqT^=80Hn<;fDqX8UacY>& zs-9woKKP*P2{z!{n)_+GK*~`1g96iATPcX#YGw9(rEkul8R{Gi7t9Y*&BV|ESNj{|^6OVbAx&V_}-7 z;&0JVS0CY21b(X+{=;J5w{=SA10%u)iJ9Q@t5CMB+)TM!;LjX?Fae|0VeYa0XXU&XV|+i#*K``4IYufj$$>N5|A?=qtT zRLZj#g*A^XblI53LN;ljopjj0N|n(~Upma5pTRLDYG_WvEr=RcS{g^fi(4XipoI~V;Q6`8p3XDowe=semo&LZCuR266O zRtB6dq8!El^0<+dQK=>b$uIA&0C&i&fV|A{3?A#8=y;k_OPfr3DQ zf{ejV?b2>MJCDLrr-`0D0js4fXy;jwQyoARbj0?QsSx6kVrX>A&@0qg?ZMs8JRfYa z1%AmOrJrcNyE-(locNJ;0=~6!_!$(a57T)z#Hlc2KMXAuDyT7EP>1}8Js8d+bU73JP!nz}~4eX= z6-orw4;k&kc>Rb*^oh?gzE5Q#O)(D@e{!s^*_cj9>&QMrtxm?4fB!_D(iQ$76XJ)@ zQ6!8S7!t|jGnPbiVJ#dJ{l5eKWCz40jj-we^Z;Y5 zZuSfEHt?js>u2(h1qCJ#vVMj{kM1G}sN@&zzhwVa20RT}p!W>)OWX%?2)t=UO5iOS z5eSQ6+5Rc!i9$$og)#&h1)=*n=VL!%S6YEuo@0FMzij_HjJxVljxo99q3q~Q{;#C& z{La;R7Ct0}^6!7!e|6d4(55>cBPM+UDPU+ga}d)?(+}=<2)B$qY_>S=3T!~2NIYEq z`mz78Q|XQrDDDC;9=ssd!d{Nxl`WsltBO9oQ6yaZUk!vF;atVis#df_$2pi#U!<5{ z*Hy24ehRaDPZp#`@rdpj6bL3wuEG&|h0mpHqzmng1w-o4jr)1Xj5ESNbZIG>J_I6!@r0uD9+aiKZt1e zyH+EBaqsLjqY0Tu33Z8n)0&MUF+SLIh^BPD^@{3 zfZ$wghJ${(wm^z)Sldn(^9)1*0_rE+*`Qa-wI&SiHa=iG8d{)SXZ=AQ1v$Y!8UXML zVpIxS;GS!Lx8MYCxGR2~^nEKq4#29?1vB2e2g3n`*D+CfNA6{W#wLe@y5qsQC5H~Y z>;$N{{i+)PzSylS30uypT~P7)y<~6`CzLx{7DMMj*)U(|NCI@5W)_Mosc^-G&)3Zou0CE&Ql?vT~)_5g_d^?~KAF8Xw4Tj`mLNj1;U`ZRz zu{oIDM%V7Fi+MC+L5B?C4AjE+g63XjoIISFbfK95^Las*KL#lA`7S0r@9LVkS!3uh zc$~JYZdWeyaf8h4K2PvG;OB?^qr5`7llZbw!5Bi^WLalzIPdlRc>gVPku+|vuS^KB> zISPA92SvB<7ZEaQVOrBp009i*C`m7@rJf>aPyRf^8JamJ?9nXyt{?j^**^$FLN7g} zQ-~P(jo)VN47yvs6E=pd^r&vtEUa~RJ^tA`tO7u4G7zNxEs?rSOoUS@1JPX(2f){; zXo>MW_8+pNUjM|Dq;v~33%BR7m*`hcwpc5o8&WZmlVFDh)e1TA8H9CE0c9J)(U?t_ zO;3dF6~(>p^H||TXVg=il{ct4KUhFP=k2hwyZd$GG=E;!c|%KC*pq${k|9| z@IgMjtssCw#{XwJ;#H?Q5CPn_*qD-gMJSawA}CK zv423bF`jhn&#K5s{_{Wo5C7}`U2AH(<5n20xEn@V&>hVT|M=rVPU zTmHzgc>#W{00%`&s%=KHW$+tB@5p){rh)$|3AZQ`<>TA0Zpgi^3)T!{?aJolgAIBT zwdi6y?ut5hMlH4jv*dwk zDa%;sLM-_3wnzm0HN|M{fH%`->6e5LAZGX`m)4U2Wfv{b(|%eX3#%&cK9$9$lK* zhkfEYbY(bd%NW;LG2x(~M=wi9jt@)=QhP7A`7oZGz*&StJ%d~GIA6ed__ew;vdaRN zT?3fpHO^EZ4mKv2LP>J}Jykx{sjRLR5e#Y|b02qrWV*xN;A|)l=^`SjPA`HROBRY> zO2gjv(XOCyjHvNYF_?PzXxC6GRGI0zhX7t37D$D^aS|7$rd@_TusGX{_2E0aGx=ou zk7W}i8a%FO-re}#>3>-}{D8&suN3y8eiwq5OUUl{=2%2PKV`EvVvuLxjm|5g4T}T_ z73?4|f2x0ZFZ=!87w4a4Jx}+$jd^8NTD77qW=VwqPmcNvd8C~(5-RP09RyxI0oLoDI; zYyaVA3fbPmplfQ)8dqna7G@g$0DwNm9?&M*&qH@--+%dk*?;u;`(^!m{BO|6{zln< z1WYBKOl3O&Jn|6!V7x*%Y~X%=>d~p{xarmN$Nb%X-r|w0{Z|5eOD^#sUU(3SL(G`R z{*yPh|ElMJZbZJ)xr$YNw4oBm!u}mQ-A_+P1)(4Q)|BEgCX0B{g79aEKfm_RH~}7W zIJA(zMy@|vhF_rx`n) z_nTqJo2a-#0&R%+zaHnv0zsiJ^txKGNsc1p|52Z;;(ZnR^N9tGJG3YMZwj|lycK*K z%bBJw<7Oj~X8-8g+W7wLj;00P7)YlBlV*fZaQvV81-|Ip4t2pqf_uPbL_Wyf0d16nNc(heEj|PQALnn*bc*Fe|WI* zpYvyY?;`7W=^PAUS!~}|QdnHOkMdpSKm=tXy_z?gf?BNo{&idnt(pL4DiS650o?wl zsgRRD+41+*!l<$KfTQ%<@HGa36EHG#6U zB3v>!ZKw-4@=jNX77`#=FZpnHfGOw-Uy`FQ+rN^Jl_4U+idi^1R2|}YZ(h|q;~6@F zH!()RP#4Yv@Y^+9h-rZUFnkLlfhA1L?7*=dwnwj4?H!T!N-tlJ0w=IZG$prM&gyPA zG@8d(oA3!)HzRz>|aOJA^@0m zy3#vD%1f&b$?bANS}H1u82)VV=*%k)Rw{Vt=J)qwI!810Q+d`=6kArN=-6UjzBFX2 zGo&i9wj{?&{=Ma(MF7VF2*K$xhc0GU|=(`qdPep)I z9u{S;JWFGqF!pKt_GfJU46-wUZ{|l#h%^?}2xw8CxkDE?1FSWuMA+dpZLN5id>9Su>U!v2{7emK?EvoAld zzhpWI2Wpcx%)6U$B(~ZyWCR^ro!_Xa{>1;IUgG@D-;PVM>7;KW01&+Jp7W8%#cCg> z?t}3zPme}jZ=J2+)qxSqf2NF`acqyuw0hh4w@vQIoY9#>32V=<>th>nF1;yrPJRQP zxw!)++FD)9_#bab*s%E5{-ww(!*56dyJqo;XHXY%FmCUhd7xBsAkqs5)BY*U-dzU- zkoHr8cpjzU{HI=A_V1{5?3E7;k#YPAxWrUz)s^X=kvh<+j%9VQyt*lr9g4QI8dNwERx0F>;WuPGj5973dnz?Yn~xCi|PM6LRqbCoU6p z2h6%EwvTn$Tv7@GxdX!j1fi_D&3&7{@n?672jE?^L_nT17+#|5L0<~4%g720aFx6b zGA;fV-wfDvJ>b)XtXTz~7}x0ec#j%@=Bqbw93$|7j@Xnb-|jzH@4Lk%Miju8_V1&? zHtwbNZPVx2(NH5dm}nN|>_CHxZR>E^k?{6H?eNHN(hCN2+Xozpc@m@D){9kTf_}h4 zGlu2$<9$lBi+>!WtPmi_p-rjyjUXxYV%R6N?einUmSBQi7M@t?~uR{jZmfG_)EHpV4R6Q0y8`Cna-rH2UT|g zI8Ib79j+dMFp79(NMO>mOG|J6=coWh8yCN;Tv+qi5lYQ)x%F^A_Sd;^pYsR%wS|IK zBP~Cso^3IV(Jb_1DG;{Mra)@oInDeidM_2X4$;g3^Xl}_X`MfgLX_RBh)}W}J|b;h zZ+J;m%@KhQJ^-x13}`A{&|3|3ISDGgD)$FvcU60v5SAdN#&3I6LVyS5=g^89Gd5n`6>0$ zu90MOrfgmPrDF>o;N&S!J)Ra1lTH>7m|&{$sx6|JWAwksBwNwPeLF1^R3#PIlCn6k z#pPCA8gGLl3*a>fQYb!>M-ZpEIkyaIrp!2jls-`#n3x!+C8K$nxu#3NEHeae1eDx5 z9*i~%`mLKw=2|QwJ~D=RS7mb~r97@G_u*n!Q#UMQ$W60n<*iM@Kg6r@J91Yw%D6^_ zv&8HttQCtU6IiB(>4BT=Q$MCFVxQ2v{mWa-{0Tw3UBf6p?qb*XmJ(*DtJrF?g?7$k|MS480)`#9Vmn1S45y$kU4&A_ zIa0c{TW<5W{fA!J{`+D7aQuyGQuxmbJ#ij^#xKoZ`tmj1pDdW(WPZ|Dz#jo1c#YWq z)sKCvo6mU~y$zAFW{-&#X&<>!q1~{LdAZ3Hn$o9sBunEi+aKQ6y9Jw zr6qfmGiW_BBP_;33?qyJZbjBlsn zpC(U<^P#+}^8ds9hK05ks5gp0C~!nbgGNY|&XvMF30qn?;aD6$ zs#qu}P4cB|(WH2+3DTLL_`ga;E)_jk4EvPM;z4^OT;L8e{^S{0OOUhQA3Q=Ee-00G z8C2<^!=JVP6AH9)!cELJ$x`2E!ZxGCac0zVScLMfJ%Qgo8b5C@#aC z*na>cf+pudRgXs<^1y{L>k^z}+W(@`SRY>fFt6^iqv$4YVX>vO@iCfco{Cl>k>-{N zGLWdPy~5TUfz)^eTiabN-^2xU4Xp@j(w}xA9f5@G?L4Cu7~t6G1kDHzH0oYZ;xex0 zVago8pHH($hKsb|SJ(SnFaJ^@q4E7`Zmn~v`|{!yj{~WiI7RaoR44^ zJi@j4p;4_)YNeMRkSVuH`)&xA-0qc+0v`!y$!Q(veYh%b-|R<-{R-q*x~21**m+Uk z{vzt4-GQf*%>Dt}tvX}%kX-=^P$awghB@+)g|(IfBU+Sjb@(e2WF^Xu1saI6$?>pw zb;#C695rc@7$F+k1HoIK3=z{%R^jEwK;~EI0H{|b$jOsYwS%7vplm+NVt969yj!6s zFuNvxRDpNa)5UY9Y7A&;D%<7v!^1;|Fir$a_aB!8Z*fXs4%*-gS|DhA8U*`c{|(1~ zP-x&@D<61y1iGymD@Hrp=Y7R5_3<^?0?n7+KZi+6j=3~@2e#j(-=|{csSKlI>=qo& zDV0OHYAyoH2Z_iB23bQdcrn9S{wU#z02#_KX#WohgrmQ@edN2Lua6IzVQ^Ilim3Ou z&ka`ib`7elWJCB<$jUbXGmKJtIW)NuzT>uI8(Z5rZmp-&{5WnFWSV-ccq4VVeU5sm zpt0j}L824bRh;_Dd=t$?W5{8ttpC)5e|vDGY~4I2<^VkQaM`no60e8Bg>^4)_(mSe zs9yVbTnqkmMe1xiJZn1g|L`dzsKZPq$83h-zb+Lho>#F`mdKFVE>)53v3O7vx%9r| z+BBqCaa85@CgKNH(6?T#@I^_!*iU|RDe=|BXz)t>(X1clS;+f5?7xG#6dcuF`Rge7 zQL(7Uxf)q*lPk%g;o3^(RB=x`9MWe!OekH%lETEbXSg0;QMdb%-S@YTM!RkC{3Z%6 zcoBsI%8E3E{hMEewQclI^Pv=`Bqwc7< zjrK1Vb310evf}7y7l*P_?%uI&;#)hmH$U? zl7=F7fi@N>_nfU}A-S9QiBK(cXoB8DyqLQg2!3XmNob{Ho)Km|x!$KaIDsF685T|p z{=Y(AXkO!P^g$nN*gLQPSMkAz{q9Gt_Nm|u39|5rH)$zWVcbPoB2E(@ww)c>rxi3= zr#2eWj11MJP$0rRz{u9Cdip64^Q$#mv$Sp;aiYt`%EylH;2wkO0HO>~5r4C2u_@5u~$R@}CQ_OQ#h6R0-&Da7*bS9+dnZv{(pQQ zbo1Lohc@%WK61#k|8mZYyz|5DHf+!{Jj<4vaKvGGSAHt-Q1HCJrmSZWK2`((aE;%(B zDGzh7(Qcncm6ho!1rl8bKRg5uwm}|4y;L3MnQ$bdm~JSzVt_)hz^}NsD}wQ20yVT> z?LlZc7LMKa|81U2nMY^>h)N-Ryg93SR4JM)yzeiR^yuRvaS zoQ6%lYKS&(=p<@ZZiks)ReFGC9kn%Xf|hDLvU|WiDh(>A5mwhS$a|=`ayMdqVTPMH zfxswkp|&ESDQvS?9?*118*_`~QxSb`HK3Tqowausk|MFDZdW9KkqGi_ zND;u4jHui_&c-UAT?B4W{wkOvaomfKI^2ftoD7m_AiQ4>ekai<=B%KuNaEFlg#;HKSTKI!GQ*hsnPAHj*3#70CTlTG&wJywsK!swc*uT z`6_vhhth``vnWz8+i9cqFQb?oe|7W~EW{XKcc`m!TaCzW0(N5M)m*OZk%1$Y6TA50;Ct7{HinzWkI;~4ziEGCqT6K$*+2Bofe2v5a-i3{w2?RECcW}+ z5aZ0-zi1#oX$zMjP3sum|=dXnF?&NtVXeuBOur- zSB6LMcKK5NoU50(P3)4n=Nq{n+5c#KhR9NYdJ9!v9{Us)L&NCD>6NS$)EoM=lzBT` z*a)%ko-Ww*_s2(>@O|bJV^(qKex1j6HEnpiL5#Z-Wb6OoSI2KDQ@GI24&5b)4k6>4 ziE&bT_j-?#Qz;vY?H|RGyxg`zPxe&$|9Nrey5!ahj&6X<>RUAu`_>`R0dpkjp620$t5xHA-!?e9*>q zF7E8ed60H%BC&}n3^4H7@Uv3tjt&_ALqjRKIaE_kj8OBNs8z?G*AM1^pIy|e9V-tn z-|nHjWBKTSafWZsb8f=Ns^Pc2KSTo9zxru~-mn?OTv{B;Is6^-ANYUg|CDJW0NUx- zl~VqkZT#vIa~#FeT@Ea%UY)Dw7C>m%9Dn38)qG=R%d%wu5##!0N3iEA>i5v({07rf zTar_CIyjp4Bi7oNK(&vGxWhv2R7G-(8AVe7)MDJ{KOe*X1;GyneO#=lhy7zyS;?Z% zAcqr`nZS2CLken(Bj->wt9_p#)S1wLbHtcu zrhmbAAZBQ!Px#r-{_F;u9ix^xkCXxT8GiIzIq{g0&o0G86M#QBQNFw?Lz;Azefv;> zZi4oT=tn(21xBcWv1^qPVA1r>|Q9D0~F)9T5iXtMj}a=zMV$z%)$D zH5}k6lnWbM))0|T$mlWELs#oN#t?YZs}7$i_XxxYnktO3)zQN(R+^n&>_V`Q zR$>Dvwiu515sX~mjol4b$B5lU`>(&gCY1Ha!7x}kv@5AHJQo~{gFHCb5;g^-oq>@Kn2?0f4sid76 zsA5k!iR^h~wGLp%i3OsP)dau0Y5!x`7A-Nl!g*BPC6oT%{)xgxE7@5oLPleaoX|x% zoS_J%Qj_~Q?bkTQ^J8a@oZj}^d|`5L*sInUih-2ieT01@3)PGx6LiN0BNG^r-J&A{ z(6a5NzOf)EI)_DoDlOzhqoeT^z2#}M!ZGRbHXQ3j&>$m;KJRtR$COqQ2ZmtWCHr5Z zEf2KP?=$gq+b-gZ1{!>?JoBz&f}+cXq!RFnAAG(ydH&_gQh35|*I!Q;3hpeH>0=eD zMru34LWTdDJJ6YAdW&R)JxdhIB;c5yLx&f>KBX0g)Qlny#GCj6O?T{{#fPi9uuaKa z*jd7<2nl{Be_d$0xL`y1+x~GsLZCf=%S+rwZT{scheXN$a|JPfhz_L&f(Q&`t(g9G zp&vyBVtEJeOITPt%Mv)>_5}sMyn5A?*7bu&+?j|!VpQWXGXBDz0O=`)O&<?7nAu$QrS#0DrF-`|h& zfR%%st1yfBDM8HI?MJUdXh0y8gG>AbIG}>0k_|l6>t6D@KMrI`NZY1bP(gU0QxQm) zNT1um1IO8k6yYL-cl+TpEfcsam+lfiIOj_OvQah{dVtQFQO@kEB_RcL)0BGSYYP)= zT2)f9t-j+D3PcR1i`t;JIliu%{);N*T+$l^0sI4es?qj8K4Z_Kppin2QS+^M8#*$& zZ#6|(ww~~{m0=r5N@qf0um=vKSx_nwyw7wH^o(BBU;OL$qf$t~YvNk~3L&07K*7ltVFWYpj56&lCOFBkjLx7{bOM~Kfbdx--G($z z5^OL`Ux@SM6l^bpcR9Bo=6;1sg@PrnmINPwTeOQHe1jB>J@9QtX)1U=+ZWXA3hdK+ zSRv}At+!`D0Q4VJCpkMXPjLXa^r~nRBMP_=l{~E?BbABh!f&+yO37C#*VFs-70_9HrrnMk zW@<0dG$9(}zIL0*i~fe=!m}O04)q*n?*jpj89ri971dOX)KXmJ)~)+Qx0Ez&O*r+* z8V@@Z%hzPPCtrnrZ_&0G-dO}towb8_0J;QOe&oXU0Ws4wr8ko95wCdzwmrllA z(9f1G&fE55U!^$P)jU7*v`Kftf(U4|Z!I0ZSyY(-RnnMkUOGOkJc5{r<7gj%isxDp zS$OC_zvZ>%8eKkaWhBG9RJJpD~AX?XzH7W^R z6M7eFN*?5OnF~X+zwG}VjD58+gu3y(41o4u;(tUGBAfqpwms>8+n6D;^(r**he11= zqYaGt++rOubxK1dK6QCJYEa6qba;H&|APW-7oksSH8a$ic7Ch_2SMEFAOCM%!j`wP z_axZ%i)|xXY5zXt`+oMpsuVQg0s-y6l$K+2{S zWskLkeJGA0d2nvx1Y+OX^AL~>?pYsZbhH%(7#BnmrrG_bIgB_Z_sL^cz_cG_>*U= zQm=}7-}6`ePn<96$y7ZPhQZ!FUva>pc79AM&TgkXuIy;lTBA6!d&<0p@7~Che#r0+ zj!*1tI9S?VoY;lrshTyJ^u7i(2XlqOQ)EmPM0A%S|4CspFMF!!` zam|?k@{cmJ>>E{Z!P(YMrv_E?Wi zg))@bxLDFo{Fy-pQ+;^#cOQ94(N4Y#UbUc9fZ53Vouy)|AN}R(1knABfie70Lya_w7V4&C?^&8&;>t?qYhB9C2Z_BMI{4r)659c#<9$0WLgUQ=e7 zKXzG_{Ls(%Y-8lOI%~LD&?0ddh?|IGO<&(dNS^q}2`lsDA{p2N>e#^G}FV73hnCE#6vN`BwJc(5~wYM>F zF505x`7b=`@XZL{bf4M^yH6aDE&$9wcy{xswhX5fGSKvqh?vEOd9oO5JcT>%h7qh<{PLf>Gd^4@l;@K5pv|38VpB(5kj z`u~jqug=g9HhdNfA3y%TGXDBr%h+tTuyx}ko!3}x-Ym^LU#L?{!X#3qX^#Dgm`|3| zfhAA|mj1)HUtiwBJuqd}I7_rJ^d`t%I=3(r_~geLda1aZ3A*C{vj4v{p%T_EjDd72 z;L=Bdhu&MUp+_GAv4e=QCF=ScpcrGU{4P@L{iFE59X2(^@azAfHDZo_bXZvADYkXZ z3H|L8%MDKOxll-!vMijFI-gUO@qbrjT-IBGM>CD(xPCZ<=a>lL99ZQ^-7lt)zDxNs zzw@v@afUvqre8a@{S)CRi_{nAdg8^_>9KVW$XkM$&m+G;b+n1%aKiu)C({uK{)+lf zLt#72^T2x)6-A%IQwD$d`V{%!Kj-<3wFx>LW7bDV0I=mwskq!%5h|M_!)UNFiCQ+g zXD^_op#Yk6Y8bmjN5*ig)7)P50q3`9wO9y%qKVE=y>>jnXP_}2Fmh?cf!LgRk0c(g zwYGB%`5EII88542EnA@0cWIWQUe>qriq$;tcjwQJekVY3L3n_n%eJ!E#vxBx2T=8w zUZ^dNiz5I$gNndD4&!BRvtXxB%W5aux4yl+#tqFXmR_DZAy@C|Z)TeF8n&sx$=7ihBu?;)~SmL;Hsy z$qeefCtGEV3N**er{ra#L(jii|DTig-w#U5r+upV>R93JXcTIH#QgO$`NkYUr_hjI zZ2LVZ+UynuC6_u>Wcj$yz4k&LN>$*9#w)l+J<)xyjyvhCgwXQ@$D#*1uMczsu~>BX z@L=TPn^Hv}r7t?&n3}}QDOV0E`6E#sNRovnj74k>|EMQ=bfyg6E7xSw+7-|B*?zc^ zLd9-zV$2IX&=Z_~x)iwVzmDR8B9QTFlL1DH=?lSm9#}m{qomsRGLdmHtOhzS^P743 zs4UHTA#B8R?EmWG!FD#;zuc~6kz=i}n-LqWpO{^}*Kt-<)pK9Y0?ediFWdj~KrlKmcm?fSy^^%3B5xF=>mA|7~cpeSI}{7#<}=09E# zbxjEA;fL{1agwiSZ|L)hFN%5Q5wpCRqH7{96AxzObEmQ(!#5Z+^zV#?fsX8$F_(&% zMXoIWeBP4v&(F|(5cFf5RIy2&2Ymz2$1(NlQX&4=)=3EfG*ed+N9n)dhcJfe*Q^RS zh{8tM{!i#Ep{MKVzq0^xeHWBxWich(0#$cK4ovI&4d*!t45fq4KdfvekfH)qkw5+^ z8YBL%a!idf&aj}%H*`w*N-}54Haym$qK`F6=6o#a8%McX-#h}>whE(y4IYFqKOHou zEe>Vb^g6T;*+~fMK8`nW4r0F^YcUB@PP%`7kb;W2hk(L}Tjr6Gfy`Cl`1cv4>Vp@^O!tgS*d(_Z*03I29-^)JsVe2YMW>2yCrC zt$(X*9M6bD6a3g7c+L@2=kVSNlY@%W97~2-5pY5I3gzk69@!!ex56-e@ya6h`8^NyS z7}4fF4gxHJmXfLrjhiDwTL4m1YF9Cgiy}!1@qR!0qrKyyqxFDpt7Cm1M;`powpdSs zY+P+V*KyyW75D0b4=0~iQD?^}9tw(=Uxkc{8G zTnbj&<5LbU7X8?*I68bnGT4OZU{Zo_Cp7;l$&s!&$SWn19|YDr1|{P6+fmfYnLsXc z2P^e#^13~ij$hJ-W1P((0;GPpJ&#OKf|<{PCrlprJKO(MSY*kbRE+%PYAHymA7mI{ zBzhPn71gBz1(Ah@V>8%$w?H`(4%BOyIQP8uGpf=CkJEbu%05s3N_Ok(0_kA7dH;iW zI%J0Ds`Aa=`dk5;9-8E<;s|o+gco)A!ZB#OkEK*d$WRuvp2|oA}`~<c+w|ZT} zJcX92SKlYb=Vv)g=FVP86&UML@OM5*JpB&i<4K9F<$SMI>^^wEQJ==h754wA`xLjc z41O=$dUshC^E_A3?dI3uG9DfXn+&Mi62Dj6uSnW}?MGjGOkd zZPUX&l{djA&(X5qx7zCrGqM+0K^<)E{`#>u(6DVjVCOa9;LCaabIM<%nsOBTNXd(cya!;k%!{6A`UQbug2 zqW>Smq9%dp|5-HWSecJD&tI=n!GZkjw0~q6CnWeJwX~;GQJ~wue-Z%s{|5iN3cE6p zSdaa`l>yFXIf6pX@CYMbyW;|le#4m3nHC_lix@@yC9%!lkDe_KI8>a8Whk(S8}|^!Rr0u1Z1T>(dX@N zO+5Bv$L)pvi@xvepL%4qtUk_hA+y8IAW6MUs3I`0%tKyz&>#%h+HKJs@s>~Tj2lhhkIJvZH0;z=k9>pWQcp1Z;0)+ClWSW-Vxi!B#i83sr!B16Zzn9Qk<4mXprt`s~@@U3J` z6^FJ(uuCSF^>Sxq5d4(=`nQ6#wvZuIj{<-hSMh0FRk|B1lFYV}wRk3F4w-VtO&sTI zIaex&z76Bp>~oAYRmz3tDI2xo_mX4Mv7~j6PGgl{<20LwlNfJNrEyl03Ks9Is+~OT zzNHECm=Vts6UU$d9}>cQ zSIs0HI%a0fvXX6|XC)`4zNWKwxWNY!QO=w#Q`)M7Uof-2)Al)+aY_ZKH%A_&-SmA3 zqxdq?FUR8+?t=o?+om^3|_Q< z29l)b9J_}QmTIr_!GYc_ohcvkUs4kdRp)lmUxbd$JhZ+s%PW_Mb|hS*lWuEX+!@*C zPr>qOSA65sAM$rvP>t5Kx~yI3BDI_Cgb(TIc(vD%4Qu}q^cd3gJBw1`K41ML;bkWC z(HW8MQ0f`)RF>3U!*?Okn5((RsRRIw5AkGoPJvA2s?7VuEwFwseH@3h7|SNH+Lizo z_Mad{d83Zh@Rcyl`deS{IWjAn%j$p6Q{Zm~D9@Y7mb&rZ6E=ewxp@{Rm_~j#-;7;= zfl2+8KdGGnvHxE;xc(o~)$s$gV;yE4D=0^XnhIck(rHIj@YviAgfRN+|5vxMTCSOw zeE&R;|L0)8UylD*JTeq&2YsRZe~^>OJ?*V~SJ{61|A#++aDWfrz)ad>@ijN>;0-dAlP(HYfmHkd!O5Av{r|A_xTI}jS(s>qaa z8UX-rX?n2@F684{)sBh6NZ9}PZ=91d=3O;(wg7a0%2(f5rdKk6>L0PRxI@Tx0~PV; zuOjK?5MYE%;;#S<@gxEa$#b0lcf_9YFmoFP^4^d#6rm;e8v@I+|>^+aQVys3mE?S_lcE>P%&_3vFZha8NNlS#R!23Zi8T2QTLVX zlU$~I`8L6~i)nI7sJRRfL(5Etx>vbqfFcKCPG}~xKVk~o=1KGXw#BRxYr}cmL&k6V z!8@y-<{0A~5jiIWem1nwmA07Kf1~+4r30B#g zrl#(JfXx%@cSRbOkdT;)wkg~gh>%M~vgM&ZBR~zg-+YT7t!~m2@(qF_GZv%xCl8dL zF+CjgP=5e_GW-E{cc&qb`fDVVShp5MB;MCtlWE>CGZ~y8X0$VW-W7Sx8r9mC;uy2a zL*%tHI0F+w)X02M{k~du$_|(y&c1-lH15GzXP70b$hET_ik-x-HXYCtIWDhm8q92Wyy|u#;a~-Z^n5jDi5~E_ z1e0SBkF39^!`7(F#bv5BKW1W4l-fTCO1P@1Dh}=o`}Ye+Z2zMiZ1E{QV=eO_jX;vq z3DkU5>aIQV&R<5s^bi~OVKAa$ z`!5AH+TI%qAhQsVov&H>5^!!~GR* zSUKuyd&{Ou&$J41Q(k>ORH6wpFBQlc($N0-Mzaxy^9c%DnuGQ{K+ObFq%3}jd8+?y zjqel5MjNZ86RP-4d;q@2_DY5~m3l_IKksw5$^T$fc#gGV^KnQk%N{1AC8GQ5G54y> z8R{9~bEA*eLNtM*u8kD{pRk>NTXkXV^l;g?gx zjTNM0R)dQn;s41^`qKaA|Ec(Vi}ev*B|sSEs!bm%`yVlwf8gHv@&7c(V*KwS))Xdn zCooxgKZr^HKYVHhwsp9A;;L3r%-3d=xG;q)0;(&=c*IysL@qk57+z~$KFY~w0b03h291Q42KR4$^P=%z#hiXs1_D{<` zxh1WK#?RWP;zx0Bm@Mp-QEppN2fA2Y%xYD=)*J1xd`ycXt>AU)O-u#~$ zG~A|Mul?79qOyMk8@*fH%P&EQJBJZ6ZMhl$lLhm`SaYg{k}Jy!zk0VE;za{!eCF5w zEA77`{bO(BBVEI z7Jli?*q5p~DGM~aTVN%H(1itiwninSg|^p`t2jj-l5HPui^6B0INWlp-Gz)u)y`t} zV4Bn}w-zk`>O^{gfL2yjsSL!WSv0HGw<(6_gWy5nzIQ6A(F7}%Ab8{g;LYR*2+1Kv zEvCwkN(PIu8mE4DawY(2843ltzy=a+1MaUjP$y*6-(Neya#mMO$8u$`wN7%tp?`Xk zj$+*^m04ifMD?QHr*qX*g0yYo`ViJ9Obo8&pX$pwf9~C9*LL2Lo5eakV~26S1LzwZ z(RnhHoFY0Z z1hTPt&}>y_+d`zn-Tu9c($0BpZ5}T~*l(PJfCRr40QepnPDdd8AI1gztOB5WWmR$# za=aB)0zq(ji{kgWBTxseT&YokQC#iBLI&8uBA8vQx5y0da-`98PUYEdz>Ja*?OPZW zGBfB>L~8o&x#9yVVyK3+Z+K5zI|)KXro?O$Y+ox79P-mj3I*u%<5ISD%w`ctmpLp( z!xwOi7`Ie6qj6#&gT^XNs_b0|E(We0`omx>ps+l+4Pb7NDu1~wvHg61Ihbtda*VVq zD`+@aRk1oH&a4PO88OWh8`SgrwuNav{zZC51qTNk{ApX4t_toVS3!q|#fy!!I_T5u zy~m=hdE{-PTlFB{zh}p+He0W#&~9aG;GP8>u8^mD zsJ6wVX=6*_2Uv#oxGgd@S2m+@!6C>C-!089J_0+KSAqCqk)>r?1&|qepLhX-{04IT zk?(=y75=0y(gvW6n8q=Tk9BA&c^`O(SQgoo>^(%h_J3f9v$THZ-|T;W{6CEzx=FR< zuuA^efDijqj!63ilc*zU|3ex&?QS$N$JfA9-#;BiJH!z(XoiX(ChvBevI40WZQb#Y zl55a@A)bs1Tis^#(gU!Os_n`Lfg!XwpF(fb|CePmq00qfUSFAU*>V`JxrqO3_SojuSsAAPhwSOQv4I4E z0L@8(kY|XihHjd5RntqHW5|8i60|0<5Pqls|MvDAD;(z9n*xFSIC#5*g`G1vHasdG#^gWdY`dNrKW4~iNU=W29a;E)@ z6Z6_XK-jo4O6!|;{S0kivLU5^1flZ?58p}Nc)!^EEhbv)b%?y%A+^;jrgYn z3+d)RvPKiiOE`)GddO<23;MP-Oc2-}GX9rAGN=HhTB%7jTl7>*kOFZehq>*WQ)QUo z&ba-HFNLfL4^QVQ5wG1@NZs7s#r(WE6G~kYn1j$`l%=N=u`M#2n1XYRMv}gXdP0F< zs+#m7NZ5iGef)^$CHnEVXPpjSrmgM8y7tm`SLN`if2%BtPQ?n`+{)W*j=SesKb&9 zoV|3FHqLyq)T!R1kXpiI;g5_L*g*Jv!iK5w@~aF)3KiNKv$HlTf>{m_#i#2PT;(e? zJ?<`c)}e3KiQs!pv>$y!2xBtc#}yXzUXJ+Cs=X>eZv>Q#Sw zzR5uZca?}-&HPkAh^}2At(`Ud-gcVdXL5J#zwYUMP|ZSs5UR!T-|sHUe9w#eUSUKN zz>4QOjd0cDu+I=W2bcF&u&#NM_Zm=BCJZrh7GX$Q#NxYJ9%qlis4K@>c)ajur4&N!iq0(3heksiSfke>?| zls{#KqG*>CQ(SBFcQ78>KF`O)oJA25j%}+rOV<&&LIrywx`i-S8$QMy`kpX<)3JSQ z)~D#tN#Ln@igXlkBUtSktsr~xf1lVbb}+%ZOTK+3VA0Kt3nD8Q8R+-=al9aO5Njz* z@^@wGm@n(Vqq^KMTFwtN&K0t12J3SV`O#FJ`9*-)Eo2=|{4pEY1}W89C9f&fveOu) zWZe*{19^#i(L+M;`U%m~*iE+JNf{1S1c;vw*ckg3;Z{*K1K2X5{fmh+5q)hD6|QEE z3xLZDo|7vEh@e7LT$#8{Ik|2Qj-#h@81rtmbGwXl&26ptI&_HCoo{R3Le3|Od>B5E zt92+3n%V-)X!QXCW#YaHJ#l_q*o_B&IVS3XN{{PhxFG%bS_#Z~s#; z(iP>Dtv;%h)S*k?Up^l5uHI~o{lKh`C&ESsD!p651MbqU({bTR7gj!@Q*C;(=%IoE z`_ZuxhD$zvsm;aGM2*E+wmc zQDL##JHxPda1U!-+XkGWctwvVpb!85{o;F~${+$FL*wg33?FH7n zoq*DP3#kU1YT|5p*AruE*^urh!XTrg%ilS{(BddKh1ikQnditS)M1;sHvE2IVpAH~sJEI0W2?R)~ zSk?;WoF6`vl=wt!3Dw_{~Je!dYip4XQH|`ge9NAVJgPH&VlDl ztyYsIg*{c0@9HU900X*Nqm*lCD$Y$C zH{iRkrpJ~qZE4c;#ljKvt{TBxF~K4I-XFaqZbbrAj)CQEF-Q*n+0tbcSV#9^@x;Yr za`^p)Y=arNZSseSVSuDaeX8^5TM>wqptHz^v4j08kWVn+)0RhR5{~M!sci5Nhl$c~ z+G^6g|I&7XxaLxWI`6o;31 zs|gT1o*$Y?*Iu(d2-xcvOEFI|C-82ft=5~v2&&>QSV0{YfJ5gf%58~B{jQ`lue!WS zlEEu^dGEPylk>Z)pe_gz{246!?OhA>V3tbRO5P*$T>k{u(_Cpw5GB~njgIIBm(Cs? zEWcpeBRTId&T$sn?aAb6(>|G9%W-vJgynX^_M}fbw`9O)1iBGyY0vrC25amEX5J;R zYoGYNO97hnb2Ue@EZLh585{z=5UQWni!0~G5IL0b-Ss$I;39T-{8(LAutcD9oV}=( zNG%QL7%o!dk=3gi8^r+TNf)p3mhHBM7o(u2oftrF*Z!v-p6};QI0bMK+ORimDTKb= zKvkIC7^XMBm_~msduaclfhCzTFL~a96HSlzM8jI!WR}S$6Jy}Qob<-z6$>S_e=pPK zELn10lNzmLxk}%$9d!f$p^Dr7nS-et+V0hbChBykYdcD+05ndRPf=x>@|l6jMzX>& z&G_uImQGoJtOi9pS+xhv7~g^Y$PYnN5QiuT25)XFw2{s{lzon6(q_T15QqnC7Y%s( zvHvL-HE91b@0t>9G(uhaBGK;ET$B@NhdfeO^z8be)cg%xX&r4P*-vkK-{R9TZP4WK zoXOj5pwpOS1I#O6PxZSUo27ptxZ0LY9Cj8OSH>F>UV;_sEYt*q@g)vjw*TiV>~bEP zRne|d&jC(%B8KEpA#c9*@?py)CZgCz9+MIH{Lq(6iB@oGcbw?n{#e-fu^;zWnk&*) zqbee`OnnVwz{|2fb8Q*K^nQ3=Ef_)myR=eR(&+q8*bgq2p<5PgTXyK^x35bk&mS+{j61u ze9!5>(_;Cjl4*>c{)=M`zaWkayFcZfT5ndVF>R*s4Li?ru94ifl{YJjjo(+pv;0#?qp?~P?eQjY&oLi-- z5@ip#xO0p{;Ba^TFfU1)BHy5$Kxm1{I49F!HW2zdP2xY!Nb3 zkatEG1=wNyUpQBFKjXaTYOAcMQA!60Rq#ISCF0(QL0a}Vlxs^n#gwRT7q=HoZ~}Ez z67%`Gzr(Oen+QIueYp{E0%GAH9SU6(xZdxa*|aOHa1OQS%z!iL^b3}zXGHUmX*`zD zlaV~VI*flcAZk+Ms5C$YdF~YXSw93hr z8FI(FZZpYYRbAZKQ;HgqAvMIAJ9q|YEX16Q`u1ews&MdSS+(0P0ZGN4^JcWM-408m zX45oyj$`B?^rt~8A#_~rfl*BDHu--_hE9pA2gK9$gE-t4!~K^~4kx&CeLd>pR=R2v zOGHNS7TT8L4qwe1Q(88s_k}LS+PQo@99l3i35{%rtq%e>+Y8x4(5-oaU8CPCAumh? zxB2rH!&K3&flEs+@PRcHEf(@>eR!U)hPN&e;+``z*~NB>I+E>0dFNifiK@o5`tjpU zd`_C1$_9=~uQaV<#_F?+9Cp7rY#|fPDpyD^IWGx52tp!xE~>|5EYsHi2_M?mi|r$$ zQDf!c1i_L) zpStzjSDx^q7zoe2a&x1g4XvK&Hkn>_ z==6Gw4~{e40YB$kzu0E15cikspj}aS#k8&h7}|w2l*xFN)>+r8RV?^!(aBqVm0d0V z+hXL6l9@gv&y|w1?XnrHJ)afofeKcnRsbgrBWFed^Mir+h<-S^X3$;Wcr=W@6aTry z*(_wSy{W7)bv_!1coh~sSjc_b$>Ushv-8aY8}V6{tNprMmzl@nJL=c8|M~N6KQ@PP z4kJbA9#ePQ&w4IA*XU@6F(#mac<;Dba6xS%xG8hH>;P9Pyta{Y9QqshqcjqJw$xbCm)rsh z)Q5jpz;Coy#^1`aWOOZ`f<>SDf*EY$ow@9VgvWW&hD-%CAn&vdwzlMWAE%CQ_OHZ$ z>ui@{|E@@4hNDM~#o@7tQYedM43e`%?52XX;(tkSjB{|O*0r~!LSbI93jKeB|Mz}a zfDB;D3r-t0WhjaMHDAJxqVb!+N+7-Bd$w1D$I(mi0jX@;ZxPPRHxus_r?saP*~*UQ zqUC+V?P%U5IdAy>`RX+?np0QGaAHuNeRP2zX5FDv@?jSr=^JJtgD^|}zed+1KF8oi z+%3D(*j9E7iWTT^VD$ggH=a%ao~qLHdbsE$$wxJ8dK`)rc^^$!ydAtNjI7DISo6%z z`EmiJSnPBE(>O0xgiyO`BRelWBAFZ4>*4$y9xji9&hSBW*oU=Kt z`9_S-z5_o^)$2^HD&d?H?JE|#@edbQ;Z8LF%Xayn#**<=MQVMNr+!mdbVTkCV}pJ< zfM>~r?Pr+uyf0CV8PXvyB0lqbcALrIoR_xXx^Ev~ ziFY_g|HlFPk8Z7ewS1DafJ^kqA>A%`5!NBvb%ClNfmiWDkr)a|do|t?!NQiuNun;2 zVHPz`!1V0SLYRa4QTylTmD404^1plrUv|f;#I6qs0?h*{QDnlZPol@jo^%or!inc*dnHJ%YMi z3}RBbJ#p@@@UI4ofs=4jV`tqU{&sN8Gpz(eWB{NTI_Co^7m^&*?_JpWvUdpmF|wLF z9I47f2JufLBJ|VBa?sr@qP*hVZXt#F&pL!nC`PgfZiEEi)&_l$~l_;a1xL*pItZxw5yFK=UPTJt3jfo*0~oLTw2D(>w7OnsPB zS=?j2?G;B)u?yjFa!2yS&8JgQ=T$NEv$Mb}#|03rT@#gs1iu2)u^d@g$HYoUhYtD^ph5#o91Q%Mw%{ZJm1u)V3F)X66{ILK6Uu553DiHm=q z@c)~Pv$+~mNGoQABayvN1x9yne7hze(I>w-h^*j#W?vGh{J*QPdx3Tk!(xUJ+S@7| zm3`M(1n~c|4UK_kLjGJ^ttqpLg&*i%g&~{qXReO}VEF%sJDzrGRp2RTpyadejxpfU z=tl^l2*=o33=eC>^#6!uKQR#(7O8X0es{0!Hj-v*x#>{JJ{Zi=O51ddLj|_wPKU~SCYoh5PmfQ}COhLT z4W1z(6zs9I!=WvKc7bkh7HQg1cHuP8)5$Ae{ha>&s1oYTlIn!TddH;cOk-(IhvT5* zwd|JQ_HB)&P;XL|nCHqAtBq6%ZM$Q2sil)G`s}b+5*;~|f?T?SZyc6={(GLf0z>}E zJ|uG}z>^={_xY0t8LHvIV+7~*ue);6cw^9D>wmng;Ee0_q4etrw{ahpqA}5l_hqDq z_Q@9)+9T&jV5Vgn^andGZAF$P?41qQeHUzce84sh;UEb0=#r-GM~h1^H8@Y;bIl$Q zI-yVKYx)+dKjf!HyVv6cuc?1c;8lW#fKS*((%XI-U~(C=Gy_(ZfJ~TQao&8Sl(#L! z8|~ZWe02P-f;aSITj=H_mJefi;G8*Z_=PimCN+oPFk0b@^DQ4k0N3%L3Wg*I3trx- zVi&*G5sQ|xITg=fGLq*(D!M0L9#lMh1QMB4K@wcTx!;c(*}Pk&8rt-7C1$lYh+kxf zFjwLq5evG4={>B!>M`%z*96Dr&&%{1V^M?TtIs#5n7Bc@c2Lc@tWKS6xZP10qoK(a zZ;(XHZU7oD&8wumlI2=!7w6&;163Q5P|AmMc`0rgR;d2PQV*YmU6H@s^|5&nia->M z@iV5W)AL(V%zOvM(2CmYC@Kyf(sZT!_wE!`Zpo&tEyI|jE^D)q1m%u|C zvlW+MFdfo9u=t2cXwx4vzS8jcbZK4e@ff>|&i4A@@VXs%um;Y~> zk7K?vu-?+srMSIhUUUQ6U3&TdZQv!4D-3~tQH08vk8c07#Jw{#?Xm8+m@$%lR2j&Fz44AXXafJ3K+7({EhaML{~UJ>iVesS)c#`V6|t4< z5MHaO(x#4fK}X_Md}X&db@R)a&qH;1*(~hZ@qedM29H1*|J$WlS@A#rb1<~P>3>{B z;i5lfOi@9kch?#J?>t%v5dLNBoRb%UpeFGQii6v4;*+6y6yfx}OtsSE&2K5+p_7V| zpHN^euo>((3Pw!8U=MXozvJy^B3355C{XUslC`W?jubmGrm`qQt-UxwaqK8NNazfU z5^0iy>!D}HDr(VP?R8xCWmhNR@VPU3eY{zhWLP{zPeN$T+46{DM_Bsj=h>o@eVJuZ z<*1ftTu~1*ZmV`8ta#hHL;kIG?IM|8{B`=^<7h%anOMan+vL>`%CZ&nXw#^-1E%55 zsK2VP%DMp3?4iVX{u%zWjdV^)t@SdiZ3Y5kL5YKDnVj^YwZaln?bfXNr2{U3RK6b4 zyRJGsU5p&EeYu51V|3|e@jy0$sCir{)!A&iF(=x7*<$5z&fggD4sE&mo4?Qj9VBbc z%miH%(>zQABQ_qvk1|}OwD$3jc1N(Uq$c4;;%fCruMC$5KU*%fQ!NZi#^>)8s`Oex zeAsT|y3wn~Rp8Q!+qA|T`@fA>6?Z2LT20itiyy$fC!xspyt$vQA7}%3n9t zmjfEP1IjY|9+_qo%!fJ1mPYONt3@!{4jgmYsW%+k(y;U(;rzU6p}ro+!!K`_<8c*( zg>6tD)Mf(Ld~h|70UU`Jhrfc62Hw{`hk+F5B^kVkfGz!!Bk%HKB+xzWfew9re5ghE z$AmuR9|mrPcE__mbVB_vf37Q|DfTZpgbt-kUh}#4)e4~o)x3S+9EWaFNi_3A$Ul{a zYlb2y7RQbseHJ@BG?K-EqAFSZU<^XP{F(yE`^92XF;9K%|6?v^7sbd1&c$yWkpH=b zXH7BR9d%;ej|z*7rhQnqaNMUr2Rlj(c8XLoYql#}4q0Hj^fAHt(lC%ZYU-stiU8c9 zJ!`bF*)z?sygr~dbe z|7aYAPMOgj;c>Xm=PnW_FS2sbBp*c?^Ph^k@}Gm9Gp{3d7QBMa>Hm-H(*G~lHgq+7 z+?&tKu&L&}@t0Q1-}vAAY)jHKbW@DUW$0=Hro0{FuwBWW{)|iEr8sh5_EF*qX>W#) z#g~||7MmGNY=t*_+Id$N!{z_6xY8VE$zWd{?o>73XXs*D299G3e!}T*U<#h8%(Kw8 zcIe~Qr3P2gQ1PPTQ1pOL6xW|G{JtdpU$2l{Tk+RtaSywPD**AW>(|GCaALq>Z>&m$ zQjVan7htw)Ip$(HH5X9O>pF4Hi@kNmch!wx^|L`6M!qSTPh%W=l`2VH+WG`3T zt!AzH2`>kJ>!MLgTU?lMdQ?-kkh!qHilBmo^YbY5D%;@Dd@Lr8>-gh0ILNZTe;@72 zDmk9F{mAAp#%w;_(Sd&!@4xf^r_5FzgYfTiu>(!{VX5NEoOpw)Jbv3U z$g;eH=MWx?7fa2m7d3Z(fvD&i)_RVDcP{hGXoxp>=1wD8z>v0rOuKeDd5WG9s|sg4 zZ6c#v7&xtz&j{$IxXuyq%8pmEq)^9ggf`)#{Q*P9>t+ znRgO&p=(S|0%&ZCqWjkVi0-*>UP1M>U-QU_uV2;Z#}e6MDFaIq>5@Q>Z@z3md|u^P zLQ%1)2)3eVGYYn)&#rc867hNY{1#f?x#HuPpDzHJVzpC6XY!o!ykGsczz^#$?(X5= z>x=NW3KJ~B-_eW?{I~pSM7}`QwE#^N-#l%xF7htO7O3+yai7oBT0M@G?a%{8C zkZB9w;J}H2?8y}`&ii?P9a_I*YdG6dfU8=^Rt9EBe9{}P>h_f2()U~yu-+V06{|~+|=uxY?kY8oNYn8!prY6rA)u(G> zKPKX0LK4_QCVu@R@Ra5oHyvX#L9)KmtJMV&{Hw~QVZTN){9`>Bv(D6qdnrW_N| zzmKjp{q15J{Rp@r7g(otDsSk8Ltb6rlQr#7R3SK`t-}>335C({R;p4#W()1DJByI z{>NkB2nzW3 z89FE?Q|7=wEJS0rp6e?H(F#&qb}z~Gb82HyRNx|N+qjWe0%|LO@x&75$wrRIi zH+9X%40yN!G3rv!xXt%|oAeONiVYLM&?7LvWQjr$>@9Vzxs!_T{7R1hV|MW%wj#<|Cn>)vau)#620y6@VO;gH?*009hk8Nl|#+HkY7a0e? z*6C>8ECk)(aTl8m88~I^&|Ww}5tP~=Eeb+cmy6^uXr~-|-;8}Wc2nRxoi}!ge7-_d zOedh8xI2Vjr|O5sKey?xLQ%%(o?l8W>3px;i?e|j(Xq~t&^bfrtz#XgLgK6|nI4i9 zc5$6A1U1DD87-oC*56}YQbsV0ieWAgOlcLyim#CM3@wg3sU#;U)9{9!G-hO7=#aPT zM(MzYTXH$r#sbkk+D&#wwvQt2<7S6Y-(jI{vCcvn{eanIf#b54K8t52KG^5qU`SWf~5^e zs2$eM+1B>hwR$i@zZ~kMRh=gEZj35cz^lFpW)&-6uQE!z)$@P7eF`iPwyca`tU2Mo z{noj6B28P0J$JqIC`4UpZ#6@$rD1i~3ae~SXw^Z``RM5lnnvA9R4<4?!7>U>B0Ho` z8(0(J9{v(2KVz^`6INn1Zt#5<&``|k)Eg(X8t78cu4G7)I9%q0gN5h-%)~8JTX`in z@c(u8R*d7zwD#Y=SBy{_2s7*leDtE2GI%Tjw$^p6%&lvqoZL^fN*GES6m);?dmhsz zi%U!qBDOb60Jo%Nd?($(w&*drvSvAvB0pa};0tzFPo%=%gHDH_wqOU>z`&e|GD7ta?4pAvt;Tz zm+f=K;eKG+R<#V^>y7`e1RMsIk&d00H?z`^7a9p@(GUdVt}q? zA5>HtyNkCdsLic6T*Z zjEsN(%vH3Tfd2aRUc0bQ)WT%iBzKHL7abPe={uQ#W1&g2o_&TFzB7DNMR+6s&$id@ zBN?kI?d-XJfPcm=@8Xw>>*WK1t0FOhaTon781wS~^M!u>jUI>oAB2^h9ctWB{Nevi zfRwe*Z(RKEL!L|pKY#pSa07X8I#VYxK z`yu-OLcAAKymnTf@nGj2KiqbEG?pDh`2T|cm)*+$^X-V_ih=(>^M7RKqt3zBh;1kR zZ;eB8<01UN&gdw{L#6xWqr9evo3LaB)H6?@KM}A>FOVT_R1{PEZ??C?z(;m|kX}rS zJm^ET+xAy?{7;YnSjMyg2rJ^+X*#xo9)$lWns=kHjeh9=A+F$i>qj~zW+Xt$xMbw% zv-V!>1e&SK*@j$x#s557hsvmwH-+Un7e*Yi(AAu&zQdR)7sSiwC*yzO|0VFNR0Amc zddVv{p>*j{%TeBA^RLH2I2Hx5!gfTh=O;(Ie%|*@3|A!Ig%U$wTeZ^Wz^DY%#)jAW z{MPzu=;zFdbIZSEhm!cIZoj*GYU@_#`}1Zt0*|4a_l)jrRi0a-d;NG{@lh-kHd+I$ z(!m}t8f0Op@aGFbjXaw~Q+5DcsOvi+qURH1%;wnrm#w)*1VTU%R}SE`V~X8&Bxm9H z^(y&)W&5J20=@ja`(n-Y2mfCB&(l<&Bl49Y3oN%$Py=J#_Er0#af2kggY+0M3CY7s zi;}nQ6g7{o8p@B95v46$E2wA%^zONEtY^;ecSjpTDpu;pfzCo3E!zD{$N;#v;+9+b3#R<)~pQV}81%DF$5mDBHk{ z`$3?h6(6WM&XfAd?e3p3|7`VY1ODkfYYK9!KoXLyjxyv1k?V=I->-)FwBd1$S#Y%3D8&^Nwt!t|QPmLCoZMP&4GRy$sCBsMX#5l+^nh7(hC z!}PPRgai0L_W`T4Q}drfALj}`J06tlc85dfOn5P>nwdbJPZeTPRxl&6S>WINMf`K_ z43b{?K5UweN}uKsMwXn*;eP(p8QB&b=D97fK+>R|NBh6 zR{|pS;*pUpQ1m1jpPp%xXMl|b+>+lLE39xn5sYL?JPf34U+)+6D6he|%SEvf{y$^W z8`Pwhou9nFb_TV;OCe_mMmk;uzjp^2>(a74=NAx z{{{c=EaHv$|9tktN8aH75#naQGa}bh4AoKN6BC3&Ggh4Zt?As45qUaLB?QIKLhdMWh-)cIm z7{49^z6wPAP=w-W0x`tv$VjlMLh z;XN#`>B0*!HGBl^h_T%SHmIdq$#;E z(w633_gP0A2N?-E=&{BxU*q`yk!u)gNjKM!@7c9AQ5f@SJ7S5{3*!=ee%km!Y(-sv zR+dZnucoXs)+}<_&<;Ik;@Ri9%>nH{|Ih#OU;q2V!b1%cg@bAsSig`owi=zTmR}La zM1uT0^n_AR>&-d1d-himkS_<5)U_MAA>Eb-Xvg5V!f_?Eg6=@VCFe_ZJk8KZBkgB* zv~bMDU|qEao$x1qQ5zh%3G^u*l1@2s+K}~lcURL1?cvf&CPdt@hV75Gz2o8HQ?p1| zm)yvW=b=?LTvi8l=DE7wi@^;^sqeVT!mFwHDkPG+p1i%oOsF%+W4>&IlQ=i*Zm?=T z>ksH`fg~m$(3$i~7IoMP%=3Aa1lcUXHV|$Xs}YT8k=%%{hH6`H!(<{#XgU)Oj+%BT zYzb>{%0t(7?tYYWR?4!ZQn&X@6qSl8*Hu6~C9l~sh1u1Y5{{gxaCuErlqU@52er2y zCTCJXko2PynA~k{t@`M+A{{|0@eg`L06(E6TB2Q z!NH;5y6m86{}dd989=5d@L!jg!vFf7FM|*^h%u?4*%x6-|I%&Aske5aR>=BryZi%n z-QkOF{KGb7qm(ynW3eUGPwG{&^SFS2ci-6AEO+2s4r%rWjY8D_+{A zbOtf9LE>wR2jQm49BsBw1EL%_&cuJR5p?2Ev7!fHBkaMl#gv9m7*oXdtsVGxTq*QR z#?@oKc-sZ{Gey!#q7cME3H-u;*={;?+@<13NoQ4>U*ESsQ8c*>txUUE@E88CA91=d z>7byv`hU5P4p4V97_K|qhYjZR#9`SNzv>WN5+|-36r=l7G$vnHBoj?pqh|t*fptyv zivazpRY+XT(k=YI6ocMp7ucYqOUVp7H0Lk;E5^Y5sUHhY zO1OM6!h;x{a!L9Bq!-&64a)FLObY6Yv3Z(L3V8nOa*O_4rc3E7{vW$g%yl@bZEu3o zBaHpb@1Y&;=WPAJaq-%i=hU~p+2R?SgC)v`nv&rH|JQiv3o&o%+1Fa8bK401u8nqV z?DvmsMkWJpOS=Ka2sjy7a%ZZ$ZBybcQ26X(MM)$nDnpXvFWCg^Wn;WGWjUccjgh)^ zkP7l{%v%1W(icu#y;MBN|9^=t&gVkw3f<~5={1ix{Qu#z$@rf!pd_&N6zM8Vv_sv} z-G_f&a7S}C1Q`7g?Cpu~x8}Wg;Sl5l2qz~ITij2lam9&dGl&3x-f+FW47i$srFb8k^0l^O*-$K+o=-^+80OS}4Z81&{qCm^4 z-yj5L2H_D?##3khS03GzbtaaoA5@#1VrHTjy}`p?gu!G2ED?3eE?v? zNn(L#%oXjVhpRZy;d;=rIq9*&u5dJ|8_sOiMr-ju1PX{#O;^c%Itl5DuW5IxY{-dY z`yf{Y1bV#jtgZ<46c<-^rPg>jwqP{n;8p;f|-I_n3FgL6}Nz8dTxTjQe z;XlyDP-q1$VSK^#433Nf+$6 zg*LMFOpX(zjeA$uoTyi=XavA@T|Z+iPBTV?>_&&)kDW#gU{XTV+jwWujtpW~!cMV3 z#A9W*^u0^9R6Hd(#3oT`0cJ#r%XX}9&Kau`8U|LWW}O+o`~3Z>dj-EMWZznHrCrGf zHFiZ+E72IrKF5GLk9-5ymVh2nX4r?cIwOv<1x4nBLcsclb>Kw3(Qm$#=IWf|vVn9S z7E#kaF0Q~mT|AVPdUU&Z)*kcJl0`d^lSMaI_}PSr%J`QC)}{U6Rf97|DNSjl82vtw z^Ch!|&L}BjTjb%9QSN__0xj4lSe4futQ5|z#;MEAeq>jxX`XwuBNeS&e}VH6IOe+6 z+8pl|kjC-C1}*UFEe9apKz(e!Zq#Vi$5@WUqIOOm^DOv4d~O?N9?$qM{qoYm z+N$63y8QfFq(vMj{#%JI+MRK;uwm4fx|P5XDX;A0#FZuY$FU&~q#ciNN0R5b%D#}D zm0}4Nvr(j7A9C-5V|e~vfz~htsGr&Fe8jc*jr|e+;roe2i4p!0G}aODPqM*LYezI7=P zZM}$Fc%8XaL+16gWnuW(Tz6&s-?t}hy6jC)!tSs527^<+Nr-N&;Xa;tgnBNclpW!C zpbj3#|8VxB=dSPT602R-K{1MVA^VCVlI`ak#lR|}4fvd>J>aeKn$LZ2mGgh%|3%H9 z#J>S0y`_F*MDuiK&J0QW88_oUBdd56x)!}}0H$sNn{i=KE~6n6YcRe=X=iA;fH+J0yX*>i^k)0>+5jsFq~lXvm486 z@t8|2c|!B3jWpR$RQ&>Cgc|yFsqJ&`qht=}rJvO;wyP#rJ}}`aygjc+MFYwVW&Q+X#gO3R5#4cAvNvWK zTv@oPs6zt`N71FRSQecmHMjSKjgTUJ=S~C;g)2{3t{XL|aSm;<`kU1;t9dhE>LiEP z2t$V(Cyiz?Vd0P_X1%1HJ@LN%ZHXAfq<6liJSJy8coeU{qaj{jsR0Ucc<#t~(Iwx6 zh4p;vlQznNC!9<3s*=NH@(;5^@bK(hj^}_qJ=HSK-hKv$4k67IK(_G8ajF=0ISwV? z>naW;mqEEYnL8IYI3Gz}wTb3|-4@*@JUmEo;9*{nGr7|`sWtag_DCai}+&Csm9K1E(A zo`V4!R-8Djylv01GPC;ZXb9}Kg=Gc89AEjB!5DC*O%%84w_buV5O6wf6zN(Pf$X+r zAJ-c#t&tV}gxLRW=Z8zSqMIofl}iXgZW@8e&b^#CvS>lwCLdPlsW6uc_;(aErYd=I zfZcUTukrS88$X4GqM6$s2+KKdDH+===GxVMOO%ry&CzzWf9l`?yM~wNC>CqkiT^?E z<_Y}M<{I*R@r!m*OjWGTVxTy<8G^*X-Yv16xRrsTdg`iiF$cc5P-r9-ff7%Syc}?! zQreSFRFA1l0W>ap(lnp_~ zv@zoqNie&2(XhxClFRK6)ibZ3!2caSS2<4+CQ{zA!)upTl@}!0Cv8V$i1pNB6X2M+ zIxmS1ozE%qtRH^kFkM9|0|WHn*@>nxOIz?fd(F}?8}ds&Xz`S}jufg=V$2*nTu0!4 z3tzczeQ4%!mNnt$&7iEitTC~0#mC$>NqlJ&jm6eRL3gL}EYHof9CP>@0FA^orT7H?-+lw3Z2ib`$=6KuXvxBhqp3-$64llhwa7u! zgAW2I-nI{OqxnJ=?-UwW_NdA9chp7NaoKh-^RE1>I0Z2s^tgWPrJ>l*O46p0Ed1@< zBuzYq3L@AFPw$Iw&bRWvzJs&Fe8+`D*#hF$dt54>!|vFw?=7}PIrl{TpE9dkek$Gq zGgX0e-aspHjtf)9cW>+5!2PV1vkyxGhyjsvK8mqj=sWp82cS(ab>;uu3voLFw#(y4 zdfC{)L?LwHq@r+y)I;%q5Zsg^jB^un7l1F~bO#wqBT)w|UYlKYXuCwKOb}*+ z#vy_bKrQ3*ja&sXd{uVeAVNi|j{`$Ad&ctaSuXFsk%4anxQQ)hbb=lj{)6IFl;D`~ z4XJPa!s`J8FW99s1RXpBrN%(D@eH06%}&im$zjaycleU3z@KefX!F-CI8p)QJrgdOcItYsrt7%ThVoTTU z2)pyD^V_TMPVoe2s)|D8DEI(CLdHc7dDCnl!=cw){#CaR@E>oJ>qUR@dTM=5VL$yz#6Pfzry|q5PQC(%CTj;+5*G7uXo3; zl1eLTQ}Y{U@zOyQiyPB=T7+2Y5F9+^7RnrrLWSHx&bGhrh22njps$UekYs6X6HbuD z4JP-rPsU9cQ$S|9q7?vuKlYlye|tu~H7(lUJ1lCb00n+zp$5=lm|jabtERX48mIcg z|Ip@|9?Z3(!MGCt!qVD*r%xy(ryEAKmXym5w?ffnLM5LR@uXdisi)V4$KqSiFqA=j zAp9d{FD?Dfr11@MrJ;Sj^3`wKcvc?|xs=5N70*igM|;~Ny;bA&-5ASK0i&&k{}(}- za6&xB|EAa@*0PdtBi|VU5EsvMlC~j-(HVzN5!ZOBY~a6Hh!D0^LGkH(abpb(*TZNI^J0|1{*rw1@>%ayZ6wa-DU^IuLvO zcoYL31R26V2Y=4iRBjWKDq-V%tz;M`W!@)wfkWv3Vf#dBHoaq1JYcH;IoOa!ZExoAWmfh%2{`W+2+k7QSu4 z_SGjCKz$evqhi9gRf@mqKdFlfDNRK0N|zbN!IV)EQEbQE&!h)8`sOAx*+F80R*E89 zRdHwc6$8NkOTn(_i%Wxgk@j(D)o#th;S8)sThqhMFzzY6#-E?jmNFTr2*-=LPG z)&~qk%xwi5cfMucG-&(91ReLKe44zAIS%9hP$XjZ`6Wl;e}8{Kbp0cB8Hpr}!Q395 zy;Q{=Iy#sOgM^!^I5dAsa5PDx`-V1EdsSd^;v%n2d6j|A zB;Y+;eTC}!Y>j)rqz6^49@kvPwqtiuoHy|(M% znplJeo_{!t&tHFn@lHT&s|%*4s}%}0pRTL)>qiqAxxq5GP3%f&Q{nl&9pY%LU3u@y z0jDi)td{3CX_S*Pw&X#bpzN*MLzlzCXFChn!VDaZ#LYsHlQs|{v1SKTNxdZ0Sg8R2 zU#T0&sDd|$#i~fIhCI>8zSRC9@Rz})bxPTqRo6=`Pr{&AMG7au8)zOm<;z3IiHS#} z$4ui%FX=7AYrKUTqSEDBIdvNFBFb!d$iEelr-0_F9*QwyO;S7@qi-Dknm-Q z4#Y^efz!1StireTCO)Vv{P6lu)30_Yau2a5QJZzDm5w#2d)GrlEzX;H z-R^!Hz1XJKyjM3`%xL8aU=$6k3c3{j-&;>GUf%QI?{Dk^8~Y@jX96O!p z6stM(am%r?6OiZ7zl99<*GbOi_+bzklR5d-4CIHp!W^*H(Uy~V%RY1eLWyHQom{sv zs-fMwSJtoEvD6vr#x>sQgi1^y=Lh~5Gve4yOW!Hd1Y;}M{?M+wuj6>&Mu^3Zb`i&o zcA~U0bF|;E;SRfk&AUdOvE1j^_q}x0DELV)kb6b^FO)KUroFO41=&HHl({g|*xkg) zUHG3+c*M7w%>Hit?+hXqF57TT^8pXKdTN^g=Z8Qg3a+}Yb=AXW)*qJQB{>r4Pgb{1 z7IU2P0OCY3`GFrmlx+DO(7#*&#?qLe!d#c1dgRtfn#O=^UwQIgO9-^wwXhgx3t1EgsmGG0`iDI!fboP-9_Ebd0~4hOV8vc=sj(%zeyR(XJGuWf>+ z<-tqTJL&=+s^nCL5+gonP_H}y>|8{KZS3NY8g-Wm+=z129|eHQOvhT@{bw*|PBEactKL1DY3k;JQJf zhV6#>y0t=MHAYeVvhQU>WKvtWT>FXZDb}@^cA)n)kHR)+#Ce?a%V#p$vcQ(IzVJG` zGwA7R%a!9{wP#%ZX_o|+M=Dy{?s7L%YlldMi}LWN?7n1PO|HRew}RQ*?!d89m*4z1 zDh?OMfE@cjuNzR6)F82%QF3wn)f?G8(?o zaX%-Qu#gX%u$6l7BhP^CQY^Z~s_4-dkHnE5j>m?H|7W*JSjUKbw3!>L(6n35VcNvN zx4~}VhyGul05aPC-Xi|rP>AFbHiRt=feOE6tpb3Okn{+1Q6XW;metC7^fHMNJslAXf5fIG!JReigKlE-+!GY93I|-mr9!q< zj6>)a`1sSfLgTgHE-!d}{(a>~ho~*nvxFH7eUsahn}rI!nwsjLVtDjvhKaX# zybihee>eX|a?>mX*2y1N8NwK|xy;L|e2_Y42rd4u;Fh=bUWSGl1}?D!*}Qu=h^ zX7s82-iX#4U8VcVLKn#Vq(4=zl-`Tv0A)a$zr#aymk1HKly>5>W!@p*PJhasef{PC z4UY&_0Tn^VAglB&ZJUR!PsSJC1J3aTh%0>(*tse39rvSt&EevR z;q{1<(Jt}7#h8gDQpSa^7BJJl!K|7KzjPQrSVRWN>thk6Qm3_x8Raq_{XZfF*dQu2 z#e5?;H$JC`A|9bEFS)h`QhUBCwM3a2|DA<`H~fG4DA;<3Gn5J^k2`=q-3t6&PuA_&UY&ge`O2m-4K{6HPRDt$^vb9XC>s6i6Zl^~NGo|N77WILk+YE9{Ak1NkB^uZ{OGvu+Eq z=u9@#HuMA;OT>0xytYFUshmmulv|t7g{*j$-@G1uXuQpYh4q=GJ=iZdEu4OIQS6WK;BW%V_a6Zx#0*C_?-@` zEco-jl*Ij`^c$dgj$rMEkAmj7c^&8977>>>STNw*A*LjR7?IIKmZF)6tcGLvT%(Z{ zG(8)FR}m#N*;McO`$NCnT;Z{Kw@0I>qzwsUc?_iq0*J&gP|+bgT|{zTg4I2p{WBqf zEky_YZMv8{SH7^okHh`fv`HylSPzE4eUAxHS-Fw|Nfr37%f6D&n7Fg+ARRhXRvIAE zVU(EtLEn!x2(E7ghztnP(xAW?>dRWEDw~>Cz}H2F?idX&TGo+3kNI^H5T!(TdT^_+k1yCWBY+vxoy}b zu4U1^!d4K~T%3!f^aKh|UACwJ)@`yyUa0NHZ+YUqRT19dZ_POb{;S4%=}F;qxBVQ{ zLnz^l)+YBxPo#u+%`sPUIUR;+0fkPJFPPlKI(pkKE9?+$D#7ES&h5f}QAus3PTfAK zI8FNh!2eUm!S>GJx$~Z|jgd1*`!0GsPhR@VR;-X!z_}tt;fA3n-NEMv!Wu36@G))Z3F1 z=*0Ay!{nS26NSL4d3%mq_-8ai8Bm#B^8d1tJ5H?3S&)=Y_RTjAPLb(7&oPJ1HFBUH zS$PLRYWS1j9y5w#rs-QOoR?S&4YQ^@9!H4mR-lG@15el1FyXgPxYGgF8ZtJ|Jy1%Vx8=f(}4Ik6=3?j6s?4km9 za-pl{2?cma!C82{Ys@YDJ}(ZAb$}q?&TcW8o?C#pz?f>ctMuXaI+p~4=(>u<%zb<; z;y}b7jJX==Jkw!{w340Ie#9%X8Nf~kBQcMS%`?lsQ**x#9*-g`4I5Feua5cK%wNW%ibye}SVwkoB?m0>#t%Z9#=V{+e6AGL!3$Cm= z7gLN!-4zAm$nzXUFkboWp<-p8#N+DO*-cX6N$9G$Ofm81xb6~-xadG{%a!Vs!1guc zM?WB0o(J*rLkOH2VAU{fCH`L_uJYi9zTy0diajUYXBQ3bb1G624}W}ql&@vw^SY2B z6F^UAq+K@UIb~It3Lnd1R`fAj^pua{!^YB-hDG}k$vbb(qE{bp z%3fnA>4i3#mOB$HT4Lv!;!}R-idSu1!A}J69g1!q^Ho)@8JBFXoIIe8ae&k%?AJ`x8zN3+r74nssl196McJ(h^if$Iv48GiVB6#&j-k@)he ztK{`IDKUxs5jL~fZu@G-iR{FB6oLq{;*c88ym`nVbn#M`S}_v-)9%mrHLw9}5-L3g zSz}(n;4lselrCg0QYj6yDg(5d#2kt%%XBEJYcUE=1{*7eVuqFY-XU6)pY2v#KxOB2xTdp-KuAx`1uUcSj)3?I z^KY3Tuyc#TdYE{}Zr$4PQE%8S*=)PN!K&Y*7Djue)78ba4IG3jOoz|!QZZwI|3&|} z@tQOA6YHHAVFDQ|oB0F(pHDu8$PWAuaOa3-@xAiv3;*0TDqA0hTf5M({lH_3riuR$ zMR8H0&wVLU zMv~JIASlSP#Hk!G>_aOf!8#F1lrq@BpZvc}6@{UD4EyWL@&s2TdVX;blK3+m9qUo# zRE$~N(oLM$T4+zJBV7yspCe+QqE6EHWls~zoQeCEz*@40Laz&8J{ac~734_?2m61@ zxxVn9+jaLCm1)`j)HQ$F|L&q`@kYj&>`(Y#r7HeE7}JIowtCI4v01fJu_ycAog-p^U~@yWBv}B|}OIyj%4DZw(Q& zg)NsFW{8xrxY$jHg#^FQ9y`5dGp8@xzjdwov*{W8f1a_5(Sr^tH|lLEX@VA3c&~C< z#@-kcu2WnZyPSg08M__XzZrs{Ej;e`h5zf4+5^Jn3~AuBBt9-CNwyOArSHkcR9aLB(LW16JFfRtaRNm!8_|y66z&YQ44ycdrnjS`g!8Kk zVx#+q6pFUdWVB!Opix4wwq_4ACmh3q3>#UArS&g^uX5V9!y$I-rp@u8cd1zxpu9k>(o{1E9L1@f^FN4Yl>Cw^6EAaBl z=N~RvfcCc^k-1rX4ff=6URk2dNjyljTZOI?=qZosw6V{Zd_kYiVyejKRk%R3r61aO*og@VkNGEtnc%SFmfe10^!c({(K9s}IROEr9a(~;C~bI|JsVBOI| zNa<2mK`~ljYeb6~gFtprt9H6z(s7=H26E)b#e$OYzYf@%7BzNo7&HH&=GXbY+|S=Q zu)BoumHk+zw6G&mxs8!M>PzYdXJ*vA_A514u)N0KTtNr_I;bfnDUzzTD??WM$0Nmc zJVvL*5(1^tvVxVmCOx$tr8%$0ZAwh~uGVX;$M^@C(oU7sVf=em4--=aW2N2GMRxyu z!GpRxtmzFw&t+p#DI=Lf4~hS-i81fzxigA$4D`#&X-Aw_RhtKK)APWdU*=2og?|Pr zjYJx@Ks6#`r{2kN6Ds2zS(qvs>g`Vy_^uf){(Ee%2aX7Au{b89WD##f0_Tzbk5_2( z#FYHMyFH&g(%Etg9OWlrUlFuy7tlXh%bF+4W=_Wzl8w@RrbY=e_r||*eD%OIRJPb zdFn;iiAvtUKl|wt(*mf&bC;;Io$TV@{JEBlHz6;y&4C9OukjC+>nx_lKN7DVmZgr$ zrY=>V3H-cqavHz->d$w)ET70HCjRjz#VIDjB9-~|rl<39Ff(o4YiXl6`P$WYIJklT z3H-w+0io}Iz`xa`BwK;n=yT#9I^$f4oDkPqHD2;DxBsUf!@_C!|6Q^WXF)G74vj1L z=(qS(P8t89m9B7yO+I-`FGm3%Vh4_lnf7?>XKtpUVW;n`h^fRVw8bf$0mB$PG`hN9 z-yvO%-Z-7T&Lz`9?4E_Mq0xHsuPg`Sxr(d{eij8}h_P+2vv^bylkR7dS;0RX+shpz zw7R!1Ct8q+#?zXY3$Cq4_e%1kY^#({5e0C`d*}-}IIYD}1$X@K*lr(LMC#lX`U2b2|39ts zo&7v`88~HMONNHJ0>jJ2wwJdppvAoN(dEbzL2&p}qqI|`S6b-AJh#+vY>BDqSUU;* zx%5?vZB_JC=(v60o82HQku@=C7+<~Kqc+829JT084L5x&-q&x~SQCCG)gkp>MKuMA2$_T%?WijV4 zm0Pzv=^4#atqSs4kQo&OV@E+oNqZUjVal>S?Vu1@A;|TqC3nmDrhjb!gL9Cte7eJC zfPUL5;`re$P;NuWR37c2V!|rbcW0?Ml;Ccq6UndgxAs^=s!g`q!F4G(b*bYCy$M04 zbqru1qZ@l6iWR-@fo~-{Xpt$R`-Ii;3;P@kwO6zwb_ZJ-R)FLXmgM%*r-|E6QT>7c z^7C#Ihk70-0O1LW<{D^xRW-Xbdnu!d{|(r7AP<6`oxJaAnamlFUQ4V#zs;e~xgkxV z+74PF`pTA=v4`v8<3*Nec?@iA%4$6qK9dfKNHe72d&s3!cZ{#4zu<$ZaO&*Ss{i6b zAzgDcC&&ey(LUuBPMFXJI^k|Ggx3K`hsdXLT%}x(pNyRCU>pdz#pdPJ7By21Ex!u_OU=tVR zH6h%X!^3Moe!N<#g#3TV{B-;xMIP7*WG7w)Iu*Kt$j6U482?}PP?z@rcroVD_^0)d z1OWTO@_5w6=N_#Y2HiB}YD-pL0yPKzx#6Qizw7TF;eXqI%ZBgkJB37v? zE>L;*+QXw9+VYr$7L~;$wqW}!t8NA5*2&tO%-^OK978U10zv%Oh5u19Uz2*47OhD% zZU*qXlohfx8s6|7zF7HZE!Wf5I4=%d;Y=Baj$JzZVhJBPCR$yW7YY$4NduZAbX#_B zBrD0a)g=AD<@UMyz5IoS23I*Dz54S1BfqnMqyMLm+K={G@b&*QwjmWgx^9hdw+dVt zJExx&I_+=6=S?ZlqZr#_t)`tu{?B=G>b7Oglf#~nY&SSTP_J7@7c0t+r!|x&o2)owVtF~Qt63;WX>Vc53p}SMZ&~gFmUR*S?wpcmpBfT1^M#> z2o_NrMN<)oXejc+3k)X(N4HxjyZkbS$+qXRJ)@+hzY=@G`OB^^!RBA66)3Lrd?wk~ zOlb0P+uMRiLK&H!VmNYaCFzmKY4wO}_M9<;D*sX@8cv^II*GmT{{;S1dof^Qh>KB= zSNAp^=V1sS(X|Z+u}E6GvJj%&AyI;XqaArboy_E-FS}rRP=)nT8_w+q;9H8$%plz_D021N*aT~ zZ0*cH?wQO;=n_x%L%dv$*slBfz=Ufq( zXD!Y@>z$okmJ?6Ok#?L^g0KT;tEiw{Ahg!X!iK4>`8MTXJ3qdw8!MH>zW^xPW3gcy z1~xlo?!QkEP|UW0(F^|_<}&KiGKBxT{XZsGaqs%J5)O&&fArXNCNgXHyhhk*7n-=S z@v~F+rQKC272Q{Mo82xudhGwP3rcp{-SsPJXxozY**tXD*sE5ui&-Ob?e$BzjCI06 zxL}_H8O=_BI4gcvqkA~5`LaV4SX!|X@GmD(acjU3mBfbW99w$pl?|GqmIG`j6@|>A z@SATRobb6}*U_YGlMpMNX*4GcX<@1{zaxfik_mnGkN6OFL%Dp#BIO+qCG5&t{fk!A z8S$9>gOkhLsVU8Qvs{_h7ysbZh=VY5nh|jAqVhZ z_VbpseaMQg)BpFEF3R38OJvaXzrO3A^b55wGRH$He3kB%Ja!_pNEjO2DL zCW+^(GOZ}v*Dy+O?A8$!_9Yb#O}ofe?veoK)t(h+4ZTI^NI6xIV*BEYJNBUJOUQNM ze-wiScT(>G2rTl)lWUD1#dpX0! z3SUBb!SFHU#vh^#%t?XE=hy%LfBRqI?sc)$Blu_s$;j5B&O8Boc;Qw)S+9O#Y5 z3c6w*5okEbQIDU9h5<|K{=PH_?-~7%MZPmr@;@7~e$GyMI*wwzn6vGj6MdC|#mZB= z!dezH;gE+#9*U51vDEr#$$#zAqwRUg`3bW(nWRDd=+4D#8`fx?5Xj_^O#_7Vql{i&p&|sdK7?S67 z1qBcYq2zeHg3c?P@bA9MPOOZesru483KU&;K&(K!Irj<*f?cwcr1)JVPh4StY3;%Aj zv55A27Pf!$*H=5n{};dz5HP_m2k;7pL-w^vL#(bpU;PcD=4*u%IypgLfD1*`y8QnH zABW#1AC^;QACM{)O8hDix+r9-VlkD$(Cx>QGj{mtw&H)nDD3nP{I`pc^7S4k{W`f3 zUDHhbizB^kyuR`8u$FR*DBHlJR)_KDM-(`nQI>J|S!+9xy=$sF*R84*67BJ$5izg{ z|Gyp6@7yyX7fxNVUoyu2$^Bh@0i2K8O-y1U1!v%V7RScY5|a*$z6u4LJ>+}ODue6= zv7$ZGqDnf9D2(wp#{}=Qx*rrKh5s+#y6PSER~OHmAK8@WIxIll_@5GH^t;3d#f$JU ztFK2NJ!cfB3idyW{fc-)SU7@GMyWPp@K;sMufEb|iI#UUgf*trH*`P@*&52KA|bNkR@#>;|WTJ1}%^~<{5Z~)VhQ8p?@3>Ier26_jj=E%-_@7@EUloCY^w7Y62IU=k z%2qlI@!}!iziRH1)601|Jic7%J-R>fPkDCDH-QUJ+mQSc>22*}EVInxzWgpOsB0&S zr&hmz-~X+KBK`;7JdPCoT#$-lj0?T?|2h2*{73xXQQRqWX;liL2%C8>f3GHWFQ@!G ze4bC<@s9t)XT5RIdQeViu0)s^pjoo|6!-qkr#jd`v3iJ|I16P-a)y9%L$wd z-YoW%wrriBPZFu`89W40Tvkxn&lXYeKtMzU3o^Qvg_zj_!pI8R!a4mu?J2IU@fB!u zO-@})If_;=tSn+EaE0s~97(Z=ji3FLMQqWh|?roSCK4GI(9$dHp;~# z_y=yE&CBb%XhY)rvbTY4#M@n*#FcD}#a0%F!~V`Uk5)3fFD5jFUKwM~jfoa#$f76- zC7-=z4AWtsHEC$0G4*96JAjHJY{e$IlEtSG?>>3KL{W~!y>Hw*60#0C`>!U^6^IKp zpEj2VUsc4y=W;c8&VYKZpeEyQPlUYR5#UwMhjQzXWB6^Xs!AS7E1y0e&kb?6@jsUW zj1|COaL*sfWMO4JiwXL6qA(bC(^*Ku;*nNDR{u)u&<=*&Sz*j!WK#KsN71?OR|0YE zvO!;s;3}4kAkN$76!?kP+Vd{QBjzJNT1bGk<#aXfz{dmIKKmv@_baa)Ha6dmxgzj} za+iQp_tW3u*^^axAaz!}6~- zu}JYdc&C2GJ}6?rv!e{o?r{)q68yq{)m)}sWe&CR;iv_{3U*#`XuA^pPJ7IekIDVL z;)Lk_+U10nJG0Zd#VH$!c~-fNTCCXr^Ro2qmPGw3@J(I9DC&*L(?t*VvEQ^YUJI4& zX`FxAtfoPm4jV}w#(2aLMpw!nf~w!eG`*C7oY_j^Z26mNU4^qJxGP_5kVYRARTP)7 zRxTDh8C0P*e8M%EAq8%e)K3Ne*>#!&?PG%XSfC__8_%|5O{2d|x;Xb6FyE&9>-q?7 zIDxvZ<@o9UrQ^BrztSK+Mln0F)?fJlV?4I5-{ZWSXUhT>iu1lDRo5Ddbx)Ika=lJ9U5iiz8%V9F2A|Nv2)&Xb*NMVGMmY^9O0L z`bL`>>=gP68tpI=s6wztPX_wx8l&tlC2LH>sXKgz3tcA)8)~&i{e8}<>Mh?!(3$B( zj*Fv+0*Exc|9_#7&&EWr81-N3*g3U@^F@JI5*hdGP4LP$ILbu@5ea78)l4SF%md5+ zh2hCbtEMnpY$N+um6@nuJNTPG=8HoXqk@w39)&CxLyHlB^TbQ$DJ%Yf z*aVoNquwE2#aepRFL`5bRUX##!f#PNI>}$U{;EPN&w!R8d6ae)b(PiIrY$Y^3s;CQYGerDX(dZIYms08RE(U%# zm(Nsqa8Wf2tz$V^^A-4KJi>#GD8dPShhA=bzkhbAyb^G>#gGvqj`P@-ck_JxY}~d5 z&{SSdpmN8AWG`;XnC=?9JTvgQEvc`?KP-zEb!cU`$uZmso?rsiZF`<}q8?`qT9?-U zwUbv)M69>?r#rC!Um>g*-?<*G4_`#?b+WId@Ja~2IrSU=_CG9$-S{6Jrf=VCow7L> z48~NUM}YF8s85MxhYGH#u|JG4UdDn|sksUU_ng*tuzCggx5cKxZXvGq7TLachcHdJ zMsO87F8^N<|4*bJCNdQ&$780x6IQu^#__Z0v35}!17}U&ZfcD&Pw1QWu^)v&O@%3g zbNKi9^@v=w4Fa1#cE&orn6Z6$qL+ARC|`2e{wc{@7iBJi{|Ab-TVfSmZbvc2?f(=1 zJ5Kv-IH2Vh172qgQD|SjDU}?dZPAQ#@dEnp2pxh$Oe(+T&neRX*W~?K1WP;Nec*^M z{MS`XlYHwNkBOD4n(sA@yPbQ;?B~M&%@M!)``mI~_%1rBKYk|a1mel*D~LI*A-}8s zLGi_L6Z>P4$Ze;eVjFuYBpSSNy+VP0XOFpmEK}Q-gf2K*-9EWz=_S>Pmhxam8D{KP5TeR4b zE!&yVY6i+7)x6TlT$?FS9Sl9~z1LgpWFY$)C&o);^Xpal#*(&EH~+>BrA#K!1S4Cj zEnjC@kNVT^pRS*k*5^}gk>{vugEDgDSQF)0&?Y(ziH80Jl~(x`p+&F zMC9N5%6t?hOhhdoc|3^PX%ay;4YPsebnC4~|9jU{fnew@sOWwmwJ}dUUt3kUllvfF;5A8&9zv~f5UO`nn08|2!Tn)Z^VJex1Mw_ zV!L}jhkZ)7r{8rsD$OCrd3)y$x1ijz6c~|M$7-&ePtn1VMWa8pLkGWdr5?nJL0v~a z8|aWVn%LiK!7E3O^SxTVw%#GfZA-%Us42SXD>Um;+iZ^$nY0@ZzNRFzBg~gC4T>Od zmAtEQ!-=h9M}Z0n(ov0NQ&D?w$R>@&?cG zzPtyY!ElD`65i4}mS3EehX%RaXZ$Y@nu@^g0Gmg`4Q$fN%1OF8-A2H)p11u9dh3@M zCH@sZm+bS7f4lMWd*Z4j;LHDl3WaIdzJta3rnE}YaV)UO@(`3H#HF5#dDs{52%V{X zoTo53;V9#ktS?;9$r+wonOqF@KgE=vHub_!Vif(mEhMwg1V0R;+_HZdh;G~Lw(q%k zN4(Tyvi8^Hq6R0*rXFe(0>oe5&?C7FHm!_&)~yX~lilO(Lh%0t;wG05eEXO)NVpZn zK1L;tmq?wTcV3b18OQR&kW0u;9~{4de;CpBdWud_jETtb&0rL|I>{IAY3Z%VQzd&6 zDsTK#r1Y!Lg@3%M43o9}hmPXER{psEt$Y#|nDeK@C$QJI?a}`$I_kc;fk%3wvyIaW zpheL;8`a)fYF6}kqe$B$wxO@RCtdV?=<=uH1z%K-iQNR5^CRGq~SNOT6pcDTX+wVe?bx3TM%0STTl$np-Stu!R z0>`&V-+?JV85YO@3)-a#0~NA>FhrSX5XC;1d?YNXrmJS^Tg zOEq@l{wLzx9c2l35H=h4!`fCYzja>f4Qa>P+Z*g8`o;#-V zo@u@EdOL86q!z}o2p0i7F#gAn-*?~t!Hf~#pU94ZHv$g?Icu=*%h%iceHaLrMXKxY zN!w1xU%bO}i!meuIoxJs^bPuR3ts=b^Q59#SU?PhHuxBug4C(deYMTC?u;37L{zqK zie`fS`SocN*zncn9Am*4F_+>vdSCX-4869{Vx7DSYF5TC4)tVs=fRBvxG5!>3>--N zqUS9du}E_PXH8{z|Ad4H9<2INw6?L5R_VlJd?jbqjmPxb1jisObv({+#s$2cC+kTE zJSg(XC(z9(o2jP#dN_0!I|6?9x#Q>kk=+9n+e8iPRZ}!A0tX??xX6n!n3!0|r7wI* zT+%|3MD_}58Nmj=?D^8B0dW1adD;Qgn>LML(vEjW{&QaU>%s`ezg|%TZISb0=fy6@ zGE5xk$V(mH{StcG)TKF$AT(iG)gjaCXHI(wb>8`Hf^y`r3Fd|8p9UtVNd=*l%f9(y zWak-}?Mm+5;o(q?*tm@AhS(fL7L$4-9*a(pAHkW2C{}(5kij#)Uxj;ZxrQ9J_~Kgn zj-{33aW1|GUq~njU{;(+)G%P`fjBS9(KbwU~q+TceL!bay5~ffLR_1#>Yk=hq{C8T6~4=KrQp+SiI) zhcBfO>}$QROsql~?agC;1v0Oj_=id4+V0!$T=Lw7m@%Y=z=2-h-9b}~391x;HGbd3 zQ*E?(7B7;Rv||a3Ru+=w&pQ|WbqqQBp$_#%S-CD~2X6h9c8aDUKG^`dUC10-Ap=cu zeSh&e=hLG0Z5V!9g#q{)`NRT#$=zdm1fnY>BEYHgFeRWg@vy(_~TWx+W zOI*X7h5vW)+5VsQIr@*5x$!@qX(5x#|HE`^3(YLnznFXCe{q4rfpFm5U3NAF&aJE= zNKSV#O73Z8$a{8lGz&DJIcydcN-Sy)=#(Vyi zHY@yp{qq0(3voTyLg4#{Zvqt2I9?FmitX{=6PT;Qw4bVOu4`>hyFW8FC-ue-!NS4Pi<% z-pMgWsjxHY{__7Zxbw4xQoNmZ&5^!zMlTAYEYA@-(fM8j2{(8hIrW=7d&Z(XJMizq z{(r*1`oWkK{{xdFgWm6dqzH_84HS?B2er30J|z_H^O&Ds6?2!T@29(VSIE3U9)s&9ZGnsjWk3vdHz>A#zn59P~8_=cu~IAhY=(ST<( zzvJ-VK>yy@BfQxBdGdc%3=(704!o5zKX1x*#OzH6%(Q1$Mll)~f|laDcZU_^Dr1=P zc8u!w(#*Nn?&tZZbH#o~awcpNP(;vrSx3Q?cINM57y(3&TDN_X!s4@bustCu36Lnp z_@<)Ofm!q=>58C04v#my$sdKJ`^YF0hqcM=xa54^7Rz)ofatQrfJ~s4CFB?yN7DP2 zmWTEuQOnT2K2WGnRrS=1n4H?@TSFUhh|#9!f4 zvW9tIf%e$zN^>5U^uPYUV)b(5BNXxho8qw1)m+@nkjn!v1G*XcPuT~y>}!g(pPAr> z;rObfz`~tGFZon51DB}{#ut0z(~1b&Z~A+6{J_X*E4C}r6XwC&xp=dG4E+i1QBea5 zm^G}f9M4ArpgmmpcMKSG%bhE{F#K-vf_HQ2``~~EnRVS9$#&+;{}W8U>W$wkEIaI? zEq~*m)(R?so+1{5Ev?sh4)>~sku1jTb(y;!uI_WlW08J*d|(1HU!D}7(}-zx7k9oY z(-A+~8K>QIE2Y=OUKwAR%cfjOiEFDzoCn)y(jRRl^X+J$Y<{m@m93(yYi-&Pw^pdQ z?+O1;K9;UmDd_8O|KGfQJWjKd;^M z(UX3R{(fF-*YU~Xd;h}e9$Q%5*#GZ<-`*nELQya6i5=7PQe4SzG6l(#3n93n=%*%c zpiBd%D}P@{pO<=wbFJ1zG5~U=hU@Qp zzPBm<2grT^9{mKzYSzoF~Fd1`c$(9dRX8wuF&$ zY!$2ySjQ@ox9~Q1>B!0qzp(!g>SIS077)Q%kwgHC&tPBfc$wJY6`aaW2;Nq{%efa{ zW+UQ)R2^-cd;6uGj7NW&Dzk;0>P$|0etzal3~+b%!C*=&*FzszdQ?Dt*ak;>py(!oRamiRg0WM@r5lM;1#!6E z0rt*u$43Lh*jR7CoYEZdvbzX?*L_ys_~#rWM~Hx9RJdMyw;Vme;c`=b*|A&~+Jefd z;{og19%J+sR7Wea-BWK0kSjP*aZ=A)NyCKih0z+0vC~ZoGxTE(Tv8XdiKgO-Sz-6p zvn@^wWlv@NUouq@lK3y}b}rc(9faqH#FQ0~!Wxe&2DVM~%Vcfhkwm%n<_@xe&iVO? z=d6ne2FJ13LhrxUE5A0GIwEgBpPF|BozQxvk1NHpl?7JtOH)hS)i>hOFawCRVJ;k# zmSxsw2!HsqZ@Zj{-IpXO$k^6nxd-kxd+m~YKD;{n41f%xgRUz5Ke=SQyANU9(lG76 z>Ov{}kuTt_Ng^%$zn`Gr{8P#2OwWH8Dyu1m7ydt=%m33a`pbBXn-4t!Xetok@=5Dmd-qlnu6lgg)8f$bfGxJ?%kd~& zCNCUl!_093@mEE@W=uF7(fRJ(-N-R6PJYzRAd$RuS&G#>N8D<}bAF?;hn`zE){Y|3 zXA=kIYeI@OHDTtW+7}gqy8M5ku(O7m1&K16N_(DSOn>|Twf%|0pe6c-xeq7^Ry)8< z_}aPr|6xY+UOs-5sBQb<8O3Ov!#D`vPA#|R5v1j7elGkMO_2PsGL)Yf^Iw&+()0Th z_p^v6!G)0aBATZ~HE)^}b`DvtRbTqF8WA}}455&-5EJ23;eY=*(|-EmW3811{;9j< zS>z5F1PW&lb{tQc577uluzWkaV8h3nvrQO@ri!sPvrUbsF?Qj9g#Voz$T=2%|6Rk~ zBbZarFfg~fIBEFljfFOMV*DR>pP!$fcPw$n|2p;u{=YhXuk!yQr@$(Xyih1*{4cZN z!eveRPw$erxTgO3zy4qTU;mwCP%MhO0HQ~XY7<_U@itz`k{1g?)m%sG@Jt5u@Xc^w zp%#QOxsnB!+Z&Fev~mp!1T%x(L6xOXh53x; zN@j^d%ajW%eT}P8jT}xA0fUn0MEU8ThexmyqAKr<$C;(uXvfkW?YBfFo$W23onIJlDbm|$XEaIowU@QHN+Vsve}aIm z6&Ac$V<`XxlRLk@ilZp5_Vk@doQcabec8!r{tei6e!J~%!6h{KP{rySB(}~!ucvI= zvhE1dBN3nQe^4?FVN;7WQ9^qi$C(+I2ON3#3}LHSCsJ=JT(lyP}XELN(MvHS|JE?+fx z5DH$6xsScPB?hbb3TmH9405g`(+d2nf6X)TAC4mh=c-M}8G%{dGOMpXpno$~mlB_I zTayt@U(hdm9r31k$bMZXwB zcQ^Y-NHaoB<@`sEL;7vTbDmdc^IbkzyX{apFYDo39tnf7{|Eld;}eG2chk_)ZHNDd z8ATGpL!O~qPa6j6vH4{eCcp|k+;)TlpKK-Z|6m>+ZT-goLtIqEk5l};nCddTs^A`v zZ6f}^UOV2y0s+V?^)&a~yZ#UH4_*rVca0XTD9^v}U&8Iyzvfgln(a?JU1-npPr`q%ZO{i<4g)?Z#Q!BETz^#B1nE~k3@IjY<+mFX z+>Eam|5t9H#-)?n0?P6K82>wsb49$J^NRoN|8G64Jq_Z1S>hFb&`v*CeB}Q%x+&t{ zH_${^K#`+23Rd)ea8<20)GJ7u;DUv;(C7Xx07ey7Q`0upQ6@?rA8yO z{*^+9Ny7l_(a~1qcH(8m|I3R_!zclq{vVvl>qTMm<=P=B@STJ3|7kB~?KswDiIdxo zt2mdXA&P;f^lZ}PC5kf;ulAimy+91jk%`SI46uiGA%QDMFHSGMex`Len<|slodMqY z^tVPc zqY!D4gi1&=BXMLPvk}zT9v(@Q%ujKvG~Shl83Y6(!H$BEGMn>rJE4MCw z{`&sBl01NpftRTGT-gG4R+I&8^gY|Y12>?qjkCRjqB_&I-LnMkR%xTydU+`3p_CmJJx$Z#BOz4`KK5!R>ew<~rQin!osXPIDGkejxE>I# zWxT|=#DTw`aiY&N{g?Bc2^)mv0H;_Lk!{iO>^ymZUZvbXoHW&R>eyK%o8^7Nj{0-Z z+ra-WU1FOlhAQXNuCL3;{3{CP9A888eA~~ymsX z{bZAGS{|%ewZ{Fq|K*Atsebw%gH*_ZGWtf`zvj~wk8|+xof7`FvaRC3!Y5N+Rr2Qe zF(TI*s?si|!fOd<$b8y(C=C+9%vovE8dPlKz|S9#;daIoQd#9rac@*9}t3|hUM3ZILBYtRK%Q4aRlhgkXep(67 zY1g}5_UBb_NgWt(iDQo6@-`#GoGr&d>DzY6u%fUvwW18h`0s601<^x*6QpIJ0hq^5HqBhx+4K3djG$_)NwOGgDmo%J4Mj;;|i$ z|05FjODq1s|A>ny%<*@|zipGTk>VllK3EY+OxQ8oWhIq;^}IXdweQ8hjuxuO{}(%p zW%BZll>w8mBFaMh)Jfo<<0Ph32t#K6&;RYe{15*dJqZI0KmavFNTe~_L1ZX8L`9J7 z13GQcdzXxEw}aueA?xf~hJ=F$JN_+MUsIe4H855)6gxY@U5&Jr1Zi1|?Ln3*gfe)D zf?b+3C#qsXk9}coAJFDnc1g!GCZPacRduQg&L9qaFBK+sY8=%$Gm5RwDClH8i*q5ku;UI& zrx6y*&mCE7v%m|0+Z-mW#Kog=IfdbTYHMv=fE@?Oyr413&?zm|%aOz*&=iuSeXD32 zfLJ9>tT=EknAX#_t=G|5k98`N|BT|%yhp(3y_XhyZeMXuu3Y5wJh~$OJ!A8qUs6!vj7i9*;zNTCXeLv(G%#1LKeAp!Y-N$f~?ljqn^?Xsx@=Ss$|iFBSwnc z)wG||=Qg>~@{(dn4b{5#|I#eje^p({dBeFQ|0)G1l3U4k#B`c}T+?cKQpb>U45BSB z?FgYeQ1i4s$%Z(_XI#MHK%Nj>r}3osnH+XidG(0w)3V38b=DQDh#hUva8dpV)2ZO^ zPs=R!YMy9jLO;S>)$Pdk?`%uYG=XUhiBA0cQ+WRFTh>EPnOi}d?RJcFG*u5J+7)MaxeZjV`Z8811BZ!7k+LMDl=@_>Vwu*C*^{ZRVi(lXm<^|bmcmSU_m zU-*{{(9c-+f8t*wpW9AAMO+;>`$B(|$6V)e*@RPE7;?y~#|&wcDcZboHBu6S5k?G6 ze@s(7Qsf@j!@w+i2U{ zIi9mrgny4c*q#yMe9yf?KBw5%UD2?uRpV+Vioyg5=RYVcEd(+t&B^}1>cVf)|2x6m z^NkY!*@dut`+wfBVu)z9K!cEN2X;HJY8A##jFI>Us}TS7h5!1(e@*&S*8#qK?aHa< zy6&E`d5TSp{4x^uMJVp!4xg4s(C%1L{TKf4F@d*G1Su5?nptVd%b;*n+M6UFOYTv- z&(ptjE_+$)gx-m_eFLakP5gw{w}Xs34{|jK3x#C<;P4#h+R=I8Nsw z3ORLrrAE*Hd7yH)q2}D9X+PAt?vz@1-SadGNZWxt2y{Bune*1L;u_X&~P-TEpAn( z^$SF5lsX4t;rtKkysT0UEKwKVwi^TU;- z5{J2froQfa5zW18T*gvYtCPTiQPz5!NL5xz_7$W1={899>?SHzr`i}f?eEIWTyG2NnADV3%NYxr zXFIyX`E;ETVeCl2pCA0UxMSo8-wHD_=13*l)$;`YHNg0f|5UCVivuU6tXj#=E%9H% zzhpr>Ljv~wE*Rp3e1h3rC8}4x)V67JH~#7Wk*L;KV?Y&&vo~05N9*Lnuh$_@!+PWrD^N4`HYB z{~$Q~{}GluY`)v~i9YJ~w^6IoXGD_cVh$8{)gAv=a)7TbSf>0xW#*THumaJQbE!c* z1&N&$7#Q1OuK&lCRzW=fN#79!vm$CVP`^2S=d+MYQG2C87LtEgTM!t&^YIM$G)Auld@{8%It5rcf+i^ zZ8}j^V8>dJsi-#ADa!q4iyI}ye*VsL2S6VWop%z6N4*zuQ{(A;!!rsO#ThN9jjmzlI)2| z4lh5_LQyL5ugIWn2{l4DetYlQc#K?jSS3EdVZ2W!*!P_pgDi-1LmLBb$Fn2gJ%lq* zNLdzWixj4ID~ey}lWvGsC!wR^&bJ*+m5R89pqL3%t<|vpim|l0TQ)aLby{9ws}Pf% zXphhsH)S_!j-Q3xH8$$-6qNXkbnC)FB3hcutfhwtTC8IUI8z9Dy*ri5Ky!SSlM43z z?To2^CXh@pE>3(V{j2Q=kAvv#kw)lF<6O%EOroXWzxmdRNFC`iX zn4sg;+vt%4$-m#XegT~N;rJ6@HxEwAWPiy*9TYbq;tu>PC_D-2Ns{7imq??O4EOq! z4jbMP+~X^ANa!8iAm(i)=p8e$#m~qev#=4ovkJjj)@O~KtNtH}+OXAueV%r&VJo;^ z@(z_W?L{Muk6zQ6aQ>TpW&O;;80S0Buz5Ig#cOaiyv?&;_e&&Rr$LjjJ7`NsYFV} z-IH>W-3kArB(14U`}}6nFifvQDYdHWKoWp9a}8UzE&O|@79X{#^#7IE$EQ|J3Hp_s za{F67$_W^fFZ{S%a0uJ&_rgEp0v>uTUTaS0m5ou5H~w$`-$V%Xz+YEvFP&4VU>aP^ zuRD7yb(^u%>Hl?+$*bwet2?;muc#T?Y{oRzknwzsBeC9 z{Ga%z&p5xb022QHwDrnT692V69oHED$+K*0@gFaaIe)&zdB3AK*V+HqzAQtveELA9 z5|GqCIFbfFyGvNws$zL@5p#O`hr1)Xz6vVyh5w(VoR7Gxlg{j!?tIlR?)KSnLRi?7E&he4kLyR zXM}y)$x+q+`2YEzaaT)-pWi1R#p|i?!6Nc;g))Ot(U)_PM@d} zW}dqeguM59KqSq@p`<)v2Rey;@XS~QHVZyUQiXsTa`VQXNWP4 zh7o>u)!8a3>%L2dDn-){!ue4NmaQM#pmB2)9%FL$HTPlwqIqH8?bP*HNs?=E=!2nL zUSaj!k*=35di1;E9!=Nd;?^m&tQ}uuB@Ydx(h4v@-jg2cDHRSCJlh7Oym%HsrC`kE zqPumb>0ypN`#DOW*=nxzFm<+ceu(FZHi(s48X=HaOx&}@s%>Wag|X449gU0EJeFa_ zbXvMa{ng(`OdRG&Jbwys@0+I}w&DA9jt}zC$(o;v_94lJ7(X{XsMzgUHedJK79E4Y zix3!N>*|<-^u6QQM*}{(*CT@1vb?SA@1J-_PqcybzYfFA$yJ~c;1q9Nfyiw}sk6T4 zsB(E>Ol$M#C9#bD#V=z%P1{;EM}73$q}!w41HKu=?$tb8lcW6>#jn3lj5mim9W-PT zJ(ggcVIJEC`eyvI_p~{ulbhfPdv3PMi4&oEYy!TzMuAFYi)$01wV~N1?R`J)=Y}eJ z#fXnzNgls(mLsR{Z1QCVV^P*A4|Z@-J|EGWOGl!bB3Y+;q9fZE>GuRoueP_#rp{Qt zr=jx-D&)4YDtth4%zR;Xtb-VHR|unE;{$VG!1N{4PoI1>y&e$?{L5nl#vJG8!{@ir z|HmI<$+AP(qA7LVXFG)Ns(1v4^V&f*W$Ak_|0&!I^)U>`3Jvi}=BFRP zBgpGN{?0>k=eNB0w2E&_{)BEv^WY!^&;~&sP@F?zk?mlX$&ieBI(O*P9d-+raN#6d~oSztqm@#bM zrncwo%$3}GZhy|UGNuNyS8{OMj!zUEEjG7Y{GsT zGMJD-*vfyN>#x85zMhFEoisi({^1O^?_>Rc`2TZLYX&j4QNR5?oNte0TgV&xjv79q zppT2#c@VE&{**i+j>pBGuj&EKxW51LDKd(^>;3ZoH1p^J=~h{o?fWHwU1*O^=vbNC zg^q>aBu)SQ_|bpo|KmAG?wQ8g;bnI2`G17+>>P{f_4$3HUyb2E;{O&IOJo7Kzy^4W z{y%Nafw8cqn1J&4i;HqzbA?OR^#1mXf1od^q^zYk=D2=O`ZWG`E}wy~6>#TjWUVs!|6~ zgB+!QG%f{5L&B3{=@faYcNBx*kDEaWuAOVfdlOr7{kBh`iF+KkEXQ+fP!c@fXVK$4 z=7)!Hw>1OSMYN_l>?28)A8WO093p1)4rz6}!m(oua+2+wn_nzHGMHuzL6IL~;U;K0 z;FgB*TI6CmDg%SLM`aaWi3*LVJBX8>$^Ve1kQy+iGfPf3pjElzotQ(H>=`=ZZHTW(ew(1~^RUcZNH~wy@az zrdvLbYJr_Kb`|hK*vz(y-JHX>NHXc5&|%x=nKAys0oyj^a170=TOdswo>xvJ@cY>^ z`WAK`A!%Cpx1=$XxYOz>NhfPkkp$LECO{WE1GAjtt~$MdUEy({%!0&|Y6&_PV%pCK zj8||e_@Vvyu^mxZ#UIpTDcG~#>Y52{_pR@r(LYFd*dBv{B18t(D*gbLR~|=~XS{D# zZWMV?0<1VfDdHK<(@X*RB7n90S9GtoOuU`^TEmsn#8a&-X|sI1P5S1GH1@vN3%es~ zZOcku5#MocSN)>vx$1c=HcoxTy%Xj~-0=Pi7UJc7-K`uz9nG$sl}r^mY;+&J;Y3^W2mWdHv2%x&K1#4+J{MiZvm{?X zU1=kXW$Ldhqo^Nj(;@qSS!tXq^h{r}fIz9!K(*%9)!(BQXE$vc_Q^bK!s6)C+2A_5H+Kzfui54JY1JS;4rvH~wkZ z0{Y08N~-pDj323^OV`{{V-AV}LdleikL>bs$EDpesWfmb2Y>tjR{RQIfWy=|KI0$# z{(=7`5kHnfSwZiYdm%^`E@gri@{=e?%eh6=vPS{fVfBIF;J$OSl zAnIMYk=g!;DIs6`e*}={dpx-jGO{daGbuaoR$=ibJs}^Jf)&Ss%!A_9*EoaU&r!3| z)0_5NmgWBa*emq#OkY+ufy;>hx0=c$HWJ~y3#JgWZ5^f3k+D%Wm2n+#0RLYu6`;C_ zci|ZSDl`pZwU%xs`bq5LNO4&?Y_0YnbJcCa{~KR?*}#7IHpbH%|Ic|l-Xo3}&8@@# zn-^L+F|R2})$y1Lt!;hS|G!aa0xmk&^b`ND>rcS!j-vJ$fR@%=py}$^8TRF=GiJPP zo|M452%;#h)x^Q;B{6dht;HP0+QSg!-=Y4G|L_0lyfVY7FYT^cW%XwL2RAnryN@h& zf9-rCO&7*L6YnL|gb`GF#kq2#XZOQ{-BIXW8tV=)N@86y+X}CCW)sCSO%YYi`t^3- zPEklRZY?AM5ycJ~1fwrrY0>PtzglVr1CSqjZ%>N9ew6X-yjJW}@^Y7G%6cg)jJBEJ zSt&kzqhKe9*Jy4TpO&B2o8mlJ=!vAVQF}8Wx%C=zDnDtseoyklN|9<9kA&v&)n(i$ zQcief^wqBJ&gk8hsJhql$ANNdHe3iW%jZtHlrvbkU39?Cxilk8K*n-iFLS6p;QGba zGI#C*!)hF{xNX^XREg=3bIBgZ`e+YG_AFcUuqD?AeH?lDG3r%-f;k*c9v@Z7c}%AP z5dY(NsIt;>@U!}PaY$mR=AeNsPt3i%E~gcOuh@}NcSm?N^-T?JY?gzQvs${Xv5cZT zuU`%=)o|` za@`!a)mrWr$@sBKwplllq$d$`Ymuzl<{h3>qU&olFy@}3{CuEVc}o93~=ui++6tQNbh2=x8ZCj z3L(amDI~pp6Yu=deq9Qx#E|fh&ztzi1)L<=`1W(=uPWPyTUVT`AyOeu5Myk@|0=g; z(lp|i!M|%Gv|ajIUyoffpI>Ef(~ijY8q3(@5T4R-X%}UpS*Vn`Ciregn)s(Gxw&Yp z_ll5`PUq&I5!ZnHRz~P02=K57ITCSseI+BifX`AubsP` zTjHSVuN`!fKl;&lYxTCfdG_~=QTg-yn@62|42(I>RWAHf!49-{hF+{md@G;&<)7-Hd*G}**AGI9;(Xt-@Z8WH)^)E zm`#Eh=801`In`IpJ(teoCt1VuGmnRFEa;5*7e}Zm`+w;Tix_t(W!s@Iv##WGulf9? zW7-?%1xlYn{$KNJ2X^?Gu~>#XeT}b!apci={J-CE@oD>hw$OxggSwe;7hZ9Gy(#VV z0)#l1=~niPZ<@?V)@HVgHs~KbkMfR}&xl`6WDnA1z7o-T#UQwKcq^fx7b=W{d?(IU zvTCltgO6KNaAPX(FurgqVkVHodx~Rmc=Rd^lXK;L>gWBL`cg6BNVeqpLUXZo z&QmHDZg?Q~Y2jt1-R8)Qb#_!MQ#f0{y}&Xy6Yq|(mn_{5$X^~R)i_s3VjGzZl3I;7 zb&oMu?9^g&H9CMrXHw0T%3&NnC~a+|N(ljD-Li>|9QBk}bXRVpR1b3E7SI-Z-F9&7 z&bx@>V!&Xs7;V4J$bs7IrlNrAWSD+MFt!ifoS&EsXq)i#v# zJ&r{y6x4|1N=%SN0H4OOwX9(^4(@eATvY)-*+<1{Byn==YJ_Nr5i5XbWI5sNgsB1Y zt9Ty9NJ(4;Wa2Vmmk9F+0mL#xwGxT3IyiS>xVRcuv_rjuwQO5MiEw;BaZpu*mm+B+ zzy~WHU7=()j%(xNU8OBPJqWqb_fSuJk4(jZsfamu?5qGkt-d@N60s?-@fmJjA)E*; zR;PW9*X_T(=d6%$BSG%Ebh)TFMXwM83#p1a+OMO9*&*QN{c3OREmk$19CNG)G>ZXO zXX+>C#)O%&B`{J${EDPk{#Ezp7K=#!$T z0Y9>KEBtRKc%V*#!*ytDvg{v zD$c40znGgrY4UARhaA&|HK^i17eQc zjYc}QNA9x1ye4!O1rPbK_tor1ZH@Z={KuUyoCqLOXiY|Eys!GD-hm z<#AE1OW%Cy3gy9g?OdV~)r{q6|Nm8-g8v*l9OK{9Ib60=*|T_f){lbduHw@uXzsMY z^ZKTpS=5DpQB;xhWLTi`zvBM^{)@$`R3j)&U*zvTa^d&gy?-EpNDf-y`#ql%4jT*a81*W!5+@naZXj}A5$ z&pBtf{Qn33KbRk4l7pMIvCR?Q^HdFWu^A!af0p`6HqegQjeonvN$S8`@1&?wVUu@m zz9#?w{V0AxcQ)r$J@Nm}L{)aj{>G8quMV7d$ij&{dP~Zbu(^hBCofv~eD~~mNcr8O zvnhC3@wk{WI%u|XYFM!#5yt;PJ2Wvt{%;~{rejwmvAcFoLOr#Q1AP(U8vefWO6`P; zl2|xLyUd}bEbBv6yB~i8gQqzcNHpd$6(spd;@;8W-ZS2r+>R_7KOCpz!(t1P*NLs1 zu6_=QzIIz4igv=%t4$jm1I9YRd@_$3gJZY>*f5MNn-BUyv6q)^>xvjWN z^RdN$SYVrrGw9^nm~Iv_h@svB>kfR3Y=x~unwiNUBb~M;E?;#8JjDMLCj)65S-B|7 z5r(*$j}SP9z0Ie@j4b}(Dz9|d1kIxL9i-sDElg+Oi{_4l5KBUn6A}?R2*MeL!A{3f z^cy&fV1a>M=qvx z=gJD>giJKG&*uYvaKKv*f|>@Tw>nk)xq5~USRl3?F}irovqB!n{!V_vppJ%H=`yIP zAdHZ);19c+30E=l!1lJ4LX!Noo2lQP2oi{YZZb^YF#N~1Ul-oaDtTcAr;O!wQ!{pa zN<`OXY&++e_!YEUHCe zc-SUYM*KV2-t2Zi<(wf_*k@H`l5QlQ>IN1SL;hYe6b8j->hc^5^G`w@WP7@xB%gKOLQV z$C)Ez`B^SN*>-XERM_^|3D8$T!TT>Z>u{IS?NxB8u=@TCf5NsVJX9%NmH%Gfpg!_= zBKwY3jxNBB{l7F$6B!&Q!I;R3;{~wCq4H)$?XJimM{|jb%cfmOyaKE}3M_n{m_|;+-be7tj_>KV-;&bc?P0vdT}V5~J;)hdcfQpD z-^ZCs1^F%cbvV}5!q*m!brb-WoPTkqJ~v_8+PMrp|FK}qm}7qlWE2z$*XDB}Eox^R zz;Uk?zv#=h+3W+K>>>41;`up4!I?tcwkDwLjDp47jdx1;W6m=mO@$%%sWq=TsnDM+V$D~$wGHE{=%)iY>#qo#fgUfa0rf%GAv3=^u6MmCPo zti?^QFQ@*9$$QnV6^I^p@jPC&0#yt-wUt0U=PhBJB`H-xg>G$oklQ=snB&w?#b#^Q zVLKP@tGIKE3>iK^wy}ZO8}7%^mk#Fr+=9o6^peOfC*{)F)F$#-lxTLVZS|C)d}!N~ zNXMLEW4i@-Db9tk>ee|h;+3tVeeVi$0@cN&y1eQxUC0_+k?DTMqQT3!7~QR2pm#3X)Anxa;rA1YT0V=w_3@lP&o4&<20%iU`rYvcdm<`HzN@`4 z_@|v&H))U5f9w8j&AQ-@r!n~qa+$6_@jqj`+vh#GI7z?WS6TAxy7}K3`?G9WmR(B> z1N^i>N&ZS2sp{oWBUF6oOXL{rPiDurgEtJbvWR_?T<_hp*NSkr0>GRo%-sBQzH;9L zaN{2~(8|?1?4x6MP4iyhfA|DNg?~l-FaOUz5!hE02ugElOmr`M>hfu4GOxjR#bc{G zhBOuX62jQaZB3de3#}(h4E`wNJM{}caA#s-Euve_=@D<&lSTlv|e z?>CdB@`44_kl1rev-v;$V2~kT{(3%7d3O!2zT_+l9FRVgB-_m~gmh<||IZfI_6?HI z0j_5~5V|b?&h8;A_V0WKv4Q?RHvBlRZ*g?7z~#!1U#Kyc@8TT)`Op99|M6dC2f{pO zS79#UUhtN<8X05qr3^wz6i1CgV26&J^5rY4RWrC6{pv+}yvw7q4jks(V!=ipKGBVX zlcSyGhjsx5mklp}l*OH*z*K#Wudj*BH9mbuCPPBE?Sh3gQ4C?nh3K`Fz6{&-Mv8y^ zA0K8b7Z|q6a&I@#Hm;J5wp??{lT}j~PH|@ri-C|QWv$!x-bacrn|A%fV#*Qyqsn@3 zqq?@m_E8~j7uwiWhtLIYX40CE?GZPlE>zA=%j_DlSuxwHc1Y8uIzLV0{AZuH?zSV) zSk4e&_b5iZWCh`x-3iw_7H1~7L_Vv0RvP=8G_Z%S&D;+VWO!)Z{pyT}YpW%?0a;mx zl{T%n$|;17xNp*i1oJ|~vi301T|wp)oy(XNmer=A{ilCOBKyEjo;sCJMWHE`edzoFeA+jSYzMh>&l-Xg(&FW1IHcB={0%%Qe)`#~;Y5JGR&J zq_bRodpZaR6&Q8LSX-2L`2iLbWH~L$;C(jCZL9ENMaWN7k&cUFsj{Q!(bR&-I22 zpy>gE9E0#Hx}w~IocHR9h(<=Oaj#H2G}-kV`Lylw7ym81dYt`N{KFI^8m>!NAH;tl zpe|X%7B3&-BqfFU5s@u^FKK(sk0}lM`sT1O(L34;LpS~{3zXo1|J!VRjeDk-d!m?H ziT_G{wRHiaCjLW+QcYQDIZo-Rt{>iG%-xEq{=M8B=1-@L{|fwvW`~i^HXk~oU(PG< z$y8O^#W(&7TqVNlZ}7(MQT(ko8GjxBA7kdM^xvtt*Yh}!rF7T``5?Rhl9VZN$j=Tr zBWB2%^xag|eBr;iYI2QsW!-&^oBrP@y0*npW~Vv{|(`EDMa3Jc;TYUI*o8O9qJcl!j8%}aok1U)Ye!3;QxF{ zsVh2OUpm6l!q)PTzgGMoT4vBQQFr@%`M}!8gD&|UL4WK+FG^{hc|SKRJBp^8wEX)pGaV!ndVa-Vwb_o z(OS5r{m5|eagZ_DY(&hgfAQ_Ui?4S6-|LBH0=(7>`RI&A1H<8j`}?5ocG)oK%&wvI zsE#XXql)6_Y?|hCVlBciCBCjyf9~1$cb$9eT0{v$BW)?POz=UdsunHe6wwwcvQ?^D($kIGC{{ju&s!R{4Y!6dm!-5);iGXFFKrYajk_1( zt$^$`Ar85`@BIcW;j+rIDX~iPjO{8CpmZ&!x$T29ULa1&3pkKn)8CpGf zJJ%12iq`4w+YjTZi}RJ<+<^ak@4h(0v;~Q!@jqPw@RzNgs6H6mg4bR`$T#u7GQ;!n ztaAkuKvyGsVFxicW4wY}KIjaTO)EUYNE6|^^#^p%=D zcno*s@Hmc(VT_M24Hn#9F{sA9kLZH;yB!$9ib%V}=)~}5!&y^%FWCdUyTO!iI7DPT z8oz$;3S;ej`;>M8HktS9?zL$=+7&jVd6xrqN?;AJ7$#VVh;gTA_lq0jd*;O*gk?qnuWihv z1n|aQwvQMe_%E{EA`FFep|ov|%QHX7Id@^c0d@L!>xr3RF; zX>s_H_T{jX{jJVhb}=c3ZGiY^V@-Z*DsFbIW#s?aNq3ah)pr`;)T3#yLa9}eGC7P*(d%#_AtUtasI@6=-Dzh{%42#Z~XuM z=yB(G28{M0EX?XuY65mG^^tw43}cz&`Wyc<&d&VEVC&*tOD(n0{pQ>@;7Zw zb0<`U31Wx0zj=S>{6_5aR@DW>ay?^oBSO?pbM7x+7;>uMsbPkIN7F=`LPPV7pjP~}v4*4h)6mTkzS16?kK6guT9EFvf$RuaV@GlkQEN|OL;Gpx{6@@qv#X;VB z#_;<10mbZ9dNI};ba*aup?O9mFz!{Vq(F`v>?+6qPayR)^xlvA+y75&)!5IUj>*dZ z159asD~hH(Ii73G?I!{F21oVx!0CYVTmHWs|EvDD!jV&oQsDmkNSlft3Y&5|ss(I_ ze_}CUh4nWu z1x8_lap8X*0{l#89*$Kosu01)Sxr67zchv_Ei@5NDYKRsAR_Q6&W4DjmrX2Dl3x(y zA`<60HK(Y|NUrXpC&fu96X{H<%b^@d8+J|$MXkY0C`S zru(W?jpb4K_}$T7DOeQ2;4O9|il-F8q$(=8pcO7!B(9?1*ou?{-LZ;Ih1cx_0sC3~ z&E-zX<4_p+B*t}VoF`UdKYcNP1*`X?D-5fEqKoN+w%-{+nO z)}!LzVnDLu-&6Db$UF2qkQ4BL1n-Q_1rggD>R*yJ?GvUWnG|I#y>jwuP6Z|%I6jw; zqz88#SJ`H9JTum~l7u}Rwt`c{sJ&RFEb%<~-m}fbi;2O`hop9`7 zGr9|hR9=|c3)+hbed!Xusr3k&_}Tc!-|nQv86AA3!UPsO+VZRpoh|9{JQZPO;43Ij z;-BueCJPZ?_@7`~hzx8uaVRRV`YNdT!9V74w}u`ux5a-KV~M)(Uwd8_Dc}nS^l!!~ zI@kq^?G7Q`>lkSNBQRjN^#7fSITAjOCGcN{N9g&qMVSI zZmgz-y3o&za^9{?VBf|(FFmaMpuPqJz!r)Xh91bbSO8FXvG|`s{2uW?BCMH|IQ=nf zOR|w(Mb-0-|0ozsKanG)+bQ8F@_)x%y`;|k=v@2GD|@i5I{rVMadVIKSX22ZXl?jz zf8XjPForOE@s9~R9(N)Sk2hIX$@jHnzIt7fvdxzC;8^-2?tlI- z|Kor8Z(HMt-II+X0;H72$s~6tge@v6e|nrF?UaiOGh|&(xHUmCTAQMjoQ@3(*9SG; zZe9FdQMbT7*|{EXvGMeGG^J}ZN%oan8%Qwfwq`v>*9-XLzN0=QNw^z&5~Lfa)n|hk z(zP>|xK#t8g~znO7c~7LejZi6InI_2FoMsHuScgVNtEJKU7X<;^9FuSyRs8O{{nTX zI$t=?1$vbI)%|0;tSzQ>cLif~%9<@8zU=N)a-}JU=)UDB&IGOP>va789M)%sj~?fY zkt&0VPfM1}p(7Mp0dw0W#r@Fpbno^~bTVo03ph%Rg`^*uuz125ECgX@+@2lNr;~1) zBAnRvU*tP;j=U+!93BTwd8c+}m5+V2lpz7pd?)I*Xvf2wxyA_rJc+Uvc{UxLccxd> zM75(Y#U7FDcC5BGzVT20GbLv%uhn$CVyFu+Y;kvBHG`vb-{Z-xg|s;rnB;g3t94|eYW}jtB*2u3yPvO&c$E%K7Ob+F4-bv=%%BGC-43ReKuO0 zKLjoTfBtwhm`s{CFDDZ+7_tth>ZXQv9CA52*;7SeODhOGx4++ihjR=0A@0H4uSEaL zn~73s`|WYjvVVSAG<@u;Ll&RkUg*9qTF_v>a%zmfvAvr?EE^leabc^}(%ipK%5RP8 z!oLXxeg4hIOkGJujpf+t?o+IezKuQUDX-6Pwmp6T_#&47F8&K5w=5=1>oRQGkl8En zUoy#&p69~9CO_g>Dy@y_O%CFo(@1xHC)Ra&-7eYde&54nr}`^AlZwzdXi$^T7=)a3z{pvsbP2wM63Eg(Vs4K%Mn^ZW4t6w>f&iP%v=+mi;RAO%J zz{l59x8Y-Mrr;m~{}gv?%;VxhmkLKNIyHN{@bA!WF8oV6AbsP%g;Pmg`2RwyFh9&d zs>03FX6M5H&5r7PZx7@&Yfd*yv}%z3!Al> zW+TRC{B&L_RgBT${_GDRUjO+KvCn04j5oxp7?Vs0lr=w$r@i zs+bl1x1@U>YodwYL5C{a&z@Cvn-#~`*n(GI^Js@{L#Clt1Q2SqGpVETvjW0Ydq?+l z$TO!$1~D2TIHHi}(!`~s2zuX>u-7&RU6w7HY;p{F^Ld_-Y{+Ly<%o0Fn^pDZw7;!D zb1D8eF}R9EuK3hER)C{MZU`dM3`cI`FTyN*<&@EAR>v%G>0 zM0^}Nepk3%8w5yKojSwNjQ`IqehvL8AcmGNTJH?dx>Z=SCA8g#El;=`KanA^YmQ;8 zHXx3xMfKRO&A%gf;PQ|P1fS1efgf#6EUHxgtQj(}pnj<6j&1ZRK=j2G!G%wyj}3%Y ze5}8tpg|XXP*1V1y*VhCZ!OzqHke){z9B;^v$t5pgA|Ba6@$Tlq zjU3B6Bp5q%1YR&wip_Wr+edOK0a{MYqO>Y{Il~dLknFFYiR5hi2+5!wTS%_~#}nMg zBr^+(dDaKjk@1OtgS$xMhAhkh*EbZN+I{+#!*EV8=%^ZbOls}I=+LnCF~N=oi?T>s zuDbE|gI!)pqzeD@H4+pnl~9dii17c;ZQS?gizoO}qnOeegS&8O?z{+DEk#~exAZ|T z<9yl+8%`QWg`BzMFv6pK=Tm97%KhQ0N8#w1on|yD?gR+tGNJ~jCvK;&x!Cp_t;+uo zxkMWEWnEus7#xd*^VD_lMkl((dFI$ivm^JWxM zMIWx}hTo{N|0x$$V9!r55M#@7F=5Zz*_NN{_*-b@^3h!pDcR%DkMK6gd2CY^eC#~P z2FX1_QsPvg9o_yEK>qdlKM%u$kUD+On60{!RQM4lQVty-vklDl<)vrH?*#t4qT)PX z{@*U6gAaJN5#yPV4L3*N#Yb`tL4lPpq^#QXMg0)}bS**>%4g{B%QqTs5y5Z*A=eH=gj+ZCS`85--klOuyvyWp;5VHd=7U+l7SK!_AU-H0UUq&i8)gJSG30&AD z&;7yNAB8G|{$3fE*qkZXTS$^husWJ=F_9b%jG|aOk!~QnJPMUdO@(a7=DLnXay$J5#$E4=X#_47a^>s^o` z=BnD^p_E6D`@i6Gy;ybq9 zu}abl@qHrL*0nO@_!&UA{dZ99lY?3A**{XK@)Lpo_E z9dx`ae>5=A&uQ!Jpny8t!n1tW+StG`73FRwqDLOF24|e#pE}tU;CH;|N1`VU3C|24WlBDiyo;w zj!U0aMU3%Xk*DZ_|kmb zM8+dwaO~b)TT>ZUK<;Bx4BUO=pIol{v30`&nIPIxIl%|`q8HfkCI6iLg>y5T@!voA z5A>7kYH?!x(~e8pkqmA3m@?(VYtG~DX`^E{7=?5d;|xB5eSgOB0-uKq%IYn_cK(9@ zZQ>-ch}-cPe|bkw2}ffwBK{ZpS`_t~u4P|kyCny7&r>}un+38m%MXXl+naoDr9O=n%(K<48b$AlzHZSsRgl;(+oXMSZ{IJ8?l1V4s3Y z+y#5_TMQ59qztyTUS8UR>UquB0EgC7r)#L#u`9cr9M1^nw5WyI&^}j;J&Jxs#Jwvzg6Qt2 z)y||BCQGX`0gLRTNHpAbZ=0IYLBFE29jgmhlZf8mD0v14{Pfnr-ulj~wkN+k;T^IC zQH~+m3-W(2S@4-RL;LW|4vQ{K8 z4C&f>N;^Rhki`&hpQ|6?!1&K8(XKc%%ZhHs@1IzUJ)j>Iq0rB3 zjn1ACAK||=7ULhPWPv5)R~e+ayZkuS@&9k}EK>T_c5-(!D#lBHz&W4R!~c8Hkp5yS zIU8X;e1ON^4tfLsBmWQST>f8+BwgYE17XoF>XPr-P|8K2v zAk;mibNv6*#%5hA!{YMpH2B*W82=}3FQ2pX#c__az!OFPKl}I={7mC05_NFN3PxS1 zN9bi!>T{GkO3vfOc@Aq7i%4dO|Ib$)S_ckkm*4~m!12E_aheJg3GTm&RQsW0t_u5m z{^=|K?_%g_|Ihfp0&!j6-mA))xqWnBF9Fh*_2uAOw%5O!NZGw_`hRokkN;<1;s4Kk zuch5loVD}p(9x-D3jc>I`)k_&!r>=B&@MlZNza1P5AT59wOz(&6e^_pBw=^eC4dI0 zs3zD-0i$q(&+(%`5=Ifl0TpllU>m{Hu5?@!z*w#s3s52W_ch#C5v_myR<*U_2g-u+1mO zA;B3JiUF%Q6w+86?K?u8wJYmj^6eByZ(&!=O|@%-b}@XDP!LJ{yL-MZFO;ijoxp!9 zwAQ9Nd)Ah~n z*SU1UZt%#(z|+YEMgUE$67YCT1JicZ4|=K!zK!!;7Aq<$6q6_6l*3X$H+1ckuzqLJ zvG0PVgdjgt)7ov4unsL3WhFWDX8wo%v*Z`qR+x3oSL5!X1EdpSdkz7(?Mr|B-%1ny zpDu&g4zsG|E3D|o#3$q;HF5%HKrajW6=6)(a2FPA23W**PcE zQ+|?Rm3-+0SI=@JVoXnBSWFnrfewWIIp2pY$U0y6=cqk;?)KuaSX{QD&uyn9#UiFb z9u<*eD4zHqMF47k>XJ#0BenYVA{lW+>}YG-l13?-`4rE1Pg3{bWYYq6&$aYhnk7Hf&cMLz#5_m5^nMFhCN|iSsxy7U z0AXh}@#!PmESbF(UeSqvMQYQ58S6~^sW)#bq+Go?-uTQFZ#XOO(AlYV`VxoR8|$?& z9QYp>>4bj=TWlaFdE4vfs@IFt5^cNKVf-6_m1&aBu0{|}S9;pUj+;vS1K%wl#zNCJ z=pF78_`eE9!oPPa&aeJzBCjw|K7XU=q8%o8eMo%6IY!}aN$$xDa$I9x;tutV|Jjs_ z0qtCyF`PTxZCZ_;Kl1-tpzG$F<|>%Opi%VP&Y2IDVGReiiCtEbepj&Ek^PR%_MmDC zKF^(W!%6^m5wR9g=%nl@U}tp~q(}so$SK75$xmGM6&Du{wy8i7xZ{Nc7rxX;EE^+x<(@bk+vd;K8)pAr14 zT-X|orCzQQU=oheB|^vlHQE~f5^v-9Kim2I{m*~?Pyg{>ODkJI*NiK$b2+SbWtj;I ze))XE1Edp}#jm5`_Srg0$HtlveSMIbbjbL1YU%SaeLfbcX2;cyVD<7@4fCxls-F|o#1-??@&pnQ$^XdI_ ze$MC0^Zfb1k67c4IB?CS+o9eWAI{$TZ0XzkLq9-k2$>F05^NIclZ+i?*C3UZ&a++a zAn)Sd&?x%GytQAc2mkk|@NvjW?pdOeMU#d3I_?8Z9WcBmm4}Ydl)20`w5cuFRphc9 z3ttE(qfTp5GS0?p=Bvhp=XcZjp(zocn?5q_Xmm4uuU5mvr|ZUlxD$0k;X_*p-d0Cz z;V>1$S(yG@cPiw|vb5A;mlM$07n@-?Phm1=4w%kEHPLPm6k{sD0y3MI?r|?jde&IhOGMj5LB+g61mU zBGh(#(2`9@lW>9>j@8lEtA^3^++$I@?0?v1sijt-)_6dly$9^#uvLCN#_C7r&qU;+ z0^5;MLt5Q340G)&H!xe5EZepjawaYfY&~w&A-E4z?HF~(GBCf?mE2^EoldD1?9y}RBTH~b$3zlxPwrc!cX)5P>$xv=m zf#K?pxmsOZFdm(qjdmU${EK1H!&HLD+<|e9l|F$LQ^pAYh;F76HXXmOaXI$D{MW6W z#d2{&%;TD4JGf{!uf!sK7BOg?3U6I1euu614fmg)cDuflq`~txLO`Oum=g&3$Sw4b zHsn*#2q|*Z6>MsQdK#Jo&L}b$ZH+qPVOxNIb(w29>>vEA9sg;*!mh@$>{qb1OJP^I zF?KKfv+>v@@mQ}sa}4L6ApSJK2@Bd+2k&&#U-4Q7P7`5E0smj%EyS+X)1Cnd;osoD zY)X1Ossfw3C-i?4#Kf6oJ2&_Q>TB1F>9Rdf+BE0MF%63boNFjO@UPgRD*QhU=6g(Q zPK*D7|CbHQVzwPJ4QSO3?A*>`Udg{gXKly@{%zlqT4V>JaAD9y5n0PEE3_qlL1or$ zpcr4Y2z%%+|IhhJ=MH98n$J^o)WZK``(=VHUnc***T1ily9r$*e6myR@JERUe*caC zeO%13C+R{o5H^l+&LtPv7^P71A@=_(XalWk5<*SHFjp7PG>&P;d@%!vdu^SuC@0G< zYuu)&^XNfxQZp4k%3LgOi&UUni)tFY&4=4wo_yiXkU3!gtfOB3A5CnbZ|@n)H;7&` z<-$=Gn#HqALGb_8Out*Iy#4=$|N0C5jg@MYNsRw>F&vLoTFD#s|L|uIywuBiMqpDm zq|5(T-_5@#N7~Rh9F0g{s%ySYYgfMomY2_OMNshBslwxkw!fLH?gDt(-1qw-v=3%m z=72(^86Aj)X|#=cCI0y{o-5@bQM!pC&St)+S@DAKS6S` z&l#_lV?~ucBfE=9X1bEP5K5Bda?6X59JK0CI0GmrGq!V!Vxk-<8 zeVo%9JCk||yFi#z++Gc7;O}c2Dy;*$dfzZrVyx6dj0@b1K>BJ6d}gZXF#iGZ=1TWQ zSEIo;@W1!q$x>3-ks06QG4fb+e6DK_x$>;)zSiQ>LxbPW{eQ5cNop>6&sEe!*wsaw z#Iil9@jQ0`GkcMa2#5?g*X)3-?)}o55p_g#y{oqYYyb1z9??qGK84 ztP}?JZtSn_$@i7ih#&ZS@8SVJV3(QQs*72Omqz_p?JJziQ53L;Q0}O6F;z{5VzSkW zQU?80KKy=JDHED=Ngm8hi=*ygro-1jr;#f-8Jb@5OqWBih91k}yAM!h8%K|S)}&f~ zbczR3n@LJEmHtO&!Rr7g1?zl~$@%aluhpPXqi~`OnMv8ab}2K#hVmTZzu{S6;-;}K z@aQ@2>&pe~s9zIAGm~rb^N6b_AN%*+lC+0t|4+SW9M}1IP^HJLL_2@A6P z-J^Xese`cys28?2YHl*AkZRN}l*XyI}svl^0ud^f%$H3u+&M)x7z(!k8cY z!+*{Cm)k{*Nvn#^j8T+GQ{>6_0vJ#R1vQgDx&ypuG;{hxP*;6#aj-9-jmL!~YLs z5MsnOJFJ}`myx^2n3y)OP5OUg1H+ULO#?jo1O7WmZ8NO*$N$q7>HjSYrDzwtj!hA>o9M~*)Bo>l)|j0RGWs3eKmYlE{Ez=e zjidC6Nx6)&p3#KJc|H49uw9RX^w$%ty$+)Awad2FxJpLGMag$$IQ$2x4cO1gKKk2) zc*%)&j0#L;4vyjnzL@g2!^5xHZ|k4+G{TxDlYrLW9J?I|d1sEvcx$SOry)Q3rb zElDd$*Jc!DD|f z1h;QBpy*Kn@9WH>@n<_zIQ-0hF&UuLvj!?Wag-C#l5WUs~@(3}9 zzF^%K#6(3{$XW8^ExFQIu~NmaOQzIDZ^1#Nnyqh(ge%{S%fw~EZYRG@>&A+IG#DxJ zHdAyU#gYOTr!ash$e8VQnjlfe)h5F?KO>vSgKh_Sd(UVRQ!SE5bkeQ+NN(qn(SR*W z>VY~wO={;^Coa2#c{@4L>gnV__)Ps0ZD>1llXk`&-1`>D*YfTx$ZmtVI}Y5_XD4Zd zP~Cjov^B@YKXnC7!f7x}x!sM6;fH#P3C$GiNFoy0u+MW5?VLU+>$WJuDI8z1L^QI+ zD{EvhvTsBbgw-z?zL2bxXq^NAd%W?_0BEsVf#GW|MOVxLx50qBXnzqJ(-#C68q*mt z3-c`tr52dH)0io+4#^D*RK$PMa&P+58cwO;Nlu`2#6-d_r_ps4Rfg?&W@8{w6p(92 z(t}Qq3?9O=Da_zHM8?&VoMnDu_Rr~4V&>TLJT*tfY3r?L$r?!@+kNU<;QEqPMZ7Bf z172jU@|-O|k7pP_rl#lq4t}tVgHYC&PuTkyb77)%I(9xgRQx{fR6J!no>aDtT|NxF zAv;KzMt9aqCH^lRS+@2vHIkM6<>H@@aZG>+AIKLXBd7bbIOmW_k&r5x9DS{Y-#dPX`yHPA}`Tw2Y+5|YrwCn@L zXRN#``nG9u1g0)syz-n~NZBThME<14W2b%HvZ+!9Z2kY3{~zv(Lx3p%-_^FE+F~xW zru4uB$Y)gsoJV74&@FkZ;D(O4OUC|xbuZ_~4;wy#JaGAcnPCagd!<4H@jjH(R=r|V zekc5sce*O$f5uJnG4n0$6*({XOyL1J(QZ01&2hmFw~L7XaV;1|RMgG7Ox1O5ke5bN z#(%XrZxnNKw;6;dW9actK+hl8YTM%4mi!60i5+eJ4o`MWKs;O}=!gD*AtA17 zlG2od>XG6t1X|Sd6(4~bSd`hbgvh4m6*2%m=!ug{PtUJMwgxg2MG+;RLuV9*!~rjf ztR;{l*aH`7)^f0Oidk_JX`^Ya@LtY+jd=XbiZ%&RsWl^na%=)Os{4IAD*~3|wAU38 z#OfQ~vPYv&L}NwlK>{Ih)=}4Lg+E+Ua9E_djU1(!rrdg_m|ALm-^2kXk z913Gndzw+>urJu_1SOG4SzOWmEM3Bwbblf`@WhqNOane^msJ zapcp4?|4OK=a1qY0evF{x*r=AX4=3UYSJ8psw7-&`t!mDPJ0hoh0 z(&|~802p)7VYQ_%^u;z?F{=JEK5YE7_b>AGp{Ltk+9d-)4nR(U0d4bb4TSV4$cLD# z`zr{f-iywD5WQ_@3=k-9oUV3xEWRPaioyW+IIaUVpp^69v2UUw>jqo#0PPhWU1h+! z)M`19eokSNE08`hcIry@G%gGV^w0mTGFH~HBFuUOt+-m~_aMEg+F~Qod`Y$FL zm}%s2TovZ{+kGmo(dUx|&1f6?D^?aMyAu*LBOl)H5aJd7m%ABwmEtMeLVw|Zz7{MN z|Ch|=W6*bTeQ)eV4$T<c(-P2XSmuZ$IL`>OiFfBzN#{e}O}HLt{6 z7yiL-HF{HNDb_1RN>$nwkQqOOA&x%!eEE2E$)I@t8gyfBf1#eZ9xSxE0DW#0LBWxZ z5m!XoK~?PQDm2a7l_N4Z-=HE+#eoE@H%YWZQUCnJ{)_{RkHod=P;=)~Y+rmVhY8n~7yb1#MjT zM&FoTN1Ap6fI zIf)D*JvH;3#AtB1E4cFGtz1B7ip>cBFK_gj%V{f}SlQv)1{D7@R-@~YoRU}T_W$R` zw}Tsnf5rcx4Sn5ZzoI*$B6m1D{QvyopSbW$S6mtYlU|2mT?Kv=d;BZ@=V4Ok?N=3r zsc>!rrHo*0jgQi8K>qpb1rECGg638V9kP(qTBh8c8&fPgym+2OfqEuQF&^?!gL>6x z*Cixz7m;BtYQQE!EXx2rd~YTg%WnxwGK6$NlmtBt+aae?hhfKvdl-0W%Fiue2y0Z}(?=$Y8iU}32 z@7wM1)}9Z?w_1l5Ut>RUS8G)Ji09?!YTYor&~7XR<35(Xpy`#_>w> zi~pBJm(v`JV6&@uM+9A2Y$I-7HA7_kjh(0HR0=qhyjx}lPAPZ%lm@j<%a2wcL)VvGA&5Fj#eAf`z4hfCfG{D1z&Yl0u;4!DPH>?$&CXg_;qH%JxE zPeO}rEW!nd!tZv&$^sSkEd z3Xy;5!dnCjH1RwW_=k+ZFQ<+7CM@X#vS0$PVK%ssMtMoA$B0GX>k*Ru$o!Ze#@n_h z^c2D!ziF&TuYI2I6=3`h;*FJ1a$+F@NxOMXZlr+PMC{~!0IK4FSi3F`On(80?7w`{~0^Kn=>xU*+;yq2#XO>WK7yg}4SKz;X{XYcy zice8^xr%v3keYKi5&qD&OO^1jIZWfz>TCH7{J%{{ea)WTlm370nEqe<+i&xcAo~Xu zbb-OwBzNI|TR?m$zb@Y-C8B?ev&10b7=X1c%pnF~0q~XouYQvotqDJ-`>Bt8;r|R{ zAER#Q2>ySjg#W>qi;JU0-W=);wYZIGCk{lRsZD>;{C@X(tl_`w$_Xm0YSItPa!?Df z;r}_dmwsP)GXYW96%~*EnO2U-UvQ>%#Y60Y=L`R|?#2qx@v|?bx9vaR>E|krjwQBzm)dS1)5sz)c*H0)_~96}+tDf&ip^4rakpvZ~yuyBUzgffhO+E;wH zU%sS26<)ls(!d2wU{nkG#y<+$?DUK;7NFXXqW6Ul=n{7EX8b><5pZ{_xCop-+_^O& z>t_u&U#s9kpLsUW*p}a6NjHuEN>{Z|RUy2^#AB8!r4RtW8%nZfIs=EAt z!~g&DpZ|yd_^+Rjxb+_*WOZM}(To;9f4_rc<`tKc50T`iNieIIpW23WP}pw3piUk= zUetyze??LYbnkupc_+7r8Ld`S#4;6J4xYdsaT<+GjMQEhzrHi&<#;Q9kY2g7izd18 zZvX5ZWoY{c8eItm;m_h?z=IQI~D-M1ZenT~WSn`ViuV{2olcyZc{Nl+0x z-fCHxJwBf;KBmhkqob4J48X>Wa6;~D^0h`np9-mQCe#-v93-`KJL6Y%6Vk!-pnR0v z*3exLv_2u$*vmc5&eSauvil1g22axi+`>ruJ4mQF6`nz%;5gSEg~Xn*TnFNzhkm5a zq+ITJ!kuL5W(9+=-Qn`l%W$prcl=YNGY&g@2;Y_E^DyZ({yXrb9zYW<2^T3q^WVY~ zb+YPW;jQb&zw91(5Jogrf%B^n3MHE-NSSS2G-j`Hls~ubw&{m%DfGB=fjkH1)7%Xr zeSPr@=l=Qn9c5^mPdxSoQ;~6;51+HtNh4b|(U^`y1xd~X1vUd;tbpT#33t+X7=Kj@ z3hTCq=%6nRuD=V7z<(n-kc|W1iUbKa3mt8~FN4~!8OdWh?Cy;J;p1+)j>$j^(UUr$ zL^t6wOIDcaN8{uw@Q>KAW5{Ct%E)Ku9UP%5+vj)jY~o)tz35zmsnO0x=Mxqw?X^QL z44z7XoOsWbChLf5kxsV%P233ZjRl?_CzzdL3r0o(51C3mI^4fNEFd;koA|2Mv!L~7MJ+ld$A`D_06Sx}Ki_6B2uL@q(Bm92?j5>%wa+8}xzIp6=b0xVo;Kb` z<`0{9KlrC&j9K~Hz<;8OdWN!w^PaU2`2Tdnt->&T$5HD*0acO>7uXS9<677e(>+8F zb@7sHsY*<=LYU{mKR(4G-4-qwo~YOmi7qY23qkV#fi(8$9KZ$9hi@yg-g+|bXt!TU zw7_BCKDWv|t3MU3=%+O@j5}@e2md+05{xH}j`Q5Hyut#9+|PyE0&_3+hBn^cc%c99 z%fha9YQCt2!))IVNg&-t5J@~)Y)5}0+mW{Vj^zeOYDCH>hI^G`m1U)SMnqU)H3gO! z*?35`?XQ|X=8Ippu`!X4#`vW>Wc}aF+~zBh22XItn}uz`pByBs;<)*n0`DyAs27iE3W+naY*#iL&yDeE5*2?>f$#i zHEV{$%(+|gO}_hF#MP^^wj`lzeqkH%m}1vn659&@*Ak!5AaPG!bnR;@Wd^$l#fq&N z%}f*z0Zx6caWQ#m+ircKmhF981o6a}1a|(l?G4QQU2rO4>SF@=Rt(jU z$YoqnJ%49V4NiO$#tzP!_^``oc2Ib(1X80?iRn&^8Sq+DE&42emyZ2qO z)DlQ&gEE$AC5NhXOL3!PmXBUMF5Bu{0UK1N#E|W2`W3u;%?~zRm0^XAGW1|<)zE0_ zf5*?=`0to>i6tRhvWcX9?caRlqf(At70yZXVQ5%?#s7YEaPqM|6r9|a3RZV}B^i$? z(2N*KQ85d_x8J-3`>@S0cH3s^D(F#gU%!tQxja_+pStirRbT1oO$cUi^2;SNDJy?m z)XVvmb{;(sP7GUZ`T5e9X^DcEr)TKl{)%2mf1%!D3kW%_%Mz@lJA#$BOv!FTR%k z|K;P^HI79D(!H3wD$pOAr+KBVNTQejzW@_*9A1oe(*MsEir_z1PIbvCv8DePrr0RV zWjfzBz|L%)- zD*WKHZA1QlBxe?xHvT_P0{~O7>)`jg z=+pz;jXNRWD@dpx|9^2N`_MhDv&xnLD&qgZf84)gusl*;KmGl?pRP*(-eJ2~96x{U z>A>Zp#9Shwd|w*coMdp;ju#&jWVTxlKS?dloZ}-8!?#*B-jw$0^#GWa$eLk&uQS0# zK6ie1<_y_oRF1)r=-hO=k{CtP;xBv*i1r;`1X>ztOiM-#4Z85BjOq`f-Pd?WaZK`{~M;m0kpv9F5Y zs3Hh&&V(pbfKf+L+kt3k|7Y1M5b3R6@SL)ycPPR|K?n8d|J!IOsv%lbW3WZbq+J%} zHP#>GI}?v?TKz55Qx+pz?LZq%sxVO-LPNgj{|)?~k)kre$NQFrfdBKhGoo!Lr>9k@ zi${;i0yT!^lov&5I>ziekEFPfr;Wd{QoViceOtJiPMz`*5NN|i+1(XhukFblTDo{F z&nvwWd#!^wkP`l{q>syJTdPEyhlFWPg{|fLM!YePusq`rHlGz(kD&M2nQE z(Xp1FNB83el$FQs`YtF2Jcu!8cyR7JZ#Q}A!*aEjZM|&>Z$U!rL`65BG+?|qKDTJc zQg|yC<#_#8Oejh?tpNHlxc3bfEfXfi*S3#lkoLwK0{1Zs2axm+qi3~_MoAHlqZ&Hs zZ}W&m(9kI}N~zxv`Nksrb7WVVD{0cP1wDZeQD1)La?n7(EF4TzmZp8pWfQ@6s7Y&W zx#qztxM^ujad1OryP7JGiotM;CMS%!dFlQ`KXHENV<13oh0h>WW9M{+CNzMN#mI)L z7z7?H+%z$GYZli&rmw)hghv=P+co~Fm%V?_RCzVc5Z7%3q0dUrnKTmp(sc*)W&CS! zVhKu2SG(*nbW1Ki?bYwWzvNWTj*LUk=lopwCrv68D-}eaOuDG=A$a3ol1=zG3jp|U zz|<|yO#D00@zA!<7+${34MJF4Q0Hhr90T6;wSFk!-j`g<_@`FV-%W7S>fU3f%s6)0 z6>W+u>_}J|{KSt0pW3yw)x|rq)84mdCI4OX=q((@F0q5B9v6ic|G*MPc;!PYvla-W zgF&I`(TA@X!gudKcr*&Q7yfU&bol^e`G3Jq_T ziK7U1f>e6b|GztzCO?R;#8XxS*FtyEL+o3sYnHtS)__gX;vLD9^WR5vzWfyYQ~%=M z^Lh6%qL+A&omExkBPVUAEHEB}WTM=78mUIX3LZnXNN3NWk-bZIrD)oklP(7fkCTt} z@_xrZ+e@tHZT$ZSPY;!Jup_Zbg9{kPZ7jkO^pF21{&je_LCIDGXuR2vA9%Kv8a-UK zH#Vo$c>HVUn7iY4OnCXvY7wu1<0I~Pv5f4WO7xD${hoQvF2ci5s+|9DDh3>Q0{@>n3>o3Dc zM4O+t<#OWY7xvI3cVmol8*6>4>e~4~U-GhT^yU8nArM<#^jGj#pKBg~V=5>mL);3{ zrr8!_&aU944ny8koOalq&V7y)9uM`LP4enYBy~OM3_OLxNgqq_C~G@3BFdMCc&^MC zRQBj(=PfYf%$PFlp>hTWP8FtjzBCRuSM==)vp366SLJF#&{F=fpX@?K)P-5?f(#p_ zkECmw0K=K8akY=n(LP)nE1WmgInhb4O_D>oT_1j$e9FZaxt|ds7YjK%bcvB5woPb^MAX;tFLhQ=;|t(y;Jx3Z{m<8Kwby@)5q>GXLmz!Lde}}*>}Pz zZ3~|y#twKB-w6i-Go7HtJg-5m41&vWnlDzmI1V@>=%6zA&^#>`%kL8mrDNC#NlEK6 zE}yTa|0A)NR$(o3Zkxtn_9&RwYi|hlXa#Zje~x&X#1xo>{UQjO>N^zz2y@<^C$~0t zP+`jv7q|us84X2XL^?db@Y06S86pg-K`1qbCui$erbzX*Z-bNpHR1yBhJrqn z=BY@?+IN-`CgTkUGrw#C!;l$6j_tssN_pe9v(R!t5^-?^9iN{EPXY`{krXfyxM=hR zKbGpclkGi6>(%^IuSDsqEP*yD0|1^TB*t-(_GA!KWj>+nX8Zw~YLUXov>2R>&Q>$i za|K&tA1Qyn;*=H7EBwDbip<`kPf;Mb!D>_ImrOe4XYw6Vl?Go`#&-O0Y|?e$e-s%N z<}KWm@n5n(M@-_#nK+YCf*kW^O@%)g_esBf;a}3Wtcy)3SOUybE<@Q>>DBJMk5!|M zy98O=H1Ln5!d0sZykYMXhH@?$(I!WOq$y`|@tW=bZAD!iz4(#x&O~6$5&Da^&ti|! zKEduB1^Jq7$R{{t6o(?l3ZGm`z9$oxaz~Kc*W7K4du8H(D*5lD2;yIUO4qPR@{NB4 zq5ae~D6}X1tN$qA*?=lmi;hD1D)b@O@*F})YTS`{yWn6EC(f&Lf3oPi*S*3&cW*Qi zG*=Pemgg<6ibC_A5!e+wMaaQBhmrrklYZ)CKjYbH=g#-N{6D~=!R_a-@c$BT!ao&F z|37U*0VY|+UG-*6!SG&4ac;rd)e#6}-m*k~pE3!jJA|jZ5|+`7{famC#2D z^QPt+`yD{oKF4iM>=O@?I_XY25#M8eTb)84hlx8~!;5I;rBjJqmfU{t#4gkdW-eTe zdZ!j4vI{gpNzh3#y-#SpK>cJOWO7xk=9<+-TcSu|DwF^f7aVt=`4G*|AyL=biu z_R`^ZY%9EWq+j}v+uwA_UVwja1k}n1kqZGT+EXI!-LRr&_)e-E>!0$AP@#-~*d_is z576Xx=eO8#uF~2wO#Ggp#<2dKhx|GUN0)F&U~4NWB1Vqz3S@7N0we)vcr}N26}cxI zVA?oKn#`uLM&PL$qRR}T!s25(sc+S{?ho5pN2y=9L`e$7hA zy4RzBHY4bIV`ZG7H0WT@R3cH#Wshet&z;U9LV>2)*U0JXI?p?aAVdcD-rjZNgm!!P zYUE_FFa)PonrOFRe$e>IdLdWs=-RW=JlUa>C)`{4Z#iJxiewyKF0&j7SMwLR=nxzF z|MZ4Awu%#&U$!?KT#Ii9Qs9*$(whLh8cLf0XBXw`eqtVM?;HQsyW8cs3``B$S#fV- zTdec0lMLcMU(FNFuQ_CV0{c)91c&66uLEuxXap#6Pk1H3JP-P2%=e}hcVW9IB|7!J zA}zl_|AC4M`x^5yYN}JJJ=Xj3F)apofOS!m4yccPB2cIr@A|Vn)N2}~uLJdt+JiZ; z`Zo%6>%ex>Pd`sPi1h$2rn+)*Zg{*fK%(3aZp{G~> z>!T*-=mCD3$@9sySI9PDrWt9nNvkpD**-!lP72^feA zJu|7-#lQR?aZ){(JH&TbNShQGd9xrw9_yw zPmGJnxom%mJN0JAAutVf$wPv-k&*wpY(2(da7~2`QBEw%MEHjyge;9& zB_c@_lLmhTBY)wa4R>(|YqVnggSRNVR`FPXiVu4wI$A91WPfnm!m-u%Kmmc#GY{ol|D$}A;u49uXX$}!9qN3mHOJa)uCBN8R z2N7KI6^{hZrJcMJ@@?uI2*V zRM=PAV8nL%MYz~SRop%M;!E7kYUG2nU53m8xt;GBoQ6*9=3)>nli%R)5YNNM&31%% z3&klg>~4_rW-{qBT?N7A{F2H8b0#rN2w>!7#xIbwF}LVO4o^DGZeWnjUK@-@3k*5c zA!GdU71+WwZu6PJ88ah>uJBMpS-67Fc6?B12UiFZMDNyOj#Hqa9=-3Zua zJJVL(ThhgK=oHIH#e8EEq?cAPp~S)Hc8A*=cIG)O+z-h-k2R|eOepe6%$(}l5zqc& zkWWnF>>xf;p~R=)woVgIJ5ZB3tgTekpY$R)6g^qQlrt{aw!E?mJ*`X`~|=Br;G#kAYNm zjT?d5{8An6KmWe34~SaJ)WxLzDij|`f(Qz6(Ycglly#0G-wqcjH`cM@ zbLQYTTET|LTkI)Wm}HRyAB8b3Ur}rJe%&$`OR7lKT`A)iK2yy%|Gl=d!t-*fJT0?*sn z;drii>jHLLe90f&UFI)Qood9$J10Dv>LzJN0oy7UmW!Xj?*zZCIB2l@;^M-h zcEN`7(WU5sp;YfSUX6KFaG`zM{}=sZmmUdcQKRT%`Di%g?8mq79j7%Y$f5XU|4=Ci zVIuMmeDflEfd3!HYIwwGxNTr8Yd1ZPKOq(J2CV&^^#4E?{J(5&6$v%%eBSW$6F!MW zv~T}U&is7LGsWr)|Bj7{96xFADq_reQU~b*S3dbRUc?w(-P#2L`L^l}!Y0o;(naL* zv2H614K<4YTh4H%qL{(Cd5&9{JW~Di$M`3BgmQSDa*XB!JtqRHk{eVkW?owT=Azxkp@Vjcu=ehT$YOhHO#eCHXCDgCz=z*g#aKP0)#f6wsuCz4w*HT1*aym8L9qZSav?Z4-|P z%D_lABInrRiOGfS-p@Ge!4S%i2rEsi^R+>ci2ya$D~fMtU{07uMvY*q>@GqWOVq4 zPJy^vxxGAViL9tLmvm<&ei(h*c2M*|v>=D`mb})(MT}3u=ua4db)_h<>T;Y@fu*&f z;+O@+R1S+eK)^{~#&a3jgIsgbm++D56c~~^M(hL6at2KNr#VmM)aZ7?A#fxcOsuIq za+|Qy(qVVhf03?fzb5s*R-GF0RJE_z|D=1h13NNo;D3KrWAo~Dzjn?f)CSwGeJoPm zcJfiuB%Sak>~Q91bf15{tLZx9pi^a1q%I(v1g&r_zw;QR&KpQN0dwceFgCB zKWr9(j_)@&) zA`wi*Jk;u67OK_maesfqKa~t2uhnx?1%XVE#W-Axoy_ka7Qyud#r9E`<9a^Sz@ znY#Kf`u}vo7v>hY_&etak5dfYi77ZVb18jaP3l9o22KxurT>#GV)a+n0M0EQS^y`y z_;2A~J9e>C#`wo^20gJ>;dT0n#FhoXO@=-!Wa7%+A|JrC}2RxA=RHvkgv)mRi&s77Jq`& z=X$^$5-tG6vf!?fkz+kysa$w=Kb>z3eW1FlJIT1mPgR0Y&Z$@g47rBRF?K&~Bt;d} z+{u^Qh$|Pm}N% zRF~XBfQ}>z zjQ8C=hPu9VSMPhQU6ef+J$#Z^0$~Ax>NxXg+W%Nv!)Ohyi>gGB&4HFIxLt5QL^!AT zyUk!_iv!+3>TMhFxvNE}-T}pgM;r+Jb8{V??)!&Z z%ErPgxDe??W_`MJFvbaD6$y90+NI{gBWb9jp!vw?n~xi?3FANQw)Sl=u@cD3>33WZ zL~zNoDJBBAKZl?8;Bqk`b}7Vx*+ZLSrK*$*-H%`G;}|_xJb~ZJJ2@%?7F$wD;emv< zM_3v?kJ!>Cg|9aLEPLfK{f(>T3l^3Zg#B;uzj|X%sqV!o z+s4}!IGrT6KsNEezEdProq(v^l|f^rcPfNmVjwQc?4h9=c2#K?4s|!-9WF*OjThFu z$_%W+L+Y4UXlDc->zT26w&uk{+ynnDX>mb7L|CE6hmQ!nT8z_U={(#O*74`{VrL1# ztx6~4B6v0Nf8H#+S4;-}mG~boxDfxH#dq3r$Bqng&Tti1vBvpb_=i70p?u&^E;()- zw0fp%``7>eXdRCC4Sm81^|_mX9PGkW1-|leYt~LHS5Gb*;&{?ZE?$srtvtV$MbClQ z-}v9S=nec&j8C9)jDz0u(C1Ial=i1a`r7bN9yx1=%h?-_Est_{ht0LFzFP$w z?6uFN@yY+6_8wx~ab*Ry_b>jdxF{U{|HA*IotF}J`TtQHa2(g7u1+$Nqmsu#efE-P{Q16sx39M_)9J=P_2+COa1bJmSEW_y%J+2h7hn z#w7)PC`kwA%ZBUeHFnv>cl?hcW%@V&%Z0&`4b09?@+%h8^!M8ng`&awGx@|j%Ig$y zwTOhz3i$x$PH!szdHH|Y4VA1yjP7gt-feV5?kW&(jKjCZi2{0BMj`yekfy%;fAg4$ znuulwV%cP4|L9myGXC56huu(`do6O}4m&xuCvSt%yqo=?cv}-;%t$&qM)_Zt{qukR zPyhG-8X)g=aGAw87vzKLg2NvNPT1sfhVbm`+{f3K+Jo%aHWS!A{J5r`VlYuo z8a`K^LV*Nxie0e$#t7wbF(;W)5F^E-5VzGveyy)qDUIS$;gB$`v5xz}8200Jv@b${ z&hOlX&~W$8?WVkyEzb8KZGl(R-VxUM=c&xX#%+(UZ9G<4!?HeXqADU9wAbN$v7^Wn zA-FflKLn*{&0E`5ZkmX~oAuOf`MeSyBv8dfi$P@wmE(0wfT|}LPV4lk;tp?wMY#wf z_dy#)w6-<~c^C+8yjlw0;;j0r4oq}~lPXtPp!5n-_W0S=Mz8g4xLlTHrtK9!fB_O| z*;F6^D^4bBf>rT>e2!?UEaXPeJ%Hsw^XmQ*weepdy_GFVk;q%yUShDl>G~W0JCKhp zJ#cuMD*vuZd2vz*!b6BH{h?4{+q(f{RaiR%M~lOTn`aL}`|f9FZ~dZ8Aum2>FdJ*n z0o@K3;-uTx=udqH{cIN~M4Z0=d0LKHI)>Uc+>1(F`fYXo}CO%)ihfFO=2kGXYkCX3Cj`ktqD zmZO!G1*j4BW=bgOO4LBwL_5+qiNCpmI@TfL7IS7(7nt;3r|11y4V5d9FTfz0tu)^H zWdDygwksG#GxxAxmNj> z*K-BbNBlSydZZ|;(#Cx_x?M_0kEFpH!D^$6V^H!L=r*`G)IY%g80y0{0*P~t0s6Uq z`q{^-s_p+tc=$a8>0i1oofmE0g7Iy`WN4L7`E}Rj-xA96BlUP)Q@p9S0wOIi8j{qu-X zfTOn9P)_K+AgXkj>CyW2Dq%tRZ^u6`UCZ-rvk^ZmFZ3wRsffWCmyg75{|`}H(oGSR zlv=c+AOBA|`EVcL@HK~yyqWn*As`9p0=qxI&K2;e6C}9PI9|< zqEfom5$Npyc?~I(l0r#*?3`eYtgTTvop6ODSpa1Yg7bZ6&ld9I+<$%NO z&$y6eKePYymK^D|(%Xr-sthy-Z@=2JF(Ub15Xu$@iqp&>4H|nZPLS;QMnc+Cn`yNL zmcbB}1&qL1Vs@MH(&k13Z?0Nik6loqCDQwvv!GL3>0TL+g|uMnFbOy&yDCa|#5L7^ zq=kmQ_gs%V5NGAbAZc0%2xgeLP2xZNVCxWcbxsq4(=0`lBOVy-(0n5);$szvbIy*E zmEC^+IK0r?diDWn+dBCzS5dZe+f$ErOdLmDo$*P&spP^x^;Om0O)F7ywX@8lVduxY zWhyZIk0N}@$h^r-r}{rRikFi;w__!|u`+Kmt{@==UYHVDvl-h3&(OwV5=t`41*Y*< zitSCb`A57vY}tG#nQg#9x$;VKG=qA6hTRNK8pj7E&R93g9*MDijq&PJZwrDm@#AKX z-@ZBu4Z19Y9&8wtQyuyPCf9U~)aGlKS20iNG2h-Zc;@(KSBOcOJWU1k;QNU|T|UojrdMFwI2zdKkQ z6^;ErZjr=okM}Vte%Q{ssRpjzfU{f zrB@~j5w3GdHnY*ujq(9AaemfmY=4iPOToF|wxtgn;A(w<&A@+hC%B)?hD8D1208!W z|5Y!3(Tde9`*R7PNkAq1#2G`1X-D}(%wuGi{6FEpX$Ng_&Q>R3*R{AT*k54Yv4=n( zzgqUop|q{K@NWjD9|+%7?m#f&rV6?U#b~4ex=Y&J@=AxUt1>r2XmH`bfTJ-!nt3>P zxM7k?$cH{zn4nFLqH}%!zSb=zhPbgEbILZo%Q+U9f+I>blJlrvX$KB3JW8!+59}ND3!OFBRH;Ba`KP-WGRq486sd8o%YzdIX2~FhHK9+qB1(`MPu3 zYDGz0elIv{pIj)c*wh838UH0_gg)UXFfPRZeaHXI*?H8^m~XYK=pFe|($(2=1d4*g zGndeOKL2AJIKsq~uUI{t%|w%Hrrhan6@TH!@juMTS>8%5hzd3aqZ{2Vb@PC|B+M^*$Excx8&l zEIGT;D|xb7hhLRO(Nx^jRf^ofFGHoYw+2VQ=GU5^Z&aQWXaecyQ6WIG1s1sHYE+M< z$w66Sq^tgt-PF&RJ7znYFBcFk6a6ZZ=1R%7+?L}WmPerqAj`(wXs*DWc7(r5g}n}M zmQwxsxTJRcjs9D~pr~Yf#(qti4#%NY3hNTAFxunXILyA#`S) zl^b-}7HsO>O2P+FA``rLmG0>@zx+LH|Nb(jq@j+($fFbh5U zY7Ke3bCUfYS+&u9WN~&l6-*neHX38euH|Ec404&G`pS={kO1>=RqDS%HMg)hgwLDt zroUz%=CMJ4&@$&GE`U`PAIAw|5sQ4v@YGZ1|l-nLiq z19o%p`$_yi8w3F;Q(O%qcaNIfTnC>q=z9LyHxx3?|6u9QAHH#<<6h5bEvdbmiuU#* zXy=No3_IcKF;Yx%l){D6Vu4JbxhSCas>0SU7Z~69^GyohUfnL%nI<%K8T z|LO+XaM_*E7RNxyalsJlZ#+=9yFh!N{NuqR4b+)}7VT)OtAB(axqR12i6Syh_3C$$ zPAMBanp9W9Op_Hh1)(b4$I8a1pU1&6#wS7b#ucqlV}9@tlybLO*)Lc4p_ILSK-DE* z5wypR94|q;zwK_Z?ugN50E+Xu--Pz*S2}@hur65P|Lqp#|HaLF=^n~U%-Fv!Un)M4 z2<`u?lMAf_CjlS)4}Hn;uYHQYK|j#nbYjkPg4{3s|HYxp-owrc-M;g4-36Mi2ptyx z7Su0RDsJK5c#XjxW3FcX&0|5F)($!Vsqe z{I5;C3N3H^yZ`8(;)JbM_|Cl!82HYERtmg}+^HzC`5oUph2|Kj8<<`v#9 zScMnS6tDXW{xN0~J3b$Wle1iZ$AEJQ`baN)GD7LekXSa+>x?6^^?~ngj^4&!O9ea% zJ~|T2qx_J7?t*R|Ezx$U2So?ctB5x%b< zou6+khEC-N0{^>f>b7~3MA~AvIhnRx!ZrQ0vG#spJu&}x{Fm^r7l}_&OW0Dl2H7~S zL3StnqtFxnpO27gd(llT<2Z(8D7mle;{0QHZ&le`>HiCy=`n+Us@er2%fzTqA z_hZdX3|RF4BfD!&HRc!6G_L*vHdF!qWiV~pW^N@;Qs`qk}+*Y0Y?<|Q;PM! ziGM48$M#m_dlLPcb>{zGD4=5Sh+He@@*{IXl;r4QQ0ExT3Sk(Do;kn1SnPvN8Y3EIY9%n z>!=`jrim269_-eQ2AXx8VMEfm*4x4H`!=>x&34RTd%4e1n7;KB zvIPgLs#e<2P~4cq4F@mUd|^u&v>aO~;@_4C>uNiR!5K8noVULh7zA_C8}btS743L3 z?l=wm89Qf9H2JP}V-0O=$83`yIwHupg`tv8CT-)~_u_#1X|AG9d3kd6C|yIwZyeD# zT3aaje}P6++QL6JcQp8c{8d_O5&lbmkNtmB_59%*Ynt+tAh;4*QOn@WeU=J+5)QYd z{|BB!OHG%AsUF)6usY?l;d2bV@K55oX;hZ-0Mrr zHsV)rSzMeKH-?;@ySwQ7QPS=nqn2VJ zm_*k;Us@svRovZiblPBJuucDn5bg{AjYPdWY{C^kni0L(+U+Q$rypDl^!W2{{C8Q$ zT@eq$U(k)t*%?9`HU4`%KLi*PF%5=N!lPE(Bjmyx>z)>$H`K77GyoEOd=bzJhSm ztl?(){yWAm=U(j4T)sMU<)Pm5Wvnzm6cQ#509FD#TIm?r){5%o_4fa})=pnN;AWC_ z;J*U@npf!8n?k|qp^XxuFlRU`^voA+fV;be|Ng=MUP6*MV^a*2 zpA(1dL4_>kTYU#SBRqHAF@${c^27V5CKevbeu(A@>lt$2=-j=*M2J`Vqze4k6S%0l z!t(j{|DW!G|J;3ljR$=dWv_NHc7ESMVtZH1mPT-PJU8|a+g3S_t{;6U{=dMpSJ4(n z_V0p^?5sm)d~A-zdPp6-;iBU4=NJA@p~YxoJOi9Sm&V12Dld+!%f}QbjCt_xAmv8Q z#%dnK!zZpH{x8|-&Mm7S@6ugIT>GQ1j^b}^(DO8YBa>G>p6#_Vp|DrzsgiFew6EJl%JnB+M-~#(mW_e z8(FYG2TODnluxWM$Rkr80QC;INf0C1V4m@Ix~3E#1QSNzKt~{e@f2*ns;P@1$_aDY4-lky z!r0A}M6f$=szgIg&r>UsEug`hoOU1Yd=jBw3^s;9krD=SrYG#SeJg-RkV82aJrG7b zjHy&Ot+73UWr|+#oicsk)ih_}8!{Q|cN4Y46gW)-vU7n zZJpZUpZ(}n=C+ZYaJ$iwdHN9ZRk5&L8wf`b#zaQkbc$X1=2Fq>=8n|8__@toUC(yH2@c{Kp`%nmG)Z3vU|gO&ZsvS79U0rYzISrj(3~9nG4>OJCVY z);Si4b;k-1e*S3&5Tm~4$aXpjU`5aQZ(qFY%JCVDiv_ix6p3%>|Qb1DhLRl{{%O;&railH$1N=VY?(_(_#f(%-vC3^ zDmdqknkF5Z;}uVhVu>ncB&d1;|55A-jL?P~MWo^waP9l*kOe_tio2b_0EGd_|0mDw zWEJGD)%@Upi#&nY zW&a}?HiF8gy)+hWh3AR|Plr0>(ls?Mj5gx`adc8r|0Q#cWXSDt51l^2PTrP~WogY? z=BwSzH~xz+DJEABEL;! zLTRqrs!a5eljw^vBx9VN{&X3mZJ9E0 z=&#=F|Eq%&Fy{vfrvK;TF0NnfP=0lI*+HAd;VFF3Go~Uff1I2W(5SC<+Cdc;$@23~ z9-O=fR7uNIe9%HGI_c0H{XZTzTb;kH*lh{b3rY0_08ww?vHpAb&mr#@?+g#nCHN$Z zH!$$I_1GEO3_Vx`wYy0wk_+}x;@M-d7yg$6fqx1DKl{F!75`mSQhcjjo>e!tZ=$fC zJeKQ*^1%gFcbh{Sm7qUK>BHA);gJfxHIFk}ZFKerb}8h6wJ(qZ-#nVTuab>=?)LSV z)5GH@l8k@xKVR`b{T*&87S@#Ib^R6p>SyW;|JyJi1^-(6!j^x7e;$?khOP3uiUhz= zF1*=ER9h`wI}kxTB+R~$+J2;~#H}9J8}WY{%OKN(p-<>Z^4>B(344dH|)xvAL zs)~@WFuBLtCK%V4ivA@0amB8TF{ay#0cjSm{67~|(dw3c6A#4$$<=j#HHI}ga3Anb z_fH$H6=_Q^`&;^dE+$pU|05}l>QqC3h_#x1b@=wM5YpC4@6vf$MKRy@LWgi0cPRcZ zEF6I!Agk``d!ShCEUrhi95%U{HoJ0J!+bF3#)%cm-#oU}OLBrnJ)T@mTB=wk**oKZ za}VhNN}uWA9^ijFqhaiX7yl665B?XYt(}H^yuI5s2VXorIkj%ZPXSx~d+Ov*DUQ@M zfyKkvZ+RCT{19cfFBWq!YbB0#MluZpnKGRQ_EuZPdQcE9`4|3wlj7N@T3i!|-B@Iw zvR>O7z6Mf(U)k0DL(Yedk?@AJM()^c;ef@f=o3L3KOGlr&J=eNweD4-(*9*& zY^OCWw?P&S5aXS{svI(k3TERYS)t=4 ziy0jM2(NmP#0KcgbjPYeYJ$$tA0Z;7O$5j}Ak5sT?&e{Yfma*MdmV5A{V&Xgf424V zMK@E2CiKw}i);2z@LvRJhTYc7!o?U^Oik)lR z0mCM0E>=PFE0Gr~MiUvTd%zg+`;kKH=8@H@RsvjjH`55|+c3CoNIZ7tDeO! z#vHf~XlUuy=tt5z^n4PEbVA@xjH;yDfWKtEtBfxX>qa+VBDJnn!S)K40=!WmQ-#BF z#~3fKHYz9@+r#1=Hp|Y45}h{$>Gl{E*HqYk)$dLk2FNE=X}ff|Kd6*}SL1DLWw*k| zQ`lb7MIKAs1m`rze7zF=3LHj6vKV@W;O4m7$l{d1Ze8;E#J`vi%<=j7^<@>tAN`b! z43Hz%R(re5IefHEE}NKl9UT5$NQuC$h5uuZSk!o}I{5cESQ&O9JLvtM;=?@kst*o- zWwm$li!hBy6L&O*)!R8@l-OcF7a^pf1BBF(&L0IE8=4aLBxiNtFE15F72W zSYMFu=bp!fOdF=~&-Honaq^ICW53%SjCiC~$>jTn8J(-w&Wov%0`R`%5IP0^M+%(K z^V$Oh#_CKd>TPln&l>_$Hs&aK-FCis^q5PyXpSJFPMpg$iUt7Q2alCe;tr{V%HryN z#TpiUl6Km{P%{4A4<8z(X%qOzwG<#j63wFmyHn-{+SY!JElP@CoPASrBwpfw0{=(Y zIJsl-k6kneW==F~_!w%COBw%o%y{&O@oanT!c#}4Q64h!zl9{~?i@fO?zW65JVL0$ z-X>K0e&L_8gFlmPb>Kg7SnydV;%KQ&Rfwe75%p+IFYpf>>&oocysv^6d!!b`_Eld0@v?QVRyly3=SEq;@x!HNc!3ZHpw_hXB%VFrvo$UnpRQyHbl+L{BPjazh^ z>-4ayUDD^7eF%KSXg<{2vV_i0tHhajB6S7KH^4GDqTx3V6`NXDB7pdvHuZ$3Xv@g> zhiv~p|K)$W%#0Uic3MWcSDR|z+Ez@&&y`OH$??C~xm0?jtVm6Z4g@)sF`2Sm;MgmhE+XqxgYj%L9u&^-AtLg68tSp)HSIir`8grKrx_{T3oQi>WBZ7A(XJ zRTK~=xh>KoP0khVa=ta%mWHI=tDZEr&t*IZgi>*~d$ywb@YdfkeMbKv(%Ubue2R>T zfTG*53Z1j0_yQoz;5Z6KOobtPV-Uq=eQ;WPF>Eup?-EHJj%ckDZ>IAjfz)Y-`))n5 zi1=5zmN4r^zsGs)`lFeRja2NQK)EGq|EN*v@u`e(nrEb!z(qNJ!!{eU`gp-43@z+( zJ40Gh;j9SIu8`rH0WLbcpmD~^&%56V%aD(|#wbqnkAjr`8~)e(wr+d{%@Ta3Y*r-O z2dNf26)B(9bL{4djInlg%Yn-0UL-%E$8Acl4HltgPytDLdx<^AQf5P?p9rb#^~(!F zmApD`ODokd{cCLa90O{#-SE6`9;sE{8cjA(o5h80+5b{{w687KqA&l=H;wIfp0)(8 z4NWnO~v!YDT&~FEZ-$ zwx!bkhTF4lyZLsAyyv3j1(HvT_MKlmk*6%_@* z_nhI5g^$2#{O6(00-G?|E5rYizl9C|kH?l<#whv33TJJx-!aT3fnm+*6TEJ-R`H~+ zY3p^ncKc-o+1;0JWXkgdI_R&!jg;-xHi+?vvN?!~?KCS4$hKrJiZ@)O3ICsm(#r>* zaVr=q+unN>G_dh%>ruc|#c;Bq%Ej@W$BtoS?-?E#|7CpJ!rH!_HvP3@0fvZ;6)q^zL+ok3($91P>Fw;S^06WuaJedSvUSU{t^BwY_wscwnZJj{1;zb$!nN{ zrIzvk;(uxRH~t^#`jS%xF8ya2AHgNm2+a7A9~}>_T4UYU%zqBvx&q_aUEKd|JT4f4!o|)E`|Rmh?UW@{P3y=Rmo}YB$61; z*k9p)IkGy7HD6>P@*Lx8b-giMH8Mg%69fY#z9@*Th~@ACWkz_g#WVB zobsDbOCu}WRk#q3<>N@;?@e5puq(eB=?%&?UKFI7Uu69iKhm{Kbq%` ze|d*NEqzkN|E;x*h_Q={#EAdr7ypvd@j!FVU7Ehxp{2n5gn80R3o_%lnfH@SHEzC? zst9IU)mGHH;bjY4!WVArhcre1wTOZ?s;}@Vto8&ks1bem`x&JRgu|wd``I=_q#x;G zMRek!+l?gP;H|7qXZiWz-jM;z=qwo7wGCqkMM?)tk;^QDjTzhLIPabiXlYp%z}^;^ ze{FKSk11Yz`JxX5#^OZySASZ zM{&#NJD!_yP<7iyL5>r#79HR2K&sslcd+*s(K|BhZ4Ji|%o_*8A2hwFCe6^ilPpT~ zXQxYTnC$3r1OJMex6W`51$-_ddm9@9&(+3%A#kz0<&-8&{$U;|$+q5zIaon?%9OB@ z^~#fqB^`QZpgF)lGi9y5o$mAegklh(=g>Fa(|I4^s4)gWpp?tBDO8ZvVGI; zVjMWXg#{ojr+&Wou8CK;WFQSV1imeiiWU9OH$2XZ^5RIOcWDs`i@9oyPVJ=XM+ZcF z=C`$Vm|`%Z=jy(;jW>ShwHm$dh?#iS7p*rt~dn>!Ed!vE~s&-gpi45&yj)W_%I;pVw3=!02lZxCMpR%N92tI9E3O&~W_EePDdSUYc`k1pouR z8co9gwucq%Y5F%Li5Sh>+5Qkro%mM$trXzV=I6bXCQvBkvl+8pt3=9$X)NG%Be@%S7G5;CHX{Kmg$QBF|TPK1BT9#RDU zhxvKi1QY-BSNvCL5oPTw{0MA||1u2e3GTaoALce|6!V4uodNJn ze}c2#uy`~TyLc~KM`YGfa4ztMUPxj8A3E&$iT~yQRTl?E*>`jYF2@srfsIzEU}~)+ zhXVhTxa`s(DY-iUt{$Kpl|6>axE0CTq^vD?V^EY-kaYqlapq*KBnbfcywL8H7E0+qp3_qMt z!_;Ja+~d6P=gxlJ%%VryUeB>yk6p}#9WJ+=vx;(x^w&i?`2k-d!v=V_-|9KjS?+P)TMBek`5HMyGCHD~gtv+;u)l-kDz(0a#uu;3LtMjl^XG{1y-^3^e|3op5b!f( zS16wVB)RVWuUjQ8*^xj@51rRcIF9}Dv1^72GDdY|hYv@UP%& z%#EP#C$xn3oLc{IjZobRU=4~Pm#>_OK!))g3w2*1(L|w181KFceUiOF=rhgn?pInm zEgG7z8-Sg23NgqEN(1Yif+(Lk;w)sJwoM7MTmUV84|Q_JpnUd*0@7&eJ0jr!^9bXI zfOK^m%gtx-5n7#eWCuhncH$pj71Nz~D;?!xT(j6da#@q3=&hQMr;fnYr}0r##J{?w z$Pt8|(fBkYzSmGAZAKnkn#9@`T$&b2Gpc))XzBABuVWtWQO8P~C zRRl2NUIxjw?SF~l&+3W+@Ce8|4+agE51mY0i%|{aRIyTA@FgW!s&~q=v$)2e!OD5K zFcf~EOte_8GGfbyREyx+U%s0q^a3MgRlu-y3AF%%XT)aA&Jw%d&U z=>I21sGzW~U2@8Q_MevrFgI{XcbNfqe~D!iKqXWp_vpEJ=&6F+^*TpMs`WN?WGwG4 zL&}_bYwz-@@QM{24jUqu>M>#S6HPz?9uyCla9(?cC%(e`Ug>E=w2p$$!0Ep7jVi=M z&@8(K4n>yYJ&g!B9wh9Ee_&b#GR91wZ{J4NJe!Qr|G&*AotFoF@Vv;cjQ@RfbdyRy zw9aHY{6Brdu{{w*x~I~7AgAYW$Je3Bp=ZV6+rM_(4f6SQA3rZ-=&P{DpiExAVB=DL zBV-f3jp}0A@}NVln?m#>@>pD*sOG}IxPtsn+r*TCA5P!=ME4ipi-)KR5v<>KcphO^ zrG6?1KJZWByym}}@&W8YTHLXF*@f<)FF1Cl%P zhH5e{ipQySU)bAX?eXIEh5vznV}ykp*8!}YUp}v?LCmGc&oogNm2Tu4@A(1$MQ$gr z_oO_n*kW;`g@3$Zd1ZC{KOZwJ$?W#)EJk34^8eCP`4L$fjP*S7|EVY0B#UHEQ|_a} z$K~Tp&RYuVh#w zQq9_`>|C?%8turlf0f@VASM@rNC6S$Rk__*;CP^!!2fJxvb|T|#kef{BF)dMxUJRU zv|?@Od2}E08XXP7#pL}<7o9>A{Qs2m^v$*W=34D&5dJ%Se3O6FH#EqyV84oVpcNL; z9`uYat}`iTv=U3~sCLAM+bTQWPuWxdzyITZG7)?u%0K!NOWQO$R@1PbxjKUal(bh> zExE`yv=q1>w_O>pfL6Fa6H#Hu-sMW6(`mO>Fa3x_#r@~7*S(D*8WZ<$o<+WFNx?)Q zUaD3C-kb}92|mgYvgMRE$Zg3G7KLf$b0?@w_*&{j9vA}$aI7GG#vH3yunZkU0oA{& z?cS}=^R#wpm4~o>*p_$nyf+v$=cAFe4s^V0i6%~5S$n{9>92~L(9S*zM`1vv)>{Oi zRGQ<*xu$~vUXS;cZLLrktB`?zBnL8a=(or)PDss-6bUR0yj4U1{9`@oUO2ut)q#dWjt`4lc2-ij z{$5Ezzb;%i=dgWgccS%{)_fj4sfn4loK4Z5HIKq+f#-fKe_^GL?MR}ZZ}+WgkMvlK z|Jt%ci0Fh`*EIVPC+`J%EGX>e-GTJ4y^=b*?4X+u^Q#!McI4zNY%64sy}8bnonPkVCiypDvEtb;xw8ysR>@I}A) zxol*|^*mdQZ##xj6EQMA&Pg9Mws{v5GuGI~pCAp$fta3}>7+8YEq?=jUdp0j!2!?IjTgxR_knW}-^t$j*j;T=rCIEn zw0WtJp6TYxqAWbgNz&*NMVE4zEC$KHu3c?W<7}PK%4r6!vXc_d>$>JN)ECq)+b9Oa zYE*Rf?d-1cmEsr$J!ePFJE`aT3c0Q}s;^|?!v7W5kyG~3Hu~Hjp9F~qfz8ePz$wn- z6aF=q{$i8~G^xq?;)xY~BY__eM1#M^+hz_YD$gdLtPR$D;eP`EHF#Vj@DDOUKVjw* zg;w~8l?n0x%I{Ci$a2US?vi=DI2^yM`{_ed!4`xkcgs@!U~WBatd-+HQyHI4u1Qk-2@yKObv zyeNQ-)p*p7_M4;V^C%czGEzuy?QG&_++@;zk@EOM`4a!p=hBT3U6n{C=h0;`F6q?k zI*+((;gP%D*RM_o&MyC7tpeDVAmsmRozskc85(FmNmX|aXHMWG`iF*NP5CeQKeoqt znnMJ(GuLYp_?_6e;<@=!8~rtL(mHoZkKqxwFp-Ybc=12b+NX)<^8bCYj>dlB|JOEI zlPK9Po)+7t8;k7YIo3CqR>A)}|A*)+@9G(FK*mQ`2z&D-u z)XXKr5|L5(8&T@!F)eSd-BB4Y2B@WU<~)J{C&6)eBses%SaRNYC}&jllevw&8=Goc zh2AC}{ElFDAK|OWkbw`{8Kb5y?H~aU+Cgxex52nS``M@fc>dC!@NHx7XNgu1H_2kQ zg#n6f`0 zU||W?HLDRuqyya{2P1c6q9Y-vXOLqm?H%Z#AdM3uzNbL+edV4EFXO8Ql_XtX83Pj3D3|>j+2me#8wpys%Dtbk;L+B6N z`P{wxv2$)teuq)pQ7nWniHzflqvE4uJ$9$(o!}R+LU{ZFc<;&vcX^LHF;4d}XLQmY z{+MsqDHjV(i&Jg?#T_q`icT&)k7zs`(;+oR4)yjF@OrvI3mfq!{}dfyOPO<-*4oRslDWlku`m*d@5#!@D}QOq*_cQgOCJ+g=}HFcC+MLR{q^UW06%|S0C{4ZxW z6hWPI*f$gT=c&Md!T+N zf9c!nQeg0k*$jP4*iO69#BoZVfq(9b!RQ13P&fn+IgcNcciss@1_5iwqSWul*!lDl z#Mrc30FFZK3R)(QymENc4gtSoYam<>R{Xv3%U&=1*Zs&o{Qt3T<{_$#0yIsTea8A{MhC0426lEQz3@6X@VSK{Fs+0H0Q_iXA#}I%@ChbbVm5gH}ctqPZ`rO13zhwL(XM!QwW=-Ptrl)Fx7>=Ald!gpDc* zsYn&AD6alOK}4vQ+Wu#Cw7Y=-H4i<=P5#_flyaLT?1VssT|1G9`B^YwGIcFopbg6! zh&uPR4oa7y7>40Nwc`xmKb~M%1hM*=!$Ujd(1HK`wL2oZ6yq&#ye_?OKg_yQV&)_aqYG+ zT*=kE3N~HXtIx>UJH4=>0UQxQ?cDR|(A_2T9a8tM@;o$z)L+wS;qaUV&c2EdwXA-5CYx)CG6=@o(|N6!4D%11$^u z;Gh0A!wEp7GFQ0Z66x&nU!w^6OXie^`Cu?PbM~?6mph>e&fS>?EFDfgMW3Oqs~wJ2 z{dCJ+F$CJa_gcDcaYP9_3AHDK3CN}a`F`id3-G2}N zb>TnlC|q-NY*U$uAb>`xaF}DBbn&|M7yos)gQ(@kzlMLeiC^Bc19!w}-3!)MmEAFWNX{0U=j)-{R-UJCHGiOURSr+%uUOoZrj$^`_+31fRphbCJX zU%PT%pmcRJYg|Hp{s#1>Au zW6pE3|L3uI=l%yp0r|hczd5_ih82p8tR%bzEcpD+#i2bHlzzT0eNYzUEb6&bC3k?p z;aomwMP=Y46j*MQh0H3ND<*l+?Uw2yR%{Tln{y+VH{_Opaf*11i zkG>1Be3H)04UBC-{?p^HTYnJFX_dRqD?cygZI&bR|Eh_GTPAlAR>tqOZ_C)}+_uQ!z)01tu>T&VrL0$DR9oE4ZrXaq)|^|n^e~QqoA~Fz<`j%o!o%TR`}iC%K&;d{0j>BC zHXvTX6UHVfCL!!+`bc&`fNwZ0HF~`1iLapcqX_<0AWC$ zzhXOmjVxq?4FpWhl;d(-t5(`3eO9Nn6|8g+e5oj*()HlZ9?Y+sJEv;*!qO2R2tG$* zk1VN4Lz0h^DB>TQ2mWPGrdk1J!e>bR$Wu1}<6|^T#6U?b5{0b-`Rnbq`;1P=ZFL~v zPNb`n=DIRI>A8)qzXGU^N`~`kGc2UFDC2i)+94W)vXv}D)hl?MxhGL>yD>I@qXzYsq>(D93 z7DK$oTT$46_*?n=j&9Zsa!1SbTw#PZtkhii$0~1g{QQga5cSjT&PC32V?~dr_-XX! z(N-}>oGqJ}3^^QVO39275Xa6J{wW#`lC-Y*7V*E64GS)cO_tZ8BXe_$Yha1A*^$m5 zJQ1$P$nhixf*Tbjut-!F{-ITvQF>@mUexk0e6-D}TWy)ABXp7V(4w|67POcLLif`F zf7%!AA{*XBPM}m$F8t336C4WLRgOSURNwQHZB`{mQ19_n|6lOWb?W-Tzx{u3dFDDD zKJ?77FZ}!2x4H0tI%PFQ_^--gAuwRL(`2tSP9P&+k-!C{B*!u1NCtR5vPpRJPJdpEU z8MS;%Qm!6l^|-g7UJQGBV~z*@78#Yz4t)gvJMm9{3x@6V|5aB(f6BSVR0e^~0LNIb zDCYEE@h{1Ye>Y$gpW%wa|NGJ>@Lyy_6hX-ib^Sz2+Wm26W@;p zWA5mG5RmAFD1XEM#!kjRNUX_i8sEgYTQadtIsMY_pX+gM=qPxARN?;#BOTXl+fU7D z$S|ZzE*bJDZACM$&@v>V7{J_p%F^Wsz;-gD_^j}+gIy^~fTx800va?~n}T@JtM{c~ zkE}#FF#~N{%Hz0Z?FfG(Fe&Eo71jy{lL)y0vD!q3sCMBq-3*N4Q#qghfBnb*KkH*v zn!OoJb1CX0KE}M>NN|29E-AXLfYQe~J&{0 zQcLBo!aJI@qR!y6A%QztTsR+8$5A+`kc(q!vx7Ye^i-TjyrQoXLf>ON_C8w6JNNU9 z4Cux#?iQTdlS|JsefxW!N7;$oTz!zFhyiM{V1>;@8oK0Bl}hC0jP%PI2|P|^OJyXJYoLS)9x_*1qFId!p4*v= zyYgogT{sD2(7{*UbEgxrxuO#pb5BU)ODVy z(H4mqL#$}FBW0@v!LY_d)v+yJPbeQ1aTQN7s%*RSHjK5RFUfwSTEJ?Dz*T0OZt835 z!WX7P5y1}XB8&X_8sixn-$Y1tJgu$o3>HDRmfyFHZ(r8@)&3I96PAbzMPc%n7cBJu z*yyoK)rvcy-%0-;_@5{+SWkD7$-&5$){aI7ef*XeDMmv>blVy?Bpn4h#AUH4%|_Cq z_olwMDAa{wErO?aa`l*P?O0z0*y;LWr#FS7gvKnS;DB>r@j2t1TG>2twomHFoRKPA z-c-PAa*)Zy&fC))F-*(PrMf2MgB#Nhus?AWiSkKH^m^4z7G_e}yf z^loaw%tJ5~Zrdy?f2iB#br;3Lb}zR^n!a}h*kFu-F9IvCA+ApkN3toSbk~ox9GL};ES{0VJg#Wqb@QZ(azA!!hnG5m)zi>2P_;>76 zTwHDQjb@-+^!+#Zk1*AD{osGw%3{pSTyibh4Ch20SNMP8pL1O3F8;IaG8S>;N`o{g zj#L4qBDdz5jC1=r+Boi++q%2-h<)70>~x%)XI0Z!Gkgjf?UMTTPXPX; zS=3fnRP&J(56^*VgN4S<0xYxsXYKJhS1X3X_Y~B#-{L73p2BG4QD5X0_3~KW`h`Cw z>yXfMZdd$oU;QKV={dM;Dy0TI7=DPQ_jAs7kwdamRbh#JTs;q*PPs?|7Tzdc??*RM2>;=u+Xxi9l04hAc5< zdyx!Yz7dZBTY~a&1}??qm2Z;c93qnA4Irg1+}!UNr{(r7iO>z%V^*e^OwiS(NcwPX zfVX;TZE?`F7z8e&pqb8eC&xkaS;ZeZo)gF@FVuY@cULP=wH&(Szw_F z{6{lQj#zwm>G|{AsWcT=W}1|1=l6Qkiwe6Ci#24zBl@{H%`6H2wubMZ6wZft;-ur@ z-Z1do7W5raisw{SB->}dhi38jhFMl#YcPtg-}tWrz1qZrx&+D19uXk zhm)v5rHCAc2#LSj_=R6nBsLj8Jguj|?Q3ZxB?^pDa9Nn1jgFDds2T3nXH$_+_N`+9 zbey+a(K-IZE{!+hEPoYN0>lsYRT=E_GrJSQ9sgfEB|A0k(`$~#xxKEie)`IAEN18@!30QC_wn-4eohl}_o6Qw2*%FMs7V25!|2aG zeKKOu)j(~0W8VpW5B8DkVnL{h@pO99;R?N3$0Mf=-olcp$YrY8Aka*Nf1;$|Z~lbY zKwZARFIw2K-@w1Of&zArO@SiT4Xas&y{bRQUVQcYt7qhh|B3{l#0TCIae4h4|MaB^ z>^c2doEL+CNBnOidSdD$-xl^T-?KL&McePttl376m_%Gim!`gq>$P4|zww_u@jL#( zom_QLHGX5?9{UvuG=7#vVS{SaWg9m2aH({xNFo zVxaXE`u4#dox?fagxU6`Db?Ii+kRU~LV*{2^ujM%PGWh(!U6>0DZ9_ny=}^Gn68X{ z_>2+H+wr<>AMvqMe1YQOEd>(f+jN(hkKz}cur+dH6SU7{z0+xxJByfJ51n~jdz}wd zU&44=^?y8Qt;h*uvUuC0@Nb2n4#d70^ZHGitc|hNN=%af^e!~{+61mzH+8nhRAxy+ zidNf@-_5s>qqekT!VZX3yC{YA|5T|P%f8|n9ZfF8f4%5#9hTN*J#Xh?lYvS2&{6qy zxj1~eNg?ZTBw+ln6P7a-CWI{**sui9`Tq4@Qcd;P_NlregD_NZ_5#Uv0ZaWM&Xtem zkc9zvww_!5Te{^%hoao{pDkLOxtaZc4OL2e=-8BhJ!_r0=>@$n&?4boV4%L(vltV@ zZro{=um^xKJLq8)1O^3x$Oi6i?J5xk`3H*tnFVO$&iXV-3*P3T(9{}wbu%_>M|R*s z+)y1FW0hF;rDy?9x-KN4UX@Gt$YQnKoEg`x`F`oW{0jA?|Avq>U(b5;XcVDjsoXadNZ0=N*G#Y1v%k~ zgQ?xwyI_3H@fOp#vrjqJH8)x29*3{>_yYKLD&_!VrzkysP-dAWw^CxZmpM{XSF=HJ z<%DbWTz9xy_#Z3@{;cC>^GUIk|7{1hd%q1PEMNCG;KzuZ9cmZt@Vfl{OsiRVofV2T z-thdK`yzoH4s#~J2H7g-Z3EeQ<)c~g+HH+<^r($Mk#wTT$ly3Z0BgFzws|YKU*Ud) zXx(8(!AqpRNJbq0F;>9x9o+0DP0_B%(~1X{gf|em0i1s#+BA z=l`)YES5ig4tWCq3?*@iR>*tCZN=G}F7bTpT6%Bx?BgrKf6W(n&KnzpawBhjUx@Y0 z5mEYWUP0uojxtXOoA3pS@^52sqJe}PW>{Siz91MjuAcKLHxZUgOE={a|9`{(Lp+kc z6lbL+^Lde{4u<+(jq>@~1=VlSmzuuPQ(o0Usve~+`=+u;j!HbZ^z(FG8#EK6OdRH= z%_>_=*71t(_`e_sZk4{+jN9vGT(02q)kU`r!`O#dJFt>)i;4^?Q}n;^k5kpCsKCFB z>82DVf!dPs_&>{B#7(KO-Lx-0pV#g>;&KrCeyhHQG^IP9% zw9^faDcvp{+8_FWhQ>FTH1Ex!TE`Q zVhGn#V@p1G*Z*dz=`aWquEwzrt;Ej*xw@jSOZ)&6e7Q=!5pO>SJi#NvUVq`gg#Q~Y z(gGS5FM|%EbhDnH+0DgRzBc$Z5sOu1syQS7-`c_Yt!O8nK-K8CSZOp`DYgy{{Wbr$ zKlA#S3;AHjE4ICuH9cw~oyJxZY4X(lYq%@=$!WCmMFerz|ISSYxr|)?eX*(dxgQQH z+$8)Bb+T_Ukv*C2oM60xM$!kXM#YL8N zifbkoC`jRh$ro3US=kkEU~htkTtv{}X}{K;5>GM_qUa zD`Ti2uFub-u#M*-z=G_sp+SSk0<>Vg^hnVcxxDjcYO!xXv)4rc!MO0Tql;I1Qv(i- zm^IAa9@1SOO`r2B>RU6$Dl^hiZ|4<6^mUs_Y+MdINFU#eJo)d`9g4K-7QP<@zHgv| z8$|YJU)eJkKQGC5A```Y-(7Y?b5=1p==h!D@U~rH!f+UF z7Q(w@S{b$HjC3d4Z=ihznaFaZXsb$Bld2K8;SLV^y;((FORjsKQ^aNj;ANQ;yXnIJ zcHP_zp*`#qcbK=R=%Uh_tE!MJ#hvb^F4t-@4I5&J0nno_K`(tZZjFiy-L*f(Ad(0q zSSK!S;;-bZ90P{OVjP5$UU@!deH(Yvj(J}6lAQidH+@MSxbpvrqL`PSz#a?xmFw+o z+Epq36;>Gxv`km;=*e#ix$%Eaa8~Tranvh@l~kQnFlrYu5kUSR{KFD020g#L@=G)U z4rts=thlq+{knJwC!ORpEsJ9Qg63D37^v#cS@B~ZB>q8I;kBD<60D-v{@-Q{;X0gglQi(Z z(~h?S@{|qY&$9pCJe_8E1+OvMi08PX$E!@X&^pB+H{}%M$lK;DHWiTSbbaX?CdPM+ z58v^BDD%*(xn{~o?tem2y$IUztB^q7D`U8&c z&8X7*A{j)g|HHrk zuM-78J{k?sqiY^ioIm_ zegsowJ^qGdrr2DNEg2{=?}O6n;!*pMYwI zFQFA|8=`_5u}2oUyB!O=+(6Jq+Sd=acf;(8FS84KlvhN_1>`XnlD|**8>i{3VKn3k z*vxY`J5O6(qV{zW%VMD$L9nZT2o^Rbwnv`z@Gpn*GrgC429;_{4MzX2`nptKCX_pW zIH8}A%X2vY-g`@}-|@SSXJkbXJHWAdoc6=C%yil(sj~PQOOq0YQiGm-@y2yN|6(n8;-A=8f*H#XEKj~lY=7gkz*WMHWFL-uWn9;xql?>A*gv2mQ5_T| zCd~`~)p-HN0o#&XH-d8om7!=9f(JJ=2M#Sy{j7ziDw1k&{XIDAZ|R=J<6cB>G_pNw z#8d?9cn_vLE@A|yc%#h6gNG&WS4Oou#Cc~k|JYaR=IY|~d?DH|NM(Jh zR)m$hP$lS{`96KEW<$|g66F8giuQs%pJ_WFJBP0sjL07wW}3&XTxobB1igpN&}m z%~Oa$6(o=ye0x2z^>aF4FS`~i%VOZ23)2%iIF)B5{sHB`<2<{5qg-bK|Dn#D!%AP- z+?E(I=h=$FbRA-QMcV3BJVzBrYrO*2Q zXJ&6AzPmridu?v~b)8h+ufBgpG|S>&q13i%Pny_#6rFGdC9pGF!5I_Dbu!>yz+u9= zMQ#!M;ZfN6j`7!AD)4`}h?{={wy*Mrsek%O{O7pJ%l%;-!#GqIiNgC`xFO>@XT;kY z{r29HZxBfL0_kibmM(S<5BHuc-qH@n&JJY!7vkOb9Ao;rc#f;gc|ok_+juS5Ebu=S zfvH*Lw)Eq;&NRZagsSN=PMQAW6amzda1gPpK!L34eHCrKhYHFo_~t}_uNBqY?>kd*L5@h%H=9KXTAknxfQ}##*OWrrFHd> zaf=CHa0AG2k8H;O2l;=6|5J5V5PBB!jVd2J^DTUj<1}gUj{nL@K+ap1^Od2$F?H16 zjaF&Ze9q9VGFR$7jhy>}q5(Wyl(V zGZR}B-Uen?#SCg0eAQ>m-^0_WpZ{*68Ii3+SC;Er@zH!yxd?17oO5;J33g}GjA&y+C_DJ3NVRtgo8SJ# zKZJehG*fJ?0{^T!KfgX-8psPbZ1@Ok&3qk`8WOK;d5iS92Hr5E0Bw3xvhrmKO}s{| zy<>Q#<0j4h70hJAD+FD=B{9w#h>Ie{0DI0;7yczP2W#JzF7!CJ)yvnDD~DLvV^(Sy zy&!W@Cv=@&2|aJJBq<_7QQ+Y;m0W2M^QU!wX)B^1#;>^Vph1{BLQ=SogcRX=;$ z2v&RvgBss`^r0Wn&M@!So1(bAp6+8)+R^{xVX?D^C3)2{mRrM>2umSkUs>k0hNh5y3< zr-AnRRC$Iih|qpM#ZBFfk&kQz_q+-_>0>-a;lBg_6Y>1U|5#3vZS+w)JeTv$F`M%t z{)e;>1#KB4Do*Df>ucQjRhB%`J-~nLLxjR9Y&N$Su3Wc1@=Dn-z#OVBedvTBmq^`& z{~Wik<0|5RsYzvDc{4e<zvLn?6|tFuH?&=6yG;PI@n zuV4$)ivPnf)?ur#+3J^q1y511yK%-0niy{Xx(7Yp#C+1qiZy{!BouV_v5oCJ6>+Q$ zNojw+ZaR3NQnYQZa^;Gjs<0&vrLZGIfwT0uSg|SdFcPqd2o=iv=w)7+KFp=`(8hQC zC;l}T!0-$IUu}9mh9|$eIEA*1B!c)q@rTVhIpJOy+*bXa|7&7(&lEn7ptDNi6FG5S zh1u(}t?(~Q+tiySuR@vNR;M{C8CbvMNMKhT43i)hM*2=jmBVpF$M zLZOsY_y;U2>bnlL7v8Wtu;cwMNqNgDw-nJfqZ0CS@0ZQgTDxstkmomhUkzKvH4^_32(BwxUF?+xfydGk{xf6W!91GkW&u{p z9qL*v#Z16b`e{t8e zeypm=q855(s^lCe^Wl&5@{)!$X$E)%wj)Qc|rL%%VBim6uS+!608fH%U( z@C7QP`4u63#lnkCFVPVzix^?k=^GOFIGop|OVQkEc5pRTkzHH!efsOsjZAnLQ;4B2 zs8cnUQiC|oeqIwso6B{q@A5q~$N!s;uR?8q-xFV%-aL$GJ{|@l4$=OI*E=g8edpFXdD%NrLa(IU`n*z3hr|e*Oio;^ z6aTXLjsJ?36IJy?5rwxPcIfPL+_TbqV3)f1lf@w%rVX;lMiiol(GR$|@K5)*zo=L{ z<1uZu-U-Lzu#_Vvn-Uv0D%_~qaaQs6$+NvpW>3U_;y-=tH~g>uSzwlPx;!?xsDhY> z{CNg`1OFvG0FTsZb>hDQmk@|)jABP$3J-^ih8``>m_uKC6`HT%d5rnP)1yeCE1Q>85PiNy^~(iigr^X6M&Q}R?hFI@gWYr&Yg$G%EWOeybZlhNZ2GM3 z;V2!f`<2kN6ppVm9G+jECmHejVN9fc_xWdTau#FnpYrw*s{*Ojo!s&nS(}b?9X<9{ z+A9f~rn!+ER{~J4-#P+m-Q(ET`Zfupn`qYDpq9;sUv8+uj31k|Vdc({Qs@zvOAEU6BShF@YjUz;ros_He(5 z85f<>9}ljQt`RH;M1tI)^rudI`;IeJOf;9zkl5i-l>?StjYFOiiM`xo1{h~i0Gu~G zXN7t%B-sCkYJZz@?suQ0<1+*{!<~J*P2uk1HBQOj_NquYortqIMCdvDEKJn9Et=og z<r*te$osuPX>u+)@u7xK}JZOeN!DB5<u6+ zsc0Y0@xnjdsx7tls5~ERqiKT9AU1L!tQxGEFZwzYcQt6oZ#j~^{Q`bJ@qhVnA%ZYOobmXkH29lh?|E{(muHK5&w{S3-c^^}3r&LA z0Q0o`i0)TWfGz&vFR#LeY$5}MCTIgTAmEAT7v=wf|1OevUHGS0P-U~^Drkv_=-EfEN6 zzQK$ex!3GltgIRP#GZ*4tc_pFL2CJqHCc?)bkm%`*?VblefpsqO{+6hf#p5sFyku3 z?SYRt)L>iC$VA8Sf0c-)UpaQ2R2*-U9PX~*_&=3nRm7)R=&?D)l}zLVV0KawV+t;^ z^UQUj-P(w`MGX+USs3GgL!V>clMWVh>le!!Q_6uL7YL5Li+l!SL?euk^lFtB8dKYE zaZn9EJEM427QI6p1m3kRMO-hEWpv`9=gt3_<9C@s$WLt|LCq+WA>Uc~LB!|iw<`l( zvjMKSx=T$VyM_GD|SWt;eZB#OJOvkAaAO1-${0G~YMu1u18!qHMA#(&Y4b1x7#f6>!J}k zA%95$bc%8^uJO)g9&Cqt?EHoWzv9yp^@J~u+reyBRh&TmX%|egKM2nzr4FeVartTX zF!;9$QP9~q0x&VrQ9BYA@01ZDY_LYm4_A z|FlTWm4LmdBFZgOSY1^?o5ZZ14%j*RDo$A%{CD1Q|GJ>Np8D>>=sZ>{tx<)2XLs<_!8pRmoynF*1X z`2R!vn~UJxOqI&bjrxKAKX_w-eCYa@qsD5TXuR_W8x&VDe#3@OtdeIy+`tAjut8BIbpEI#MT>&6SRrYR)IS0_&saKXuvYx{|}B_KaS?nyBa!S|jco z^=_g;qdAveWJj)p@x`W${ovxWv|24u=NPLd=KtZ_(hEHdag{OQiymuE`X9bonoq?4 zrfwM$YV-fC|0fI_H@hbgPJ%T4Z>7^OTIJg3lt^D@bw;1XPpHRRTHH(7p zdNu;Y`oaSzQ>JwV@u#Kf#`F7)J#G9ve?td_MiGu9?MjeU3bTE!M1#Jd6{RmDB7|R1 zdlI%pP&< z9xzhS`K-C2WT#+qRPmi%*B&q0T^YWAbO&qil=%))7ZrG%exw6sUAWUn#2EN#hnOjn(v`5Umkkukg20{6za^Bq8uq2EX?a# zrAsj)iV*legK^n-SyhJ4e>vOrF7g;_=X$Qq-tR*x@XOlZ^Oo_IBsNH z#(W~O^;kr0b9@56w4K~iT(pvIwRFxU)yv&ezSNmhftce1FI4fQJcl+^{G3t^wEq{q zc{|?-uCym!@H#ukj^wo{$86)Rc}I3_sHO1Lxq&=pyzb zv&U!bETvC42(!_ak6@nrNEsu|1pb-yCjOcH(>c0) z`Gvk_A9IvR!?&k0o;PQE$@`6eeiu+I7sDmRug=uSkfZAR^41Ad0l|X^@^v%Jp`H}b z>G!z&jGAPSTO6cNz^GSOY384 zv4wxSgZ;_)mx|l9n{*A6LxiW0J6Doh9J_kh>qUT!@6-e}*Eh5v{4-EoQEHuF(Kqxo z$C8HWmm{L7Q=Sv?Kjw_a)#Pt$PBaBl#pPz+lG4rD>Jt)+f^SW{<}CI`mN%BZTa6L{CCs>c+l&gW==&^a*}`M0Cel0TrK))8ykv`oSlo5}hS|M{FLr;F49 zWCs~=eJ*3I&=IcJJ^`OKf8)HyPNU+F#qD;AAu|r*x#|&|x1L8&W5Kp7nN+8-b}A(s zb&)fhi@uCxpl3<-#jT`(e+3W4do-IoIS%wW^ertbOJak6Hlw@WT2zvtr|xt_i8p7# zKhOc$rqYAHtw@byVF&@;MP-$EyZg!sms=igD7?W~F`a;F8#?p9k(KvNdu}Am4ug}h z(r7nJ2M|s4{D1t%jV9}X4$%s_D}$OERjIhpr2#i(mVG4S)sX9yrL0~P7RbYw>K5xT zfroOJ79vb_DE;Q>s?c)n+elLO4msn}5{axc0)Wk3$bHLfz_?MeXON(xU!fV<))j#F zB}ah?MaICR*u3pWAW1yxR+S!Fb;&-64!dbcA$tXrRtLBtkDG^7rfl2R(mq<~^N>7Y z5e&ojgkl|jioqVFtMfh8RIzmF-W-Z+4n_M`iNmoDxTr5>R$xl5Hkyitg~0-N;ZmRf z;%x~s#SbF-e8l~)kmwFg)3zIRj%hNq(dED)(cEbA4;zdKmOHqMBbc@AbT|2AW>u;EnB!&!wRl^MlsvA{e*>YrcF(@+m=(jv!;gwUv5>Ub*fANGJk z{8&lRRZ8EZAf7Mhz*XdXqmS(Ase9_~bNs^%XQg!Lf%a03qJmKLg#T%-l>B-8JDt6R zDap|s15?M!uC?CoITJA9d0kf8(^06{R`kU#CtbFOia_`p@jt@9A~)w{)T%%m`eaYO zin#suD256vD?;W)!{PhViPL>$Duun<+Uc1r8U$+7)12r2#3oq7FnHv|qeS!NM~jn+ zTfrlZDBr3|degN8jGhet2t6HKENl~R^kV!+vb6QJy!v$>wi2YT+6#i*sO-p9Ry9*4 zznQwn9R-OIFELXgFTHM9MRD&`n@YX#KNVqQI%V4UA6IRvw2GnJ=~3D)@IU@^eF@XU z+jj|S;-3uzTM~W|IyL^oIZcBpOW=PL8!Py=@=+-w?kPP&(#S(rO+w!f{FgRKAFh<@ zy8e?oUT2ty6QCM7?t@1n?FM1MANY6UU|-si_^(!AY>Y>FS`;fj-Bb!+wU0%*rn7&> z|1bR4B$j2*#ed!SABNBZ$S>;T2S4J!8h2CqK9tspEo_x7B3-j-TF8%%Dii-z6@3xl zznr#4ymaHEOF=+3O+A1=jQ=grm9NPS>7T)1(OjIwxZ-~_ikhaHzyvZO;lHhs3H&R6 z90%AMvJ@N?sV^I9<+*PD-)h?3mI06$QBeOMgrApNajEwpU!WeDxRUN zy+Om>n>u6~Mb%}LC!c9F)&PXP9yf=FXuLCdK6?qKYz&zJT0Yia^N>yMYkl+A$4(DD zX>+5a`^gONO9%A9n^o@%%NAwAT|kw)XdZ7@y}jOaHKJ0vsGYttfrg6Q!O3A#XHZHTyD#u_^iM`QxG+=d|Bwj zwZB#i;HXct=RKQu;>|SmeDfKVHW+}qsZe`8roi+YNFn+Yd66aX8EH!y|BV=!MXP9+H(G<9d#BLG{9aaQr0^ zzkROL6>DYZt0xGTfNmUp#(OuWee$5) zboq;u*(nnKgPTS@$tc8VPT(tSwKy^tSzUACzsk)>$@&BTc!e}py-+sc9}^j#vB?$i zKcUn8g<~Uy(cW0+TQ>e`-&*+@RF8>bpv=LpR8dWdW}Uje^Syeq zA2_7R7;I;JTqk!ze5oSY@*DqEH{Ix;`N07YV)38*M!n=X0(@>-L#X6_UO(~w)Bb|d zgixUx?rA8`uP@)d^8c#IB3u5vAc-J zqX%f`{&4<#*}ojyCJ5Kg!`MI{CC(nl|M|jye_vbpA8;S@8`m;8!WFvwFXDeK&lXlq zZB8-Fm5w<3*3+@R*~zLP%76TsXd9Gbg)x-)FP9}nXNmbLPbt+fku*jrJo;M$I0xVS z|NS$xw(nnmCl#7Oou?Rf`<=`2S4vf|vcFFrkD<7i`M)j#9eKjs>nZCd0tovY(TNz> zl>b*}{y(9^x^jz)6g;PjW*zPB8k;g*2zUMO3)O8${;Jp=gMBk(vHpL~v-y1KQb%S( z0(qcR2;HSui{nE3XfIrM8TB~so10H08;*4*kmA4RDZ#(9M<|I`#>$~mhOw6(DCJ0t z+z1z1F*^53(U>vQ#7?UsFnREK!j}%FH;5gtM$=|Q2wg}@VgUt`!9kLHq7C-DDBfX! zBn^8}y-apEUuuM2Mfp5K7)=H-d=?z5{~mkGjypjLb*YBVR9Bi3Nm98m?+RZSTydRy z57#y_iecY{N_EoD3aVuvoi@J}6dI66P?apHot>;+jARrLQR z?v8!vsEtXufBtxG5=AmZ`!u5elzg)Fd#hjx{Weq!1e327uG9c7CiN%jcuK{cu7CDT za$>RG#&iG|Riz%f0X}f&m9j(RG5(SFQTBs`DH|IJy4jWOml&Hb`o(g@EE zT~zoim^G%aO<^JY#GG!GR0wW6tzF>*EzTVI(Thi$M9E`~xH*&y zQBkRsW9*IpGr!$`>a3q9Pc`E!_RC@uY5AHB8|XlHny2^CQ+4wqE`s3nGJ?+^FVdW; z5E~GABS6J3~&n z&D%#u(FT& zG50=baz?oPx~8UtoGu;~gF>{|(zrg9`&JhCMdwofPdQ*`$b3-WC7iC$)9#vIAxt7Z zUnwwepfummT0$IsB3+xl>S=S+ZR2102(^sQY<}3J@bI>53c>r_v+QF0XM3YZtGNz# zBQ2T`HZu6mvDs{e9Pr(3T8ZRDzwN(A^Wy!tj=asbpOFu6U(3bFyDu5y_u;q5G9h6L zG-GVR2aU0~iDbUh>BG-3_i1fU+FUJ##)r4z3_xN`o}#+^RS$x;XFYr6CKq4Tb;2G0 zdpy2u_!IxEjSl!2|HEf~!cXTi|F5lW&&eC(-J$Fvfqs1DMV{>XpSasb)O+E-7&lUc zE`bdml70{TzvcX0y*uCRZp|g?fAjAlsa8`5MPNY|IoE}M=KtG_f-o~TlDBC#_k_Z7 z%bjgTvu8T~k72K&$G#t*&k|vwB;o9~!}s8+Gch@7X;h>00Uh=;G&aWCXG|Ef&qv%j z5&%Gw)|g|#Ob9GUY~Df%NrO0(N2(xYg&;N6*?FU}^wx!$Nic=ybJ^Hs2mc)j@x7(G zHVeOCF?hwFpT%!-OgUH_ay#J!EGhnhQzCMz*t&Wa>T!9g`{xH6mGTHU&)VT^R*h#_ zIrjQKOH3=}iW;AP9^Z`&$JwMXUZ;2w8oFtQWhp6!R`>t-EC%OZOdjmOEYwMex>MKU zI7M4Z7eR3^mEX_!j&1ss?&{3B$zuY8$flTcke>}^lC$BG*EsqqzKIbQ{s@9cPQu5A zGGM@Hj!I@93b_t8X)db0Blx#G>KuwDeUJQ%w7i^KDpCVuM3Ml1f6MPt?QrEl_yo1g z=mUdI#E@EsMwKcmTj@yZGTL_hEwP$eF6*9l`gMo`NnQkm>Yx?|d`(hn zi-Hh3JPG_6S20TX-~ZwF*qAx>!N1LA6W&)SytCUvZOolN z0D;g0k6FRzr4D;+7ljI`ZHY5j4}P+%(O~OGc^CY~&7;q84+sRriVkH%D*$ukXIPwsqp#rJ+x%Wc}Ki)F_9bPp;n&@Q+nd zbu}OgH6HSN;=dICIhR4I%BK0+N-lfG(nhhxH*6V?#y{Q7z9B65^s@gASv8nZe}HCt zx9S@y2e^27W2$vg^2yLP3O8}xs=Dw$n1qff+JKvR%g+hER+CRNE}zbfsm=Suv6}#N zK#RY$IJgTq=P<7^dEp=Ny(M?>G4;tlon97@Klrha{S*|ue@n?xvK5U7nY1}h+;1G6|%r$8*avb6aTN{ z|NEK;Tlp&!gl)EctzLAwBW%}&m5yfV*UGGk7~aCau>zeiqsKXKf?-sLLFRmc4ZV(h zw&^b$L}!e?UIY}xiFxTCcHXBnTG=Nt7j(B@Y0K6r`9KYB3>WCICkPFafywnYxnkn2 zrWAt;>Pi&LkV&52`-q$Ke`!hzSxx9=Rh;ztL{-)|R!AD8R5|xWM7`fVzv7?8{LlKI z4X9KUV{>wj>k{wF64A{RiTNQujHdzSTtsFJp+zC?KdZ|$>w$P*%c>#&;?_r+WA zu_QN>zTgCBfBDLq&^l$@G4RM&VPQcjfsMC6AY&TQfyIaJh<~ELw%?L|rxZ-GB4)vL zcS8kEcr_JGY`ySV6WAGjY>PV{QBm!{ywZ7-MS->e5>Y)SafM&{r;t(o)qs4MMXm?i zzEiq`;Yx(_r^agc>x-a)FRs74OxKPgCjjHwb75ck)b$gIv0iE4KPh~8hi}L;2#~Ds z;kELYaD_r9qWv|h3?azP$vv@>fx1zWD0BexZ?xkg31#%J>$7{-ud&uB<`u^vZk^Rb z6|0I~HLl0HJIdl?7>e%J$E`uj>JM5t^l=ATSZr9tZDJc5Vq0vXrl z_FQ@)5|z|95^@}_#bP|a$;L|PqtEm<;vv+p6&U+Bm+sqJk9qOtI(l*ETt<;^ee)zA zeC{mtry`brw#X3;!r2Bz%^kCGX*du!VFDF*a$px>9b~MtlR?zVe*yCN>ZiW&-xvM|$5F?| zGjF0!L=u5_=NkAoUdttf8+i2v$07a=kt**gHsSzXdDdqy{9m%wc1u;G+3#nzG=8A7y5c;VPhHCYw;uY+P9p!8&R|zuy?8mop0X77 zT#|f;0p2VBCryZ&*d%si1>g_v(#zu3hcf=day9f5UH7m5{a^mg zzc%UM@t!ZN(fC6VOOt5V$Qm z0EO@eQa0D;s+Lz&q~&%%9NqSk;hoOiAjQ-(!@RnCn*=yGG#YxHA%U6#49Q}nWh7Hq zx%r372v?eA-T8GSiT1}r(++>rr{p_TvFA0LcjIS(NxZyD%h1B1b=t(wYOihlrnVk0 zL(#~xV;lcG9{oDv0=NrEbztUm>8Hfrol(9}JWDsMiy+rVt)W`au{B-j zi1|E>5p7`by12uCF2yCxYEZa^ayZ+YQ zH90Koy79%E?~%q@LUefvLiHSym?b~KkYZBKbk`S$lJtprk| z5yxL>C45U!ssmtk;lH^8z!FGVdoWVMQXLxZbKze#3ePKcOUe#VGI%-2l*Pk?oxoW7 zkGPT?QM{Ilg}g~uSM0^XKk;v~F8=4fZi91nv+EA=Cpewoq-%9uHmb6+Lw7NkD%-Db zt(k8pW`ooY_JJOX-Z*vfegWL#vb2XTGu0Q~uxg~4@T4h9_Fxlw`FAvbX&YCu|iwp{}KCYZ*(lTtd-QoT@w!ml}?5Pt6)qLk)vQLt#kbn zVym*ge@8QB=T7s1%K~dO1oT#&_z#R5H!$3dfAU1=slQ}_ywLaK!Bv)Y)`r)#9FKs1 zHR0kY#rJcax5N#K|Jg8g{4bP)jLkyvoijLJaI+xle}G$p4>X!etEh^0-yq6Yjsh#p zgM1!`+D|75=1@Q+tTzMgQ$U7|p$Atq zYA9VX)2+Hk?yF%rHA|Z$va#XaAPgOZxWaA0k&F4`hmEm$R|P0X74xu>(#5|^ zqf-M-UrCwwcnBfg2WQsJtT|&g1SPz_h_SNUDhjyN1U}3UQ*eDi3iu+HGswd^LtZw< zfQ5C|*;g^o*#0|-kGzi)>56JnOvSm7p$a~T7&2}0sftd<{u!3V2lsrtBEVa-l@{n9 zWBK^?(X$|25wnCCq;X9Zz3b^N~(a$Ns;{tBY3x-<|! zz%35xb{_`~O77t5UhUxp76-+R!8?0EZjd!&hbcyaBL=#Q0&AxCG2&GBFZl29i}~_j z%;|}B#HEPS`p@^z{Hmn#(P2OOiL~#mxXzmLaUt;<|078dPq?bQgV7kXT_|y`%pt6v zLZe7-Nq%xbA>{NuF?TU*tMGS^&r=2GgAJ`RYPh)!0iJvwH+iPmG`;$Fq2H;0)LDTmzttG{SEFLsA1gKA_=syj zvRp_%LretxlQu7u-oLvcK^#bnH`hSswsO9I#!V#kapHoGT9X*<5|81`AADBAzw<;k z0Ch`87Z?k`i}xLuzpld&9QrTKQ;k_EOsWV4a^OL6pBzg3kBEl--aMbbpTO1^uddJ5 z_X`zr5*PgEC;lbNH*&AJeN^@!{+IIqo8U_Rm4gg$p#aGy?~v2@*i!EuXk4$jF?ftQ zl~IvCIeGaX_^(^i*$b6MTKrR1nXGXG|MP>nQkS>y-#lB9+O?=$ z*RL}EoA{qA{_9=>{Nv1#aw+~xr4g^ZT(2sWo4Ovy6yU8cmK})~QwLVMe)xap6@_5N zH~CEk?#lF%6fON9SDM9imEx%K$rK0jC4NKkzhF7^-;ndGe>4&QR}bbO&CR((r7oh$ z1CrqDSM#~Ys_ceZBRk1Uj~cSRY-1qyw$~k+kx#y=sYZed3{tsBU-a>+gSaw`UI^tneWYyC z&iufCI^mR$j6d;m_yZcbC%anbN1c90z~7 zu#?(Z>#kCYuMyp5)?Oo{MMqE1;f%-CscFxnLZ8u#rK?I+mKFPbj$&I6N>Vs^i=-#gb1s&Y6k{tInIW?*bobcGrIWAk^j{bd1H6* zpw^|LB?1JJsy$whLTZU=UAFo>hQ-J2P`Jou2oZwB5X&Wo+~4;RW>nm)_re)6+L~r} zuV_!@`W?JMfLl8=(g-%fpUP?#_l#uI&-HeRZiutm#6ybvK!@AIck@|qV$ev z+4|9xxdvO~loPgKKxVBYJ@4ajH`AOszp_=Z(-{BwR8n7S1|V32aBKYx9e5LXghD0N zw0RBRmKS5Kzo{9uY$3<=^Uj>iZlvO&Oa8GIH~NP3UvawB~lgYV(lZ}JsohIu2IYH6#PKwIjHBxx@)woNGk$SBGU zg5SgdWx~E4+b{zE6OOOFgZR%!6hs&JoGdVYH12w$20$`8D8JQyF8*1d)9lF}`zmld zAhUQDOO+lQv%)>k$ZV%#@08w44sCnK%TM@31EQ%JZCo{U(5mzQ=vvUtUvQ36d| zg|sC-q~48=Qp}CWE+4ah!(Kz<&w6j&kLvUIcQSHx{0`l!7_#T=97Z@~4b*M@jdHd9 z`%`qj+Vq|Fd$}M2_l7+_{!g}8{72paKQc$lt2dU6BLMmGD&0DDE*y`UKA3Wtl3>9Z zeT1;$!^C^jAM8 zHxzDZSdTMD{O2^^uFTiLD$F<%|AWFl`Qo_L;@vaFJ*xQ!{L`J)_v?Jb5-wBT9GyCf z!Udez&adQKz4uM_cjKSac<3kc560qduYV|AkG39?MA1&PMkVE5`3J5FALv)68pVHw zOmalTJm9J)``Em?o{XWV+fXm{LN~j(-L|Sq#Z=QL&mRvOL2t%?#-Z`cMI>kNKuzTT z-}s-3SV=MBABp45yeM8z)fKDWo_h|JHQms3NEJQr_s0Lq)wDyzimeM6sAk;rnF+bE z@{$~IvOvavI!yB>rBYQic}F&lRkXoU()-Qjxbs<^_>?XvvXzGo@Ukng*-<;scBt$<)dw-xl;hf+qdS* z|JUUqdeIRk{HGb~u}?P1*r;Uz^S*yh{olj`1jSnt=ULuxhQ`2AAx}#sP7eh4TXGVN zl}m>qu=y%%r%|f-XlRZdR%^Ol&&rFNfsCHjoI6F1vhUnMqIHs2{fM0E;655WB|&Y5F< z_%jJ6q1MsjjbPjpOibU2=877WqzTGS7R|(mf1V*8Kl^-SYw08pZepuLUKeZJ-vm5< z3DAxM{>X@m*j6C9a6v^^}d!TtV#cZ7U)~z2XQhE_SuRyrKT0x`8CE1jUQ~Sz7!-5-{<^^ z44jqmi9X@GvF3kn)5TorEGZvGCn{~{#~2p)-(eXr6+KKnMSB(SFa*zWb!{xE+?214 ziWr5AgXYA3AkE*21r!i{H>WXo<@o-+l~(M`yF4KOn*M#gqCzR z!v75~!=Xx#4)TsIZ5hopO0Ws&HY2i8BVXA>W$HTB+;(*H#IZpR6Zc%YVqcd^{du?L zbN#l?@y1qp{vP-0j@_oXTWEjX^WN(`kb+NmvylA^{6Ia#z_8vXx5qwVROMH*jtJh% zHdn6>3IhAMWQR|~9zPnBMNd?ibbL`}LTZnFo$Ncb>Z1ndEiZLAX4&u923@ZV z{I5A+fgkwKV}U$e|JL`U&BoVC{HGtN8O&%N`0sd2o8F!(7zIwtO{WrnV_zw%78{xq z|H9m$c{}D#`9Kh-QiiFy!<08|1k%oa@ln6=Boa3yldOk z_-|du$KZ-jtfCq78Qqkj21Iqq%Qw#*ZWsPr@;txf|J2&TjUB+KE83G={JZ|&7~;Kt z31gG#6!ZV!Z3tB@&zHU#{|7g$poG3)T$2}AZFE((w$9X$FwN!c%Kr(v%=|FG<{oh# z<=8V>{;yTuH(WrCJ2ns}ZTs?atK5B+P+$#Z1>KfV!&&SV>`WVtrLp#E_t^ZTkmFeK zvKWKA?K%~_V`R2b;1x3DC5S%BOJzILnKU(u=vU9bY`sUb=zaBS$4!*!j2_(f$T6%% zHK<^`Vh?d-DDPWHAc@e>m8GmmIzcT+Ppa(Ptg$V;mvH+s5T*<8bpe5J4NfHSI zR^^bo>WgaZ#g5B=3zA+ekF6dXrxL^sp952Z~L;&!h zi4)i*kOVZWdmN0nJYzSuCxPNOEEpmgOqr0F{?vC!8+!RjPrC!?WU^B9j5Ch#U%>y& zpZAr1WMk!604+&7D1g@beB}MO6fEZbqpHA-x={N228qbs#)ay+zE>f|%Ds{&aI;EG z^x(f88_K$O5XDb-U0hWc{?S5?b!+J`0B2YnS8Q5-tbcy1zg2Ozydwi+U;S@3NLTik zZNpQ^XeG=j`J+hFm$`jPB_(VZ3S!(RdC~I% z{!hB(#X+z;3ghYIn)5$xS04oc(A0ZCi0*vv#AA7(rAwQ=%TCF5je|6yTJWuJ_=qa=KA_Tl80xDY&eLxA~C zPc&%!!xbA-x$hkH^!~AYiT`L8LG0HzgkJ01;x7fx+?YDP;^hI0|0i#gm5GG@qB+(u z$e+LAD~;l@QIw4BRs4QebD_xW+ec~ZFTBg9A~4v4dS3dsZ}eGV_5lA_ZFcZaZvTw& zMsZzpO&d)pX#Cv7%E9i!fRg$fsTAL0lWAJVl_<6G^ zRG9Coi&IEoE!(kkG^x)amsC|?v-u{Q#Iv+R*f5*Ze`@@F*i`s0IWo_sL>B_OLMq7G z%$b1y&qv&pn*JE_?*H~H{O%uO^YXhwY{R{PFZ{z^!_Zo=^ZV+hJKkixef=B%b~L4H z7ye5${3jL=b3UtQ;~(GRhV=X+{tZ;KnQc6}Mk}gef`mUcFuI)X6c6sjd@cb@pdoSY z^+y~9hp+T^(*nYFWDCFJpSp)TU&pQ>!p6qA4{Cw`@*C9lYKd zEHl5vvX*^07rzMLB7=zk<>Mk5nQ}v_GS9a)i;Z#r5dW<4aC7Ln>ZCFWouC9^^(MWN zcMu-828E zFRt@Ib8iHMAsH?HBPSyNTshw2uiG(rvf*L^=b*^+ch=1RALsw9d!XLcAVUSK2ir?h zQRl+c&|GCgBmN;19zcOk)}LDgQe#{H7Z!B%_Hza^2xr}~F4YY9624n#FhHNY*~0V3 z$(C;U&jb@rI{#kiQ~&q>^Y8wXnh=eqK&z9uKhL9gVp!hAY+H%)@3WBQ zXdlPw9$q@MH_J$kAiL>DKAUwYqVEO{a{zoQ%g? zWsKz<;m9B$!4W1_k@0?er7=90h3QkgYY=K+&RodmWdMxdb*n@leP)AwyzDX_7Y33- z_gb+p7L&!ZL1y^Z=j#{G%A#H!in_D!n3ZNo-Nz+mx8mX{&IzO=ozbt)=8SJ;(mJpq zurlFezzn{Xl9J&pwlH?&R8t3XeenOZ8Wo>`p1=O;7?Wz%GsMOttoNadH=Inql=zn| z!j&Q2V81Lr->ms*^^!r0V{iO*N*j@`$nd*?uGN!SDmr{)6FyqXCcoSbxJk8rd0GYj zuPj5FuJXp*U5YOiHp*(nKQ_A62K@iEMJeUx@*A$yIifsAjcgRzGK6z$iO}HpG3v<; z>;i?o3Yk1ugoAd{&qyy!4onaoL4?Ny0V8=XQEB2IveIXdJ3v{(O4fHiAzxQ)xuXJR*t;&2 z6;=!o|D4X}rAZGSJK;FbUqQ4yUA{v3bk$zjDeotN-beC=85s-8=`r&Hb|nz{XV(yYXd-r*uj2cX=g7 zDQB%o5{*hGI0|7;;;e3Boteg?6nBXgsdkV8`hB zPUge*oEvxrJfS%;67&!MLfVH}b4B1N5Psu-G}l7PNBqcYf&YR-asM4HWIgz=f53k> zR5(xgBJbk1npn(7E1jg~H~dpK^&=kDcR;*&Ayr<+|M;`T)r*vYz;wMHc=^JA8IQl( zr|KdI6#{j~9S!<5i85}g;Crvm@%`yh7DPyQP^O%^M>0CYLx)og-oe19~L zaO=Q7?H)Ge;J;uS%J7)vqm2LWL<}aI&Xxc75Bzgn$W`JT9K(6c6K0|jeAQ&7dj8=5(OU_lmtX=jIS2kP+zez@Y^TG1+h;O>MZ}5xy#vgs3?SpE z->g96LBc`LOC0Rx^M!v>R`IVd{B!mt)!Uiv=X-Dm7Ycb78|VoQyT9i1LZi5`&Voy4 zmhDhhW5*ZFDyaL=f(3~&AwQBPCjYqp*H8by|L#9W-aAOz)dPYt;fwo^<9$gz(Kaes zjD9oO+W7mozy4OtpTCRR2P+MfSV8>b^oWA=O%go{Z8e@K`v%iTM)ylTc3?K7N}8gj z-m>GhLBknn4r*$RjkkcnhGoM>z~{?%M%fVUN4*^Ri-nwYe8&0Fa@}E5TtBI0^ zGP^+2MJ&9=4d=m3rI}F-eb}5W@##Mf;y9-xG*^&E=sH9B%ubS3=1!2gVvsGhM0P5W?B zH_l%2*Kx3NX7Cy7F9%0z^~>XqZs3~|dMbkhw6$+~ll|A{HaVJYn4N=PbAee((3Hg<|ccrT%2Fq6G*AL$Q{P{Ep>I?tPx}mV3QjYg!PZgM+ z+wDX2U--#a&~a{i@ZZrG#`u_Ea1Zfy-Een7{1rIoZU{-z&)?io+xladrnhOLL^|9$ z=6c4)e6w*!C++Adbl**!X#7PSnTQ4T<(oA>!CzPWm)1Ip{wcHbkF)P_0=oV;L_Vnn z2DzId)BPoc2d=Mq01r#s7yiGlDVaZ~@HWPHpU&YN%Qu>EkgPoRp9}v@KiQ?#fB*lVHOQ>5UNN_D zxeFU#nUSx#Irhv~^NkyzC>PoK;PdyL%N zejG-DhE{7dlF;#lo9a=${l9rt`Q3yx;}tXth>o3j+-*JY&#NVY=lGY;alj07b^v-Q zzc`7Gxf&WgL#qA;Nxos&lR0zmka_Xg;SBeX87I=il{YKTQRG?rmUFxAB*@-yh*6q} ziXCh}n7}$0t)jn5W8m7rk>Jf@OP33W=qp@~MOb_D$)xj@pOm}BDNLL;8`0wW4DT;| z(U}&1oU!rjGN(F8L-rITH=~3j<`L&K%nZRVmJa8Z#Oo9Lkc2+&RLeWsTDk=dz#LDt z+EOA&?O$MmDbII|Xg4Oyc&OT>2-hD?$LeicUa2X`j(#Nq7zLym>8^SAcg#KX{T6T< z+;Dl`aNWI{1&Cjt(>@#hE5z`s1^%ZVDI;h54oyd%6Ny&oG0edqp2P0>1`8D936~9H zDna2zKpFlM{cI~>ak^R;gH{n|SP51zVQQEddRbyR=ts>Wl+d7m$xHzGO=IpnN#4Z}I&{T!~(Hk-`#jaNoPz&&GqG zjbp|l4;`Tbo_np`kAj}wJ79PfxZ93jUg8KRWbphS<97hHR0c$R}pu% zAb|4&pJxuQ1FBfdo_fZZuOwW2l;;Ig#j)|bOfxztA_uNo!b+7^*WhqG%JG_uPg4cb zVlOPobK?J_F~}3pN8@Qw*-HL`Twaiu<{Z@c&{4`+wd|5|0RpQ=~NEF0KXH+&CeO%qJ`F=NIjoO0Lk{ z!{0@=VgGFv1kQ;K89c1uX2^=g@5~I3;(a|`&l8zI1R@c_`ChD_p6r^ z807LYomS8Z|Ha7|iIp!F*>op(EN1EaC;CTfG(`{L=xpmV?d?;$B1f@7@n2qqc(P;BX%_#NTT z=Kbe9>lsGm+@Qks!5tr)WTUypRJ}-y#jYE`*o+n2l3)wgha-P<&_Ne7)D=t_UBqaZ z(M%;h4jryk*PQ*$f?DYxqGTaK27J+6pdnEDLw*H>HBdR>VKZ+Uflr$W;y-F3@c&3W z!?XoTZvu7p?#J%Y)@+J!OzMGksd(3Vz-8nyBu~O+fB*A}q%<@+78jbTP~k|IoIggL zAlgNpU9cqNXQJnsY~h}FGD%Mnr(>Q`0c~=jVOZEJ z_JntDqONHJ*iHVkbwdF9+*Bk_Jo?D;3jZ~ij544wSasWFL@4K~5zT9|wY1(%H<^;- zVz9FU>5oU`#*JaU7^}{{P>z1es6;7wD?-gBQK|zaY&*paTX4}GLJ<@h=JmCCJt7j5 z5Bk|I{9O2-CfYT-3;*WSGNGP>jQ{a*Bb^PN<+hz)8|y%M?NW3u*$W$9b|gx%`E$$F zo36xvht{R8#*HZ^PkO19(q~Lg>~>JGK%Fix_k&$Ze|u`S5!G*~eyH zH%-quulkS{x5@5ZN}er3+u?mDpBrjmDE4BDzn_}o?Gh5HpN7xxHUTX|BQk-o{t*++XDdG6`u8%B)U{dtE>kJ$$a{HV&W-&-&c$97wS-rl z6;V@8lw?czr}L1%KmN0YE>PQMps~pvb(_3Mux#_1eyaksDQrbTyz=d}sCTV8g1E#M zWi3Kw8P@(kz@eHW^V2@NN)5n6BXr2?!8RnTSLUWqH22E-?4Kq3^mH5qyNa*H@G`e9 zhE1fOVqG^53@aa4YW3qcWKlb9p5$i67y!n?-jN+@lI=qdc*Mj(+Xx%cO8a=Nl3ER9 z{698%c_WEkv$tbj#gO^X4i{{SsVMw1R+PPN5N#S#x;A}c+~~cB4gAB{k!iND5}_Q} zLg=u*G%{^*;ea}k-zNS!AE7GnU)VIWY(Lv#BK#}Xiu3qC;h%WlIjyhaMrnnQawa6$ zHvVIlnvpp1((lMGhECMFsnNE{Dm2IBc=F;|h{niO(Lnc$1G>0JQsRHH<{KKTw#0ww zwkQfF*+RQvUL_ATEp}@a`F|X&20EOGExgHDdfRHmDdFzDJV!LlVmz}P_Cz^k_3PaOkv)r(HG{BYrbI++^{5J!L+>p>&@JjsChYI<~ z%GVPpZALYNr1YOjv4Q(=}Q{BbX`)+qOj7dR}aKDR`HNj^b}Ow zH0_D8*B@W=Yi+}*X@k+W_0Aw0S=sXDNQ_hezY>r6f8u{Q_tx9CTly>wbuNCT|IEbI zG+ga94U5|<#{Y(R^B*s~Zlcvow3+mKO{ZL)#Oe=>Hd#>)KVwDwj`Ob1VGr{5d{LS4 z&poo&BUUfGar?d*43M@Nht*f)iD6j>Ku-_X-98s>?P8<9<3|7A|Mow=Ppi$P0rQ7p zxw9YA@i&~`DDsggCyL7j5J_WLGb#Kq(Lhd42+%kva{)cWkTpEY0RcR$7XQ;z}H77 z$IlaYq4Kz9M$q9WI8ghG9S-hLaHXI9xZdUr7o*W`gYXr&;4;(eXDDSUL#eLdXU)VC ztX~HHuUL^|vlM%C4g-bz`;KYtL0|ZvTdx&E^-nr1`S3Nvkt$+F*EyG7^SIHdk$upQ zZzMt26;#`uOA~lhZ$|Um7{WjIb$U9y27!c2;6EAj(;XNL-Z2-^B&*ZDCycLz=-_fy z+>^+}<9R{qx){zc2K}+%#6PlQElHl%NOJ|CCQ)vRu z)mx=8asHkOT}A&|sn@OlcAnPf@wyK$KItdj7jJW{q78YS(O2&;}w7x>ry zd&*&~bIC(x>{xyzZ_cWsdW`M(F$DA!!H@bl@g~^xJ)<_#*aHb3SDCo!;y;%&>r$V|{*qxd?s5>-}tY zLuRVFwL*Y4n@9@8EmL14yVsk^ayqyHiHIetuf`0ryj|SWs>{YEE-8$^9V5QE45dK2 zUOux$vp%;|oHIl%qcv0Kzw`19R+iB^5YT1gSL{H6t_ z@VMtWuV?5lGbuaCDCe4T^VOF7sOo$@)<9>H8(}Uh+ywa*$X5F2TwqGQU7-L;%oF<@ z40TcRm9?hv#n&}4D=q05UjVWrr;V#w&daX?|4r)y|B8wgDDm0HPq37i*W&FB27;>i zUW;(0VEb(u|0~hi!RuZvLHre(+^|UTan2X3l=v6}<_y_&mkEy<{CrjS=kQ(m+773b zwBm6CD!0ifgidXI^J{h9Yjf?riO9#UN=eN4a*BXvYHGK1)5`pSq&aW4lpb$gUD1;k z|4{(fj5xbD-JMO6?>qkF>OBu(w(y3&{^lv>Nt1zMO?`5x7nhgMHrd}!8*_hr*Vk&J zNP{=D%?gJ5#YKAnhfNMFaLQ9%j{^fBrbjv);%wVy0kVi2ug0;+J|}cH(8=d_-3>oZ z+WgIp0gOrK0+^d5O3p@8NClI8ye49({Ra5g;+9IX-IE$V-;Ze5dM<`2|D4|+tg6ZK zo)c-lP09@xLCyLN{FB1zmYuc zTkCS~cwTEFRHjt+i^njFt$5;pH$z?A@hYW!w0Nx!&5I-h|5{1YV#m69L-;=-UR+G> z0tG#8s=DGV>HR!%9Clj%T&yU@@cSb-{7E+WXZ+WNe@BAz^VDV6_XqxqYjJ>tTLVmc zC>^M%70F2h#9-ndnA06mahmZTFbmzrhf63syL{S(k1LJw-_Sku@P+>lJdWZ&ktf~L z9VavO${y*66QJ|GF|aFhK75KophDFX*T59ud+Wne0VjU&PkHdYS1j>ZbvPj!!;(Yw zq^x6|R?k%%=-+sZQT9cqF!-s!|Amze7G_jM8^(v*H}}`K5|f+%zh$xo1tM)!Y-OAx z{uu&L){s;#B+mr?PYl_R9z42wHXe!pb+qS>|3wbz;=L2lL_5dfP@|Y2M)(|j-8|;d zeCycta~$T?b}CH{ME(!(4TW1>s9|${xFrOrn zcLfgEuiDr`o`)g-UYzQG0$seQ2(o54E+DC5?+A4vCR{FbK1cY4hv!V zY~kt5y1ql8RkBVGV?x0FU7Lo;E*4xK-L^6&kOX&RtaRvaL>2~xdo-Q0MVN)6){l{x zmJmvzKfN8ZO~?)Gz4OPBq2?kVC_V|a4IP8!BKa7J%?c*L9~*g}EA9JG`JZ+hpw#Nb zr5$YFwewUy+PFbkc$PS!9v*B+{4(W%TQVo1 zUO;H)5Oq_fCy*U%vA#@9x-(qn!Gg{v97AMs%)4@s_(J3@1~^+f0By?VCtkd;T5s!? z`zYaV3+b@`dbU&C#Ygxi*$7Q)*hgRN!yuJX04GV!N6%OC61iVftKGb6?hRE;rJ@Zx zksMUYL?-y)pVw-H-5KYguvl;ibhlG%ch#E9I|l^xmSSQvpurDI1*C1I-=a%m{L^!A zQ3M>%qsqq{mj;?Mf-}sYgMaZ;>hS#ceXo>7zB#rB{Oy(@@voUd&cqu?9F8O1Y?DiY zc5H<%IpBKNADsC%ViQR6+{J4<-ry}Sylp>PX`_8NjCVY?PM>+(;jZF^1YxXa)iYun z&p$5ktU2VRxMeB)bRP+8W;c+d_=d6q=PCD=p zXjT3@$e8v#ysb*@XHTAdynWyBfYl`*Q85pwSnWLa5&1LFui73p)vVK{PEia#Z}|){ zYXI*#c$=52dK)d(&{LE^umEBULhMa#7#=ag^pmbl*WKYY4>G`@^&APF%~ zT~Rg?2f0?_e<(W|OMR^zOQZEQ|5AMbc`nRJS$*X;uuavE2DotzyO;3KIAzb1%(3~3 zd`fx(lT6sabTRx+XTO2}`o{l|>yPX%k=g_FQ!KVwsK%qsJLaqX>zZ%hT;~P;yLn?r zH>n-}=@0Hl!QNLM`6K>!Wr3hhe1tn{BMQk^j%Q0g(8A`OYi7Xo`yk(!+{Anq)=-aovO2u1Rt@Zoxbimx%hEF(Am2^xzg7P zo_Qy_y^?Llh*v!cqv8(FTberCcAQbcnacpib%`$0qzDKGEkpzYalToQ9xYqT)anSjUiLR0qYOi_1aUcX$Rw$Q0p; zSHldo4=BJLwft}pSPoUZ*;ytVou%V`)>q|;Sx1=$EY%N5$!_wI=nbKcp1wG-ZUh4V zdxcqskk&zxqd+uj+*%glzZA-oyEb8cV-9qg;C6(3@K4;ml4d2V@Q+OZ->~F*Z*<(d z(fENEbzui$4#*SNI$o{E=C18_;lGIgS54S(X^kAwtju)gt_)GQ7b2S)WRQ%4>GLvYA;vQhHqTq9BuhFc)Mq zqtPq_E;!?%A4a%X91j=lHdeVffb$sZ)j#NVVO0ks*3Bm_BDi(uT=*~UM552$*EaiH z<8_d~uZ}<|gghutbaPmiKK%9h`*W=ae!u!|#W2c~XdaCqp!S4)cb|^iR%2xx--Myy zv)I>*Fax=cnn-E=@Pm&Y?d9EW43yF*cp%uVE0ic-p@&3qFSEiIJ2QvsslFNtp$GOt zU*uC>J!SUo!2f~UY;&w`i=rvTvF&dy1&qGKUEN9@a|$>9=L`Qgr|;D5;^J$kBx3C!=re<*JzK}2%E7^GF|qA$GN zy;6w#)-U+C_V%lnjf|%65#k`>RFUAuf46mSKB@{E_-429zqdW#@*Y;k6p4rF3g*12+=GVYBmtCj z?B!2|!4_znDf1=Q!?C$jW3D~>~aeu4iNnesbYb+U|#_>YxA%( z3@HFjFvYyhh2OaTn|@(^pdp;t-FxBozB(NYQrkx0(4~aTD$TEP7 z&zPx*citoE&i}Q>jOo=Y{5wcZ`7uc)z-;?;Y5yzFU>KBD|BD`u?c6&i=l`t#>mIem zb5-_av8VGx=qaLja_5fnJP2dm7ye(d&fnvG_H3&AXZ4>g=Ov6`*AiaKyED5KZ#K`W z*n@~auE|@X!mZhW;>xAm>^GhfKG(>-nLz4xX9-h&G**33bn~PywXVDJkk9Ux+}Jw{ zYQ1JXkcHP!Z3k+Y&G znsu0$$hB!(OSo~Cj?~Uz=ubJFyi|l!cAl(5kyD&wMiu+)bq4lt8k=?@AC(5l;K2?Jear*w_yMa6pg0Lu68p#Dk4=n~7h*z6d%c{h!YtcSbp1cFk@`(H=XLo=bTI^czWUrD z+-Kz3gRTrUmDj>vQ=%tpX3`c5lngOU?Tky~KWAV6fd6KIhQIfSVA@y6OK$=3!YxdP zf%#u34DI?)#Ca-moz#U_55ScUhkrg+f+)LuK6>iQxRt?%37L~iO-T9(^N)4HyXK>7 z0zl60UnyF&h(N@+vlOSs7Ar~LEr-8JKI8_NeH6`2{9_&;H9h6$P8~}xJvq*mnRFT6 z_%9?HTrAm_he{b~*b%lxbub->9tnVt3A^|m8>J|{pOB$#=a)UmwhV9iRa|O{WV4Wh zHbZAcw7=#zmHWojl_NlXH(0;HOPRacPrwT~g*}jp)cTcs=%R`nP4#7HG#-XA3VP)} zOcGu?3E!opWk*$A!1(`?F67=UkWQ|f+raG-di{z0Lr(@Qb< z#&B{9hPgP%SN@5AfB)?ds0lG2HM_b(XT<*&78D$Q##Na|`fUOd2J6d=uX~W>y~jk? zxGwyU;=d9-?46ZyOa9i@iG7Vxy4w1@@lUN^7HnO#C5&++-U!|fUbyfto9MUt#{WwD zO6Tv$3gXy zUiF>Q%VWkRU(*n%ths=j22TCa<5DC@6ag$rmziT#ED{+b)HQ*^S@Vx%AVmu^fR zOrxb_!fN*#1tNJ@nTfCPUs^uJghA4`=5y!&*5SHaEkK63dZgsyf%SO<0F9bWvIhBd z1wccC6&h56!xi^{t>{b70)DN^cL0GQ5w427J;COX{}pt3qVYd;ke~V~Dg)Y_oJq#l zD*{;Et>f0-;k!|D6usiq|9Glv!XT>WDls~#jr7Io4q(viB;wZ79{4>cO>*C)pvtMg zd1jkEe|7(;|FI$s`NvGM^hbhEy6*b}u8VSvfp3V-n(Rq6 zc3fjUhMs1%$2hd*@V-E`HQF8Y5}!T-Pk-nAiYan|ADEPL*L9F94~^^bNfXc_Cba15 zq`?PeJuk%XA0JiwOlz`Kc9fG`{$UdRD7d-$tbiHWDUka0o7_UEx+{ zEqQBS4tE7e0knjts^lUCM9Q2oRjkt}6=Kp(?DtE)SF(BzGaI(jE&%-9V@;M>ap}+uia<_f~ibH~w~mYAop;kLMWRUc}I@_P5{(_|2K8nj(k= zxG-0b0RO_lh5sF(9tJw=<(?aSE$vBX`GNoX^sUh?{nCR=V@7}*|LY!s|2Th1wb&Fy z)Uh8@=tuv!Bd7VoKT$T~CF7s7 z7ydcdJHQ40S8w#exdXi$Xn}ul_80!w{eWX|C&Wy>U->Q}3F^9I4L@|VL-+^xb>4Kx z99k%EI`iBysV?1!lgn%~@v3ap-xkjv>al z@E=2dHFqM8R?$wZV4-`9(bQ=vqVPPX-yMhMB>GErKjME?5nSr*}1bj(WKjO7H)l4jIS zYDKycPO82*61TRNH?W4mK4g0EWcgjxB8h*9?>7j>nZkc}a>~rb@!a~x5Qi_FW>bCt z^y%93EkxCQX>kX9q$gcr8w&Zb@D{g>Fp3zhBK+c8UB1!iiVvzpwxuQjWGz{{oJ>+d zvb_ucjY*Hdj_>8od0aYBbSDtk41!1#0LzKi4gLXB?PERwcGS8Z0%_HQz)g)VlN~+Z z2@L;>nh%evfx*MH9BF-^)Pkgr;e@TrXP_gbl6d(x!-f*y=+ht0Nj3{Bs zYEQ6C8F>#@Nu7c32+P5yO7k|9Fe4|kYE*DeBW>2@0wPo-_WjdqISf{DRdos^&Etb~ zA&(UeBqR`3ch`E%A|>0nkcXbWWLPS<%lm%SsHO>NGnl_>hn*jDoDRli<~~<40|Ssq4KkfC|MNd6j5QR()M~ zto%w3T086a3hvoC;%%JM#-w!$UTnTT&lHru_%4>Y@uymfh~st8ENo8P!5Q?jvf$M4 zFMP?wp(eu8IlVi10|{X^9*!<^nF@6;F-Nx(9{Gp3P7Wv^*OT8o_As>1z*6sG3mJZLH!j@Y&mkO`) zYMgeaTZ9g4WUXScQthLY;&`sYf0g4?@=_f4ZXRnw-a1SPGw%2%*b zu1Wn=`rP?$zC(pqN<|UL8kSZf$lY9ZGrH42G&c5T%Ab+dpJ4+nOi{^x`d z|M?`GO7c{26d{ODzup*#G-M@ysxIBaNETiN4wWN&GRJKACA3<07aFwAt?<^0a;XJ! zp)uM@JVo#N;e^(=w<0Pw%GO>jGnB(8_28E0h20`gYLYmsGyGWwH|I)TbmKpG>AP7i z!J^qBy900&%hfc2^NVVf!REF&Umbwq9Vf-4La==={FiHpN-c{a`Ohem>C$|L%-oFE z<_wtNstYsrjBnC7&z6oxQXG4v?#~zxz2F@2goqKbP;VSXPJQM71+h8rhj<~cDd#_0 z6Bm@=9rtYLt+ub4yk(7~`H_oHuw(PWBCz8O`!V)hqA|2zt^jJ;ars!gtKoW}5FjPd5LM$_pA^6tQREo)l}eZH&R^qhs8mCI7>7;Q44? z#IvR%0wTLFj;JUPO5ewV0@`B{_&fd|0|(dWqz>t0>TXu)vI3Tiw=S(t^310yaP;~2 z(c7Qv!lCTXYX{NpN9qWibKlqZN~Qw5b>kmtD7l6Kt2+=b2Kxv6qZ=n570EC@^=B){ z$*8lur8gvjo7Kf%>5hc&j4$5XoVv3Nby~wbbR;xlrs`fm1EST~$Q+iTaXu%_V=dEE z8lEOu`LE=*17JA%<$g=R@*n_D*)L-6mkR#7d{xR`A6>0+iXi`d>?yYWsn{TS9n)7L z@ti_*b?BJuf21KfEA{&G|0+7fg-rlG>-gGAyD=6e^h*2xGtDTx*MJU{O{4*5HidG%jo*MlkmWA+norW4{85cs*6MhF@Bsshk4)LX>cXkMHh zOgH5qjkL|1vcMXQWJQ{e#8EAO|EJ>)tdarxZ;%vtP~=p^_b`PGyC@zgXu@aSFO_hI z+%q%1!DpzFwK?9tFbT;kVlvD~sqLUnLw41b@JhdhO*+r=+zen7@#~X}fYd68n|`Ce z$w33WtVQ1noCN+k*LTRNJdT(|ye8mCG3D#x5sP!|#I4J7-ORknQ?n~yUd^z3%vI;< z`B%>0YIN;BCF<#P$BgKidz=#9^5Y$|y0zkzw7Z~VT{aw!e}@}tzmnK50JiQsqze6a z-1&_6O6|L_=TSnnW52K6=CZV`+$EYimX-~eugw)iBIdOO8>KV2{5y$C#6m8bT<{X= zYZLgJ{ED0lpXe;y%KKi>?pT!6G?h%#w0F%lcdp;)x*E`BQ@(Y*5P;jU+EiD zwYC!flfg5{ ztO~?k_v3dshS3I$?hHpw-D>`pDGQQ*hx?AEO978(N zoD%<~f&=cWc|u;w$J%Fbn^=NRl^E{KB5*N!dyK|0hYivVS%vs)aSMEql(eHf^cQjq zV^X503~1mV2L+eah5s2f-|<}u1IUeFr~RFNKIQysxX=LZwUZr=)Z9N!{(-aR%O6(r zNe7^yZ5GKNIc~F&QP&74R!3|N5KTn|BK!|5sVb3HZ26CMT_a5HCxQPlkOTjBUQC_8 zWLf>g+JaWhRHoWD1U5!Zr!IGDqqkk|c$!Oa9>zzrY7mbUBj`Pf8O(l1{KH|^H3nJL zSC!MIW$;%(XFBudpZJFxob3j**>U84pN*$K^8Jy23jc-pk0t>#OBql2A2pUni}L)U zEvo%#%^0;KP1f*=m!7bX#Zi1XfHOVySpG5oQ`YA7`EG38jb&a3PgDNCioEbR(k`a_ zmPiYSGcV2rf@hUrG2;w&2gN?PP(zCZr*!QZJ4GuQ?3^#3(|qM)WXcWIRL&GB2pCn* zfOXt_D^$gsYffscSZ(lP!2fWIshd5EW|e zDw+Nq^|+W=f{mB>RTvE+e|7zE8HJ9;ZD2GiptG*XTcFu9!#R<|8w5K3&zKRLNuCZHP8vq&TwUb$>Fdzm zs-13FrHTzkv+HtWw$uE6VH*Y$@wYCkI?%8ngg-i3Ri<(!GFd;lEbHh%QmoRDtJQ@+8(D5R6D4ric@4;y&Tip1 zbs!18Lh{&KXsta_e1ZV;zUi%?VelAi7#L9FnHvwn#F!(5fWmr0!nG3K% ztHUuSgJ?NX`dSL?G-)Q>m3l?iu{ zk*k#V###KY?`v*+%N4HgUT!OX*&b~t;BJWTD=x2YWe)?jTBp$fYF@xL-zmRwS5|)9 z8gJgT>xccAgv&Ea_{Z;ZCGi?^wHg)_yT`*`!%*8~xjGVT%FDOzC`BG;J2o9OfezAc zc-jWhc-}1TkW|_PRYBv+p2vw=tCec(#c;_U>EgYL{c{w9tnSv*DMJ?S(Am~i*&BJJ z>@1H~6Q=CK1HOfiY2HSkE<(qWzkyhGRS55Qz3tc4gUZ9^gZNy{5NLHkjIbkl0kg;g zlWa}h$#QYuO%*~MY?i1AKER__WYQ`2v3fGDY@s<)U55VxTpjIaV2lbMpQQzfaW`K7 zyv#e`s((iIO`NQqi!S_)UEsf!%WXu#att&ljej(#UIU}rytF)2L#}$MmoX0MBCRGL z#vSI(B_5W7+QWwf2maR+jykkKrZwMcwfP4H2&)s{Exx{-XNp9+uQ<}*PaXi zj{lO$`v7m343F!XTEgam|Fch0DcJ6fN{;Qks>mFJmqy6WtsCB28h0))zwRHf?~XZ@ zlRn`eI)tlhIUl)-4du&e(IC0-zcUm5i#%N12lnCYn(`fw;M)q0&faa_$c;b4z2R@j zU#?7(7~A1r-jF&>Q@}st_23QO#DAq5HU0ePQuyCj4#@|QQc@uujk(OpNz@tt`|`xO z?R|El#u&3V5b1?O=shj-!D#!E;O&L(%624mZWx@32+&2Br856-&3UDIhw~u*gM-Q~ zq8&#@RYg_!ct)~n3}ux7i2M^W#U|bYSnn(QV4N4u9#Kl3c|7AyBUY0&xhUlL$gADa z30i4-{|i1qe(>Bi`cP(Y#FhW!Ep3&rDnb85B^f4IUt1E1)bs+6$qcs>%UAyYM*h!a zM{X^Sn=rxpP5Y8V!fM7Jbat>hRzA?S;+gOZ|KjD?DlKnzUKm%$m}{&4`d|O$|NK`* zg?0wB>{Cowpt>bcNdAHk9{Nl3NET>n6g)*8mvjf`ZX<}dOIrDCQ|}LCX#fxN3ezYi zc?H(WMx8b9URCI#%omuaB3XOzm8u;e?NE&iARP4fvO2A7;3ng6*^;~W<{D^Vxj@7a z4~QuD@LA3IW)B)L`*=xVnW7!ENSpBoY$bo4eROBQbgdxB=|cx)zeO7h|1Z7CfiF!9 zzd4Q1fAz+7N~1^`&)8;QeS8Pu^PgBHmKd(&W%PDeP;Ox*|1^r zp!vgT@QQo)}QPOJ|pXhbqu|2Y55) z>QYQiKwWeFVW>Og_I5vU&exLg?OGQOr~FO^u=1W9WA>_;Lh+(GCroD${vVoJj5nMZ z6L0gP{r!cVsB}Lfw2KOPZR*ioM;ry{ZO3!l<6S*+)FF&uK+t~U~ zBr5&i_}>^Ibu=eP{KKE*M}7^YMAbm7%Ws5KT56|f_iS(rmaWrtVOf`}J z6T{1XaHDSP(XsgU*@+K1PL=4rc{d^KQPLYiW-AugL=Gd;EMg;P6+CRwDm{0!iJ4^KjmEQ520g8Tea-K(gB0j}`W*eIrry0}keY;>FKQ1Qak~Gb*B#qVt*Kexi zP9#q=x29~JN>A`3UT`vgk#v%5b?Xk3njm@L`DrcX(7^EAq10W@YXAPvA1>qF=b6cU z2WosXB5a|7U*6H>wXvrH@Lm`7TDb`JB}@+NyiW5Hd{ldjw#th6{Bv%qJ$_Ux`L=`H zZ=2L|w!C_feqg21`!Zvft?hGASg*ihdzM*>wL|s?(M7gOA6>F3oCm(`-e+HflcXa@ z@Ue1l=+T_yFFB8r;j#L2iU*=WYj&TNdx+uw%1^hcxV&Fm;{=z@zJzS~D zdou@Q;9J+DgW|E9>V$3|#;QR9(e`IJ7oXctaHqe?LD7eUYz^x}fK^HRj}>Z$#nujj zq**-C#kLAgRPj?2{#s1z+r?RVVdRi1*r*sJxAd35toiriP-PAM{z0^S=~IF$bPD}e ztf;|bgXB7Hbov|qwQf}nF!_oopZYs?(@SXfHQ(_NBy%9%Rfi%Rr{HzXODe9JlUc;r zzdrwH|Cvwd^lA#z8wKlP{vlcr}$P z;uYrR1(DTUsL1mIlV|L=&HuI^jXU8{N~HhxX}pn3D?-;tM@2+k_(xvJ$A$y{6?UvE zR}*bv&W<(8&zkm|Cf|6~(+J#L1;%L1>tzm@_@@uK^7`oL?MY=H{IkA$!PldXoAIwc z_Ynj$Kj&NsD6D2}`L5+#n<#PL+2eXw!3u{W`x|G~){O4rE z6p%`mtQes2Y37@#~*5o6<6e(#Y5pS+-6MW+Vt}wnlux-0N;N3lv3-p_q%Tc zD#lIrCGF2F?yp*+N`7tt`0m30 zr~Fqi4nc+E_5P>1v9|a|X-0j;6n?m(9WQ_m`QfO}hU!VI*?REoNGiN|24bNvoPMnU z3X7QM{6BjR!A#VBG@A4%;*{JCb|(HK#w#{Kycc_FeDKeOAnzTdHRlojt-j*O3SC2` zrk<#y_7iQRxhs(=?VH76;k%9cpU4_r#A@CZU7z#Mo=teV={Vvm=PI3%PDb-EsWh_I zE%<0vU3~lng2rT}8ngc6(NGB)9EB~c{iMMR)Y+z*a|Jn9=y74%#`@KH)cOP zs)Gk!IKwvUPnG7>C};m<^w`y0Oj1M7E=l zOC2#blGIE5+n0{D^t>d**PSlUYq^K~gg~MaXP{$K{xXF8sS3%>1S7wAa8#55Pwt8s z+n4JcS^3Cpm7Y_+=y%U2o*1$wEGmkmhii^d78wVp2D|XM#hC*Hh8xI;6$0d@9V+|< zeuQ9Ad}1+Ul^KjzP~r$*TudU& zSCuUN8kP~IhyNe*no_=uvB4DCRp7l>huWPh%s~-VuvhufoPGRnuOl4ppyC8CKgLaf zEa4if>0K#t5vq!4$3{qGTY+IItu>xr@=%34b&$eD@-*eR!Ua$}olH7`a-njG5k8 zH7o0W-^L;ALqFb>=J=1eYp8eU70PjFfmj`6S2KR6jDJ$o&~0G^Y)rciJ5mW!Fe+PI zPin0DvA7cc@oOi&!|=EQFww!=U-2Joy!(_f)a*^L&mVtYWGc8f#k1gT!hd@-`5+$8 zEZ{%blNe$o2rUC&+EeDA@GlYE<3+IRaEnQJ1Ci>mXQF=7yjoT z@P9wf#rU82w@tp{PA71RQ~cuDQt&r8uCa!>RRvP@$Zbb4cx3jR=fZznQ(mf^3Wknm z)cJWa_AtJru>=1T6T#omcjWo-L&(CkOg;>bEhK=z9Cc8o=(=76e6$MjeCBHs69qV0 zcN24I>W2H%O?di|bEtRR=56?%l%f2beWdxue@F(d9x_10|NVaW$dzou_&=^vFIitb zk%Q~;QQ3DK{J8K*(^r$qk)b`UZKf&9RdA<_Ri(^Ys!Au|r_wXchzzlugw#yz1ksM= z?U-JQ|Eg!3Q*Pe6!WfJTC#}ZoMHBwT_)ipfDOwl!d@%N5vGL@O_vmgby?tF7%t@h-1EXZtjhYoO1UfM_>sKTq#C~b6$QeAwvgz!r_mxx z8x)@6AOdnJ-T{BFVCB2jU%ohv2U(^@B*+Wk&iRg^Vv)+8z5wMa&=Znv;V8ffdG5jl zUIky8^k?W#S8ml8Ea2&Axi{fOE0E~t`Vl^l+oJ%k5nDbY-)~1-^q1U+wh++(Ne8~*rAVZu!XulSn` zVwM4+@kDwi&uXl^#@CQb!}Jw%+N+sOPZa0g1JeP^^Zl92V+J_iKiN3IN&v_}UaOdb z0~0rN2jbsMOyJeLw)78_eK&Lh#KgZnapkhDCV3^w3hJ;F|B9;_gg;%(kS+czb;GDG z=o?(VTR@C%c`p86>6znja>pLn+g^M`m7T_i<3C`NaelGDRTzwuJ3?Q&UVBr&{G9VB z&L#>4=1{hE@&fET3_%TD*A@AwN~{N&Ku4GJzGa|EKZx^rV@?0pEZ(iBawytWJ8wEZa(m*=a6c-@`H_L4eRTOR z{98YA9yR!1>Q{WDEDHFie+0ClU2t8QVb+f#ILZIlZrrH5#~UDe%=E z77d%hO$G$)$Np1^fABN;yQzB?PI9jdy}+WdN8eZcuM%)mlF}!OBW2dR@(SGwqIbdt3h zq>m$|TXn?>N-Hpezom3~rdA)u-S`J^z08y%f^_H% zsqkW@jrjFP-K<`Hk(aTTZNziLJrAwg=4Dr6d9Bf{2{3qcjar%3upt}M6MRFXp?k;1FuhtzoRs5g5* zcc?G$Lsh2{%0KFn+_400tX={BJ7IsbEzPcLiD5wAC$QDAJ>2k+T-CNMTWV`qWj~hm z;ya*|#QbCAI;C~*+22~35hMs;PJkeT!D?Egx=UwXbM(cDo;l=PdZ-XbI=XciD?ZH= zlqy0_YbM8m$>(R~!E|wKS?~obg~N`)@r{YH+q{CTACx`h>BEPj&xw&L_*2=PgC(Q- z4?2p12?Es0|LMNc7W-NEJ(Fv9fOf{gBI1T4p+2u>B^!r)-a3vkas0Xj1=5Doas&Vp z{ji!I`fik=tuZG0^2iHtfiH={Sf9Gj@v$Kr4&~q7eun^IFqRcsn8rb^=xq1%{D@pC~~Q~zP7pXFLFjhl=4Hapi@<(Jm)qbmG{Y;i3N`# z+)e$U;L+A)cZHi&SlZa}ht~x!C$7RwEfW!oQ;55jINLvl&nCbX86u9J!7CpnOVMSH z`TShFA=xhe3J#&Ht>~vvFuJ&gHZ|bkMMB1yJgh~9IGW*36m_@9}Z zF}s|8w}8BdomK~=PENqyxnX8Pe()qbY9IU2_~f0Y6Y)}E=ZBW96FP~o3>kJiy{wW7t6liw4R+E-Fz&2fv9 zY%B0ap)@R*-*c4;r@G``o!&79PDc6B=4U9>%9IfA@PlzXx&(InDiba+nvZ&C1J4Vp zKYn00`@NZs2va=u2K6?*|ZDA$DFH1n;cDO^o)WN-Qx>S`#u**q`OWntS(zg)+jXU z3&tJcpFZ(7{;L9?4DB)5ha#JD;}LeKlLatkNxEfJ@!_6{&_QF}R`W400056hd?(W} z{ukb?mry+WM7Aw^!)u&v10K^obkM;6^TNMlq2rA@rT>A99M_%V28Ngpd8Q|A8M4et zM^OOA1l!#1Fw*-t-{PIE#|f1a?qgNY_^#c@)!5|Ft$BGV&w)RT$EIWo@b9=DSI{Fa zxZe3c=SwCGjqwo|siE%^GiB0mwYP;B#*LsDC4s71q<%}k^G0%6$NZUDUnv4Ig_VBm z;=hsUcv0mDE4g6%WDuQ*|KWp5rliomxP)UkbGwph9?eGS8LO*3UEVb_yA(^m+96o` z=JalARP*s4{M!pGS2N(%jm6cbQ2Gidg)gu9%Q>^DLl5Uqzgy`FA}YaOHXKYKTM=r+ z(>k4y`NcT#ppqLE)+sD6?-o!vv+iwi95O!)zdt%S!hv7>jdT*dNja)VPH82895^wR zDi%RU0!V>$qV&IRp8O8t>f(L~U&oaK-?$`80L98t0c)d*zgAZug3`Oy@^iKOA^?c^ ziEj75L%V4o$pkHt#a*9*=D^EV&43X07n6!&AFq`~u1D#_u8{mSrFQvj#?bF@a;(aZ zs}nNx{!Tsa*v_YqWDq&6w1{C_oH9mK%ntno;%Ud4u)v7uv8$=r%WbVHPf12u$X@Yq z>uq)Jph8>w_k#)Oq*QCI0r^VTriE)kU;~1lO-ox5P*u_wETHFo!z;cY@lb5~(*s>{ zR4QhUeThGbe-aO+=k%pZ6KqgkIoIN)9xFdae1=~L&KfiCD-AWiaMQOMr&LLRCrEm2 ztCq&=YPd3^;pfO@z)TQ(s_#cIsx3CWa;&B7f((%XfecfmzN3;ihg5Y>%!L-W7&C2x zul*eJQ?Zj0E4-^zPV_%@yT4YH+0#^x^s?8qNl*os!m8}$Ny7i|T{jisXz(_$M;|Oz zoRwco(k;&3)&CAJfm7wgrEQ1N{{bFiuKXY4_GmRr_?K+lu{n4gH^+^87f7s*4Z|2y zAV-5o_f||2#A#3Au(LdNAjgaqQH~L>6~+Ytfp0aMz==^Qh$0Rpz_ZRaeOi z#yx1)1t<4a9(RStA17gQSJm^UvfXYC&LeMr}*E6Hw>zYk)DIIVeiq*m1}pXu;DxE2O)5*K~FU)e`joR8+#!g zY?xOmUtySO*tz+(QIIw<-I;rZ+7!j9!{B&l48Z?|Fxhb60%(QQG{)GbSgY#s1Oo++ zfv>acN%k+|pF3;@GF1hq4}(hP1#SaA-WB-A-_O2z3%fch@lU_{#XretvBY@2_=kMO zaq6$tiL3;UNxz?vx&5fWAOa{Edme9JF$=`9+}44v8YgRvm~Bm0Gm&gbk2r}u1l;+; ze+~3D=@-TyU7U8C|ejv6dPMkfEd@V@5nccI~GUrOaJ`f-#$fR!|tj=+=Hz# z%`IYgDxDn5ol@I=0&AaIZ3m#6i_k82CpP7& z8~;De_Y-~vxkDxIr#22%vDWdYuF=>Ja#>v_URyaEjfwYf@ z?Hz}OH~IkG0Utz;rGB}i22YT z)l_hiI4