From 77943a6ed902cb80f245894c1dec4e52389d7d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=AE=B6=E7=82=9C?= <2029049582@qq.com> Date: Tue, 8 Apr 2025 20:44:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=BB=8E=E5=B7=9D=E5=B8=A6=E7=B2=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../majiang/lichuan/EXGameController.lua | 193 +++++++++--------- .../majiang/nancheng/EXGameController.lua | 10 +- .../main/majiang/MJPlayerSelfCardInfoView.lua | 10 +- .../main_majiang/ui/main_majiang_fui.bytes | Bin 247500 -> 247948 bytes .../majiang/{nanCheng.meta => nancheng.meta} | 0 .../majiang/{nanCheng => nancheng}/ui.meta | 0 .../ui/Extend_MJ_NanCheng_atlas0.png | Bin .../ui/Extend_MJ_NanCheng_atlas0.png.meta | 0 .../ui/Extend_MJ_NanCheng_fui.bytes | Bin .../ui/Extend_MJ_NanCheng_fui.bytes.meta | 0 .../ui/Info_MJ_NanCheng_atlas0.png | Bin .../ui/Info_MJ_NanCheng_atlas0.png.meta | 0 .../ui/Info_MJ_NanCheng_fui.bytes | Bin .../ui/Info_MJ_NanCheng_fui.bytes.meta | 0 14 files changed, 109 insertions(+), 104 deletions(-) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng.meta => nancheng.meta} (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui.meta (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Extend_MJ_NanCheng_atlas0.png (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Extend_MJ_NanCheng_atlas0.png.meta (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Extend_MJ_NanCheng_fui.bytes (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Extend_MJ_NanCheng_fui.bytes.meta (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Info_MJ_NanCheng_atlas0.png (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Info_MJ_NanCheng_atlas0.png.meta (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Info_MJ_NanCheng_fui.bytes (100%) rename wb_unity_pro/Assets/ART/extend/majiang/{nanCheng => nancheng}/ui/Info_MJ_NanCheng_fui.bytes.meta (100%) diff --git a/lua_probject/extend_project/extend/majiang/lichuan/EXGameController.lua b/lua_probject/extend_project/extend/majiang/lichuan/EXGameController.lua index cf8bb7b1..bfb85907 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXGameController.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXGameController.lua @@ -6,17 +6,17 @@ local M = {} --- Create a new GameController function M.new() - setmetatable(M,{__index = GameController}) - local self = setmetatable({}, {__index = M}) - self:init("南城麻将") - self.class = "TX_GameController" - return self + setmetatable(M, { __index = GameController }) + local self = setmetatable({}, { __index = M }) + self:init("南城麻将") + self.class = "TX_GameController" + return self end function M:init(name) - GameController.init(self,name) + GameController.init(self, name) - self._eventmap[TX_Protocol.GAME_EVT_PLAYER_DEAL] = self.OnEventSendCards + self._eventmap[TX_Protocol.GAME_EVT_PLAYER_DEAL] = self.OnEventSendCards self._eventmap[TX_Protocol.GAME_EVT_CHANGE_ACTIVE_PLAYER] = self.OnEventTurn self._eventmap[TX_Protocol.GAME_EVT_DRAW] = self.OnEventTakeCard @@ -36,7 +36,6 @@ function M:init(name) self._eventmap[TX_Protocol.GAME_EVT_GANGZI] = self.OnEventGangCards self._eventmap[TX_Protocol.GAME_EVT_BUGANG] = self.OnEventBuGang - end local __pre_delete_card = false @@ -45,17 +44,17 @@ function M:SendOutCard(card, callback) local _data = {} _data["card"] = card local _room = self._room - local _client = ControllerManager.GameNetClinet + local _client = ControllerManager.GameNetClinet _client:send(TX_Protocol.GAME_DIS_CARD, _data) -- 进行预删牌处理 local p = _room.self_player _room.curren_outcard_seat = -1 - list_remove(p.card_list,card) + list_remove(p.card_list, card) table.sort(p.card_list, ViewUtil.HandCardSort) p.hand_left_count = p.hand_left_count - 1 if not p.outcard_list then p.outcard_list = {} end - p.outcard_list[#p.outcard_list+1] = card + p.outcard_list[#p.outcard_list + 1] = card __pre_delete_card = true callback() end @@ -63,28 +62,28 @@ end function M:SendGangCard(card) local _data = {} _data["card"] = card - local _client = ControllerManager.GameNetClinet + local _client = ControllerManager.GameNetClinet _client:send(TX_Protocol.GAME_EVT_DOGANG, _data) end - function M:OnEventGangCards(evt_data) printlog("OnEventGangCards") pt(evt_data) - DispatchEvent(self._dispatcher,TX_GameEvent.SendGangZi,evt_data["gangzi1"],evt_data["gangzi2"],evt_data["gangnum"],true ) + DispatchEvent(self._dispatcher, TX_GameEvent.SendGangZi, evt_data["gangzi1"], evt_data["gangzi2"], + evt_data["gangnum"], true) end function M:OnEventBuGang(evt_data) printlog("OnEventBuGang") pt(evt_data) - DispatchEvent(self._dispatcher,TX_GameEvent.EventBuGang,evt_data["info"][1],evt_data["info"][2],true ) + DispatchEvent(self._dispatcher, TX_GameEvent.EventBuGang, evt_data["info"][1], evt_data["info"][2], true) end -- 发送放子选择到服务器 function M:SendAction(id) local _data = {} _data["id"] = id - local _client = ControllerManager.GameNetClinet + local _client = ControllerManager.GameNetClinet _client:send(TX_Protocol.GAME_ACTION, _data) end @@ -94,42 +93,44 @@ function M:OnEventSendCards(evt_data) return end - local _room = self._room + local _room = self._room if not _room.room_config.piao_niao or _room.self_player.entrust then _room.curren_round = _room.curren_round + 1 end if _room.curren_round > 0 then _room.playing = true end - - printlog("开始发牌===========>>>") - pt(evt_data) - - local room = DataManager.CurrenRoom - --printlog(evt_data.laiziCard) - --printlog(evt_data.laiziCard2) - --printlog(evt_data.laiziCardBefore) - --printlog(evt_data.laiziCard2Before) - - DispatchEvent(self._dispatcher,TX_GameEvent.SendGangZi,102,103,0,true ) - - - + printlog("开始发牌===========>>>") + pt(evt_data) + + local room = DataManager.CurrenRoom + --printlog(evt_data.laiziCard) + --printlog(evt_data.laiziCard2) + --printlog(evt_data.laiziCardBefore) + --printlog(evt_data.laiziCard2Before) + + + DispatchEvent(self._dispatcher, TX_GameEvent.SendGangZi, 102, 103, 0, true) + + + -- _room.SelfPlayer.AutoOutCard = false local handcards = evt_data["card_list"] local p = _room.self_player local seat = evt_data["bank_seat"] + local jing = evt_data["jing"] self._cacheEvent:Enqueue(function() _room.banker_seat = seat - for i=1,#_room.player_list do + _room.jing = jing + for i = 1, #_room.player_list do _room.player_list[i].hand_left_count = 13 _room.player_list[i].fz_list = {} _room.player_list[i].card_list = {} end p.card_list = handcards - self._room.self_player.hand_left_count = #handcards - table.sort( handcards, ViewUtil.HandCardSort ) - DispatchEvent(self._dispatcher,TX_GameEvent.SendCards, p) - end) + self._room.self_player.hand_left_count = #handcards + table.sort(handcards, ViewUtil.HandCardSort) + DispatchEvent(self._dispatcher, TX_GameEvent.SendCards, p) + end) end function M:OnEventOutCard(evt_data) @@ -138,7 +139,7 @@ function M:OnEventOutCard(evt_data) local ting_list = nil local p = self._room:GetPlayerBySeat(seat) self._cacheEvent:Enqueue(function() - local _room = self._room + local _room = self._room _room.last_outcard_seat = seat if seat == _room.self_player.seat and __pre_delete_card then __pre_delete_card = false @@ -149,13 +150,12 @@ function M:OnEventOutCard(evt_data) end p.hand_left_count = p.hand_left_count - 1 if not p.outcard_list then p.outcard_list = {} end - p.outcard_list[#p.outcard_list+1] = card - DispatchEvent(self._dispatcher,TX_GameEvent.OutCard, p, card) + p.outcard_list[#p.outcard_list + 1] = card + DispatchEvent(self._dispatcher, TX_GameEvent.OutCard, p, card) end end) end - function M:OnEventTakeCard(evt_data) local _room = self._room local seat = evt_data["seat"] @@ -163,19 +163,19 @@ function M:OnEventTakeCard(evt_data) local left_count = evt_data["left_count"] local p = _room:GetPlayerBySeat(seat) self._cacheEvent:Enqueue(function() - p.hand_left_count = p.hand_left_count +1 + p.hand_left_count = p.hand_left_count + 1 if (seat == _room.self_player.seat) then - _room.self_player.card_list[#_room.self_player.card_list+1] = card + _room.self_player.card_list[#_room.self_player.card_list + 1] = card -- table.sort( _room.self_player.card_list, ViewUtil.HandCardSort ) end - DispatchEvent(self._dispatcher,TX_GameEvent.GetCard, seat, card, left_count) + DispatchEvent(self._dispatcher, TX_GameEvent.GetCard, seat, card, left_count) end) end function M:OnEventOutHint(evt_data) self._cacheEvent:Enqueue(function() self._room.curren_outcard_seat = self._room.self_player.seat - DispatchEvent(self._dispatcher,TX_GameEvent.OutHint) + DispatchEvent(self._dispatcher, TX_GameEvent.OutHint) end) end @@ -183,24 +183,24 @@ function M:OnEventTurn(evt_data) local seat = evt_data["seat"] self._cacheEvent:Enqueue(function() -- self._room.curren_outcard_seat = seat - DispatchEvent(self._dispatcher,TX_GameEvent.EventTurn, seat) + DispatchEvent(self._dispatcher, TX_GameEvent.EventTurn, seat) end) end function M:OnEventFzTips(evt_data) self._cacheEvent:Enqueue(function() local tiplist = FZTipList.new() - local list = evt_data["tip_list"] + local list = evt_data["tip_list"] local weight = evt_data["weight"] - for i=1,#list do - local dtip = list[i] + for i = 1, #list do + local dtip = list[i] local tip = {} tip.id = dtip["id"] tip.weight = dtip["weight"] tip.card = dtip["card"] tip.type = dtip["type"] tip.opcard = dtip["opcard"] - + -- if (dtip["opcard"]) then -- local opcard = dtip["opcard"] -- tip.OpCard = opcard @@ -209,12 +209,12 @@ function M:OnEventFzTips(evt_data) -- end tiplist:AddTip(tip) end - DispatchEvent(self._dispatcher,TX_GameEvent.FZTips, tiplist, weight) + DispatchEvent(self._dispatcher, TX_GameEvent.FZTips, tiplist, weight) end) end function M:OnEventFzAction(evt_data) - local _room = self._room + local _room = self._room local playerid = evt_data["playerid"] local card = evt_data["card"] local actice_card = evt_data["active_card"] @@ -229,12 +229,12 @@ function M:OnEventFzAction(evt_data) local index = -1 local ftype = type if (ftype == FZType.Gang_Peng) then - for i=1,#p.fz_list do + for i = 1, #p.fz_list do if (p.fz_list[i].card == card) then p.fz_list[i].card = card fz = p.fz_list[i] fz.type = type - index = i -1 + index = i - 1 break end end @@ -245,45 +245,46 @@ function M:OnEventFzAction(evt_data) fz.active_card = actice_card if (index == -1) then if (ftype == FZType.Chi) then - local data ={} - data[1] = opcard[1] - data[2] = card - data[3] = opcard[2] - fz.opcard =data + local data = {} + data[1] = opcard[1] + data[2] = card + data[3] = opcard[2] + fz.opcard = data end - p.fz_list[#p.fz_list+1] = fz + p.fz_list[#p.fz_list + 1] = fz end fz.from_seat = from_seat local remove_num = #opcard if (p == _room.self_player) then - for i=1,remove_num do - list_remove(p.card_list,opcard[i]) - end + for i = 1, remove_num do + list_remove(p.card_list, opcard[i]) + end end p.hand_left_count = p.hand_left_count - remove_num if from_seat ~= p.seat then -- if (fz.Type == FZType.Chi) then card = actice_card end local fp = _room:GetPlayerBySeat(from_seat) - table.remove(fp.outcard_list,#fp.outcard_list) + table.remove(fp.outcard_list, #fp.outcard_list) end - DispatchEvent(self._dispatcher,TX_GameEvent.FangziAction, fz, p, index) + DispatchEvent(self._dispatcher, TX_GameEvent.FangziAction, fz, p, index) end) end function M:OnEventHu(evt_data) - local cards = evt_data["card"] + local cards = evt_data["card"] local win_p = self._room:GetPlayerBySeat(evt_data["seat"]) local lose_p = self._room:GetPlayerBySeat(evt_data["from_seat"]) local win_card = evt_data["win_card"] local win_list = evt_data["win_list"] - + self._cacheEvent:Enqueue(function() win_p.card_list = cards - table.sort( win_p.card_list, ViewUtil.HandCardSort) - DispatchEvent(self._dispatcher,TX_GameEvent.ZPHuCard, evt_data["seat"], evt_data["from_seat"], win_card, cards, win_list) + table.sort(win_p.card_list, ViewUtil.HandCardSort) + DispatchEvent(self._dispatcher, TX_GameEvent.ZPHuCard, evt_data["seat"], evt_data["from_seat"], win_card, cards, + win_list) end) end @@ -302,15 +303,15 @@ function M:OneventResult1(evt_data) p.hand_left_count = 0 p.outcard_list = {} end - DispatchEvent(self._dispatcher,TX_GameEvent.ZPResult1, result); + DispatchEvent(self._dispatcher, TX_GameEvent.ZPResult1, result); end) elseif 1 == over or 2 == over then DataManager.CurrenRoom.Over = true - ControllerManager.SetGameNetClient(nil,true) + ControllerManager.SetGameNetClient(nil, true) local total_result = evt_data.total_result local result = evt_data.result self._cacheEvent:Enqueue(function() - DispatchEvent(self._dispatcher,TX_GameEvent.ZPResult2, result, total_result, over); + DispatchEvent(self._dispatcher, TX_GameEvent.ZPResult2, result, total_result, over); end) end end @@ -318,13 +319,13 @@ end -- function M:OnEventResult2(evt_data) -- DataManager.CurrenRoom.Over = true -- ControllerManager.SetGameNetClient(nil,true) - -- local info_list = evt_data["info_list"] - -- if self._result ~= nil then - -- self._cacheEvent:Enqueue(function() - -- self:OneventResult1(self._result) - -- self._result = nil - -- end) - -- end +-- local info_list = evt_data["info_list"] +-- if self._result ~= nil then +-- self._cacheEvent:Enqueue(function() +-- self:OneventResult1(self._result) +-- self._result = nil +-- end) +-- end -- self._cacheEvent:Enqueue(function() -- DispatchEvent(self._dispatcher,TX_GameEvent.ZPResult2, info_list) -- ControllerManager.ChangeController(LoddyController) @@ -335,7 +336,7 @@ function M:OnEventNiao(evt_data) local list = evt_data["niao"] local start_seat = evt_data["start_seat"] self._cacheEvent:Enqueue(function() - DispatchEvent(self._dispatcher,TX_GameEvent.EventNiao, list, start_seat) + DispatchEvent(self._dispatcher, TX_GameEvent.EventNiao, list, start_seat) end) end @@ -346,41 +347,41 @@ function M:OnEventPiaoTip() end self._cacheEvent:Enqueue(function() - if not self._room._reload_flag then + if not self._room._reload_flag then self._room.curren_round = self._room.curren_round + 1 end self._room.playing = true - DispatchEvent(self._dispatcher,TX_GameEvent.EvnetPiaoTip, evt_data) + DispatchEvent(self._dispatcher, TX_GameEvent.EvnetPiaoTip, evt_data) end) end function M:OnEventPiao(evt_data) self._cacheEvent:Enqueue(function() - DispatchEvent(self._dispatcher,TX_GameEvent.EvnetPiao, evt_data.seat, evt_data.num) + DispatchEvent(self._dispatcher, TX_GameEvent.EvnetPiao, evt_data.seat, evt_data.num) end) end -function M:GetPosString( seat ) - if DataManager.CurrenRoom.room_config.people_num ~= 4 then return"" end - if seat == 1 then - return "北" - elseif seat == 2 then - return "西" - elseif seat == 3 then - return "南" - elseif seat == 4 then - return "东" - end +function M:GetPosString(seat) + if DataManager.CurrenRoom.room_config.people_num ~= 4 then return "" end + if seat == 1 then + return "北" + elseif seat == 2 then + return "西" + elseif seat == 3 then + return "南" + elseif seat == 4 then + return "东" + end end function M:Discard(card) - local _data = {} + local _data = {} _data["card"] = card local _room = self._room - local _client = ControllerManager.GameNetClinet + local _client = ControllerManager.GameNetClinet -- list_remove(_room.SelfPlayer.Cards,card) -- table.sort(_room.SelfPlayer.Cards) _client:send(Protocol.Game_Da, _data) end -return M \ No newline at end of file +return M diff --git a/lua_probject/extend_project/extend/majiang/nancheng/EXGameController.lua b/lua_probject/extend_project/extend/majiang/nancheng/EXGameController.lua index 3bd6a49a..77840ada 100644 --- a/lua_probject/extend_project/extend/majiang/nancheng/EXGameController.lua +++ b/lua_probject/extend_project/extend/majiang/nancheng/EXGameController.lua @@ -243,11 +243,11 @@ function M:OnEventFzAction(evt_data) fz.active_card = actice_card if (index == -1) then if (ftype == FZType.Chi) then - local data = {} - data[1] = opcard[1] - data[2] = card - data[3] = opcard[2] - fz.opcard = data + local data = {} + data[1] = opcard[1] + data[2] = card + data[3] = opcard[2] + fz.opcard = data end p.fz_list[#p.fz_list + 1] = fz end diff --git a/lua_probject/main_project/main/majiang/MJPlayerSelfCardInfoView.lua b/lua_probject/main_project/main/majiang/MJPlayerSelfCardInfoView.lua index c879c928..83af93a0 100644 --- a/lua_probject/main_project/main/majiang/MJPlayerSelfCardInfoView.lua +++ b/lua_probject/main_project/main/majiang/MJPlayerSelfCardInfoView.lua @@ -92,19 +92,23 @@ function M:UpdateHandCard(getcard, mp) b3d = "_3d" end - local cards = DataManager.CurrenRoom.self_player.card_list + local _room = DataManager.CurrenRoom + local cards = _room.self_player.card_list + if (not mp) then for i = 0, (#cards) - 1 do local tem_card = cards[i + 1] local btn_card = nil - if DataManager.CurrenRoom.room_config.people_num == 2 then + if _room.room_config.people_num == 2 then btn_card = UIPackage.CreateObject(self:GetCardObjPack(), "Btn_Card_jiangxi" .. b3d) else btn_card = UIPackage.CreateObject(self:GetCardObjPack(), "Btn_Card" .. b3d) btn_card:SetScale(1.05, 1.05) end - + if _room.jing and tem_card == _room.jing then + btn_card:GetController('jing').selectedIndex = 1 + end -- btn_card.icon = UIPackage.GetItemURL("Main_Majiang", "201_" .. tem_card) self:fillCard(btn_card, "201_", tem_card) self:setHandCardPos(btn_card, i, i == #cards - 1 and getcard) diff --git a/wb_unity_pro/Assets/ART/base/main_majiang/ui/main_majiang_fui.bytes b/wb_unity_pro/Assets/ART/base/main_majiang/ui/main_majiang_fui.bytes index cf1863fbbba72a35be5435316058c5abe8da3fd6..e9722c51785db202cd6f098be47d8154d517c9a2 100644 GIT binary patch delta 33865 zcmb`w2Y3}l8#a7qw(kN-D2EmZp@vTA9Rku@LhlfeDlLjgkrEpsH5}ogLj*+W5j7Mk zK~$;`5ye6Yb`&IHLn;3~d(I^11pU7E{l7QYwR-Q~_tbsnd1huO;q=0=1u0=m;_TaF zJ>o}ccsi|9ffF4yMNylo&G_U8_Zc4V#&sv3$D@943RPKLH9Z~{g(vUh`T*DGxV{u5 zeq6a9TE47{7ksrovm;u1Jls?1!97n5F8r93w44>z;vU>rTlvm?mgu{Eawu!<>v^go zd&D>6)KjdDFZPQWtgUb2=|M_6wY~4`=^?CxujZL(ts~NOqWiI|Z`nx(^Mrfqc^Y}f zA+S_8Hy!2%(l)zbr1@!hSCa9TmmcZs~Tg`q#nHB(vJ)_ z*k^v!$r=K|VhGS>b&C7KMw-5vA5~{VecL|jp|n>Mee8S}Hq6)Ud^{UYapA0(@~Aq( zcL28|eF-%p4bSI_I!YbwtNHO4${2NQo?4YRuA(;nnzdE@wQ3dC7|;H-X1CIyT9QFufptyHgHLkX%do@{E zEeXl;8ew146Nbmq5+C=C|1w&80#E+k5(PWiwZ!|V@4s52ONLrv1B*3Q)F;&`{5qYf z#$M9-_sHuh8dM#_;?^Zind&J+L#neXzV+)3`l33kGdNu5tME3uJ6G^Z}FsHzLpg_Kc=_2cRy-;$3C8#9poVs!~Mh+#dH6m=;r zjA2hGKJ{ha;jgDE%hcsGtFkDBd=cl0DJ#@|bf+@wZF-(Tx|QlG>QjXs^qu=wRaUEO ze4lM_2Q)7(=|V^=fiOATWrLdPoACW+_6jX3z`7b<2sWyl zXh{K9+qe3M(#mG_RsYS+A4(Woz`lmj9Cp3E^18a!*Z+EZwv9@Kv$9;>?zik6>P{LM z&c-Oa)ZMJ`rK{=4Zm;jgPi>8TK>O7LzQ#8m z(cS?*NcRe|HoAHU_^|K88y%G+YKE`m%>l|$^U+Mk`2YLr2eiI0I_tQ4 z!Z+jR{_G^h7h#v#sq~s&HkVn9V zT33#x=#MI%ZR$B+{@+Hi%#Ba}rm&A(6Y;J4bEt712|s4{i7nvKzDd3kzLs~EvkSgY z?+ig64gT82J`s5=F~ZL(>Zj^O->koTMSccb`rK1l{lZhv9}0>o%wu{Sk5|3qzLh8p zVFiLKo=WOfh_l2f&K0foRk|CaTvNZIzIE6ju72%HyIV~81|IbE-9+}SxMSb>+T9z@ zz8Bc|f!lDIU-{16t?RpguQIzXo`(OZ{)DFu5uVBkXCFgx5v&AFs>d2}^#-N+crkX< zcj*3L-^vG36jxsq^ov{2ZS_|=P@hdVep7!(4j<9s`m8QZYQS14f2e;h+r@eqchD<; zsee;gLpE8ttKOqIjP+9Ps}CqCo<-5UhO9W(Jd`n$d#Q9!7NIbWQ&Y|c8OnqEnyP8E zfwR8UO<@K-;4I#-@YvQIx{<)TnVvr}uJ&sAD7*=4O}8Mj@}mVRu8%3H4l6~aR93+% zfcpqE&*y)(x;YD{sVXa~glXZlRAp_9p2#&qD@d1B7N-=_3R7}ZQ9G46)LDbDh~}lD z-B=}BsIeMKQLPvq(pWE}xK;w$zU)i8RDu?0EFZPhSvjSo7D*#@)<-GDVkmkvkD@C& zLr4{^EN4Was4`k~4&hK&gN3oOL48n8D^J<;ct^T2h8Hp_AVEc~5@okwosAgWRMx6c z3zM}ns^X@aR-G2MWG(0elNB;*;7Lt&G-a8rr&3FcrG^$8!D`bw3(>ERR+si!tgBK_ zt53Gg#uyDWymgOGAKI)w?Y7a-Mp|P!X|n{SiPn@#J1m|xqqN>g++1rxwOXSG(j2_r zmRcPB?y$bv9d(V?%Jo`gD* zc3gWzc#?9g&41}gdTVWwoA4uTOsyTD-;uP|wf4AiJxN=w1K@w4)Oz z@@~Z1vBF^@Ss^VR!S+*F*(h2xgjJ!a(ySP*FTtk5wu+TxqZD21PS2E-B{p}nEQG?m zk^cPE6DVw!ycvMPzKvw7SXW9e#p3CF8CJwiQca7e8>LtW){`2PW>XbQ>qT#rcC%$s z%*|GP8`-vvf)DdIs54!P!Vt%enu=^c9Lzc>uc8eF2J&uP>+LqemF7p@w>I%Mu5=Tu zcg}0P4b6#Ws?$g73(qkcR`{rxc2=MkgLoPGININ9T0gBn-Hc}I*Z^8smcf(Kjk0Vv z8z@}q%UYB+h&@I_MzP}tg0xmaolSZL)+;weN3*=qnN>q={n5E4*9MF5T$#CXc?cUK z!g3`Uk~?6MnQ^VG>81#TG@@@(`979FPYnfmocORn>;EdQ@vP z>&%9`bK*;MZYC>AJ4dtp^jcN+278nyjA6~#2pakxdT35rX6TI-t%f>P)jqyiU>QWc0i?a1u zarOh96nH(bf|yDj>aj%H?Ze#aCPjB*gV}gDYTi<_sd;_mFyTK4qV!gS|7jG}*+daX zo6(OYFkzjOz$^nZel1BeX-NX>{qNzmy>dXyPXn5;j@IMo`p^)YFE^ZKHwg`=QM92c zb9`U)FJzQPL4nvBmm5)kY8r^B6GeQ*okQK4v2r1?^~a`&t?Thr#@3b;mB0#`nv8c* z%~|h%2=kS4L-5zl|0M*sZvo=}G5Yp45NpvXyJ>MRyx1q)c<4diYv{$bjxOz;L9qL{V}-`4e5*N&@Xtz zp7clODgNj@#tqDCTC;fNDQznK+#0jqY1(vZ^9UQDOwwl1#z$Bm8Jeo}_d8iPK(uVb zM!W7=1c+U2*cb$eQUef+o~B8!av6&{p)Ctgvll6404qnk+p-a^gBQUgvK{N-^yJ}a z@*41qU*ytCcr z)QNaOlQo0&i}_}gt{5O=a5ES4&AD9>GjryfJG;UN?sd(bZ}w6mFxAAs=w-YZG}UY| znrn2u8>@nu=sYSKkEv#0M%{>%)jWd2S};9iI^9u>mqNyqD7GY~hm8_2lb(;8Buuc~ zalZgJfoXM5}1?3x>{UR^rTf#KomDw6i?2dUr0b1N0ajF!3*&XxBg_QLY=Itd` z^Zd>tWPoWc4CHaj7{yD{{2rKPpAfZ~u$mVN6Z{e_1^FUx{sJvo?VlG1roT(`On+~PNq1v!78{vqj>$It`{OT0m z8`C;>xL)qd3c1vJZ91rdK~$CXyr{B4OQp{JSYKs6M&6cwc}5=ElRNUnO`ee#`HCmS z-KuNmiSxYVneR#Qq*xk+m=kuQc>~x2L)^GSZ{R-;y@9L&mONJmVv@K3v$+m~{WChD%$d;%Wnf0vLBV8>N)Kfd z*cn(LL%=LYCr#Iak z$_#h;ypwCMx|2R-kv511jba}vFKff7#%Q!D@2u&toG@((nlN#NUDaNr%VXF|_Bu@+ z%WAN#RC6(_>YFn$pWZ;xwrShx>#=Nxu>&uAr)TW)+AMnMqWpC3am=~)J;sJByR_XD zHI5BpX=2OA_t-Ko*WRE*BSyr)tK^u z$D!+wW9RG0Ulz?NhtM%MA1~s&IlrnpLeY-Xdrz<@HS8H`C#l6`c2hg0oz~8z*M1VO zT=`HtOV3Y1<B!K17Q-&m+Uc%h=5}6@U83yiNPk(oLXXUF)31J=yXj}Rb;!=StEf!Z zE>ir{{@iDyQY0bU1qXt>}$$OVHLRc z4fUDDy0dR->nt`y`A++us;zR1eQ`FL{sSGHjXgtAY4KCs-&FT$MFm|zNo%F5qEpi? zUg*MHo%#dZCnfH~68AdYpMzHYsQp9<$!_*($w>GmWh-3tY}hmI9s1eds`37NxAvFl z#4|{HL%T_l&$7?y?M!&$TPY0Y`VEzS&aHgXbEy0+Et`IRjxA%qh>=i^UVENBqTJSg zrJtW?JC)zG-)X}OtRMS>{(6CRR{qrPP=~p=|BE)xWrLKzwY#Le$a1#+hwj8Yr|~8h zw)_lhkELbYJd~6`FV92ub3Xu#H~1MvyQkf!0hF6|!F+5CU{7cTt4MqS+s}0m9a_MK zbDdGSg=~_lb6p`?$d=KLC1}mn8CW3oSj1`u-OgHqptoxgK0@S59t0%SsQ+RXrf9lO z;})aA24&*?Q_K=pQ(`0+IL9SiQ*=|eXvbmpR{Dk%jB&-*9m-tFmWc>PS)X9iIN!%Q z5uyLk+?STS&5c}!jt$o%Xw@=yoE4-}zhig29^71x;?i;`3h9OOc0gCI7jb(4nXOpi zX7=L>`0nnWvUFqtOXO+~+Pjh^QTH{h5H($e9{VrHTN1{bQ%t)W7>5Nz#^H71YhX3S z^%8O{|K|oBWVoLR!|iPF3W{D*kEAl|{&V9M)l*7oS83IH*SG^i@%QzpR%tzoI&6R+ zDnrgDR!P;P^|G|%6;_Aq<$OaXMC-~E5AN&bDJqq=U7dFizSW&LW(CJk6 zs8U(4LUmqYUGtT}6hwYm^9@-Lsp?hz*$rUT$lAz;Db@8FG+`sV3k$=ruZUN&bd&o^ zzS)EZ^`IT+*aUsEqSw-6Y2RiHirT(&f5iC0Uo9cl=epqmS4Xc)!(IhfkKTC|1E{{< zfSfI?pVJV#meW1c@fvRXvayr4dkeFbMtWm9xFvT;U^qq5!fn|6{OdJ#QVfXqUuTbs z0a0x$o2E3?o6&1qAC||`?ww4dcei125KrH3WBoA(PjtUIM`XX8-!(mRm8h2D}@ z?FdO9PjmM8Jw;I@y|~kDZ`EDm`yKgqA@22{>|HELX{EQO5xd>@y5tSKsYj$!y6L~m zaZ1T)E*o%4m(uVa+vshn)*Jsp+Rl62w8?wm#IMp;|6RZ$^f!@HJH0(+9dL8n_aZ`vp4*js)yY;9d{5d>aO>YJ$CnC-W-(B94ry> z|HQMFIk}cs5cKH&AvdL)?{(^a82R?pdkJ6r8?4EV0w<2J50u_|pLAaaE5!UCy=mJ~ z*koV2f0SYRLlfUcwZuoq26X0K)(YFg;m0rsYD)`_!C3p#^Kt$qvrf8$CiA2_Xd0bz2MwLVpc$qQC+BoX;^1ic&tJNyV0nS|3xXg}y9raax>(H#vX#HP(^MOz(7!jWU!4 z`a+R=qOQE)mK=Hgf0zAm!|o3#D-(Y3SDC0La0E<|6%7B9bI?*G)vysXQeP#NN-?6@BtEkYQ>=6yy4Eh=x z_$Rt+E$#Y~`Pe#Nie1Q5uo~0Xs|RTC9oAmipr_L7cMt_%q3HW8QrW0)qT+v{p__df zu|;UkUrcjeRhFTzp2ZOD_b{Eth{Y~n7kBwK}(%+`z_gHVXnWF9^ zvvhqgwY<*~N^eFXeREd1T|8YqeLa0GwiO%J+w^_3>pr6AezG30{>}mY9hjV`RU_1@ zwD0Oj$2VYoK~q_WDj!r+DeVCoeFz_;??TQFyP;pzkKj`^9#r(jH!+uO;MJ52{phl@ zyuI?SevC>mK8C$V&oPeA#QF#HIpbmx^Nzynvg2-4a~)%CI->Aecp@TOz}=3N&oE&u z@86UEQqfQ7CuyMa-)ADioOKm#s|}BN1K&Kcf;lecqJgZtD*7q?G&R-uAmxnyA+6DP zKYWx<)_75s7tzmAgpLQ9;;e{;y)OMD{k;A$Ez$V^kiVwqn6XnN-QnLbl1$8Ze&6mIQzbPv}AIR?d(q~oV`aQZ)fDcse z>kp`OIB!n3!+3SwlMRzvNJ#}*QQy^9RGJvZOVEIDUXWIYaj$BqhUTiVuox81D=CJS zLUY6UJh*RoX=NeaQYmT_qc02b zE=F-f%r<7y)k3_3QPPOS%`5(!QbuXqeBi%{GRolQNB>Qt|PXG3gr`n*QjgMLuP9!t~hU_)HfPXb}`;TX=pT}X2ntS#zqsoxMyA3XlgWr zc0DDPfVR2Of}%@6+tP@m@c>3Eqcyb83%Z8*YEe{q#AriWN#5USYqUd3OnwlF#5<(q zlDw(X-snI_O7gy}BaEvPJsOE5os7=nStY7gk~_3JlE)}rjIQ)WBp-#Zt*uM(zr}&I z!Nq**hvHS2=3U^e6Jqghy3?`JFt{ERJ%g3f_b5hBqZc)f;)7UkS`o#^8ht#5SWfw3 zOP8Z+Wq3)YuhEY>mO%^pW5PG*BP>6R0ko?OjC~*}(flzsh$coO%fbHBMe37^F~k^Z zB+~6@jMibsa7rl4>tPFPZdqQ|7@=P?MjE4NcUj&|8EuRaWMvW39Bw=+0&4nzay*}+ zjWr%K#?iQn{3U#4iha4h;c*#Hj;6vzORbEHK zp0$CqQPp@&ZIL>fMfqYso> z8MQDT)?!~dUVwGRdRi&K1|yZO3Gj-sk*db>=E^2)B#(>b@f1^=m%|1HmaXmCYp#Vk zuNzxo-|Jz>fB2toqpYW~i!FL)yRn0I*G5h|ja_u7HU`;lUyFGq>5DqNitp-=IxVZi ztCik^CJxF8qTO&8?-``IUHhi-7G0^s`x@Jj+uKGuHLnZrv{!t@uB7ZU_S4q7ygxfY zN%eSPV;3~<7ze3LJ!lTm;MF*-f^_Nu<1j72GpbpiN6_VZIFqs%(hTD${aFw1>s_i< zA5uJ1Q;lQPzdr9|y@xjKKuy-mDWXng8gP})LuugztV{k7LRL^dFpg9E25998f7hHe zPC;1**?dp&4R}@ht^qH_PWu?{5*@)Msiw${Y z<-GARsf}PR7m(l+YT5`b|J1lhBOCDv%4hg~@+n9f*O-S<@y5KA@`dpwHEPW3AO?-y1(rji$K0 zPQ&m&?MLG$tre|m%BQ*KV!X}xd*W~$U2et)mbl@0%6)guJ*_-XpsABRPk9vo$&#MU zQS421C!KB1$0$GJcwCbf{Hk`#$VPT$TJo79yL6n?V=N~>?B%gma9k&;L@WM^A`aUf zZiOzr?LRYP?)JOOT&i=rxvaoMKY$O$E z$7f*!uskhp$Crk6!~Vq^o;`4TKcT`C-P5;cH$+m4F5FI^*q$e`@H@s|EZjc=Uxa2k zC3fRg(o1yY)i|y0&I|iy#+4Ge*72Q*tDAngGbUWD+n(mFqZmc@=Oqnoykgun?xpwa zhOmmgW=wBscVBK&dUt*r%BziYlyIOAOi%iIJuyyb&_G^<%Jk)5vTo`3`toK>HMyx! z^ZxKg?vb3pw-0e>MI2}Os6Wp=&N5~I@9usC4f*zg<1Fz^{lA=M(V9HCZ)y}i2u7uw z1|<)IvkaU83i;4ldN9xZ(7JFi;*a~GwOc8i9Q}vyJ>sN|_}-H^gf9sB)QWRD&4%jrHz>)KIp7xmIcePZU3p9)3T;QzX zm}C^gxxf#H^NGfru$U9-16uSP=5oUy<%^Bt(3QYf(@xWQeX2Qvm)1~-mPB1&;N49V zK0to8jHOE>cqznU_$wR;#0lC*jNf6Wv04G@JQ9JrByx&0OZjJDEt|72x-k-lR$6?` zGNUML6z^#q4SaYRI|{G76df4FoBYGEy+#im7w9&N4-%*G%rZEQ_rqx3$#@Sp(Pmj{ zG6n&%ocK;!Nhxnup!H*TkAFSUSCeLpg>yZQv=#B)7bi)(X?%`i7N;M^@;B(pIGnA& z+|Ho=k70rmBc{q!W*jCKmBrMB76@1cPx02On$_sveaEapXU6mP zPE8NaD!4!SgaeKehnI^|?+LsIotzjb;`js<5$j_u3+ZYk>QkF)PUNdu9k-;fCh{JU zbv+YvVh(0#o(`Vz{`X%GWp|&%rzoY(`gCd%2A(|X?|%N;OI?$A{hAHfS2)0(UmQ4P zp30`Utt@XVxwn;a54z%;*`6d`1#_m$Njy$zh!4JHALsFrjXb?_Osk2fDLiN^i#Nwx z$I*LQ^f>Qr4MqNQaaDkm@{;lduWsPDJs!;Wg-R*MJ&9K9;1rLeV)PE;ok;pNB>~0PkW}i^XXG!#8#x+Q?UdPyG9!syy2pLld<)_FSk4{{--eO) z@+QnQb4GmAr!oA4hISkse;Om}AANvHC1!#P9{UDP?xKHHN}0z?`hLD)&<;rc!4*Wg zWV_KI^By4*J|QgN6R@3vgWT9_b5|)J&EnO<0uBNbi8UzcIX|;&HD;bwXCt>Dm*LF+ z?_7rAtW(U+W*2&E&i}*!2PeY-yTSnHC1W|=%{@J%yp6EHp22;*u(W(;f*FBkbVeil zQpzyiJ+k}1SzHfT+|SSChKHV>KJFM6^PhN60^&#?H#}eryT`_3Xm>KEojdU@kaj!^ z+v|n3_Xp4Najw|`R7|;QPu?J2ik3O5}o$( zCyn3CBplHwFWCOM$Ijk)nfD08ey})phQwHM;h;hU!)Maw%XnwyaSYRi%eXj_m^1}@ zg_<}zXD>$}nT#`Tm?%7HPN5~sd1B;Kp5A%Fd2e?KsopiGQhwqIVSzJiF!HD2eRW#g z6;p?E#2w%2R)xZb!kyzF+k*#xUxs44-=Bdk>)>}M@GE*);Cj3i)eXyZvC~#&1+Nm0 z!);)u2}VS*#!IUe_g#5K6Qn`2SMYKUPQ5*NaQAEExYf;3rZwm+=)ySu7ASBlGAJN^ z!}6#vc1sksi^s=6apWy5aO4dYu83S-6TeDWg_2kDvhFW`ytOnY3XQA0B+{P1uiC#+*epR`Z&890cx@|B#$ zm@oWUn@VnkV?Z~!3$k__u^_{Zdl>EVM)a0o#Dc8hCTyyS-!H&nv~Jv-`yZZ08%?)1 zV^3-telg>Z%{c{!o`9SGYEYqNw*(dX^p=o9U;GaX9i#73%z5TZ)Z}&dW59oOBq{K9 z8%K}gmHFlZy1CU&`yU^N!hxv@s<{x~SL3(4C!liAM|GxK+tCS&%*B+skJm}BvV+fM z+7dIxTuSHCu~m|=i$^Q5=F7x(^D;_pbD1C1F_-&6U6WjZvkVV*@v^)=ei`{4Bxzu- z@(UW8s|6^_*7)zMnrm^A3HR&#_chG*0+ga1Z*aqWpqU#`c&b}CK2W)(#+o=`=r4Yg zAJj27`$1jvRX?a_Zt;Wq=4*b?z+#rvPsGwzA9I zoxcAKPE1QPcPq8%oi})F`rJ49qfB`N)Xlf}C8q5`4d3+F@GXBPvF6(@z;9IT-U}B} z$K2~D>YDrfpq{zk59*r-{GfsPjvq8M4+>BgTWfABtD1-XH9X?KuVH2g;O`-QpJpC4 z-%ZEc+Rv0@=6mUj4v0GWJeAD%Y0^PnRC^gw^?kZ}kQY<2fC@ZZ?x`msdFo5J0(%ng zQ~V)bTruUdRf;X)Y9*h9Ym@>Kt~EaZ3_pUR)|tm8TyLI`f>%(NlT_<4a*Y9SE42w# z3Bb*$N&vo!s+^<^LaEDVuc0ad`gK$#0Jowl0k{oS3Bc{B%1M7!cAzQ&xD!=z1zug9 zWS;WOr838O(dg;sY4ePK>j|F+JniuH=|29C-<$N9ADU;)Gc@N2FW%>znduja$Zfbe&D72UjOerA47M?TK5}$^OC;;E0NKJphDDi^Rjt~mSpgv&61QP&s@LkBgp0i%l4U9WEM5RB?NQt zm{*a-ZWM)Iku|f-OUsXw;$s%bnYnEN}f|NHxLm#Z&#{M(5<7`AN>@$p*yN-=g|Y-i5@5# z-5MS6{Xchr))pP`z32dMS*;yf8PMfzrPdy;{9d%OsMZ0E{2q<;HZ^}R&&vuu^!~1! z7bKVW{i$*0DJp%8*Ng6`wqQ82Ct8Hx;P5mE>R8s^{2GQf2?eRFgZT|DI>t+i!=T4_ zb!`X#)BKUXJcfoI^XyRu3ya08Zespq-tcE9zR?BSllF&s)4YN2C&E1bGJp2tqU3vz zm(K2rnrCGX^8J1~b=_6#Kw`K*)Y|Akp&~D_`XO5Lm zdEPG@1=-YKS$?a4Cfv;^t>`2&F`ouu59k=MpW&uQG?Ww3Jnv zy8eteRLx^NVMS5F`yQY37!qkwX9XnDo;a?qxKc7ihhv~qUOP(N>+?j z+0Vs+s~5zXZ+R+NRs0V1ZBLAZ>7L4fEl&uCUr#>V=czB@enpq?fMNpf7E;BQ4-YE& zBs`=Pknphi0if&VkC?|L%rH;*1zy#vYE`4sCwcLH)vXFv4Y$geEPMF5pekE6ty=%e z#agxhm8)ab_1kz+t)5k1!Uk4D2^(3BC2V3fm9UxBT*4MsO9|twRuZ}BsK2v&Km{-kKocL~D|SN!H^MK4DFk@JVZmgil#h zC7fnWmvDylw1hLQSrX2+=17=qJtN_>)^id*Z@nPQ{VcrjT!O68S)WVzh4rO`m#oVYUa_u9m}Om)@GI+U3BR$vmGC?3dkKHAu1ol%^^=4*teX=4 zY~7MD+xkVq+t#lV{$~9y;UCtY65g@?lJIZqu7vlj`w~8|J%G0^z&x4FB~)xxLe17C zG;C8s%eEzS?0gdDw+l!ZW`|1{VHcFJkX=~9BDPn;qINL}i`yk6ENMqdSjsLfVU%4) z!f3m!gyrn=5>~J)N?6H`k+8B|MZ&6fH3_TRH6*NQ*OD;Su5JE8OD>{I>ezK9tY_Dk zuz}rB!bWyu37gnWC2VFlm#~H1Qo=a9m4vPBM|^(pu%F#u!U6U`2?yDOB^+W8l`zpBCgE`VQ3*%bBPASV zkCt$ZJyycU>~Ru~wlKr@ZPuPnM_F@T_*eMb&wS5x4Y%h~= zxlIzTuvbdB%3dwu8hfpT>+JOsZm?4&e8t`<;U;^tgs<9LBz(<&UBa#QHVL=eJ0#p` z?~-u0ohIQM_8tk}wBM5OZ984Uz4kr{_uB^~e8)a0;UW95gh%WQ36I+EN_fnEPr~=@ z4$H=wz0*O$j!q{DJ3Cz@?CNxrFy2X!u)EVk!k$hq341$z zB<$<-ld!)tK*E8}APEOMLnIvPBuY5U87|?Y&Ik!dI-?{U?TnFdtn-+Jqc}~LTofjmW z>%1u8Jm)0|=Q|4|T<9#4aIv#Q!W3tzgg)nG370v`B_wBsge#p@60UaENVwKnC*gW$ zgM_KhD-v#WHc7bIc~!zK&TA6B?rfECo3mZQ9nMY(cR9NyOmp6laF6q*gl{=-OPKEL zm2jW4U%~^T=A=~I$3lG$@*P$zLILO`4zlXW&VA*x6n&dLU1#c@kKRRND?YiI_j+kM)@MlNN zuw9t#h#9sEZ#!a!?ZV$2*WnA#{fFZ^d;#w`uEQ7bZ^w1`0^W0k!=IDQi;l&IwFmd{ zK@&%e+$*r(>Q(b$>lFl{bz1*)g9U!tk&0iLkBnfY>j*XmRmN5f0=_YUaj+kv_xH7kh6 zb8rn5G^-6dAwVpvhHjP2>-^D$UYr{G$BAAAvJ;Aifbk= z9P#&fIT}q_vVc@PYKcpH$8CM6-b#&R|Cy{^H)x! z=EBr+>0+Q`12hN^--Q1>hHD}&uhIi_Vt{7iPs$2vY(V1GHiJ(24NW`mHf=lvSpfmQ z#^b$Tgdjr*K6eG51q5S2x&^=~;LQs`DcL!SFsK}XJ_my6-y!%x2-p&kVlO`t7rt0~ zyyiy`BnZJ(H-}GfV4ypQp|~0dfi)k3WFhz_r-(m548i5vt~C#WG$Hs(2snQEf(z5k z6_kY_O9))+XFE{D^k9K~41$P1Ah_-3fL{x9e{yoLe}f=S2>x&dFl~mv^^;qKodrRX z5L|HuupnM0M343VsJEMqh3b-$9Tm1n6_5zJ?-Jga~dx!2X2bXID@Ft*}D` z=wXT#g5y%4ieH$?DZ+XlfL7|p6M~vj5LySjIs{olP*n)9mFrPz1s7pgh9KfE2r3DI(g&pY$!UdM0fIOo zDCY`VKV%Ql5F`mflv@N0mcJH~1I7!b3c*Wm4*0^5$6!iAkSPR3UBOLADSqaC3k?=4s|42%_&ou*4OJaT(goqYxwr!4X$5@}XuPf*@H45N6Pd zo)0y1KLlw)u-6rQ;Wje3nQudoB?ND}f)5^Q<{J=1+=F1ZE12<6Gj~D|Cj{GF!Iuv; zb1MW%LhzapXiXn#=Bp5-3c)5<5c5zoUx6S~2sXF^??cU82LZbe!5UYv_Mv93f*@81 zR=5Jp4)VOs5}^S0C42SI`mAnxO2Q>VPmu-<|oSqS#Hg6$90Aq|2wA=s6Z zLx`)jc0iCN1lwFeqlfB%n7%ARDN^!vSwfzkyaOJ8=C9;Nmmiw9Bdt{MN#NJJe8xlF zxE6dW_|<|p#EdFrP*^L$XM!imhn8eGoWlCDCr6?`_PMq2!z2z zYY-F{0*1(+Cx@aCBnUwfA#i&#v<`(JNEQMFa0oh@%)00WAWgaFYM2GbVB#E0~Q0zs;-6pnP5 zP>8P7>x3u}@hMYefguD!bmjVBfdUUt%uw9rB*V~j(_?|)E)Kk`Cg|7z?Ph-flvu4j zg3Id}4LUJEE0`6y^%FGeiUnO6&?yE=$NNAp!@aqJ0U*Va)T@X{lpzF|F5&?eB?{W$ z9<%T-3a&$tEd*{K@r}sgVn86)eO{#>1kt9y{@j5v48!AIxT?DJ7SIVM(%Yf{-UJP7 z45A0FdO~1|x0Eadf4Nn}ibH!ZL?EW2X+i)G0YgX%v>^c^ad}l8f~-Id)MEi!yr^Sb+-O1AP~dyWx6V&`L$nags)q)K=he7hEweEk;|Cq?e%feM4w5)=~pBy9PQW zHHUFirlg+%y&kDM1}?AC2Q>cXQow8KLqL3jt39qtxV$Q6{}d|()7{sDXNDl!1um~= z2n30?zj658CqFITeIzcg(gt*jr18X zjWP|iAHN>qFW+lb0v+x6%XaII*W+o4%f#j713)JPXk~Gr-!YTHp&?PV)}WIEvyWS0^ ziGPho)chCFN%_$0>s_0@0)gl^VYhXKz!65BDg+x{0pf(786wyWL8cI3dI774K>T%q zpd8jh!16<|Pzc0chtVKJuo8k;As|=qA&NK}B3K4Nq7e980fvGxK17fLL5dJ876P$_ zV)#M?^C8F(f_ZKZ;Sfv<5zK`kTL_+a1t%UV;#mly3qX)81PY4KTZH5=8-fHOcv=Y5 z8-X{G+movyNEU)vA<#zPf~n+olr1bcO$h3_If!@pYlvVP1X)5b!xbo~1AItO4l^N$ z2!jBX!Mk`Jf>%QXs65390h$BBHxCKWd`c36*M&fdhG2Ja4$d|RQiWiLn*-hh{`yW( z9h_YdWC}r=o5LXFAl6s8{jdiD77oE%u3#kuPlgE6A&3=%eL|qNfFPuq&H)G#h2WqN zXchBzlyew@6d}lP1(zUrH>8MnA;=Jd_k=(%2*C>>f)60b76Ny2qj!ZMK16T|f@m=t zKjY?59D-j$1ZN>g5Q3+KK*gFvuM#Y<>p+k!1W&q^#Ii>FJ4BEKL7EUWa0Q;E9kNxx>+Pf6OhS4+OD7 z(9abh?Bx**fFMx_2Dt)^3u9ME4v7$?2*Ge6P=rl>8zLA1L52{Fas|RBvqA)8AjlSi z$AmzQfZ$MwU_1oTg&~;e3eq7M8X|ZCf&?KLA_N-VWT?Oy2SKtBxNlQ?41!U?IatDA z(uBb8A8tbs^13b931tZZ3G1@%4^jY?1bWk0EPj92uAM& z=U~B3C`kz5tRPsFw+KrZOsWvL2BW`^970BxB@8B02wa2FQy>T#IF>LN{0l(=gE9C+ zl@taOD+CSQI-JQ{NvA#piQd3Wp*5`Gvp^f%nSxUnbc#qnRHQeW=PkeyAvHq?Zo2|2 zZvo0(2(pFXR*oQ~4NhAKqVbQ|ltlPN5pDA3;IxDwK?v{_1A^%ggmjbB5rSkP=!G|i@AA&d`Xf6ba;?$06AeONOgz~9#jgfz7aiZ~ry zgp~|ItPngaa!}{x6*!e3NECu$ZV~Ju!J`nQ2*F4<2NWTUE@;?@l}CmUj1>X}-obz< zNH76{?Bafd<1;~{vt3$Dw7kwF(9tE3{&6=wf~wIyB>iLv5`T>5V&4eM1JGNV1XsP zY@86dURF5KJOVg2N)m#n+*aUC7!5;mfcK?TA*kk75^o}pK=|oQA%H)|yA*F?LP!p9 z&xAj$SEMBTao|nt3lYFQ&bZOAv z1k?O`&=IBmnY&?VE$I5VU=vt}7Xuw9X;jTXlyK<|f>!Q>P72VTk3o0D<9fK<)aoJ7 zsio00^fO8pbr*Z3b#aLbdOacpWd_pgeUM%a&|=7WRpA%$hc5%Wlp?+RXV^sgM}T%sOcRvvU>6t*!ek6VE|sK7-qwQ#i*3QL0`C6EEbTEnHq#H+QS zRSr5sQ~;3D}-q)~W8>6#@)vk5?ByGg%1mqF`TWmoECY8ZJ=?euD^tv_Jv)M-2Ss3x`rh z(25%vWcjJE@x^#7XwgV77XdmV8rd%q+2dD~J^BU^m2nA?*IWfboDi%Q0{mlg9z&EX zry5>!4FpL-fR_!jDsuQTM6e!$R3Ui96$}eBF*k>m5M&C$3Ri%Q2%}g?4n7E2SqSj? z0OW#)a##jItPs5H3Q&93=jIl%5rRY^$Pfbkc?cE-7vX#hL5dKNE5OS&wgn5!O%P-V z!CqHz0|LbHpniB2f@~pp+pR;@!97+=k#Ni1N7NgaC(t{Ct1vFFr#s1&dnbfocJ2#vrlX{IyFEW znARF!h0yS-lqu<}sG4w2Ihk|e-C0b)-UNLhnD&TCacqDVM=rQ~JAvlgIHy`YBG1szevUp1EW z5G~?OoTSAI4NZLubdsds3D8AQfUs6C-vc^T($^oNcY)3f(0mr&SWBeJO)VSB zM<{ZQDTh`of{v9m!dEEG;Wa5y(qh6YOffgLmGmPCSZJgM)1fsl06H_64k=rC z7qs}->BNac;~++;n3v_gF&lJjFg+=R7Go?inBE;sE6Jc!g6Uf!^sao2GHNK^68T_g z3SPMQ;jQqW&A7b$XYkpQ*NzGnJ_0)&?q8AgDnr0W*9@c=JVVT2X}Cnh@+y_VC*<%E z$U7EX3jSYK@N5eBWXX%~W8&Z(O9uCw;Q347({lJJsN*p3@KYY2%fARdOY;0D#0+=> zHW3{DkMgI1kEj)>pS}tCj{x5loLjzf7JOU?|1x;IkyJq4TwY;9(4b^r90Y z>ICvv1^;IVFN`ow@=6Cp*h3-wo8Xgjc;st{{IhVy-N- z&#Z$END@7y!uuF4L41U34lb{PmqYmHu8Nerp3}z@KxE>oDFkXH1hI8x5263v3{HYW zZ+X1N6W|ji@3x>hp1+H0y5Lzi@F|kl3ZjOU@cb~Y#e!G91D_#z9Yf3Ig(0~4bG$jq zmb{7~C`{S29oICGp4|l>T~F380%ouY&o|(T6TEU7e1hbSu6P5&hSuRa=JLnECre(R zi1yVA;n#pq%i%@+(!sCBg&8dRXAAhOdg#E`q65XB({~RntOO}K(yOe4AfkStf;uYi zRsb3Kk0$eL;Nv9EIVyng4FW+r6@c@8HP;%%XF@v%*I6tOt4vN~yty`trR$gthdIf4@9y6Rb6zt;wdb zHq^Nm8>F?>+tH3%ESa^Zu-Yun=zxeFeJLOIrTev61>ca>GLddDg{uxJ(p9 z)L;dC)y|}_u5|k}>&_B=cg~DtNwjV;8^pTNAB)*IOIxbx-Sr;6%ICVWo>bszR*d!X z`Oa0;dh30B2hX+D`s)3B*7>$te|>;2>3l0T(6{n@CpO4;^?YwO*jN8T53QY^>|1)F z3mfA5{6doN?jupU{*XS**Y2Yv_OP#8^=QlUnWhidNBG|Q=yPqP{z&e;%34=Z6Mud! ztuKN7dA76~0sHf9YBkMz;IVX(dm9T)=84rs8IpWymrPlXM5`mzA!T8seAjM7X{s=z zMPXz|j?u^Jaa$dK1qL+U#IV?u|>X&D~9!$9BW}Tu^TJy+tn}37k=IH9f&Jv z@*9Xd*%y&Hggx$?nAy*G0`F6NXEJB9C--)}I+(GkRDf7T%PgSj)AZ@S%h!4tGdvab znKZRLi#GXf=x6y_%&kN-?=dg!;@q}9lMpytpF^4DS#z$>rML>Lv@h#Ri_N1>71&^| zKSkRST6X9v< zY2oSO>FVj}>FIc;A;Ts5QtDQT^{|%dsc7r66jzzmpwBC@1Z}y#f=X6qQ?zGwAFZh@ zO0bgVEM`&KDvZ}N-wx1L>qHZ)uy-u?5lvsCul3#i?lHE`ckR<+>^a};@2hIh>+O8$ z-(S?$>l=Ivet3bU`Kn*QUvQ{>s#^m0#dJZqrLW` z{u14aVC}g6vhST6W!Ningl*He`|jTurR~sP^*!?AC~c>nPF)MKQQ9tjx3BrlQQ97T zuW!fA-o|T4>UEk^h_$ixH-Pu)Z_?>Ptd*_r$J+tVo78OrD@9qOd6@6>2E|PMEd;;q z`~Fr(?H&Cfr59!cv<&?a~pp&iwaQFtWlZ4^hOTeo5BgRW5-~K<7jkAb)&R6o@1$N$d_g*rhb^9xwT|l&z+DH1wzBTuIMPI~N zy5y;(f8wdDe=4R(l*T-^$Mr<&pNZy=`5db$_{*LO`WMh%3DvCgwfMWDmZ@K*2X)vW zu3w{?4Bh%AmY;9`9?HIwuk35z& z_;0B3@A@A|V*u9m2EJ>NF?6{h>!SUs-=nIHSTFZ4{XSR+Yz1F|TSaM0BUX&-e^a;a zth}y2(6eY-ch-?MYOIju$$DTggHz|mtgofvMK=uE^bD^_mm9M%da?&JCW0-)rU^Rh z?I2nGRW#6P8tSl;^rOzoVNP~#%4$-Ho~)ql$;1*^({O2!!8&VUMn2kMur~R-BaQq< zxM*4Y(B0uYiUyd>r7H$2NHNWrp+y)4sENs1Xa$WzG}~mow8BOa`b2<8qbSv|P{$~v z7|pg=AFVj6NGoRX7#d_Fkv|vla8^Q8Fp^>x^L$n`vMXtn%9a#oF@mjN#Ts#Fn@EZu z&D+x1;k=Ml8qzXGSxOtjJ6q-OQr@UQsl8dt@QQe;WK>3lFQF|r`BvB^C}}2-Ah!>i z=9@y%`be_@oo>ad zP=<@zmkMJ=wFX8*8r_;zpyV)Ci8b==?pahf8XHaMVj$2VvkhygH8q-1L_XHn_)TAH zB+$5gY*Nr7RMD!0;T5_N^`^ezEK#mTU9D=MgI1(cT3|KmEKFbS#i%`NfwibKH(LHD zi%~DrXoa-oYSh+h4H#IAT3c=Kl6NgK+9LQrT#Nd%oOS3KMrWg#u6c}hbSa8;W$S2D zTQqLBVi^1w5j?_ZPh*O)W%9*qbXZ-S4V5^b(UBf0&emvqjZUPMU`ebq6&T72OR|vB zg;Gke4sdezmta#^IjR-SMrxXoNY6*-597!Pb56)4Rr(+5L&QFu_@Vql3(qdR>NqjIW5tz%gcQ8Ilm zavBoLmdj#BAgAABVbcV&0Tt>N$2w?RP@(m4$m&KZeZ1gtzkX?ptV14POGVllAC#x*m#rla=-12;=8PP_6N-W1tYo+z+6kDDJ z8TvRDYU3TNDhf2)Z{l090m8yp@>}<0Hc%M%3Yy=px97$HVc08Z0h>M&e6UIHA3f+_ zSaen$>Hh~7J(&#-Ht4-=Ruc&XtomWCqLEB>tD?1s_?^|yXhT(Y(HM%(v3*0mF}_20 zEJ~}!3bBVMp(-y&%Xf0iY@``g^hfENYHY>7^q^>4byk!K@2S6V5ZPQfh&BG}4x*U5 z!4Bg8!OgFt4Kp65%5~WPyS=3gb+GaU4DMhy+;1RZZ)r+hHk6I<+t{xusS_K2^IRM@fszZqVrZ=)2zazy+Jxa&!Sfs}h;{FKq3AhW~%q+OgTT zHpYP8Z;YouM(_qSdnDIsLJt=GKiS?=w&!W|-J6D&SX0)Kr3g#hUYcEM`VVF|r4jd1 zSTndV0gD?$GAKy|1#E8xy50c@mtORM>7t|f8C6i(O{-&NlP|7dcwc4 z&Xlhe>nd&W;8r=dIG#T2k5V@-4YxqFgV~H+^Kxd$ zyqpy>FZXv0o|kh%=H=c_IrDNT)##ivB^%PcF07gIft%11UGXLyVL3V1VBr5dN4Oas zPlRJ6T+nNYtc^7i^Xn-ioT??Eht$ybb)M;^PuB9n)-cf7qrXWvbnNXUjQ;$&M?a|Q z+S7iAG=`Rlx5CDJdZ!!flgIO}*BwLlnNY`jkcCfIBT64ZncZ2EwLr{zIN zej$PbK6hdm6aLVf23&6q9~d)vNm^c+TlD?{?g*#5nB!ua6_8GVbjthpgr^G+8BS$m zsyU07pe;RFYqp3ctcUA+=y{$mVlmQ(gN!(npql0J#q};iHF~iEYzf)*c^OLxmKw`w zY%kV=wDr6Ioo z15db}Gz z>&qN^B#gyIullDnS7T;g>C3ulWUQfD{a9y95|p$vF(Z7h+maOSGN#2<0k4vlrvPkEm4J^4$r z%@W~pJkZ4_`A%+Z65gESd01ne^$($_^xH!wOVUpRuK2CbzO4_lOlE9G(&D@Ptj>n$ z=V{9J8PPyOIc|4r2bb5F^QrqPlI;Ot)zGmz;_R!h!>wdLGkvHmSG&C?-0xm z(~?OHJ5}2?<6YyueFq<9Rhf3g;kc=tRnk}mOroF%46;Lm~Q#s=d8!h z$3^;jDoo)e;}fbsjU^lBv+zTAry=5}6!$6@@o!E;rQ}(#UQ} z_PfaLdiGm+H{SR{v@3qX>F@?tRsR;NFCCi7%3!Bx>s++N_r?$O`&^l9pLt03Q_+g$ zEz|;$D$#&>tcD6hTOh2n3X|pkj8dLLD%Xu0^zKvaGwdv>vLAU`mc8hFHZAO?aZ7zc z^ry4uS#|ngKD^`SpGJpX)p=o>eF4j9pJ!NO?T&GmRz1UZYCjo2Q`-fsANz$iF2FZ# zs|Bp^>V>R5`<*&0!~wt`#-H@cLKeKePbrHqMdbc|W7_^M=20RwT8z2{@A6O7?iqg( zW^72z<7-)0ZrrC1@3N}2b18dGH~#j-(qHS?P;NY+lgroy-N-UM)HIc?VvIyr)9Dp( zn- zDI%AUFY!HXn)_Bf%f4coW!m(_O62a)irK6T)mVkiF0biQb7ChbY!xC#twEi;QjIm@ ze1qOyjbW3|%C0(i6I+@stbxfR={JD-j z3@2~!b8Mnk$SkZzKAAMY&myCT(F4Yvs)f^ywCv zSjDaIY%BWHs_omgssPF33@9v_qzK9o#Q}Y4Lv^+0pW(~6@*)OwxZY^O} z*#oS4fBR~dY7kKD)Xdsu9oh{At4r=H*#E3&)~8{wgw7JouNZ2-4P|LSS59IEY~039 zapP|qyPZ8O=E?c(>`ASm*@(LC_}4M}qWDW*W&JTczk8LXU_|xV$;P4}s2 z#8g%^u%>mUls!l+C)mHNtqlrZz8-meM)UTf_gk8+=;Gf0IJq@J$%)K0vG6CouF4~G zxI#N#M-HvcHk9?c%pv&=Scb-OaghuAgg0~Eg(Y+M$@dQXr6o(=2iLHz*^UnE`%hwH z=?YB4=>0j#eMb}aBf0iw2YP?MOs>iSupRw{5k_rJ_IpKX2>Mg}0ob>W6fgu;-a=(M znVo6oTQdHYx3c30n!Xw>6BbdXDJ<2Zx0M0~60`5BKOivs>b!#lyO>>N>p16Od-4fu zz4{O&;-R%fQZ7*nmN?*km-htTd1^F$9=+dQY~_F2RkYCa@Z zulp+XjptQJ z@e&)MO)?*)6_;3D_81+%ghg=KB}R1Y5{vLn7*p6_7Bi>rd-W6MSlTpmI_=M74;eF% z*G!7Nih@n0N3XKCv{~kCs(CG&T62wcV{_>GHDojwdx=ASWbLr=Jo8J`=qWmZf3&B~ z`PA$tYlj`@J~a3%@C)edO>DqT-FNpZHqz1-nu|n|LrrbI%lZL67Bz!wKlM$Vy-2Ak97}Q=OJ{G_z<_m-av8Mn8tK* z{yv&Lx9To09PWemdHqcYaLk1r?wYkK`BwiGshjJ~4V3s7jBOfi{EJ0v8_i9W@fT{p znF`#;cE}d0dY^UFwwf={llQS#`6Bd3?xUP9`QoY;)y``r-xt(_XjqSD_ z=BpI_0AQz?P75A@+GXyh2M^ddZI8K^#%JLRelrdgWp=NbuhX|#BD+-$c(nHoeAPUI z0=Dze*}quHRnvHFwr^EB@2|aS?x!%u+gk_p4frPe^Vx=_sYX9+t31Vc3GFQ$vPW@V zo=z}chrKQQ2Hku|-y{P2TL;Yyw2tj-@kL3x+7~B+FLG>V9x@NpAb#QSL~VDnhxjCs~PNA+wzKs%4oywc`v@%{F> z&AYRY#KjcHb6aCyn;%2e!{IaV*>=w16SPa_C)C=@=fXH2_aZfXq`ABp-sC@@%YP`= z<&|lTi~Wi#W~O=7yhbfPVpV+0n_Kj)%SWRBzNDluUZ><&o{Hwzo=WC7p1S6@o_gkY zXy2?Xu3`9@U(u#8URnFz{DDq~@gD5DZ{qZ!y7`)UgPzI9lh}{gWR23cn>Xoa@p_BS zY~<*zgXV2Y&X0gQv@1UmE$E^r%(x3vo3DqdTtC@MFRjE)x zj0_zcY1InyNt$8dBc&j(KyOFzX!=HQmSu~e@tR|KX+k01BEKsQo5v$8T-F1M9l?v~ zRu~54F0kbYn8*xEcv39w<=KgDBeZGSu$;oLWwKuzmi^zx7DgxRjCUAt41q} zq1e@}c*-n>V%MM*1}jXkxt&V!+FD1e6U`~bN8-Ephf@46TwyCPILenc z#3U`2cY&qu7R#gHLywNdAWNdVTUkkSuV!_#y3^HIK8W?8W^sJ9)zf34L$l!Mm!b1< zSYmovz3EOIO4bK!*QO>&qc8O;jq%-&UMbDTu>Mq}3{o5*FGtbxGF&$XT7#^?w6+YU zYO*ziUM|ZkQEXWr#)eY0vb?nQkeO)>vmU12WqG1D+!`SiI5NY|RhfO*#R$_PMp}

6dPI*)?;)wmDi@H%dlvBgl0{)9!JC?RX8@v=&35a51T@l ztMJm{*k-q$w4OlTMbR2#eKl{CgC~hsPna0()>N^l*I1ioO{W=Ec~>^WSMyXM%B;$Z zX)~=^^jB5hkjmyi<@12h(kQ>iO8B46C)-rlBo)2KD^l?0|&X%K1%2Mom zte}|GIi#2!=YFZOZAW@&1SpL^oYw6XR820OM z8uXh0&son?LM?#x)&^Q2K$^9Y&eh`0A~qSdVT97q3`0fVT=5;=5KWD1^9nGVVti>^ ztgSS&HmdnhZC-}%*2ekH%QUetEU{>{SFCLq^1tF)K+9`keSxKp)UEB-4oa(o3HB=8 zsl%hSomM)9*X4a9#kJ2t*}Kw-cuVpOGRUgStHV~|^2y%1yt4H&Qr>I5Mqk(EE#OV# zNWHvnyT*yJNzQH=Yx&iM5OWL^sivJ$1Z@{~1 zN35fCOS~VGZ9+F1;3RWsLo~%nAM+N9&^b~(Wnqt1{~A?#jwU{eZ)7;9McwzU4-k3{ zq2KvKt2g3Btq-l!C}SKb!^24;zrrE1S}iJ>0SczyPSkW{c1? zitbD5${%5@^WJ8yVi+gMIdSmu+>wz#lg?tq%EEigrhW3|b*wUXjWxADRd+6%{ScK$-ph_eUUc@ySae-#a zK%R4fCVUX@E)Qu#4qkA9CXsgc<3(%(v2xB`L=u5>mkt{DkT`Q0W!BMb&DNZGYd zST`Pli79s7AHV>)tcWkocEzTC7tORSN`8p{7w&S{!+1r_wjHWHjE`ns>Eqk3ev9@G z!x|Fif6r&wz6%7oZm&<_Ts&oKN7CAg&=R zSf#5KZvl(mqTuu6!5 zVMkNkBHq)=K;k$fqKHwLP{nEJDBk#=uQh%sUYXgg zcqwJa(6!Mpnz7>ax4dr0*`=w?7~bO_FFwZ8(xq62k0Npzqlho&UK|}7gSjzsEUZx^ zrH!6sPe9VueXMyQIx~SA*qr}( z0)GyUB61jmO_DDr!Y0;2>VHh+k836D+B9(zCTjLC3dm!)*Xfr@yk2}AhOY}xK4Djx zr;;sRE2-BC^0h+Fm0;ry>h~zGYz%~0qng9vAc(J(h!=UJZr8=(^@&G$QrUW*UfBb$ zv8RcrrKhFCo1y1%`5)PQgQpT*dyE&OUXQ^88%&EILx13R06;AEMNBA8uRO-XNSn;# z-1<5$@_HKMapYLN(-~jd9Vhe3YzR%BjDdhVzW!eppljl_q5u2FZiGFEE|2pht+CyN zHa^aKTe!q+*TGTb-;eXbT2s3j4SwRkF@>!un8FE|!nLMg3ODyp*%p|>Z%)A!Zs~t- zrKWJ}f11K={^b;I`%hE2-9Jv@ep4}p+gm5Z6fRF|r{YUOOz5wt@@~NsdS~!l?wNDb zc{*B3!$b?*bZ$(k(|K`mxmnKVlHq@%8|7t-;Cs$fX7CsbD+|lSRjUm%c+=eT+O#H zn^(GLqaI$?mt&x2RfS>6uP z_F{m&B;LFD2Uu4Ou$ZTK|FVhyG{BNi; zcm2BNT=VO08$mbg|IOg@-I;3A=>@!)bssK(xa$XN(^C8*07hd9){R1VCin;7z=e5D zke_*JA&<*D5dXam(r}5$e~13oB8;7&8}@GChCLd*qW_8!6u8;97#H#LUbXL+ZI>`K zbLH!{&4wu9ih_)Qd%0PP%m0ZrJxPxu1)eO4|>>NyZF}mLhm#yAi&iiUZ z?4crNC2G3@%j^JrY$AFgIyw30V+M~iD?*iyr<0?NR55UAa>$I!i% z*z!uM&x%=hY;3mU_d9N_;lr3udnU$>i) zRBJ6S?cz!w0tP{`L)y{D5g36ReF*$b1d4)N`0T~y zK2&5FC9dNg3gd2{$P>@DK%VR%;X+qDeZGztaszky;F8YAc|44AxarE>P z2Cnq*R>(Mx;&fckKlL2ehACj4M0?+Uj`wtn+c-)QAOCt88af*e!^r1(%e+_h>}hD< z7m?6cVmrP_K~EHL(7uTgd~MI3PSw}*z_q>E>(Qa&+TObLyoVdOwui*dQ}f=ey^A|w z;_4pqze$JY;4AcCZ~Q(&;0_-x-@tpzD|1gmAus(5l39fyS@<@Z`75%rkjwdxRSSe6Cdu1P+ZAF2Nb07X(*t) z64+!j8edSjpa%+eHb9k@H}$q{hNFbtqRsFkXH$nQycG^~mf|06u04+~Y(WX9;8tD2 z*6fcvU&K5w9o~v1L)?lJA9y#n;sXya@@CyrFThj^MttC1c>%k2;x{C4vkqUFPyGj1 z>&D{3Z#!E5Qg*)nk4lwi&6k7nJn?c+o~2(2$@A&|AkRlEmaf_J?PuuPHhHY@zq%q7 zIQYets3dKHy^vP!;Q!GTEnMI#7iKS#m!39bew?PXX*etnzPpvAEw-2JTfdVZV8&8= znVm|>dw4AzVGZ5QW3`(03O}f2KkEmzZJz``}h~k*oETl_P5L)e*!h_y?#*3e$5YR+pqgU z9s7+y`S!^GR*xdk5L$hEzhBV6J|LS0TXmwmXq>nGpql-TA5^yw3J@sXe#6eN4-q=4 z_P%Xz@n@KJ*nW3kop(gZmU}AL?@`wbUes6tlN*4~;u|XfeV)1suJqJXa22)}q##Pi z&Oks)npeR!T9|@swfukwGsLuoaakk@neQ3ap3k11&y3Ul0Fn2jh*0B%BI0&p`5 z6M$P#nB%nJ5Rye%0)a1}Fah`?3KM`Yp)kiO|6%Mu=T~8`pe)DzW!Z+Z1mJd*MMjF$ z_3`!z`Vn!AC+w51TcnRYT`!a&Y zqh9^?+h3@da}cvqaLl*tD~iKm4z_f1>g-vC3S|0o46Q(vM?Z;X%aqL)a}~`NkmYVR z&wBeB)ewyaYq-(=Qs5G}quKcgwsSwE=|_06xQTj#=NW%4q6GD`OHdWR!-{6g6wOq{ zIE$9}TC_xDX`?xs;+ucn6hYi;$5Go?j^iw&>oHu7U4tAq4rM-?zS5NS$CQg`>PkY)QaS9?n9vm^h6Rx=F;3fof5l#V- zLNRTrQ;_Zpu*NAwQ73t|K82kk_H}=fVuvSZhDLduNc$qg6%J9(+_Tat>O?uk{M>Kg zL+Vi6DM1l;(JfUy)&wV--b6;U_9S;BXF@tJxMVR-tP@A4&tgdPUQTJJj6X>qbj^Zw zWu0$>MHn#r=EiQG*iJhH5+i}DY3G8Rp0?F zOu@Ib{0hEp9|4pr`aAYf1rOTC{DR2RPDQ7ZHrQY4Pf_Zc!KJQ@8daeO@1xXJooWhJ zcj5z3tKrn7Skc=~EvI$>)p603|uy0;s#wBY=83y#lDW(gJaHo^5;4Wvkf_t333clvNuHYNa zJ_X-&_A7Y6c}u~!op%&G=wv8($T_UwyUu$G9&wH;c+5Gj;0foXf~TDK75u>YP{GsA z83oTe=M+5eTu|^M=VJvgI+qmu#Q9Xg&z#Q{yzG3T;1wrR!K=k(YdMME$6m^cbvNl{^b0u;4jXv3jXH&uHYZep9m$1lqyi7sv)fCjdhJvQoQqcA~3VOY+f??i#3g-8QD;VJ|pkP67Aq5M2izpcB zEvjIYx0r&(y(JWk_Lfwzls87fSZ|zyrM+boEbA?&V0mu^1uJ?hDOlNCMZv1xY6@2O z#>4E7{|xO=!&_6qTHe|U*74R=u%5TRf(^V46>Q{ftY8ywQw5uO6BKOjZJ}UGZz}~` zd)p}3*4s|O_TCN(cJy{qu(P*|f?d6d3MP5GDcIfHL&2WjUJCa1_EE5}x1WOjy#o{+ z=pCfsU~jU5L%c&3e8@XY!H2!W6&&Fmso*2tQ3{Usj!|%|cbtOby(tP#@J>{4lJ`*s zAM;LD@Nw@G3QqApso+%aGzF)7XDB$+J4?aY-Z}8%WEal$&QtIy@6+D-{sI1scY%Tn zy^9oF>|LVZQtvVaQ@zU-T;Y9IL7#V}f~&l%6(sK(1=o7lDfpcCc?H*dHz=6q-KgLu z?`8$Jc(*F}g7-xQU-G`J;49v33U2rAQ1DgnP6gAwyA<5*-J{@M?`sOa?tMeSecm?} z-0wZ0;9K6e6@15gP{9oEAq5Y6-&OEE?-2!$dXFi1+9dv7TCqxYtQx4gF%yyLyA;7{J475v5ftAf9Ie^>Ai@1F|Z^Zupaeed52 zKJaD<_>EX}U8W#+H3fCoP|$QO1#Q<+(CfMihPn9^%?#q+nyWiGoetW(p>_%@u6nwp6f{+giakZd(Q0 zx$PC~;C587liOLrE^b!^6Wt^QySd#J?BVuQu$S9g!9H$Z1^c=E6&&CWRB(_xSixj> zh=N1ihZG#- zqTrM6RCgNPx`CaBY5q=~>CQrk?BCh$90ljP^Avo_eOkf!?lTH5a2G1L$X%@95_hSB z%iL52m%A$zeAe|TxYAvv;A)o?T;r})aGm>{g3r6_72M#aDY((yq~KbP@Dfp(lU%>CC)h#lH%CH&D9Zn1>7T;Uc=c*hlPv4lUla)lP_>o2Zcp#}WSl`FJ>f4Fjm z2Ap-z#R}~&thl-|Kf6F^92`bxJ#cZs6MsujJb~RzFbD^em6r*FDC9K zjK@<((C(+8V}1$57Bnu_dBksu;3y8UcY;p*g%>H2DRO7nUz9&WP#;gEHWGqaLeNGQ zPvnamot`;(DhUBQ4nevQ?9WbNRND0Jen-C;^rsKiocuyq13OY^1&oASn1z6dD zKx7ojzJTD25O`$;XG8E42(dZ#gb+Ak5M&8KgcRJ%Enqz$i2u!B1BRYuxPps~H8JK9 zUn>kcIY9Fm1c{%=0#Bq?4RoraT?GFaLPvtm2+-oU(fF7Ux-sb6ioO$|g+$z!h}15F zj`nj5PU8LNLmxy)7b*2 zI0WfJFhge18d+S1U?d*VhLQHS5M&C$87V-`xfq&5@x%*(D|#UO4+s{>EG{C8#UPUL z%ohUhmk=Zf!F(w|OigSi<_JV5rwBoe%;HsKA^I>!AZ9_D5FC~Q4DDQ5+=1YX5d0(r zd=+9Z2ua}=2(pCWiWFe{vo#?C(bVyOLU2n8#Ez!;$tlD45F`u1*HZ8$Qiuo2!YIkJ(ar*-l`C!2tj3$1;+qAxU28>v`ZVQ22+qC_8s%b+I^EU*h z$U-lM{6mMm4nd+2a4EoFBg!@GJrK+i0xVRh;?H@ixe$VMAy_O^z!D~Za;mu$f=nUE zkb)6;s`(BC;SV5qOA3nTsU|EBB?!SjDZmwyT)p`^1SvwWR|-DQQ_bBFqzOT~6dcb} z%~v5fBLv%};PpJ!d<6pBp(s+~B_S}H$O=fX9Pc_#= zkSYYv$rPIAspeV;GK7GnV11ryu7cpU5cs5EVV-KPaPO~*(TbEvmHZRAYw0`yp9p@D z$&UbybV4b`~k^t$X!L}P4JoE-;jJ(?ixC90w|n8utx~Y zA-P-G*#$v@5Wum4;BX$n4hT|&U|V(;A&ac@G6ZQta8P9tI+&anAvhxhze&N4+>PjL zgdj@@Hb}v`JgxXV1o0e#by9#rhA#BZ8VHhwV6_lfrSsHcB?PHL@T?T%%TtEs5M&6! zGAR(oK4fA$TOqhD1c#I$)EYVOLJ*@ta72|MS398klqdu+jVR>6Jk^9LrCCA%;|jsN zJk^Ayq;w(pQ3&{1q##zo?4`lE4nd|6z;=R!vCAcZA*65}g0F=@@0myNB?JjVa8(G5 z$UK585TppfWhwY1kKi*1(uCj>AuvU6h8FT71ZRZcBO#FO5GptiL6#7l6#`LBy?IDA zPeTxIK=6SOh-&5%oPr=(2u=ursAev~F$hwH;GPhOYK98Dn2?kq1n)@!s+miGnM=2Y zAXW%OHA4k%DF|Xr2%?2RR5O=AbXKAe$j)N;-2m}7rE_}IEe^pfAwa)_z>irJ|H(`cn0_bX2F6;2r`ABut-6+&rwXu}xCpSU(Gh=%Wv?3|_L?2$XQZL_{wGp@ z0)pEr{&I{w4V38fXgragzMx~m{Ds3Gv-DVP5G)>G=vgW@ z61PObTH+D;M`|}fr-z|%Wz~?j-U87AkL)*X8U&e$-vMRUx}w)a9TEbPNNuQyrr}FN zhBrmHcp^1y4o^Vl_gna(Wh*>Vjcy=_7xl1XEUYVO_V?n1W`U2>u0vY-5dnumOTpAy_8_41?Da6F(<~MG#~N!D=ZunMbe^g4;sytQ4UA%s)a>SPnr< zI0Vat!1EDOcrrw=1cF2%SRe(9AwV`kWtb1aEFpMGX0a54aUp`a5TpwM<`miiWUh7) z%UGrmOcw&}c%UV7s`(@Y;Smt55dxzU9(e9KW$;#qAVCOPO2Kdl#A=b9g0~g~DMIkL z5a>IRg)nM4f+-NB3Bgn;z>G1)q|6bZY;;BlP})E(&V>lXijgG*s4r>}hZLp;3)~kW zh%W%a%QA&mAh;YN*akte5bThGZ}JFsLXav1yJQxFAlMa>!X5}Rgy1zPSPQ}S5WyP| z+!lg2g+RZKhWaH$Z~%gsf)Knd1jZ&j?}Z2sLXao~hlBvXv*e$0*$w5s3&AWQI3fl3 z7L|W2G)Hg@f^;D`AqAK?#{7^hPC<|<1RuyUJOsgC!2<7N5QG#@!a}opz zLNHzmK0^wBhNMsjf)pXBCj|O5q%b5z&;WuoA!sB7+Q$$a3=uSe;EWJ7lLFD*--Za9 zLy#o|t%X1gdrK@E+3nzM3qgEg2--^l#)H*9M9>j}WFhD*1z1C^M?(Z%AxIU1q-+6F z3Cf~71Q|lmQwSJFv?a`3P8oVba9ara3V{bx&q@yw^oJm(2n2(LK#XcDIz%u8f1Woych)Sq~ML*C2)m*l^_JL@2EqY+?8~@K#(E?iBd2Jf{=!GyFrj91U;nS zK%PSOg5Zo0^pS#h@?_B%f-E8ECj`bzNMU$zU%CSzh%XL7{cJ&qy>W&2kt_u9N)Wof zIGFR4Dg;xr1tF`0GaZ5qA($xydI6Ln#27fUA-F9BWu@RK1RsPHG8uxH5)eqY&A|GW zOE3(AL?IY1QV`3i6|z#hBO#b21Y?ANe*?jg;4Cz(;FK-|o$qLAZ*+rg~>L81_NL<+KyN{|R)q;VL6SwgT*mO)sotsoi(o=6*;rj#xO zuSmgzJc4ZyWR~);FLIq89EdAFuI#r#hl{;YY)7L6Ut!3e3C_SH>W~lwxSn1UjYwCC3KJ{vPO05G-g6StMTqbgGDt6%gc7 zJeY7&AWLtqfgnQ&U}`{?Kmo<)X?6x4OhUS?GUyhdYeCXcWMKadIwlVBxri@5OJ(cT z0NGp!v_Bw7j0-IOv7ki(VQoDX1Z}`oqFIW*g!P~df~yCfNc|1a=^}ZUYYb4~wZS2g z0%6J{c`5{%f%sM>l%P0*tKkt%9BB&c7G4_h<&tUDM*Q^w0j3K+*}j1wp|rnva%c=k za1}hVc>Gz=DFIsi^(r}s#d;QtCsM<1Jf*4FVnr9dhEm89M4C%MpAor}D7`ig@ehJj zZbYOlT0ct&Z~)++pyuQd0lJ;y%RunFY~EhT;&O-}4T5ALSS z2U;|Ac|2m!Mrw^frv_-_Nzh^@mcxUwiP>-(bcRU&oJd~mU+Theie5xv5ntK^A^0U* z&?Z>GVQDC)0tCNj3$UW+q`;+rP$5vjRVV?xUU}n16f)8yT;f>)TCRsP5nLKigrr-6 zP7ly>ccf%6&84TPXe=~xA1phz-WajNE23~0Wb0i;2Z^N~Yr202(*rM>5-R!&XCl~K z2?}eXr!byK58O*i3D9zLw_pej|CiDNG+%_+b3hxwF!L&zsGZ`xJNEpe~U|M?= z^le3B4V82;NW>G##h{3(>@ONecglKWl6#^Bt-&%-Vu02#Ym7q(&Y^YCvlI==_&kKR zK&LAjpHI1H7j$NTw%VfJ!hYr?j%A<1s{}?H8Z;N(0CYlt)^6pYMUSNfXgxL$E&Dq_ zv%a7|4avJUVxLhohC?n|n5L`%ZD1jhjamdLh~XH?YFFC_fB4g*!yAeA%K=YZf zn<$iIXzOd#S^Q+zTQ3ee zC75m=LPvp4Q}h{7F9*|FPta$A>FCn8xKxZiW9e5hz`#HPbS|;e*!L+bS*)$iHF{VbKXd?F6U|Np_omfMQ zEbcx)c;H8yjxjk3FOgb;`+#OCUc*@RU=iRg@vm5fBDE#p(-m*Li?GS4zA*1T$;`xuL-=tt( zTL?Z)@#a?K3olO?ACGW@BegZ)&xG&`!M6kVu;ed*&kE+nJv_+|7d$TvKE75^`NbVM zCTwnh!F%$9PgXqd44VvFn8RxW!KW%7F+9c=@K^(x@B|~d4L(Eh3`@3g8yr^o058(N zt#}dNN&x2tkmYBUz{k{v)!e2!*h0rK3j!>9_y!pdL81^e7XqygN;nn*aN>bmaSei5 zwF5QOVN>;92>%1TCU_?je7fQ_c;BK1^4E^*3Eut~e5T@!Wr6s=fs?#b6nuD{pcXWm zf%_Rx7ZG3E1U^CWoTG+|L--fKrzl=Wn)u&-`LA>O<8KF_md&GQ47iW-x~HGt1O7}f zZ;IZ>ND?C%`M&}_OYvF<xRRh_!ge3xR>5O=&6teHjWM7Qt0`WDD|M;Lj*t zo{@+Giggsj1sPlcpQU(?DPVnuaHJ!B-$<L*9wR1f2H8v>^9Ga72` Xs#5pi+T?xbhHJ~%zELB!GDH7AIfkI_ diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng.meta diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui.meta diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_atlas0.png b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_atlas0.png similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_atlas0.png rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_atlas0.png diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_atlas0.png.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_atlas0.png.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_atlas0.png.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_atlas0.png.meta diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_fui.bytes b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_fui.bytes similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_fui.bytes rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_fui.bytes diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_fui.bytes.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_fui.bytes.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Extend_MJ_NanCheng_fui.bytes.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Extend_MJ_NanCheng_fui.bytes.meta diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_atlas0.png b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_atlas0.png similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_atlas0.png rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_atlas0.png diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_atlas0.png.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_atlas0.png.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_atlas0.png.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_atlas0.png.meta diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_fui.bytes b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_fui.bytes similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_fui.bytes rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_fui.bytes diff --git a/wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_fui.bytes.meta b/wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_fui.bytes.meta similarity index 100% rename from wb_unity_pro/Assets/ART/extend/majiang/nanCheng/ui/Info_MJ_NanCheng_fui.bytes.meta rename to wb_unity_pro/Assets/ART/extend/majiang/nancheng/ui/Info_MJ_NanCheng_fui.bytes.meta