From 08df5a32b5e1d00db685177306ca7ff62a71f5e2 Mon Sep 17 00:00:00 2001 From: like <3241439713@qq.com> Date: Tue, 20 May 2025 20:44:02 +0800 Subject: [PATCH] add --- ...米便签开源代码的泛读报告.docx | Bin 0 -> 161869 bytes doc/技术博客.docx | Bin 0 -> 14451 bytes src/Note.java | 336 ++++++++++++ src/WorkingNote.java | 490 ++++++++++++++++++ 4 files changed, 826 insertions(+) create mode 100644 doc/小米便签开源代码的泛读报告.docx create mode 100644 doc/技术博客.docx create mode 100644 src/Note.java create mode 100644 src/WorkingNote.java diff --git a/doc/小米便签开源代码的泛读报告.docx b/doc/小米便签开源代码的泛读报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..0bb7644048c6b3912af23d6077c5abde3eb86772 GIT binary patch literal 161869 zcmeEu^OGk}m+q%++qUiQY1_7K+qQeA?Vh%6+wN)GnznC$-}ml~-MIT7>{dip)eo6b znHkTMC-a>1l!7z}C@KIP00{s9hyZG?G9z(70Dukz0DuC31lAU|w{tPIbJ17vbTD<+ zrT4J4AuIp|rpyBXf7k!t>woYJG^S3-4KN~#K1sX_AJAEC)c=5Fy9^pZrdH(dZK5a> zeNW)?{oqS3iAA)+$(tfqVs^gf!K!CL=evOo8*9j&p$?P$Q2XAy?i@6lWe1;0{fhj87Ns}Ln%P|uEcY~re>$|TOR zK#xi24sPO&ub<3|ujT^zKo@^gY?3BDtQ`kivC$~_Po+giOlRTguj4`!h{%h9rQ&s z*~PO?O+3G;CvqZd@&P2w{1%vrkW|+EwM7|4zt|Lx&*FJJ#v;6&*@d@6Gs5bj-d9g4 zShuhRTV1i!=Bcp}BqcOGdxEF#umhU;`q$`VkVMi>>H{%p9Q7yliD*Bb(LA5FR4Bs5 zU)l3Qvayj>L&6Usy!~=od&W<*AAE-8Rb_;BQ)s0}h|j3a_UnRoT`N2ja&f$YofvLm zQ^bQC1g4`4rC~-RN`bepOg~YSAVtMM@Hw=y?e3o%Ei^|H5UmJ2w~k4eC>nW>qe>zP zGC2s~GHU*2O+9eg-qT06d{rK^+*O4n$7}Y0{C9NO)pkpOWCs99z(4><-*e<{?_|PY zVsGqf`)&IEv3VE1+U_VL%~x+&`|l8NIn$mRj_MEDb;*3M872rxLt!RWcWz;{EwS+R zMRa32e@!5V!EJ1i8KF1>BB4ykR?Yh0yMYAE%CzT|Kl{th?8cI+(u&nISBzk3%NUlH z*vzM{D>NI-KGu8mGh{^QHPUT(Q{SIKpCh=C>XPafHF&vhZzF4Zn7@d#BTSs<4m4O3 zrL+igTWw6`-`^;{?)=}^hmwuURu_v>Cq)&I#xBO9Pgh4MrVpJ?lSxR{R=KR1Gd?Vs z@h6Jv%WgNs>lP0rtbBO!8^q{Kn2kvifMVY0vL%NqZP5ATqsbXW8YtfPjDBX&*wUhO zMc564Ig!*k&&f=;H|m31v?2P5;3vXkfC{6AY#{~>h}O|zkj3n1;ZaAxs3Mjx#hHCXQJgy{o)3l<+?TwmPO-j`oA1WykM1|R#KBrnEe5|%O zKlyk(RL5cwfI*IOcurp;n5;`T+IX6S`3PfE^4fhtj-oe(^AqwHc~N9^>BgK4npLi5 z^%&{=&Id%eRYv(Rm@Ia#6VQzUkkF(RGVQpjgdY}3-N#n!L?p*r)%c-@Qs3d=6An77 zB?y9ANqInBSz1(pO&k6*$hMxUnj0;LTXoakI5T$NlbG|I^PElbf(Ka~hb81VnUgA+ z7j&A$5cMPMPs^rd3!mcNiDXq~8TrN)MS-cJlKHpdp>>+eJKtnqq~zb|<9~U4nvlku z)zce}3oK2>D2yotawSTb=jK4mkE~Q@?)A&Lu}U#AUxcgAUw4 z{{~b!Nwf?XDo5h-?|(SwCh=!G3QQl-Qz)>>>qQWM1XGCJ^nGE_5JV8s*qh$WC63c= z5qx!|OC8mpoH^f;dIh0P9i`ato^9{wr@Rer>Ckq1#UdPbqNF-GcA5oe1YO;6{lx~$#aq_cnd7emp??~<6#F(OlqHqK_4cAdiy7(-5hkGE?2=!x& zw>ah)jO?e|T&2+H>g%7S2aIRNHB38bsO_^nM&6dl5#H!IuJwo4Aym;$HNoZPzDDM4^8jL z602c#8>_)={~=mxYFd9)qtdPeDpng3dOhkF%-Z*{#};0JQl~gU26$sP5e>D}^0w{fXa-!vtV!HL$DmC=F{!d+eMoGDicdymwxN_G4-a}thYq{Xi3f= z)+3iEuOc?MMAOTdrQVk@P(QiC1+CeqKAAC)b&$HtSM&Z$hg@lg#^${nf4Sp?Tz37($w%?1i&9Hx3NBv zp(;9&rEJUs`KPO#pqJW{46XO`4NPwgu!9ljWbsU!vw znmpufrw%j)Q40+R197UUtlogT0#Xwtu?V*C=txtU?1Z=hm?D$N{QgM$zIZnbBrWv5Ja&tf9t^hNP}${*9+_ltUkLhkZcB9BO6QIX`v~6yoZF z-L^pvTr!u1XxI6QL*Wx}G|E1{R=syz z-#U*gDEUs>Uw?qKrdP;87$`LTgkHQ=@*L4x0N+EiEr~i=ZHo$LPOB}zYPl!}as?$3 z1kPqNRc2ZW=2q`?YPs>^=xI>)Xf>Vbbi1^RaluJ%R1E!GN^E%g5}IUWADyTMrD~}FYf)L{ZH^wE2P>v12pu;}vlG>70%WYeo})1F|KJvaw=Nxi#sgW!bb4(ZESYe);7Z zEOe+ZP$)m-m5;uUfbsVG(m-GTD>ZhF==A4tna6aL3VmM!=hN)g=F7@Gnzvzd?cK(w zT{pHgg7`b`{8^-oOZ^!CYA&3WfUn66pW~GsPkb)h0_KC42TV%PE?J^^Q6AR<_%bnT zF`}k!c&FURfZ&m`0VW!Ce_o5cb&8OI>u6LhUx6sq5RjB3cXB%-!MQ0jP+nz5*dIOn z6GvtyDJoGmV7=VBm6q(G;`g`kp;Ih(osUunZ|9RT!P`q1@8he!veV&C1H^TpIgwoD z>CW-%_q6SHU7at5_8z?jS~fLke-Dm*F)N7(z|1%^sw7xNDp1dR_tfN8J#9*0ej|q6 z76|Chj<;iZ(GOuO20$gmb~ID|XoS!fIm7 zd3^(qdpq7p@tm3*GHyFtFr#5mSUD~Ryl@>h%Xy8QZ9^3WM(q<`r4&&ii`}(Oio7kN z_*4>H`68tgS>;LST&_Y73O$_;+>6X+SXE@8J9gUTsu461?9CTK(MdUES2ds;NNVcG;7pXS;94O=z~IqIES za15ioQ_5`U&@~g!_9AYE(JvXUG=M>(L{*vukL3ZV5K3$4u&VurP~_?9u-?|8+v?P6 zZNJ>`QTJ&&3$LQLL+$ZZZ+#=~abEvk>9;m-t6g$79FNj2)zx8mW?(wD3zbdsVp2iV zQ-f5h1Lwo_gYu=rB48KtGS6nE8DTYl2>QLXsK)eEb&r-htL>Hvlp`MKhFZPJLTZd+QuH>yJc;aXV&0}Dfm46X?vgm&&0#!Bt;bwW(iu*U|pd`g|be#neDClosh5# zmu9;9n1zE1^=1PX&cW&eRNYyCB(5h`TP^li8(#}uUEiSheK)d8((DJN6?qD0$!`6y zlPOEC=8`8Uk$#%eA@sbSLTN?04ZII^YHh%nup)TUMo#{TdM~W81{xYB_QkoN>F=Bf z+ll=2lIguX!cuM$Fs1w2y#mhFhR?Y(u#X)1#bIe2fse=p_$74P=;#4Y#3AahK1lzB(GOe~v9X)QF~JRCyG)aFQV z(;3@~1_DWO_{wE5m&+-H9RX+dp zZLfgVAC_J%&!2H0XXWldNH!Q6vdO4a7R+^l)#2_VQ6+hIuf50GJVv-U;20W;Dr9N* z)Q4`9LfK*)*KQGE=x+QWR!%*4Dd)TE^&lTeuWtur1zS0mw@mjj7Hx1HoQ>eK0a1c1 zn}{Gc3{@LLDn~wFgq*Wny_mt5E+vq9RRy8$?$8|%h#ONrb_`QI47vGpp1VVI{wu;y zuk)J((Kt9FdAPsAtS|#T0oatj&kCet3S?NbhFGre|O20O2~5`m|q3;k*@)W+7^Wlz@!{RMSu!I0_L%lQkV zmvNjvgK&Y)@O?GAQ8^+74atO{g8EG%i3a8LB@r?F#~&|<3Iils3@3vtvC85omdun6 zos<^Lr;F{va^OuOxNN>O4)a-yl1zeP%r2>OUY4~IxJ;QRsj+#DWsW3dQsUN+0Cpin zMJ-JSWAR*WXM30)TNT;v%}4o<2zA*5_vODl+gvTVYtaHIhGGSTr?fQB;ynE^0kkLO z<8bevpaPU#gAwf%NV@UY~th`#pz)uWls|$7o1>8d-jAw*d*!tA`vzhrw0QDK(9O6K&;?8bk>_d?~U@jZ^DR>10TVTIP(4m6-8v5{ZxChf}UdnT|mw2O`JaK*+zIgpEZP0iTTbuFGrw6^J5JEyuBd4AL3>n}G4a zOuLLUzxmkwqIkPpy%J2D_P6#E5d~5UABm0-IbrH)4)bmRf$MlE5*^Lm#n3kbER(==9ZSr<|=t`@nI)AHG z&%2?3`joqMamPYpqJ*VeU-#btn`&$Wrw9trqgR_*Chi^iJ<>!D&&0-f-_du;HkERY zO-bSb81RbZt&J3B^t~%mF-BEUdwWBGDearCQta@wd~wh85Xzbz3%cNutZ<6Nh!}!b zr#y-6=|XyS)7twL&)X%7_mSHgeJ zjQ&7(oPW~KKD0f4;3JNpmr^*K>g_tjz7M&v{spF)3KlGu)7&kg#7?GqEOAU;5Fv*< z2L>e(BqY9Hgt!^aJ7u~z7MTNZ!v|JWPuYhlER=Qt2Yoq3<c0 zJ1_(K`vjw*MajE8=wjhm_iTv5!>J>7z^h63VT^wb_IaawI)WvVFv>_QvxX%SY!7x%ERYa&8sE=9AgtJP#Y;?eOiCRJ9})M)wCf_%Mh zX(Dj%kacSp-`c%We*&qxsNwOtM+Zsr`=}dR+E?;DQha?4+ zjz3f-f0I~RAbTeM6f^)&IcgtLDB!Pw1TY4WZ8)JmMAoz`kw0Nz#Xl`P0Ml7$Gi+XlGmlevug%_WFZMtf%5{NPx81+QK9g>2M4GO5OYS^C@Z3YzPfh`)lGfB6s+(9 zC!#TQx(YUxuQphkGWaxX+fGrua;YyiD72L9A4c6@Q!*l?WLsGvpt1oM) zcV&UzL3dZP?aU@abvLD~KHU`Uv+`Gm`^5u9D$M(VymRJO>h$Gt(b21CTyT3nL>ncJ zOBA~kXL`Gll}mNc1DX)`@7vBFirp)UIfo*F#ugz2OerIo0+`0Pei}m*;{Z5A3k`vx z=V-yT=+3^*9sv=uc_CZZH}BeW{e zNH5Yk*;VcxVT6QL02yA04 z|2}V2jinnP(2Hz6#C~&Q)%>)bX=+_gAZd-IyMS^S_+lsK*%A z_IRmf^&QY_k1cfH#CduO+3qsl_A#8{qxxultU0Bbn$7Pc4}0S0yyLiNf++3Fu#EBI z>jq;7MI$`P-Yid3C88-S&_@~%(=rflFF4^XTAzI4#zA(C?ZaViA)_1*JFCl&1Luc$ z5=jgW!v00V{q4fAuK1!-bhUB5o!Z~a%)OjCN2=^iJcF~j)8_ens8}C5UbzgvwszrW z&0*nY70f%doCWH)=VK6tr>x~O=Ey?PU@l}16I`Kv;?7|~rnrp}YRE(!apsL)B4R`k zZZ(xtWTm6zGtp>M{&g+?O8~I?xZLtsVd)P(0B2Z-adp`8x!Vw!ieXAHHqjq!ome9f z|BR2!(S(K6XdVcUNb8Dx>Dg%?FL}%?BqE4OI|3DWKGWZfE9$+sOC4kq5kQhX z=`xJn!mP$@_V77Q4m4U059}-wwgiZJ^No5_N53?`es7XURWUuU2rWJj?O@1iYuS1< z5h2ty2(bDa*p`e#=}+-!WGd4v*nVI8QGoGebXnvpaxGxEBzDmvuQV!w>x4UCMGn_{ z;yG^w9YzF7uL!fw7M|JozIplUH%l4JZC%cmfo!sgSkk&Qj^v9JgkA;9nwlDucpV3Z z^mcczrYipRA}7`Oh$Cazd4FwB=2HoIR=9oEp)A81cl%c6IOXN1f{uOzhxfC%@jz zinfHS%YrkTjj0}rWZ>W>R7C}lr3OI=D1jvaTdMg<^$F2CYexRKP-Z$Br3FNEj0Uqy z&aNtck{&UaOx~0$N~33@A=&6WSv6{7#g9yDz@P6|@J2j)v=E3DgzZ&pg!d*Cfhu(T zY98l_p;&$Bj+HwCwQL$3abm7dOj+DzWyKZHxY_3w+tOg74_pO}s;(c+1Dk}t?CxBO zjwTIT$;ryeTWcPBLInl+sm{6TppZVNDt5h8{d+ljTKi?NXV1N{TD(|z;vb!VX^`Z# zIHhF|N7Bne4kvorDb)I;@nVAxM+gr0ZOlZajYIigZ(D`UoXsmqnSU*>o}Pphn^m58 zKGD0w*`0pkcptfb+qT#+u*K$Er-R4yjJF~`)(gQZ6wI_0lekq{+lO;f<=?jzD~s0u z1exw3d}VWEDC*2ahWFMs)HOaf?5z&hsfuI+jIq9s(?4=C7D}tmEjC?x?aG``4PSV0967syA0z%zz?vAUnnA%ju@XdW%1bE^CMYP9Aa zEA76-LEASXr2C(EqHx1$HF(lQoY8}G$vcq}%-oTr=ZE?+9x_zE%#Vkm@+@=rZ61>% z#4QdmBJy%7cwDJb*)w~K-eVV%CRsE8C9+2OPgo20%q)2h_cc8o^ET6-nF$z63^P4u z80m~c`43kJT3V89;kY`t?f!Ag+hTcv19F>;0ukyAs`f)#ZE= zhTMp5f1rO}i3MrpU$QMY#djZh_J{T6N2e$AsRc2V+r~&nc#O~fx-LwvU)X!8`I)nRz;@e5mPnp6={>=#@cV31UrW zgF&9X<<*M9H?$A;8C5E&2YY#GK9(Kq$S79}lX^_i6c;r-`aIsz%V{kXDw@9!$4wX2 zucb5BMxgRTa&Hv6~XLRb>wR&x4<=g?%O$=g0OWrXRe$S#4+*iS*hDy zJ}t5VgbcSO1yn`Csb^NGmR+TuVlEp5MNb9oA=p?USm1EZ$p*UaIW}tq-L_h9V45bV zU`f+tYe<&@_~~(K2Wxa#9F|%*-H-YCemm0p(r2DbUL{zy@WJu$F%??&iTrAy?lGrT zkshz3Io^94n{N05Z_d|&*KeE&5Z&x6zmM7L?D?tQ@A$d3SKpeRcXz*e4sROM^CzS& zAYsWR-LR}J@2DVr3JllFdG~j$qi|(nKBcSxrQfg3Z4xWHwRN=lt<^_Zn0lz8B~PD~ ztEP|2K5GQ%Z;u|r%BA~LMgu~?AzUxeJdHr9Z{A~|$+bcF7Qf0heDH;^pY=#Cn`cLK zsnEmY-Bv1Erb32p?F#xh1XGg(JNn#1Vj|?L(YEKVQgn$;=(rO#pvbw?rC$v1~QfJDaE&q-`6#zDc+w3`fl4*^lVUu9%BwI=z6F z(ac+N34Z-nxK1g*)ATKDyW#R`Q9sspCc9thuG$WfU8r}^eUXi;+_a-eT)dr9y5}Px z3{AF!QdBs}Rrz6nDqg-PBj?HyjAP!ReZ&}%zD+@a4tv>bOHI_%Dz9 zMX~4cAjs(DGDbE{0&)t#H)Z+4jJ*F?7^$kFzGbr{=T z*hdJ_orBH|HHk-Pe(R-=33*H@UF_$&8@L9{&7@atL5v2+Y4;iwVHETC%pgF41;6US{!FW_XAA zN`D$^HD1;o-?aI(S1LC}Yt*q6^x&DB4KZ)b(JxI(18RDqeybzID>F&wQU)hwqd{nqR{(;W}`xIB= z)V64{+QD)g>6}l1CvN6F`C8ev{)K+!M%(-6h(I5I9x8?SL6~D*iMJiOjMCo`U z-iULEZh_6!T!~XXVtv2xv*sgNi<*foy^>p>e@8D##6UBXI$nze!+ zP>?NQCjg%wE9H(!ZuA*cUko%ReD4*%5)^BC+OBfgE4{mnblw^pEEu}0jMF#5tOya* z_2ZNYWBR2PNOKPBj=}bT%exvCJi4*uXh+uNMJ(z|K*OqYD+Q=Gw(gGzg(HTVevVL~ z_ev@N0$li;3Ww(Bj`X+O^tNH_{N8sr9Y_%c!7{)dv`a<;B6czR5bvkmYlBf}6JT%? zK_7+`(tYBnx@42JR!`3iHoxxmMYqnqq?p%P)N=bmaxG( z0wfU|Jy5Hasth#IMBy=R1rfJ|&e21+;X9Yo236n5Mt!rUuAfESQ7*v_j$~8T+^C;V zKO2>L=`P5l{pEu1e+{R9@q+huYwV7K*;#K8QS|ksa>QFNrU4Zu`5d~*F+J7vzKnDH zNuamNx23c*ApbZ)Fq@d)2(-q?R zdBl!L_b=T<*yPT1Y7;~n5OD@rUSOD@5Ew@ z%tp&3O~LSZpt2zxYtm~P*$oY>(3A=6Uo--Nfc%;0Ff(znEFV=|;E88K*t7Khc# z3NOQ!rmQU%;P5611r=dnQ2-_@Uf5kqpBD0e3n!p#Z@U@lzk3vt36Q6EKqKbQu zY>qBlcsNg1M_-AJ;sjv0R>G-}K!}s9gV&#RO6fswJ9x=v$1R>pY@CkX0Dch@nDHla zG<{ZyZxfLL0@L5Qmrn9)r3SUEF9zGob! z>A=H*@%ncd`IP9cRlrYe!$T`loo>s|nt@*3o52dZ5WlbAe@+;?BZVy+%_Z$2?orJR zv{y*3NV#Ef?T7lCXj7DPA2n{No30BLOnaUK@!@Zfl0;kWvol%U0ZW(TtT703Nr3q; z84M?=IV5%eiq3Q?0|AFoLv`nmg6JGb!F^ZCj3O5FS--hsEB%dCQBoiOo~yr3LiRRC zm!n2s&;8o=XZ9#kaTUVJ$|kCidjxRp^N!B0f`EWIqA3&hR-J5w5u5g*CCx-rPq{qw zEUg=CwrU$iEV*pUMTpo}Li`6H($v(}Uf#TKNQwEnFrEdYXoe~l5x%ObkF%Z?%Ad&< z@}G(OB5pOc_H1?Ueh&750{eT6oDH|s)|XjAW1tQZSdM=mT+)P(O1O|$L~D>?V4-TU z$q8I!gcNS7v<^Nqz}@L?)+WYQHBJ2X>hi}o*<9AzbPTN{Ihn}^NX@-(U@qMdaOD+dv6n5oM?+M04%(BDA6SOF}IfMnzR?U8f*$0!Sa zdgWPAF_j_21@S8sgcj!53EsF?ncj2enub;t?4N76qp;drOY)&UEV)@ zdtem5Qw@}yE zS>P5twuZ5BEWA3>Yv3`X3jXq27X=$|=ejN87;Pm=`DNorH#b2rWXqfvHSr}J={=h3U{?-W11RS}eN&PYVnbo@qab%(y^hHH-;ZR~5 z=L*gnq2Cg6xMP7(2Ej4u-~1u=ghh0z#~+gNRBiZwhF+-5yU27PkW*?Lfii0tI1m=f9oBir*A@}91RClnT^vW0 zbkv=TEBv^n>TNwCJ?2gd^B16W{Ip;-Cpf?>44z77fl=<*oiYZZpL3TiDPTn= zjw6T|1e=mtmv~Lk1p{lrMB@i{Wqg4*L7w*&%DK{{)bU=~L1Hq$?nTubUclq-t8xn> zG;qZW_%C_~o6-2VozkpwsU*;K7z>;XusGNqm1V%?WwAJxuY}n4R7idpEl#=Qu@@A~ z=iZLJ8Dq>u2>KP8eUI%~EQE>D_PDN$>2&6thY__gmT4N74D*+>{g$Q$`MRky>@ zmKTpk%GIaF#%gWL7v&T^D#sOG({|~M>dm$UU$hoqTyRV;a2Etd98=Qxd8ed%069FG z?j_+;JNz#LJov>9`XkDNJiA{>i{Gh{s$+V}W6ieBACKvLcgxzt1agIC;n`lRk@6`Z zU_yC)|!h;Zq~-<^|oFv+C;0%48B9qq`AyA6s(JJJy?hLaL+paXp`(f6hr}(A3Dgu6x#Ny^i?! zxvzA$SuxO|=Gb$~KVEbVkw~I^MvvQZ8W_2VB^vHjQ+_Wjj$u&>ra%x9@(cvAHxGs# zY-Wq1@pv`BdTemj`s-EBe)%9oEg1$<1+!a8Id)Cj80nmaH0Av*>6cf()~mpRN6UFB z7^M`RED3}6*&~7~>x0Tb>3~mP;x_4mAvLECK+C#h+rsAvf$@IP?mr<|A!gcgOe2Dd z1@Ud#(P4@Z3hVxy%3Jw&>sb?4Jv(QbBO=y_m{R8gB6oh&x*50v3r6PnFtSC$W(!17 zAmF+dpjNP8$`fu1XKc5($6tabGQAGerV(`RHp!vn6pwTXF0n)fb-9&@`ap~~;E79~ ziWrMIZgY(Wh(zYpyaXp)|9p%iqLZ3g=J==LQ=8yHK;MLpfz)k|eTyBIh(T1$aR29G ziygDbvWn?!=#b*bAY$MkAQVOlas3DQh%KUKsReFL?RS4x>pYeBV9$hY(ltSZmo-;k zcppBd5s4V0+Lsq5+rfe%HS!{)cIwZ;nK|9UN+UALnZ6rw-?MP)-2@Gl3EJduiX?`5 z1O;FZq8DPzC?~*`{0=Poo>Hii@(i(rweNl!BXlIr&Bhe&u#qTT78d_WOs9Pjt6!q^eY@61HcC+h~s2HUEuZ zq((!-U|Q>RL=rtrYNfW)xNgA&(}9z2eKBS>rz0AR9P-F@&&3jB9h+*V2@8;iL z**wmw?j^#O6>I8lYJv}+^s>!V-7aPLt$W^Wyke8OW+H|^ClfxID#xb5HcZ|WI83A# z#gW}zCu!XZ;~eoUpRW7yN5)Lrwfe|gQkMHA75A9Ql`)&1!>U<~#*}%DJFz%k;6XyZ zh$T(dDQRF)o_M#(>jnHb@$Og~!QmG_^HgRu$Q{F^VJGXep10slmzwiy+UU+y82H%D zfyr8j{z!J~*yI{9J1F=uFOgtMA0{IUVUgQt#k zpy7`U&qW`NUnFlW{ncL;E8()70&;Qw{slr1h}cIfcj2LoJzenELgl|1v{W{H!ZHbj zj#uY_GNb>#_}bZ^k@s($h_7aI(}oyq)^Hm?kIygSFJ=;1+C^Qc8oE}72OD#p;u}%< z`DA{v(&Iiq$96K-L-fIB=7w#M3Vcg5Fh9;7Xm%K5Rm~S08&xqTopJ`Imz-L&dL~CP z|N6g+jK?fW@6L7%%RDS?Ho+CFFo2U}xd$_<(s7mZb46YxgI72wObb$LZ<{D-vwrNl zxG?3owVXFCII_61T{Fz96p_@gL3Y9n*ui$oZ2AR#bp6Ojqd4U8PIvqLfhKCG$s+iN zq7pRGUDzsQs;a&XYAzE)>RPf*AtENhDZlh%Pfa6TZLVS|L#*nsy<%9QN~j4sD5pA5 zrR)%y3(}PE2%|F)f=0cTIbW)%()G+2Q@dwC&Cd=J+HY~{Ac}Hc%sM<2QI%L-B>&}Q zou4Okzqr~4mAv1?SU@Q+r`02>ohE(3W(4iZzHslOOHiK{YzxfMC3i}6C`4W3DUtX^ z#NHsDa%xSGcx0*sRc_r<7F}67bqUWzTcSs<_y#QdHDAim7laCN`ufO_EhtaYm60qm zYSOH3O&{)2Iu(|RB_)$6J@3w5J=4EI(Lfiv@_?5>Ho1(W{$T0@&oDZ2KnPRJD8X;$ zNc~xq0Cr?;?_$iWlG_tC?n}E06Tt>k7u2iobd=o@Qo&ud|4h(XNTA3nNOu9l& z-!wAg?yTtRh&X?|G%yp+D(TVG;1xF})3I^A9Wy$!t}Cfq)eP3whO>j$#n8Hj1QOcK zjIb`Uu?$l_YJx>duf0sxe(BWS?KkgB@e|x*QpI%6ipLDp{7hU8AJ-MXc+&MV%o9^w zx!YDrw}^{v7rkTo##RX@^RO9-kXcPyd7B?2afJm_EmXdt9TN-$5NkDIzOuXW*Wypx z+^@B}iU~zo-<$BTAw~MSp(&A9$*@qn`^m$+#u^2Njz=|0Z!*aRD^!7YBzi?SLIP9_-RcR z0rp_a?JmVBQ(~&{nImqE4zGr}(bb6(*wi`IXw@98icejv842)N`Y3rf9YJLNuAaYu zc=Oi`aSZ$nyfjN+8e zqN#gfbEKgy@)0_P5kNco)HJ%|B!t^VRpS^1kMMvR?s-`{7ankYP7<6A+tnO&iE@5h zJVW=bXdBOfPT8UC+tm6BKoE6gk7xm8%QzYmqy#0v4%{Oaw<)uVM^<{V_;sW*9x@DB zX9*(LA@Df*d1p_3MlZA>YwMVy8X4>O#7fg9T*@NZLcQT6JP^?hqm#T(Q-(O#)&{(? zzyAyg$~_>VmQ~_tEL$?AajKw9R3xrwNX&2-hD2TKhwbP2Vxky+q6*C}VD$4=k|-fU z#Ykf}v{9r)Z}T|v)@z-xJui-?T@~wp#*RE!Hew#v&M|W&B~JmiFcCe8qQl?uiJq-( zy-(NHKv9~|vB(%NKf8R7sp}ElcJ6Utwl6JJvS7tEY2zjB5aeQko3SPV4pb4uTnisf zYIVtTP|~(#ww9$^(G^#;vl%HXA(->U8Z(=<{!^KDUj1B^hX)d~xe&K~w1y)gu<(G} zGtW^Pi2dz|tNs%k7c0xnMcv$UUMAaLT0xM#f|7dV=H^-mZke$-KLY=AWdDq>EyncE z*pl7wQLj_YSiqCN$Hu9XeLa24OP~ z-=iIJr%X;JZ-L9|u2W|!{H!{-cRIiP-PgA$?EhC;=3JUyGkuGtg}?v+TmU4{zhqha z_06Nq7^ss^UP%4SeZYGk(N<5T-I2ub29q!+_9#wdPHfqc2`vjmW|zu$Hh$+FY?6nB z5vkVWVS*h;?$4G7E!)76d4ZOqiZjA>)A$;y{i_A?KsPDPIVp`c$iMGcimyXu`zAkE{pM7*Gcn$hxmj8 z;te})hiaQb?XH^4A7DHg6ogPeg}>EpJPo%F88IHpWPEgYU1z>?^*PCWERiY)w%z_2 zd(54Jf>iuo>+0XbKgC{M2zP`u4fnp0O2PKFMZt5EF~I zNKy!EnS+*0$^t19hZqytF$+0LPDqsU#;4{)k_>VQn|#CAZ}3l*!vSv$I+YKwIgAcr zl7Z<-o9S~Qk+e%RyRQNx5GW1oJHHh_c9W2rDnjEgP+(QQc_-}C@jbN#3BlaP9I=ci z$xO?lEk~md5PH%>MogHY+CXvFAFvfqI@18!I?3&MS~d&=uL|s794b8k6D}5M#fFL0`p``<+pO8I+{%auraK|k_c=i z)?iNP>SPu6r9j!@J_9A;xLmNE(fZe}ycKRr_G#%*wP4iWEG*BWZnUs)&KAZ`o9 z*zrWjpE(U`{X3v7DDu#<6s@1Vd&(d|_y(dUz44+`t17S}e=eG{Tnx09vYgauDQrQ` z5h?=-hFk!O{Ln~~)_9L*n>@65>6BRE6;F_w`Zf+huF0%qO!yj*R(l1)vVfn$%n=TEts`HBBXyb^@2wk;n@w^rwih7PQg1eii+ae9$oi0}xkz^J0%1b8 znH4}!&wqe(55cdZ!`FAA>3Y#$Jie=Bb2emCy4y&)xM%nLI7ZEg1}!K-rm+ce>NB~s zJi=g*y3q-7yTFR6SPE|G(FM0N47IPUTXuETRDULm^|RH54C&c;dmFx&FwQbB5%{~1 zfuFM+En6nDR-zc}=3ZJWNE6+x=I4qg;*k8e^ZBOJM<>zURPekPA?RcHYa6DW`l4aT z761MU;lD+@t<>4|KWIPuM*IKM<(k@={3o!F*{%NrcCc6YpeuOUYjh)w&;`^sG}$)* ztf;2YAQ-9Xn*DaZ8ix~zq@Zu!N&eCP43T;18-sa{7e$FI@zC^$yYjYi&^RN~NcPv; z%D&0I_b@V2k_vS5_sQW||1no!^B4#vKOqeZ0kI#nt$;_MSq%&l3!6o55>LJ~O-$@D zPAbj>l`JJ+=L~VG#6#;oB`pODV-<$+cLlaE@-4T}KWOJifcQrHL_+ahZOLeMt|gMn zXY%m2B!bk}*_=mhbNo8BB*0DPl;MRe3hX3|*(RmDjz_;+DKMrTnTQGq`wGHkW`xTb1x~!o`hi7&H-p}j94b;c!`9IxjU*Efc|JY4H|KIHZ5rEFK z>E?172=Grq`;VpF*3`t(kipW{(A<=X-oeg1QbA4}4jTKPR&bIMB1!-N@G<}Z`WNz_ z-?1R)GDUwspd2JLodE#&!G8)+Dh)gi06++k6cJSM$hz3{_EC1t5%_!>J1lBzmR0&w zv~myMB`6KE8i)5wkY@lkrn-QB=cJN5c={>)bsepHyYA{D<%6EH1Dc1V^(=;@KO%}d z?*iSSmz&ODqUmtn`p)%}N$O7U1*r?T|j*|Ais<^N&q zD}%D?zPE20rMtU3q@+PoI;6WxK)PFzE+wT)x}+PVTe`cYyWj2eoB#LMVH{>|IA@<7 zYppBR0gXHaT^#W<9^D@}@{q1jCl0Da8N5$PgX-vUtWeq3@KlK6yqnIL!mH{lI(*dK z8ysR4yQ99YfpLB7Y38vgsBgwhV8!-$jKO~zk8!Nzb8Tut{%64hV;!NPmC{7ni(f>- z&{LV4%nuhUuN$4t7p3W`Bw--2cDj8j!Uuo42XhWuwBvrFQ-l;?M3N&ecMTkIyP`lK zYlZSNt)Uw*7+VOn&9kzEb?x;Pl1Zx1M&A$en)Z^=s9`z=cP^=Z8r=jt_q> zzWgx%ejL#&lN5z6K7k6BuU@n_TvqpiuD$H2$^RlX|9j)T$nycOzn}$tJj(9#`N6>7 z+C%@dgZpBjU+Vf_{uY8j+Gf~Z__6nk*(MIJq^Nc%LX^2E9b@oA?7Ma^GoL)vg1ygT z5;Y4hDg-y@M{uu!_??4CGyk+uBh+XXRYleaL*g@n05a_RR(tUk$-Hi$)Nkb$3 z{SD7&*_~oRk{&_^5z~~|;rK85_3J3&RtsI=mq#k$kcrw9Ff~f1O{$VdEMoewh=_=o z;=a;g2CfYjlOv0|97Wq!Y0cTyX;CsTq@=~gb>a<(@Du9eP=;7A|2uc717@6QBeV%& zeVaXfedgxoVLcl%c-#y$&T^`1lM<8|nPUi$L7djRckQ;@nSVqUl=GKsEF^Enba~Vj z)(NpP7xgrsHFj3qH5h``=*8(}93Qd8dCh8drfpoEooh5oa1d`LB_(@$dWwpyCu#g4 zqSn^h;^N}u{;)W;h4zKQr+vK(g>KdrA~}uaK5CmGyF4F@ncLY;t9H&M+wy((o)S?$ zK!OD_319wlXDa&S4()=Dx4P|gAff9)QD9?$b!bXlJR&6|6!g7!F*GELk;cWt!^6d8 z#2!pj@=yQ7UoUJh%k>QPRQ^5CsHzCV$Z=Qq%F)C3PObSDWI@Qb9F;ib(2c8>*v{td z?ejt2(3o&r86G67>bh<4yElCH-E!H}L0OFE3=ab9N@ay%>y=VcPVY97#tctP`$WET zt@ljn(i=p`xL&=J($Huj;}9=*bi2`Hfn3t`v38B>?(0cBWC|A)Fx$RECRHwOZW+S9 z3r7Vt)z$CczmHE)WA|JV9qH}4+FTGxeg4JbV5&CMS-?`+R`=HY>J4|Lne&i9$+vs` zG5432Z6okmrh5x9pF!)@+2Fb8)cA>4Tbsp6XF(##STO`re82;;kGfzZD~t1TbU{;i zN6%r>$()|^tqfL2eIc=3aS6UVm_tUgdrt%3VBD;I$KCVd^J${Y5Bk2HgLD~3d`pPz z9u1_4a=|O&A?T^Z#7IHt?8t9QXVGFJA)*_l+Vk`C%(w*?vOkL#e-=C~ zl*%`6GkoBle{t2yT!9j)kb`b$yPzrZ^1NwQsBEBm*mZ4@ZBY(Ure7P==E{wVin8WP z-Py57Th7SHFi=&E&r>#fPHxHjV4K}W3Y56-%kw1&ki8=fLsxm70-J%I#Nfb;q=iA- z^4P>zS14G>Gz8MkyX^-L^<@nePCdE@EBEk6)QUwuITov%hsFa@y}t^Wi}p)bUAB4= z$V0@@bj8MzB~`u|RPf>>%gV}vT}**r`Su+>nU_D(U+92AI-5FSgGL-kqMdyaB%p_z zt%6PDN27h;gKqWgx7B)5hz$=szs6KjbjYx)z=~m#e&a^lM+iiYC#KnPFrHBB%wv0o z=B1%rz zCOm1b{OOBF8jRR?cXx5D2$J&7`gcR=hi)xo`~2vs^Xx%c1f3>TR<$~*1>axyl>YuL zlN3x@3eKBRo~xVU(D5=+%hZbcEZ_X06smuu<62?+^v=ox9=zU5$G z__Gbli>B97=q`9p{ORxBy~B;5p`m%p#>V#FC#ewdiRP!~Wqo~p)KDt$iGV;F`BxcD zP?K1h;ERnfn_5{_w)+Q+#iWS%KS!q8cvFF3ZO7x>s3)AM6mOO{1mb6j5f~0k?gSq@ zd&lmD-23;i&|-N*VYplhCkwS|vxsA8t!A;qHaH-UNwLWS7mOv=V*-MdMH z4`C&`r9SOyIQ>3h#f6W|n#9D-{ed>&^GWX{ROXn{dwI-o3D%^V=E6ehWz#Bei903e zwLfNv+5MpCuqWyc&>6Fe44K(0Y=uqg{(XuVkAmFk(K?K;F#apEhZ0+rQXjQgV(rsA zZt~oA!#7-c-{0pu?~bBOuoN)VFMh0FWC(YPib6p~JvTM^jmZHep{*^OgoJk{fhY+V zNxsKpCAC)ig`oCM4Rh}OTb1OI?Uglw{u98qyx}?!n0ZB+(M}I@o)COD%FEBs&(2OB zC-YuT&Qoyd5PQk~=Jb?3X{c(Ep?UfE<^d#EEoMe~`f;0DzxJ_h!Zcn70~;y7Srytp zJ(MBnU@f?0({*;VLPZpZN98PirM(Uvh;WhO^CaTGsih*|3QW$Qh%6kljZp6tAODj4 zZBuJgs}s|gkdi`xhvy!unKmOx8nbL)NZ-7yIB&;;8}U6h7M%<)DK*v0d{!u1dFs!f zQgz0Xl9Ggk1O~hvv=HTAAoJOG8U?r4-NQkf4EU6P75NUqprd7cJ!e4n;8J+9+&vsG zE|baKL!L8X^(8b^O-&8^_4ZV`BVHw_CYncVYPHKW0!7iu$dWQLSTVzB1^IY*>V8%_ z`gy|H!$qQp^MFk>^2_DTM?wn~3ISQS!ex45o^N9oy9FG5V-HhQ!y8?Tauo2v+3oFy zlySppyfH)RpK=*m4Jt+~YIMp#LOs0d?dzkXp&7{#dPt|ZKU!=J@lj#u9RBz&l5ObJO5U*y< z{L<5R|NQy0<>ZM!*zhVd;nY)JAEj)egiI5cc{C12 zfq=m)s79uZnbofvjdA5M`I{^`Co;hUu0jrrqB} zAfgnOBPtx;y2%K*dN$VMhc2nl&v|)yo){>^J+vZhF;l#@3qDjnR_uXDNlMeiai1cwio?ozz3+Jz1*p}j2()6dQ?|S64Tab^-!tv=qf=zyed>ouhuF{Nl5{dkSu~O{)Siz9Tvha^(LLa zKoqCyBy>ufxgwL>EV7G+$)_Otp4Z0EOR3Du#X5t_VcK~ z$p(?a#d+>^5Cp;>N-iSQg+VPlSl!&Q9&U$&6>G5__Uq*M`q5~jz9b>`Pm3S}5hUQi z-p0z>y>P@(ODBbDHp7nZe7_16a(d?@BqRiq)+;AZ6%`B+%FvtO>w?IY4+$hgG*=s_ znLfMv#TNC4RewS6ZkrVux}9C<3Do9an)_tP%u_VX%G%^EJJAY(NJ>^fi!L(c$Dstn z!2G~h)YjIXl4p?u$uvkV;d59Ych3z4tH@S2)$=ZPLdLM_(wUTt`>4Vjg!VJRHomSS zj!gwmS9LOu-XwVwBw|pe6;oO7iu9NE~>r5go`85oX zk9k8esC`^A9iG(DAVvp#f5sj2ve#wa^)>M7b_d?HPeEIuJ>`FXZTf*qL*{Gi^`fZ1 zhvg8e43lYuv! zCv$fF%DU}q+PZ-C@JHSk{92SB{QkpYL=vj33~ert-|7b>5wi&>8Bg1j;ItjOtbRv%5Qw23}{t^5s?9NJ{%pS*U=mAR5mz2)oY)a_P?jD2VArW*s*w z3}o1|vW~XKeJu0lY5IA3o$t)Oc<6cI7KeCMdK5DOY4)RM3qJNn&5L)dU$QeKil?}dkOHz(iNT||wvLpP6U}5Z^Uh^Q zN5K31_p-8a@AKX8hMVm9Bm3yeJ#1Y42^Yb~#Im*Hg{*9y_? zh1OZ3{d{h7N}QHnsc=3>@6tEPrarL&h(INjQw-Jzjc` zL|R|=XJ9X=YZ|b$6Gu9r<+~>nnKM~-FS<#6GNQ`$AY@&0E&=7Yle~jBPuEXJ}K?$o9|6vhmL+Q4e0xZ8wKaLR3x@UprwSxmOiJ z4`@n4ccI6+DDi8b!Z=R2_PX{?W-qUmtsfXz{t;kKV0cgmVxs`9H<*e;nEHd1_4Dnb`_bHTMx8 ziC7H3DV*;0uKA4=04+t0bqy-#!czFCT>rRbQxp4(TA3l6Yt@<5i zFMgBxlvy4(T>S7&Rl&Ai9+`9cuLOG|d02=a3N-`dzFb7kd&l7j8;?Ai*8C36nF)`% zXdPN%-Wol|!CKY;ENZAKtsjmbyq3xj(P0Z`B_$W#gvOvwwHx(JQ1+5=4}3EcYo!YyZ#&)JT<5d z*sEjorL~FuUr$dk08KXxu!tirzl|hc-$uwvb@O5IUT=I5xtbmi zjp=yveYPU2h+a>x718LADd)reJu|MHfkB1@W#e|I^UmeoMli)9W@>8o5lXjKObDLi(=ik3<+C#OI{JDG_P@*+YcbR`-OFr3? zIM(=`Zr$VPK>`XCTr0EdFd?G#H)Wgl$tV!F!G+7as!%+bWH#QGz39K|d5Llot1GEa zfnUj@M#ybyQ*(Z9Y?%DG14%_J5QADTa>URo0`JwLYn5%iLt-3VJ&)+Nb35zt0nd0A zb>KJs`S$d0t1}gI>FMdn-QT`_leb`tpPKq*`$g%!WLBFSW+@PTB0@Q3RVZ?z-=k1b;W5KJUD#(RgYNayPy!SxnOGIur4uf*~ImI>PJW-q$r) z^udQfemj%tLqXQ4n4UkLV8NM;KmILScC7$p1-S}c>;QHE)H7V^o_f=8zHOEdwg8WF3)&Aq{PLR^y zNed<|$|^1TA6-UE@-a8Vj1xpu2=63KmPo&lfBm+l4XJ^2Y@W>>xrGM*IlKZj3bm}46+fs} z=rQ%RfjwVJTFPtcU}*_dx`YSbfXqe?A>o*eHz*_`C17A+cr`fPR4YGA&&>SQhxBOg z<_+mfPD>axxuszd!^UvF*%%KOk7c)$PGER%RZ5e-J zaq-ZR@Ad1~j@xSBx(t86rdWLW0{@Zc;qQEngYVvvV^azm(K_99oX_Obd7is5ZrnE5u6ri5O8FybT;T0tfK5MBdifIR8-s zB&dBLQGlc_N{)CrgD9E9l;B4o0_6t}kx@j3u-DhH3XA_QH|^&&H>dScz5B(@1ao?v z^h~zWy{+G_XS?S+vvxNCt$~kAlS|JyZvIY1-RMt+47GgZ2)X#e@h9$bd|fd>gv`~} zR!B6#b1`U?d?=ZQZ$;X94K4aRG*Qv8fO83jf{yiGH7_<7Q5un4R+Soe$c*!|cwBO_ zOnhG7<~qc3PY=P;>SnR&^I0mbLGkHS+_84??;*pliM(~TOoLclbnU{6(}feT!d9|h zexPMN_#9@>eXfyAdKs^}LRs#5O#{JiCTx4_zHbCWp|o~8XLdNl>w<)5!S2pufJ+f_ z41e1^_bYqaMorDWvehnji~g$z#iu%^(kFDA^i`7^w&AD_Z_cD4070cimX?#Gl2NAS&YuSl9AxF8$f?^WRtUvzMjink=Xt31Uu`ZhP@UZ`xZw zT}X!#2`}9GMPP`QCQtkQ)YaH364@HiOcwF`n2Bo@e0Hw@1*9UWt}61$-~ltI=4E58 z+zW5X-+ck-_z>0 z2IF|)O!1aZ4qoVCWo~ln?c9x5$h4!xQ&GI<~Z|^>WR7*|~b2qeIq?E~4W`%jxsO-(cUzf7zJAsvll zbvKO}ddW?x)AOMZKl@wcL(sz&@x=CuPp>5@VX8epC&B?OcI>a=0hOvNm^B$aptdW-D1q4%(8TAjWrS@JAqRZ~CbkS)=2qd#?Hn$vT30c-huGL7`3BUQ|MzZn--d zI`Y?fs%iU9_Tts}jsLWFrxj%@JpE8I%^=sn$3ocmV0v~fA5Ts;PF?=V{17#YV!tiv z7^}9vsK`0<VhOh z0Eg$o|Be@9hgL%!y^lY6jHneUV(wK{=fLZ45pUf_VN4UbBh1Ab*RWk&TpSyhm_Vw5 zaN>Ta<)u&3L=yf|Ovn(Bj?jY7@d}djkXeF7zzZcyKw-QWd{nnooSHv=KYi`CUGWTM zvdbn{EW$8B`mopWc05CH)-vy48E(T*Y$w$z#r~yNNdSN@lCsnLUJ#D79xo3D9W7trW+oO5ecS#weEHTRMnJs@&PBHa)f*h@DJt6HY%_c?CExY_X@5kvoEpD53P8ZHrf1N+_9VXyR-tfMOZU_P} zwNN6*SV`Xhc>x4gRaTQO#=DUcWFb1Ul~3;$&kJ`56^rQz0~iPCGq6kx|6)rv>ak`k z(_@B(KnE&QhZ|8^H|^crJC?=E#>r-}qqJ)v!a+&J{^VgFKe@VBFSbes)s3sBU>}%7$BE5(osd zB9e>qfp81mn}b>)4JxU8n_SN#Mh(yTp;#zGjrsaB<-ei4f(@#a94mld@CmSuAwkeoGU@`KHYCKv0HGe^LZNwfD_UlGFNI&0a{7jR4Js2s50xEafEMXV zP#6I*!Ze`}f~v-RWjy>_q=K6eMPc&o+qcF)wE@LX91Y;E{HI+w*C0!c#g z9FQCe*er_We%;b3DgZJ`M8yW3G9Zrn>??$r_ykmS?9 zr^kl(`UoqY4T=EWBwTSsIJoEGa8=aM?ro<5GmNxGLQ?R!`Gd+O)1NS!D@;nVu_cgoC3camNDe0EZR9fMi6CX!O(+_8U`wJ-lV+1&;1YlH`jqGJLQ+&*qBo2Syx8 z6@Wh7oiN&0S0^UoV#(32Bv!3IdU(u@v6C)PVZZJ%Icr^Qypdum043y}5tGamM~XaU z+*j%oJAuS~*?d*~77rEXxZl6!KUs-OONRoYK~@&U-q@WWo?1?B$i&nX4qD8|M-ZaL zc2A{`EpFA@iHPYsY*EA9B2XxS7A6rNAHTG?C{UZ-0N{ZhD=%Qa=UkURcGXb+1E9oi zza{X#7)MIw+QFll$S5j81&oeHFA7!F*U#==m|I$gX3+yauoLisO~7lAt?YqUn(Io3 z{rdB~UDdo@f{3}JqY>Z*fXL_afdW+6tdZms;JnD>pT(6^c5Q5IaDFIWSy_=K6#*tZFOvx5pzvqB;b7YxH3hzbbc z6n~wzc{Lm>0qHQQf|e`z!{wW6+SJs9iDfwwJK|FC`MhU*83D4;dw+iq&jR5h+y7al zao}FoQc?ZbHh8WO1<6{jDR5KMzw`ZGJCdYiSI*>bGrKQjJ9tuJ3q5|UtwzcxjBc2E z$m;85NbWNw;_q5&y@2iEHlipbdeN-=Fs)10?s7Jyq_4>GpTtTX4p31_OV;fbn8^5e zOou6w$>rsd-HT7JVt>Y08d=}O(c%m0W$GsA`)i>ogbE~S=5sw+>#p<`BnB(!8u^kF zOm%O7Z(V_tZ5((xbW^-nwYg8S{dL_vE4osn6j%^M^boE>uYv_u5A^DDi_H6Kihs%D z{L}C)*Y22($nN!Zn=_ZaD~rsfN7|Cyt(h|Pk`f#3rPcJ|M4gvs{-Wuk^3?wAUs~YY zufq>f_5i0J7r1}6oqBqErJ7>*;!{(1uDo2EY*&Tg;qR?e+b*V;RAOnC)h4yu3ylr0 zH=5{d_zB&o-DjC)3I86I7ZpJu%I22v(Iwidu6Nj1GfDN!M&nB1j1PnD6^V5Rxir!? zFcf))DBRQUAu{jVE#7~tYp=N}lLm9l?C+yn(Id5dclZtw4nr!|%DC2uZTPo3;|Igc zFF9?#FZcwcGuEyRZ5rzDON;kCO8oAyKE$f0Yqpo=7U;ZUDE>QYAOsP0sK0M|!#R6o zwVdJ)~nG(@(Vcr(nn{au>L#c3R+ahBI^d>GSxOQL8V~3IODGJ zKd(kXV*cG5^D(oK0wi!6x@>BCjIsJ9V4*v2-!^HK)Jm6S2w9FI8w%0b(0pJsRIQjJygP}W*{A+|W6EgqcIA-qbjqb)bbq+P zkw{ET1Uu=6winfZbO9|5O>J$hxtZA-YeVO>%LJO<^^eHC=X5j2UA2?qm7=mpqgNw% zJ_DcRjS0&|gO$9~OpdfG&o49kMz1`5JiE7h*BR`oPIB-dD*qMQs*Nd z9*E)a_i*CIKpgS+_y5QBQDDR3i&2i9+~}5RM3VDza0&|Y+w>0%$SNrnTHoKlZ9)X@ zIg&{7ILlg{9utm;&o6AW7PUIw-rmkmPS9#boNwMd+;h1#3;l5g0ji1WwhqtJt(k=f zx1KKrUjdw_CG-gZkW#r&%JXl^rY15ieOgEQ~S^ zQ4LWXQNb3BXn6Nx-i{B~)dcWieVYmmNb(jI1tS(jBm}SgKY%g)D}+LTG`?izC$4i8 z+r8dD+UDnt4uJ%bgCTiO*(43&>~#H$gm6-^h~0tYSe*FCfE?sqg_EL;%gfI1cyw1PLa=M{r6Lj>(EDWX7!6;ro`3~HCGP~4gmWp`?`lZX4k0^ zKt>?*GvjWqG$w4Fc`VuUcC*8ZeU)hVEF@0P31V;jaRTrM0Lh| z`evQ7(V-zE6=U}lU+){>qk|GVH8q(d=E)o*yV|DCFH&^9rP9~A>^8(le@zIM%B)^3 zEG!IU2%X62NPOg85Z)Mmq$MW$JwJK^mZ?Y{)yvpDQ}SkMa_*LwHPp6d5y;B^{vr&T zzx&u>1BGf3vrj>ulXYu;l1fmtBupEbnO@dcSO2{(f94Hl_X4mxlyUe(iT0x>H_mf^ zS5}1MsZD7x(>0PZ;@YfK3S>g=OyeslV6)diEyRHu8a%YUaS8_kJU7@6pa9j>FwTS) z&Lq=nXwA!m4V{(mx8os->IIT+k-CnC#*SNzHgn?b?X6_QaVG`^7)>|0%(rDfx|4>u zZO1n-@Z+gpRZ3RZX#SD%I*NtC*Rd{vJ!-Zh>>nAd}2J zq^JTE6(*)bR5n-MPkh8uxyCM2qVaipta3`3;4ODpSXeKQyZS{8MM!w8U5|n2;fP%d z-jw>?$kWTqEEo}%3MEzKrd*Q+ff2#To$&dQGT*B6FoVXL>jpZHjE8wFrn&(C#L63& z8cD>8M>c+2 z-#)^|*1o;L1kNHQ*p55E-RSA*3EfGp^C~A`8mdnqg#s%fp?6T$;;et*+U1sDkMzc#)rfv~`$5O67E3j2C>2EoO#nyE(rFuj*DvS($YvOb`~y`tTbFVv(Y$HfZ>kcI@z z+Z`VqFfuZ3T-%ulLoe4y|UvG_#+9G!9_|jOVC{?BXZvHf*Rg_gNlZ^?`TjoGY1Y^#qF}fsqFlm5*34b1W&AJZT6kh;$!aoE{sT5-I<7z|R7PTL#bR&8iE> zveynEjjG6#vE+S(t?aJ;pl-UKTYVNM_{|iv`ya{#CQXWj0dbdz{v7KCU`&dlO&X#} z81N7@aN;Zv3qns-1efjojD!a&M(TR8u&->o#=}GExS=+qQ~RtHJ+IMNk=Orf*UZ~- zrl_i^$;Klu>vs)ro+X3IZU7v2bIufXMiiAdn85x`C>7g(yOZWHI5=3)f~@&-I@4lK z&&1EqN*dF}>X9)0B(4~}{3|y=la72B7Z>l`BTj(^PMbSn#05gbym=h!Ye3f_f}rKd zpMC`1_K=?smdHeUl!NP?`Y>vrOm75X=E|DCqZp!EKNzx!Db2tDLw2*|9y_urJH9+^ z!h{v_FVB86PF$oU4p7vg;;7vpw93144*<7eN3hkzPeO5O7 zv-p>&=-LF=)6-DjhAZa-Q^rJKU?3o?rTiZP!8n+6fs<$p%nofg%_D}mJChw;SU`tp zmy9My;5*A??{Laf7L^af&zZSxr4ooL;xaNa0D%HRLrgE2`zvrY51741&cKQ2;Vc3g zz>z(nIM5TYx)3q#k-L>u<}sWLlHz)*F!M32=)O{fy=9zoS>h`2Gf{kB(esJ5TO?>4gY zKib~y*ShKQcFMEl1Z+%9Ozia3)puk6h3<$R@ktjSA0Ghj3=9k|Z-Cied3;?f){$uD zkRg<6q0UKYx?9USISp$-rg-K~Uh3sfBZbc!QW64!KQ;hPbrD19vnBy+@q!(0#OJZy zzCIxL^~zGmJI(|ElR2;yc11byNoYD~5u%LRtc6BU3a(SCbqY@o+&*@oY9q=fb4NJw zd3kwN*VOchC@#)-u#2@3bhB$d2PX5iQ5s~CW5Yr^aqeE(U5O%&c-#iFFVTks(_LKo z2BQwv?}%6NM0ai3@^C-M5Z$mFQs3tTpN?1h@d914kv~KX5+PYR$IO$~V}Zd8t<`~! zzAzgK%t`Q4vFvBw9Vbv^BaYgFP)gXhE}Ue> z+eK3A9Tio78d8ZPN{U31ze!(&Ax4!LgH6{yD;1+kphWs8R)dK}qPW{2Mv>80*LGHrzFk(h&YgT)8voA8^R)6g9 z7i*-go&Q<%zGua`E-F;9uEVsVeBV&>rg7joEZs+9X};y@hzAh63kr=);`e|4&C}QL zRbR`mawF%Eg6N@v2OJ`xPW~y>8st9>r5Xf8#MSHoXImth5*B zA-L6grT^R`Fpy+6QhPz-TdRF{gDdQSs^?Yr>zMYOf~z1LNQWtRszQ?R&qKlx%nj}C zL`T@1jx6+aMS*9r`=yKvBtxB4y~h5FgA4zIh9&bHp?SwGt$HC}$z=!Lqx+%b`y-K& z+vofH-9d6+dz#JymT(}i&-A%pmCqe$c?eB5)t+Ur&*i*^Dz}$t~I=`z6^FG=!25T_r#Cy zV)1F}oHJnp79tvM+S93@{%~L080ki<=(DWbR)I?Vl&!>lom5fE?;TQFRsyjq*PZ|Iph8&j|7}lMBn$;Q=mGwyzw1SD$w3$v zRw{*vsEq1YPzQLmlE#DYDQZ2I)JEhKOuwQCp@auoJ~Eky=aDzUQD(ohunwJE zR{Q;lF9$mRJVqZojY>N?-j}W19SJ zh8FA1JIf6X(N?2@T(t4JDjhE>PCv2kSa!j98$NDPO+0_Zd!Jb>O92IunKo_rOTqjq zsWhblYyYOfS*^PkC;ZkZZApvZi!q=mS5Mp<^+1t<&gPT!e0MFPi4MDd^U%0?ddE>? zIYvN2vhCQG9&2Y;lO%kB>2n>o5jbeNxVV%BP2QuLA`c7M_}s4b>GTHS^@k+Xos{Ud z$1(rF>T~A@ovjz!lM8JGMWH%{>Q8JC7vF~GqxN}c1D)^QImdk>y7kQ2H(15i6H1yE zr{=IBK0avw3k3gj!z_oZEE)J5Wz?-&}P|TyK3Eqmc_0Ujlsuc4 zeZni!(z(e|NAByGTU_XcgP6;@t{jz{?A$yYxjiHgZ5J%t^B$dfJo$Ml??5q_csbK5tz@|`meAZD+Pb?U5h2?;G*bDCqD zpJtIjps7T%n)Me&-T1Qz1LU=;cRstCV`a!E3fA2(IXo*X^?oNpDKmVOp7cE_{dilr z@P);7x+?I6jKz>}uw7*FClezpG$iZc3d;b%VGCj~hn$XUwe@3P+nbNq5wv=mIOwa7 z9!2Z!tFY;Ha$(yV*r!h!APnE(7KqG><;uv#S4S$ma6q-kjt~9Nf&>dKEJ6z`Jk+wl zTd`g5!;|)rJ<^GfI6P;`)U;UsdsvI#OoizfQtfIiP4C!}Grg>v!gBnj!T2S#%jE<4 zQQXH9!9Tx>P@i9f2QxGJIN2pteG5^);KQFkr>*>{<=G$=v@O zf+g_lZpeq$NjpmZC3Ny*8E6<;;1E-xH-H8lfB?Q&7xmRMUgn!wo=U4+gOcgYxu==H zi(e{L>+5>2QZks^EZnDt%E%K)kN~9``sK@`pTDY!iK61D!nGh)gd}qJZOaP4Esu}$ z@AJ=xG`?K3YofhSx8EGZg_?XxT}&esh{)@6Cq1qXoenH&WG&9)xFtWH+-&T_=x+8e8}Lr|9n31Rk>)1cV9hpGFx4x^B~P;8;Uhs z_a-|9VYJsfSSVx|?V%*7j)f#P5k}p6)9G62@WI&@Wx&00wpvW*2bN~(-Cq_D^ zKtrbQ1t9@l$PlgOo%6TTkO0$vz6C0ohC8UA1tf+;1|G-HO1|8e>r|)m+gHssOt0}Y z*`SkuKUA)s%vy2LCNQwDuuxDKbJ9>#Q*Z5#DJm$S_%Ln+PWoP92-`mGXpYjYzHI$4 zXe!l9RTaE>&x9E3O!{;2R(Z03|JJ)xdd%=IjiFx=2hG^0Dx7Oq^{L0Tfh(p42t*<6 z!06pa8c2ZsiEiIAI}zmXx7z&+Q#3Ysc0>E+36lA4S(cms<)BF~zb^YSBO|1+yBMVFV zR>wc&2)@o@en*H|HhYPw);(6eG^5O|HU9MB(>Jl(-ZtBQ$M{2-GNTY;1Os7+f}6Op zUA=qGe*?+~T&)ZQNKzp>-fW(O=f?{`#-We-y1+pKVoGo8Ta~cCie1#yyUn)3Lm)Y& zACwGQjiY-ye{Fpt2gXXh)^bSN9r;u*gue5u|xjCU>@;V&}7IFiR^ot1j zOL=*D>F_WSN?I~?Li$^ujJuV`wQ>BqAK}vPEI6Ck5(Y4%}h;A$?`A&&MlQw zkAz!3sQGN5(x5`41nKqbV|IT?fV%t~u^0m*pOkzgrLc+nt|K4t#R2*SRhr9J1zmj4 zJ_LhWo|rYQPo$T2y-rwbHU;mh(!?**ZY?p#R;M5??;((62>?g zbpiqa&M-=$K*WIt5hrKD6-$sU?WBD<#=Co|*mo>2Hz{>{>Z_}(;SoZC$1e{FSR0$Mq+%T%`H98XkIH}fm9@1Alg7A@ z2-kOVilp%sMmxe*+aUFTna=^ zE(>5CyB}wejSb-YvLCbb6&*wC*MseB%(4e)E1)labXg^wCbK$>xERsgg z9Gjh;O#+=hrBU;=>O!G>^Q2XXP8&HDUW#0PyajoAPJBPw+S+9BK;7$}X7!lufAfhy z-Te>7E<&;@s; zjU=bob!&zS7)swb&jk%EV8CW(ur&ol^kWqC2)Q$#Ygv99UAbF5-i#sb3OS%f^bC%U zYTR5e*wx9*{<}RIxPp7=q%rWI{+XP7w*dEMC1yz5QouJik-bcvN9v7X<{3*GS^g23 z=2wZFj^ZK%2Uwjju)E5^?%L8T2ansT*k@7G-Dvn~AaHwIVpBVF9`_u3K^EaLlZ% zWM~uM+$pAH--ichGE+yVU$~=uq5f=z^89Yqqh0fN_*8U*8X%-Ta;5-p-+vcV@cto# z=XjI0pcPwHRh6BceRr`Nnv*vW8@_gS()FD1Y@G0tA&$!AVSMG1q{O@N((L_pF6+q2 zxzJ~HpiL0E|E)F+PxHvf3uivH$HVUMGc5dP4DmOlQnBNNL`0iTjcOhhKwuph7@&ST zq0zYBWq~m?l>MRm@6&=>Y|p4d>twycf4xdSeiv=-W_SO^hHw;RLS})!8x!a4lKPhq+z&QA?cw2`OJoP#Fl*3ipdPP$Bu>cdbki<~h z((>TGOHWVl$_xW(jCA4T_wV07|IA~+I{$hy9C$KJagQ=yW~!)v3C;e=BvA{(A-Lv* z2;H%1+1rah*pqw|vU;M~TjPXNNj_aZZDYRCCDR_1wl+AdfN%v*<-aPH{PN@Qcjra; zXV9-BM^pwe;?r0)XmB$(%IrvRu-h*!PdHk=wWfpMEArqwNk?rA(b1R8lrtoywAqIs zPaMAZTuw;uDLDB5+D-K_&mzrv?JWo^s!*rC$%Na&OFevO^3deN6a3*h7&B4Q@1z<*j%B2- z`0qMYQofbBAzkBZ=j&a5~oBi(hiS?{C*PQdokwBw!G-iF3_irpKcIc^D zNiu)ikEdtzuaZYpRz`GF-nXMq`JcnAw}4J4uwWFKi;F7`So=Bdw4ozw7(wCz9ROR? zy&RA@$s88B+G^=ou8L5o!1{l9ZgRIiBH3F1oMqA7`-&r(HZx^?vhI17Fpq7O#m*q9 zdY(PCz{ARocn4BH9fZl!^Bt6u`Bzaq^n{wkM4Q9)fH`dcV6ycdDt5Cx^<4S?kt$OI zb|_GhAb2l3@T2(8YQ4|MVTOiSzU?;`HZk_-pJ=!5N65yLB@C3HP(6DQNzguwr2j4j z88LP_G7mcy*B4sv|8b~XT>^1&ugp~$r zSC?v(%x*_HLSKXZ6fSEJX`Mp1`TC*6;QBwN+OW^rhvTpEy5mzJ3>e`iar?lRi3ksW z8{bpGAr+p-RRrXiSmQ7dV#-J+Kfia5*%NiVaMe6csoA>aHxbSLkQhlEjRs+ja+f7} z;PI&+HD=elckc*@i9>4g`edc0Nhl~l(;ewZGnGBOb(OADvx75xDw^ea{ANn7VzLi$ z^|#_W8UVoPl4krsAIqlNU5`X{)z|e8$v9)Rm%nsSkmtucCxtvTk-qajZ+7$`)s*qg zzLzs&fRMqgJmar*RF`{Ih}8gGasPV-kuqtbx+HAY?=%ySzNwzK&U;ujEl`upaBj z$|xY(+vTp^j_+Qzc(_C@Br?(Znp|!cM$0Wn@us&%lJOSN$+RUKM2!G4okT&Dq4y`@ zHBZ)fq0)lGz{9PJD9t^0D34t(&khd^8jU4$$ACVPX46@|&S9TwwAEFJB@+*R z{AWBhE_#{$(+i;koEw>*PFYI`6-r6d|hN){@jFb^fsayLrvSP722sGh8$Da|NBXVAfR?Dq!!NdiM%NNz2^$h z#O7XtV9YmKv>Zs83JaM)DJ@78h^te;iNca7K}$1eOUFnVU8u_9=2tjfrl(Ujxp|N% z7#~sHnD3)VQ#r(bSL|p{ufjA4vn=J+u=r+9+Dm7EX{gV@=e-7(j9l5GztY z`u8tE5Ry5aDERKX;W^Mf%3Q(r_Ayk*r?zWhuANh13o0&VMSz@o1snNh^yS55X|J7A zwAhk{%=5q1KIT@-9dp<4;O|QTii;uVAN!^O3dmO;a-{etAWN<^Vcf$kZ(zVh;GzfN zhk=MUNiZhAebEk@$Y*Egz_w~IfdtkJSuF;7%6&q!Mi*BgRbzD$8i>&-c}eH-2my-q zjm^!b#>S*=Jbrkoe>cB0jvmD=j~bj?;`>W$U#5_kX^@3UFo(0cP|Hc=j;X7sG&MEd zH(zJ$pbH#z2xgI%S=PqD$1ERXh#}8VTstTWYe^xmZV;!9b#!q_{%-(?;A>k=x%$nk z8|F@#Mqp>>t2Q9hJXC`DSkivRf`-s4(+D;~y>sWk_e-QIpzcnVUVeNNh2rRwXJ50( z$*?9mG|U-tYVC+7se_pTJ-$7k)c^YQefaeASX1F9&TK=whp;;SOsc9_Vy6w2S5#0@ zIF;5akpm^6ognW-IvgJz(I}m_;pEN@OS|3&t=o5TJviyRoT>E>`-#F{|o; zPXobIlygK%{z)3vZ&ow}sL3tCviT9UDQ$yZreH7jtRtSd717PZS1a-EVWNWha+ScR zRy}B;zS_>GMtqpC#6o>qw@w>4$tEur&IS$6@z=sxBFAQnc3MSxO+g>;u_S(V6rhNN z7m>cdJma`WE*LmE6UZVRyW%El!%U#cJbA`GNRnYQM3^5{sZ%y>P4wSGaSNy=rB=sc z$)bC2QIEXcn!Ft;)g(0>k*ZRzFtzUZzgC@Uia)`9nONE}Ar@&qa-D%C(SmzuAQk2u zHP{jTN;g#?$i>xYo(x&L)xDeVi~HWZ%?Tt*wHTICjR!L2i3i371GVc%$A@J@?@9jW zcMa)c#0{B0qtQc2l`Wa*F@6+B55Il7Z^fZxVrG6m@=YUJ_T$@XF|=vCD0f4;92(Mx zdMYl|t+u~6uGa`;bbRPVy&pJA>L-F05thU3Pra(h(Yg3Zk6pJaMguoeYU!~2&=?IC z4?X_kYxt^Kgj$U8*Frj8a_oVX&lucDVG^B7dy_LoPU92bznfNTH_hwsh~kQWtbrBA z82+9KCHwXJg4adrjixkZY&wzV4_(%xiYh8_g2aCmMBwVo-+U}CFVMdM`y=RG92z|P ze{0*r4;xvN%U4~&&KraV^0Q}MeSIGnb~$eLxjHKh<2{);e|}9d-~s9d2T@o5w&T-E zcn@sBP1rk4O_d77G&MR94&+a3y87%0O%=5g1f;-oVPX@4j;1^&WBZgKc3lAG=mZMf-L++2(h>$E=fH=8$kjb%oRkitr zxcm!Y;c8&P!ZqKCnzNv%?P7>&E}F26qX$!`1|)5%1lEa0r_KLs)6l{evsf)h36sd> zA`jO=%TSDH+f$-R9)Mwb^JG>>Se1mP#?la7mAu~+7SY>=xoP%L30gk9JZd1UEJ0ij zH+x<(q48gUfg$;CCrZLj#-CRG5vK}ZmFpoRea z(13!E{9NxWc*29IF<|rAi}t-^OJWrU<0o-k@du=^Q^i!jlT$Q|SwMSPJjVZZE%f$f zRn*~aqAabf#@GM-`eoRF1Thn(6Q0T({(IzSELo&fzN#LIHoVT-p|ND&AXH&=v7ud$ zbZ$n{f(Ax1ihssPwTM6_4nNE^?3oS)1c2TEk4M}l)zes5Sc-)M5l&5L*@S3nF~3vj zP{O2gRjqqpGQ(0{J3#Uig{K#QYYN0PTLS}561M+V9SOV+Xf7zDd(B5Ky5Dtw!ZlT? zAr-2%VOK4xfx5D(N$`J8E>;9=Ue06XD!|)f4biLYbTZgUFd1Rh-Kp{f69Oxz$L2I> z*@-ByDL=4SMrBjukq@=7)E44n6(^J8K0AP%RlX!D5yzedTEzZ7Bsh;we$W@8x zuKKda<|m(Y|EN;xQrk9xFp4{M@W%tph@rSJ(FbPtUnpmz(sZzXy;rL<-`;*7`~`Zo zeVGfhvlqYR%OOXPl3}hyfkm8o(Di!`B1siwvB4j)aw-H}oNv{O%lR(`zu z_#P#*zx=)LYFXPjw@4j0I>?El&1QLow4pJs%*A?_>WK4_yy)`YM*v+XP|woii}26jE=dJW&^=H6jxqh+t$wGtzW zpzWWYin4*iB!BuprXy4h{lb;Haa}5X4EXc^#AI*I(-|EF@9`u4Y&r4r< zXFnrm0`y=b+StC^3vE5j1mTb`?CjXw1ZNC!v>}M1-S2bhc!_lPp7p1Tovie;VQtx3 zFFn>Fn$WQxtG>2;ph;`gV#hVRsr73M9X4*f>OtXz<&e3Wi;Ii7cr7+09rsfF*(R+i z8Zf&`|3#)8AlY5qTdn4Gu>JU8MlW6p<6N%(K)AB&JejzP1Po(9b$ul|lr?6d%1i(p z;+y1eRQ-Rx0rnql>?f`6^*h?`y9VZ{UVm#x>?f*deb8^;ZXNB+zduYR%gX+W#({Npb+ ziINF-Sfk27sboz&`;&|FU!oA%MPRA|p#%+?o83tw_fh{>a@k4y#O(3X+4pikAJ$d| z=W0}4Y5md(1<#gz)iH}236(Mppks<>TR1xA{r3uw;T67;KkGNH{2{A{(!e#y*E#rx zEcuUeTI6GL%3FoyL>k07JB~%~e893R^WoLWP^yf0QR< z$Xs(yxk{N_(S_S(t|o8XxUO^!`;HdU&h1I@8l8;Zr4BkHjPA7qNK8;s?_7HO+=N3K zc=eDR3qN0x%cTd7cb78`rgf*@@}=jqXJ2kH4mTyEf6g3P8(49u=vAu<)p!^t@$JVC zi|T2+W_0n7Td-mYAi49uuOS8tOoCSb%#~-;XsO1JbipD3=T1$~^b49|fS zTP9bhjE7XgOfqQ5{N_xB9a-aS1aS$oYtUI#-iEpFTS$!|F=}<908v}%bJRDbE8gFA z+r>kHlt$V~w@%z=$YWUx6vAMJ$7tCO9R#L}<^v+X_xQ3#476W;%_1{=Je9=%s}cRk zkVdjdH4K97Z>3R`l8+w=BD(qb2x-*WVUEc82W~m-C2B-$pg+Q=p`-pvaYr;U*6TI% z0_w|rSq3m>>UMktX--Jj`sU^X7ivf~AUp@9mC^B%M#y|ovr?&kJ=uB1*1=>&h& zK#I&&PkOJ=s>XK{qzq)|#zcjH1jkD2HM>^cER0EVn3<>?i(5XcQF?nd;xUf?iBZHC zO!o}J3Gx=YiYGZDc9DY;2-)-Go)xK^!;J9hRfSFl0xLV%h&)QXN(AbJ8neBCS3$Hg zs+?~K>48zywj29B!gJP~oz z_;6p)!K6|fuaPH4()qjF$ydt=yXJ%QVXY$ZOuq+T zEC|)6bX1Rq)tHnr>(4_3lrjaT`4bR`KY~Z*3x~;y8O^wZ2t<2OVHSTXxzCcvNbAq6 zbEWIOEb@%+6~=9L448-*^z#5eD<9+WNg*DGx(CY22Je2Z9ROACltZ$5>EIN?=FObc zB*5DHVErUbp0TiydhcYb_TyaxE+oXLSGin^{diAgzl-yo}pkApF$MZ5)WNru?Xe6^b?a6;QXtpo$eKkz`oKghWW{gms&{bkfb zXh1CeQV$&crX>@ZJMeYuS^sbJ2G6tJdE4FD%g(SrwvP`hwpFa+eXc}$kwsrW0hZJL z-+?}|4-smPaC@ro6XSe&9s0g&)YV?(V zI_ly%ai|DiI<>G{)b~@AZD{%(k2JiT&R1S#xlUYcA6+I5wpUVt%```y2+0ZYT0n2q zmzisszcDAvE*+| z(OZ(700e_aSk*VxKF!-hpt1fwF)?jjheh@Tz6Fm`Cck^act>q6m-~ty4|; z?6t>IZ?=?qs9t+sW3W`m7dE{8yWq7NajZ9YII|#^b-I=%n0TJiCOmqn8RGrL?HkcT zjXfO#_ZxotTc$)=@GTo(|F&L(g%x>s#+sV(y7?8?o)$e(Xpb?XUz!^GQ5-4>M{}f; zK`4ukaa`Ff*-y{Qwu|3Fo~u1%yN#PtMXEo49-U?TY|zCmBK4x?Zcsfxd=aTD)T$m7 zw)XUD{Q4;EL1v`S^_dCp@cqn~JL-P-1R3zdr0MtFTL7W>#OtQ7pi<%SAH18ZV1ChBV7|QrXh&*()6le@R=yjsOH@!qM0H-&U54EnLN%f zu<^^GfsF{k2^Givm%1$ze6J^H?$rxsw5-M7ViM(A--u{LCiUHGmUY;?s#_3x`mg)W zlPyovfW3Yn|L2s}{oCt!o7ek~=n|377Opj$a<`)xr}Brni3iD^q$SMM?TR$5AKrchai?j;KyBnz3`xC+J5bFaUf zw#MGe$K*ck#nh~8ZB?n77g$C{{Lp`l`|-(ftH?V3T@knZwQ*Cl4-(iB@Qf*NyX$=*XqA8?|vk7=N&nQx2k&Jm*I$dDzAEO6SK zgq`8SQK?o`B(lF$sV8R4Lo|>$`DEUU_{2aY(__MGe_Cr|-eqDo(?kCL3P(8dY~)z_+sohU`xrfG z)(M`mS;*^@3lc+_4EO-FS^?j#t?e#*4ju(oH+vO3xnydy(36uWqC~y8;b#&`s8jPv z>zPNi_gV82NhHkfv-nPqTbPKCR#P2X)dk+?bS^LWqAnLQbbUT&9j`ya z)oMHaeE6$P-}PdV;^EM>pAIk^o< zf(zDD1ss-$2H3prUvc|5S~n`ptt9LUJ4h>}KfR!=5k6Z|c-qoRpMpmH-Q*2Vpw!c~ zanL_PVXVNYCMPGCjS`TUn8cDnhko~SPCUog!1&E4jhQ0YglUrl6m1*657RoFtal&% zj%vGuh<*PH;rsg4`IY+Gc=Tn|kJG1!ZA~g4WW+Cbp0t_b%&Yb6cxWTG?6p?hMwo^^ zygpg2=aufb8hu+)cTE5s)7mD=^k!?kFm73u4zfoGQQSa{5~rq@jN_Oq?G{Gw)6xKw zlY0JqaCO>c7^+M$Eyt?%BP3+exaElwO3Q*^&Q(Yl>^K3EDK0kO>eWUV1iJ0AR$s2Jd^@*mWim;4q_7&q76^h}fIx4c+&?O1 zW;_Z8t)4(vU&ji*fh%-g*zrt@zkA`LsJ@{iUD5k?u@fayXa4(l_0kI@1P_-6pTM=5 zT+jB%`_;LD_W|;Z(3tcS{qPa5%&DQH=qQ^eYeaKL3s<}Z-R27$^3!p>DhXQQ=jff< zbDHiJeLDxIX=!P4_Gj<(2E)IIX(*rD_Q&wZ)qT*3A#YJ!+jCtl>Jvl3kLbRsx;PA0 z9U5-H;hVU8_ofmLFF^5MFQMM!CspOk+3LJPh#D9eu)(qNS}jbmt%SSt!vn!hu^7tf$xJ7p-fhkP^ z6>dDZGZv}i$?-UVNb$3t4OH~@wt^^GcXap%79SjlOZyws-t8&X+2T_S=zz#iQt)@f zfQPE3gE~>Rv9a8oYk>BZBwCpTM5QnP;1@*`^Q6;JJxPn~U3xfV_;KWW75ic0X~@_7 zD{HxzcsqbU5uyk6ZnJl`jPe{FVhLpYG_SrXt4G5DYU%*!2h{ysF(y$BA2G(Krh1Jl zldL)O#qN4iT7B28OAH|C=W9;IO6=y3l_(r{=@|Rw{sIp_j|(Cg9g1FhGB4$Wbkt$+^Vkohc7~maDQIq$*yL_ zwwhh)o-rKh@hJcMj~~);%YXkW|MyFvZX|eDP*?ybM{w^FVZKQcegDVcpjbtTI5mXX685*`*KS{Jd8#nL@b~=(3Ab6RR6C;l*8S6U#zqtTEpC-2+Nc|!@ zx8Ns=Fykb#qshyIDK;@#`tz|XB9Rv@yAuFF&hVU*3zlup%A7oEI=U`Ut2M9rg&~)6 z%n!O9TMN8rb|dQK{Ckx8Z(E@h-6=L%)B(_6=e4Bw%FNc*)?1sqy$vU5+2Zg`pCFXo zi<2y*9iOFp8^?;*_M7x-&W|Rz(2S_*3l<{ zE>RZTY~YZi$G_=QWG4dp@2?<|%T5^`L6qSS-b7YThyTWRzvieS`JCQA@_41jKsvXB z!ENi5XIu8_v99bn#mA}5NVH@|%> ztqJWmCSQoc{dy-t@ptj-TT)WN)zhWjT&>1qz^cJV$C6s=v>`zcIy*myaIBYykYgqZ zsrDL-VX~U6e27{n_SolYBbu{oXX^vq14BvMnofZdas-5Q<4RXBbzOhf3d|b5RC$20 z*{1JJea_6JB#L;Usrio12co8C(Xfv}8FP4&0wq8~-8>M3Z27pjRJB!x+2<};y8i|# zuptzqIM@PrTh9%;&-C`%;yMH61 zao+==-#N;oAg{>`&grdN}Shelc&=MkF|$$E`$i;>Crj;nG#NBccaX|8~&c zi6r>asaJak0|ADM^EOoHIv~)4in&&2$eg2FgF3pGn*`IQz9c8d;Vxwe7`<2S?XL{L zo)NCt?TQv&w&NpvV$JNL45%0Ym!0w~&mjul_A@jNkQbAZO75nPLAi&kTy(#LHKVZk zyWuDpw9MIrLIh$>gs|JN5SQ$$U(x1%$XY-x7d&JRtg+VpuMcG2gDuxlhnPIj7}X5< zEpL$oXTNqgMvn{aWx((6+*x%Lkf2q$|EiMXQHCOvdfcg24_jgUm-g7EIUj(NRjjno z57KINlHk){0XQd~w3*V%1cVX2d%uhWM+qQG83s3e3=7n1j!`5EHj;Wy0Szzd>@ozh z7`S=YpU;%4vM1}leDRp4#&NB50Q6FR;g({GBQFQ%RC2=?Jmg-g^6r>dv77zAIvC{q8OQpGSnH+PZP zb{5{P+P!E8u_>uP3KJ(;kU4O4-@ld`<-;pJ3UeB=M-2=ykf9QC)Fg^A#@jdOwJiV# z@GVtQadD&TUXD%~4Vv-JF;UQ%p z`YL9QbkYW&Jmhux`N>_FIPfd1lG{H*f?enKDoAAFpspKucw+U(QDE8OR7dxA|D!*L zl+mx)Q1BwUL2_nO52QAZj`3Q7`O&|2Jfw+=JEi&q?i7PbSQw>+!#GsFIG<*|wJJ4@ zBN#3lX==_ODEjJA_5Ls*o{QRaYy{{uoOnt$XJQ?d$#LzrZ@21UKT{U+ZNGf&bWTz% zn|d;}m@rHE&osIualuLh6iDJFh^uk6n-RtMDCyLs2mA2hH5w1ezs&x^DG<^%&A0L> z!G?f#LC(i~H*!dzr*EbpRW-(+R}DyfM*JC}P5%mR9;Q*_gx>C$O7Ayv##fvq>58ue zGW7jl-EcCo3aC%tS0O`j7}3pI6Wvw23a7)(!w^~Elu*Ssl!7aqRWZJ<$G(OygaHgJ zYk1mJLc>SMx<(mdppP;BFD_%KE**UIutT`bBtph4;K~j;?)LA7oO~IdiJ?Ki0-eQH zi}&yOlG);AFpw|!%d>{JoyjoIjC*TU*PR+!B#UB7fdB$m?vVm`W5xx zK`TMSLk9@?<4W>GBa%3J40*9;_oq9Z@^PEPU=4mxc&qW{pRl;qsY() zc6zGeR!rq~U6?p?JFndqm6T+VRDqfOev71%7DxbJZ>hyJ)5rh&l1&{Z{=^uH$|$)ozq8t+Yi=KulRR<&~CJNZ%jAvL&BOn#wO&B|P z+x6xYdg!ZR1b_zQLXQ_-DsC@~%~a*qnmymV;yxAeusRP*-sz1ML@VQiQ4cD3eRY_g z`+))8ssvhur?BCZ2f8^2|0P2@2`+<>hrC8e<+6}ta}3eAl_YOBcrdMCl_&4^uiU$% zbPJ$_9lrFrS%Ai(?sCi@oT0V%jfM2GBYhIuUk!^Iz87L>;1RO9;(=YaJJRA<&|tDmpQx0dx%#*|6B@rR?rlao^BI~#L4$8~k%qqBCE>U8DSz1R+ zjK}YzIfLukz3!Xm*-l<=*3L1z@X8p4$k7JM!U5PUPl_HV9V*f3`4e2UU@@mf8Z4i# zJ2qx7E~XlM+jJAsFX{~hnR45Lh?$`ftMca3HCmgy8vg~+zj4U(C!Y`t@a~9owv4rb=#K@eCl?80*5kDqX zV0otdG(na@47Ym7tfIKMYBt22P5U7cc8JN7G-yg!!k|7O7rcugoNU~=MT}?{wY^@p zDkgjQMk(vhAEB`^x13xr3}2%uD<<8pD58s<|reek=su=z=55p`e^mQ4ea)~y1Uf*i%-(s_2#ww4mr zcRNI&9??$m=KQEGy%e4#cTDxM;nnj^lZIr zoWevXSGJU4)hW(2y}mr6yBWRP2<7Uv+0nC;1xnamw-HIte|mZ+7X@Z<|5xmDz1Sg1 z5{#au2$R~}*Z}vvbub#Jsi_$}FTc9-7S7^K+e@zSe1r+^v#De@pN;Bla^V9cSiy1F zZe)~{vW#lbw#xVTQWe+V`PTN;Zd1JGj;IElgiD3-I9|7uG9)Zi?C8wB9phFHDhNNV zG$7wbK=8}$5dVH#Z+AE&oB45Jak1s7jZ)!wenf{U*SV)~>CI8V;LFl?!5mKXx8hP? zG0v^F%e6%x3Qha>_rHb!ORT|ML2TKfL8Ij1dP0CQh6j3V(m1lfQjoW@7DEsP`DgJ}e1-*sUy-W6so+Z=( zq7tAl^2G$f#aQLjYPgU~sp;x|3&I8E(UUYtt>unGxxn7km61x^BDFm##m%&OTAlTA zlK(O{>BR0a+*?!0sIQKj56ryTuEoFBLlUHsjJRl+I5;mfbYuy@TT1C3#VdAur3n}u*}nS9;wjAet4}@q@E;P^Fpq0>dx(3?+acv`Hrk|J z<*p$C@Q}lxRp|IJ2nL~1FPm5_F*Kr+F}&h@?)iYRFprs)96g9G){YN+RREdSV&fu> zg#ILTxfhOHe%0HobT!t*`gvzv1%)?^7>MaAsYqO%CQg*pJCZ6UK@^|>sj6~_ipU*f zMwC{O_Eh19NvIZm-*x~bYZ@-arZ=zdx2fml8En+5k~Xh)v#_v8Eu`jAxO4kTlp0RZ zgd5bRw5Vv&;nkG^pg&N9EqHsBNYHBk<^$JJIJs9JO~$4TnajkbH&H-NXT_rxszdJH z;_d3{8U^Bc)&~!>yw6^*6S1nZCeCiNuRD(zpMVp=2r(vVtxj3L>DR*BVMFH7fa+!l z#i9vZ4PxmNvUor2^ksP}YLjD~-_j~vwTPUQ6dg6-?X_uHaWU}sple=z`71>XdIm{7Cddf$;{!n@z*Qv-}&mRYDpNGM^;33>kNOP}JB5<#D<=Bdqz z@}saC#X=LiQJb=I_MM*5)Do@Oa9ma-_+?!7?Ao-kqnn3s^|p@Bd98nZqPH)DYhQjY z?Wt>Oj(BN1IXNjQMT=+mJ=7*-Hxu!Z%y2tK`B6UykL)~35g+B2WqX8xr@^e+yNUrtp#v7VXy{E?O>*vQ?(101gQ zddPy@(p3}MM#}FX(iJs0t1;73@pOQaw;GrJ8J%lw_jk5(D0S%XD{E22hbc1Q)8%;Z z;%Er@#!7(RqR-38`Dt{ABvasredo#nMs$Ynh>)ze=kKb$Nx>d{g|jZiFF~*761U^0 zj0gnZ`QZ5c?97BMg=;QZ`-B@&PUUg$bytnkG18Eqi#N)G&p+;0S#J2kQ+u`7&a5sK z!7tlfH$;YBm-7lZ)Nqa}mDFqm@tFlY*C2 z`)3?j2ROANZq9it=L_5|drNdwsEg^I$6g&#ng)N@bjmZHe8&0UJxiRn^4O)AYyt1* z<%%U*bFBew3Z~#~M^;yF5)lYT%RDlyp+ym$C+d<2yW+-ho<|*)hW(3fVqi@gusis;V5t2 z@2B?Jyt3`{F#->i$uYMH-sTkECj`LkNFrmw*Gk}2!dD`Mu@c0}kgwbRSb$ak>4 z(1rxBvo{9giFfBf2+XJ0cEsy*fo6=Y`_C&R_D&S`^^gnVq>24zJngteFCTs(qr#T( zAQSPiZ50dZS_EC+%*>3LFd2jlB2=}Q24#Z85)_%3W%9xIQadYl=a|vD2B5 zpi#mg!v%=B4~y@FB?Sq|yWXWBq3pA|q1BCtg7x=9({|se-9k{E+-A9jh~p5RX)Q@* zqA~U!J!*4UUY69K&1lB(5q9`TPVW&V>^wT@Y*23J^pDqe{rJtrA2SbB1oZwGE?@cx zJ1;-f?d2A66GV_cW-6#!PE`7`WDoYCYH9(eaIX*{5Lh(s2|6t8omi7S`ixP{gNfQQ zo1rNgDotNpsdEPv6}_>|@_b=_{jwW_*f;7lz4utS%SJ@i=ii+Q%y&cd7|lMa&I62o z+4f643S_)CmYisa(6jR_;lGdH;+w|(2+F!VX!lz9dD^Z?t0Z)2!-j;b?qzm7pVhWW zwPR)D_0OZ;z;lDsc0mrS_i8b+!>uQMj0d35m)a_o8@=hkBH^10O`Z6mR|Q;YJ;>}zPxf&UIBTCw(gmdm(^TFtm5X=7WveC2#qrbKmhor9gZ35eDjCEA&V z-@qdiukw#+@!TUeHO0b!9E*|(QuH9m#9omJPJ((Ah;1d*U>?zyMeXWlP6!rKB0k>p zjZR#t);}ZSRfesRX5{>shK8M`Lw`v*DSbvt*&&Q?|~`l6q*Ke~y#w zt9|HMwlXztO1;q?$Zr^645Y?o{Csf`^fJRg;3b0p@=iG{?zy4{bgVcK{bPq78c~Ft zI)QPm4sdg)mRSD01Q-~42yBz&)vA!jO+b&%oIn!qOKB}NkYb4<7Fnh51IMOt{KcOp zn1aqlyX-J=;UCt{Z{EC7vbDXEWX0}f7Q_940;HE}NH(?0$rI^ifRDRqSI`Wp+6z`8 z;(~POq3W@_@MGwr8C7aMe*D<$@)GjVKQuD=-)7#w2TVUW)o0R!D;2W4IxRLy93*%f z$SBQ|9z17|ap-YQ5#{{&Xo9T+rlFHP}RRhY__jt|Prz^z_uaezA-EO>?| ztzjapZox!A5`ci_?khnGMiNX`JK};lK+d9j4^BOUS^({RrihEGFyZ|)h{yV4T|3(p&0bfS=c~7n?Jife>SRC=8uC7i(k_MrysY#3; zv`X@fOF%$JTRS$b1+qaaqANPSfUvjy1@&El;xzgA5SmaT!SCFdE$? zuEV8Gl(j0I1aVPL2r_~;_9G}~L7qc^uHe?cXs52Op71*x_EZ(@DWve6Q%`?-8IV$# z)k0-*583aTN-_@MVPO(Pbt&1rBzdaq32cEz;Rnwd<9Q!HK0G|^HQuWvx?eFhz=`?f z_sxZib^{dc4sab56rlEZkwbFWpTRwQD-IKrlkC4*U?zd=>%b?az<5xLlTVY#tZ2z@ zUcx(BM1!QBjxURb0Mjw8pm0c$AyfqD@msPHnWbzcB-=4>Z~?*u(;^t2?=5NJW2 zaQMSugvks}(}j#gU9bG*e#O+r^mcJVlb!xm>q0wO+eWD0byvN>?J1Ew;5P%0cxu6x z%ZQLw9PK3#`PBj1>^8PQvxKJXu)a2tp)s1JK^ zW;0!nx0!YXJ?os;enKjDUaK%Bc`4>_q8F%6`WLn+Z%Ip<{CkRXp~rd}@$`8s z7-!8Gt@#N2%b3lJS-)7uF_?F5c}EzB#BuqT*m>wgBjWm>pI5IAHn~OQ^G}(0BTJnMyt%r zm-B{MFZHwY)aqO^1>6>VE>C0UFmgFW>^GvQ=B?114}aiDxm^BEQ$?VWU$5NRJQ8|x zWR5-euW$U&R`@RDy2ZzTg?F-Z@9f0bwJ&0<6^nkiJPgJngQ{npz9q#PteiA%5oO3H z3I?y385)XG|0*1R9c%>QzA_pv@Wc*@6nT!PWp^1@IG8+thD3H>GAP8Yc&^V4Lsx6oyPpMEqHz;{4alX+vCXl)ctDF!($=3 z@#>7q#b-@0?dQqjz!A%fPjLzhZX11G@2z~^UR{Z*@)ZSwrnbVMEt5JF%*IV#qlsG# z!4Xib$G?%FqaH^;zFs3io4OQf!4FKe;UMR=VF~xOdR^3!GbT^^b)BoVliws6)q z5s~6@Int&zzXMktQX^y}#MJGD_6(x*-rLDz8I)__AyPv{ZkVd`&r}-p1TMiybb=@% zzrNmO$HWOjUM)P8H9V)FkQzG#Y1Up7IZ+l8k_+$ai{#!{d)b`z;Vw#;W3WZ zx{9twF(gFga8}!&8MozAsyWs+=gQ?CD)LjYagT}?GPqSDQ?CmN!MXhd)wacM`4tCw z!}q^2mPs0Vky3BFuz2%Si<>2c8pJ@LfR%2c&5xMX%h#NZb2A@ejXRlAk1ghAqd zZ}T;f;Trfo*C$Yof2!v$%E7Xr>LPq(P08Jh;@##0z6WeXx@<{vcww-;HWpd?=o`ki z)RIK2rmdL?z!%pH6LUqWWC9YI#1|&n8YQ-k>x{9|u2&bQ&^e>8mZ2NO(aul%a7{v3Z5(=WmGOzHI3g%2MtQ*Qfk)&7oW#mA3x z&2HR?^rs$m6%`!#VQeRAa2?zV&YHh`oc!u)T&(5ciSK|NU#a?UhfCc2+x51Ehz!#RE`0)E3ucjd(xp@TwCfO^|6jH&oefLMUh%lo56N&Rb$pcD+VV0K*$15tg8ScA^nPORnf0pcw)GOgg|mgjFtYfdu-6)0Je?ykd1gq z3w@-hGKDjS^K4sBx!>loz!+fy>UURR9CUK@{gpmLOM864`}UdBB+nh=5jeAFBYGhF z;Bj=Xm8B(sLdGPFS+y~Ce87Dpj1X1hPwG&*Ps!T93Hdg6&V6OW~fF!Nt95pfM z#Ykf<-thqL`tO04Yc?4pn` zU?27_O;?%8sZa_8{b%XVn#g+mp`$|#J7m+|<69~aLmCuhan!!r=E=`D7(JlM3Pjg)KX_p9=VjN5rXz*_4Kl%0HEjLPD<>_P2QL8 z;7Sb6`?GIa^r3uNage(bAx<7p__9=6`#iMF^3)<;`!~=7}+Bw*UxMHesg6J)= zIksj~qlExmi=d-ZH&^N9F`L|K%JVx1_+n=5FJkQfJFbAJSBG~GJt#p7ttzf^dTUNx z8q!buT|EN>xa*5Uzxl`LC^bQpQY>i30Ql+O2-yKTzdR!(T#TNW#9)y60O`tGB&q;x zFL)~{7zxl>{#v9Ef{X8|XX|hFz-185KqenS%mF8VB@X0)zlm~&tsJhvPv`+^0rirF zKx&3^1X%upxiICA%5V03>3UZ3EH*Yg?_s?GnhZCO%{_0{uaK&S?BRs4s62oM&}e6}~C#szClkPhRAA&+YW0(%A?Qtq;>KRbnk`s@cr zwE(PMJxS@X9S#C?pa8lF{VY-|1YvYoCP*YpFyYh8;eaAEIH#zy5=QshGfx+*G=|4K zGOyNV!$%2#=+g1+DQLWIgo))cjPZKx$vGeAq~w`NAdQ}&ug3*#rtC3V+lZ!`ZWG)~ z4DE!SIes7`HbR$uloh%cFxPm4o;Wp^g19Unw zqXYZOj;~z5g*2jD_8%WqrR#R=eUEt*l!R{bZuXNDwHl!n^FX*2WxcQ`FDGKC`+jic zpUog4BUW?-^7Fk_Er}F{1~}Dtmep9lEuN7_UJei*rrW%$S-7=sP=zC24Q4 z;x!;@sGBmz^8?79JH|rw%D3Cp=#h`F(OtB~1RRGSdbenn?OogD8%3Zw4&@xC;K3j=D}Ba$3)i-+%L`0l!`dn-UgeLZFuQMu(n0KJNSpS- zPw^JwFCSa1F9R_bDGNygoAIfa&;3ZokR@wA^2|B=jH;}*oZ;s4+gsDITbw^99oOf_ zfE`R*-ZFDKi0A5fjCE8^5wMg`Q4l#x`eM0#nmgc;%%N1quCb52>bUz`hFe~}Km9Wd zl4gH4Z6T1($JED- z>-@^B=N`MuX#9(mp>ZN{*A2toFqGhoD)P-qh6>MLf*#9%wUySiaYRSPTvXFe)}k}=5yr&cMXUcpRW6!Aow{Ca|7mN~LH1K6a@h)7n%-bk20-oMqwd{K7clk=zVJ#{E zhukS~c^LSCY;6mw1A+81Ptrhc{?vvy3Mo~kErNfxH?OLcl>3~c&JOttTW`lek4R=e zFj&v^iJvi6@lI7fQD=|1w|s~iFusDWxYdN6bv^HPeW!4tmAr1=z3}>({&l|5RrV3n zNK}pIwMPN3x94&fb$a}6E60z$4GeD^o zGiRDZmuAar)2utc`G^0w&hcRPSjXEwvwtoC4ygJy$VfU$1oA-8kcqNYB2$SVe^U1f%XKg}4-*FZ!YbpL% zEI3$RN450cGCa>7?yc8v8r<(o8`*7iuDnHFA@X-3;6+BXCY9I8&#q^P(W8H1mu0UQ z=a6S~k0|aSHeD*7{yS-%T(W!W!q2@v5f;tapx?TtJAy6mx}?r+VE5GAw+@K{rb~a) z{;%H>qF1RivtGZE>iJJvb@UW}gx+Rf%j6Ag1iGLBiZL#S-)f8`A-eAySf@MH?o=W` zwa93(x-~Jl5^Ft+#TNS^JuFnC@NL7qaF$Z;7%<%fF3Qf^Xs#o@tTxML1-y@(&(|`j zd`NQB+OQFbe$#JG`>6}{AHA-R2Gx*Mr-J0{evO8VHXl&E51|Psj_+3{kW@)9aZKo1 zgsZ~hASDI~Fd{~=uwicR`VB}kflm2m#iEw9ejsry5D^~luSGeHBr@l-nm^yr)~GK$ zcixxAtV7T_rSSU^W0kW36Bny%`$ zjhc|^eqMX_ULq*&=tgHvFEpB6Fe1(cmA39o4IFQIjMz`Hf6lz`NN(-5b@--Y{_)<# z8>FRZ68^>tpOLVrNh?7%4(;sgzx6se2G<16BX%7pOed=cP4ady`A1RraIoe7Kbo!s zn#(rqKUT>4C)s;vWu~%1R+N<$GP3t3n~Wqogir~|%HCv?y+T&9viHjRF7Nk!PVYIL z_c;Ha|NT7AeP7q_`i+{X{EgAnsJ^#D^g*xD)lvR>S7S{dFdE&VCJlQ4YUhhIq3<-t z=Y2X^MX#rdKi;uEVH95liSByAT5fi6x^8;DKzs=a)Qk~t-smYx2IXuRi0(DLI$q4B zkpNCZV*1*f^Of_^E1Sm=SLqK91VX3RH2wDF{BGVI+y6f2ca}6?WkKTRXD+~?dM)Tf zj-WH)*BF|YADTCdQ_qGKIw<#UINuO~Sk}w8Bz(kb zzcxKsisA6M7C^X^PKYg@u(v-O)~OXE_%^+-Hqm$x=ZYY_!$h`3$;fvV$U?`}iooBC zycn+VCHs}$@cbh3XL~u_3NUSsGQrq;?Z>!-b!xtuhLUk)DXlRpntXj|J zqL7LH?Pd|DE{gtgn!M3beJ2oFyd2_r_o;dST|i&6#F=xE4kw;CAp;%h7mPP8mih=H z>YF6mudX8fb0+5=3CC-X-n)*-Z2bDd|ErNJauW-ZA5_H$(IMN!7?f1ISzjjzbqFW*mdmPeyu z8tF6*o}|CZlX^=fu7Jez)U$86(T_>)kY?uCSZ*nx{N}AYA=PN_hn~@RJ#fv)TwlIE znkJrah=pVs^xIPMHPBl1{xj8%C zU-|prnrfrMZNk=HpdK~_+fzANr;Gewknry5x7~#G;ko$Ic3t1MiKt<^vqnyg=RT|f zhsrF~9t-#+BNBz=%+hhh`zOawqTGO2{@cw)a!LK>^KAk|5&pmUme)l`i^(Qv= zFPmqqZ0~w}-QR8~^T`Dwn{`(+kcsC1Hs^DTJf&N;ov=gv&o6&zeBd8BwdZ=l)iEcz ziHpAJ)X*~5v@mqPs7RMcX6DkDm{Rnb_P=k8;-*!*T~Az&Rq{*~OdZo7%*u}wFB?i~ zTh3oj%{~&JGcltyw^OT7Nco&2pm1F{XUHt%4vn7s2e&ud=wnw(!XDB0zrO8K`u?OH zj4`zdaOMsVx8?&fGMvS)y?Hjhc{W}6Pi1+7PU^)A4OfCU1}%dB6kIpZzI>%ckT3W2 zG^=aY&cE(F_j<@CPU(erHqBJkx5>jfrLXB($~tf~r_4T~@yxZdm=vk@bGz6m9-IpO zEiW_vc?cyH9*M)-XcEP641x&mgn;#li!5-HC@mEP$JFAK#g6v;t??SH+SbCKM_mii zj|sur3Qm3$%X}Yh_*Z;U&sLs`e1EpI!dz^HFfP%n8R~eg<-%Uccqax<;b5E#)oUa6kQS6Wq}*LDwKGu9|%I&teHI{?g;lKs_t-LYLy;yYnkH(|fykq+XwMn3|Rv zv%@7hs!PygB!s>(@)enVTvaw779p|RcqOWx@P5;c9tE;D5IDuDu)iO=ehF-)rHQAw zaw_7M(08HCBvB777B14RhK#%S$z7>y!AK|0>q%lbNBmt_HivYNWW_d9pO#nMN>aR? zpj{Y2Lur;M4vDXIA#4f(Z3Xk*6_&}pKL!sYM>2cWc*$L=^uRiAQ5_H@mf|L9RAIW< z_R=d!IbY+R$!Q$|%i3F~5x*a5#gawxWL{MD+Uca0hE;Lrc2xiToFCcQJuE^^STP}X zl6{AUFjz_wb>t4wc0EH62_>bBJeH_!bej9R-uHFQ$89C$pFZXkd`IeO(iPR&^!h>2 z(}YstCqQpAi``%E#65z>Fu~U@3>7+*^W^tGTcAld#8U^JZZp>0j_S9zTNauw3HHlj zGA=LN(v#Q6uKD?Ho-QO-bm!|$OZU+g7yRZin{u5r$W0-+g9ng%g<)$5z1BUQf4^Hz}dpKVW>^ zGxC~1lBcZsrx2d{_y>6w{HM=~7jY8qJKvgLPHc@G78QF@Cu})mo~d?|IJ_rRst#O9{SpnGj?@mcbv3 z)A^kgA3riQM1|k`O^t@?7<{(!bxG|-@d|SAG)-^KD>A+KpniS*tl|Lsp2!lBu>wE3 z_>~si+tJFAPjJT;zww#|WPbkqIXhcff@W^t6Dp&J4}Zi)SW!Z~4jO03FfS=I1~Q+i zF_xQLnHRlG%he-CKP3U$8j*8*-GCTNzspX!2$H#= zOOw#@{2l)ETg7|J`Et}q!WuiJwT8(;$}3_cw$ntBu_B$kO1ZU zz+BMdUQN{G4IUw;T<$vdrkBT2*(Z*6gY^vaR=5uUbDDM9I`(e7z{z7`) zKd07!=dP2_BdJD&Mn;5$Zd)83E7EC>KG7PTe07ncmdkvFy5eAcM<SejrTGo zM*nFqh1q(@KI9waPf8#B`g*Q0;XWW#ws)YPd&R2fxW-Mj?82$Bw@#Mo`ju~^nq^-{ z?X(-*nmtWdPsr8~7qjy#S@~sE`5JYaL}V*@$5cNHr#{%7d~h@QlX@ekwsF>^w>6sC z@?AO4$gIPUg`G_5K|wGwW=E5W{oJ)+GTt!~l1msWHvSTpL`Nq;Ct8xs#OiuoXujY4 zN$8Ichb;poHT4(rSMIM5{1}jXsw}Qs@-Juop;ga}AA~tmK2G~wq4l;^-=BU=-Xx8M zHGzm|^J3rfaB~>To=(N`oy5h`i4?gi*(Rk=hPoTEac zPnr*kLtaLWu8*q^YU&f1N{oFC;=Fj~yC;^iRAIN`XCKx;JFc_4b3$f^kKr=zDnd{f zL00f3-jHUiJ^fv>RB4Zu#t+7aqgMI1Q%nu%^>ZVWUZLF>{1})($Wl z$qvr%y&J!!GGqPE-r8(VIwGp}On*82*6CLR)q#r%CgFyy?x;?4-CCB`R^-0IQn_Vk zUNm!I{kbtD=-FNV6eM2D`5RW)F}gqGciQQ?Y#vFiRE2 zV)J}I>GA8eJaNk_NYtKyWApWaAbV!?==mG>U_%5mcdLjHX0|si%Py?BH#x}M#%Kr& zM-@>)01jkkt?d6h_Z4_F#520}Z+}(TZt~7=y?-A8cJt2rj$$Ui(m0>E;4F|r`@-`z z7tZ~ellYl06n=${?yH1K^~L_})3xJC99Pj0Nz`P`wZps3yn>IM)8(Q-V0EU(*=H8G z81>Ayg#OT_kpTd+O>0)!U8fADf(+4um$T1QF;+2m83{*uWU? zh^)oSgvQdn(jcN2b>d+rwa=VPnCVFd5#Bp@K&XI)9?)#m;4uL1=!=SHPoDj3A=Uk} zwt11aV`3`wnL^lPRO13TrHH@L{Gn|RmcmBH43UQS0&|(9R;iH?g6tWX9K7ea1uXl( z4bIJ4vH*Yz4I#$QvK$g&{C-33B&2B#YN= z?<+5xk#|^dz#OL3_{!T|%!Pd8;!NxcFh!&P&inTMcbX+y#uuV?eO?=eo1uMm-ZKAk zFo?vzb1u^b{F%LO|MkFEhp6?0|30&RqNxv=zuMQzWx{wzLA+Sv5JO%P{1D>$K^68E zrJ?~xdekf1_pQA6WcXO<_|2GTIDqCXtH7v@pLaw=TxYK$Wp)M=JAImA|9!p(L#0)o ze8ONp&%{$+x2GjJK^ojsHk6H_FJ0Y00W zxg%yJ5RgU@(Kcq(^6Q(?O8^bR9w-WM0Km)6$&0CQ?b`YG&l*{EslVvzE=s)EdGL1j zg1F=rsnnl{&)R5AuV88sVoD~ml10{)JMn=<`zF^g;7szdvniZ=zDr+$Ahbd)@0 zV;LJyJ!h?Z%=9jT>Isy0l2EO-9LmZmNJ>o=J3(`hj};aa{OeQ|B&GW7@@Kj|wOHlP zC#^Q$`kytszYEMcrtuT?L=4XNE+Pv`RBjS4nBMkYf2XOU%Jk{O`k!{YxkN~WQ_*jJ z!;`R`EbhH;V2$=~V&})jwDaQEu5~o^sAp$kVPv?$0j~{uO8-io2f5FaQH*-(O_Nyd z4H!lb

Al6F%ZFO1d6v7G}x$8Vq*FZ4QpT+upxFJ@uY0-IuG>y(RVcb{V=fDjsvK z`I?5+TKdmfJh~U<;*u=BO_}PpDfQP3+}_F4BTc$Coiu1$!}aH6BXP>!i&GAF)qSqi zYutVTq4FZ`lURs)7MopbhrD4=a#>Xs_~~IG#`pM%4d?7{l>f4?^>NzYrc2O1k=eL7 zmWg-KikZSD-nQBJT_C=29<cY^fOlY#VbDvZpq#V_=CweuYcy0T9DQyRfOM{qeS-qCa+*2_dC{&$~cCs+h=NdCaSHSd3???ZqJ>WCJD5XLSWfF zM(dJAiW@;auJ$81!ij-m-&Tu!(ub=kQ<#awx3}6pwBFQERQM(+6sxN!fQDS5O6joG z6+jRiM6EKqgc#JTb8Qh66cmiW(&1af7{&Q~ll456W~Z~l`y^m8T*9xab!+RRz0cgN zvZd!&zw_1dCK}7Sk$s*rhTE%!JbXbS>$OU@7n{$%s*{+z6IwJJWHwBEWU0gO^R1{p zxV4mgoO?Sb_?OqAsGjfWfw$_?0>tbbsS+t1oG$3udi5?w48F6k?`aJoXB759GuZ2H z!Y4{_*a`hS9<-ll=4_y-82&iBr?0O)>;`xU$YEx&vsUKU?PPCZq$e{j@fk#{8|C;< zy%Xs}1yQ8+rBI{MM{{qiJS<7g-waw`O;i-m%Mpm>c$L?uGgw95MzdV)qJKkt*ZR)4 zl$?>NvaicZGg+xD&n2W?Z_$Rb9TaYUEfk6nHtk}cRwaqc`r@@6nsw`Z_ht1q(?(Wx z@B2YwTtwaZRR8Qe)LE7eCC}t|ov+dG8)*1Qt}ZMr;0A|(1DR}4Li)l^TgkUQj!zTB zNzph}rnYsn4HxrQ*XFa-iGOx=eF+U3xptG|>AxF%=~PFPi+e_k^a( zQwQWIQt*(xrLW1O>wd2|W%K>E$9ibuzY;~(dc}#f>-o7>UR045JY#)+a_*D)^?m;d zcEJ$8drb199xjdPEPL{HB4^@6)v)9Z)5`x0tC zxzkco+t^xjva|PF2r8a^1vl;-O*5QNv4OHzg}s`Bb?}B}S9W^(6F2HJ{bi%8-|!PS z?zjf!NT`{}I|=h5GuDZm-py>u~mTyc6xbNsAVxxx0|Lz&~AIcy?D zTJJSQ(~TLwxmL=<>bkzavix5p#P>6zETT$J$A7#T!)>aspAJA%baX6w^17y)K4{|( z=Qry3xcmSK{YaC{xMA)BBeXlCQ#!ekHfm>RBM-3 z%7jSr`Jaa;%s%@*x^ABBC!6QneTiaEmd1zZ^jGxu7uxx4NLzoV68SzGSHUtk?X}yn znOmVd|4lm+f8OLeE1`eG&(54w@;(?PH_z(TxaDh$<_60GFQ6%}n+s@QM=jZ-aTh*( zd%^tYr*5vZfPgSv8+%`2JV%76$os$g#zVvz$9!y>96GkM-}x%&L1Rjx=)cwJ?jB() zzh7GCyMA?jXTPT99ud`LU~YLI{SnBv`?_(lZO$T>awv8-!rjeML3JQe9u~_U@WYF_ zW;5bY-u3Z;1!YFV^wlI&5&rDTn3?=;5U7EbqFsd-aCe6ePl1ea!vwF#HwDIfhi`#ScG=JO; zy{d@6Kf>UCtA@}YcVCYuo>2WDdb@wG?uB=ygV%9g|JKr64~4|91_A_mt4sG{Enwh7 z#Hwg?G=J{Tl#@VmpK*k#guQ}mBm4SOzK|TzW=YTFxV`qAR z6*jlm6q?8sOEMjTo~C_gck}F^zGI|(OO~m~vR?nbom?u$S|*R%=%Q{xYEt6A#cxU- z35#q?RK0t`_50X;`iJqR;r=;(`=%E@$~IbP{&kCIy#%I>aqX)mbmNOw-A5u*>1o0g zx4)o$cWZs?^Lw>b%ysFWXxuIKPVR~KGJLecEEKr{1Qn-?UN`oSXFPVi()nJ=S^%H(MxxYf9PJ{o5+Ic6$$SpVV%&k4#$pYThzx+eg3m}`z zjhI4%l}tWOHm~}drJL#siUGWK{6;SiWcaIuC?I4dU;~nEhRmPa6QZVG#;9Nhkx0ha z(34Xd`J3XFz2WM=mdlUpyQ7uOihVusx*y@p32wlH($BM_UVgYfcGo|5#gXnB;lO}f zaWfK6(l~iRV4r5I%<#K*^`;af zCN2RA_r$y2gveZ{I|U$Ve#L@0~Z5N5<3hp--N^ z&>el0*eBjIR27wm7U$KHGssbSi|_nC4nt+LG%C{nlSMKuE$!oj`w8LucY{K5HS#!{2-nGShm zswKsIw6?ZRSqX}PaQMhbsPdeg&II7bjPqimy(UHwg&kR0*;ugzQTr%Sy{yJ~%iCib__>dV@c;rv>|h$n_BV z`|5&7<6I1w-HkujdG=Z))G#wMI!fg}X|n-BdQYF9p9mn8!0tJDp#Ob(LmjaFiMfU^`6tZsPk=Hi_~}7I zFCSS-bHH!WB~xuuN|C0`R01q&pLCt)ig8m{wz1!k26kJmP6q}C2B3BI_p9u^YM)zP zS?TTR(JviTGtX7$SNnHO3JL7?LRRgAS{bD>=5s#NKVoPR zY+NeBMEl5lL;l0ditgEzWG3>a4z_U^I)XTHFq!_=`S5g2Bw0RP( zfqYaVDj_6P_U+rZ%uG|*rU^sA)7;v%T84%JZt+jJ#mQMrTwTp56SqB%{#*})ckOvk zonCZ$p$CW(pvz-h4iCuuZ$!1VcQof3^laf4BHNDn<2~7ro83t=J3bV4o>xu_j5oOhsZVx_m5gSBcv7(@%+v>MwUVEL856rw2}3orhb)FQb2S)a z9?<>x!LL{C(z)#7v|bwOT?^sY4;;htxdA@|^NVBsur%cnoMxqVK=v14@|@ zX%LZxLgNgU+mgE*UKv zYeXI+ALPu37pa?!2YLZ^h)#2J0y?s+$u3-+dosm};Jn=+QzU6I2;eCXCq%)h(-nEHATOvT(^ zj-QQl8@@ORZXmTiSG$7TuUv4~V5)JKI@`^zUC>=~qe76IWo{KFOXOSa_zW(g%}^yG zEGS4Mhr7KL$Aq@_xO{8gDXD7#6DgCObGbKHZ7QFs1~QHAW%7H@yOH=0t9{%Z6&xKq z%`$%c)HbK`Qql1|tXAmjV1Js4`9<`F!Z+9!4tD-=p6WGZ(*~x4lzzUUEsz zTjRKpb(^7TaC}Qh=eN?+7SaZP%EePPCx(aL&bNSZ3k#JQ^hRK3PmlV*{<@v%%oksh zG);+hb8StKycjnSnhVWU6|*ey1I(9=DjVt>xDkz&^a}{-|?Kt;nDIvWVi5(Tp&6mDS*a}i&p-b{Vl%Yh)N4nH5 z-nLgE1TMXTXB-0YegI z1)e_N)C!T~u|Ykg-(nc|V(&5qab+X&L4t4NEA2$f$%Co6L&D@upGp$sD&3e!b;PZq ztsM!CpI)D%t4vcd-!9B_`mWm>B+!WOm@;7vmltaIiqlyP+OG1a@YFl)^$_`;?1%_^ z^{`INM>0Owi7v+#TQ=p_QBVkb5bFe5-i?g{lUlbR)I-9{OS4Ee11nIA5Zpi2lQN7{ zusb{_kkU?wkdR{yf6&yK6lv5=_hiGqdNZjn2Mu{EBlB?Mj>e9*=>nPX7o*>QY6@xY zc^v)G?>jRa8b1p)$X$PZ{*ISdRApatso=G}_hOM;_)1?AOLFH8Zi*E5waKFAOOZWo zox*+H!}h;QVen^A>)|-Qkpi6v9$uF!8oUf>&AfV-B2&uk6S(eT?6N^HQ&W9Av7YcS zQ}7YEwXgO^vvPB9l!DRnvuYQGe9i37pSfoLdP74@)0t67{o}JNQINHP=#z!2RmmHN znHc3h|2BF=M*UQ!(C!~dq#k)IXNRI&yjaRBKjmCpEU4l1+h_TDLDZu!Lv((`<7};r zyd_bw8W|(N!!wYe4~zfPi#%7d?(Knt_RlT6ZWZwY}s;B519y zp|QSO<6}0^(i)BD)Y_<8O8fa!GeVZ;YH&$ONu1c18((sB!04FC<-mE*NP_&)sxHimx z4m>KcM25h(Sc;)%>6V=YQH=cCxVSh7e+1DaHMNbkHFy}_%fGF`nqldwY99fe3L=d{ zkXU9Ne~?P4l0>yrQ8aFtga=RD3JK?i3+zb|hH@G72UcZJM?2h%Yi%QwL%!Qp5RGBK z{e|f)T?ExgLuNx|CAr~E%|aCBM+L>9&zXGqL!P@?&C6?oNfyZom%a}WZ1#9)^mJc&T{=DFm#dyCJ^IzUuJr#U5l zh+-m7&PX!L3Eiw)jk>z|MvqmIw#&UK;x}yIE@C|z;r80SW{M}V1mHJve8|&_js3G- z>Fm5)X>YlAbF@Hz_3xTqiCGUA2Fl02|I>uS@Rk~CKqUG(1J0u%CHn9AU9Bh+z77+o zk{90gBoVT=Xdw&+%~?|HVjRH?@kVif!AGbjRKlAg#2Y6Njm ztL(!Xf$P}oPeAi~`1&35v3CHykcQ{Nj%jvtk=@ii#MCJi7QG0HC~^WxdSXI#l2%L# z2sHX$^{$nHG#ob&Y!4@sb<3U(ja&Zc>3MV{>}g~)u+Wvb?pC8#^>;IstE+lyg91+y zm};6S^pr(y9yU{IPrkRL~d2rjpE@uTE-0m^* zfSvl&&DTbO;CB(l&~dqSPZm@m^e7zgk8xdLkq1xgni?-$*#%f-H8qdg<#U;%GvCnW zk0Y!`q-F;##znFjknE|-LDJf~im#)C{t(79bayPZ$Z=zM1X9s12wLaLHfNySHUHJ5^kvYe{N`=B!;{mHOya^tg?NWD_vAmx+ zRD9(4y5(ON?$uoli*`ZutoCI!m}_7I~=E}X97N}Z`se-ajD8|K~eQx?7J#JiSuL3u4h z8TFs-+rOEWHWx@nK#G@~ZDMN5Jxy3m zdx#%Q?^Xkm8?%eSfW7&{KX-#H5EkP;Le|O!+)83_ta@4de(n9(2a{r%d_`9;QMDYC zsQf*Aj#K;!tdKa%shPQZ>?*Kd4y{kv@RC>8 zc#$%R!2M^5y;(vJS}PBaI|Q)pp`NOc2fq1qlLG|>os4QDJyT2AI~h>;yysh>7o`O* zt#Mlax0UNrZ==tQF*?E^}PZz&@Kc_^D}^>JWH5UmyDTAkxq0W3kIx zy)*3=R~tyBt>8<%w!6-RQVF;Zu2pa^2}9$=3T`O=S24H9GB{O%Hl%y3(Yf&?)3Ywk zQY!jmqa=tRh{H&?B02Bxf5dG>+e8ejslv&~GIodm&Clcc zMeHeX;PUoT?BC7tc)$f5)?ddcVjHIR%gNZyyd~2d`D=ya%XzEzFu&*c%aMWX#P|)K zIayQjs;HCLnt`Bg{Mv1m?xZrgLk;RFt!l3s+|%sH{y}(FhPB;`RZ4kozT%&g*7 ze~F5O0jxZ;m>3>uaOD(jn8}Z)!;K#qlme8@JWi2Q2hj`1*^#B)^c)d=U3W}E+WgM3 z-E}8+3Aca3US%p?dt@?&qd!v%#Nsc)U*pxK+Ag#|9{qW?6Z57L&o2KCj0}vG$LcS1 ztJ>_($~TtRflzEOO4RrMA8D;Yb1)$g_iU$@e?6~}O@HQIUB0p3{&9tiZ1OE#PQHk~ z*Vo#W-<{L%w)fKROgjE{x%^EGTM1D<1fk(RzR+`rOK_w!3QC|2q0cz-j%{c9G}Q^a z5&81wX8LxR#WcJ|ONZ*{pJB+dn6>X63iVzt0(&REX2&gn08t2hPXV zKzNfbo8Wd+$;#>{`I?->+{SVaZ->dPT?W_Q+#|l{ZzZoM77U!FIUk8EM)eO2~Oov z+Ls1O`qIf;LCJHsT%XVYiPGoG)vsT9{ze>YXv_(**Rc_5O&xmLPQ~n0S|`=mKNgKv zH-Ve$=_2Zw$%gYWGvxAe<%ofM7z!P?LM)6LnMr1=CtFD?1j&%$m82zO1iYZ*jNXlZ zR>~57q|TpUij9peMEO2A>DR%JQMy~`{-B5}Tv5!d>3T@iT$EjbVRLIn!_~okT$;_R zEA8B^OY4&z>$zwYtPy9PHo^Lxb*jS*0fYJ_$@bWfZz(D1d15;qh5b|}BG%U5<2 z=c5TDdbdj|`35!64jzpbtB`j>P73hpP9QhLc*JwDsvx37bS)y%nJbTxHm3IL?`I1ibEz9q0wfMe8GOI9Ji z$h=b>oWfsxhvP#b_PZ222|6SrfG1g(J|kCGd0BZIZD)5k$?FG0_7u$@**Qce`p3rZ zH0U}%>Ll)+!=HVs2Rph6Y=(>q#5jR?lI&U zWq#lwm>P;dsuoMTX{{RSKnkz}DFwW<^0CZFrQ4Ul?F|#D3mh{^(nN5ZsF~8+BFh~3 z3`uIOH18iie*8GQvxPe|?Rr#u%D0aZOW{Iqk@{SuhLqdM3_e45ZRP)Ao!9Opbb+RU)!J-_ow zkP)uA$rWRROU9ht$xI2}t1L^iyfpubyvYBYBBB^E1lj(R;&)nGn;X2nioiqk)b`(6 z_HzKro+KNRnpt#s>K3*_r3~IwV9MhbngJdZUBg1eI4UHW17Fm?RYR23dpJ@fIk9Is z)GU+Rs@`QXCwA!h;QV-@q1fiLwg@0WfJe3lo#T0sW&P{-o}Ef`TVkqu#%NUtWG2 zsJF30>-D|GHcesVDLq-5GgnUjfD3qHmt_$?|K+;@z=PDs4~>S=^2~aQVuW3?lXiU} z5me#f;R>;sub3UXA*>o(I@)mn6=Xer_h+io-*&E!KkDoxKm>yZq5wxaV*spQy2UY} z(6uW2Wx@}G`A5!_6{KcPjqUyY{mDYsi-J2W*9k)>CMFbOfeni(3D7t=D#ky|{k!c-RvC??3Wrsc|dx+xD7ZkPk zL`0zSS*vj|F*m`&QcTRvq*VNc$zRl5hHyG#L6cbfb#U;#I^xTM7V z1x+BmlamwRwhKe|8oHdkhPt6g@!sm`FVK_i?%#!1tZ!l z1b2>)h)5YqoqpSwI!-=N^2iez-`e6eyt_gi+c}?qT{wIez^2vF!ai|KGz5+|mwOQX z@kaJ}({*?*8x3EHL7kVc39n1gu{kFxepj)XbNcvXdUCRrASKy1lI68b9ijI!yXx#pk@dS!j;iq`SwCj)C)}Mi!S>*#j9v&VbT6g}dW7+(2TaAn4nL)|VF+zP+20Hmd zy(++QZ@fP8)dRsF1PM>I+LZv10o2GVXnCn;IkGfZ$eZ>JGxF7*gpfAHz3h5-gYv2k zy>{&eRolmr?IwTf2Z0By#wV5$WtKOUv`%-X7pr>^#)#Ja)UTncun(-Hf9C1L#m4fV zu=W1M%dA8vgr?(n;b%wYP7HGUXiEGmRSO@+KG<}^)1mc=z-dS@d0ZH0HkujeQmNk_ z$pb%*nK)9!qHO%r`hD`W<^79YS*(PnX_rLxrT}-j< z5q`w_#`3 z9)o$*5wkDXKWr(B171A-NaY<|Xarm(zy$3_ELdrR=ctpqTbb<8z&OPv zfS7hR0zDqY&L=6|y?eK)Jy`0VfOFHz4A^dfA8O&V9v_99?zI0xd(TtK%xP{r3?JyG z==zF2s5kCgpq(=GSuybkb0O3;umB}O; zfJS;`qds#veeNkrh_KH_!9M|3B1CYnnG|X&tz&%&j2O9F7ZX(7QHOY!yh9LIEy%m(y-*PCF?$9crqfNdhCtn>PM5JOm%qrMiE!?ldLx;iv zONIIK&q+y1`T6nAHzh!Jcn;5wzC&>5&)1B`wCP`Kh)W(HO~sUa7K zQW1)ufn2Gjf)QN{$<%>>sR!Ku?Qn-RG4Zi7&rWg^<6DZI zPdIRq`~5P08_Nb_?{N`_a|^5rjA{SMqg@dJ$&=jl+emZ{N9IFZ5u$Z$#A640*jY|F z@1(J)u%ItG$o5e~p|_*q=wZXt0;OTmZo3M1ASh>No0?J(i@pH?KTXKx(O{x;+l)~b z1=Yp(=v|Au%AXW&B z&=_a}>oWZ2H*enHu&w80DJZTACXt6EWwE@F0y&+9V0lGFmkEF2C}&JdU(@{JVjJ!D zq{n_MCn9_y^RIv6;u8g@{}~77njNCDlxWL^>3}ItJ|j8qR`At#H_pJ%MyrQT@!+CR z{1A9pUv0e(E^c{<^gH;iw2YP2)lF?4Ccb^!ol{K;?g8ZgT_Y}L%i|V@GJ1c8jzMUJ zu9p3(oMTqV%FKk)%FJx#y0{~_*-2##xVX9T72DYM0C@pS3D!Exw-&Q6j#r5d z*SK9HB9!(jnJbjoI>sukmm)<_uSX`%!I8x5_kIb~GAd?RI5@sd~*@}EG0$pAFz`gpN(btguzA}+8nd> z5fYzbnX^4zWbdWg85+`8|HVb}G*i?l3~;2l_OOx4sSP;0tcQmFqd5>hZc+LU*59Jf z*hz?SFyR2}TLR-0fC5BXxmW`3N5{s-I#}|&aebI7r^<29 zkAVk1R#qH`U=IP2Q@dUh(!1dFoRw_Lpui77Y8Dm_w2Av3qQ;I7ftziRKEB|jlmD}` zgcq;Nu41OrG2_b@i^pDTaOS2W@QIL|WJ4O1wfwt9hOd+ASE>w0JeY3eur|O(*2>?9 zf?6B008>)D_E$7u$0H55xBWZ>nUWyL$<-=s11TzlAk_TV9j^1uj%}E9TkK*(r3c+G zakAB@9{K89tMuoiK#=GY^2bIZWSfigMg>y1=NBzKJT5I`N4{$8a_RyUb%W@?ug8po z6WlI^LTi1){ggB;$Tv@3U&^U!@~+HX9OQF$CIMkD_ch{CG7TVN-<-GuZ5OqMz0*jo6i&9rC?xDzg;26Aft>kl-4vbrqOCcUvDBJX5k&h~*#i_9C zm04+c$%T%t){PWBZsF|)WSc-ohp%Q6tkzz`K8guLTRa$Oso?(v<2DydyCyl@KzU_l zI_lEy^T20?!YrmPXZb(|$azZ~#yo1V_V=&0|7@Fut*u6`#&TSB&E@9+#&-ERk`J_6 zS`I9hp1%CXl~Ow}>)X?T(MOoRx(vmuf z&}KNCSv1f9<9bYfnyloKcTvTEBtorTPxGmjKCz2NJrsBx30X;x7%$zS_bD7pcvZm@ zlZ7R-uFl7I&c@!p@5dn9C3q-HLPffUcd}_h?0Hq!Yq3zH!_r!c);XQ-7qr9SGiIND}T!caZ%;lBRg2Mm< zKR!N&T4Er{s;X-8&rRs5O8)nO43YXchGGUS&{Xrlb>3^mdnWuZtXF$1 zA4BPcDXA1!z4gyq&)`XDGv5f862R&|I{M4X%X`gipe)HAGR6h&LJtN!M@qecaO@(C zp6GU(6?@<|pv0P9&!p)2G}&~eiX1o?`!cD%q^ukQ>Hu_`>Cq3(*n=!`EEpfGz@fXs z{lp+&O8S5v6?Ew+ks;5#H&;E$lC8r2-UceltHI_y|Y%2szfZ$01_B z;$HVHDP|5XXQ03YApRj+Veh_2-OZcE*+bA|1WV1n-$;p#RnyiU8yo~u3qZ`i4V}aB zad86Kija)+`Xz%rM1@|K;Y|Zf;M?9_9S5E8(yn=x@pW$cVB-*4Q{L7Uy#i9#f)ZZ7 zLyh^RB^YkXN%w(+^85ET?*m~|)D8OYLteCaSo0$v*d?KwGh}2|Fey%whByEU!qB zb7tks%hwNj_dV+bA9;z={?|b*`ncymPE5$MgjBc9za723X@{<$AC)n}A+|527J6Gr zeM5G1;qhn&IyW&afKyL2j)L;&FPrke7q{Sh+@|R?dz+L)N3l&*qj&S>%?gjp#}@gn ze1IgRF2hXuK0C>*ZC#L!&9^EQIS^tcX=76N0bp+xw)$#@`96V@t{su6J4^rFCeF9fgNQc zyvXc@!r>O^+HkiRjA6FldFDbQgN2S(P?V*@ZbBY1p(3pCyjB{DgaXM|PxI3j1?^l5 z{!`|`Sxc<&cPk8_TH{nL5vM_qYJE|QXd`enLiHtY+dG7<73hBRb^6*LEhfpKH-^! z##EGSh7PdEJ55$rSL@<0yBHcA>1dC6ZBk}(d|4v3;h>-Nr7Ewk^L0YUZ(hZoeCszP zdsOL(Z+by(W61kuWI5|Dn5Nz!BNIt209o7^gm(k;4qoQ=V0ui+OTe(Pvy7f;ER{>a zgnt~4r#BOOa74z)Q^QL{D%_)BZ(sPVFnwDvISa(s)V~3&v_YtJXlDPCO>;leNm!~D(_r-+;0{lI2GdMdl`>1l~M2$FO;N8a|{Ter* z6{O7200A~KkU_ro?*k=v(S_IK-(~m|Kr%-oV5_s_RMj*qZ)7z4-QSe90(g;du9YYR zv^-Q)28LbT&~i0+z}cMf!)XnSy)e006Lyk6yPYZ)-X(g0^q1uu$)CfMZZl{8E3f>m zRc`ytw%+$^(9Dg$l!&zerZcJw(MynY8TNpGlSk3K%U#s<6)=2H}USRnCF^>0ZN z(QGMydNw9HDO7!M+AmC;;hYRdWsg5^X_Q~%nZqu{W=zbW5R3J$_K^~b>N5|OQ44IX2|zngRKOOGdeRHk>aLn z#Nf9nu^onCCW7IXVry4;*|9O=OA^bI2dX?d{X|}*y|#Ot;AUYlDQK&PeTD0uzUE=F~yOkAxPRBle=;{sv7$vXi+)u>Gw_|c_jQ2qGtjRsC4iiD&)xB_- zuf-N!O21fGZb-AYw7ciGxHewR!z05AR-_F($Wl#NO!~C`Ss)Kt-kSsS%$ ztqz207Arg{7~J1G@MxT_nObT$Ia|M>EHdz_Vs34FC(G;#f;>preuZv-vm<1cl9yKS z!+NQE$S?wt{hX=%;42*7;nYV;QNl`A0YFd*7!Q-wzcO+G>~3Kh`wc zlSlob=F{p|zg?+)JvLsC_?Ek_>ZGN-d>fPxn$)8rWK*Lw;g`mpy#sfB7zb`~;>I9k zW4>o=MRgWE{%#me>zU0Msl%>3%2-)@j2Q_&TU4$(xhXu?A53~}tRuqIIh;fD|R+uGWITncmN z))hF<3rkAuEG$;m*8wE}GA%f*@(t#yFb9a&m6m4I)t$h6Ee%5^~4VxOGJt)slb%2&;kPtSYG2C^O@9^I5i@@>O^ zPn{}#C=AoXLRdz|xA|PFPeWnOhaShLL6=C}tX>RqxA}}eY*PCu_`EG3*cFR2eNw}r zqRiP$_3IB;^T~3Y8k3JO^A92U>)szr9KeR6)9?rf{$;*cZJI`!+|s zqM!d7Z|HJOb0U(k*A$V~6eyZ5)aJE5+H|igS&wgMf77mBU!Z)xQ`#8;GvzLBZ|6TI zyJ=I0BKy`C+qvD!!k)@AXRlaD!psccLeW{UsOOK|JaiNCY3?;G2mZ)QP6%BERtkK+ zx2+_K=!n*<_bs_Kzj21;4K92Utg(~SoeDrKzNmB`DQt2rk1JiCSVXQpXgz3bE}X(u z@vJEPD=xX1W|z>+os5wud=i>DV#QMVQlz$I?%To7YwjpFoyg`(3Wzn;Xj!d%H5K=1 zSa4NI!+wP6&ClgsU+u$+v=lw2Q?2f2ySzS!RzI5?FcJTQ60hrR`0k29-$rw;+Es1I zQr(X978Sd>Rw$@@MdjJ{z$kf>+J%a%U3;3Zh{`@Q;_L5_y1|>A@Wcf5CSQtr9@0#! zyWhp}U2ptUbgEl+_juzd=BSw#EQH*?cx3~ z_%^8|Y8P+eHd}!B1GcCE@u1&t^B%5@zHPrseD8MY{AdJ6OkwC<&BKXlB<+N{v1ZI& z?J8@t^Rx?tE^W_d0*i)*>B`@p$b;Yx%?O$`@14~7iSYQWLs9RFmF=cCkFW%MtMZI| zjS6JmkBB~f+sAdYL|leT~3JuTLF$kib^%v_+TZ12MQm`~$Xws0z4x2f19u3hairA5ACAxi5jtJ}O7 zkz5svAX+`^jh>)UZ*@TUZA25Y)SDE4R}Y=&ez}^3broILSgN z>@>m_2xoQ9d5w`K4{@+tBTcjn9->7|jL%(>ll*LLPV!%^udAft?j9gk&m++Fl+i-7 z_!T;Y@LjY|*?_&&Gs6$F7t>8|2zhC)BK-0@f((q3gUc3s6g~Vp4Q$jN4I^GstgVQi ziJ_CRyce}V^Q#iZxA|)G9ifAc@Oy1*?nBSjZ9P%$X?SZeji7JxeZzzy1?*MSinfRE zMcvQaT13o!hOiMQAs#iDi^FP3mynU}1ib|g37CS7#}3S(z5cp+$U=g%@hn;fxHGo` zWnE(glkJ$}LIl&}=@@;s1X7LAUW+}jAq&hJS?&G64?HsB$U7wu&u0UcPa4T)9wY91 z?v2^CNT0?Qe>wcHnb~5SR&~6@mCCo3b?2sXb0Ox9(aWuGPSmCs$fmQ@+~!Z_$Jf6m zvg!C(8M!N8GOgNFBlGe14<#fe50G~r6LBjR4BwDYBsL=Pr=#x&S8Wz%_WTlkO)V`C zhj-+PQw-cz)Fn;WJ$B^EoAp=(&NL-LJEQ1R&zkhK)Sfl2CXKinQ=G@gmo^mt-KK4J zM;Z?q^5ZCC2^=c56Wy3FjoaT+O))v$m*%GaGl|Oe$Z02C&8@p>h~vH^@3U!E zt78%M|NL=MX(jLX)9k!VtLS2K*%s)Ev5(dMp8d2|FeOVSaGut{`SR&_1s2P2J&m2M zjTN%m;hEE5+LX3-0gdl`Pb1QHYJ3#2f}`9cdk!=A$qvR&-M zxg77vbn{Wt#$139KO%d_oo6qPspfAe%5P%HM-r%#V~ zHJFg;=m%dP*Csf0;N@Q!Zz9Yhdb@;v{TtK#;0tN#4&gL&ZY{`G7=6({GIEbJ7}Q9j zxnTSIT<%lx=g&l4PY?)*PunCcd{K&q02N7Yy3bF}?)GrXc|mhoScZVhLC%KZ#?MV- zH)C-=k-ZDt4uQseHl#=PQ+)fSzQ=BcBY|&IbdIMU+Ienz{LR3WUVVC+vrhRWjb(k4 z<}zC}%`a;DEIc<~z{h#Wx#Ld##zJQFL#$@IlfUJzlvn&XjFv3KJVy`@|K7FJPCD_F zF1PnUo|{~*Dz<*;daUF_-1v!@Ib^3%Ij~PP5FR6!`l(s_D2BY}_la9WXJ;V<>}MCt zg9d-n7o6lmz878+66gr{;%r%2P(;RS+jefnPftU4_(JtT^!eej7ZJ&p`<^%}83H`P zaEhz3ctu4U58Y7iVCDjo?_^(3*k@P>2<(RuU176VO#Q+{9Bjig@vWFZ5u)ZTl4)pZ z!S>Tg>7L@?!}uj~yueIEN^a-TC(Q&O_9vy+I+IdAG5J z1PFj6LJ~;FWZ%dMDX}EU#P$lb`1GWqfUfhjk;JR!0nZ@+IkOsb-2A+4$n%~f(l;%A zQ&TqF@rgaAS^Zzht{?*GfbRHl3(E{ghxGgA?me3_1==VagkdRpWH%dYk^-dtK_;Kp zCunxsV`8kQ>0>)FF;Ac+8L)ud1&F0W{rKDOR6ofHTm~@6#xUH8X2NK2dogABQ8f?9 zk&=d7vN7DLY6f}G8z5gzzvSG4o&?lzXzkv&ZXw_g;*~1w7;)5C~1ePT!ERBx~ z1V1t4N-^_6hmOVzMgWyyR7sG_$E-{DQDSx>ClQi|%0`u+LV{VkK_anH=jY+%MX9hh z!{3&bpz1Q`j!0B^*bE<0rODv0-<|*E0vKS&Btzeb{T3QMrYfR7|E(eSva64wE42<` zqRVwsC{piQ0E7jWO}Tq0z{%uz2$<4>*~=Jk+klwB4Tr3}M)c2g9*V19m~#3)C?%-o zfv3AbkqZ=|?W=62(ZwJ!&t?-Av+}gyL(n;bRa1l)58MGvk zkDfp=!@-&%fKR%v-|vQz^nRf!41N_WO`PQ9mVnU5Xy^nYbAvB^Cqg zBg61IB71e~=nY(qNkX&8s3|UsB+V(#nkC^a+Y*NcJ7Jcus*~Ao4%Yr$xXmzzAx=&$P>~Bhn#^Z3S%zpCpu+$7vDLr^ zooFA)zh(8DwH=&^!ard@rib-DH{&cY%zP7Z*~HouKwD-2iVO%b#SPw z2gjM&+31zUcDUqAFgDJ6%8-DOk=ehnV$9v6oUDWiPaSrOA!*v+%5%rc&py6h-1S;T zF14x*;y_1li4wp7+x`IPL+;!er9f#*u1G`;$rLjs$UViS|A>*%x7Vaoij35Z!gwSi zLV(cG{nEP}8fgmJLnEWk+cNh_fbikbczah^UQVu1on<2rz6t6nd}Pax9k=skawzNZ zR(4{*k|RIRe`+GVW5FyHB8Z>_A7~o=^SSM1V(rlTj`_IwcsxQQN!09H5LRetFGiA& zg2K;!IuKH9LGBMosbTg7ge9oYeF3)+OdSD#YgQ{B?T|r@*9^=|OfV=N3*$r0tI6O( z#@h-oXa9W%xo-?GBV-gORp6r{xQeE;Yh#G>HnxJys5B8aFd2rQJ4+^?J|&{!WRFp6 z?3OrD3<_Cfix~ly#Ow{S97=Ft)2%M-}-OfyyDkm*)wPe zZb_eDld-%}Nk{TX`0DElPp(mta(f-yYDdS5#4+n@n6Z~mpNB1%N68WJDPUS-pl2xu ztoAn&67HIy^vrk%g8zd3&CbiBo0~(-0<7+b~;sR0uUiAbU>h!?$Lv1}lxg+lI zA>bTw6hMFNr<9x0_DoJ*9x!|dCscaqwLm%xllxd17Cw9*GD)vWLPGm@1n5VG9lsQ{&e;NKfc)u=*le` zv;D1bN#sj6~3tqyRXpRmFP=EOk(fySD$_vyW2 zt)C(n?za`kJYsPoNTzkX({5S`$<6~Y#JLaKqF?bdad6Pm(6pS9ieoR5!DVW*dTglR zD2?}TA}7emc3nN29RZtcA|5CxR0hlsYMvHU*3`WCqz;aiE?PuMH(raWXllYlxUzN< zve;FK;R9seXC@8bam&k%y%r!|?7$lh`hfs(JmA=%**$@bGzMaa^%_nGG20N`#O>{E z83x#&YBG$SO71-(4`c0$&|-CJ0AXYX-+%Ab{@sm)gF^9_zgT<7bA`9vP%wN_)kOwe zyQ;eR4OCP|x9cb>JvKbK5CHT{i*iQohzh`~HR0B=!J4oS`;^k3<|uH>{x&u#em5mV zt*1tGLFU(-g+wPzsD~}tn3Kt|GJl&dHIbnsAWtm&J0B+}XU8esTcWv_*fHu34$%sX zSp&b!!5$LWguzeNI^2_YfmRKflWv0S_K@#o^0@H#(?-2sAde|Skc199EhS~jDH<&C z*4ZzwoSiqSA%pOA%%=sr z#6Uffl*B+SK@~mt2&73q0?dE}-eyRPz>Uosiw*II!$9ReU~Iu0j^14Ens0R2IheQ( z4iA?XZ9&9w2ae?;JoNF~-q`d+*yMo_@VnOkk>61ub$ig^c8|GB!6SYQGz3aYx8o&w z8&+@Wi*9S4#eXku{f1h-L~)dZBIgC%iqiDa?X?#oQ6yX;_6VOMB7rnC}w=f=X>jz2XQP4|aTtSGWZ@Sdy zHnS54f19**Rk+MC5kVbDgdIZ=&?#0h3=*{C#E-BPU^@h6bw@|Xu8$Lt z$$dDlb{ZSrVN~R2M#aNr8x72T=c8tz&8eP81Cn8a45N4yEAG>IZ2!bu_$+V~L16^m zXNl;r5^rteH2O(~XWnNd&9V^C6_EhAc~CuD4$Y@oD8mZ9$G;0@jVH@-;^l*iGypdC z{C1&MCG)WM;D9+dgs<3fF4)9fa~7b!5vp6~YyoH@eYE)!FG)lf);*3TGsAOyD{YB7 z2W&_t3M4e%_Y`H6`IsVbtjnHOuV`T@(`E6(Z~8uuE>X?uR%%v|zN20iD* z1SK9O%JD>0oCz<Y*`?n6#~yi_^g- zE|IJpvnCEUb`hNcBJosOFIV2+Ej-8zwBMeSR8FP?h|JcW+}~I{`Z+7=`ci~`5?U5+ zH7BBpgwV6)A1ltxB!iYuOE$laLLs@fQTUwsPV^72j&~k!GRn$!z6IbOr{YAyqJz3H zDT<`crp1^qk6jlVZIt98Z_7(gpu|+pqxto2l7&jbxxBpFBLH0CBK1}K?o*{CrCe=b z-{=ED$vSxxm2xux02$*$nt1sbhR6?Si}cX-41Z_6nzkilWpBt>LECT26`Yl4BGY?_e7m zw7-LxOW?4#89GJG)QeuqMcO+`#!b9gdMI2e>sn{L!|QiV&^ zf9)5Om9@~-otl}M`TF&%xCm@=q_^Sml7&-se-Y=ZGv5cEA77vRSj)EV!0;3MsvMKu zyF8zh^$U3FVDO0R_2mP6)n*@WZVF+~1M8pYfq=1MqQ2|3+t^UX-@+F+vkZa1{32Qa z7l2g{L3RW{f>327kYGy}Xx20)@`Ypq@lQ@p4i&YCM5gb2F@eYOz+S+T@#SnYiT>;SMz^$D+{mAD{UZ%HRHK=3=NxMx!IKB+4pxj^ zUlfi8>S^(=ycISwidemLa*|j+L7v)Zc%6MXcEv(g>G;+kR|kn~wTrHL&0^UlmH75M zFTH2N%c)Km^uYf%qSW9ydlJ_PWGIjmFtf1e+8(Y9=0eKsmi?`_eLKJ_#{1X40+k~< z=b=XSNyCco&c{4>c%c@v@Hj~T_A|7}hBWy+_hT|we+%fHB|PLAOd6y%`{kM{ihOl( z7VUd>THTG9zJWzZb#ZY{$kS{O=+@c6*8UCE)64lt+H?=wj`N^8=K57G-5wcA5 z&y94AB`oITwEN6t0MTE z?3bVER%9W!bM4abIybzQj*A*aFF((vVFeWFY5rO0Qf@Mhxw7bP)0>jP(Y)I#C`8+^ zjTOn~JaefdViAp-wu**``lgIr^*L!7?_P!G6Y47X2c&`4)@y%xZbkhX`-}0fVzB)7LvD)6n7O781x5-Tpt~*YQ#h3LK@moQ^dJgnLK-qicd72)$>{~U3z0MY?>p5pOae8C(CBMgIf%m>mQITh) zGmqNhsCHs_nfz$KWS(ZQ+S)Kt~g!`zWIpYDrBU z*O~1^`!nsesbp%YxAB9x=8XeP#Y=e_KTh4|b@}~-+0}{PAAB#4hN__my=7)dV zlu-ZiIeOADtr$L{KV7lu)*(VJvNK9J&N`8T&@zx;-X=x-F}Lz2oBkst(pR?sWOqBl zJNNKWMdhZa@s9T!?{k$axrfw+?paQDOfMp)o0}WAqpj+-Q;_^kQ$K_qF6H-2Uabwj zSsDEmKUlKqxzy>ZkI`p`R4Xs}=@d&w^eUBz9ASV1;2JrQhI-oC%tG%xsvL%R;5Dg(V zJm0D!vK`Q#Q}<@QRju)hm0jM-i{AHwF#C;vi+%0(bI`tb`(^(4Ze*wmC6M$Rgx_=K zefLKA-TS(N#XY8RD3=Sb*T1hH@HK4bt17N9u|+(y`Qk2bGgE~`-rYURSzO5RCd?N$ zpqPnS@e*aLO!oMC$I5n8hgih@C(HVZqxGaJuKoH5(u?3?cIF0t1h0$lB^FI@k1}n( z{>M$ayCog1%ez)qtCm)l&q2q7)t8X4q2F7YpoMj+Ro#S*Q1KaX*2lm**hl|bO4~4T zCbjI1&Ze#Z^FZ%LJ+tVaYB3{s-QjsrpWUW`U=GcQZ?myEr$EBBP*dD5{yq@vmN3vR zT}|!t(zWNc5+czD>uulM>whN~PQW+LiB?B`9ZBY2ACjTLfFmyDqHfso1`MXRg*LuH z%}zO4V@7;!&0S{oniLQ^Xj}BY2bv0wjq{Xd zuq8fj-aHbsn%eEqUoOL?KBXi~-7vQuFZaBR|0N9-1r`MX@1_UUv<6cUi!bWz@_Hz;Unk*51UpjCff+VOf9)1M%`=s^uAe{l+l5*ipBgcDTMR0ipAUV~Lu%lGS_$ ztvqq5XE}t^<#rbX0u@%JT8^>RqyDfA!(~~(?h>CaN!4?aimxFST(=X zQulf_QY4*4cLxLznf)jeje%7lTcKTnvBK|SU6vm&Z27GW2r;_9;WI3Dfp8`M3JkQ8 zvn00&XXoPWU$ArV6kN$e_0=#^q>DOvf9pGheh+#YkOu-oMeb9GL85yI=yI@cUcEr$ zMu(u#TmCBjFLH<&sD9}X&~JMP?T$aI%a+V~8rku%k-FWs9LiC1Zh?}v2CwaXhg>kF zVrSxF*I8i!tGmyzt35U(eOn-}C`@Ae($~u2phoNI37?S5&$+qjK?yEel(E$~9Z_Lt#La7lx4Zwv$AEdIjR{~H>0hfRdeqDA8+^fZv&iFSk0@m&+t zUN&e^iJBCcdJCNw-h_UbWupydvqIm9j7=x?@DvAc@fgyjaIL=}h{0*)EVjrUglJkA z60$I(`PuV*pJ#JkjW7OeZf(sfF^vnKn92bA!9(_|K-n`H!wV*QEk=~K{Y4->(uB+w zXE_GMha@-{l23y<#@BgLl{)tSoSeUYZ#L4y5|Rnpyu#o87(VQ9WBK65YR2Ep!@E&# zYMn)gEzTJ0E|hl0;lSinKP6}4_|~9uyh4lZa9g~pm4TU=nS#2lksKJW9I!>R8i-lu z5IxCL!3lWST@2$6J&r)SXW-%!VEB{0`{;-d@x4HTw1%2di8&5N#`RN8Tai*Q9lN3= zovInHN#v0OQ)PIWk&%(R9#WMQv~#5p|ElQKZ(F_UJbr`$m6k<{X$#5Cn?O=^6EW31 z*(^_D{s2qr0@TsdbyVt4zIMA8_7Tk^R$i zTqMDb+`$z9CL#VwHLAjzyO?zkC%){_CpQ^(aVOB)bl*o6Irof6Z8G!h&Jax)Zq<$)Upo|I0*3! zPDo>NBT9wb>)=@{4h{8jD?&EvNj za&?tGRC3afkNFi)IgLhY@wqLgCw&18)FM!y8b7%C?^Z0pP&RH&g2S_&3V*>Vir%@srVb)Yz+7&;nNc$ja-tOS&b2@e9CoSfo4Kl&sfdMkBiJz9v@A58cH=3;jaP7~OAPp;g3p2X4P9K3vuezci|8$jEbe^lKT|XF>luNBI?yMJXeY8iAN**Y}euF z%}5*#Nb+IV{eaxmf1W#N0;J40EguJ0SpVIx6~GHwYH8wAywgL$ucX%YT_ZW@7Rw5u zn*$%`nZwh;0J_iyYDQV$(Sj{=h6czDA$$lP0sw{<2CkzcpeSCfyIqD_AUr9LOgPx@ z5#h1#xFkN&DvIxz*W6kYfTau~KFwg-XQ1{xn|H?c{~>Z63IGzEw(zJREQ}ndr&_G z5@DQ1l%LlFSbK8Cns6{hEtR?}A z`QMEMNluwKlpsWS54loVVZ_iRa@tQv6(_go9MNMDj6sZDe&9gv@bx2pvF4Zo*68F+ zI;nTtgu^ioU@N{J2(${f z=iEHITwMIruM1T3V1fz{!~Kxti3iJFQPk}C<*hF2x9{Lnyin^I{1MDOqIXHEL-YHu zVJ|^H&vMU_QjXjWAgDlN(E0`hb}cV|td5g`-Y4(#eOhwz7qyNi86)uUhJqq~EF|F# z+^Ac;n&!y_K~AIZZp*3`sYmit)nyKu<&faCe!JIbJwjLTlxSG0%s|mr&{ghM#{289 zOc)Tzzs4t0Z(FM>r+X78@?{;8xm$>fFoIc_m>Qv7ZnOT)F(w9yBPiC>Se*!6+}v^I zMK@V2gY2L)CwaHX?GjaHY9pgi=Bq0;-7bU=S$=-DNpW-P{Y8@ZgZ}0+U)Wb@CcZgEY>4M^P_tKa==IE#Xz^eL!yX)tsu#=t3nY{NyCF4f4uau8{5(WM zzr8u7fTcMX$Kx`}b^RUdluIIm$D7CZNdS>0`*#+&%}Oa$ISMdhg1e~zYIRo1fdTjf zsbN2cxu>dt=IY3*x%e~st(xD-t zxb-n&1ZuMP?VdPiX!!MI0$ZR8il27WL=a5)oP>`hi~4oeSB=O68E~UgPfBpZTBU7I zaYM95g9;YD>+|l2){&o2btqK+pcVaTo0oOpvMuE1a&J0WaGQ>VW5$P7GY&lV5d0>} zj%AH+e;;&n-Qflk(6TryQic&NqK#ibWHPNJUEMF&S+qXiFp|1Ym&`*_c=zZa#VrBT zFxP{H_VWUnCBFN;*iIM@pr}W-Q+0TQqoiWq82lv@miPP9IUXR~Om749#V4#yA}g5% zg$jzPb}LdcRT640_z6`ri*y}ITyp&G6ZvQzSq02__*U5+7u~x-@x3K$b(!?3N)v;F z&;A5JE076_$0|o*MtE$>SyL377^0=Ju3^3@f2V7@&P&UMIc0c!vsP7kx-P~ei~3vb zc`2JEtRgRwOK6M(^ibq6c7Rku<@i{6Q;ZB>Rs|EKDw$PAEHyM~9=F~r)RHYO)*;!( z%58Y3qalBBLIOW^;hBw%4JSDj1;u|`_;uLAwc%*qOiz^I@m-`tfESLGbP<0Ehb!%? za@K3BmZVS5TJm^eKD8~-ifD>V0Q{_>!OOGsU1ALiJpzd+>rUgcqj$w?5>YA<-mvcC zC)8fv6@}J@?Iv6dD@*>r-9b=-vk`R{e|cUo9N20AE={3_rt@#g*YYh@ndMxE z)(ss_wWhI_()dbLB($1uqL)-VC3~!~HMyp@W$q=i*kCw&y%Z?6G2^g6G%XO|T zG(#uiA+Rn@jG}p-uqu&ALbFd3nP4J~hX6qz;5yI=Y6=zC)Evbsi!iaUgu2dkPp#-x zIZP3sMmE`E?5A9YOzVk8Mq+#3e@V*zbGD1z|EfQorInSmRA6tKur{bbzRq8}F8-Mg zq$6+KNEy0f|02Y42d`oHj|nT?Cjo=m+1Um)yfD5O(SFZm5)^P4ioanmW5#RKzXkq! zo#Ub$IQ9<0kd+Afc9Y<9ah(_2Awz5BbmAFwd_n0f9*q}(rhsX_mk$krouDiJUzT{| zzS?~M!}QeX{kYv*LYmVa8Rgq~^_3&PobeQ@=w%BidEdJie^^T%C5%;9m&3wj%zqnh z#XC}PrM*u1gK|CuXin&qy!JC=jmm!?6o0cT=j>7`L!}S^95=T=-ANA@7g2D>@%b;P zBOSD2M5A!-reT0JM2h2c1QE8Wel%#lqd#Y78=IS(|8|uzcJO~%zo&|-x%~VHBaSV> zzTNM|=qwiEH1Bs;a^)%vbE>QU?0C|SUoj4>Oir8b5^kKWd~_FmU3cK$pORe+Uf=jr zn})0i94XeWS0CKHw-G)|=;L$?(auhFy23$lzDE}1a}pZgJXN}S?*=XH$x7$N`(6$< zw)(|*ZJ3yY(Sc6jXVYWehqMYEE>$0Xb)}AL(+CO>IvGu9S8WKzOlrjMNWN9M{gRXc zYn$k8$NcrH*F)P(3kMSApW$_wbEgS=RskW3KDv8RM3}Lv!knG={ujABW5V4&K8t5> zRnn=?cL)i?-SrPcv~3kHl9#`2M*28=T%9>f6sv0=n{sOE!tI;)!@ohcmws|yPx?iF zZT0Y6@AK;>t3Eu$-$0wglX?XN(ecr@M<>6uM;tUL?eei?rsg460od~>XNgVVnADI3(#E);Uoi;oAVI=BjriaYv{c8!R zNd0Vw-L!_l_VJ20zKu2jC_mjM6i*|Rn_upAbRsdAiu|-2@bSt=T6JPY|X591a*;OYf^EkCj_nZsWzdSB?Eh#LtZ|L~MqD8GX zjON#e@SRFk^xZF#uF}9Gd`ohm?Blec(agUStSwl}%Q*O6Ej~dl|7P+|+0UH^Mb2~k zUCn2TWMU&F7jJylSXQalrIiG(cto7-{KT`0?lcA#j@3vph97WhQw3c&Kz9uX|JbD@ zvHW+_(Bp;9*!9bEq z6f}aCat$*Y>wJY683AuJqo~0Aj69Yvm6bU$Z|FVh80*^a?>?#Zcw^ALQjypL|NhN; z>lJaje)C%iqATeyUt>$ZPRngBkN$G_t$&1Vp7tOGA+Ejy}WWBVsG&JKN2i|t$RvhH+d1dM_ zZ%K^&v+YI|!Nu-s_#g!WPW8XIwEZ1EK7K|a;z*w6yWaUmIh}i|TKFP=yJwRwbGhuh zH&h|C)sw%Y-}LM-YCHFIHpsJ<<&3u?scW?v8yn?<;4I~6UW*Q zr+lQLKuG*Y-Z1Pp4+}13l_z?3A@!yXfwDFAv+i^<<}_?Ign5B2Mb|tw{GJj-ki4rSC*F2 zw!v<$E2kyxqLq-F3O4PXdy27k%7&J9MRp!jHP`=EHw`!-v(6iPdORN%)s^OLygap6 z<5(Nl#)+cuY0>Sw`lX=O`9$No_%67wP(k-D>cV~stjVhxxA+&D!o?6;J+M>2l`wF(JTU=M;a3`-%=;XXxp$lJ^^xam7PJ{nKcn4kAH zoEZ92a#uK{SBgGGpL)~!#o^LN= zg2PI2BbLLlmH4IP-@gah!YKzu?dG#42t>csFNv9r<5msP`Yfs_?%x=2)}VX4)I$8L zn?oohJM&s4-5Aw>(-V^9XOhg)cARj3yAn8h=Ni>{3shN;FMm_qGN4RHuFy^2unYGU zIV#W)J@{)k(cs<{_`u`u$ckXo@mX3Bg%xGh=49z7G(^RIRpw>&h)cJE!QtKD0dfMn*wF5fZvfR+h>?cDf+gAt(^( z>P+Knq_HV)v)^NXgeA?IlANODYG*Tv-_v7rPr$UP*IpYSvm1viZcR&V61lvOcq=!i zkpz_5F8d;VUn)xtv<5>Qo;{@U`Dn1(6ft&0V2gv0gN8GG+k+*-7b;)P(=V9y6e z4_9X3v=E|EQ+?nx?J{Jzed1+Or?p#;rTl2EP9vRD)}NA&%i-`)U$ow3nQZnAGGcOj z5p$!O3(c=2aX{E%@#js%=c1w>i^a`UgVh3=aG_TuhQ~b{uJY-=4Yy}Med$=im-ykc zI3PogpwH?3mHcyaYDz~Q{p*YshZc>O;~jjWRe>}A<^E=?FhaIlYkyUd6-qb;B@+*i z$wK3qjn9}$5L+h9xA0$j99~x0oz{K(){I68l@&JdvP&+mGX5-LU!Q^tPOi4+-S+6jQcp6s_ z*30bO%0rE_d0zF<-^d}vSGKmngU!uGiB7rCIjK1CX!2u&Ws$n4tK!!HM7#JvnB% zCyhXK)26>l@*TK?fw*t$u@^0+_AN%%|K-xkcY*w!=}i%Q#Md^1yZDD9F+|Z8wVY3# zP7`Pv&*fz|hrEJ4@0hg~=N9`8Yz?`_rf2!gv`zYVOx|syH8*XQrtzG4+4K5W!*^Qj z3>2sL&5;ffV&-YXOU?pD*%2*onJ=>4KT1ALyo!1859JGA_nIt0+*f?4H_pfCVt7P0N?d6fQNIF23 z;99b>?}5OU68oBd5-VHvH$#|>Xt&~W^;o+FNbPe z&ij7Qg&`2+zwNZ{3ZDKveRPQw)VG=%EUg{eVHwQu6}4Y9;~3EQ+%W}j_2v^w&&veq z{3ziHGx~}$DjN$dgu`%;;%xaQ??qeB>M+79Z>ijfwzVplb~k^5QX}1Kw>%FSV6Z56 zlffu>kw1s}rs_&W`m443d-Ozg*WtpTZzKwA80oPue$G(&d{k^kz#kl&;v#ur)4@T1 z*R<*2*K5&n`Cmw1pVJg%bmNvCM~WKT5^vf{?dey-JhOUlXf7}iT8s+by>K~J|CqbF zR_m~X_6H}xKc{4bUgoZdBa^m(y6<*hGRIX@f{ zzxg@hY++NISLC3FqmY9C;F9L-pRDe~i<5fYX|hA=U71#nGx-t; zo+D-5#Y%kMNVkvbOJ}{_muJ6^OH(dpE1RtnFZhlYQswJjJu>UnJsa#V#nMxV0!VR!=zOT8jtP8dMJT?NO^|U+mWRw)A5Yd z2y)Tt-Odzxgogg*@?ludCAx>8;Dm`9rPZpMzO}p0VswYzHFW1Sq~rZb9S)2wJ;%an zJfc-m7jEZ6!W15+kLyo@e10;jj!rt+_My+5A0hSYsd6GON)OnD-?m=Y?9u0rS6;uj zcwqR$D+pI;MaX6g6diJaaZ@Q2Va%HNl7kH&mF0P-a_`Rz#}SQY@#2SA2J1)B`j#$2 z&vC3=DIPOuKQr~E^i#L0c^;T!Nsmk4`N9U=cuMv33rEn!K=BmRdi61Yth#)@diRO1 zdJ|nflC5Y{YbAn)k{6#g2BhjdkLO zvRB9Er}w!>(869_9 ziuc%&bCnh7!mN#}p31d8ZZUX*tc0H{JKx+d!?RMHHlmB_Opvam1}O zdz!Cp9)6w1M0{?v!$RPpiPfwQ$5#)9Q{1oAtKubY0zg9P)iHf$7p zg9TryRq{58#*`2@H)(^pN@DGG@YLtEDtu<(!mc zsR%6V{6#VGMC{}E(dZ#hKe)I^AEaB4*G~b$(YYH`w3mZ}=&h-q2OrrP3~d9rMY=fYP3VBFbSE!T^BR?iOv=IRNFUk=_7 zrEr^zF1c&>9T9p3HI%$T?!UlD1A3CSGS*g327af*=KdF;8NVPLtP^BN=n1(;K;748 zMv(TlJ@>+5Do)RnJdC@KqHSTgLOpiH^r7cozjUl#bO^S7RGd7quMd_~Z`#9q&9AP0 zT*%4sxQS4y;5OwYY~vvNT)S&O_o^hYJv<`8*U|4ZJ9`DWPyjc%^{ zy_xERMks~SOzX^;mrZ(|tmJ}4>*TGM|3g-?mXz%Pe)aWhNvC}ID_NbU%iqCXFGKE? z{3%uq#}6Mjb`Re>N?t$lBN(+`@+ISCu+Cn}I>rLi^KmI*d8Tfbm9Y-klui*p!uo)ku&7jhK5`9FNUbyQW`8#cP>hD`_vNK2=b2uMh$bazODNOwvj zodQZX(hW*?cOwnb-QVQ=?l;E0|6B%RoHKB**lW!-*LT_Jh3cWKah`USm&Zpy$;r%kJ>qWr zoh50>cKiLXg*YDsz{W!4Y=Zm!{izN{qe{QGN0vXqRcQZDGW<+@khBFPicJUJtCLue zS7~61qO+rK#05jeEl&SO4^UyWYym=yA*Q<$^4!Igpu_tr62ycA<;i zp3Jv*%=&zEo@-VQ+gS0q%|rxjR5(A_U~+1hea29Zq$F9&9GB#=K8@1m(S48`9B=ph z(0mr+6H`R*Fwr+8iV`KkylZ9#@Q!7OA@Tk>lOH`cJL0f@q>WyHj|{em`O9{n#V>L7 zpoa?V4fU55Ra8VbyfqFzuiLfWIvJu+i^%JSEUUqZc>kOMT~~8brm)Nq8A&62c!;@H z^n(ZBkb#!4r^nBDi%?W%&+(Q5V#jjyo@BzNGT5guVCi`p_|&@1R6#;L6E@j3iq|n$ z9Y*-23NBGhD|L_X6N^ry*RI<4Bhd99cz$=wEQa^({?gHq1tPe`B_YrGq1naoGCFEJ zLj`Z5hjGL(iT@&<|M%H`e-j@K79ei&H?Xe=Bo}%A*#&Ow(PHpGTT~Ibqy0osf~TA& zJRwLA^_dk08o9$b1H!;ql{!@h@aItxKb%#S&5ic0m1+Md<@kHb5=IwjxQdleSyxJK ziJtrfEdESEW8%A9x_o!I_!m0X7c6;^gz}+Z&07=RoqV3$W3tEli&lA5D`8tqqn2cN z53bJu8Tb-uu?RmMiou-<3TFnon{1-id*0KIGL0kqKSjzzm|NGG#&T963Auzmpm~D< zblKk(@m`cat!~a@15PQ5zYpTo9t1)TkrEYF>7}>SB(!|V-yB5vGBUkY!&iQ(thj?fXSOxFDWAdPar$Ag$B|@qIp^rU7Lq(1~lnw_RQ|a~BmG2R$uh8N#KYPqwDM%O@ z&fX;DC^fT;1wI zMTrtk;ZTH|MY2%#V@;nDmk>>TG0zGV7rkdC4R}6==^W&ryWJc1Z?_C}-D)f2H8iDl z2uu!S2xX%hpb1=vwQr%^NfCdO8`Sogj zV#90ksdKqDH&Pu4t2=`J%x1ERUJzC0Br}ag<0W*+$zpb!1gwoEi=b{gxagK<=jE9# zCj!}?xdqV4ev%5_bnsxG3nm97Bs?wAiM~q3ve*4J@DTKfO7+sg{3Z6UhEopG^i(;N zP&AZOEIbr=p@<-R_Zdw9$x^rvP}f{LLY zcDPFI#$)*l|LF>E&2hPT@U9?ivI9!?HJ#|i*EXFS?nd5Nj{gdzMo3=E!^!yEp*)*h06rG6GUmYM$(MIb1T?@~5?U1@ z)oG+}1dKJqx`3`c5DIJsKx`_bQsLr&B8q>#Fb+kQ1u;7%wr%JC{m1&xCW}2)gwd!x zgL=RmSn8g;0v{}bK9YPTuZl@VND)(JS!9!A#}gal9Fhy@at70@NGKqWMRw*T&zTC_ z{?1D_WkW>(TaW_wBQf5^Q|W(NeW~2)DN8s=+EUbjAsAGVf1rVA zvDExbS2jl7U>W|1_#(UeRG^*&yv?Hp(S_^Dk=xq{kgpmD_cxeTw#Y(7f!o=_LAMrQ znTR~H!LRv4aei7S?o%a5m!Rd61ahYhp?4S{144v3`eFP40=rXM^4uq3YMjD9Ken87 z*g8_k12WI^64qF8|x%4S9{Lw7J z!s_xiL3Vcbc{t4-6>-0i<`&6KjeVm)?Ycve#N6PejW1Fbzs2!y&j|5L`~o4S#mAMkF?vY0nu z>+CY5cpj6V3H|LUa6<2`gx~&C*#=(@C{umb!xUSYodRKHKT-ukiGnGR2{t+%REE8T z%?l@IYOTDDH50+1!c~!RPxcv#LSkW+M;gZ0E9P!8k53$AQ)Wzui)O8kH4>5WK^;!G;Iwg=T4JjNEqjA zftsa*`#uB(#LgJcb8{p}VSKH|)>$La&Zo=gi&Fjs$J_RJ{s>8}^oIF(Rx-4b{Hz(j zGYQsjb~$lmJ;Zzjhhp=E!SOe!)-gB=kXR;uV*)`hfK~&_xS4XV$BG5(Rt$$+C9UEq zF^{)?ZaN|cR5P`rl7``Ufl!bLR0dA{7p|o+|MyCAdplN-jP4g-{$Vz$?4b$ci{gUM zh;RgILZgsH-d6CvTyyxc_%kdoSFPBomiS=!1^2=ZY5RX^O36c4Y~rP+d+x79GQJB% z`V_hCBOT#2SLb`)V;c`RDbI!JjtawhY-fK}h<-V*a{*L%9hRA3GVg*{FGD+r%!&$ad!*zX zZA;%ZWjB|xzq=AgmP4u{C&6wH-7LrnIkROwbEP!1=8ZT~PEDM*p5EBl*ok6bbMLz) zIU_!*i4gc@bjI=eJg6_YwD^6aKJO#F;`L4|S;5PRF713wFI&r`8lkp^{3U8{6K#i^ z3F7y!=8jb^-o4DVvVF?rK*9py#HDU@u)vUDwfkZ^CMKr6y&Z6ArTBe@()Qv#h(X2$ zCim1<`h4SALRrQ3X$GH*r}p$i`IwKxOq_%}%#Xd}8=_4wEV3DmDhvGwCR=z&bj_yd z8I!FaGz=MC_$`k7KQxhO>be*IiR6LkYRQ(&qd0@-UKup8VmrAR5(fD`;sC z@6}sSAfxxEbyn{ozAi<}Cd}``|7ojxjj+tQT_5)|BCXg4zevOKywlg;<$YN6$$eNQ z1G2=|GKj~VUa$yZ`ppS#O{)j%N44AWNxi>4n{E#3^Lo_Ezx_u2ZW1IylYO*&u(Q8E z(BFS5Ed#;x)VUT3B)GChhK|4E;8a2e58zCZd>XMKkp4`csz{!c%Zkoy$H4%x^R&^`91Z_vh++CY!>b6VVSP}Oro@)*L|3((P>UtmN z&2l02oa3gN)1Yq-CXtChY#>D!*wZW=T)OhB6^l{E+>-rsZaP}rm6Vl*_x=0#@ANc& z)2PPj=*)+E0Ie;W+ZGgEc9A*tw_u1(*{N8M91H%)y7W|LKF?gdFbXh(bBv(nZG`-| znw&Nk+m5mu@b4~yyQ{^|d|&k%>4(wCq53yHMAPN2s~>yzh}Ac5NRq4uh>5Ju+%Koq z)A@W@*J9KW_%ciStcrBeAP=-yj%t~9N>Rh7-{}H}x%FLhcxx_ZB7fEX_}QAX=Nfcs zFg2|Q8KQrZ;hJjEx)oQpK`a@5{udJ?UbiLo__)noh6-%Ka>-eme+4Jm`_bmLRha%+49KX2z>=Z}V(9Iw3lQps>rl;_jTBj935ZSYj^0oD+exMH!@-_IeA z<~9bBg;ZbTiHvQ9kwAPSFw*$+?8fnGR0UeR{w<;;?H%py@K-9k!9yUZGYb?Jtq-Wa zA4@u*f!T$c(W4^Jxz$xD*?JhW@ql6Xb>de4W9h#rinPj6WBOsi z&*=?>MrQ1Be8o%ew*A}H2CnxfY)wY#L4ixAxh4Fr#|~m82xOAr+x`8O+(FCa#R?w( z@NUbHIVVtQ>^U|9L*bH=64QZ1xiF6IBL%23nF(S3kfq#+q<(WfH4o2~8kyB!QygnI zx6MNzzPoA%YX%d_sX2m`;&)5UxlLvh#gJ7ruA)8X?~^KcB8nHpv<$>9BrVOQⅆ@ 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 VNK*YssX)(JFp|Km6+# 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 literal 0 HcmV?d00001 diff --git a/doc/技术博客.docx b/doc/技术博客.docx new file mode 100644 index 0000000000000000000000000000000000000000..c900f2c2b1635fd5f0a393eead637c88ae666fc6 GIT binary patch literal 14451 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 literal 0 HcmV?d00001 diff --git a/src/Note.java b/src/Note.java new file mode 100644 index 0000000..300feef --- /dev/null +++ b/src/Note.java @@ -0,0 +1,336 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; + +// 导入所需的Android和Java库 +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.net.Uri; +import android.os.RemoteException; +import android.util.Log; + +// 导入项目相关的数据类和常量 +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; + +import java.util.ArrayList; + +/** + * Note类用于表示和管理便签的基本信息和数据操作 + */ +public class Note { + private ContentValues mNoteDiffValues; // 存储便签的差异值(需要更新的字段) + private NoteData mNoteData; // 内部类,用于管理便签的具体数据(如文本、通话记录) + private static final String TAG = "Note"; // 日志标签 + + /** + * 创建一个新的便签ID,用于向数据库中添加新便签 + * @param context 上下文对象 + * @param folderId 文件夹ID + * @return 新创建的便签ID + */ + public static synchronized long getNewNoteId(Context context, long folderId) { + // 创建ContentValues对象,设置便签的初始属性 + ContentValues values = new ContentValues(); + long createdTime = System.currentTimeMillis(); + values.put(NoteColumns.CREATED_DATE, createdTime); // 设置创建时间 + values.put(NoteColumns.MODIFIED_DATE, createdTime); // 设置修改时间 + values.put(NoteColumns.TYPE, Notes.TYPE_NOTE); // 设置便签类型 + values.put(NoteColumns.LOCAL_MODIFIED, 1); // 标记为本地已修改 + values.put(NoteColumns.PARENT_ID, folderId); // 设置父文件夹ID + + // 向数据库插入新便签,并获取URI + Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); + + long noteId = 0; + try { + // 从URI中解析出便签ID + noteId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); // 记录解析错误 + noteId = 0; + } + if (noteId == -1) { + throw new IllegalStateException("Wrong note id:" + noteId); // 检查ID是否合法 + } + return noteId; + } + + /** + * 构造函数,初始化差异值和便签数据 + */ + public Note() { + mNoteDiffValues = new ContentValues(); + mNoteData = new NoteData(); + } + + /** + * 设置便签的属性值 + * @param key 属性名 + * @param value 属性值 + */ + public void setNoteValue(String key, String value) { + mNoteDiffValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); // 标记为本地已修改 + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); // 更新修改时间 + } + + /** + * 设置文本数据 + * @param key 数据键 + * @param value 数据值 + */ + public void setTextData(String key, String value) { + mNoteData.setTextData(key, value); + } + + /** + * 设置文本数据ID + * @param id 文本数据ID + */ + public void setTextDataId(long id) { + mNoteData.setTextDataId(id); + } + + /** + * 获取文本数据ID + * @return 文本数据ID + */ + public long getTextDataId() { + return mNoteData.mTextDataId; + } + + /** + * 设置通话数据ID + * @param id 通话数据ID + */ + public void setCallDataId(long id) { + mNoteData.setCallDataId(id); + } + + /** + * 设置通话数据 + * @param key 数据键 + * @param value 数据值 + */ + public void setCallData(String key, String value) { + mNoteData.setCallData(key, value); + } + + /** + * 检查便签是否被本地修改 + * @return 如果便签或数据被修改,返回true;否则返回false + */ + public boolean isLocalModified() { + return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified(); + } + + /** + * 同步便签数据到数据库 + * @param context 上下文对象 + * @param noteId 便签ID + * @return 同步成功返回true,否则返回false + */ + public boolean syncNote(Context context, long noteId) { + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); // 检查便签ID是否合法 + } + + if (!isLocalModified()) { + return true; // 如果未修改,直接返回成功 + } + + // 更新便签的基本信息 + if (context.getContentResolver().update( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), mNoteDiffValues, null, + null) == 0) { + Log.e(TAG, "Update note error, should not happen"); // 记录更新错误 + // 继续执行,不返回 + } + mNoteDiffValues.clear(); // 清空差异值 + + // 更新便签的具体数据 + if (mNoteData.isLocalModified() + && (mNoteData.pushIntoContentResolver(context, noteId) == null)) { + return false; // 如果数据更新失败,返回false + } + + return true; // 同步成功 + } + + /** + * 内部类,用于管理便签的具体数据(文本和通话记录) + */ + private class NoteData { + private long mTextDataId; // 文本数据ID + private ContentValues mTextDataValues; // 存储文本数据的差异值 + private long mCallDataId; // 通话数据ID + private ContentValues mCallDataValues; // 存储通话数据的差异值 + private static final String TAG = "NoteData"; // 日志标签 + + /** + * 构造函数,初始化数据 + */ + public NoteData() { + mTextDataValues = new ContentValues(); + mCallDataValues = new ContentValues(); + mTextDataId = 0; + mCallDataId = 0; + } + + /** + * 检查数据是否被本地修改 + * @return 如果文本或通话数据被修改,返回true;否则返回false + */ + boolean isLocalModified() { + return mTextDataValues.size() > 0 || mCallDataValues.size() > 0; + } + + /** + * 设置文本数据ID + * @param id 文本数据ID + */ + void setTextDataId(long id) { + if(id <= 0) { + throw new IllegalArgumentException("Text data id should larger than 0"); // 检查ID是否合法 + } + mTextDataId = id; + } + + /** + * 设置通话数据ID + * @param id 通话数据ID + */ + void setCallDataId(long id) { + if (id <= 0) { + throw new IllegalArgumentException("Call data id should larger than 0"); // 检查ID是否合法 + } + mCallDataId = id; + } + + /** + * 设置通话数据 + * @param key 数据键 + * @param value 数据值 + */ + void setCallData(String key, String value) { + mCallDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); // 标记为本地已修改 + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); // 更新修改时间 + } + + /** + * 设置文本数据 + * @param key 数据键 + * @param value 数据值 + */ + void setTextData(String key, String value) { + mTextDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); // 标记为本地已修改 + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); // 更新修改时间 + } + + /** + * 将数据推送到ContentResolver(数据库) + * @param context 上下文对象 + * @param noteId 便签ID + * @return 操作成功返回URI,否则返回null + */ + Uri pushIntoContentResolver(Context context, long noteId) { + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); // 检查便签ID是否合法 + } + + ArrayList operationList = new ArrayList(); + ContentProviderOperation.Builder builder = null; + + // 处理文本数据 + if(mTextDataValues.size() > 0) { + mTextDataValues.put(DataColumns.NOTE_ID, noteId); // 设置便签ID + if (mTextDataId == 0) { + // 插入新文本数据 + mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mTextDataValues); + try { + setTextDataId(Long.valueOf(uri.getPathSegments().get(1))); // 设置文本数据ID + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new text data fail with noteId" + noteId); // 记录插入错误 + mTextDataValues.clear(); + return null; + } + } else { + // 更新现有文本数据 + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mTextDataId)); + builder.withValues(mTextDataValues); + operationList.add(builder.build()); + } + mTextDataValues.clear(); // 清空文本数据差异值 + } + + // 处理通话数据 + if(mCallDataValues.size() > 0) { + mCallDataValues.put(DataColumns.NOTE_ID, noteId); // 设置便签ID + if (mCallDataId == 0) { + // 插入新通话数据 + mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mCallDataValues); + try { + setCallDataId(Long.valueOf(uri.getPathSegments().get(1))); // 设置通话数据ID + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new call data fail with noteId" + noteId); // 记录插入错误 + mCallDataValues.clear(); + return null; + } + } else { + // 更新现有通话数据 + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mCallDataId)); + builder.withValues(mCallDataValues); + operationList.add(builder.build()); + } + mCallDataValues.clear(); // 清空通话数据差异值 + } + + // 执行批量操作 + if (operationList.size() > 0) { + try { + ContentProviderResult[] results = context.getContentResolver().applyBatch( + Notes.AUTHORITY, operationList); + return (results == null || results.length == 0 || results[0] == null) ? null + : ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId); // 返回操作结果 + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); // 记录远程异常 + return null; + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); // 记录操作异常 + return null; + } + } + return null; + } + } +} \ No newline at end of file diff --git a/src/WorkingNote.java b/src/WorkingNote.java new file mode 100644 index 0000000..f6fec51 --- /dev/null +++ b/src/WorkingNote.java @@ -0,0 +1,490 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; + +// 导入所需的Android和Java库 +import android.appwidget.AppWidgetManager; +import android.content.ContentUris; +import android.content.Context; +import android.database.Cursor; +import android.text.TextUtils; +import android.util.Log; + +// 导入项目相关的数据类和常量 +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.tool.ResourceParser.NoteBgResources; + +/** + * WorkingNote类用于表示和管理正在编辑的便签,包含便签的内容、设置和状态 + */ +public class WorkingNote { + private Note mNote; // 便签对象,用于管理便签的基本数据 + private long mNoteId; // 便签ID + private String mContent; // 便签内容 + private int mMode; // 便签模式(如普通模式或清单模式) + private long mAlertDate; // 提醒日期 + private long mModifiedDate; // 修改日期 + private int mBgColorId; // 背景颜色ID + private int mWidgetId; // 关联的小部件ID + private int mWidgetType; // 小部件类型 + private long mFolderId; // 所属文件夹ID + private Context mContext; // 上下文对象 + private static final String TAG = "WorkingNote"; // 日志标签 + private boolean mIsDeleted; // 标记便签是否被删除 + private NoteSettingChangedListener mNoteSettingStatusListener; // 便签设置变化监听器 + + // 数据表的列名数组,用于查询便签数据 + public static final String[] DATA_PROJECTION = new String[] { + DataColumns.ID, + DataColumns.CONTENT, + DataColumns.MIME_TYPE, + DataColumns.DATA1, + DataColumns.DATA2, + DataColumns.DATA3, + DataColumns.DATA4, + }; + + // 便签表的列名数组,用于查询便签属性 + public static final String[] NOTE_PROJECTION = new String[] { + NoteColumns.PARENT_ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + NoteColumns.MODIFIED_DATE + }; + + // 数据表列的索引常量 + private static final int DATA_ID_COLUMN = 0; + private static final int DATA_CONTENT_COLUMN = 1; + private static final int DATA_MIME_TYPE_COLUMN = 2; + private static final int DATA_MODE_COLUMN = 3; + + // 便签表列的索引常量 + private static final int NOTE_PARENT_ID_COLUMN = 0; + private static final int NOTE_ALERTED_DATE_COLUMN = 1; + private static final int NOTE_BG_COLOR_ID_COLUMN = 2; + private static final int NOTE_WIDGET_ID_COLUMN = 3; + private static final int NOTE_WIDGET_TYPE_COLUMN = 4; + private static final int NOTE_MODIFIED_DATE_COLUMN = 5; + + /** + * 构造函数,用于创建新便签 + * @param context 上下文对象 + * @param folderId 文件夹ID + */ + private WorkingNote(Context context, long folderId) { + mContext = context; + mAlertDate = 0; // 初始提醒日期为0(未设置) + mModifiedDate = System.currentTimeMillis(); // 设置修改日期为当前时间 + mFolderId = folderId; // 设置文件夹ID + mNote = new Note(); // 初始化便签对象 + mNoteId = 0; // 初始便签ID为0(未保存到数据库) + mIsDeleted = false; // 初始未删除 + mMode = 0; // 初始模式为普通模式 + mWidgetType = Notes.TYPE_WIDGET_INVALIDE; // 初始小部件类型为无效 + } + + /** + * 构造函数,用于加载已有便签 + * @param context 上下文对象 + * @param noteId 便签ID + * @param folderId 文件夹ID + */ + private WorkingNote(Context context, long noteId, long folderId) { + mContext = context; + mNoteId = noteId; // 设置便签ID + mFolderId = folderId; // 设置文件夹ID + mIsDeleted = false; // 初始未删除 + mNote = new Note(); // 初始化便签对象 + loadNote(); // 加载便签数据 + } + + /** + * 加载便签的基本属性 + */ + private void loadNote() { + // 查询便签表 + Cursor cursor = mContext.getContentResolver().query( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null, + null, null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + // 从游标中读取便签属性 + mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); + mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); + mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); + mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); + mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); + mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN); + } + cursor.close(); + } else { + Log.e(TAG, "No note with id:" + mNoteId); // 记录错误日志 + throw new IllegalArgumentException("Unable to find note with id " + mNoteId); // 抛出异常 + } + loadNoteData(); // 加载便签的具体数据 + } + + /** + * 加载便签的具体数据(如内容和模式) + */ + private void loadNoteData() { + // 查询数据表 + Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, + DataColumns.NOTE_ID + "=?", new String[] { + String.valueOf(mNoteId) + }, null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + do { + String type = cursor.getString(DATA_MIME_TYPE_COLUMN); // 获取数据类型 + if (DataConstants.NOTE.equals(type)) { + // 加载文本数据 + mContent = cursor.getString(DATA_CONTENT_COLUMN); + mMode = cursor.getInt(DATA_MODE_COLUMN); + mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN)); + } else if (DataConstants.CALL_NOTE.equals(type)) { + // 加载通话记录数据 + mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); + } else { + Log.d(TAG, "Wrong note type with type:" + type); // 记录错误日志 + } + } while (cursor.moveToNext()); + } + cursor.close(); + } else { + Log.e(TAG, "No data with id:" + mNoteId); // 记录错误日志 + throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId); // 抛出异常 + } + } + + /** + * 创建空便签 + * @param context 上下文对象 + * @param folderId 文件夹ID + * @param widgetId 小部件ID + * @param widgetType 小部件类型 + * @param defaultBgColorId 默认背景颜色ID + * @return 新创建的WorkingNote对象 + */ + public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, + int widgetType, int defaultBgColorId) { + WorkingNote note = new WorkingNote(context, folderId); // 创建新便签 + note.setBgColorId(defaultBgColorId); // 设置背景颜色 + note.setWidgetId(widgetId); // 设置小部件ID + note.setWidgetType(widgetType); // 设置小部件类型 + return note; + } + + /** + * 加载已有便签 + * @param context 上下文对象 + * @param id 便签ID + * @return 加载的WorkingNote对象 + */ + public static WorkingNote load(Context context, long id) { + return new WorkingNote(context, id, 0); // 加载便签 + } + + /** + * 保存便签到数据库 + * @return 保存成功返回true,否则返回false + */ + public synchronized boolean saveNote() { + if (isWorthSaving()) { // 检查是否需要保存 + if (!existInDatabase()) { // 如果便签未保存到数据库 + if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { // 获取新便签ID + Log.e(TAG, "Create new note fail with id:" + mNoteId); // 记录错误日志 + return false; + } + } + + mNote.syncNote(mContext, mNoteId); // 同步便签数据到数据库 + + // 更新关联的小部件 + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE + && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); + } + return true; + } else { + return false; + } + } + + /** + * 检查便签是否已存在于数据库中 + * @return 存在返回true,否则返回false + */ + public boolean existInDatabase() { + return mNoteId > 0; + } + + /** + * 检查便签是否值得保存 + * @return 值得保存返回true,否则返回false + */ + private boolean isWorthSaving() { + if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) + || (existInDatabase() && !mNote.isLocalModified())) { + return false; + } else { + return true; + } + } + + /** + * 设置便签设置变化的监听器 + * @param l 监听器对象 + */ + public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) { + mNoteSettingStatusListener = l; + } + + /** + * 设置提醒日期 + * @param date 提醒日期 + * @param set 是否设置提醒 + */ + public void setAlertDate(long date, boolean set) { + if (date != mAlertDate) { + mAlertDate = date; + mNote.setNoteValue(NoteColumns.ALERTED_DATE, String.valueOf(mAlertDate)); // 更新提醒日期 + } + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onClockAlertChanged(date, set); // 通知监听器 + } + } + + /** + * 标记便签为删除状态 + * @param mark 是否删除 + */ + public void markDeleted(boolean mark) { + mIsDeleted = mark; + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); // 通知监听器 + } + } + + /** + * 设置背景颜色ID + * @param id 背景颜色ID + */ + public void setBgColorId(int id) { + if (id != mBgColorId) { + mBgColorId = id; + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onBackgroundColorChanged(); // 通知监听器 + } + mNote.setNoteValue(NoteColumns.BG_COLOR_ID, String.valueOf(id)); // 更新背景颜色 + } + } + + /** + * 设置清单模式 + * @param mode 模式值 + */ + public void setCheckListMode(int mode) { + if (mMode != mode) { + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onCheckListModeChanged(mMode, mode); // 通知监听器 + } + mMode = mode; + mNote.setTextData(TextNote.MODE, String.valueOf(mMode)); // 更新模式 + } + } + + /** + * 设置小部件类型 + * @param type 小部件类型 + */ + public void setWidgetType(int type) { + if (type != mWidgetType) { + mWidgetType = type; + mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); // 更新小部件类型 + } + } + + /** + * 设置小部件ID + * @param id 小部件ID + */ + public void setWidgetId(int id) { + if (id != mWidgetId) { + mWidgetId = id; + mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); // 更新小部件ID + } + } + + /** + * 设置便签内容 + * @param text 内容文本 + */ + public void setWorkingText(String text) { + if (!TextUtils.equals(mContent, text)) { + mContent = text; + mNote.setTextData(DataColumns.CONTENT, mContent); // 更新内容 + } + } + + /** + * 将便签转换为通话记录便签 + * @param phoneNumber 电话号码 + * @param callDate 通话日期 + */ + public void convertToCallNote(String phoneNumber, long callDate) { + mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate)); // 设置通话日期 + mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); // 设置电话号码 + mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); // 设置父文件夹为通话记录文件夹 + } + + /** + * 检查是否设置了提醒 + * @return 设置了提醒返回true,否则返回false + */ + public boolean hasClockAlert() { + return (mAlertDate > 0 ? true : false); + } + + /** + * 获取便签内容 + * @return 便签内容 + */ + public String getContent() { + return mContent; + } + + /** + * 获取提醒日期 + * @return 提醒日期 + */ + public long getAlertDate() { + return mAlertDate; + } + + /** + * 获取修改日期 + * @return 修改日期 + */ + public long getModifiedDate() { + return mModifiedDate; + } + + /** + * 获取背景颜色资源ID + * @return 背景颜色资源ID + */ + public int getBgColorResId() { + return NoteBgResources.getNoteBgResource(mBgColorId); + } + + /** + * 获取背景颜色ID + * @return 背景颜色ID + */ + public int getBgColorId() { + return mBgColorId; + } + + /** + * 获取标题背景颜色资源ID + * @return 标题背景颜色资源ID + */ + public int getTitleBgResId() { + return NoteBgResources.getNoteTitleBgResource(mBgColorId); + } + + /** + * 获取清单模式 + * @return 清单模式值 + */ + public int getCheckListMode() { + return mMode; + } + + /** + * 获取便签ID + * @return 便签ID + */ + public long getNoteId() { + return mNoteId; + } + + /** + * 获取文件夹ID + * @return 文件夹ID + */ + public long getFolderId() { + return mFolderId; + } + + /** + * 获取小部件ID + * @return 小部件ID + */ + public int getWidgetId() { + return mWidgetId; + } + + /** + * 获取小部件类型 + * @return 小部件类型 + */ + public int getWidgetType() { + return mWidgetType; + } + + /** + * 便签设置变化监听器接口 + */ + public interface NoteSettingChangedListener { + /** + * 背景颜色变化时调用 + */ + void onBackgroundColorChanged(); + + /** + * 提醒日期变化时调用 + * @param date 提醒日期 + * @param set 是否设置提醒 + */ + void onClockAlertChanged(long date, boolean set); + + /** + * 小部件变化时调用 + */ + void onWidgetChanged(); + + /** + * 清单模式变化时调用 + * @param oldMode 旧模式 + * @param newMode 新模式 + */ + void onCheckListModeChanged(int oldMode, int newMode); + } +} \ No newline at end of file