From 961aed44358c71a04ebcb5aace3d3be4cff962f4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Domas?= <sdomas@prodigy.iut-bm.univ-fcomte.fr> Date: Fri, 21 Oct 2011 15:55:32 +0200 Subject: [PATCH] =?utf8?q?11=C3=A8me=20:=20-=20moidf=20resultat=20XP?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- dmems12.tex | 179 ++++++++++++++++++++++++++++----------------------- lever-xp.jpg | Bin 0 -> 27346 bytes 2 files changed, 100 insertions(+), 79 deletions(-) create mode 100644 lever-xp.jpg diff --git a/dmems12.tex b/dmems12.tex index 534a689..10db624 100644 --- a/dmems12.tex +++ b/dmems12.tex @@ -44,7 +44,7 @@ -\title{Using FPGAs for high speed and real time cantilever deflection estimation} +\title{A new approach based on least square methods to estimate in real time cantilevers deflection with a FPGA} \author{\IEEEauthorblockN{Raphaël Couturier\IEEEauthorrefmark{1}, Stéphane Domas\IEEEauthorrefmark{1}, Gwenhaël Goavec-Merou\IEEEauthorrefmark{2} and Michel Lenczner\IEEEauthorrefmark{2}} \IEEEauthorblockA{\IEEEauthorrefmark{1}FEMTO-ST, DISC, University of Franche-Comte, Belfort, France\\ \{raphael.couturier,stephane.domas\}@univ-fcomte.fr} @@ -90,19 +90,18 @@ the cantiliver which result in a complex fabrication process. In this paper our attention is focused on a method based on interferometry to measure cantilevers' displacements. In this method cantilevers are illuminated -by an optic source. The interferometry produces fringes on each cantilevers +by an optic source. The interferometry produces fringes on each cantilever which enables to compute the cantilever displacement. In order to analyze the fringes a high speed camera is used. Images need to be processed quickly and then a estimation method is required to determine the displacement of each -cantilever. In~\cite{AFMCSEM11}, the authors have used an algorithm based on +cantilever. In~\cite{AFMCSEM11}, authors have used an algorithm based on spline to estimate the cantilevers' positions. - The overall process gives -accurate results but all the computation are performed on a standard computer -using labview. Consequently, the main drawback of this implementation is that -the computer is a bootleneck in the overall process. In this paper we propose to -use a method based on least square and to implement all the computation on a -FGPA. +The overall process gives accurate results but all the computations +are performed on a standard computer using LabView. Consequently, the +main drawback of this implementation is that the computer is a +bootleneck. In this paper we propose to use a method based on least +square and to implement all the computation on a FGPA. The remainder of the paper is organized as follows. Section~\ref{sec:measure} describes more precisely the measurement process. Our solution based on the @@ -118,13 +117,6 @@ presented. \section{Measurement principles} \label{sec:measure} - - - - - - - \subsection{Architecture} \label{sec:archi} %% description de l'architecture générale de l'acquisition d'images @@ -138,24 +130,26 @@ deflection scheme and sentitive to the angular displacement of the cantilever, interferometry is sensitive to the optical path difference induced by the vertical displacement of the cantilever. -The system build by authors of~\cite{AFMCSEM11} has been developped based on a -Linnick interferomter~\cite{Sinclair:05}. It is illustrated in -Figure~\ref{fig:AFM}. A laser diode is first split (by the splitter) into a -reference beam and a sample beam that reachs the cantilever array. In order to -be able to move the cantilever array, it is mounted on a translation and -rotational hexapod stage with five degrees of freedom. The optical system is -also fixed to the stage. Thus, the cantilever array is centered in the optical -system which can be adjusted accurately. The beam illuminates the array by a -microscope objective and the light reflects on the cantilevers. Likewise the -reference beam reflects on a movable mirror. A CMOS camera chip records the -reference and sample beams which are recombined in the beam splitter and the -interferogram. At the beginning of each experiment, the movable mirror is -fitted manually in order to align the interferometric fringes approximately -parallel to the cantilevers. When cantilevers move due to the surface, the -bending of cantilevers produce movements in the fringes that can be detected -with the CMOS camera. Finally the fringes need to be -analyzed. In~\cite{AFMCSEM11}, the authors used a LabView program to compute the -cantilevers' movements from the fringes. +The system build by these authors is based on a Linnick +interferomter~\cite{Sinclair:05}. It is illustrated in +Figure~\ref{fig:AFM}. A laser diode is first split (by the splitter) +into a reference beam and a sample beam that reachs the cantilever +array. In order to be able to move the cantilever array, it is +mounted on a translation and rotational hexapod stage with five +degrees of freedom. The optical system is also fixed to the stage. +Thus, the cantilever array is centered in the optical system which can +be adjusted accurately. The beam illuminates the array by a +microscope objective and the light reflects on the cantilevers. +Likewise the reference beam reflects on a movable mirror. A CMOS +camera chip records the reference and sample beams which are +recombined in the beam splitter and the interferogram. At the +beginning of each experiment, the movable mirror is fitted manually in +order to align the interferometric fringes approximately parallel to +the cantilevers. When cantilevers move due to the surface, the +bending of cantilevers produce movements in the fringes that can be +detected with the CMOS camera. Finally the fringes need to be +analyzed. In~\cite{AFMCSEM11}, authors used a LabView program to +compute the cantilevers' deflections from the fringes. \begin{figure} \begin{center} @@ -171,21 +165,29 @@ cantilevers' movements from the fringes. \subsection{Cantilever deflection estimation} \label{sec:deflest} -As shown on image \ref{img:img-xp}, each cantilever is covered by -interferometric fringes. The fringes will distort when cantilevers are -deflected. Estimating the deflection is done by computing this -distortion. For that, (ref A. Meister + M Favre) proposed a method -based on computing the phase of the fringes, at the base of each -cantilever, near the tip, and on the base of the array. They assume -that a linear relation binds these phases, which can be use to -"unwrap" the phase at the tip and to determine the deflection.\\ - -More precisely, segment of pixels are extracted from images taken by a -high-speed camera. These segments are large enough to cover several -interferometric fringes and are placed at the base and near the tip of -the cantilevers. They are called base profile and tip profile in the -following. Furthermore, a reference profile is taken on the base of -the cantilever array. +\begin{figure} +\begin{center} +\includegraphics[width=\columnwidth]{lever-xp} +\end{center} +\caption{Portion of an image picked by the camera} +\label{fig:img-xp} +\end{figure} + +As shown on image \ref{fig:img-xp}, each cantilever is covered by +several interferometric fringes. The fringes will distort when +cantilevers are deflected. Estimating the deflection is done by +computing this distortion. For that, authors of \cite{AFMCSEM11} +proposed a method based on computing the phase of the fringes, at the +base of each cantilever, near the tip, and on the base of the +array. They assume that a linear relation binds these phases, which +can be use to "unwrap" the phase at the tip and to determine the deflection.\\ + +More precisely, segment of pixels are extracted from images taken by +the camera. These segments are large enough to cover several +interferometric fringes. As said above, they are placed at the base +and near the tip of the cantilevers. They are called base profile and +tip profile in the following. Furthermore, a reference profile is +taken on the base of the cantilever array. The pixels intensity $I$ (in gray level) of each profile is modelized by: @@ -344,10 +346,11 @@ that communicate between i.MX and Spartan6, using Spartan3 as a tunnel. By default, the WEIM interface provides a clock signal at 100MHz that is connected to dedicated FPGA pins. -The Spartan6 is an LX100 version. It has 15822 slices, equivalent to -101261 logic cells. There are 268 internal block RAM of 18Kbits, and -180 dedicated multiply-adders (named DSP48), which is largely enough -for our project. +The Spartan6 is an LX100 version. It has 15822 slices, each slice +containing 4 LUTs and 8 flip/flops. It is equivalent to 101261 logic +cells. There are 268 internal block RAM of 18Kbits, and 180 dedicated +multiply-adders (named DSP48), which is largely enough for our +project. Some I/O pins of Spartan6 are connected to two $2\times 17$ headers that can be used as user wants. For the project, they will be @@ -362,18 +365,18 @@ phase. The second one, detailed in this article, is based on a classical least square method but suppose that frequency is already known. -\subsubsection{Spline algorithm} +\subsubsection{Spline algorithm (SPL)} \label{sec:algo-spline} Let consider a profile $P$, that is a segment of $M$ pixels with an intensity in gray levels. Let call $I(x)$ the intensity of profile in $x \in [0,M[$. -At first, only $M$ values of $I$ are known, for $x = 0, 1, \ldots,M-1$. A -normalisation allows to scale known intensities into $[-1,1]$. We compute -splines that fit at best these normalised intensities. Splines (SPL in the -following) are used to interpolate $N = k\times M$ points (typically $k=4$ is -sufficient), within $[0,M[$. Let call $x^s$ the coordinates of these $N$ points - and $I^s$ their intensities. +At first, only $M$ values of $I$ are known, for $x = 0, 1, +\ldots,M-1$. A normalisation allows to scale known intensities into +$[-1,1]$. We compute splines that fit at best these normalised +intensities. Splines are used to interpolate $N = k\times M$ points +(typically $k=4$ is sufficient), within $[0,M[$. Let call $x^s$ the +coordinates of these $N$ points and $I^s$ their intensities. In order to have the frequency, the mean line $a.x+b$ (see equation \ref{equ:profile}) of $I^s$ is computed. Finding intersections of $I^s$ and this line allow to obtain @@ -394,7 +397,7 @@ Two things can be noticed: computation of $\theta$. \end{itemize} -\subsubsection{Least square algorithm} +\subsubsection{Least square algorithm (LSQ)} Assuming that we compute the phase during the acquisition loop, equation \ref{equ:profile} has only 4 parameters: $a, b, A$, and @@ -694,24 +697,42 @@ will include real experiments in the final version of this paper. % - en parallèle : simulink et VHDL à la main -From the LSQ algorithm, we have written a C program which uses only integer -values that have been previously scaled. The quantization of doubles into -integers has been performed in order to obtain a good trade-off between the -number of bits used and the precision. We have compared the result of -the LSQ version using integers and doubles. We have observed that the results of -both versions were similar. - -Then we have built two versions of VHDL codes: one directly by hand coding and -the other with Matlab using the Simulink HDL coder -feature~\cite{HDLCoder}. Although the approach is completely different we have -obtain VHDL codes that are quite comparable. Each approach has advantages and -drawbacks. Roughly speaking, hand coding provides beautiful and much better -structured code while HDL coder provides code faster. In terms of speed of -code, we think that both approaches will be quite comparable with a slightly -advantage for hand coding. We hope that real experiments will confirm that. In -the LSQ algorithm, we have replaced all the divisions by multiplications by -constants since divisions are performed with constants depending of the number -of pixels in the profile (i.e. $M$). +From the LSQ algorithm, we have written a C program that uses only +integer values. We use a very simple quantization by multiplying +double precision values by a power of two, keeping the integer +part. For example, all values stored in lut$_s$, lut$_c$, $\ldots$ are +scaled by 1024. Since LSQ also computes average, variance, ... to +remove the slope, the result of implied euclidian divisions may be +relatively wrong. To avoid that, we also scale the pixel intensities +by a power of two. Futhermore, assuming $nb_s$ is fixed, these +divisions have a knonw denominator. Thus, they can be replaced by +their multiplication/shift counterpart. Finally, all other +multiplications or divisions by a power of two have been replaced by +left or right bit shifts. By the way, the code only contains +additions, substractions and multiplications of signed integers, which +is perfectly adapted to FGPAs. + +As said above, hardware constraints have a great influence on the VHDL +implementation. Consequently, we searched the maximum value of each +variable as a function of the different scale factors and the size of +profiles, which gives their maximum size in bits. That size determines +the maximum scale factors that allow to use the least possible RAMs +and DSPs. Actually, we implemented our algorithm with this maximum +size but current works study the impact of quantization on the results +precision and design complexity. We have compared the result of the +LSQ version using integers and doubles and observed that the precision +of both were similar. + +Then we built two versions of VHDL codes: one directly by hand coding +and the other with Matlab using the Simulink HDL coder +feature~\cite{HDLCoder}. Although the approach is completely different +we obtained VHDL codes that are quite comparable. Each approach has +advantages and drawbacks. Roughly speaking, hand coding provides +beautiful and much better structured code while Simulink allows to +produce a code faster. In terms of throughput and latency, +simulations shows that the two approaches are close with a slight +advantage for hand coding. We hope that real experiments will confirm +that. \subsection{Simulation} diff --git a/lever-xp.jpg b/lever-xp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37beb0824cb71984c4a86f6e2e9c6a296ce5df05 GIT binary patch literal 27346 zcmbTdby!<Z*YBO+?oiy_2_;b6T|;mvPH_lUywKuKaCevD?rv=<UZA*Zf#Q@Ne)oN! z_j#Z9J%5~YR<3pJwI_S8%y;HWGV__)f0zDl0PvLMmE-|HAOHY-c>(@zl2OZf+t~mB zN=obiGyvem34rMTy!9_9|4*#=a!&F8idp{?BfOOJ0TBQ=FGuGW2ff5ZFGv3uCq($K zJa*wo|H_x}Qoi=$?>uZhoh)cU+<bi80ss&%AD=KEuP}(0mhZJNzmV{2UH}RJkbnw6 zdbySt1mXiG{yPRDAOZmS|0(C=<pt*d*JmL7C!Tw`2k}4g%uD=_p#Ttpi2tg=OJ2bL zjw&F+ziZ6-(i8~)iH~0WD;ePL|EeWd05SkH6ckhxWHeM%RCIJS3@jpSEKE!+G6F(e zA}VqkYASL{N?Jy47Fv2v21-g+K{ifazSpl`)3Ce|69S2H^S=iDeMtgDM@PrP#3IGU zCI!(^(t-Yu?Qb6d9}VyU5QGS%2O!`B5%Gb4hX6D$9f}P6m;GDB%Q*rf5;6)Z8af8% z%LUDN00bZ+A_5X3GBVOjy8{FMX>25XWCA)qDHK92b5wd55hysZ0F6PqzMmNK{TCy@ zh1*AT43bx*WaLcDEUawouLZz@LT`j+WaZ=)6qS^<p*p&H`UZxUR@OG}Z0+pbJv_bM zd;9o)3JDDhkBE$dCncw(rln_O78Vtkl$MoOR5mm=HMg|3wRa2*4h@ftj*U;u%+Ad( zEH3?6-rU;W+1=YeI6S(zy!w58b9;CH@Q*IwOV|ES`?s?Hk1qTdT?j}>h)Aga=mH|V z|3^4J5;7eh3W1assyU319u$m5B%N4L-;d6~5BWuG;r1Pagz@zz)5Sm1{-x}HPuR!* zD`o$Wu>aDv48TGJzH}ZUK0pF6^u53uQV2mAA)tjQi4xwo%spW{k0I5US~}#%5T$6R z()Hfhq0z`yb8uAD?CLMc?G5!q8?sYT5nJC|e88A?xRWt=rjL`QrF%nBe_8O@)48<2 z9K=|cW);1k2j(@1B4%;L;=k(*68~77!(bE|2N}lXO<WWcp4dJLl!98eMG;)dFw$_K zXpWwHDn5LkuhObL*=_JKPX&?#Ht@qRsfiVSKC_|Q1Gt^m-J0Brj79T6$+V2sZ$=*@ zgJt8X=8N$ZQp1=qf<9da!}I@$+u?4i&@T^DuAI?lB!Do3b83P+bjRK*G4gEdAWFk& zn!dRZ`aj!{2G6>0Y{%?s`e`Di>7HZVHAheGVwqox5ClDwxnC1w@m1d()4-?JSvB_; zQ&8s!J7i9f?G=B-4&CyqhJa5S=tKcCz-tjp)L8+8B0gogF*8Mac_lqN(y166Kkhjq zAf?>LPuzP76kThGpwxcnUZ1gLu}Y)yf~do;FGuL?kEEcAT_f9@F}d6ED!!GP;hC}2 z^R^a4`pL@)H~hd``qw*;nYAs-Q-<R<8AVR@R#xxz$M3rl-#oD*h@`{SjyV%!tA}GW zmVj;he-cAX-RvhC(Sh>b>WbJ4ynWO|0ZVh+f3~3oO<ka1B7z_U9|L(>IE*~oH@m&Y zA&nj@ONkm;o*AsmlxRvePW4v3CtnjKpuGjv(L$SWQ&)fn{1rn!U@7*?sqS`bV~a?t z9a%cuhVs*2fS463l|*o0GiOVjwqLjqh^7f`g$3aAEvL&e#L(9Wyld5vVgPQC#*ct} zm>WI=y{GX7WTZ?v)T`>DZEQR1Fe1kM1vC<P{sq|1V|rRke|C1o2Zm>-I67)n<>ho& z>|sW5M@{ah;~Ti@#HUBNZI?0a^nG(>V^%6|$CBY1b1O8*j8X0*BfWUSy!^C61l)@b z@GnL?vjX9!CoQ^)^k!73-4vHtd3kBgx_*^p#2ri0eQg_~=c+idYoa8gFr^@ow%EdN zBDnIgEJc`s!;EcY1_cH1B>XOa((^TNthNeP|6XzIm95rcBW+-5=-k=Xk3ALkd>z1h zS~t{Q<E@U=IC>Su2wY^Ze3POj4;C5^>Q9V|e6L{|B7m{%7D>nWz;0h0IRKw$tlS2l zf;+8A37U406jS^WvT{ewg9|QQvZA=_VeWfWvA`5d)kv=EaCzI3NYbYXK{m=D$upsE z-5%&%U3vhnE)2zikBErZPk}e$7a|HozzOC8Pud^5Bg6d^Em*rt_}@PN1-#9^ZA|vW zBrI4Z-KKTEIi2Z@WV)i(TyP!o!Kw~=mzNIrMxBfAywz>zf=K+XsC8Oo2n1ZpTE@wL zKa3ll(?mAPdR%BHOjeD=im4h=2Z)K_u`_k0D@~4t;PF=L2~lVq4m;YmH!p627$I_< zR>AVWH0s2BMi)sBO^i=V6Fy_t)S{5`%XLeQ_gync+^)Q92Dmn?8K+^pz+4%Z`6F@O z1LJpt^)@cRrOGN!<r)+m+?J@j_uksS$)1E46~r=4=&;|}_OftRzCwIs*%c6I^T1mB z_GnNrE{bxSbV?e8+aiI3YY0ePAMzcL{!Ve9%886&Dx~?|>FMEN?#t(+MGVGQi_~t4 zRzeAvJAnNog%a%<jM{da26;Gxldi7G1Z<t^o=U8$jn}RdqdP<qN-S0<62>w2?wofg zn>8PY|4~~jPAF5PeeQGWhXukhrld=%ig4XI7IE3zS2)F@W}@Lmlz#yS#(9RPjI*aD zt(;B>iZx-&Z2_Yfk4sd-^pA^V<(#goUv{#r^`A9qIeqg2yYKTcge^yr$8@d8NY@5G z%KJQxKUJ0DOCB_=bbu-VA;{DFrNHYW;LfEw3Nmcis+}SQ-ORnogR1Qh>V`d2Yo<&+ zSsh4<ChkMpu_RU82=KNJ4&Gp8jB^VtW05$wY>3)BHx6jglm0^LlIDK){ArOAis6Y? zPns#IF(KXFCxrR(EyKT`w@Y=1jL%?<%8wm>$VPnrKo00GQ=B!GpFp54{^;{YJTH9r z*aRdjXMa*)jbw=wQ;tXze44j;08(>97rja1NlDI-8kBWaFwPaby4MNm=)N3sc<)*j zI&jVqm+$#xi`dZAlgg7k_EErknJfh(aV0nXG&f^>uig`l*`Z?X$2{pdon{>^{x@wn zukW=$lGvB)_N7Jj6@wsV)!O&(#P1p2oGZ2xe(fK#NwZ5SM)lghjbvFYyMGOISEUdb z)79Rk6_KBY#RXaR!tNKHC?jqzBU%(A0xjEcL|P=b<IpLAmo=_4Yg04B^slapOt}p7 z_Gqm<ukRZ*$V<zwqCcNv2JNP~f+%+b&u1wuf<)lM7?myijHjHHZ2%lxtx@L*01I=w zn6yytmce%eK}9LqvHq{_Z9Cbx#sQl;Un{Cc(?frk?LkO;yw^KvZWmb&)grAfmpA_c z{PsW@Zc8k8?GM38cbdpqZhryG<%}-r5~O38@yXlN*|@tVoGzYNuAtbHpz^OX-iX1u zAb|MznVK7H(vx3c!-Crq`DY5OX*(Nt^r{MS>{}iw*=9-MBjx=TfhO7GaQwLmIQOT- zxj+(HAi-{S@#*U-;TTJ+u4p#Kp7VA}t&N7zsU1f480B`UH|gk<ua0Hak?J?3R&07_ zp#cPO%eK7H_&y!GW;SO=hYZG_99H1n5%h27BdiD%gg1U69`7XSxvOy&v_GQm*o!#X z-%fF1UCJMS>{LhCpz2+`pVJfqDR<souI!BnV$tk>+lSJoo7DnXD7V-D0_G*j*{bbf z4Glj*;9c6>M-9Lq^lyuqaXZG%JC|QS_#3Bc^22>bxBsv=U1Sie>?TPJygAigM_Gda zX|=jPjSmXmMm`DUV`i!&??X^I6;0Ev@Sh_80(vUj7o2z8_ml;l7+kg5gGb~8gK$eE zRMMk=C)Z9B?rI7lI-`7`SF>`Q`oS3d6>#Kh`Jjo?<XbXV=Fn#5n-i3qzP*YSe5mV; zoTS33HB1*_RXmh4L;3s7L-1&~)ymiJ%B5gn_)nn&hmtw6{W+7`Wn8fx(^TqD40o_^ zLi@*(__n7o=6YL8Bv768^8L1um>(RyRAq}xZihC@OY@{ZgdN9gyH*4^T4K;D=On*W zd$6Nx+^Q-_CMHD2a)4~9SU<{VJ`KhQ&gseoEK$>D^0q}ybqJ?mI+mTq7PUI=ug-_* zFI;+kTrlNYVP}d)f+LzeTDhNy9pjMb?-;|;&kx*V7WVS3QlB-zun!y{mqgqNDL^P< z>GteZK8l^7{0gMScHW9EW#mJ5uEKVL#-^rH#hZ3deJ(gXKY6-5fD#z*j}V|?*!WH& zrAoRg+^2+w7l3tkdfF)wM4b{UJjNn!`A#H)%4h$H6%oRvYe4cE+_IAowcNe*InI0g z<3w1emqg0iX$$>%+_3^vwphL@2n0)fI;KY-PX`Vr^^K~2csO==+ZK1M$3scW8YR@? zJZ}8(A@?`%+kut>tTH4AhFG90K7^lle5YqX6aM>`Wo%PKVovYEZd9#0PN4IY1amEq zLN04F<6CmDh!J8w1L}R|u_L*GE-PjyN2uA<kXi4TkHjf!KDNpSoF!3v>pHxY!Lw-C z<%m~rVC9O&^j14A9{Q;O`tx_*N5eJ(WYgsG{a-s=?^|J{j?kYS{he0Bk-MJ=DF?6m zKfjqfMedqed0hx8?(C)9pz69kmc;$_gmjczvVDa|*v<EeK0)c}o_OXj!2A$rN5O2E z@3M|DwQm);f0uM^IQ;8DRiMf)*oGr36v<KuDgF;ir#o6JXzJ5c=o=*<8MT3)@rM;b zhF|$OZrg)iH1?PIt-73ELpz)L3FIK3gF)KI1%X94xeSpSmW5P1lt3q36UWc<3EAt_ zXBVQHvQe_-;mtTrza1s?<9<M*@l<QCedg9~A;wA{e%$`<SF!QY%}l`Ol1^}e9l;1< zmDAEbs_4b3NkD0ENz*s7I*A^Wi-}pn+p9)~R@#DF+6&{Hq}0WHrHs{A{qK&~^X7Y% ze^YSi*NUc_#AvMsH;wk`WF>$!D6BOWf<V2S6f-{zH=Wi<(;Qm1ROnNeHCW*B{nw}q z4No#yH+rVlscV=9_z|Y8l!7k&@y@7^^D7L*NvGOn_?4?F6fqU@e}48ojT~(@ANx3U z$vT}C3nsGlrD%vN$NUPA90uska1Gj%`#V2FV?j^(@G(Ry%7=}G*}HdYMnF%l!AX!@ zcb_AQI7}u^7+*irYHE2mX*E7!DueX&`UXov_+Z;W6<k;6=|cY#Wm?f14jFp9hyvIY z71)lm%4M2uZFx6PAXV1xiV4T%UJp-tQ9tW3W_MU6&Px&>UMwkqvd%e)V(eep8c7Ht zvB!UH7c*6h8iac9{F#empo`d`WP3AqfNDArB;=sAyH=f;@*%M!-g5lebJgzbqTeei z;=6x_s;aLuRxRpg=5Es%0ma8gz*3kxbcX=%>OOv^^|X2y8>G=DKgow7MJlBAbb#o) zCse!n$e`FiX<WI_<O&s}PTAX^%Ggc5YVV`yz?1m%A>p&aBlOo1R+Y1q5;qv`W`rLq zQR7NM4fsBm{((1q^^POk{nPB{tKa$PO{kevx^p~JkI9xFXy28!YMaa{&oUJiyK!|Y zV5nWWw-?!dtN)7Z_Lh3KING?yg_ll`%yC}=%>TQ#<qb7WLzDUlf>TTc(bEu0pm+vN z4&WVV)XApi4ZE@wyZBj5nce=Xu1%TsjnVirKi<f#4okUtTu;|8vGE#KF61v=0}eJx zo?Yze+Lw*veG;L9!`>}(Lk5Fx`ehV)l!$jEG}@A+nj8TgEM$oZ*_8X@MNb^xb9W8D zswEcY6Q*Zqa5Pm<F3!Sg36<oZ=Yzi|))BV^0migv4>-QRtGCT`)l&8mWJG?09c={( z?2HA-h&s4?b8WtZ%eZs0W12Z;a&2Fqz76nU{Pw!%eX4<CQ1)ed9|QGY!1SW?#h3se zk#0j|&k6zG_ztJ&v(7-HPovr`LzGJDefq~C*xbA6m%mR=EQyv)v}X^+^-k2BCB~$? z%Ma|oIjBet$H}<{U)%9{c>NBeyf_RKs>PL#G7yzA7fhoh7&#^l@nn)jeRHPtS+TJ# z*TJ^6qj&jZC<d&)ETJ=IyMgxU0D-5zi=-3(vcbs65dI~$L2+{(@jwpt4C+pTTnO|> zK}DDxyv%Q<f4zCgJ2tVNzwR_?`e9bDB(OreE452EdT2~iRcx$pe<`;s+E3$GdC}eZ z(eM4}p(OF^9Pa%`d4aa(1mt_=6U-(nEUMA<D+$BH&}#CaWm>*Q;<W*_VX1^pJR<59 zh23L4?lY7;EIT{le0C`$!dwcL7_-E#zkt4By|A-01t=+qFl;$cbETVan)lm`FhD^i za#KHdS@MWXwo{t2D-Zl0?8X=Wt$eRt4D$8HMAs*_sft2TiMuP|4Ipt;CNCeQ)8{O6 z;*0DpHfi4g-h1Sg<0HJ_>(r_olXGh>S|EkE#R-id1G`u>lGI6Q(3=3}wFi-5Z-_L` zB_;!SJ+0yaH~j&}p^W4fuXFN-qCAKo<)`D_7H`xWvE)?o(O*^5hjG@ph|NPhc?pP* zQ@Ii-{&|Ja)X$UzN|a}d`1lDi>FZbiMZr%l-yW+Z@m_<TqNzeB<!;i~?PVY1hVCUr z!nr1Ke26EE4cAnByr!7lIXD`cWUcs+e6tCI&m0Qd>Q#J{6;eMr5D>d}5fDdgSG7*` z476<2r?0ZduTHhQGy#(da7^MK`6@8P4iLj<n^r>SYjU^NHWVmB_1R-uRb%)@eBSKG z+n-wSt~S-`X~lnm9JLJ;j<Za;Q3mk>_It~#2o<@D=;&<ALf8c=dpWBm72BVgCHQHS zYe1_e1I}5uGn_RE+rSdUJ%4I2Eh%*qkntg+C36o(yq^7bH`v%(KQ=N!@eLviRR9V{ z_`FB!%$XtUMjnV(;R>)?>k7>#{1%ALs0WQn6*pcGY$(P}RfpBfBdSlX!qun!EJ~Xi zR?86+T`R4FlxCKxFTo0H&TY3ZGaJ>W?f|HXk^>#yL_zvRqXc`LuP^Q*Y3=jY4bYAb z++)lMpDJX?sUDm#?ff&3l&2bR--_H|EM2f>n|i|>N1A;_@IL3;ZM;N|cAIsSRqh=} zs0+wy*@y+3jYgGI=D-$#rKh1KG;kJs!(_wJyYD9@=0JARe4U!l?w{eI#YNe!e8rW1 zq)lAWcLkJ*4|?wywIpkr@q`}X>>DJplB9nDE$|Q9%_Id_u2%g-ER#Q*Lcjf_XL|TJ zob@Xo`_=cN))X5f89po^8B)atK;8!!qw*I3v~MKIDjUXv%UsdN4#nZDy5|K%jUIDp z&7PfcIlmuJRSjyT<ppqW=NWUn`?G&jr6+g;@0xWH_eL&hUH1Bz&!_2Y8L_yY3HaKj zRA#{#CzLDC;!YX+SbvAh7r#lR88yz(slU}OLK+gKbI_GgeDOo3cRtj??&g%8u!olv ziC*#6ym2>-`X1D}tM{Q%){Dc{#+3a%QxSAzdZV6URX!+?If%Bk!wA!T51nhx3J4^N z#pL;HQSW|jU*k1khcFR_Dug!ZwKT4&F*_NLcx3lbTY9m}gQ?JDqn7<kGI4a4+7Q>w zR!!=o&5q9}97d-imSXsJD`Q~*GC-|ZhVx4Hm-8CNJ^Qy?{T*4c0ov7oFScYG4bqI5 z0&S+e+-O_`J^11c5>o+kGB?!<^mq*EpHp{*mM^g{C1`%CvQ`SW6xuX3@CKf3epC#J ziJkHq2%lq*`J)C<@`SM;(bE1D5gG2TZ?~cKnc4Bg5Z5}?G0)xd%OLSy<9f4Y`ZMgl zutoc_oTW4GYo&_WI;WFczt%DeZQ^6`p58+v;jpb?wYFhESK8%VbUPlUGh=8NC;-r( zk5ba4nF06inHjW#SAQ7!L;q<Br|eKSorKHJ<D3V6d^12n@6*PHMg@++`okel3jccR z$l93hOR~|unlt|U?YybIl!HghUjWEpindjkg~0gDpokx08`d<UCx>aH!1CB7vb7S= zM5_V+<v{o>5=`?5H-HguU5)&#?fzX1?~v+LRny}=EK?2g-HFhlE7q=Tyk0Z={?=*S z>xPUb1+=Kz=I7T<Vx9%3K0DfeFYYz6gxabtNn9}J95qD#Lv)kToqZ=@=9{bg9ddC~ zXCh+@+}6K5pO3RDCX79vk4j8m+kAFAlzRxSNJW<>dNx8U_x8hvtZvVwJ{Qjq3-)4T z)>Ze}$q<@-Nt(Yu{sHm;WJIJFeEb5Bk&uyJcsbTTd><7T6B8W^AD4gt9~U2=kc9FT zArUz-K0YZODLEAt4Gj(9D|$wHYDP+G8tQ*h{g+!&QBZNv&~T`U@QJAZkL}-7e+Dr3 z->5$2%i_ep@b~{@`T%5<7tsAeywP6RxGWw3h=_pv0>59XkAjT+ALNe@KzU*Mgi=KG zFHoNt7R&&WPJ|THlQ8o4f0wav+x&Hb_KN8vTvppMspusO(Lbw2|K0v6#sB}8{x@p< z#a64dlKmALK6k0A7eQg(U{v1Ms-#t?70XxzhIzyOh~KPEpvneu6Ak%dAT__AP$%K) z`@eu(k_y+O`t(HZEULvmz45~{#wKTtJ&4zSuGpKw$cw@hW*x59Pab>P3S})PUOWpX z&52GEpL+(LqBj_)IBbjr$g{yYQp$#f-{Hk{NT1DGxp8jRVF$d_HM5h~r3S$zOTUo{ z@ZmWe1U6OOpRMsv{mhz17zUhG__q~levDC*h0P3FbANST7&_y*UPq|>WiZ){W|uHK z%P>Pn?=et{hq2qiV<B}KxIgO%tZo~`ozE!KO&2T^+O?^Bz)NPSF7SA*Hj1+FY8Z8M zB9MZOr=p|O&eLVwK-z_zUB}F)j-<7Wg-Y&|E{xCivmo6fd+pOqc`wFt^?<k1O<T(i zg~jUKd{mN~y(U`&($m0xP_g{43gq(frD~%IV7*A-;|6VMM=1l8A6XQ2Ir=Z4SaYd? zq(s<@1L2A4k27${-OiNt*Khl#_p!oZi_w)tbmDdxKiTLXm$Lp`cm*wvo4~g;iw7sl z0k2D^Q^dFwrn3kn{IV4wZY9E$oZXtT_0TFMXh&n*>m{xxMeu_o*9TRkdv?dW$t2^b z5dUv{ugmc=I|LN$7qqBTm3p0VP<1U7()bQ}p(*@G%qg-ezRo8fC5_4!-2!vlGCdv& z*`I|INwn><lhlgK#&_kSjD2WbCHQ*QjXmC3jLK#tCyyUOq-nJVV+*8ZTZs^Bf!$;6 z+X=kX?7xqk2x?n2AJ1hb`;6Jp7eT(mr?7g6TI+gnFn$h!aimP1fKzTmr9f*Qx}kDX z2Zh)p&_cmqSoZ)%FH923ZA@7g*A&VXyQkrSz~ek<?ku%}dBrN_w)wq^5&Y15%{k0A zcBJePXa)9*4R8KMX?Mwiw*=eI4mX%$JE}6Wcfw~o*f4F$C$#ME;g~IL8qm+}aCJ*V zR*sblp_tvGW*%O1E^rmk?EO$jE(gga_cHdFb4RSSZZ%P!-DEpizM-m3ta~+FW<5jD zZV*xTiG)IeJ-;EO_Don}`P2;iM4_(Fs7xmAB;CiyEt$--H+?TMN_l+g2rI?(Q?cP% zTfLTj3AeF<rhTN1nxp6tGxb7Be_83iN!&O)P~_ZiL)J>$Vk$PxN;urS0HNe<a&F0N z^8}|DH<08sUcf#{AbLVOb|mGkcL}4SK5s>YM2g@Besg>a!h;F6yqs=wpX_@Bq9~&G zp2Sp2Gbizut2B;URs3X?W^O>gohERXsAe;O846Wf$oB!{2Grkj&9g{_WL#_(Dp#_a za0ku2;3f3V`<z#&4i8>K_4cj>HK9!DGZjC4g>3lk{7H5-bb?JHuJkv!hROuU*;zqV z_@q&(SWkl-2EhHOW~NY%-otHzaE_}YBB3u}H6wmHyu(vC(XKeX%O1)?3;gqLyvH(8 zRB&WkWeUl1<XyAjNmwz1B)G$nonfM;#=;L4kIUQ=($0<OCJxI$m4=6wunY{6JQ>B# zICY-}6)v+)b@P2KvgF>~hlfGnN!!fEONcJuTM5gLI-Kq44sIDGW0`Y?XXXhN?$#yK zNcsmT<KUm*?Gs*cZRh^7aRLhCsoqp+2qK0uKFGeSb=4<g)zm%U0+yo3c6iTUDAOJe z0uw_MHkF{Pk1noWO0RmUei8IXL_rnYp}JcUP$qA7MmJ|`Wi52>#MSdL(l;6<(iaRo zD#q3Wg~9q$+*}u>Dm#oN<nc$n2!DFg(LqII9g*<4&`#xiLV}RK!(<h>Gf|VNr8S<b zRyle67(2o0%#56=pm^ao+9Me~=9QoHi;re(i!{|utIJt+165@G4G|FwYaJd))maHb zm$xfKo8v|Im0Iu$18p9XB<vKrx{5|3G_70msMc4aer7W(X+~l8^}eOeSqo;6?GmmJ zu%J+PSLdYR8yaIQpVx+J9_l(^!-f{)=^?KUE<$cwjSSgO)<K^u*4Kd^e*xBZ@7{XD z4t2)+RQ<t*`evMt-{-16CJ2pME|`{DFW5zt+bmSX>)1~~Z;`?>F&#OV=!eZt%cd>s zNPn`+PVj%B!<vmB&sZo<gBGXFk1SqMotoEyg&Ybpw5&nf2ZiFpMC@e(1BU=bw;TBc zNk%sU-f#{+h`oy{{Eq-ki`xiLkknwHs6Kdt-doE>Ihqz?`1?Jr@P2IS%rcC{b$}=d zb|xv<C$60VT}rT=aL%3CZtM7I)pemPCDQ5;pphKFr!?V_MjDLcfcHbkS$co+`O1yd z#e)F*Hzx4RH7niT1081pldC65U_sS_>WAt_p61rowWXfbC_-Y4`D;}>-VVIv!&c4Y zp9;tRh#cRK%ESI>WvZgAPuc%+O;~NF0HqixBRrnEyC08GY%5z$l<%=?<E;j#ReYH> zV{(TE?Sx{o(XJioj8Qm!1u=dt<T}EhrGuIGaTw}$GdW-6Q~!(;*FGi^n(GkZrn~$4 z)HjwbaKzRSDHr@y)Y^jxiG(wKsqUY2`%zZaFL&SV^o`8ia!(mrl{3DBtE#4^-N-io zDv=s~>cXq~3s3hr<S+)i7S#!^Bq0;iQ<FhICD1V&s}?P6`ICA2RXK_miFhaBquKe* zD7#EWztfShwRXPtq*jh{6m)xn!k!@o`*{gbU7=b&hhA0@TA^6hVVgX#QuaQjF<RQk zfTa1ZPAFH5O*1QV2il*bI&lFor`JLr|9Wb5tA+GSNJz5CCQ2w)DvYjcJeuhcw~gez zN#r#4ef@sU#cRQa-<9g7_(zv?6JCCBtDo;wyaXvsSMJSTFSyMu>&P?MheKdduPu#g z=-g%i$u$GSPH>m*ZWLAtgaWZjEA?3G!{&MRMm=Thxl}y))F9mlNq~uwQ;6K20mSw? z?Z?#Rl8uQ{vuJ4Tnb2B3w_iEq>VsM6JAt{a1%7h<FAz#ESug>!K9dH6BvZcBW%1gI zpBYYV1-Ujc`;@+?7mLmgbDEmPrd(-Q0+g#=OEe_fC5*W;!^e}iHKS&z%xVIr!WBXr zUYb+uRkscMdZ%b904>#Hg{T>dfi)&cW^tM5xP~Rk;rP#g0rbx;!)W)h{mHge$_Efj z9b^84(*6bINL=o{Bf+zPI@}*NRQa+Kv-pNK%^7P1_7D|xHhdSiq=%Zmbw|wrXhpS7 z?kBLJwT?XvYe^adHkZ7kfrGGI@KP2Q*T`LLrfJQd_vzfVavD<8YB3X&d2;OZryndU z#Af>)^Yj%cCL+a`+DZ_%F$hqF1EQ#f*wNbk74S#51Y3Yi`%oF<le#h+)GKu)?;M$q zUH_SCbWd=b$j%`ud@UU0Pg1ZO(QTbSDr}|PvmAb;bKWx;<DdVeRHf*^gD4-;!qz{s z4NvfGBq@}MLu`ocuRC>*LcfdW>QG6ZNI{`Ue6mZ@^=KeCN&CEOn>*IF@nA-C@R@7b zn6iuwDqpHI-4W|%pX4{v(`2u?;fS(!SAA_hJQ7$r<!hIuHLF%oVO79cUtyS<z{&M> zf7<EL=r4euVWRk3<wTJ-wsLv$@bsV;(Oo17#E7IGJQU+EGX}|fSCq7nYDe^owVoS; z2Ck9eAbPWWyRm_J=WC44{e9IJo?Vgp(MrV!hpnGocZi84CF^E|xTsy2=>0}vp33v= z-aA4%=VRe~`R-BXv6bfMr4s48$fTX`cK3!A(suYU*UB~G_<@aSa|F1wrVgK+x-S9+ zhwPCu=PjBs*_&zjzPQSkG#yZ}I+h4Sn^`W;xV`sQ&A4P!QkN?Rany@HbM2y}%zPNE zzKgV9o1o01zB8?m*HKSH$SqL6@39DQXFu|&;P$qnD4g6BH=W7K6;Dsq8xn0NNs}y9 zn2h6>bh3U(2QP|iGF)F0K+zu!mu_|Ls<bNSjvJn(H16RAcixqZY<T7;I3c%&-3p|* z(0e{}nF^abTnNNUXqP-}K(n}lm5ol_?)U0_`*0+ucF~-<^=;{Nu_mh%y@}N2rf@N* z@fr4<vp4n9E2X=nG`dB*33)B)^50{aZb&*y*E`7u>eabkjOWL}$KRj~$+N&WKKT`J znfb%wBg3y%C1I!cay7m88<_GFzfUG8Yvvu26`$FLNo(44;iRa_V8yzP?Yhs|{69@P zmX~F{=U5M%5MB$_pCvaJ6Tw|NV$ak?fEl7HoXoTi7vz$MC@(WhsGsTddi?cJF8baN z*;F!5DSQD|2EF9!C15Me(nXqYj~@daS2V?wNVmTHJfBH2>Gl=PEP0rIB3<Td@+1r4 zU37H}e}b{5NZnTkC*-z13NAdgOIW*4onXTL48EO)M^(=`IEF7^>1f;Ggwqj+wV+~n zfx-uuy5mz0FP!@g2Vy-#8|liXZbhw>W`ztv)={}=={S3hde2}qO5%ZNr>|Ln4wrl^ z7f004OiGDP#tF;RR>bAdJGJTrPBiK}tQ>cuFkki3F+Xjy3c<PLwV$o+E1JJY-w;?Z zG#vfl=Hl~Btz%IX2}K-x_P5kAktkz|sE#;USTlDx7_(xkgqrdJlIjhpdwckg8u5yS z9uBKADH9q7)w^nxya}!KADsNozXAxaQd=;cxY(QzjFchHEepBYAJo2%u23h0zm2D5 zsw=+M+>TWC_|(ewOn|fQZ~AKp^{pq67EEA_{=<t6DAWBX0A|Uy^d+85MOybb6+?^M zV78rO-3)B%GT}<}i9K>F`N}qc={dsGx++MKl7g^@fm1ai9Fppsj!tI}!A-7mV!wX) z1FKgKm3JDV)z-%G=w>TvX)97CwL^rq%AMCp@0bSiG2tJn+R!Omghl@Pv?KZPG9L1o z{)T|+FW{oA)j2R7OH<lsddeniZoB3u{ZKNdOYad$Z_i!VEUPopcpMjUJRU<!0ugpQ zyOJo4Wh?2*QRC%RsWxmd`~u_nT0V60jIc>@J0W;vai8dzgOE@w0hCRXMNbm(tLS8y zE|$^W<GpKi&X=1$i?c!5u;R&>gAXbd4FVy_jD9%S-QX1xB!*e*uZ7ao>=0<_7_0st z43dVPqG{h15_>+HG7*N+e*EZ|@GM`x%OiGh-R};?)BbgTZ!Z;XOGO_nHV}oiiUA<x zv(*`LJCgAq9DvItrA)!n#M__)bY<YW?gB<D1yzd61nh#<2m>}u#|0jIkpA*iNfoq1 z;S>noCtvSJEu0%_BVcISF1NOz_}Y@dfRNS6B>NX|leM7zWwLJtr@{7zPfNNlx1j}8 zFLnEk8^_nP3z9`~xmJcYO7|8-;3vAFjuOrka4R9#FXx0bAQ(&;Aa_4nQlq`gEWi1~ zift%%;<m0%^ipsoDK@edl+1eg@fw-mZg{J`(a_ejvH^@72ClQEYFSz#=FqAj*o9^% zrfh0go`-amX*KzB@|gh@NjOBDEd6f!tX{WY+7aufLyRCr6?W5~$EsHGsva$t;d7}n ziP=tJCQj;fbJaLW*~zCpSrk!?~yVq75GxrG!}JLT^JI|e`O>gI~7{HTH+D0!4Z zD4gt_nEAVLil&f^xn7a5^{fyck01`oLoztnA(~~5X?=_(w3u+g^^f99>0{Eu5HfG3 zv2r$yBRrFK(Ri3cfY3U%JuX-HhMJP}C;VljEdA1jdcF4UUPnhV^{kYXl*3DQXetJ2 zcFMS(`lUStZEjBYbO5rhTK-V+_7<z3Gc$yw@ZMAOTOyKi;eO&__ZaiQ;t>8!Q-8oO z?ycNkTJRt2)Gkvz58-v|{?0honFKq^(z^5XwFXAl?MV343FCsQUUIRk46A<uscf@s zK6Zz^MwZ;l33w!|P|pPAxGFM!s5d1Ag@F*3)15PYu>~)D(vcbtDba7Lf2j3Bc+^jf z(oJp2JMtu&eeevMA^J$*#WH>J{&u8Ody=TMNRjGYpz&<9j(z2_l*(Dwhxg_T%{Ppu z**5c|wuj#Ic`6k%Yf|WT8bU?I#zrnB=Pueosa#ydwqGVPkD1Krn$XDy;K?T_KRf?i zELC1YAJ6jd8b}SS+3mVh3Hz6>;`%U3#K>OXY=YAgj?cr^{EL1?No!dVsP$v8=maep z?&A<8dm9?-UF#&wK+C@gub9<vCGN&eGx{u`K_cqOWA6qW49$4*ucEzW*#mw-Jw%Uc z@sPVc^&d^iakTkm)YL4RNeHVIIDBqbG4KV>YF<5E>aF5Vmg6k;NimHBRot*5>PvY0 zt?i`&&e`KD(vq*VM;;TqpO-rEOF(Vkslp<XR;+4ssD@FrfarTF+ZH7WUZ{S5&b>TA zB8TRDn-T8I%EpmcoK=HGDU+#1?OHp`PuY+>4KH`LUuVkY@|pLXo=O+Q;qt@Ef*txA z6sJK^1$5|TEz`^;2vGQyiR`nO$<NwmQ;()xi4Ua&l`1}jKjXJ6+@PD@f@C#`l%KDN zR$vbLepsT7-ib7}qA4jvjog+FY_MJ9PXyE}IKwjQ{!H({3A^@2*pS0%LyNPTh;vUY z4^xj6SEv`s!v<5SZfU(@8V0>l+|ZbXXiHSej-ybx0Q0^>>d4yYB9SeKOm(+pA-PEr zO<JFXLtDn;V}MQo;Pig{G>UL{%!Z*RY;J~;rDBGJsfoeQH%LkBe1tjXcT}vwu;>i= zk;fT@dJ0kj9d=7rU?G_L2<akd+Fz4zM}TfvLnV%hpCl4vUTj*l-sp@%!%YNd3C`ed z(RD3t%bfkgDPtZ@9T}}Umw{K~QO1El3`QwbZsed95SANX(oUEusja2uhhkZFE#xSr zcRf5&Jw8nxs;-K%g=U8%9aNW_ZMC`v&C|hCA38k^;#VscdKz<M-5E|_PW~;V(Ol61 z<@<2XlY0ziMC=|L#+oE<`(Zt<wSEXG5j}?}lYFKyfYI-MLA-3h4G0bDTf)!t)kevo z_P@JEPHs!?AviTSUZ2W^jMd#dY^+wKNF>iQc9p}jJ;h0^jS9S$X_Dn*es=X4d6oh5 zhV0WDm5aD7i~?1njC<4VRbap$y}ZlI%BfC0Yo&Lk8Lx`HNz!q&4>gFD{Fx7ZW=igp z+yhu3k|_J#VcZhRDVzEMJmfL&qf3Bu#$ClNq6^fyR?&}14l95%evlYjNL$^Gmu?v) z@F$&m^~uXfdWPp&9~CR+<b8>nHg*TR6yX(d8um_&QK`^xYE$8s%f|EY7A>uE@5M@j zK`{<N&5F7L7|cpKF3G&5FR^=k-Jjl{!y+@SxYWN9naSR^ZGLhLqk91GiknA0@gTYU zx!U&k+!TLiBuNIDHd{=Z-9<=pL{n;5)!2s*{3~yVR<nFJIJAovDXIi<>|*8)v?x`* zXl7Cm98I6(jQ;|n6xMF8N81t#B4PwL-rb?jr4`9*(~T3izfz)7yJo71>@B5@%Je8D zBrhOPEqCy-j|xlrbJNJ;B2v6Og?Q?yLbr}>V_MNxnZ>GXvmiWdZ)ch;6Gd3R6b$n- z1r%H`Ibu|b+dR%=B)m*L$uTVD7!<KeSJ?ZUeR_pVoeq$b2b0sRa%1O&Qw^z2ez)ZM z=ZEC~Q7EOj^1n57BW7-;{az#)SNfy0&!zkTqh3SDWK|20^N8>CE4MVWOg)wuKatO4 zFDiM%wZMAOsf76{B*kzr8m^Ae9GHB}(@E{{9j}pQNaL_-(%q$>@_tnP=_;0jwi9pq zFo80UDk?M6br^n6*Wr$F^@dI6TBt!M{{x!Fx{zm!g=#?ATa^bxm^xdXG!opU*c6_i z7XG1!>JTp{hXlz}E?OtSR1440UBguQ!-!`<hTKPp5Z$Zupm!Ghmq-|@wve~&AUo*g zm(}vl0c-Kb2XJ?6OAAj;toq#B3_~uZY3+3Ovl6?b<V5epAaTofrRIN7_Yuw%YuXzD zvd?sL^r9U}dUFpW1B{Xqk|gcxxxC6LhPl5F9Qm=il*$T!*?n!oGL(6jfm_?h^(Afy z3wb$Y%*~#+M5=hyM%Kn-rkvf;W3wqMiCJrFe{Jc@ym0BBx$)@n-2GV0O2cY{WZg_t zGNTL3!p}81TU>aRy(ZTl+5CpNeHNye=+nF?I%vjK5abkaH{!#c!!!%kZpt*m|B+O( zm#L}!<ztc6svEdo^b{5Ztsc%(Nlmv7(1R~SZ*yenWQ`f|B*9ARBG^rt0^+KW-w(y* zxWvicftjmZAwCF7fb-qw^b-WfUbM+Vj(6n;23l+gySt2bOE-v?QC!MC2{Ty%(+2Ru zACL%Ts7o7#OI7dX@B}OqFJ#!jvn5xVA!+ydayP6qPyH`IRf9X6Ta0fx8dj<p5)!6G zrzmXf`IAX`>9nDR6gT3Fj+gBW+gQT#vVXWu%?PBqCtnT@EpQcUS)tDOs?Esm7wrrP zxa-DNio^eI-v<cF(!UXL7TLm=O5dsAOT_U5JLN-vo8b-m5o~?w>WuC7+uBv&p1`G3 z?@#_D@Vjj#5MQy&>g~DVLj7%@Nm|a_QMUUIQK|}br$1_ii$}$<7c`n@O>xQd><!ea z7{VDfwEIran}#syn1U>v*p9)NC-oPgK(e{}5VE+PYIluV_$__g(PNv~6Oz-X;pqzQ zK~)Xax;U~g|M9NuJ++e+V-tRJghX<lDqvxU-LHy!NvPE`RuZ#D!Azs<!R)stX*uzz z`v|x-+I-PDt4-S)-+9}QW+g^)mT&pv3}Z`i#8gJyktDL=3w4mcZJrCvbJXVB^}fmH z4c9&Ls8P0`L|!D^RcsXt4FmT3d}Y5PD{oCTqvvo+&6htG#_NAYCACMQ=SO4g{rm%D zsclxpF+-_hf8lNdQ!gK<UHR&HmMap6K5*q~kH4wvIi_M)?tnjMEH`GLGa$u~*xlDk zYcXIEPCTnG-4x3sgm2X#uo_ChnbWpE^SFW4ob?c^s$a^Rab*>*`{>;9i7ZG88|?WW z>Eie_GV{xcyzD-CnZTBg)vS?m8U|arXgPvY`MKYDU0+8Rp0%odYAey?H&&^m{O~+0 zQ?~@6wOg&0CA4KS<8<}%u2*vnXQ4zyN3R5_f_f1F-`FcaiQ2|3N8E3?it!jhN%<ZA z!$4VAlpBQA_bjh6eWS&r^<+~&5pK+6S@0`5yj#U+tR*1uDA#vZ?2b4OJyKP2=TMWg zcf(@C?Z|%$MWSm0?wRI3s0ZcTuM^J3j1G&wPNU&Ylg7i7#;Nmc_cM_-)tkmu1yXiG zKglJ%*=;(hP-~iX>KN#-&TnR^+ysL!@1>R(Z~N`;*J3fcCV!ulKiSh`K+BKIYn0&m zIjIc_Spk2<>PpBuijQmARk#(Tlh}Sr1}zh1RoJXLK;DZw@-c~(rri+?{?S~L!DdZ1 z)!K<h%tsujb>_td^)TN}__w=gmy!Qe+Mvvi`dGUvo3pG4K)UyOjM3oV!Y1Q-d7eSu zm}$fgpOv$jl?{(bA!jRv`DGX+vVQy({}6lF7?R-tD@B+Yo(a-?Wm*1k<pjqbzEC=- zaONzf$)Yj`w9H5od*qnm^kK#-xOtuMV)?{_3O(gtul5q(*+v-|CR`N^D<$}N+SBhH zQH^i6aLTyy8<(p1*qgUW{eYK^NJE?7bfj6-w9Fv{e7!v(XS3jJcd1eBx>7Gm|HAf@ zU1vtU5!QyXwqo(c4Nm_?m`U8dfm9kF0UT;iK-~e|P&~;o&K2$122z=8nShK+*{)>> zu=b|HKjum&t0y$OmH-IQuiMYVPMXs}$5dznOZ@Z5*cm$7=tGEX#&qZ%QfP|k<eqLg zkDK!8p~5M0_HX#MmGCnSV8VKI#wir~r+!`l!gWGu!BcG`T^U9Q1xgZEmVw>(K=p+y z%v+@B4XV=pWx;VBBN<|nsu(5gnJfi0tt|!3%j6>UNy@hqEdF}Bj$^+ZK!#pSHfmH& zg7hlfO7azMitFWt(G`NC#+asP&FK(&WKf2Zr*i`lgrIjAovk4Y+;OjYf|C1wG^$#@ z>-8J0>zXEE%T9L>CND({7WD+|uYI|^xZkhT=*T`&F77WBDkjf-*LCCn688x#Y+!Ea zA5^AT_vbv+utYxh_mF=BPgqFk^)fkU1A&sF>j#qY?W`n!OyzgU6EPI=3r@%mXivuw zsRsBP`o$CA3UMO;Q2(!)xrrR>LakYoRwTS!(a|r>-J{buYI$VbAreq5VZwbCJLO=l zp9&w`U`vRLDzzOg`>pC7T~lpDhx6v1_VqjGmZPL6$kwB(fbX7l2$?uTN~=iRJ3;|C z$tQ2R>xO<`f3F}?SWZr(52=_R(Go@qo0BHV_qi1MeoO0XhDO)nX2&YCgPx{Gu8Ws5 zzI;pR3s4u^n@83z9I*wreM@_58%N-INb?u)y6OFOpFyZmrBd9sGjz=$^Ow=5a_t5E zhOP~_#2*Zf{+0VNgPM74hweMVJIQEgZOuOwZ84Ep?xfbugNRC@Td6gS#X(I31r6Hc z4DEYMO_z8_i+qj;%3+;E!4=@T$Ma`zgqU~!lOz=w#_uuh$^a2Dm>x^rAFI)xh60O% zi6bX#by<2Sd{o)&;ms5dh7k3gti<-#b)vPj%loN<h1yw{&_t(J`q2~Y5!^4vWQ|9- z1J=q#GJ*kScE=UU!rJaVdyl@jj)39oxygg<WbpBU%&~?w{a|UxN-M&;Dqaa{Q$#Km z+J~V?!)Y|S*+wOlN4t60Z_*+v)-3k)gtTIfT<L5XNt50;%6RbsFVC5bk{rYdv#Xeo z1_z7+VZJRqM9Flhs|4?FdL0p&ZNKQS%iAYXqLgT7q}vp-pOnru$2zTEN@8jR{`>{3 z9@X<rD6j1q)ZDEZj|-b2uzCZts`}0_dw3Z27k~#@F~}_@mpbJ7-SK6yN<~@G5Vad# zCq4+Um{dBnS4*1Hnn5{2`E&mlP!#0&{9}=1=a5^)cEXF^h$n2;>jy$VHk>;rp2456 ztX^xX-UdmSEq2DNm|jG&-T)?P{70$%ag$j@#fOV+j-Z4kh!a7IGCDv479NwBQrWzu zy;clGuxch&@A|GYv4Uj0<cm1^u)!vwQJ@Zu3LrCiRpdd6=DAjw7ud)3-IX9YWhJSO z!g#C5&0N}X^yMc&!(Qr8A^^Kk{Nt<UGv#I)Nd$#j@k)$}uc#F#Y>P6=*6I~jAsrH+ z(TbJRXud7B(ubI`>dBL?bY<4L2LFz1#JZ*EoK_Zq-)4=n75mhcd~Vfv(3QmjIhFcZ zNY*NFP8$C&pwlrR@!~yiUUpl=@3UqDU~`AQ6ekE=$M^v|`1BFW|IP)($-FOx=Gv1f zGj6AgggRY7M<RCC0?G4x+$63____SDqb-WisTt8B>*3*XgSvtSpGhu*#E@1N{)MkF zoi8WmW7swJn$~Q4uQQ+L)HcIT0$sO4DO<U_o>u0TzI;0mD;&`FgCf|xxh8~>?e~a# zX>weVQdFT@b<^^p_`+yi+AcyUTX8tWbjxr*GI;Gd`(@=3`xUrS&NGwRJ^4gnGW{rV z^P^^JdMjY1mF4!qO!%h-_N(DLujoX2Z_=6qIupI*5>M(5KTJ#-e-$2f$fgy!r@_N< zJi2p*G`|_aa<C(t(fJ3yKP|&vNdz86)M@Ggx6FWH9_>sSnXwe1Vqh=({+zEF$1v0$ zI-<o)8%U;{g7tY!cdrSjA@r7H4rOI^1&4um_OKV{pgb@Srv@CiTFe{ibnH?=cZ|yQ z5CH_Ynu)ols77;_=#<JuNtsR|*?y(dLuN%R?-2wTeQ@*J`U7E5-C3p_rKF!sz+Ry( zXWFr4esnE(eB9uWo)X?}*U;g918dL``=Y|5x{5ch^Hffqwe^JuERVfFa-&~DR!h{Z zp$u(m)VPM=VMm?#TvOla;g$+049V#>9AkLS<@`=^iae7zZV?}kX>MU={5_^@-0(pY zy!!ALPzt<dh8}pvtjHHl6%66&(Q%FY;D~Io2uVpq6jmXv=BXoJm~P9VU{h?p3jaj# z+B@23WO~vM95%D5NL}Rgd1WyhccL7sI#2FEryNLF4nw02q)!Di_><m!9Z1YRtTI>c zA|fs(I@E)fr?5Dkq0_X9odDU?TAAkC5%P!R&r1|xgPyEFPp9Mhby(YJ+-S0PSgW&v zwc)rXlXAPrsnz4k5snA|e;z!WOD#P3CCIYjaFtEv=ipHQPvn)Yj7O$LhHk2flQ|oM zD?tsw^qB}0aDE=8afA_<6;i@xs8x(R*s~nltGoJ$B~ZoO{Wen8nRB7wx=3^-z)jgW zpoEC%q8_68>2ZUQEZJA1n2oE2LYctj;ALlz$RC&^_@ncus;{DzIw#zyuUdtiKm95+ zsy9=42Z9J|L)!XXgftm?@}_26H`Z=wx4i!XaOWmbRPN)_Q_1vWS!4<vVs^t)@Fe)H z65IOdSOqcMIZ|^Arw@$6bGOEy)A=))B`<Ir6(TDsaMRWyKO5gAB)SwZEV^G0CijNx z*n3(Z63!!796HmhrfaQX;Ed|Rsho7_Bp;|o5Z`@LO=Icbz0sr<IwCqct%8gTOHnT; zJAL^aq+->po<;6@3@*#kkJ?aAL2yP_q~3`!Eg<esof&eqmK9Tw-}*|7jkxqtYK5AE z7|l)dq`aDBp#r&0k$V+9;|&yFaXC_FwjRVNPbv8ez%MRNtkQxFU41a+qYdDt;eW_V z%-mz9C(*yaKvO!&g2%T>DXz={H(#%?!UhXmP(AYF#Cxxw+vcv`4;+ov>iYA4m$hCl z!eg7ptXCU@@HEeGqTTeteytTxjnI#l4;Zd1rJ!$hqopR@!&C4Z!VCHs+KLNk!-JO? znb>!31qTD=;?u3am1n<f_t8lY5&F27Tj+%>IK;DK@MR!gpdB`(uw$!TqRS}?J`~EE zadEm^M{0P6)Xp-^rK_n6h<nI#;l4Iet_>ynq13uZGYh0h%!*dj$7u+;i$}ZgG2<*R zf0g_)wjLOAvGBvRxZ(((Eua0k1e?fi(YM~vD~WJo%wmkKcI3wX3t%Z1LVAMw*VUCJ z{E>sm*ghkfD3muRO~fVp0sXd4d_%@3p&3karSx>AP0{oqyijZz%W}-}m3G5!SLDk~ z*~8j)<l;i3(}_S4#m$zP6fUku=NU<w^T4Aj8_`q)A8zNueKm$D?c#e#KutJh#88G# z*``bYf~2i%T#dOfiIP#k?Nv)i-d*<v@~h1-o6Mcaf{5ut^eu)eUx-A9u-EjKOPz>M z+o~C1(U`Sr%P(am^DinGa<k>nnx7x8hns}bH997;o@yPG@p8^IFj$`3t_QodH^pru zPSrjmAyk|e=#U_eaX5PUu=VD2y1?8-&UktL0(g!!RNX+PWn&r4m-L*<lJ*Wt5-0P1 z_EfX3K7Gb-EJRf+)W6_B2kWWeO}|eZ!yVzpNLg?v=M{ISIzG_82w!CV3KlVMTXK0# z>obPSGhNFqs#g0>^hH>djdF=<kwWUJ`CLT?hL<X6FCMG-kYm1Qf_{VM-rVO$1G1Dh z+a!9L4!3OC>ySgPCQi7H%bd2k`<W7Wl{ULA`8H37sj%foa(W_Rb>)LIrEZ^NW6O@? zXNN7rjli-LwpxCxCQ}%I!l0Wq44uaPkJyDgE$+<W{|Is@jn|7)jioL4rdn+YQP8a+ zTFS4<T7drm+D_nL(@1q$N{vI0PYZC>UkoW+IJXlK%@;gzx7U7f2@J5>C%DVLM%^m_ zDOXkZ+>fZ^62*AD!%Rq8lG^Nr6sYV5_DDUy*9YWf9K@M2-hPVuTZHYVqd+b)<%zn5 z{{StI>@anohWUZnap|Ur;j1bFr7+)BIwUp@<)RIWt;qU%U;yQr#8o3sk7mPC8(B(K zvNR9^t?G9i_qG}SDNU7_GtiR6K$jHjvIuQ{Z?61o0SE8(U#HOPwD^L2S~JRq)PT$D zSg~P6M(K1N!58%JinYm2%FgvU=`M!4t0Y_lx_>U)5_dM>+l&S36Ytbxy)Cw#Qr7ai zs!AJBQnuf5>1=i)qz@5JXeN71A)=<z*)AtY)>UDo?gpz|?rpw10iQOI`;06++C#2t zByyCex%b%q-uT&aderV&RT-HYWJV@@cM`P%w;EAx-6q?EqmTEmjB`nj;{{+PxeXWA zlzE6kh$&9|9md#yrzyF)Zk;W_8geB^LbNO=@Sj3dK>&XdQTzK~AL=w|ZuMhRE3Yb_ zS!FZgu(hh*At5@(=;YhCbApW1sZ%RZC%m@e#LQ59BdRwkM34y7QW4F?{-X$xo=hrm zrb&4#RT`jdt!Gg|w*uGT+y2;NrZSf471;5dTA!vVHClQLdbFoyD&Af>A6x@PDe2JQ zQft#DM4c{+C*>71DMWQ*sEsN&O^vT{e|%)w<kPagXH+@^(Pb1DEE1r!>se9-yD32` zRgUL-jz%<m+W}Ra*%C}P+Z628ObfbEp&{fZ<mm&O@Abwg)H;P7`EzD;(CjTi1!v8x zbO4)+-@e|*(*V59l~9cprqEW?enD#mDOb9$>_|SAN$-OcmROABM80F5l!D<}5C~R~ zTu}t_29fo+!1{9z#ct6T_^!lJbvp%+;VBKLoygI}&zl73QDsP|!KFOni)eW$a>*jj zI^uPkSX;;}eTD;It~pYsE?X1be7BcpA)p&{jZobt);djvkGRLEtW{vgpGT)p5|c_& zD|DS!Sq+<Y5H6lM1aa(eLQ_hp8a%fb(~VW9E{i=*HdU%iHvs*}<F)bgEUp}plBy~x zZT2QPM5s8X>{d1jBwK&KsK5`*F=5v0Pq_+8K3$rii46eSLYkJF5|9Ew2W`093$>P4 zKP$)0aZbA2B`y_7gf^czND0)hTaUgN=eG|p<@&8Ol($sM)s)DJ;vXd|j-`WOI}Ida zu4kQ2rDn;sM$(^@<|wLow3U8WHuG2;U-@4Fn>d+|(_4~5YL!yzC6<Cy<xdJ-t+$vP zeQ{OhD@asYgvhQq#MmLY<fH_2QDmr)l03ds^*6z2?)9mQsW@9p4h6t~wXbl1N}P0o zxv?XAefGs_x}JHpEsB9ud5s7W!BJI^jU=0PNV<r(sK8$MbrqR&rZAPc4fRJY#&su4 zon0Z;l&`xzzl$1F$W)4rPK{UbK~S?RMkPfnLUc7Wc|wlka(Uy7Xa4{UUTOJrW~r{J zj>lP`=)SPRn<+N+&>jB(p^Z8%A=d_C%W&Bc(=oQI^i-}v3Dk|&lx{D41*vb;+NQwF zZboIwzFfU3yxB?#b%h-%c=@>C{`=y2R7IwrUCQ9Yk5Z#3Rx<m7Ixbr~sR%l}$u}Oq z%J{n$3vcFneL_l|kqbRjTxLs3c#fQeBVs(>=WF0}Syc*lU8Uxh)VUM#twX}kXsJa? zV^|72?k;%tzzffrdW)H|^)o-kai}f0!i8am8w~`$f(f_>VnI;1ay{{pN_bCxLemTt z$ZRzbHs+rU+B~Aex{n_B2YvCV{C0~~qvj`!9-|pzt!e5)5*AV&1T2K!+uWND_WS1< zeY#CXp!^rqm<_>-WFhjcI+TPfNK%I?H%A*^P#oYSb%^v@L$oI0Jmi-p7dqkODGF@1 zw1lM~Ur;wHQR3Fx*E$Uzbvb_zDQ+p0xbV#kxf@EnpsASplg0ahO}|bvMbzcgB(U;S z(=t}sWZ40vvf0)Yowf<FBHW%Z`<D|PbWD#rGdkowm^W<-?1=G&_Tzi+?|^^Kb7M|d z#TFcac|o>{ES=M24fair$D8r%iqPulYOnC!(G(%ru$;P*l!Yw^Ya6F+z$0$=!j55e zMkad9u#n?!O`c+*mlNf2JS%(h4ZnYUI>DtyZ{prkr^#i-p_&Kxgoa2cHdk_Qq*!in z2z3h5rqHv@xRD)0j#QH2N?QP=>apQF{`ksg$dt}xoV7KfN(v)TwU2A04tD<ly|K4b zDKV-400-*znH2JeDwVXygy2ZAMzRS4{q&!E;af7%5eq)dN?Lgm9+a;Rg{I+WPv<}G zr;>Z%6>{}veI7iBXaIkBQpk0UL=^yb^d0Sv!#-V$n<K@L&R;_1!bGQ2)<gt27NBfR z)xTkmz+zI|eYGjqA4`EQlqE^wNky%1ZO$C2Fy2K4;>sK-lNq_7-sCB@tvg%OZTn$j ze0b`LrN@5FHl?AK_S{)ImHh4Y!%kIZT!{=qYEzmFc`Rt)4>FC0$8GQ$Bq};;xq_hV zCAeIw(o*{=Sh-Tr1@}It-_s7c4>Qx4spYq7l=j&*C`+fvafFf-bm_W**!%l^FpuzY z*$rmwu9@#24(wOsq?M318+~^J{V{hhx@q*<9EG^44aUrl4wyH!)_C;q>Bu+=xrVJ) zftI7O9oBSZy2s$FRnkzRECJ@$wlm!OSxr*28aYLh>zy^Wj!7%vU)1l7YOxxZS${jn zVa}SHQX~N4E~B=<3wr+mOkhkYFV+m6iFGl6Ewp^WYa|4N?Q%bBU?r(Z26%Q$MYwd= zTZ}^hc|cl;(tDkhLG?I02BQJ2#U`O0m57W=20BZ(R*>4%E`33@$GxxL3yX&87MRFi zQ3;k1pcUjRBYRu)f#1;k;@ou2Y1G9oG+lMI$OQ+TO)B@k*RbvDwgY~xR7?ft7or5c z4wIUhsG`>^LvE{4)BOnVh%>CpXn~wz(_1kdVp}y>EjWS|We`aM-oxpNuqrRE9&@Kn zfoEsZqdu2Wx!0qUeg_xyvBb32WHp&2N2)2gP1SPXQwnjyNg~$YRl%}=_x<n`r%P)x z=Cw%hjRvc9ZQM!^ooN;-0C8^kPjDh%!!*TNL6u3ATXNeSAc4=@4HVGrIu=Q-h6`n# zY*`N2q-!Hq%09o#6GlXN^K)DXYK}~`mqy`aTm>rW1dn@fZg3g(C&s0!bs`EwPgIiZ zM%`L~N>Jl~DQYM3i;viT@X2lq&Bu=rzL`w2<aW}O>q^iPp{yR|OBcUkg8u*}amt8g zsl_v+q2+?&`fWyz*;nMg>Q>x)`y2(1!@@jeG};kRe#wZGIpuA#R7$;X&gawXfGO~; z4ZB-QEypDfycm0B6<NeO-krA64voFBwNaRH{JoLo%w-QbNSP{$F}D;!NH@}dkRam~ z$r9I1tHi2CKx{*Gr!*joI+Qrjx%CHGKi3-k*%dbEInBl&X>p;|V^tEMp>!1idw0KL zFcyQTgYfF3NU5~jl5(wVJlfQv7Sn1~#>0R?BK&_`74dYazY;3+lFPCw`Kp=LZD>2C z-8LkS3BDnHhH4qNG(mBMA$4r9i76-vDN>RNxE`m|>*;|105lS){{ReY6v&M;QcKRo zT6$^$ciQ){xaVVl2Ug7QPxyHXn_W?L6vy9;hZwh6)S~33=WqzpJ-Oc2IebV-PFrpo zqPm)$LQqp`7E)0bz>T@NBVo1ehOdZJIq-ADiUQP@-jy)vK)6UsiMocvZLk8K)AbtN z8WmPSb(ffFv<4ahVT1({YYUGp&HLQ;vA}$im@*3zT6DMKrKO~xixC~MscxuWa<Z{v zJr4MB_+e2+JNqX#sSV>zGABMX+UfxfHbwdW0B73>b&(!LSWYFTVkt&CP}5-~u#J?h z&y<3IoA<`4@TMFI`Fcmq9Y;bP0%VA-DF(rAy70FfTnmB;=J*OIrA1ytQH~_L2De>G z8bLmE4QI{hZ{_>rL8i*4()0drs!n!X>TNEN#AaVgwJD&j)8;lJ+!6h8_bO$E#Yf?t z4q8_pLowGq_Vgb*TN;sYMXjijzW)Hr5t?*&eir8BvV?rXxnD73-+f6Ar$|o!0K!$q z++ZyxGjl#2d^O8XDde?2pk#w&?vS-9H~#?kUvIt<zwsH+r{+1YMSaCTB2kUC&p{qr z*!q$OK7-pDRBC*g9~3gJ3S@>_MHY}&w6?o+oVB*>Rj~ee!~Q2!->p<@wvxHC45HI* zDZ7%etvB0?0Bn8Ft^hpQ^(YeDr@&u|j~>ZOttDDjbcG%Vs)+kzv1cb_$#uF(l^VAu zoZD^|bT?%O6qKh@?{UhB7PoA611*Udy%suDQKjY{(h@d6Zt5g|@we^2Y(Kz;>=Q_o zm8lDonT>@vYk6EyB>w>43eU%ihF2;BR*n{^jOr=`-%(Pz+hcEW+YXeztwG9q5id&+ zsq-W`snC@9<U3<~UvX}C+qMJVOsPFn{>#Ez*(+t&t*E6ufnj_1=HA#lmt#2_Cc#_X z3pJPkT7tMG%Wf=o7wvDpE9F=W)9blFIJO&cs7}anX?&{U+g`(+?P0zze7SX;tCfoq z6a@OKs#oGHq>$k6+k$w&F-G}(8t=ps>r4`cQN4mi?erGh^Yphkz^F-mPShN0LL(&s zYAbU{Q40kr0RC&MNwM_$<5+<ZIGpCnWhu8^bTE*$rpq94bIIGbGkV1_6dK#~`l=mM z&Nremn_iTq-9p7(%5>lIjmhT#Hm+QV!W(EV;fC8JTr6rFD%ZK#p4(d=D2y%zX{hh8 zl>^laPMdi&C<FD};_WUAEyk+DB4Q;p7;-QmbkOdkYYI?4Rir3{j&~y0!PrqD!mCJi z4WZpGNm5o(_-k2dVM$MG+*oo>++Z|kik9VWY&105k(L=jK+-|n-s0OG@BJ`F1#zm@ zaG^&CEIk`8DKC{eb~->xuX}NCUOjPJG|e%So@4aF8|g%)HlkLQC3fEaz@9k8YRV)< z&2>j<4<#a%K<F*>Eq-gDj!3@xt@iZa0Id>CnN%FFO^;M{4!JOeB)#QL+~&nz=hKWG zq2<KT^Y&^~mjlehjdcXPok~$n?h-G1>}_I4+YnMR{E2h&JuL~)>nFs?aV{R#Al#?l zweZ`M*e_Hwg?g_wmsmvfu%`mGq#-9^eXbAJwgWQFY{rExOIi!<Jtc2AhSpZ&aa&fD zH@Vm--(!WzgfkXggr&x6VgCTbX|e!}-L9c-K=T2>zW$gsoZWt<UoXW{jA&tCixnYE zA!Of<#ErPP<luB?i|{HD(8J}~?uBYnR21S8p{NV_Y%C7s*kA4kGBTmOb1R9Aq%xX9 zjCSrh4#pq1?~PM6z)dax0En?+p>82`C~I02+0@<81+Q(shqg0}haM!cQ$m*MTH`dr z5nv06Tk))v-ujbds@tUP&NeTIRQPW|_={Pmp%!z(Q_zGo07^nrs>LSOxjUQSDocj8 zJ|I(Gj(|}9O-jouMT$+gPks3|KD!(z$6{p@BIQN8^A0k)s+PjE6&B9B5p6c$pI$~Z zoY6{o-0fA9734A?Wp)?@xT9jCb|%|w2K;ZoIL>MLX0cStc?yu))O>A0$2y51*&@X4 z&j6c~fL!?6W>vl+L={I=9B`$yD&-|ZRlkP+0DECOFi3|cYyBb9Swp1`rF$g+6oieo z1aGmom;tZ@4IdccwvURdhf|R2aH7d=g{&nbN(majE%)ct;2btk^vMw7s!Kwl2*-rE zY$YgeE}}Y$Rks>JI?^^fcED54F(N^q77QAz6HkCbq^>h)=`@uBu-7E&8n-v^#l^9% z<;gG+@KQii3u>hy_;DH`BhH?KDhaW-Jw<l=oMjPNi$zM)GCPe(a!Uj$NK#T`d5*9O zby%GzS3lPp-a=}IQIlq=T4}1CDs!nRH))vdp|q6~xf;>@uo{E4h|lJ%$C+b8TW)3A z8*p0-AK^Z-r4)cUx0G}Ja3$(gn3Hlv79c8HXiZ{lbE@eeSgQK~3GHs&;5A*PRI;oc zDG}VxnTg4S=~@2l2`M{q<pX2u?TdM;vRce}gELTLu53zmJ-TB{Q$Lk_s>)Y9+S~mw z0@YTM>$&IR42Rv&l^T3KDDFW>AQEl-@q@nP+AON9fazTIxDy>{RkSFOqJQGG$F=dg zGMQBP*-tA}V>21Lq=QtRbR=1$aditDdfLMX+2V?+*~R2jWye&Q^JPjy&MYON9SH<2 zTDG>@MabOk><ig`g)Utwr~Gv~m=|&xn^#LqH#gO!n}B`&@z@_bE+Q+*E2~6juG${c zExj&{Nf)|RxEHt{pab6>fLgom#vxFm=#J83w%SN4Qpg&V4YyUVb#}&=mr+V<EYC@; z(<D6nCMmI!)OYndt(4#j=~$7d-+SzSn6n2eWtxlVZ9OVvXXbb~#mNhNr4880kdt(I zR6$LM@3A;$lSiW(FiK(3VnnEFsLE4RvJ6;^l%=AQwW`I%atJrQxflVpwB;qq%u}fj z$&}Egvj&<A4yCa6!AL4CjRxS@D#cdV;#{!>Svs{uGGj!O0+j_$%T)6FejUdWY#v8U zmQC+#iz>r=V$4+2+wmyOGuG@`5KTt05;{`F-MA5%NeR@0-oX94Vn<k@J5YXgU5Zr6 z)W`^2wMuqNzCKHX@Yo|*8j*3Z9QO185B$DW9u#Klbmk;Xs2TFo%xNldrinHx0h^TC z++hde1oqdNCeMiMdYpLAnGDP>YcFmRl`Iel0C184#?2}P3WTN_5h$f}G^3)ZbmXi* zP?6>gthlvmN-jOd`-}|C`423!P_DYS8Iv9ZO?b3;gdtLDPwo=mNu^mSHyRE90M7x6 zz>K8RREcPDsSTsV1clqHsl&3j*b66aa7!#L=4I0uuo1L}tmB7D5+2k^0_7<QQibh( z&ul&B43!F+so#z&F=<I@bp^6lX;WPP01csZf}2=u0q=>av~0MVgAP}narDECm#c0% z>!B|b{v1J|+*nv#1HU|+1kRMz;zVw#38tr3t3NfC>fcjZTGUPKq-=|Ry~Vf0{dXOt z=83^nrMp#{h*8^2)f=*p)Y^gyT($QpH})2`3R5Y0ajBH(nSzv<la^I6ZaY|%g+r%- zbjDqV*A^G_H^rCo{0US@tYz3trRto8N~J|=uPsTYwty6;NWGPN8|~k01hJ}A_!-J& zLLrRwC^U4&ZuLSC<H|q<8uaN3-1$idY$leOhw#bDY#8+D)jETvQW}1!I*kCO8}yaG z2c7n|4aCe;2V&G}bxg7iImDJ6gxzvj6-j!9oJc0=9j)fu615tPA8It%6y!;yMDZ0` zl4`P-c2|8dbfk?&!~#d4*k1va#cHb-jZ{Kr^ca05qNd~mmz3L@&B)xOsGAFJ2YgJG zEfb?O(`}_vR!n=kvg~wePNe~R0IMCy<F)Yf6DlzYrW4`bMM|pu^7TEp3cM&$-RCcI zqok4$qka4DhM)Yo%Bzn#)?bilG^L>xNhea>oh%(C2q7g%7f=Ski<?+;fI|2i2AvwZ z)as>Hl?Iq)*-NO&Z45cm>JXE!bAKrc*jy3VVeP6N8m#LiRp>1<RIjQ`-wjr64o8fW zbf_equb}V0Bi9hpC{)UH_=+q*kzSTn9g2JLlD48mBzfFQdP)ni{KI2yz`;4N=(NdZ zEEnm~VdX^Kbx0|Z71vZr*B@G5Dzde53E!|6z*wj~0wpWr6<P&iT8p8$?J(VCmx9m{ zV(~h-=Vb55w>Gzz<z;wzrzsR>ILT(0OIxkEA@;O9`je!k2IA)T+hfKTDz#UYlg*%2 z8DgU?E27iduPIMNbX@8>+a#o@g%EFT_vaD`bZWh5MW0rgP|Vd71}d$*!%nipAQ5n@ zHjqHmZCBp_lTph8t|}Foa^SxzOU}CcaUE^x4W{=5wiR~4J<i^pu%;)Obn0w$Yn4-i z_1TV-t3+)@N(Dz`?oEL0jdgMItcdRAdU9#(L#3-i^AoJ7szOEeM^H`q?x3JH{G)s- z(DHo>tn1ZEs@$Swv2?K>Gq!o;gK|<-g=@a{2W|&A4D`rT(<Uj`-&}z5S!KfFf)LHO zL0RD`wXOBW(eV1IPJ!^=u*<Plm!GGiof!x%S~_3U=U2?VNN(>AN9n{gESZ(4mC9`V z!5v9vYm0IX9$RT^tgECqtteg6Z@IWB-;MBQ9VHo6`mBDPJ(`AFb-K8GQr29M^Q5J? z+RLF!MaW1Z!(ea?QR;N3b8|7BjWO8yK8m8kQz3@>?kOQ9NhxyH&^udxc*3m$h?Ql^ z7E4s9XcdZ&kCvYt!=VVcI#NTIC(v$B?~l2<GS-aE5>y)5Vbw7zpu=vo*lwo&l7yh0 zN-gjI06s7-WifefT=_Hd!xbqMNXUy;>(o^9RTm#fEt_=hsW<&Y)4l=Pthg{MnYT35 zUv=m-=F?7r5;_@D+65pL3$E!Gw&vR#<MV6n%a30{s-e=v-EARmpe&WI&8PruN1FHJ zd_K&}DW<nJn)M<lT9wk89}vNDZ!X0#j-@2&-p1DB0qVaGRT`x0v!S}kVlk*y8e6Tl z5vbT9kc~tO{{R)Qae&Wdy($Wjh{8OU)}29aFqajvDHkdP@R7#b<FNGROOBXuRb8D8 zr(BGc#%aggWo<A?(3K=Kp?*!lw)pG@p-@qgMQ)w*7h^|Tsi48>DM?!_HUg!)z&n(I zzx=VDDV8d3viy3qzX>JRU0ZI*QU2o?ei9AG1b}z`SYw%&Dsoor1j_L5LtAuaRuoTO zQ|i?E$EAQcy%Qy|P;IzqaZUWnS*FHyBos9U9`CqzvDBe&xaR=7^BKx@x8^B^z#lo3 z5Wrf9;yX%FPal@Ujj(bIc~Od|)(2H|h|8)}T_H)=P=5Uc3l2cBw!>kInR70QP}`K` zrjs6GT&m6sY!cKcr%NsOBUu;!09+E7w;HEJcA+ILzR+_r)fioYQ;IqxGy&uRy{&** ztkh}r7f^<(u1pk0(KXa{i1Br2x3~o+`Yty9cnWL4^wT8{IOQ0bvWnjeOsUR(L2HZK zP}_feUCdEpMRmvIpg$syALdmDS9J&HzD9<}s*|@qxDeY;Q@U~GBk*ZWils=Z<h?CJ z$b)_M^dDb*15R317MiBppLblOwz`E)#WYppDi42#+C6mY8xlSJF?K##YAnioa*MAB zp;fBOCAB9*w<WYI%gu)b{{WT+(jz+#pu-jT@#7d;tCdH3;DxO~mRjKY4ZX1Slp3EP zu}aLW>1Jw;ezP#Bd00rhOq&5@-6M{7z%0+DH#S5_by(6Hl~huym6<OxZp<`aLIsAv zi+08OHFP;adFT(f8mpL}6v|UVEteV!c3YOUg~s>x8{+KezqKJ~5?fU4*!rb9r&DhS zN?@G;+k&mV_rko_XO;f|X{nB|nKdVVPeP8JN$EA^Nm_f`_819sQX#NSY7}7QDuzWW zkQE-rRFG_^HapvG{kX^6xk3x8CoGqk5a1-$a|Dpuh+4&zmdWI92H)2nyjzU7ci}Yk zKPNTdqO5M26V_AaAll~S{{8UCDX&DN#><su>XS27doxUF7Aa=e=@aO0YkFWQ#d@z+ zkx-K|lOejUZw;|aDP>oQ2y(J5U^MT2&l`?#K+10})tjdoq0FI{mRm*I7L_xSl@%Ks z5_q=bz6eFEy(XCUY=-+$YSplsPF;?rSuxlI4xmZn_`Nv9IkufnZK#x);L6H5OH1`x zA$r|@O2zl}-B&jCwg6pf6<tiTI+Yov=3L-~DcI;rTkw$ux8$e`cRl^aE9K~vtjyc= zm~S}~FXhB4Wkp3M(qtr(Hzvy5Ui)Ls9(0JbS8Me73Pxqjuc{3tmp}Rldev)fWb8kl zBA-{MM$A;7hfSfiQ7H>Um6>szDiRlKs3?QR-&^`%JV&dVWY_anWTv{R#O4Ze>;T$G z0a}7qq>;$x{fF{`u}pI<nE76VE*h(o;`Orw>sY!<w^Blf+;`(0nCcQ`Nps>oMhc7$ zxq(7u2T>>k%V2ig+}_@}jtvr`)dmeRG=)mdS&iGe=x~D>f(62lpx@KB1Jr6|6EVz8 zcqGTlbXF3%gQRTpsn~*e{jL72Q(R7AaqR6T5r>uOAtnq}u$@v|7Z(LU+-@v49C=PF zE}m)>_P!V8=Aa04{{Zh5IqQ+-aaYt*NU>LIpXrYoIX~Kp?0Q{M35S&^jV&Xg<!Sd* zausuX{{Y+9a5+v)QAU5_HgRPLo2&l-M1Yilrb-Rl(vSs|NEi0s(-YOGuGS3?GD>YN z&#KEr+N3nxr^7UZpcI300ZK_eq~J_Rb=22b&Kb4IEl^r*LXgLiw1AYI3eqetb|7~c z_mk_AAu73<b5TrlREXj!(NfV0Kq|JB4fjzZ<D3OeG__Uo<yrQhl+9l;NvJ3up*|ge zq_nLd?vdr~+v|a)==It38O6oOcDq@VR+}2j)6i#7Y!a{10!G){wmqV1=&edj*lwZB zxs?QQX76=KHYzs!r%<;0<J=c%G#aG#LX#bIjFeePQBnMLq+E+}d!I}I`gexRkI{tL z4L36~*W9Q(t;7(_X0N0R@qPf?&<sOV3#?IOA}r37oXKAi`dW}Wv5;&I#a0$Y__hp# zN2BH@*?kFV6x@!N0+c}MKI%y;-@hDs;ug$0E149nmC5;TU3#YAT7t-NcCkDCeeehs zOurvDR%g^)o*<=%%tqPPgxM{CFJO;b<FT~-ET-kO<T_-^wK2zK&qAfCXnETmYf<cZ z$6zUV+CP>&dcTf-mK6>QfhkCvRFX<uczT2bx2E`tE?22iny5pfOP4kh3seewj(%cS z=9cLGV5ol&wiIK^TdqTDnEF;+{^3XKq#;TrN$X4sCt=Nw8*<KWsZ*k&JQ*vW38ku= zL{gXottm(GBoaR`P1p4V`rryGbX>yp)*eb=BCS0TT0n3orv@mygr~42D*F+}6lEfn zU#_<@eD4m`R%6rTlXk#^7+H{$w#pz5-SBFqmW4Vb&yde<Om31WQJx=}*$yn33l=+D z+iQ;Y!p31Ss+DS$8l04<$Xgk9nuQRgCA3_;vD()sas2QRQ(ub9w6|(-opluntIQP! znhH8&Abu6c8=G4ZslV+!pwG+LYHFlEm}=^9*d{tn+CjhD%l?>WhMdDbEcj`5JHoS3 zZjTyGtXhc}60)86HaPJYEZ6fBb&8}lGRVvoF#&~eR~4)3APy7dRsdF1r8}7uOQqG= zLSM`^MOG><6#%rwZ8u6c;2V#xziZVLX9ti|N_leM&JVcTaTM53ho`i5AziMU_wR|E zlPXJ<CmKi+>e7*ysl~Bz9xFtLR6q8Pf2JtrO4ybv)9J5087y@2{R9zvH)59;Z@)b4 zfb!&5Yt%VU!GxIeGYrP*G}IDxvl*}P2)4j^P9t2Jgc^+Mw}WbJK7x})qc<HE3Y0(v zUi<QK(W<WH>GCQt=LrmDs9!3jqe%%=w}zD}{-XFNO{g<T@U*w(_-bZXWKNn}R<9jB zcPRja+jD<>1x%?&W5&_w^(gCG6f`+mt)WY>Tk72)-2P$BzMNsQEEinM2w}F`70m4@ zU9}%HctDbO{t$pZy0AT@Nvu$)6bTCH)H5X4YV~!fjZH>Et`MWyBm|A@HpDet#>||> zKRCdQ>{lIFqh;W==+v-6R^Uk3Cg<<A0?lf)%nZ+3%+1AZRJ^{)r%>Xi#3}0psYo6C z-k1W0Uhp(5sq<Hh^<8yr#L~7(TNWunzXM@m^u_-GiHW9)yga<r*4ai?r>0D|1Am6( zl>=+r)ZF^-gn0h|+IbW=XH*+;S%)^sZZ$bPkioUi`-I#2;0VH-8FgCjd0U+bP|~P$ zc<VZp>xAg?>DYa~_=#CTwp9x##G1pkYMN6jt04sb0u^GQPwC{3^~ac5ZXo!G&Rkos z{{Uz5_z%=x(kvWGZa^nvxxqSEkaC?*F_kvl{Lv`0Pa4Qt8VVsc-(;PS+xG)dCDR*} z<lxhfWjw3+aoJzwQ>1>|Uz>03fs~nb2z08pY-Mgos@I$`sqH*9sg_hp0Um<Kdk;(= zqvV=<vZ8!AO6LZnEi$W5UdVM;DoQVY4ZrV#G%Ax4^X&T7QX3|XmY7s%MF0`01OTi0 z?X~y7D?LbmE-jCT^q_}owL*t#kFC3DZs&XR*kI0Nrbk9&gYfp06vkYFwwF|OwOExC zb8tPe(`H7aKyy7gPjOXR+@~0b!FUC&v*k$u@Bse+EPTw=={Z`5OrcYf7n&>12P!2> zE)-mL^tJ8w@3sJiX_|g?tF)MJvaFevQZ+b|RF{?!ayBCN0@vgB!fK^M%(eG(#F?%& zmT0q3^AL#RNlnNd?f}~bGqoqA#Vg@nS(^KOH5nDBQL=1pa--?b?S*XVPYab#$&?Zv zrNV3`bf%D0RN?MValNn&9}-~DtJL)8cype9pP6fsAt|)o0c^Gi=l&!sw|phlAyc2r zwTi0bE$LIUD^%uNQ^w(jRk|(ccKxxUK~*a;RjEG<>8&;3sERV)d9h@v;M%l-&vmGt zah~N&wH@a&bV;vBZO3c!()x-{kfdCK3Aj6f`}<%nW_S^5jc1Ci$t4ditrD3PTFJ9F z0HkfW2^f{yW`}e0$dHExGL*$RgeV&*C;%)-+hfKH)2IzpGQ}}-B%~^Sb}dOs+igbR z6aMON_rX|brb?vdiEx(cT%VfQgv)9M+EBEOB=;5sk$%GfgYho0T%=X0^wx`T(8V!? z21Hxw*#7`izuz5)e~C0Gd7t7PdSj6uk>R8wDpZ~ZhFiG*0OU?P02Z>-O*vLAHiUS5 zksPz7Aaw70>GZ#QV)W&$nuc0wm8rJa%8$6xQfwPvO!<;KA90SyU=zL-Nsy}cPiaye zQ(+Pw2`e@Z6puZ>i{G3c$PBVg0#Rwd5Mxx_F6kP|_w!$y`{S|L0`z$gw?)Z854w<= zG^YRyBFiaF)%7<!`{C2!!jzbqV#*^;7E;q=!mf?SzUO~)j>ljGWG0*Oc@<qWT+*hv zPM%h53cjZ2d}b&EMq3sZRB4Wp>c2Oe>+g=oU?BKm_|)8_hrbaIW|vgzRk(13>{aT1 zxHCDlFE3Y?v?WSjWNj)@7b;EDvGo}2b^)@cl&9hjaZ*4EXDTnGK;0f*-k)p-q@fOG zKZZ@XgslK-(xGvFZ*N<Zj>ljXz9Ow@%UPAgtwC<p{{Rs{?!DE??}uu+EoTgx8zljZ zuvXTcx@ysTr_kTH$78SxH3hAI1?!R)wJGJ+78c<*Qm%Ko<lhb-3=oHN6#=JEm7%JC z;iW?1A3@t4j=)%_yz_ORiBC4_(CTD5611p=3las7(`<cxDM!O<8c>jw$&k@}0buFX z%D;>6j>ljKd{jag@p_2D(v>pRGgEDmbfDc^fxy8sl&|B>H&_bMOl+p&`b~!8(;be$ zL6;V_$oPXPYf_{K6p-mRSQ`spn_CON1He{N&o3wf>Rbs*&*lStfyZO82EG8a(Wkd4 zwvM{0uB5x9Ya>b8{M!Pnz#_4fbPYDDOd{KNRy!Slk12rc4~G3v9M_m8m1^Hn)yc=) vuuFM1grpLMFFQG`r(&xt^XrbsU@Aje{{XZ(oa$Efr^(-)k&ee>upj@~(54`V literal 0 HcmV?d00001 -- 2.39.5