From f9974367d794e26017f1e496960d0764d4086a53 Mon Sep 17 00:00:00 2001 From: changyunjia <905640960@qq.com> Date: Mon, 18 May 2026 16:03:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FGUI/Package/tixian/com_saveingpot.cs | 2 - Assets/BingoBrain/Harmony/GameHelper.cs | 2 +- .../ModuleUI/BingoToy/BingoToyUI.cs | 23 ++- Assets/BingoBrain/ModuleUI/H5/H5UI.cs | 151 ++++++++++++++++++ Assets/BingoBrain/ModuleUI/H5/H5UICtrl.cs | 7 +- Assets/BingoBrain/ModuleUI/JTod/JTodUI.cs | 4 +- .../ModuleUI/MakeupConfirm/MakeupConfirmUI.cs | 2 + .../ModuleUI/SaveingPot/SaveingPotUI.cs | 4 +- .../ModuleUI/StarReward/StarRewardUI.cs | 2 +- Assets/BingoBrain/System/Game/JsonSystem.cs | 2 +- Assets/Plugins/iOS/H5View.m | 2 +- .../AssetHotFix/FGUI/tixian_fui.bytes | Bin 56367 -> 56372 bytes UserSettings/Layouts/default-2022.dwlt | 126 +++++++-------- 13 files changed, 246 insertions(+), 81 deletions(-) diff --git a/Assets/BingoBrain/FGUI/Package/tixian/com_saveingpot.cs b/Assets/BingoBrain/FGUI/Package/tixian/com_saveingpot.cs index df80cb6..8f9b0da 100644 --- a/Assets/BingoBrain/FGUI/Package/tixian/com_saveingpot.cs +++ b/Assets/BingoBrain/FGUI/Package/tixian/com_saveingpot.cs @@ -52,7 +52,6 @@ namespace FGUI.tixian public GButton btn_close; public GButton btn_task_watch; public GRichTextField text_nowch; - public GImage text_ch_2; public const string URL = "ui://jwedp6jyupx71p"; public static com_saveingpot CreateInstance() @@ -109,7 +108,6 @@ namespace FGUI.tixian btn_close = (GButton)GetChildAt(76); btn_task_watch = (GButton)GetChildAt(77); text_nowch = (GRichTextField)GetChildAt(78); - text_ch_2 = (GImage)GetChildAt(79); } } } \ No newline at end of file diff --git a/Assets/BingoBrain/Harmony/GameHelper.cs b/Assets/BingoBrain/Harmony/GameHelper.cs index 43e2bfd..7ec2600 100644 --- a/Assets/BingoBrain/Harmony/GameHelper.cs +++ b/Assets/BingoBrain/Harmony/GameHelper.cs @@ -1658,7 +1658,7 @@ namespace BingoBrain } public static bool isRDExchangeMode() { - // return false;//zhushi + return true;//zhushi return SaveData.GetSaveobject().ExchangeModeToggle == 1; } public static string getDesByKey(string key) diff --git a/Assets/BingoBrain/ModuleUI/BingoToy/BingoToyUI.cs b/Assets/BingoBrain/ModuleUI/BingoToy/BingoToyUI.cs index 9d8de29..ed63a21 100644 --- a/Assets/BingoBrain/ModuleUI/BingoToy/BingoToyUI.cs +++ b/Assets/BingoBrain/ModuleUI/BingoToy/BingoToyUI.cs @@ -134,7 +134,7 @@ namespace BingoBrain item.quantityA[GameHelper.GetDynamicIndex(item.wheel_itemA)]); PreferencesMgr.Instance.VidelWheelLst.Add( item.quantityB[GameHelper.GetDynamicIndex(item.wheel_itemB)]); - Debug.Log(GameHelper.GetDynamicIndex(item.wheel_itemB)); + Debug.Log(GameHelper.GetDynamicIndex(item.wheel_itemB)); } PreferencesMgr.Instance.SaveFerrWheelLst(); @@ -170,9 +170,11 @@ namespace BingoBrain if (PreferencesMgr.Instance.IsOnceWheel) { id = turntable.wheel_itemA; - val = id == 102 - ? GameHelper.Get102Str((decimal)PreferencesMgr.Instance.FerrWheelLst[i]) - : PreferencesMgr.Instance.FerrWheelLst[i].ToString(); + if (id == 102) + { + val = GameHelper.isRDExchangeMode() ? $"{PreferencesMgr.Instance.FerrWheelLst[i]:N}" : GameHelper.Get102Str((decimal)PreferencesMgr.Instance.FerrWheelLst[i]); + } + else val = PreferencesMgr.Instance.FerrWheelLst[i].ToString(); } else { @@ -181,9 +183,16 @@ namespace BingoBrain { PreferencesMgr.Instance.VidelWheelLst[i] = MathF.Ceiling(PreferencesMgr.Instance.VidelWheelLst[i]); } - val = id == 102 - ? GameHelper.Get102Str((decimal)PreferencesMgr.Instance.VidelWheelLst[i]) - : PreferencesMgr.Instance.VidelWheelLst[i].ToString(); + + if (id == 102) + { + val = GameHelper.isRDExchangeMode() ? $"{PreferencesMgr.Instance.VidelWheelLst[i]:N}" : GameHelper.Get102Str((decimal)PreferencesMgr.Instance.VidelWheelLst[i]); + } + else val = PreferencesMgr.Instance.VidelWheelLst[i].ToString(); + + // val = id == 102 + // ? GameHelper.Get102Str((decimal)PreferencesMgr.Instance.VidelWheelLst[i]) + // : PreferencesMgr.Instance.VidelWheelLst[i].ToString(); } rewards.cont_currency.selectedIndex = id switch diff --git a/Assets/BingoBrain/ModuleUI/H5/H5UI.cs b/Assets/BingoBrain/ModuleUI/H5/H5UI.cs index f1f9daa..65f618e 100644 --- a/Assets/BingoBrain/ModuleUI/H5/H5UI.cs +++ b/Assets/BingoBrain/ModuleUI/H5/H5UI.cs @@ -89,5 +89,156 @@ namespace BingoBrain { } + public void ClickBtn(string name) + { + // // Debug.Log("[UNITY] Click btn: " + name); + // FGUIHelper.PlayClickSound(); + if (name == "flyBtn") + { + OnClickFlyCash(); + NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.collect_fly_number, 1); + //NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior,BuriedPointEvent.collect_fly_people,1); + } + else if (name == "rewardBtn") + { + OnClickIcon(); + + } + } + private void OnClickFlyCash() + { + // PreferencesMgr.Instance.AdCashFlyShowTime = + // GameHelper.GetNowTime() + ConfigSystem.GetConfig().flyCD; + // var rewardData = new RewardData(); + + // var singleValue = + // (decimal)Math.Round( + // UnityEngine.Random.Range(ConfigSystem.GetConfig().flyReward[0], + // ConfigSystem.GetConfig().flyReward[1]), 2); + + + // decimal rewardValue; + + + // if (flyClickCount >= flyNeedClickCount) + // { + // flyClickCount = -1; + // //var rate = GameHelper.GetVideoRate(); + // rewardValue = singleValue; + // GameHelper.ShowVideoAd("reward_fly", isCompleted => + // { + // if (isCompleted) + // { + // GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData); + // GameDispatcher.Instance.Dispatch(GameMsg.RefreshMakeupData); + // } + // }); + // } + // else + // { + // rewardValue = singleValue; + // } + + // var startPosition = GameHelper.GetUICenterPosition(ui.com_fly); + // var endPosition = GameHelper.GetUICenterPosition(ui.com_top.text_num); + + // var rewardSingleData = new RewardSingleData(102, rewardValue, RewardOrigin.H5Fly101) + // { + // startPosition = startPosition, + // endPosition = new Vector2(endPosition.x - 150, endPosition.y - 106) + // }; + + // rewardData.AddReward(rewardSingleData); + // rewardData.displayType = RewardDisplayType.RewardFly | RewardDisplayType.ValueChange; + // rewardData.AddCompleted(isSuccess => + // { + // if (isSuccess) + // { + // flyClickCount++; + // } + + // SetMakeup(); + // }); + // //GameHelper.addMoney((float)rewardValue); + // GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData); + // GameDispatcher.Instance.Dispatch(GameMsg.RefreshMakeupData); + // CheckShowFly(); + } + private void OnClickIcon() + { + // //WebThroughUtil.WebThroughClick(H5WebThroughType.OnlineH5, ui.btn_icon); + // if (iconTime < ConfigSystem.GetConfig().ThroughRewardCD) + // { + // return; + // } + + // #if UNITY_IOS && !UNITY_EDITOR + // WebviewManager.Instance.ShowH5View(false); + // #endif + + // float[] cash_array = GameHelper.GetRewardValue(2); + + // // var temp = new { is_success = true, cash_number = cash_array[0], rate = cash_array[1], is_level_success = false, is_h5_reward = true }; + // SuccessData temp = new SuccessData(); + // temp.IsWin = true; + // temp.cash_number = cash_array[0]; + // temp.rate = (int)cash_array[1]; + // temp.IsLevelSuccess = false; + // temp.IsH5Reward = true; + // UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.LevelSuccessUI_Open, temp); + + // //UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RewardUI_Open); + // // var rewardData = new RewardData(); + + // // var rewardType = 111; + // // decimal rewardValue = (decimal)GameHelper.GetRewardValue(3)[0]; + + // // var rewardSingleData = new RewardSingleData(rewardType, rewardValue, RewardOrigin.H5Icon) + // // { + // // startPosition = GameHelper.GetUICenterPosition(ui.btn_icon), + // // endPosition = GameHelper.GetUICenterPosition(ui.com_top.text_num) + // // }; + // // rewardData.AddReward(rewardSingleData); + // // rewardData.AddCompleted(isSuccess => + // // { + // // ui.btn_icon.cont_state.selectedIndex = btn_icon.State_none; + // // iconTime = 0; + // // SetMakeup(); + // // }); + // // rewardData.condition = RewardCondition.AD; + // // rewardData.displayType = + // // RewardDisplayType.Dialog | RewardDisplayType.RewardFly | RewardDisplayType.ValueChange; + + // // GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData); + + // // GameHelper.addMoney((float)rewardValue); + // // GameDispatcher.Instance.Dispatch(GameMsg.GetReward, rewardData); + // // GameDispatcher.Instance.Dispatch(GameMsg.RefreshMakeupData); + + + // iconTime = 0; + // // SetMakeup(); + // NetworkKit.BuriedPoint(BuriedPointEvent.Hall_behavior, BuriedPointEvent.annular_get_number, 1); + } + private void CheckShowFly() + { + // var nowTime = GameHelper.GetNowTime(); + // var leftTime = (int)(PreferencesMgr.Instance.AdCashFlyShowTime - nowTime); + + // ui.com_fly.visible = false; + // ui.com_fly.visible = leftTime <= 0; + // if (leftTime > 0) + // { + // WebviewManager.Instance.ShowFlyBtn(false); + // isFlyShow = false; + // } + // else + // { + // //StartFly(); + // if (!isFlyShow) WebviewManager.Instance.ShowFlyBtn(true); + // isFlyShow = true; + + // } + } } } \ No newline at end of file diff --git a/Assets/BingoBrain/ModuleUI/H5/H5UICtrl.cs b/Assets/BingoBrain/ModuleUI/H5/H5UICtrl.cs index cbe8b3c..db19388 100644 --- a/Assets/BingoBrain/ModuleUI/H5/H5UICtrl.cs +++ b/Assets/BingoBrain/ModuleUI/H5/H5UICtrl.cs @@ -54,13 +54,18 @@ namespace BingoBrain { uiCtrlDispatcher.AddListener(openUIMsg, OpenUI); uiCtrlDispatcher.AddListener(closeUIMsg, CloseUI); + gameDispatcher.AddListener(BingoInfo.H5ViewClickBtn, OnH5ClickBtn); } protected override void RemoveListener() { uiCtrlDispatcher.RemoveListener(openUIMsg, OpenUI); uiCtrlDispatcher.RemoveListener(closeUIMsg, CloseUI); + gameDispatcher.RemoveListener(BingoInfo.H5ViewClickBtn, OnH5ClickBtn); + } + void OnH5ClickBtn(object arg) + { + ui?.ClickBtn((string)arg); } - protected override void AddServerListener() { diff --git a/Assets/BingoBrain/ModuleUI/JTod/JTodUI.cs b/Assets/BingoBrain/ModuleUI/JTod/JTodUI.cs index cd194ba..02a2e91 100644 --- a/Assets/BingoBrain/ModuleUI/JTod/JTodUI.cs +++ b/Assets/BingoBrain/ModuleUI/JTod/JTodUI.cs @@ -172,7 +172,7 @@ namespace BingoBrain else { day.cont_currency.selectedIndex = btn_day2.Currency_diam; - day.text_reward.text = $"{GameHelper.Get102Str((decimal)dailyBonus.quantity)}"; + day.text_reward.text = (GameHelper.isRDExchangeMode() && GameHelper.IsGiftSwitch()) ?$"{dailyBonus.quantity:N}" : GameHelper.Get102Str((decimal)dailyBonus.quantity); } day.text_day.text = "Day " + (index + 1); @@ -212,7 +212,7 @@ namespace BingoBrain else { day.cont_currency.selectedIndex = btn_day.Currency_diam; - day.text_reward.text = $"{GameHelper.Get102Str((decimal)dailyBonus.quantity):N}"; + day.text_reward.text = (GameHelper.isRDExchangeMode() && GameHelper.IsGiftSwitch()) ? $"{dailyBonus.quantity:N}" : GameHelper.Get102Str((decimal)dailyBonus.quantity); } day.text_day.text = "Day " + (index + 1); diff --git a/Assets/BingoBrain/ModuleUI/MakeupConfirm/MakeupConfirmUI.cs b/Assets/BingoBrain/ModuleUI/MakeupConfirm/MakeupConfirmUI.cs index 0a0b37a..e8f3c68 100644 --- a/Assets/BingoBrain/ModuleUI/MakeupConfirm/MakeupConfirmUI.cs +++ b/Assets/BingoBrain/ModuleUI/MakeupConfirm/MakeupConfirmUI.cs @@ -732,6 +732,7 @@ namespace BingoBrain ConfigSystem.GetConfig().inlineInitNum[0], makeupTaskData.inlineInitNum); makeupTaskData.order_time = GameHelper.GetNowTime(); + PreferencesMgr.Instance.Currency102 = PreferencesMgr.Instance.Currency102 - vo.item_need; PreferencesMgr.Instance.SaveMakeupTaskHistory(); GameDispatcher.Instance.Dispatch(BingoInfo.Update102); //OnInline(); @@ -785,6 +786,7 @@ namespace BingoBrain ConfigSystem.GetConfig().inlineInitNum[0], makeupTaskData.inlineInitNum); makeupTaskData.order_time = GameHelper.GetNowTime(); + PreferencesMgr.Instance.Currency102 = PreferencesMgr.Instance.Currency102 - vo.item_need; PreferencesMgr.Instance.SaveMakeupTaskHistory(); GameDispatcher.Instance.Dispatch(BingoInfo.Update102); //OnInline(); diff --git a/Assets/BingoBrain/ModuleUI/SaveingPot/SaveingPotUI.cs b/Assets/BingoBrain/ModuleUI/SaveingPot/SaveingPotUI.cs index fa68fa7..ee0988c 100644 --- a/Assets/BingoBrain/ModuleUI/SaveingPot/SaveingPotUI.cs +++ b/Assets/BingoBrain/ModuleUI/SaveingPot/SaveingPotUI.cs @@ -738,7 +738,7 @@ namespace BingoBrain if (GameHelper.isRDExchangeMode()) { - ui.com_task.text_payer.SetVar("amt", "" + makeupTaskData.amount).FlushVars(); + ui.com_task.text_payer.SetVar("amt", "" + makeupTaskData.amount).FlushVars(); } else { @@ -922,7 +922,7 @@ namespace BingoBrain for (int i = 0; i < btn_list.Count; i++) { - btn_list[i].text_ch.text = (GameHelper.isRDExchangeMode() ? "" : "") + GameHelper.Get102Str_new(makeup_list[i].item_need); + btn_list[i].text_ch.text = (GameHelper.isRDExchangeMode() ? "" : "$") + makeup_list[i].item_need; Debug.Log(makeup_list[i].item_need); btn_list[i].index.selectedIndex = i; if (i >= saveingpot_history.Count) diff --git a/Assets/BingoBrain/ModuleUI/StarReward/StarRewardUI.cs b/Assets/BingoBrain/ModuleUI/StarReward/StarRewardUI.cs index fddc19d..8004909 100644 --- a/Assets/BingoBrain/ModuleUI/StarReward/StarRewardUI.cs +++ b/Assets/BingoBrain/ModuleUI/StarReward/StarRewardUI.cs @@ -89,7 +89,7 @@ namespace BingoBrain ui.cash_text.text = cash.ToString(); Out102 item = GameHelper.GetDynamicVersion_Cash(); ui.rate_text.text = "UP TO+" + item.cashmultiple + "00%"; - ui.btn_adget.title = "$" + cash * item.cashmultiple; + ui.btn_adget.title = GameHelper.isRDExchangeMode() ? (cash * item.cashmultiple).ToString() : "$" + cash * item.cashmultiple; ui.btn_get.SetClick(() => { CheckReward(cash / 10); diff --git a/Assets/BingoBrain/System/Game/JsonSystem.cs b/Assets/BingoBrain/System/Game/JsonSystem.cs index 4989853..5725764 100644 --- a/Assets/BingoBrain/System/Game/JsonSystem.cs +++ b/Assets/BingoBrain/System/Game/JsonSystem.cs @@ -294,7 +294,7 @@ namespace BingoBrain GetGameConfig(dictionary); GetGameConfig(dictionary);//兑换 - Debug.Log(JsonConvert.SerializeObject(ConfigSystem.GetConfig().dataList)); +// Debug.Log(JsonConvert.SerializeObject(ConfigSystem.GetConfig().dataList)); exBrPoolModel.config_name_list = ConfigSystem.GetConfig().dataList[0].user_name.Split(",").ToList(); exBrPoolModel.config_money_list = ConfigSystem.GetConfig().dataList[0].amount.Split(",").ToList(); exBrPoolModel_2.config_name_list = ConfigSystem.GetConfig().dataList[0].user_name.Split(",").ToList(); diff --git a/Assets/Plugins/iOS/H5View.m b/Assets/Plugins/iOS/H5View.m index b42c97e..5cc5789 100644 --- a/Assets/Plugins/iOS/H5View.m +++ b/Assets/Plugins/iOS/H5View.m @@ -1019,7 +1019,7 @@ } if(web_2_through_time(Ym7;HD*zaOB7UMlD4iv+nUza#wBfxM#*`DpP#w!yT3PQ&VSAI%rjZf(Z;~=^x z_|YLuO&DoDYB@( zG$h&R815xnkm=!s=;T&hV;o0v@~8!0D%DK2G)~ZE<0M@%PRR&Q(^caux^A4I2IH(z zYt%`1%E}}{vuaB>lrmH^hMc(rEd_N zl0e_W`xQ6SPMQCA#-DL1C5ZoG{1rWBhVv!kGID07@fG7L9*cd=xQ;QYLFVr%Phzc? z*wyfk^TdVJ?$m&XsbO>jL1|%h6BTLx4u2!#@3@uLhyH<0VOF|@J|D%<54!wM?3D7q z>}9@f{2M*fZS)^hMY>^Qx&z%oW%>mAFN|3;=tr%&Yuv-)SvI<_tq0P=X|~P%Cspt~ zj}v4-lU2Tx&g1`(HQV3e|784(le7D{KU4>w>oP@`uMRZnenE>2|L(O)c{xe7Nz(C1 z((zc*@vAK56G_KYNkyYk%ZiwgmN9?~?8O2e1AEigaGWMQi`T8UNj z1Gyc$qu+ucZqFT%vmnUSkvoZRDe@Ksa%X-8T{45n1Id}=$P@drtmZDaMLG+!J+T_0raB+#5r(!>JEijJFv4I;yg#@f+-o_Bn4;Uwn|$ zi~DhZ6y^9?-&8I)FihHb54)sXR^~75XJJKNS zO%Sgy6^l1gyccA_J#crl8OP>0adUp_d4$32Cz^Lf^F5Nwd{8vaWbhE}4$if(KM%$9 z+(;UR6S-SyIBt|$`E7m&ix$OEfVM{PAJH-|u4|wguha9U8mK~Km=S8c;*qk-@A7-n z!wT8`dt{8hxRht%ARdJWd2tlnl;RK`jXC)?3dN?uZl*eE^gf5-VSWIQ;jtLHcoc=B zcyXvXg6)aFBH=b7Yk~#u6tr*kji@7eywsOUeZjN(&gKa`QMyc!x(Z$ATiBVRu(cqP zqUFM}@&{}~heAJ|#4(sy7(tT}(m{5~hdc#ei#Zjx6;|^!o-RS|N{~u;6nDmj0uvTa z@-R3S_oCVxJOkBB9&jATWBXDYCvYNK6a{b+Cu6Mqr|?W{C<>rd+$xHsGz?v4<&QWW z6P5*-X7Ox&A9O4Zql~7m=kQ##D~_Of_O5w8FTm2`5X#hR5+bwA;%xj<9AM7jg)*QX z(mV=JrgVmXu?b1bJtrxC#56>wb_nUOW^Gt$;VoQ=M=Mik zE87qp5 zbNbNySk}$F&)6dN>(cF^XUEJ1@2&2^`?(skR!7qT_)oVq=a2cI$mG6o_*P^-=pNYK zk<<`AgwQo3_%MHh@-?GgIwI+i@6vfW+n>r>DJQv)+8F#9T-S#4=llg?*G}c5O4*Nw z!N+iCZ4A|5bh(v|Ber}GeTjDK;(br3bot`SET&3`5pqR5wZ~FcIdgoHPiY^umYVt( zeW&>=K82cf7RNJuR!Y~_S-6%@;OBL{2gtFL6+S0Tn(6mhM9JHE?UAqMi=M%%o0`RS zh+O|F)gfDR$9gXbSBHz*dZg*O!R{ZanWDKy^SI`1&DI<3nn9YAGz&EMYhKngHrX{j zHA6KsHhIZp>rkPsvzqrc-7D_^)2 z++x>`)J)M_qj_BOwr1-}yJnE)B+UZN{hF6GjjeV~Pt8!x49yD7vzqrc-M875!!%u;sgVZs0a delta 2562 zcmY+F2~<_r6^73~8+gKVAWD5toC1n*h$d*FRU)D$SZoj^D2fAlVjPfJ35o+CA_$7e zFN%s2PIX2xYRsTG2c#O4v~>*H*0i=Z4ryaFk?wbNxy)nTkGs$Q&wqw}?!5;N^WMW; z84%Y}>Fqi|De_T@<4Gx%Dc2MXj~hcfusbe_cEWYqP}+s?X@#^KSEt>iJvbVl=)PBZ z=t|XC??dl|*S+_v%@$Igs=pej=8D5SRbgp(((puAAuC}q9RL-2Sr#@tq3`rZ=$sfx z2QfKusP&LOEaJxv4GljaCD9kx6W^eZ(IROa9YIP`7=423q)7S{EtB)CzFH>PZ(7mYPUk z!T)71%T8JU*ZLb=N)6>d=|7{(^eFy|zJ#3VX?$5T4J=Bh-4G^2BSMcvrzc z-WTU*bf$0da7HB6BQ!0NZlEG9$mJ&Kzv5O}5BeK6M%wA`=<#7J-7@#zVW-^x!+FpD z)VI+!-9i6CWwaMIq`T0+u_b*h-GQDtjs9aa-|M?rG}A%%Omts*xXp5SKTrkF>o`^> zG*RWdnL7S}>{&rB|0VrDoSN0c`$u)~xh_j|`Rc$^-9t3V2E@8@j%-6m+>LZc(8yMIhmoBHr!TnOOTft!tJ;{I%I{?%Sg!@O+MI{ZMXVz2gw&G<#r8@>@e!+ zY-K<0gwfei^oof(a~GVGsH=&(@v9gxKZ?4e$rzjF9;lo@g>(K_dC^2hr*-MA8Z;E|GgJwC94GqrKHRj$T^1`JBHftaLt)xdP<#GWjxxRR7L0jr;vWb%I zN5ztjmh5@ia399AZI58xn7&5fpk zIGMYZ2H{4jod@&VShz5r-Z4=y4?)ws_>R9*V@!G8RDD&rOmmbPqc}u%c_@oJEtk{3 zN9GuSOL;bamqYO&FP?@yEpZr!V|KoShGS!YFUvXU6v6M|VSX@2@(2uEG>k@~cu|Bk zibsj_6|viZ?6EeyQ_#BESE3%xvPe}b?FG-;+gr!5oN=8fZ55_1ps+oS!`6am8ZR#_ zJIC<*Xj2%-4xWHe!$Z>9^02VIDr$Y+&>1`%t%^s{9OuwHm*-(gaX4j~JqedpW^p!tDh{^J=Ny?(7wJA8 zzf5Y6pkfP>m-*5HqZ}d1TwaJh%Yv7VU|Nc~7{bN83}+C`B@B2j52xkEpp;i&jzlY+olw8r z)mo;Kq!PI@>Mv&3gNj`d12Ij==oX-}#_yD2u@EVc1E zUXPzk<2!CpGhR4Lqttjc-kqAtls4)$Vl9Wjd0KOQuzN*2DX;Tss9#~@O}rV8R-{U; z5?0!ID{n*o$_(#6sF3Go0cx-cQ6cWUT|S9B(55WdvQuf^#k(=JY-BU%{T|*cLzKu> zXC9jG%Q{&r^=64*lVJ}%d(1rW?y4@lkN0Edsu-$5&{SJvKENM|tewcd7Fi#34r%R5 zY5*TZ#Ofh@h!3ND^{|&dmU75G=BomHBtO2e}=dV%nvn8HC%0Y-0-$x^9@c-Kf?)z1%~?#FB|HOPEA+C z2*ZqxezMqFRG6s7@V=pUg;P7oFwU^V@QC3}Lyt{PO;5vU!}*3g3@>i-sfMc!j~m`LY`(>*>1Q~>u)uJ?;blX;)v4)f7-5)USYcRWc;C=_n^QT+FwU@K un;)O$Ivm;NN9U{Rw}o|RVe$9x`9bp3KFU4Ozi+RYq{*>;tA^Cx@%%qPp