From d088114bf2cac1ef5a27c45e71693e4d1c44d52b Mon Sep 17 00:00:00 2001 From: Mark Bishop Date: Thu, 26 Apr 2018 15:54:06 -0700 Subject: [PATCH] concepts and install --- content/rancher/concepts/architecture.md | 64 +++++++++++++++--- content/rancher/concepts/assets/platform.png | Bin 0 -> 67977 bytes .../concepts/assets/rancher-architecture.png | Bin 0 -> 32311 bytes content/rancher/concepts/overview.md | 42 +++--------- .../installation/installation-scenarios.md | 21 +++++- content/rancher/installation/server-tags.md | 2 - content/rancher/installation/ssl-config.md | 5 +- content/rancher/quick-start-guide/_index.md | 7 +- 8 files changed, 89 insertions(+), 52 deletions(-) create mode 100644 content/rancher/concepts/assets/platform.png create mode 100644 content/rancher/concepts/assets/rancher-architecture.png diff --git a/content/rancher/concepts/architecture.md b/content/rancher/concepts/architecture.md index f5c851ccf85..b96360018c0 100644 --- a/content/rancher/concepts/architecture.md +++ b/content/rancher/concepts/architecture.md @@ -1,30 +1,72 @@ --- title: Rancher Architecture -draft: true -layout: single-docs weight: 2050 --- # Rancher Architecture -Coming Soon +Before explaining Rancher architecture, it is useful to present some background information on two fundamental technologies Rancher build on: Docker and Kubernetes. ## Docker -Coming Soon +Docker is the de-facto container packaging and runtime standard. Developers build container images from Dockerfiles and distribute container images from Docker registries. Docker Hub (hub.docker.com) is the most popular public registry. Many organizations also setup private Docker registries. + +Docker is primarily used to manage containers on individual nodes. The Docker Swarm clustering technology are not as widely used as Kubernetes. Rancher 1.6 supported Docker Swarm. Rancher 2.0 no longer does. ## Kubernetes -Coming Soon +Kubernetes is the de-facto container cluster management standard. YAML files specify containers and other resources that form an application. Kubernetes performs functions such as scheduling, scaling, service discovery, health check, secret and configuration management. -### Master Components +A Kubernetes cluster consists of multiple nodes. -Coming Soon +- The etcd database. Although you can run etcd on just one node, it typically takes 3, 5 or more nodes to create an HA configuration. -### Node Components +- Master nodes. Master nodes are stateless and are used to run the API server, scheduler, and controllers. -Coming Soon +- Worker nodes. Application workload runs on worker nodes. -### Rancher +## Rancher -Coming Soon +We now cover high-level Rancher architecture. + +Majority of Rancher 2.0 software runs on the Rancher server. Rancher server includes all the software components used to manage the entire Rancher deployment. + +Figure 2 illustrates the high-level architecture of Rancher 2.0. The figure depicts a Rancher server installation that manages two Kubernetes clusters: one Kubernetes cluster created by RKE and another Kubernetes cluster created by GKE. + +{{< figure src="assets/rancher-architecture.png" title="Rancher Architecture">}} + +In this section we describe the functionalities of each Rancher server components. + +#### Rancher API Server + +Rancher API server is built on top of an embedded Kubernetes API server and etcd database. It implements the following functionalities: + +1. User management. Rancher API server manages user identities that correspond to external authentication providers like Active Directory or GitHub. + +2. Authorization. Rancher API server manages access control and security policies. + +3. Projects. A project is a grouping of multiple namespaces and access control policies within a cluster. + +4. Nodes. Rancher API server tracks identities of all the nodes in all clusters. + +#### Cluster Controller and Agents + +The cluster controller and cluster agents implement the business logic required to manage Kubernetes clusters. All the logic that is global to the entire Rancher install is implemented by the cluster controller. A separate cluster agent instance implements the logic required for the corresponding cluster. + +Cluster agents perform the following activities: + +1. Manage workload. This includes, for example, creating pods and deployments in each cluster. + +2. Applying roles and bindings that are defined in global policies into every cluster. + +3. Propagate information from cluster to rancher server: events, stats, node info, and health. + +The cluster controller performs the following activities: + +1. Configures access control policies to clusters and projects. + +2. Provisions clusters by invoking the necessary Docker machine drivers and invoking Kubernetes engines like RKE and GKE. + +#### Authentication Proxy + +The authentication proxy proxies all Kubernetes API calls. It integrates with authentication services like local authentication, Active Directory, and GitHub. On every Kubernetes API call, the authentication proxy authenticates the caller and sets the proper Kubernetes impersonation headers before forwarding the call to Kubernetes masters. Rancher communicates with Kubernetes clusters using a service account. diff --git a/content/rancher/concepts/assets/platform.png b/content/rancher/concepts/assets/platform.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5834ccf1eccbe4945f839c5dc7c1e4baf3c080 GIT binary patch literal 67977 zcmaI8Wl)=48?KFnlHyPZ?oiwvio3hJyGwDG;_mKN+&wrHcXuyd+&`XozP*3$AGwp2 zNiu8ZUYDN7m2d?)aYQ&AI0y&`L`ew|B?t&;%+J?%z%QRy5)mNf=M$u}lDH5=^(5ZO z=i;k_gr+kD1SZ;l4@mRe+0U;CKuC%Rs<=a*>B73Bt1j^=Hy6VK*>1mQles7ev}-7; zRA6{r>dtTdTX`Fps-_erRzp7#74SUnddS&qo*4hg`HCxq5Emy~FL^P_va*rR)6)6# z&q=C8oPYok5efN z6wr?-F*IfK%}?;5EC;to3kO180BW0Ls3lO+?QL^ z6Fbyo0a20>^S~hnW7Z@g3So34C*G6U@uK^>g$te~sxG$?t}YnnL4}T0K`lyQbb8&pbJ+ILVvnohN3;T!}+{)IlXF<`S+1EP>@;2%t= zb~EDCHDWH7!Wc92wRaiWt=DJR+zt0u?`WZ0H6n#>RFpo^ryTwnFMi_b=b5eQhA$!S z`XVM`V;PFDRLk*_ZraVcR+tM(ASe_#ssBuPaC)$izWjg1P%Bk;>ZnuUnH1^g`A`fKh#!j9jqgAjwaqc2H&@KKORe$8_X{b~N>tcTog(GUxKR7eQ zN~QUFGT*>O9j_?P)ls6jq1+_F@0C!+rCQkKDbM}n9d zc@U1et`r-dbr!w(Vn0K)*7bp<>m;b0nW2@h*X|Jl4>?K~u zk0Q~%1rsc0c1LZMVEDigVML*!)vDClRm7^6wir8tM%&lI7p7*N!+!xwtL(q*aDKeB zc6cS)Qal@6s3w5Z;HW=%BM%6V>K=8%pXNl#2jz5K ziNXd1{2_-zYdR;ifiHj3YAERtrnhVq1A-2maHcjan++)I#cVU_3XhNXrEL^tb44xT z+0E#mRw$ONO#CLPIIQZwf#9JR;fOULlHr8VPSWJFkxB*>A{M{bTe+St3zB98XA|V$ z;cqOUf|OpGo6l3=dJ6)_Jp}vXt`UwGZ+g&C>`=i*y8Isqy{G9HNv4?VkgkoR&FSgXOA~`QN?VO0<9cwNkhA z;VG_OaY+en*A)_MeUOTqDPlo3%mqhPGI+E!ZZTu6rRy&E_!^-Vi%!{6D; z=PD{hliOKsxI5OPrCnMrfFcXaVoim}+Nxge9dqVzI|UXf5wlPMB*dRvBIzZEQ%3Wey2ODxXe3j5ang;>73h;~~{hR$@IfP~*8B_;kAW?vS z&!-Cu=|RP~gW-mH71}{8H>q9D$dd~3H)KvKVKsD@6;ozRO+JB|c77$Cc-dlfc}G_X zN8#i>GTNk>$%@QRL4*=&rNmtqtu&1kh;LLqs~Ll%zZRojlcXtgbyg!HM0a#^r-pY$ zbRZ4}M7A*iUm;e8oypSuLN4MwXmCSrLw=-T$*#q)7t+#Bj-<#5LIy%yc&T11Wsi`~ zmt2^cgwou$i|i^A5Ghl(D?0w?a0j!snd)yyi7-Oj40`)ckc8QZ!+wo%^5>X3sibt7 zv=jx6ZnvfjVHLa=SFyJZLZu^`k)B@_l%IYraoCWGV020v#mlWxL}W>g!e~R*t{({p zpF>eF%fp1~HA-gHXBX;Nj^iOeSVE%xkJFBW z1@aO|iE>hsU!hR?`T3z>P9MJohcq^@Q1oC`FFoJLj}OTBt=Y|Wg@0PL>!lJRw4|`TwY;E0edlrFdB66B;F|z>fp#&&Ti#A`z=Uo?x4yF zFgq=(?+*?bplv_OOqO87lNz3@fS38tV?YRghHgk^)B@aq5PyW9Wl7@}twI` zFVb}=7RKmrsK6v~z`$JnkI9T<=W-%&R0vY&prImFb@OKsgF6&2}QuiW+p%>RE@RMrXvj{Wbz{`XEE8c|$AiX4?CHrE9)N;65HFx3y% z0S3~kk@14@-!>JfstXKv;Zm=$;QHX`+k>L5kxIu|$Y>mnGU*lse3|IK3si2#JP!m# zU->^o<=1%=`h%z zM&&4eA!Liit+C$PW7e{tEpQPAPlSuXx$gy26z@{KNF666YL%XBp05|E^9|NEb+8;> zGjPw&lSa>fH!vj*=Vbz+kOGV;+L^n#0mX)l9&G~=Vs_@ zPtlH25ukqXvsJ1W^MvXO7usXVFz~xk;D>( z9s8WQF5|U^*M`_!nS!T}-+fHsa#>OZ74ha+N;iOOhCGxw({Q&-ewn>q+IsjkLgy4P zT{SN)5;O1hUvX9w2m5E^d$d)rZIrI-v$y#QP10v5zUMi!H`(+Rxd_|2tc#9=FIH;> zR3Kv3<5K>kIrDG6CA4^v6*!Vj)?zU8?xN-1hbPp@iR*kV{b>=L{GXADlb>(*(>}IQYs;u*pN#1zM7)EcdfXRT zdmcydU2Y$#p7GS8&O7dB4)MLfj73U8$65}#+;aBOxVe=l??^Hydk;~Jd(>%?KHg`r zaWrJgWt{H&Sl$nNPy|7L)&&=7bERbRVWia)7mV_KQ(X&Cmk|RwoubOeooo%e2J)XT+ z8-0G7hH`8VR};r|=()&xejJDsaV}E<)M%0Z{_NkiAPTXQa6q}Zj6dXD#<|<&$yHuU zkv-<0;DeCKEI}BesvDe{WAP&BA-kWR5$v@Uwu$*h&D9J3ANC91?1{~)J5apqK zhEf69u;VC!ykj7v^GvyqbbG~Cu}Onwx#JtR0fN;ujs+D<+{sbG(A`NqQ@_j-5QM{r zO=#aPxXyel)lhfon<1Ag{}|#4R{tnHxhXT7u)5uhME=&X+WGH2wU4giSXrsU++iGM z>LaX%&sVKu*wA$sL5P=oSixBby0b2GerpWvxUM5qSv;%%wy*!^^a!k8URB5aY&~11 z3`aU{^_ek&wMGrQ?RxXrEB!kRJ(L>2X{l2Al=gwWSxBLPQBWkI9})2>X@IJeV#S!J@ZfJ9B+DDRq})a>qSNw1bq*f zYiyW>a~^uWF#^aOo=v!d*B8xYEC}M;b9o8_J=Zz9zhk34=}g>osF8+s8YgWqxzj4G zD|P(uo6uqK6>4YjL;z08T9OC$R7c~)PD9uA6QbK;-#_$+kS9s<6X-l|$I`RVCq0 zVXgsl@oCFh(ThF4)wAUm0)R1$j(i=c!#eY; zVRTLl6GOrl!7II)S>n$~`F(-EmU(JaYyWvlJohIJB}{oj5)$Ud8`_EPg%q|)z;#Sn zRJ49W3~D4l98M7jPILCj)fhYZ?-jKmFQrY{rqFiu?rs|E(%ZYH)Mt0T2z7c2eQb3h3k4-bo***h_b+W#F zcN8E(c?4d;m;7u&QmORENJ`%^NG&xGkBLmQXI&x{rDH*#Gh<->*%kQ+m;1q6TJHT& z95$iSys|>ih+S3g9A!Z7vkbF)l(w^!7I}1ViEHlp{CHQI7r^(zG!-~v%b_dUUxV*| zuyljK^bnRusNVTpr+7W3T-WR2;?Ov+V4RRloKihSy_DXFKy7r_zDwt%dnsk*o zV;}|msCO*KO#YT z=f}L>wN&HwI*)Wtu0nW$EY5=v$y1t$9H>@+!`7S9l9FyWT5D{XgLaS-Nu_3ia{Q@D zZ#i>CQ6$*Yp4WoLFSg>NY{&B#KMbU$|3i&tW6&w#cwh42@UiYfio=D;AV2^TSoU|N zS`-Eywc`&2q$*wZl5)wMwA@tBUdA7Tk%G}5K+X*==fF-4hilqwYhwAE;#bue&T}|d z?+z4NDQvG9oqQCD$3D^~clh^4Gz>BwEGGHa*<_m?WTAmpmE@xBSHXY~D-m?+VW7$a z)xU&uCi$sH;W;_q&Yg{!^aFRs!QT15@aamDyJ)ZY)PcMmy=0cl+o#k0gsz5UWoPD zS?GVumLt3+x$#vQZt=)n*ut&e0w7GhS+=%&HdCrDU%Eqfff=i1GXck;uIzEDqM!)4 z8q_P;B8+mR@Pt__m$iDDX6--WK;NV;4^I~ua=qVP^SHT+1qP{vd>^fM63Efbh zp$`O`oG*h*kpe_8mabJm9aWQ$KRw;FBB-G zoDruM3F{yBcr{u{km!DU!Sw0b|IVF$2yam>5(`eq`N2Ow1%j`vP~1|3FY|ee_AOIX zA^to;kI(^~eK0-puA?9(R%&XxcImaA5xWUcU10@q) zyZ9P@+BLl*5#IHh0n_oJ>^Kx`Ez8%c8_b%&wl6|(cFjMaCnMf_$J zt9_*YhB(65Kq%Azm+=>RYn)(s2D1tNo2fk&lkAK3SKJ8e#?brR-#?#M(fUM*bfH6u zmE9GnU9H;#1Hm;ww9k+M1r3?&&?|4^JV)MUXkh{3GC;d`7ZuPqkWoH)5DFOL8_DTK zZ1@v1hj?9~oi*2})TxV@KsAygLRVluQ@5Y8zlhf=NIf{sGmfd{{9Q zyGu(D4R^z={_??8b?|lL-?TbnEIC7t`a3%9zZjnCUhZAl|I>CwNBVCM#hPrTM1z`} zJ|UH&NfmLxv?aY1J2 z4uNP_`#_k8qOs#&bjOdV)*@O^cbz@=e1h6}crgM+RBLS<5Do=^0&k_rJKy@O_jkdF z3F?9-`GQ8^yP%6Okpd%>M+iJUG3iU70u)A+s_Ev~l1OnU{W6AB0;^46IdB}8hytcK zChs(Xs96(GXxCA#Hi?@@CU9q*?X7M`%1)bksmQ;0TKPA1L4D@qFeZOLit*nuxpVZ> zDq60nxPaM%Ze?V3M7CfoGEUgGT|95sF=Ye`0P0@3zSkQ)M12#)xzTiHS$z)w zFU{%FOo;4BbMZ-+b}c77jnNA@w*~nfANCXDgs<#h@xN>`j}zJYXJkE2M_{nj`U;&W zW)k$1-kHcB9!^}pr)q>Dsjix6_OZ+5W(A_EN=%sQ?G)Ua$u^Rq0Nnv`{JQW3wqef! zZDq0D+JalXv}+ZLOB%99pf|2=#W` z%lrvCcGnUD5&Jo_=SKIYx0kat)-hmu(vr~&GGV>h{eG}tD&>b)u!G|JkwR1+041)j zySKdPds2qx+<2j0j}_L6$__{oN&&O-&o^vM7m|Ka@kDJ><9WB=qJ5GR5jBQpm7=xz zeMb4)nS$zD3b6%N%aIG}j`bg?%PkZ^hcf&!f)Rr{u>+Rv;uwDKZKY?#<5cCE)4wrx z1gx|^=1=|5sqLfVd)b{)Mdy4LvdaHNifTr88rNuB<0QBR9q!oN{X=B(Vejd2Be12i z^3!Uft8eUGVMC({d&|#HTZHT{w%6ZrL%Sg^ zroAG$WBiiCk_&w5oysYcwA;D(hT#GcetMZo>TR?Ako=(57j*lq;R9ugutNP%w^LQw z*9|$-c>Yw+R=%|x3i9^qJYpW~F0or5`95zs(cYi9?*AU$E2Y}y!0r%C&u5PinYjxZ zgxeU*rSDnVcCku(Ks(?W=Q}N)4&CZ42Vg{aP`yarYi%rzhAPdS-glN${_8iXixsNL znOJM677pWPuBW|^p35}sEyJr6TUS+wX}eRv)d@;y`^~%h`~?s$<|t>G=yl~lS9)g0 zXR^#IS*_L;8VV5SwxL-#OVZg1ip?phhQ25(@Zg>OLv0>|3}f8GKZ>eI__DjFjh$V+ z_AT9$WU%Wk*RpM_ZTPn5npv|sCXw}gQ*J5R?K@XL3;TGPXNB#@2C|wXhj}{(d|x-;K026QZ$v8=!B#tYH%NApP?bSOWOHXhG(Y~eX!ntr;#^KZr!c-mQMFOITCU!?IO zk4|-sxDi$E9qI!o$DnML4k`p?)7DK^c=T%8aFDE@T&7Oc&mT_i?*ABxlysDq{H%xEl9S<7xBVnTFJkR5I?r#_e>hJ$~>E> z2P?$0be>RZmuY?SlI_nIJ6r6R8F^Srp0AM67nr60Ns$H&o$`r*gEV`8!C1CGAf)!c zi~#FJ%NWtddQLO=5Gt$iN&5e>p4i3m@-i#7m`X+rDyc4Y`k2Ues3snWq38`I+UyA& z^JF66m?$G!GDnT?Y#)EobaBFsV3n(<-fBAMx2j!=#E7F+ilZL;37$AXq>XuDfBu&u z^!HQv-EgUFhlNc3MlRW|PIAsJ?07ceh6CHD5+N3)i}Gw!O}5d!6}@4q`h;;b8HaF5 z+MdrItoAs>ySY7W#oqq4xjA)PEi7Xk`F6oGQ&Z&>jrkY&Ol$J`-jfi1@fR0XI1)1L=sHu2I8kc^6f) zRGq_Xs4Ucn3Cv4W0fH>`Qg3op8z|^S+rm-MN=RC(Vc|i7S|UHoqIlvje29f3bW(nc z6!`3ks;p)I$XNva3oI8$vJ@t4F+1G9t~B@VQCn(6Hq|UIly1Ja{>bRmpXuz4J0tZd0kCf=?6&i71-Kky|r zJPZzNy%?~CEdi_A!w+pm47Ykd2g??nlw+CysYu^bzvlFD#I%@Gh=V&#;9F897xnn^ z_KfZNW9p7Xq!9P7%ffSMx<<2bd{T^vjW>ud_mSp} z-I+KE2M)2LnQ+7RX2GQ88tN~mICi>bqt%<*e=W#9VPX1eG)J{^qFTo_de5iqsd7&h z47jgw1(H3J%uN$jnH)ne(iAnr((JfN0ivJ6yp88=GV<{d&5P1UPIjb238mI5@GQ(> z$EoAL=9kl@2Z%b&H@(i^3jA-n!J3|5z3f78O^Sif33fBm-SI0L5FHXy-XxK;lI)?E z&1ATFGUN!krawxW8fYhGf*6ArjZcWtE(N_ahjugl1l);br#gvZpI`+4mabqS7eV@} zh(kQtFO^_w1t>n$8BjPKtEkvbUk0d!t8OoXgK*md<}#MN@B-Ul+i=Da@Q>|dY9ha9 zszr2GNw;IWnhW-L7UYD4r3{+C#9RuU^`Bf)toTT#1lEY%_ZikQG=>NSyE*?F4%RY> z85==O^A-n7OGT)&*-X??;5ZGfvxsXXOta%Am=a1|2R%7EWPruxTUO+p7SUGOj6-SM zwnz4kQ$s-XChOqnFG#9bJAuTeV)*RL-*iFr=s;ANiV31j=yEd6Rxo-kQG&P3kbU?W zF*l6(Hr9Qe1NbX4b3z?;!}oa7DW+-)7MOB)gF9gC>;$t7)z_+$c#Kp^cx);P2ZFx{ zv9rI{rf3?ko&o_-gMtRL3@jE4?R2-jW3dTVik4iBDJLjM8m*jg9O2V(25?_Po0@=0 zPyq+2Js^e8&h4iV31w%hczbDTO-aj|#^*&tp_ULLd*||{Ass$NsUu~AvR$n@(k{Op z3kOZan6TrUGoe=5zXF97V(pD7#`t<2SBTcrA|SFU`)$dy8dzxluo@}}6> zl3mf3*{ke-YD0%OVt$G&ZlBOWfu%EO?vmwW$V(xV@o)ZTdrGR~p0I>^$IxZMf9$xh z#@GMfc-{sqlCqN(&IZ@3*53^_q)XvwP?d)G*04MU$K>ADo2OeoPu@C;3Kyz^=@{jJ zgg{$G!&6kcHX+mA!a!WH;;+$1&zrtSgd!m9UJWh?K>Y$Im^AWccOh(Qa67e`s*F{) zDA+d3V1iOTZgN4yX2IxVl2_uj-P{;Uht%5KJ9XMF+H}D}MymiLbmQ^zvz<%X0W63P zE6IEYg!y*gkW4--O6?b)=F9QZpYaaS-47mpVyi&fRe=xLKDrs6AXPKjFutp7qY6t& zZL^(=Q&;gE#GJ&!gn{Ml>FG%i(%B3X-E@ZD@gjhL%I6up44R5C@O`Go@XqLAf=@@W zQ#eGw(gB2>&RFD8E^dTW$Lz)S;$55(4A%x9MJKiFgG?&WV<6kTAJSkVv4> z`I6XbwU*vB#@4nEb?Ff8=4N{4+b#d2A-}_mEDG!I@BO_9ftVme8t?KOv<^Xcjs9S- zfTm0e# zu(Wumt|Mow%}y5(A3+T-l*bnwxs=lxruVi@gX8!Sd3&teZ|RVGVbZczCO1K8wa|%r z&C+{tKfMVpZZU$z4ct4lvqE{9olxBT-AL;F&kXRWR*`g)L+vR zF35lD(PU}-YHcRdO7oG%Lo}_SN*imXc4~l^Db!AZ$dHHzB6A51USZ`E6p z-5{aHmfTrtkY82@J39fyk?t{IfuUU?@Z{R8L3G)8+0~>-P9(&TYvshe@b+=+OU0P8 zK_M`~ak2j%qRM6g4G2BxAuek#kvoyB6;YWfAC8vOK^F0ocL7)Z5qq;+iqoYVW=_Z+ z5~7^heql!4BA$D_473MtIgImqdIEQz|vF#Lg8F*p5&aM=0uptx=SBHwr#ftqjNLH^aUBS zlCJ<9q~}+gJ_ZA|MKpK}ccWPfdp_AzRy&0x;$QWH0^5JOd1XqjpIZ3XnigWCvE>#j z#HJ6=-5K&X=Wk{HfZGW(TP}F5-vx%`%g4r;HF@(lT)FQ* zN=hxaPIR^)?|EI?;ahM5U^53J%!jmYaQrbPtI-0IVQ2+v{WC&ZtJes97SL%qa|%u8 zzPOxD_cnU=t9d>&gwG!)3}LbW9OYmH1nRiO0`sed?0kd-`$xyeJt-*3_B|tM`PVDe zYjVG3=fE@@@N`NXBmQoGOSC)A-lk(kSh9#<7{Q&Y9W1*sHHq=W>TF*)cdQcy$Z&)3 z{s>dT5@IN^#7DTU{l5I^==L2ZV3o7xJLlWo_H7_I8`;5H(_VNmC7^(s7Pn1{Swrj5 zvHVa&dD@@M)_($uK=$7rKI|6z+TPv#je9f~XfBg#*i?#T-TqH#RjEnK$BN-LB|v^m z)8P5V40lMomb+-DyBsmV3ZbGpFa;;S8i6*B0}6g$wh!wg1^uMwcuP5&;L9dmg zS1Z3vFSgn)gN291ZQH?QtX}T8)#w&roOfGFf5Jwz6eX&^Hu;56SUDNvp%j4Z0uGz~}Pb9M>`UiQ-EH>5uUQVg7P}lJ)@1f(;mvz^w8YF839`OzDL>4Xoz{SN{iwe8U-PY(asrda z%z1Qg4~O^iE$xJA_&i!pa(UsP;9f2$N{cebVPRn#FoGL~I^X()&9Fg~%Uai4_9b!O z#)tfJ{QPl<^KL7AQx!L~*j^c_6-5nE6$~XmWuVNHw^YKCY%iqQeuf@#3OVwbuEOfl zA;iBKH_!8Lh2=h#CATYnIfWnH_kg?O`IvixAA#msa=6VG!I@)htQU8s77CYk^M%Gd zR*PlbR2KEg5%`FKcy6BC&H1-GG_f<ACSh$2l6R&(Mkm_j?S27Tl~-0Df-Y!Cf8z=j@-U9m z&HQZ38JxH2u@O!-j6l(n~+mGXUT8ep{EA>K@2m__HR=vKd$a5 z%l;8hcfKs-*IN7x_P>(OU~@DT1ls7njww!5b|Hqv{!-D7R>Q>{v=_nalfCk?`lPP- z-RD2m^l9-{4dm9Q=`474XTM;g;Hh4J{t#y2ssu;8NW|=5{#iM9<%1+9T$Y%?s#Vja z+F800kC7+5=YO2*8P)#%^DkvDf{d@3DzVLx!g;;P_CcnB4btgki4pTzjfk7dC!NN7 z>yo%^x*hP5CT>hF=ZGV#1T-G;*`vz=U*zH*uRrTxa6R47 zbRhLa*rbWEc;WLQ;V+Nz%$2^;IAp%fNxXk~*oOrIJb*YC+780mDlX(RXF(=ub!0&H zkHP76^#UCX0_aY-i~fhDkpxeQVKoQ-fKfqr(Q`yZn8Fj%Af&uA--rnAhN+*wqxh#1 zfMcx;`nHR{t@AspYpS>*6+KZ(B4~L-Hyn_UniKhP!+h2ox7leetmmUDGHx( zmMsj^LH2@s?u0>YG5PY#`N(;f9ig76yZ>u`uMuf8EmCs`UZ!|4+-X6YK^Ih0?u zvF||ITJ?#8F-kz*P5Hg~u|44wsbkQ+eWJP!^ew$iIM}sm09XvV?n34XWy$E|qrbD0 zO!Ebr!Z>%^V-Ct%VjKuVJji`P@S3@48UhB^0C>h5rHls~wdP16RO7)>e9oM}Ds;T%p09S&-~4g}^}AjIE%R3!K7KuIMp&-}S}l}C zcy-`Jclx5-U2OKEi~NfX3`y)9xS0x+Xb8O)N=eq84BJzhhHbBh7 ztgwf8RlVJ)~pkI(+FpQM-QYp3Ag<(DHtoe+c6LW+rE3 z#+S-&KUA@ld18FFO~+rS;Ftn3c?%?DKiXGX08KfHN19F|zV7Y@sieq#a2z#Y!_;A)@lR!lBi&wjS(Z=3GxUzVNUi#AD3Z%;(OvYkRC2Lu(q5iu`OBH?VedW;+K7;Hw18|a?CNiq!06PPCzCQyt@ z&uPol!R1&|D!iuBUR0UcS7Dfr-YKq`=5G{x|GUXR7a_UYhc?KH{d)G*-g&&+n>LrZ zbXJ$r2y7Y)rq~+Hgj_x|p1A(@x?2-;Ch*&q&odDF7c{zV2RGK(N{MJ7TU6zuJuz*k zF*EAj-}$_uJFB^grTbE~37qr``Ef>_Uyl=D1Q^(Rr^EDSx(pQ9R5)r~z%ook0~DLk zZxI|Ln%TO$uEuXL{YpFF`?Jj4v_3LzwjZ@BBEn{ zzPmY!BabeKIhfP!0R-K9W)V>%qj;eG+H^}RF0rFebSpFPZ}|Ya21_Z}ig@m=W!*wc zcH-M0|NrR5IM@IJV9b(xG&prza7-A)`mr;OE@hq9*J1Y`uunA2Yj)uO^D1$ z5O8p^8hmr2?`>61mi3bBXUSG;!BTV`N3D1cJ|5w^`R-%VhnGTs{_5zz-`p&ccf$j` zfsAvEJEcA2p9q}yBPT8btSU3~GQo=Ph3_*W%gb1tVCo!#$;;FA!%9*@iebALV_`br zOZ?jrm%gus14?kDg!1u-SNY-FBr&-B1Zaa+U_PGAK|ahS4wGm=!C2k%`DvJ^+9YBT|bBW@iwFr|I{AP zWhro3?c(~81DvlmzSu)hpv_}uO7!>!m`Bl}$?}NUbMDT07bvGg4>Wyb9M^xi7(JKh|V--xmG~3H6rR>rcjee>i5H?mV~Z zeR?c-Vh6-DFy97G`qL4YaiYAn;Wr>)RPU~Ntfi4xx#Oa>FFi@ zO!n7sf1yhlQKJSaM%d@j$A>=wyS!MGPVFYCR*#AIhveZ2T9x%wxpVFGav83;#G5t! z7#Wr`W+vBFyu^5)xAYgMxqQ8{%U$zaeHFq2-*^_ahLfh$p zkn+jU|A%U!Kw+r0ZX5i4uId~?2!Zj7I}fKrm$4x))6*}+iLN(1pNdCuN5t5i3KY!L zv$I;m^&MXx?!k3nr{arw)*>NQsT^~H0{irdoX9-jy|oRce9gDvnhxDa#MMF#Acf{ zL5iK#fhC9<+k$^^wU|U8E6wAxmGWrpDbs+3MmAc!d_x6^B&HQQuIe$<^=Ku#&0(J; zr-lNq00CkYf#B$Jx|-TP7-KNK9G-Q2?zp?C^Wz6!O8@)CzNPKLWK|0nJ?efiM8&I&ujJHi)?A@=qX2BELArY=&4xE_Y_xsvJ&@` z^o^FNBFVG%uYi97g-&ZGB-^gpFmW)p%rvgkl4`${%-Zf;$o#W9!Q`$Qh&AW*2+&6O zvabwEaW6EThhXk2HrRk>WD`4I{TYqO{cmu&LCuA}&@S8z2Fe39E-w=K$g55W9@9gd z_R}{;MEH{({O;Tnsy$8lCRvn1M5;XBjnUK@sAAa?g)Qi_GuzkOfogzaO+tQv#F&9e zvZ$knC`blcDXGu4W7)7}U3YLRHS?bt@u<@;i%H=21;7t8&F$M?$6DVSytB!<1U@{? zUp|m9cJE`YB=k|(cj1*PZp>ob(38G3%Qg5)21G`s5AoX9LG?7?%GNgVHkA`tGdqtR zx?9vWH-PJl+vb8C%djw&oYVd?`%Nk&Z=+kOIdfF4EX91M>){^yhf z9D9oq=er<8xeuuKfCM2f??n>o{EEP#feO6HD~zGilaPdO*qJD=qpNAs18hGDvdQ`TWr?C;LRZt z3M5=aCJJcNm&X20z1}bipJCtLCKJw<-dyBOgfTE>TfC`zK|pCDbqwTuRTYYz-sl=u z?k{^gZ~%l{)~{v1c7>3Hj)1HgG!-*J?=p%?L<*ij17e{Oa8CATubOvURQdo2iQgx> zFwLvNQUJ=9u>JB`Ru!p07*)2%qJNbNEpU+LT%w3Xf6~z}B)`HokuC95tVAjL8?wE} zzva&G8e^q%jjAUV?24TPRkNN)o_?qMUq*s6K|jwa?edD zV*0KevZmxdZ3u^a-!q29@Iy@)zF_D=0d7{cw))*%ZwwFYvl~0(ek4(-~kCfu*t;m&Ifp)^zVNJib62FLVAxsGFLl5V~{@*ap$|p|M zy1iM3?UnlB+&QG$Qnj(l(y6s?*kcVn<~vdViz(z!2O@|~X1~0UxR~$1QS3%LY-A?V zShiTp=SxabM85vYRUXa|oXx4%4s-y9i&~0DTho_h#IL>HcN$5qLIxC+(?kU#V8Dk3 zL{FS5tF`x|S7k#(#*o5M&;Y=UQgt1&G@(5Mk%^XytoF|G15|Bgx*G}=+IM}HUQ;u& zbsfPd5)=2+6}*y-2h-$@CkoQ-jUG?2(KN(mB2Az31fpOHovV)d+abOmmp6A2WU;#0 zn@8-UvyEC8P^iVLbTb+dLD|ICe!yUgQh}y|gkm6=xRJj+ zl=UmRCeoY6+dv-X`{Z2KNesZ4Shz~U;}j%P5CcALrg(?_8$uwjK_7sE`8Yh_xq-v<^>i&%6AbtTF~v2-1drBj9iT3? z>%H0;8>>#xXW;>c(_siUKuw$TH4E8H=wfB7GC4(-ae?kp_oSML1hxRjtp(SU1GpFp z)S>=k10`ykGkoBf>zGJKQ4_NKl!2HK`3Wfel|H!IG@Nbx`mnSXX?D(!zmo>?fTP@3 zC3=iL0UQ(s;>EEL3{f7`OfZ_~a{MLN;Cd~(&zT+ss*JbPoVHu>?^@%L0yTQZ3#3g| zZ*{dN5CgbuQ(iLOn7|||s4U%HMkJz_LH<#vS@}=S?;=&6XCil8&{i1Vq#p1&IoP6Y6edDS}?zTyWEkJmTi@U0{4Ij>pr_t(y_N}}$#N#Gns7agd$_TpXhbE;umy*E(R19) z?_1w4sfLJripk;&+~>#<5>%%@K{FGo)&lX<=f=o;(jO5Aqlyg_A%w`uyOF%1LM|H; zgis&*-<>zna2_U9C=od;;{_`!6cWF~C;q zw+4<~v7uwf3_`;sb3rA@sP`E`_V#rx?akC|@*X_Nnr>3fd_txKfD8m5QmMMJo^988 zVNT;iNHK2=V3Ik21Pr+C_|0;6GBdOOUm^PZFZ;;yXcLy9+8R_LVULJXg#N`iL3FtNL9^_uo2{rp;MI$4@4ihddrH&04sOzKfquOIEHk z_a&yJ()77YC@q~s?)XwMOgF0yTXvei#lP}_09!8e6JGUgT6M{t< zO@e6lya?=yf9@nQ_wOS}!a}$>FI3{7K%o2}zzm^=z|OqXv|&9OGvYd$yLcs~Wn`I$ z7Oz-K!|s2c27$Tw&$#bQKke1)x6;Eey+_F@X=a(j$4=6H&%Q;QckIbqo%mi35$F=z znzFN-Ms@%pZ5>a zI(sN#!&ce>rNp%ZdY)C6_)&HU!1@Te0>0{UvC(Q?oj8z$d#wun@rv<={R&=&Ac}q2r0k^zqkIsa5kvD07MypVnkgo4ts#p#^W& zsBSqPx#+qN0bUP4QDg`Y3B>MluRnbsjeGqmdSuMaCPSGH!SnhnE~lUVoJU>=Ab-Hp z5!a>#0>WGPst}*$6ajX3%FNED=-Sn3Our_ZOUf6Sp(>$X7f7>-zt zQtqs1u2=}D`GWS@y=nZ^Kas)3pmr^r(#Ea3D5^>XGDuyH7@bJ7t%q*EnN$d#oU-gk*cB524&2R4PM6EnP_}Q?)D$o{ zA3j?$8rH3i)yH+JSGxucfyUZlvs15barEn~1@zK8pHm2gkIUgEA*lQyz;mBBXrEo= zSg`nP!q0RK+*@iyRiS!yY9e!(l|~L3WUhh0qw~4baW<(Qo!i5*HGz6}??_!@T9==} zi=LVxRXg_{gg}6-V0a9iJe5p8{63rZ9XvuWJ$ffagoVOF*%$%a3cdIFB)WUl5Tvb@ zO>0KWrVWv{wh3Z%deEewXHehEI#J7J4F#$K0fB%(;Gz%^!o@|wCQcFv1RetH`oeAv ztbt?^gSFJ(PW^+D;Q}%Ci80VlD%8DWJNopypXdhUzHbMC!|8N`x!7rHGnx79(J97E zY5UHL51H1Dz#FCLQ9%f>W}5x!U--{wWVc(*A}8VUwtL?py7B6Mbmy>~Oi?`lQ+}UA zw?FnOwE#oOf&~Y0KYjmbsvlj;bd8z%$6UIyZ+Fv;s-U*SzQ99(El|Nh4p#6i8a4R*Q!p}4eSLWvz_@{ z{1XTW1Ox&XgMbh&E(SGmjzA#55MZtK)}4E4!0?C6o-xzNOeUwFeEHEaaDS>{?jP8z zt6A=e|NDqsh^eru7V2|pM{}_?F2F7_%b@M<)}gIgUi>Q`2-JwG3W1=9DJ*&sgso%# z8^AjC*j>Y+fo_yLh!8NKAB=sJ;-}A}Ej#v_4CwId2IO8Je4V`b$Q`-YL+**)onfq+0j zAW%dEgm6(rz(jF@Kp-N({_^bF;3F0;!b3xHHI}~p>^AfKL$}jSSNEs%j7-x-rfI{v zWU=Ht3YsCi)PG-l0xmP*zEi|!IY6LEgJ^o~$$JXb)9|p6TuVm&6WF@N0;r(!g#gD! zgakVZ-Dw5F1jk(!L_R^Ipkrd6KtLcM5GV`+LbxalN}`NFAixo*78yaj6_%J8Er>Xy zP}N8wSQLbf*jM=wFiZzSA`9*dL4k*W%_8QdlxIb1GU!38E##Q7IX?c(qB^DAiBf1z zYBhAI#g$Q$J&a9?&aSF0TsXEUxw(PWAZtuWh&Mhy{_Gs_zDg_brw}eG@Z^@`p&=rX zI0xe4Kp8{s6DCkPB>G_@z^)&qL5fm3?Ucq?DpDJ&T5|IuOFF4CT+DQtmhU=6$(a?I zmnxrEMTW~`x&W5X-j}al#|#+WSC-XBB}(gJq&u7)2927l8{YTU%=}?PS&k&O?}#p5 zSw6mD_JqCu>POpNBkEYvrCC98S`@qh@bs4`-H~!EZs4%5Gpw0kZl5+S{X%WU3>wiw zA!Xj~RO4lo{UYYlp;6?pv`ANySL~WG!*#y%;|2_=MN&v(I%!{#knn})d}Ramm=G=k zb!J4r9s~qavE{7lRVH}k=qMX%E$KPup{x$LoEiepB{SB5qYeCd6+{H5Qp2bNwDm|c`f|Z;(l|<5P(UHT z^KDUVR3#*t>Q+4zD18e?N4jB~6DS=jZa-T0ySalRtJCnX#S(tT5v=Ejq-4qn-9t&J z`_baof3fGs^t-vXq{x3NhQYkTeZG2n_3EWAT)40(RtDdx=BGzC6f4QB;I!kRa-0)p z;OSCLwFJEv;#OJ=9Xj-$3t1y1Lsun9;X3$wAaYpmKz6oQ!`u;^hVi@tnQk~9RAl1; zZXe+V(c?1~`IT`g z)xlKo#;jm29MYwBu-F%syWg;u`Q5zW%63$8)+$@F}{Z*Z0(-_6~nk>5n?@ zKqZ~9RT$yIDqBY2&PvzZ&TH1powA&U4pm~3)J}#4H(eRh+BrWSjU6y@q)ysFUpLzJ zA9ht5Q6_%R_wBowPpB3ZUDtkDGjrl7KEG}MQPmBPXEL4wH||Zhy^CGjFH|p{7P{}D zp}A?IVbiuMK^eO)be=};FD1>fG{s}h9oL1<3AE!vxCpcv5&iKYz-Ghl*zUsik#A>d zeez4ITG$@ALPS$yT4T6ISW2sD(M}N&uv^lpZnXp~4(CB?RsZ>5dmyZAwk1(rPY5~k zElyU%E{ftMh(IRzn}e22(!lupPqfJCaBPEh^zrB?DLp%+1Vgygo!I9wNE* z1Dfm&I{Eu@RADpuW_wPnq$_*@~SRjZ*^d$gmwq^hBs+jB%t+Oj?&A;FXP z{L=m|gp1NfT(nnM1biyOS8&2gZ2x+Y6}F;_E5{m9H#MuhkTN2-kXHy77YAc0oaL~l zQIIX!uYv`4n;F$CNu#aSfMHxp0nPH)1kV#&Ecmk|D9D;cya^HrTmS*qY`lq$U17?U zvAaM&i+orzJU@_OyTxj8{Lx{+$TwV>$?tAlGW`tm3rj|9s{Iu##Cazk#8w&U$UNcp zMKObJyJPK)Z%?wNBR19gjHE~p!P(RXGqcqq1ucg);3}tEZz);T>57(p4LUZBJ7<%% zIFc-X86IgMe$GPqXW&xQp?&`mAHbk+Kb*4~+cfJWPw1(aty0K52rJ`a``+}GB&+XA zvQh(Wi~)Cki%0f+gSb2gN%B2ydyQ(hVc~>LTt6AsH{t0tK=-;?P%#A>bAR4{rnjXW z+4yG zAzYLl_M+v&ArOvYZ)3X>TWaA>@lPoOsv24HQbh0}ROpj+{8P86#eWE}yUN8{EOO#C z&ONuxuqq|Sw)zhPQPYJHIG0P4|Lq+Y?u#f<`UvDaBm8ICEMNq~uy05K`^){VRkMFQ z*t*ZKVRozKW5s5B&L&sAGN$*)(Q6k>T+f4RpJEvztMrUl_l{aSbK(ze2aarRm84mc z?s*=EAL)>0yVg+TS9MK$A<=#Kg9uB5x{{)e4pTL2mP-QP?d9z0xk`OJku^i-ojLpP zgwF)?UER>VO_IG?-9lu!uBxjcjxd`?^H7#!z_e{BqLj~Kw||dAy^7| z4+2D2)OUT82yNl+G+RH!_qF7{Kvm)f2ANie#~XLmT|wl|{tUm5WqH#3Y@7FMV%&hy zAL4oTQTtvuuRv@^Ek#mq@VY&BuAMje>zIC{IzYfGd|v7T2VeZ1LbxbChN6a&N1z9q zcoN$S{%lIYN@IqOTlBoHG!o+16n{1=>M9EaASmjvN#`Lbha|*nYnnxN%3j?nM2I}# zRJ5--LZS=zGW3q8$*DPYa4_!dtiq>o_MIy}%O3)+>>zf4&ru`$zxz#4C0i}dddT>{ znX;>K)4U%x#9ejOAh$c>S*(Zin8hLg9@~HT^=oENPJpFiBpBsAxX+Gv9C%9~2<#e| z-WB*gIJ#@sXYu&G4UG88gxQlABc`3$UZk;O)i-3u_$Z{nA}p*tu3 zyQQ=Cu-1x$xwk;eNQPHGC>h>~Yi9p2H*Ua)7a=WFQ*>wF_4DHon-Uh$q`3YgE&*eI zHv-My)Lo<@D*RuhONzIBzu`@Q$sojZypOn%d24e@&5Vn?YhK2V$3`@-#taN#wWPxxZ$%~-?JEmCG`(yizJiKPkgqeBkD68*6xF{>+MY}~s z;BlO=9NV8oJ@Fjn@s@Er-EJ8xRolsGb>ca~EQp|rh5#PQr0FVo+=@pskX|TA|~v$Tv1H@hpCH+p*dDYxd)PMkQ}x>nu# z?0G4uq9WjS1yf2&C}q1+nJM-6gPvJP4)Cp8QStMQE8&kn*gx>a*nz{BsEREf*^pS_ zcRjY+a9gSiZQbvX-+?d01xa$l?yx`9QZ8L+l3oo;fRa*Z`Kh;}nu|sN&tW>ASdY9O z@A0e?M>&fKE6Swh3y&RiXJ>AWj@W3rzhT!!w;@gpTm;x{u1?q{(p~9$)-O-l!*kEQ zJ#b)cYEts?Wm`90O)jSy^BK5<5Irjv0{iy#pd*KCr|sP{cM~f5H^*13+G!L{=Xik% zOUTI71dGb$>fzVSoIK0x^~U2)y0l5>LCAI>CBo%t>8b1kQ7IH&H6&ZEmKB^;Gt_mU zV`}D6Uau+(Qhx1%05aVNPywupKE)3n(0T!y9?26TTMO8Krq`X? z$^qY@;&xMKXd8ykLoIKq(J?*3`d)2&C<3o&1>Cs{9;N;60 z!Or5iGP{YG3DJLuLf zF#|{4EX(p$Kyd%AK{GPor!yHZ&|cw|nuB)D_}H~@;dm#n;GHbjt8pYDAsdMQh9xrk z#r7Y;v6CisLPn^rU57fnPW=RSWGSlL_4FY^M0gi4>1y7WGF14I*W!r|*7McDZeG6c{3#;`Fp&!PGGjktIPP+WCfgX> z8NfK5wnrRsxq{mEzPWSEfMM6~TliZ_!psT(r)i!)pe^m+HZ_$MvSmi+lFG`gL!x1U zzy%Pv1IOoK`{e@V&Ue^kEZ`57eSG=kPt}ln+Ej_?TBTj{CAcTG{J#0;t4ACQSOm=E z9pv`dXx)yUbo8LS?a+)5zejgjJI3?Rn|H>K`&ZRz6!d-Lc60Ankka%(Y7AVcY3BY1zR?)?W${u6P7Zs~{s z@Cfh8?9ssT5bEoBI>P#+u{8F)^PgjNFtGR?xBG8GTH7VD{YSopl?30wcm`uUsd!zq zLdi^oXg;t8t7^BuVz_FRY_hJMPBkeJ1O>?<>9S?htSL$D`VPCtVzo|^EROjduNb`^ z@0=jr>*dtFLv*CGLfK$DA(ZvOxW{kk)-9W6&;EDkOKFb~E=mb#(Tv{^;G6wzY^$*yxX4#4?R}Azi_^*$0nPyB)f75*sy?mT+Kmn# z2s?5zVak6q4sT|ET@Lv3F&CU0J^QOSw*EN$A&U z){Bk+Ub*nDuqx?PEocvgNL#ZGY&!MpgtvE$_jtS3$)r#kzg-d@t-tR;`*J7*iv}WFqi({@B-q~>LwAgdGa{K>%bF<+lCe#2) z*aMs0yE{8GduDd_^kb>v^?H*0PVbnN^S)2u!*4+7Rpe|K;xE-;05WFxg!TYZd*7cv zA2Mgd(Rv+nHq`3b^QLfbsX= zE09{~A+O)RkM%^me{9K#{$uYvfl zlh($Y55f^W)bADuCQZxj$(f`bP7h`q@@L5BXnA!$1^p{$e)o2>uKky3R?845S@6N| zj`2HPqgTd{KgN5k9^Y}l+50sZB<1f7|B979v;T9ScvNijHM7V61qbwY7F)oiO9pUuL>ULm?#3e_K_LDz6Pj(5*PIL}3_M{gSc25-{M0 z`6J>mXQrE`uAN$SGNLYUl3wab@CDkWmLfmkOV|(F`Mf}!_hhU?vC)U4Wa(zTV#~I> zV`zyAVa=jS_^b|lhB)l}4jE9CFhH5L%j1yL)KEEj+>(BB&!Ghe<3AmnykjNR;3u*+ zN{2X~Dea2H#yJpGKepsmoo=Ymqg-WsQ~2^(vU8hIjbT91zyK!z7y^sQ=}$cF-nwM& zvFVHcI7niGAN1o{d%oBlf7-!?W8?Tomn&B%rpwij^(s)V)4vKNzXWW;P36zX3mU%cLDm&cc0^b5*y!tGME;9f=AY7~db2|*b&)*GVVDP8k|8NPjnMZX+;*gO*|2qYH0-nc{z;SM zOZ1K(*mGqts4gyp?R*%3Qn>GQ&=(iExRVJvSKxEdJc3dX+CW&2t@>ltv9&YyRcJe~ ziM@18ReYiFyhiva;HC%yA{#<4oVI`c_G1Y@LujT5i)8F61>%@<>^TQ0!K8z?#^0L~ zPOQha1IILX;M%AYmHHm13@GFn;J60A-*lYhxRa>lo|-FNSV97m*Lh72AO3sCxS#&@ z4Gt$_%(2$TpUfrKdcObX^F6|C*}(N-6t?^r3l_Z4Hdu!N z1%QE`wT9V`Xo*ij{jnj*=bBXjRT@>C1qOnd3ofAkGG*Pjx=j_Et=@lwq`4r_F_zV{ zKx6SM0ue*K zxb#A;={fko$gU6f;lxl}y;~HR$Kafxafn%u) zkAlZv*I00lTnO;H*7Xb(G{yC&uu(gDF2MDM0<(kXa+6Uue+(R|e&T9P%vZzI>i@EG zWaMAixKdyk(3uNPXfC8)i`mpLP0C7|yEJ@qNKYDYC1St_hpl91InhFu=7HuzI#G5m z3p0tdu#1SlN~rs7Y`0@0;cza%=io<(lbpl_i41;x_^kBn2$o#prvXI-1NyjfJV`8) zq2Rc3a^Rn2Ynl zTpsthP2Rt)KFhTs(az<0TsBT!Bn;@x1*<1>p?N%hyV#9&^djNANL5So<*aDYB(_PU z@k4wrpfC34a?iPzy&gAEk~H#MZ$x?aPbVt*Y&vlfOjsB%!+9X~GTy>5)yI`%N}@6^ z!cy-d%d#8^5AMmNs#GkJW`d{^)`eeGSmZpJQ)~e;x=c z#HVtPKgV7lU;WzocAv>mXbu&1z7?G1eeAOV1%!e1GbijtRoo1?gc#773;m_D!i%2^ zs{sZE6b3Lc_;C#;w)MGEm@q{3^BipFE1A%V4}OFw<>E6N?*WidM1gZu-#E7V@#!8% zFUL8c6P1N=uAlB1jB5c5aQuSD{A|XNu=)bVTz8f6R& zTIDh z9_r=w{n_4Ulq((>(8pch7mueho}wTy&>odMTM!i)br=}95-<=foh{77ej6AtFkoOHKMb^aVR{$MX6}#gVoRjq zLl6o>d66Hkir#sWHNF&+m{)lHo(W4v^q75)&+r7wUww}E6nJsJc#j9@HdBR|xFL>R zNElb(jTjXg7`Si@&^Jlh(qDL0MhylA3I_%lM)X~5-LV}xn=TFcdY&WAkt9ZY_0KGw0m$iCFXQMulXdV@zEzwDhdI$&TR z2m=TJ#Kd?V@GUKd%!NrqR@Kvg8L-SikWmP9i|D5b{iT#lNhFL+=t0x;ybl@v?`dq5 zHk}sw{xH2{x+itC*=)PT$H=3cH^GL2r@h;_SX3}z!a`^AX~Q?x`~Ce9^X5G>qGLx! z1yb&jsG&v?uN=DIPU7-7KY_tT`Qli6x7FMiKU?OywR)}j}#+kJ*d zq_FBuY}{XVNJ;aK4-fPA*R0ldCX@M^GtoJhy~9Qau1E}k0T!Rzxx1KsMg8JQIf1o9 z5BQVU*urDoY!yp*bby%5tH`A|2ML+anIYaZBo4;0B`iuz7KB&Niv4;ix=@VUcnHrn z2iqU{J|hiSzn}V;H8kuNcV>o^4-b`Shh6a(`QBq(C~_F^L5^@NEkllHI?bBN{KWbL zX-n}CllUMbM$B_)VtwCcbu{(*GNp7`yIAc^Z*e67NNMs^XC>HRK|;|o8S;7ka`J>z zoSDelW0Ke3d};NXr(bD0k56JT`C>KATF&QjxdchJ7QNErcb+$(_+g;kOVh9Oc|B9X zM^^E8P3vbfq~180iWNr z*6TLETYQ)cyk~x|S5h`C66dk~U?2jIX3_%00=X##UY}S?l#vpxdWy+PV*WCGD6u5C zj_#Axtt-WS@+kUh7F+3x5?;3@m>vjN3N2uGM%IwODxiI5{T}nPO~0t2YpDdWyJ??UNKRKGDrPDa{HlUQjc}%~A(AV1$qV!$zto2Y4)AyUlB= z>T-J|wo+MxvB-g);`O6KM3|I;W@-;K7@A2U^{2C#Em3BREzIR~Nv%4OR}N$0b&K!7 za`7EnCEi_g#D8+TXqDTFxysdIst_w$>H0c~#GiUleEXMRTPnUi@yJ{55G|&oXcbzB zRfqu8A{)!d~+!PDz<<_e;3d(* zf3U%^-v9#x1_sUt1I35A0MkJKg|Hfp155<4LEnnR<+GHTR7At};5V|qB-B=L<8K~P ztC6iOfFFbz=d+j-YC}$4!)cgQ@i%=W0$LF|im?oT<34IiaIBxpYfyO292zMRby|oe zy0rM+PD$RdSeyrUiaYtZ*h^Im+@IIY#<_FBKpF~XsjPC|=E%%2`LfhnR()RNEMojB zMi>Z0S;6~@xAW9vY4G8bq9OOyjKek!CJEnudNC4}d41q4R7hWgU zr843VDJdpIRICY8sq(174@VT2IQQ%jchXS^xXcn-xvp5r0FYq-6Og)P1Oa42!K)1;tzx z3P_cX@}DDAM4#B`wt;~&V8FM1hPdaC6m#t^Vu^iFwCEV|yOKog z(a>hB5bwr`;-340*!qkX_g`=0?MW1KjqYOWIXb{VXb`Tr)5W*!pWK6ha zGZHvQ=WaoLW(UsaEm%AAqZuW13;>xj9NQ87gt0d;U|;|kfY#K16l>hcHR50TzF4lh zNvvHz66e?s;ybZjOn#4;99d?iPG~K5&4$)uHh2fS*l!ps{`3>#n!#L^5Q@MnR;zbY zfax%hd)^p;;EK*(H)6ARsVP58Fq^4j_iAuNzYxw2cEZrld(FjK#sXZ)g1?WIeP+Tc zal75}Xt&xuhP~}CmxbyDU^w;!p?x2YpT{;HTdogyP$}ckz<_~)d@*oEy*RXj$vm~QKfhe4ZB7{cV{(bXb!ilHXw7NP!LP*+c+!Tc{Bv_T$PvQrhC#9}r{xhVK0ox@w7 zo}M9YX#H#meh?DkI8|K%9eF^Yo=k+~98j`k2{9WcY6XPZe5!%eRv4Ae2H}V&6U+iM zv@nbEXP&^?1y=;lA)0;?XyR!_*m6rKuEUfn6Jhl;j-gB@cnwC|OU*J3y%5?q(9{+F zHv-Q;fjA%$e72C5ktu68?Us|tkfp$x=oIM3I=_J5*@syN*l|6mQMruNim5;)eX)mz z)k>>p%*e=)cJ(S|hbjkWH2@canG2SijBPBoq5M&ppjOXec58`h>{mFdp3`@DxYOd64T4rIpV?R0^(jy2YO?4YVD6HI~g&`uni#G8?#Lc;no)5KA} zy86I+;AEW%9|%93AA?PFX&yy~ag*JlOsFgoB}Iez6V0075eokfw^*V|HOrm-Z$G!2jnWs00Sv4OR3!(Pdj*(7bU?}NgrdsuJj(^mo!sTJ zYB6@_gaLe3{27p*hw%GyCZJi*tUp)C*S{>6R2cUlBq@eOACs*6k!cNTs6bUb)=L?e!Ux)de45QrKPK8c}xZ)D1Aj< zrn6KbJ&Ua+wuaaW1=PCZwKf*b{3?R(Hxs{BG@>aK3d|Xuxab(bGGnn>Q@keo`g#Lj zd*{kxE`VJhm<4_~{ccF@++1|&h;0!&Ork*9Gx>+4ZCfqQ!@HH~5<(RQE!d*%_>q<#8qv?8VTPHI)@u@z8FB#5M>UqV@7 zzueedDDaYX%<_}%i0m6aRUSS zU;t|lwXkh{e&3kF4Cv*EoAaM*YSfA(V!hnkfM}X6s10l8iNEok^&Pc*U7`U z-c~H3QIeQ|Xj9ZA<)^Lj$=?TkQa-{fyN+W1V#>HYoXa_%h>>zqJZ9N)9NILKPkvr!kvPcWVqjXI z8`9I$W!mhy(xF`&#YE`W$pCck+))u5)MgOe2;-ZWln9e=pOh+5Laf#-a~fPrO-qxM z)Knq!P$C*8G(nJ(lB#~0V9H@bKm_68@=PA^etx{C7+RPgdfi^}Afce&jr%fea&mu!WG0pegJK7R zaYzmyJ1G`08;?Hns9b&Z)$+gt52yzsVSn)8L3!(~w`A?wwbHwHZ@J}`Tjbkszm@p- zc!`OLQDyh+*&}1dj8TG!fddE1ZMWSf@4x@P+o<=2G@hQxHuU!XplG@4*BJmUnC+TLh9D7tNPKrd2_k*&O7Dj zpMRFglPAMyz#{$o_m@tcI>~|s3nVr+Rw5%2@hpouQVpHopWkuYm)HWxIKMgy1P7OuI?oDv&UMdmw zTR}S!0%vL`lGz>A=88R|*#PpYY4X*?-b2)k`=f z+y;UIQpsQ-!+AysW=@h1A^k6F=j-)%8M;bk!F*|%SkLEP7>9us_89S1WH z$6z+Ke8ozbNL80ZM~=wc{RgF6r)#BjsZz3f-FhJdQMOEJS+IVIlqy+LI(BF;83@p_ z8ia!#b9-6BDliX`(x*pvn2Vq4@6r_sN`pZLX2#sP(ye1hsZhS$Kl);v$ie{D4}a<* zF-257qX5L8aT56{nu~qFH1Y2FQ@opgf*=Eo0>jCYGp*PLQKb5axmuiPrRs~V`@7<; ze}j0p{~^Au)4+ImP!x{bj?$vlft0&eFELkcZw$qSVjy{+AL9oun}UJByO0-A%xlza zA3KH!UP|o{Xqe`Td|$jSlhnQTur%zx1FHgj1Chp=0sxl>3`V9KIX*l{7HC4Ia=*Bo zKCzVb%kDp0qSZ3uf)+F_EmP7EC2`WENiuEPH0jl=m&C-xCBS9vE z?LPkaif6rkL6`rv3*I>J>=24nx%{a~&&ShK1J@?`{JcCix zz`&)#!0dX1Mz#jc(XZGu7hH_h2b8GAqGt(-P+E)B&CBJ);;CveXGA9r=dC5nsU&r~%V2}FzvL1QVgO;f|iJTl4 zvwl!hF>7wTG-^;^YS*f%wh2E?k+};NN~`A0WEmKQI|uYr#6{^+CFRSp--AIYD?4G% zLFm=3H3%O~<}X^JG#Bin8Is4tM~=$IOSe+Xl@@QlVikoG!Pl+4wgI zF?Y6@fm+Szs0e9Xzm_B=r^=>nyQERQni3XzDo-2F9X@(OS~jVleSYtO!?J7d0VQ#5 zP^X4OBGKPj1J*Pq!Sn8zBR=MzNZKZ*k_d+#(@D(Lk>IX8Y~*wzm3b<5%@gm=KamLU zPc#AZv#MQHIddHbC<6A8*TQz&ucDQ?3R;U({V+vWLmr;NVre))e8`KT+2KD5ZIiW8 zKar>!XWiZ6R4}&tzzSHin<74wiUa8N`VJ(__->@q*_VF`ia%&jkG>NQ|gm*AgG)p2h8RfuW zfZ+f^->7k8=?I2?)~s1Fe*AcO_St9UufP6M%tp0p)#R?b?vhtueN{0Gy2fDW(4k;> zj>)iL!{pw3@0I7Cdrp4)?KfGtaG~6O`|V28z;h&wr%#`*v)j%(}5b2Yp%IQcJ11wv>en(eE#|8GI;P{r9qiGb*iu)_KVQ4VMDp^zWbzKzkU)H z7N(dSy{-$~Ba(rN9!2x0fU5NZD?FduVH^gc01T+61ysN1Q;Bhpfq{#U0kt?4Yvuy4 zp^E%O!e1wrxG38Y5h@zyQH5FSREy* z$+aq46d4tQh6pQBP2*HjJarDIHG7yuH|;29gtN{45l}aQI18y%3rs{Ut`#`}Uk_?i z^!jsNG=AlSftPT8eLmL;{PfAB6!~-UN}0EK1*COODP1yJx^!qIZDSirh$CQ{yEtK; zOpjkA!|xj;5y%crNJHeMw>}x8%!h{GcZV|h`SJHT62EArk`96;Rl`mnhX;rB6%w6! z!R`Y`W!74|m`yZ8f{isOoo=;`Ny!kmWP*55^-vOxxkaso$>|pB)p255wNyg3Y!nO3 z46JF#C1czd64Ky31SB~1y`%}kvE#?l*Ys?YCH5g54v>r-Wr0%%iR+Dhzi7VxAYwc?&jb zLp0RC7upjNA~#*v3lXYL5$V~DU8aK*V0a#V`CXWncqKfmUp$U&TwmTB@tAA`6EW=h zx8%DIUy*vXV^l8_)^3vfpBX9Fwr#GM3!YrEa-F>T{+DV#aFA-pRFPMox?jqdJq!O# zCbrAOx|MbWOvP^Tr5!@FrxZ-C1Ngm5CB0)-ZIc})O)faFW+sX+b)WcCcH5Fw~k9hCsjv zYQa)cQj|oRWt3DNYbuH4`t|EelO|2n{i{~3Qp6{(cST=FKoa)v-!F?6Et1-`Ys0K3 zOn#a2iCa^5$FY7FaHK%~#SJd|j zwnqxM-m|XGq#Qt5JlI43tZz388W^~w7%0}v1uUN+}BbwT~XGLKM@ z_Oew^oyv8Tqp!KH6|tYWt!^$x_kTg9qc29qdDS^*;R<W5?z=l|$~&nZ#+9+QyNyCq3lfHAO2oziL2rb?n@!ry{g z1ri7$VTfjiV-jv88W;P1*SY8qK39Hvg zm$+-yN!D}d@L}1sWvlGmy+@fpg@;FgI5-9gYk5^B1WbwDW(6@521X=Z;e?D92>>!0 z4!ce2!47%>%p|shz(`I`k=89@Q9fMtlgvaY2=;v-8n5r!{U3fBS>3y=J3I=A9 zJ8zZ#H+0YL3(pg1-oPs_FpL$~EoTzWuN3#Jr*NNF?0rEunQgLV3$#YJ-YV-DKv>tf?kHiE$#AYovhRT&ID+ZK46{TP@850vDty;B`aJ=_qRM|$mcI}jKWx#*| zig|hJsizdf!M11)MIeK6)m2wzJDjs_&YOgU1Z674GF)ruCsL?h7OCPAGXGMK~CbH<}H$uFAS4w+BDa1gNoZERV$a57aqAA(z-Lh zj@~1arBvEDxudE}UfuM*goj$BcfI3cgCk}JqMy;}k&;AeAo$TIVMa$wKmCeo*B582 ztHr)x4oqP}#0imS`VZfUqjfv6mL?M}@RKMb?c21Hg-ezx0>62a#){df0iuBK!M0ty zl{TVH%UJnq$x?}_Rz*pQw}7y0+q#uBZPZXPAq#PhPT?c~XmfoHj?0%T3yESGS+Qyj z7>r$V-_XITO=?0s=u6qsrB(Y=rcP7N<0Np&gpm*_Ou$?m9N+xFYO~0$eFx={7vGiY zRVvEsPyZ`hqs6FOCr&0yBQT~`%#9K-se0s|e#$mJzxw`hK6#gTR(>p=gpb5rrGwaR z`B9wXdWi4nN)U)35$UuIjg@#aVG1>0+=mxoJ+dOp_D5ohsw}P_Zp9l33qq`aTGbAL zvS@@RCuA&0(38L$Ir0sh`%=F7`WwYuQ1igY-Uy;^;GjEYHM9!LmM@jpUV9bJyZw|M z{gf$_<+opd!MWFzMER$megg5>Rz{EhaU|k|002M$NklXCHiO1!;v161&Z#B%* z(W8+G97O5z<;&y?v~Ld4q-W2ba_G<@8IH1UXtpL!oS=wH_G|d?;c(jR3=Nu9Y0;J~ zTPC-H*{EB$j{NlVkMh%xljO-KpSq~p3yy~dP9Z)%9$cM#)uQ{rJ0bH2A_L3?uM@zC zIGc37y^h6f{~Zkd-yUyD{|)hz1B^wWi256{q4WM+L^@cju5^-8r0$ztRx)tTYrV*ba31OP1-C~=qa=K}==%|z8-&_0_FumzxPJw33^k$p-b}?lpqed! zO7o~9|HUPb!p12B1BDR-XQpNfW3P=q6%`D8fR28O?R=Pv|KYxYr+HA;`5dzxT!qPi@<_-nDH_ZQIt=wrzWA+qP}DQ`_z7=lgq}v(6uIujEd4 zvUZZ|dhNTz&+iLWXXDm~GpVI^qeF{NoW@Ki_KV~i4hFh&- zjf_00=iLq zWOJ!jT(19mu_p+k8WWBR?%>pZFWWDhBwJNJjO0i`?j|p-SYmf=u3+>j%hr>=u z0VGTvpSJ_=js|ybCX0`v&G11%kkYrD-pp9+lo2wjp%lT7oz+^P)4sFdjM8W=B}=y-}ONdlu7VLVJ}u%ppfltce?)={h$47kFu<` z+F4m(@6nhw(M_q7sZ|t>u7`Mvs=ToP^^IdEw?CH^@X=}|JP)(N)YxRk0SOcc12cx)S>9d7`1)jSn?&$9#G{;j4zo${n$U>|90x%r zs8r755a-xU7y3DfseR;~q+guFEN+ERnfRO$nliu+lT87c)#Z@nUm9Wz6QfEH@V(Xu z(R0QTv&GUFM}9gry1XW)ZkQPgF;p8xXA6R9>~nLTBQbb?;VkI`RwUkn0gkA$b)%4} zey>MCP$)@+!LT$d6}xwT=K@}tA(rHo_%2|Vs)ir0>kNKPL*2}ecRRHYP+IHfAsP~X zqg5ihE}tsK5Bw^_*mLFEM8As?`e zO#nIS0m?T3&)-dyH>bHH{%d|d8Os_~JOq>Z$7}?D|K&?M{DS)zR)#@8i&?wKBMvRL zOg3avUb9fy2zjj?zw=8NG3vk`p+>1`v~@Z0#9SqnKoX%mFmAmIB^bpOz77{vG+a6y zG9Ik-`+JmzVuu)9xXrSN<&T=g+iL|UySyAOBy4aQE#aNN^|AgT>3>1*Mf3m@GdFFsJac#YaRN1L1$L)ucbH5t zY`q}}BWh%bSV%$6U9K;`^1mnFc7dL-3>a6S(PXu{TVeaZ zN-yy+quQO>=UKN4y}f9G{z|BQX!oPTf#^uEpxw^yZclbuA$=Uch1$eFC8g66#+f5+ z07V0({!tKkjDi@_DlfDmf{}t%U`6pv_cO&(^;>zrA9pwEV>MzFLPq^&R|4jx*X!7A zJ) zG=7+CA_vi$6a0)sq6^OWnxYM|Zx4M3J(=6{OL31vlJ=y`kDL>9njIKR3ph9T8`2mY zb1bwCp4#8yl|e=yv(M}o>Hbfil|895aNY9ReUA&DkF*k8x3v%Vo#QMM71$A;vM5~$9#u>R{{0biLT#@el_XD90| zb~TQwvq_1-NKBQJ-hI3qWTz%=6h;Hh7OrDYkDXW^SS|xYuTH2-d@(lI%^$?SDcP>} zS?m@q_496wc5^31^)IPEc-cMvKmp?JL42UFc{0iM7l>jFHhkHFVgAD6x#%EbG3_e> zE&`w?3mLj9yy)iVnN1d@5e7Irvfunt!(!x38SQ+TR71J|QrjM11{UkJzi%$7@8p}P z(Tp!3NNyNIsy-}wK~X5H`U&H+_5Lc}?4%@&PM3<4Q){M#$-)y}GT(p7O^_Wi5;ml7TkC$aR4=!eRz8boE& zrq$DTc_}OSEpvMT2b{Ux1o;C z#$ztuQv)(k3sZIAXT8X$?4HcpyBvk3vF|mhNppBF&{8ME# zEb!Ogw}7`A$XEU0fTOg~04rF$rnCEACsa^-m@8%|AMnIH)yNZ#7({LI7Q~>HKfhOO zZ`iRSKdx5J=UL6$&eh;_JNbPJ{yo?6dfsMGez30mTU*fOEX<-L-}8R%$CEWmvJ>PC4-V-jJLbHXktiLzTcY$`M;L zg^4GSQQEm($047g2$TesA#edg@xf6buDfhB+fW~thQv04o577d=s7Uxd3v=f z2(Geb56u-UrE7NYp379T8~0w?>(-ElQ=lXlKC#x8#*Q<2w(WvLOM~@N71A=64!zg# z(7z+#B~u`R?yla7EDaQn$cJhJ8B$AEz|I!Q z1VBWmsGeEYxq2w!1|Ij>Q^-_S5n#OA@JF`YA~FV#$Pf9!?MOoO&n~w?Ar*HcYQ=t+ zn_57NQ&>z>NtK+Xef}KfC?T$n!cH3;kEF<|Obw9V`w%}eN8aq1kb;UQQV6XtmEDh$ z)ezfRbdH!`v0}Dq_7WSQe6S&ViV6_B9_A;gffoy7`3i{9mnyU%3`AE3;J>|JcfP+U ztX3+MJ!%{55O93BJWw8*9}aeR{`QK#frMVg>D($ICnm=1gg!s}4OxB(e7By&d5gm_BwLevq>GkCCTDSm`d;U=bFZ`kj304-q5mcI8>?DhE5-yWQN zFtLw2QJ|u}aGyNST#1O<^fgZZ$Uh7?bt&v?2r5tneIKk|br7gEXG87s`-i}EEELKa z*q(H)l4=%%k`V2@-k(+=E-)gcPVP_54t|4Vwp_TMP^v{3;lV;8aO>oF(<$Qhu$}Yi zBW_>%NwLPhLl02J1aHyyXihPu!|EBFD&36tx2)ECN)OkE6hCjO(0K%3{?SzF+~wpa z4bEQ>BcNvkH*YylN>hYNa2_1sxGeGlsrVSOeS3JU88TV#&~?l^n-CVZO+4BDz#P4{eq&)Q9Xs z#D|{<@x6^awWM!sKPW^jernGT?d}R0%1JDk7!-wL3TIi#AT-zKlf?Za`S~!ql)%qI zKFo{T;x8_jhYVMvCHXy4^~5k}?)l*(~smWbK|6$M*SO131aguw$IMXG|6?+vq|V0IR;`l*#PY<;uKt#a2i z6q!nWU$))#KH78DqemX-knhcNZFU81s$4SV%_X!#{|iW(JQVpFf$yVc)A!rk{=-}7 zG5*=>W#^mP33FOBV+#;~=HIi{BHgb|$=GA5+Dw<7vRQDBhww6`*|~NNmhku(p5*y! zc{;r|&mncgu37VvUnr8XO?0F?P;D}^F<4D7Myus=Q{($O`#sK2x~=dg^YZgtS^Vp_15zvCwbv`XKC3!^ER5DuqBF+mPiogqO>evZp@*dBjjsDR z3B`DMT;l}_7>YJOCSHU0aIY|lCDj#f0Qx-AIa5Em=Z?QHwRl@^f73)Rl7 zsJ`WXQ-t#)7n9!%D>k!Lp)l$+vw3!U8zGX3H)6URyNUQQEd&WAFf|o~mb2y1$T5e+ zjkg3gIy@YMZ?@UwJ=-eG{o2IR_VS1}ST3kUu=blM2&VMuPoLd#b2f@oStOhE81jwM zPGv@^6(Cy&>x2f`YDaB^3hF(oQHmSff|S?Xe?SSeFs!dY2H~d!%~7g+F(;B}f#8M% z?=F1#QpDrJE`!BGq@G*-UQwA@dtRPO37f0_%}Go$-zj&XN8fuXD z__vg-)A3x!8;*!4Q5$zg$k;C-I0jfM_veC!iQ^=0VBJgAST+4?J4ca6S|BKk{Yfwh z7DN!z$d?9X6&2SYQ_GIK9=TWJO<5Rs5X8x_{d&RuYCUOulzTte#O%v@>vxDyE(;Z6HYzJz*{g@KzjVFhJ~em;k~5b0cW6Rl*w9<*isO zg_bP&iUx&{#Ii(;B6Pah z2D6?MZzH7iqcV9#T1Q+KC4MygAy6{N|44w>J#c7DqqQ(M4r1cbGcV)OdBN%J+nZny zlLXS0sB?a3PxKb^PWA+~8~ks$M2Q*0j~)1EMQgO^@6+B8d;~lfCS_zGnlrr#SB7oVCnF|YVq{HpHI;)qn1eQYj8^-jW z{Jt+J;&or>@umJtBVc)_@9BDCJ#u1}qg(A$KNAb8N&`9S>Iy8Mr!EijNcxpy$`igF zVy9h!uf`6qp!Rd)oS(`2ax#6qu}reGJDHYGPp-3KN;)&k6%!L9ZA>At`V%4};e-38 zG7|dGy{#95?*mM6D_FIF8AD?tc^qRG_x@=(cR~$XvNlAsfA3t>QnJS<{}SsN!v_{{ z$XS4sp$+j=Oz>drL5Qs~Df%?>z{K0%VeWQiV#(dHcD_5h!Pi_jsaY#S)*~$|rvSB| zmjCV|Q9_f#P&lqyr7hU5v!IET`8EYBIi3ZP8}+K7TDesTIc{1zW%ft)C@b993zUmO z@gSbSyjgL->Zws(F(i-n6k1(Kq-Z8Cq1ny=NdfNM8@T`La3BPK=JHe#xE!vTXJ!d4mX@=s?B43Q~8OLGckY;06a~SQ}1KiNdkT<;xAE zj3?^F2Am)xNpt>-yXR$_1gMfiXxu;&5)%0lpw+7m%H6o(zz2?%emGIHHl149A*X@c@M1t4NR}=TnF~w{-hkta6=BImprr z`G%J_`xcpoX&Sa%Nf1EgAPxBE>9Kl#AwOtU+y2Tit~jcqLoQ6qOng8S^C_V0j@Ym@;=WxqA68JsidRTtgxu|Buz8nT(%~? zoVMdxUs+u>u|LP~n1rfTDF1jfl5~DSSd~O;EPcIoWSDaC?v)csQrQ24h(zbKIfcuX zdg^I9!8V?DjngnOKUhFo@VCk%?uC`lGZ-P(ci=ec#m|KGEX*NXVkakaOw+e5X&WG= z1@0q9RDd2tktrVE--<-)!6I;lkXdbQ%vG!}yP8+XATmtfjp1~{6qOPTJ+^kGlgk}v{h*fWcQQ+OugonL zDw`OU7Cx$@UT|01;md3q);0HK{glVM3|}v<-A-*ro-nkGT5mz-gjj8t*lIDi@cpg{%A?1y|lCBOl1^P&--C%d3f%y zA7#?7jGC2K0)`?fsKf!5B-T_<_`0P|k?On@Hk!s}xnrprv?HdrKijzXVWwM`QJyL5 zH%8Q&TGbnDxI+gIj_OodQ?C zH|XJf+nffB9ue8Y@KwTqSL4eQnH_5`czQ*i-SxEPL}^%Kz#2-+raUx~e;Pn8^t?ld zWOEv=@$Pfb*SNqOqQrm>*bT^RHbT-46dclynH9Z=EM`9S`B&JA%H!@Vo_$f%K_T9< zTb{a9pBo9rENVG+(Q-R@2;;+;ah8Nk67Tzy6kbq_afr>bFK#zVao?{v0e#cUgVxli z9W=qXs~?H^nty`_6V{}S068%u71sO@U5!mbEt|BVH)?Rh^+ISck4XyoN1(^jMd=?s z37*ZB4&}A5<0~zT$e!8!L3gRyl5lWCwFYNe=6*1IhXFZ{KK0`xdvo92B`Q~KlB%ZY zxXB$1#K)qpSx++yitoPz&X_)H1N_O3Z%h-Y(f@UDEsL>(4?yZT>750aS;JcxY%r~C zRr4C1l?C_$rH)blef^b~9uFuo^*fLt_Y)zXQc1)5LH&J$e_?SYfs(}<8UCdKjyoAA znSt`3q-3T^94pj_yo&3v-Qr@6#bzW*cs8$gK>0`n*tcnT(Bu+9>%Y{$_+3Up6`Map{vlLx_nVyR~jWSf?+9~Wg&c41u;V4doMGN+X-*cXb{S(1_1C0`A(>HN?sqRkEs{h zwk$GR#4x7evU=n9EChk__P7$f1WdkM6*k+vhj5VK5%g956U!Yr8GOUOV&(Q3=wLAy z@#QS&(+x2sa%-y zwn}EY-pDZ|fKuAczd3TWFm0GYKF%bcfA$fnMvxgK6lwj`#K|->l2nuKq8xIWKSb8c-*2;m+Wj}lAcp74#-)5yd}{-S2P#(gS&G`mGkkMpo#WXV?4 zN@rG!^C8M3*Up1e80#Sore%{!rXiaK9sKn+`WD1ykKyq1gz^aV8bNlOeoHHd;-REr z!pO^81t`Fn9=HM#9+vV6a~4aM9?_VZ1L1}7b0jj{DHYfp{E?DvS{kGtpg*7IALgz> zJ910}ka1#6y`-<6Vps?u!_oc|$*YTqEloqRY0VlQ5Z*r)yMyMrpbmApNY|l#1N6!4 zxLyT8+#2UssN^acwEyT)G0sOiM9e4~5Fo;y*vlAzkZmta7+bKt5+1zX<1qwp^(u zVd#1Zuom7IMGlgwez_gVE!#xvjGh0NGHTIpF7LME%?>FI_sCCOxb36V{c=YGz=Vry zdq)D0MH?tKXi=+`|6PxXi5PAzCDMAq7)Skwk*2HQgajpv<>bf{!N(-IV+z1T;A4?_ zd%DzW3?UfgxG7FB&P|UaKk#D&KM*SP3Y(qX3_(DK$_)C7}LkX z@8Ct3T!+{Tpn;A8=f4MkvE+Xrnc^6rBoz@A7N69WdEg;Q6Ow9V`avS_haTq^HL<;sSLty#2SfGt`j1iXXTQl6cc@Cg~U-ax9s z7Nq(%h$F#`)XIdY5*zgGy(M{J7_Mr?-M$=f)&io;~#} z|0vub(@T?5(zaz&MrW~I=xZcvZDfOf-vYOfe|mOD>TyY~MBQzL=4Jamd&JzWGuJuN z`|j5ucS%u|sODP6T6`M-7pqxCq_jKFW53pD*ZUEs9Ce8j5uO8?d=&@&tkfvPtB30)?#@Fw!iW{`y;T1hhi4LwwrU3@BZw@{m+rt zEC;MeK`N=9P`8_q*mSWw>bD;Qq!TpM)?0(fj(>jQ@JCW0*Xdi#s)AlJQnV6@uD$7n z8qS}82xFf=2r&s!o<`GuM)1O5uu@AZ?Ch8I{Q$h=a1wz&F%s1tNCjY0=kgvMAB|!N;;ud*_o50$AW?phxSbHpWL0HT#t(+`GIQ05eVqe}X8df9|p~Pv6V4iQ- zxN?-y6QjKz;YujAeeoAjU|)D1$5dswJ-D{~L>$mZwMK)ODru!(?i7+nw^us$$r!(! zYSfU98=T71W3Ja--QVx0jrXwyIet2~9T$wEO_Zb8libwwn>x%NpU%U@niA&`yt1O1{4dy%jY2W1 zVY46Q`Q7a|UqWe)j~HVaY`S#Sn5j8a4(3-8u_6@|L$v^K=Cw#MG+8gd#}IP)*j!a{ z{6Rm3Dg>rwCp)b$OM9P}IU+q`>1HQBDW(inXyw)%Wymh{i})0HDHN}OaJ+tvbGT9l z%ko009KjIi=_OMZfK__&ccaaQsznEPOJqSxI3Fr1eB7`!t+o z*PrMNnC_j)yJ<(zX<;TjV_kKICX6@MpIrF+6?CfuUn{hKYYOIEC#*}zP2$|hz?8jN zrKYcok?+ReRGw+d_(}a6Ve=C>#7?%+gsmm5vW{^3S`%zIpsG5X)fPU@w_$J#6RsIW z(yp`TC)S#hnY%YawmMcnG@t#w1+%VOb}N=UM|Lw=R^JM;=|&k)M$9E7*c(KcwcbL+ z7hh^kQY~xfb6-EbmixkNRC_F<$Bet1G-CbFaV4>Gd$rFPbSGd0Hq9Kl2%DONTSz}ioxfm_cSmRJu{~y&6qswdcCe1 zFV8yGB+Dx%L=g-F4IBtl2DPLwb1_&XfoY^vL*HecB2iqU!qsPr`xDqo$DfC#sl%}z z`*op&c+s>cevrVp<3&TK)s(PC`0s32?h=%2{l_|&y4GMerZUPdXbz0yzP_L&BwIC% zW7i2kybJN;T%wrN`YR!3+AdWlp6Q!0Cm%Rhra)q%DQudDff>*EBgMXNHm3NeZ+&Td9VMoT5QU4&1vmmG-q;aaboE?lDw?pvM-#|xKT z&QI)_TXxxeXJ+m%dLe;wh(d9?UR7EQA|~*SL^|P0dG3I;Zj_99ZcaY*sKnG)CzhRP z+20vBH44CjRb0QdWK0+6Q|5qg_ELD5miW^PuyhHAd z1IzbZUq8D8;q8<)v?81uX%vZ(&Tg=JWIO1aH}K@hCvn+BIPvwlTxy04ytNi+uUiYJ zJ~LeL?CtCmCU7rbKXEj8$G0QyBOSFT&O;@!51b2jE_d*})~xEU{Cwb5UM)F^nbg8@ zzKjL)f7lMvTz3aWMtt|dJa8|Jc8yKMB=s0pH5+O;g1}SqHnz~+bEfzBLA~G^@V+29 z5FvgY{rBC6kHDv0g^lY!q>5A!kO)ulfouIj@+m(rfPTGLB$cU1j+(^~-Zs~a^lJ{N zH$Cg$M8C2UNJV5+(o-l_ha3@t8KhG!LAv0t%##dO+oVF+nYm>yx037eWa_&Fme8b( zdQ~Z=$DKuqIEC4Ki^34je~Yr!Qhu{bMC8)aLU3bf5ReR3^}-q1ouLFQUP1Z&#Bu4r zly=4YSxCDP6AP7hz4&}P2!R(aKW)`YWHwstKnicud7??(ew+)+iie^4jv@<~Zwi3Z zUXLI2SBP^axk?o3kdyOjHp`i~IX?X8Pa1PbZ_a97`2BWnSH@_%NVtBev>@UHIvriH z_c9SCyc3HqAf=8jmMYz#tr5cFfnlahRSp8Ys0r^ro6`?qxTT&|RS9M#6K z{~eWDr!T*a`$|yEI)|m@;>7qSY}nyg41Kp>t97_F;~Nhmjszuxi3D8)cOeV;Z)@+p z(09z?R0S5S2`vr9%a=8cMJVwQ;CWP1Q8B*t>0#iNW-iwgUh`dUw4C|QKEo)&*s{5D z_n!UkrTciS5^@v)DX;j6)I2U))N`^pB^%ytI$AnAckVDV9HpLmV47Rb4M7viohW~HyL26)e5=E}nb@2MJN|FWd5|Y9kqv(@d>Z4)(K;-1m zt4SfXTgf^lP9cuXYq@cw7o@_>hdq)HtJPJj;R?h~@XwlCo&pxgeOXNANfc*}i|^BP z{J!p04ATrCvkJjaPy+<~XyYQX6kcYE``OMII(qfkt>kLRLfzz5ZtZR_XziNH`k`C<<^%Iy^~*^c?*MNx7it+4{;_{=so0($N1xXNRmFXm8ZF%$ z8N#-OwcncUcJs_eH_)y`>%~4zvP%9~YKG^&lF3FB zw#4Yiacp1xJ2_R)2W!WTSthGwjD5!oZXtz95yEBe+u&pxkI8v7dmJkLhay(I#5HSO zLX~xEK`%@4jt4Et|{TI&S_;X`^n&v#Lm2UvET zryn%!m~1?neXA&|^RYd06u**dfc1`ss55$I2S; z=hQyyIO{9UHs-%vwEfvM>RHSbs`#xeUGb;z1|E)`_v!jKU@G(!wB+a)sHb~@BQRNr zXpwAQn4*Q?O5_TvLwp%UIWdpn9=1Wbb@a_Hj$Ov$kzVL9a7VcVTW|j7_Rfh)Q;CPE z<2}f;c50ftgyqT=KkABkgp1gw;4kR@9=&_pKp$;Rrwi?6uqt6zI;s!9u}rRIyCrh* zKhm&+XAFJn`cE;lhMrfIK3)q~pJeB%-6Nz|qEO7_)z%(UexZ{F$H}INJvN{4>@{vd z9B&?EM*V-Wc0Ly?t-dYwam7M1cp1x1ejZauc=~Ggz#2+q=PH}+cDWrXqB^^Sa9#|` z0_kdp{=$(>5h6av`>1({SFEv&9kBC;dkM-B8!nP)p?_t}pZ)_P%NugX&XLx-vBcEr(2}`a zoz3|wA)}oIa(=l$DG7G?Tn19}Ol5k^BCA&~4fd(1Qy+r^hh_yUZ)FNVAMyx`4y6IW z#@R=eQKk$B>N`hW6QZ0G`T93`y9~b5KsjNGz;MIlh5QtD&_fLrBo~MsUW6`DKoRJ) zTdT){n*T?ogvmrmI?pELsel3h%#unx>(32DBy+Y&fP+(!7S^(jO*WB2r!x5quf2Q= z6O2DX|FXYgbX(RJN9gBf2JlzeJ59$MWPw&J!0?Y^Go$tD0JR5Fp=gu&oMQS;6al}W zDp9HsYJnuHFlr$&q&(eN^lDihFT`x4$D^gN*mxP-uj-68f7W9cU4~F|E;GvfRNA}u zkFm4P4 zUJIqe_u7m`cl5fgE;gS{n6Q7&HB;6&R!zaQ=5zPcHu^#Xh=V_F5e7KtmX0${EoIQ~ zXGuB_I9-c?t=N^5$fso9HD*!8Qt>w_AM0h>>%d(C;3`eLYSm_Z8x@ zv57JiKFF^-!penO{LkvODOFi!ep|L+1gp98>FiTglDHdRGK%!(`dD}WJF8Q^+7^v_ z-(N(k5L1TNVO)!ErUBQvJ14UKu|ubjrH{s5AMEL}9gn`hKHsQ`nYhqx{Ge{tdeO=0 zXLe1Th6zd+*w^zP21{BXzG3d3_VmFQInxyS2FH3ZWricm4!A5Gc<0XC_HfaylzMYG z&X0q8exk7P{t`j`;z^RtY0xWaCs4wHOhHdY9eK0Ia=0~mayI&fJHL10Y}>VqJJr|@ zfRPG1B}Vce#qWps$ASqERfT2=BK150UgU|(qnLdNpPuKMZT{gp!cs|@!;zC<`;5SNv3{yYZ+Hq{NtEOd<1ugvauRGnU5L~N z*ZxC6cgs97Q?+9u&>^4siXWs}b#eO|(|2#iWT)F~gBd956MIi{xVt*QWSdC_lJqsApMw7H zxphEzzW?J3A>P51ab}LaNKkvnU*9=2e*%pVFU^+Ul5f8z08+lqi$>k&F)Msxk7XMk zJF&w$Llq^zOs(Vd%5G&6v&VnMYLVk?BORFu{S8L%C<@jNJ{cKC8yt`pIpODAIM(kE zM2VC<$Uyi+gX_)Y;cy1Xvse^>kda738T8wa1Y+Xg@{=F?0y408s`J@e#gK#5R^nZc zDdYXOCndgm`5I9ld2*n4qf`YgVw~Z-9NMW_qQS4u!2;K(6=nY+*4 z;@dlZb}$-7X-fJ+%tBHA@@cY+?lsoK<nZ)(-U# zTaA!0uA|-tn+m?-ehrjinMJDAa^Z*HnG6N*G6i|gpO z!&-%MuSWZ1L<9$DX3C`a2%u2FGG=oB-788^KcPsbJJW9!&|~^W;DKjhogtZa2;QM~ z__N}d$s6|mS%5yO#msJB#kAL2SYWX` z2WDp0NY=%Dx6X~HWGw!(l_+n<0lyhvoJpNH0Np}(@U8@-C)a@kEG#NDEas$WJ~n(I zb1F1QqHV{N%eh-mw;fv>H}2!RO)jkt37JCzg1Wc^sGJ z;P{BnRa6b4LQ#_#KbNKymV77RS8(#!zPR%CB#KXs@1Ro+i-PNnmqaKhOCMErc!9=M zvHdAp4I01U8LrNUw20Dl4qUH->q zho0?_uxo};^(vRRywb3T&C_EIBR}#-`-&S+o=BeGGc<{zn^BZ_rTQ;n$2j7AT?HKs zgF9%&1)Y2*#7=+x9F$=JzoOAV_B_03a^0Ia@z@)Pd_=_M7Le}o;arLdLQIWncMc-t zQO#YU4)Xr!3siwng|R(wVn(*GMYTr%e)z$S0s!{$fVc(7S7KH}Wh?zWfKlFzSx>N- zazrzUypO?E$y^IeufQM6*TuQ#CICk$Os|1M59`yJh62$Xd{ry|N%ET)R(N`M5PJvu znrQcSUdwTs&C_pPx3|S9qnt~p;+VqQ&0rjmNARv!yh)jB01HO2XI9j<4lwM8t6r`% z%fQtC0DaZ+u&5^e_t1FtG#7Q=7SzqzawaC-{W)8IHVXoP)bXji`}OG~#>22aS$>dc zy+713p#QjjKLkud$xTa+f@eYcK=dT|0WXHz2$7)M*7*HqvqTH*YEG0ZTDYdDkk0^-E3sM%4a$PMP#UTV*aFl-qG`-7hP2@{Aer9 zRvH}@tEZyQmmwlj%7|1@tc$arFlXs^Z*H zBa*#Iv~^=~lO|RJmfu8TJ7bYtxD@igr$J*ve!*af3x^+M)q!f3e9&mRsLPGkdv#c7 z)Ty7~(=6NtFq&O}orEv~k=vsq^^(S4jetieB3bugV76cTXN}F6=8FDmEtlDCMAYBg zZ`3~#ssQs(LM^UpI9JzjfxUhI?7x&3RZf$pgx*14+JCbrOZ$bQ4?H61_cTcR^de#q zj`7K*EkozsK>rSL7-a%oG^T`KQ#S1m*$gKK)$rOoWUWIyGL zS42BgjJQ8KJA)GdMBWRUCJ;@opH`yYWfGf~-1Iw2Qisy3B&dt&a|f-xGte~(Uxg%< z;HQG+#0j))1V+6g1o#!}+nfE-3@LE!OKp^p^eD}8l&>LD4Y~`tj+X6&0!mnHk1$Qb zkgR=G+>DL3c;{ztQ-P}SszT{Wn2aCPPowf(P-PLcTrHO7J;rGr-QQE%`4WoPwO&Gg<@lu%iOuWQVOvW_1X~F&r(P)G$(6bYWqW_|lCIuP_J|FvXK4f$}rr0eyvb)9yjHh@=O=1V=!6K|5$ z^1EYGJ_*BEQn7Zkbmb-)J$v+nlY!hG7_xP*;fD*hv=@p(e>ifjw>p(C=IYmYtv|E@ zC7>HvAD73;Cc86T(EkXt{dJhJ#ai}HTt}rzeu-4YPTx@WSj?p$h6_*J82G3biO`w`g%fzGfXuSM!9$E9i1|3ypHpuHuV0` z7~m7f`%b4n3D<4}rsoM`-u!QJf1z+VLB=_`$-@7UX^JC6$;VpbOw9c%CT|Ho_ZdbW zwPe50TT`Fz39vUnz&{Ut?qVxZ-R@c`;-ScB`G6B1$MzA=sav@@WUDOO#kJV3iFHm( zjQ`+~!uCt`$N0wlP47CL{og?U7e{EI}nxq?T-%)%(q&$fX#}+srS{%9l4w^9i%vl8F1uZ3-drnXD zj(YhHVy5F7><6k2F@4DYV#fvw6g-Mleb#KLG0Hr3Ld%9`5{=sh6jo`d-n*#%u1%hL zt!y3mw7dc+br3YI_l)r7=2?2s4(I8sxIpcS9`X6JRq+p@vAzEP%}_(CK<`Pwq>lM+ z8DvDa;ME9mlo_?LB9nH;97<3~fuSKJoTHo}N|bJoUzk zkx0^{#C`VvhOAdZoRCmEj>P~5BgF)?5z7n@*7n8#>c(!r*8Js1+1dr#8A62r<`DeC zWd%bmq#06wg>_w)ppB=@jWGn7?|P$Dtx4heuCEVD^6_z932H^bT}88P(L!vg<`h z;QNeMLRBD_`L?g+g-q!^g;;??$1E9X&$SG%~DJ#Jg5t<3yd{ z;{EVOYX{v=N~9f1F-neRx*p|IL9@sRvZOcJx$DjL{o_{hC!r;H74+Z9n++WQZB|N9 zjaTfX)M8;V^@m}PS|R>)eeARudC%bz*Hr_>dCNn4zpw42<*~nwQ(5)f6x5aaSk|8zKKm@rsXRPH5UtN%_V3Q zyU%8HkdK3#HUS*i7dsh^#=1_{A}IeVR1FOk6Lb~)37{#_qQqsd-T#)GEctBv&gZoG zeXmYJoVZl|rsQ0fP_s<_d*`deXUI(d2m*R(Qx@4E<*H;(3ZaW6E)%Y&cVlwX4F+=$ zfsTz00B-G%1k!l&^n4gSA)38z1@iiVYT!>#9E8EsjF`a)aQE`T=O|6(d0(%BA`CP$V>O$L8ar?Ch7LYTiDG>cK`@8U%Vv;_USBrW5oYHOb zM|uY-<+XxVa%Hss@pq{1n!IIJ&JVJWcmVYtT2f-=k2Lh$S#of7YSChFuTs@;Ls=n) zw`q7$nfL{92PuNAJ-2p)a;OnU%E3n2d)GCRo6>Wvn1|95uH1M8E6?omf%kP>9I{}| z!PLpjd@fQ(B-z^IAdH<3y3xWo5_3z17W^#&4 zFNbjQ9G@daB%~{p8NRy?doFlZBLJ)<&->fZOSI(v(1>sF)V*W{yxHW>9Kn&#R%p-( zGC=bk7|W2(Gb^C2I9pSvT+$Hv$SPi-7dKwEM)>70_<-W z!|AX8+zmjY(pckiI!nn|By$AqAZQ@fgF;~ii^BK%EQ`1H_^yVL5eHi}JjdU(z;i2qxhX?~!W!L|wLfza@HY7+f^ z48voHR=*uk+BnGVRZ&j8Ui0p22?uq2dfZg~8^5QsqJ+IcnapH$5F{Ru@e~ztV}MTt zG*XmEB^712KDcPQmMD&n6%|{2269r+sxnPZZDnqxQY@x!4axC=`)s9l$oAGThtOD& z51L3HsB{-*`KP6FKX|iYf?oIn>Cyi>W|CIG<%w$0ce;O%Prmr*xw##L&YrN?VEQg4 zK3a+EgosiM>$Af6J_C`oXN0sZF;%uDQ0vfr3_GPWlhc=ev_Ijk%B$kpWroDJb9nEY z`7;4uKe>x`$R!;9F}Jyc>$z?sV=kpHy2spQXQO>(?K#4WE@4w5vqAjV+1%LpP<#<( zA?Q>}4@F`~n#!q|EJEBa8cQ{KEOAxH1CN2*@6K!*hl9oUU0az;@w*Jy&gb7CFm5K2 z2M^yD{M279CPno5CVhtVl62~)Bj2p_SMT(2b*TvC)azD3)uhb$>42(pwdJp+1MfPU zOb%2N(z|Yq+9m}r~LoRhol8usj~s6upvx_WI*;;~3{||ZZ*dW;wbqROb zwr$()>N2}*+jezz*|u%lwr$(C-n{odGw;lAn2%X`GV4T~$k;p9T6^u)P@tE^B9=EB zZrjv5w2|F6ja>)pg;p3Z5yVOAKH6dWj$@6YE^uRV;T|{Mm~7I9bNMB>Fmo$NTo`vT zk3*CX3Ci;FjbDpe+fGs)r(R)(m<|zS5*%f5_i%%8)l}gma1N~*@gPT{naI`U#Vr#` zkmzzb=M(j$G`g{g+zXLo!A#-AKyWDRe7#>6u;C8aD)UZf+ahc8N>+#r@_6$^=Rfq;CCY29Iz29p+9S^}li*|Aw|J^&XRv_k>rqf^_N0~*$jY4%Y zlSgLQB<0mn?zr0mBgTF_@f{o@A=`EQH>ouwB@D%15o$O5Jjs`pTied?7TrsRYu_cX z3EOTy2*dDbMzM#>`$?oylDD%cliO!f@7wP9vlDVz;dl}$^#@9c52%s;pvH_Wc2IX& z?=unF(AmOj8ricBqa&_LEFy3@?k6eLUF3{bM=-`vHF^T*P+!F>8M4rLR(#7M^Nf_X%^j9dtH6; z>zb~EH%RgLX51aI48)gP;mA$i1i^6k9Gm$`BqBo+Afg|kzq5V~P#}1sXoNrj;)qq% z1>F{j(y35`t;10SRX6A!=r#&6D(u|$I9;Nt^%&;Y@ZJ@e#Q8t03O=puhFwKpH4X%cndcF=Q`Pj_mE(NF-a7rJ(Q(1&X50jZhs zOg=t#!iN`O1%|)JozH$GIK+vWkLK{znO~ zPaanJ%pDB79?D7I0O@t{{JpC4`>AwxbF7TreN<8W-4VwPF59i**4_xYzF-#NmXe9U zg2A!eh5WE(feU(*k0q@auP{5IdZr88RfB_`Lqu4uy=+?@%A~3a3d$@LV5n5uPwO6y z^$F_BWb{3O{Ps|x5AI%XZAtVD8*lA*|)v=P*;# zs+zt<$mK+~O4T)JKCFxsmKitp{2cuZaXqh{j^VcBQhy+<;j6?3b> zMW^Cqvt9&FG%yha8661zCe>}p#%)6okcX47s~|Yd%RtlLTRsj=bxaFw&dR3p`Sgf$ z`?vzzyD!DNG!z|73yHi9xxN0NH1TE<)!J}O$K z{v2a(Z+kE8BChVCBJa5OPkHElHhA8$yB!^vQvUFuAr5+=GRWD*d_2)ofH~yf+>IEEDP&gi!<>DbJV6h}7nU-MDivIxY!47R)hu3n>1a^SG7d-p9H0_P~ zE;AnOyn3e{QA72vwI{AR9#ujUQoRtus+yLQMad!>EhD1YXdFQS@~W$7F;@gaO+>vh zfXo(t5+yr&<<=w$|1wzbmIt)TrL3l^GT|wvx*cz2LOi4mvq2SkFXT@L&RHJ$Ad^gf z(qzV6y4Z-GZJE+c7sKVZcMLD$rSe2pPFWL^p~w@Ya!waf0c8i$Q#V<1v@?tstp(>s{>K-}@dc@wi(Iei)x=}F7S*d5yyL?fXa1l9p08c zS{5iU?Kk*yg!+1%=E-z1sdf6l?kcXNRq`AooSXK%JRQoLz-vG3)!!0cQ%mfBn11bMDT9=nihw`E)49FT4Ez(uTAuC^uJBL=b=M7|lMP8oG8sS$m zivkD2<~A>shnR0SquisjA&;vrqrnHm%PjXM$$#8!$9ubVFmRL-cu89i7bz6&)?V1*rHYh>yWQngi~~wX(PcSeKvSJlgyX*5>xT z1V~55z$H}e!HtLi)yv z*3{?Ouy4dgM5XmRcTH=)Vc&fK3r~B7QF|i@9k2!8bSdqi@h7i;a$3yc^bN|W&jdML z^1KM#JdX@Qt5#zt)rvP7y@abB3WtNL?BR;sJ)d#v*~RW9@-VcvJXRYd(4i_e%BcZ< z?J&Xps5Z^?RT5)J&2T#4M7h!yIol<`KvB3I-?wLE2IEhZ_S$zEvxgs>doYmLV%S^r z{TSag6VP)^$iiP1;%!#(l$041I)Ao@VQe4&+U2eGP3let@3R0PG#BKS67!0a&D`7@ zh~x-BPfannyqcMxbj;PCmbor1BCuy`N);PW;{h=e=+d{LK$kcljT4;g{~XG*1YOn| zHikMCgO9el?-CYrMHv3rV$9;3R#x1HkwW%`^MU9uf|tc+)a_0 zw|ZU;u`d<}J2f&mN$nOgX-MWWfwdv~=$;=a_fk` zM)yoMwb-~okCs)O6?I{dfwZ4qtkAKn(?0=W#jLueVAus<>dnG*leV~Gm^Wb?#EL{V z!(5@REA{atW_bG~U>YXHutHAm<&5uhU89`Dbgo+T$vwM)FnS#XWH~^8VS9_@#kV1= zJ>Xil)9xhh#sBY-4HB`X#T_q}z0PIT2i4C%1>c@J1~y8+kEE|O^jl{Ws$5vPft2tY zj#Cd@Y6k(3c4csZHch6hw8?}ddpzOZRdI}2P>pYik5`N6njg@o@w+?c6soff5Zp|* z3{X+Y$h4XjUSRM`DR9FCcR74L$HTOdA-JX%Wtn5Xd8eI)J*5xvbJA8r78G}qGm7i{ z3H`>?miQ$LN*x=v!{Mceal zSZU|0cT}5CD%*~*M!VE*uuivo$+(hI>es*+5n=DNq}%NpP+VX;9IlvnxUC*|ZhwW* zACnmY!|nH>#6B=E)j7!KmSvDi7rg8$mFnv`3X)=-K^1w#VN7F|VrP*0_K?fb^3YA- z|N8wBQcza56x5Z@Z*I605jrpquYS6}9gzR28izg$JpPF_7zie{Jn>l-BWp69o)qrQ z44&r9XV3axaC%o(r$q5}jYXvuBe)ZoijvBwKnOQDNi{Bd6!x|kMG^NCKwwxIFD2n2 z?R~hs4=8&(UUX7?@l=(kwAa+C!Rh<6?|L53yWRF!r@D9`-1&#g-9XR8)#+4liy~VP z&K!9sMuSa(ZJ8HR-yN6WitpPG#}pcjM~UA~J~-Cy>dK2(;U;zic9I@Yc%nb40x3#a zD?a_DSt}p#rK|*iXp^&slp?U5bvjHe8H|94Zl=QTWb(CKx027;qmDpesnF&$lrR`P z4&;B3Q{%_ku-z9WX+K%8|F8H zjS~i^?&5o1gFOuJa5A($L#?I`=c2Xj4sNH&x`NUxCf>9(UOT?+19wpkso@woX~8m5 z|6X=6V)b8VFSFzlDA{7P8U^)z`Add(4!+E1}AQS)N%lg7r1weMuCTh|?D# z`vGp+Y^y-9PM`lU`~O8HDTDq>4KE5OIxNg|05Y^5I{2ibqDls5 z@8D6cJaV8$*4xb^M)>+a2Wlbu!-U_+BtTHAR^{D}``oNn&;HGq0KnaSS@y8~%fV!@ z1FJ#kym;}`$_l0LQTH7>WHq(f_5O3vllg%^hfn(|dA|Mq3csdo+AEgYGfE*(4_a?$ zf2ZIG_0O&}2-;+`Np3QcqCf_eJWi(3U`EgFd`8;W*9RXOpV_HMt5!qEdDDFm7cN?^ zLg#~i>6VubnI-Sm8^##$IOl6RrjgyI{_PVG^b_|f-mL2I){a3`AVBJ%x-OL!qbBV?Cf z&Hywz;4jwphuu^l!p@$XO=B^6eN~0UDo=CNfBqC1povFo-r`ndwb`I_3uA>6_~sRfvHQa|dFjNO(tVuO{@30tzi_plWuVLZ z-7ezkC|1^qRPk z7%PVl+N|b_3m*4?mZ1R6Rp>|3`*p5Q%J24FeM)t@x8L6x-1gY({T9`AF5_4}L`AuA zCt;#wtdSvYsKxyUyCer@-6{5ChO1FlMyu3pMpjS&pkdE{R$A;)-ZZpn0fjbRfW|m` zfF2B@8+A7B-(Q~wfXQS0?Xc?agzZ(W*$jW`APVqizG$1-+1#~Td7U>!M)i54T3q7& z`7=RXPCgYr*km}jm+ z(d1Y7_WSDr9~*f1gtPItLJf?vdq)q`TmYcG3h`>MO~793rapVL;1-=m1LEV^B3glh zdbbbA6ZKu#<+^K#{r*t6Y4)dp<~_0o`#&><;tsIqpHYghZC52u%?d?TwnUS zv4k!7=gp@AwP~4oVp$kq-`3V-Bl2bohXap$dmd42aJHx$8bXV={KwKmxSUd7-2$)g zFfLH!HfQ?|hB^2T5;HSrZlS%2^v(sLU>{g2&8C}SnAvt$C*L0e9+wVrIk{$tLmUp9 zfgS+{Gw=q7Luw&laJViB!JJ-pb4c->mYu&aWdXlHyv9tgHnwx!PdvqO&pssF2qQ&P zXLb=ue!*gNdOX(cKV5kTx;-u~i>jz3X>Y}mNy#^lMTd&iRo?w*Ogh5afoxpoC*z)`8H+n6Dbb7Et z|IJc$8d^?86;+1DD1gfm;x7C=EzbV=e6^XgOBmVP zE9iq2j=|6rh!wV8q0TZ3SekmEWBKOum&QJVoh09?4WmoJT!Y~ca>BxDM0)SPG#WjhllBuYsUDBy9=)yCo_JhwL_ zn?l_(U$P$$(bUWn^E+@#L4x|g1e)2>>nz0LZG?T$`t?j20aK*?fXf;6OVt7Rl{I_A zo4I6z&&s5+2EEERXdgu3@mR%EVQ<8j&H!xJX~kP|dRGID7zK_q90vwM9-`rfa1BmW5qLW>TqhmfzlHQrFk7l9ZTWgT_XqLDj=A1!UtY3l zFrOb{&j)PXs1Wc6tNbY8=*D4RpYO^gqHb=WDsE@gMbfDTFhq_=6Sdw{BOjr_P~`mC z1Z!|@iQ`@KXYz?6097+l2`(?TonY|;1UzofnF7mYJSk<&A0cc^Zn3|Dhk|QJ4xAJa z_Ry%oDuZp`U+;g*Rc7tWNS2D4Cv!(W!Z{T}qN30_Hl0Ykl!z~{KZ5_0W0VQ_{jn2b zE2My*luu6ZE!xT~YB2LC-9trzx8pQ~nt}AwAvKF55BGs+C?d6_|KSIM!l?rc1_t&- zm_FfaRwI-4mq-L0f(?n4u=vo_yhnC?SjSDD0SOCBpJALEV5#%Y$@OR6LKZa`xHF#p zATOLgpnDKklSVjdyZhq~2NazRfYuBkG~`0N6WW!HxiTk0n@N|L&7~Y19g zjSywdDQKQ59}(ieolr@sD=9^IL0bv=@5P!gST{!ooT`PF)g2lBlQ01g3mGV-t6dNf zagSmuHbCiBmd;`WkXB{YW~N(%CNIYmMV7k$H}!2@BP_2-uNd1`j9E z*7f;-sBfB%s=$p53S9n6!Rt*&O+0Kgj3|eTu$MgNF$WW9o@S0)o^Us>rbfKu>&@5d zclnr!tdbmZPF35PU|xrwBe0%B#2JXv_*SGuBk#Hy&tY&;tYU1oyn3mO&(sgIe$cVXMs(X5&_xKl$Dt zO*SEjxVSXEJT7k!B&x#KthdX0H!}_&d&lCnO}S$u4`pKb7_b zdU1%)-;OhMuL(oJ?MVE9G?N&y{mb6BUS}N6H&a}w)2TxckmVmfJ>$@Ppeh6`7mdFe zn}m;I>?p0|tI@`eIFj35Cy&I5F%uW_W1+=C(Oc4+# z+?2T-l*3JtBaMpDI-u(bq?rKh9N|p(T#ST5YK;CG{8oW+PG&8LUjq#4@mYCwUE_}e zq#WK;PB3a3{;u*&h(kGzIDmI1Sls#=f`&{O_>)tVbe7WNj-*^JFc4YZ2Mqy?(XZiB z?>3v2a;@1dtla7`8o}5YkzBd#Ef>Dhss^APKz#9k1Q>w+%Txf?oi~(HVQWcO<6#;A zH|qhNLIj3_N?whc@_f3eoeb0Q{e<%rJA=bvU-7qGv$|f=6k7vvvS5Z=SguevwEbhM z9#`p|!$&vfa?M`?meaD?HW;48=eaVqkSLSx@o?go*=@S^ZY;lXyH634NTVuDq5uIr zh)%04<*7;8B!PPQAfu63_gdsH3|shKFZf8dOTxys_(TMSMlOy6=yb-hj>Y@aPu~>K z2MzCHu}q~xP5=7tb2pekAJ9sHnCuWd<@e%ey}>K*KM)}xTQ&g(q~1p`J%j(CL?$SN zl|qLYjVTl1fW~VYw*V{0RhG8~1>97cSVlqrJHU+^OotYs?Ep&ii?fT?$(0Y{1<95C zIwWWi%S165_5RRN0)Eb`?()3M>BMv+Be5g{!vww-wk={j2Gc1_o4>w$qOQ{m#GwY%X?_RMl;1TF?UqG|oa!)^N=Zr4 zvqVNlW?YHx337+IP=5;vv4g!c_RJx`SZ2dyxbX`J9~kKR`$0Uyw07zg3UK`jWw+K? z?}IkS1@=p7E?oU`K6i*A;EHeee>a4L90dek0j{-|D60i zWR0D|eHGSn%Kyj&|K~j=DZolp8XxaVkqt*gp)45z zrw>KkL5_bc=5h^GR5%-4Jc#yH8{2aY6vDatd!Yetu)em?nDox&cuxL`W-cvz$)@Xr)?TlTSW4}zw_`!Fxj4Z~u@ zElMS!ViYyW+QYSQ{x=>@bf3iOU7M7*i@tbe@Z<6S^CA9UPxSw#7iC~Tr%HAdM43a&>x`){~tRAD++(%*kkhQ=AErC8@rMN*23~%SEKZfn2N!d`M5;=*i zwYu3p5yz&U3T$;u2Rz&+!&(!HQe${{e+`bCO0UT)r?2TaIUBhdIq7Pvt&SJTsr^>Q z{SQ}qDF@}&jhz#>Z}C)9JjGRyq-%nmMhhe5ffuk*45&Ik$0(Lj^JuB_c)~$8PFXtC zQT}NA7?yy5$6$DH8|L@dY-26-7nx^1@_AO*KjHfFx&U1;lzUrN+ynBh&ohgbs6&AQ zVUDBC>uHlPviNAC2)C}hyZ>nlaB28yUB^|%HtOWts7XK)U z)B%*(J)plvwc{PC;z_6Tg(*9gl5xaIH~b6pG&k?jH9{{1rd16D#wEO$J=@frPrZM; zuI6q=Ze1N#G(d3`=i>+UpPVLS>T)X?8W#`fCo@P9bQe4D5fkTqMf%*^lsDXPWxSgn z-hce7Q?;W7MOE(uLXJ#FL={CcQP{%t z>Im#oMe9hyJaY=_uJ(}19(=_p3;X?=LR|qwdH0Ci-Apr8S>g3%*5xXJ>qNKa7&yZ> zZ8VjV}Iv;4^)%{a+%W4S7)N2f0Vc`OoW?|)?HgPhFUAd*o0xKCkF zBUhg!Iu-XVh}}8O2#aDE4&@VV8me7o#3qv3T$XmxFPT{cr1_3}cZR3#cvoc1B zG+(rY$p{(PW~c)s1r%%7lEKG!?eQO zf|Bz2`nxv#kFG6VFlS`dE~bndzu#Lx^`!&BXev$e*_-jIEH)YK5 zYiD)UwbRdS^Ry)bb#udQSX_a*_S4WavT{X?2UABqf;pIY@=wI?c#^`}X?0-j=UcE8 zi_RHd{Q=8#<{{50hGG_q$5K>!!O1vjb@=KCTl2Mp3xHWCLZbAks|+&2kgl_s#nE%V z)IS{=;R2&_b=3Vz(xujFL%8)y?%onZDZJGE5p=B@3Wu7cqR_!k-{I36_iJ?z4+fG1%eE_* zab)xl?_Ss3xKXj<+gmjs`SpqvvX?8S;$p=`{BWy)ngqse^)&w5;5ufyQp>#_BT*OL zAGh1qSWB?35?AkzM;~rVE}^-PN7K?d+{lFAKZr^ZL~2&ZaSHp#X!J8Tm^QG*5V>IM?dOUO=QunjgJ$p9sYDk%HXfGYKld0Q;d>I8QYkepl z*?zA}7(a{SCmBiZRcRz6csl@W*en4O^-r8liBS59Q+Uz$U}FjR@rUlTM1FUboGM0b zXjL+M29v|Ld|PVdpaX0rD`FJ7f$Y~QN$rD&nb8bsz$A(cX%`3 zIG|ye-TnQ+Q(PY>T%sWXla}#`Ah(nNnotj1_PbNz*>C&O=uu`7Ia-n zX8zkJplBG&dZ9~KF)?}ONW0}}8LOy^Ru`b=ECHvSVgH9u**Sp}k3*083MOaW@wZ0> zG88S9Z%cmD%bw=wJGGPccOL=adw+a4@UftVqVJVoiq>e(v2BG1>j@ZeBFx=gXWMu-YUP@PBc6^7&lf(=c8Ygf-Y~PGc>$JwZPBb11B0?#tX+=`wTi z@VvKxW$KB@-9x=AdO z2rwKItYXc(>^Fe;`$2G%>6i{jcJCFbxSecKs27R3x)IwmP51YkkL{(RsIGx2-BKJk zn|t08zM%?a6~)O}thO}p4_)j@zKF99zH59mIFc&!mIR4TUv0b>Ia0yYyUcFNPe%UY z;!!B36Hff~tIT;_DfSZy!TE~i{!wX_`5<>XR3ZQ3O96QZEG}=eh%>V~uX?0Ez(0@r z?4X6;KVHjuk#fUxQl31N_?>iA1ID@MNUhLDDpz9P4xv1O;c6GB@aD$;z)t+Jr*^3& zxSEYkA-yaAx(zaI$x~U~T?hG2_JK*EZZ8Gh)m@S|^Pf70+_5FsI^u09Zxrd+PRt!& zq-5R$Zf@IB74MDZ<+3=J;=i7nBL+A}4pm6A`fw*7`XE_x@_GqxpF{m63*3{ZZyQ8n zGKplTTECwo7wE3B8)!J84iTp?n0A>Ksz4@kdi8n1k3Xq=eQWmwzcWLivP_9KHvHcz zAgZtElkeELY!z{T#|nV$%erJ!jMJe7-=Dt>2wk3NwIBFRDhEHJjCDcQbD#JY()X;5 z#tj7ht?}l6IovFRq(i&Bn|F8eZst)s715~ae?Yfr0UtdlR#9RDvDZx2{k9Qy_Fje}w{gOsj)hSYZ5MGg ztL|BKLQvym6k=(#-1h6#?n=RYXp}ka+ix81dJKd9KW26e+(|T zISf<(y)0sc8Oh(7zg_0+Y=*b@Uhvbh?h)*53xjliE&Sbu?=47e<2#1UNa_jAA|x9Y zq+(d#+QGMmz`m_J?^an|fVfg*qns$fYrE>%uKoKL0wTnEhGnNpZup&GcQ$4Dnd8W# z>_aHm0s^=4Fo*WL&SuOR%4*$G|H!%ZL+kqNu$7pAL%YXR>*VQ1Dsow*osb}t_*QuM zMbfQP^f|`?u-0|EUYzTA-syfYLmIygCinNS{RPv9VA_eWFCIo^DRp3>yoSguAu8nJ zomw_^&|%Qbc@Wg53b$*49yY3&BJ3!y>GhU@Gap)%Hr3yXT z@iRKIW$s4(Jho`NFMBBOaz9A3?GXwb=Cfm}@~H>(*oiaz9d`V!8?4mu8r?IK)Q_PT z@=#^qb2yJ+ctcq&W*I?vj-40pG98BFx8_aUhtG6*xZ?0u>vsL6!>am?)M4AL>pyi` zIqM;Un|L$8Hk@hfq@)pcy`^v3ym}vGWP_tl1oUs_8{3TG50o|!#XR3#Q~0d&*8aiD zR9>X`y|3*KkBZnc*T`jFwkAUd-sF=4Ub59>q$biIVVFXl-E&XwJib36vK(T2fjXlM_C>X?sYV(>{bDiawU z>(v+tBD$(#Dv6*KV|OC}kprzFEJQ;U1PJ)!d`I0kayz^x^LzeVI@7xg-Cz%4<`FiN zJJFIS@0Q=f^b6d#bzRIlCH$i#ZZfP?M@Na1rLN>P)gA0mg?2;C;!nxzrh`~yu-{woh|+mo$xrj(W@PRY)S9vUy^u^_ute*u@( zwrLJz(WZX?F7=}aC=Pk-Y}IZ!W2X?t1$s(F7w!gAJ8KS;FV-hT?(0Rsv%ym;c1t)5 zuq@gKPTVQI+4-A2w4r=J(}C}8O@HQqz_i}#dKh0KLbP@p=zUoX*u7aCS(*N&VW^06 zMyJy4b>BMUo-smgw_fSp`dI>%|){Z=P1*$DGFI#yHv59EI@ta#9h#hbm^hX zA*xW2ehZS4n#e>{e2(UyzT1bfpS%1vy;eBFJn8hNU)|VgKHnyfcCb4}pfp&S_Siki zsQ!YC@RkcFQJ!-i&$RC1t){f{arGJW<+$sb9hlu17o-xb{&v_&+wIj zE_@*wgmXnuBR;|tI#h#2lK#gJi8q&El8@jQpZ={UoOa#GkFR%wuyH@A3@A|4>S}-m zN9W5V2T$4)uAS!^O;SF^g-uofJL?HV()lv^l1fDIOfe}@Hi2Eg5IAF#N#VOy;uClU zIC4C%6A1WIBj{D-5ixni1v-1CpM&{M=ybce$|lP0ncwP{P|GM?_UT}yr&-TW5F2m9 z&$tMx^pgq|%r4CqDMl{B)iib9i>e-wQHPfPZQ*R8PdM_uLKDo5X14rvHdaP!dJ>cl zAH?}0tb}1*?E-_-h-!3K8SE$5@dp>3j3pD+Lj^8cnRM3ls937hJ=k`zcyu`DmOzNT zT|X$9vRX*q@RJm)G)wtfkfcK4dg2PQQxu<~{!My-)@sK z9Z8tkGE}j%u{OV_Q-!(%?%}w^aS(6vJ&TihV(ISL)+9tndBQZ?O5G&>-mB#>NnT6C zyhW{;wD5}yW?o65CW}E-A;4ESPy5{WJ_A1#c{G1<>~r@&z_{p@%yTi?_v8?X5=}6U zufg84dIFn2PE4j6EyiIURJ?x*Ug*v5l3%yslSo7GxP;KVoNOD<>J)7 zJJJ?1NdR~`eSK#PXDR%rjgN)fY_Pkk3{{y=9cxw$ym*L5;bI>y6%`HG_7e~{OtHNF zC!h=b53{FP7=fI|6rndraD|v3H>0Tgc7^Nhi8bB(M6*kbpHCpQGwymA3o%!WK)_n46Ez+fFm=h5l-rPD(G61Yeub(L(D#JBo(3V18zkg;p& zoFWwYdq&LW3bYhEaj29v+)|kor0AX$t-%^cN3#yaV82mYg$Vuv(GmMrk>D85aTj1% zGdxQ4$VVFff*M|ZT|V{;ju+X;AU&iYUN~4In(bjC(Uo(hbyrW50}WmR`|rJKJfXUr z#9BQbt5t8Jw}4O1+8_1$*ZoE<9l|H z)b0Xr60Zvug=OZ9*XO5$vMkOE{@OKWT$rR#Yi0N%Ii3C+(qtpgUo`UID$@4Lp-ws#BV&NG zpp!^PkfWZBu|6R!Z1?q|d~mlQw}0|cMFL?PVX%qRJE}bkxR(-=l_7eU>)OGBm2@AzH zcpy;l(m6*cgu{m~1G&}IX>V*xSy|ZI&qc#OZ5}SQ z85+LMfA~4V>XN+hu!`XK8u~dBUH3vDlh@cqi^fp%tz>5*5HMDFev#pmWxIQI`RdPx z_%Pyl%$t|>3Ym-RDEq*ApY&$A0g>;wy+b=*>*@>=!)Ct27Wut}Lc3%uD4QhhdB82H zs^%G9sj6w!F%uKNVf=yQccLlwi=+xVq7M3qquOyQMc0V0=_pW*gG+IHWqWa(@Z(CJ zWahCxn``M3!5Gl8brDYzwlT(1rFXa8YCukw|imCAoQId-UrRkg<>^+EGCy_R)Uc~moD;IpCYSL%tJL_yZ_ z6LljL2c5^YmQm1AC$LM1hdyaWL>aeFfbisHH=MvV6MJ{MJZ^#5-{$D|R_NYmRqx9{ zB6?xuU9BWyLo+$*XY760w)qS~TRRk52*?J*tv!UXcdu=U^*OG~rkE;l^obTwwx=$y zQMx!*Q$A&%kg5z=b^u_tqkZMmg!g{#=JO7@Trc9WxVC9Y&+CIVzVHnsG~RpBDWAU3 zQ*I304K)O3qVK)}#oINw?;T`pe?eqyJK5i*H&3 z?(H+$fyrU|>+6eqOYKe|ZYBI(TQaJa!=yUPZ`1~>rQf8GkHY}!-d&@Y#5}6#z6|q9 z>Tm+1`C<<;)xU?!u4yX@nDC;qn|IZ!PRjisny$zlw2PknCh*B3FM}-8g<*i-@3&`d!#~0)t%JGoV?wYX)9yayJ>)7e|&s$I0lk-vEt93v9G#Ff- zw&@dYga-Ssjul{I*0^MNyaH64acVG|U;8yi+oW?KX#1$EWo@}wdpS%Y#Fg>S)0y9Z zbLLJrX@wmzG`>NvW*fdpE=%03K@NP^yN0kJr$(nrhzRulIH<2070FsaJ0}TVj=owB zRPK*hOVQ478Sqk6H1f7rh*cWb2>#-t;@6*fFCt#U^zmM<)6EuQPyO)&@=M~UkW#db zkRQp>GzEYM<|GDs{Nqx15yR8V;rg<-VBfSTW(I7f^5$DM&!+ji0mAMBLA&|uc&4D; zKs)ja$?-CTBco;evq-(SnwIr5^ee(tSe@W-X1mZdYW>u$c_7?7MK31Q6s2L_R2H(# zN7g0&26qrVysU^Dceymp(rtB|3pSJ2N^{Vuf2Mj^wlN#xOo+X`=n5-}CN@0yTe>9i z$wGKk_#-zcthN45FD;9pmSdZGl#v`FDzRHLe4hLhXFOCJVR%%DTFf~iF`SoS2zE)% z&Y%T|MI}0L%8IxWp-)zB{!r&gWkW4j5+4|+Q!IAbZ43i=j@pdJ=ILyRU-`F*zRM-Y z#T9c?#{~8ENC-yXpPq{Iy$XrLms&prxmY+4~3d z`1X2Hdw4CZr3$@XX;1(PZf0iYhlz&U?}4FI4!xN-7Vz6m)Jd)kos+KjefWu>AK&6x zZPQr;E8QONQZ3QH`g!k+&F-Fr6Qdwd6<i~rXD1676!Z=zX3rhy_Ft5I(Cjyww3pEj#W|7#X4imV<9v$1OEvkcJN2<3 z%qz%*MY{cmESWv8&wJL?T8!Ym#e7U#$(56JY0gGD*0vmDlN+r|f7(?7e~Exx!)%_i zent0#(x`+W2MWuyd7Fftuv#pDKDZRyJURfS<1dN{;>8UqMg5GwBE}?V9;`()U8uhI z+pXJE#NVV-q2j`;IM!#`m#@z7H+B*3IPp+lTKc00s-Tu*Bc4;>iXd3@~2vFnR74WAwFLuQ4J z-L%|KTTktO$|g104fhCYFk1=G<3W_GTXBkxJ<$el3DV5qLC;ubs=?o51+^KmP%}D- z;7T^5LEq7#%GK3mHGgX+A-(1KI}c+vRPY@R&pcQDO7`Z6B&qFQM@V6i72~6c)(258 zi@g^5L(%@^R?-DQky>3#WfhqBk(Ag>>wJ+04KdzLo5f{KmSiG>{%Eki2eGpdIk(5> z-j(5hBxBV6q&)Q++DzIQ{dhG}MjT)9aC2{DT`15 z4J1H_Aze{4R_3cs&VUDMzSt(oWyO z!aBeCo9(05#l+Mo#(gEz-aDwXur<+)V1d0bt1r?Hv%vX9blHb$vI4#fRYW_YmX&-9%5$Elo*A_vxIfC6&8(?E)+3ESkH^tAjWQmf2a6 z3|5v*`au2-$jc8$0_RViZr!!)W($RpEyOxv{JtMceom}zO(5hnS8RIqD4gKB6$HC- zcCqWH6$q8*UxoEWRsGMcGcB%4PTtddSn=#G*8(qe4-8=_VtHxfgZJc|k*ueCcl=jb= z-IvvMj=zcZKK#D_gZRtnMT_qm%oO6?ka6sC!HhNqrC-@ypE6>K&ed;L3Z55Zn=AFT z*Sy?Y=9*)nmC}o-nfq!i4%Sbe&T#yf)AF0*PVO80yFbj?e4R_*t6{?S$*=qz*U9d? zthG(=*dv46r}{Xu3x6#UxBez+qv=z8#rQ$ry6U~Rr~R=xny0_+Ol?H1PwcFjl^+f+ z^)A1q#Jx`NspIdt37TI-vnoxd3*0|J}y$4W#4VLbw>?jufr#<_i?9xhqTE2vt;{ng}w94m(Jvk zQ@)&^^eW5ie&#l@)vZ;@fBM#zzW()Bnrn^Sj0~=C%2ABRA}2me6<}!k+wtz(yOvcC zlUy~*>=&K>wOV3w?W;50XL4_TYS_8a<5jXo(FS=Q?UkF)7s}j%tLQK*6<8Jbw6U@K8e|PfmtAk&->?+cfXEet4OCFZDE&a;1`^~%-t%7Ng zMOXz*95P#L-*IZKk4k^sc3V|zhuF5_-K$DncNT#ZG#Ym>Oq0K#|HDReL-0SgIJw0M zD;q-N)=YfSeg6Z;`@=Uc^Uc~c*YWJLWrzh`D66}MCTIEF1OJ)d&slub?FbVa0}yz+ L`njxgN@xNAt0yjy literal 0 HcmV?d00001 diff --git a/content/rancher/concepts/assets/rancher-architecture.png b/content/rancher/concepts/assets/rancher-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..9fbaecc6f3d275473a93713593a5cc19a7d3b937 GIT binary patch literal 32311 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%0DRQh<@2tD*8|mWDnF&<< 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 YS%r3A6o3Pt1P>x5CNEke{5#}} ## What's New? -Coming Soon - -## Why Rancher? - -Coming Soon - -### Ease of Use - -Coming Soon - -### RKE - -Coming Soon - -### Projects - -Coming Soon - -### Authentication - -Coming Soon - -### Access Control +The previous version, Rancher 1.6, was a container management platform built on docker. Rancher 2.0 build on the success and experience of Rancher 1.6 but bulk of the system has been rearchitected to work on Kubernetes. Rancher 2.0 retains the ease-of-use of Rancher 1.6 UI and catalog. Rancher 2.0 includes many new features such as the built-in CI pipeline, alerts and log aggregation, multi-cluster management, RKE, and integration with cloud Kubernetes services such as GKE, EKS, and AKS. diff --git a/content/rancher/installation/installation-scenarios.md b/content/rancher/installation/installation-scenarios.md index aab0d174e36..590c094b1c9 100644 --- a/content/rancher/installation/installation-scenarios.md +++ b/content/rancher/installation/installation-scenarios.md @@ -1,7 +1,26 @@ --- title: Installation Scenarios -layout: single-docs weight: 100 --- # Installation Scenarios + +## Single Node Scenarios + +In these scenarios, you'll install {{< product >}} on a single Linux host. These scenarios assume that you're starting fresh: no previously existing Kubernetes clusters. + +### Option 1: Single Container Install + +An install using one Linux host and a single Docker container. That's it! + +### Option 2: Single Container Install with External etcd + +### Option 3: Local Cluster Install + +## Multi Node Scenarios + +### Option 1 (and only): RKE Install + +## Special Scenarios + +### No Internet Connection Install diff --git a/content/rancher/installation/server-tags.md b/content/rancher/installation/server-tags.md index f5b04c3c50a..8afb5129958 100644 --- a/content/rancher/installation/server-tags.md +++ b/content/rancher/installation/server-tags.md @@ -1,7 +1,5 @@ --- title: Rancher Server Tags -draft: true -layout: single-docs weight: 200 --- diff --git a/content/rancher/installation/ssl-config.md b/content/rancher/installation/ssl-config.md index 657d453a690..bb53b3c2b58 100644 --- a/content/rancher/installation/ssl-config.md +++ b/content/rancher/installation/ssl-config.md @@ -1,6 +1,5 @@ --- title: SSL Configuration -layout: single-docs weight: 325 --- @@ -12,7 +11,7 @@ Rancher is secure by default. This means that SSL is required when interacting w There are two places where you certificates can be stored and used: -- Inside the `rancher/server` container +- Inside the `rancher/server` container - Using an external loadbalancer or proxy ## Options for inside the `rancher/server` container @@ -111,7 +110,7 @@ When using a loadbalancer or proxy in front of the `rancher/server` container, t The loadbalancer or proxy has to be configured to support the following: -* Passing/setting the following headers +* Passing/setting the following headers | Header | Value | Description | | -------------------- | ----------------------------------------- | :----------------------------------------------------------- | diff --git a/content/rancher/quick-start-guide/_index.md b/content/rancher/quick-start-guide/_index.md index da78b33e2cf..39e97847188 100644 --- a/content/rancher/quick-start-guide/_index.md +++ b/content/rancher/quick-start-guide/_index.md @@ -1,7 +1,6 @@ --- title: Quick Start Guide weight: 25 -chapter: true --- # Quick Start Guide @@ -80,7 +79,7 @@ When provisioning your Linux host, open the ports listed below so that your mast ##### Master Nodes (etcd and controlplane nodes) -Protocol | Direction | Port Range | Purpose +Protocol | Direction | Port Range | Purpose --|---|---|-- TCP | Inbound | 22 | SSH server TCP | Inbound | 80 | Canal @@ -94,7 +93,7 @@ TCP | Inbound | 10256 | kubeproxy ##### Worker Nodes -Protocol | Direction | Port Range | Purpose +Protocol | Direction | Port Range | Purpose --|---|---|-- TCP | Inbound | 22 | SSH Server TCP | Inbound | 80 | Canal @@ -387,7 +386,7 @@ Out of the box, Rancher is bundled with a catalog of applications (i.e. a [Helm ### Using Kubeconfig File -You can generate a Kubernetes configuration file to use `kubectl` on your desktop. A Kubernetes configuration file, i.e. *kubeconfig*, lets you configure access to one or more clusters from your desktop. +You can generate a Kubernetes configuration file to use `kubectl` on your desktop. A Kubernetes configuration file, i.e. *kubeconfig*, lets you configure access to one or more clusters from your desktop. 1. On the Rancher UI menu, select the cluster. 2. In the **Dashboard**, click on the **Kubeconfig File** button. A *kubeconfig* file will be generated so you can use `kubectl` on your desktop. Copy and paste the code that displays into your `~/.kube/config` file, and then start using `kubectl`. Click **Close** to return to the Rancher UI.