From 7eebc477848a1759fdbb63bd0a374857d5a56907 Mon Sep 17 00:00:00 2001 From: zhuxiaoyang Date: Thu, 19 Dec 2019 19:19:10 +0800 Subject: [PATCH 1/5] update s2i docs Signed-off-by: zhuxiaoyang --- docs/en/concepts-and-designs/README.md | 2 +- .../concepts-and-designs/s2i_b2i_overview.md | 22 +++++++++++++++++++ docs/en/guides/README.md | 4 +++- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 docs/en/concepts-and-designs/s2i_b2i_overview.md diff --git a/docs/en/concepts-and-designs/README.md b/docs/en/concepts-and-designs/README.md index d1f40885c..3813bc209 100644 --- a/docs/en/concepts-and-designs/README.md +++ b/docs/en/concepts-and-designs/README.md @@ -40,7 +40,7 @@ TODO(@runzexia) ### KubeSphere S2I/B2I -TODO(@soulseen) +Read [S2I/B2I Overview](s2i_b2i_overview.md) ### KubeSphere Monitoring diff --git a/docs/en/concepts-and-designs/s2i_b2i_overview.md b/docs/en/concepts-and-designs/s2i_b2i_overview.md new file mode 100644 index 000000000..d5f9d62be --- /dev/null +++ b/docs/en/concepts-and-designs/s2i_b2i_overview.md @@ -0,0 +1,22 @@ +# Kubesphere S2I/B2I overview + +Kubesphere S2I/B2I provides easy CI/CD functionality. + +It will installed in namespaces `kubesphere-devops-system` by enable devops component. + +In S2I, all resource and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all s2i resource by call k8s api directly. + +There are two mudule included in the S2I component: + +1. S2I Operator: A Kubernetes CRD controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines +2. S2IRun: It is the instance that executes the s2i build process in containers. + +Besides, the S2I stack includes following CRD resources: + +1. s2ibuildertemplates: defines information about S2I builder image. +2. s2ibuilders: all configuration information used in building are stored in this CRD. +3. s2iruns: defines an action about build + +Also you can install S2I component in any kubernetes cluster without kubesphere. + +Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun) \ No newline at end of file diff --git a/docs/en/guides/README.md b/docs/en/guides/README.md index 356835a87..7dd5de2f9 100644 --- a/docs/en/guides/README.md +++ b/docs/en/guides/README.md @@ -60,7 +60,9 @@ TODO(@runzexia) ### KubeSphere S2I/B2I developer -TODO(@soulseen) +1. If users who are interested in S2I/B2I, please read the documentation of [S2I/B2I](https://github.com/kubesphere/s2ioperator#source-to-image-operator) to get start it. + +2. For developers who are want to contribute, read the documentation according to the [Development Guide for S2I/B2I](https://github.com/kubesphere/s2ioperator/blob/master/docs/DEVELOPMENT.md) ### KubeSphere Monitoring developer From 5a1bfcc0eff83d870d2704c8831a0daea30a387c Mon Sep 17 00:00:00 2001 From: pengfei Date: Mon, 23 Dec 2019 10:47:25 +0800 Subject: [PATCH 2/5] refine s2i_b2i_overview.md --- .../concepts-and-designs/s2i_b2i_overview.md | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/docs/en/concepts-and-designs/s2i_b2i_overview.md b/docs/en/concepts-and-designs/s2i_b2i_overview.md index d5f9d62be..dc45bbb3c 100644 --- a/docs/en/concepts-and-designs/s2i_b2i_overview.md +++ b/docs/en/concepts-and-designs/s2i_b2i_overview.md @@ -1,12 +1,20 @@ -# Kubesphere S2I/B2I overview +# KubeSphere S2I/B2I overview -Kubesphere S2I/B2I provides easy CI/CD functionality. +## What is S2I/B2I -It will installed in namespaces `kubesphere-devops-system` by enable devops component. +Kubesphere S2I(Source-to-Image) / B2I(Binary-to-Image) provides easy CI/CD functionalities, help developers to publish their service to Kubernetes without writing Dockefile. -In S2I, all resource and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all s2i resource by call k8s api directly. +## Workflow Example -There are two mudule included in the S2I component: +![](https://pek3b.qingstor.com/kubesphere-docs/png/20191223103533.png) + +## Principle + +All resources of S2I/B2I will be installed in namespace `kubesphere-devops-system` by enable devops component. + +In S2I, all resources and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all s2i resources by call k8s api directly. + +There are two mudules included in the S2I component: 1. S2I Operator: A Kubernetes CRD controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines 2. S2IRun: It is the instance that executes the s2i build process in containers. @@ -17,6 +25,6 @@ Besides, the S2I stack includes following CRD resources: 2. s2ibuilders: all configuration information used in building are stored in this CRD. 3. s2iruns: defines an action about build -Also you can install S2I component in any kubernetes cluster without kubesphere. +Also you can install S2I component in any kubernetes cluster without KubeSphere. -Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun) \ No newline at end of file +Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun) From f7b797eda9e94b4599c448e2550cb4771dca7e2f Mon Sep 17 00:00:00 2001 From: pengfei Date: Mon, 23 Dec 2019 11:01:21 +0800 Subject: [PATCH 3/5] refine README.md --- docs/en/guides/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/guides/README.md b/docs/en/guides/README.md index 7dd5de2f9..099f03b2b 100644 --- a/docs/en/guides/README.md +++ b/docs/en/guides/README.md @@ -60,9 +60,9 @@ TODO(@runzexia) ### KubeSphere S2I/B2I developer -1. If users who are interested in S2I/B2I, please read the documentation of [S2I/B2I](https://github.com/kubesphere/s2ioperator#source-to-image-operator) to get start it. +1. If users who are interested in S2I/B2I, please read [S2I/B2I](https://github.com/kubesphere/s2ioperator#source-to-image-operator) to get start it. -2. For developers who are want to contribute, read the documentation according to the [Development Guide for S2I/B2I](https://github.com/kubesphere/s2ioperator/blob/master/docs/DEVELOPMENT.md) +2. For developers who want to contribute, see [Development Guide for S2I/B2I](https://github.com/kubesphere/s2ioperator/blob/master/docs/DEVELOPMENT.md) ### KubeSphere Monitoring developer From 5d12701ca4d18475ce77bc4e4274f03a850ca72d Mon Sep 17 00:00:00 2001 From: zhuxiaoyang Date: Mon, 23 Dec 2019 11:01:47 +0800 Subject: [PATCH 4/5] update s2i arch Signed-off-by: zhuxiaoyang --- .../en/concepts-and-designs/s2i_b2i_overview.md | 4 ++++ docs/images/s2i_arch.png | Bin 0 -> 62797 bytes 2 files changed, 4 insertions(+) create mode 100644 docs/images/s2i_arch.png diff --git a/docs/en/concepts-and-designs/s2i_b2i_overview.md b/docs/en/concepts-and-designs/s2i_b2i_overview.md index dc45bbb3c..5c74101d2 100644 --- a/docs/en/concepts-and-designs/s2i_b2i_overview.md +++ b/docs/en/concepts-and-designs/s2i_b2i_overview.md @@ -25,6 +25,10 @@ Besides, the S2I stack includes following CRD resources: 2. s2ibuilders: all configuration information used in building are stored in this CRD. 3. s2iruns: defines an action about build +Here is a Architecture to figout relationship about all CRD: + +​ ![](../../images/s2i_arch.png) + Also you can install S2I component in any kubernetes cluster without KubeSphere. Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun) diff --git a/docs/images/s2i_arch.png b/docs/images/s2i_arch.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7a43a37e42bf1b91cbd80a0767db40255732a8 GIT binary patch literal 62797 zcmeFZ2{hFG+dn?W*r~CXbqv|Ei>#Tc!BAvR*_TAf5+Um-8f*5HCCQSqFC#l;O-OdK z6Oss7!|y%S{XEZoKi}t^@Beqs|NQ^wcYgPAI&RG8yq&c3ds@DxMA>YtU9W#C6ynW+d!I;hm7kaeO@jx}j=In3bDV>Zz&DP-M76e~>QmpjiGN z7Nfyuc`zy-rjtStVj*ev9PdDuR?wjsKDAc*O-}MRt(ZJ>*sRf-ur|^7yCpK5Z>+Ac zIRCn0B(j|>CX_PhmF&2O{z-ZFtj(3NE7e}B6LxRCaqYD}8@8>HC#CG(pLi_em?Rf{ zyHGS1v8kvoK@|h}+ZU5sFvRqjr`%5doCzExT8FlRmz2E>2)!ZMJs4+Ut<3>lfsz)_!h7TPX~*EP34B-Hl4 zS%rxe&`&B=y7>c6cr2IWa# z?7VU#-b*mZct&)LpM(s4k(?z(uVeFe~dbF%5rQ}+*~1hpp`P_<4((+O6T|>DAwu1J?7ZI+lc|3WNa`%_F3+~ zGj6Rc+Xa$l2A2`yxW-b&!?&_V+70wI*SR>uq%>QAX%@-R9 z6&AG~ny;eh5!v4(R&EiGE@n8C{50~vm>)337YO3fIi0`!Z;k7GCKQT4HBm|&x5U=6 zIhEle5uv|JCTh_xMNP)Ec~(5{%e+QJS-?W8=R} zri6~p2=jN-(m@kVX5@bQzcuctJuNWM+Uvw|tved6r2!1Qj7Et)ioasvZ#WTnW_o|h?J*J2)GOsgw zy)ts+Y2wp>Jq>^qVs9TD7Z3jtc(iXZJ~&c#qf?#RpN~_)BW9w`cR6tH$FjibqFQ&| zJ3fqmjEgUkxY#Urr$RGeb>EYSrh-338qo#7;Ds>MrQv{J>ej+6<@N28-M*Q=KCka; zU1h58x2ibJ?4%mIrH|QCcQ@^Q=3>>2UbAj<`mHrd-Ru{1OFcR$ANJoKp9e^j)OB{! zl*@Yx_aXnO-?~QCx9a6`Y@g{>n<$yNj~B%go9=H1l$GCL zB#0wUkD;1vzkms4t!{1_^6M;Gb{~5YZ5d?%gI7tq&tXORQCY?}(mZX;x@6-Mjjn0X zAp3H(7)1!W0oyf`9ZR`S>rM5$RgU~lssz*?j)k({5?u1QR=+bt(_vSpXJJuv6!0Z4 z_ucdZ?g?*;5-4SJ5{-DR4*#X(5B82-GD8VkXU7eaL``yd(Vx3ga#b!^s70RO5qRq7 zZm{^yjEafk$;; zfk{XO9{L?r1|Dua{a9k7esHw}+HU4Ge#)jbvR4+-|8wbb;I(IUF7>-PKfgZ=?EjI8 zP`JMM;TiLMk43<4wq$h(6sua5l*R*m4rfI53vtu_yA4o7@q9Z!iUJEZ+?;Aw2=0Aa zXJy7#7oG;1i@lzL9*oE@r1CZ#thoFLr0C@y{t{fvrL}P%mEpbFtNx>6`_t`*-Cer* zkl+F?xWR|PA43)vtL^2 zn~*}FG?;YHAv3QKXLP}M#9f4JLFqf;)25+<9Gka0;!a(gqJlloVGU(Q!8z~Q(>u}K zES#_&8)M-O(EjD8mPthTEvtJt$VL`pzspv}HNfX;wry<_WjgUeb;qJ-11WX6?Dtt& zQGPA$6ua9yUUuWM&)1T+&A~@GWHjz`<0!OVAEL4qO~IK}nT9~ZVtKSWXCJDFT`}`a zJd|!`#)}BHV1hn*&qlc)9c(Y}(>nw==NBZJ+^SOjR=1AH<3c_7Jv|7ClT~e`f>|G5!@;#VD zAHX%LJ(e<$$eZ#4j}D`@FF!e>ajSmUZg*$)Az3EXyK9aG*_AyR&RQE)OrsMv4ik>A8}G6w{Ovdkwibe5XI3Be$YYSJAdZ$WU7VD2E^kdjrMiB|k3Cu&g6 zB1zxxx>~pW6(>&QzIN=X<+Ar?m~UUidv^!Pqeek;|M zk&mLQ#|$bt_xMJ7Z*FtOO8e{=_;b z-=xfH=F#i^=KayZKGH$Y^<8fXrGE~s<@U>fok`uW&}@jMkK^JkwswS&v+-j-LtdD$ff z{LPgcrBQ^@Ot1wDU<-Vp?WaO@C7{g`I!}0s?xII2a;+RIfIgVIcbu)uG6j}-3;}Vf z7%(Dpq3Lj;h;CN>2ItdhInPaVn8Cyw1lxA1noojGXBPxx!+9=*E~*9|Zl$9jO$Ts^ z;wTDT2{7%x7~4EeI~T6b%1m zFV=&lO6^I~Ps-SzKLxGEOz_9O>3#+LAbF^6!NL2A59Sw%hiGQ-JKP5m!#x5=NrjMK zoIE=8@&OZJ-%z(yY%%v;sW@LCHx5HKmOJ!q-jLHJn^Avy&fn;@Y(4}^D(6G4zK*0i z9aljxjCswRNtLMmHEX>A-{R4Ag*zLwLyG`f{bQn>P&17f9~a{ zg_Yr!CDE&#bFuB>?P)ks@!^j+C=Pb?aMnEKbPFY--SGRn(?yG-GDkaYDr_50<^2bK zJdiN6hss;V{tk#BgayUA*O@CZPiHNT_8y%JXQ9$R+8b)1MoQ=uljURwkP%$wN?Hh(`X21-j4azaJM6pT?M$V6B!fLR~| z6@;3Du`CP1=@HtNo#ZSla=Y18l(Bv_#MNC6PCcQ;x*}R}R!)ZeDQ_^Z92cQLRN^(4 z3AQ+q4=z@GYBBY8cdsGO%j_yqiLQ$0qG%qAd{ja^-PupYruE0>*qV9?f+5rhxsP)8 zlZ`miA4yp`WCA5*!5>0c%>~;NgFhPiUOaKLHt|e{ZsFL$?N1)8SCeA z3V!R5o0hW?YT4Pt4GuLJMwS}Mhzb4V(WiB{Q#(L@DJvdEbzPU58Rfcit7av~KO~j6 zsDAI|xitQUId1<*zfG==Jd#7@-VNL_v*Y)e&!I$7Ezg$%Wqen5D6ITjXc#+vn;JxuUw? zv7(9-=fAuvy2Zp*yh3K;<;rmEen#%ofNO)sHgx_j2sT)UB@g9vgUaq4BhH&%qIUD+ z#p}R|KWvwu5=5Yv03pvWYN3*BZ^H%KzJRMi2|FhBkl>?9uSx&;jUE+NKJSpJV9~Qp z4q~%y4~N?JGilk*VATseRwvA)gWH*%tb%picjq6SEp>QRmnbI*H@j((;QL_pWJudhBvq z#pfoV-Cyetw#M!@JzPv2)LfmY^PJJgqHx6|u?rtA z9Cxl|))m_cLo$joh3>fp)GDc7LT~=Y9V@JO+Vxm0ps;Iu&F5FKTe)inY zwF?JV^+{lvopsw2W5#Dk?>%?E2e9fqR_E^4*SyD~CWQQw!iJyo;-#ZEU&)wXAmNkj zi=+F+k?p7eHR8QR53D&d_{DFv0rFdIAg2^DeXYagGe@5mDGeuC??RpwBs~2J#!&bO zArpwT>{Khxxb^B}4h-IZubs)s4Sg&M71KDWpO>I*8qUFmXKFHfoO8+og3h9BW^!U| zVqs6XHD0~c=X7V->H+h&7NbYYg*DpgfrmchM;VA}sJuEnHdq#x4M&q?k}*8{yiMxd zsBvbI;xOtXK$oYk+?m#hq%***k0XuYR>3x&_n`dttjIv9MW};|Nx#84m zn=EM+L*_MIh37ZXo8%Zuj_ruWaKGv2TBKTHje|_X7ZN(u*qzHiC8ZS;p44#7P=B>i zJRZFznq9y@dV&4-Y+8u3xnk-lyetOxct`qghykIxkBs3aVW31jqg}K9BRvQ*5;5lb z7wycK*^oFvukugHe?J&LcsNjnbzXZ*{tADnU?RP}sKeSh$V82}eu2AihWPg}t^rd6 zzvplV4wCZ+Plq*s(_!XcXYR<4uCSxU{0cDAuwk9wzk|bwl>V`#O=vx780zXD6{eAe z7-5~30uxqjVb}x@y3y#HK#-7Jkfz|Q5pF2 zxL@DA3~iprFn~GCXA0V(3a#*HStD&zd6e zF|&-G`n!CEz=iXy?JXB|zR-RC;i*vl>hZ$l=u=s|OelsKJmHDeUpjO3O^{S4#`3Cb zf_Qh5>SI#;uKXW)=8trSGGsu_wSmOX_I$!~N1&wq8MVH4~Afhp9hHdm|FNwP$S-(I=-91?6UiwXXzhLJ^U z$E+zYaQ^29e&5aLe20CGXm@IJYn5E*Rj|;9ghdzVb`q!&YCIoK{F&qlM2vQ>iW|p` z3(4#LD(jQy$)8+e{Er8bQ(_LYxl^Tp{)_u;R0PPtz_RbwuaJOk6d|ET*!g^9`}3sX z^Fcs;N+;%B&;RI)xMs!-NSrro3GUAm;Z)!=v6eC}2~fOGPWkWK9-TB8u=(7{5ywBs zKy;)N;Gh5doL^GN{}1=)5;bDU<1T5Nn^g4dX8XLmw8EXQa@W`AI#jL*T-|!|2LR)= zfOK7Y&^N3ALV{fQuRMi>0jorE0g4rl??^35sHWsJ(iHXJ$gP=`D@)LOuv5R9NQzNN zJNM2lHNAe-LN|Kvs=y!n;(H9D0iUlxku#A{GyU=Q7;h*)3_j%fkU3T{LGRI>ufyMO zV*L9D27YK~>m3hk-vbleQgX5SBw;#qpo5wC?tirQdfCqZk3q(GK$%c+-=2kT=>nZ! z_YWweW~h?ksERUsLn zN1bWX&ZFgIVO~t^f8CUZf-6u-+B3qpnNXR?i#5O3HK3MZK*AT_v1y>`za-a9m%fk| z+v74^Y{khcdTlceue7>tru*jYrcc^Ezt zGwWuKjmOv);*}nE&a36>557`%iL5rYR15_T75)%T6+?!3s*6 zkLH@NJp=wkJsNchcPbWoEn2jmiznrH(wPLq^)-=u1-BjKl3wY?As%tg6@oa zO{QIEaORJ1I{v;=xyScymf7gfp0!<&I#Gz55S-A?&MN|)NutZTCMJpif;auSCkOCsS8vgP3$;nX?416gA@1;= zu?ok^I=oV>W;Wreg6Eg!FB|84Fa7rFE`WN*GY3*Mh#O(;GMafjBTjeR-yRpaznl(^ zOt5F;FtXvg)ML^Fy@$wM6WNp&u0E^N%m(ywbago0Z%4Nk5BhD7?g9R;~BNk=_U5 zBgY1dS@xe);U1E~;D64^b^BDA7Us^%<(}yqbn%;9B_Y8G4Tz?6-C{PKt^OuPr_1#g z!$;PI5t30!=_(vBfGiCaSybLx8SQe64w;qXRqm;Y;{Bz#05xW9_ZoftXqKCT%9~ z_w7sk(&vRdAL2RY_YcSEpzW~9?d|3TQgYfw6Mg-Sdi>XUIc=5f{zT2Z`in^-z2c>a()CfA27i({wLRa@|oWZrn z_#=_4>jiiv0c67{P@}K-0u?);!&Yi__5^BjyRt=@E^KPej@GJvQZD-5S0h$dBwNzpBomC$~$EPV&^@AyqPuIz2VA^(apss{8vNXzhHz z5k@oe`|1yOA1=WYl-0LnAs@XFj;|F$4&~_O6(#DKoX%cTmhIg3$2iZi!Qi#D3dlsw zE`aene%`>jjV#LTd)1KZz`emOlGr=&^F!ZDLY`W(DRs4ZkdF<4N1l$3jwQ^WOZWEn zz;}+@^syy7(R4_Fr{xpE*8sBZ_2=nNf;|hM$L+YEFt-C9Zkm}e>OWF?J*6I`iW`hG z46=XSD_iq``&pLv*;nEqBy-2;<-zux{U+8*6wHo!cDRi!eX92*$3XbU%UQX;+f^JB zc>fm()qQRpwJW22ZmC*IJ^Pm@j<=6-w(X*YJnvpuED3nt@>jh}2m{!)jKWYquF8n^ zBxLZUfr@Z8*R@jH4hQKQ-9LHYYwYzj(#TS(LcsEjdp5Y57wG6?+h=>VF!1s3i64X6Q^O7brK1jPavo5(Zxl4mM*7VHQoE`t^r4cK7mHn&^) znmkKFaWAXD6=c^jwlnqxrec+<;O^0UeWNU7}J>IC!*>-Yn|J+1+$zLqD33iDJfeyh! zC+hw82XeJiLKh?FwT(K)-t4w{DAWZE6`C!4c6sbj9IKhzw+z5k9?$0RiuYiD+rlS1 z(df(1tuYtgAuO8A=VA=$z((y6iwCLrpR5Z<4Qhaz8FG_MAP#cVWVv;wLH=EEMZd|0 zM$hpYRa>*{{!49c#{jf*{@m%bl}ZClAfmmH&g7aat>umEeyS0ttu3(S{P8}TLKWGo z``(I#^A1liV(}fOISC5D*lS5_h&lmLNDZb+WUW|+8LWlNNK=9$@(yR)NYh5`6@W@s(X*Dmv=eu=w*0wgC<_l5wZqWuD>E$-7E8k= zHY)Uwg^_Lh^?~a8#Nrag5|!%u`uZ_I8e)s-WL@_n7xoWNYXzcm`j#$ow#lbJ@sGc& zo+id}9W9tO3+k3D$HMiVjhM3$e<3P1BNAXq0)0U8%XmbPt<+=b1ij%awcfp%s;{gA z*Mmq%2lMjsdc&}ZdK9*0BW>)>G?Z)&K!RD-H!-PsqW7gIdX}~)0y5I!mih>;m6>q& zSx!!li`XMyUCb@;XAR(g$#+$5UCP$;&(%)b6Q@R4snHbu&XVk-P^nN#W%OS+>Mu1^$Wn}e_Yx__vRzGpV1%0P(XY`Z$XQ5&-3tC03>R<2u)e#8Ki6yE++ z)iy!zi-8kv3DAyxKs(OyBWtWoqE`2Zh)ZH8ba~k01*-Z90zXk-BqkAiH{P|;$i(E1HBAbSCLYWiBbCjHsDF;{9w0T z*|6T*zkIrt$e^MV$p0knjnrT<`L6N!0+7yl{{@%ANEAs{cxqQ6Q2`~2pj<@nqow!< zv!zCadC~s|H;V;=1Ot`PhMG`N@(s<1Kio_Muwu`>v^xGj87Fu|B=KSYl_CG{J_qMc z`9CppliyC}j1O8!LL z%u}KGT|i|XU~K){-0u3OS4!OSC|nK@M6T}C2YP?< zEURCKQ^Mer+q{8BiMbE*6JawvI#;fo6-m^rdztVgxy!EdVXo02I77?epyg`szQ{*< zrXG(Wn(TZ!d?ej1$fi?Y3GJ-RP0-ejcMNA@BtEsA70@Q(OVbWa)XZkNn_hV}AOiU9 zt?1dG7cgQdrqJc;9))OWv`|Gnerj~-$B!R3w4Rt4o!uJNu0xMo zld8+f`HUCR&+$v_u+`SljB@43Ez`TH2R?jbwA_IvT%b!a9s^7xuC|FVdzT@yBA zuhJl_W&`J-!$(>0Dbq{g0-BB#WWNf7yiAFBwv?B!_t7ntU8zTrx8dH~P`c&U_Pv>_ zm^mLna=gsEBr&w~KJVR9g*5ZPiHZDBD!KwLfE2tynslMft=>>`yfA@nO0N4mvb1t_ zzo)uT(Huj#qIm$JC;K6keT*@d6f<`|+u%l<8zS^mF?jSVa5L>*h)?B1-d3IK00Bn< z1ROvfKoW6Hh^+T|7XIhr{-Nd9Phnm1`GQiw2#^;pzBN<>3rmzw9WM}sntB)}D2|+r zpmG(v_O-S)hge|s(2eS!be-w)|GRX(LFJrFHCe0YxJ!bb{+H$D<1Gs-qZJp7w;4gs zx1R?hUU_qclig{6vaa4SK_|gV-n(WoGYC?Uh*iHsr+LOThQs7oPumy}vlrq5{!XsB z!Thh93H_+RD+MWW0NVMZe)Z|YWi})xz@1~E)>Lc=kPZDOP5S`slo3IK+0`H>76dz* z4vlB?yt7HhXJtGV%>I0%Y^34|HR1r2{|pwI)%bK(0g@04@)^4@#}SZ*bCB}EhkGzHIV>Oun( z8@1aYT{wo8swYR!stlX!gA{ljM6(7|G(9YIr+%_54+6!3NWiT+_q`>8^=VL#BB(;L z0wqUvqm?d4-xXJD?-eMBBr#gT@bkxPHyAGf1F<%33XMV80}BaJYh}kG7@(;Uv6fNe zf}p@Gmi3AixVBM9J4~FFE5f&@Al;pX6ZftORaEGGk)nS*zke=M)}0PY>F&${vMswg zcX_{awP3BU#IKdx^V0iV!Ega8%nCxmL_2e4LN$L%m-z(9S|%HgszEkBOnv(*;K<;+ zihX>$ad!V%Gz^RuK)QMJ=1py4?xt9{JRy#RTO8}0cV8X&CuNP`?W&3Uf8xF%fGP~c z^vvF&AJM}|Xa^W*Dwo@K#P!*Ar|yy#I>1q`FE4_;vPmX-mSfpx;@*x@nl|^G+_80U z4@P>7mr^xw#@lv1>2+Cvb-OAvJVC}fsM9yaR-V&N?qEc1-R4+OpkJEa56A^IT17?{ z77vw9`QqEfky5%so}RKPY48*qW8ExZ-k9)5t*`JvToHDct-0m~d%gHl?osK5B!(%| z@_sk1Ct84dskDj)!Hiv>T-@JUx$;!jnJrT~N%1Nf6hA9BbT@tbe`a_zUPp%qSIix< z6BQc3{ZPA%o(_6~VGi{}X|;iDyfGpl(EDb#D<#jUh(TofnDquWgBe(Wn|BOKiqch# z|LyT?LNFAY2eYYe0FdW6-pPm(i=-lbl}7}Zm+z;)-m)bwA~Y#f1K|!nsT!Tk9D_mw z-=ukyuoEE|#5bXO)PSR6{)1#Z=B)}D>7ZD`VV94ZY>}fuoV_?X{dkV{ZIA(xo zMy)T1!X-D5`ey`X`vk$W)!aTBGXot|uciCOP=P?B>Z2cGwiLqmfrDO`iv!U%AnUi( z`5Zj+M2m)vApn0Yv*J^;%5(t!gEcXnFW|rv5~s0X#yhd#6VcYvQ4C-lCV?nJNic-r zSHC;scfmxiuAaY>aUN`&Q7A8Q3hKXU#TiWyPIObx7`1>Q3`#aeJeR3ld#~5gjNquj zN{vrO6Q}V1&7=#L&H0c(3p-W6Iy*@$zPpY9Ga_H4H_#yAgTByB&Vn$I8IE330PED) zhL7E#0pAe3!&itKzE&WuPDaId5A3DXPo0~m0VCFw$k`VPYKA=-;3HliVXE#$l_W#R z;1OwUIaic%pIOX6`tG1|`}6y3!{ZMiScDqbTgf-k#lqAG`ZqETPoQ{>C*_G}pud8t z>-3w;oNY_GsIdt{O}ZYtvPl+KQE?vJOWv3cTM#Jg^ssH5ZB;!Rwe%sTosK~2$P@s- z={D3fyNcD)%#$u1`AYZaH*e^tOljLXb6ycoM)dc|h&%!0#S7nF;(QWNe6gO5XoqD5 zpk@qQ0-24MYF3~LZGv7dAn++;)zMGmAymy55NX=mK+;hosSwrITuJD%vp79<%^VOR zcpTUUtR;(?HgMP*zx7PJUKsf?j@Q0`*B6SCYUVM5`K&mbwe@IZJfQ*<`yya?gr=#s zQ2Uo11MkEA1#nsP*xWvGz=Ud}?$j;q9}+Yi6~`_>6EQ)zOX6yG8|sPSuIRS}dzFD? z$n!=RcGW0S1e>j=cqvUm#zarG_AyL26~!O#mZ)dWKK?Uzb^om}2U(3ebdVmD@L}ky zvMYd~cI%y8S?;wVdD&!`2(q!tKDO-qnM5d-(s;f$0g9DhD*N`D@^zta0X}s^)1T3A z(q*~8*tF}qGGB~6AhGpg$gzrkY`Y)G;310Jl0t?<7n1iE+5Q zrJcUboLCSI;uQ~B%*^ZWV*6kf5yk$MAxW!W_77>ceuRti<94WkMD3icnSIXT+2_mt zlat06_wSXFG9bGsR|Q9ZK{acH@_2TCA4vM25}ejk&RGfvl)@^#FZb*M)|3JF z4!q({b_NAC#3153IG!i$U6kGkYnwFcm9xCE!Z%g@Z4xurZf8#EH0?9-;LcWf0YAw; z0Hx7|vcYS_%j!Tq@N8YD9D3-I$DU!ETasehd7+m3E^3P(u`=}Swo+z^dPnrJiR*i5 zuk!M)-guWFWMRlivy}*{w?2IOz7{=uX+ufe*~DVloT2zJWFfO_!lZ;)XY*YETy%1@ z*s<||NoXM5Z>N`>0t&}f&za`1h$sUTFQ1Mo%yh^fi#bMJou6=50O*;9s+7Zq48=*n z5!+|WtjsBHfn3PeQL#BRJ}4VR5m8T5=`LbHrT8CEr^Ja?ekxT5k&t~-`*b!x;B71q zH_qq@Ma7^(7=VSJMXqB$D7U$ZZ7Z$5pEU~-1rkjU;lzkg^uo+ zATr_ru6j7FEQlWBg}a3sN!BMW%L6w?@E8sH-mBk$8ql{=m-T8I! z!&8#_)yqW*^(EYVIvrp|*h6=>83(Bt-y? zWQwOndBI8E20{*woWz#2XXBi>&23{DDq}5xDk}4G-4n>t{_TTfMqZ&&0ytq_a5vcC z&XN0IR!$n&Rq4Cxo^Np|YhqY#Wj-ZyABxr3nW=dU#rox6)t90KcydQGFWVk4+E|rW zalMX&U|1&cBn0WJbTRdt{())sH=h{-Qx*h1u^*0iDoVI3lG1f38?ImvIyy3(f$cd< zmrjR+#I0~yIA~3&hny?SnHN+5o5ufY>v?myqqY9#?en}yBaMtw%J;0XBhj;w8%nD; z_01gR2+VEgthEar-ifWmpfE7R$8MI`N{+Uw#to&^*ZPUs=<@ncZmDUBddUrGuNYv8 z&Wt#0ecL-a0ByuwSB2v}#q=OTZ!XNg4gnzXrEuB$vgp=eDMSt4tG#=4}G}PSfSSWVH-_)2?Fo>x&@53uLq)Oo^sB5}D*B<+^(#2v4RQx}y+)!Y6 zaTmJrxhozNq_rnY+Sm@}U&R{u-V%xheL-A;$m2z|>+jqLuioe|GI2iTSl9u9$CJ_p zypev`!hw4lczE^m`^UUqtS|ahlurtEBuC~`B#PsE{ zl!ZD;b3Q5XrT@G}zd0yZ5Q}1__dfVBbiH3N>ro8x-dv2ZT(}&~9D9K$fWzYhy5-5V zKc5Z@RORQ|J)m-P1qYta9()f1Yf?7P^_Tr1AHQE>a|$c{OcNmT?7#G%|^m;4_x zU#S_Xkz?&z&#LgIYL)@BXkH%5bbJocJ5z1vLK}VGZz=oHiCrre(E`JhBrmo=GlhB) zXmPUeIAK_Piq7TZ@|Q0!Bat;GRIp>pn>xFo?gbG<3pxmzO0p9_R2c1lfV-;{fwV7} zyGVr3lAT0<(q{hK*#+w=<;J~>r{F`Tz(rr?T30`X;;(+V)a{rgP+)kLgt13p$Ww(W zwyQOYU4Y%G80|@VeYJqkb-hENGsUGojIjE7|IquiqAun+n1C#h)1KznZH=yj3UL-I zTxASumnwOO>$I1+9Bbza$)HOxiUU{&p6YUoCGX27I3>xzo%bOBIYBP^>IEB=Km9V` zymqe*oYaLt`CZ;{lNlMO^mk>WTbGzn@BaJeLFZ(fben|VRn-tiiSK@y5WVSpS=69} z0JttQ?MC=YX4q960xE)z-##)lkRzT9HG=sZ_GN}I6AH|r zNup?2>Hykt~Lqo6qor zGI1APS|(p{V$}kE%zlh4#@#pQM+ySo1`NXbjlSeC{-%TuSQx|Gwd>5F0k(M~42lgo z9w)pAy3qhPmw11g5W!D`nFmlT(U`R0cpCsSlGAx7oG>z=JfBHCNa^R=Td9Db-k?N0 zTEw^*5vtoLjLndPzRE8RC-zhjJBHe0)w!;w#u|N-BA%r6C($z}qyZNOhs5Qc-;E$) zoU|cN(N7SfMyOiNYEkk2nqizoZe@Qe@kC-~U@`I93L5;E)15jNt)w-k0%63aB4VG1 zF5fT9imblh`VJLDJOC+LMI#4%P}r*E1udabTC$kT-tVn2`d>5Ghji@)RY{Yrmt`zje#@_!WQWLn!=`$Hf61i%f-*d)R99J=T?V<~nBG~Nf?J+#93g>|% z;7gh?7fOJ8D6{xJPcgv$j==ns&5{6PlGhAqWi#1mnNV+N5c^-t9-3cLKHQlt?NwuM znesP6L+vOL47NLK)4{0-Mgi?JHfNqe+doy^zTS+dC${+59ArIv$Lk7!?wwm3=Z!2I zqA8v@i9MqSO3e zOK^(_CVgvJq9L+ej(F)(P4xE*0LlKPzfZH`h%UdDkCcKA5H%@Vpq>W@9v!R(4(;AG z#%2iNI>l-(rQiJ`B){=qdLCe?*hx6?;irxx*#y~fF9L3~jqp$-+&HapBuy?+p zD{4eD2P(UgfrHpI>?Inq`*Wk``lSDMV#UzsV3Fy!CHY;xQ#gt_(A*V6dR$4T8#I2z zje+CYD40WINU!t42UfqzDPl#igvHA)hll?H zU#!7|wA0y_O#nQh_~~bwxBo+$u;v9~1?`s?EM{=2qxDA(?V#gJqy@9|#%hlK<8rE(`v(K8~di&GD+ zdqX}E8)af2lYi7~VL%~gfp){bWMR-y7Imf&#hV&I7Cdvkm1i$&=0L7o2$ze4ES{O6O*(1=Cu{>7}{G%ZslrHO; zm^kJ%m0OGAPF+lDPnExI`*pZPp~(}7HuIpeUH0QsuoQL&Q=A%D3aq75lizZm7zo$l z_%@WmaXV^62R&--`r&)&o_0`_kr()t6ZEpIzp^;cJYMXx@wo$(&%tJ=`t>gls6Yxq z;F~Ase$xy32M`U1KZ>qDkCLU9k?2ueRWfS>h0P*BfsF@$bWwJ~+vcS5U5|)6(dYK; zcXt<_&NoqT(;8kmY&kpO{oD^k*Mf;aP z($bhxrxB?UQ0P7fO2FfYoq0wU{+=flJYF~vM(oyy8V)N|8Hp`=^T5;+7SeqSV{SgF zBM+lc*;{-o?*&SaE5CDt3JG*F7ZXZjeetSn2zAG|rsc&-RCNdGJbh_Mv zAtHNPl!)EF&!Dw3mQh;{eRTW1WE)25IrUi!%7~o7se6f6%&&6!Z}z@99loRqNCwVM zCJac2&5;q8#H&Fqz8E0Ok%)J$fJ)o3X`E(OhX}}79h+69)^-=J0N!5He1|0` zQFF)eps3p=#RIxj_k+n~C+y3ZE+bx2NR!2^&APX7dL@w2u(ba{-Lu?dEoaYCwSR_jKDCvvumF%c@%)9T=8~{g%ePn)DBZ5)Kn4Z%eER`S_ zG&MnbOb&&(U%U2(W^|B@)fAyAR5cTRnr$pxxr|b}l_dcbjx1vt@nS<3fpzscOPSnH zK}V=(T$i0^0`;itazUjSD@kxWBc}9Hs+{gn!%|MlI}m$clvO;p>=DD9#N;AM=RhN3 zB4};ZbE!f*Tm%*ARIre$+Y9eNA#2fo*kbaOc`8fLk@^8X2A6yrBo0dfR_t^Hmh3(U z&UC^rds*-(L z{jQl=8cW`qEH%Aio`EL!TLr%zSDf*EQMD;W=g~8Dk2uE?wG~&&Tb-pqLQ)mUepdT- z<6tHzqN097UHQqqGq~0G8LKWtD1oWy6|olYy?1him^6pODGm~LR^{M}@y7O8(gdoq)C0VG7>Ec{#JUKVwpWDzzZ z?-V`1WGN~*eB_g#PtY%iifQGu>KO*#B}k$ULu z+7;maH(C`n1uSQYxL-YKQv#e#t$VU!l3=(w)*BGSt5<<*)-T_XM&w7YIk49ryGx>^7Q9vP?Z1BQJN?J^O2I7qk z=qBrjHiDj|4}w9o?6Q|4_KgZsclSC|vHu3EO*c_q*KR(h5*oADP+3XQLp7=!&}xee}lGNHt7 z+k-nQ#yS^HERNS~Q>VRQd1z@u9oNV+1I<1~0_%lQaC*elldDr$pQd1FN1tg7lQPCW z5)MMFL+MZK()eM{A>4$KqKF{W2XqZR=SR>?)Ea;mL~lY__Q6F}eVQLc6qMh*8A@07 z{o*WxCb=>vh6XK%bd(6Z6Z#x;f+e?4fIt2V3Zo4-BO!qatYoa9(Xck4WFf&D3@Rq- zKYA#_@5h7tY5Q21t|Zndf`EYXuc?B58-X2^$H?8~0?%kxCa06QkR-5OAfKw=j7_I7zT9k1$MEs(=as?D)vC$YG8qQ!(Z^ zIhplwLJ!Ik9ZiqPojQR{ZD+)v?&^YVlB@`4fh74pLs1_2FMxae?*SY~E+qI9+*ppc zLx|uaVqR-3?yYjTW0UrRsY)d{m1Ed0xcQmZWfv;mAWKDZ!gZLunq|+nzi1<(8bW0l z>kHeJr|tkPH^Mib`V+dzf`ffy1$c*{q>4Kn5gwEzf_R1|7B0*)ln7PxgJLKpLpM?r zYJK6bq}1{OCA^rH&=PPvFG*{ zdFztZ6G#XJ2sU0UBHZ~bwlz%kEWsv&2^oZ7r9!e6Gm}@46>R63AO6GTd}!H<$ErG8w=ZovbKL1d-0LRxL`sjWv1$XjdAxV^Pe{q@Ksp>Mj+HZ{&yFtq3i!N40ZoimGgD zUL-UzIA6WpC3E4*@z6EWxa#v$H?JXDr`pXWLSNfd1K83^*m62WJgtS-|K4fMGoapY z1rKWSd@z6rwIpe6gPV{J6DP+6B33@@RDE7(n)cAT(na1lT**JWPyZ%xQ_LLpQc3RMG=a879Ro!rvq9?ql@VE;f z#d9dy(`dVeKSw;EC*Z8cP9n=P#lYzB&zYUH>er~$8(UScyygmRcye1(NqRz8frNbl z2}+X=xFX0vh9RjBk?f2g{7S6e4Y1%j4qsnK%`FbRdX(RAxVMLOVoFUYZz5-JSKj`_ zdv?;VjKj5&Wc`84Pqe^v9q0`9)aK@EQAHn~m>We0B=RbtcjrQo{#7)YvEt|yKH?L!*>Z~78g-g=gd zFC{4ToV-GO*#L_Ss7h7gbcT_T(sN<&b8v8i?f~)C`u#%U+r7B2a8e@9esaC1ZOXyK zH>|qZdS}d8KrX53gOp7xZJHuQhgUp*5aO{UgA{M|JZP~5V)YAsMt4qDGb%SsqRd;c zgZ*MNrjbu1R?dR`B#M!7#BR>~=fE1~H5|8ylx*S()--}Qj(*@fNQ0O4<6P%t2oE!+ zm<0U-fbP>V)pYO2B)kLn{1JGmml!dYv#8vvnrHFnkcz&3O9Rq$hh?}$Mb4T{;{i{W zo%0~Ff={_RFsI;`EC!=pH}De?02U}yx0fH z!y|{j9OBE1z6l^@f}7v5n!4gxymXEuuUS%z-5nK{YoQ{1?s-~NIWGat61DEwON}VB z-F<%Tn$2wH>6??TVrp8+Tj1J2j$HGqJ&Uobp{W{JWXi>pk0@!>y}e!U=Z_@yvH@`m zlqvYsHy!`3yfu8m#Rbho3L|qmJL3A5?uTx_+&iCf&mm`}T?*^BpgH#y8BAoyjaGWy z199G#_yPwe)S8b%+F(@c5(>PPrnZ|mctw) zU+sp5U3_*OT&ysms6!GnmR~Pw#z?<>A;g3-@{nDyX4VRVc@DHzwNu8x=rRVMod4@E z9X_(fiCeo3<>?E^15$G7NscIe8YLsyuHYr+|F}blp@GUvY6>--uLgpqLJ_8)3`))r zfxJl?5rBumx%ReK#Z84Vo>*j5h=Q(;>_kDkc>vLV_d0ywI1g-JUoFy~*T;@LeN(h{>$cu+P zp+{?`wzf5Sy{P#__GGEJRU?enW-7fir8>h*W}d)JMk@1rBN!FB886WQ+9Q=ztX zNp@em)MEW?ZT&dd8F+HoB(Ct0(LL{(zRw&C_}h&SSuUkX(6a7NH%9((K6=>uy%~uY zbDtzLhv`aO!54vg%15_p$#8`!g4S07eVGZXKJtCr6kNSFLq0df@U(Cz+5>HY?E;-8 z@dUf6@9#$@jd%^d-4EipZQg2;7T%sCE+`iT@X_lG4z-6YFPCjdq2$Q4rN4C5zy9#` zM(DIEHVfg6GUn3;7VuX1%1boM-oFVE%=`3xPDNwD zB2vDWLF+x4s}yg9!tT4_)Ho`3O=*w0*9ut(eQVEyK094z;|pu$Qd^BNt^n*(?S@YZ z$&yD7kt>m>x8sFJq=q>2rMf7cnV!CIhPZEbbe=I=WHaYPD%4k6V`MlcCQLu~9H67mm zZqs@wkhbC-;k~E$)8RGp^fzIGe*nF@+cM)@5M9YYBqN}6@M}Tu>)rf&Rw0rOCsYzk` z$p(lLkceOHG>-YyJ=PLM{YaFlxHbG=6BIn5e0>#bYjrY3c$@O2$dKPz>ap3t3Y zFpPm+TJ|RPW)lUju+pXtppwZ$aHfA|x^SfNXF!G{8y=s@;ANk8i!7Z~oA`m9!YSbG zpnLz%BgD6rI2uEG0q9Y21;v zZf1}IO67OSktF&;&qa$577lX*rQvk=^(az0^7OV4I*v@huBAiyYncSr0kk>>-BV7h zs#X$1YYmC4woOIxU8+|Yiu$A%`Fga2ZG@9*0+(tJ>P#L?yhGZce&m6J#baalgcKb? zK^ivq5ej?zXLlnF8$)$MI_~J-xlYAiwop-BQJ-keB4%t8&=YDSRCKJJ6`Jc~uX^Qb zPG1#Rxm0Mj&93MXsX(nHGfq>hY~Nyk+rm)f`IFPd7bYt{cx<7b995=^#$odH#n&9-0O=M;z~WkHf0GWy&`Sia`TYNKjI)`yGHOTCS(1 z3M?EwLsnyW0e^mYmS)!%<%DF}S{YTe@ufDJSoK}GkjNSf3Mn#e*+muKj!@3jqK4+e{K5Nf`hZ7bF=c2iY+k#jH=f5ak%U6h}OM)TOVBaeLh-*2@{nSS_nS${5+cn&V@FJucrh| zJND-sDfiC#W@zSN`!oKH6#oEkw9xqQ zC{I@FNm0Z$iUqp=@Gd`(;j9V=3iAY6V>I zV5LJ`(m5^0Mr3e#WdO5(W0~7CDu5yq&!e;O`h*G+FiSX8CvHHoi<6ETC9m?Ll^jOi zA0ykpAV8oj`D{*o;_LAj6ENVN>D&*~&L}caMVIL!loC7fB%Ca{1;!u-7PyV}{XZ#z z9PU*6UT+3Mf6U0RBn&i`V!LOj(_6IWbh|IC@$q-2n8ioG$Y4tF&v@hlam@zMS?l1LgRyM z7hfFeD$SQ-?CKGR<}rV!9sNj4DtvqXGwX6F4@5?DGXeiwaa84ZNL~+2l5T9d%gaZ> zdM+YMz>0dmT^(IfBY)A}?$!(og*j>Dwje2re#<+G^_;y+W}!*u&>BGxih*w4`}K~x z6Be5N1OnUMB{9x{x+FepYAsmW=*OLQ5`G-%#E%nW)3s=^WuwElCQmXwz^eEtda67W zw!eOWDmt0tsZ$8J(Op$1vYzvcS{I7Kk ze>9O`3Yq{yC9yY{0KgjhYWvKiNAEsFIK7Ac>Y9CKaW67rGDprBRK=-SRGTOlIx$9 z2tH6Q=5jz9hc{fwaKN2LJw>C*a6L*VbAWlAq&R5rrA+y7<^VnKXzigfycgtJN6C+> z935L2VTyNNjxaK-Sv=9-4G}LL9B<>E+unfScy7gi6{Oz{adETIo>lvxD!Ob^w6pwY zPSLHAgVB#HFn3unAEwR)kZm8(h@b{X9ailCC2S|NiKpU3zwJyd2t?|<<$(CBd&|3> ztdSfRfOLF)c};SIBJ^#3-57X!zGvErY}vmh= zI{bp0vmuK~!M=Wng$l(tw47RMet1r;20o_{7e$k&PC}0U zh&VH1@%Kct`BAxywL6lnvmYfvuU^mq z98$%Giw4D})5mK{4;?e75LH*B!jOh)Ol43?rSedm3~TFVaKf( z_}Y*0FW=p8K$$Ip!@;n+rSHS}o>FuT?P6SAzb_abhsIT({|vwo_;sxD<06oC(=mU{ z!)_)uKJGA2Jhb&&9CXNVW+{oe({jI4TBs4C{FfF0-aGkX^E)e2NFu%%R>14lwj>sF zJw_i=`Qv|!?9?7N&41R8hL2#O|LmLpPnf?q5Ltr0<7T_;oNFcKMQT_&`WLym-zY22 z%L@5mhvS}H8`&5uo4dze(EIM@=#dB?ex|xl31UA{J2rXW%}L9jphA&CE64}b|2+XC zoL_D8=BX?h_cpsT2y&Kox8_?=mt8Q1$X`!=6iKASg7@;vU*J4e0Mv0a7>_yBWR{qZ zY^Y#r<7I4K5a3Bvq}}z_|2->aW)Yx>8S^JS8;Xp$BNU67foSSXh*)`SZ z6Ai*ip#~K|%Tw@`I1im>PAmbT6EPYX(qpwoJGoW6h6`~xIwJwjNFB2uH9;6q>*M)U@h=3skDL&jr6nK?xi~W+eMJf! zw*^swqZT#3vGd^AWG@uUMFK^bwHcdvq0)*s+<7Y*-m0m@QNX;sThT#>vOo zOjq(!*(mlOlfI-DeuV3&<2&<^a>L44kQU)MNJ7=9*v&@Mv(p|va;77Tq#s`Vn*Nt> zW0;-ubUKADBtQ+mUufxj6$E0(iwszbb$>7_UIG*C=^Q&Kw{n;s=cVT02q#%oNDmwm zuI7cal7aAmhWE&gM<_h~!uTwP)2^my2zYwHeQ}!g1)*g7P$^j4eh=|ZQB=Blff670 z)XEk7y#WP7T)=0%S%W9pYB9vDGlSC^#-j<0y3=%=mD--`hJi3mxBvX~4*aF0uxGck z3g+LUdXs!BEw$ffG}=@DU`t)H$-Elh&5Z1MU{qk2u3o5Kg|d``_<&Wx1T_i&Bc{>u z-#kdpM0rYc7yyFDsC*hl2!Os4N{EIBMIXJ8j_JfwOjv}{yo~OrmH8!{Amy5M*;Qmo zRfze?H8uY~(x#NdoFWD_M>6uz++oHnSINQ7Qp#Ws!x`e=jDuq#=1Jl=9F@SwJEhdBs8 z)sE=iq5Jbilx;5-j2u$`94Kj!W}rIZd@HKF1WN8dBgXlG=2|Benl2?FOAzpy0M+T| zy~8kum|VI{`Y*?I$Jd`hvijh3mb&r<3YZX8>5Ti1g?}f62osWpF5_sv>TBHbf5oz- zGV$m5p@|UZid9Eg*w#~hR}(%Z%e=+2E~Gbe6M69}B)_M-HTNtFK<+Hon_^+F%0_fP z$ut_;T-C7p2l*B`^7pL9X=Wjb31)xAzx2P%#B=ayz^BHO1x%=Nnh{Y^DoHDElM1v6 zX&e}B<;49JO{-Jfi(T&cM-TXu<=g9WQHsC9HgKJ!UK)vT`sDj?qX|04l0 zL<;lug8Ni|_e5q5xdx+K1gbJTacG>eUlrEJ&tT>MLe~lz!2cKe@W>IeNVpN93D8Gt z)O#Nq?GCA7vhe{U6tBT3zTo@qnWjiKCeWJ*Y+oDyjk#d^`WXJm)akNOfmLX}d}ri) z(%UPOPu~U}gQDxstT{@?Q{l7f>1S(o;A{1_b4)7L{tHb!y$OOEy^du>$agq(((Qau z!j|CH!P&q%_x)-#2na8t#-^67;)_1_l@O`fqRuf0C}LlAj=U1UqOxVMC6+2!Zj(7W zbqIZ`+CKX5SU7X$^9xSN=IZ{}PwfSSo$H|!L9APXzdLJ} zn~D(nv8gF=re^`LZ8LliM#w%UyXR{N1;m{zCceKfdjaT5+KxwU(TkjhD#!ZJGnLN^ z*IvD6IWJo+!1rp`*h8F1%Eh66Y2<95fqN8hy83n?*WJA8)Fd)hg*)uLimHUDw6rt| zdd|{yOnQiw_4R9t`UFvG-us!VkBx&%_a+42g2__N>{MsBv9JGcSy`&iwM*T(({3K` zeWx#(Q|Ze#P~F&0x=%*9e;m{8^prqh%7Ek_dWncHJ=u@NPca8z@fhxkSB>Wa+%b4K z$DeuwPB;jr%#-yItf`49qAa;sXotx|<EFOzb;ECGLkVP<=?`4zW zMCf%Lx*t8pviV#D9ZM#=GDT+R!;r0>8RvJ+xjgA^Mi^ zzx-t)qTWQV-b$TCL_)&5yiS%O@u=On_m3cE`y>4P7x=%lxBpm{%7HE@N8oovXEk9c zvcg$v;(bIi`(}-={Ho+d=$p1%XX*vO4wpWZ`bB~o6$SASC7)P3KOV6V3-l5wL$h)Z zph(I=DDyQdsz6tY?CVw6a~>e~EPobf*qrI)_5OO|sW++|OLa^^9oAV?wUc33eAY$0 zf~D7BJQ;zMu#{L_a8-?rl+Y}B!tNp+Jfi1CN<;b#k%Y#1aB$EOqzBHZ9B*%0!J?KT zabL^XBC1bMPPd#PF@{bFc~P6}oD!Fz?Qw~7n=#+KOEg9ePqCZYU*I*4GYIJMh51}& zps>W}9xX&d5cT-OuML~iVQdW4lxBGiF&JDTU7m>>MjpX~7iv*C$lnGVqc|LnoZx?S zVK~=+C%Yf67%+Bn$}I=Us8%{*>Go$DzA|)(UQv^o+@9j{zi(*&A4W>|I8vj$eWhyi zQB{IK;U`f?aG!Qgv@ZxveTw>PZ`CkY4#$%NJsg`T?_0Lj=25v^+1v6hA5A2Dmts=g z_}{#+1T)}2P7_=X79d1wY6P}tkhVeQihnE-O>SA^a6Kl8)+RF| z%Als}^j-hR>JCX>MXC>aOM^Fjsa((?tREI0`XXIOY>%xaeD@QjzFMtu8x}{3-EtoN9f|JA345MDBe95#0fyq9x-~E% zJMa!X#|LGXKaGN%+agSG+rJ#npPgT~A%mA)(06NBoxnzd$aHxQ?zc#g+4}CYd~UD% z0V<6zGt4>7d|gLyYa?Vct*Bt~ErJhsTz;;w(}eZ~?56Il4JllYup9K@H#}uzxqm#> z->*ui)Ls?IwC6})Wq5|}^d&>L-br5mDTa`n?T_Bvo63z7%KD~N)%b?+pt7fLn)j}F z6E;z(@5IL|1jK5+@Aq1Z!17XO>TZ!Y^c{lAd`;%<7bWWAE@7qHpww_&n^4&6RX$L2 zdadt7fnV=fSEX($Nmv*0=T z3txH0ASWLJ$DMKvDEA82h&%&n>5?Rwa9l zC%k$7yy48tFTrs3&HK{fRZ?(GsH%K@^NN8rqX$@nmx3_9wSP=fIc|u;B|^ z<-IP-hpC7-TkLsHSSW)oErJtU8g5!k{b47|8uw&=A7mr>Bn3sYZ&i=l$FJ$2b}7sC z`N=QejB3*t%KWDOv~E(Le3u40qt$0GI?%h-FmGoP#-emI_RbX(uR14* z5&oZmnT@hB_6LXb{0PYdBH|r@00Wq?9*e+AXodXk-PilZ4es*zJjlHa9XsWKVzkYG zejD~XC~$&eg=frkdMpJCTjW}uyE=$RxJ zVy4)-%CNh4U17_>|Cdn#*|iqIw=1PeyaaNl&-RB=C5JD)R5OjtuVFA-w$NgP9df+6SkNc_a;R`aH~f9+0$Nyad*K4M{OPf_%iL z%46k-2ka-H{bVH)3FJNGl45op7S>wc2(+NA2$Q^XhKEa*B;yv9`V|%eXy2id5qYY+ zcN{s-DPI{r=p7uutkQd)xSx_j@!;@5%dfA=%6|)j2a=u$EuY1EQXn`5VCG+9&r94HoyyNuis~`&wVNRo_4Ym4&IrWLMM0jyX-K6D01R_vR z)2P~o^Bt)&V#MJ1xvY8I;S{!4J0EuP=rL=qWUR=^vX0-vJKallD^I4Fdl^I8naKzR z5#BgzEWSka9w}ah3~fr@o$)J3+qeHUWD#>kx0;H1 zui95Vx?7t_AkmIBXG>-z;=B||)kd+YjpX#t>1{CxX7Y<;x^moAm!{GkY%K15wS__` zVq4V7TTMVXL){JRUOw9{d6JpNU#c0BhS(v55PP;%DlU!8Z~Ckkj;V}swlg9)?Y^h8 z8fUx?+Aw-S(^ut8wJG5VZ9!y;i{Jf}S z-h!j!n_SOv@@-LmYP!4hSpEp9|8@Ib$Dn$KUHS9o<@+5Ro>35s(xczllK&Ybga7d$ z6|oQ%-+<0zF~aZ1r}Ts%X=-<>g*!(n(m&2M7{~lkff85T6!BPzD+KgP8<9ZHDowl=2V(o+$Omx(+4_e=&ZLeU2*xw=V_?z= z72+4}bfu8!!~2Q2Af>&$Z!8;1ZsZ$gyw%4`J|p^#B1&$}Xhy9wrZIfhKZU?*bA=y{ z9L7g(=VW-%Jh1uS967v5wC})Oeb{x6q&N{a2~z6o(MbiqqX4|GQh$ezraqn%Tx(~d zW9~X|bJ94-zvnuDn9Jfu1V)NswZR=F(z#6Bf zm?-;z4>bPQqi877a9lM^$J5UfxhQ?qsR`;}7fqV?bWz`+hyzP17$YeB5renS!N_tM z-9WnuXl)VR8#%>aw~)rQ$~Czv)u0!LqMzv!xd<^I5Q=u$qW6m)V|cbBLDFbL3GEx= z2^H7#(K%-jf#HXjA!O_7x?8~cS$mDN_Idgs#ZzP ztRJNWh%9{J?${Gf zR}K#JkdnH2cudGM-=XNX;9|p2gqc=u7rx_mxr0?fAjbAEb$F^cSTZAc`+GKAlqZJA zlvy_;hfXTC(LFSHmNytoL25>wcE>95s;0Lg2H!KRe}$c+XHM~hc!}hDZYi>TksnLw zN*vD~HU z`g~ZY_m>t@g21KN@DqPF%Kd+{QR27KC0dlkwjwVz)Hq|*uV0^FDmHZ3y8XV=*TZ8? zxAi^+(d}6Zr_aW9BQ-2-$Dw$r9)|2b)JXNZM2)W*yy1$ztGZP~EhK9%=D*cH%W@0Q(Fs z2Lp>xF5N2;!4F6@j4@YR$qs#tdT+CTApay5|Mh;e$!oMcdyvFrEH2%AR+`M>s@t;} z^Uds^VN<6&g$np_8Bpa~v995nI*>^80>c_qed3#=mpGYZBxq~qf8jV5Z;nxqY)U_C zsGD|}ShSKsbrs5QKU`=U`vqYy|DNx$N#9SojHwSDD!GX{043{He>-{}=EcN%r8jtO z0d^fN7t!9Zk%ncc*R)k%WE=l^gkbRSG#nO(tY`){g5U9;S0Le zs@gFl@eU>FKMmk?>+1fmmt~zU3C<+YlXC2akdR{zQ)OB-L)7ECG3pcM%Yhk%6T6UO zzEikUB-L(}y&Cq;krycdfGStiqBdkU*;Phz;_FOqI2J$uGMY=2Pm@%g&h^Z#)m+5r zZev)Dt*rgL?PDmT-7}>&ra*PF(5@;QL&R^#s2tB940Sj!`?hflJE{Kg95>s^D$ApT z0J4o{#P*D<)eO{+W|7a(-6COApCkHljgK?XpR> zwJ>yhMsRPb@v(Rb#`(6g%ZO4-J#|^00s>|MJ#`cIPQ9gi*$(oTI!U334}QY2>HQlj zDN31o=va*L1{%$m-qcJ!DDWMpz<4id=ENxu`YCQYT1teCKI3NgH?+*;&{+3&aa%h7 z{)aNQI;cX9uvdVIgj&CKXMS%tw;w<(xsc58Nu`IG^%tK7Pfs}So@I( zH$-Z#uxY30n}Kv8jQxxbeQEnyjGMCxw`n6PiTb|DmR?z9lYK_0u6!QpjN z8tfkAx`uy-K0dMQ3s%!h<_$OAlx7XBCE0ubs3m*&asc|ZWf|DEoqNIty~vf{3FNBdIQbWj~*oKfRoMW53vn0W*5%Id@_eS9e%fZGxj%|~Y+k*j0@dOjzkL-h z_j3$l)LR!qqE)ouKG!?D86=!mCF#}1rJz?WPS9!)>&@;LGKODFi8HvCP^u9ir5GxYwpyDcR@{fWyx`xj zSnSHM>VwBpCc&Owqx?)l;oEEQo()xp=-K=G`)8^$7mGu3^&(`KLK08eM$7DNFZuij&gO#T^z2y-P3eR~bH$=|%ruu4seVEFCq6+KNj$jcY4ezfIx z2&{+dlCnqMmpv>tESZH$)Zl}<N1hGBt}<4>aFKB*8)1}BA4h6LPoVK zv**XgU78E+!C!(I*uj0GQtg6^1A6S)PB zOsR`3?XIx7lH)<7W@vTD-(SH6p{NPiNUx{1;Xr=O`{bN8>GHJYU=Q?duu7bO5%vyT zi++?Uc?^^`@Y7 zQKC&urnAfb{+kG%bN_SS>I3o!XAm!4NlZaq@Yu*o_ypGiC!dYjdGo|`SeJLfEW9d? zOG#WEffG|^4Gu;R0ILhS|4`6`-_6ZUmZXUNgv5;>cNtw%bDE+1(?-u#(LZ&ymWMr5 zN>`4r!gAzsh0s#U*+6|d>lc0u?OEf}mRH?=<`^CJ&G&kkfnkl_@T?ZssP@Z#wsEQO zppI-iaKgU3AAb|vC5^*hct_h69w_Qn%f3ZBQ8r##SU*-;zZ|g^c*=J^*KaP${{1r@ z+xx}-4G?ok@fBK2Beh|@^qK-c8e$)_vjjN^P$C-avg<*Le^!Dt7397&BBF*;EAG`t>fHpXFfAg z8es4$MS0J-&mEp*fPGy50In53C2U19!7{<v>viCl}NLo~#;ma0k`WAID!#-(-; zZdhs4wpe!;$k(7jeSMN9MM5@PzwtbAd0?$~{6pb^h41?Nu=rMu^P%pX1%c`ZQ$h_m z2qE{!q|S_uf&+lqTa6^Ok6~O;@@kkAyo-yB|{S&o3J`rmjoETAgnyX{}QdviY z6K+MtzF}@ltvS`xblGj|VwKqs;_En~h};LpJp$JeOZy z)2I|kc~8=dPmiP>_{F>4ct(C?!hN*K#_OR*p?~M~j#CS5nki@d;+`$AktL2z+7*xe z82Y=hdS@w{tP|CBJryl(P#=u1S{&($r%Y`+XM$rVsGog|;3{ioA+_^Ua2ajsf%cdm zRW(tb;qU9W$6sZ?d15pKcE&rJ+@_}xe2>j`LEV*y7qzA8&JY(=AI?hIJFs~)5=x@o zmkFBX&#YfqI>!X(g7n*RYjaZ^uapT{#dMO9^hP4m=>3))6RGF)$ovie5@(38oPdrX z7VmDUc#5t6RF7Rk5^sHBKu$d8A}JN;p0*!vwfE@DlNy?aWO$alGB-z5X!Skk08ikW zL*amXf=y8+1h164Ipat#_{Hs9x#kzcK%cc#w;!qbdfucx>{P0qI1AEYpYiDSJ@0e=zW#uZ`I7QfvsUTI z$L@dr@COnpyDg(;DsT*8Ywv$kJ|`_vYADL)xya$gYh)6g!--<&I;(00;x)Ix?&bpR zsUxn$g@Vu29JCBbJzS1CXWG~ETuWD%ov_|qPtE#JWnEP0PS4%5O2bneha_sYxEeHG{&kA zOzu+Y$=5kPE4ru@_+_$g@9j1de6JsC6g%amz05|uF7o_c{<*lE=M@U4QZnoPCzKV+ z4@v$GKRpXM+~X5iPNBVr?aZ3w1cX+_6?fqST?u&b=%@30;&D+QN*JOGFdP&&Ea=EI zZfM`x1Z$x6(3U14pZttrd(I4!tc7a4Y{HJYBrQ+Ff@u7&_BmRj8OLE~cJ*kRM<49D zj69Suk!rJFP5pON;iRtIb2ABw@tJN!e6@|-sI(00f-5T_;srYz7r%jscT6XRU)Ho| zvqqENh{K?9S(o%3t35{N4N1wPqG(b^oYKh?CKa9{>?4siVlfNfKzjF)^`#~$+2>3> z4247ezR>!O6KCX5-owWvhLni2&~)2ZO}xQdL^7%9(j|b99^J02s^Jr@U>N_id;Uha zd4nH!56=gV;qc@vVRTH66|{Mb2NaI9h3f1GMmDY~b29gnE*xNz$+7nsHBnv>&AUtM zHdZ<6`_3z@->k2wkM@S|Jxif_)o;$53F8vhE2`tHUP9}VTITtmE5Uuc#jEEvO0qYJlpvpv7NSM}NJ*Q)=aCH~yL2zr*|L39tTRn9b?v`N$vBN{H`aA3 zHK|ygF+8#nMr8O_hoYtVL%t$AgTl|&t{K?ST)GU|8}$Vl1`MwMLYt@%BgR68Dg5hw zNlNyr@3EZ)KteXC=1}FL%-1;ROnX;;$?*%gH5ybuzQN?^Lw3zbd_JwUiMcary%rlf z+pdwWZq^72!yPPN@ATK{kx11e)NKeCPlT`Q3<1uG0}l@g@~2+{-!PR6PzYo1C@{b#-2JECZasRs>tkb>y^5I zk^pBP>6iN(xm1ro)Ei$nqr(#`;pX)=9^Af@oLm~ya)*$^pPaI^5=K6p6+?b}p&o8L zk7P4hVp2~Lg3Vz-r?e`A25&@lKc zIl8~9I7sj$LrG1(!!@)LMFKm=)rn^v@h$=9*KO1p4EqFyz1BS*fM6hcyiIqw7^;L3 zYGTiHLboBDu~rV=_EpSCs6%bn_X@NCzEJWY>||of`|Ckuw3Jj$G7asYeQsHQsQ2@W z#=DvxgNR8YNE5m}oGtluP33Np%Sa3v!q)ukk)QsI42w6+TX5&+Q&oH!LZS_!veiz! zpF~_75yC`>ex=&>=-GV1O+a5ti|3OU~-iP&L}P{K=(~8RhB5ad&(mY zo6CsgGn&FO{rvjteOXHO8~v7B?-6x-j;z)3KU8(W-wnH?C&?F@Tg<|E4g?Hd+arN> zOw?sRlGab*5OZ^~5VNpz1;nG%wLH{Fhn>RG7m1u!fHG{i;#W6ePx@<|4wG`FHa&|NYg-ul=JEmsP&xBA=D_@@sxb22*aE zl~YyPh%|)8BkV3Lj;_%oMV18Zd$Nlnzdq?#J06n7z1%%RR%s0TYM4FbyV*kVsuaiP~= zcXjxniiq|r{~5zoycCAg->E0zD$P^=UO9TMsJ7*Er?ULR|F=K+Y@-ekfgkJlW}U_m z-HnJp;tF`PEC0JU`#%XvbYJn^SOn;u{@$3ZM>Qcb(>XUEQA9e({$~m9| z#A9klb~zCXaTd|8bSxGxNOii_`hWGPe`yVTb)fa%>23Xy8|y;TCv?+ZQ&j-4JO^Bs zGqjC8bsBm3JY~9Mz(uog+;AY3l<+B7IoR+L0m)Q-3WFXP&3F-I6cVVuM2KJ_D;VQ; zb{YO~&g=;-Ow+DYWC)8mxme`+7rqxv>N#A-^4ud)fmG0n7 zZdFRUyYUIKniC5jX#Ktj!n8SpM#ByMpwjCn(;AN^qC`G50|tY$873f2boze%@B`C; zyEM{`=MqHgl0m!V2>n?JphPSvN|g0-xpwTJa2?adk|(d!16~P~EgjeRJ0P#t)7c6C zVK|r&PIcwWp$s7eOxRY;Y2-(XJoQUj-$`Xh5Ka6>YygIjAe=ib;zWk}Hl#L8K~dnY zd9pOK{73N7fywp^u`B$b?u+)KZz8l%@nXlSp3x(=UYnCj%71t|+(*jD=X_ygYALf} zttEe>cbviBXDQ}_uC)(Ermf?&9r(`&1Th&l`u^lMy_vf6>-srEHuzx+(I~4-E_7Cl zyYlxlQxdIkIts^1{_OF_yn8agXa$)LnHyc5>jV9toV=a!RVw{~)FlM}!V`od@9wes z^*CKlJbgp&YR#+SQeHwAIh`VlZRPMC>L=ZQeqTJn%0?ai{R6!(A23r8tr*TLu*UuK z`@z!N5dutyei#{lKSD-mmJzoz@cHxmSp4G4mrM<>Aa6v}U%N`wyEmXye*M2%by&Qj zl^&NvI4SN&oHSI08W+Fw>&(`K|fS| zE?$_eP@U;>{-^Lpo9ZLPMrJV@^~7yiRA&-u<)Zha{wnuNc(YSS>@LM4jb)Tp+lhhr7S3WsJwZ*`A=DV1HAMYaAz>DdF%14w=2+MWSfBnV z8FV*FEmXy;$g3TH4*T>2s;is>+cH=1OL?>f`T|?_2X(HWGT9D4`16e54=>hrEZ5+i zSLe22bo^u;ZHQ!QWjrmZee-94I9CnQRB&>T3S&bu|X$o=@)`cLDRw0&i%qTDB>$*CPagK)N&8Z*z*fowZS< z(eHJ0hV54-X}dHs|D%=g`5_nS9wCOUhXE!!V;`2(-BA++Q3`$`n{ z*s){sM{IsRy5f%VUoY`Hat)xO%(HQFn*Z5WDwyQzBsDR9vn|}E&3HFI!qsTz9Py)o>K((^QaujY8%)L?Ew+WorTllJeIB~@GDwf;It6b;oCkCz<2E^L-p8{*} z4GY6|H{WLrd7jT%&f+kUPZ>@$4Jm5{N4uR?7b7LyX?%UQPv!3`CThh|dAPQaQ`&3o4fn*$s`## zKjU2I-WcYrX2W-g867(TsNtiITh@AM8&Y3;dqWju^>e>f^>=nIKdUeCaCeXPw7Leg z`b*c{y-C9y@obaa`JQjz-tIwZIDhODbHl@9<(G5x`j0Zd`8MO9+if>A3rB<>-joI2 z(B=2-9U0OP$%(9QcEzsnNscyOFIMW0AI>T%enqU4`FZ{pC2{|=^BTLyEkt88vlXAP zA@nNOE_ZPMU4?yC1()6>g3ti8TytMRLir7NNBF6}NAT}gbdsfi%THWA_Oc${!7)d# zd`L>-u-S#&Zyx*1U4VBKc z__Uz{66j$4xZAE+5QMybVv!864c4U41adZ;|QN0ME5y?{X0eZlEZD{}a3M>oC|Xk_-n6SfD*;6TUX9YhUI47C10 zaAWZ?$Sqx%mpZApPh97E4RhR;u3Y)X2+bnzpVYO3TlUv&5U9#|L%S;L^yDOdbF?26 z!-qO>QKcZF0wd_Xva+&mL333qJtHIIF)uD? z@QSC!s~duRUuY2wZ%Q}pvtMRL?c+#fD~#(I@7uRiG74Z5Vtn)UvgN+Q+Sxp#u-PtS z3R-L0))cu!ioAYIBs~1v>8%lH#-+*mHZuWZr?a}cx_fww!IGQa3nx#1^D;-!DSahv5REbKP;yLJ-;Z{Tlj&krc2chGUD2}oHt$0}e5)4w-scxApz(N*{2_j66zMP8#Il13RkDhkCynuLiIPY__7yJmOv0)^1G@R;ehUyhRX&2)XPO9i4Hh1t z!^gk|+54Ha^%GJqUy5&ndDYlu@bliv$T$<>w+YG$^b#a?i2jr0i2?J9>* zL4L(72Z~RgD8(|($12~tfLQScon2bP#XRLSKG3lr6NwkijuyXA zjV9|I+%eB;2DPXOs0!rP*(h12^4`Qhn!`2OHE>mE zJgFSk_%V3NTZ`yz%onq}5stlFliZ;`h^M;Q%Fk4aCtzg)J>hr zr<0{>!(YV-*hhPLSVS_L7<_dd#`h*HL{9eaPv5@v_ynC6%rKiOo_Rssp@>(i&{weO_WP&r!@cMNgYVNc;^$8YJAOD`gLErBz#G1#GZ(y;>!P&KSu~I;0;`^<( zK?q-;C*d3u{00HLEOG7k@10LlGt17`{-p(2GoKikNm?y{taQ!;RO%}ap>J*l4pQ%M zS4aMdfl%9rYYcD$Or~STn*$3hANL-*w)uXLdb`ddCCR<{Vs6fnNRf9}P#E-gj>4ua za6raGXgd~V+*aD#RyuE9Ws=KU#}vQob5r|L<3?L)P_nE4tv2HwSoMBfz0!~O$N1!j zbK3`%+bwEK#mfHo`)k}8QO{rj717?puinBlvLFE$aNaz!SJH8ozg29=XIW5QU$lN~ z^X6#%Vx8wDh_U=TjmBt zU4w7oFAGB3P&-H3rXT~w56G{XI2ix!`zu1jR%WX)etOPGw&6Y#RJoIM=XaQ>0vA*< zxUeWHGmcs-iZ9_Em)H>9Cr{5SpGf;#U0@GBZ7s(`?bI=T5_fA&FvU`p8jt9%P`vP? zCR17mTE9-6ERW7Ylyp+f_EjDhk9IPm%|zZ1Ej2qOPODIz;)i%g{SK5VahAe^Q029f z6}(gUNk#y%eN`zc4c?mi)te;wqGOIq01Owtv!Zs07x_>nmljX#1G397-2Yd5XC6;= zzwZ6tTA5YmF=ZJdnIc5Q%B%qii42)C%S;)TqDX03B&3uyicrQfWF8X{88bH#l6iQp z-_kvuz4yKM+2?s)uXCPr-+#F)YyF1raDA`q^Zs1y&tI(=3jM<`uBF2VgV3<(d$USE zU_D;-V}pvqC>sRC*Z*E$DlMxSbGakV-(^d8=<(Wl{#+1^5{mHenwWf5)GV%#MJ)$XK8M(59N6m6of)wylYs7@Fp)GsVGZNX-VpXQ`VJ zt9X&A(SeR@a3CH_Fj^aqGCokRdzt)(iQ4w);ErS!YHGydO$@UO21U>0lu0|rUDggw zW|IdqpI*t}Df)b{peT6Otla%Xj(mVey~2B;!uz#kvHj^8t4I8l+-ykjS2&GLfCZQ* zD3l&|1J<&eo^?H5)`U$vQ;2CIv)$>K{8%uo(m$5*SU6|j+AFP(r4+km!`@4jG<~>Z ziF38YIZTEPI&yZ}_TCT*WIKc(u9Nzj26L0!K^92m9< zps!@oTL)KdY4IjKZqQr94e|P=LzkBxeF#jDxcB0P;+#~J zI_VJl)Rb2~=_%&1q6&8p0C*hk`+lr3z@=e}i;LYL%lh5O*T*N($kihxhXRLEJ0R-1 zj#_;70F34KPLJzxJT_KX&({)2v8^qtWQ@`;a}Y^8o|1mkYtL0~+0Ub}mj~U3y(aPA zb>q#%##n7Cx}z}m?OW#Ak%+(+RfqRbsOAflnyd1T54U&Jx=*+ep0JV9J3VXXv&IGr z0-B2Qq8ERze=Loi{OS8`1&Ks*?_gB(zWkqX`TqqRb(D;uu-^jtyo-M!b8>QcuMWl$3IdDB2tK=2Gy1Z*?u2%Veb zkcf<1IqX*Xe_)?JBUduSR6%CQ6XBvQ4tvxHyI+*(9CTxO3 zJRd#0VE?hqwz^4i%~dk_jang?&GZ1*Y?=4y?kwvQM5_oKC0>=V8F$AtOy3f>6!Z6d zv}j0IiRM5aT_`Mwf^U-0#dIg3^`rlg<#yyEELSV+0U;}9-z}$YY|aSGt^5M$o$^X6 zIPi;Ef4v`b?V0CvhmvIK_5n;aK{_bm0U?F)XfWK>SsH}jvQep3+A0I+x*dr1K6=lb zWAR(ObbIODj1j?t;m28mke83M#kE~7hom|eE1}2oX@~n)ID7fPU8PWO5pzb$TPk^u zyad{=2xj8T$$(U5EA$zx@X%@NC2YJw}k;$4fc<2*fVf$v;^0lmF)JGdU^tC*fW6| zK<9E5Wj3*Xpb!o$a6;5eI_+5svAtJN#)m)AABMyRBTd8;+5|0JoZqm-g;q-fLgE(my~sw8BD`oSnqZ6K@5AJdE=RbThZ1# zTV$Q$mQvOhc;_Jd(RdTU_6=PFBi>M1nz$sIscm#@s0tX+ytAW;r>Is|;25`ZvO9nN zq^Rl4v1UM=M%gX=PeutPbTJ}Q*N#^68{?7T;#X!Mo>4gssm>;z*QX&M)RJ8hg6AVq zWcuk@U^a@VB(7(W>t)VUIYuE7 zotM~~eq@EL)Cs3}A2av4ronQ^m4=W|FJi+)Mz7)Z{4)VQTE&oHK~OKa-ZAAl1%^Em z#WMzbnw7rGr&8y2TGOxfqfY((0i+;|5<8Un3z4*iuj8-@zIBEEDyxfdPjB0uG79Ix zXXb-_Q_{#?I*qRLHr@4TZDa19WYDLevG)*^FQi$Z-r}Im?p8|1aq+b90rd5OfKXiX z1?y&N8a@Ti5pXv3{&A-F=9$lryfg%z7yp()?G47zgeb!9Y_6ww^{T<0P3S3Zi60-K z#77zdc4+d)Q*hXr081?|;Lels10V$$utUw8E@u1Me2q#EbO`&F-=lv4i&IZRSka_A z+NftCn0agL@@#69#Ppi(ih3>L6}@lPq+c?xB`enfEyIXfE?m0miFz))oJd)0d(Z=^ z(w;bxqdn*7B|bvUXm`I#^@Y}r_|D)N7^yw`X5OexKr^SQ?kk-SN?z~%;;&tm$H(sr zN4_3ZxD5Nj1VO_^O11yd(FaA4r&%07pv4OS^oA7wWul{^#xh$2g;Y4!GN$! zM*)1+c@(rzcb!7C#4rw%CR&@->L9?v;?i&=OYgs>%8PI>$FIG12iB{M>O%z@(%nIV zDuuXKFc^fBeSU`NBgVx_u^ED46kL2o{7#{WR%b4gkDL&%d(IO=a*(_IVQ z`g{P&Thm(8D+3H6lSCV+|IDme-SEYlJJ6q|%y8u8ZiFeN>`84>;or)@e(Jc4-bm*a260J3(nv= zGoJ5B^k;E^_CaE4&#;XAk`ZMNCqA$&;0F!)#St8`wd=5VEkpnc`IZFcR1TA`!c4d; zzTA|YGz39f%j>32BBdEZA|DS-F!S#qa3hTTX0;Dg`KE^f{tmHx5&0R%FC3YP5Kgyl zcGaU};!&A@#n8ibDtRFPsf>FlCRu5+Y{NDZBb!=|X_qR+A!&9HA+iJ#BvR%<4jj!v zXLcb%dw-34&=<39bSuz6ai#?~uV~ZYD=Kq;axRpv+s?uH-vu-8j3665!E@qj$PE1{ z_9n5m<5@=u96fl1QvDF4M|LfLRO9#zoM07bcd7uQ8a(jb2jPj>24_H0xB}4z%+FG~ zg;Lo&sWyO+o5$os$glu!K)+S?&GXvSU$brwq5Z)0hPzIHep<(yR$*U+o1=uf4{Bex zjey8^mZ<9Bsc?b|=Gc?m7;T$2n$isq5f#o2(Pgd_IE2A7fp|2WhOtZCkmiUq$k0;t zKl08d30Ou<;CMGuc2>-CA@mBG5xRxY9d0F3iT1>&W|of|#-09MVt4q0)j(sNkW0Tm zxXG-Xn}fapvylhtR$_*SaitWIYB%)UbvEETqhIA+7ObI}g(}fL0$&j!?D6n6J{2ud z1w8ZZX)vXKKZd_cwjJ z9F;q&Ph)7tmB2=EC4QR~vMWqUBw7Bv1-R}n_Xs|ON=c`dnoBI$Om8rY@V^6#iJ&R= zS?8^D(GD0xCkk9Lo!XXAJwUUpDdfW}P%ob5Q>djyn|trcZu%j083wO&Q$mGeT~fwv z8WfTLF2Fl@U2;tBK(7y%*|ey=9Eh$jQIER!ft2RzK^Cxb9OO-B8SMmTOqX7FOKG7Opbn0KhVR zn-2+;m66U6?J=0Y#JIl8)&siKKR24U@5@3ug*4kZ zPK(y{R_N?!#ceC`hFb4pvchoPz@97N+ETz%ZjT!dcf7}@ejf89;jEyckZEK9RoG$A zjk4VX1x~jGypqO^0yq|RQ>HNd!w$l@Yqk{u>>z^j`Il+v*3M}#{#wdl7fX&6=g8Z) zrIR~`N308q&jTlqEx_X3lz$csJb2$wX%*+(=6ifcp}#6i^wxJZb}h6G+0``d=z^`8 zO~afg^2Sbo7m~hMB0FlqRV!!O8V~L-{60S%YUPP-Y-Q~y2vR)nqpHicet{h%%aC)EdeYwr=J;LJHy`riwMa78$Mu&tN02qw3UtG^FAQyR240!sd&~AP zj~nQbvN&m^gO}%nLz0s9+Y$`rCEE!%2nNydRLX-Ph&q3lMA668LfoFKi*V31{1eRd z_W=~70=q40P1z}vFxu>9QXmc%{OSNcV7kE`&Fm6oTf^b?9TSjbAV!^#bGd8%g>5^a zE!HyUl%oxVNMWVIkzN-+Z_3*ILA8zjh=$z;T%A-aAxSVsvPK2<>JBzbvRl1jpMmn3 z`!ZI{qcY!lw;JW4z85)0A4)UoIKCU3%q|@z`(8xaN`PW&J;xwrYU9ipa76yf#qoXP z25^+n;x2e4CkHD$zeXF{sAudh7lC28cYu}Ovq~^rTvBjq`&t8><38p;IDJTt_A>Pb z95|fZ01uxP%ThagNQ!%-eFQd;vM5C(zYaQ#fZI~rRyen>%G>3=B(`18FhLSl5gHs} zSu zS8lxGe+KM?wmwjd*%Fy?E&yyTw%Gk^gA&}Keo3wP+El%ZLj@fb^z2{NO$4>XHfZc{ zIW;IhWb4ePANF!LoDQxwzp7xrj@lVjP$OCb2%jXC@SY>hsOXE2vQ#)!!YqyZs*i47 zC8MM2YP4-b1K7Kc->E^vA!C!1;cHmjFf}l#rYv>QI(g3!H{QWRo0k^mD2%Bp&tbMA^QyoS0E-kX<@$ z3e5P|Ldf3)Zk29NYAyF0oMd0-xw=suHzjT+uf454#9d5%D^m+Twfkw%xU;fB7`UA{ zx``;*$QwCAOg|TrgW%Nnw@6F}3wFD1R+_|jKoJW=pzLP!42LV_%MCQC0FyR!%5w&mq8 zJ_^lCo-AjoYZA^ySZh!1e@-Jzi(w?e)$(DnFIY)qIlbWy^m+Mci>yQpjj(36#zkKi zS5lmyBsF3Sa*bI6RY42qmHlxv;4AX(gZ!z*>Q6_@V$*In;lo|!Xlr#c`HDv1?fIZc zWpiS=hz@$<7$?Y@uprqn#!;Db-iOW(vUnwjb?NY3+E_X~KLfgz-TpZ*`iXuNc~zM~^n4ohBHX zB5(23Zhny73;mlWAlo(9jlbc#@t$LR>7KcpvHcN!!wWTMRg+5QI-)^^*6jWpVTZ*z z+8+w-fPCR4Nx*d;JgK@1QS*uk(~tcU^wCd*iq4BmCg+r^UQo^49IasiS)JwVYB037=kDHW2EeV*bx?-eLJWf&Uiz>-%DK+2^+e}l zMIIYCW{9Xq35MG~-N3fEzxAl+g-LA9BYB;ZOPhQ_(FjU&VKR#D!o^`Ox9{L7J9%N{ zfwMg0w*>LkHK9?6H;bS^{i}Px&1VCH8A-r(VNl&I z#@LJCQuOKms_5=g9Xi^h3)WP~z()%dI5USf4qi_&Cm1p1jxu%Z3HC_qrB)Z(LFYDb zR;wuFCNYF(C=B!P_3KzbK&Sa$TB6A1O#JKm)4GAyp_Rsk)sh8DYiO76loJIllC8P+ z{>L`h%u64}gb6V@%r8I^K`Cqa;e>P?Sq^NhY5CPXdUtb#t)MiCfuiS&nMl)vq)pTW znQn)BeFGM6E&G8R^5K0&YgqX$mSKCvBLVSWCEWv!1=wKVzeJ1BmGXGT{;Ysk{8M}n zP7&1z*Gu0&JGJz7yQ#uqe&;P+BXf{F6j)hk4(V%3kg7oYxhNYZYiyXb0>7d;Gu4Q! z58)SSsQLGB(@RRiMleHAz|R}Vo|$o21Ao#xC4pB)`~-2^rFNRBPcraJp*^@$&Yy4H ziReVX8!_Z!F7o7WIDYEp$kma-CVT3?sG=DnfP^X#%w@zx7W?Js*cd;`F=oArM|MHESlktID48N9Xy(m zJg?ryZW*s**!T^yi{>d>7tiXY2Lu#c$Lu`@mN3*jhwH&mbOm<@09n_-2f7ZT0Zx*j$+#LV;pLL36;MoLqD`l6*QR{Oq%O1-2Jg|@}& zR@8E1IB1V_4$OAJVV>P+GT%NoewfFKPu)Z*T%CmWqU(|Tbo|SkZ)@mMFn$PU9mye( zS29Ve+_sAL3od14%EriWK0GZW(R~07W@!e}I8gA58JHcI+^B%K1+ zoFn}0oRi%px8r|NkGJODp-I38a1o%ui{ugoS`}@-phn*KOH__S);P*v6fq?0PPg^eQ^dt?6~tA zm#3FYYI(*MI!_>H)#tGjBJileIjNa}Um1j9;_e*0BZ-u0!yym`o?qA$Q#a3koButD zw(^ymfXOF!mrsgwRHQ3M=M#_w!JXmBJLY$`>{RzA?T#865^;IDU5{O>BeqoV{Q&@> zmiFo%yqgt7bGrPyzdTae3VcbGw_n9cf4BJX(Or+zzv@ABdQq<7jx}?aZh*V z(M_uA7-*EU227r2)*Sl8l9!vCB8wr;Zt?n25Q4gQ*=v%wqO;9(^jkgICr6UPw^)XP zZ<=$8;B&5b_Y_ccuDgV!9#cky{OKa4K~8%{J0L_d>}MLkq-AAUchm85nHYL7SL4I` z_lyc4)o(U;sgZ0K>r|g`&6+s(J}!m@H)GbdpaV9pSQp_f(p|Jf!B@_ z*XW@fFPoxS{m2#<8FZdWG{=(Vow9ASZ zMzdFF73}$Qs$L;UWaLKw^8NmbC)N*ORk#_S!JE5 z6z_)bcyNz4&c_QyQs>iKB>=>4qnPILProk9tnb@Lb4vNryxigU@{YmTC3pQ z(2jw@I0;jG^5WJ}f`A%^I4W4vG?X-~$``^BW2|$BcbIb^!gBel>!ab><4}PZvrzku zCM%bd%bOTMx%O0~_VmOq%4JPR4tm3**e9NmZ5hj<61_0|s@%e1R{3!!YSRRM6O|}X z*u?pBtAK8PudTzXOmo^VOLhfT*$-$IEW!rN?ch;s9iA4kT+uOQ4F5|HK^al?mp7y*7ephMpU1FC#MSYvZ}&Wy{WqG<-=)_az`&g zylWt@eLBw(2Uv}UN65FS-RCDDu!O~Fs=k&&iS1Ly&O8}=yhabL5q0SJYQ9zBnDCCzm3wUKuJ0%;b$D`Zh)X1j3xBxN!MQShWa-#boC_Y5y? zls#+x`I-}l)U^lpu#R#n>_KqzMx?A4*A$cunGHuLQ00N1oxr8YjL&sTLy!dez&Kyl zGqyJLMLiUw+POJ}jW9XUK&_yy`G5 zNi~29MI*f)9TI z2%j<#1?6Z<^rX} z$OZ;0W+!8SQ*&R?V4%N7tQxF*VBCF>HACN~&}t$>LE*l9|i z#jXNnX6!4N2=gMOaK(eh<@qrYF}d!Maj()jJWKxEC6nbCbGlV-E-3+BWU+{A}cU zJsbr!H*Ej)IHj#*b1!~09af1eC4cWD#hN6^+94H}5CLjpeaJ5uQ}KW9V}APf{@oMs z@8QG$bc*9w^@!Z!zgA4KM_-K72DwCYWh~J(W9DB>a-nnaZ&1ZQGp54g-q-Al zpoH&Ce1;HFx(n5npfwNF9y`^w!uBxT@WZn7rzM}|`UAc4p*mNjI8jjXL#F=9 zjo-K8IqOsDAOba$-g3E;z-}J1(Xc9s3kKphKBDAkM%LFkurwq)exJxQ0UK7(tAkdF zbiD_)I6+J2`@7N)q!Gfge!V`|$$sCUIzvf5Y5Lf{3!pt?CbWI=*%Q3%U$fQ+J|u3B z?!`-gN#AIs73v;1v}FPuZBLWgJwUZ?723d#Ts8$UST^eV)CP1ZDCipjKrJupas><%JWwF zP?;;DWH%{$(k#vT6f601^4tqpNQzbTpQJ9J`oX~;m*!0+km-IKA%wYKDN{8Hh+qwZ zy7YG-v0_kQ3bJdl2e6Ip%mX;k+lHnWs0J$A?0H$DyU2 zHthx>$CdaE~4=K)!yC`7vaJPmc0jNcnSz>gtr9Q^d4!kC=Lm}sPPV~3ST2w-`!bp``&u+||&)WJLm)R(?6>hCH-16WZd zo3>mrIzh7-$kg!U!(r`|)JTZ)6i-7>#AT`{n212BA;1Tk$#k~1(5Zh!Z9xVYVT@+h zJgDng1l2Uz>@<8SoeQLLqr<8N?^~V>XOm91{kJ}q2q}UW=u|F-nYZdc2$i2YR9xr= zovxB>T{Dq@0;5=|&IYnd9W`mrY$_bM^qfC3l~O%HCfnZpIoT%2 zo{zd%3teO7G{lfj=q2oWrM~@-pVeZoa;1qZb-Ha-Aaz~G2}6{=a-oa)#kzpF^HgXT zoTsVr35QW-A(&}qpZ)yk!Ll(mo5(I`LlAQAEp%ZUMQ6m?TE-=iG(Hxu$c?2&bONV9 z<>85v+<_hi=Z|LhSFK-i?VnsSB`)a*Dr^MVD{*}MY357Ny{;InjNcm7)BN@J9Rq$bucFBP&RoaF)#7Bjm@Ge<9B-hZ&b#hD{In!$j7Enh7SxvBj1dg zqx~@)y*MI@mf*5eDdC@-p)f36mvdHHr(rv3q`0u&cV&z~3uM2ejYzjXiXWA!JA9Ww zXVLRQdiCC*s49UF09`$lsS_ntUQZk_>k7i(cLz~DbOGtzahMH@yT?T*n}%HnuXgTY>Uv3!_TF%v zz#j4IM-}A=s1C0ZKIiL``*WCFHbl07I+oxTcb^VJY~2{nZGc&S)@%thu6?j00iog- z`tXJO6ptu$75o28O#VOkHD4;+^y$kNFQ70-oD)oCU@oCF5ue@bz|cUkXJO~L(cxO> zccJdgEwru7w2P%^9wpxNh)zeGIeF9>%pTwMAn2zw8Zc6IO%?&vPz`9#w>>E2ou&is zol9SBtdD7yi;x%OI=`2wn%58Nr$sGywO-gnD^$BaZ_!*Z?z{l#DGbunUB~V>pwpx3 zpG=RQ?3!&~+@Qf_KaL+yMtdQR9RDEHsgAflcrU~SbaDW|Rs@Oq`eLB!`>LTT@GY}= z*7R8V$SU2guW~i>YUudn9Lwlh=0%m?8qOlW$@i@%+*M2+Ob>-S^(45)Wo4%ZINrS* zeyw7&VqUnb?kg(=mj=H-_b{gVmU(c3$&yZ4je95fj!*y`K)N-OMP<-K)MxL>LiHt1e- z-_?xf`Glsj^Ffj}YIbsqDF?d1R5)5DN{|5xI3oNRKry+APhkkK!(LF^SY}>$BrCrD zk{oqDAL1y68i^ZFfo=dFC4T)_vqD}s`THY|fpXuZrI_PCy?70O!tSjS(ep{qZa;wt z_A8J~u1k)lKSLQlan^s%@R1weB=seK@NSarC_sBz+&o=QTOWJv{2Lf9JW1E;(-7^Q zg%^CX13gS~?kyfcJ0I!D3Rao(SWB~ZyqJ`wCxmsJkTr%IK&ft@F|8LfhtL*5R|{7` zK6$aE#7}R9hAt(GLhsaoCDBgEZai@?qK;S?!^8#l z9}Zbl5k4#8=gQEu*G^70J{XhrOF zRp1Xcg!ZnxVXh&{wL_-q?{MviwuQxH?$e+qv^j@cqFuZPn7|jAK^^4# zoM*KEIw^Gauf_eZJ^XKxvj6r#*#F=?{I5{$U+4b*>#uoKF74^lW*=|wxThzbT7C^P z6uwhVXE!o$b|N>N>*o^s60p+>PJGXTGCJA85_P-zQC~8KsQv!btK`|=pG*#4R)VAG z1gMw1-agRtixoQTiS}BKH0Ppy@N>JLDuQG|F9^85XkOhmj>>)Wp@-1Oe}20^4HV-O z)PN`Gd<0Smuy_v$bC2Jmdc0k2CwcqgG8jE+`39s6&|Fe<4s21+Y(b4vUw~yl=m3^P z%d)z8h9Ef$jw{LePTxZSPLF2Gxc58au&{K+;f|ve+hY%#yd&k+mqzbhiDoy3K1sX$ zppM-v>(lGgu|S!0KnVh&C$Ix;`35vuAtYDI(W>_`tQCcfQ$u3LD7vlW?LP2M6@8BM z@B3CiGyi$Gal+3pUlBy_Jy6*h^aU9_FH_4SB0ux1&;C~uAvr$e_Wc%~@=N7f70 zbT{0?T^-C(;&ju4AiE+L^mqcq_@A+^<$J=0FN1}EH>Afx3c2sUd!Duqpl*M(+k6Ie z{4aq2FF0~n(=O*O?;KhY0U}Pof*e@RS^Rl0_IGGj(gXUBtPhmhGpdcfFvP$yZEN$A zgr~1j)IC@KpQG+599rjm#_QZ$P}dBB6TYlpIj!&xJ>$))5FL6t81IY)+-sQoUDb5e z$-4N@T6}0L$95vCpGQQU{)unp9byQxg;%?Y`TCaMev@~+bvGI>D~&Efh%^B4Qhwom zVMr5#{-#ptv6J%+^0^i=*nSj{f&P5MgaO5VPgYBNiNi5rR8!Ly+`&>`85}+Mbp652 zR6L>Dd;8jP-tgIizT?KaW$E#6G9Jh9(V@>Ig^Kv1@ zBWkJy;kp*SB%!n#?wSd=aP_XvCO)C_I%)z^&~l;<|0wau`r$j$`eA$ReyBRb!+g6R z?LotS;`A$}bO-0|pEpap8x7=qHlw$?5Pc`{2V?B3C)rG#%t)jav8~c!{T!~oyT|Dx z0^%4NLao9eN(&o%fBV}mo&O8Z;h6_IYY~LCOh|CM?Hb^CvJj{mRM z{68wgme5TEcan~lmLnw>9%=j*ax`+()<_?ee+Z>k*yK(nJQ;fgyt`QQY_7H0de5}? zY-INcyA(>VE)HvHb^dUj-IVx4wlY%FVAA>Gt*&AdTI@OuBE)g<1rYMJ6HNYP>;D23 zTOTq^yYI|%Md)FVmSy7pjjey{*{|6XD5|%KA3F@dm*-k(u_9Ibv%Nz|u(C|lqjRCv z8jR-zRT*bqm|FAo8eA*j+|fkT_-LJ@uCLE(zSE;oe{k54s4r#1G#LNtcCjU%M%CME z$8*oE){*Q3qL$p^GI@2ya{(z{ua{PHzHi;K$%%OP+Q*zv7&EjY1>YE8T>{_Momc`PGF`|6l+^BQ}E|JC+9 zRzlk?!Xguv%gedQ6(n)3>p{Pt{P($!Md*I0yg$H#hC0oiC_eM!OpH-k0Uh^>@Tu%k^gF&r=9u2cSDqDn)}QitJMw5B z=7#`<^h7EmXl+32Y|C>Y%vI*7D$?4xqux4uhdbE+EkI~l4}@iAh(P7j5(@rXdRXGg zQ^B)e-%rB>z7ELWvzJgw89}@A=6#?z#zCOL3;BQ5dNvX!9j^* zialT=Ftkh1uh$>~$XZ+a_09b)^&vT)swe2Ja$#d;?fC z906~->1D;*2e$Ck*A*atk0ks}1=?u{(;vstPkT*=< zvN2s828&xoV9{xj@Uwqtxt7w)=Q>{Kp6-;&a2ESni^djyQM)pY`CYC2 zM%r$N`(a30;t>a13M^BzFs7Dfb9rSx`dkhz(|H%KppO9gvq5<$hH3q>1>|X1`p?0U zLwZW|&5v2~>!85p3f~S6!&jTL64VdvJbC4E1u^T2{Q(+$5?8pUCXPH}E`Pus3ZzFz zOyyI2NB32DR8)+=PUs^Dv(%$7S?SGc<#I_Pe2AkxD>qjtzVf>cB7N@st|@UEc=Rl# zSaWxk!F|SC@PFOpUvKhH*3iF(>pz;4jbq=h7}OV!HK$0v@Ev!$FL{OW<6$cso4Y)F zy&c+TJEE$r8?HMlr-T?DP?&@^+;Ljl0@C(StuXHZdrVR2IDh=O#P!mb-k(}OE9nh( zfR-=tTl7{%IncysdJdF_>wJALRI{D&$F}s0L5X*;U3at97DZu+z4@HwSn#B=W6!RxCQ_hJrcjD26|KOmxlc6(_k30m6eb4M&RgI2w` zCeL`^?9mD9ClA^^DRa=B!Y|V-QwVu4-K!UT+SPS@WW+PT>04j%$o$lh-P-C(2`%$M zm)scoCkBfR*Cnq*o+M86SZ3UNm)ZKo#YHo--q}FqHCK_5udi<^HbhC5m~7^e*Y|}F zXdelT#$PJSb?&GK82`9&|A|F_o{r6ZX#Vo$%f+LY_88hKr>xzH^BjbdpD4I71cER^ z4>DqBxj*ZRQn;~41Ygay`YMsPi*lcfF>XnM4lk#8=YWbN5_xfLKy+?O)GVfKm_kB= zJxVz5#TV4oLGRi7uY0=9YsP2|ndfU<pLUob22Kf2>O0i`&d&W_ve-ULnfp#5BsS?I zG7|OP#n(--e|g@$G&eW5U;KK*m|KsIB_?qa^Tqbd+KJxt2K80&Xu9BgEfqg0zHEYj zwzXkodJe9v176S%-Ie41O!UkVY@EaU*t-Wuk9l$IaUW%Ar!@GMili;RbbpG$)Q&4G zh+rvb7;$(4f+7Dfc@&E!>b?#~(qi{J#{T@n^}kJGg+N9j{>BYvg17VzSLWY-2~WVs z!mkO{@FSmW#kvH4{WSO?RF?wXd+Yb$_j1L_(f;nM@V9j^80}b_!a@;@w($8@q4g{H z`O7jQ;A!P41{YJEdiW35_)#5?wAS4Y-0;^WqHpfM(NmPh5`VYAeGa>qA-6|PuKteN zMdQOk#U^67JlSo%zaIevJT;aJQ(JQ{u0}6K*?jXhrA~~_S#gVk(|3|VIN07P991>Q zG4Asano9qEl)lL;`+%wK>gsBMA>YQ^(c-&z;Led0P^dJBHuYdi&;F)}|+)cx&U`oJ|5cp3=Lsvah)#}{; E0esUtqW}N^ literal 0 HcmV?d00001 From 0427296dcb45601cacf3a98004dd2dbe5f4320ea Mon Sep 17 00:00:00 2001 From: zhuxiaoyang Date: Mon, 23 Dec 2019 11:49:42 +0800 Subject: [PATCH 5/5] update s2i doc Signed-off-by: zhuxiaoyang --- docs/en/concepts-and-designs/s2i_b2i_overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/concepts-and-designs/s2i_b2i_overview.md b/docs/en/concepts-and-designs/s2i_b2i_overview.md index 5c74101d2..e83064b2a 100644 --- a/docs/en/concepts-and-designs/s2i_b2i_overview.md +++ b/docs/en/concepts-and-designs/s2i_b2i_overview.md @@ -25,9 +25,9 @@ Besides, the S2I stack includes following CRD resources: 2. s2ibuilders: all configuration information used in building are stored in this CRD. 3. s2iruns: defines an action about build -Here is a Architecture to figout relationship about all CRD: +Here is a graph that describes the relationship about all CRD within S2I architecture: -​ ![](../../images/s2i_arch.png) +​![](../../images/s2i_arch.png) Also you can install S2I component in any kubernetes cluster without KubeSphere.