From 4c35c69ad7da4d51787832035ffe6738f89ba7d3 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Tue, 29 Oct 2024 16:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/iocoder/yudao/common/RepairCons.java | 4 +- .../impl/DlRepairTicketsServiceImpl.java | 90 +++++++++++++----- .../src/main/resources/templates/gdmb.docx | Bin 16155 -> 16612 bytes .../resources/templates/ticketTemplate.docx | Bin 0 -> 16880 bytes 4 files changed, 71 insertions(+), 23 deletions(-) create mode 100644 dl-module-repair/src/main/resources/templates/ticketTemplate.docx diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java index 9a338279..f5ec35cc 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java @@ -21,5 +21,7 @@ public class RepairCons { /**数据字典常量-repair_unit-*/ public static final String DICT_REPAIR_WORK_TYPE = "repair_work_type"; /** 数据字典常量-repair_part_disposal */ - public static final String REPAIR_PART_DISPOSAL = "repair_part_disposal"; + public static final String DICT_REPAIR_PART_DISPOSAL = "repair_part_disposal"; + /** 数据字典常量-repair_pay_type */ + public static final String DICT_REPAIR_PAY_TYPE = "repair_pay_type"; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 19bc866e..0fbc4783 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -205,6 +205,8 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl dataList = dictDataApi.getDictDataList(REPAIR_PART_DISPOSAL); + List dataList = dictDataApi.getDictDataList(DICT_REPAIR_PART_DISPOSAL); // 找到对应的处理方式 DictDataRespDTO dictDataRespDTO = dataList.stream().filter(item -> item.getValue().equals(tickets.getPartDisposal())).findFirst().orElse(null); params.put("oldhandle", Objects.requireNonNull(dictDataRespDTO).getLabel()); @@ -548,10 +550,14 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl waresList = titems.stream().filter(item -> item.getItemType().equals("02")).collect(Collectors.toList()); List> wares = new ArrayList<>(); + // 取出对应需要的其他表的数据备用 + List unitDataList = dictDataApi.getDictDataList(DICT_REPAIR_UNIT); if (CollectionUtil.isNotEmpty(waresList)) { waresList.forEach(item -> { Map ware = new HashMap<>(); ware.put("matRort", wares.size() + 1); - // todo 配件号 - ware.put("matNum", ""); + // 配件号 + // 先取配件 + RepairWares wareById = waresService.getOne(new LambdaQueryWrapper().eq(RepairWares::getId, item.getPartId())); + String matNum = ""; + if (ObjectUtil.isNotEmpty(wareById)) { + matNum = wareById.getCode(); + } + ware.put("matNum", matNum); ware.put("matName", item.getItemName()); - // todo 单位 - ware.put("matUnit", item.getItemUnit()); + // 单位 + // 先取单位字典 + String matUnit = ""; + if (CollectionUtil.isNotEmpty(unitDataList) && ObjectUtil.isNotEmpty(item.getItemUnit())) { + DictDataRespDTO unit = unitDataList.stream().filter(i -> i.getValue().equals(item.getItemUnit())).findFirst().orElse(null); + if (unit != null) { + matUnit = unit.getLabel(); + } + } + ware.put("matUnit", matUnit); ware.put("matPrice", item.getItemPrice()); ware.put("matCount", item.getItemCount()); - ware.put("matDiscount", item.getItemDiscount() == null ? "无折扣" : item.getItemDiscount()); + BigDecimal itemDiscount = item.getItemDiscount(); + if (ObjectUtil.isEmpty(item.getItemDiscount())) { + itemDiscount = new BigDecimal("1.00"); + } + ware.put("matDiscount", itemDiscount.equals(new BigDecimal("1.00")) ? "无折扣" : item.getItemDiscount()); ware.put("matAmount", item.getItemMoney()); ware.put("matRemark", item.getRemark()); if (ObjectUtil.isNotEmpty(item.getItemTypeId())) { @@ -593,7 +618,6 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl item.getItemPrice().multiply(BigDecimal.valueOf(item.getItemCount()))) .reduce(BigDecimal.ZERO, BigDecimal::add); params.put("matCost", matCost); // 没打折的金额减去打折后的总金额得到优惠了多少钱 - params.put("matFavorable", matCost.subtract(tickets.getPartPrice())); + BigDecimal matFavorable = matCost.subtract(ObjectUtil.isNotEmpty(tickets.getPartPrice()) ? tickets.getPartPrice() : BigDecimal.ZERO); + params.put("matFavorable", matFavorable); // 计算没打折的工单总价 BigDecimal matTotalCost = titems.stream().map(item -> item.getItemPrice().multiply(BigDecimal.valueOf(item.getItemCount()))).reduce(BigDecimal.ZERO, BigDecimal::add); params.put("matTotalCost", matTotalCost); @@ -619,13 +644,20 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl item.getItemPrice().multiply(BigDecimal.valueOf(item.getItemCount()))).reduce(BigDecimal.ZERO, BigDecimal::add); + params.put("labourCost", labourCost); + // 项目没打折的总价减打折后的总价就是优惠 + BigDecimal labourFavorable = labourCost.subtract(ObjectUtil.isNotEmpty(tickets.getProjectPrice()) ? tickets.getProjectPrice() : BigDecimal.ZERO); + params.put("labourFavorable", labourFavorable); + // 其他费用 维修工单的其他子项的费用 + params.put("otherCost", ObjectUtil.isNotEmpty(tickets.getOtherPrice()) ? tickets.getOtherPrice() : 0.00); + // 材料工时优惠 材料优惠+工时优惠 + params.put("matlabourFavorable", matFavorable.add(labourFavorable)); + + // todo 目前取不到:管理费、救援费、三包费、定损费、结算备注(这个是因为和工单备注用的同一个)、客户签字 // 取不到的先默认为0或未知 params.put("manageCost", 0.00); - params.put("labourCost", 0.00); - params.put("labourFavorable", 0.00); - params.put("otherCost", 0.00); - params.put("matlabourFavorable", 0.00); params.put("rescueCost", 0.00); params.put("tripleCost", 0.00); params.put("lossCost", 0.00); @@ -634,16 +666,30 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl().eq(RepairOrderInfo::getGoodsId, tickets.getId())); - if (ObjectUtil.isNotEmpty(orderInfo) && ObjectUtil.isNotEmpty(orderInfo.getPayTime())) { - params.put("settleDate", date.format(orderInfo.getPayTime())); + if (ObjectUtil.isNotEmpty(orderInfo)) { + if (ObjectUtil.isNotEmpty(orderInfo.getPayTime())) { + params.put("settleDate", date.format(orderInfo.getPayTime())); + } + // 付款情况 + // 先取支付字典 + List payTypes = dictDataApi.getDictDataList(DICT_REPAIR_PAY_TYPE); + String costCondition = "未支付"; + if (ObjectUtil.isNotEmpty(payTypes) && ObjectUtil.isNotEmpty(orderInfo.getPayType())) { + DictDataRespDTO payType = payTypes.stream().filter(item -> item.getValue().equals(orderInfo.getPayType())).findFirst().orElse(null); + if (payType != null) { + costCondition = payType.getLabel(); + } + } + params.put("costCondition", costCondition); } + // todo 目前取不到:单位、开户行、地址、账号 // 取不到的先给未知 params.put("corporation", "未知"); @@ -653,7 +699,7 @@ public class DlRepairTicketsServiceImpl extends ServiceImplP@|rDkRbQ3rKFRXE&*>Jq7&~*r5y<~YGSmT` zlziB1)_B!ivcT4U+3*?FH)v-3Vm*0ZK@CL)_ehZUwcam(OPM?Ow4`T+TB|KFMt6~O z*~(NZfmQR1B5R!k(Oh78n9;^733Iwy86 zA)IoR?)!d9s9j3ye#(GdN?fG+TWeqk^7wb!bp2Wfn7h&zwTkSm^~oW|6sLZqvj+Xf zkn9v1GGUIA^UmDw(oLHApK~iqO2|@992P5_7fG-m`%LCt)7sAsf45lb8%C{p^1k7G zVO|C7f1ej8xl@)si`7=ALv@t3EpaoE+fYwes1oT98-fV^PgSPnV)OLQ(c45&0#EOC zFWW&d3S~A$3fVaIy9q`~7oOf)wUWZ5%ILvR8)j60n3LRgkA;1O%hlmUI-O~(V19ms zk5!Hb6Oanjs0y7blomgmqtiqIWzW`QR%in8N(0zZ!y-^PG)+O*Q%GoKJnD&`^lC}% z`m<1HZYssxxry6I;^nHU@iQt*wzUYPX5}6OTa_;?{J}1V#?0jIvyONO!xzp*%k%}f zYHgWjWW_2gb3$PH^Q$h>&bl_0OgA#3v%pJaQ&JE)!oHsM-wZr9ivtQj+t>VJPFqoB75LpVFF1NT z3;#j9DC$$S(AB;`i~n|dL0E%Xhf@hOi~Aa729UipuTrMvysoJ^)xRx9FHH?smL`au&9n85{DMjZNaBwvC{{`ui32H*qETiSG6PqEbs z$>y$u(_a0!Ol50v*2t^BucyNay`EZXq@+{n|*#AZ(Wj>!>8bcQIshLCqC=Lzkagm zcl*;q63v0*2BBGu6Xr6h8@E2M-tXn#HFpQu;^3V=+0MOilMB}XH#jOL6;>uM5aLQA z`Mk5#u@HON<(H`#hYk#r@*LSb=mkh=ZMX1^||M*^btV4*t+yflvAvrOT^U%_@w1{l4`)~cZTh4{`EYV?`bEB|<$yAs1uwB%g zFJHPrkcQHqt)sD^!xD>N7k{Sm=*3LB`k8=+VIr=mln9>Wp5`pH{>mWz@uL1Z^+RWDfbrZ2NUm7NH*< zTnD2!cO@tiIk<%$nJY1#*!2ktCXNX(YHhp{E~vzt)3g8j2&5tQ93VZzJZH)}i6B0! zpaw5#BHZ~>L0U19hFIvW$iyiaf6EKOC+vX9jqkBd;G1PfWv zg&HXM!YF^!U=hG9z{_$_M;|3dq2go2f}6m?wiUw-?PfAU;vS8)7H$6C;zCCsD&~#9 zvI*RfMa_9a$y;pQ^XWy)jA(>FsGvKxnZSl1CLoyW*VD$>;V=)+L7rh#AjtJ47NX~ zotg)+raPwwN))Ps#TSl6X2lF#eH&cWyy9hQE>PoPO}0=OG$sa9js9^5c0ffTCApCK z?WzHvtIIhq%f9gR#Z&MmCuAyPo*KFriLxSx!BLyr3f3k606)XLr{mn63SjD;B}HDg ztQ`*_Y3`DrmT+EV@&rmLMhU2^KS23HRv#Bd4~RUD^tkB35U~-fCNP62WALnCN?%M< zQL4&w2F7J!xjMt(!k!u2Sp0fgySpuXmJ%q8L=Ke8_h_9u5ugJMIG15tcpp6S8{uhI z>n2RW#_)d@u%B#vdF_+60y2LpV!uTbP%-?@YG|v<4rob)9@KzT?FG}`>u;eu!XC6+ zJaYRbqLe^pxMNnISuIkEABmAGK&r7rsKcq}FSV=U^0_CZtU{bR%`J=25A~uOxEf7X zXeSBlhW~*j7hI7DLA(8KtD)ddM<=KKktwe~U2nn=2^RfIS54fX2)K>+l}FGD#YA$m z!sA8K(Th)A?3_)u<9F`*tlpHD!>EKhHPDRI^J_%RyT=rM!>5IE$-*4Qk4ev-uiPXL zUn8EzghbCoF0&xfYYaeu7TVf@Qf14~K>ayl9I8R2^gZ9-+|n@{+i-Y4l7f&S z=2ux{1l#bp#jaIY4!~EDe-jPCC8}m1y)0NJTmm<_o5-m-F{hw8#{v%;OFtNH00O4q zB&X12qGwtp33D;y7Ecbo5QYnSP~EHjyWB>Ok&xIM|DqSdc+?0Z84NX=hM1Vk+@D)~ zR3YU`lL~r-w1Jg%frZjjA@qJUkHha1jV=fpN?MW}43GR_%mC3eF)2Dx3;CP*&v3+U zGCb|r^!`KI#H(M2?+^0|9Qh0>)EMa8-VIP5j|u^FG=6g$^)zW^O$3-VdA!xMir9z{ zRKJsG6w-*Y2$bgsY*ZFC|1{MHtxU*V9t2^{@dq7!^PViJsa4N+pG2O}#Zof=%1NOq zB+1A0nOO0G<^X7tV9;+Br<5+RPG;s&J4_#0kun|1^8~w&R9GIoDYT89KufHJ) zOgYm{SY#lU#Y3lCw9KC(i5^^Fau5xz>C zPHENi=;vN~thMqf{YtzH%y~Ud>`Z*_~KU^|_i7;^7clK^R zeR1kxekw!|dM#T;j@WfDs!ASbzfZdDI5Gy2^;BSYzp`$+(76pH-?r%eBw24k9rH)Y z1bo4MdQH{;rC+5^D^wT!W`@2k}bPpmPbHUDoQWki8V~dNrKdvh;%OVoy{y z*4FxmVUr+9*qy%Y{pOd3;)?M0f5E=Bh(o#AVa%*s1v;4h}^+efOE__fCX4Tuj$G5qR^n!_sIoqaidcyCH|z9 zg&ErX+$txg0mXbNH}RX3Nq4GUJ4`Z~-_k;x z1{7rXRK4>;iA2N#`y8F)vB<#bvaIl2|LoQ&i#l#Tmwkd%Y1TUUZjv+sRh)xfULM6X zXqo?Oq~bTu-Ghgy-N*gQL#;#0gs*v6wk2S6(Y zwJonsMWEyV`BAMmIBVOQ$4})ja!Rwh^vF-^t#p%fz(1-tssC~R>lqqwSV*sGe`yP+pBFP22tJA>-vzjh%!rY{#xOaIXkL*pvLL4?KR*bed$ms$SOPa>i*WX$Nj(G^!fg)Dn?t^ zz0S)uDI&2CwAkd_gwaC5cnd>ss_`!-UI2-Mf#ZkRRMPA! z=N+EDSDWMUvsBGBWvuFG6_1dg)sM;?M~k8@Hkq2^9d&ejP9nn%r!Z%wRNpwEwX(#X z8ea^Q2CM67&rveGv2e(i(kdK&aZg*QvlmKuPI@qjc4BU}nZRPN8Q1ho`P?<_I;>W2 zA$ih$v)FVAj{blG14~xt!e~6jy@mzoc4(UOVZgv7Fu}mk!N9;g9bL>=UCrIxtQ{;} zS-kA+nzVIX*LlzaE)_mPq^30`g42u3=XNvsK)E~(`;psZ7!7DaP_SV3jJfZREM77$ z!ER>?FD5}R=PVC>CcB1!FVpIA9-OQN-M$pVi8}g~-s*JbBfN3LB_FnDCNJ z+ZRsU-!}Moov%ejlud!);fKIZ)k}GH>C~(+P$=ctPQn=1>ZHLABxI4R+EL$7lxOl# z6dv`~F_m0SQ3d5wjNc4*5p)yr7V6$H&`?i8r~4H(jRZULaM8X^lac2&I?^Uxb<)fJ zSR*bCW~&R*a*?;?w_*e|2!X(LvC+34erLmmpv&Ioyxj{(+(EHD{zK~^-K!iKczA|Y zBeLo^!j5e^fwMP+hYNi>&7f9$P^J2KS33QtZMrMhnqAsO(CJ?eEw%IK-^tItg z!w5Ea9`v(NaNGYm^?C2CW)GqkKLgU7FIbKMwDh|t0qt#`Wztqs z8Z|mAf+&upiD{fbnfuciH~kmia+%C)xzV&%7}SC`>er-7O-d-oiaqAuPcJMv&NV)* zWP}@R?%$Rf2W?mGNq~??mJ?4VsDQxRd#RZ{O7y71jB1-4NNXdIaF1#A6RBcqWyv{j z52h-(I^w}sCMOiaha~n47Cu6(V-fltynGo?gbtVrEet5xp}~9aBMghyu~7s!c8qgu zw{nZkY6q+D&AGqUc3p!nWkYXs%~a^VUtBV;)G-EGpUO#FwE^?P1P(!qX$}jpg$0%% zG!_wFwcPorPU<^{%Bc#*+|{C$*q`^<-Wt3b_Frk^WXY@^ePV&lWUhfK`26=|{_;xxN=eXf_ z-q8DLEZ;_<3OrDZ{8R26f7ZOU&`?Gj`;tr!i^~K5)fw@95=`xP?smU%=h`wAC0+wm z%l${APIh99W8{0E44v%P4XC+r&yKtKCa^ z=ayj_sVD9z{^o0&-h*KN8LYatv$kKL2$!9yPUQZu&H}V-k@P?otg{d=g=&JgMJ806 z_4Z&M1zmF|7Y}*dd7H6?#NkLbA&5VcTmA*-3Cr2uGOt)_K(c<-h8GEAnUezkrmH)& z`|}*xLoD#cw;6lV!eSs=xX8Zy+(OJqV&}^zDf@2R(74(BOzgl$8mcCHSbnJi=PEXK z3i<{M|8SouiIG2X(1}OWl#L2@I_2yz&UVxKrp@~U&>gWdCleF(?*aO>uA;ZGv$7lq zxF=l(z_8F0~7UhdO1 z5zx*D82& z&L5hHkbK<{!Xg}jc@0x?)GkhHbbLw^90Uw{bfl@WSV8Zb@Xwex8X&7-3t=mf;SFwY zNAoBRUkNc`ZJeE(xyQx3@|4poGy2mf2NdYV_1Mu~o8x}uM5dC!jX>9&I@D-yua2|N zV^&rVV)3xa*RX1x!h72Z?PN`m>pH28C1fgOZ0;kCHb0y`RFb~xB^Uc% zeiFNhn-L8>I1T{k6dGtNun|h)W|n&`+cqd;e$UGWLB3!b#9ANzDTfgjM{Zok+Uok*rFCjUeqVDjkRb z1{STK>_meLOuDSMV-G*({uXp<@;pFYRT9!_!xWUw#TUGeJ=@}z_)KGyWF*GW(0EZ3 z&C-6{JTIwr?jO7^qBtMlLI;+FaUib3hX$&rN;;B8171ZRV+{8~X2(WZ*i^X<_?f zdTGzAPTHaDin7tZE?IzFC9Gz)O2AzY4WTQcY z;D%BkD&Je~;7LD6RV~F4L24+(QS|NI@Z+gy4X0-`>Y=C~!hxiMlbWg{{iP?tOsHUW zYttKz1$;J0cny4b8uN5aYL$m`; z=+R1gV>YgJSa2`zEW)>)@?xCW+3K#qLh;Ji;ug?ATepQ7qTMn5n}5JJ(&v$Ida zbmYiSD}zyx>uvNs>fip+mgBFzOXTG3>yN#0Bec`_iFkW!-7b~L&^puj!;x>0pH)8Z z;)+RA0NG)Y={KKQyHPJT7==(^?I&xN2T>v zm!1>IjE^*vd;MjXssM~mc=0SyEFACj%KqkrY5Z{Oh*Iy$sFL$TD)Fp&-Si!zI_9&| zjft^P^Hwi>K*sGH$D7^Y8<}HILoiIoUM)3uhuzfbWSo3p zk%pBt-;snML@v=TRH%F$8%a8mai_9NC|3SK>!4yd@vh&aF@ zLSI)50=-qyXQ;I@v>+aa&h38uWNs!>Tw!^5+tzeda%g*vh);yr6f;tb@op__$%%}l z$;3=pP_^>S|G`lFKM6XZzu)){vGB@WgYR2Fsw?2XxGaPW`i^q1&T_O(GA`v`!pUHT zb7EOZb237_*fcgZ$K8c_nsXa&^jvwy9Z|!(L1vf5RzvFkwY!P8?GG$&*`<}JK2-YR z^ak%dvvRRM>n|E|rpka}BvRuzJ<49rRMq7KUP`e<-V=h~7F4akDUrLmAt#1HNKs93 zrT^;dfuxc&Su5itUN3CgRgIl}Xg|xv*sK)U*>25*9aJC6#n`aaj&niM?d`GYaDaf$ zyAL*6dsvYe9|*HOjC!F$c6bJ_rf?O$=H&0-Sc9h%uEy)E^T5(I793NyvEr;+c$WfU z)~SgHr!Ro*vjW@_-tx$*0c!mN5vc?ib!soPmV&+VHi6ga1cjYH!stZHcQwNPDG`VG za>7h&#yDhX6LFJ9Q21IL#_OqFP7cn;X%_L<=yFIlV(Kma9p+7# zDn7dGUdHEiO?@6I`3tQ!<%%{y(b`|-&WlN!HhQ21dhQzClN16i=G7lVn)3E)`xQTU z%HNV3b9bo!C2^OFtxP-nZ;A7wTJ}HG0E++mrvK5=ApaM%R{U=r|KA1vN6je1|5~HQ z9BzFSxK&W27~8p_FQqWftWoq4>8GaOOFG*V<+|h$L(KF0u3C4B(hjUOIEF=o?jaUe z@8*hcp41-Ryb`iMRIoLpLl#SCU;`4U3YTBiClOA}QBHrnyPck12HwAP>iRnOQgo|) zc(8cQg)W4A@ESK7kBzrFm=G_uyA-{b?p%|ZGU8&5P4+v(iuQo2C+^t}TbeLYnueSEmB_L2 zxPW~-KI3_I(dk1qYEXrDnnfyus2lh1pAK1=Gv`x9@tX$F?#Upb{1yWA7D?IHAfx)^4RTp zK&%bBZ+Ov{dIr|08i-WWTb8wq6v|_JV+$4;=BYtQ)w;s`FPTC2Xc#vqX+<^wmp~_< zNbO@&?VE4!QLyTFoC{6ns^usDX3gqLTZamw<}ApQL;1a}Aix0vxa8N>ohz81y-&eA61vf0pvFH`@ZM7+Sj1xZ>Zr#4s0rTW;k zpc>g>R;`hk36lSw_f#O0&mu{a)ASvIMm2pGoeUq|+r2I@t2-J(m^o$B88H6I4NY_B zK^)-w?4=bNIyLuQp=&`^3 zTh03TfCN*KhlIicg8@r6A;7?1;K0Bz{#EL-aCC6fFgCF>|3|HBBl+uJ zE5QoeW^_j#xx_>wPmc_XS#YD!tT_D6sUK*nP#0xymaVrmGkj4bclvByi=Ha`E z0xyRSg5#-8G=VHxNwSlUlpZp;3)SFL-Gn!-27~=VbPKWVH`Gf@bURO=x zz;red(NR0xTf-SeO)@7eBt`We<3DT3Gto!T$3<2dh7>_Mu;y$9Pl;6hm^0IafG5HV zgoi-&@SK?weoZ*{+W_sr%&c^7>h*fiLFF|e> zHdTID*|n1DV~El0>yO(z%QLSgCKpTawGlPykw-X}PmvtSHfaUnZf7Worc7G+)AG>p zxC}K7+DOS zkeoh^K(qY3iTN7$wczW$M3baNq4bwpflIK=p9$jNV+3cuB3r)9$9*|=$0?AOr?$2NSx(AfAWjl)Q=bwu?;% zATUB}l(Ulmgi4`PAG9fYEcC$QtV4Z}!KBk)TXPA~T!2-{`@I^k{P#9bM34OPZhYfm z0|yqYe|#=)mMX*E`}sFpYczMnKpbwi3pw6yq(KXAbzaZBkFy*Oi+Oh2@KB$! z)YK_RRkB`p7#sd`Vy2114qqASjKlj2+|;`_K7NOsFP_{w23mHdmA)h8HLIRZ@JupC zbzQC0`8#f;kyWNG0kiYbfo(iby`*L?haaG9gVm zY!@#DdCz#VMTy=?P%P5|3%vR%$#X+R8T)51G-fFgSRSmavtSCpW-y+Vx^oFM4%M(% zKX(|r;N3ajq8~CTEIo@Ht;bm!8-Om$jZoch^aAb&I>QhpSS67XG>0Z?NJb-Zu_?=7 ztB@=GgJ?TPiMsT@oivD@ST^*aH?%tUF5I+(745_=dA~c*`Y)z#slN#Ub-w$_gTYA7 znBTMQwk+bqKw%-Y6e=b7@*P9(0ixAXb6NNFtNj5~e%R&cQE6kv*fi&^)%ErE73x2% zyRn@A0OCKcUZx4DK%L|M?LWNW5+%b3Gk{YjvkTJ^{@*6VU+4Tkw3X~8Ohx$b$_^M9 z>c2$)oU4)>g(-;scfkKofDZfL@J~bZe_j8-ApmDGrwA3%KmWqNDTDvt`0$T5$iIn< zC)rhmlHs5B^A|An7x4EM>3@_y&9aSZ=)>Rgnm%1`oIp z{A0(4zt-O9Gk2c?d|lo8+E7^3IFeDC|Io0OuiUMw)@E<0zifSgH359fYSJq;^CBo$U_L(!X~B!H+>jLib%}FU#6&)< zW`)rAFo7$^cs749xm<}DUo}Cv|uY@zlofVDB zClx*=9{ycQYFPXvh^t8+wsnrf*2#InQ71&fugy9+Wv6q^vP&4c1!1c~TW+jN%7Vp1 zaIp5=owYG62}jwY?qMG7S$eEIQ?8jmZ&z3Qvh`6~^)uPfbM-#C*2e`ag(-6cSV6uJ zj(!)ib^k7;#R=nP=*Z4O2V#Z3WP^%_zhna0m4ZgZWvA`$EAOiM@~=DBY|!nUOuX2wXd@{mS@9Pn&_%dfk!KO5mM9+~iqkAeup==7+yv?(4@%o7C`IGx zEZSuslCNUAKE$34-oA`2sUW>N&_eRk%o_aaan(lpq3z6NRbswsrA&{XrRI!nT1tpk zc~U8GXJRp}5}{D8%C556$#cR@w{Vq=o}{8#w9%A$8}OkJ6hjc8awqNp%)ZUYndg<6 zx1#S7-)*c=>5_`Ibqdt6#I1Hr596*Z;}Pd;!P6zzpDfjQIgZuUBW5=I_$4z2Us$g> zbFf3cpv%r9m%9n`6`;Lp-*$g3AI;~sLF88;Zc}~2pmD6m*?!W&**fC5gK+hIfYUTZt1o$tpqc-EWM$x`{pcI^J-yQiB3uJ#nqJhDU!I|$}!JjwFr-2$oey`b$-%D>- zgou96b31)H8=<@%Lr;hTp3@y4N0*Cm+Ji_kArm|>6e%7scapp^OqD&c6}tnkh~~k} z*oF}>{%6}mydNFrZ@{&aE8qF8l}kH*Y0%UXTAV&5v9ZTioWrk8XzptA3A7;q2p59)vHZBCP;i41tr|@Ek+Ll@0;t( zvMJTIarLdR2}exgkL9{lV!=IzKp2HWM}<2FU0yCj-AoWA?) zWDrCdmK>8WFp{QgAh-`bDt5%ZBGV}+XissI#1y`UYnfp(a1MmtF~sh0__WU-V7l}u z)eq{s^-}e;ws9Fa@tJBc)Wokk3P`860HupL{sC@2yjN-4N1*;4-L&5ti%O9i{-ESH zPD`nI$jzYmue}%fF_#)FdgrPGUUU->=!QUeSD|n0uty{jw>!U{!g05NFD#jOA}PF< z7|J5Dpw!*4KnJ0NW%jj@1NrOC($QM1Z5G^aJT%WLssS;5Q&7I7?aw}Yq|aBfLcBYw z@N#Ird(kv0n$&yF{8aZW_OAd#jjoBYxI-g7qZ2L-;fAM-0Nth-AS8}2gSecM zf%qm1#DYjhNaIdvDhDO$W{IMZ9H^^xNu7PWe@XLP2^yq|O$+OTS9}QP%XO#Ma*b98 zB~OoXB#1|;IpMmGgov$b_<$A4-oAh7PIZsgMsjdMuUQ0C00R=Lu6-ej%5SU$)n zj0p}Q2j=gr-#u;m1Vqf)6lnME`chlu5{PXD27|yB3Yju9Z!TMC$<1kwS(`zU2nE3N zT5dYP*33eXpw5GL(^)lJd<}G5eysI}U47MRnb8#piX{&0qGBINcV1~?})KpW@q)@WR3k1G(?gB z#6rtN)PLE+644jY7DX}+}dRzuw=9X?- z%|ASyp6pDLNMt#PZdOcQX~qL1`7D4F$gx^|7o&C8ktTnjF7kAs?rzN)Cai^sFrsrU%8AwRH5taYe*i04x3+-ky}SP(qB;QJ)J>;e+&kKC2w_% ztjxvI+(;;xq!QGhn&FooLqvy!0paGxXaI>GOs4Jz3N0uBdTKH)_5c$9<;L3-@Uv@c z0+dXTH%k{U9-yXWFkd9+{uH_Sco%4{ViZG-8m=r!mV_mju)QnKa}iv*%L0H2uco-> zFO_YS&MGi0Zw(R}33z?k*yJ=YjaP1S5~xdJVF{flp}df8&TQ%A^WcCG^MWRH9ddJJ zTSZ|*DGaylrpA-v)R>?Jt)X@VzEv9PeRI+FL=72^i`V4V2vNm9(tAaGRoiknX#_EN7zrV$?8wuc3p1ixh(CU+2mqyL4j_Y5 zjmMn-Ik`?+uB}hcnpQ5(7iK7?24DsojeAZ2`w4rN6}ZAyAwQI?y&}dsQ43{=4uU31 zQ+QX{mRC=dmX+Yd(6LK8Q&)zeWwQ}IK~!}Dl^zQA@`#1J;@>TJ z2{vGVViWOr-0PCXL|fhSqDyI0S=u!`?F(JG=icj2vuphhL*5?23bLD5JYNSp^ax2# z(iDa&hoyB=o&{v95R3m%Rh(3?bKY>6@Kmt5r7H!n7>#OWPQfK2+S~uFuhK~Kdc*Xg zxZDM7{L#qFWq1tWvMDI%LaVeQh`NKxC-_dYWWG!=vg&uk$Q%y#0oGAc8f`qDA0 z`gZ76P|V&5+l22E%LLZ_FWsP99GQD$yzr0*tgrZzs`$fomL0)8PuG{Bp}F5jiq3?N zGuZ+uZX+V#bT!|D_RhJ8nP7tNVY9rJ52{EeK**aJDYCTpjw$l=+E#;2 z5k>kyTI#8##8dU_OOx>H?bRX&)jA`Yrj<=lI*(ETt4g3fX4j9dZXx7FV&#%azf&Srw1|x#1=^k+bJMcGXjVIuL$zbgD z20PENVq?nBvW*Y8r{zlQIa$X#RDNAo8cj$eKV%QGctOKu;}9~zBAY-{+D>u?fBfzT zLJ2B+%ICIz&AitFTg62D&ylvmN2_aogM+0dqLhwzbs}P`doUr_+a5=bImg5)f$TQE zxW{a)O+7vNX;js7`}JiBEjispx6xR5U2Y-L^l(D@yO%kdqj;B2b9q5W=A6=Kl?jdK z!`Fx&?9zDZ3DuJvc4(=>%w8Y&Z7wzdjha&7^Q^P6h1Yy^$r*>+Gu$Z-&#^J=7WC-) zdZQ~?S?Msp!d$bD9)1j+aX-cKc3s(i=5PO)ziD^cAO+Vn-03H;a_+BAMe;@(ip3w4 z!-a5O87hq~n6fz<)Gg$;i{iH1wdgL8B|s+$Q8V;O%^)L4-gD^QQ30p&a0M0s0XI=q zux*`rgko>+W0%EnK;?$Fo98nQp%Te z%t!q}7k)DvK4_ghs(HlLxVCdZ1k5?pdK11xsz-Q!b;(JfU7PjcHVJmA;uL@KkZ3|*gA+?LbX zVb2@V+t&F5p`Z8l5+y`iOqs;ec*%+#*Wbj2cPmstJi0t&&PYjqBq?}DgC#TWc zy?A5&c}ANFh!MC1OtLAUf9WOvXWQGpdXJfE#Zq`+jJ=>1_EifPf%Iwk6x2-eH$2%k zuzt@69jK|#`HfY2WZOcFc0a$J76wWEztR3~^`p%ay|e|+c)y1Vhw683v8natvK`-! zXM7#Dx`1}9=>K`$RK71M!ty&Q7MiT1c zY*`}MD<849FEK^8o#<<0C|+Y6R_s0Bmr_B}LM-w4U9-Mct4vtV=7@utA&TdcmGL$$ z=|wUOKvTA5rr3H3$?fmUjn%LpKdC`R=Jaktma3Kdv2qck@zBpb8oUVr0D!MAFo2>A z7&saL5&->IZg|1Gg94%^Vg1s91OVVs0RWW0T6cRV6GmrK7Z*!Ab7uw*Tbo8rE&DYt zWIux+Ux7PEuJlTwNb~eA%_9^iJ4Hfw;xaDd8K@8m(z^_gT~~^s7mYUYXltn zPU5~VulYX$c}d6)4vZ|iYD2)3&G2d{8d}Wfy{g4TJY|ohz4D+cd@BY z&QeLB9NYl(;w;P+qgJJgjMyQTwK&i*%yts;pVkbpRokVl_?VhDXI4o!1-%i~RE1WY z;wcA6yzD;ARbt#%s!^~RFbpr+mhs#MHJ0LS0v$mf5gY1chgy1Z%Ip|J0ZiBasZJua zE7r7rYPdf$f%+pGQvt2Cnp5ufIttKFIgvh$H)v0dg5)0JMM0qGRqk;qP<@x~5s%FV zKQ9>i#nHpo)SY=A*S&K<@3TP#NRg)Im@izSgl;vFCUQ%Mw$AcH`&U0}xSflLYI2J~ zxjP77V=)9~$(@t!b4sggW;Dl)f;lxWd6linrr@U6fR$_Lp*}K?Nr*Q2tZk^8jZc59 zyGSx~*Hd)2(ZSsF5TK@|0tb0N7|}$(EMxZb^UwH>!Ay?O+j$JQ86ltUBEsOS3HY>9 z*zv4?qR}QWx+}+%926%YI6|Ow?_u1*Ri`u|w=>+efP-CxI*k54-Oj3VoR}xqr$?{p zKE)3?2I|dgjYD*XzCDOfzkfrCFiWGS%>pSmZ~ES4O8@fKHmwd z{;_|1S^hGp@VT^eQi3UOGLb(ygJfpUM-lfCcND@j4n-PJYcXnpzE?{3XiC``5lpA@1UB5x<`>bZLw=eQzbrW<}|Cf z3B}gXFO}IM)cQvV=ZOE}cr&p^1g5?F0;JI=Aqx+GrvmpBzacTw(4IPtN4ddb2iHpW zZ6>FU_igZ8CL>|i)KYFU=2Gc7iTwK10C3`wqEn310PF2N*_Izu<4@%7+#?@<{uxrF znEA^vfsNtI=QYY^{$`ZvKn!8AVJ2BL0kSnmctJXhQ2YUTJdC5+aHea`vT;8GMco;8 zJl2c8M#)f^xp#bO8uFIg+(>^|H*G|Tcz-5%4D)PvGyXnSJh;}}r5nGvu*rv@4)FM; zVVdrnmby_CWyE>9^|%h&pY3cEsjQQEtdm%4oT>MD2?{dD^Wm$I(UxH{*y!K#%43ee zpG3Uja*{kEem~9wT@J^7y~##)Vq)I6-SzelG!oH}GYdzW3X`Ic z2DQgwCy3I4)~`0I?h4q9{4Ao}&a)sV(X9d>2z36)W?RIgtwXR}*`o!8BLi}ar#w_Z zNfctlL7346V^4$0c}953o1!PWI-4D7t`pq5;q^)eBV4)E$S@{}w)@l9TFrQC>aUJ0 zHZ0qDe?)TA8(vU*wN+`1=~o0LKS2j1-)>}E+`33kedzWCS#boh`YdBgakpuo?g+OH zSTMi0VT)nfezH=ec-6)`>jKp-d~`QfBZ=oSQ-2Mhy^rp|{duWt6T=U|fp5~h12gB* z+`dGF!a22+@R3(=Mr3O#{SB3|G}jI`ab?+AV*7&?B`QS+YvDs_ZYhh|PvN!&>YZ0P zGsx_Qi<(va2pk8zq?C_371kZDYkfPS|6&snVMIr`Wq7P-1J6xq*cm9l;6Oy1f%z;1 z6v-=j;k8?&%Zc@1FG;T)!ntRdzCw--%9Oc@W_fQ)cSqq7=SNO0KU)dyh)P5#plL?@Xn4OuI$&QcgbwC4rQMrhq z4Q=*IRNvXVyS{x5dIBE^|3hmc27t&9mLJ0a0IWIy0Mh?$OD>)^rvGe8SzB(Itr&w> zQ`$%Pnw<*SUzQDn*$X8XWY)#DCGwNHV?r z(-(?n{|}Mlxt0M)V6TFJz@gTCc0|OD5ett;lR$(8%3TopQ{v3VMQO)UVOfP#d|VW! z3yW95!tqhd*XNSL*jp(?{r)I7CU^OPf}_A> zxQAwvH}jN?as&35<_8=9`j!BG6V{IK&K-B;2^0aNllD9h(2vf7BD}p!SzR69_C#36 zDLyG+sIg*S=t!$?42D)cEzlS+szv89aP&ay$z&VJCLKa}erE6a2+!36f(WwBRuaoK zc$UJP5>F9I&NX=w(T5tiw}b^2N2eIpS6GdIDiVxaMN^)L7J9~pQ>m$(n50@RRn!W` zr?r#gw6Ns~^zm~wa1b&}CmTUQ8xcabtbL_@Q}#WsxmRM;2+ivp2J@!fNWOjs%T5$i z*ElV0MY))IO#OWBk8F!bIVy_4&Wy6tVnBEaW+=4hqjY*_n4&H}bw?*noca2E-OKIz zQXQLh7hC9Z)$JKDZYqsJdvf}4PmmLDT>g_;-2f~CdSe>Q7hubfrH6H#@S=0sWv=?* zKq*%HvFmhjX`h&$oLeUT*w^OiI=lgsD{0bY#=fZ38wqyT;0$miP8`0gr=D0LmqFFW zT0^InIku;!zog0FWBhtZoCLcFNMnS3`8YmTg^N=g85&AUp{X2hf*3i-=_>mvYx}Xq z@R)Z2%`o9@N>m z00>pGS$_*?_a~(~{o9@v8l0s6D9xsWJ50QzKE}Rry!MOpeD`~ebs}Ms<=u@>TTbwSSQ!g?`f1H9tgW$JrmIsc*okp3y*xn zmc3wp{iSk0(pYodaZIgN#Pgp$UbSG5XTmx3w*|1C{TZ0oKiL`YZy@nlGLF2|Tf?6s zfpM;yRLpF2NvJp&(vS#n#r`1>=-m&x>oA92pqJpz-_JI|ad{lC1A}qQMJU1jY8Cfn z`-G!e5#ZP-+34oE=Kdo$6|L-rqrV- z{6X=lu4cL``0axRC?B1r+a7TXgd@KN+Ph#>Sw^7O>k%KRp`W-Rh=i_}ux)kDcZ^8N zs^pNXiniQ4VzSp%m6Vc)YdPbSGQDSPl)AFXJ+POhw$6P-$LnQxVKjS&X6suUhJqR9 zTJ~aiE=`;9)j$ybhB^aj$M9+AetzjUq`&QFM!mdqao)d^y3yWGHzr#@vL2EI+Kx31 zbArVahIt(0Lz|22nXAoeL2j)~Q)xpyUAkEi{UUh_+5U&vAbrmeV>!b~vd(85>&_bc zonViI7s8m5cVI=stv{}(bLL7`Zl8A~GTCv(3ySyIwa0qwz5)G7I>!$kJ=$%+K*q{# zC95G5e<$nk9Qw$|T!M?7-&&T725gmjvV1zmVKUqeoQJy?209hbkdJ}8*CTfynwo#a zF)|U6xA*0|FGdg-on%^kW4FIQMi3i4$Qv77d0IRex>1Q3)K=A_Gn6&)2OXh|R|@K) z17o2u>}naZKL?FyUUUWHiJhS;RxB$`)DtsJ(KFWnTo?9FtHIDoN>I$Yc zLM|OUkcJIWj=tqiF%9 z(VOWwPEw(GcRse+2}y@VPrfAI2}vdd0wi+1i?PdiOm2Mt?R++4a6--A(E276#6KQX z61e`gp`k1dDA2qfRD`(xl=0G&jD-q#ZznDf_cTQC2oiw~W|Z(S2r^}AsWJJ?x`{s+ zuz}NNn<SR+K-AL%5rz{|gBLubS79A6Ad*nnymMXBT~uLQuG@RTcqNx039ZMu5>*2KygSg-PRl+|Ohj z)W0+SZ4Zc`B%*v)NoB2Eh{nNv6jeP5OmWie$nLgb+?qgW~LtlMM~ zVMf_nVNTgPYC)NI-)MB*yQ*Xnd_g5p?zo_wJO3%(^sQETuY$aCzSYW7(Mq?8jf%Zm zyIv-`GUc^sP)){H`Hj+?w@2o`5u79(pa%U)@qa;k6~+AjwDYff`j-upR2&WZ2dRJC z`2RZimz4yy|KUS}-ZzEVhVpBIbt1g1aI7>TA_~2Y1ExJxM!6WszA^x`*hCLd=X;Y+ zv{=G-=`h`jO0~X%Q}v#!p-5g^s=uNvoP7_iDDvdi`~%mqlT3#4F)6T6RpvWk_*NmX z@%l(m`>D@yrLS8b#JJFv4VU9ee6juY{Ssr`BfDA7rq63@z3hwHgJo2!XQ0@NyURT}E@R8j41B>nx=yrp&JjqfuB*fI;<7hUu$%?G38L zhF)#pp6a86t_t&f&s$z7{gvh1gvVm%TATHjRTA6UujsInrWEx>8a?=?>uwgv3{hk2 zrA!WIJF7ICK|1UCRDw}?!##t$_`N9H-;PN_~)C%;-3jD z>U`+(sRc20^hIQPfhueR7<^q-OkC(M9KiEpm7TL`dA2rnu|Eyb(Uja%cg0++I|LAw zqgEb5z7E^Qxv3yH7&9uiI&Bsk-?c+~8bR2RZ}_TT9hKrWDfwfIz#XlkB{6g4-0ac-M$xkfwzA!_do;bwl zd}-_N|M8TZPpo|^1quLMK>+}N`I~=|H)i&BE~@u0qLarz;@Z+w4 zxbVbDV&ut-?6XDXnAT5#7{>s18`8C)Lu|L-Ps_OHw#`q+b^d77xbm$lYi?USDhfEvrEPR_V*TU1_vD1$oUE-mxUkT>N|Qv8%L?k8{b<~ zS^YUk@>Og^k<~UJv{DCAl2W-{g>QUhZ&W`iSd3sX&NEkX4vRAH@Z1Nk_@Epdj7_zSJVQ zJ0FmyP}?ZU_aSUixis}BB&0dXn#|$o;yFU?ykoe$I8r84WWq`^34y>1ZTDPaw!3f= z)=Sj>1 z3@gaHQ#KIT)d2+hc?uBLP=8i7BjBVI_?GaIWEa=WT}$xE#)?i2%Unbtz+ZC_66MX}W$3%zGFGcO^xlb@T+ODqqF*@({>c5&S#D+> zdn@5PuN~|wxFKcPdIt@b@#YrADyxf?J{p_y7@io3wbEGTj>&|~hfDAG;5mVJSP6q^ z@j=m*?NTF**pc-;>iyJB^sY3R+VRjK8NVxLQ90#1n=QU&Vh%v`0iS}@^D~}>n6A)M z?N7Q2Mn@(M)>9=Eyzr!LI#6I;7jDKF!Sw;CkRxxgG z2ax!1LoKG(+KD2wD22RRIU?Ew?F@Ps7E2~E0H;}6k1LYC`)W_NdH&cV6|}Zd>V(XW zX$NqGIMmQ%YXZ*Tteh}J@q_G1a@`*x!F8zNtEmC{FyBy?kwC1MybPsc5YSIL`m-4~ zO2&4r_c^(>Z}U_d9)#V>$0vaoyjDFanyQW6+lEBjF`v>*8xU;P)~Z|PpB!!APak*t z4Uv{YTjnNPc=Y`3xSt>m`n=De|Ko2$1Aax2jl^1hDbQ~?i2^v7iNXBHxc{43|NA=s zH6|0k3y|UdZ;Io;Q2;?bY%w!4v&Cq!#bhxvGqWX&nVFecvY44HW@cvk)IB}7dwS-35%2xI zQyEpKse zR&=#7wAZ9_v9ut_0R^VW0swzJ|KII@@fWCz8#_yENznX&1o9EaT82riz z;wk43or4L7$tAz zF0c91VGtGupI8xf2Z&P(`{$G*R0Dm)OC{B#EoyvJ6)id%%Ft~#2)n0}X(V;eQ?#7K zD5UgeR*`Sjf~}r!+V&(X7-IWhryiWPfucbZA*<}q!m9iZpZnxJn9pJ55uJ$&z{l}( z>(5|)>wG7cY10QpbNrOlA9 zI1dp30GS5>K7Ihs)^-N;2G;tHmLDV9Z$sIM=BfR1fAYH*^F5!*4G*D{uO=YnGj3Z! zhNNdkZ@X7hb2E^*m>?`L4xsMD<@2`2gj0Ggm9gHuxOt&tN@J?&+)7_H4zuRPH&i(Mm;bX#a+Bfh@<`KyP1^eTK zS|_VV^u(L_fL&5PhO`#l)(BUt$CN|*_nUCphI{ z*wvQ~70vPJ`?pC!*~KrlY=Z6031JbiA}S(McZ&-$fDld#LdwMGDa3Z8s+S@MG)V=B zmCMKqE>ggm;*5(zW#si5=k{jgkr?DU0Lz5O0-RF|gsduBw0a;1iyM_qG1hjKuUQ3~ zOhJ|BYRWgTvWGT!F?;OjjEfLm&H1ytekmwyP{TD^Em^dG?c-@&xk`&)d#;3AD^$`B zSv$uCw@z}Z(G$1T>ubYW@S60Vm+WpmaI7y>6|7L=o+0ya!1Z1=`&1`HOwDR%-~M%H zm;+qHbm4WMErlSvC|ussY!>c2Xslw#yfYkE$)n2;AMwf5xZaI$5+x2TqYg4Szl|P0 z=IT92djY}S8FIi^gicoG?COIV1UD9{dZEJthq3^@xkBVy=zM)#CNz>+-^*bfLRss4 zBA`Vto&(>XUI7W(@JGjogSXE`g6pin`l}ZZf^kH`Hh9jw27yeCAs_I^$h^es*%c&po^Ax!dz6Ihl44(dQTrJgge2 z{q@TqaWXZDZ<}L!?J=jl{@R=GzlPEsRPIKeML(9(@biGd-KLAY+1z$_>6S zsxg-oT!oIC*0SF>Pcb+_~8Z7Mi3)m;bvbq*nWHw3}>(unS_OUaS_1^k#Byohs{Wi!tm%*@i3z)Z;T+%(5C_D)x!Sf8VSxl^S%X?-k zR%w`#g(YhPs2b*vzRL{lFrqzaDG~T8zS-(;iu_RgNjS2y=qz%%la#p&cq=ZMO-AnY zS_ZLdgLdRfI%a6d`xsTgG{vKCMl)61Gb2H|j5{L+uzOj9`Xb30?3yJ05RhkU?^f^D zk<433U&Iwf4#L9>m~CAg%0i#I?{c;k3jz=?qa=sr_D|kwOy38rlJ9_v! zGrt2Wv&-t_rX^b~YW}{PxXR@WbHn6IA|$OlLUky;3^}@`L8t8Jms3=iD)D3OuJBzc zt0PcEWZOZ8XIxtuD2k(n@G&rbm_d}OO)|hMXWG6|rdmF7kq}c?E&}+~H8D<>a%Zzg zuy;r-HebGEnn^zmyb$wWa zmBoOg+TFRlJ%$@$3$L%XC3OqV;G07Y6pJG0iAb5jm{B>zk%BS<)*1e6-f{mT^L!?) zS9Palg?6YlRy9nO6_ZU22-zVN*sR2R6K|$JACrB$|;yM5}7@{`RmD`<_8E zM~03bo2Vu*)qJ=M(GeqP&gnJ6oR-3A+|1_6k<5)2-J7-0D=dyM=lU?Wc2;}0|GwDn zTslYsrqttCvK=_PN6B2Fsm-3&!ZSYv)kan-hRQ@j4)8$`nKhjREtGm;YJnughk>iE z>E##CW#+35A2Yl0uAL0&X<9CNhL(c7C1OYD=0d|ossB% zNB?$Oo<7yir@mrB=eb)@DEg1x#s4KP8 zqyr9&dTHF!a!j+Wp9+8H#0(T)fguj7NKr$DkaTFMggVkU?r;6c%Gz*~NK+?PV+D~K z7*CpBE=PyX>%w+_JhQc)Wy0)B`qH|NGwY;f?oXo=l(!m?y4+Coj5QAU_7AwIxkO+U@YDnX(VlM_? zN}9_CfIjuhx#!km>0AKgQch;8ds*@VVyJw4Fq9R+5bVW#U=6ioi|*S1Vlh`1xknA$ z#f;=sB+>?;x~M>T1ETUt^R78UpEensAx$yPTeQ&bc9GyWvwf7hJGV6q!Ib<2o1zB< z&ycA08l_uQPETMoOZeeKS%MH}7g#_*R1sn1kVb&I22nP|mhAC%&C_fkTpM~lG=N{chy#5HFgx|?Kd~zsdE|{2l%Vmyk(pPlfFBY3l zjM@9$!W zcX&L{4m*Jp;}8x1$UI!Np(X>wt@10m+dnncy>-ImN{>xz53xw!QIveUVA@DEU}z;d zDb-Avst7>cR5&b=TzF;241=x!=H-$uK!ko4C$CIrG;$}NsMU2vv~hDtN;F~F@HGVz z_*d|yuYyK8-@qa-11yk~i8BGBBf)@QTmI&G*C{+auX~#KFQIvMLJ8kNYO0K_?g$lP zArX)^8gs+3>klJB1OyTDd>IT;KW2|+tR%RVG3*8I*%2<;rhac5-7?xomlBsG5Hl#X`&Tm?sw~|O`{^D z()R!h(_kBQ(D271vZ&eZK?_T_Tzt|ol#Z~DhRXu4A|uhHXyG42m^B#6r$%5c?p6yc z3jr`y`(o#sl$BLEq}B6Fi_RL1R#PK!a0Z;a2pB42_7{e;Xd*6xWsr3#6nL}&PsLGb zg^;Li7?6Qu2dTJVN{C-yp;ci5r%GWOf_0N=8YNSWh@t3l(MDCr_v;eEBGT%_I!a{_ z&R85(Wq&`QRR3O$Xez49D$<#|7dF5jwYv~I)fej&g3)l3 zIC;+Z%KOvR)QS|PxD#cbUf7;i({h2@Yo-YCNqXW&`us<;)a;@>xMzP2Lr63ZpS+In zmXa99dEF@RWy^ifK)UvOaa>V&yoTfI2umAMf{0d~iTCuIZ5Vj*0AEM`>+`pL`WJ;J zH>O6jgMQR`<`VLTpQkE8kfT{tgw2?DkOb5_7o7GK;-7o=ULU7x6SL0lV$a&YkAe`+zslp!bEY@v$joeU0%`{jat_jH{1YfxWpl zd+Bk!w5b6(NvQFInXGHDag7(XvSaSb@9P-p_TEm<_vvGN3Ct85PjA!*Qxc(0N&TzbQTcBHvXwQ8JfK!Hwn!dWklXZdO)SG7t}|)E+@h z=qtcDJM~(59EnWVUbk3(qFZJUi$*93n+d>=ME4q`M7WrF{`pM(2)B(DE!pRIq^#3C zJ_<#_BOIA-mJ&rH864uBv^gq;Y``KDW0$# zgZ_e=?Tw&Z1wMCZ`BmM(+tHct$cm4q^evn0K}nWxdt+oIY_Kc(7Z;|-guyKkkK$=8 zEq{`+VU&BsY8b_+P2?`+53RA=lnP^6atDd!ZsX^rPQRVsi$TRv#kEQ8Ygep4IUgSP z3SB0bkP5RJtAZ_VrYdW0QhheDiYl(QUi`P*`}L0XSEokz_tw`A9y-fJEhfv_=CjYt zalOd*-3*;ReHP-zkX}s!LFLb1&twpFm3o@nE;`Xj&_Bw^v2Q)T=Zu#}Zh(Ecu)E~# zXIqySVOENMQG4z0i8Qwxd2nS}3skC1XiF8__m#Sd=iAEiQ4L)85`qA|+oi*B$S$qp1>7)imGP z6PGnE!|n?Swpx~#$F_8tkk6K2gIej^#9|$FwL8ufrLHv_0tGf_msVg;D#*dAjF;8> zUDP$Ei;dNr9=jppeF}=r#in*_yelxCQXB|&ZrDxoQbl^Soq{&Y>pt0_9+NZg$y93e zqJ0sdsKY8iZo7Q{aM=922lSUgt=!E=4daKy2L}KN^t(&vA8ydUI(Gi)5(WAQRD47; z{&#O>F(YQbJL&`9{F6LsxjbbBcPu0bmw&wiMDX~EXrRV!HajZC#E&O+S}yD=lI$mZ z*p?@{emIBCx)){*+94c-Rl3hpxfJ77o(UkBtC%0-Qei~veACjh$e1*fk(|Bt70%(1 zpJe=AA7}6xhsBULOOif3(tnSoUm4s|%Q4h0e&3l%22(bJp|3(2!TFXo*bMdozri|X zZNs148ssyt0wJHxd)Vk9hlDEbHv_O(21((leGz5JACvf@`b>qgG$oz6eZ`%+8KoVX zH5oH>Zw>hU=T%AeO={EGml4$MjmVLi2NZ-~dEFjA;#U8zn$TN+(BO}nDGUGr^+OE5 ztH!~^(9)3p_ao!)&Op_XNMv@54wa*KoiW@if=ELVwB7p28ko{C;H?9LG)&}3o|<$` zyV4ESVtFO?TiLudx1uE?-&vSf^M-u0;@%EfKC)Qbt*R40P{Ez3%k6v5H_tab{fYdM zdnDjbi0DaE%Cel=p8z?;XnI)neyI@4`)t4jBzc4+VL8eSLPSk%w}<438wFu2Soib%w)uzjuxL?wIuVdSzUbdeH--@iy$3rft{HOom56aZy0e2mTKaDL^@ z^hJIixxq#RuP$Lg+R(5Mq?G9KN3%09Ipx2xP@rr=W-T(Bm5D;_V2D z<_FPs8ph~jM?ky9=LRoLl3;$B-KyuNAF~69RBT_3I;O05o?rnHqQg=neN)X-WsY2! z4S*Wy$g?-m`p^67fW^H))EB4v89Ei*HlRf#OR)7aXE#=KYyJi`?JjK!=aKXje|Cap zi?XZA`Ig(C{_I&vI-k`95=Z7lJ2JBE2a}>pwOneo7p?A@9)Ojo0utg2r?E|-+D0B4 zQdlzrkrW7wDY1H@fgK6Egd(~=Md%gJ`=mmm?VV1FmBAkF`e4|m4J%)`LMsu`5YT77 zUR^CB+jzVmUcRnJ;&XHSd{6yyM3pBechvV)`~Cg^=HfgSUz_{oS0uW~i*|?C<39fS zgKrI_$J^?5M<%b=+pEg^%gZE)wLJ$-H@uA>Xj4Q)C$D6jZU)$7RHn=pK~NLLR6(>4 ziWw$+3%x#srzben&Bo`!)vj+ENwmN| z{$PQw7;fo!^HnDL}pkhV@f^HT*5upbY`@?9qyEH07$FlPfjcv5XRtS7E2qra= zyTx?4Zj2kJJ{Ed)W=IIM9OPZnO^l9J(813ukUaBMPZ;8XRr38iX(g^#pd90Zl|-cA z=0^@<{ot^xY56`G2A*n_}g}xMazhG&RUJ4`OSn8`@~Cxj`z7{ zh(ZVW;(!Z&KD7PFzDIxh@#Cw<)5IMSRJOv4N44c5@fV15Mlu5eW6)Dbg|@&N+7)I0 z0)3JzAup^_qlN_kP!5eckpfC20z<)7lF`pvN^X8qvDn+yxaBOzkF-qa4DEv&3j0*l zcP*~KBDDH=n1rZCfFl^^dehyx20=eTX~tNJrAu(OK83hthYIydG`fNFUo^OAlAp+D zPko6+giE12Aq&cN%Cz=NlJg|8CyN2%!r!{Y)D(yv4pr5R9i1ONoT05#@rQ~k6jr#GlXH(+BnXxaIAdO5{ zk&{#&qvRmt^RV+izI8laYZT(@6aIhdy5-qKjk>@AfE47v#Bl5l9UM%pjO~Bxw(C^Y z?3dXPyw0WG{Y58~g#8lpil;Y|IqK8dYPLhx36N?Kd_f@qmelEQ_jE2|c76^gQqOw6 z&!=>E-Flna-tIJu2N{s!uJt&}m1UQ~ik$Q&j*U3l+J>=oG_pDs5z_KG<{;Wg7}B(vmbz(mX@1YWgDc zadP#UL?c%N?N~o?*mKlxsK`jiz!E)j>jwR-*;vS5CkO~LYOTp*F4`!?^OtZ7{TQlz zRqQ0qIZdd&6|sGm1%_TbIBm6Se9yZYGB(dZ(E9|oIQL9_)i2V-prEK0bqLBMuv^zD zKA*fo-<@e%DET&7)|V=bv?o&XuTxyuUp+A4)@lu)kbJ$J+%j}~@yBz6EjxWrVkC$D zu_rhZdD}^t;BoVV&)OXHU*JPif^j17 z>S#u=zOwQUvr;O%7mFodN(?15fx~AtlfJ~1DiMQPmu%5?@juh0*;cq=j3cadb9&7xG1(m?zwBMc@*8)aSH$(b}O*}svtVIiBvRqW&MMYKwJqF$yYjzEHmKEIzn zle9@iPCeNtR;MyKkmA_bk{!6@lyDrChV1c`DD9lYUmp4vZqg5~6)CBq!XY4m%d>1V zL)G$7)RO?ZMIB~y%bs|SvwZNI;CaJQS<7@Y-;Y&D4ejVJjzV({j$4qLk}-P4g5tKQ zP=3z%SfVYxY%vChoNL#6l<#Uv{AvMLHNJKT8+w^3u~B6$?l8crn=uZE+$$pJZ9bu3 zH!x2xGdW-_7A=L4}Xk-)+=!M#`fyqSFz-S+Qo zG%D{{haiJ!x;)?BEq)o1=-2(svZ)eIOnNtGrudGn6I8LwZ@SkSOx-uq`0NJ5`woGa zo{>@Lw~t>PHLz<+8Q(VDeor8Ccm8mS-N5xcdU(3em;RL<-#L-}e8DiLC3ARr)za>} z6(956A$vjT%uUqS+s(|lv~^*N+iN#t_G0|zQ|FgYQy~ggI+qpVn%RViwRAA+};ovJk03X zzWsT$s%s`VFQ4 z7qn5hdD42CueWM?roZTfL{FmvtS=Yl)hyjCqJBZ74(o!|*ES=KsMLtZCsrI{5Q#aV z%aaRW={77PV3-~y-D-rcx`KOqhtn+sw1V$bX*g*7CX?->@@(hnA=7^JqNms$rq(keY0I-#zd%oG z)apjSrF;2!zZ%;<|BS#$aC3Y~-obM7Czj=K9 zbqe>b`0lsi?mw6+#rao7-p~L*s3rga|4&oJ-oe$v@E@aH+L+yP3+ljq`XQH1oioWJ z^PR@7j2?Nt@kuXxjr%+TRC1BHAXxF>cuOl?%R$bv47z6hJ(Sfmi!|R_4nRyI3SMB7 zf3`n{A_HIG<&tkB+r;DkRUrjbyJ!$|LbQFeRDeE9ZIC#DC(P~M8UIe}-mi^7O&BR- zO71*)ul;=e*8;O>(V>e?{tn4l)D1|81qh$*DBews zN@`JU(G(oCO^yM{Poc08+WN5kEMExk;E$Y&&{3_bu8M;7a4LQkRqBZg=*0|>MQ_Pm zn1r~?D0vrdF3t({gCkbIFPfDp*)I;uR8yv`ne;ku zaPEsObxGtL`RkRhu?QZ`xELN2+tF&ZBGwhLCTOOs#Lk0enp_OJwY{ilyEWhIoA&!d z?h;zZ*wtQp502GYDKRODd(^r&;ZV_++VC5| z9W+LWuZ#tYo-(;}clf*q+_ILCkKD26@G=qg0CBu_Z|FlQL)1r0QF+&$NGbw3_xFYf zTxFiwI(Mm%;k+&c-0DgqyKM~?y|*plixq!dTX^SQo+ZS4moF=^xVGBo!R||p>?BY2 z1G8MpB(tvPRIwj@OcaEGk!{wMfqrb7%l2a)KdX)gWCjn%`5SNg(Bk*qaiBzJ_W3T{ zOfV0uqSsXS)bg0^;sngQ_aLFRZIP}ST)cd#!mjibQrz!S*fdQ>uC?RKtk*MbVydF7 zKSy_4xqV1)ot*(AI8}2%bpc&T`OJ@cheXwrVv92k*niy+$WQz@G`hJK!H4?U>$y*6`?4uVt?LOsmVz zqIX?qWx|;;?+3r)e+$rp;a$OLYq3!c<+ck87~o#RX>Os=3gx!_xbQf|D7I`yb6rAm z73kI9=I1cQ<{OC_XL^uX5}jgdx~#GUF~wYD0sZ=MnWE&^s4G@mfVjDb>E4#=dUA<@ zzDS9|wMaSsvxayH_Ac2=*NkXgTx&FZ`4<;QC%nCuYC&dslgiZ<^@wQ|^_#kU?Z{r* z>IvjNi}4qZeJ-wU%1gB#Im}5JTbV$o0DGA_;>jUI8UCgn$Zgvp#QtZJFJhPC5#KZ% z77)i(@SQ-HiV%F+j?mD_oIr<*2v$alqWsvXgtNk-5lwQtk9pGMbh*ci7}f@gqPFxE z#RRZXi6%t@A?xG_fh`q-`LX9}K>o=n_>cE} zydVs^yFCn=(j@nfTP1JJ2LDemO1uAS*c2OYDL(&Lq3zg0_D|Ep8wG7o_SvANdFSS| zOrC`BC#gckNt)SvW$9U8t`e*G^n7zS@?Tuz`2M>Ji{=QL)=dHnB)S^wM-49~)^@ib z=tb)$eCZI0yZUFThY4KM6@_-G2nq2Mj6L6yzE?zVWDM&rN3jzNL_06AO^=D$%(*Tk zc#erNz~MEJYMzcfMWb`#`ffC^=!3%3ZdxubL4MaV z-A|nQ67lNL=HZ5luoRRlz)_976ht~(A~P_FQIWFw4is+>^Nb-9MW znwc<{&3<^4kgMc{{1RsY+w`o$u99$aUh+M?!SPr~Rr1f|##~*JWkSaNOG%5A$~i04nM7)l zHRe8c!#ZSHH+4oA-BXIXZl}1+*(S4MaWn7Sr4Me~xfmrgjrv(C)(UmAcq|p##r%FH zNoo1*l6eGxN;R0>1NVQb?^v~j2Qr1?DIBRGxpo#eiY2rna6c#H(b9# zH$Mg|$vw;$-+c=_d6u&_dJ|Gor2C|dD|qfgDlT04SeSyUID(@r`Fi+Er32{rzSi!v z4=nUS@O8O)LmXEg?rlBbHVBG-t0Y88b$dAcDbw#udz_($MoAy0(#+8u>KOgH%JS^J z8|py+AOn5a*tu%&uoI7b_LEj)nVs;PV{3^V_a46= z4WICQ@EXcy3R0`5f3CHftv?}9q#BzlXI}|@iw#1X8X46yA2f}pQrWI=)~&&e&5Qf? zvw4^ZN>$NZIsq;$Lo6g_J#&VnnQ(W_!)To~dnV__iDPm^wC%x5zGBfR9Nmqn7WnBn zoRY7hG;?eQ3Uy8at)XJg`oQe9X`-S1gy6jd6(S3D7bnN+r_$;dlDnB{vOFxuRZ@Vx zRNFRDj-YXwyghDi0$~N#o081v(^y!5L$g$I+Nr_F9+);ZqE_|D)E25{Bx$7%S*?;V zeIv|!y|xQyS>ozB)9^f5^lorVTWd48zJw*L6&S5bGF_3OiPF)~;sk72P*jw0BaV`P z==J81sbjo}+Vg$d1X!*h?MkV-YWd}}Ua9)}{EFgd3swk42<=pm8@3%BgmHV$vKx;V zCgiyNg$2X+=aKWb=NZ2D*Zs_n*O%`b%j@qqA7}N=`$wUp=$iA=6P#nMRy;6d8VljK ztuJHmA3>CVcdK`HerKlrSc?7?0RTYx=Umm5a`_UP^~~@a3o=#x=muPkyq=c8n9~l7iX~()Y!5c0?}s?}ZxmZ^n*=UZxl0VB z=(>vDHpnrk29}cKMPAUXVvfXpm0P|nma?Q z8XA(nM0c^G4vs1c4_k7A-7m_<>?YR-( zEYF&5coI`M3zkSpVJ#>;T^CxWmc}Y)VC}ypeh48)h&7gq(ewrFQOB%rV4jy!kqfoE zBC#UwS_jzR05pK?q~NzP3;`oWaLD=WF)(f3%9DV6EWQx(FU@bF)8kjcR_Eb; zKQ=~jrL8FvEx1~4}6aVO1q%Fs`iu*cbGl)jOMX{ z_3d*gVgvIk*2%t?i6JmQULk|!y~+=q%%yhRt?{3_JGJ9F>xWBsiw|k9U2M17(-S4l zGQ3pg@ejo3M=m5wU+$!dSK);YtVZeI)8MfJOwslG;;)&P)Exyc1Pr(1N<)A2o8DGk zGftZ<)Zq^#rr6qX#^w$4M;jyToXQq#ztazRLqFGN3T3t@ec395t6||A(`Oo@O#(%; zRRaQa?L?grh-{^t8ziT(DwxYns1 z;Rnx=VF?pMg2HAUh?Gk9vY9n~^rfnPSQ?~i{F)p%%jG(-TJjvN_La&bF)NzoMFCCP zw&(Tm@>*X#7sj+mV$&Ex5djGUCMzCp(kMK*zP>X00jwV~DppJ)IhBFwz~}wEXT>!V zUq|NSW@_YDP*l~B5}2J0hTIFQ*heC@Cjq0ksZ=Q>aFf{5k}aXwdxc8hy!xH7Uw>Bb zh7~1#Kdt8e$1gwe<71&Q2?8opXszUkhW4NarO%~xIinZ{YH@I15$NEPC^&(jWa^oy z8bM47G^4)=xCXq6#Z~&q@$q{AV<};VrT~W)sO{q6v%##Zh)w6f)v%AA@)z@0I2t_e*@HE8&^{s<<+p6KWm2SMl9w_<~hx)+kWn#)mNiKS6R< zI0uE6fGIg*tv-6ea|FN9(!eEH2R%DuTRS&Mh-W_vWE~cpR0ieo_VsuIf4vPMuPzed zSox*5Phqv*E=LX&OLvm&XuK9ndSIW0s9vd^qaddtEH9DbEXu zR%}QmMVnz{I<+?)Y7p_BDRj|J|0$W2(>Q@6`31R_MzNf8#tKAJRv#E^#f>$MN}QfG zU^t1l(b?{&{^Bh*`Ju;^bG?ZMqQ}m0x7JONeXsXXxRcHv{eQI8hmpH`G(V*4`5{uo zk6`pi1X|Y4+Qyz<-`ehXeSRe6{5Jyq@#(^11pY`BTOqvSt&S}ysz*`*o<)t1q5!V0 zJux+p=7_dTxkDoO)QPHUN6Y~szEn_t06dg>`F?$4d}2^H%xn$SUm{pY0SkG>A1X-2 z^L6Ug;RHU)7JgiMWWC(ee(1SA7Pw{LrwNJ6Y*{x(HkC z^S(o;LqW=%HhaV6k{qV1A?fahO2%a+R7Gy(_2c+k14Cn)TqTtbwbVetr1G-5KCRtV z9C$a|p!h2+%Og#Wv2Ih$U{`iyKiAhf_&VA$Bj-Wil~Tb$Be|@+)@A-zk{^2f*wW;G&t7aJzJ!-Mn>Ec(@N1}$ zMcnHAFfeKjt&v~`8Z7(|)@#WS{F-c+lW!x82ZB!Bt$(n?%5k+)?$?&kOiC2iS+eiy zdpg$8g(d|kb#sKKUinn7Tx}D(K#uE+Vd)DXu~`k%k$R7-#^K%(jTc!K&ooVj3NzG= zvW6$P9PXG$vQ>*Hm1F!QuY;Zo!3P@=xO|~~RZ-+je(fuK+7OQv3U6m8BJ3E6H7d|J z@(rh%rGrv9#(S(ODPk0KL7)}ogFv$hIShNGPb=hpTPsx)= zB(9rbYB)$!o$=A4yW%a}Ku%)0$5jdxf{^1YK(a5z__9`I6BrBB2|UnUi8QbiElBFx zd;z);O$zSxf?Q}`gORkeC=)v;<$YSx+@tv^>J=MHn(26Sr!|;1?D1&6E)H|oo09`3 z3Qr6)e?!%^17q^5q3Gwti{%bzX3+W2eyN($?tZdO-NS?R1H{Ki|Mw}Rm6~ZX{fAr; zKjiw6Z~T`o)Y0C-+Va1O{aviTAM&CnBzqW820k+Tga+HCQ&<~tEx*j;6X2nwwMvN3 zluwe7iWdsKtdC7{a=T1zZ$Ce@O}Nu*w*NrHX=3w_!G!gI1xl21^j|T&Fr9H>1nqCA zG5FURK1L-< zDp(>KVwg2TYPeE&>QCE?*hcP!4kE5T87HGwPML_rLhTFUgFxIC*q=&uWmG?kzZ~V= z0OORk8$=7^MKF??%d?5gbqFz}r$B+$pjzFw4!D0mH8PsNW^npef%~MBxP7BnHV#$L z3ln^9bpRnJm4l+$jgpT0W?IX!ypphtzYT-MCMO@Di^@V6a_pxJ7Li&K5i8WM@IOZCzoY-PtNbh4hWjsQ{r~AWWhKEr^aTLG PeiYyji7xQ|cJ==OiR?$L literal 0 HcmV?d00001