From a4b63c31a40f3bc83663d9a8dc8fde87df045a78 Mon Sep 17 00:00:00 2001
From: "Yangkai.Shen" <237497819@qq.com>
Date: Mon, 21 Jan 2019 15:41:47 +0800
Subject: [PATCH] =?UTF-8?q?:sparkles:=20spring-boot-demo-multi-datasource-?=
=?UTF-8?q?mybatis=20=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../README.md | 382 +++++++++++++++++++++
.../assets/image-20190121152825859.png | Bin 0 -> 144712 bytes
.../assets/image-20190121153211509.png | Bin 0 -> 196360 bytes
3 files changed, 382 insertions(+)
create mode 100644 spring-boot-demo-multi-datasource-mybatis/README.md
create mode 100644 spring-boot-demo-multi-datasource-mybatis/assets/image-20190121152825859.png
create mode 100644 spring-boot-demo-multi-datasource-mybatis/assets/image-20190121153211509.png
diff --git a/spring-boot-demo-multi-datasource-mybatis/README.md b/spring-boot-demo-multi-datasource-mybatis/README.md
new file mode 100644
index 0000000..9543ab2
--- /dev/null
+++ b/spring-boot-demo-multi-datasource-mybatis/README.md
@@ -0,0 +1,382 @@
+# spring-boot-demo-multi-datasource-mybatis
+
+> 此 demo 主要演示了 Spring Boot 如何集成 Mybatis 的多数据源。可以自己基于AOP实现多数据源,这里基于 Mybatis-Plus 提供的一个优雅的开源的解决方案来实现。
+
+## 准备工作
+
+准备两个数据源,分别执行如下建表语句
+
+```mysql
+DROP TABLE IF EXISTS `multi_user`;
+CREATE TABLE `multi_user`(
+ `id` bigint(64) NOT NULL,
+ `name` varchar(50) DEFAULT NULL,
+ `age` int(30) DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB
+ AUTO_INCREMENT = 1
+ CHARACTER SET = utf8
+ COLLATE = utf8_general_ci;
+```
+
+## 导入依赖
+
+```xml
+
+
+ * User实体类 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis.model + * @description: User实体类 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:19 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +@Data +@TableName("multi_user") +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class User implements Serializable { + private static final long serialVersionUID = -1923859222295750467L; + + /** + * 主键 + */ + @TableId(type = IdType.ID_WORKER) + private Long id; + + /** + * 姓名 + */ + private String name; + + /** + * 年龄 + */ + private Integer age; +} +``` + +## 数据访问层 + +`UserMapper.java` + +> 不需要建对应的xml,只需要继承 BaseMapper 就拥有了大部分单表操作的方法了。 + +```java +/** + *+ * 数据访问层 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis.mapper + * @description: 数据访问层 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:28 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +public interface UserMapper extends BaseMapper+ * 数据服务层 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis.service + * @description: 数据服务层 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:31 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +public interface UserService extends IService+ * 数据服务层 实现 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis.service.impl + * @description: 数据服务层 实现 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:37 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +@Service +@DS("slave") +public class UserServiceImpl extends ServiceImpl+ * 启动器 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis + * @description: 启动器 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:19 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +@SpringBootApplication +@MapperScan(basePackages = "com.xkcoding.multi.datasource.mybatis.mapper") +public class SpringBootDemoMultiDatasourceMybatisApplication { + + public static void main(String[] args) { + SpringApplication.run(SpringBootDemoMultiDatasourceMybatisApplication.class, args); + } + +} +``` + +## 配置文件 + +`application.yml` + +```yaml +spring: + datasource: + dynamic: + datasource: + master: + username: root + password: root + url: jdbc:mysql://127.0.0.1:3306/spring-boot-demo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8 + driver-class-name: com.mysql.cj.jdbc.Driver + slave: + username: root + password: root + url: jdbc:mysql://127.0.0.1:3306/spring-boot-demo-2?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8 + driver-class-name: com.mysql.cj.jdbc.Driver + mp-enabled: true +logging: + level: + com.xkcoding.multi.datasource.mybatis: debug +``` + +## 测试类 + +```java +/** + *+ * 测试主从数据源 + *
+ * + * @package: com.xkcoding.multi.datasource.mybatis.service.impl + * @description: 测试主从数据源 + * @author: yangkai.shen + * @date: Created in 2019-01-21 14:45 + * @copyright: Copyright (c) 2019 + * @version: V1.0 + * @modified: yangkai.shen + */ +@Slf4j +public class UserServiceImplTest extends SpringBootDemoMultiDatasourceMybatisApplicationTests { + @Autowired + private UserService userService; + + /** + * 主从库添加 + */ + @Test + public void addUser() { + User userMaster = User.builder().name("主库添加").age(20).build(); + userService.addUser(userMaster); + + User userSlave = User.builder().name("从库添加").age(20).build(); + userService.save(userSlave); + } + + /** + * 从库查询 + */ + @Test + public void testListUser() { + ListH2onXz#Y>qGobEKu1)j8a94sARQ0YRZ>$V9((13{W=#FDx2jQ-~uZd9g7XeP)(8 zf(tQRA!xC5hr%oMy5zm=5GVBzfckxs^-V0XUQTGH1@K5 z`Eb415|Nl2tHITUqNFGd&u%_XmA?_hEkX%9d6-8ipByt>i$E9_uC5*H5K59Y^ VO4aAFuSiWot3#7*!ZJOGb@*AO^7a9`YSINQJM36BY#ghzzygf7DE8REsV zuj*leiJ%Kch|tuW`DM+x9c1;wL-9b!54mwBZUS8JaWE1a4~DV5pq8V_Tv`3s+<&X# zi>_ vj96o+}g< zE8mZRGgCTSCe9WWve@v=FJy5geAh874>xx|0F?hD>etjOrt1FzVP5!4S8yBvzjCO| z{!7QR2H? Fc&NWWuOAA1nWRG*bKIUo!}?14>W_r-~>1WE`knl9o&Vh zrw2R({ooB4L=c38&=Ce=j94JHh%@4W_##0_I1+;-AZbVjl8s0Z1u_@;2B|<+Bh| 88#m)$11TptPyL4zw=eB3+uz) z<3yZ+vv3! @rQUn{+U20m=c@`{sb;zG9jBVi%>?W zBy1-fB%Fp%QxD+{kw|0`?TJ3{X-p&L5a$q=5jPU|5RVf(iQU8j5{YC?awY|m;z&GF zA*qbCfwY@+jC6(6LwZNnB3qC>$PwgpvV^>tTuI(VK1#kqenK9k=u&Jc{**Y1fHIr1 zg0hX$O1Vtwp$t;>sP@!AY7#Yvx` zvj@ zt@kv2niGvfn@UsAmeY37j?-?_UeW1vJ9-E`onA;^POqn*q(7j)(`IP9YIC&(+6%O6 zw41cAXg}AX=-BG8b*Af-=v3 ;3tE2 zgMLGO!*PZwhQ)?8hDQv$m>AQJ$z|p-S1|W6Z!kZMG8@GnB^ Ij#Q`FSS zG{JO^=~mNArUPc?W|3x6vkhh^&HBul<{{=e=4;K5n)g~TEP^b=7HchzS^Um2WU*O! ztSZ(iR==gGWt64Da*JiV<)D?lRkGD$t36itt*O?&)>+nTt=p{oZ7ggi+RU|Su(@MP zvGuhT*{-)eYx~yD-Y(VdJG*APr}jqnT>BFH2K##sbcbMv0*5+>YmP)mU&ma>jgB2o zsFRnI$f?HZvNP)J?JRcQ=-fGmFvf3;WK7+dn=UjLwo8#qgUdr#rfZDrV%KKZ=VNWg zrjK1U_UzctZeDJAZrj}My6d}7a9`}+>i*Kh$%F4v<8jTC?it~^z_Z2k#W?42!f~6% z-ST31P4xQCtIg|^w~x2XyV1MX$Hphar`G4DuYqs8?=s(WegwZzzXg7W{oea~`xpA} z^ZzrzB_KCoSHRQp_Tz=)w~g-(v $&|Cd?w7Ba4MP>ofusm{V2vMMi$dL5uG?;;+l!~Vr^q3vCVNH zjvKco?tZ*|d_nv#lZcbzC)G@PoZy}?H{om|BXLIJuEaM k(+8%6PgysmXR6oKvZ*(w*-tB;c7D3a z^t|auX6Ve|&Dfto$VkoDmGO}m$E)KFWO6fWGyC}*{(Am1L5N_jpjQ|uTrGT(6_~X; z>uGji_L}ToQLv~|)F cv-H|(#mzuXHpPZkOe@LP)$(5X%X+E=f zW~bCyS|;r(@Gn?b&@YRYZI>hRY4Vmr1Gr(oq;ODtt9V!xR8&*+ZdS^y{l$94lHyCV zon|kc{iGzKL5p_}SqF)!g zEndC&^*5>Cw3eEcE-dZ-HuBqsGVL;1+0E|)zT3P6Um{-8zSMK+hNYj&1?3ki+$t(7 zJ}%=gyYRjH_f_8yEzerszQTLOrj^8%l9e}B1+Ut h3iY*EFqVtu0^sdfkk5 z=PSomZeCAauUOwz6;su+!DhqC4IisT)z@o6YxdNd)-J7myHT+5%BGM_jhoFjS8V?9 zgZPJATOzkK)!EfmZY6Fl+WL4~%C@sV`u k_D?$`JGyoz>^xQPQ(wQ!bk~Xo zv_a9(yL;;Hj-SGQYH4(7+_Hzcr(!SItJwSd&lx}8*cZL8ZNKmS#sjtoY7a6FmNy|y zvzz*xMa^9;X)T?HCLC&O4QM_1i|a2t4qG0sIbwKZ#Zl_f(xXGiN{$U2mmcpsk$s}O zZARPOlao(gJ2mN4`|0S@=gvf&IeC_S_Sm_=bBE9SpFecL_d@eU?~6^Bye=L5)$7-T z?cVK8mwhg`boh0&c8>2ndL{VEiK}5(&s^hPyLdhJdgqPg8@Fywz1ek3aO>&qyxTAC z6x|uTyYL?2Uip39`;`w&AJqNJ@n3toyt|G(410L#QR1V!-TdxnzsZ05*i-tL{{Zaee;rW3-L;k$fKe@l>h3v)9%Vn>OU+s83 z?seNh{J?`Z`ELf_mcKK8xAVR4`?DWXKRg+n^^x?k>XYNA*3Z$O?+xV-4M}-2o@y(A z!GUIF0q}AM0Q5Atcjy3sIz@fXQwgFzo2n4_Pgs2xREakLJ3;_RUI;)8+@oxQ!xmy1 zyeqfrNg)9B^c)!)k!N{&sJUqH#6x&DH1x_008%RepJYQrgByp2K5c`^-Ui@!f%<%@ z6e2tu{NSoY9X-#%*Ya;)P=8u-zlv@E000SaNLh0L02U 6`hm)oc9( cbabimq!2r1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#~6Z2 0bqFAU00IagfB*srAbt{oMo7+1TaQIdnz<0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILn7ROg-KpD6` 5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0cQeK*mb5e z!;dwTHp^h|kmyRgy6NX#t=(g09T6Ko=D4n~OG5ww1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R)^0 a07*CJ`X8 zI| V06wU3$d@X+v> puCDf0K~lV57?eci$xsKl(L7 zyAy%Au;1T>K6F6<0Ur@4nlnf8^74FSH7o;xsR{5pn3@}BA%Fk^2q1s}0tg_000Iag zfB*srAbbJ&1$ {G_a;R7y%NJDua|HESd?DoQ%q+vULi z{Z9MNl!J+hiE_)Ww@G|Lf<&pg4-5=QYip}qJbz9O9yl;lrs>i=K5_p8vT@U9(XY`R zuf8I?cE01%dEV%>Y4c|BQ$If{D=OstxpUsQ#FWQexoVYs_Q8jZ^Iv@S8ToMUUSoUn z9e0ZOxi{>^3m2sPDrMl^Q**udRKAaH *|rd z0Rl<05+o)iYRr{_!!6~g$L#db6CGx~?}1Mlqa8Z1f6~D2<}G(ga!QKS*VWz>f!)u3 z{`0bA*$N4dh_Dk|zH*hU+ptkydGUEEEiJV>J`;Cj=gyLVfB<7^v-0yrc23_c@BQSb z)K3pTIePfej0@}r1qF%z(k(F1@|d4LTkd_}lWv2(^X86e3G5aY7D`r5j`a8U%LjY* zxIORdJ>TsMPH@6x^O(x_ktbgV&gSRqKOZN!W$Z=(0R#|0009ILKmY**5I_I{1Q0*~ z0R#|0009ILKmY**5I_I{1Q75MftPl?Ef3s%m$k}npUNWXeYB|yOgXS?d&!~UA?s6r zKYyd*YEV$H |LgapT~!U9>FxN@Ba)b$B*VkQMo@O9&vz!x zZ)9XxRVE%*QyN=h*Zls_bJdlL$G2gdpN->>dGq=DTQ yG4J|+!xSQl>h9}Ke9XV8-MlJlAV()ZEdaccYpPm z-EnrzJON$@({oP}lal4Ot=r^{7oU~xu5PE32#*Mt?GJoLe*4xAX>6cEzf&v@B7gt_ z2q1s}0tg_000IagfB*srAb;z^qxbWW~yrM&R4kRTR&k zFGX|axY~V8zm=<2$(*@!t@~E2S}noB!N&6wsw(aC&;G_5*3~;d+`CtHz5S-DRBNd$ zotc$oJ$IrFPtI?mYj|?Mwp_Sqk=sLF&pIc%*fLcqcA}=Mc)L4K{ry!?P%zPuH+270 zyr%N{@b;p7WgWIoGtpVkZz}Ve%Kb4d#{YaY_q+S3!@60ydGe`;za%=4J5kfebRXSU zpF=|c0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0;LR|KxR!tO*6 z9UYxgU0p5F(a{nT5+ZrIxl(%NiqU=B)-AGV(Lxy*7?kh*>ksUPNKZ?ZM;?AyRX7!S z|NRf-!;khGeKxFHE9=* i$9EKvc(bLTHeLt~@eabMffT-hca4V{uwkSL*%Av1n?85tR}{hs?|c447}8uwG( z(UB2pZ)=m2CyvQ;&pczdhWQH?$o6~hQ 8Oi%V}9H3xkql>e5Y|e9U6XX#}2z|+xFS1DpbDx=9@;JO`A8%UCLO&%K!fK zaXEAP^q6z!&6_9N@B4)4N|=_{l&II*pfsu1%LluEJ7INRch@=QqBc)#@6S(u^h5dV z7amj d9Y7;|=_oFcmLXUmw5w<*!Kbf`t+g z5MUVS*TwgK_# h))RoXSfy1I|9tgFwVA%Fk^2q1s}0tg_000Iag zfB*srAbI%Sf=FW2%*exuYYpk=suTKu{ zw}jpG1OrFcueXB&$G-G8-+8C<+-?m%>pr>#s($*uJn)&%O0;_Yy#DGdmII@IPGy~A z2C#Wz-k$*Vv*N)=z9?zw*Q#dg`<$JVE1!S(cT~8#QkE=Vu6}x4`}v{IEm9tz{@fSj z-+%CZV^niI{qy7x9{pn@$ZB&r2@4N5Lcf3V^}mo`{_JN`QgYe$uvfOH;^ofkL;s94 zt3#U$FrNnpPafQN_57K>4s-2}9w&Mo+(>6f^O|U%JM%Kfn9BVzUoVsWd^E4&?qhdX zw-M5vD6~61tm`Py>+Ut_j{pJ)AbFSYs>?>EU$dRK*rKzb&<`);s(q+peR8>pWA9tUbkuH^0)y4&K zva^gzzxs&|bQaE@Ek}+WpW4N5lCxsdqNSy}U80jCXZ(z}sNk&`*1b|%A|LG8Ef>z8 zmzAqlt8nTa5~TvY3l=T524}<7J=}QvCL^rd-`_7s4jz#G`#v 9>1G^@Kzkh%c*40&Y&zw3b%}tG>$1&T9W5;Ccw!4k%#>U0Tpa11!QmVq7y05OR zJ6ZGQ{B&@*s-i+><>yO!MyB0V^tIDfwPM{WE6Sy%rNyq#_#HYBc$grF~ zc~XuZK4iRBbYQt~jwJwm>!!_e;@DBCP}kS(de=FA9_I6afIvxARklx`JRy74_d a4ET{NV@h z%lWfsRHfZ~S+jnFQNcGZE?%~5+a^Ex(Z8Eh@XF& XG%f-uJy9KknHJeT+sMTV~Tk3)f-U+i$x~5)u-O5v!{$!C4OtZwynV z!j`{$>S^ncwRQDIHPDqSR~nUBbF#Cof!(X+6-LM~BQryN%yy&Chjled&azDPW#yUC z8%fE@#{6_u-QWD`Y0>vqw_Q8mk>1`OS-O0s@m%-QfwcQS{TZX$>xhiV?p-_O_19iC zj_W_ppF3x*rka_RE$h~=cNnrQzj{T!_s{=iJ 973JqoTuv0|Nu{teV5=Q>TpM`q8YQtE=hi%ERL;B6oFl$$$Rnht}_{ zva&My=)(`?FaOWqN sq_gdHC);*sUN_?B<7D%l?6{-Qu0AI*DOvq~CagP|AIA|u z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R(Pdf$I+J&Y3euzM;Z{ zX4BPgb+FIR&+>8gy87)0A531A)I8tS$MdQJ>-cu+^l8z7UEN}1V#geQ;+IcKM0mJ# zb$5^1&y(pFFss|@@15=U-Y0Lq{+hLls}79nFWZ)$ZmA&K($qXAtZVjp^NrU ;v3 zN?KK=-T+mpRtKHU=81KhV~u~*RgP`j8THz3YHSi6UTkS@wuW`hK4;IIHmd0A=aEtN zRi)3W>d0mg+&o8zt&bi)D0gh#W`z9<)z30-26m_FCV$KX2_g zcI2?kEuL?DAL%N#MXEw-y{ckcS6eHmjvtpJ>bPx-7!73V5ba}s^S8E#?6za$;_UY6 z9apcEIoxl%^MVS6>o46lsmir^`LiW0BU4pmO;BNAe~FBYlzER@)*wUcVOFy%F=f zsw%`5FI;HM$DDJxs<@l3=BL}0vQl&Rq>noIt6NKRlj!Qgj@p|$-mu&4iFMiyI=Z8> zqTKF~er@a4-`{6 gDe1 z!^6|I8_rkOF@9k)&DorvyYrgr{V}hnA6@zRXxpD{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{-xDY)yDASq`Zc+K+ZJPSI;^Yr&D3`I#7XJt?e*yN z&RlT))6HGE@O7s;b=6AS%9VL}d6K9;VqRrOtyNN8nTWf6`W%Gz+#SQ$`q!MRm%57$ z5)u(C#dj3m(B)a`DLcR9XwhZ6PDfN|GCDd&Hr~ET;u7MG;BH1{mguh~%a+SFRdsjQ z+i%K8`}P^ 7spz%Eyp#s?6Y*Y1e_x0h;HR!Q@WgX+4yy@)gKOe_i zPWC)JB3wT8@RuYpDcPv3tNZJ1z3=%ae=fQLFAV_%5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q0*~0R#|0009ILKw$a>bU^oeKYo1rC*r~ko_pmDc~0yLQ@U{K4eN5 fsQKnx_UPKZj?ZGSC^`2Jg6!f z2TD|Q^rV*!3kx^;3=9m|_5JO8?~49fxoVZno4-I(Qd1>4CDjO0CM74!{h#`b3U)Qf zrAwEjudh$SRCQhb5$dN-oUj|qc8Bic>2~_mDbZhl`^|3|bBv0Pk~me#x22`UxYUi9 zpRPK*UA@k9$W2!y)`8ukIdhHcYp3I?GO??zx3Aam3=OjccU?X2My%7-xlGnCBQw+C z8wgTTQY0|Y@?)^O+q)sb>+y2u^)Z>n^&a!yHUbDBfB*srAbW!aJ?l9QWjgc!Hnv02{Uxob?f;o)K9xem(3#>7Z#Ticl9si`Srp7X>tfwZ~F z5|tPsVbSgdFI^kmzE^iok92l)N=$653XUe(cd*%`tI~!?L>PNon=Qdso5R-4g9i?X z{?biXYrgmX2PAKHf#_ -7CZ0+0mh1 ztMSH~^*H*zj&J(@1qK92Q&W>Q_ 9C?}sutIB0ZOpn`r;QDZ-9zC#5Bb@TJ{lZ6ZB8{4*j6c!ZNKK0o4vL%Zp zBqYRR dOU|c;Zj>#nvG)#iAnOA&wYNve%tT0R9)5`s;jHU^!w6R zeqa9hPyb9l|KLMo_Lr8H%3C|Gm8cF44Kt26)?2FP>X7O7d+r%?j()Ou@nZSYKmQB) z+FyJ_Hs5)t-SNqG=pcErs=S(CP$(O3z0F~FT~RkJJ;ONGr78`VU%mE&$lLQXC-naA z-x{y8Fcq@>!Xv*Up`oFos~7A2?zFnvTBCbpWTX+09)Iq=pSWMX^5`GSm;T_7WaDkO zTMyr;by_cY9UJo(E;8OgFn)+-D_0u3bfst=fc9pas+YU358E|_gaoU~%X4gZS+{T5 zc&icgw(fAS;pqICwhjl=p3*LFIQ!zy$0^~elbnTh^_V)it3$iGD!P6nf)4NMb7%-4 zfB*srAb+QGXkuQB&f`fx) z?S@+ J{U>H{W<&3g^x _Zx~fvWUUH>)!9rtqje1_CUSICC*Is@}<|t2XwrcG<2?`35Ju37Y zqVDP9Wy{okSS^0)Kka$wpr!h;9{)zI)19?U)Hf RwrWvP{sh?M8&z_y=bdT(xs+YU34?WoqRfSqNUH$pat#?U)`dMqczW@8}?-*6F zw`|)k|MJ~`koNX=qrdrwv-4-tI?VY-Mn=h|&6~}qc8~h!$>~$4?DpI4@P@N5{(Q7G zb7y<|1D`R1xH^!lgSlp9UE49t(5_i&SD*9TlTX-oVH*Ji5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILK;Q-m=*qe}LuNL;t@nNJ$B&!4cyv?1D}h}-huwSj zNN#Sf5vD9EDwM3u45_HJ1PL#fluBi#3L0i-i>~UqZQC~4vUQ6Jl?52nZ)|Kd!nHck z>xq_=ou$T$GltUFn>(k-2nc&(?CBn3cyQR|DY(yv=M0JZPhx0nuQzcDVXtFLqDz(=y}p8JfT=<0RrWyR_>(%;`Nx^k@9bf9wg zd+!-fYiep_|A%{xFt4tdtV6pSj7qqE#vF7f9sWIW?5ODZx!c}URedwEvSi`nB@(R0 z*VS3|*IoDAYmBSI$!60PG=KA}r_HCvqqpa0d$IFp&KQARZLiyz)2D3@yR_ZX(jt4` z-z~S_vBd~pYyah|RvG8&z^85_>OXy-FPuMbJlB8R$aPvTI>ilLMOcT%KmYI}@>x~M z+4g5kr>gj^gO%QHQ}uH9^`X~sN!_P4>o$n47F|#@M`jlmi8lDhZ-3LMxSNoaXe?I; znU^eGW(2ft*YE87nX(Ss`4*}w!uo5XR(ko;q=8*eJL|dl;?Kv4j3?Xw+qZVeZCkg= z8!tZVFsy5yZ-#btSXZAzLjVB;5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0 z009ILK)_c7rksdXc}Sz_V5Fl~SKlBPE?h7U1qB7mhV|>lbbIafH{^<{#H%aq>ZZfG z0|Nt6t3qWjzVwn2jMV#eP|$2c!$YH+Bi8fGW9FkdAM;V~zgk|Q!iBYJYebrxn|&s% ztJl`k)~l@amh-0j=)T@)&pz{OdH$JS86RbCj<18RW>{C><4YIL%TNCO-{ko5<7OA@ z JaUo_uiE!e)iKb=M1ZUy6Nw!q0#TVF&%84{Pe&7OWxo8p0u~MS@-J7vu0RVf3KcB zeM)}u)BiE50b4tbZg_is=Jj5G?Ny^fwSL~!)n!z@HII#d92zuVKVrB39k0JGzkc!; zQm-nJ4h;<&m08WOZd+@sy!XyK^6RIc8b9Qe?t?MN==ZF7PxL->d!qYezNXDb+sT;c z8siMxzaXCd)l*Vda#{L%d#z#J!NEbPtSFcN`OhDZsXnXkt=Wc0CJDrkzW7EQT+ GI`9b?j1A*|@B%%%#(3+B)z3#Qm~)%T{CVKlp$DY+c8iwQE&1=U_Q}@PKsp z^tiM(Z*-c9*Hm5~iHV7lo{?b$;_Fl(+idyyvt4?vOmx0E&UCNCoQEeLJ?U&aFJJum zXuH0fZ96d|`(~Rm^F;sw1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY** zZm2;1tQ@(2+ZN-RI;>k#cJ+o{-&Zcy+1hL@W!eL~H!J8&3hV}j21?P!d &`= zGawiCl*mBupu^+rM8FpXCJOBO;#ye~0tmP-Kw#H>GtNK&0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q2jvzzppAyMHQY%rpTV#MOb^*6Mb {a068>y1k=CISc`fB*srAb+F(>(#Mj{pJ)Ab7x9fn8s|yQ~cX1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0VA=%;>`wbFU;+prfB*srAb00IagfB*srAb*u9b3TnhmN5I_I{1Q0*~0R#|0009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0;rV+{K*#-b2F009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY+B6rjSc58hOk zga85vAb<(_e)<_m-MuCNOx0<^mX^h$nfxtTdc3GXT||DAp{UW009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL_}B{g6)s&p;)|<~jEy&z)!EwY z(d7k&hDc0Cn#80gtB`KE=%A~sO$T-Ry1J#Uwq82w8>O$a%hgl8*3Z}0<25J-MgRc> z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1g0oJVAn-B zT|GB(R+hx1r%GT@kc($c+-;zzSK8_uq^+t}dOJEN?&zf>H`{u=6~OiqFT=Vhz L%;PeZ9$U7}G@n0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0j~=Ldi@GF`2} #;734FnKC009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL zKwt(75ZImI=I9Ez84Ko0L|p6yJv_HNPz8f^C^#T6P+F^Nq@$t9bAykL i|}VTeB9=m$2w42S>fL%irH$qEZr#!TkaPq`kJ@V;AzZ^>_@1fe=6d0R((nAUHBm zf}?^|75iXgo&8($_X1{au4Ty>1qV00IagfB*srAb6}wy2n# z2wCv(YzdAEvR-qjcSst~w@FuhkMy-#-eeIN9w;$c5mK?QUfQk@*tKG@fq<6;!lR<4 zucupv1_!-#1%^cc0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5J2GO5g@QT zdanXQLL@0aSNv6#-I>rrq9UcQvs+?Plcl-5%Izun+Irju@bC#{SXU1lmYpt{zw@b^ zBDDK2fB!dQBp& OCI$S;!6@Cfk_2#~>n0Xg{2s}ps%+aDdDC=oH1PrGQTtC8OBF1tSLa9to( zeR4;7a+1VEN2>qN@t2;yUa4 faA@d^x$ipo6RxW44ylkss0#1)cDPpw(AU;8oj1ldtZUBW zW(w_^bLR2mCGgob8)bf0uCeI9d-fM&7O%s)-~8l5)_uMh+6_~oA>Dd<`>g9^!?Oax z5ph!d&_7C4W|7^%egQ#}wBR<0D_9|Cp8mh8n(cABKAza2E9=^Zb*m0E$i-JG90qkK zyPgi~&VOjO5&ZS@_fuhG*Mi2mxw*3ao_i-7-tPFjJKvd>z;1qCo@8WZ%7FUYZ1~ zWH&E%+*pCYz(5HK3NpStdFAcfx6A6a>m)?IAx*bI^{EYe_wM!NB^-{WL%O;17D`aC z<+?I5BF2})-u64Qi;5*JceVs57u`mNho$yvseQ)@_C&=cNTdq;4ypClS6rE(m-lzi zlzFUMx=^w+(q;Vn5pyy!WOi _2u&TAlnq#^SjJQaCF|^!KT5!|Hx?TygxihXsZC zQZOr91$9U7y$$oMtPClwsFK5{&e`l`69EJeKmY**5I_I{1Q0*~0R#|0009ILKmY** z5I_I{1Q7W630VI1_2akhF)I#I!LFF})G_;J!jqt|PzeYQlE|b4w*tGqww~#{7oq7X z5~PCDZAVW#oJRD*xzc**gu`R(y!ixbS{mh*BVz+>D^-=iwAlEYZZRv=yzgAF)R?zz zVAl-m>MDD~BlgutZ@Ps#n6M7(Zd$X#IP&gChY0ODFuLAdI;^|!OW&99 pG`u}(QzGon~t`6?OIv1c!~7(_7d2gjvL_RYbGWp z%BMd48Oh7fQ&)1g?(_9ePFL48!@6xv4N_fpNpzLm$(j!O=Bq0AF$qbNb#;0?H78H> z9EJu5rZuoT6XvmL?FvarOfbCk&ztU^USm5VJWK_6{Ukm%M%FG{Bs=#WFe>5N!bYh+ zD;LkVo^N~1(e~_|Oet1@U4MUn z6qAuAfvURMOl+a*AGwG62P8y2_I0}Uk-)yTp6R?Vz14M6`{G;EIR&nL0|ic3T$R%m z*Q(L#aO*uwSKYuFc=uA{!@A#m;VJR8>bhoFR|kZ2)4^RryPo~N8Xwl}sJtL&fAdZ0 zYpt_hsC>`UQgHX5Ny@TqMre1|9ls~%p8W^waZhaIZc3NnD9i8es{IWf3+w92x@Egu ztFEipakac$9{bC0*e&T#{`AizD?3}-+uGzi|L|?Q 1$0iUPySjaY%>MD=wau_U6Wkx?1-qt7`Dsh4a)WU4$9?2KxJ~p ``*WWK8!NJz!jy8%5@{F+V;NXy)zIaK_UcO@Owy 0vT!xurVQgq@rmXszy+D~Fq%^l*MCSXH>{YH5?Om}r**yOXVFL0W@6 zvgEAui#j=avL;EMJT}is59f#6U61q8IC{MTkA3UA*E@vIo T0TIPM?z6ni{!d%T|vJ9~GA%`rfrRTnpwq z8rV-&Z`W;jXwapwuI`(WS7?NFb;!4=rb@ayS|z(^zCPsj7L%APx=OYy!D4eV5z(;{ zs=}_Ftu4~m({1jaQIEM9>Bf9?*mlo>BhqH`roV=kRylLAL{=_ZphC8OD%h(&Mc~4< z>Cc%x%LwZlq3h~eX>IS2g>wt9br`p$1Hj>7mauh2P3@SluI{SCz^UrfLK5TS)VQG% zs=~j$YF_TPth8jQsHt~&T7vpC3_WgD{p11hc=i8OQ4wL%sQ&+|YqaXH!$H}J00Iag zfB*srAb(Kdg|a|4aR& zaC46rrs|y`gCoKvM19TF=BGYdHc 0|z3A(DL8ZDWS5 zfAhC8+|xH^pMH}1z~lj#-ijJ&J#@nETz1TS0Y~B1^(s7c=Ypj(fAS7y=x9B@URl?c zfzYn4#?-eRhIOB?59^v&(4pPNGkYZa)a)&70-c+cz13<8S`ozmqR~;X%pG%afRx7}0Mm>QQT|uBwvfp8btousA9*Qtti4 zCuDX(frN*vzx$~EA|oo`+9#zYm*uTD-!uZe<1g**yxr}uuQ!$ZqtDZoZ*SRntHi{{ zN}vk84h#%PYfG~nI&eTAcGzN-)ryrX< 2RFpAnT|?8DuNn(u!)SRmb$}YiP*+|1EUT_lyeKo-ZpGT|L)X3knL9>beG_ zOL )bm(?WF9*V7?kXH8$PxG>+C*L(X8%BsclC0f1t#(3?h@4xnrPC0b)tTeZ^ z%W8EjB{4w-hC{7usc&kMBd5+uyQ(Z~witE(!np;Ks@~9`=c}8#ebS@uUxf-KA31a0 z?8+ko2q1s}0tg_000IagfB*srAb=pK}&im6uw>}j?91GVGPUE3QJ8X|*z zeG;txF}ly@AD 5e-kBqU_aIzm `Q0ynSzdnO1vzo@TIgAaTOWG( z5lK$D_IrJ3XvhfV>TvAZ^&5=P>#u(Gv {$ru^Bn i=iDRruan3si5$2vpxQ{%R3xmM*lO ztIyHD+Y?kp-!)4XNQ;_ZZr0eJ6#?qpwB#gNvCv=M{pgT!8GZfrE0#!1RHXH?!^0y+ za99U@i}G_NBsfU+9Xn+`&ISSqAb42vZ-S>a2CEz-{+2_rpNW#&q{s zfC>@lrmN>p7TBF^Jr!-y@|%;+*X-{6-0knqdfXlRdiqDsnQfdt)ZHTiD%hY~U%F+~n~l5tt~fdy`Cm!fEP?haZ=)uKtMYlJW{!wa5~% zKB}tb59Y4I002M$Nkl ?!01&P}M+hz5Vtvf!*6x1ywVwd-Y10?ECOTxqRu8EM2xt zHr{%hM5-#A#S0clqN*zS+N-b1UR8BfUuWL@`O>F?b5H#2r^YSNRVH ivn2k5_A5V>k?}fajUhr{v`E z e2PGjTU6QkMMTc-xv-706wp!Yo8&zf6<5GD!)Hp98 zHA8eI-m?ey8kg1QIcsL<*IA#*j$Ju-QmV@?IljKC_N|)^8|xsluBtn%?m>O!6{#z~ zV(d@Loo!U;)oah3T{I@Jt1JHMkg{%itu M~Z(13WZ5!9Bio202pz3eE>Jqj7E0xu9;Dr5~(vF<=T(#M(v}BoI zI9npr->dcaQdvcnbq dYrA*lgIo510 Kq846ERYZ7co$|JXh?w$neoU7{AvHMTp>T$1) *{6RbML(p6|Dn-Bl7<4-DAS2ms9}PtWukvktwTI zu9O1@4;ng2iAlzz4uHP!{PR+)Law^)*|SG_RS0+SlBLG;Bo){_cmBLIH#f`bwQG%i zIy_fWT54>Yf4DQAD}h}-Zg*Fg{Pgkvw$81*qCyU;`G4)tzb^3!398a=fy`1N-m pMUTn<5Lk*Q`5{T8;|bJ+ui AV?g{H~ZH@KP-Ps{|#fyy4Zl jz2@bXVy}$DEc@;3e7EIMa+&RnE7@^(Bm^ew!%u#_}OLf|?NK18C zT~)V4{od?R>(@;OcZXCMI4L9Bcpe%aDXoollg`8F?8QGqMk{F#s-X0`<%=a+y_rnE z-h2D{jjFOb&>Elu*ZDbF5}_&tzo&jjda`Z3WsO8dM5qeHenzESJ$9E0!k)QUBA3f6 z-MUm=W0Smp=(urCZDX@EG`ASP&-JIH=%0HBkDr$62Fv%Ee!N9h(#=duvHYA!N|27L zmDax_=&HI0Pn?#vPRl2!oG-nq-XJlkg1hO)_)+SOkpy<#x;=D8009ILKmY**5I_I{ z1Q0*~0R#|0009ILKmY**5I_KdDF}Eiu&d`1800VaKfFLzZOoP@esoYSpPjrK+Z5Jt zU8e-9s#wlixC#a(%!+i@#p$sgRiU@BtkY?q$qxFdk9XBAaP%MGo%Nq=Jy|jBvNq@1 z$NV}QOCPIfjh21omVd~etgoxb-C2*TV_t8+@VspCANB1~|F}QW-){tV{nSU~hR@EC z&hyTLX3-1hSi`!5s>)a0EAL$IlsNwe3mh!DAbZZ9l8y5g$TwejN?ty+Z_Esy*|%HX zR~7tdGecmau h~>i?gkZ*wIpOq-uMq0?6riQ^oZe!*(#J3AUd2o z=aYXeC!hF+aiM^~5SjP6zn6dzOV#nJk6u!NG0(hlCpcOKc1K%Zhoy3+ei{-RESc+* zjUySWEJ0S=(C$nP>*@)orCEN@wx}?gZRJ>FG3t+<@4PK@RFzd7Qp?QFwgz_l)$c0Z zbog%T*1O~#)z1vM9yoA7^p`u$)8pxDpF4Zj8rC)EqQk_;j~!K&aqlpy&lVIE7=hiL zJ9nC0>>iJ+%Cy_>x!0&XYldLWPVUaz-TqU(KW6pgE)`mS?X_3U=~^Fk)#HV#%5F?- ztaYEc@sl6_SOpCurK9uu{tju5=gy;9O?IHaZ%kO%97BhAQ*-i+s lzHmqyTzx>i!iBC~saP>NijE%DfcFhXGeyZYYc2TiZTs$k?9qq Zul_-sl!IItO!19TLvYNR|4gW@+#0Hg`|@SYB;;6N1@Muc1SouS3W>1Z;+N&EwT| z4Mt#BKMx&!qoWQk>*lWl#Ea$@$jS4UrB(f1UAGcd@mGJ*5I_I{1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|00D&7N;MKscxrp@a82PJz*(`hBye!W@aYA~!uLW$(KGXFW zpen06YeC_Gl8|Ky969SZ(XrNmZWY*_=%{P^bwEcq{qe(-waL~K8{Q|&GwUWB#(F$B zV0cVmw=k(iTDn7}q03UC%-T_H1o(}}imY1MU!lSd 8(>BaH8X7uwzDuCRh!dA}O>541P4$s(Q?u2#CMG)FGCER}uPs%Y)(t+F7 zQcI;nbCjCHuSwd9yCpn1S7P&*N=(iIX}fw#hDU}ZJjqgZvZL~XRPKGoJjH8|eXad+ z;-{Bn(U%J(FeE^1L%WG{Vr2e9vsJ}(%kR^&oz+sd%ki66(pDtO+)w2i^F03Zi_(0- z63p}3#MQtNsv4zkI*6((&pK-{F_zGw?sMYAahWrBu6l!1kj$GuUkZwfjEb!Fb#-#) z^eH)U@}#q&?2dVQJbi((vawZs&5P;)?(Lg5tEYYv7Z-2tHXhfmStHpwxkivRR8`Ur z3=C2Mz#yyBn9k~nyYqIp|5Wc!M7ZU?wzjqy6_3ZyTR(4ZZgLpd)yJkItgEjZ6da-- zj7qV_hJ!zPyE~1*t}AaQb8z~!> 5{vMu? znjvvXsYaFE?v6HTs;!phI>$dtoL<1@V4nI^ht*3K+U%KpbN{iEQd;5ox`V0`u-SB| z^|v1#mfq2DzuteYujWp&QojvNX@%W}I9qXq5-Zs8 zR|>EWfk#jCA)0$$uSKG$ypG!@3VGJuCB58YMltQ(ioy0 kyYc)c5zyfeM`7KYWcp*K`J0dSi2m}mHkGihX+UV#lyLqS91$m}EAEl< z-M_SSw0*P4@YsOVu=+Uok{v&m1z-ICjK1-6)*6A`5mnK!qw>52N5;#Ur~Z!&4_Ye0 zI=`}ONBi5az3C?;Drn3}ZRMSIq217!V2PU@?NV4*4`w^2?X|{S$iq)U)yLB778)8V z=@}VLM-LnAt2>=IaYCY^qGZD@8zoMK;&iB0pRd0bEm )bgy{E_1 zbF8d%{P(@u+FIk|=xu|z>FMe6xzB$=QdOu<2YFp>?#|oY{!_g_`hM!x+tWMYQhH|K z8+-!P_mOTxD%3eq8?;t;4wO(;Ww*EM##aKKXl@hj*THt(^kZO*eN|)I^US__U$YA3 zUQreH)AI@?RE4nh8|Wg``T8p Fc}pW}TY) zhB0AXbA-#~RZ^5cOJY=zHf;3!)I4^*k7boLc0+7jxl}SzlO L;K_pSDmnic5TDD`uyVLCfRu@M>_g~9S-N#dK`}6 z*_~nPBYFd)Eg$LJqe2EjaibrZTv;pOxtS6W5hh_d8Pa{l{`(+q?Q#iMA0@2YKx4Bs zym@m6Bp>_McRh>CXb5;%AY28Dbj3~G8dbP{_x{5!SL)N}j1TSVvGkZdz1IRxy5GmO z>9Fp?FMVJ7JDXKt*P_tVRAp@VsW*f~XBSIL$&oQU?d4}wsA^cfvB6)$60U_!Tgy&L z?V;DCzpG_T|Lc9y+p0o@`u!6su@;$XU+sN-Xg5Js*EO57%DQGB>zL{q# $Tt*I#0y9lwS>dA;#tUA$5u`YSg*Rnk+Ej5$O{MyRU00iqw5FDRDI zt{!P &s!xb?4#2+H@@kAyw{bormLA@U48wCxDbg=50j?yu^;C;GGwW` zYkmZ*v$=Y6J- `iwch;l(d%H!< zoo&5D%#vc!U*lV(>N7sD8 >-$ zr#yYLa(?B{uGuK_vvQqwI$d$aC#&k(F1o2zhjfp~f}+{7_waGI!n)=-W@vZ)^2KuM z!e!B8(o`k &r%F8#Z_AXw$*yX^kd2vsT zmy?_8u)^=6MT?B;_4<0PEtXJsN{X(mtNt$0-Y(zy_P2~}+dnqmcDwCUhuiMX+m-%P zy+1l+9HZ`QjFW1vx-#-iYXkj#5)u|J!J+nncyq40(yVR+qoGf8|4e=~*X6H%W|d!X zFCc5KtFfk1^p|dtF>#VJcY(wtBpFqE6VtP%6xi)nZy32;ZW+_O&h 8*$`b)Qj z*l1Plw@8xJ+=EnTIY+&LkHD_O+s94>5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~ z0R#~6pg^Dp$8vk9@Q7e} WcV_feEgMIxH6k@5?=xD6q@IZ-7 za9k;NeE-g-e(CSN7VZfO3y^`Hu^%69dyZ{bSMRUA&~6vj)%%AAEMw{_W|Ota))N=j zD|rd7htpcSL!_kH^0C1~BYyJK(RuRF(zDjk?$_5J6@NcVpx6xSHgruK@NjoMldabi z$0O(DPdZHGyxCI!=5A|0zrX-V`}B6vkGeJP-Y>nXA}?)b2;94DwK0+EmS#CzdU4F8 zKCxo0eDjkJ$)2;P `hy`HAS zL)SaT^;~}@o}0P;a}t$VWK6BQzC!%{17%1BcH6F=lGc)=5}Uu&2=k^bzelR}zi3@T zY~Es{x~|^Q-Eh^q-1*7m*4WS>85x-p8y6>c-g&3I^UgbCE @{C?_*|w*LJAQn>R~%xZ}THxI1rm`%m@$G^uLH zX{y4ot_pn5J@?3Kuf1lwB++Y%k53r0&-TgMHEZPPv13MsVcY%Q-tOt_Fv6%hu$x^} ztir8l##}NfBipDjt9SN|t3*4d<1{|;SK;^Q_(W-MzE+XiT$c_bXU?7@m6y+tnW3(n zn?9>RRqytb=DKRBDZ6YOFI=)xRT~bHzMd{AJ$>AIPG?(-R9rkOG3pI9x|vmntsT^c zqj}gK_r~^xvT`ZP%auqK*45QyqtxrBqkHTpn#@t34iOb$30-&hTz`f6xR_{TDa8e| z e_+QsSFOCJZtUJ)Y@*mX=jrP?CKUY zIzMX%HV{An0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY+R2uy2W*IZ9wak6~- z$J^w!XU@ou=g+E-thEF{&EwvD>{B0K8|LJrS;Jz3BzsA`OH(L2+++>x>M(9nex#Iq z)F|C8{dVU&3hU~?uA??ITD5i1g(_x~ttT_KLq4}~Y(T-$HO+k|Ym%&iUA=F7XxH7a zt}%ui>oMoyt;gVmSP4l FMKU1>4*t6wxixj}KNUs|&C)zllulkT|1 zdR|XujWnsiE^X!reCIP?G$!-TsiR{8yJlF|-_Kt*&RZZWRS0&U3fs^S__z!Bsn (K6je?238t@gi%$Is6{&` WJq=%e!9u3d8I&>>l{V7}aT`({Z_Nioj2QdVlczMflDbhKn-X3AZ6-6bFG+b6w! zeX><;FI&Ds_1CMkZ|=_9-TqU(KkvP}OA3mLM2Dl-tXr?{Yp{Iy;fFG;s`9T{yH-}N zvb?#(enldW{ncMfLSmw9zH^KG;QQZ`j?w$(sIRB@=@4pMQmO>1`RV|x4y)E)EfM|3 zvE Ug?}u5NmMI+R;gazWaf8jO7vm(Ga} r8(SR;xDx^>%j|=NJKB zV|0|HpwP(s!B-p19-<@nk2Qdw(pSg0!0>p-u04@=4` zu4^V0)pb&kn 4y}d2t`N%F@ir7q$rX>DHsTm#1eqGlCX Y4-RhRePTYc}zI$1ZfZf4zk(^OXV`^{9}%$xVP=bmfMIq&(-KgVWU znNzI0vbrLF_? C#Ub%+%BGyGf#DTbAh#P67%LWDp $;Tgm94^Z9XV1*B z*(z2%+;T(?9d40<{(kx2{^h@rAn}DGj`0C;L!A2$e&aXg@BM@SO1%W{4j(zCo?L(S z!3W{*j~+gdH{W_&g@0M{m9KqWIef+ZhVSz#+?|}5FoNE2fVB^P^X>Qepy#KnyIXGG zx@m;D;El53JmFk|1H21&b#}`BhK7hD!Siv&n%7SVp3j^)BcG^vIb8-ZYOe}(Az+1| zySDj|)HEFo$)!~Y3qu)(x;tcaFtb({7#|wYydE-q%c`oSta6{sOijq0kA5n1(^D!u zekpZYE{Js@+O>k)UAA7LTs@r; x;}Z?F2@faG;tqn z+%E?j_RGAAma}$esps1D^x8VR TQxaMd9C1wdt&7f_aV{^;3I1SKtXonadY;S-w9C`) z|10O=DgWI5evj-svsZFUa-{xBmCTOLOUH-7#Dk6R)|fbu>4nKfLEMR3$m8#d3IM&> z4}bVW85$fkLenZ&h{#>OeCN;qKl$db{EB)4t~Z`$ zamdorlJxiY$zS~WpG$`dR;_*KJKr&)$kS)eN`8L6DG$83j*g7T`|5ERUW4I*7h+MT z`OUZA =y8s5MB7`*Jxs?fEe<%HxHYCTyKw1WM@+^qDpJ(J$H=NqE5=f+W-4aaP@ zV^t^BShMlj@0)E$2l`CD;0ZWKJp?Oo{eS%#+41C|5$?kKZeBrQxLk;Les;!)bzikU zh)AZlJv0%ay78bCs<&OR$X?^Iw74Ln{k`(?;hl&uo8=?o;1qrN*{3(<;;CbDNCm3d z*;(r0d0k*UzpyCJ+Fr@MCmYXUbatF|C)WA6^Z2O|F+;3dR9FD)#=EbLYi4#%UcBm* z`%gEY)B!KN*4)xt|J5F~zI7gNqiJpH5QKqPcaL6!5H08K4zXBJ4n6$?^7;M8>yhvi z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@q>#X_BNwj38~5~- z^uPSpuS U-Nf ^d5z2DZ;yjymnSQnmx|JmRF-EeuMJ@J|!()>@V&a2mA zG}P6|I~UKI!#}=xS31>$AT2(D(&jUA_7DEGIjG~q|Ez-5KaLr|O{{zGKmK>JFg+SG zOsak;Z7P!U|KynL&JNwjyRQ$baJW-em)8Y<@zUO z)Vu66^$6V8=lvS?n{U6zBcDOe55hGyHcF$OqmEav k=4MalK5isQ_z~V{ zD{AVE_!XXGA#B|a20?CN@gA9-o)mZuj<#I&7{0f<)?8;( zg8;BO0_*9GNJ ?#lA2y!RKa^8G)%FAEFH=`3?ZTJRb*-ZzkR!7c>4 zFRu-UMY|C2`W5RUqjM_QHQUMQO~tx6E>-10-2e5tR##!}pWZqV_PT35?f&aeF39A( zdNzwPzvYPvp4_i`?)$#?UfehrN5-Y^yFZRNX8hIz!CxktS5LcM#JZVSKEHXosLObN z{nWV~E!KsnU@O@5%ZJC4fF&^1`$9#oi?S;#M=DQ#Svr3HXR@*s@)~cC!8Vh`y2uZN zwU562QcnElK_l9Q@V4T}9(nm*kM!SD5Bf2LyAbMDt9Ram->8#(^@b0FSQl|^wOAK< z8B;;sC!c(RkDjfkr$_MT$41n1E&kjrNPKSbIQQMSal`pF?&mvqB0ZMIJ=pQ1-+cQ$ z9!Ui`KL`hrt{0&$j)i# >TKNmD)s75Icm$@x;Xo^K;VQ(dH}V85QZ` z&yQ`E4?l4QJr;u5bctrul}->A5b5HNMgk;20wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0$W93O9Z>^&xYlX|Ltee@p5dd${msJ n^6anvO@wGSudG^5{Kg+jN&Qii b3FCKu)YpFGb9v2Hk1 z{6GREKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JB(S3h zq*buHFt;S%{gZq0)4zNwD=WGtYlhgoda)fJ7?g^p1_>>yoxF@ii*~(=bwOulEF{uh zoSzru(W|AZJgo!e@}F*=lF^xb8JsSN$c`25UT)} V>|`hbHHt85or6#e~`T`m(`1Iu~c9D6)9;vDMJr`E^}i8QdDzDYR>;H z$;vA-na&ikt|bVsxS##+52g9*byELkrFsh9Z3Ma1=gRFNu3LEE?Y=%F?LY02h3V8R z5AT{Vcai`JkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z3A}a$(k9q_aI;tb^Z)U=4E1{#o~H9`jCc1*ars`!FDXuXvR1TPR#zay9p1`6ugkSA zFNVD9P7MzG&Qq$&^K@`;%)CIf`)P-YbzLmc^0-8qmR)l_{j#XS>B_IZy&=8Xjvg8K z;RhS`XUdLf(eCRi*2Vd#Ei0E_zxY !>q2Z z%D~`Y@Q4_a1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-L zfCP3Bfs_k&C&%aIzx>fn`Siog_GCGy0@< @<@VpB3#QKIi9T z#m{)sL*RR#hw30wbAGm||4;w#x9mr5mB5JJKd;|;Ko$WAjJMyBTmR=jl>@)@2U2(3hCCe({4PrZ~JVDN95N7eh zRH&C-h<3M&ST|l-GUc~SIIo$)VkhN;=XGbC&8*x)DXDKUqTQvrNtx9!S+Lc&@K0{;a=&6BWBi2RG z@!tNxVqJvaY2`tgw$k8fcWGi$ChtGVc+a|9$%$!`015020?P|CGS+r?XB38|AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*Ab~9=kW|6$ z%JQnb_ZO}5{Xe@e3k%CzT(n@x6Dtf$umF5Xv>Hcz|orVFv|(n81^@zl_;ATNp9 zPAgBMJQ58*e&c?kQ7}9SkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011%5Yepbxg5CCK!}7=f_A}{tIkxQ)P7V(165v^~sv_E= z%5urh%}HsQmejNF^w3Dyv+nfhm>>_yvYl3*WN~3UBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wj gO~~qMh#frZCR40yv%J&F zW6Q-Y36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!) z36KB@kN^pg010F|fusm_uYJ>E#TRKL}?R=NF_@MZ5D;Gg7F+-JF8_KygI}TAZDe z85Qa-FD{y&R@9sCcyGVVO-x1~nzZjbtvpEs!-z p9!agpQ}7RavMyM5(vRYkcAGqW-`H7&~vA)ziJn4g}OarNly+~+G| z9|!NW^7tq^4ePKEcS r`=4jomQSqV9Gp@011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kbosX54)Cxk1d3@_}jI6x8xS&OKwr2Was4? zkGt3hZ@Vyf*M*l|c-CE-Uyz0A8CjT}Gy8lbm-0h*T6t0qj0unc36KB@kN^pg011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pgfDZx`?D~Ke zeJI4Z^D4r{-%hZdR-T=3PFMyKAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLjA?N4C$_AdfUKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmwUdfP&r3JvYo5 z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011%54j@3m?hZJKECLCT011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kU-`VpkOz1&kb`%0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsJN0|-#Cy8})l zi$DS-KmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JB#^lTvNJbp$;nxEPHu7{Vk{&;0wh2JBtQZwC$O}*VAA08JLRaE011!) z36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^o}1OclT$%xFP zFcb8!n?ksZngmFI1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCP5DhuzmjdCjU!0wh2JBtQZ?fq?a_%jfq_IGZd336KB@ zkN^pg011!)36KB@kN^pg011!)36KB@kN^pg011!)36KB@kN^pg013n Ml0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsI? zVFa=>EI-Un00Ozi*^*n5BYDNSCiKGeg3OOE%EI(gfY=y>1W14cNPq-LfCNZ@1W14c zNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNZ@1W14cNPq-LfCNY&nFJ` m0o?Dio)^V90n3egl1+zc9Fk4C+ilp=EfQ+|Oup5T;8h+SQUMVZf%Q7`S`Wlv= zMJ53fAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}fy^L4!ER=phfQ;_@AO_d@tX%_clIuG?A++QynL@m`tOa(>hj8l@SPj>tna8i zUMj_Ph0^|h@A^)UpK6;AiR{`XlcU2jH5Ok4T3Od1IeB@qI6o&tJzXAC*xJML3JRsB z>7e8l7D;Yyo~*1a%lz!Dj1LXSQ1A9AgC*E_^rX}uJR+;Q @s30TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AORBCwgf2H-3F%)o^_pK-R|py^7Q+iu0q|- ziUYCksoy?qgulCX?~=Bk^lTO+{5!;~2Tq I|<@wmn@NaG(8d{D^L2-%9OigSH z!R~<*XQisXQL=M$Hxy@IL$lPVSh@Yty=~*Iwxq0FcJ1D6G^g;iyOn}nTW iFGSUlO%lI_V)#?=y4r^NB{~8a_8Cd`KLIPU^eE!#6((z$1?~YEfuE_*kuhI;GremkYdV$4`)s+?XtUF`GyV*Ip>Qs1_ zK=j&j?y@|%_H$WWNR7}gnWtl@r&IEaie+_mRR()Hk{R{Rk4vu&aNFQuSL;F8^!E+6 zy3yP9hGSB&174vaHeX&^3?$e+cjAb8l+KaaxjFg#{^JznkWqp_Q+=%*ZfcN ?Vt3isEVhTAk#UguEqoe>#{nu`WF8w*7RY=qp9V$mnRZva`ct-4*pv z+V|>(45%mAnaK&0?|u85WdGq~M*Iqo!A-|c$@9DMy$feTf&10dD*kBx2~3TT%C#ST zcSFF_Z+}Hf_Lj@S+^pPq|3@2s-;O(qROq>{qTFPCaAb5l7GYcD`Sj7lf B&IG9qB?MBG{GEgD{Y z4>j&LBHq9L@Dmm7(&KIzT8s}l`aG!ITPmaDlQO4*XTOHg9SRiLWSImi%T-0 zBA#?vI?ETNOo^VqAZaqp_9d`g>Px=f%gakkWNdOuX6C$47z-M1`<~JC dRIk>Wv29;K1M>quaaUJsaDDms<6XJF7wUQ9NJ zlA@vw*Bn 4nD2?h=AlgR8 zCgjEgI&!dF((xW*)8du{NML&s;C;gVyxBgc!O`)wjg`3PB(;0@RqU17**Te vguRZU-dezVteuKbC!G5};r=z zjOfRLgefS`llm)_CYia>d3pAOU|v$AJ?mzgShr|TnTlbHWNK{Gc(wJywX|}d@q#-s zGUVm(h+`^i_shckoY=6Hbq%sxg>$e$^-A0RIMR~}#Jj8d-{CWtjHlh=(nya-5s|Nb zNoM}s;!pNIcn{9X%9hbVf8LuDDQB!QlvmfuNWZ(79PD#)^L*tK^$XYE >tt`rB7tX42~M84j6hsNE->y#ucK zgHQyW0Dkl18d(Z o^#I~KPuIg`maQ_?#)By;m2k!XQ7 z9^N{CT5767&wyo!aM$ir(OG=w(m5m69UY&LJCC0lZ@sxWInu11@8?e*mBM^@-#seV z?>>kQ%I`|x_`xQrudOx%^*Px&dcW9Zu7?E`IFF2v%iYJ%bQ_w$;RfvD$zxJoRUyTN z1sXO>&!IkFrlyT&<9Oi^S4(q)9Bil;oG(~gXSY0f_R@TI`v=#-sUwG_NYg?XT(@)c z^D?QT-P;daWmpGSl5OcMUy!^fdj626-}4Y8pUyCergva}ot!=15{~k-I}fDCMa&;Q zz{iKLzkOLC7K>+HdM}P1#0wfOUOIk%^TH(=^~G<#qL25I&o5m*uipL&_5NL8o}19> z;d) Liarz-ffGCCV&0&tLCRedapcvY<=R3Js#;oScQAx3-v b?GizAqIO7MkPmUb(!yV($0wWPh*qdCamp t=Eavm#ugng$w+ed_Wz0^0Lj8cFu=b|24tGV!kE>@Xoux zw#JketA}8 zZuK+bfVD5t{dGa_^Fh;d=IM%#<6#BOLKXhy ?FjW#$k!ZQqxmu~8~ zXgouk24nFBI!=y0eS||F!IKy5CJh_*b!i_Z+73wcy)_y4C40`eC4qDku Bjrb z?Re)t3U-||JbXU&_LrrwutaWs_+we}=tU1=xC`(8vdqj(%7d#v_mE2HkeUk>vP+jh zhrN8SM^={ncba6XSQnmZ8;_h62pF^1gi3g`ou8YN;XYmR{n5P;1joN+mDSRC?4%SF z6-$ ^Wzpz;HR5-Dy4|6w5MgHK~xBjqt1ySpI_E@@KJl&AA^O(-3kEQ2j z=$P8(L(1!v_O^+%-n=H`Ly-c8(uyi+(% $A<@{?a^J6UqtDQ z@3Wu$Kw8dTl08~R8)j)yU&6-6 o15axrcpBW+R9_>iR zeH4v*G<-k5_s9q+(KxQItS|$ts23163=9v;&HIl%b;cfSsFMq)j;qt1UE0|@DL?u6 zdIYap&HGyy&KhsEV-x!OCy~EL931D%@k0m9udUhuxc%r!_{d?MVf?8swfd`HeaCp) zMPudJn&+P{UA`a{>gg4YhikX)>)>&t)Kyo7!`ct f*F zcN~X&qM?buFX?~;gq!iM<5+RW+7AI)y2=+T5ApUVdj5i(hj{tf?6+j4cS`S(sAJY} ze@vF4E;-|Ni#K1djc5xRE;^n>zHi1Q(fX1|-kf1K%ctq|aOu1<_azm%VuC=0-rH~9 zdnhj)&(NUZoO$!}IX^FNLtSx-y_$O9epd7%>#q74&CaF5;0vUC!JwOs84->h!d zR8>h=U!Qz@ 8$57mPi;vE!1I5UW>M4I;rE7ddRo$KK6Iqiy`1Wdazk%=jY2u zpWm@R1=r`Zxl?1kgfYbBp;ig8- z!}_ylOESbnNq_`0hCrh4kr`7EmyAHHi@{oJhqQmp*|xx>c!=Kd&Irp?A*anhxBdtW z>f}#nKLYv t=%7jtTkuBj^5{@F7oa!j;Azi>Q5- >(He$CyjvBnLG4lqCXAdRs2N@c4OC1 zXDr%6bMz15m!S9gpy?saQhjg2vnX1Ki*X^mFIDI`E6NJNu3Mie;@Hf#!!v8MGVpg2 zh(!SH3;TW+>lnKqVt5$Fp wpL2^6dQffr0R>hdU`$UM%}n=9F=rC ziu(+KlW%=l_UsMK e?S5_Jw!Y z6K}pFFYeun@XQLYxfpm~-MuP@RPdQ!xZV+I!($6!qcwPU?QMH5b2HO+S9sg`G 88n#OtF;;khSwl{%Ri2G5JaHV(%Rv>- z=BPLpB4MWmDW@~M^K {?NA?PV$2vp(Yx!qbwy< 2`OU_+qVXNO_?8i}Is;{Eoq|C8lwN}naKoc>sx1gFKi3DmdD?Sq%VNLVt=%7M z3$Y1odN%g5EfA}mK8ouy@{xi10 ?xgb zyGL$1X4Yn_047`O`)+ONq5*8Zc_5r^_(DVoj|$Bycyt=XGZ0u_KC@fizxKKFC)dvq z3&Xo9Uh1pL_sUuI+;>;KJI4LTTF`Jde9$fKNicLs<6e}j!s5_9@RUy2DTsKsI@4Iv z30Q-1282+b+-y?s)#KU_hM_YXY2v*C9?~1Mv3%~>jNEBWT blG2wm^ zAc37v0PT UIF{OSXn_yPXK&ec6uPmFY?Xzx5mcKrUZ6Z^i|0+`cXU z{y+RD9p?=7Uk52yr1~mI46jj`U5-Ii2yizO?K;J}7Lzj$yU%T#U63s$wILzh$dhs7 zCDwUd%8ZYE>acjB(ve73-o5@Pul`x)UQq(%b%ACWeQkvaZ2+lg-V`mx|i`(y3xm z2xsAOweH{%Bi4my)q$>d>F;Pa`)ivI8(}6yj{DUU?MQ#5w@##oiwI&}c-0;0>oML{ zmmQvTNBetaL6 >AId*9K59hCMSCJ=0U=*V+X`KA z9LlkofmQt)PuyI ? dN{Cfw0<$wbg?z&aG2mjSdHRon4rl)w=aU z#s>Q}&I+k+Iw*ze!58Paq2;(d{`_jJEG1=sP+oqnkM_s+q({9W*Bxw;ikf=$OuQtI zJ`0KU;H7vogV$W^Z4RDm-3-Eve?shO zmnB2EW9nHJ_d$fiaxfh#Fhu7NmN7ffxZi|3)YM?Y4MZ*NZN riG_=A`UUTcx}CKZyRgBi0}(eN!%v840m+^uZb2d@lY`@);%1;3@aNz2w}$^h}M zoh|#St0$r(J62q7`>_-d4B}ff3UEK#t9i!~9Ply>k*Hh41m1Fc2SNfUgkRI+;A4cL z?04gclI(IJ9gdFphzQocfE(DNQ=p}}(bNlwjC1m{jX<|lJ0seZ!==;5BZ9-j@z>sd zLw@kVFCsb=P|kOCiA5|A1Vh<#Gz|#O-c+GB;=8rUQY8@yrRdAt+=A&`dD7OdUKvB3 zmNu!v{1@_#FTHJMY(sd~SXUjMZHZ&*YeGw`qkcbn_Cl9`Z!
OXKi^)8gM4^wL&=S~jo{i2t#QS_$ z-%+esw_TrsS8r`x0R-tL!!}!j63h0%@XUGssxzEq(0U!TzHG(wC|p>6AORA1?FgW4 z`Mxe?O(OvkAOR9c4FSAcqW{MBf7w)OwCxGAzuW!XlECXkfbSu%)7jqnWnI$o(CC$c z4r_nS#nb8}NgYI>&;F=R)<8cq%{u|!Cq(<=>a>qK I;+qoz=O3lIGlRt(m6A3ib*I(4>ijTU47TuzVeXMBxn+D zs1Be*!-woe*trgzlpR;cW6o>Vwtv_@vLutc<$Wo+JQ-Vh2;jZ|tEi}uE0-_H*;A+G zggU{4VVv#C<;!yK!2@~K*=6?m{fB~GAH*Jf`jMQv@+H}$B0*R@(XN|VcVc)@5Qi7b zFUtulw5IwZJzpODTlLcXwOZ-EJ}6KALLW|1qTNgu>!R!h#U%y-yz0KVe=F?a7Q$VK z46Euxo+R@Ni;WPo`S=;hRd27buIH`h&wSB;Ao#W3REtaZ%0BhPI?%QLz_!Otj*iIv zt3R_}BeshR^U|&HHXJ!=M4;I!G=%sOe+N#SHG)-$K12Ci_hM!vNp=1pnuQl(2vi}W z?S8TTvJb&BywSpNoEK|6dNRy&ptIea0~-$P4xT(GHO+^#p`I<(jR&OdVQ5+5WR%mU z6TKZD8jvS9KQ+6@^*Wgt9hMVsykk0zA<~BT X!Kl%FEC70TvK5uPh&2EBdNTDm$-cJ+ {EC$y>RM;33pnTcXw;Z!<&-rNWzj#n3?+Sl}n~xENi{^?9Kz}(YRpPe(Cag z*{{opqh4TeVbX&a*Ky4U#Fm&v4v&BrPaRi}zmMgxig#h~;P 796@!+VKQyG^(H9=B8dSgv@h!L=(6m}#wuh5As&xWl zUCbo@=_l8X@C+jCW7=psr?VZ8s<+rj&tJNVmBW#w;REWh+j8wldPY5Z4QL&-0!egS zTC3EuS?|xdcC1(zzaMI P2HP%N6b{7^FrKf*D>)lJ!v2)?%Q5$W{ZHabj zS%dgJ+FoioAlP+FFZx(7-_u<_FL`o1Cg}M?TtUu*TOPdbOGbKU^xDBS4le}|*LxA{ zmZ@m`grh?g9!sN_AM;v |XPUwA{Rw+dN>lIJ~>U?4%I;ThMSe zd@{C}jPl|2Tj7ZW=rF@%5Bq+Qj5OThc&eW8@!Z3G(95;q7Kd}+;immMIVg1BM@PDw zSQp1%yM5moEG3_-wFA jJW2^rMoI!C;EBK++HS!lO?XDC z(Y8ggzK>!h3bgIAv$M>E477DHiSmBya~X>Az<)?5QPfsfs>da)SdnAeI+$=YIgR#L zo2v&CWbClMJ4Y{Bi2Z0Aw(I0dH#2Q4%`4g{m_&*R7kf)fOnVgGi_nH?bqwsd#gXoP zn8(saSR~U%gVHEr>~u-F*WQlLUk23vCRnf`j(v{U^^|C$pZ>&SiUFM|%S8^q`h# zeF>T_!kyQ?2fP#EodaI*heyZND}HiUR7!XG5=}42^@o)p(AI#bF!WzEYG1$}ZA+jI zVRZvcUg{oLpHytmS 3XjiNt&w8(Eecry|-sFrU9iOp8bkqJ?b3ejZ0s68Qv@M5v`a;VXYod9ox!AH} z)u%jNkqrHJE&BfZO#9K`DG#d#!O-^HyEYNqhOt}Lv*g#abk`SqF8ywU)=#A4_4$Xs zV%u+xYsVV;8o!_`vNH2w}2y&lDw7qgcSJ}eY zM1ek|L+`s|I#$;$CsarZgSS_w=X6`XbX |Qv{)DW(dNY8R$GwzY4e -9I%fLX;M5E4;b_CSKE_GVr}wOV-T6oKabCVB`rewzeaTDyoW~@}#n1b^Gu@!q zQIPi#XS)2HS^~I+tXQ{F#k&9a_kTw&oIR&2bMKP7k6#)+j>vBLz2EvxqjCI=fB26B zWoW&%8z}he7s!ifH&L-JsOIij7j(@}u6xSNE6bJr?}Qpq^>2oR!%op|ri*n^HtXFM zo>d_p?R@$u?8OzL%4or@^&kr`su1i(TgS6U>T$Ieu5_iiZ10BfIDW8uqlniT4?M9> zPmCMyza@LiRU8|7kYfw6EdFW_95!BFyI(wU1`T_-O;!GS+Ma8^^uep0r)BE>)+yL6 zQ{gELo^??MFJ^f{)Y|c6U3_W7zI=E`=G8kb&d>DN`XGl5mq bNkwc$nvdW{!de22&2Xd6+l$yTgue}nhg!R`(fW}i@RX<0_Jn@YiMP+oqo z4_m$<+q^YVA;Q8#o10mYBE(^LA8%Y<`g5JJhE9Urx(tPLnRMI118<8?v93)6v$Y}c zg#abi^6t@IVKIP+fg^O-VkWB<>)JSbv_TBPF3ftfw7 hQhmqHNym;Jxv!Wpk7-LC6%(Owr1qPw2%J-U%uv6Lzje+b>?<6MrL4)MizWT+8 zZ1gF!Yq#$SmYIleyTU);de9m^9zx$H9Z1IPV0hfUu6eW`fzc^+xUoShb%3p;cwJD6 zh)VYqoA`QlR<#ubVGtT3)o~qAgLoJ5Wx8RY&zgNH!*|pblmUkFSc7NDqX(PuI11Yy zN2e8b{>{hN!@qg`V8!n^-fhqlbst$px)}6N)Y4tPMDrUfe5~__ vgR9lJ4ixX657WBtQbGBhXk^YbNG3)?+e6C>^XGfp#9+)3&{ZeOQg+uRi!VoSCnG z;f?U%M|h`xux-ozx>Ci>`;T13e;6!*kk!p%33id!Je@>1tOF5v@38_O!~ww}mODfq zZ)!Uy6YP>s5`_nP2%n=3 e%-U#Dnt HaSSFzqyN1?&o%NFec! pzS-VGZWQXPf>T@zqZkfcsjU*^P>F-qvPY|K8gM`2zD{(jk |z ze!u5$tIFqxMY4_!+TW9`^phPARu!z)iC6eLdE}t3sy8f8bZh}0 BOh&VicNu+)@?XNfe zV3@4zCfGgDu;29MVIqE_g55;lTZ7z}JR;n1SR!2fzR%ml6S @`6q#Ix{_8qad`-Gxe14&iC6@bK1)KUl4Ln1x8Ua8H@!7Z#b$ zRR}|yRA7vYuj~2xU`9IfH!(V7SQTl0tYzs#wx~4peR9P6U_?${zKH@tScrDrELxO| zW0Fx$x3sViV(DmGT@85~wE|Y>?-29GvxyP+nT$g!42EDAmZ#@6l@^qj-|HihGB^ha z(Gl-v_9YiDzOg#$o!&)l9N}= d0NngYSD^+p hIlmsp9wE7eF8cMNvog&bQe*0tdwVuD~dOYi4SgMjpq z4nptOLAJB%6%@;N+w?PGrm-`x@jgR*E@KTgqR8E0xxn{QUwj7 zbXvBinW$xQ`TUeE*7@@jM 4`IjO`P!FE{aw)24 z&hHX lPoL8}PyrZFs(6IXxIA{Zy&g;efKS);Ey2z}C*fN1U-dgxK^_y|qi` z!E1f%i*{eh`K{N T~boLw<{k^j)wb %{@~~`2YC+(a{jiee9`6I z3E$!I_R{Ilc#qfe;QrR8lZ=Ce!;;+SkIBl~Z6>%JYAQ6V{h;3;eFsky^kV0=49PkU z@5|Qk?jFm$K5rAbPati-?-PkWk8F9pmJi1Vxlh=1!uK+d?G?Q5V(bNm^E0NCY|yqT zFDr`>>)QCYVheAS*6MX)W{>vC;m?l+?H}}$hVxiI>6NWHra^d&on^WOsh?ZXt^!BD z*Fz%LdysZjqW3eubtP!|g5D?6T|OrdOt@~)v12!b(=NC6rrWVjuexXlTC?Nw_&z@2 ze%;QgJ_dqayk|y_;Rb0R*|dXfgVfI;=>!dv=zD9B`%=)n1`QYFeI98g>pJrD9ul;S z4CkEy-nGJFU3k|0J$TkVquP&EdHndPS#2&$JDlM1ZDx8_I@I|c#>RtM;;N3IDR1*| zu|&HlR<@&&6I86bFtOe^$}5TNtRL@~+92A^FU^&`hxd3A>mrZNIGt(Xw^ZARigMc@ z-;=t7M~oO2!d(bY@mE#fD6=ZY?0WuKy`grRtYohZR$!aGCQyx)M|*7a@AjgK-XH5b zywzHdwPlsn(s1;Il$5D=Fug#l8xKVacGHl*!LAOes8(+mnpVAX>wfvvh>EkabIc86 zpsPJrQ8w&{&= 9zOk;Wt+%(h?Sn-^Ajr`yMKCo%zlj6LKwcHoqectIS%i#5eFsd zOHf{Zua6{UH)bb124!FniTE)u;cO=m8X^$hM2m9ZF*IE^qhd5H?+S4d41>za@WABk zM82xaW?Qi?(m=h3_^npOuvo&gPG>~N66|^zXo9EXALyVr41&vg6?MU@uMv1@+&}o> zBO@d=2W t0I$H&w!9{wj^5whKVX*Hs8kWvN%fk8zbPFwhrsu-ij6S% zm+5vyy-rzy0P2HtmO2`8*07u0|YCs@)fAWVUs78Id!t1E( ~)|)Erh>mWs zVx~75b+DYQ#9!^wUA|DxllyPH^OxL|QXktzUET)g1f32LRHVajU&bIe4C0&;9SFz7 zgIcX?pWS^J_M9D^m!RRI ^IEU{)R%NWkGwGAF(g0&sU-mM!H++>rfro ib!oK?zTP`{J|gs zj`y6fVVv7uo!s=Z>o>!@zV`NIBi_Wj)L~uj9eLU+!xDM$paNS`FZuViEr_;})8KtD zKR>kMlXHKN&!63SAYXm^4I`> WdBQ zXN$=?RplWM{&@a>{P}Ge)aN7&&%g7^5nhIqZRskX&3BOW61o0tx|pc<)2pA^uV(pq z ZD(%fY39S}X;ebg$L>}BoP!6rF>GIS14>9XVT1iM(( z2=B%Zb&|64dTQ4D4BF0HWf05THu{s7ZQ=Wx%@3B^EGSqPNnw9Fxxf>(wMWm}jmK?F zygzZc*-Wg*Z&>xpxdgO59$VJ45RGKjv#qW#&T|{ |) z+NaJ0KEL koS-v=WnaZmvmqm5FtF?TIU;HvxDbG&~WhP{N6`bO`kg^ML}SJ zevc~cGsE8reNLi(A6|E(onm;+U%HON`&5m-<6DEECYE`5-X?ONaHi|^eF9;U@jOC2 zUdo5#U_tH^p^%|}y|!0ye)g$I1ctttt2ggT- y-#dK`J4>UKY>3t>*(oK$B%d2eu~)FTwkMo zOQHT1{NP+=$2kdlcFloSL}2}bb|?(OJiMzqElB&w8Q$+_zxC5^{D~f)=zFW*`% szT7~vIzIExMoI8C=8k?G>^~p0CQLolmT>$qEtcbg~ zxL}+{xH%g1nyPPA2WEr6^zeceD+42A6S02UcKh8#yUs!c73(67xiJ++K_#UEoZ_1G z7eX6 wEQ5 z@K;&8U-s^+k;0NvDJa&Z6}54T?SYf$Wlm=qPL7SpvJPaxyYB4tqzv~)df$zXcWx$j zqcZwfuiwXp`UQXIzWhs4SiDDa)w@KldZ}HQ4|ya_NB-b-cvj0+P*fsi$_s*B2#I0v zHaj}d=e0Oto>^-`W3K_zQBJRU+3Yyfr L@PzxKqe~#1{X1X(vKgdp&>7C~9^h_XB*E?>-S)1m ztjgc~;#2joTdfVR2IJWYON$(CYA^y~EWvR@m%+_c!!kf8bzsoWqI&e~MMPF}b+Uvt zE1o)~o|56E3g;Oft$tNIZDA1F;l({#tYE`?*-q&UEo)8M2#sFC#Cqw%F M;buxCY=!&n_*EneP`=KpefS zGV&BOT#)i4lS?Y=OQQM2bHREWu$(Ya;*Ks`9d8M?py6y9$=WV1FG-%{n)@K0bEzJz z!u=MV8_6*Hjsnqfw81;R6=2xka9_scpJZEuE=_E$y*t)3+#a#M^;56?)R%NWkJd}X zPb5GBTSWjKD`D`GgmxPQ30MjghWk3&eP}D gx}Sb@3gZ?V7c1Z_9~&$+C2n&*nEsdWl|t zXv^QzK?tW|GBYMi;aazz|DC_%v!8HSGSXg;ojM@v6zd|cRuws+?*JaTA;Q|MJ^ft8 zzR}kcCfqtF-6Gy}8iXL$hDJB8D%Pfx%%UxwT>kb~zZjAHsEQb>Rm6Mj&;fI8;XdEq z9b2%=dKSW$ta_FS^(CT0xO_>Zey02R=aT)D?h11LQktRHEOH1LF}c-`jqBvIpy7}X z94XlQV57F#Ay&kD2RsI%4-Mb3#4!Xo=ABQUYg=s?6FYnCu*nAA=h07JU0E3(^T9hu zTW9<}hs~b1iQFeFA3yIC2xHHK4e#9gZFg)|K4;uPKl^E~M7-~+XJ;$cMcNR-9%!fw z_ZbJxPcp(`(p>BFHaVsf&hgHMx`tIw@YlS*Ue4(1i*Vv{O`X|nM{|yw+Hs)mSdLhE zj;Lp8Y*!&aey#@`pUCy@w_TNt`x)}=$AXkE;{5rzPi#f`{IGC4_K;4@#TY)ut8%qn zisvmp!*Gv*$kv+Ei4s=&bu+t?1AeoPYn;dVZ67(q`u*&;e)^4{$8Sy`$oqV Ym@h?Z z4zPj{T<=l$7#f1x>*}R}79tQW+O=E~5$ht3rP(E!?46O4x @-nw=Z+6fi&Q{xC%Fq24a@htI{O zd!_04X(_F!GGgD#x&|ZIT~xR9c?E^~qMs!lPm*8vPQ392jlW2c&qtqqjI6jCgs~9p z;_(kJ%2u$O>ipTvj1LbQ!EVtWU4C90KJZ8k8y_C9hj`j9s?Zob@rQVDUZV}?Z #*nL>?0|Q;tGjr;}c4M8!dB9RV6}qG( zmJLt0Vek}xc*(&GwPS~xjEEPWf4kMYQ?E9pGSS|?c-DxVkvDjFeB$u-gMGL^T3git zP1GOo#cZm3t)an9I|B=4&ruO=B7)tA>ItlAf35L^1#b;sxpGmt4#;keyHPy{IR$-K z(#hJd=^&gR&r+!SKl$W(+RGO-pSGOQ+s)2j^zoVc9o{~U9X@ET9}Fhkc^o-#?j_$n z1H*Fl#vL;O4973Jh!36dJbuw;#2eAV;L|EdKWRkiyN##a7VRK$3de(nvuXRuXEM0h zbg@lUeMv?>$JM(D8hp6c(P@yc6UJ~&Up{lv+}E$Gw_`U88qO`QME2SHAmTtrTC`!} z(8H(+5zb>KVt8X8RL{bgZ4ZO67SC*W3B&UcA~4(|fA;CRcSUEMUO(IWyt51li+7<@ zD%g!S &zyPkQ?LEhm!QuhXWsmL4*GmZcQ`*~;;|&K-3T}b zF))Cx WF$Sg`u7L>7C>cnkQ0U{IGBi zoWFS0wIL{;%c&6TrmK9mK#8Om^!l6De!zjKRU9BrfY&{=JME+ P>go6J+@8ye)qg%<9WuB=<~Rfrt2w`GjIPoS6hNuzPz+V9ia4xoz(3X z%T{vfR`28x?ApG;VHc6HTb^0Z+^G29x7GE xxheYA6|lZRM& zO7-<;)4i{gG6#l7%)}qG|D1WpXNcIb|7X`ecdchZ`v-0Mez$(ov+txxBf5{!Z@QUy zyz^Y8vt0!iey#^6yCB!Q-*#0p?q|+C`}ypre9rUd=RUEO