From 61d7433ce04341aab6efcd89c8f67717f67fa7f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=9D=82=E6=9C=AC=E5=85=88=E7=94=9F?= 

@@ -1710,16 +1710,16 @@ List list = Arrays.asList(1,2,3);
- **ArrayList、LinkedList 和 Vector如何选择?**
- 当对数据的主要操作为索引或只在集合的末端增加、删除元素时,使用 ArrayList 或 Vector 效率比较高;
- - 当对数据的操作主要为制定位置的插入或删除操作时,使用 LinkedList 效率比较高;
+ - 当对数据的操作主要为指定位置的插入或删除操作时,使用 LinkedList 效率比较高;
- 当在多线程中使用容器时(即多个线程会同时访问该容器),选用 Vector 较为安全;
-## 2. HashMap和HashTable区别,HashMap的key类型
+## 2. HashMap和Hashtable区别,HashMap的key类型
-- **Hash Map和HashTable的区别**
+- **HashMap和Hashtable的区别**
- - Hashtable 的方法是同步的,HashMap 非同步,所以在多线程场合要手动同步
+ - Hashtable 的方法是同步的,HashMap 非同步,所以在多线程场合要手动同步。
- Hashtable 不允许 null 值 (key 和 value 都不可以),HashMap 允许 null 值( key 和 value 都可以)。
- 两者的遍历方式大同小异,Hashtable 仅仅比 HashMap 多一个 elements 方法。
@@ -1727,30 +1727,30 @@ List list = Arrays.asList(1,2,3);
- 两者也都可以通过 entrySet() 方法返回一个 Set , 然后进行遍历处理。
- - HashTable 使用 Enumeration,HashMap 使用 Iterator。
+ - Hashtable 使用 Enumeration,HashMap 使用 Iterator。
- 哈希值的使用不同,Hashtable 直接使用对象的 hashCode。而 HashMap 重新计算hash值,而且用于代替求模。
- Hashtable 中 hash 数组默认大小是11,增加的方式是 old*2+1。HashMap 中 hash 数组的默认大小是16,而且一定是 2 的指数。
- - HashTable 基于 Dictionary 类,而 HashMap 基于 AbstractMap 类
+ - Hashtable 基于 Dictionary 类,而 HashMap 基于 AbstractMap 类
- **HashMap中的key可以是任何对象或数据类型吗**
- 可以为null,但不能是可变对象,如果是可变对象的话,对象中的属性改变,则对象 HashCode 也进行相应的改变,导致下次无法查找到已存在Map中的数据。
- 如果可变对象在 HashMap 中被用作键,那就要小心在改变对象状态的时候,不要改变它的哈希值了。我们只需要保证成员变量的改变能保证该对象的哈希值不变即可。
-- **HashTable是线程安全的么**
+- **Hashtable是线程安全的么**
- - HashTable 是线程安全的,其实现是在对应的方法上添加了 synchronized 关键字进行修饰,由于在执行此方法的时候需要获得对象锁,则执行起来比较慢。所以现在如果为了保证线程安全的话,使用 CurrentHashMap。
+ - Hashtable 是线程安全的,其实现是在对应的方法上添加了 synchronized 关键字进行修饰,由于在执行此方法的时候需要获得对象锁,则执行起来比较慢。所以现在如果为了保证线程安全的话,使用 CurrentHashMap。
## 3. HashMap和ConcurrentHashMap
- **HashMap和Concurrent HashMap区别?**
- - HashMa p是非线程安全的,CurrentHashMap 是线程安全的。
+ - HashMap 是非线程安全的,CurrentHashMap 是线程安全的。
- ConcurrentHashMap 将整个 Hash 桶进行了分段 segment,也就是将这个大的数组分成了几个小的片段segment,而且每个小的片段 segment 上面都有锁存在,那么在插入元素的时候就需要先找到应该插入到哪一个片段 segment,然后再在这个片段上面进行插入,而且这里还需要获取 segment 锁。
- ConcurrentHashMap 让锁的粒度更精细一些,并发性能更好。
- **ConcurrentHashMap 线程安全吗, ConcurrentHashMap如何保证 线程安全?**
- - HashTable 容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问 HashTable 的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是 ConcurrentHashMap 所使用的**分段锁**,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。
+ - Hashtable 容器在竞争激烈的并发环境下表现出效率低下的原因是所有访问 Hashtable 的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是 ConcurrentHashMap 所使用的**分段锁**,首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。
- get 操作的高效之处在于整个 get 过程不需要加锁,除非读到的值是空的才会加锁重读。**get 方法里将要使用的共享变量都定义成 volatile**,如用于统计当前 Segement 大小的 count 字段和用于存储值的 HashEntry 的 value。定义成 volatile 的变量,能够在线程之间保持可见性,能够被多线程同时读,并且保证不会读到过期的值,但是只能被单线程写(有一种情况可以被多线程写,就是写入的值不依赖于原值),在 get 操作里只需要读不需要写共享变量 count 和 value,所以可以不用加锁。
- put 方法首先定位到 Segment,然后在 Segment 里进行插入操作。
- 插入操作需要经历两个步骤:(1)判断是否需要对 Segment 里的 HashEntry 数组进行扩容;(2)定位添加元素的位置然后放在HashEntry数组里。
@@ -1783,9 +1783,9 @@ List list = Arrays.asList(1,2,3);
**Hashtable 与 HashMap 的简单比较**
-1. HashTable 基于 Dictionary 类,而 HashMap 是基于 AbstractMap。Dictionary 是任何可将键映射到相应值的类的抽象父类,而 AbstractMap 是基于 Map 接口的实现,它以最大限度地减少实现此接口所需的工作。
+1. Hashtable 基于 Dictionary 类,而 HashMap 是基于 AbstractMap。Dictionary 是任何可将键映射到相应值的类的抽象父类,而 AbstractMap 是基于 Map 接口的实现,它以最大限度地减少实现此接口所需的工作。
2. HashMap 的 key 和 value 都允许为 null,而 Hashtable 的 key 和 value 都不允许为 null。HashMap 遇到 key 为 null 的时候,调用 putForNullKey 方法进行处理,而对 value 没有处理;Hashtable遇到 null,直接返回 NullPointerException。
-3. **Hashtable 方法是同步,而HashMap则不是**。我们可以看一下源码,Hashtable 中的几乎所有的 public 的方法都是 synchronized 的,而有些方法也是在内部通过 synchronized 代码块来实现。所以有人一般都建议如果是涉及到多线程同步时采用 HashTable,没有涉及就采用 HashMap,但是在 Collections 类中存在一个静态方法:**synchronizedMap()**,该方法创建了一个线程安全的 Map 对象,并把它作为一个封装的对象来返回。
+3. **Hashtable 方法是同步,而HashMap则不是**。我们可以看一下源码,Hashtable 中的几乎所有的 public 的方法都是 synchronized 的,而有些方法也是在内部通过 synchronized 代码块来实现。所以有人一般都建议如果是涉及到多线程同步时采用 Hashtable,没有涉及就采用 HashMap,但是在 Collections 类中存在一个静态方法:**synchronizedMap()**,该方法创建了一个线程安全的 Map 对象,并把它作为一个封装的对象来返回。
@@ -1871,15 +1871,15 @@ HashMap 会动态的使用一个专门 TreeMap 实现来替换掉它。
-## 8. Hashmap为什么大小是2的幂次
+## 8. HashMap为什么大小是2的幂次
-首先来看一下 hashmap 的 put 方法的源码
+首先来看一下 HashMap 的 put 方法的源码
```java
public V put(K key, V value) {
if (key == null)
return putForNullKey(value); //将空key的Entry加入到table[0]中
- int hash = hash(key.hashCode()); //计算key.hashcode()的hash值,hash函数由hashmap自己实现
+ int hash = hash(key.hashCode()); //计算key.hashcode()的hash值,hash函数由HashMap自己实现
int i = indexFor(hash, table.length); //获取将要存放的数组下标
/*
* for中的代码用于:当hash值相同且key相同的情况下,使用新值覆盖旧值(其实就是修改功能)
@@ -1911,7 +1911,7 @@ static int indexFor(int h, int length) {
```
-**hashmap 始终将自己的桶保持在2n,这是为什么?indexFor这个方法解释了这个问题**
+**HashMap 始终将自己的桶保持在2n,这是为什么?indexFor这个方法解释了这个问题**
大家都知道计算机里面位运算是基本运算,位运算的效率是远远高于取余 % 运算的
From 6ffdad49c1e886db997deae7dba5fdd0520c59b3 Mon Sep 17 00:00:00 2001
From: Frank
-Copyright (c) 2018-present, Frank Lam
+Copyright (c) 2019-present, Frank Lam
@@ -422,4 +422,4 @@ Copyright (c) 2018-present, Frank Lam
from zero to hero.




