From 50701ca33ddb621f907b02119e07bae15d747df4 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Mon, 28 Apr 2025 15:50:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AE=9A=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/activity/OperationActivity.java | 35 ++++- .../canteen/adapter/order/OrderAdapter.java | 146 ++++++++++-------- .../canteen/db/entity/base/UserInfo.java | 16 +- .../bonus/canteen/face/util/FaceServer.java | 2 +- .../utils/rabbitmq/RabbitMqMqttHelper.java | 11 ++ .../res/layout/activity_canteen_operation.xml | 31 +++- app/src/main/res/layout/dialog_login.xml | 8 +- app/src/main/res/raw/please_login.wav | Bin 0 -> 36200 bytes 8 files changed, 173 insertions(+), 76 deletions(-) create mode 100644 app/src/main/res/raw/please_login.wav diff --git a/app/src/main/java/com/bonus/canteen/activity/OperationActivity.java b/app/src/main/java/com/bonus/canteen/activity/OperationActivity.java index 3cfd056..671f573 100644 --- a/app/src/main/java/com/bonus/canteen/activity/OperationActivity.java +++ b/app/src/main/java/com/bonus/canteen/activity/OperationActivity.java @@ -78,7 +78,6 @@ import com.bonus.canteen.entity.OrderPayAndroidDTO; import com.bonus.canteen.presentation.SecondPresentation; import com.bonus.canteen.service.data.HeartbeatService; import com.bonus.canteen.service.upload.UpLoadDataService; -import com.bonus.canteen.upgrade.UpdateDown; import com.bonus.canteen.utils.DateTimeHelper; import com.bonus.canteen.utils.MyLog; import com.bonus.canteen.utils.OkHttpService; @@ -96,9 +95,13 @@ import com.ccb.facedevice.sdk.utils.NetworkUtils; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.gson.Gson; import com.xuexiang.xui.XUI; +import com.xuexiang.xui.adapter.simple.XUISimpleAdapter; +import com.xuexiang.xui.utils.DensityUtils; import com.xuexiang.xui.utils.WidgetUtils; import com.xuexiang.xui.utils.XToastUtils; import com.xuexiang.xui.widget.dialog.DialogLoader; +import com.xuexiang.xui.widget.popupwindow.popup.XUIListPopup; +import com.xuexiang.xui.widget.popupwindow.popup.XUIPopup; import com.xuexiang.xutil.XUtil; import com.xuexiang.xutil.common.ClickUtils; @@ -904,6 +907,7 @@ public class OperationActivity extends BaseActivity()}; binding.menuCategory.removeAllViews(); + setViewData(salesMenuEntityList, true); mDishListAdapter.notifyDataSetChanged(); mSalesMenuAdapter.notifyDataSetChanged(); initMenuData(-1L); @@ -948,8 +952,35 @@ public class OperationActivity extends BaseActivity { + XToastUtils.toast("功能开发中..."); + initListPopupIfNeed(); + mListPopup.setAnimStyle(XUIPopup.ANIM_GROW_FROM_CENTER); + mListPopup.setPreferredDirection(XUIPopup.DIRECTION_TOP); + mListPopup.show(v); + }); + } + private XUIListPopup mListPopup; + private void initListPopupIfNeed() { + if (mListPopup == null) { + List listItems = new ArrayList<>(); + listItems.add("设置"); + listItems.add("查询余额"); + XUISimpleAdapter adapter = XUISimpleAdapter.create(this, listItems); + mListPopup = new XUIListPopup(this, adapter); + mListPopup.create(200, DensityUtils.dp2px(150), (adapterView, view, i, l) -> { + XToastUtils.toast(listItems.get(i)); + switch (i) { + case 0: + break; + } + mListPopup.dismiss(); + }); + mListPopup.setOnDismissListener(() -> { + }); + } + } public void openLoginDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(OperationActivity.this); View view = LayoutInflater.from(OperationActivity.this).inflate(R.layout.dialog_login, null); diff --git a/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java index 23b7b16..a74aa4c 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/order/OrderAdapter.java @@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONObject; import com.bonus.canteen.activity.order.MachineSaleActivity; import com.bonus.canteen.db.AppDatabase; import com.bonus.canteen.db.entity.base.CookMeetTimesInfo; +import com.bonus.canteen.db.entity.base.LoginInfo; import com.bonus.canteen.db.entity.base.OfflineOrderInfo; import com.bonus.canteen.db.entity.base.OrderDetailsInfo; import com.bonus.canteen.utils.DateTimeHelper; @@ -36,8 +37,9 @@ import java.util.Date; import java.util.List; import cn.hutool.core.util.ObjectUtil; -import okhttp3.FormBody; +import okhttp3.MediaType; import okhttp3.Request; +import okhttp3.RequestBody; public class OrderAdapter extends BaseAdapter { @@ -50,6 +52,7 @@ public class OrderAdapter extends BaseAdapter { private OrderDetailsAdapter orderDetailsAdapter; public OkHttpService service = new OkHttpService(); + public OrderAdapter(Context ctx, List lst, OrderDetailsAdapter orderDetailsAdapter, List lstDetails) { super(); this.contextRef = new WeakReference<>(ctx); @@ -113,78 +116,99 @@ public class OrderAdapter extends BaseAdapter { holder.machineOrState.setText("已退单"); holder.machineRefund.setVisibility(View.GONE); } - holder.machineRefund.setOnClickListener(v -> - ThreadPoolManager.getExecutor().execute(() -> { - OfflineOrderInfo offlineOrderInfo = AppDatabase.getDatabase(context).offlineOrderDao().getOfflineOrderById(bean.getOrderId()); - String money = new BigDecimal(offlineOrderInfo.getAmountDue()).divide(new BigDecimal(100)) + ""; - if ("0".equals(offlineOrderInfo.getIsOnline())){ - AppDatabase.getDatabase(context).offlineOrderDao().updatePayStatus("4", bean.getOrderId()); - Date orderDate = new Date(offlineOrderInfo.getOrderTime()); - if (DateTimeHelper.format(orderDate, "yyyy-MM-dd").equals(DateTimeHelper.getNowDate())){ - AppDatabase.getDatabase(context).businessDataDao().updateOffLine(money,"1",DateTimeHelper.getNowDate()); - } - runOnUiThread(() ->{ - MachineSaleActivity activity = (MachineSaleActivity) context; - activity.refreshData(); - SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_success)); - }) ; - }else{ - //调用后台退单接口 - try { - FormBody body = new FormBody.Builder().build(); - String url = WorkConfig.getBaseUrl() + UrlConfig.ORDER_REFUND + "/" + bean.getOrderId(); - Request request = new Request.Builder().url(url) - .post(body).build(); - String result = service.httpPost(url, body, context, request); - Log.d("退单 result",result); - if (ObjectUtil.isEmpty(result)){ + holder.machineRefund.setOnClickListener(v -> { + v.setVisibility(View.GONE); + ThreadPoolManager.getExecutor().execute(() -> { + LoginInfo loginInfo = AppDatabase.getDatabase(context).loginInfoDao().getLoginInfoOne(); + if (ObjectUtil.isNull(loginInfo)) { runOnUiThread(() -> { - XToastUtils.error("退单失败"); - SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_fail)); + SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.please_login)); + XToastUtils.error("请先登录"); }); - }else{ - JSONObject firstJson = JSONObject.parseObject(result); - Log.d("退单 firstJson",firstJson.toJSONString()); - if (firstJson.getIntValue("code") == 200){ - AppDatabase.getDatabase(context).offlineOrderDao().updatePayStatus("4", bean.getOrderId()); - String orderDate = offlineOrderInfo.getOrderTime().substring(0, 10); - Log.d("退单",orderDate + ""); - if (orderDate.equals(DateTimeHelper.getNowDate())){ - Log.d("退单","在当天"); - //判断是否在当餐 - CookMeetTimesInfo cookMeetTimesInfo = AppDatabase.getDatabase(context).cookMeetTimesDao().getDefaultCookMeetTime(); - if (cookMeetTimesInfo.getIntervalId().equals(cookMeetTimesInfo.getIntervalId())){ - Log.d("退单","在当餐"); - //修改当餐数据 - AppDatabase.getDatabase(context).businessDataDao().updateCurrent(money,"1",DateTimeHelper.getNowDate()); + return; + } + OfflineOrderInfo offlineOrderInfo = AppDatabase.getDatabase(context).offlineOrderDao().getOfflineOrderById(bean.getOrderId()); + String money = new BigDecimal(offlineOrderInfo.getAmountDue()).divide(new BigDecimal(100)) + ""; + if ("0".equals(offlineOrderInfo.getIsOnline())) { + Log.d("getOrderTime", offlineOrderInfo.getOrderTime() + ""); + Date orderDate = new Date(offlineOrderInfo.getOrderTime()); + Log.d("getOrderTime", orderDate + ""); + if (DateTimeHelper.format(orderDate, "yyyy-MM-dd").equals(DateTimeHelper.getNowDate())) { + AppDatabase.getDatabase(context).businessDataDao().updateOffLine(money, "1", DateTimeHelper.getNowDate()); + } + AppDatabase.getDatabase(context).offlineOrderDao().updatePayStatus("4", bean.getOrderId()); + runOnUiThread(() -> { + SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_success)); + MachineSaleActivity activity = (MachineSaleActivity) context; + activity.refreshData(); + }); + } else { + //调用后台退单接口 + try { + JSONObject json = new JSONObject(); + json.put("deviceOrderId", bean.getOrderId()); + json.put("operationUser", loginInfo.getUserName()); + String jsonString = json.toString(); + Log.i("getPersonMessage jsonString", jsonString); + // 定义 JSON 的 MediaType + MediaType JSON = MediaType.parse("application/json; charset=utf-8"); + // 创建 RequestBody + RequestBody body = RequestBody.create(JSON, jsonString); + String url = WorkConfig.getBaseUrl() + UrlConfig.ORDER_REFUND; + Request request = new Request.Builder().url(url) + .post(body).build(); + String result = service.httpPost(url, body, context, request); + Log.d("退单 result", result); + if (ObjectUtil.isEmpty(result)) { + runOnUiThread(() -> { + XToastUtils.error("退单失败"); + SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_fail)); + }); + } else { + JSONObject firstJson = JSONObject.parseObject(result); + Log.d("退单 firstJson", firstJson.toJSONString()); + if (firstJson.getIntValue("code") == 200) { + AppDatabase.getDatabase(context).offlineOrderDao().updatePayStatus("4", bean.getOrderId()); + String orderDate = offlineOrderInfo.getOrderTime().substring(0, 10); + Log.d("退单", orderDate + ""); + if (orderDate.equals(DateTimeHelper.getNowDate())) { + Log.d("退单", "在当天"); + //判断是否在当餐 + CookMeetTimesInfo cookMeetTimesInfo = AppDatabase.getDatabase(context).cookMeetTimesDao().getDefaultCookMeetTime(); + if (cookMeetTimesInfo.getIntervalId().equals(cookMeetTimesInfo.getIntervalId())) { + Log.d("退单", "在当餐"); + //修改当餐数据 + AppDatabase.getDatabase(context).businessDataDao().updateCurrent(money, "1", DateTimeHelper.getNowDate()); + } + AppDatabase.getDatabase(context).businessDataDao().updateToday(money, "1", DateTimeHelper.getNowDate()); + } + runOnUiThread(() -> { + Log.d("退单", "更新UI"); + MachineSaleActivity activity = (MachineSaleActivity) context; + activity.refreshData(); + SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_success)); + }); + } else if (firstJson.getIntValue("code") == 500) { + runOnUiThread(() -> { + v.setVisibility(View.VISIBLE); + XToastUtils.error(firstJson.getString("msg")); + SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_fail)); + }); } - AppDatabase.getDatabase(context).businessDataDao().updateToday(money,"1",DateTimeHelper.getNowDate()); } - runOnUiThread(() ->{ - Log.d("退单","更新UI"); - MachineSaleActivity activity = (MachineSaleActivity) context; - activity.refreshData(); - SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_success)); - }) ; - }else if (firstJson.getIntValue("code") == 500){ + } catch (Exception e) { runOnUiThread(() -> { - XToastUtils.error(firstJson.getString("msg")); + v.setVisibility(View.VISIBLE); + Log.d("退单", "出现错误进入catch"); + XToastUtils.error("退单失败"); SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_fail)); }); } } - }catch (Exception e){ - runOnUiThread(() -> { - Log.d("退单","出现错误进入catch"); - XToastUtils.error("退单失败"); - SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.refund_fail)); - }); - } + }); } - }) ); - holder.linearLayout.setOnClickListener(v -> { lstDetails = new ArrayList<>(); ThreadPoolManager.getExecutor().execute(() -> { diff --git a/app/src/main/java/com/bonus/canteen/db/entity/base/UserInfo.java b/app/src/main/java/com/bonus/canteen/db/entity/base/UserInfo.java index 219aaac..643f875 100644 --- a/app/src/main/java/com/bonus/canteen/db/entity/base/UserInfo.java +++ b/app/src/main/java/com/bonus/canteen/db/entity/base/UserInfo.java @@ -36,6 +36,9 @@ public class UserInfo { @SerializedName("userName") private String userName; @ColumnInfo + @SerializedName("nickName") + private String nickName; + @ColumnInfo @SerializedName("accId") private String accId; @ColumnInfo @@ -130,7 +133,7 @@ public class UserInfo { } public String getPersonalWalletBalance() { - return personalWalletBalance; + return personalWalletBalance == null ? "0" : personalWalletBalance; } public void setPersonalWalletBalance(String personalWalletBalance) { @@ -138,7 +141,7 @@ public class UserInfo { } public String getSubsidiesBalance() { - return subsidiesBalance; + return subsidiesBalance == null ? "0" : subsidiesBalance; } public void setSubsidiesBalance(String subsidiesBalance) { @@ -177,11 +180,20 @@ public class UserInfo { this.loginType = loginType; } + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + @Override public String toString() { return "UserInfo{" + "userId=" + userId + ", userName='" + userName + '\'' + + ", nickName='" + nickName + '\'' + ", accId='" + accId + '\'' + ", phone='" + phone + '\'' + ", loginType='" + loginType + '\'' + diff --git a/app/src/main/java/com/bonus/canteen/face/util/FaceServer.java b/app/src/main/java/com/bonus/canteen/face/util/FaceServer.java index b4c7069..508ea69 100644 --- a/app/src/main/java/com/bonus/canteen/face/util/FaceServer.java +++ b/app/src/main/java/com/bonus/canteen/face/util/FaceServer.java @@ -138,7 +138,7 @@ public class FaceServer { UserInfo userInfo = AppDatabase.getDatabase(context).userDao().getUserInfoById(String.valueOf(bean.getUserId())); String name = ""; if (userInfo != null) { - name = userInfo.getUserName(); + name = userInfo.getNickName(); } Log.d(TAG, "initFaceList: " + name + " " + bean.getUserId() + " " + bean.getFeatures() + " " + Arrays.toString(feature)); faceRegisterInfoList.add(new FaceRegisterInfo(feature,name , bean.getUserId() + "", diff --git a/app/src/main/java/com/bonus/canteen/utils/rabbitmq/RabbitMqMqttHelper.java b/app/src/main/java/com/bonus/canteen/utils/rabbitmq/RabbitMqMqttHelper.java index ac3d160..5364b67 100644 --- a/app/src/main/java/com/bonus/canteen/utils/rabbitmq/RabbitMqMqttHelper.java +++ b/app/src/main/java/com/bonus/canteen/utils/rabbitmq/RabbitMqMqttHelper.java @@ -9,11 +9,14 @@ import android.util.Log; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.bonus.canteen.db.AppDatabase; +import com.bonus.canteen.db.entity.base.BusinessDataInfo; +import com.bonus.canteen.db.entity.base.CookMeetTimesInfo; import com.bonus.canteen.db.entity.base.CustPhotoFulInfo; import com.bonus.canteen.db.entity.base.UserInfo; import com.bonus.canteen.face.util.FaceServer; import com.bonus.canteen.service.data.GetBasicDataService; import com.bonus.canteen.service.data.impl.GetBasicDataServiceImp; +import com.bonus.canteen.utils.DateTimeHelper; import com.bonus.canteen.utils.ThreadPoolManager; import com.bonus.canteen.utils.WorkConfig; import com.ccb.facedevice.sdk.utils.AppUtil; @@ -205,6 +208,14 @@ public class RabbitMqMqttHelper { GetBasicDataService service = new GetBasicDataServiceImp(); service.getDeviceBase(); service.getRecipeInformation(); + BusinessDataInfo businessDataInfo = AppDatabase.getDatabase(context).businessDataDao().getBusinessDataInfoByDate(DateTimeHelper.getNowDate()); + if (businessDataInfo == null) { + //获取当前餐次 + CookMeetTimesInfo cookMeetTimesInfo = AppDatabase.getDatabase(context).cookMeetTimesDao().getDefaultCookMeetTime(); + if (cookMeetTimesInfo != null) { + AppDatabase.getDatabase(context).businessDataDao().insert(new BusinessDataInfo(DateTimeHelper.getNowDate(), "0", "0", "0", "0", "0", "0", cookMeetTimesInfo.getIntervalId())); + } + } } Intent intent = new Intent("ACTION_UPDATE_MENU"); context.sendBroadcast(intent); diff --git a/app/src/main/res/layout/activity_canteen_operation.xml b/app/src/main/res/layout/activity_canteen_operation.xml index 56d8080..7624b90 100644 --- a/app/src/main/res/layout/activity_canteen_operation.xml +++ b/app/src/main/res/layout/activity_canteen_operation.xml @@ -24,14 +24,33 @@ android:layout_marginStart="15dp" android:textColor="@color/white" android:textSize="35sp"/> - + android:elevation="999dp" + android:orientation="vertical"> + + + @@ -41,7 +41,7 @@ android:background="@drawable/btn_login_border_bg" android:gravity="center_vertical" android:layout_marginTop="20dp" - android:padding="20dp"> + android:padding="10dp"> YbQ*p3s2nHk!&4YUn3ZJH)cnVFfHxxMWz-CL$xW@cvQhT|k=W@cN` zs`uMH`)|+w*&ln(mpQUVqtOe`D@|rJdS+0cii*UyATYdaSg&bwm&E!50081?LouFN z3jh${4@{Z3WFmmq`S0I<5%@0x|3%=x2>cg;|03}JKLQ8_0VwvLgkcDV{m=aWD*Hd} zLBNM!@f!ml{`$bpgZlHXQf7zuD< zbiAe?V8cs&_%Vc^_X8{#70+3)KtO{9;d>&k&yKMHJ?0PSFdBaSZ!5k3diC2g7+~P# z;dpH#KmpA7H3qyE3D9C8xMU3D04gj1KN|{IamfJw8;RFo;WlA-xfREOg4^oDt@hvu zF>ncN+#4!x9rmv`WIRU!$bbop1M0CXK#rgPEjeX$ETve&Q!IOb05Csqf%LC1rBm;it<0?5U~_#Hcoo`q)nCc}r3 zlYj!KL3@EKu<1A|({N9JVoD$fM|KZD#-hN#vF8{SJc2$1C!q150Xu^R!h5}X!av@9 zP%3Z)sepSSRiF!7jQcDDZXqoAo)3oE=s$oFk8lqh%TVwF5)M}*55XRItVGx);2zo= zT!0y|zkxF-53ELe;GW(Awqr|yG1z7x1o#6RjNhkqSUvV9c+;nW=O9Mx7?k7d4Ie>e zC>xghQo%7`8gdhg#j4TEaDs0b6b2ZOJJ4%H3~G=uP$;?*7y+&Jj3ei|55ehBtZOmt zwc{~SfsRFn!`-nzkXLX3+7TT`?BbqC9E>hNMiX_O<6uYlfV+m2=eq!2MbCo*WF~yU zHyMz^+ucWqC(t9l{zRGY6k0~)xSNRAky+>fxD$F4IYe6KA`oQYQCA5q+i8ZoLJn6? z%2$sAtA$tlPGM^aTRg+yLD)gu)`Ol+#6{kRu)+5gx`j*vUO-Oo0I&pJ>@J}MyKcb| zgxA(V>=Z*b6LqczC&OLb5(?8bhTum2gqpmi#0>8RCXZS!_L_){_X| z#SF+6XdZSOxksRTCJ_(%o`bv40EVVQ>^-*a zP#pZjmj(WVb|onBh9Sd}O#6v$bds1{s|`FvkJa4`@Uzzf4=MTPJ4~me61s&WJOXpW zbG!*~h7Tcj@nnL-NN;S@DIgeXFK0aPO}7X`n^g0ua%zx@9zt?YF^!7J5O-!3kn0uC zBc1w(gpWWHkdAJImiq1yZhKF_7rg=SawyrklR-75(Psl(hk(LFX|4q`uZr#1{Vu-8$+m!gFJxf0DPt<4;>@Po+jWKhQ|lldNp> zTw;IHX&awD!?B&P5i3Q<69#%lkjA>1U@$e;3X+F_`(0I3wPz+8LolG%eXB|SuG{cb z@?Aq5$7|R{JB_q>L&-zki{aDYX)gunL#0~sD9s?rk<8p+qX5I1=?XMzy1IlgjeTFd zKVp#8&pVg>N`IN0NnGm~1Kp)on@5wUllN#FL$4ZofFqehvwyCDyV7x|R*NEwZ=ialSM$)urk&^Y*}uOHHb!tqXZTLNgB z4fL0UiPj%P1vDQ@FuFo?#yr4GTV`GqFho5$u+~d99E`fGxlhspI(HqbySjxbCT6Pp zh7g>w-fZ9(`%#KPXYEm0{1VU+s&dzVS~*)Ekc>Nx|vr zQ=}+zmWdN;)VP2p!J7o!&@1RP?N*Kv_@Jo_qIr*6dxnuE{>%t=V0&A_ZuLv-ZkU+= zf|KI)VylSD4X1-F){dZo##FqBnr7xWcSV>*1K1m3kA@c3-%9Y2SqC)b>_x;0vK`?{ z*C}IN>@x8r%6ZPAwk5GoEtr!X7Af;E-I&*Ln{M+gMFPMKDxxU~q?38PQ}K6g!%ZI( zy7BH&E5cH0Z>L{&o)SbA{!xdbcRJ4bVhPM)Eade~KVke+c`j|MK+4_?-qj8ZyQZH& zKW*DZdyO9UenOTLH-bOWJl}M532A`)jQ=m)7OdSb$hX~{$O_Zu(Zfl>`nag>(q1Gm zu#0q0=oC*+&EnW8#z6b?sFiXLk;iHfi6ZYK8&%h%YvpOQ#i8M~ccMO%Ewa5~1FRFQ zV^S8?eF=-F1oFZ&brLIpKM&-ghF!!f)K>F;|1HL0gj38tvPSkoCj5gfy> z3w?o%v^53>NtXwnX6CebA{*d$>JEJWs0+%h6om{@+MxiyMP9XQAz?If1?Cdo zdS0du~x2$+j(HDn2)RO=t$1o5_)dehQI?Lt)eS}cnh4B|b_sF3ll zYu4pK1Y4C4w?|On68Id+%vV)!jnw@xU0g3={|$^!4Ak0xRCZj--Gl7V_;4G z6V$KZ7KYVSL1TN{u}!o{Z3|;0!QWQmH`EnjXpUdy9;J90^w!$Z?+US(WK3`sD6*_# zowD_DbO?7EMj=GjV)gvMhv-#%Jgv#e0xr=@JWOv3d=c47$b^;F(Ugb8o2Ip-C6o@% zK=31>-WJcSLH*4UY`~O3t74sQ`zPokwU=QDc_S9(6Oc`A)boMa$1)!tMif}q`Z0;u zjrXCYq+^6np7Y)+0)~p=;m|a95*z|daG&)*VwD0{$n#A9_>c9yv<+hkZI`iAG^#m< z5<{%90;F5O6QCcK;o3qaK#QHf;1PtM9u71XyomQ%9zo}QuYf2loP5c9*s>>3iOh5q z5Tby`U^v|98j1Z0?;`d@n(dDv2W>Q(VP8SpXgNV%MVn}?gTJ_QiTAN#*el8nqZZyr z{>Q_I_G7z&R97I?0Z_pC-bH97L_*^H2Rp1r8uKuPWPby%aEzcLq!`-*07G&qGYCJ- z+Y!XS+&$Y7NjgAQAR_x;sDt(z*amd9PenBJCIZ*K(B0-Y6n^2PINmchkz|%M;4AbM zR72ZrG2m>{SfbIh#4!|JPo0arbykp{0t?XH%KAT7ar!H0a0(fi;K>Rs14YcqW^6>}(T`v@P{L!2#^2qHwh2(zIBHn#7I|2-ek z{+jrSRE73*lw=c3L8I%`B%uAlZGEOm}T0b%*8F*CY@c=N?JpA+HTD*)7-~ z&M~CZ?$gi=QkHWw+!M0;RziVD7Brk-@Yy|Q2u~pZ2tWxa1uB4(d=t?*L>ObC7x8}1 zKd{R^0p9J+0=p56K0V$WYl34TkB5gn1`c6Iz#YIqBpmGkiNQ?(+sA`R*g5n8oQA5P zQ|Msq0dkPo3;N|=OOSd_!6!*3dkUC9IPcp4Bfd`PV1m}S2Rn?9HXfo0P^<46HiAI( zr6Da)2}DAr*eLH}_%2@is_#751^fj*LhJCMEftOhSNTG~W!MTh2)9xWe8r}M-JvAk z0Q3e-06Ss3aokRzwce>j7FrGFfaRVx>^2-u0zExF^Wc{t8G3^pMhI{fdIQ}E^a00% zfBQcAYT?7Aa@Q(sAIQckC>Hk$PZ;SCFbvE^Dt)CSf3(#{1>XWm;0es-+l!Kk*RUH% zweLI3A$<2n`>w%5pap0f2>LW=1EDW;&9@$_g^pu(9#*30%Y?z>Vk(Ad~PK zFyq)Ah62HjKo$58b{)%uBJf^qB1(c%z+jMtkCXO8pRl>WF(eCM!_P5`PlqLg1fVMt zg;at!!3ZA>xqwz<{?I(%1fLB(0_c%i^r_d0eFWNlhq1TlM>H7?0jB_$kXi(S=70yW z9f%h+gL5sW0ApYyJe=?c77tA)5D0^yeP|WrN7@MmqA5Tt zI1i6cZdxkB0qd)qzxJGBlu?c%6$8MD}7Hri@nXhFmD$h z#h2vW=Go>gM9Wcudyi*1dKmbIt@2bMm_%Aay+f%Wxha=u zpQtr73B5b5nD(0Hq*`fxXbw^grI|FCG@ZnQ4q&q}4mbt1c{;%4fL6m&;&76M@hbFFge8U^r-+M4_z{0HQI~u+zBJ~3!lUGukwrm&h3|=a z7+|HYrg>sS0Nvv>@UmY?-iBG9lYgD!`hh=P}qf^#y7PI1SGXY zxr;wbRIT?jjn&T5&oXCQ?aoX*UZapU5G5|8j%2K7_GFFc{1etcvLMP=rQNtYnR3nf$wIn5w7pt!9eJY>qHFO*_g&Yo}cfV1|n$4n+)%Eld5Lk(_Za<6?(Nokw&Y*desT`i{K3hMbLQo`j~j zm$Bw>H#?9zmedZ@QOv^Eb=O7dMAGkVGuz*aGWkCmq>blzp9Gz`8=8yx`(){oKX}Up zWy%`uEyZW?pRz{XcVj>GVaY$LrPfeul4hamidpBOc~RSOTM2f8wude!HBu9UK1RpK zt%_?%`jN3Ox1{sgB1YFPU3zqRU7XlsV!_PpuGw=sU|9i)@{oh<26m4BH9~-$Vmx9! zYiq{4I>%e4Najn|wygRwqP|fuMx!~IG-vvrQwtcmv;@YZkRkCaQ}3j^(}(8hit>65 z>_IGG6+WogU-P}}P40lKfPxcUk@Sk7udL#bhar&^o^_W)ryO_3X_KWort+to0M!cr&sIa4) zsv4zah)40?YHPjS9X#zcJC`(pq4h5h3pIeb6k4=hR=)afnl;Fd(maF>FdO$vupC^Qbb6Wr62DMqaW81fio(pum zyHct8PnA|>)~(bR=ntFvn|JAsX_F1N^|k73WxceAgduN{k@!8i3k40*8RBL9jly+u zlP=W!hiR>4q3;Gc-)}2(W?-+#^(n%f*xbRnF-1Ll4XRk$qieaWVqu>ry&sqMC@L*n zm@mrSozy?(WLV$8TKXl3?|JAPX<4flNY_edNID8uw%%-B&~{w(TF7ZV)=HNS*1T5F zmDA+Mbtmn$wi4Y*b&Tn@7KF2cUN3!+3BEc(!LtSOt5mXA# zD+-OJ)*@?`^Aq4lBe6~eVqy2HL>$V^58w6Vg1^f?!pOTJ>B9&V8 zRqfP$Gc7f*G5s*{Ox32Rrje#5-F~%3wmNbOf9CSEB9``8Kmvt`hTVb!_xKc@ZuioE#FR5@c#I zQRZm2X}jwm8h07%40O{V6U(?$U#pv{`KUUnw8-{|)k3;(I?vj+wC!H2ird&G5aO9@cqep}yO)GO*Xpif)xVD=ii2y{gMM zl$QE74IQT-ICaTX-Jw)EQz)(GOB@QB0R|MS;Q@f>Oa%L0@6A=&^W( z^pSj}vPS(%vtB3AZ!(-PtT6m#aOt_a4%%mGKqZ%-l@1jT77pMqYk$`IirbY-=1$2%p7IeTC0$whp&e^8bcyStYeVY-_S3Toz0uw7$F`xyY7MHuWC_weqL+e|f=R*w zBE4vRKL*;8K zR#ZY&-KuM<)2b%)K3CpQ!t551@6P?6ek^f9bZY2!b_MMeJO-_BYpguOQ_Xc{seF_) zPy9`IOSna}M_eWuA#Ib9m2%Ze%`NRC-D!P_p~Ub}KS1A4C)9xIiOLfBH3=*_%b(Gn z+M3f+(sZ?f*%01P)DYAtYFfly+Wv>|l2om<>w>L??f~o>agX2Uzz^Z)<0L8m*&{kh z3eOZj?6JC{s*iv5=jy+z`&VUGdU|#!JJ{`9esIU^OmWhbn4qv80dMIYh;y)O?k6@s zlS4a6bzZ(z`a*m|lqH%bN)z9f5M&GFA_Y_ZQ}aUiP(RVI&Jb-}VfJD(GrnJbVwX5ZIvxoU`nsrqJ6B-H{LZqFov2gnOLT+ z2BWS@ds=--3CQ<}+XTV<2W>4aW147F-lnwX089Wo9pB z+1~Cm3VU|inw_6IC4NDqK4>wki4p`)Ms~SoTE82NngCV3e2Dawc#G($$Sbml#gcFt zU*4#Eq#mgy>pgnNxW-5~Z8gdbGW}g$lr}{jtn4S#i6;tK{84SuTu$@C#_EPG^<(Ro z)n8~RYJ$0e?Y{(#lKaX5`ZkNk^&MSLjP@H4s155EdpFsUsqI)(;OZ7wcBE%(Z*3n| zbwTy+s3(fp!P7~3@KYRPCv>z*L@H3Bfa!H6L>g$O5DMe`&no6iVHJ} zm-c`wWR*RtKlH7sdEa+I^@u(jDkMEd7jG)m>+rFDu!k;OaCmbeXiZ_TmNG3`q zOPa-9#g(G9!qI{TUPb%G)&*Qwv!rQHqo83z!-)p4@pfZbb2L}l_K3e#yh%P*v(l)v z-SD&n!^kff12}iXyT+YKxt-NJZ&|^*?(Jn~d!4J4RbA=3zXs~ZtT|X+)8}PHW;syO zyGYY%RZe{xC2>JiM#vX`K21j`#xA)_ZC{K>wE|_aY^c~O2#yNP?^U;rs?(9B)ed-8Nn8l2$Hv4*uV04fihhW9yQ(R31}M zEjl0_tyrc>HRvr{ojhMBXg#@WXi6-J5?Y?`U>P`mDsrm=j@i&IqQEavaV<$Kfr&brVNtRSlO5C6%K2 z0v>Nt`|UPro3nLgtGLzPI=ju?HlzJQ`w-qXUOAt`-@w1lm-03IBte+K$NwZaD|jiK zA@qulh!;o?$xbVdsG2pUh6|=Swm!~7-fC<&*YEaztq#dcfGxKv2 zI~H|1-?=7#YC%rn^n%R=Ke{w@Hs+o0(30Ifqkrnt#J#caBl#ho!1=6>^jgvaC}AiW{2HGx2*8CAlH_S4vgNhLjn}my-4-_DYx-hs3a>Vk78bFF8Ls7UmRY zKUzo9ed2uJCN{xqa48(!ZS&0s%#(G!4OyBms<~RS{F1td{GQ^0;<{We&rzl*8WkR8 zo1$4=h@sUXLWBZCya+Jmu*Tb*WSVP+8ODo@cr$bhVii{z-73Z@Pm*{ z%O$V%3-Z(Xr3D=D+ZwE5edQDcQv!#F4GB6DJTdf6@S5N)Az{JefHUy?d?aJzdLVFp0U<2hnDFNC*S`Sj8O@s%i2ipv7b&rE<-DV`x*WhJ%?7q*=Kiy%7%l6D$ z<(}mDz?Zf^Dg$Bv+@aAoj>7}dz+a~zpXn))H%QVRsprHB2eukA&1~S zo&fj+HUg28V?0@;PGBQ293~RlfUU$0;6LQfXaZ#k+!0<)>FZnI7YeL_=g=>DN0SAV zo6fO8eQkFs)zriGa`tuSA!-yd7q-EtJfL5?V>Y1&T;nXHuW^#FA4I?!M5}Zi_LV{} z+#Qgk;0o7UBpM8IUIsd&WRDmb1Ef3e5>Hx(Q?^)75F)*4p4F6VhH;EI+c#i1*yNc` z*x}qxnvVp!^VmNWgTjB9l<3=lBZ`oS{RR>>l2~ZJ&QiH*U=4AWcRHn)?<2+KZl#v` zdVxdymRW-Q8Ls|BfcV|hf!gX`PAnq!bpD|H!n(Mn>=)YY^k4$TFffuJ&IvVIw)lRr z8kDBM2i9_5e|n?&2DppXrr?B1G(pr3o=oVb_m)e@zAbzo<4~B01Y*1W2PUHaG?R%# z2|vxH{#R@>2>m@ozuSff0i!L6@NlZ#NDjPU5Ys%M$w{O9iIq6V1gx?yMt5?urx?~t1wNL(y@rLl$csMBB(8A2Nf2OFNzlc+y z6IOuv)#>k995_Weh^C_KR6LDn)+`}tNagl3Aer)Ae}5g0eGWpHu z7=?q{O493YhMv&x#K=L%M0L?K^_L))A4hjQXrgg1W1IPrUlH13Ssh%Z{fqR6-x6s} z^i0D5B!zufwJwltTS3M=b#S)#DBMikZTTM1T{AWCn0vX;Mnf%5dRN~zZ#Sk;U&X04 z9R+>_UXw&b<>(2-WMYdun0(Fk0e@ecVn@P{wrCQQ%(ePKIgAgs+zax1Kn6>poyD}f zhhtCCW#9scY0qX7ZHtiQ%=6m9fRFYk-dXS|)-1j)KFe_5>X!^Ph$H`Ty>J4o`Ial# z5yodj7gn{-7sAv20a*eE@Izv|>wl2!*h}Oyv>Tg>euD0SJJ3XAKW(k!3$}=TR6m#0 zkMhcr%(D6#j9pV5KR3lb^E*)cHGgUwMvG?iltcaRp?fX5uw}Aq!9|u=Ku`arycapQ zf4z#w%z!;5Y?EBh8su(9vtWPwNsdR76tdL1!0Adp@#I&p=M8HJbE2<&S=wQUcr~$| z^@p%SLb>o@&`=~pdndukdl;DH3V?gV1Kp3o244$_4m~js4Un2Sa1>iF`4Vx)G2SvL zHeR$S=qXa?c*A^Vkuk*o z83D3j#&L#D3DaLvE5$*HTz$4v6OdxRW?vaIsO459%Q?b6Cy1|l&*E68`0r3Bhb%Gn zL_USqwBAe(RV)G9gNO2{QD?0OeRurIEc-|=&^1KVvYNHSHQzQc#>hJpM1x)_<%yq! z&)M&Q%Z^flf!fJ5m-ZFjXZ$-j-Y}GM8@WnO&=e%h6>g)>@gJnj_y2?>JJTsXVypfL zdw?^@TSDtZA#%TW%HxdyM#VS%yck^r4^dLX)s~5#cm7Sbx87X8WA3~5Us0x(oY-Av z$T=aVx_vKu2n`bMN`kcoD9w-VoPpMnuE3||hP;Lsv6&NT0Uwh4w12-sx)5Ld>s6A# zlmI+NrZLugwyHW8xSr3ksr&~`UdyO>M&Lcnd?u2V>%UH*4G@_9br9H-xNeeUXNg`dB zqJD{3?2C-Mt$|U`;Cx}H?7Ox5;t`KVb37#9ZUe_s<{4mMaO`ZE+jouL!`X!qP1e_D z7E0S2D5RL>FGKQ++*hRWF=a|tSeRp-dS47(Hzq*f=2>SUdn47dr>xgloIEJArtLgy zc3{!Zt7(wurfw?dHbzq%3?E;&Ydl2;4wL+gmbT2_IpvlL;TA)3dxf%_RRFL}|El7_P)sSz7 zN*bR;un3*CtiY{~!QeH|SN0vvDTW{ZEldhSp^>xJ0YvjQzwY2+$7{+G`!4nfO*NfD z>#b>`1rxO1ecmTTHq3BO2J*=>kq+*0P@lkO@&-~UtGiCj0_{rd32UYzhGT^`ixU%6 zmLK-J0mb?xS}HWt8o-?Ij(21Q-7{`Q>e#`SS>PnnBkOtkDbgSMiR@%UPkJ+Ju=u!t z7hsBe7#*{1BJ4spA-m|0^kb>hNjuHCo4+n&jW%BUT#1F;(do5Dq6HN4Ytz; zTa<)b$QR;zU#zE@KHa+>D?su+E;^e~>!Rbmij4sZ_io1;q8uFx-h`HVa-g|z7C?7( z0cJ9No?g~z=v8)a-$&0%Y?0>+VGC`(tCPJOQ;nn|g`Nx&iJochf~v_ppMo+5QEMrj zj`$an0my30$e<$6KBtC!**TD0OsqD1X1w+M4fhAu+IFx;qW2ve!M$*XXA?_o4YK!P z?(k%hha*EQS$><)SH2p0wapJ*K>K1(BhQAK-5e6n6#^Dew;-VR95f8|C!a@)ydIE9 zXz&ezPJw>j0hDn*BHmJOfGU9uMCtoU!6&AjGl++PDZV^{%exn`0lk2|*a6=eECD-% zaJ=uxQ9gVg5Z!})K?kD}$mLm&zC^pD#lUfF4z$pB#J3AvLD+^aLSB%!xqZ+Dm<#{} zEi#;V5&H`iQlYL5 zFp$y@;Ck|j7m>m4p~x&}gKMNa)4IV@Vq0jl81eVzrl;00U8%0vQfyjj8gA@n9%Cu9 z-gFe$GMs6?I@e8n2KExc2tC0rQp|pr=!x_eRv>2rr*p7B2Mt~oIVrL}L>W9hs%u22 zkp97?LHB~|*u9w&MwH(g+66){bRkd)zH`-^2bvdKb{ej$qUBYxA=1tgxj@)%<prZdwobmv^?f&VrlC5tcKhT z9ZU0bJJ0TXrf^AqUFWne*E%f9tWTevu`S_rC_Q*ZfPwy+X!3QmY%@I5R7zg7<~90$ z9sj)ML-o61FFQT|{H)^f;U@_%+MbPhw&iv7C->(AUs%6JaLWWb8A0Q3E<}<^&3?Cn z7RN41tIE~q|Ix$Q`|s)l{bL4?9LXKMYxs^KuZJ3k933#Sa!~2MqQox3Y+1sNux0-5 z$uM@;u|;neRWyI7P5zeie(sBD50h^D-?ZE+zy0%?@XGA#zix)#|NiLaL*CQ)H$C1v zzF6z#wyqY`OUD`A-cF<%mL%v%TtEk2!G@B4eYOlx4|_do=D5VkWs|2)Ix=DC*n%(llbiRUJFjjYyFtAL-@0(E z{QC5Jy&vCtc=|!!vn_AGy&v~c_dT`oSKA)RO>MICcS|{hvn<}fQ%&*i9%HJ|A?af` zOv;@KPrEhEI8`;dd1BKT=isuw{d-O?qIcYvPLBN;;3O_bLR~teTYRc9?PvF|weM12 ze0_ZWe#`BgTNmzVA0*s2-DtVxc+&aR&S$5da9*5!)A1wy%i*u%Yg5{Kh-at*TryHA zT@kb@{eFR>^k@}(Q1J-fq^EQ2vlFMQXVlGTnH(@_)tHGjOUhlvr}7S`m|{7>>&QjO zT-#Y)f$Eu{{YTt~Eua4Uu;lri$NrDA9t1r&@uc^njxH_w1s$|6C z{z-iX6d%dioA@~j3M!$T_B=6*_5GFnwqN!4YqP#?cr*R=^S3KsH#`r0{^7;xH#go7 zd3*Sk;LW)Yy*`e8ANBU;n|*KF-@biM!+jmsk}me>%DoQyny^Pn=KPS#U;Sr~Xq@tR zPWwFl{0sAPXA5TTo;rSHP(NSAt!~BH;y7E#62^A;hi8^$vNly}Y7J>NH*Ws*=JUM| z_V<%Nw13+A`RE7I$17hpef{{Q{`31!hL4pWHov34{qs%nt6NWxzKs5MqoEU*C0=F@ zBchy-i6!}to-g_>8?Btte^KjF&Z0eYTjojU8K%-lhSZSCI(C_yIX0%yKZH2K7iw)c z7_{l)z?O$i70uqpKkFuatNR@Nv#kE*&$1t7^G_jWimPJh*{9StY){70+ zUr|5*_+Iy!|2p!8@8z>cYp#F0C4N!#Y2CMljq7Duu5PSdNv8a`-s^@mOxQVp;96|` zKWl21ITrMrJ#9+K=#PDa3%(_;3E##cQlp*sH3r2&8CmS+r}9R=4jIW$_ES z>ef$!e9x=Z;z;~4o1$VaIsk}Mqn)ue; zXD>gGtQYVfTAncI$?ig0RrZMaGla_)uh*`}*56uVSSXwJc6|NtSrw~uyG6wX=F$_8 z1f##IR6a{Qj;|E}(wUN-fD>jqxh+;R2nB-E?C@NSm*f4`p)Oa>Zi=x4HJ_5!@$D%-W)F-#*rSIQk*)P5krO&o(@1e-!cZ=a12E-M6rKcvedM(Xi)?sc<~7*|*a+&2U=p zHd>5>^fxt#a+~73+$U)ey%tPq`_lBFX<3V~LHBFL&%m#rKkWV3>r02vzPHO?mb`3x zyZ;NJ&dlv44${tX_MonfnU~vC@V4wyzgHvXj*poZHeEfw=kRj_ZuLFW$5K2edqKj@ zh(>lQT}8P8U-F!>iLEp2-)s*}vvqgXgB1NG{lpRC!#uF*V(p{)PmP>9%8$bDman@% zb^iGN>#U!$FE8G`c<=mrpst8pEbO6h8Q2~RIX7IF5!QK7VQG(yeoaFcjygW($?y;T z-BlZUzbL<5Y|Q(SbRv=y`aK|%IhOVbVtco^AG%LD>aDj;jp{?PQBq8Fl22{(Gz|N- zzqY8J_p|X^=J(TIM}8jlb?DDkzjA(T|0exDzOI<-<0ni1)KpvgdS6m@g}@15W>lwc zMar_?)l2(__J3GY*XME1u03oeD~j4X9!%REJ0PNO=#;=L#ti)Z(|$C`x72O7EATgo zWaSa*8BqoA6?bcss?J&4r}p-b^*_`MFn{KrZ5Qa)&)j!4n z=NFVqAqG++pC&%d;CAR*m{F2m<|w<}11SwD_V3oG@LH$9oVBUr;x|SQ2(RF5V;!XD z;8dR+OzIix7;BlSzo813D?~ir)7FY+cSAwL{5tHHzBab5SM97iLBqqQlP&XF$F`|? zYsH1~Ug|jGcH3Sz7wATH_`eUm6w{cvJpE%Xz4M9u{e`^3^94imEuDpV+T6>T(^8hi zZ;9RzUK~sh=)lOQe1q#T%nP_aS}lhA>gDo|lAD5I?XS7z&C!jP`u+7+>;3V!_lAbY zO~MvkYXGlM5GWomQ!7h#+2-z!(cWR;XL34I$}xt=#&%C4r?+Q)&ZXx?bV})TJ+HFk zxm+lxBr`X)IPrSy+Q=TE+c``9ztEZFp%4%8xWgSK<{Vv^iY>DU0lv6x4%gc>q;Xn9 z--cfegBp7^kz00hrL9|eB4LxnD?hBBroU&EiVP`N z_y@nd{TDZ>rKXwJ6yNM_{@5bq9%);~yDj)6X2^ZY&RWP=Z;?ArdY1!9L_T#o^L0S~ zkf#x&VlKqrPP&?cr1neC$w<%mJAHQA*_3lhgA%63&Wb7y9}+w+U?1}+Z7pdi1flob z2ka}&YxFJA)+xPQt32738jHN2oiVgLa7mjb9 z6zl|?PI=|WWM>EEhdCn)V$%{{CGAfUrG8K2q_?G|rtwl($>N0Jabu%HBF=><0FoQK~>e>%ok#u?^o9xBF3M~Lq67q$Q0+LgPg#oKIe-rI7N>us%X_wg5tMo5<_ zKC5@=x0-j@Ke)@$CTKdD?)SI9k&_&TMDB|Hny@GNdFt5obs3CIM&_=J73p77UnQ3& zR>Z;4o5Ifq?+F;s1ZbOx4q%M$opYd7XSkrbs<23w3m5VDt(RMf&8o)KMo+_(#)jM-ox*#Pmi5FKKJt@30Si+vn_(-wC9IU5jvHh+oQTIr>L;6fu!t2m_r}?`sr{?Ad)@N-%*MXWb}o&#Tv#FX(`DM;@hH+ zhZh82Vhj9q2}Ls zZ7uxe;`#E|>d}T+tG}x&vJARSM*X@4l!pM36JjSN8dKcqqqCB8rsNuOKjnhCm$N_M z@f?$aCiICd#%G)=1CKJFQ*RSaV1Ik|*^iq(Yr8595==0wy$APZ)2RkdeOg^ZEwS!r zU37!0vAl)TR=|HM+9!LZD%6Y3j~ySqdVobLr_b`A5!5OCYV_0iNy+=tA~M6XH|KQC z9hCbfXIJ*O%)RL^QZr4yp+HE30)5#mc)BR&JPI}C~rkAIV7 zNj;WvJd2Rio`dA9%^9D4GIMJB<&-gruVR}bcZ9kFt5_>&yNNr2_1=w+GiHHqpo%VI zh*t9Yww`U?)@ZFa)@`XfkKeJ^8&))ZY}wp)jh`oG%L~<4^i`H1C(RcHW|Ml;`}?N{ zal?wD%j4^kgsF2fMrYm6o|&^D$C~{(OOgdX8m=}TX?Ahz+8M%wlC_G*nk-|z^{8t- zvJu*V&v(sYrv{%3{}R1F-k!uwP0kQx0@+)#r(|Es8kjjN-IYR0x*BJS5`=9Ia{3qh zEhhgBT|;VJB-Chtu-{+e?^9?ZvbN%nbQEVn&QS-k7v9by>PB<7TELb7kh%3^YxgQj*jm{!z3t z{2M;X2ACtLM+kf@)4SKfu{_luSHF>WlLQNg^GI#QTni4w&!&K8VRIZ;*vjNR6g(Fb z<(E}QboWhe+c>uzSp=b^)pR*4g%cZE8<8E88vh{id2*N3+_b}KOVeJYu1|TKv^e2K z?766(;ah@t1xS))NuV37W-FqlheWdk7xB5|!)vQ~*CF3A;BUfi$|Ao^|5t$lA%WrVBO_zLxYhCN67XrS#8U~^ zulQtd!TcN%g?jln}obVM*(JVC2S*%C0!*e zDKHJ8eWfq;bNTgStYvIsOkmI%fBPBe8T1<3U}_nKMQ$Y?Bviu$=n1eC>xMEAwO8m- zxf$*n*BNJ^^Q>ctBiZ5a2y)~*Ryi6SmCgp|0#}@y=f39I;2q=Zj%1=im=EItPrw7v zC^(Gpi7A`g5+ePrJ!?;-DU?+ouS?`ZE_?_b`>UY$4DH{18fM?j_^&yXl|11d*ru!lHf zc`?uqWP@8kE*J?-fKEVPAvuKN#Bvz+KyA=NXfHGziiV`%Nt}fn4N8DZz#^a<&UjW} zudpN75}aF;g+*c{%z*OHcj!Iz9C`{pfF4CJqfgN9s01Zop;$InjeoO_a|y89*e9Gh z?ZA2G*+4Zg1K0rU11o15gI^1gd}mzz94|#M30)s;PLI0E`EQ0sVjqpaj>P2}I#* z9MN&6vIl3H>oFasz~w3Nq{8>VIpq#q_HS;!7iYAicr<m7r7f5MljHI||FZBoxaF}pqZV&8 zfjl4w_n-s*+Y#Tg@X|!wt9T$92*s@>;e7hvD=&C(9WqRWe|OM~Gu}U7pK(mS;~0Lx zkG|rvC72d7V82%rpx|8fNFW8s0Mda%pcu!d4CkwN#(C)-@v>xGb`%hd$DV;Bh~XBQ zamnp?;^9(cxQzm=703D)ZZY>?#9Q$)9j3t%v*YRa8U_$<6^L&XfQDm02UxhBWPpmt z_4f({ATAlenfT;?%b0j=8tzRbt}_nznvL(H@mvVb+X%)jO~L(*!ArgWB7^>Gj|z{6 z3bW$KyYOVd8gQ?rxK)~e{d3_gbpo!1iC@hIf^Z!11|QdL#jTg&D7gQPpc}7+;!!c- z>lFNFod^K8BN*4$8>qzfhvO)x0A2sRH;RE={3sDfz}Hatg-7f;b`{%&O~#htcjij$ z0nTcFf=9Fw$H;=)^#Q+YFJag4SVZ7R>T!JpJW}0&KDZ|=eC-1pzJ5Y6E;|9g`-h%EG09U{Put6SR=d+*_z<3$~*@Ewa@&H{=fEW%( zfICF6ey+Y%_fTi3GuLj{?9}KqIPHXHt~OYksQsqBt5X1x7&1YX;Gf`8up=Z2@&&p8 z8V}wKjs~9w?n_3HJO~6b4cHnEj3y({7o8t)pWUF{t39VVs@8biCElk&^yRM4` zdKn4eie$PPa0pZl=0jFO8lY^r34{P%2*h}p2YRNJ=ti`7fWJuB=l~{50{#l0gjoRW z;uUZqoC+txK7jA&j;QP9)^e7tL3U4ePg)}r$P?uIRi`zNU@p)ggbOMSkw-8g)sk$< z+bPkwc5DIWJ_>{BfggjmLmq;yz;_`6NC(&$G6%wkM#K6*i6FJET1VHGsXJBg70+eo zq$bi|l0A~`(;vnTi+>Eg7_=36irP0bd*TJ72vdlYT{yI zGfsxyj?O{3q4-!RX$}cVMi|D@8H_>pev5vyzh?EO&y227E?_+&D5YrBmhazKSCjwE z=VMjD_kxOo3m>lkI@h5>m z+()Wpy4fvoTkD-2_{$f zvU6*!c7FPg{$%&b>O-~()r+P~kIe-Aael!)4N6`L==~>K0jUJU_jY8_I;Wc~M zTjs3ZxA?@IaQoXV0pS_MLE$p3oBAeS4$Cr%aA{c(9T~Z`5;%vafd0pT96Wj?rpDO> z^6KaGT~P8XK=aQ3uO4sUf5U0&^MpSyS`n}jlte&E3>y8N_w#?GU?(fT@c12&*~Z-gHF~@DrZR!j9ndlHqoV? zjYqIUXP1TX*Tp711I}bUpg$9kg~tkFTWzxCZnX;FOlUwo4*}ih0r_`5tZt>2LWeiw z|Ko5rl(^|h;?_iJ;=$G7f$!W-akf+cAd>W0dBJ4e#IjNBh(dN1@tZu&eLBB=dFz_6 zUC~GNC$oSW9sr^`pbt4{k}UleQZFC#b}<^Qk5fLGxcsPa3V_Ltqw&|X=S#j<}*W2#~`-_ANmZ;)c*qN z$UE7w^Y)S;&Na#VN;+^ZrvTkX|E<9a*iN2_%o_UBBpIbWob_VqvX~|D_UrgDR|7B3 z?%-k#pCZ7z3Wcr0R$ee&E(uXisKGEi-Ifb+A6$4Y@_y{eEtUJO0_XG3Vwk-nD=xb# z;r3lQx$KLe!>ys?@eiQM z8j6Oi{wD90TPW)^DELyM*o5e?+;e-NbXniZ(;G^*6A$h`{_6zkfY*BK1xWT~S@rL_ ztibdCyC%DVI_?0n=#qbKS!3DwFv^Xy*>f!5{1VYpLQuT-WBYe3EyWz20#O3r9?sf4 z%{uK{?Rj>^imIcsFRv&lU6LJT>T^Jo0Pcr62{A zoC4_I14uC-ZgPF54Oc-9f$-4z zhz!&`;&0=p9EszYN7#Jt#q?!f(MRGm8!(9x3Ab0rFNt;AXiy>f-H`Ml;$AK=`v3Lj zf4%y{DgB-6?~c~udn4t>crOzkx7ev>)&kcPHh$(8O}@7ut?ln7b}?Hw(I@x`Rt z#KL^L%>&0N*Fuk<-krWle#rUG0qX+aEuj1Beg3+OxZbqgaLV)@URmA2lJ-2O7oiW+ z(l*{Z_OSH1?b~BTML#w-&gah^@|?6#oY9|!*1#iCaufkwiQ!>i;-QoggGDqSV*zs| zi*2@%bIE3_L#fL;_njUto=ER3?@Qiaym8*nb9!8F+HE)6Oq~NymvIN>?d0FWvRj`Y z6%6Ltmwv z>5L!D2c{Zxl2w+?JA16-1*b7*p7RQ4TW7Gdk0Z&J%Q?tup!%RQbZ*T7rBktOh6=svZKli>J+U^w;6D=`8puZq%@FDPV@E~{_BmvS3Nr9$7 z??P>0$$$^>F?cM3iY!DPL@hysFuO3Fm^WAl+yU%U%oQN|%3mlMOxDe)PAQ(rXfq3? zj?$CTyE9Ma66FF-jNTTY_tzuVpiI&A=nWWi%nfug>N7G0framYLLqUWE4oGvQ@vB! zEgKu(AL?yv$d%8KwDA!r%q>Hv!JgxK$I;u9^*|mOUD$h+VkL1 z_)g3O!HfEW-pBmPUT%4lJJ&YBzTe@AW2>W&<5&9{TX*Y5OEWVQlT`W#N+muU21eb2AU*|g^jc(Omk%ms6DUqC(lvX*#BfGYg9fNKEqe0 z>f)hnR6XtiIf7Qi=rH|lv4HDm`_BHT;}@p@XTFob(Z`|MHjm4-^kerk9BDD+I2;L? z58kM8kz=Qw$8v`D_uuHD^EjP%+Rn7lniHFXnkt$MTjZ_I9ilFZ;CQdGXh4h}_n%IY zLDhHkmauG;AHI$}i?)stYdUVuv1+sy+g`BW?Qq2b;lQ`k+w9`5x74$}Ot40esV>BQ zm^An+P=lH)KR0bVjv1aK`q+C~P}sezv$Xwoo4(bet*_0c1Jq^3D-=BHEgLWqKOS8( z=`J-=a5a9QaM(^%DlU)o-r%y4mB|{mwZ$z?68EMx$HvX(n)Q6{Rt~|!i>+rKFe)_o zMtX=_ha$n=>f_aJa-4)R5kE3ESkV7Rm?${K!*m;Wb#&Tx&2$CwCitqJ4SfXB@DOw~ zY@%S=Ro13V(=G*r;Vq~N+;x(z!52E3Imp^*cGLpH5pja7Os&>(z?O9L22*1bsnG>P zI3mtfI;0O+OjOj}#5I^hfrZ^=#n>@m_W3bW?caykLNr(Dg1H7#VCC zE*n!$?v;+ocdBXnA3zk801TY)iEL%K%jgEv({!hqv&CLZQ;rL##e!`;C;;{wFqRq^VO=3M@ zw9;Q1_>imd&X`EV8c3c_uX2-Ll~_$mM}LW@L>Kx~d(pyHL8M@r;IhE2CsEkjd#C@E zh%Np(@?!k`lwP_<@k#Bj&x05suA`Co7}6DLDs6{xJ9Coth+S;9%KWIgm3f?*#+1#% zFwYnrHH@XuiOJX|Bn5U5)U4qsAIyYIBPT>74DmyNhs^6;FTCAj)x+s|-jghR-8;MA zT(oxR_i)PC&B;%aKG_mgiPi*s5LSnri#<(vO#Wu@mOh7Z++?e1JG;uv!`#O_&+I0f zYr52=)>uWu8Pt>J;FHlJ_*zJ+u1U29h)?i&GI4D8aOYskz~R0QVR?^5Pme$@xY+Yp zINp1=|BeVO{xecB{%49Zb4DRkhwFvi_hk8 z^A@&@b)N}0wx)Ga78BF3VAMib1n8lLrc9ohnR+sQYov6@OjO?2E4Y;nM}f z0s~=2?~Q(i=&|_HXxRiyazzGGrE5LFWw3du3ak(D5v9fOn^8IwWZKQ%Zk}P`XK8ME z#^S2^B>O$fnCWfAGCWKEjyJ}vM1(QN$CBJK+n^8zdsS;+gT^2zrD&`dtSP4)eznrYvSg6+bkuKo?;vQC>I_Fz>yD{vXCh7Rb!UqQ!E6 z^B=2JDmctC!JEk2Q!Rx!~ear(yP>K{Zj4C@q-m8GR`35e4-32zi2= z{4$;yud&;k7t6mVFcAjy;YEgG!szx13yDg0U*)5l4Z$NS(fjZe@^yn>^j=0jOTvC- zP6F;#XE-!Yu;qMV2~#GQ}k^7dy>0B2K_c8gjK+P zYHn^hWa+^1;#{{JFt2CdW>qm_>7S^^BwHL9)dc;Z|Dvvvmq|<~e~!Kpe-q8^XZHs6 zDEQ;NJ-pLA82>Y0Aow7(>@O1S62BguJ=rHYD(9$qx;)4c#4L;y|Asu*Fxlun^N{Ip zv%402%b%Q3t0B&m+=`6mQ9LR|k>(M>UR?B}GXR3sl)cj>P~mm(vuONoON4_d16h{=0) zrTJP*2?xoga+9ngIed#Ovui9L#uzP#swAXhjv`h;>a_cm8)l-XE{xd@dko&`x9O$! z?BM(HD!LDJ2X<$7oA4C^nb5W$GPan@OSo9CFGWYUc;8|)=Hw^wOS^h=1$~}tQ)#8Ft^V^ z=q9M)?dQq6*LDlL!}+~}Wx^$WW}=VciP4M+q$Efl4Xj?xhkQj0VjdGVQtW7I<2|f$ z_G9xwOR-fAH=dhgrRB&iFPbAwhZx;-D}zl$5k`PG4;j`*DG4*1re2Jtiw}t8eV2f7 ze42NyTidm!E56I2`##TJFwhg!_go|vXOAA4yeo}U5Ht$?Vc08FCa#rKZ*ap1Vseu0 zX+h<5TJ5urv+1&~;tp8d;Cut>ddZN`Z48jaVe~WjR`3^1r<^WXI1xG$GDzt^A~Y2I z=vH;Qc9wSR2BLBJb&hr!@ojtRd$j`x#hzpIso68Ll`h&h;B^QLb`xs7-~;Av%p3Lr4bJ#>;>>ME7RYlQ%~rhA#JK2|w{W zyHY!X+P}6z+Ag%Zw~5-nbzbbQ;XC)*i#~`^VC!3hzR1llu3jp<2? zIIDhZl3kR2w>{HAZC_;!m^K@!R(;Z#Lhh ztE`>g_O9h>Gq(9rb8ZW-^-4Rm>n5Mp8#=H?3>u%9u9f=%>{~rTjXg#hF;E-dHTAbR zYIVcrg8f!Us?#B-LZ|sohaK+NzT^J2v^NW4TGE`zAlwDSN05P9Jd-uKdE~C>QLmwZ z)YaKm)<)xB3GOgN=60?^}G^JG+Jj>3y#T<3?9a70JjNS8zPyFgBGWH|%E= zm_}Gca#?n%4t0)MPG6iiyCgUdIQZCw+I+GKHLqok(m+&C!aF1wjM0?IEv7Xiu7e-@ zWP+z%)OK=fb2F#uS;M^seq(&|otEIXt)0vGJmI;4zv74EUnSX!S6Tr?f;7RSDGjtG zOmnu%;xgCYHo|_`LFBl>$<|5iAh&yEW5OM?_+r{-Jlk-D)QHW6_vy*%9WueB=ZHeI zyRT4C*mbJ?a;tv}wb`&~rcu|F+Onu^d53-X2SHljj=`i6pUK5DOH@#O57ZGIN|>a? z(o>n`>@}9*+$kG~{b2{L<9bJoBhP-w_L_AUXP3DjtIg<`K{3%5a}stye_yqFrh1}x zSRf+zSqgS^<+Q(RHEa<#B{scoN@zaSa;z<~b1~1X=TzV5;GfaRssGIQt0wee@Otzt z!gA_*qmw2AwwvWWZk(;3eUL-F1IJP9@WuYSZJ_mj4#C`+HELvP04KJg>tPvsf7P(G zeq!#3UewrI&tKQo&|cn(Z)tDxX*$)kxcOwuf7;|7CEeqKJAM4Yn9(nj$7ar|F6a-! zHlp_t5~yYL+syOqU6$v#Uu_Q9aUI+oxsJCT^6VGbby+{>Y%_K{i#C+ zqrnpa5=(_%GYxtIYeHSe50l*t1B}iv3rrJ%@8fx#!&V2liQJ1;r#J^Jf0-lM1zp@~x@N!usuMm@!^M2q_?gxdtm`EdR^-rw#J9-qIj=Y-It&qj1s zJb(1__{0=RMpA9mUIWd6xuI&YKMAkNH3lE(L&g`FIMxNzo9tHhUbfsc(v-srWf~Ya z(1Hx+k%#f+m}^KTY#*pfb5fZgTO-*!d2b9cf)w8y+#@m>!1lNGt>}jhoEnG_)eRPl zD@WSKh?94x6J{I~a@BhvLS;7eAOehDg;nA&k?vFI2L6U+v;lgW(I=w_BMp54J&88g zFon94Y(ga9A=qNnd-!{Z4-m2LrJAo;C|e{wFr77tnP?r8j(UwIj98D9jaZMK97T_z z$FnDJQ=6tSQsvB;{FCy%8lzhdQi4B02jNoW0D3336lXwiCR&puq&?&_{6JkCr9l`;x(I;p#)YZz}ifB1aCYCl!LL}4EC#Nl^Ra0TpZPU(@ z^Aa0r#LNMiha9J1D8H)KXp*%Lb5!IR`xpYlh>He~^(VJ!$}bA5(`Z z#Y|xWusG~vj2Gr5x)X&#g&-pkT(}fk1IY*bgO=*PX}+mjRhN|!3O{+c?Bq-hDwgPjKu#K{w=0eY> zSsHC(&NF?(#+f@?pv`EeJ4}z5ZZ?t8MU)x*eauZ{9kfyRN|hvEI(2w>bAM6~t7lB` zq&ouep*zzu+~VDm)@t9`&07gPd9M&{7OxpIoyIFtwa(y1L?JedFhYjW1k6-3xuu?) zYFlnUXYXJN|5HU(stas-9VI-_+KI{RI-ZRce! zY+w3dxyOp=7((pGYE7I$JU`YrI%t_$P_y?2=ewLU#^3Q2NVe?Z@O|E;`fruUug&?= zmjy5IPogvIA5Pr=a-WtNyDcK=&bFkje7y zWzI2c<9#>0OK976ZfE}<=Ki65^4)<+)9V#0NI^p$P@4ebK1`za>Ey${A1#-wkAHdj zX6h*-{m;!aSB01RQ({xTUM{~@cG4r_LnFJ z>N}SG9x2^e@H+F*{ivJ8DZS@Up7T22deQsJuIo*=rT4!*pPT#lGq@VodafTN*$&Pm zoMJGn?m2y*(=#6$EL%1j-5nph@#Yp`($U?t{pf>l4(>XD+f%r;I?f=>$JfZ-&$tIQ ztfY^g6ZAI4)XXWq_15!w;Jqu?XI+XrclqqT^QI{$uEpPuOwV}2%OMmPlxThm+T;UA zrB2XMlG0?t8t2yL9TTuBxNVtVlwa)rwKkh@TUTu_-krYh$$q>2^}ClOI<48e96bNC z<3VOJ##lXPY@nyAWy`O=@9zpnU*3K6J5_UK`-P&jvFFM!%C2f|Z@+)|>BX1+1&fNp zs!SR-@a;z@m37F|h8`9+j@};Fc`bo&muy*P9XS~Ncy;2sEt_JuHf-OuyJJtu?#k_% zn_X6K5B=(cv@bPYg3blbs}<`SpztY4acN z$=aKHxp2=nk7`PNeAhCuR5lmtONuf5V4LSE_AK-B3VgI^;nIs?9pT8B#yIQsw9Tk( z#XHvSz;2^%CdFqhZ}DI3)@+U>vmmUQx}j>`<>sPapmNmb^?8aHa~>|cGjb#7`jH#+ zQ-{;9Jju+?%*!iWSQ1th|2wmFZ*Rbag_?;xVi0cTV6(%?VYbRkGdFCW(m#IT?BE+= ztQ8kmC9d_~v?sxTi(dj`{eM;_hBf)`bo*^FK-I&fGS`v9o*%76zqeP77pHx=`=pNgI_J67 zx!?B?dm8$*`ke@z2=-sLVnyhxi}APD>edXcJ{N5nW*<;LYl!pFunS%;GakMvh-p3W zM_uh${;at8V^n_htGZ0uvyjJ!9;ZC3%u0B3{DZt$Tbc1YzqN)B9t@vkD~rI(vEBx6 z7%gUU?p3=?dnB;RByhUye8lz9tQ#J^bMN}k4tl(FVMJSWON=sl?uwnE&jX&$R&g6> z{fJ|V#F2oW(DwF5&L8($T6J)Rro`)WMuGIr!JMY7x7o$7`1$X@jF&srXcP5*T)gH0G8&{O$;CX>X* zy=S^ATTcBwU4tv{F3$K|SqLv&`%&~oU&^bl{HtiQ6`mGDCz2!(MX#z?-3{afD2KKo zrm=qHC5B~2M$9G#!zi7K$G5|m=_`~`vU&1u^$_G7K7dKGZJJFExU;lsxgdfTferOv zi1s}>Yn2V%G{CR|yB<=gVoEHBuL_@ZT&$0%&MM9O98qBWmipEvf6@DmU$ZM#)#bIE z?O8kgekxLNN_Q9H4YxowV(#M>5Qizx4ENK&8#gmv0&^gbiMLTl^l-U)0z0e~MGoB@ z-6T1pbHOb(?zckD3Y_{nCAB?TEoA4hz-jmto)7jKzDLB<1I2tqaS@#vSjJk)_$PI9r`e4YA#y2PdW>+8{(e@s^Q{{gGSjxM|isk1)@2&lry!ml~T1(;muu_!C9L z$e`d;>*M;$x~IPk{scC?=y)Ow9a%d=(nq6-1~H~fZO*uD@j0}xIy7U&^;O^E&cwr4 z&qQqtyShL(+st|)?F!Ur>b79|_r(%WJ~Q*^L+`W&cUX7l-M4sp<>l@7M@p~#`rUTE zzh*K`{Tl(I#4^uYZge>A?%-WJPwW3ZpnU#aAIR(uJ1jeyydH8wa&q8IJNeI|AF1E} zmOx8&WmZ3i>s(up2-b?Hr5x}S?!K{%YcQ)|-uETBQ77VM8)qkmCOuB<*c`Zabj6y* zX5LU+H0>eu&*Xd_;n%XFnm0$DTuYfeYs=6PC&JyAMK8G@aNldj`6P#9^coieR!KSHHvai$O6|t7?5`I- zSm#^6eV%Xd!MrG^DyyMDAewB0oS@cl_IpqlHZ5NqXS|t`7?-qb$J?ZR399wFxUvaN1!lj<0py-Bb`n9t5&O=QR#+bxo$PdhK}nZI}c zu9~C`TW+tVMOiE<^Vw>TG}a>Wrq6e$)#yI1%Z$5|oH7G=csK(s>_63i!RF?yj14cp zd<^?x)w*<`e1?wvK|5{r$Gth=XQ(b(vu0r9-p!Mn{5G7Ad$r>AQkFl@U25&cgcBBm z2BxoyPImtMV_GTwdb{A*>pfYt=T1){&)PE=z7`hnOW40`JILbADqHMDrm4evZ_z^8 z^0e62wLTl^TROL%-|{#iYxDQ@;<%S9pM`@K?eRJ75^gq)U!bWP;xr4sZ+*M;QSptt z=fi<^(g4XjHTzQXZKKDs*QH;aYS3*I(H`k7D2zJa{D{**pTyviNZWY$=8cKEZI($D zTjs616th2UUcm2JdE6AnFm8>0kJNtn6Q9~L^?OGZta!=C_yXx`QueLvvYgf&!#vTa z^WSgO9_zd~{6_AI{AuLG{pnKVvnR+Vgc;r*)fcm26?}El>Y&vbtDR!~VpgosgrS2x zeR5qco7EFuX*t8y%?rv`ymNYT{#MT=J#hUQ$(U1n&n~>Y>+Yk+H(ts zScz&JdC@4<#%uOefLZv4)yfSgw$XR$x0@w-ZE1+lju0FTvv(8Jt7Tt2`h1 zZV7l5RJ-W@BDdh%!8aD2U$iV3wK#1dHmEZ2@4T&Eh3>QLo|@#4FT!?C1@(MwY%4?O z-+M9l0rmzrB|2r@rTv%cZ=6qG{rE+W-N$d=Lu)zh6$9YO!OvZxa~0CZ)n*JNMD4sH+*gW+cwcX*8ke#?;-vx;#TFvyo@48 z`7R>|spft25ZcC?)*BXL-e_M)HDkm9Mfdx5yOy){JO2P)k-sDB_WUWR&unmR{?cC8 zO%*O0%o)>4($xjfOPCb$MI(ag3yYWBWj6UX4{a-Lwp*RHEVVevR-4dGtxdO>d@wz3 zfww3z*K$5_`q}?st!K25Sjej&|Cybl^6s_G;nizO9)B5r|0nlP-uidv^GDv>7Uz5y zSA49)w0Lw__mGCqPPWT}z_pma?Hd+$e@=V8UWd7@aqQ(S|7N$iIk>@V(QBgzvb+4hn?Ludo zfHTxN#+inxqhNlR*_7oh9w*i=WEOj_y>GBz?t<6_*XI?@{p5MWrP8|CJk|I%;XL9p zh$j!5kPKr75yJJn(Qel+aEE{A(eB6H8~7{xzJ7+z0IBNxA3u!2V0C5B)Q{+tV z7`GqZH&EOARM;h01jL~JDfrYQ6Q1sO8d^W{ete^3lfqUL1rozc(M{MGB97_+K#$uD z{!oGVTLds+6K96?qE)pG$o)VDVd0k%+t9m+C6qd93jHOc%DB+@ zJOg-MqHHIDaqD0kbSsrNr*;h&47?Gfc678xHpkYl{(HDS>u=UybkqEn{jL3-%X%XF z&JMkvY>=JPAP{6C!jQ(w;<`EDTp~Ssy(T@oJ!xJm-KkD?c3jRY#%k&>{1W)ICSH*& zX&p6FMZHHSzngOZRovNHX1eA0{CehSGntI!6oq3=-0R(#5S@MHO63@ z0f>5pyn)z`HA7jz3E&f&pUP_aYia59GRYZ9jO5D9Z^a!|w3ZF|0MACA!77NER5}^L*oTWMi-M&MlV?@9KCI)!>Dt&+k{()tBFgL;{qF3OHIy{0Uqcx)jcZ-UOZ3z?I)+Hqyo^)nxf(#$@i4NHR|b%zkR7 z^sAwj2ok0T7fU=vR#8f+AqHCvK2YN*Z6qE6h(m~40$&5p*WeXrB{#-TiaiD#g@!y? z2fBS;E3>7xCB6;Xq3U|mb7>%B7(Yc-6zhuNY~e)dzU1A&8koA<2aDlKg;FLTth}Vhm6N03|S` zS*JWW^K&X^ym-V)95*-##OgKacj*u5f7G8hpcO418WUTNo*Orva*{U6)6}>1elR!m zXM7N41^pef*fh_4Hz&ZVlCz03XyMB~&zx&Co9d1ipzgyy>*UH+@+L{$#D?*Pv5zAq z!w#e8Mh8b8jd3QgPG(POq-^=5ykB)(H>Ga}zlG071)&G9MTB^wf>=myBcCI&Ne756 zxW$-5sDtp|V7fj^)2CP8yOpd52g;V2KElbim*cmhTn{Z zPPxq_C}BEJ2nRvM?7+7YF_iaIm_aY~J#`a>OWIBd#WB&_5C?!9DVaK7ZMFKm@`&P$ zqF=sUzD(h&e5>TB;o3zynLYtB3-%7)hO9vU!i-><_)T~&UV(GNeZVl#5lA9D8xjkG z0hx5}D_i9UWpie{q+OCB$tOv_q*A(Z=G#o2Od~&`h*!#0O7%lcu#N~Mid_sj0u#V% z0B=tfdKIP~laD=%eS)#T>_>k>q7b>TQAiEQOWz9QJQ-B^s%|Sqif&+q!Bv^4q^mMj zDD@S!kETGw(tg%P0?gn+eJltK&H}%Hq(fP-d$1+&boeHCB-|FB06PJlfj}W?pjUd1 zen^|G3D*p$f2w>`YgOe+jlxFhpo~@>Fj%y;`E)3%meY1S>&6 z(0ehzu*dMJ1Pt*Bv4gmp_=7+rT*HYl$I<(cNH_;-4^GkD)|jew3YBbuEOI7CVj|fl z`8Z9V7EiAP{9ms~G*aTs#+kM9Uka`grhco{>W+cVK&#N595daAWsMagLC_c(fWrR|zyr}xC%2kUr@3l8|mY|#9GmtvyM)(SZ z1TlfUiQ0==fm(n{LGDGIgRg>>Ko)>U^(%EhfQYE;R1V4j#cMfBUM?$_jmaG3Kjg0! zkCoXf6HTplv3>~D1<8WhBN~zG&@mVmb`(p&-N8Cw(=qnwRAe|J8+H-W3rfM|Z{^AIA^A#0jv`#?1LUG>1ac+`wO@2s^~ZtLpRZsaND-tBQVD5>yn(PF zPry;&93bOuf?lh$)#YoSYZq&~0Lao`%hg6`g<4l#k`AR$1xULHfFbn+9|40Q>mi3A z-yv-19B4T77W5@F9hwgo0Oafn)5QV2>rUNr-F<+6 zeW&Zxc>_#rjQ#<@{P6)25(aQ~Fo0@w1o;B&;37~e=piT{L0PB_xSq=DkFNOR99|g|?-vjaoAJqTV$+Y{mV;W1%XMpZ?RyV28YE!jJ z<*R<7ex+_uM{D+I)@pug%(N(gsvFmO=&tE5=ywA(1wzW86|leXP{2nVkM2O^gb90a@Wn%6snSxV1-Z?A}gMmH?wdiW2R+hgDhO`p>S7TP>Ixb z+7cjtR|7ZF~87TP!dE0JRZ6hykCD@o2DL8?p4^x z-DKBioMudCqG#G>?#oi-&lF?IV0E6xLibP)0Y^ceL#ts`@VAJy$adr$)H+lkN{xJg zlp>gjS#W!p1o9bt8MIiB)5$ejHBud_`mJ22G*FV2^OZZ4b;`{uIADQ;n&nzEog7%N z%m#&nagZ+%H|TZfIMfMd2V=mHu;0))s2-95!9y;BEy3@A>mdO6%tXD5-a|h}Z>@I& z*x|zfqg)8ktRnz5=?<`$@u1THmG~Z12I>WR)hGyX-~^3>+Cep-0?<`Z!hdPdVSusB z1sKO*y{jIp7wSrNSvnw>nr@9QST`4lxEQR9(5(mhOo6Ti=u6A=XY?gNpYR4Hfq?!D zk^-!vC6G_f3G4tcgCwvH#0OP@UW2XyZ08D~Puc_AD+;6pSk?)Er2QXrJPdHHg82|_euh& z95S#a0{diuyTyYHfLBz2t~CY-OD4z+C?-IU{l~j9fY(O<{R|!;bD;ngs{vTmaiIQQ zp#FdKZ#TgG3jW)Y0ia#uKv4t7fB~u(0ca-x^eh9=W(tfjF2Ji=1M+Wc1&ob)iQwTod$^9ssGyHAAdazP}u+2>tW!XfBTa_nFfwi z0`f1%I~1T?kwEQOfZfFbXNmi7!T+}o6fh#;fI$8`GXG_C|5yHT$#CFv|Kqb^z~29u z