From 445deb5cd962ab79a2bf5f788b04e39a2d7a263d Mon Sep 17 00:00:00 2001 From: Irfan Ur Rehman Date: Thu, 13 Dec 2018 03:57:58 +0530 Subject: [PATCH] Blog post for federation v2 (#11620) --- ...8-12-11-Kubernetes-Federation-Evolution.md | 83 ++++++++++++++++++ .../concepts.png | Bin 0 -> 65327 bytes 2 files changed, 83 insertions(+) create mode 100644 content/en/blog/_posts/2018-12-11-Kubernetes-Federation-Evolution.md create mode 100644 static/images/blog/2018-12-11-Kubernetes-Federation-Evolution/concepts.png diff --git a/content/en/blog/_posts/2018-12-11-Kubernetes-Federation-Evolution.md b/content/en/blog/_posts/2018-12-11-Kubernetes-Federation-Evolution.md new file mode 100644 index 0000000000..f69700f61e --- /dev/null +++ b/content/en/blog/_posts/2018-12-11-Kubernetes-Federation-Evolution.md @@ -0,0 +1,83 @@ +--- +layout: blog +title: Kubernetes Federation Evolution +date: 2018-12-12 +--- + +**Authors**: Irfan Ur Rehman (Huawei), Paul Morie (RedHat) and Shashidhara T D (Huawei) + +Deploying applications to a kubernetes cluster is well defined and can in some cases be as simple as `kubectl create -f app.yaml`. The user’s story to deploy apps across multiple clusters has not been that simple. How should an app workload be distributed? Should the app resources be replicated into all clusters, or replicated into selected clusters or partitioned into clusters? How is the access to clusters managed? What happens if some of the resources, which user wants to distribute pre-exist in all or fewer clusters in some form. + +In SIG multicluster, our journey has revealed that there are multiple possible models to solve these problems and there probably is no single best fit all scenario solution. [Federation](https://kubernetes.io/docs/concepts/cluster-administration/federation/) however is the single biggest kubernetes open source sub project which has seen maximum interest and contribution from the community in this problem space. The project initially reused the k8s API to do away with any added usage complexity for an existing k8s user. This became non-viable because of problems best discussed in this community update. + +What has evolved further is a federation specific API architecture and a community effort which now continues as Federation V2. + +# Conceptual Overview +Because federation attempts to address a complex set of problems, it pays to break the different parts of those problems down. Let’s take a look at the different high-level areas involved: +{{< figure src="/images/blog/2018-12-11-Kubernetes-Federation-Evolution/concepts.png" caption="Kubernetes Federation V2 Concepts" >}} + +## Federating arbitrary resources +One of the main goals of Federation is to be able to define the APIs and API groups which encompass basic tenets needed to federate any given k8s resource. This is crucial due to the popularity of Custom Resource Definitions as a way to extend Kubernetes with new APIs. + +The workgroup did arrive at a common definition of the federation API and API groups as _'a mechanism that distributes “normal” Kubernetes API resources into different clusters'_. The distribution in its most simple form could be imagined as ***simple propagation*** of this _'normal Kubernetes API resource'_ across the federated clusters. A thoughtful reader can certainly discern more complicated mechanisms, other than this simple propagation of the Kubernetes resources. + +During the journey of defining building blocks of the federation APIs, one of the near term goals also evolved as _'to be able to create a simple federation aka simple propagation of any Kubernetes resource or a CRD, writing almost zero code'_. What ensued further was a core API group defining the building blocks as a `Template` resource, a `Placement` resource and an `Override` resource per given Kubernetes resource, a `TypeConfig` to specify sync or no sync for the given resource and associated controller(s) to carry out the sync. More details follow in the next section [Federating resources: the details](#federating-resources-the-details). Further sections will also talks about being able to follow a layered behaviour with higher level Federation APIs consuming the behaviour of these core building blocks, and users being able to consume whole or part of the API and associated controllers. Lastly this architecture also allows the users to write additional controllers or replace the available reference controllers with their own to carry out desired behaviour. + +The ability to _'easily federate arbitrary Kubernetes resources'_, and a decoupled API, divided into building blocks APIs, higher level APIs and possible user intended types, presented such that different users can consume parts and write controllers composing solutions specific to them, makes a compelling case for Federation V2. + +## Federating resources: the details +Fundamentally, federation must be configured with two types of information: +Which API types federation should handle Which clusters federation should target for distributing +those resources. For each API type that federation handles, different parts of the declared state live in different API resources: +A `template` type holds the base specification of the resource - for example, a type called `FederatedReplicaSet` holds the base specification of a ReplicaSet that should be distributed to the targeted clusters A `placement` type holds the specification of the clusters the resource should be distributed to - for example, a type called `FederatedReplicaSetPlacement` holds information about which clusters `FederatedReplicaSets` should be distributed to An optional `overrides` type holds the specification of how the `template` resource should be varied in some clusters - for example, a type called `FederatedReplicaSetOverrides` holds information about how a `FederatedReplicaSet` should be varied in certain clusters. +These types are all associated by name - meaning that for a particular `template` resource with name `foo`, the `placement` and `override` information for that resource are contained by the `override` and `placement` resources with the same `name` and `namespace` as that of the `template`. + +## Higher level behaviour +The architecture of federation v2 API allows higher level APIs to be constructed using the mechanics provided by the core API types (`template`, `placement` and `override`) and associated controllers for a given resource. In the community we could uncover few use cases and did implement the higher level APIs and associated controllers useful for those cases. Some of these types described in further sections also provide an useful reference to anybody interested in solving more complex use cases, building on top of the mechanics already available with federation v2 API. + +### ReplicaSchedulingPreference +ReplicaSchedulingPreference provides an automated mechanism of distributing and maintaining total number of replicas for `deployment` or `replicaset` based federated workloads into federated clusters. This is based on high level user preferences given by the user. These preferences include the semantics of `weighted distribution` and `limits (min and max)` for distributing the replicas. These also include semantics to allow redistribution of replicas dynamically in case some replica pods remain unscheduled in some clusters, for example due to insufficient resources in that cluster. +More details can be found at the [user guide for ReplicaSchedulingPreferences](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md#replicaschedulingpreference). + +### Federated Services & Cross-cluster service discovery +kubernetes services are very useful construct in micro-service architecture. There is a clear desire to deploy these services across cluster, zone, region and cloud boundaries. Services that span clusters provide geographic distribution, enable hybrid and multi-cloud scenarios and improve the level of high availability beyond single cluster deployments. Customers who want their services to span one or more (possibly remote) clusters, need them to be reachable in a consistent manner from both within and outside their clusters. + +Federated Service at its core contains a `template` (definition of a kubernetes service), a `placement`(which clusters to be deployed into), an `override` (optional variation in particular clusters) and a `ServiceDNSRecord` (specifying details on how to discover it). + +Note: The Federated Service has to be of type `LoadBalancer` in order for it to be discoverable across clusters. + +#### Discovering a Federated Service from pods inside your Federated Clusters +By default, Kubernetes clusters come preconfigured with a cluster-local DNS server, as well as an intelligently constructed DNS search path which together ensure that DNS queries like `myservice`, `myservice.mynamespace`, `some-other-service.other-namespace`, etc issued by your software running inside Pods are automatically expanded and resolved correctly to the appropriate service IP of services running in the local cluster. + +With the introduction of Federated Services and Cross-Cluster Service Discovery, this concept is extended to cover Kubernetes services running in any other cluster across your Cluster Federation, globally. To take advantage of this extended range, you use a slightly different DNS name (e.g. `myservice.mynamespace.myfederation`) to resolve federated services. Using a different DNS name also avoids having your existing applications accidentally traversing cross-zone or cross-region networks and you incurring perhaps unwanted network charges or latency, without you explicitly opting in to this behavior. + +Lets consider an example: (The example uses a service named `nginx` and the query name for described above) + +A Pod in a cluster in the `us-central1-a` availability zone needs to contact our `nginx` service. Rather than use the service’s traditional cluster-local DNS name (`nginx.mynamespace`, which is automatically expanded to `nginx.mynamespace.svc.cluster.local`) it can now use the service’s Federated DNS name, which is `nginx.mynamespace.myfederation`. This will be automatically expanded and resolved to the closest healthy shard of my `nginx` service, wherever in the world that may be. If a healthy shard exists in the local cluster, that service’s cluster-local IP address will be returned (by the cluster-local DNS). This is exactly equivalent to non-federated service resolution. + +If the service does not exist in the local cluster (or it exists but has no healthy backend pods), the DNS query is automatically expanded to `nginx.mynamespace.myfederation.svc.us-central1-a.us-central1.example.com`. Behind the scenes, this is finding the external IP of one of the shards closest to my availability zone. This expansion is performed automatically by cluster-local DNS server, which returns the associated CNAME record. This results in a traversal of the hierarchy of DNS records, and ends up at one of the external IP’s of the Federated Service near by. + +It is also possible to target service shards in availability zones and regions other than the ones local to a Pod by specifying the appropriate DNS names explicitly, and not relying on automatic DNS expansion. For example, `nginx.mynamespace.myfederation.svc.europe-west1.example.com`will resolve to all of the currently healthy service shards in Europe, even if the Pod issuing the lookup is located in the U.S., and irrespective of whether or not there are healthy shards of the service in the U.S. This is useful for remote monitoring and other similar applications. + +#### Discovering a Federated Service from Other Clients Outside your Federated Clusters +For external clients, automatic DNS expansion described is currently not possible. External clients need to specify one of the fully qualified DNS names of the federated service, be that a zonal, regional or global name. For convenience reasons, it is often a good idea to manually configure additional static CNAME records in your service, for example: + +| SHORT NAME | CNAME | +|-------------------|-------------------------------------------------------------| +| eu.nginx.acme.com | nginx.mynamespace.myfederation.svc.europe-west1.example.com | +| us.nginx.acme.com | nginx.mynamespace.myfederation.svc.us-central1.example.com | +| nginx.acme.com | nginx.mynamespace.myfederation.svc.example.com | + +That way your clients can always use the short form on the left, and always be automatically routed to the closest healthy shard on their home continent. All of the required failover is handled for you automatically by Kubernetes Cluster Federation. + +As a further reading a more elaborate guide for users is available at [Multi-Cluster Service DNS with ExternalDNS Guide](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/servicedns-with-externaldns.md) + +# Try it yourself +To get started with Federation V2, please refer to the [user guide](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md) hosted on github. +Deployment can be accomplished with a [helm chart](https://github.com/kubernetes-sigs/federation-v2/blob/master/charts/federation-v2/README.md), and once the control plane is available, the user guide’s [example](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md#example) can be used to get some hands-on experience with using Federation V2. + +Federation V2 can be deployed in both `cluster-scoped` and `namespace-scoped` configurations. A cluster-scoped deployment will require cluster-admin privileges to both host and member clusters, and may be a good fit for evaluating federation on clusters that are not running critical workloads. `Namespace-scoped` deployment requires access to only a single namespace on host and member clusters, and is a better fit for evaluating federation on clusters running workloads. Most of the user guide refers to `cluster-scoped` deployment, with the [Namespaced Federation](https://github.com/kubernetes-sigs/federation-v2/blob/master/docs/userguide.md#namespaced-federation) section documenting how use of a namespaced deployment differs. Infact same cluster can host multiple federations and/or same clusters can be part of multiple federations in case of `Namespaced Federation`. + +# Next Steps +As we noted in the beginning of this post, the multicluster problem space is extremely broad. It can be difficult to know exactly how to handle broad problem spaces without concrete pieces of software to frame those conversations around. Our hope in the Federation Working Group is that federation-v2 can be such a concrete artifact to frame discussions around. We would love to know experiences that folks have had in this problem space, how they feel about federation-v2, and what use-cases they’re interested in exploring in the future. +Please feel welcome to join us at the [sig-multicluster slack channel](https://kubernetes.slack.com/messages/C09R1PJR3) or at [Federation WG meeting](https://zoom.us/my/k8s.mc) @7:30 PT in the future! \ No newline at end of file diff --git a/static/images/blog/2018-12-11-Kubernetes-Federation-Evolution/concepts.png b/static/images/blog/2018-12-11-Kubernetes-Federation-Evolution/concepts.png new file mode 100644 index 0000000000000000000000000000000000000000..e40a56b1a5a2d537cd5d5bc5657c58c3cbc083d4 GIT binary patch literal 65327 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 z zu6BASBHUVi`()rwQ!M>L`Iv+R%N`pR7@gw+J9?m2%Qkd?XQ(LiyM zo%IWCh_H$c;|^%dDBTutS~Js>NLYJKnla7{UoU>maa*e~m`H5a_o9eF5hi9=po+kM zDdGFlCwlRaF;?i$5A)i_Y8J>#hnu#<#Ke%>MrI0f^6M#PERtFseT1I>X>^nPcpK-` zK*(QN7x;n+;Oy)EN?J=s5x$=Yxw>&+YjOBiEJ-lycylwSdBv5{qs}+iB;^`o4%fsq zDAv0;Px}6B=|#@{@kLAx)w}0GNFE`kkAEJR`|23{F4Xi44c1`h}{i`GWQ76-I?QKC}MB zeH_UOY)t=+n;iKw9sPY38t6m0^WCZyRp75qYnI3c94!1aL@`8fw&<^3^=2GEI`t^M zMtwNV3t+pOg|ZskQQ83aGJ)=wN@m7v(NT9ORcrK1tCQq}H^-)$DVpO3p+zdEh?4$m zOr_ThRY5gvV5ZhsDtlVjwm2~)`0=BDjn8?~%tGCC={AWV13O$4;n-Gt03t ztTRs5LjnS&w9?f`<>>-Kt)tf9MC{De*99hHtA(049quTV?3x2dHV(56ZbNE7g^#{G zw@@zy^NXbZ+W`_^Y~i81p7E)P*f{zR0B#qFcaz5+yh@pmby}Op-L9-Gvp`qz7mR!! zu1k!iO=z*srA@`8mh{~ezOCJp9I+%^6f|wMRst6$9%aBE{JagKr3>}abEmz}>U6Wz zkZek=)~m{@v=tGI&2vJ(e<#E*p)s^pva|yR4$X>o+)0A{<`p$VatmMPJeV7WJm*#Y z{Yp2}1UOc`F-B{(*|BRTpx3Db*LofBxt`t+FZ8t{_RQHu6VRIUKg&Rt;|5y>z|0}O zQIl;=Mmw1#ct%~8#7o`wu^T1=oxuXh|AWn@f1d8xZ*{#)NbnNi{D9M*6FXkE0?;ZM{?6i0^Ea%|kjsoQ z)n{0Oo-1D&tAd?WAw9MUQN@M^)`XkZWx@UK$zVNVnOf#8Y4A#X2mEXN){-E<*0(wx z3b0(B$abKV7pQCdwLA#5A^KcBey9rE8S{%kWW?gNC{y?;Cq)D>52 zp$Dg9ZGNQYr146&z<(nMzes2Ph0T4{z+NxE+f|hL=)HfH28v#HN1X&_>RK&Xx9096 zyd(N&$reuN^skF!502C)@_VU8Fdq#jj}GJK6lflf@T6(W~A>->|EjB|b&N z8BA-1t;q5_Fez#Lza2?mrpFF3M*l9qoxAR$in&xew|ME90m+%X_lYtx**ZD^17_cB z{+?&i6lll9-lPQMQb9K8t|H<@xgCPC|NJXpvK-%B<7 z&zxtxK*QGKwlj>sw}XTRKFDat(zot3XCM_EznbZBdxgb0O4WqptKNV8*6r0fqI3z2 zXRu(9wxv}Ln2rzad-3s6^zH``_Wp48Yat*BV({vK*x=2w;=2ZuyTZjf3e?1h&Rq-h z#sIMD!8(Sls#+8;V< zlp`y|oi#GkoEBO$FHLMAFk3mR;LXaxD4Xn(Z@+$85AH8pYWi>>i2a&m4#z(OWbvpR z+y_{>uP6PKx5NX{QY`icil1pZ0NC0_^A4(UFUq1yMcKs--9&V1RkO<{YdcYfqkH%{5zBY6IF zEMvxXv^AFH)F!WFjUdwQ$6=K(KE-!!A_amrg1ch5k1?CGdhm9$#IPkJDQ%kHrn4MD zxx85ZyT;(EaN9CXpo0lxop7DrFxOqN_Kr_@cbmlwhBEZ60=FU@_h2Z3CX%bFVFB>7 zP4%B7t`NvhgttG>)27^32=DeOi##ArA_vaRxypeyk?gHU0XucvLVotmn}SITU*rBi zKJ`DFLEOMtZj8{KL^0*3B#%2;Wgx}I_}D=#%mDFEj4gKMKVods)UCX3^l@3eS@f*P z!%O5C8d<#Pkg3H;B%2lk9ZJOBlAXngV>QzoN#wKC{y4LOnYqNuVh0DeCuRXW2`#Yd zhQsm2E9@yRpwm_q5%QUol$77qTM3uu$=82L@k4Lj&_nM|hj)7-WVbWhR~FXR+4`;- zmB|0h9q|hQta)=Td{eU)3r+8g8Nn6xUZ{Bb*7SzIt?uehX0iSnKU0`DDXo(os{2?v z7xknfDs5~uXkZ}W0g2;>4V0xCm8Ojt4lPhv?|EQ>{dZ&RD^h3_NX+W8*Zz5=1{F#myT1MSr1W1 z)qOdFa6foWep$N}p)#dSaUFORz;>_y>uuY60fr%(-_I8HMBNriPE;W6f*in#UP%WX zSbym?NZf4q?Eh)(me~LhL=e|eGfi!S>t`UgsRYI=N?@0N*sYj=&_HaaOFPV6_ZCC1 z<>qf#I{4#HX@8*A@%^;gA{E>4F~b5Io;gbT&=I&ycuxhe+?6sAjfvgLa(OI`{_L#N zfL!A>v8aR7BK557^xdF*y>rC1Rk z?5DB^_Pz2NF?bu?Th2Xg6^#+&`7#2je3gsvvUXb}v2tf%_oUVz&j?sV8Uk!}kD)93 zzwJzBqqMWaKUwHqOZxiWq;9#y?o>3LeP^c8Pdf`C)siN2{_;TRMEn|AUUpXpoY}Si zDU`PR(XS?Iox;#QdJnN6| zPa3U0ZY4bb*e^W5+(yg<=P(v$WMVCf(c0UW3akg$l^@rc%?u<8##!=JZ59osuQC1E zma=$~vIaQJlSi8kKmDGpz3Qv_X()?v8jSSN9Nn*1dBx{p3QzsjkHf)jr*5QiGYSUpNmEJxDxe#s}TT|Y+9q=nU%Yvxn5V4(Oc z4rEz?MB-_{daAvcuC!<9kwJpNIhuv)sd4vSMwHU-mh0R>!~M*p)#>P^y5rz}Tg?*q zJy<-Jly|)VgYy&8BRY;t0O-OVWeDXEKDd#-opn2Vk^LMPgw$kV@wTvV ztC;Y{r8p{XYip~}nyT_^eowp=&#j9^;kr5O&#_^aX#QeJI$~1CToIx}TVht!cv)aMWZIfYpri6sxX#ncAusI2O4^Iw9L=P#Ts6k>lPpBO>Oh%d=0cYA3ti#qbAna} zf;DgOrARMRZ}qQ@xyAh0;`aj%nHB-N(+WMji{6I8cfN0vwH!wF<4Vqb*@`cxEaLa^ z4~eEWnkQ#NWA+RU__Ba88aIg2A_IXrA&49Xv|f%*?YH^=1{LR4F)A;e7#+|;Ua8PI zhsFy36ci;QbC&KBSiMpZ5F>h;P0ppU7dzU#sOxl&4518;vpSzLbrmAf|sD33aPgmRA7lR>VAd zP2ZJIMA9ki`MZ9UjEs0W?{Moqg!T{C!{bxLI7oapKTFrLRQ}GeBr8SBv{fUUTRTa| zedkm6+oHzsLXQc!aK?L{@}VWw@aE0I-Sr5gBx9;ZQ+^ISBbq;G7wItls|)5V{`qkF zwgoNcUb5#7KYC??U%qjlvsu)0ZZ1a(I2zAWazFbjkfB>0=0_MW-Sw(y4x_C{nN93m zB{?nApgDi}{o)pKe&*p!tV?L@jUUOBA&tl9{rMKV*u~hTcSgh+P2z%b#row}f$`f=bJ z^AEGmth8D=X<*wlx7`U?O40hLZIXdfj7vQ6w)Etj=|tb|ht`1W4=(v*JnxgvQ;|RC zI~H~&?GY?BUgZzii>QhPhG$x%_}Pwjr4_e%>o?a?A0L|I4j0zilb)0ID)8TtRF|jk zvqFzLNs--zve}-U&*@`Lh>cco}nblMtHa%Ec{#&UP4qPE(2X=Gs2CtXUH4$9EOpbGG!n zkg@!tM<})yODrE;ARTXt8nY}f7(UAct~rd?s8uy$7kNQn=CNXr>8V|Dl}&Y|+3Z4o z{g6j9`D8u3l(GqHR{)#fhSiAiDtFTMHcWUg(%IbNQ8H-ry=!8D+Nj^?s3D=Ge?6SQ zDi?&@tr%u3ikusU+3uep4-Y-(Itk__(#ip)~nr{PVE^1 zhnnM<(y;Nd#6+>(^78G6k@X|h&3=xC4Re`Bv#mv)P zwV~sjw74&8hwiPuf%2;u@)sD{S(zl5jJ9h7ngS+RJ#as{jE|i%U(9+O1~Kt#`biA; zC+adwy$8bSJ#YQ+N{pCJQg_+~&~NSE_F0^7RS(;d#qnK*D9tJCzwS|Hx^l0H%f9zJ zJWqdRf+Z+`y%Odo=SL|^yG)vQufk>_h!kl5HjNeH^=EL#Xa8Q^te7&ixLkh+H8_|o zI5kzXM=KOVPrdyD6DHbN+_d0OlzYtH#GP6bYlCE67m50>zSoodYJwAC2 z41Dpp?8|1f&Dag8x4&kC5DrhU;7)|f&SkBCk`E}VrvvugH@bdhVTcCk{L*GizCRnI z{G64d;ABz9=R85Wku$JC1%1_r5z^)}*Oh?Sy@SSQaAfkVjeNUtf^6-A3mKKtgnQ>n z43XQME?H8a6gDLkXXa0=p2zXf_&+krd-*}3788%}2>mJPL8$oi)cwJ<>!jIh|4Ye8 z$}rviCgr`aug!sJ^25SZFBgsVN1n9|)z`Xd{dL#^rF!Fv|9o`)%f9DaH6n>X)^yS( zm)>XNT@vMDMv>R&IV}`nb;vZ&WcsEG8!6)v~j&K5Y#P5={f|^Qn2JKQycK}Sa!QVg*!O| z9b6U`w)CuXM99g2K5UnemUcHmq^W-#^L)c(XSA0mnvE2~{@(tC5}?W3P+DBq-V9gF z0eNrd*1i488f$oH3BFSp`dnYhss%CC-Deq298^^VO!&HmZ$01^9%|p_Qd+&Yp&P3} z7O=dkOre1Lcu`qac7~giel2$Z;&_U1E||vHhrJA#ZFHG`G;A@PVZbqz5!^10TbN0y zz^p8fAf6PCI98gR+XsdRxf4-bBEv*;t)9Djpp+Q>BX-4P)>Dyg0;69`Q&yjn6zogs zTgPAx@3FR@_?2Lt+Sru(EoLuj+P?6}Ffa_cgTLEXZQXg&x**t1rG>%iXh8QBDYC2o z&e!Sg?c(&>xrOW9`#(_?sdi$k>I*LLwCF#*XGg%dQmzlGXnw^r6FYI2%c@zY3d$^8 z7mm4f1jySk9Jget3|zIqzvj1dT~*pjq}h9DbP?(Y>O0R1wu7hj&NI$|Ezvg3u|qa| z;!QS{hvY)9Kgvz+wLdkj+O&uN&t=kYdt%B+mFY zvr(j6G5Sy^AXEf8VhD@;Jb)x$Z5lUUmz?E%^_2jNn7SKDjmx4?fK1(U3J(o9}J9`>LudRbW*8KX8YYwE%1)Zmd5^!myjL~XDI?5AT zL)x41mVRWb6i%EcdS4+C$hfj^&+$(tEe^sPA3$E@$G`)NGArK09+(5pEpPIXYZL@P=sd4Jzjp>A?ED{%E{deDzYiNG2#c#;-(N zdq#Px79Z@m$3h@I|5|haw+ubY_%D=0Ph4GZ-0#D}$qNP~3Dj2c$GtOhs<8pHDP~}j z;`AX*5QzA3rVJYD;t+j?5s}G2eN^xQ@C%H;B!?nZl*qaYloi;mXs)1pVAIdXP!HBs zyWY)&Gi5pQaNK9v#Xe^?x@H&xnKXi;3A19V!59mUN~vmvr5_1bztQUuA4Z)$mV)~f z(YjfGTcGD(q$`jWh6e7-6>%?>=~l~@o~13GT8gCsWxg28(T|BhsEarBA$l1oRkzQs zXBUQsNL983lfb!wJNw6$hVfRftv|A7)GA-^4W9C;*7+pYhDVm^PgteH+ zJbTi4CZ5`Pz&t)VY`7EHdC~?ZRZEQ(aw0*^PVRpzw8_qQZqcBPhOa0d6loRvj*gY= zGV2B*Buvg;ECPhq0~swS&MwO2dWz2E^JMQ*KH5wyvwd{LNqv6oA}N?8&xl0n2N}_`+Li0fLM*(Xt{GEPVkqYseYRkOGeLB&KnhhRYDEVyF5{5^km-dF`ctEE(5W>N6!*iIYU@{5< zMJgzlu6D9|>{q2w-hb8pzC@Q0LqMjk5y8&J@3GUwtyVlZ$uN7LGUM)GxieEga92d)Bue#gYP*LPLH2mKSaR zcK^4nKcw5491}M#<9Iy1W*wia&0?o}dity>!5kF)1K=bg7-Y>OFiCrFkuF}9h3~~P z8Z@l4LHUiB*Ww?Ko^>S2Vx>^t7T%bu|9b1RA{sD#X_+_FKkO*BUT00G)+uVoeL2U^ zLzChBVY^v2q;Raz|L#Px|A}nIr}FRXETl-EwI4}iYq}Wd>DyoGfm}pE)r>WkE>XEK zG5A=z+cVVcCZEHOw%Z45i?36>sbcv>S|agWI64~Wj8?WNY`H-9i&p7oI0W*8K0gx7 z_j*0*I}s7SRQ})dzQ^Jvo6dfE7pu%*M&<-eANowWYf;s_-WPfoeIy#J%iULafJ0+3 zfdps(8M8pQgm`3zLMz2LcD1;vpL}*AYD`I;{Co7hOCX{eVc^of$KpcpJi*8JVPj}J z`Ac9R6_Kh!00h|rVX+Qwml z;-aC(fSSSq8}hymFcCUX{cj^nL~L^q%~cm`S1qjR35K1A@OYXi&$gBO2}wUJeCkWg z&UFw-QmI2b#6G3vO725#Rj(6PGOjz;yjaN+u2x9Q->TNNN1;|B;T!nU-nS|&>RY;) zKs_+$=oc5OOTye{n;cy%dA^ya89+;q4vJA7yMbDtA76O=tns%R<9r691Ye?I;>`^m ziGXC{NyouF93D5ajI~vLOGj)e7hgYLy?JxluXXQGOhJEb(=WgcQHu4+I|V=B7F?JF z;A>c@Fy}ehDp2%(Mf5cLRQTdp)M#Jv=Z>w0UnxZAd4TOaK^}Ca2@3}k6v0u7kk1@v z_&7kM-&UkMsCjb=Hhp?G*C*vQpZ#5z;U=&@`%6z!v4p1RD%5R;<-k@(?J^F(K#&y?9lQ#O&*R^A7p27&%sr4o zoT8D@an4UFx{CuW69a*XtKoTyS3lL@4x6S_fxn&WEosCL-(+BYs}H}hPSp-Ed&$0+ zuWfb-lyqAhYo3g?4+qO!!|)gco!j<%*PZ=WVkhGnbR6)53>2=b(HNN?CAT=zh04_S zHV1iiuKOT&KG5=enp`pI4;P)Jf8a$<&X4-=OLfM*rh3?FN-!9#Y2vkB0Z{*P%ur6L zZQw=1D-rz=G%Wn`cpHb|_X4huewyp9igSf<;3L8n(Qo$<8Hzh8HI zcD9Ozxc^$40vduoh_jMBp9?lg|4Kdog4-J{tS&JC-dl;qwr|5O*S6npod&X*dKSJ{ zqIVXgr#?yye@Dl64dn~Jox@n!*R*~62kx%%Vn{7}`^@^8!N{o#3UF9{j-Y_{;>yC=+ zm2Z3>%gM00cdcAHh__w9{OoZml-gRuc-Aztw0F}4hc}xf9fm+!kH~h#C(vK;BNpRZh9p`fSB1ecPM0GE>r5}dc~C543& z?maK>^^RD&%#d4N4?MiQ{SNxJ_v5GUceDqWddoNYB-D%re0?mZ<8M#1bMnmrDOOFnYYa3z|nt1a=_Kmk_Bsixb)1!ome1Z?RISfWYTlRSat819RJbPqq zJ*y-yNUQAWJb|(+Eq}Xq*|aw63zV^ACNyX70RZI+SB&+K0+7uX8T4q_U^_K4E3LcKl?QP!&ypFIL~VWZWhCPbaV$82|s_giiNf1PwPwvMTqnw z7}44i%@|~Yfzmz?qi@qsPKCG(E{>Z}41g!Sgasv$_a5I%i77=~S2>_nSJ$u!%pa85 z{JOO@K1*-yxd#VF0|giS&o-OxwyWDJ*Tf#{=v8P7K8zi2i}fyDm5_j$y=hs6`J9oXmf?y#}F z3xM6}Hmn?_(=J|=C#BNT$~Hai&{xV=DOCh^hFZ?Ky0G)VeF=56wAWR(QDyW-3<*on zi8?|&_h&3z&CuT0_aHM$DeIQedl#IC6!E(3U-7a)GF4i21{`fU`Q66Zs%<_hUOB?s z^^{+U7ZXN(e2a&I3eeXBzAZPV#rmwL zE?(I`%V=z`-`*pf7Dx>%zp!4nY@YW-8%s-jId3$yh_O8PXjm^dI}+*XA${>@DhwZU zrMAbKklx?vD`PjJFlK`gGEcaifNr~4K5Xy0{Gy#(4oszSq%0S%!s}|Gg?6@D;xkO@ z#c8T_@DW%ZY|o3+%W2M^m5U20Lomn#6jka(R}OooZKX>Ht|+yOll04mMC@ata;>lo zVT*e;29A8FwvZcwv$Hdd4c%-CMphWpl#~v*QBpykX`qDuIa;wIfGIkG0z?BOdb)#E^Cq1jx(*d@QJKRw{e5C#Mj1c4eVC&EQal=mnN8CZ+_q{QLGv&iR$F zuzueH96=1yhhrLtqVw}LnV$bth&7=bAhOL1(hBe|!4`XV2k_S2Q-D!(456Lcek(kA zZ|J+5mOb+LZ5(ASZCD*NeHD8J#b6xj1@M*{2%$1;kNed2=uW@mvIY9z;j8m^4TR?J zubF_`kJx+JzS6HzR&O5R8sQ#y1SH%uLHA}!7dW~msf}2<&R0^E8=u+{|1-Cbpbbnc z>wVKkdr9?AH{K?7UvA~}mCg1o?6TK-w`86)+zr=_`B~o0b_Q$%Vnu8(utSjZ?*}&$ zAZl6gi?KqE0CBkw2DI$NrrEda^O9HI=Ml$uz?~&Wd{%PRe`|5)d~#9rFY2?8uXsGf zQ6DbN>yR$uQ@B#9;kW7{kXppBq66*$*{Ue?wr+sg-JL=9pQB^M>*2+*>|Y{A`e0gx10Ky(WIH<{uSn@YV0tq0oztKC7hAG_yEI9dt3$&%w_g#0#c#uFon z1;;K{no^kt1C#C}Hg_Q<7aNVENkE+CJb(I!MqSv3>AcQpuGV|+5g#p@AEW7LOX(eK z&#Jr)Dl9IhNj);(pIA4e6ty3I9JMw2pJCO5)3|}Gv!PyKNS!xTAT>-M#1dczeg<%-fHUsjg&d+O)?c-~l>LpUK1p(z+jU$szADbyPoL4S>{(gauvwT z1PZ>iA4M~D6|>cwLAS^_GH1Dl`uispYeP@mfdza+@`~NFvM>>1-yc0jB0ng}9c=r~ zN}pvN`^6p)g7{A^GhO_#fHa4EXC=aE9+Yc)dbWAJ1YMW@?O}kxT`D;lI3{L%;UlL( z>a{-@IvKhrO^h(-PHaK}I$6EIuKuv%AnkW+$HL)P4XBW}>}LM$YN(u$#VB;?(=?#t z0tnd3>=@M#|bWilpf&uq+DB}ZLc^L**bzB(#I@)Ozq>7hl0#F8x(Qyl|Vj|H^k`nQF z$y4p{OquApR}ZL_di97eBg`>1!RafjdUe(HuE($0z?;ROheR3RhyYf`Re6t!i*lF= zQk!W!{zmfmN>T#s0S}W-MX4x^tdFRWNK44riJ=zUQpRkOMD-sagMJ^293I>wwl#Bg zyA(An!LE&H>~HW|u`=d+L7|@ihg<+Nf;15wAcjR}6!HO5tp+*ypZ!N?YPL-Vfpfx4fr<(WVciWZALC>Ych?BNvL$NR~pjj-UW)S1CMuDc4}8mH?)Q|ZnqyzkRrG}JHlkm)P^E>^4Y@lV6j*)kBae~hyG-e? z63DY5eG|ct;au)%*+liyS@)aP^eAGhS*!Fu*9y5rW|ecbuWehI2X( zx#h{(Y7mY%GC)5^P{*b?C+~C$8wPnLQzNfD!kP~x$N>ueKL_eT$SDq3AdZ*fN$+ZI zUr{7T0Xc^U#OC0+ukEOgR)&f>spkVL(mt0e=zpyZ=n7LV&gB;YWujk%kS|>H*NM`p zw(cx`ncUmexN_PJ_7`rXk6u!*yjvu%KjmM^mrE}x;A*t*j$!)AbbXX5lp5P}$lc}@ z>0ts80HAIF6YAldbWl0x^>>;c0D7Z#n@puFsdguvY9G^$nO1JQHAezhCMe;MCw$nL zaJg{+6VgSTEh_a)ag_rt;(8j4h03@ZeTRFmY_$>(Ov?TdK%`Wsn_y?hpIL= znt4mXcg5X5t^|T=@});`F3uVm*OX5)n|wtrM~f2Im@ORgY6ntGznKRXM$ImX=NNxC z_P1s()L+W>Na_Qi76Asrb~X82KJ3QMfwVle>C2E_aeLpL+ZoKF9?s_ZO#bRexlQhMv&ZfvyLu-n# z9{pk!BUhw4_R}9prPr-z4$j$@Dptxv$F#zpEn0iM!=BjHRswsAbDvh~mLYizD?DY& zy$EYAldQLmo_Wi?x(=-`#cnV3H=wPrN*p!$=AdT|H)nxAw-FjYgN`QYVOdpaO9c;a zSbop2W-;{a#%$(>rB6&U>~f*cxI#L_-yutI25!%IBX$LVVKZX;Kg3 zb`L4g3c}(z<4qr%nmDS%XjTjgvk5Az$RbeF-LpB|3hTy28UpS8c4t$KZgflNsBE_3 zp1V$m^1(QNj(3R`3Kz4mcc3XLF18jBkbmWOW!*P0urvSYTfIQ7(|l)RYDxf^VKJad z*V(!>+mFBMxDJ1SKtzT}75mgB*ltZ#!x|x{psLb2VsaxQ3!f^yN+vWHz@sxC*S?g3 zkn*;2t(4Eap+M14-Lf~di#|8vRu8Lt9<3pZhm!lbsH{J6n_aC|o;uAK_OYYNA%L&T zSOT?WfY>-I!xxFN_j`-=^{X92I0N!kCmx_ia;p?3s>j7Jd4AGf8CT{xaG+(ENh_WD zZ0sBjYX+Cq>t>D_$JPB{L350=hh z9NP6lK#1qcpDnvl`{o-fn(@DRI56U@-EA}&G#37F6LO4@2g)TLm^nL-1u_E)sgEr$ z1mRIiku_VQSrUjd&Vn(gDNxjv@W>d50)szVe~;RS6Z(K#NYNKasJ-2gOsq-aEEmv8 zMfu9e;mFs?+^E~JYV!6f8xr7A1g?`HPiRO>im9^lD>^!kOp+#ArZAjwNw!Pal+OY- z>~I!!KW%=oh`((D-8*!2JH@C*<&jga=9Z`xP9s;>kcUv6iLKSk7(9o9)N}Ax0MABg zN7}LTfeh4H(7iJ|h^i+O#iW^c5FaGKo=Qhvz~)&;)>=4`qAXYPH$Kwc+gf{t;vDhY zHx_=wJ$aKhC5y70j~I}`YTO%Z)y>l%gzA7$;-C>fR3+IdTRj!5#*JM_84Zb!kXeF5 zZWsGI8BX)OmWrotGd~-gAB#E}o$l3g0@e;AkvUHDx(%+352qJuY`W?@R*XbMW%eRj z5}c_m!_tTI2;rc|wI{F_$JEu+li&e|_mP_$_Dz>2SX-M;G}^|gq&mdA>c}vKgAgfC zr|1XHQ~>77AXam1BQ=_rS8AY59<9tNWra)TotEND@Lt=y6VcrGJqBu@BykqiZVK3xRrK( z?P<)gPqvyVgg$rIaaulB2neH6I=``ZJ-!)~d6o*n>wjqnku(b^&v^ZM*2l)(n<{#N~qSy*Cg|F4#FUHE*|@77Xe$3|7Eb=YQkF`I%L@`-#_& z;T&E=jStWRqdq%(dv4MV7oSn=qv4DMIDEvRoolC$<1g^}VH$Q-#J7=?%{xFU@!!}| z><4=B7THD5!)e4H45A;{c4A!fRs*-HIy-+zMMD+UNSorSt9 z#4|B3mBl8uZf7g)q++rUF)z|9p2Gt*z-)saNr2aOW`y>UxOSqA@wOUNsE!Cz?z)+m zg_&3hiDT{^fn2k2oA-z-e~w4AYQZICGltjaQmE8tRvoA3@Xp30REeq6cEMdIZwwLX zFi;hOXo2{r#ET5W5(^Ae>XoPG+!nvrW>ip1Z@|x?@IzAb(j@haHIdNJJDdo>FzPRf zp|YGk`W!m_k|}bM)*?l$U}Q9h%PcJm_5Gqueki?6B2Kk{BvBz-Jy%z3>_~{!faz18 ziqD@7Rg3bIQPuCrHw1Mqm4hs+-VC1JTnI*&>j!V1FSSCDiSXgb{cr*41O#>?h-x6U zgHxMTRhFfX{wM`?_{^5KkNb0*ug6AZ38&J7$@NTm>PUC6P^M)aK zSZs5J)VE|*BWr!>b)*$13jS_@@#pxUDEr*T!7P-@nH6;z7t8RJb|Lk6D2%PE^~`N^ z+wzr5z^KPHR7jXHlM|(K8m<A5ma!Yh|&a>PV@UrLEAc6{OCTw~f}bqT(o%V98e4TBm6 zZG-^qgd6@iNxmitXe=*Kl{MU)L!%Uoa-9yUGNZeKeZUKQGByy(v-alj7K|bUwrC}Y zYzpSLxF*VaFNaItEnp#3pasJy(GRu`Mv-OwDgIZ8esI}W28`UMj0UTmgAU5Ax!7zS zKq*I(PTCq^j@pm;cVj<&%g_Jv^i99I(M+)qUk^upn}|_)u>n{HqN5}E`ekuu*7{6o zs(R#UJ)w~OC*!hAEK{S;dB%llFy{l9keWz4XU#>;0&zutpjl38?UhmE#g1i85dvoQ zMtH~Cb{pRKb!%((QMo1FHq!aUh)p=DS}! zlbpmk90-n?_Q;!4hCRzI1-Ni9O2sp`#asC z9;rb~Mm1j`mm%tAj5-duTx`0G>(ow^j7bU?;+Xs{HBHqqVQe2pY7iQ~{vbKPRjBoj zsf(c>YfbG|c#?S>qJ`Yxh5;aG|1LAl590;B=F>s*S4VVh--29>m?gsD}#4L|7M`+^W z4nIa#x&GnYKo@pk!Q(;Sm_o=Oa1ZcHDxnCSml%YYtL(`b0u{?L@x9VOS%+>X+2G-6 zTD+m>rt_(wAwO%HK#N2g8^ZyCCPW=?Ui1zh{2)`lA1Tmv4-F(%UTjB z@B|G(`7(2b{WwAs7PXSz{}8|J060*RVc1=Nw1dhnvvtnvqR}x@!gfU=`6Kg8V2C-8 zfAJ6k4LV~%Y1~sNwyP4hGvCnNwJUapvvk?WXdn6BVlEK#rXc3mt0GKbI($A@@??w? zuTzCXYLmPC^AN+mPD-&E{KqN|o0GQ&ss-YP>KN`8a? zbc0i|qr>1uT4YxFfz+UQKE|y7<4GVNSBTx!L7D`4X^PZeC!M5H+QGj3{fSPg=Yyut zz>aDFbw53@I2x(BdAz6qXcYi+2FdU}sxE!xlSL0xmK+@Ya*b1+lhTlIu1YgZ{vzRJ zQZgZ<3d64)%zJA9aU2eV!A-(*FVUofN4$}x1-t3N7DLrwj&FO%!3&@8FBst zxFnW2vwUW&*ko*e@;58}vpsd{^o~}Wi^qPH5ETh!RQXIMwf>bvoYa}%+VY$)gl@@w ziLAUZ61G$~qc&Jlz{k{}+89okMDp5fPL~;aSaQeUa$%TNLpv;DtH-_RF1@4Hzx-D$vE6X3nv!e7tt1&vr^-_C5qz4j29vu#H(xME~O z4&_+m=5Ld|qXS<$_J(hjUIjC;G|tn8L%vOro2NxIH&`-DasNOiF93~!j=DI8F&9x~ z^-j)6Uf5uWbG(+Ve8$4yS1$vy$tQ21WprwdayJ+>B(<@N7=$uYnQSRqiX&W{l96Zt zngbxu`5zepV+ug?6obF7mDan88Of-5B=5kZ8d%lzJWHdjykhsm&iIxc%Q(dga!@74 ze4V1Hh9rmJp04+*Wa|0vT4?@&hKUdR0|-(HR7ckFc(1R@I#%K_i=(sgR1J=!wafa1 z3hppS*Hrne6;jRrqKW@TIJ^q{KQ;*v7KsB++9Ls87z6m4v-fIduxEQd1NEwAE5YO% zM>mx9bAz52-i@YvM623+4eIQZ{_~2NLKGhE|JQyKt?I25^_N%~oYv1(PQRxdCuR?D zg`TY!`5Ib;oOk2{?^Nx1jf_B(N;)Ny)g7acBddCk8f36wbDckVF9?GF`?9{#@xN?v z&ZM5?gXMSHf*7x+Q?SgL16KrHbsoMI;HaD+K2q0G`j$ zkDtyT0+ES&8Dkzia-zQqb#?*&Cs6YafU~yCLDB`&F3rFLGpf*ubHE8KwYzQkbyn9= z_OGO;gK1UnqatPHneJ3T@E72d3LdRBDD^pVBVuvLw%8in7p4xHEEEKyx8t8OTV#tK zNWi1YDh-ut9s^ZK0hX7sWz)4+Mx$`6#Sc#5Ml%n+hKc5gGaM2Ao$iljZf#BAnY!HY z`>!Y`Acp7xI&G1e;ZT+A56yn-=8&YFVSKX=mSn&G63|pJA0fi5W#adpYt)X(wq4!l zKVP8F_R{_=P%%WK_zM)GQ`;Ge{QW`d@CS+Q2Hi{7^ojf=Nbc3pD;C@Br*LC6m(G|q z%6}K)Y`(3dnnJhrS|c?b`APdzD-cZ~X|WdhQs3-`3!M+=^>tBQPHnW!U99_m9yw&t zFU<~OJqJ;|&5JJzPodP?3@qseQW_|pXQvA@xSU}DHgmN6#V-Q@9nsMGJrE1zt@HH0 zc>Yk=8Gz)*b4WP^FVPsk@$}_5TXn(%(|oc=Rdd`2Sv1GMV&ynEhgoh*u|wHJJ_XX; z_jg~3M{WMymo>)j?{}rsvG@V+Z?pwkcoEfm?NzNS7E&c{{6)5A2ARTQom!c4Q!L+H zen5XVj4Gs!xiM3l`5%i91wM_f14;=0IXv&gvgu3slF0D(cqFZR((4?m?*wc>kd*Fy z*2x#sZ2xQ9K2puh6QjFt1=2Qew|_itmeuO;PvLjGREB3i;=VI0mOuqUCIQaQ$6{-F zQR;S+OnF+PZ3fjmS!vOdv-vj5-+n@KI~mK<$~%m7#=S4ry<-tIgKfQ6vkhooO}AX3 z619)vzZtw5&5Yt2t-8O|=lkBCzLPR`Kk7jsl4imyEHQaHprhe;zu>ZRLN==R@A`cs zr!=&8vvG@<+jj_hR#42iI!2UXhuxivq3;I`Ll{ z0}YUqUjJm`)$GGqWi2`WbPlm_pS(`)%goZ=n1%@a)j1JK6+c==`! z1?kvhJ>+Q2(0XdtpPM-R`TIBwwN0b+2m(a%7o5=@Mhb=h=YcFcRrSD!5O-ma-mWY{ zV(6DP(1;oY3SMUZqI-=}bV2VRPrZgB%*W9@{AZ{qve-)%)3f*t4)O@a0xHPf5=nWo z1Kywi5r;|up{|I3LtQt4GS|QhNAX&<$YuuOB##(DX8nHW_nOSz>7TWICVG3{{&{*A zb0c=!Xu5^hxAXOe?VpE~&2dvy12juZ2%fmf!#|J4>X=@QwB-x|@rJ;QIET0h)k788 zhMxfuTi*9^4B_aMUgZPA0D*~j03B7dmvwhrW*Hz?3|{i(Z`{{&