k)jMZ+}kPWT!LswpD`XK?1{*Uf3K+Do~WuOqWeQC|V`<+Wa#~Eq=V`wE5UL8!FSs z3JY1@2I&!tYIB{`OL|NQSMG*xIbbb*)L9apN9O#%yG99qwRnc)^b=3yKB2_!5#16!&8Yg`y`)}w9EoX@8LS^_RylO!m}u^kK60vEKQ7*MxHK+vKZd(=MWti!!;e0 zLoM)aBr}sGx9=XYSQm?2pTTuJb0#HpWnGpt@yrC4z@K~Jh$umK@;xp=?5xs4nJR<1 zVV$eDx^JYH;6N{^ai9(;E+08f)m885>%TnV;IYe4F`t(4N@6HBS;nO0S996N$4_GF zud b2F`rJ6RXG4`gWQd$<9E}~ zz|1IIt_dHLpTakpFTp@%96CIy^qNZ!*WeHqnOtEQ9;A1?8KWKYtw^HP%eG6^{k9z6 z?6q=1l&G$)DW)Zt$mtR_sFS!<0&AO6PbXuQ(`7WgZ8 o7)jROjhJTnK;_U8qc{NT<3WZYSU2GE$j2CT+}Mr3%+w@$%0 zXSmPe%E>pF1P??*P m6`YkuWc$?CU#dbMiFzi`juE+U&*Be71+ +`_I~})CynPWm8n%!`>UaAC*BOE*_TSQV;jdJ-9XVVWT3#e~Wz4t496$vR>`kwb zZ@By0;Z4*-(T5e$`?L$ zs-SkI00Ky5C75X5@%n#`jV}qpL*}xbN0UY%MGX!d#?iyJReKh(%@o9 zP9590zOWWxR&cp=m2s>tPCGY8WtB*Y-HzI{bq|>?>s0_r8-sQk#k_r7)BDkqk7m^0 zcrPnC6yD&Z)KHgh{0h)(_=kI{7-EeYo`Z7~t6n5w P{vhFd$= z7zJ|;X6>g_N5fVxBeT`l4?e6Av2*oOrXwEe-$Tn_|H#Vnd&tsOO*4$;51aQ6>U^zA zS*D75(zJ2Q;L`x);iO5wU$b-l+&S}tP%s^_2E8U*$V)#1c}#BHl0nB=;b(p|JY(O7 zCNDW)4jwNoVtsctd5&cyc~%zhO=6aYyOHRSKhSV(! 2Wch`ovfpk6{o{o}2f;q*( zjYWZtwRktP`j4y1(vDI}U2iV!Tsu2w)P?n&oA^_uHI^UqljtNo(&fy>Hh8`+{CB1= z`ehcjKvxZZbuy 31LR>^k >5=XrJPku T8|kaa=RIvutVK@-jO_H^nWyXFj`cGY-uU_2BNG?19G3txrDrkD!`K=E0a*fV71 zt@&nJ!+__@zPRCPYcJ$6E~(A3*OmX+ez)%;EJt5v!*d0~$<-#Nd>a(v!NksuLSqZ( zuM7NfWu$K+YjdPm&h@14i~%nTnh#PjJdstRUqy`?NTeaWr k1uw@YF;Yz$Xfi;H$lXnobWB*Xl7Kk^&)Ac#!g$~ zKfbr5dg(Ub4Vo2MNh;M=I?K)hTK4vpSBq?u*#Yw8sMQ1uVAh}UwM^h4?|UUo3Dqyl zmrC@>M+ZkWmIh` (^+w-@qvi$p7FfHI&&V$$^l9abtE{pEmCMm6b-EfsrjT- zIuV7%xw_&0Ok%vvOQ3lDiOuP=Ih9gI|CO7q`|ySXjic{i9b1AQmf&6umcV^$@*M2C zsaukW$l2{NjUiV`YI!Nu;lL;H30D9xWjnUuWJU9NsyZ%r7BWOgr=I1Di+N4eMIAYF z9qOS&WY^mjj&!rnB62=6y-M168mPpqhXjvuLHaT$M)ntstZYU)&z~?x(0QpVg1VKY zD(i6$QYl>L+;QAUy@I><>!IbMmsNOM6NeTvg1DI^T_s@o98?>e>AqlY7hRs|?yL!D z6CR1zTNDo2=bras(zcpnyhIi#d>6;fD>6wsM0Od1{Mf%4-&O;qt8|64VB>D#BNkJN zsJQ_*pMCu8z8OuMH{00}$xRZ?VYB OXK$|; zsNN4rJzuOt4vou OL@u7pl4I)UVDZ2i1tu7AK@xKwP*Ht&Z$>qgu3NGT zqdo*9hpzJ_YLX~#ogR_akTvn^FxRp|WPIxt-UuJwb*muhV_D>G#v@RQ$YoEd`2KE| zx2nKG&Es!L6jKOhTKLuFvyBt#Lk@3`zXDAIP@%lnYI=>48jD$*>5`lKjcEoIU~b@@ zn*3e(@(`(&k9TX;l}e~xx|}wiMYM9o#o{eJEjjgSv5{#4@xkZxk^4_F?NEDvXa%7x z)1B}*Q0>s4r4e)Mx>8Vc6kal;?UszPxGVZW& u%lR#QMDvA2aP9pPd_Em8Z)tSJ4)}3$HCg zbM4qq^P7){=C$nT)Yxd~8$(23(0=*Ck*T{n%iK@#(AT*qQA>sroa9CCbt6*U Ml!?e3!>F^h&a2f@b2IDH={K zF!QaL*~N=d4S2v!AOwGcBL;`994r3-A^GBoTP 5BetSnf)7>L$++nn;e66R<8}m?!BFaCFp@E zn&B4IYYit8mQ^-NbP~T_y|J3gnUy*MMXzC*-l56J=crEL37|}*&Si)=8L_V}k8D y|u>uFX_)$#VZLdO!f9%cnCVw{OjkJ(E zYG@Mm^@De@!q+&<#nvJ^HMNka?Oj`@)S -z%YIW| zZc%zWxBh7N;;go$lGNghf5IBvO-YO&BViHE+_SzexhgzCytW&IUuj{HT vi*J~9!X2Q-1RUo7|&=VGmgeqo~fu?pjDcUFKQ)o%8-lS)jLlrxd=WlmV zJ6Eq~1rz)NwB6ZR+`x>;=Wn6Y*<`0NfxZ(Uk~}-&16S=c+nhTlJhXx2k_-d$?XL)j zuV@3ve(rKR9nc^jzUl~(tHRncSjoHP`@#m!^j#N(E;~M^4zE`W+{{TZ_*@@lLPPj5 z7&7RhMx|d7Di(P^4hKjWR1LKAs2TCQ3Pj`8HDEvj>7Bo2!a+eOe3ZgVh8CxZTMO7S z{wV0XV1>*x)a!S1Lj~y~N&AGkr51LMbf^R}v+LuvW2NarmLKUQ;x0Xha*VY+I8$Pp z`GH~Y$F{qfFn!^Gwp}_nDH8A8?S1YuSBlyK<%ujJcYHPf@%_HS8O=S(68sW)v3UN{ zmw(O>@?x3BB7mT66*^dR;UzynAJ0(x;xI#t{%mHQX-T3zuf24+E&6LryI!Z6UbU1# zwbuKCVTfI5#=(1hi)JHO=Vh;hb17OMR7ZT4Ok=;jm*#;{fv*8V)8WI{7)z(^Mx9Og z9|Hiz@VXWEg0j=3&-#*J{JCVOg`hxy)U&rt8IVjU%s4lmMr|V+dSl}jW1mgbYAy14 z$j?GQ>-y_-ANOHv8B!*K_dKQWCY_}7#-a&@AQ#Vhq1TxvA-JEB+pkH(q&=~_+t(mw z5O^fE%XHnSgtBh)9M5xgb)zuor5o$afQYz;SZ;up*yrvy$->zBgF^^BcO&e5*Bz;= z3ki>PgKDdhC_VP8_?~y&HQ@OxK)d)rCc3l}tSq@IFMwi~Cv|B^qlXaaR*_oU8q3K| zmTP;J@nNfTqU*xTIA9v`gKUArX>D=47h;CcDuGr6JV`;4=uZ0b!&3B|bMUMg7Rt5q zNXT`oCKujQ_D_<6Y*VIU!`HkYfhIW$XQ*Vw%yW029>`04*_#c2`I<^icXftJW1#!Q zmtttSexU(mjR2oHdG|IH?CqlqUyY;hw!s?&b%gI7L*(hHGhXLLHUF65@TAuiCWdGa zyPdpD1tzSQZ`RtSB>8cVIhuMq-@GDo8zUfCJU}~(MB3Zo@R#F<+xH%J+~bxSRf!)z zpFsD^!UX9ffxPM9<^hv{bIxx0mI!!^_fz6W)P#p-z`b-1@o3{&h}gKYsHGuAOs|Ug z86^Rjw%#}Ky`V_ZL8Q985c?}em2}?P 7Bl?XNx@JqtiANq`Tf}dJ1($-8TH5h zt@tid=pMQlYZpE+;1C|GT1A)L%?I^(q88JMzn|4M4y~BOT1+K+8bW?9(PHA8B9?N5 zb|E>_9!+VHWbp3b!nlN-RmMAe)kqy{vvUj+1V{UL(>W^5!{o-IDDjWvna@>g6@160 zax~t9nrD;;r#^p5Aa3QUlVP=7PI;=VQz)*$-(|d2XV~lZwNTu?Uj@;sJ@iFeQ=zzg zRT19D?5-BK-SKbz2{~MeAC|xHPMl!PeCBt2nj||;y(0Y$$CTr9&yTY(rbylWKwC@f zqFjTg9ukrW8>>M==z|&aL(21S{bCe#JTYI5`+uW-T5c2zm3==YvH3*}9IN1bfpNpb z#(lIZ{G|`{JZqH-8KfusDNb{FqM$H+R&;r{nx?e|TON?p98Bl6ksL9JM|~TkF& qbXL z#S%=>SLK2{!@5Cr#`Xh{kyFG^J{Wp1glZ`O_!Cxh>@jWif>H^!Fy6ZnR>IB}k<1GB z8LTf2m38R9hNXw=E3;qHrut+6L$$j@sZ(Nlk?J{ZvbKYR5CIoqie0K6U`)FBGN<;D z(mUl|ci(J{I1TnR+Q-?+3mLc&{A2CzA?@>@Q~GM3LMUeY&2A&Nkv$GXBX2aO@jB~i8Wx7g z^z&_%$mv`J4NHf;Y%Z;AQ@z}3i++`;*nF%@@!SAXFzb{WnTBiOKvLmA0{DCLo!ki6 zyVWoe^Ix6c2rwC1w~r8X33&=A*94~;Mtx$B DiWvnVAMpWD@jRojCxE=#4v)HF?WFld+e+-dzq3Kz)eH#2aO y$ zU%9UjT}d1(%vgZ7iMsOO7u}jT iBdJ_p5 Chqre{%&VDHZy4m>a_{7a)Ywk@Ax2$dy~6yeTgB zeR>FZ*-)7$&1qtGk&3U^lu|(-VnvX!!bKp_vcnRf@TAy^Ys>(bTJ=;Kn-1)KIgL-^ zYzY#~xbkSm&y$j?--guXW1;uK23HhwsN0834DlnkQdV)QAR(6$d!;rXolJCZmPM_m z0Y921=I=p8REd4z`j~GfUd-e&=@A$#$}g&A5NxLqZKseR{l#qW3T3Oh!#y! ^C zuL{ddWICgXCnXinZJMpG#Fkpu?ISe>o*>5=j*9NsxLR&2s|+i8$BFM2n*{-z1jA$j z2J6RMGwlo|TdUao3@CdATJJ3k5pLhHjeX9nn%>G!6}D|p?CNiB)x}ttZUuwCK%bdf zx2rJ-@D9vz!rMtL>%JNZ#XGyFWCI%TXMVr~@89tp5z(5B*g8`Y7QDXf!M2~$2wjWC z3p9jHhw}|Ko_=@dumX-l{plp<-Qv`)rwbhWdPZq|JkA}}z)1y`CgPi3xCQX*BPMio z+t{9Vg;T17Be-%kOjLt^keHGMYp>?9p&0bq#nkrE1w5vK8LYt!GE7GAj3Km^n!#LP z9TJ7o$x>~vyOHOCNTPwV@d*!j^}k3Yfi2+L4cF9m4QN`_L(n*3smB%xQq(TY4mUDe zt{3le+U{`Dv3230<{UXZR&&xb8{cDKdCMqgkS|X8bh&8WpsQB3`yG?UthtYEs`$sZ zMFoMImm-r#kcp+(;zXofi#|k6p9vOO3TJw=_KpZ U>PQOsV^nw%5*k%xTNnf =a(V@p{Pvb|uxU*lHZ+{fc;?ipM^d0&qjrR@~ zSNV92spx$J19+~7EmVwuoi8*a(^_>J+=A{Cj5oi0#ZYViND-L z^k-rD`#ny6@oClo2WIap^o4Qhr?>nu+)Q;or0{2IeIaVnAYaGgcY=H-Zy9UX+n^c< zz-uzA+$&~L<3eL0*fXwk&b=LiaWi81yQ8tkf`UYeID%u6&& ob=;>_@e}LP4IgoF4^75HAyCepy DY9&iS4`_Uun&LHLpylYKO))Tuuzw%QK zMSjVcGnw-Q8a<%*Gq00`3D2-C)PtPKqv{L&^XdvKnwG*Z?*q(K-G$D@=&@@~P*=2p zMW%@`wliLqird=HPM9It1IuG-R@ai13?{PQ&gNqz!u*pE4WvbGtz`n|Idy7U!tx5t zWzKhIi;}nn6>la=Ia OaFAV@`a8xOTL+ZiPD`{}Ou=g+< zB>6j7!JI8=fo|=)(A(CSZHp1mt1+)pJ^3NiA>;vj5OnPyg}p}VR@;Hbge=6#{7XFi z!Kc$cKub^Nrz=xbx{ZMNO{aFbz{eGIbA3l>eQfxi_#+5AkG0kOXR`*NqdL!xdNXz} z`oi2CnUx9e^a)l3D4@49goy9-5gCx;RwG0#Yy*3QrL+YxCe+|P?Sy$<+Wi@k&$oHV zkkw%mwwp~4r9By z(cB#I7EretiB^}?eaN`&~SaZJP`zaM+ zv^Ib>u*`HxImB292Lic0v|UN+VnY-1xbu1+dHdzTDLpVjk7#0g%w&l~iKU33y|F!@ z^O|;P84_1Ww*4N`CCuv{*bYNNu+lhGk#WyvC(W#xTwnG^gI$lN*UqjFvFR;6i*L*( za;xF>oncKswZPVl9eA5hjC@mu2iFv<3gxebKHla4J9q=t(LQE5F2gaQcvL2SD_fG| zX+znNAF3cp*eNM`4GJ?#$f6uD;np8d+8`Ky&k*8<#dptgi5SrD?=Q@A&)|r2uzo;v zND9r^)dRUk52$mo!9%&Gfj z9kHENv-WE#-mPXh-7oOxhfGU()&vQqO`i_^T;f=L+F?TF0-L+8!Dk>!hsig>?l=w( z4;ty=bvxk)KyYGreVt|}K$ydOcxE&t4)_LA9v|V`bZCC~77OKR#I9R?%)McYcHFZ= zTNesPKTnYk(&g0Q`ar#K&o Kd4 zF$Ne(y_7AdQ>^mj$Y~t{e~Q{xKh72bH{m6~6hB$|`K6BMlQ&t2r>xMcZv}#xz5-f- zp0py9ZZ5)}H+&)kJkYDN;j)gkCXW0}bD0v*t0UnE8GvCa0pH!C!XO<`4l#1GUSK8x z+7RSXyO&9ze`;2-XKGgH^?As`_9XOt4|PSeocH3@@tft!HapVcluzUt+j?E6V$cSk zl@Q{*I7m7$d@`YWAsf;A6(4Ot1weINoVGda-=UrIItoe2Px)2PKB<$b*}`Cc(mj9@ zYY_|X=Ppgtwn3dj$qSm8Ph3Cuq{t-`8Ir*{gq1@~XL0rkX}J;+md)9s=J;2ggX%Ob zPP#0>*2(F~dV?oR{?YS{?`*?pn&D}lofE?K8jG<6%`JWWmIQW+YiK!}Q<&B$V1f?+ zpx_%q;374AQv@?1MTMdCNWU+8hqim*`;B**te bqt$MwttC-cll6kcjMuwXrU0?Q~hyhh?n;+POPt zx6sH*g7 uH_6ZzKR?DxCC_h7s%)1NBq^j*aEh1Mv?R}i3 zg-LS$CZmH}GBZvDj@)4GuOymywspl*hnJ!uV!LG@q#*?)Sb)tW4R{xr2+^?!d#pBe z1spGK)-2~z{rD6JwXKccafidd_JjXOnz!Sagi#|Mz=$*%fEcnTEC4+}mjliCg*G^) z2bPcgW^&zO>5E~x+}4~VMRk0`ZerU`1M~GpoT|ftlWlO)T_$98pe=kDitFBbpZ|0g zSqpiKpFjuR^-G|E68T1~KO2~a?LtJV4xidjgf_Usgcg7#Aw?U!*5|aoE{9`|-HEsU z@< jh}VS+mVjBU ~LKqvesMOY kpR?q~HNVzjCAFGNd7!F%^YkMOSVS}Xib&YhjV zEIT`SzRZa+p15t}TX=nl{Is3&&B13NY8WnuAg TN!-p?H9ns&idp`t}U8O9hKe?zu$H&_473%A+I>s}r&!vR_ov*t*2 (3#DqG6)vk0Uh5R&Ft@ i>-1 =r RO||b`+uiSk zM>rQ@6(4CUI;dP^ysq$p;ucu)1jeG@OM3>H9XO%1R4C&gO!X}9?gJBB)8-AXj5_uX z&l5%Vb 6#P5>2AE<#a}F>wD#Jw7|v^cwQTDf%=vjc+!HlE%hs2cArnE& z+-Ag`Ac!sOsRtKUk=L##fgl^Phg2hTSsg~SO&n%)wZCbynGD+Ci$&29@7tv;L_EKs zNw_$xrMvvj-E$ U74-qTWwrOBL>Tr8l9_Lz;U(xtQUra6Ix0a z;CD0j0_llY`yT!}Vc3-B LRRnDx9gc|H}pP zOJjwTJ-WSIp8ok&QSqSL Vk$rNfRAo+m^t@<<|y0E!Da)em><1h`g@0g5{U%7KARbd=6d6E53l1< z(XG4Bjq{dH&{B_gV~eR<1Z(hHS)Z#
69iCw-pe%f7t zbzYIX^)n)JssJB&wFe&!5}*xNAv(n>4(gCoqwRc=k@vlp0DrpvQ9K @cui*Lenl-j7Wg*vy;=5kr&rBZ zm6J0-k80e+>n_=EJ{vp4F23t~fUb$Oxxmyd_zQcoL~flr8mYbugj!-Q@2?3iLXJos z4BM#4*q>d>(?S}_mFC@)mImJuk5zU^N#Btq?Rtw7#n~yOyQvXwlt!St@vHXGjYbkO zJl?YfCnr*Y;LHxW12`e*JeXbkNUCHj7&yrVUS`F0Rw|4i=VsJG4V*^s83ypgX%Hop z_w59~(0s8`>A5n+Pt7dH?k1P8=dA_4U-kDrP87$ileg-t!9^kY)5~H*CoJgzhPg*s zsBoK_TCpo>`SA^Igx|tMSq83;$$4}UG@L8=`n!Em>sMCjLq8LA!P*P6l9*gK=(=-G zF6jcn$>AC0udC>6A87#LD)gibi_|J*EBHV#OrzkeFqKiq0Y|7h^uTFKQ){?-r6}*y zWqQB>;+6T6Bro-e>P;B4p-ClsbFe;BY}l^ZeaEsu+USaev|XCWTEX+oiGf`E(qxj0 z&*56XLV{OTHUzVemhdimpYvKhIv`x~4bz*E4+0;1Nzs!!#Evh#9gmj^5Y`HOTQRxr zG=}cp;!ZWMQ2RK_%k)bYy$|oxmr9Z!$Gd5yzz6Z9N_L Aj#=1G_?a#(y7YF1QZ zXTD;J_z?&;B#E#(uzN{`xt2w*d40uHLE_-NM8KZy)RLN%4k=u%a`Pnyck?BKW~TkX zrCuN@gb>R9zQI1iicXXpyPVw{b<55nn$TP%@WqtBuh&2(6d&^JZDPf}NwylR!Kf9O zke;6_$8!q_6J5?R14_-4xk^+JG^~c$2SUDEGTH4{6DWI`L7FLgm a{B*GI#9S1HT=K^6CEbrZot}H| z>Zo*BcrHf?SUB%oK9M7g5NI66l|`~)T^QHBW{o8IR!1>$#s6+c#d8;l@9qwYE@~^H z>=Oo}m7!MP=CwFIQ)Oh-@^$nYi)ATR(l&Z=1J)|K_t@dx`UH5$=W8ULi)d&Z8AHKF zP=75*-8GqP#?v?xgt|c@Q0qij7qP})us> ~rOrtxBDuWUL&Ili#tGyHc zYhH0K2m{YjW|=ZaAFiO&@{ CypC+tY=)e|T@fba|gD z<7$KZZb_B5HDc>yOkq`cEgj;-p8Ml9(iXmox%v5WWF<52RD(~Pt{jhLu!xCfbGfuE zMfJk8dn7KEWAMP6R4qFzsR)yNgVbqi2#d-cFrn-28q4+VyTTSzi-@HCwIqE)x?Q>U zDr~i7H y);Xl*7hlAhweo9UYCegzw z4tx-cYGDOPXT=>Kut;=65Vf`9&4L9!_B5w~(A26o+!Vi_(oT^TYE1hC#ue}cd@~C6 z>>4TprMJ{JkLEE2O;#(dgpz%FlYGSU?U! ZVL ^_R^yO`4Moyw>d}nv5bGgKyAoW|)eJ6U`#n@9grQso$!&GB=gOsct3V$}uZJ$h zHQMT1Yz~(em8Mg~YvL_-2~%w5 6c0kinRPkAwNnbI87yr|=)(0-rmRI=PEo@{4yz z`)nV&h{x;rRzM&4$&NYa$Pn#wt)w1sDBC+yE`NDQT7|b3-NS+4y&wkk(GbGK)y st%C37GML zpC|{8INMv)wtok?CrB}EPneR4M+0{n#ylv Z}XaU7*n?~u(=lj#`UhO7ET_BwEgb%Ax<4gvEq gLzxhwChA}Q9M zI?D=baq_~_z{(}^Nd0NtHS^G7yGj!UmSD-xp1p!A`U^FIABRlP4Gz!P%5(WlV`aU# z3IDaWq#Z`@v=SpEx!Cq9!^><1&bw63Z%50Y%?sWqHs{RO7mYl@R6mF7tec6uP{(dA zes7M5K7t9rI8$`f@fe}G$7wqocS!Pq(hq90U8%`EnT8R4O*18pxenBB%W^9??0cEm zH`FO!{^Fe$fv>x08MZI(e$U`&1g`>3CKqL+m=0D`!w*WW8-eTS9J;SWETf>DRsR!? zrYmeUJC-Yjom=p*R(CE*l{QyXu=51Hfji+G{we(HyMmfNze4l+4aGsmKP0N(;P8Ch z|5F+0+4{kpS`*l@O&6LS)xLXtcVc-9!ae3K-bW+dscY)Qcq&GHfhSch&CBy#btFIe zwu;!TzwP-Hj@@>terLDIxjA{1U?7U+VDr>P`cYofQ`VpYsBLQ5>KlwU1}#dvt#>!C z6dxqr2V+nYouymXG|4s-bL|u>j;SY`&0pzg4A>iYC15uKiD$~tNaE{-%l793Z-J!V z-PFN^HTRKHzkPSq>($pmL_|KmQX}E5CI+$p-0jK3{z>)*==GU)@O(nI$c*a4&@3-$ zTop@ 6sSl<&VwbI{pD51V8>371*UTXJ5#>w!`=x;+}J5#rBPu&Nt z8!ZA4gNa9oCrv3H!Kj|--1c*2QlgMY#&aq&Kxeh&H*pOo0+ENzebWNa2_;akz|9u< zAFNQO@>BFQr+o2NC2)2&TerVv?zFSp<&0^i)R?^G(nurZz ?=2SW`8jJ&V6@ohd1H+@@lqL0k&@xGZ|dN`CLWyoBHms5$}`+N zqSAG`VPaz-h;OPcTU^daJ^XhX{^15?Bgh?hQc#{;4I{YNGlhmUl6Urb3KfoM3IqrA zAOp1@tt~Oo35@=_{;VFv`6(;E{f!b9SzZ;jUbCk=l#ikwr#`~yWdjXPsf8M6gI@Li zd-91YUS%}1Vrxhw-s9pcsi)M4+XBr`z4TQe_53d$k`Rx#f$(YnP=C^{!`2X!In$m- z0pdF8{PTa^r!?2$_?Y!+XVV_yHlN0`py!y#U}my5U{tsJn5No1M-P1Y&3WEgEvb6s zynh^C@cK*HuB2}0H{|u((sr@{e$f(5AIhiC4mVy&DF)9hdpz~~E}Ak^wwAk2k0w_n zj_Z8Sm<>;^<>H4an;*?y5DE~@5Z>TlG5*{$!glM-DI@qGXj9?#o~A)90Zj@(gElk) zq$nI%oWs&|e-nsrh*P?6nmwv7wWGeGLn$I~8lbag9`s(t!s#!t?Z8!jD`bhq(*PJ~ z-UCJk%EAYEzAQHo`{)yTNZ|ra@99Bq=3yhq$>8npVGZnU9s=T5VxN9C&sLS#OhYp> z?#sqrFWHP4f @mSf`;Cas~VQ=DQaLeaa=^=m3d}y_{SnSmjDD$*Cs& zPMOE6jK9p~=b2g!xX`f$A1RKk(u$MaoDf%2&D1f(`p(r}!<**ScQ5z68MB3=_a|ML z^!c#RjGu-U64zTX*CA}s`=1L7RqNOFRpTl1vTs@s#U~c(l1{EP8tnyw`UFco*_^&m zqT%JJ#> FtdoIwOOsUuC-@_%^WQGvl?MeOv=Iyt zmY?1R0csGxV`w%NF3>G$mnq71$@$r+j}W82&?5(5YM?1CHA*SuG^`!+C~3?4LNAKH z1smuV?PR$evN$OVJ%`2lptwBGog&|3(ZT$28i#&mW_8+*JkXtIRj7D97Ps&GfJD5A9gHgzu(kX z>-~VH`5t`O=M}Ze-)@Dgx!-Li{;I7Wb=?#ntqm)yffjoqKD29ONz~oKWLP*w OV_4pj @|7R`J-3#b+m9EHrhlyEC@gnZ?;8q zNIcVi_s}{!q)Bh_GAN;D^Cgo!*6Mno*H;V}br`z-WVFRZ?+}!mfH}}+Z}U3`* h;jh?Z{eXn-6E4sY7>v?8M w_$!4#cjL5dq@v$GONEohaqeUp9mBY?$P{`_!{(g-!NES`C61m#P8QKL8Wcq zb6^x=6k>vf!i!fZ1D~yv(R_*8O9^WzeR~sqkf4wq$-^HttFh}qaal0^xTP@2sqi)| z4ImbLtCn=_z;3#r4el{W?M{!w?`+QH^dNCku+3>Ux?j;|+qKP_M~8D(eRV&F|3_Y4 zZ)kuEx%q kLAg#r%uXCGm{A$VvzDvCCxiPsv EI1I?t^iryk}@*z!s(?KC7 z3+o%wz>jA$2~Y1vLG>>FIR4_8Y&h40uD{T5{l3`J=U<0q2maF}bQhO2GxOft*WI%T zWDw|fnUa75{o=An<`w3AnAljDA>e>00%PgdtG-iC?-HCwEWaF!6}~{cH>%OcNA2hB zx&i$7>HThw@ZyU3f*R5Hf?NFn+`kK=B_mPRW7;|N5VoKz&ASUI< Am7Sc51 zYP@3%HLAS`AgCyKPpaSE4h%P5G1{OZp 5wmbM2(495K zV1gd}0F?P_yp?pBlR$eP*5W6B`qlrNig}lF50KI-7_!OeyZ#-IF8kH?l<&?vu%%)i zF@27bS6v$^b^CUaieMG#@)sr4s`>Xg+4B_o{Y;8o@k)G4XVFPwD)f)^$$AK*euFJ! z^R-#xLc0Zf8>38ku9a0rqISr9_ga8KEcI*MP@?w2-xOtx!jCsOMzfvN_G+fy((=UD zES--Lvl7oPifKU-Bz9UU^SD0M-c+Kb8CY&-H^Wa=P}+l^vA{WS0+dCk6Zlo5HJPZP zcHlH6p6+bd0m8_hWv!4E%_vkO@|xaL#ME!^k51x<0@~nfI$cZDNU~t7>y9=2-Rt|M zIqaqt#@=D*KF5z619_`IbplY22l&7rn~Y21LZ>OAnJMiCvF{Q^IXm&5%NX0U#h}V( ztNo6AtL@@%4x}=QYW8osJ|q}$Jp!t>wl&w1FdrF}?{}xCbppe1=7rBF{o61+p8UuM zNtQ_Qve7(2U)tkky~yK+|1N;i{cqUw%B;ExU9wj*lXQ*ediM 9xCzZ+f=L0wZy|BH}@Q$)6+!7ecC)kfXr{AG}mqB_bqj&ri4^1u2 zl7s})B3SoI+xY|1x{j3$2+uG8f ZTWHv`d1(W(MJEGvYBd}4c!9d27wXs0A7-xf+gAeEkZJ%9-_JKWj(Jo_%@0D zRqAQB>NZ-B wrRv2D@oLeJBIn^@=ngV8CUF)3*VsHtGWUVSUI^!sqFYAY6<8{4 zm7^OY-KxuMpMU<3B;S{=sLcoc;Ha_Ky8CB?8XBUJ?kLiBg3$9Ypdu-(-kX`BChlrc zDpHS>X0}a3o2HIaNcI=1Ich9|eq})3)T~b9zs>9V>KJEDG~3SvhH56)Rp^abR>* z?X^zq)r)^#gZYExG_~P{!W*D+STy;l$Gv0>04B&iWgo ekX6-NE8B@EXb!kB+J)g#P(L-JiX@&e|)qTepxMLL4}pNd4Z zMX1(?w2{9C<-e&)>oWC9;BJRx6C1~LW8~5@@Y4)ovXv)hN8~{$e?I4&Yyx{)q;$rF z;#6+l6et71%t=yoRNhfkn&)~aIgpv(($oQHO$!(XNFhy$8fjLm==PV`(eUcOx`sF@ z8cJc;tX{9=- #({K$|^7y0bER$3=T0}_oy9EXm$f6>HgjwWQ`zXGFYH*QZ?9Fg^ z3-l||7O?r#r>{iS@y$TC;JSg%%ozNhVt_ltHm-CN$<0ffqqj(QqYLB8l58vxrmxYA zURiF+anVtQm3 (Fs-&K{h{yotsxA=535(mh{;1?b9A%CgQ-$FhgpBa?;$(^Ub zuwdE_$DELqgh*eXOds717STy}TSL07_F#e$Y02z5@ai_daCC;mK%AIPmEzV7=d@la zN6veZU5`UHKDD5jh0z@UJe7u!k66yt^U@LPO^&HpA*<~8g0*TaS~&8*MikV|%ZsN$ zANGtuWbezDZ4Qbni6Isf=Ah7mg?75}w%%XAB`fpQNpA0l2;nF7su&$IqCIHh0uUB| zw-YZ3u!p9{QMZyVj@OT?{JLuhN}JDmfh=49&T89fEAHD^N7a|}t=~)*XkD9r1)bo4 zZ%=TTutfaOq=xed>oF0`>OkP>rmT8dFID$)&6xhBgR>?TYVj6+e0^x@9eV3Ik8RY^ zj^kS%il-7m?l8$C&K)qw(>e%+wh=+g$8-%8NsmT6d@gy5x8qv8?-|A1EyQnsr;xki zdq9K7&N>0wbrN~HvE+kqQQNs1Gem%|_ogLrP;HTRY5rPc&SGg`7TzFNO(`JW@c7^Y zA2chHv*U 4{bt$a_^P+~uDpu4G*V*vU{NV$9#8FA-3W3i_?rVb?dm|+v2fa- z|NEGJlyFVRh6A69%d(DlxoFsKGj^nYXzjUP?g;srkR1t2x*&@mAB)AEzXM+z2;xm3 zhUakHzrJeep~ccIN^c+Ge8a=!4HU(<7X2FwJL3A%MH)G!TSs3Q2)$IOy4bEN8})x# z^wozn!)o%h@DX6+jsn%cf2HS~KWWx-C?O!GZ|t7@8?>QS94oZDe99>`^ltitJ4aIi zFUW _e~L-~9V?OW!oP zQ~N{lbWusdOAgI%HY2m!KmFbZt9ATJe)MnHRO ;8Pr;hQ|a>N>KNDw z)izT$Rst;TRLuU!x)8sy>LZA()9p>tP!%9qA15WJF-M=jMzHTQIGgat<>LqTz^AUB z4`fz(>A$yt1V`l<^u@)9+g=2Ys*1kibzqE-D~n+&&F%Skve-La<#t`y!00u`nEgAp z*PSHs^KjenF53KSSswlC8QwKp{X9vz-yNc?JFNR~>K*Et<7BMo4_r@|YwFseE5hk$ zuy~gHHd{HgTfBaKoFKS{NqV(U+l)gr`kD$rf31bH6iKPp-Ia;v;w@!P_<2yYIOxm4 zJBzfaoQ-G~a%RMbnw!Il(>F8O94zJsj^NRAWYO1ibPbyI8cO59io=xqiZscEt(Fsb znrLx_ ZwBEuoZg^tpnNZUR^*8tq z?)Pi*S?)zcVXR@fv8w`~ASYPW7`b3_!SrpYjXtKRq1NYF{W+h=>w8Nr==ek!o;aAH z>cd`Q>6d*}-5i$iM3}Pmf@>wQ{j+f!o!AO<68lh`qSs9HtA7utk-9FAu{22^c9x*Y z!-WTWL^m{7=cA7M>w`M>6sUWLDHq~$(F(6M4J4NOa|xyDJS2?w8CMmGa*?5yalSS@ zHT)v)c<0_OLX)1%H^v_VGQyUrp;jD0PLB7#=E{YG!fdTcOWpD66p?^C(H+XInRQ4( z`7LjIX*(p8C5QCY3B52>eU>Zt{SQ{S#9yDT#dqMmF#c()^i!OJqcUAN<2l7j{@X39 z;vl>@hM(p=b%?QF5VU8LvnGAr=DGqc)WrqLCf%s>^co0cHx7%+^iQIm-)1uWZa$O@ zFHZ}v;li5=AcBQ(Gwm_A H=Nr%gy6ccwn)%yJjz^fKHGV3S z!r!lw=HNdTt_o1dE5 y(GT`wp8!yI}kJxO#6Fqk!w(F>5iD zcl1P@NJ-4@>Ef~wO 7h!0yU{u;4;Af=Z Adm$Kqw4{Bx=3h-Ia8<*i@v@W$>}9@7!{Of+fO9-S(_l6X$0 zTx?r7JsT~{8R9cwMfls<=5~D`Qy=ZGy|fpxY%|X>TW4GaFFH~x?jEW}BHlPaocrjk zD|ruNTfYCjtVREcCqrwa!GhjB>K~uI`bkjOA?LLBnaKGvGCd_*Aj`y@r$qtTp)2ku z&P2i(A2~0dTN%(>v9lm_E_KHZmyoNZ+{B~_* !sVIw1}8U`032ap3G0Eu2PQb2pw;EvJbXcVUNl(Z;FVGy zyYq@~kzoCEua|oT;GkjoddlhY5p a;~wbp2Y4>(0+M8%|@uus(2^ zsu8nWq2(qQfTl}MT+Zd`*FQz?!GF}Sf6W}*(nMC#2!58sxGq3s-PtZlBUXBHR9sx6 zTu_o-AJB_UXP^vzvbjs>ok?@`y@DoNOlR@ypZIz3Cw}ty@c}JCkYQefkk{yUm9bmh zd)Y P7_ H-O+*Z`O)V81xBG%ad{-}r9x}8 zcBSo{;~kzAW~;a!nhTy)Gs9gpP#Z?NW*!FktD)0gX`Q^Dt-xiinqiwMtkZv?8<5(* z
WpXI#mizY88P(@h>ppsIufHC zG%@fUwBy>rO&t@$H$O&%0ZjHH9ZthHKAm*a&RVY?e8D^+Aeh5oSTptf!w>o|7{vTx z161(};-M|Zl30gyXeXU?M7_5N?~G_~7DvB1gc$}J%(X9p=uc&MNF??WA NVE@st2@-y*Bd2p+DBh(kmOO_9IMX*Zinu1#BrRpB3{Sb1Bs}-m>$!L zeyPmq#HJ0D{}QW(mYM!j{2$KD&23uRtS^igaW{#psfw7m&>FT^VWn|x7>d@M>3*Iv zj3|WGlZv$xAS{9%LS&oVY=%&BiNa#U#>ig!8Y;gt<*5g%4zCa<<3LZtMOiOJsA5At zjIgh-pobO`Aa!IpeJ{9EdUUTkz;GpFjtt&1RmV9^%VD^2d+L#6|EuvLH_lz~VpRw& z7c{C0`&jyjYYZj(?Z2g|5L0VgX{RmB8uI8)-fVqfE?-WZ+Ccp>Y;#&&5Jn$b5G9uS zDclyw*`tpz@{9qhcs^^sk|iuvM3@yYCV*Y1jvka`iASR_E{Cu9cucE)Cu+uDI)A_2 zzOZME|7!S3(*T;VO>!r4P;%ol#`|=LD8@#OxK}sh
>hnH U3nbbLMc;cbz Vc>%8nF$A}HTGiXt^9yq7j zVA>g)V#D8?eExjo0a?<-wk#3ui|ae_m+I*L_xBIs)IndSB=fkOGbtLI8kNEx ?ooK#kWCl0UcP6P4*wk4?Uu1PNKrNj2K9?{7LlY+t zs(mP`r{1LSQd4Ehz5lQg;T_Z6k1blNe&?dWk&Mbs_5BlhOsd<~|2Yp))@hzuvX+WC zqc6XClPau#0md)mRAVv_kXGW!hkHt?)-6KAjts~1R^PRL$|dlGCl^ Hx zpGg%u8LT}RQq1}tHzW557Wzfw@vxSNlP_9_svn(Hu>SPd IzxBPtfGPbz$lc$KU^Rq4-iPoUMMq|XF8WOPAXvRY!*YzzU#LD2bvs_IO zPDaT1TTWSx_)LDT_KDWB)*Iveprjt#l9$2?Tu!OO{beO%jbnu)XZsRvh9B!>)9|h> zJhHvd6sZ{qi}CK^TunG)RR>xPnGODUIZv T$s zKFcS<1NF;kb^mZZ3twjpauK$U7TMSKL>9;5YDafQ*@QC@^(TrQzK^^@{$n!xjN`vt z^u2w&m1GW{L}rqoDX2^w9t*BFiJcxP*&3KsUcaVq8CQEEKg!%ujpMhqaKL5l^?2=c z5SRZcYZc$KYqXYZ=$84kIsz(fSDRs?)Fdw}MK(Oy=Ffj0MNt%EX)P!HgeA>0$#?G` zx8Q^^Q!DSF$lv`w;G@}yq?wS_cXmF;k(ljK*6XOQiF`4jp^=h8*Hz&gp2N#Pjmu{r za=FOM#imTVk&R7-LcAQedjIE1p)cd- Me%9DZxwe!--bpClVgyto*|ElVTnE#2;Ooeb#57(4vTP2z0og8EWZ2 zSK%k@;Muju^ejRylP{{EfS%88;ddG@(DMkn1WnXzjV>v_bMS6#vUYGN%&$qD)<*~# z_#rkiZdP!_SCZRq1nU+rEZ5)yN1)55Z7YYuyu6^fIUV+f4V9&nsXDY2Z@$qFMuKjk zWMbM9 `xSaGx zc RJ!hT`J%P}zsY v_VR-7WZ<1h@C8klD1?n>h zfSiF|%|OKo+e-}nDELt;p}vQwhB*xl+N~R=?L03sc|XGBsOOVkko@CJ$aQ6~_OdL! zeJ-{M?X;&B?d Uz jn3H zxbHPj_U61H>RAND@b^F}4`G*YS?I(0kr}1oP%&3tz*RdE?gtougBXQ?AH3zOgGsKl z4MyGEz{J-_rIRb1H)XOw7FZ76>r_@YHgOyXEk6a^{lMNlhE0JTI0>&{gm0$=d%#03 zkyI>+|6@>s6|xe(s+6uELEw>Nk)wl6nc&N2*rK$pz|m>ArrvLL&6enzy(xII@S#B9 z*z>cqGsi=`q0PCyvMx@!0>$i(5>+`)&^zpu%{f0?!7|z?T zRxx(YT4*|Sv(-m|zafNt>uo7~LA0?{@%N@P9&9MJYsWGJq(;3i2+Qcca$47_vN(uM z7>4ueIm7dPw d-sgB0xk&-?C8Ac#d^0}1=Leo(_l~UlORfcyLNS4t*RjPYI&LQS? zV#eOM{r(xd-ov+c`ZR6VljZdY R`X+&_erX0-I#eICmDIed@?n7#s?U&@6oSlBY zdNB2*O?LIfCdqV#id#10@BP^*2`gBP*#)|aHq*5Tjz7=rdWCkCh10xU-4T3-R8y}5 z{oHGpH8^={a1yr&gx=m=q8OGJV24sGPgdZ@ZSN? 9A^|)f|TY$=aiZ9JcjzRg)`H>gi;dwm$8lDFJW)yL8k>i88@Z zS|9x3Q%-r};nR<=o}v#zs2cO6A$$5@r7yzSc3!Gzk+>Ss3OPb%c&>#_OiW<>bXu1> zY(7<(o16P0`7*=jupt9 mP7bpwZ1umT|mXK3d>kj5KPq*^GpXWA#|Ri+D~(@(S) zb6X2dRj%^UHT2sOUT8TLD-(xHWGqzwM8ORmnuD`{APKUCch*_$MJiD6qp~|D)RLPx z%H_l|HO2~S1+00SA}s`f6{w0U_Q~8=a*XhGowfX= _5U~ijs z#Y?KJx19_2HM$f2nBpYVr|-K{i2gHTif0S9`}2wC!C3_2Dv$rCU|ZCl;>}|h zpyj#4X+fg+O8NX_ zK7XBUF5~ RLTd&7OhslmOqP934{;S6s-7^Tr|+q#ni!hf$5yZvNOH(JX~;YA z0kBZHMwa}%`7FY5<00BDss8@oBu#0iu*XFxtYhgk>(X&tp8wwQ)jGuGumMKcl$kG^ z?0nM8;4;WNeT*0egUVsU!bc*1_F}3`zaM>|dDg`A{mv(SH(3n5F38Z;T=0Uku&xlm z^3&=2C6@u+doy}7J(^hvL-+F^8w6GC%XB$lyKWCJv%%#QLw*m4e{1zA7YKPZ$ogG8 z1PDPnU>q*F0Z?^2ioS@AJtXG!?SU-fBHl3gV;YNvUSDU3DYDL~chO<3T=!^$2HH#@ z-K2Lq0 u!xfl^0~bHmjjr37y<>Qx?;w;B*I5(4wA-MqII>U~wDLqI+dEzAEEbE!?v= zhdTa$>cc5o^^Px83l%m~EwhXd=4yQRbeF&CvAdiO@|$WmDGqK8XDbS27U-0!lxi>~ z%Ali{KLHirS?H-I+Kn{dY;sth?@s!zQ!THQH65 1%Q77Ff{ME@NED=*n{)-<84) $m5A(%yArftxZe2YrOg)8WN=cgU>1bXQ3E z@pdOQ2SQpjzn%lFOB{Jtr~Y3)(h6dWzpa<8ZlM#6|LV8WfEZV|M_{72Xv_d^&~<1@ z!~yumNCW&53bVY!-S(zpKfb!^<^bJm-zm% Y3gz&W+G zNocQLWzvmH>wEm}>nJ0J;q9)b*V(9akw(eQB^Y(-BKFMChgw%0V(G0}!Cv>ozsdb3 z!n%m*+mBaSON%H5Tr*8`hyB!g}EobG-F)n9pq_85>{I z9(czw_-LGD>l0PhJWeS0R=1dvqcdk{@SZKi_?QB3*_F!+$fM7V#%aCJN>S#I9U0hr zLhM{!rxy0V#2ij8N4cwo2A2RMIRSs`w5FgaTA^Q)lau$32Y7~$q2hP3dh9suHPZ$W zQ)xa&Eo8%|gnbpR8jXVB&W7q=Y4tv^Tav}6EI!ll>(p{7Oc41<-81)Nm>qb1t(VMk zsD4~qi9Z?b!sSu!%m%^rr0Y}+;H0*rE227k1WPI0f&};B?w&`weU}n;dAbvYrd-=+ zw+8uz`3t3bfPSQ6^%ynq{tDY=TQ;IDtNR10IXqN|*8IJRNPIk6UCoaIwt&E8Z$Zju z+)m>mhRblc5 ?{xhMMW**g{U0OKy zxX9E6MCHYxsQ)b~S<(BE48@JrCIlS^Wd&-yo}{1XdTnl;B6imlN40mpuBoT03P*$+ z=C3>pvOlk&ziYfTbk+1mpLyrIUu2HseSkB7gLHnxBe>Je?*7qZF560l=q)W5@@C#9 z85%u-o!7qZtI}RaT>#kr)VNicc-?T`w-SFs4vqZ|Vf@x1Kg{hCq;u}OomSch@4u}6 ze$Dy^rpVJVICHSFMQ@k$OHiU>+{PXyIB^(Dg?) zWuDIB0ih&!R!imeu==^zCR)^n;@RR3x55}4X^wnU!pSa*^FbKRHoL)kE( r zF7G)|^Q8b8>3u1^S#{><)V}_i7DyNS&lsNV=F_2dG>m}NwcWDm*4nOC_OqLI1Y-Fl zA}`xegMZxVP^K_k1fs<{g<6;>Qbim%fFt%AZD)Q4kg{kTk3v8RyuhjBB1OM&{+1p2 zS5Lz*y{TI-W@49rrR`%I@UL^*9FPEolbqlicr)rYg>j2Aa|#uC)e-aA2(0N$H@a*w zc$e{rTj~{(_-bsNA6}qcj<&0rjOF(p`Jw0&oUQ9gK(^ra2w1sy?`milFrKR2mCSKP z44oLlUa{N*L#Z5m2*mX-b(cgh2YpSuFTD=HcM-#^H{=AdLZFIOq6FqeIih56$+f!u ztTWEMY}0pdb@!yXde_}xU&lLeMd{C=^9FgeBXjag)?ZX~*_lXIg%@vBQ6VL~d)ca9 zR;6j8kapyKIdy5qdT1<~ ~@G{PYHiXh$eL~pj$&K`oFex|F1}qXZ^(-P;fnx zCxyq7&;g8`Z$NCNH=u(bxj5*Cc9UKq Z3uoEh-Znbj8XQRHKk}!Qo``ftMD`2P+lGOV8PioiS3To2?n_W)h{Jg0 zK1Q1A8Z%f9gRqhneYy{cmAcl_*2UZP=TY)Kz3{k4u(c~fWuEOPj_8AZJlj28k@qv= zP=*5=8(`q74@Qq~>iz8Ex%tS!$j6Bc<5K_FQtV{A5Yab|iolL8$%bZ 4tJLgJ>DW1oD+tyT+N-(MKN+U*5aMTVjg}V9er|lwTF?EOH`WDaFtC3Xsl0b3 zyI41-y!6q|l@dMHF6&6_Y3rVh1mD4EBU|4m$aIXn&(on`^7BineuuFCZzKNyP4644 zwG*0~-#*;^RZE9)IzKO*rCqsU)_RPf3R!3`kWWt$^Ao~Ap<#vqa=*%nI+TLP;-}p_ zpV&nO1Rl)c8-P4)f>aF&;rahT8mv0iUoI|k7+l1%VK=A4uoA;tX2A7G=$CGj1-EJa z48Mz6jONRhqfOoA>t}G!jKOsN@dfJ0sKbK;^P4MpLcci(Ilt_T*i43ax2N+vY{@%- zSa>XlHnxty9+0qui{x@Yd~^I$J =B1ifm^=@4z4V`97dac{*`8u?T>lZ6 z!{MpEdbd(-*90!A;sC)Tu3CqGg%KnB^}RL|2Qr0|(LXif&x6Na?+>^;4%I_nIM6l- zaYmr3Jf@wT)h|&{Ls(yZX^-f=Kv~B}8dkYVG6XV3_t@O7^VssGGAWlEUy#Z~s9DM4 z<#+1`0-qnwn%Vho^&xJZj_9ehKUJpN#tp|q#V#zi(C>o{v7WX pQ#8;7cWQ?gK`TJzNg0=)n5?Epeu( z%S&BYuNpm9O8bIMj_yO}7YB42xt8a%i@(l<<;3noWNXH^m=kQ`q2QT=e`anOC&}as z95tW*IcNJb6?^vJBcJ7dbl%{%EJw>PG?Ype@#1#y+tdA&ui}{%dW0Uzc =Q3Sh*{#U7LVjmvQ|K%zpTqkj9vxy!g#;gt?YB5m!p{ zZUepI4=j@8e2Ee+_y}QWwxPkiwn6d^Q+2M_#&7$JwDjj|jC!(98z0}s{#PBrr0NZ2 zwe* G*0>T{qU&qMtTD-n>~X8#I{cYRAeEt+XJV9;nC>f}B1B$ChwQpF&3grsco2 z1Y^_TYIZLGI({^YWVG0HpO}TP@c8(LsEr;SgQV`fVX4O+HcCfK5_#YLWvRPkCoi31 z-g%%njBZ++??zGFqC6HsNb$>M2l&ZX>32Xz4}atL?jojz0H}T;I6jqt*wg7;Pt1F9 zKF5jsRNM=oTBS>tviHbJZvzGuKN$8!$eoT^y+ggdw7EGOC4W0a8*Ey4;_5`m0|Tc( zc-w-Gc-taAhxa{tjV21I0_|6JYxwVlo4Mlh;R2%C5TU-QIp*G$$96ebS6*#yk58?) zE3Itmiaz*xsXiPf+A)3kf2pzi&0`f`P;7pb^wb#ng!Z7#A^E;-Gh)f{4CjqtJ$TkK zJfQBzzkmz*(_|>Se&wPZ<1r*Z*Z95})QEgb0|4P`4=b6tt7~MgQZrPyRw|V_g+%ou zwjF)1C0}ZUWS8F& lAGF zU6ETEYQ<$FFc@2JhmA$*(Bx9a|4Zw9a+oxI7% qxp&f7uMmhw-g=2d`gtef>v5zC+~sXiYzB7mseO O&Yp*;ww;7kXpWZGbvYac+|~{_);R =nO~a*Lw**8c3SO?!qTopYXO{bMeJqGm~EvCPQSJ>YD$h~tZ&WXD%! zT7cGj29hot>lA78c70C&QwVu@d4|5tBhHaCF1yMZT(<%WlweL*Ry>_a9~=uTttVO9 zJP@x%mU>Hsi=N{!s^bKfIweBT6+WgtNVFJW?U=Ws?Ra%W9S3}qh&?%udrkKoN3Y@& zr-W%v?*}Mxm2N%gKwd86@}1b&g>E>=Em;`+x~&H~2O7TeI)Wu#v=K){(pf^fM})Lw zL8^wBmF;d#C& XeLo7hT`l$g=ga=~SYJTBgQ+alz|a*Ix0BV8H?i}{1GC2w z>D(`P(j1l$@)o|PL<)_&oQKWGrWpIxeg *GEM zp%MHWzxbRo(U*NMsWQXu3a-@Wk0?Y@FF`eUQHm(@%f-l4@RK$xBwKCjD|8`SGS$z` z5+yu>>+9y>X*ll|6pfvnm cL|!|ibgYRX6rniW&7y_TX^V^urBU}m+rrmUHOGYd|mlf$-23GU;P{4 zHm+eeINHr?Sid7ptdTFjZ@owhw0gR0Ztr_==yq>$ni8G!y^C=X@Y&^>KNncEdR#`> z+G{>J@bLWAjJZ))yBj|z?G?EF62rysBTgrLCo9!d0se`QRcsI;@31P(1{<~d<{o}J zxszOPHV9~FT|dJ3X2QeysAtI`gh&tj#>m6h0f^PB5RrVz4ByQ%w`ff>vWutFUku(3 zbwzh;qBHh00e1qI>{>`6z|xW2nPrv{ypZ-S*qyLVc!yibvA-F~G}Yf?QU)o RuAPUy#-X` Bw)qH09cM$v^=7L-a*5(%a>pFKXWFS2ePx6=zjsTQl_@ z`}~(w^klne(gksfDUK=J;pLNo-~P*$1> Afx+^M?D_ba}33{l@&XlbL*9) z%a&(15e*f`+h2qgr#Fx2_>b<3)vY1x=ji6EZ0EK(5^f@l zR_M+dKHTs3C&KVJkaAevSv~5#CFS-#CKY%B=t@T4y8kqdqQerto!a7aQ~LvhXmZ|o zI;p|^)4Mu3!Ep3rv)CqHJ-p* &>%+lk~n^ZGc7H8(u-Sr5y@M4H)SolxBY%? z$L}Zs701Z_zYq#O&72ioK`Ucjd+<-+JGxi4QyxP+Dhb5iX%05+*V%r5hUC}yufz-9 z*9PO9gs; 1^2+-aq&LEem+>pwT6C}yWhdfH(CyRQtdc8AvV|_3vmx3}b z+i7)ZYN;&|a zpZXQh;vVOwm3KHL(E7v`ydsVMja{k2RaCkZlGa{c$~F$GLLe&B6NT#|Picr?m2 zLGw5ZmLIKOpD_Mpa3uU`wJuz9@jFFZrDCU94HRqo3=}t>1kScBjtJRz6VcWEwZj5x zAH@^vh)7KS*j*6M&EprvV~C%DH}DXme gPeIQf6+7%%`77<8%3{d#80O$3 zFOtS4u7rEXoX1i*xB^Y4nVzvmerH`}9v@4m)SPXAm@|XzBrB&>%d3~H{T7hd7Lcvz zGGRf_j&9%Y2mESoekG8WE|!x+^|qB9EWql;5bAN2bZiw;k8co5>;osoocxJ3d4|nG zp_h6>9$-*K&RgZh-?IIE9rXNq^nm)l{HIBF%d#WgUR=k6Z)GyrdSz9vydH>ON#f_k!!SA{>)$+uGt3x+smjAYJ;D30`i|;#J;_BfZr~<}{ zCOQ&IGpejASgf`8WsFqWcdF}0J4f8S+Ts!)2fKFd_9yKNgIMQT=i?Eeu!v+(RBD7+ z7v}$C>MH}H+S;~hkd$svx}`frO6l(I?rw%|rAtyuy1Pq48ir;7=^Ap7{N}vp==1&M z$7c50>t5@QD^j(P*DfSd+fKUf8vLyf@l&3dmX|0bQx>$?gE07U_;Ib%mHN_R7x9Lq zBO?=zsJ0o 2BoLde2QGKr(&k>LD$Iuj)hfY7$h^n&{w#?_aRl z5;4O7N>bs*S%bVl_x_hDugy4BdN@&MvOXer7$rt{podpx`>inLCZvvKoK}0k 4r0o#1$MId6Sv z@93y=@EgsaN`zfNKMAUk8&Fl?5&5Q2Ox_zAYzbP7Kfk`HOZ~*liEX4Kte!J)L;mvX zJ|XB*dFxXOHZ@^pm_pvp#0zF4PUE5+KV>Ht%-7zj2Y(}msC`z$JYAE+JCf)aDE;@I z`d`I-q8a(|Ld~jr`_b*w=e2~L>FFhRSu;1T?tPUSpi&ddu{g|XvtJB;(UdSi*Nc zt76X=SfY1*SSQyWfybLKAr7lV5iXGw=81^K1xYI0EDQ2JgFA T= zf&)Z&`D&HU3+5dD?4;&1FMxQRS|j}bV^EovVjY&)IG&e2h1g`B&+8TiD7eXut1*PD zq7JZYH=A<|`BMnth}%6mvk*K;tEugz2mP)va(jWts(%T5Fv&p5<+}t1H9KUxmQRFY ziAc)GAmh@@L;cjeV8U6K6QQ(XC*AyLFIy&oDD-oW)QVucflWg6OOBpbp#kas_07va z5hO5kM8!Htm~_&+@{~9Nb>d9N{y#_?!EZKa#w?383sxzYZ|4ukNK+)u3T(jlb;|GU z;#E zD#vLUXCB1kskV2aVRA3mC(`2XMn%$` )mI z4LO%M%=0f-u rcnvEk z_h&(oU1xb}msObapUW^kG;gAI-|p24Dfz4YzbAL&aWEE~cXyDX8gC07Npu2q&Y9gD zW~WeH5b{B^$3@PE+}nJI+zub%$~ !_sQ{XS|2I)`;!Oj?7A0#-5fuZnI zvQQ<*cT>W?={B_PAiKE`8It{3zoO2z_S!fUsK}|~-x^JdF>F<{vT52kLpOJRmElt= z Xz65=wtq$lVfegl{2`dH$~$@XMD6EyM5V4x(`OgD$PEzZ6KvumLpbUBMb+U7 zO4_IKMw_EoQb2Ebcjt><_x!Ao5i#Q`w0)5+0~8dtZOIrqC31D+MJ^i>LDowfrS`VJ zy}pKSRDEp69^|{CV}5Slme)!&Wk6f_$k(UIqq_{hI{2)ml-#Y;D9v4`UK+~d0Q0W# zI>-*}Qly 0_tq^!gF_2e!}Ty%m?N9P>Y|zZvoWt9}duO11c3 zV8Ak)kXmYNR}73$!yaLx*xWZ?6n6ys+D$bva>BO1ps_M3eAdh7So7GaCxm+!jun*U z-0AsU0r&jc=Ngx{hSDhseZ-Sl et6f&fTO!wBGv{L!z5$s8l}5gb=oRd;NGxsqIMUPy2Tuc9PKj^WO0^9i|7~ znLNEDP1CfFs7bsrw??TWMxVDOkfpt*%rbPE Guci!7`n$-|CHK#w`eo4WQ)L84yM%6{X8K+2@CH{@K za )qYDwF;($zw1sUkN!MriM;N+F|h1y;Evzt+*fJWXi}SbGl#l0h13Y!`dO!( zk%w6L!Z7xX mhDEvcyJ;+F~EiKSjFL3Hfn6 zinR26=*HH6tUE^PehXEL{LjJ}`|b@m-uZzO^gUNdf25$GJX)JYvCD9Eo7~Q5Zhq}U zx%OaHD}#g6g1L4yPgZdx(L}bxEU#J!az-u4I(bwn ymjAyg2Y{3v(vqOv~x$H zoi4%xL)#gBLTu7_>cv++aGqLs9#0p;P*8+OuG@F-zER{wJ0mD(lmdca;Wo}a)wRC8 z73*O7Rdl8>%x$KW5)J};b e>xs=ezUgqAe!co zJkA4p(Bq3vJr NfkX|3;Yw0}q`UdCVM`Zlovs^mTV5N(p(=(~BpPK6A zK`Grla<6!fRj`z)(10{;fq+G**LWEg$#27g{m3HEXC#|NY^k^MgJrmMUEu6Z^+imi znEA!M3sPokR&j&;_Sf#loY)ZW-kd uZQA$D_99Z8Y)e43%PL3RO&mubd9$U>42{_^KNasYhsAc+ z WLU$hbN8AM??}3We80}V72?m =4s-Z1{mBO!^V;7)t>GK$hB!|`V zV*)FUn)G{qMf{tx(!~P|$K#61%eTwjCR8gYvkoT4i3Hp;A6_2tO>3b(E%W#?6Qjm= zs8a|MzO868?|#oQ{{sXtSf&r53|rlV>+W=cg<2h2aSobt2m{ye!Ik-S<9oYZW1aj} zvA^Kp8xaiZNRcs&w)C bXq>XR0#KJ+VS-0qv z{t{Qe-ukffq|w_YMz3ej8ZTf_2!4;{`H4B26k`6Tf;WY@34$Y?AD93f2ieX!g5~lN zlAO`U{HxbtnSdd*hcs`C8qQHgyDNiH-~*hq(C1_|T2G77dU3CcfgBygBnz&LROLU~ zI34j2_!rcc9{JkE-*iy4YQ!g~Wux!v>di^J>F+xd!84P#r;^W%2 XkuOxpmt*?r?o=F@>xN z&j zk&MDY}1D_JRlh} zg8AO?zF#KpRqMsw^6YUk1Eo1{HXyr@iNOhmU|nmxXRbx1n<7&-{=GzU@lS63Z-2wo z>p~RNvURJ0klgQ(wln`JvTA>lw>ej0nw_Ye1icXJoFt!l&5-B)a%>2CpZ0x7|AJ63 zM{lOd-TBmN@KcCRuO1SEACfZ;J8`RXa6NK_NmaC{FRT5v$o0 NrmcR`1~G!^H0wVLkoGLGV3P)?24j zn;~%Gc95^33__INsW)91_m@tfFW~-uCuD{P7H3>#6HuD5n6Q%Jo!=?UZV+NhzgduV zFx1cCn$8>PZXCwq9Ek$!UD~5ha6MM|ekH=AYjFK(@50vcBP+a7`)>nnLLj^Ye99B6 z`1sA&-q29~Ah(co UDmZUj}*W3G|h@&9c z4=3o80T91$I8b?T;Ps?o$hIJo^ Eey(+Uw0sdCA4XG9ErxmCsDq`9~^KY@W zv`oIrobwWx?<`7IwJ#$3DN#qM^ppEi%Fe7RgCy-1?s>g{y<&v!e0r?re;3>!+X(_F z#QA{)s)~ER%a3_zpZ4o@yvTV0H=ZhmnU=J`NjbXWaH>b%kfVZ4nUy|ffZ)%&T@`2! zB#Qg@5l85tT<3=ogk<}haYz8mI2CX@>Ksc+m7zo*Gl)vU(IZ85R)Qdqprb;ypB_pC z+e)+oOacA?)jdCz!oQ%myuj&mW+1m!%LyjG&HV^!pZrXjGAqtt1ND UF#ZAKEH+V R?P4Z}ABOm9&s zPlYho55tAA>q?AU$qup3U@jX}#=mL&VD*9X;=8xE??5MgqSG!%G)bRuM(1lAbDdr* zZi`mg+28uIh9tXi&=ke4N6msP^)Ul^e?mVKR1W<=j_3*CmQK5Y1ZwtTWq*iS--aYV zV7!!`si7QyKjF(H(Kud+lN`q8i7Tl6^G$~!bXYNqr^=~Q_}@`kS0RAp{puqe5Z-Ay z2^o0op?ZjZDDU~v%JG~l&+dnna0yF{%fTG6tpFh{vB3!v9;ie(!Cx3RK_s28`_D6& z1<1VF*PfBV-K;*fizE_^u5CyurgwT%evGujm|v6WmQB>Y)E$`eDa-pbvc$SfH!!wy zu|@oUYpBj2#Jv^>!*3_&1#JeFyJwj*Np+psx4>i3#a uCXm6Th3!#6ltNx?E4 zGlSks+|ZcZzKr<8ckskV#%|1E2E8@DO*{LiFpROUhD|Y*VUabI^_}n)RFKu38Dgs@ zfj~Fq3B)ueX=3f~3UUs^d%^O8?-s+{P;{q4Ggp&a6B^cy!e*5}`otMv?=B&`&6|np z5=awvl >?STUaxi+AiKk5GNG|Li}Z7Geb4e%j#ur5KM%KkF(E^ich3 zll2}igsL~I4i_h|QY&=xAMv4%FDF^@?}$1srf1fn0alk4xBE8?H0OfpgIW4~_hn%9 zM4}cv*2x8LJ7qd;r)Lh>_d#&dI^CYp2I-ogN3$z)w0D0$#r$e_$aE6_j}o@@iU$q? zFJR2pmvME;8;)4@sdSD=$oZtr$=cO`0D66x|7;~W1Tcn3oy_6|7kS&9 w+et_d?B 216P4cJNOqNMZdl98Hg~djGVUCJmounFlQ(!6nw|3S& zr5bR5H!Vp!i~s1KDgL0M2@9C278y+B{O0rK;@A6bx@^1NdKUknkqNpg{BLM D0pRB62uuw;J?4<20r2gYkDp~r%Y`sy zPcxifR}s5gi5RYQgsCJsvw2eLinouOj?U-fch#xs{_*XL`cg^kjYEW036p@xBvH4M zyXZDoKP^;tv!?a=xY^s~9H(MrY~s|E51oj_8DEJasWj)a=HImA+Zaw`juPs?Zx-Vl z<&z~3z~YrVbTf?PjvU39j_r)<_ ) zy@#=amAV?4_s4Cp7+-m(PL0fe|6 G$O#M%=GxfI8Bv=sPrAW7jp6nD3Kp@N-3LKT4Fc z{_o$Te13DV*ezBYoWI*?7qtV^HjIQmw`Nkc4^y5rs)kHx4V~#EQ#!l0l7VSK<6F1y zMbV+U%*g%kH&7o@`ORNjBqCNLDN;% 2YTre+=+q<#8ZC4YQf~eZ^NhXgd|2j BUvp>qSLM~8qe{^A=Jwh=rF_MF zWL*;t&If+T1L6g*qU<5@<7U8I^98?X^}gyI32y71drEm?an@<=Lb%fsvk=2E^gk$% zeFssybp{O^dbrq%S?riBYl6zygCYA!#ywzfI{4TJ#s>^g=+^Cup~nUgF}x;XHI@DD zmax_Dj1s=HG_O7qrX_5Z9>(uRZ4t>4NgDQ?CgWS(lG1On*DL`jwXeO6<-~Ax#Y 873)@=r5X-n39LN6&g2OHXoay zitkj0y!|$n$k+BYr&`d2h6Loa=aSt(#exMMgRzM1Rol9Kgzbk;$PMu$&Te?S=q_BR z7^w~fW{j58eI2meCt`KPy!zgIsK6Scw-^x(3iz}GIncR%Os1aojW^yTw2iF6j!m8y z8S+}as%2RVv<$At1pBu>ZNqGl87tm(bmXDo$8Uwlz(1@+! 5f!nJ$&hkV_mN%&O62n)*EaRq+gP({ZqR;&XE(E(#{Bf83 z^1&IW%^4jsnWP(CP!rf*vQ}CVQp=2LaWWa4DA?05qfPgf4 za*HAz#Kq^;ajbq Hp0?tXh;1)F5hFXcc zpcR3PE2{xDehIY5-tS?RB<6cb$z?|5h0S^0im!25UKLAt1$?6ty_yEQ^l z-gk2|LMV$4xKq%-V2vB_&G#X3ZUu@!jn&21dFw VvNHI8eryAkfzl6HQDu{ zM!@!7p>OdN-lu}#@N^l4=X${b@ ybWW;Qlcu zi-f*V;JiddUWcgY^BKg=7sGiAQvFy$<5Q=X^lx(oJ@O@d%b!)8?>Iej=acXhZT2{J zv~(nMj?)+aVT<#&SJ2!^fl;Jv=Wv52$F7%i+69fAE40?0IG?e=W(0UwWY)?xTjq%T z5bpRm%pm#m4H2^Koi8iMZwD9Z%}T_~H0Y?8(5&EYhOp*gVZdz%_E>j{-d0o!E#*j0 z0~gVq9q^xhqX{&lS?VbvS4!u=Kg%U{U!(GTkabNLk-N@a;Gg4y+L8C=2CO6ErPN%= z41tGfKCX3!4MRj^uf>>MN=v|WG`_cbOYAvzN7%S?k?Q3URt(=cNH@8m9u$CtjRno< z q0+l<6ba8cW|%{ooxI)v+{H}X1|Y!>DCfm zN$G{W6s@INw9Y&=fi7c8$ gmz<^OU31#tV+DD$cO>rA`@6-JRhe) zMX-`fZA*ug 75Q~@X~t4$43{AnaD-so(+Wy z__@Q@TXuC`0F!`m_8lWyJk`BCa&)#4oo^87@CwOfE^!o5tC||#yR3)~D*`(eSn?)t zb|H &KmNrPn B$R5}ZogPinG~QT!Cm$7%_y(64IAqA%C3U9@7@&!cBEMO(XmL#W unTZ-BqZOQXG>Q WJo>EqKM06 zX)y%{TYsSUG5{*hF$`RPwP?w-l#=k+v|y(AobKqi-nQxCg0R_3PrUl BSuq^x^Cxl*OT%SK2=<`m-Ff1m(WTdT7Rt)f%f(V*@A<2Wo$9Y7I;WNd$59 zkX(&=ta3N$%~N$hhU5Jw573 jylq-BDUyb)(I zTeGi)+ZGM?%j8m7z07UHlxfdW_~vV EGVH`fz5^!7QFEIh!;0U?B&%ZC^tmlTw^Lpdy*kjnr z?TqN3fyF6P*^;Ma1aZ}Zx3TMz6b5qFnTl(#KIMc(tGIvKX#Kp@qxJb^RuoUPi#|?8 z+d<>|STB>niHH-%p=qk_AeCBK(s4C(K})zuOH*orO_qteYUcNaO?MHxggGNM2PNeV z6W 3L_=*@sx6eG zkyuyL_PIPYa`zHA?MQJeiM|%&G-T9&OTJ+4m_a35eUn}DnP~x>+7IS2SSB*a {d$N7 zOgdInjn$oJP1as7E-sR+S0CWQAX_zm95WUjMocCNefKOuIhzhk2zkhafqEr}U= -SwoD-$(~95=ZIZ&VFRzX zU~APuA(P=W26_IOS=Dzy#l`T@%quPiI|gU}I5v7~lNP-1zf3&mdoRGc+Xp%8bG!Zl z{hWBi- !WfBxEvEM80w+)m3Jm z>g73{Y5m21s@a(XOhOadE8=uU1!OHiWI@E{9jH%xwS{V|ws#4Yp+`vmP+MuGChF=< zEqS6U)dwv)MKdo8gCz~!8npGUk%D7qvK~#;5l&vWT>P|S+^UXWb1Fy8QW9Q>Bb?xg zoAuFnLyy@xL8JKPCB@fC25zC%`v)L(+^RP9B7zlVnlX =vc=Y*G?fS8z?}V*;a+i=Oo{nL!DifBU5>Ir `phGXya!+zvbZFZ8SB z->A92&dBeHn3eH=!Jt>3t0V o=L=8emev( +acgVR0v@r5+Nh6{ixU*|2W)d7I?O$2|F94z=3;< zLBRoE+qHv-^St1Z;89YMXL u*;%{?K0T zY#$2Ej!vHLZA;i}tj1;)p=Ye|*evF)c5Q@voiwc_hD}tnzLeLn#X_0j#diU+ 1 z Fvfci=< z1W-qY!+M($!UiF2EFU*Z4CJq^GJxu9*ThYN5tneiEsH>+BzMw8F`MGG*Gt(0pk z8KPV30TC5RL&K zvOo8^27F0T#4toHX?ONH%w|<3g^LY~eD3Epq6>@C7V&Hx8x)xNuji!R4gsjr`GFg- zxL~q>L*jQ9pTFn^GXllF6Nj{i0AKhj!%eiGnVrq1;sqU%k}Ikz5t7>-%B(D_HsLUO zpL>A=s~a 63ldfRn7%f%aUwCAm@@a$w1-4c_4($k88%VfXs<(ldTKvo@qh&<(4#rw)(%S#K< zzY%Cg2k~VsLeU-0?svrvChXr7VO_!$2YR9Svgb5q`sTtszD1u%4$g~g5rbN#^Amd; zd9P-~-@3R`?mN1@Jlocw!5E4qwy|_NyV5wj-_1463`J4*$09k=9?Uq?fJ5RpKUUi) z$Lf+k;w7uF0Ilu|J)su#Jdu0-(5Bg0qfbC0&bw2C!h*S^|FwFe)`_52%*L)j=#gLN zo#Rdyy2DRxs?)S_Nu2&=_fYt@@ zaw6|l1!z8w1pD>xoK@|&5kOEua~C%Z_*}Ka(tg`V7rh}S#$9Dvy)U%lEmt3iq<4CW zw*m;mMyAz_D35O1akB+BDtO)W>Ve@=w7qs)J*y%6uiBF#*Q(xx;;|4)lr;QD81ds< z<0tk &AeUqNbc(0P9QY45{uA-Tcy4SFG2lTV0>-A$!Q)mECS z<(Uj%CEf2t?lF!8uxLTqME~lSa;OKQ<={H@q#Ab~dv3L}m8+8o;Sir$EHt0N0f^lX zMNUTZXI54LqXX_x_l9byh(5r$zNN3l_?hcbMD$UF_3;Uh-KnS^65c~?lAne5?B`I^ z3)~R~5FEUO6*OBlH;cW#&X~ToecJp1i(v38NPhb1sRe-*(k12R06{n|Ua@M5AtEA1 zJG~3rA_LSdRPe2g5F>~nq}{BHR3LQ0`uee;Pu2#a2QZ-zzQC724Y_gMA08$<+ZtBp zlAfiYop~1!Ybd{$1A>T>BJDwv;pUni^<%(Wak~elel&(W3@0yNa-%7!@bccbTenH# z^bSBX1+^I0wc%@|r{C=?!hAi)S6x+aRM>TRtA{ULc((EXH@8x5O}j}B`1)~LwI!gx zW*<9VdX$$N)OHqCNmg7?)Mt{X1yzHzk1@3bj~vD)eChNQ{elbx#VgsjyX$PW`#Fs0 zh^2L!aamlwXIxW^c-usu4@CCP%^ggmv;L{k3wdA=$}~=DQ-Y&>waK-^%XGEO?r#g? z5^4F3nEoRU;WmXoaE2Nk1Y?K9-|b!lTrv{b?ce0>6NVv#pNbgqW2m)8Q+jaOk_sC^ z@x{1y2fqAxL!pP3w}~ME2}DT#?NGg;M1R0>@e06kb-uxnUje2HL)wcZG=3h5z+Ju} zNAXvnwVcb0H)+%3cK=oy9w^(BharY?RDEi8_dl6T`-%!3F}quPfX=rT(kYM8Jy*%1 zI&8k%PCg*qTqrf=l<5L~u0RxRS0U2g3Q4rsJ88XPP#T?{6SS=*dk0TCiMc^Ney_P` zdI#S}V@W!7MsbX9=?C`)Vdp0V9sYdvm2M#4EqkpDk)aYz#)18g0IDXAJZB5%BP1_a z&wYlv-U-#t9^K%=7x{Q5+b5U5&)Xlx($1>L?95@uRfOIWRvhSqGF+>)-mkWSn?j9X z@GM63{D5Fw14|*qhJH(l2^|2YDCiydJwFwL`$sMia5oHyHa0rw`^i8vhA-VI;%xIJ zjnd5FR#^u>D`z$m^CAd&x`9RozUsI&MCKhVN7$5quxa*PMi5kv(gyN0)#IO#fWkVW zLwN$AhqR}{VLokFRdIry&HNi(wA6}=Io`8eos?q?ZurMx-*&B@C1&Rj>}J1*VJ`;3 zUa9%v0WNpv(u;{w=PqtUmM>Tg5Y!l~@E$+ish);RGhMV!C`4_o3&9N!54tNz0oCgw zJ6ltT!{uSoSH8qGt5Q-JzK9QII-9gTBS8be3pS9`mV;mImZ~$%$ZPpuNPTw~8@dC= z56FP%>)Ta8dtz<3-BVw0i!Y+Pwpc^=*}h*Z`Qi{R0%5oA(xdiudjFM&SYMK@k^>&- z30&B#Qkh2s?(FM+J;fchKt{)UJjjRM*@so<9g~0ac;7uB#&47UWGK(!DV1U?|5pmR zt|@Tr{!_E)`&x=C&jl`l9P;S6gGIMs$)Ws)zTLi}4i1r_e9aVBp1Z7V87mOqh|2H4 zcOT^GtQB$<*f-irwIrq_%@T3sQDle&{Q!q9m3h-uRws9t?2-`uu*_xVYe-|9*jjP} zFKU<=Z3epoT_69i4e>_W&Zj%*Z?>s43jDch9R!IS$q$yBK#D!WU7z1`H;Yd!5D74< zQGP;RZ225Sg}(9H{V>8<(?56 X7&(PHC^cPO+yqS87ZAh@k 8RC5y2X(d8M|!0DRdJ|5s~fd^nQWQaL_o3p>#KW%r7x+j91hTKi&7(|brC4yT= zj(>J+2w0wc!SHu00?rA+K65@k5wkR5y?;(*cF|g7PqI7*``Qx~dep>XY`(RIjWia9 z-~cw@V+UMoUN?T9qRuGqrcbGeKk~phrZ+qecx$?Ie;!~ex_As2Ap^MpTn =oZo4Kl~LmBYhh)Cs{2sQ1_e5{^OCv> zfLZqHW2Q365hHZCZAH{UCCjnv@CoAc)>AI+UtMJ0oeG4i6p@f~h|tmdMS7}u)6b!{ zUcr*f=1>3ybo^wNhGY+)sW{yZrEuGEU3#FVpM1Km*2rLH@;2KBRrxiEh!C!5i=BC6 z_x& Pdx%el#*~X*sq~%avLJ2$;mjiHcN%#IC3nCDb1`lTFP~FG z0Nby0oQc 3EX%XbQ9M-!047DLnXvcw$-d_r>{Jr_aoq`{w_qVeVt`P1j^Bzxq0UR&k zh90&!^0^RQ?OP=TgQxMXTMq%S&wVbpQv=y5jY=73GpmwSGkz>9xl3Jv>{_XfMan?l zg!0F>OD&D4zDF@7yS6x5Ps;u72NBg*P(`%b^9WdY&`JD zSl$V ?q+Yj~S>MgmtZ6iT@zby*EKH@+^_oF7%wGB6#T0Yuxa#dPg30#% z>r3g3ygo@W*FI(m;u8s||J>lW!Xf%QPr3gjW4Zz=wD^Pe6EOFMwEAKBjzSmVd4v)y zo|Zt-$Bs>SivYNVWNEcP2+c%l>erJ6tgT#me0d!DKL3sgw_vT(#6pquH{13P=8j+5 z3v*n2zz1yTMkYTVo&OZN`2q3ye(b%aui6D-#V_R*)Uq+E`(Tn=-q9SStzoX!^@&s? zRh4(z$WQy8efogE`Yxx3vnVyeKF523IB9eZ%2G}r8s{3HSTB;7NM}tR{G&)03Qh$h z11>7Wl9-k`f5(kHzbnb;WLGo+Rd?=VS88-y4>(z(YTQh#;F9yHbR%4cz~vY4)V0T+ zdIwBqIr*9p12>z+7dnieq{y(U)QKi>X_#(U*A)N?^b2|;uK3!biIiC*b^h{7ioyRS zcr$t9(6Rg54DBN!Ra(8tI_~KDzAdG1ee-vE53F*G>ObMdtk>}Z!sVnI&q5-ahiSsi z5e9&gb`)QH!MIgEl4Mvw)kYpVMmnm&3O36cG)gA@jzBMSUy@>;8YP<&>K2Wy$AI_I z#>-uz@8AZn2+-&?ba=a^JE<-tqMm=Soc&W%pPjmO!TpXzp|i%(>zkgQ0oA{tG3KuK z{8;N6GZ(64J)f<3?<07y!S=f|v3(J0*SqT-=98R#Fg6%9Z=h-sX}vCf==@2v>OwwQ zRrrH|quISEu9o{;dvmY>mTH?5N$@ZahOpYHrpdaeux9*NZ3)MxLjBDwgPhmTqSc#M zyCI|t^F{y5Xs&nX5V)EpYAKq-t{i@8lgz1+Jvb-)R%2@2>S>A4DJy8;UEu^o?|TxK z0Agg!9pW=~RNaJysZl1=_Ra1{fSfuDNtUCnWKCsKokt*MDKEi@8q;ijAiGGO_4*JG z27#irv4aFa-wSd4>Tqm0dQqS5-SMC&cat^vW(h@aIlv5vo+2B{3lQXbtjg^=wFGEh zlRhy2>k&RqS4}&>`=82fRD1yHU61pFTknD@tpuKbu <)|*sT%hFixgrJu5J;MZ g@dE89(>Rz?ZChD}Wo-f8) zAIy_*N`&q3PH*X~yf#5GGxPCZ7ly8Yl$+$<0K&U&_0j1l{utZ&{SdSE3zqoZ@2r?d zP&Zp#0`eXavZ9luPK&oU<;w;7HvYfBC~Tq(y~qzYRDx!69y=<(Hbt?!zRSAH;*Dd_ zaaPF4>(8N#WObPQSOcJ99#4DfpTwUXO$;*96mtJ!)~;51i$BDNmz?G?JFikmQRl2c z{jtavD1bk(Uc6byW4QnV({oxQcGo>5{Qd(#;PvDHUpYU>K#_IPZ$YHfOEy=71wI4{ z?~)BWQsrcIP|X}L>_cxi$rG5`X&jBBR#W<%;!YmrY8c-mvhL1{sJAwfy?>gf6ATiF zy?^^tl5nr@;(|5Qm*#HF)>kx5NI2GJ tg?4nSz>D^hfW4 z_crlX48n8TgsvD>7Z^=f2wwP#pZVfsD!Efgq0l3$fks4^MQ)-00YaydLyRI;jVzv^ zkOmY