From 7f26ecb3abedb7cabcc25588c8c7fd461d9b6d23 Mon Sep 17 00:00:00 2001
From: "Yangkai.Shen" <237497819@qq.com>
Date: Thu, 5 Sep 2019 17:05:19 +0800
Subject: [PATCH] =?UTF-8?q?:sparkles:=20spring-boot-demo-dynamic-datasourc?=
=?UTF-8?q?e=20=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
spring-boot-demo-dynamic-datasource/README.md | 669 +++++++++++++++++++++
.../assets/image-20190905164824155.png | Bin 0 -> 288904 bytes
.../assets/image-20190905165240373.png | Bin 0 -> 145196 bytes
.../assets/image-20190905165323097.png | Bin 0 -> 150178 bytes
.../assets/image-20190905165350355.png | Bin 0 -> 148603 bytes
5 files changed, 669 insertions(+)
create mode 100644 spring-boot-demo-dynamic-datasource/README.md
create mode 100644 spring-boot-demo-dynamic-datasource/assets/image-20190905164824155.png
create mode 100644 spring-boot-demo-dynamic-datasource/assets/image-20190905165240373.png
create mode 100644 spring-boot-demo-dynamic-datasource/assets/image-20190905165323097.png
create mode 100644 spring-boot-demo-dynamic-datasource/assets/image-20190905165350355.png
diff --git a/spring-boot-demo-dynamic-datasource/README.md b/spring-boot-demo-dynamic-datasource/README.md
new file mode 100644
index 0000000..e697230
--- /dev/null
+++ b/spring-boot-demo-dynamic-datasource/README.md
@@ -0,0 +1,669 @@
+# spring-boot-demo-dynamic-datasource
+
+> 此 demo 主要演示了 Spring Boot 项目如何通过接口`动态添加/删除`数据源,添加数据源之后如何`动态切换`数据源,然后使用 mybatis 查询切换后的数据源的数据。
+
+## 1. 环境准备
+
+1. 执行 db 目录下的SQL脚本
+2. 在默认数据源下执行 `init.sql`
+3. 在所有数据源分别执行 `user.sql`
+
+## 2. 主要代码
+
+### 2.1.pom.xml
+
+```xml
+
+
+ * 数据源配置 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 10:27 + */ +@Configuration +public class DatasourceConfiguration { + + @Bean + @ConfigurationProperties(prefix = "spring.datasource") + public DataSource dataSource() { + DataSourceBuilder> dataSourceBuilder = DataSourceBuilder.create(); + dataSourceBuilder.type(DynamicDataSource.class); + return dataSourceBuilder.build(); + } +} +``` + +- MybatisConfiguration.java + +> 这个类主要是将我们上一步构建出来的数据源配置到 Mybatis 的 `SqlSessionFactory` 里 + +```java +/** + *+ * mybatis配置 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 16:20 + */ +@Configuration +@MapperScan(basePackages = "com.xkcoding.dynamicdatasource.mapper", sqlSessionFactoryRef = "sqlSessionFactory") +public class MybatisConfiguration { + /** + * 创建会话工厂。 + * + * @param dataSource 数据源 + * @return 会话工厂 + */ + @Bean(name = "sqlSessionFactory") + @SneakyThrows + public SqlSessionFactory getSqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) { + SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); + bean.setDataSource(dataSource); + return bean.getObject(); + } +} +``` + +### 2.3. 动态数据源主要逻辑 + +- DatasourceConfigContextHolder.java + +> 该类主要用于绑定当前线程所使用的数据源 id,通过 ThreadLocal 保证同一线程内不可被修改 + +```java +/** + *+ * 数据源标识管理 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 14:16 + */ +public class DatasourceConfigContextHolder { + private static final ThreadLocal+ * 动态数据源 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 10:41 + */ +@Slf4j +public class DynamicDataSource extends HikariDataSource { + @Override + public Connection getConnection() throws SQLException { + // 获取当前数据源 id + Long id = DatasourceConfigContextHolder.getCurrentDatasourceConfig(); + // 根据当前id获取数据源 + HikariDataSource datasource = DatasourceHolder.INSTANCE.getDatasource(id); + + if (null == datasource) { + datasource = initDatasource(id); + } + + return datasource.getConnection(); + } + + /** + * 初始化数据源 + * @param id 数据源id + * @return 数据源 + */ + private HikariDataSource initDatasource(Long id) { + HikariDataSource dataSource = new HikariDataSource(); + + // 判断是否是默认数据源 + if (DatasourceHolder.DEFAULT_ID.equals(id)) { + // 默认数据源根据 application.yml 配置的生成 + DataSourceProperties properties = SpringUtil.getBean(DataSourceProperties.class); + dataSource.setJdbcUrl(properties.getUrl()); + dataSource.setUsername(properties.getUsername()); + dataSource.setPassword(properties.getPassword()); + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + } else { + // 不是默认数据源,通过缓存获取对应id的数据源的配置 + DatasourceConfig datasourceConfig = DatasourceConfigCache.INSTANCE.getConfig(id); + + if (datasourceConfig == null) { + throw new RuntimeException("无此数据源"); + } + + dataSource.setJdbcUrl(datasourceConfig.buildJdbcUrl()); + dataSource.setUsername(datasourceConfig.getUsername()); + dataSource.setPassword(datasourceConfig.getPassword()); + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + } + // 将创建的数据源添加到数据源管理器中,绑定当前线程 + DatasourceHolder.INSTANCE.addDatasource(id, dataSource); + return dataSource; + } +} +``` + +- DatasourceScheduler.java + +> 该类主要用于调度任务 + +```java +/** + *+ * 数据源缓存释放调度器 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 14:42 + */ +public enum DatasourceScheduler { + /** + * 当前实例 + */ + INSTANCE; + + private AtomicInteger cacheTaskNumber = new AtomicInteger(1); + private ScheduledExecutorService scheduler; + + DatasourceScheduler() { + create(); + } + + private void create() { + this.shutdown(); + this.scheduler = new ScheduledThreadPoolExecutor(10, r -> new Thread(r, String.format("Datasource-Release-Task-%s", cacheTaskNumber.getAndIncrement()))); + } + + private void shutdown() { + if (null != this.scheduler) { + this.scheduler.shutdown(); + } + } + + public void schedule(Runnable task,long delay){ + this.scheduler.scheduleAtFixedRate(task, delay, delay, TimeUnit.MILLISECONDS); + } + +} +``` + +- DatasourceManager.java + +> 该类主要用于管理数据源,记录数据源最后使用时间,同时判断是否长时间未使用,超过一定时间未使用,会被释放连接 + +```java +/** + *+ * 数据源管理类 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 14:27 + */ +public class DatasourceManager { + /** + * 默认释放时间 + */ + private static final Long DEFAULT_RELEASE = 10L; + + /** + * 数据源 + */ + @Getter + private HikariDataSource dataSource; + + /** + * 上一次使用时间 + */ + private LocalDateTime lastUseTime; + + public DatasourceManager(HikariDataSource dataSource) { + this.dataSource = dataSource; + this.lastUseTime = LocalDateTime.now(); + } + + /** + * 是否已过期,如果过期则关闭数据源 + * + * @return 是否过期,{@code true} 过期,{@code false} 未过期 + */ + public boolean isExpired() { + if (LocalDateTime.now().isBefore(this.lastUseTime.plusMinutes(DEFAULT_RELEASE))) { + return false; + } + this.dataSource.close(); + return true; + } + + /** + * 刷新上次使用时间 + */ + public void refreshTime() { + this.lastUseTime = LocalDateTime.now(); + } +} +``` + +- DatasourceHolder.java + +> 该类主要用于管理数据源,同时通过 `DatasourceScheduler` 定时检查数据源是否长时间未使用,超时则释放连接 + +```java +/** + *+ * 数据源管理 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 14:23 + */ +public enum DatasourceHolder { + /** + * 当前实例 + */ + INSTANCE; + + /** + * 启动执行,定时5分钟清理一次 + */ + DatasourceHolder() { + DatasourceScheduler.INSTANCE.schedule(this::clearExpiredDatasource, 5 * 60 * 1000); + } + + /** + * 默认数据源的id + */ + public static final Long DEFAULT_ID = -1L; + + /** + * 管理动态数据源列表。 + */ + private static final Map+ * 数据源配置缓存 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 17:13 + */ +public enum DatasourceConfigCache { + /** + * 当前实例 + */ + INSTANCE; + + /** + * 管理动态数据源列表。 + */ + private static final Map+ * 启动器 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 17:57 + */ +@SpringBootApplication +@RequiredArgsConstructor(onConstructor_ = @Autowired) +public class SpringBootDemoDynamicDatasourceApplication implements CommandLineRunner { + private final DatasourceConfigMapper configMapper; + + public static void main(String[] args) { + SpringApplication.run(SpringBootDemoDynamicDatasourceApplication.class, args); + } + + @Override + public void run(String... args) { + // 设置默认的数据源 + DatasourceConfigContextHolder.setDefaultDatasource(); + // 查询所有数据库配置列表 + List+ * 数据源选择器切面 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 16:52 + */ +@Aspect +@Component +@RequiredArgsConstructor(onConstructor_ = @Autowired) +public class DatasourceSelectorAspect { + @Pointcut("execution(public * com.xkcoding.dynamic.datasource.controller.*.*(..))") + public void datasourcePointcut() { + } + + /** + * 前置操作,拦截具体请求,获取header里的数据源id,设置线程变量里,用于后续切换数据源 + */ + @Before("datasourcePointcut()") + public void doBefore(JoinPoint joinPoint) { + Signature signature = joinPoint.getSignature(); + MethodSignature methodSignature = (MethodSignature) signature; + Method method = methodSignature.getMethod(); + + // 排除不可切换数据源的方法 + DefaultDatasource annotation = method.getAnnotation(DefaultDatasource.class); + if (null != annotation) { + DatasourceConfigContextHolder.setDefaultDatasource(); + } else { + RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes; + HttpServletRequest request = attributes.getRequest(); + String configIdInHeader = request.getHeader("Datasource-Config-Id"); + if (StringUtils.hasText(configIdInHeader)) { + long configId = Long.parseLong(configIdInHeader); + DatasourceConfigContextHolder.setCurrentDatasourceConfig(configId); + } else { + DatasourceConfigContextHolder.setDefaultDatasource(); + } + } + } + + /** + * 后置操作,设置回默认的数据源id + */ + @AfterReturning("datasourcePointcut()") + public void doAfter() { + DatasourceConfigContextHolder.setDefaultDatasource(); + } + +} +``` + +此时需要考虑,我们是否每个方法都允许用户去切换数据源呢?答案肯定是不行的,所以我们定义了一个注解去标识,当前方法仅可以使用默认数据源。 + +```java +/** + *+ * 用户标识仅可以使用默认数据源 + *
+ * + * @author yangkai.shen + * @date Created in 2019/9/4 17:37 + */ +@Target({ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface DefaultDatasource { +} +``` + +完结,撒花✿✿ヽ(°▽°)ノ✿ \ No newline at end of file diff --git a/spring-boot-demo-dynamic-datasource/assets/image-20190905164824155.png b/spring-boot-demo-dynamic-datasource/assets/image-20190905164824155.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a18f248052eca8996131838559cafc35c22212 GIT binary patch literal 288904 zcmV+W{{#SuP)H2onXz#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 AV`XT zyw@vh)%p?gpys3ZRkIl!==Y#m&7Y|RhexW(cD6RppGjMpDIBbzU=;))00Aok_`Yui z1*;|$2#SiBa2qy2z+Qo_rWSh-!Tu0{fRhC9`;wC&(G3LVu>jsj=JAt{sY3t)5P$## zAOHafKmY;|fB*y_009U<00M3ypmU2+VvrDk00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0v<1bV5`SJ#h4%jAOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|a1Q|lTixS%!YCmC z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX?J z#|t3X>hVu8CI|rtKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*#CLjb{6_jsN#N(evz0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1R&t?0zMu;Lrf3?5P$##AOHafKmY;|fB*y_009U< zz^Xt{U;xENMyPG|%`Mc`-D7n>cUkFa^AUG1FE7PEGBV;WPXopY0SG_<0uX=z1Rwwb z2tWV=5P$##AOHafKmY;|n3e#7t<&Pe!4QA|1Rwwb2tWV=5P$##AOHafK)`(kBE!RI z{mMKwfe%iecKcwfr_Dz~t?QO8QP0n@PtFm-t?v7^hLJ-60uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fPn1+2)5d8HR+z)maV3zAN<0k`^d&+-}>t*_i^ IU?_uNeWDBP&_t75@{j=KTvm3rk%NJZT+3v<|fBRB_aoH6YvX(BVg^QPve?Z`j z4zIVTn~E-+qf2K`&**tla;~9GcYJq7&mo;Z`+e7bUS}KtCx8G1AOHafKmY;|nAZZi z3)3k(BbEI9{OooZ92}yWhDJL6$$9GQ@3;GS8~_0b7%H_&s5K)c$;g3ltC7Ox7Gk*a z@v5ac6d4veBV%iBYo}9ZFH!?nRz`yW1Rwwb2tWV=5P$##AOHafKmY;|fB*y_;OPPg zwtD(A?7;l)E7(j+lhf3Z-+t*2W<5x#^~t**GOlx{aI109^K2n0ErXV>T01MVmf) Ed00bZa0SG_<0uX?}lmaP<@w9w#)|C5Aw1bb2Hzg;;5to-FsRD`y0SMS9 zpjB!$4Yg{^2)Ej2IU9TX>h-jF-73=SXYRjRB`_=JcysST>K_=GjcMT=5P$##AOHaf zKmY;|fB*y_009U<00Izz00ibtVCMd}l`oYhf54hAt)``s-Z*Jq6?9!@HYJ2dx*fq< z9{2TmtJJtngRNSqRp+In;gMmto7a3Da9rX7 _ztO=)bxAP(RN=d>Y2G;?cAIU!*@_1AvW50WJyJpaoN^| zxTr`93Jjox*ce+6!F~{cz^H(=P^*UH%HdYMj}HwD4r)WSdT+}uPcPLs zHCye=l~zVYgw1HERhz2>XXRWq^^Mx98NGkt*6lX+|NL9KjQgc0C(`;AdB(?+EtnoR z*?!mt0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf%s+t{`Rk`oP!NT$UqOv~Kb$wBXDiC+ zY{gi0Qwf3Ix+>pe=5HBlee#uO3DsKN vXw!^3aDf&x^iXTR G%9SE3CG3M4;2U-H)JsGF-vc64=9Q)?Sl zRM%2VdxsOximv9HfMuvvs-G5@RZ>o7nxeQ^TuPa#3rK?Jt{85WYNA`#ucrM+PEHzb z&C6b><}+2eb-q3So-ki|j|>hRe cE*0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf z%&ve_gRNSq)i)+;-UeH(g+MoEFQx1AR?Y4+>!h<;n-40rItdruK)^Ed| zZs&WrRo+LNTH2iYI*f`4qeW>cPVI9hI$ORtYbLrypAdim1Rwwb2tWV=5P$##AOHaf zKmY;|fWSNyaN1uzO+&5o&{0i!q7bMATivxidG|x4^U~4q$S|Q&tGhmno;mLD*o71s zJ2QVU86F;>+S23H+dc8+6K7g=xW8LfUzMP$7k>?gZ~K}$ E{alLjVHvPar)ab;d%irkWC*m2;h`zhJr=%kxwq!Eb2FncK3@ zl$~IQc`1;QoTTP0K{*6l4KD$)Sd+Jy(iS9|y(Wf+hpCOLvi1)Qs`V0V4dx22TJ7$r z@G#nvznaRqdh78|&KdVJ>jV!VU?DJ3sI{@Bm68ME&Gwdc5_m X12HV=GyR3?O`6icD_0%>|sMX!) zi%_e(KZBk*{)pH`bkpa4uR@$NHN*C%GJ5k@_s>-KllCj2*2b5=Mg2ABRi#!5wT^{b zN4Rq9pUsZ947Ikt``^^{$=lR(`F)DM=ReH$#RCXHz;y)*^7CoM$`#bz-A#Y^<1?;1 zP>hWHynSa)!CB{ujf$p-hzKeyx;$%RpNkXa
x!7vpi}IY&k~ zHs>|@?^8p=&OGDX_qB0D0p%@QMx7m<^vsSOvpyg>|Hh41Q&n{pJ@f4BpMTaTj1w9K z0{s2x+Jdzd!vEKywW_)Xx^$(C8aS{f;a1Zop~MC8v9vHXnWS>7w3Nhn3J(pT{YOty zS9g!;?rK?%neG20kxSQCRM(MQ-rk-jA>ZW0I4UWxvgfcF-`7*-Gg+v0B1D8+Cz8SX zxfEEMooPIMIltGSK>z{}fB*y_009U<00Izz00bZa0SG_<0uY#vz_f#{5^7Dc2(`+9 z^!y3^@O8_KV;kz~q2>>cQ|sYVG;HS|QH-6q=)#7qT=L|~rV?)bfA@S=-L$7*_nA}l z&1Zk9J;c2S3miSL*XG&X_1Q;l-gi1XhD0XMXsA`j78;d0ogq4W>~P;$s8u>KRA?RH zimhKC4Yz(>^{s_lCGZ-wbi3Lnm0Gn>tL!AfSP94m<=v!?!9NgyfPDh_YuC`7cilDa zpkWTPw70cWb4xRom6p-2J$uIO xq;j)A~9f!ypIx~gCUg@uMu zU?5i$ 3x$P_PQ~Sqv!^1T%TH#S1N8UxH4C+N@&`^1pZbIvC%LS+1XShn@N$cZjGzsx zmQf&IK0cKHzvLPY$nN>zsH$ElLkslxr!~uR>BO1y)ZNoN&C%L^_|mLQ%FA9znJLL! z?em1q;Z_N?Zdt!ZRbiB|pS@IU`$=bTPfwbUPN$>LkYJ@Hp<}7WD#6vMnq|0E`jEbc zhNiCYJyqY%+HQFLte$dC^4gT 3aeRYi!?do>xj};fvf%9i*b8a3z`O35O`td_%b9mv p1HEJFYSHVOm>2UBFEq3W9DA<@w>ltG!adi5F(U9F@) zz5FLCF1cd48y?RCf%mR_Kv!DJojTL>@D$pbzHwT8ZrgGVtzEO0^m@Iq9|>Oha6l Sxyr43JwgQt5z?keTR=zR(c98%UMMI{IxTip;jMnZ%Ru_ zP;hdYa0#l~5^gmOwaUTL$Hn4OyF6y%+48jcNDx(?kBw_q(3!#_n?kLcs}^pRVCV-Y zK6a^4t2V~@9Bysz?4rGgjv2$P$q8}l{lF8$t)|sl`v(R{-apYG009U<00Izz00bZa z0SG_<0uX=z1Rwwb2uw#{+QHVkx85bcm`Kt`k9{g%2Gnu(64kx6hkSW`a84$LaiG MiT}Cz?x_o|IS0_p?ja%o+D~@we zx2L~v(jlI$D4le>t8F}9y3?j1l{a57?pIWQiuwn~Uoz6TgNH7}aHX@P)O0mF1Y2kS zNwy5NY9la&TcvXAH%2SBenV}NaO-ei7d1TpRTXm8_BXwss87> Es<@tH%jkY%HP^HK(0AufD HDAQdRdn0)t=mb@xT8^YgezP(y}sY zn`Sj_`Q8y6972IXW0$sfCA;(miE21qTtT$Hso9l=HmhS !d|utsFst*D|FhW3!P;xNdaQ(YZ3(wp zhFUu$pvQgK6Y`y@NqX9R#7Qc(zQ^HKN1B9N9X-~O^Eq;iX}EQ=<2|u*>sYvTt$Gh| zw{YtNw{D;8DKpz9Uz-v 5+{Yo-2s6>4t{&>?s-m8 QWxsfq`kSY|yqa03F8V 9Afre1PQUN$rJWPuV@4Lq)HUdF@@h zyTAbuaH@cWSf!bUTL+sfsjuqHgrQca4gj4&U>*w`I&_GtYirE}!a_sop@$x%WqHdu ztQ1Ul+ +y8E_>$`84*F={6}(o?c`kZ zv8~}?tCyD-_4fACpLhL*&YVAIWH|oODU#b0k9~=vqM}p<$-LYpX8Ra-9$g3z4Wrif zHp|tMJ`UxtiT2LUN%xVBj`Z!wG1dm+tbVNZJyYw>b?PZUw4d}|BQ#82q$9o`@uC+S z0_X|{UuU9Od;hcdJn}W%+%k3Lw&}dD$e84Kd*92ZdOtdT@}$kvwRN6TbvV_SraIn{ z?dw dlvMm&@Brli%;9qM{?AR@DLjBSFPOr%u!L8`rD%WG&Px+oh`O zY`31?z6ryvmSdSH)GB?rO7pb&xQgpcjzbH#7ME2{dKxX 4 zU%GCfW$cgJgB_hz@tYT|hFi504s+#~>KEUpSg!IBQLvhH0sa(!&y7_6%jdOSa1Q|p zKmY<$2uQfqJ1~MmH$I{&x9Wn-t7T7dI5tB70!|c=@YK)$=NI&?zyEv6 2&wq_fTA1 ztg7(W)6-224Gr|#tFO`dix;)s)cqG9dyKNPv#6}Boc{YKKQY@T55D` &P~m$hNI+ SdHye%_sDW z6Mx{);qa`Ebt6}5jgE>|=e%(7!i0g<1MeT8+i$&H1%`8T7LVKSs{Hk|V)+WL>=#0Q ze!kS(*GHZFGykcNPtoDy$Bc8jW&4e^n2)cmt>KErS7_PNWn9TPob-A<_4M>mS$P@l z -=RJ}mu0hcJeJ2 {g{%vh-q4y3RpvzpLfuhToX~%QVjSHVX_`m~{w=9p}kHYxF zI{bdr+)QWBot 4?Xy4TD5AGdY^dr-FNAxn{QU{mw^F+e4Z| MAR>O0BLGYSjkoY4g$Mg?rBwuoiC3U%r%%d~E&q0e4gA;-BS$0t3_s18N(Z+->+6 zF9aX}0SG_<0uX=z1Rwwb2tWV=5P$##AmD-mb_ZL%eD##_#RsWr-v`us>=WaZYzeo@ z&JBOwPkwRH6qu1p0VzoooSi|Pg(b#*Tzz4~qFg#wQs@$w-?P=~zJkrPG&yb3-OpB( zdR&!O(+S_d?q5tFPPkm&e1W7=tF#RZ@1~T<#S`vpy1|i(u%^e)<#I-LE=6z!L9IoM zhGFFK>Z>+stJVF<4-c9>#)G*L7-*@Qn-k-#5SYgTI&a;Cv;XtXo%E%@`5W@_@uBRT zY_nkNqo4mgtzEm8ytoRSgtesdTM%D{T5gYW*y;7xUNZ}u%1NX$>7$Q+L50EO7-@ll zL6n*rM2~&(F?#;_=jrIN<7&NOTYw6`2Jxkitu?788xRm+cKPdXeC=zLv)JT&9FHqb zE=?a7N2R5us=q<5G-ufyJ dCqmF)X=x4@o z>#Brh^rbZq&w98uAwEGd_4f7Beh#lr)XrQuuQmk+22v{r`b^v1x7|TYxQeS(eU&ye zJj7uye|5X=n(HV&E}mX{`%SgYk1wk&eMCkYs=w;>zABI>$I5yMy-HB*k1sr@_LoYo zx7>KM3YN->etur%Ye!zEc}oq!#^3GuquN*d$DZ+M$5^|+^OoDxIb>||wIyL``Pz`% zJ$K$s@9uk7RkO8r>`bilVcrFPLo~plR9k|rH%InTjPDRN4tUefW)42`+rw!NxNZ#V zqZL5|RMG2gb(sDfi0vJoo#3nX^&1l#OBtCND$Fm=@*XJ9@d^&Di}%w%{;_eaUw-0o zTFTG8_IexP{pG!AYfKDPRayU;NBWTWiEyq2``L#-OQ8~o<>REu`h|-^=*wUJ3jO-m zzoNoRmyPF=g~uL!lvb}^t;Qse<$YOu9o%{6U6i~anSTA--^wPnUi$0nGk^cFXP)Y7 zgafx?AkBwEzVbdV@9sLjmnM~7ALLMfSXj7vEa7gcY$)?uyKWstaJc_JfA9mfZKnP? z@{u7})x{r3ov$r9F-}cgUbBTI )>)gLdz)~#@ eik@`q}!-FgjWEy|+g `-_(iKZn~p z9@Dv)F6U ZAumeiaI1t| z2MsxP(_tHz*M{~}E{9k9I0XAjLjd)U230@l^rfr9`YDIE?QZr{+l>eDf}G(C30)k9 z)zNE>0S*ORBO)VI1yR#}wdE$RtSZ&3wWfXjN|n~OwpOk({VE+ka+Gf1N~BU@RRXJv zxMJyI4y|7(EM)tuXz7xr>h)GvTT5@h{T3ZPeuB1a+C(?rbQ3M$*TZBjo&)*vT6&*f zr+eSsOL|{lt~h-?pKCRTM8oLjn{MXU>VFx#D9B$&D|sC9zFb>VLpyiAt `m?fB*gW zsZi_SzyQ7R#v8P2&mLNklt_2pd8evcEmgr+b0}Eet7ocRsjQx %mFmfwyhldym29Ln@zrd!_ris#$+U6_|DVZdXxUmH(!aL9we7R9&N2)tL29jO z%kB_r)yC{;^U>zzN%vZ)wXvm@k^|x=oSGJDop1*?-;kNIfR-%EP_vNtfm7$ruf*Vr z(|i7{T~iKA-V^WIzE$m4SzD*>Z8>hrj %C$X_vGkA1Zb)LT)lDz*k@B$JN+h%(H7 zkaUIi)V+VDhOzt1DYIa!7HZXb>1cCq9 {EhZj1o}5P$##AOL~66X@Wd ze %O`D^o4uvM$FDHRU)zPFc7 zpEF!Oe&4|ZbcL(`KJ>tYs_Jg?f(0trDq%xu&CN|J)GEvMO^x*Y%P-Ll*KXqqmO53% zRn|+hcRYrp#{av1?K(9tsf78`tA8?vevh3xsVcYLbi+;jH5^IndHzQ@R6ZN6XUL1{ z`gIh~Rale#2I)$#^ <`}&pF!)siT`q1GcYTK)?zfKn~ zUZk&l SXQc(IfQC zvpbBt$b09PpYT(G&_# u z6>{Fn9{^CnR%5T`3-->_{OIwIA|fKy%KG|x6>60Sl~vUwq1XrRyU*~wgsU*4&78n6 zmq6Zi@Gymi1d{~tCTl)E-gIrjI*JSrRl7B}w$t9j$2ep?L?snf)XLvqWBC0fIx?JM zqaw(ctMr<-hGxUh1E%ZdV%ahbYB~mY3bktE_O$tE^YVmy(@^VV^O+B!*0sxW)z9G) zYCUo00+p0ouS`CflPhl1-s@yuRs4UxXb^w^1Rwwb2tWV=5P$##AOHafKmY;|fB*!X zAz=Nlr<3&TH+ng}fu ffYnzPgx{JzGuvN!@ SRl<)HaYwf3g6nd%z-LI478C?H|G$(n>PrFoBDYFd^fM=QTwxl&>bYsq?P?;SYE zRa dK&Od7pjrVW7`6jL53a}FLN=;35IM^CG8Z5lT)i$+I zt9FtS4kDJ66m!MSTy2%{-qGV6b&x8!?iOm*u&jk!Keyt3`prkrX}iqWy>9e1I9Zk9 z$xa>`Y6xnTmX#Vqt=j%l0k*8XjB>d8skWcCt*g7s7;4qlUEzHt*c})cNFjVVcWF{B zH8CNPqN8Kzv-f|RPM`V2c-%W&Mb)xt=dpJ@ Kx;D%iT5tF~GOTl2ZntF)u- zz7rK6opQPZTt#%EHpD?bYfY;6YN1wb`*{ww%6m?5a4>~&g =~vq2OP9vIPZkvy z)0Hb%D2uDRPSpB1?D_iZZ;ac#>z!S+bZH)W^9LvwEnH*_wnju4&Ufk3Wn-vSJ6Jw^ zP*il8mM>qy)wd1%Y1<~cw{@Nq9j~pIs^0Rx9?#zo{`Tu%rz1y>7~lV%fAK|aw;8>E z;MVP`|B9MA`ryRJYPpBMezm4;*B;w*FM&gMXzl#}7;>AcWv8baL#?u}1YBj^xyvOg zDBs8xT;)c^hMq$B0|zl2aE;;DRW$!>(AeBM)hT9eyR|T=JBC^{Fi)G0HZOO+N2t~C z>`A3o%TQ}kS%vYb-MD52B`3rgADb??L*>&2@rJS2%l{Qm@^gdfys!)b2tWV=5P$## zAOHafKmY;|fB*y_009UM6P9|Hmc96Dd%=y9#B)`M4VZ5-C(ruDB~PP@O)5TLX?saz&r zHA5j@I&%CNWoKopU~GDN2FdM)>u;c@rY8F6^hb2^v>{NZ^<(dNwBs!AwSF=)GU?y` z@n0-A8y|;+7=G6=u9)G4D?Q#+z**vSuDD9%XLdHeGCJKE%|TG_VXn&RL;G9Jw`)5W zcI&BkxQ`OJvTLmGFx7JvSZOK#Ln<`e#g$>tb(vR;)Q+{~{<}{-Mb)*nw(QE`S;Oyu zeI|iO(*p+w4PVz<#nZq*!~0}oW25PA#^vVbX5+H8g-#Azw{dk$%XX=#h@?8NzrR1l z#l;#oYwt(RTqW3AYi=@}FDS_Ho^EX)S!eG&C+bIA|L(hcIZ(TtgT4`zos*+(_uh9e z)z#I}p$`v{RIr_kR#a9=nW@QUAKGwa9G9+m)(6IdN57AnT3B1BZSUynCb_w4Wk%C5 zsEm2<;p5~kVPwtN^xo6vBXetRZKER}ol(=2Wp`-^wHltOjFhBFL#^)ed`>pb1*1g} zDr#)|d111?unhtbfB*y_009U<00Izz00bZa0SG_<0uX?JCSZ54b!3REB=V*A$ct~& zX n_LcgqNariy}cd(Ic%yvbQARL=yCQsXo0th z4BTb?=F|eZHQP`DahPLpFP(j3R)(& 1wI-LCm*zG4v%Ge1ZC`8a znp<1w$3OoG-MH;~T9~ sNdIXjQK*$EdyDEZ1v~Cx5>*yjFF(vG+^ubuh%g z(^_lV`LuCa+eg;fJI{&w(bm`1*VEsB>mTUB2Ogl@B}+J*9>L-9KuSwX=Sr?=w7#H# zzW*Qpq3u2+_azmE%V9USjs=C=Iy!0B!NasLbpiQs^;>(JeBY?$tGtv~dsfh?rlFA} zsAk$^ojW%z3@USQ=TNKm9C+G%y1IMl3g6tRA=GMkwt@l!RJG E Z9d-Cf2`B%%_}uZu+NvPzQ&qVF*H3-bab@oL*ufe$2sa?Jh2-t zY)V~E4=w)`Uq0T8B-HxM=|9m26-Q@fCM_*m#mOMrdi5rH@BN7@J%0M0d&!?)Z#A_w z^p`!m)%YaXDOF2DL&knqHywEBXoy=X3s0x1^YJ;uIoP_AD^)JeSxhm}F_gR@nYL}Y zhW6~==hX3N^SWGoncmp>_H>5s)MF)ZTG8uG=>db3#uZjCbQ!*m7Y7Z}y3l@p{dm!< z9BS mxH&~!ov*}v}M1!Xgi*NUY$0E--kC|brr2# zxsu`&5-1}hgYLcOZhGnES7vNjM?XGmwQmWxo;-We>bCj1Qi8ftp*1@rMG+L1lzT*Y z*AoJ*rmsm)n~&+-Tzwg#*0E pla hW-YKMhQ9$y>7nX8A!>h~bZ@o*ZhOWm25ZO$3e}*z58mP06{2Hr?^v86W4f z-!GW)bKnFJfPi}l3{Ozq@8%nCq`bU5HHoUKDtc$PAsi?xI@&u_uvG#{*4j-s-k^e4 z#l^*R`i$Z7va+94W4+^!JLtE+`<>Zg_ug|4`Hcp(s`*@6>lyt6a&XA_OJ{H2wryOM zy=K1Tdjtn(v$C=%H6?}0%E$hYzIxS4N>5AEx;DFa^f-GRv`c)Oo!pHcNT~HQ%kMP{ zwH_=xY@ESguX&i(Cay3(HeGn+&99q2bZGg5BZnz(=`xbQ-}1cWbmrVyYP51W_q%Sr zofa+1Qs=0yF;o$g2c2D=D%hHuV)$9zau6xWh9Fm0ry=;KRr0mmZ=%NqYuBmQctvF; zl~q SNJvVXBKj_cRUlFSAy9R*iBAKwz|v4^#v;ME#taeQfzgf znOfPz6 E=i;s_FNp1m7Wby4_8FRK<^{YIOrTY8>#UX#EiVeM$$%VL36& zt)xd!-BW~Or|R3D?e>2C%KJkohnp8JS~Tu767EdT5SfXag#GWi`!0I Jny6NVd z$V;cA5w0*?TwG$@);{{ayl~<8^T|$`3m2+=+uO&gmKqN>S+IAWCWrF-{`e1wZoi)2 ztNFtTMa4x_c JjVj(i%Ljtp3-s`W|#$a z-F v9>53>yA$YwPi|xnEsdE3Hmnq;A@IUp%~@&Q_FZ4_*5Hj Z>-*$|z0GIV&f`Ngx0L2+Xj6X~ouMOP6x^DU&iYGC3HyNQI|{_|l>8yz>{c zQ5-#bl#&)K;L50R^yMcWr{DbMw_L@jhXT1m=I1~EIa |Klo5B%RfyVfRYv-9zkDx>@nKAcQ1#dim4z!pRU_> zo!Vyl&%S;8C@npmgHi$X#1l`@F&<|_Ljx_~v94Xmp~DF-H|^+g_BuHG65pnCpXueR zQzj3!&h+`E|E}(CI&=06t 7+3_uf5pzR*x{aS^|6bGbTd?&4fEoZjAE zI>cdEt$lLl6N- g(|@yUf3iE&Fly<4xgxv?iqA*sZT_gi`$tmm;p^K me{92dyI;jx* z&2RAeer-6PRLOqikw^G_G+c#Y4<8!)n$V6ly|;Isa%>-epi`PuV9m|Rq4O8Vs-SM) zzMX=DL#UCf%l`0(Pa7+CU(bP8342SE?+G*6*5oZ#q4Va}cG4;bE=o(G$Z$jTX04*D zJeKv+WIx$oTK fZEtwF3XRyg*7~JS|^57WS6qPX1mZm1*6vVLo&FterY{k)&el zWUaQokt%F>eI5D8@WHPxH>m i;f;UZZ?ozd-l+BzQnpzBFxKMrmF7s^5xrugM!INuUGpP z6&2Cm_x76|*U3RYsoHu2SA*TWWiy|bR1i?kD<2# kHO%;4qX{uU<_n z_?&W?cnO5{bC62TDIr#^9Y1-Ja+l=Ndah6@!N+aaU$1TA{rl+rxpTaIiE*8_;OKFV zI%wy0m;2~|NLm<`Mu#d4uY-$?m+5fDiE+cf)L2Y?Lt{b4aXUC+#jbttQcO$?Wu#}Q z=lD~1-Az*2cW`J>z5cY<@W4Pnz03P*;ZiyEkrT%$iz~UNr=_dg*SLymZ(pyfF6=WJ zdcJa{gpPl7%At{7D!N1~maR}#gTMTxC#b!nUG*(tS84V2b@a}=dyIWMYdnXKA5-B~ zsYEODlj^V%Y?bqB^D5`+#g5L)IAA*#GC9DyF|2RGBjUMg>%xFRD(ad1SGG*vXR>}| zTUD<&757fw&qM=x@;l!#zW-V7Q(Ie0|MujQmaA=k{Pxa2(@GAZCUf=ZEDjfc?|a|l z*J=+1@$(`f`-b{@nygZ3cXt=*^}clX-S^OqH*%F${uMJIAW*$e_wnoYU6a?63~Kkg zd)0>uva+*DZrb?*_yY&}(f8%T!a~}&f4^Z4+@G^rZA}d= eE3e*xofZ$^O@V1 z*i@lb8J#Wr$bMHUtL4sZS`+`@s8p=g>wPFLDv~H_W`-{3kaNved;TrM|2^1yK1YwU z_dM7i0uX=z1Rwwb2tWV=5P$##AOHafKmY;|@LU1A|GGKSKR}K9KBU;2uOXeEo{}EA zlPZ4mA`Nx-Os&L!X^g$~S_({Cp!V%5Dx>b=vCH31-2wKnSK#&Ihm41qE^8~l{n8(_ zMcmsVFp^Y3!+g`)f3AC4TQuHF$Z3zsC8>=YW_h8iw1m!b1*nCKmykdIp?@Y@Z%;QB zT{uT_PPCa5=&voL{&)U!=1zc~Apij-FwB>*Hf>rMP}X zLauT-?UvRS+PQNl9en=-?GSY@)eT?cG2DF1t*RQOgu#M1)GAdk_w3%o!PRYM!B#ow z4}W}yYO1Sg#mZGGU?}IV=Sr}rxO!sB1ec(n&T;lQXzrSanxq^2)7aBYzx!x>^1fpJRFL$xUlwTg}h^(c?$y%!TvXYUBMMpWi{Z-f$Bw z&RJ{-*ZBnVwh 82cdp_UT`8Ev?4O32bjtZ4V@@rh$(9jT7 zR#wt`2luPTrvErJ9!Z2-wBPS|hVHoeR?6l;qracOu@a_Kt(8l_zw+km7DvqN!*yX( z2b}Xm`=<=HuH${CYH}`ng00%~s`abA|7nl4d&~9OaoY2(?Wf&qPmAgHr+@S#`og1+ z(xR*^^5t-)1We^U^76T}Bw^!QZ@o jp>>CoXrv~}xN3gvLWmrh4AhDNSJ z{pxG4(#ccfKScRMKHtNi`3$XGwUS@offO1Vs)D;+U0rnY 3HR_ zBlCRul~*W&E5$D4ir;?x`jhkOeGMOS`0ek1uf7JBuUMgiuM$j`Ce^@8u3Vuv-+V(o zp2>fXpShqud}?dpY$nHozGqiJs ~C(R+Lv}xPi4)7M|$%mv*Pc*k%F@` z)ILL &yf6mizXPc+n5bLo8RDJ+`Hv-eDd6s6qnDuH6dq^HpWx z<0no|I?yjX`UtIEyG{l2|K(r*RqdOZk Q3Qo>bx8d-xa)4h}i*B(vBP<}-`fZhk7fkGT00h~Yy30uX=z1Rwwb2tWV= z5P$##AOHafKmY aQoi_UD*N9Z)LUivBcjgF zmn6*U%a<<<%1WoOHF=~Py}aXa4_^**#~V%$wR-%sg$cTpfL4vwGTb`dP^(K#5`%#N z1RwwbrwN=pe}Uv?Pm^$#tpP3R_fk=jx=nVD&prGwtzW;M!(&7A%F8d0U2>ZbTDfAm zs+uUrOT|Oe=IC*zeaNyS4wik)_2a&wu@6vfP2Wg)@wrYNQgndfgFe!!>A4&|$(8al zlA9x~ysDDqHWRJ5^a{z%p60CaNRU=;bJ=uWc7MLm>Tqr8$CiDpc0S814<9}1@EMCs z`1Qm$dzvlpnfCN&%f1p+oh+<+=G-}w8yW;=OF#mwyFWNWQ4wM4lyZr4%PPgQH5O-_ z2lH`;BKm*;1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009Why?{f(RvGqCZy%Na>II6s zV>^W|&mp-)Zhw7~no&SXBBea`X{)pAt8GxB)`6B*tJ|>>0`4SW8E!?W)t#O_j1>Y9 zfWZ6|ILg7X)oWJsCBOaXuDkE1O`A4RM@I+6#KuqrUlv{}^AGg*)8WI1&43&|&a4v; zd2pqrjJgJTC`cbbInfJeY*um(ITxB|3e@y@Q>y>qq?40 3Jms0hJRkr82tWV=5P$##AOHafKmY;|fB*y_009U POSQLsa+X9vbTIG27 WR4&B^3?>K z(fWr6sHnM=Qo<4`)GtK2Iip{#4+-Q{v{%t@PCZYxUG>^(+`E{-Ku_ L%UCS^Z3U5*ORJG `b2%{X0(}INWgQ-Oko#=XL6aJ;A{Z zpEL{^0uY!J0es(|9{Y_qY^T`RSn~Jtr|#} -XSO|VusIv z?&p(0S5wQhr@JM*mo|i1|GnihY1yHaBPWWAh2IBLwD90KYHIAwEtG0S^(t`-q1;k(dSqAOHafKmY;|fB*y_009U< z00Izz00bc5u>$t}wbWx7Ffj-~00Izz00bZa0SG_<0<$k50aklMtky>9tbVNZjdc)! z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*z$Q$RPHC&RfQ009U<00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZ~kpL>T zP9%f%b0W~$+B_%cb+wbi!PTA-j0XY`fB*y_009U<00Izj6#@Ld JkOXV1Rwwb2tWV=5P$## zAOHaf4Ls<=002M$Nkl iK*d%Ud{QtZ2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##ATS>V5Nw@~&pPG|0SG_<0uX=z1Rwwb2tWV=5P$## zAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1YA%6!B!W1QZOV4KmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_FdqfHvR17h z@uZ3S=zZ061_$~*X I1Rwwb2tWV=Rs`^U-wFy=K>z{}fB*y_009U<00Izz00bc5 zkbuvIeDb^Ddh&{jBrm<**vCk3FAZ1MP~R)B)6nH&<9aO2j6m>Do+d9pUm7gDL_I(H zsm&*G^f;SOfE^(K0SG_<0yYTz^8a2SolZx+y*<>}SWkc6`6?YdaoC0 ~nY@Ujv$Ju-W><9q}K)?op__zdGw|0XKdye0wx~7UwoIEmq1J*#m z2?7YVIsp+~KmY;|fB*y_FgF4Sw$6<^&I$ntKmY;|fB*y_009U<00I#3bOG<|MdTF| zO(XRUG<2!R)2EC1K>z{}fB*y_009U<00Izz00bZa0hbc+ajDT@Fc5$M1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U FMwd{?3?3^5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY<(1Q2Ysf`U~LfB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00OfwfMDzF zo8ycSfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00LG75Nx%Af>jWJ00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_ z009U<00Izz00bZa0SG_<0<$lGVC(Fg oDXXFudwa@MFb@bo00Izz z00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00icN0D`R^ z`Xq;EdQ I8jIK<-^mSWnf4sb$7H+ zyB}wC;1>``X}QbD*Uz8oDoUxIZ)gyJ00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SLIi0D`UV{~VglATUNpDO>d%YV}g<9Sycd#V1ih z#v<|$3?d)BFX?nT8Xg*=f&M<~Y-^#4OXue-=$e?3MKV5VdS5@c3brm@dzBiq8ob3n zBQ!#T?AzDVO*N&()YI8vu?HSP00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00cZ+z-htOYXT$a_TXsxW f_}_Psc2zH#!?> zUw4aV%g({ (Fis!PeG&r`xhNbLP>nSomk-Yf%GHp6 #c{0b^;6)fK98 z?p%xm=Y#+RAOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$## zAOHc+5^zeebxS}5{Umk~={Zs9%eSx8Umh23l~Akfb8TQG-y-OVy34e`2jNy{yqx@_ zbd<2xhXSHa60M^h>w~>WALK;?T_ZM~Dr4zNib^n4LzM%1x;nWsYa5LW4^v=B82JYU zarIVj^7heF@}gW-U9_pD%BH@ZwNrJ;CGz$2R{_!b$}(qlJFESOXK#1c*f}{v?B^dy z5+0W3qt{bH+Ct@DSAJz|KNndF3=W|%4mV5dYHxLsQDGPmfB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_;O+uW3AUCF_EO965XE}yNGi8V zfb|E><&@y Q&gx`R>;0`jH@=CPDjHWJhZ1da*RFwkK31nkim)G6qcc* z&=ha3t~zcH r9T&Y#HkrApXE2b;wP8<7?1*z7WwKAVVA|g55>Z8J!vmI>h z>*=P#Q%B6k9>rfuMVzAY0;CKK52tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5O9)!bAqh{ zJ@na{bM#C?F2!(|Rl==uv)1Z|2Iw<2=c$yBamBWD!)6K$453r|-=V?5L7Rr?!vW7# zTW+B4?hZP8=zvYf*t(N1S6ubtXUW^oi*Fn(4e=uX2pt6_=+rt}`tjrasbcD&Zd7~{ zS3&hxU3PbNj0?5O1{Eqjd6-si*{*`E62P3QNp;nTxC9#DFlTdJ%~ZRO+b-ks4+^Hv z)@EvJY8bbDsujWE5fmC3Lp>es)Y4Ep)$V57V;7{Vfaz?6O9%S dQD~};f;qGr5Mz6Abt+H)h)K%1njGw{ z*Bc)V4GtKWEf=KPXl2m_^7RX#VUy=PlEbSxs|(cbmBocBWSN-0i2MVCR7g`cNWUE| zO?3I=6C^=S(-sjEPm9-XP^;wlz>rX`3>!sK$y8c>MX3t5N(eJ=!&Z`6HC9*BrH_xP z?Uu*;=zU4XBw<~z(UP`u{)Vb@DmnYHI>y>Ra?Xq;D^%4~owv8zB`tRu^>%ep#ijGA zqN-H39U2; ^_KUJ9KUe+8j9tLvZf`16Em_%o@Z&+s{C4>7mpzT0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uu>1CD@wi<3}$fE~RkY)ZL}( z{prQTC3I)i8LA#M4>nFT$k|%&H8Ns6l>}9%3b&euTD1dB`_R@+b?>eBqSzJQ6u!uZ zgN#${J@xj%t`YJM U? z&CT@qknl(fjfxrDZ}fOMe|%~t2W@?*==2GbUJZ*e9NJ9JT~0o}V?j~b;?4U9g@)0> zWvi*XgU8I{G>&0hFVkBgWA_;i^Y-;vuWTH~bIathh_huA2N`SDs(h;E=c(fI1 P0DA_2e63TcWk?$`Dn3IB_*qYv+z#Y1`A>+ug-gNjr^|N;8+O;c#mzHP=;B zZCQ!6t|we4!BlDO&5f#Rs8nZ_z^1JC_VJ;BpkPW_luH*+9=6(t1U5&8hpDx(UIj^q zdAX~t#p=G+R)$5#a&_22uIO5!#vtd6iceC3P6?&Ta&^fi?%Vt|mz0@p47K+6_D};K z-^~?N{ewdIm_)838)kfcSUc}@*Tp8M(E=WWPN!2L Sq3K+aAlpePPRgW00bZa z0nZi4&R#-6{5{-n^aB{4J5$UI0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZafw>Z}E%9hEx(7q!>4u<4i?#MWT<#Z4%VUC#2ffqPJm LpiRrplGmEkcQTIO3y_EHYLc2H+) ziwZJ!v^Gz9`o@|{x^(KOaliVCQfg_arK}a}xMC_-sO5e`BBH3HrOCLDwjiO_E9XDq zKy9(M%C38 <^BWmD^a$1vcZr+BihR`PmUBjYc%>tiE8Ce`$4OP4M^>owuV;@jY zXNPt;Ra`pH$8S+%Hm-DVLGS0!6@j-KkM?3~3E%qY4V7XC2l`38tj#};!>{5dO)9!x zIPsxb<=e`li?n#{1{HAi(d+rSTS6C4j0K3Nb9^U7H}xo z>hRgz HrCX4h{@Z@}k9jIs0%fZtA5Dk$_|{S6r1_Y)U!@T$@$UvyH3NT5E&- z{ZxAH^tesUwbfjOwT>d=5>>cWs-Rj6wn})?TBvhehZC%j>aM1tR&6&qw^TEgCRJli zTWC~_@u7rDO+&5PhH?(KN@!H4^VU{5bT6S{e~a^*b~Mn}M-q0m*1}`sjn7MCb-7un zRolPp;#mrfj8S3P;IIg7wYs0~@n)Uj0R$ib0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf zKmY;|fB*y_009U<00Izz00bZa0SG|Ai2@D *!2h zr`a&`xI*iLp>byGI){hosiso3u4=H)Y};Hvm?+#T L>Ia$NUad`bF#uH bOFxY15BB zuTm|x;_?O4O~&Q6#(L`O?xuj?5aT*W7KR1~RpnFDW3`H{erzKB%S}S5XAbQ*-Hm+x z0@P!vN-Nb_t+noscCN77NkL)Z#wxJde$zc(>j(D`fB*y_009U<00Izz00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_00CzUm?!&e?EP48yK&E_qBD%k+QL!Z zzN^dp^77py!)C$O5#HI~OGmGDTCe!2^);9G*21l(<8d_9Dt&~d+efdewYH3?YOPYS z)w2EY2j5q#zWI0mV75v2m76_PTeS|Px~bf>mY9*nfz$-9cp9ZDhI;$(W$v? Y<9>^+~>*Mg)Jl5-~~r%^~qD7EqT z_fPl(FYoMnOWS4KeNJ{RZ7A4GF)?uz%H!?k4`DR&hei&*zn3m>wQ)2EKmY;|fB*y_ z009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AYfm*(u$YQ=%wndY%*Wv<3+od z57DX2VJeFrp<%wtx*uoqmS0&!H7A>>;o}w#Gmh}(*S#p?#zZRKS!I6w96hoOw`#+f zPN-G-2ukqMy0YoMae`{CrKMNs)X9^^K3;w0Wm>g*HKnDc8`n8fwbgjA$wGC>C6Zf0 z+CoZOoX5|Vj{JjyRrs=_#XQJta@hDqex8lZ*4K~mfSFqu=1Q&7yf|<@S(A#jGufm9 zu6!+IuUfB86BZRSlcz)95P$##AmBm*pLy_6D%h}@{QUgKjVgD^at^Srq#ytH_l(>A z@mv2+3m4@WA8QK>7Nn}h nI1Rwwb z2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0`pJ6p hK?-h(#fW+vXJd%OB2D<}C{-I5EIw zf~_(G%W&&-L#@)MkH78V$j+)E>S-Qdt@ZHX59z}X-k0u-t)!%g W H6?o+HkJE+?TU4j=VTFEpAVnahMS6pqNu&{7SOiU(kt`eS~zmeX0`(?9AvA5lFH{E*Mr&PsvnOjB0 z6>4p5q0o>pN=eO7Vb@!3xrb`_``?LEN43-79s&@600bZa0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_0D*ZZ;83vD9w!O4{^+(L8t^8{zpSI1PI^;(>sYnYONk@& zTK*uFB c$1y>_Xs=M`DglsJPna#)jy}gFhaTVDG3v;OO)RA$gPs+?Dzkq;o z>z%zKm@m&P;UH<2zWseYYP}baGbuBN$_vL|x;c<92`$xhr40`Bt9$LA=^n53qutAE z5DfwlfB*!hCy rJLy5Gbz3udB zXM?&~W7D?3+}l9^eO*6?T1RO8djs_Oy*_54Ryp?UrAEqpzKwJp!z$Ejtv^>;CxKRH zgj!`j{q5t!pw{NuRm0U<8^>2`J$mG@+Fe4eYu2nY9xBVSPMWrlENfL;WqG1zTA|bs z;54raryUoQluSV!yp$%@K%47ov`xl)sTP`+yWIF#TZrUPYZzCLlP1SD)mCep=KQ|4 ztXPdn1`@%Q?j+o5+G3JYC^3Dk60zwvXD*9f#?lp>do~20d%8Nzx|eFYTG&;_Bq3JI zmYTg(Rdbc~oo(ioXQz9-^f^2{_WBLvYI|r9fB*y_Fg=0muDhB1Mys8F^wF_#p;qbr znH|5Tpa0Jf%}(^YKm0Gf$bnVMYOJ!;+i$;O{C*K1pJaBNqvz8)>EkNrFPQ{oW&N?E zA84B?f~&b}?N$!eMvQ)N<|D4gY8q;leg3lRO{yFHc_2x?uW=9-4FV8=00bZa0SG_< z0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_0D<`{;84ZZ=h|zHVs{0{7?-t$9qo0r ztE-8Uua2Wk4!zZV)Jz|}-$9>?9Ult(r=}9heK4J3LLAE2YNvF&`>vW{@{gK&&ep26 z%4F;7>(rccbMwZ{UDinjS8X3{hpDQzHu5EpqxmwzQZY@!l1mG=aA>uPTKQa^ZG5@l z$Y_d6NaE0Ef=Otyg?jn&$JSbO;sVn9`B6)KEe-bfQ80&EViHrh5~<;3*V &BifFb=gHL)>3;@19h}EQ+G$ZaT^x?KYQl^A4heq@uMy3U9x1$O_t@} zd%?z-YHT`$9(qp*A%z5zKq^TddE_Oe5CRE=-n%gniUH%^dzUR2$wj?uclFMh-8-6X z((df4+28R`o|!wh&Hv8K&fNL#xgY=nAOHfP5y(*YZT^jU{f!qwOJs<3)*16@;J^Y( zNo9}SaqL;#;}l*7LWrl-SkLc@N)l;#6&2-lz{j)u&RyG8_LSuD8ZH4jJXl0oZtpx2 zp15f}S1nJ1b`6-^XdwX3=M#f8^PN1qgru2!H?xfB*=900@8p2!H?xfB*=900@8p z2!H?xfB*=900@8p2!H?xfWXN{z?87n2&s;RcZor!BF`D;_UgIslM)(0NycQ_dJVbU zqSn#g)9U&~JOKlaZ*x-mP%BwuJ<5{+$JkucLd}6SqvT-WiFAP4>wzB>4+u4Ry7&Ys2b5yI8PV#$H|1DJ`p)_U9W(#IXB! zZ1D~5^6j1LR?^T3( rio|U8*q~fhzT(kVyvQCYE>c1I zvUulKDjYMB;u4c6Ha>y!3Wn0#Zumk}R009sPkwA*a`*uD5ww8r4=wsH*Ike!sOIbYHr_GXLe4f?JmZu7-<9hm< z2wjzs*2>Qj%F;Yu-ep_Fx9wS0R(5+)upb0K00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1VG>fCSXd~dUa}V8WZOhs(NNi_d;|{YA(%5N~e$W5-GOE zML(my)HgNGD~@aw=Mv4RWUpdN8mZLPL>n92Do#heTde7q-~ $g5C8!X zFi#+kJ$8#V@o#XbHn4v_U3%%Yl*$81#LD@1s-)x)i8$8D1CPWePMpS`(ye|TQq7d7 zW$5{@#go4=EZBM+dv6yLFXU_1EDsh<58uCUufC2I5C8!X009sH0T2KI5C8!X009sH z0T2KI5C8!X009sH0T2KI5C8!X009sHfs>DbDPilh_*9yglo^zk?4Q6ne`IZ<>?SK+ zk{sB(<%m)XjVMjg@>x_{M(-X8EW!&~P!Hcxd&ot*-*2M$bPLrTcapQ-|A6dCZb7Js zSmm#O{{dR0NmHh3+e?;w$=fY7YV;T_eDkJ_w8SG|l{m^&dbQow^4OsRJhlA+&C_af zdM3rQS5OfyHZ?X-LrpbR@|5$z1g*w=5ANPh@+V$B#RICOKYsY2F^bo^h%mo?|8=jh zKpWyM^y`Ih`0WZMy$EtcDMJLT!OZ5F&RK-0;o7SIz8`Lqpz%c*ymi&r+Wu4)w~B|{ zW@apH7m7uizKq3F@)yU#W%(0tfFhWMfdB}A00@LnpoRxfB(vAnM82PfYO_y0Qx~*uNZStQKj9M39?F$D zc_2t-Ri)a*5(Gd11V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zK;Q%-U`p5;%JIiKh~k=wD%i1W3u`lD!q)(XQcRDJBVJjXYrH+w#-+zl>HsUH^s`cY zW(?IFbkhFMn#t(3wQz7DO`A4@mM>pQUwpAx`!m9jeG*4mDBfCCT(uMdtNcZ3GG+Z? z{_F0RnVUxiqsMF26yffsrHlQl+>1p*@rlV=xCnK-i-~8~VBTFrsbeJR8|&*x{$L;g z0w4ea<_T1@NV9kEJc?uS=2RA=u2{9S-OO@x+@9H;?5X?NXP@wkKX%Ln-DA4%PBZ2C z<`L?4MR}PPRfMf0MvOKkZ2j(cAE3d5hv`LDRaMZv-@8@c#tI0400@8p2!H?xfB*=9 z00@8p2!H?xfB*=900@8p2!H?xfB*=900@8p2!OzeL%?F@Q0_UhgNE&0rvE)zc_?5u z1tl?58`na+bNyAVlE#>a YbW^=kFF9X`;>*_tyQHt8JA_HhcvIF zu`DVQ52&N3pGy4-hf`8&I;CglvgmaJ4H`9$EbN(7tSSnk-; -#JgtF~@suj=E+Ptn8G%Jdnhs#U+GnezNH2{B;j&aI@p zoKK(8`g{^7d9Uo8K*1El|BU9lZQO@-5C8!X009sH0T2KI5C8!X009sH0T2KI5C8!X z009sH0T2KI5C8!X009sHfu2nuDjr)OE!$7SW0PoBLYfzi={v2owZDVjn&zPIy<;bf zN8kEYeI-d6quCQ}RB&!zvL#q)$D75*T_??YW0i{ }^~;z4p%SL)Tw_2lZty JmPZTl82 z>A?Q^G<)_LG
Al;POn=Cxltk|?27W#Bd4DIaG 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 _{2jMYOhN*= z4j!b&SKjd2*PS=I>-8Rg=dBbIA5YHW1Jv}|n;|2#pLIIfCr$8+@7!NZjW4|77mk3= zB`{+6Xeuv1P9>#>0~S2*?DJ^S (P`X=m{?bG)IRFWu$2puOi8GYr~F)7j; h zK96S1JdF|)leGMoE&YPte)rX&WlfztgBC2fL@O(v>)O)NLRBolJ$AH|UVZgh+O=m# z(6nZEm^r?lP|qLV_e;v|mD45`>6GY*&ggL4T`D ft_=a|~&)U(C68ERk;Zt{# z%jVSL+w0>fXX&7TX(eB0Y%|5UVkqzPVS1d(QKeMX=a|0T)=Ku)0hDks#VgA3$;DKk zR!xoZb>y-*DYhwrV(StqeNV1mT(5*-ZrtAYTAG_Rn+7Efq-0wX* bDEst{}EM> zU|2cYc#JMxce5dc=!}e0=+*((QDIVnR#y>^HM*MUcvBgDc;plMU6KDi=^rB>p#cf~ zC^xPbCE5}-!I>OijiZ)!)a;^v?0=fRtX%0;4mQFk(A?ZipL#mf(Y({bKQdDI+6OE911e=TKZ+#}9fC5t4PnIIT=qaWT1yJ8yv7$#@<` z` g8P9Xk IAUNks9t-bmKMg4S~QTxzMVAy)+peUBca=J!9O zmiqeE{cWsu*X!Lje5lsOF?Jg@wNZcHU6!0)WGx8rZp(d=u&yC+^G)BP{QSZEjF+YL z5lg>oV`BrAlpLhhtCrEiMQ`gB%VE#`1wJ!o$WE8b-FKl!JV{q%u=S*g)3l?P{`Gw< z=xodS_0Ojf-1jNAeA$;LoUnB`3#H||gWWT5r!5xI+!t;;_?F!n?^V8KVjBcHnm{zp z>x}eF8ZpxS4pMgfXjH2_e(Xe=H}4|K%I-y}sp(|1*+}~Oq>pdI`qlKtn=f{nbDcm3 z_S2vImeSKR0`2k&TloGPArCSR#`D^1ZsES2$y&Z2fAk)G`0;yQWyr?Qe)?OI?`5_8 zJ@=uX|G;m5XWa+8^0^?K=NBU&NvD2$o0^*FfuDTGxI5^2sO8;p`@K|H=>A6Y!V6E) znzjD@{y+HsgVeisp7u@tz8~GCm-+LD9--u9?{75vPQyw~O*Q@e7e6$FoY^KUEXc z8q=nwr~AcK0T-VC4LX<8*$p51B(1ze%HN$lQtP>AS@g6%bdPx|?_f(a$JbNpDXgWV zx-CoP5wX!UGwm+r&z*A?U3|&a+6#-ZJ|e=FV;DMYq%k<^>+@MmE$6ke1Qt~oO*&ZG zW2xec7<hQ_fG{<86 (b7l`R)F8zZ>c9g4_JUtucI^+tX=A=2RM+I*NX|;}Lr6*oS`cuF1Wa?kTu~ z((I{T`y_pCTn ZUXg=rI9v{|J(u=6mmVB?AH`d}MO<-~SQgdxrW*%b zLqn1V)6JXj)zgUw+S9UU>Dy{W>L+!ck};9Sq>iND?fO4@vGi@V8%q-eoK6S5^4fDI zQX&ZmfIv6|j2>BL&pv~w6Z({`BZpH03#G)GzW9n7pL;2sDkE+e6F~a~ZvadGzGR;@ z(=BRcL6@t%T=Q-zDVzrn1y6`QrU{6sRYY~lY_n#N #X}=S3DP(d44gr$32?4LY_E!4YL*G+LwB`Lj`V|!p8SWL<-iAy$a@yRp zHBqa03)seWSvdgZGny}T(@%5B?8hO|Al(E4)@)q&*VbL-( z?Ji{x8#00}zv6mQFXo316;m;LIyip(7^QKWizf-SFIsgq=5rHwLd#UUZP{M-Xzb$i zGMHs&=TI(tvJjKF(XgI!e)=A3C_E*Nne!!*` 4 z<`1xqHmc96riyI#v}9|bqa%ta;qVx;G^tOsZIvE;pBm&K9!$l1>At#RI?!-P6SdCH znn5}2 6uMS8Bg~Wen%IY?ylXdd3ZhCSW4NkSu{FjguYKD z+E~4XST>?I{g!>>^JrjVe=U4dwf6vxZ{^>j=T}s>pO%%cq=WT`X(o$rC!~$l_MMV7 zjqdDw9sT`a>lAyg78jK?9-*Cle6p-|)X?zcp)@pkuy%YRl)Zb uD*gAS!~_(=DTek`-yhFJC?5^`BRqsf9$Oi z!d8W&Q a^IY $m#ypSzca7^6g65;gS>M-7M7er7NBb%sjuS_7TCa(V2~ek7O^z zZ3$Z=DNmIf?y{+=k#_Q6qF`3X-*;g>mq6Fv&3Z1k6T0R$yM-Lh!9QG{&
8^=>%h!9Cel6}Zi zQN8ot>)I|6cmDDhk7}Ktz5Dc~i4&%HO|g)Y>KN@WxO)np_hQm95o{#x>pcBUTPD+nh>3vw zOZL(b4eKfAr}0=r t98Q#qE#U_024)G=oyNw|XG<-EZ8k&2&%WZg<2{&c=L-KkOFWrcgGu%xux>-DGc| z>cPh;ZEKD(Y1r$>o62Zq`5Jou;A`|j*=Jtq`|i)BS0+BCiBx;X=hA}gGwI)lU(w^- z*zYP`X!^ymC3Nc+|7n+U?C$BZRiZ!adt9vsT)s2WEl3ri?W>1dJ*bXO97=uIE2~(8 zvw?2gcrWd1bazxfap-w^YSbTTR@QW4e^fM)MXuzTC0m55SFE|2Hq-|0i27jCi&T)5 zPvS}Tf?ns)vnB4|)PR*kAP9f}2(&{$raJxo|2))AEbImW5a=!hELp8HX*jpLg>RwO z%~gDm>i_VkP@^NBF99ciFR)ttyo=g~4|B&9&pAA!4J M`2J!d9b6U+Wm|BZGm!$wmP0RVQ1EpB%^AUC(Qo2}VS%;@D=@ z%CG71C;rc`L2kSCJH!$E!aFnIi6 !pwk~WvdbFfdzO(6tchX9CJzpYyev$9p zGIObzJpafyaB SibFri&Lr2_ >ViwuS!w3@>002M$Nklvk&rufY}JK*0|pGzqYYsX zsd;&BPj<(TAJIjv5@F7%XHrsfiWXO13{E*^u9vX2wzifwZCpzqEP6}pD82g18})pH zt@P^U_VywBSFQTmFWS -bdAq1E`zMfLg5D-K?ikWs7arLm_qqVw} z^Z6J^)G9lTo`iiXKCpj2&6{_j9$d>K7@vFoNqxJmm5VOEQWMo4Jg}c?YN~|j$Vt*%%{=j5EB?H-Zr z5gPDT-`HH5k}*jOFJ&*Nfkdsc)9B$S4v(u)~;3W5No_K%#l0C#Ko02wxEHUm* zuYL8!x~Ns{|FZ0BP1q{iz2dwD#KA m%5UD+~lcpyv{};kw&-#)Cx7 zyT}NB4#@76!=C1k(&wLjL~-nqQJz(0uuOT`aeC+7S9ze Nmuzg?wu!!8`h{P(1YFN`P2jp7K6HRq^B^}V zyFWiW$#i#>mF2Wy;~HA@;kyCTc2;2Q1@m>0RE%M|VwvJP{#Nhzh~^b5$+>=0L{*FX z=2e=PM(5rlo`!rFS$Mi=*YV@jwD?PkVQ(z 2z(X_{Mh^l56+g9#x*ItZnv8 zvW*%^mUQ+Q$TM`b@Bplq@^W$=IZ90*d_*l()hepKjAH>-OhP=l4wq8X!VmRuwGw~B zwVFWCxu=MlKXadR(P%&WoLOY$DdEMdA=zwPw<>a#a2?)yk6P;MRq+9r)-fYVrumNH zv=$y<+2V9)$L83uiJCuM9579|<;7ilrN+>8xP%;Q*O7hpDP-y2k1Xt+(pACUR5x*1 zAARaqmP#i(EV-=%gluC*k#%V6wd^Y8V|{0#S9<%YT*jb$uQ1sVQLJNG>vM}=1P+M1 z{1SKl(o*?6t|VvCK5{HsO7?Tl)}lMNZTIq^Xr|qb<;Goq4Nol|ORj^5wDZO`YX+Zt zBgoQ+XSCq+&UN${HGTYv-?d~NT1d7T)5y{*+ue3`b>upBjGB46b|-rPjh4Ciyce&T zF)1lzpF5k+UB1@&8n^W8>*jIrAX)pn`#yZjG<6**9_+zXt~VQdina9NK~utlw}ais zbdF)BQ*}1WQ!h8f_Onl)qKee+CBC9o+38%jLHpAqdRENvH0ELEdYAN;zI{TzZdG|^ zd8+iXY&mwE>i_(AN_^mlWX&H)7WUv8cMW@Peg0)*G>YVUx6PPJ_9>IJ^IN<^w=^|T zOKlxF_wjYl*OHubz7}aa*d~l4+hl%c>Mer-TeLD9tJacZ^;+MeBHlLJ4&k2H5m(e? z2I2G*nJhv}HhsoyJ^2R<-}Do;%FZ=wS9 IouP89r 1@7?!br&DL2PNPPR*SrAAK=h+WOX;JJ-t~Jn z4^)p}VHaO`1?Bd34`hz#vXl)RIEe1J{a&@HEtj*m+qLUkJr;ZI46t$K<=0U<_mhgr ztZKpf^8+OH3o`q@q8L{3d%_DZJ?)pT1jtm&-{cwGV)&bY%nbL&TQB*=n>=wEO`bf1 z#36 cj0P*N$ulJD<&_Q*||SpU~>t3D>)- zqb#qw;s)wJAfM7w)2W=DxD*xbqOZRCjOL$v5wT|&ZT3N A!0Y|88Fe&&`LB?F0CCGRKx`RAZTbSBTBl?Y)+ zXYlOG`(OwNq7o(2=a>9Jg<3tTc^1;0JGaubX|uI+eEPImv~2lTeszqrJiiRPaez3e znLK$qW${dusq9q9>2OdLJIUIxVYQd@D|HBFepgglS%zDlO52ZT6_B#S>BkKBKB3C$ zsHM$J##g8IrZI6zW|9U?v$3(3UZ^Swx*t0_k3dFtBHjJ7*|cg&F+KnIYN{-2yW_L- zYKD?P00ck)1VEts5^%Ykdga73tFrOqCi6E%_aoQAgRRqR^x_BI(@#HF^W>`H_UY44 zt!m5PJp6#yb|@Pu29KN~w)M638`jX3SKXwQ+bg?O1nV0w)NQlJ*Hh{lDu-ysGt=%f zc*LuSEyT8N* $q5HjD0Vb=(#O_QV`6LEXqE4qk9ba1=Azbh@ot)IbJuTKS?C{y zR9=CWSLR(pwix$s+}CApk4h@u{)Pi;m6ELfT>8bgdgHBj)aY^BTS>9Gz2Qo{T4!B* z(Xk%{K%g5Fn8Y9X5|fg(kF_$pftWlG%QUVwn_Ux)s<5o=Ui83E?$P4NfA|0BS5!D; zxW27c`t=*At%}F?mtOpLz>nagcp9|{{E^t#qz1u+ty0${uIt{tyJ#9ecjfZz2g>9_ zb0JSVo1K+I&%N-J3hwl!Z8VGgSn%U(B5ajEqlo}8Qemro;sj0PW}nPn$vo{RqBBe1 zJc{A>9}&NaX<;muto>Q*OcKVrgu33@ wfiA@kEd*brM0c zuZf35@fazhGNYL(&pt`c8Ro)bX#2D&ULsWycFDBs;*quS#aE3*@o~A+c?I%@ZR{AY zAj#KP*lJ~AsC~kCuXwW2%>081TScrXQ^Z>b -8MSPvGjpRs42PBDoIdYG(O3kGq!ji#oL zKIU`qBd>ktH(JQaVo_-)+qkisu+@IXX>KuYWhJ##2Y#M2eH~3^kzrgcIrI3wl9{QA zqE+3scHr}}@tyam`4ey9wcTVo$vYCB;k2KXMcI}dw@BMnR!+@}zfy MQRS;t_BW&zu&CnSEc8L3HBiLi$QY^s|TGA$(1Qe5xOIC3{@-wM1_78(4H` zZ2SJ)|2k&$1nR|8jK9y~YNMHH_ek5p%zKs8S=wp*czzZP;OSi)H;9Ppe;)a{@$gKo zn{7WS%nVOSH-)dCSbnC? ^^^FW$+N5OgJ!sxNfYVwOCF!c%3FQO z;e#yLT%!qFr7rS(;45s6v^+D%*i~u1dCe^}g9mBE83yR6x{Tz0$I<+I{l`DGzPp?K zT~T?4Tb@cM18DBz-`#NfG0og3RCyh>w3*3xT6`+aOUg8pG-#T{7%POWLFshOj>)I= zr;+1x>9v2ar^SnQYwpaurY0v>sc|ey$>#?+84+1p%p n`<7PtTy=|L(6O zo&@R}>Zr1!LhG1#{mmC6#Taq=438%Q$w<5rTyynJS_g49i$LnxJ5wc(fL^-n3m)2!o@3wOnoD^dGk72wql8CVXG3S)YsRs$Fp}Lsg|C$r<|Xv!qMcZ@-(vyc0V(d zS68M<+nqzzS;xp}aZu%;BVh|$U9k>o=p9&yYOA%AtvXgaJeS>}AEv!J@O{ aKQH(`jY=IsedGI3jiZ*1 zHXWmPOBT^fM?$~;CZxGLo+bTL2cOr=l9f-&mrzMVDfN!erM?M$=&IZc>BUm_M ZAh9cdS9q}d2Mtx(HHFX6$SzzaAFWRaA2S2c{Q1zoz-)Vct=fS z5uA8C5h1}?_RhLt(>m>d?d;W1tXA__RZ3MXsuGirywX{l%^#NJL-6(o?xs3^wlG== ze;gNqs+bHwlaKSEn)*;BAIgs%JIZxS*FIXy;GAhZK D5aUcZrwUgzK)Q+MoWSU5}_*!Z!Ykr2RCZ z+SJKf?k!Et S}WHCiO)Nj^$2>N Je z1{V-_6tE}T3TmmT)kM%D`c)!w$v<|%ITUyPe0P|%UGV{G;d`No%B8L%c8yywU-KO7 zSi3%wD(PvRo3?1eR>@z?Hf*T2bne~90$2C-q6HZLi|{(K_H}!N)$V2NH8UnXovb3D z=W` iC{j45wywurMQsP_nwznhTY36!Yl~LD3sMl?@c&hSc z+5GXR6nEkI+PP+7@4>!i=6bi!JIgI1XAxXWW25FZ)peZjOZ=Q+$&&jgzeDjpKZ~Fp zBrj_o4?JMgc$OZ~ek !U6d$=6H0yz;po_F45beQ{_SMiJj$|8AAR(Z%W zn?1x1=9$Q(> cgt;J&Hd)c5?QLAsIcstVLGxPp#=DfcC z`a5({YYls~Eav`=SbMDI3}oogkpYg(e30~+C|k+jV#2Ym;2BQ+RNT(w*%kLeb)22C zjP&_s_N>#j-!iG|o;^D>A?sB r7> zmV-=1Y8+K6o}HA*OS{-?o>o =JYZsaFfGf{Q;zdkG z11ggjK@oTq3?4>>{P(Y?y}d1|cxIMY@bo(3X-zt}UwP#}X0p)IoWI}_?S)k~idbk; zX*iEfXUYkC%K52|F DHHBl$%{ z`GI3+9qLC}tKGr~r$N|iZ4CU1ZE;$)j9f7;YRYV&xFez0BXA7@hu+xdavGLAMB90+ z={UV{bder0GuACMYT;=v7v!9y3q&PCR%|8>OzcnN(#Ftu{`>LH-{|Rrt$e%R4O%+c zzo}{q9ceD}i~7XAXXy6)8z`4WwGR#Z5#2iQda7)$q=LkJinp?tI#)9-KE8zha^T;7 zX(iyHg749|)X`epehGOLXK}wHiig)X4!uiXR;~<~4uK#50zHdBF@Mzh#V_w8@$7K- zckb6Je~>>yix;Q@_IUEZ0}pG@uky^LgssK<_iBU5-hKBqKjG@Pzx6}yW2ro^U2y(o z^pejr%4=`DpaYUl?|Z)c6MZ|B75Py8=pTQrNBz-#zaaToCC@~s%{iOie%IUEq#m(@ zSBz6K+t|Zp!tFO}B|5h4pvLE3>afy9Ojq~o-;;PCOuYL}tsEx{48^OYg+0h7-Twnk z6eLrsM?=`!ndM1Y4xY-rS%j86Sj=egciyUrp+w9Zd)_>1eAU})mN9N9>t@?e#C>+2 zqFqeHtc|a~se6HqNll@Id+ySvhZm2Rv6o&*O|QSLS4W$gn$Hz2Z9^k9E?h*-i@b#u zB4Uk6ZT)x}NqKs~yyDorh3fzGH$5of2ltR|=n%IT;8SN&(|aH2`|AJl4}D#x#g6p| zTcy73c^+ t?TY6rBR;)t?lkx=FQe92;Pd!7 uipDNCN_8Am^=|!x{ zuu<&%b0}KE)}{|WqS$lJq?lwr@6SD(EFwtecTmTgwPc?@RTb~GjK+23*tv`9ANfB$ z-}u{ZBJmb2UWQ}molOn@4E!t^YPx9h45|HCaIQ?IyAQ|A@-%b3`_?Pe>o%G^ee1v~ zC{}gbb+Nl~f4JAXq_q{Yh} %pJoisM`P9iX==M9lr)_WBwwa#!PwVf#9;uy`@8A1Vl6M8Mg9rB0V}JQQ9px#y zqh;Z~uL!eQEC!PP{y?I(LjDdc!dJ0F{NA%Qh}T6CuRi?SpX!Hk+bwr mu>m7N$599mA5RbT1z6m|~)MK=X z->Jo9YHSh7DZ!T(==m>N#~1GVyYZY1rN2Oqudr~qR%`h-_>af`NZYyX#m+ioK3(Ry zS8D-L_)mTB5K;VQc5o7^brsK0>!;#%HqWlO52|DBjAf+HFLKWolk-i@aCErjAPwRE zHu+X6?WN9li5F>kl7~Fsm@(-CY^#57)5f)49#qYgA!&vW8%g37TCB05f!=@rb+6|n z2^a6GsXP$gXl8#`%$8>?JJkDNwC)qevZJ+biB?9)=foy3bW{%g@~`vh{3}P3)z OJ=WVf&NnXWh#@s;^pyF4r5pt)IZ82T~6$l#L QeH%)(h--RKbS<2*p-%&?4IgX>N9H8cx|dH zsq1p~(z JAi-5vz>0MCjN zw#ud>vB`ILRJI4k< akD0@lnoW;D%wXa+|jRD6lRMs z=G__PHU8%XYI^NWKT)gHL%fQLpij)wJ6BtF#ecTbX6eFHXHk(ZYL&XQR8>>cBL0o` z)YCR 0h*!i$=4v#@idFh%Os4k- zAbm$Ctk`GG)I?=cRP*``x~NsQ9bbM;&VBo2wZpCH%dh;}!?ApoE>gEIn8)6c-JBe2 z*LjIrrE<+5eL}9%Qmvlixl{yh(K6@$16o$GXY%>O!W!`^>sS_iuu;U<5r0H&dgpzw z>NmdhDqolGdy5D*16mmAqRq3t_7hLm%35mN1EAG*drPxC&0O!sx`cDxMw_Q^J!D(+ zsLF#UBDEOy46jT)5Br*9=?W4-x38IP2R$F|KNNAk(Hfrm4|@oA3!SY6EVzx(qTLSd zo!1dox7#NdZ<)%(8(&A;`8+sFgl1xE*&C}-)GA>g@JvUg+^;Owx9c7)YJ6rdFw~>W5flR(Ly#L-CUb~)n@-eFOIL;V6*zGl4MTlm*t2{emne6Gqmb~}u zbu%)S^VQdj>Ai*C&xywUX4b=PKPe+po+1K!`|Ve}s{6u=|Dp!ZV7Xx8@Nm*aa-Z<3 zm}jG-u6LR3O~lw@>(;N*MXj>EnC~$~MZ0Cy&!TaBo$>x|JihhoS9^*4KK^8(_D#v} z;35b}OmIKDsBenKtS-IyD!S~_t6TprxtcOPGyQ?5k<`hv9_jN-UY>gphJ4ReUeNb? ze%~w>3x97s)eB~%<#}b+O*hUwbAj%pYVBJ7wqh9kqpJMu^H0)W|Mmy9sV&X^u9z)P z6&}ugFdFv>Rc^GGwrFRF{7zf~HoJu`{^l5(HfI1m{n!fHwdGicA8ZRhxHr^$kAAe; z?EC-}OEG-26pyC;cod9-#U_V?Jot2YC8J!xA$H>(%cHgIEH*mAuIgbR00JNY0^OUy zt+#$hn+iy3DI>l<{J3@Wyo6bKN)=@;?$Ee_rzOeZDN-FgW#YT @lG62YjjKJ)Z>^xsdtKTJsa&M@ON z93l>V?bT;VI!=^bf8FhLDvy8`LG|f8QrPHKSjE}EVv?txWT6 ^eWOG f`5n8LF}hY^Gu} rMY#02XXtci%9Yg zbGM&(R*Z&u=iTw;NuBLy%;Bls2k;c{$=a0g`f-S0RGyu=pR%h=o1WfNxRbr}`kG_q zYI0q65sM%**c)oAfJ@>jVI;qtQsbL}f6IOIi=;f2S4%}Dxegvyo7z%57b=V4sg=9R zjDo}FFTVDxhSbwGB#4mGFSfY=@f2(HtQ#m7i^prN?6c(Nl6bsT?{Rv3eoxiRW+mIy zNz}afD}7faD~?T@$ToZ^Uk~oVl};A0hhk>0BUf1&IoWfv(L}WEDk&lBpnMkX27X=- zCtWmohSGj9+$Oqt`h)cC5Ld$GY36!2RwbP4Hkv$*b c+SHfYc|Ev* e`iaa|!e*HM*5z_P+nCKOlyuT}tSpxu{fKx|28$X^ytRr+zvQ%Ov*@$W zy+zoOJ||bRfH#u hMMVAT!Rl$|eP!9w#o83>(%(OA z>MZ(d$>)0ZLxzsf)@63L*WdK+yHSy3px^q9Yt*K`Jj~N5iw8X!%r6cye7_?^+U|Nm z9kfzeS)u2A*=66P0sRNjlCM9Hx)@n6gjdY8pGt3*XIa@%KTo_Ocot8GGA(pckmucS z(naGwp^md7ulF=|WTs5Sv%V&tiPbe>+!u}G>x}pJG=o>hFTec6cnI41EHdyJT9XpAQJ197P1YdhKLNg3Zyz|)t^$*~>D^NV J6F zw?;M1z1kN^c`A?3_#3Ml?5@IOIp?&qNd}7qGa2}?Xwlojc5C L@G%Qybl z4KqT8nnk$3E0LBL&V4W%_lZzBgd5M(yAf_O#P19O^24NrE}@oZCQYb$t9W?>(&)#( zKa&=Ju!~-MdOc4?(X4hwec8mGFxL9Kj7cG>nb|aO#28B9=?LVdpf69Wd!h(i8|&+6 z` >sHdT z6-%^r^}$^_S>z=%5|a)Rd4WEgUpk~?Q%0<-QR|YgjO3J#3V8uA3KwNt;)iM?77#Og zd_AR}a*Uq_covcHH{X7l^7{6ti4&)30?$I8cB89=t;TjJF5c@UYL&Xa%0gEWHp^5s zS^OLo$fP4Qkl-~?+-tABRr4GnLX!_797R8O?m7Cow_}I@haKPY!>Ol{OE}k`+4Ix4 zuAy#6lV_-9`o;_8e&(B|r);P0%c1J@GICg(sIu?~Wv?6%Qq^tsv6NKQzQ-_&LwyQm zPhQDQ6x-ncfwjfbDr~hjhJLRNsiGX|pQHYl#-)wcqVK5LML*d7bHAiD&Q@ oz-iuCM4}0-?rzutMe`;yT$zxZFR*uzp^A?Y|?OD)LQSXrziJ4OMf}= zZ!N9}V;>yyLmHY~NR!gX)BOea(7oFq^2_I;J>DamZ_B$z^GYjX*Ngfrpv~3W=-HCj z{nCXKVD|T~v(trhOo$5tJ&k~L1}jtjVBTSF@qqDJRi>z1aNec-ai)(-8gMCtqN8bb z0j8c6uN6v2YaCP)&2qbSUWWGLj!bt|1BHe0uF>Z42Fg27SQN^WDX8PbGiFXsn^hwA z7S>f3!=i3wu493n5NMt)`Fpaj*G?r&6ya1$d8^1k |PSp#*<1JT1M2J$L%HS2*dS$upGp6Jf40 zjicHKVQH49nd{wHop7$(X!11HLDuy_5)P-AM`ho5p>8*SwwP=qhiiitEV(%pcm8~e zn|}_uDl5skYmeqF*mdNnUv_5OL1m=QU$w24EwvseFZ}#s9Wj&~Yu2k>VK1ZE4xyaa zVOKDU3Bu_oGFxm_RqOAh(c`4q{Mt)r^mrzNxZ1O 0-otpO>rL0dU?N_xSw~u!~EY@q>uHy^S_}9Z$ !hP4SZJL); zU*{5$R>!-oLTkTBdDaDZ-j(A}?P})%m<4=Z$P6V$3nyJ9_X%T}vfh!`yP9dPnV+wH zk5|eLBw&;9XdGW>yuZuz=VFd9k55Zv;y?M#lbIN0_D5e+gM#J$Ao>}jfv1ti$+I5G z^UDanS1a4PWrJF!ef%x_`0=BfSh{y^p5_%;eb >bOJ6)9mkx+45AK!nqGd<36FvjrKD7U(}*q!;>_>(fnYWn3zIq zK3}AHbPEN8bns6+Z64LtRnw*b7kemqgc`@f9kz29454w;`qJ}%UrlS59SAjPRN_^! zH?M6gzoxOX&Y(CRxf;t4z-c@cbfsbX<){>7$RwFZ6s2bNqIwnsl^-oJ> B-6ScJz7f3mw!p8%sO2w z#whyRym=jq3tPSUwO0@6Y!Zv)_ F|)3 zN)fgu@?WGjdenF=iz*gU`--QHQ}9k+@8X6qYGo@VM0>ix`2-rXThVsR=Z7o<~lY8h2$AE)$`R?jEVsGrr*`daOb zmqC94gsoQhM-K6@Vy}#kMzMMxe;oEpIyGyiwq0C*fbQAy096`9tSVwvbL$86{dNBD zZ<400sZ0~LrrBD>5-PoMIXQiTw%P1zrWX$d7M6aq@8z1OR*CrO(JypSt8A~V-arrT z_#ORw++&nrO`z!+QzW=ud*aaZWV6`lo`O4=WDK2`drri{R ^-IEVlOJ(z%( zS8LDUDK&Mvc37=r1GLS7{qyP4ORuF=k7pG55LUudu}Y`1(<7{u=QHshA@_=Cny*)s zXy)B>^D;D$zN)Wuz+oBk)>rkFsFi2w- Q &PfvH`dtD7M5Pwe!^DqL>$lprHdxd5ZX`fC(2?H1AClR`;E&;c$&H1jb(fN zE_>|=un|q3zS(>7*6zi=`%G+$H{kkz{fFYtJ)10j^W67EzOP$Y3~rg4NwzVgsOifk z)b!e0dhU_5gPw`e+qoX-?R`y&kqx`UTa9Krgm7MmSGk@SyS%(iuXJK! Z!+Q{`^a*FFTA7ah|-l$u|sPGiJ<0`jWkRzRXS Uo?0+9D$#&mGDrGEvHwm zpU^X$bY|}pfw*?$^=|bHI5eKS#yS|87{jA+e4X+BZufjsli9HXS+v>8_l|Vdtccg{ zetie%Gs?*KpWAM~Qmeu}cmJ5ij+^9FofDmBu=C3cg4$61PHOuEUPki#(y!kDos4{I zmOo|c_eVtfbNRcs@;)9(c`EPjzKrvT%9{+cPqkO)NPbt$lxM6@IQPM5+$W4>M|0h~ zH!GSsBQMhgM$MQ*sTuCkbs|&^Mck@Htu}tyN##GuV>3^4(9xEeok(~8Y&NZ0QcTZ3 zzM3k_0*|2Xh ?OuV>?uvNUb4jkqdNbKLal@9QqujLgCrTpQewc!2i z8SDU$0#laJt2d3{DV)U)uzPqLi;Xh*#ly}*BsIFl$q%GQ*(1lEP5vE+k){`+>X?~x zwNEd{4jrH!>sDxWi8Nm=6aFtnMlG@!B_TOQo0eL_^LfNY1CItSW){8pAt;NdHjxL( z Odiyqdh#*9Y3fz 4nbZt#bmU0 zqG#%v2KH1QEt3YE;|sVIxVVDH1P~GUfTX+>s_`e5wBPW4||5bfm}EQ|cKE&N0KF z8W}0uRaUFKdT<5AD{mlEqtms{LVg|yXEdR2eir$F&z6yqNi+DlGnkDZ?-r|xxH^#M z+q2JFpyeUy4<6h{yY}n|mX)dS&OSelm6U5+j$4_NM~uof7|5c {`g@toJYcH?v zygzk+4%Lh J) znOZhS8jsSCw*G?lGz1ndR645k;_6+2e{Y&v-1QXkXy4deI@naIr%@|6=UquTac=J- zJ8O5->Y7bzm)EjST&}*os?z_xX>HABD&;!oCl1iWv^n-nI?~+wu~1L!v+}nC&(IzD zH&L7=ma=2BeD;RFY4-Q8v(trtWJm!5CoX~6r=F>cTGy^!L4Wz{BVGq9A9p5Cp5YaS zjnD{a9zEj?&$Qe(Wb`Z;S}vi->dxiaXP=^rTASCdr-r}()9b)2eYvl2vU{MT*ACfe zL$_%u$d9TJwxy