From ab6465fab47825399c577727cd3ca27b9d34494b Mon Sep 17 00:00:00 2001 From: Forest-L Date: Thu, 28 Jan 2021 11:27:17 +0800 Subject: [PATCH] update repo name Signed-off-by: Forest-L --- .all-contributorsrc | 2 +- .github/workflows/ci.yml | 2 +- Makefile | 4 ++-- README.md | 36 ++++++++++++++++---------------- cmd/add.go | 2 +- cmd/audit.go | 2 +- cmd/root.go | 2 +- docs/FAQ.md | 2 +- docs/KubeEye-Architecture.jpg | Bin 0 -> 73379 bytes docs/Kubeye-Architecture.jpg | Bin 74916 -> 0 bytes go.mod | 7 +++---- go.sum | 18 ++-------------- main.go | 2 +- pkg/config/config.go | 2 +- pkg/kube/resources_test.go | 2 +- pkg/validator/audit.go | 4 ++-- pkg/validator/container.go | 4 ++-- pkg/validator/container_test.go | 4 ++-- pkg/validator/output.go | 2 +- pkg/validator/pod.go | 4 ++-- pkg/validator/pod_test.go | 6 +++--- pkg/validator/schema.go | 6 +++--- 22 files changed, 49 insertions(+), 64 deletions(-) create mode 100644 docs/KubeEye-Architecture.jpg delete mode 100644 docs/Kubeye-Architecture.jpg diff --git a/.all-contributorsrc b/.all-contributorsrc index 08ceadb..16d9892 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1,5 +1,5 @@ { - "projectName": "kubeye", + "projectName": "kubeeye", "projectOwner": "kubesphere", "repoType": "github", "repoHost": "https://github.com", diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 824c63e..6e1d91f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,5 +32,5 @@ jobs: - uses: actions/upload-artifact@v2 if: github.event_name == 'push' with: - name: kubeye + name: kubeeye path: ke diff --git a/Makefile b/Makefile index ff07506..8d1f66d 100644 --- a/Makefile +++ b/Makefile @@ -14,13 +14,13 @@ install-packr2: ke: install-packr2 -# install kubeye +# install KubeEye install: ke mv ${BINARY} /usr/local/bin/ clean: rm ${BINARY} -# uninstall kubeye from local computer +# uninstall KubeEye from local computer uninstall: rm /usr/local/bin/${BINARY} 2> /dev/null diff --git a/README.md b/README.md index c7bbf76..dd1ade5 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -# Kubeye +# KubeEye [![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-) -Kubeye aims to find various problems on Kubernetes, such as application misconfiguration(using [Polaris](https://github.com/FairwindsOps/polaris)), cluster components unhealthy and node problems(using [Node-Problem-Detector](https://github.com/kubernetes/node-problem-detector)). Besides predefined rules, it also supports custom defined rules. +KubeEye aims to find various problems on Kubernetes, such as application misconfiguration(using [Polaris](https://github.com/FairwindsOps/polaris)), cluster components unhealthy and node problems(using [Node-Problem-Detector](https://github.com/kubernetes/node-problem-detector)). Besides predefined rules, it also supports custom defined rules. ## Architecture -Kubeye gets cluster diagnostic data by calling the Kubernetes API, by regular matching of key error messages in logs and by rule matching of container syntax. See Architecture for details. +KubeEye gets cluster diagnostic data by calling the Kubernetes API, by regular matching of key error messages in logs and by rule matching of container syntax. See Architecture for details. -![Image](./docs/Kubeye-Architecture.jpg?raw=true) +![Image](./docs/KubeEye-Architecture.jpg?raw=true) ## How to use -- Install Kubeye on your machine - - Download pre built executables from [Releases](https://github.com/kubesphere/kubeye/releases). +- Install KubeEye on your machine + - Download pre built executables from [Releases](https://github.com/kubesphere/kubeeye/releases). - Or you can build from source code ```shell - git clone https://github.com/kubesphere/kubeye.git - cd kubeye + git clone https://github.com/kubesphere/kubeeye.git + cd kubeeye make install ``` @@ -27,7 +27,7 @@ Kubeye gets cluster diagnostic data by calling the Kubernetes API, by regular ma ```shell script ke install npd ``` -- Run kubeye +- Run kubeeye ```shell root@node1:# ke diag NODENAME SEVERITY HEARTBEATTIME REASON MESSAGE @@ -64,11 +64,11 @@ kube-system Warning coredns Deployment 2020-11-27T1 ``` > You can refer to the [FAQ](./docs/FAQ.md) content to optimize your cluster. -## What kubeye can do +## What KubeEye can do -- Kubeye can find problems of your cluster control plane, including kube-apiserver/kube-controller-manager/etcd, etc. -- Kubeye helps you detect all kinds of node problems, including memory/cpu/disk pressure, unexpected kernel error logs, etc. -- Kubeye validates your workloads yaml specs against industry best practice, helps you make your cluster stable. +- KubeEye can find problems of your cluster control plane, including kube-apiserver/kube-controller-manager/etcd, etc. +- KubeEye helps you detect all kinds of node problems, including memory/cpu/disk pressure, unexpected kernel error logs, etc. +- KubeEye validates your workloads yaml specs against industry best practice, helps you make your cluster stable. ## Checklist |YES/NO|CHECK ITEM |Description| @@ -158,7 +158,7 @@ customChecks: ``` - Save the above rule as a yaml, for example, `rule.yaml`. -- Run kubeye with `rule.yaml` +- Run KubeEye with `rule.yaml` ```shell root:# ke diag -f rule.yaml --kubeconfig ~/.kube/config NAMESPACE SEVERITY NAME KIND TIME MESSAGE @@ -180,10 +180,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - + + + +

Forest

💻 📖

zryfish

📖

shaowenchen

💻

pixiake

📖

Forest

💻 📖

zryfish

📖

shaowenchen

💻

pixiake

📖
diff --git a/cmd/add.go b/cmd/add.go index 031cd15..4fa4dca 100644 --- a/cmd/add.go +++ b/cmd/add.go @@ -19,7 +19,7 @@ import ( "fmt" "github.com/spf13/cobra" "github.com/spf13/pflag" - "kubeye/pkg/validator" + "kubeeye/pkg/validator" ) var addCmd = &cobra.Command{ diff --git a/cmd/audit.go b/cmd/audit.go index 1553fa4..a628732 100644 --- a/cmd/audit.go +++ b/cmd/audit.go @@ -19,7 +19,7 @@ import ( "fmt" "github.com/spf13/cobra" "github.com/spf13/pflag" - "kubeye/pkg/validator" + "kubeeye/pkg/validator" ) var config string diff --git a/cmd/root.go b/cmd/root.go index 67f1de3..e94c0f3 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -25,7 +25,7 @@ var Verbose bool var rootCmd = &cobra.Command{ Use: "ke", - Short: "Kubeye finds various problems on Kubernetes cluster.", + Short: "KubeEye finds various problems on Kubernetes cluster.", } func Execute() { diff --git a/docs/FAQ.md b/docs/FAQ.md index 9a90ce2..d76c88a 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -1,4 +1,4 @@ -The main purpose of this document is how to recover and eliminate the problem when you diagnose certain problems by executing the Kubeye command. +The main purpose of this document is how to recover and eliminate the problem when you diagnose certain problems by executing the KubeEye command. ## Node-level issues diff --git a/docs/KubeEye-Architecture.jpg b/docs/KubeEye-Architecture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b89d2b370b1da110c6ffdab8acd0142d732f960 GIT binary patch literal 73379 zcmeFa1yr2PvMxLXcPBU`XwcveAp{E{1a}Co!{81>AVBZ{K>`E_?v}wVxCM823GUAD zPqOzudney_zMS*leeXK!-VEzqFAP01-PPUIRZl%tb31Xn0Kj=FB`XDhgM$OO!hQg^ z(*Owo3K9}B5+VvRGBPSE3K|9hCI&h>1_>TMHUR}G6(t2JIXN{g8w2%y78-JLM!p9u z4>`EGxv3ZgMEE&{*|@klzr6_@Dk>@lItDQ&CNbwd@_U^B?Z@qB04@sL96~NU+)4*&fDcLyE;5eXRu6%8HMpd1Hq2M!+o4gx$PA_4-ewHNIF z00dk_yn7ttNcf5d$oK6CIA2A6M4@?H+C-={xKGPvXzz=PMs$~$gp`h+f$;$oHxDl# zzkr~`6G97uTLipU0b`1d(q zp%6Td{8-wAO2ehJPiSaAh(<)qy-0WPZD`*|_Fo&A@Bgon{l~!mIj$)H20R>W^5Ag+ zVt`#wiiJJ&Sy!4zRaN_Q5iCPrEB0ukG+MuG8!5@s*~^M-fuJ~GRPaDy8hD|B9ZDYo ze+%e*wb*!tI1S#&EZhV%-2z@yHR~TUo2Q(!hui{!(tmtGWlkyv)w%dJ-7Vm8MbIt4 z_q_2uL2MCuKkf!?iUEqgbPHIrau5FfKELJjd;R?07yqGXe(R0jdiD2t@%udeZ72NA z@cMsBAD$OA92WbT!|y2kWNtR?i(S8=B)bKa=vG35wdPXq1T+4=ekFqj%;LKIg(<+5 z^5ej$TmKdU{ab6y|O zk)PIM0o6|n7QmPm3`j4q6q|H+tJ0{Oq|_)}dOR&5%MwCr!_TkVS51wFB!jSTq`ags zyF1Js86V#j_Ee%mA<;5o#y%T0b|I{{X^M}l72l22tM(?#!*i2JwgE0ysK`(^JMyr? zxl+t20{P=c4m_MfkeEyDvmq%%BYK_(Sd*f_JTbfOBzkRMK0ajgnFj|9yJr>&GGCq< zw`bm)X6P-K-W5=O-D4}Ywy;B1xsi&2C`x-Xx5Fh%5)>Lgk|AV#QIT`g!DRd124!Z3 zBHcE-HKleo%Yuf3BbxMGpmhrGC{@+!b9~k&vP3_K&3u~ALxS_@GY?2FttmaHk<#0p z=(VZzGxFSKlPVeqTj#Lm6g=-e=l2<*t?kb&l_<(Qr&YX{WB8v{BG}kq4c2-G13v$? z4A4Afuj;2vqqy)%IC5p2yN-a0SK%s)oHMx9RYFobmyEwf@LL4GSHbU%@LL!B-=Ypz zcTX@Ko`(;4?1()Lo|82UaM6`gzGeUhO*8ibvq?p#vhmWErb18N@z14Gq<`$q( zMwS)fo;1_;nM`|4gkU*HEPXG`=rrKKQv6BnIhZDE@{>KMT_tbHHJRHx!ZMp&1vkMwSur~ zUFcpIpN(BV6R)U(czHc0`cewESX`yv&~$Imdc@tx4+mL0eFCde9bFr|l^=`3^DJsU zBo~{V){@jsU_?;vWO^GLhCX~G%o%z90!i>ZyQP11XB<*-WazfswqoXKQR@)yrdWFD zj#;>2{@0)E=%h5Q{HeB~zRVYRM)WM#Hc@6mQ-YoL;$=t{ z){}B+Ppsr$k0GOCNS&Gs@IO!pOzD{}wg9fR9(9Ct_MHzquah698?79ZX%CD`O9C81 z{&Hj=J(U;N4^OwIwB1UD50(zO8n|bxJA`v4E<}*Vj(G+LACWKpuZ>RY>P7jmfh>q# zBTClD9~EKOpQX zf{gG<|EnYH^L4c;T&}8&p$kyKCXXyJaiXF2<);omp))?$0zq6QBvW>{X5C_O#8PZI zXsg4Xuakh{PlS^dl*h`yy8`g^R0QYl%iB%!_Lk!I2su6vJ);Zx$> zgYUtXP?2c=iq(`(qs6->q@K>{-nYPRHta9+g8Kp&fjRl!_=!7|m;>uq&(8ErQ{XSo z;PK?*M|SOEFCvt?R!&5$41EMTVY1qa_;f*f8pl3m@=(0&koU-#%s#~Lh_9~>%iCa+ zF%ULcRaat>#TNEAS;`1x>@*-=@k+)jF)q)o&+BWHY2PLG%T{lG^+C+(X}`PkpH9PX z>HO6q{Vko}()mxc({H`=SGxPRbpFRkM-X+frZRkKP9>J)g|NL;Q_M)HFUo?i&`3<= zqUz)#Ca!1B{kGTeJ(ba4!o-~GXl#JpLKGb|)mvJ}07XdxfO=E;S&S#yBPvT*D(Dkz z%v-<&+w?6!k`<(e{puF5@@Rkl#&@UjSZVA8K%giIFmd$-(I`}cA^o5akGuFjb9Oj= zk%JtHs`ZVn@0Kncix4_AP$zZ{@67LTO|QQwli$ZEopr$55srxYR9<~m;3|SG`3R9f z@ez4(gs`2}0xRXbQXM2=?LiR&qTx%l75rrPo2d=Qt1DgQ=ar3R?@i0ALS+d;2H%AS zAKd~%Iiz{A{S9LXm%%vN%*+@8$j;(~$N|RSKyPj^vTilBd1N+w(A1&z`E$KH-q|$Q zT5q<}_p)bvwKR*SZnn3DnU~@{m5Flpr)7~(y+5*sAis1eGh*SGSgS!h=tnvCaaI2e z6&w3vsBBfNTXv5hVcJ7~NHHW*O zwo!-~Ub^&PYBtMwu3}E_Nl~8r@dA}r&w0?|tb%?mq!{ao8x%*mknM*9fWWVP;nH}@%*hAV%bxm=ema5J$ zbYB91I4#C-9mDcH?C|CN5pTwj)&!@WS~;NOQJT5^$}jE@Ixxh$m+$W=9moL(mqe{`Zvokp zn8VWb&ut7BFbj_;gY8;y?5jF!zb_s{Q%m_ujs5eZm-6Ggygig_;A4wEoE;(U&~@g+ z0Frf!;a_@)6o{_#etV$Z6A>Y)Myp;vDL$7WEtuQYzk@oqB*oYlR!t~Q%RqLTZ2QnF zsx+lJfi^)$%c88UfRBEc`V+tT8k@d*mC&o1j*q+2&l$C|uop|)^)@RHt~n11CmO4@ zLp-)td_e+!twfIrn9ZoMe6Zf#Fg%ISJa7r2O;H(n`QY?LzJ(ht8Sym39+?4I1UXXY z!a=X&W#Fqip*&gF@mNloxNN5{_cv7o)IO7av25a7z)mD9gX@#L>y5mBv$NVeQxVNF zZkcO8Fei`m{;@yWA~}+7I@xn+Jpln(i$fXU7FfS6i6`ZaQ!(xg%&m2vDxa+$3R~&P zn8{3^=~*LgiQ|-VerYom7Fx6J!Ees9h_|M)QWLEGWJ| zY}rn~PQwRvD|%r5+)8%D2qIhfOzMl_gb}O%Zo%FXlk3ZY^cxThyVF*FzOHEVba$M5jg@M(8$2i}UIV|| z2kB`jC3DWGFnfmO8Q8Mc*QAQ$f}O5@q=Y;2WMYk1cWXSLlSDM@z1t!y-bvwPA?0l0 z;*~JS#Evc>rB*ury{!180{l>%!qz3U?k!k<{Ny5uH_j_}>uiqbQ{Cv^GnT20yLj5q z4EU@tUg5@PJ+y`EURdX+q0hCnO|0kLldGv8VF;8zFe$9Bt>11iY~8^JvXMEwtbJKZ zYv&i4aC{EIWSa95)nG~Uhn&wbD-tOhs<$r?*!2yLsNAI_7_=$eTZkR3(4S!)ZPHv( zvrxAg#~>!8F}xWPd;zhz1?b~}W1#zAL0e`}Ge*&YWa@*MBfU+oqR>c@u+;i@QpDQK z%ud0V2V(90-m}W1k>ql$~l{OTd4<+p@5kTm;Lije@MQz0B;qQxf zd!$Q;*K3mJ=<#N^k7ifQIISOrd}uv_!0nB!jG|K^Z)iEKxbTiWD@5lK$DfhepN@+Qy`7j~uJNr|d*UIrB$e;TA?cm*fFxje;sO`Z_w!bT|Ud)}ISyy-t zj+aw|f)j56Tr@32hntiP2Xs5L(2wjB}=Qih<$E$NOVXhf_cn1gJ$16W|P<0>oXX#Y(~n}?J!JBfgyV2q|mZ! zA2M&g9}proWma>NRS?}5OBeng&yL)cL-*wJQVr;@-Scnw8MEFdk(NnyRby=>#0Mu!a|NYZ1WC5- zMMzsRS+Z&{6^@0HOb1$!2MNOlT#>}GB}+1V5QPM@CGTfnPLx^g%0}!uEbHvMlw^a8 zfd=#Ur)f=)1cZDLy{j{l!%o3z;2fvQliFJVP2QHI8(#~EVEP=qC_k2&uPa9%W8}e2 z#EGLN`w`;~Q}{Zqk4Pcq z;6~!|D&kSz;k=githg1=2=0uISy#{s+)4+7xp0z)8gfvb87NiOz|6|TE^jj-+`Gff zQpy-$Tx!&ub8-vV8i&u>I;&}H+k>CBbSE5(@UphiTugWpL!u>$CKHHx_T1|MtMOY$ zQ0J-EH-zyY7jt4rn+u2wCl>^DeC>;aF7vz{f-o{1N+)X@i4nADC?16}^mVTT z^cJ8AK9mGF5~z#a0#LDXVLU+7>RSM~pz-2<#JP-n+yeIBZl)a5Tcw;`_S^!Z7-1~U zK$Tm-M=sdw8^`poBOg&9687H$nkDkU1MiE#^IPmtne^YC`adtJsFqeGT`P{SF7EW1 z*$S+6akxCgkGi+WqzaH@nBO`uoxs-vY`)pmKV5LW=c>-G5>ND*P)ZE|hdV1rGzzoD zDAS4d;T?9JyY6H4#;(6;@ZJ0-+y{EC>LU#xPbDMY0wUpCz^CXHw}3%8?NPr4@CA-A z-!0%}E$D`zy#BkPM56aAV_awN4gDeamCMz$(~A+7Xis<+7oFBx1)5ds9UJd0N^FV2 z@2UwI`+z}m#3`qamwQXCinnI8{>!us8I8_rwa6!}2EP3aQTF|rDG#w|=hyOP_Wb6i zdaAFsw!Oj}9hE9#FQED>LR;Xi%aKED#B+SDhI6AOAaZLdPbM_ii)GGe$GTMI9#lCL zq_aF#zC2b3Mh*-Jy9J=QdFkH25}ZfxZ0NS-y{LEb*lD*KV$3?3@7c#2KDbt3OIhqo zPdk@xUY0PoDKEzQVnav^46@g!SHbY!b!ZYz8U+zmhI#7MaO1i@2MYF$D^^z39PJvp zk>@)=9$e*j(JmxEWFE`O_OiK}Q5%|5gEk!Xl^3FG4qSunmckgMBecs#Qe{8|*R8Tf z#*4=C*SO&v2}AqG$+RP$QfG1Qm=!^3ZA24`aXlXIGsN27(cWLKaJV>_9F(<4o%;yW z=-;&ZzxzUB57xGcz&&~yaUFLjkpy=zE*61jI(k*qmq+lqUv=x2=DtE9yHJ`#Fo7A&_kZsnbSd0ZvZ08SV30OM%Q z=xm-YkqpT*n@zzZt~(lvS0b$Yh0j2pdbC}4myX(qd|MPoKm{O(1}ODY0KeZyGtb&j zWjPCs?a+F-wd~}6ozgL3N!F|o)+sB+Cj*@fK}2)ncVpFbDr_HOy%1CGAYVOqkUO9X z0C6V<4$#*Hh+$7_%+S@hQW`tZ2vCEZ5CCpMwV`H7JoWP@>5a<PSU#|)Ee%{9r# zWE+3hII{PI$~=l$9Op2dHZPV_5KG1yAiHoNUvr>Z2d@x}DW+J{(D{>C6I)YZ-0(`K0E~lZ`D++GQ zZu)xr`z4hPv1H|S!OIF7FXY!HKdl(HGR5>bR6RHmRx3HENZ|Ge`C7PlF9E%=q&}oQ z%fZ&J;vr#h)aP6T-iP)wO>O)Ib>iTqdUW*>76V^KynSxFPV`6NG>4;o%hi2jT{<~m zqem7uDbYvS*2dVN-P>Ko^qD{m7gMC_H;+n7G;v>rHJoxvQ=0+S{0GHgGs??Xkunwm zg&SoEJ>H0Z0UZrkmq}E3t<#UV@pw-5>-`Js#Q7xH;!cM2 z_pzp>#}`J6*a}If*1Dks#VHn!_+L~FVyx3S%aSO?MNl?5v_{*^YfN_IL<urMUTo@m>1~|vcjF^OvB9GIW!RHQ@%jufQ2S9t{TiB#1o|cu+a+U}OAmB(F zVshMtQM4ok`qAZ2BT&pgeY2A}n~{%pk!a&Ma%YxVk0`UFyEfg&%KwWIvpd`7>yjdi704I6o7welz%^JDM1Gf+=-uY+o-!m(`^d4 zLVZWAJ&E@z#et;KfOV_6KJjb5aSL#^re*BX9CQdhM_D%)Zy;Gy+{2vy`&G!rR4eKATY29O1}AU%F;P* z*ivn6t`FT!O_nb5T!(Sp7mVRPo`ys6v;+ay7u&t7Y(G2DacjO}VnfiRe4Ial?1?nV zRwv2F{Or3U7L!>ulpwrHzdGWjZBmkTU zKio8?g9r3lZUJ|cuPu+cB<=8eFmh>ugM+V-4+sF4j9GFlwoit7?st%4e5(EoKav3O zA{cRu<%!}|mm*P9ek+~Bz4^UE|LE91?#wB5Fe^PU9X!Ew3%CVHO{t6P+^k=}6Cr~( zsow%Fd53%i|HHfZhnE4n3pAn?^`n@Ftcnw{P*dvGB^z5@l`oPx*eFiy3Q+WGjTc1x zqQT$Tv;SR&C_MA87>W5G4iM&~QfzJk7RmF1{!t(wlklzhIExj}!ViW0vqnuD?o59w zihqdY-+gcU6%43Sr!?*88j*+q{(36mIJl>r7+(c%<=K&zWZOz!#K|`B-Rk<40pqyE zr39?$2<%9_W7B9?p>f7_3rK%%8)z{#Vg?qR=>49r3MR}&67({;8Ye~GLgoi8YM zSVvbg%VKCr{wWIN_{HiId3+tF*HgSvU5x@F=Gqg2l$9W`m6MYb5TS>5EId~*V!`mE zkLWoyl*hC#!HsT!sv{vbg=fSi06K*jSwtISh?j9M#i~@NXi1#L2XIxV))=e?LNKq4 ztI>aB6Ke)xteEm2*5%@Nq;z*HkeMKk1poy|;K@TkTjede(>j|KYVKh%uaB&2>e*O_ zErd=ndpn7VDXa2h*5lkUNW~(A$@ez}{hLgyrQ~|L*w9m`SDWmeQ(jb&hcgdsp!>s6 z`ESVlcXWQ;KkG{RHMiz>y=d?!EC8)CPgcGu;d^QQr|);`dQhnPtB9j?+Or)(VQ6l$ z0z>YW*2p(62u``#!7II~hWy*w+WIoQ@JH~&T21ViTKF${<5=LP#zT0RA6`*eiF%74i zF~Sz-OPJ?aKkZh^70y`Ggzoe|7raz$MD`TfPp;o@l)gJf7?ix(gc0`utzi1i)%52+ z7`TV&BydcjcC~m~^tQtzJA${{d8DeH=0AWT~ZpH=iW%q<=6 zY9tcR6jF*`izAgKm)rs>K^NdAUM)H3T;=*L0I*kBr)sdMALvb?6B8B*(p? z%nJAAAG2m}9|}K!eE6J$j9?s&WToCpsuo9g8f21xex*8+m2mpNddE; z$wiHWwt`mp&D1qmG>c;hedrc29=Y{SQPNc7C)XRGF6MR%pu?7e&9mw)02&4<@~yt= zzhHFdyYVf)1snr2VR#M<$NTwm@Fvtv#u>cZ?aQL^NVwKbxO4c-s+o6fCcSjVUMRV| zSd;P>4gR*BJjwLk)SDo1r`bOR)Lx$d6mt9SDk7=>${|-5T0*T06P<%97m^xfM9rE@QiRsU2KW!0?Sna z+6>#78S1J7e?U+E&!HcxJea)WDz6M`G#^GZ@CB;}%Sgx^z~|ih1x| zy?g7v%xuor1sPgfj!U4`+Dh;7gWj105U-X!U+bKs`UK+Q6Rh03uaQVvKG0k=gL~CS zwn}0UAYdI`UFH@T>2%GP(F68!qbs^#U&5J9@7y8i22gQ7*=7J>Eb}k(U`D)#$cyzJ z?oc|gP?;LJ+0k|3QkF*WBwA8#KEy(jCTzQYgq>+V+>}1MX_col{ZeKsvrFS%h^cYM z`xc74+CUbKm81&iV>uytBRPxJIMslymykLi%W?hcD3OmoH|xlZSO>nJSEB1y;MF>s zw1`r`7G8+uEjp9A+7=A;2_U+sJ504RK2;*f6e5VAalu~ao9`{>VBp(>YTcC(zuJQeGabkN&zhTbSSE^8fbbAXh_2sNinUn^X=W)O>47wuW@cVF$_=w$!HKKdMU8-MzO*ayl|#eCtXXI7|CJf|TwM>&4-HjayhXgtoB5Wlk{f{iCg zR_9JzA3&8BDHUt}55{A^&qogsIt1_8QJq$JY8Xq3`(t)`vWV&}U7mkh3FEBPJ*Aqz@BH(a@*j&_R+khQ$kiUt2( zxXg?(XQVH7DPe!pvYcEs_j$qb&f_(!l~|eOFe5}I0R)>bnx6r9LQ&FDVfD zAlv3zo8wkUM*>Q^6#WCVg?sVIe#GmvexLgYhcD*$Zvg@5TiJ2Tw*V|>*kj5oiPzbd zmS`YHW+~J_QTh>brh3(&V^96_Y2~U?U%9OpPwry)dA>XWoKPsN%U6sQf_Ui4D&`;X z205GPSgY7SHeMI7<{)=e-qGTDepZWD4&f-LLUnafZ_u8VmKZMD4G{C+XnO zj0;Em)k14-0dKV>O4CZ%JoU4to1+ku9cXcS@gBcQka%#PThIFl$IAyH3YiBXnFr#F zd~`f3#k^7#K3PCQ!-f2oiv8^>S_S{h3G$Uta>_@JBkK2n%hJ&C#*&(n#2q;Y0^V2- z1U?K>g2gwrwqU50q}d_7(xzLT9t`{<(}xXs z3&ENnKiP14r_PW5J>ltpd2K!Tem(_dxK;Y4{|f7^c(Psz@pd{S|c=4S6%!O41>6)PKN#Gqq4*;pvh6} zTHe7W8E4q0PSqvzt2^>*Aa!|JWtC~ofSR*&%$g2n88rYU&}d{lO`brr!+!roy+=d+r$0(iq{P>LuY>jg~85 zeXVKzYUf10C3r7X4(P;M`;I|KGu?!xdL8+Gdewe%paTyi;$`lsvCI&^vFkEpAY)PR z&_}~tM|g^%CUWqQCOyim>D$Q(}WtX>2}gMJ5Ehk-cxg?&P6bT_u=67 z#vh~!GSX%vnzGV)uk%Uz0Ve&@bItf1x^Qig3+}nyIdE)B#K~-}{w}Q4mHk^!QSA`d zENyIf|44WrPv$<9{_AU%l>H*HuN|M~&!64`&Lmw*rQWtiN^UfPEb(%m4$#U=Z~X zbKV9_8~yamAAt3L7hCgRfW?0pZsaK;+*O6wVoR*j9$j`$HhFT9R}jT!_S7!Z%hJ=r z4aZL4iASLny^}|VWCBN6LDyTVn{A4WGdM3qv-5H2lX`7veJ|(_-r+xD?f*t5)sIMi zUQIx{S*E6}8`y!OzRqYZO6v2aM~clcoMow#7@oL=+fAYgLPB`nBQay2TR=YYd4^47 zarMe6Qf|iOc#zmg#uV?n`NJ{EwwdLd7~v<_`FG}e#wr|p={uy$uXy}xT1bFjq~wGs z3%_Gp``!s3l2D#Qj-`&zBF8l|g8ay#YM*4O@mN@`m&iL6tQX3 zTE`-pE>3mWsgYUMYRj?8S55&U6Iq}{Kpo_a_XWe~oPc7sGy5U{6j1ntt54m^{MV1L}zT8@X zP7$$@UsTmrv~DJW^I_vM_=qs>WEFHMz#cf|p=JI_N4VK_?R`4rEmlQj)Z3S5h*H~U z^T{V;gOa?vT+FRn##0SZtgKT!(L20HrjH-BI?yEh9QpH~6|hP-DfKUF%Nvd@(hSe{ zdR!?-HmJR6rF|}Xpak#OH!5OPmKFmk+56aZ4r;oG$&7bOX@9!w|Az%kvlgXBdC zmmf~}qEqZ8O9^yp2$SWJv7@(e$13v12LatyJ9imgp$YC>sIRf(;h}uSXkln{krb+( z(PgnCf?_mQ40hAC05POBO*F_AKysEVQB=y*Y} ze%$NK{Q^Sf0&Of>PblkJuz*}Jj6lq7GQz)7@Sw+4`VVGvK9F_B(RHzp@9Jt=X2{;B zC~Qmdb?mh9L+$2j*!W_$<_xNF)2qk656chKV#WvBz))HE?^|$vPi*Dm#{4N-BTWBQ z#0>la)=kCo{gc`%SfJ+oPtBzFFJ4H7pdiPA7~Ye5@3>0MOuus$3YT^mE8n8|MT5WT z(f?)@k?vmy)Yd)4`69EY8>h@F`#u^cE|3`2tkF%mQ8AlYIh<+iyHf`LF=VlR?egsy zXoZOZ<~a3FLi~56lHyacNq64}^SF5}6l1wYh?99rq)oQ)lu{keiLrp* zT>5fF^wgVO^BquRhlnzs`)PhcG^!eAb)j(z>%hp~uxB3K2GR^4Us*BA5f?6Lye;i& z_CfMGFJQ&~JjEASC!1%LU@u45o*5y^+R}q8Kqtk?Y43hksC~2S#d8h*(#xE`C6t%N}exc&$$#W>a%B1VJ|-xJsnnotX(oAwDfSd$f=C6*g=brLz5#TjADy z8UlwIrnJY|#c`zj)zIvbv5r7bE~CZx6NFN?34OgT5B8+bOVaI+J`G$gDvMS4iDYEu z0j2Q4MmcXH*!G%Em<64GPzuY*-{6pwB)Frd2E)#AV4)_5X7DK?_~w2MEF$rTXME6B zcAXfHK@^sJcb#jZ#qF{*GnBNx4$nL=j$J9Cr+tZnRY&ebI0j3lfr*4(OaJ zg2v*lG|KfLi35C%+TnEl9pLi^X=RP^y-4qdE{e%RR#p;i(STxHh|i484DLhNMHwou z=}w7G$4T?3A13BM;9h^Rv2~Un(P^Q*Mr~Yk6v~WcHEy1L;|(6~RLEU=>nT5?g*r8_ z*ihF%#92R@Xz`q=c|n$#x!RypV=yIlwsT$JPN4-A4*OoTtn?T=Lq&D{JF;2|UaP<; zx;GWQ?Sq8z{M6ge{I@!1^*&^ugB6C^P3tPP#l+c<~$hQ^n0%4}&RbOg3e)#$aDfZTx2YM9Tv9o1x`(|Q7y z-CdxE#`da`j_+O|!!OKYD^~8a2NpqeP0cCgIp?Iy>yVaaC)zWXX$4)b3IP4H{B1Vu zL2Qs!^d$-=Z5CUb9oec1(W`eLg>%wZyH@y3&ffPS`(lCX!zauh6I9PC49viky|C=? z(FBgS>Dgbxy>48@7Fm5ecgC%4AiiR&kWI>&tBbA}MJRN5=MkA&Tx^Yhp01`&ivx(d zTMpyZU|=aZX>#@Y{#aPfQyyI=v(oCgwJV!AMg_jvK#s2A^U)e5vSPfiR0l^EMCF!( zJ!Wrg2t3+5tgd2AzBVT<`3N#GGs_(i#T5uiSUFUDMKXqbc&6L|Jq8BA&l4{fT7Hks zBma!_{~7d8*x{NYnS9jBJ6`w^)0D6hce;2AkG-^a4T*Et5N!o`5zWHuxE7v^EcYRd zaCIu;b$N(iUIFRz=?mo-M^5a5V#gb+(l{+2rlGonq5NnK`pB6I4hz$XW=@rZG$~KH zrW72qS`E=%)%Y|;)m~=$5l`&WIQL}?-U8qczMYF=jWEQEs~m*;RnBxgV6m+%RxPeG z+MJmoR?7KgzFjamJ={u)WXQ=>oEmLA(9=4QdST%q3AwF1W%~WPy!9r*!uD6E7ThY) zz`AK*f<{WTds&{ZHVKDc7yq_QzIp?}$Q%j6CHC~P%ZO+{X#I(3FUzO6U~dgLe<)o~ zkt=zE*a9s5pQ^Q*oHmQl9|3vPQUm#jfrS=u|SS&*4L6Q}@|c_{oOj zEugrGgSg=Vutr$A*H`TL>RyfcS#Iwa9k}uaqrvC=hFIz(cP-<7K_Hd*(dPXpSN@@= z6|4lAULovcS*y%PZf`uK+nhhywQ~RCN%i+2JCo~kSmgpfiSLyQ5i7`OV+_0sZ<4GfJI~L6xn*d_$VhMN_R*a9$!BG_ugW$*C)zzW}rL8aCa710I zXOe#^hvI+zNm6Wb#T+sn7(~15M;)5lF7@12Xl&M&)H~Y607frbT7Epfc67p972qMS zYE&`dya3TR*EtqI#PZr=Xcgoc4T#R0o3YTSi0?S%SChmvZZv;9XoK1G_QQo95=Ro# zNcL|29%#Tzzj)KVP_41CVrZM8q3)d|@Xp=HP6l(zmgsZ!6!rj{*OW%CM$Tb3S>y06 zR|`vAfJe@tL-3gIm5b4bd5_?9hXsnKM^dBdjYA9dwSqhlB2!H~rLz2|nuJOFkBrH} zxwf8(6}O&*r*o^npFEdVj%YjF#M9KHAu)Dc*979-gO^e@;FsV6cIx_9VAlHCB09}s z3}FQ>+%UCkYwQ$7jj@;C2d)8q1ZZtLXo{X&6sq1JfM8oH;2Sr?0gCX=(p^lsLezr6 ze3{>kraRy+;r;#_-$L-Q(zy5|Vy<%uxufLe=SPr`Y@r08z;$8AXfz_sLaNJ(*KZ@$ zv4&rY}5!H06&r#gXhgw?37?>8Ed zK`4~=p0(S-fkbC+0n>bagWLX$aMB@#taKVYJ#NPq@jL1@@SP6OFFo(pOAHIVm{X-S zadn9~OS;RFd_}B20OfQ_gVM(wRT_N4ibZ2xe6x!-bOPWfpQS8H$d?W5VFWg7wOF{I zAIVx^qcrYKb)AU;LS5HTI%gV?fjQ7hby**dmQxL`d>4z7fzd*8Mx1iz)Lo(<&RqduRyh z!~6R(OBN)PMs6r*sZq}D>l6pCy6*U}4rbupNBJH=`*v{(3* z0|a#7tL@p}u#)w(RpeiFCY$udz~ZpA)X=?E(A&l5#H+SgtDQ)Ngzp-tAs}|5sp7r+ zZgGODu;}!*-&JEwgM>f7QOswdxcle6gLQS|LnZ1s1_#xH@20 z$H(%2MmLPkKdFQ-iyu%X4A!X=jdd^Z$IYr zP@R68qFZIOfpSvB*I{rni)%6nET$b zgdXyXd56pYpVAF!gnT;$2kJ;QNi2lOvWEy}F)z_l4B;p?pMDSf=Xh2jvTI9^(gghTI zNN|qrwn%dnN<|}XEl?D<8UhB{@l$f7 z*@p6Yi}wEM`+Ts~hV4zw5OWIi)qT^+dU#;}l$2eP*&T>z2aMr{wE;e-PlO#aIWS`P z>mQRarGHB0{OJW(RH0%ULNIK9Aprz^nhO6@52$|1@%*uQ`nLDOTR`e=Ak1O6XuM$Z z!Tu?k6x{qn?&nXuy)N< z3*)1+#~^5w__#SAxR!bXIt+6HopqQT$1*mK_hPCavsVjTGui_^W+ z_d7>9n)K&L8oSj&&dJi-;2N<;6nvrc~~}Ye(?># zC=BiX(VhBp5p;}05_{z#liTbsAvGnne2l}>B$1y8A_})u1u{+$5{MF~le=BU*nzkpS<@lyE9QDCIbBBcEAs zn0|~Uy+l(@NYhlm0{+9$V@^%vt5!s@?by9Xq7{ZFpTI9s6bL8;?^K zi{`!&n}3wjkBdJ4Z`|j9LldrJR<0}jmMPQdb+>r~Nbq#;bftGIdMycmA6IC?z~9L; z-}sF#H)$<6(>T zCI^dBY2bhj(v zKygs^@N!>cmYi`sEJdQn&;}UMuuAsUqbBE!8*WhXg_fSyCQ+`Fi34VDo!j3e+V zMW;kwPvn6q=UhpTBwic`8!E>6mCrIff1j1qe+mS`cGZu*y3Q@&mDozMs~NOOtr7P9 z2C09U;&bOuLVMqztG*J0rETbYH#V!|yv5J29 zZiam1&p&>B!*|JW*8M8xS3Uo$^W=|mf`xe~V51g3fMv84H6AN}&wql|T7gM75tfpu zfB7Ki4`P6Se^5|N5gtdni9eBXnS|5D!f9<-Aj6zI`StvAoX7c0(K5;$wrPTf)5i)6 zTT`sxb`!~HW(4*!xNX~O)7Ul<6YqG6f0SH8x6-zl6ppt^uZj}5k5!hp&M3~`giHaA zF`bth+TM9tUNLOFPzkF)7r>aRDl?z*{t+>9bms|oTJ702ObgIs_f%fo0uuN!r8HBA zg%xr!)nEAD0-n4RH$a}IWy;G5pgxFgZC9G0YvGvn5r-#S*Dq~Z>a`hHu8mNs7=0%J zqUd2U>25_ZrFO3NTwX&sqeGY(H*(}yY73B#A!`n(Qz$vh+F1SMzFS{qnlWrI5F$qSf<~zk_w{cx%R1hmH|Rw zHah(WSe*H<4*gzzJ|;*jh}teZ*YE;uozGwQVYh_1S$i^ju;u5>Du7u|&&14YT%;w# zAE(szeQxQ|j|V8wM#&aS<$X0UBmJCfaVNx?6-DFoVHW~k!)sr6_k>b~)Nes@GqJ^p z^UDM58-INm5mE9R#!3v+q{XnHi?em2VPE!<<17}_!dU3T1>J`&SSlJ^EVRTt>#%G6u%gF$rJ(dY`b-c3| zB&&jGAS1Nqh63T^ib$K>qB$!;Mj~a!9prYwJ=!Tm=engV%Cnlq79Waf;HOOVMMTaz z*aR+e;PZZ!r>X-po+6GvsLKZP#R@%;JjpVy5*Mj%Yc=tSgwLyhYu_ozMqX{ADObbz z_|7-O7{`?x0D)nhgzs~CXN_8xdtdSCS532cyoUw*v-u?;J2qTN#ofeaAF`i+;-Q}| zaP@R6q2D?qGl_5zyX0O+asE))?htb!fpG-!`O~DfKP0&&69sNVaRy&rai2EmzD8Zq zA@3rhQ7rGfyGDTxA35Ooy?B+F8LW5}@?>`T;Wo9x{e?A|Qqr&@+s20*uH@lYZQFtAK zmYLvj`P)9!A1+lRY3t_GA=V>vZHt*D&LHpnZhp&|;t zNkkLDnpQ+dhGkoiQFsPPOhyr3qcT_m8iBFR{bTBAzz z+1IWl1&}vduWOY~YnpjIZmAI0Q#WNZu({^_9dU-HN$;@n&F~jG!o=|F&^Yubgp+dR z;4(8w*Tl4&N#aCSEk_+fLab~uosTLHWkmWfgO*37s=tF+4tTsMPZua|t>c%ZmuIeQ zEbuPMB>NB`WDyr89FjahE6V#!{oOJoLF0$ z2;K2VuZVbOL%c*a3>I@P`KGsU^oolJh8Ucb#*Tya)@V(6CSzn3|h0I-nn z-k$02`VRUuye`ZDKdu%K%dk)VhSbA-$|ODMGf23rIqR;_f@@T(zzvn#>f~(jz8numORg*K zl{I*=#G8=bL(svgTB1}7v2Y~IhwKff^6+J%V!;$)QBkIT%LozT1B!cV*toBltE^xLniT04T%H?!#uHX(|F!w z&H?N2oFhAFARw|wLUi&Y`Ht>{yAGQb*4xH?ohh~(wzjV1N9La}*>u{d{b<5iWzd5_ zM0|ocZl1rh#QxBB|M9xI1uTP7HUZk~S6~W-I075#pPAg(55(V=l7D*re~&fxrM*$TeP~}{so&fszFdSGw z{F&8sy_Y@}6Qlra@-nZXO#od5;)H)7LjRkT`2Vi6n)i}@1Q{&m4DL+noSI7dxs-Ot zg-LHcP?x;RhH|G8h5Tsd*MQFIj^Q$`@HTrri+G9m#A-bZ_V#u* zP7rea3#ULHqvZ&n&pweAMl)}%+x4zji4=?d*k;6;pU7HAYfCjG_xnW3Vjjq4u23rS zd(ZNSjorIVO+*+v7iuG>jKGCqnzKtJj@{tc-Vc52NsZ~!4Kw;xq46y*-X0<)g@UC` z8?QCQ0;X6dPFqjbcYAUR$!LqAc-YZXK&$*hGQs`kh+dC8_VAjNqGzbyrfy*x{G|B= z2DU2q)?-m5nsm;5X0=4L*>EQB3CQtMmZaaZ^M7H)#pms$19{5iZ~y0MGlFetMhgjK z>=tsO<1W#%c7BXaUE6#eR3*z%6&)f}9jIIh^El*_F5y~3oUVl*9Az2KkTEJy6YTFm zk})eVb0`<>)RB?C+FnSb<^#1>q)+)S{?Y?CD@V)FtZw!s=?a^*9UtOl>5DC3QF_Sk z%?2B5leof))WPs%%iFgPX3LR|}v4-4&?&<8_R`E%;Z@hdR zmJ66V*BA974^E!fADyvTdp$g59@?<52*0b<&dF>PN%%Pr*&BzvtRVF?S$vPU`t^B1 z#%?TT0V-G~TT9fXM^}5d`jL z%+%${7uvE9G6ZX0h<{iVsHdpjmZ#rgsJddtk*%9uH5x8(3>CgmsvX`gOpD!V$*v5v z{|Lb>^hzx`3MW1_Z9buRHR{;Spc8i6cbTL?=(bYFr9~`U;qpUKK=RR0_qA%uo}3Kk zVB>!tmS?sY`q16;*~+;VxSXbhL&_oKO@;04^-D@acVfMo(eEIpTZcBCW5;AHn!}FO z3T0-_$FQ%aW>GVWa}?rX{u6~ToVhEGCJkZAx;>HiM}*n}73w4jvfN78b8pC^i8L;& zlK8TR+w>`6M+~PPw5j7$nq$wcmh0*(U&oqh?9!O$%Cw(^;|e!Pxk}i=FGXE1$ri9= zN{7wzUz<@@53fYq%HTQUeDqv?F%XnS5mIAfKTqT#i|X%iSbTvqF&`$I$-xV{{{aJF zdcOO7*o!r(sJ-UKh1b2I&sqBI)B(X9a+}J6tHO`n>)K|zi5i3#D93auF} zU7{CJqU=UgF?f~^{kL-HLOo=2PK)#gO69P-UJYd`o)Bm--NQ9O!A7F(oSp<>yA4(& z4`ipywc=JF6?dRg5^IB&IZ1-8=$gpMy%+elAd@;e5;k_RA4uCkpAr0o=D@R z{Omjui{*>aAKrg^#+{OM1bTBo-pXv1wUf--O)>?P(39EcLc&T8(V zO@mj=v@IM;gA@(}rLH&~FMO_I_>QboA&grE4j0nfjN6OeGgR-xxX^QjKM4I7S>y0@DfCoi%&4VfeQcwZ=s=|i~{!hA_^{Qr!!C}>6PKSzUy{zZh-P*=h)>dxVq1o@^cUy_u5(ybqceG5 zEGGQ??L3_I+AVWv*dZs!yp(K56pMNvaFM#qW{`#*>aoqwRS5```}1hL_Yw0g(a-ua zobNX*3SuW0n600qxPjkO!uR`jan-@b_wh&qCLz2>1woI@*Rw{wGvhWNu0 zOeGm2rGO?XMX5r2Jv>|o$Wb;lY=y_KMu@<#hRHNVLZFwd^c5RJ_RViH>!(n;@aEcw zIR5K%7qF=PPG<_%%P_)9+h#H}y6_CgL&fP`uP>!C%>KwM&3s&FR9~T&TKOCCPZ`s- zo*Nl(*oaZ*`q>?E4JgdJ(C&F9FWgK_b0?81lXX-o%_FZHYqe35Iyy&h1Ri9pssAKm zw9u;`@r=CWx}$NfNSpx-3}HyWy}F{<7mNu8n3p+(A~AyVR73ZFU^He$u_5qxHIn z<_D+U8t}g0xic<-0=_s0?<=Y&?=eg84Pur;kfK}<3%ljveecqy5)wJYhb^<{6}zp> zNG(;5yWZM06w)=i>8Dui*|!rw@OfA#bU%6oF8O|-ZCJIq>j#L%z4n7AHO}rG%AI>< z6v!?}rk?MlWVjeKl~@d!`CJLB)=1x@LoCFiy3U1Ql7{(J^asr_4cF+vqn|+!_b3B4 z2J<6%NfsTo*wfvBwKRjmb5GOx@Ib-mQKzQrP)jb0^4f37vOayyq)|~IFNK<0c4KqI zD_li4PUGZGWpPcPC#`DL!u(R05=&p%(BK&&O(yXY3GuZ)I`m5RgeE6Xujuy{8C3Nn zP-lzR&cQ7S#S7I~IQsC~nV|Ui=qz1X+bGwHH8PDWox5S|(lj`3%a=HXnx__er$AaR zvoaK>%zPoKRp$y)6o|4#h30Rd>h7JiP+*ug6K6(Sr1ZcD;s^$BKA9`(Cb=OVk`40d zvkyUU1sE38x-iB%x-nYcmizh}vO^ib?<&H`&q4ltrYWZ>T zm&unnvWaz(d(7v0M$bz2P<^dAWjzhSEp_XKu_loLC=73rLL#J4KktQQW-IL3D7(+z z)i(3Os;Kuwch-s1S$eu3XFD5JIpvfbf!yZ0P??PCVjz*MJ!lj>Z(U^KX;rQ>{p5VZ z<$?Fp#%XfRz&FkB-c6QEkHO1Bb9JUYR5;8akr?Bd+!=E(R=sK4dcqU3*OO8M*An#Z zUooAB@$XK1K^SHC3Sbf?dzfDL>Vzp`CHxl7Wj_wIQ;D!jpE0AJ)G5kK;cX0dd~1oK z>f-lP*}!rUn)N@*y!w=X_+f|(IfwC#`{nrMobW)q09$pI5Whyn`bKA_c3O_Qrs5q* zG+sP8hE6AN3W1xOS4R9V)j&Cq{!%Ibn_s`{s$&P#0cEt1X(z3|c6gU*bWt{#Tl9j0 zB*I@^`L>!6J9@}n89;MA>VMo?p80&66F+l|p-Y$l5OciK6jU+&d47_w*HTF;g0#j9 zwN#IHec!w)A8N4_Kow;&X&u?|jXoQlqbqyrA_18scMe__zcFYoW9LxP?o2y_%nUW7 zzWeQS(R2eDU%%T_YWU{)h4=MT{4cWq;b6WLNS&Rz`gZcHq_U!c+!&r0fhu3x-LX(U zDky;a5Q>JFnUfsw*0~}E#|l0k`@;@UzU)`YBcL?~juy8OVKVqiO5T)Fcj>!~Hm^P8 zcc-6m+Dg~INk*l}+|^T1dlC6erp%ag$Sp~HPQgFErjE#8J)zaDEx|pHt*+8<L!-13;QxS?n--tJPKKHW${fL;z|w{nM}egVSQb!S;KRp z*zm%8LD@@9jnX(Q{oUlj>LuTcdCwb*ssoosIp+M588@fCwawZj&5(T5T-M``$Qp)) z7q~BEtD%3nNd_W&{H+|y; z^t7dut?E8a&AgXvE!Lg$2YSm<`;(c_LV>^E_xxDF*OVNjD}| zQ_RH^MZX0?ekXsA*UjTYR-erxD4fwhPXC;6>rkF6LYXX$m8q2!>Ry{A3i@Y zSd!I1)Pj2)0j8ZPLE3A(?)h1azR0O{n44!h622~H4tXmMW-|RMCCG(>-RG?&gNn)k zXRltAZ1s!d0APDL)zZe7_8sITLFGTpyYT6kW$Q249+NJ?GD^n+ACH0^DK>1-f^3B{ zl*;NtzMMnc;wM}A9paS6XI!gH4n8xL?FWqar*c07CLGYKf?V&NE|_AuyT#;dYpbaj zsqw5Evx+X9NEE-ckt`%=njqT(!aA5QMT+$3yI-Kx$!Aa`;*N*PKigrtD`Xp{dVgS{ zEIjDp5R9C9_~BPI3a%xhin8-KrApN5+%Tz!Z~33mGgy3NVH#S1x~zJO#YE9z<_n3D z6371QO5Y4|U-vv`va)mx01~}!6m)|&p5TD7ZOIV*Gf7B@H~#>t(*NzL5$gKE1z5)V zd764-{U&zDu3xIyVzHLf-};bzi%^%?-PDfx_Y%&}i0-x8=Fgmf|3GN+f0Mi8&tT%e zR&0Z-WFUCyJe)b|MYZPSbWw9My!86`Xewh2OfN6PnXHuIFl)4C&ak>06o25-+$c=y zJzf#5;Q4Y5+v&`#6z5|5qZc03MW>~zFc?1D#O=o7$Ku%Cou|9NbEo-U$Wl!YdXCV$ z%`=m&iS6$o)XPtgXJ*X5gW}GT@+4eW685C^PYqh)L(XZ+tK$5-nWlZFZjt!eqP#V{ z8lF7Z)Uw!%-4P%o(Wr$xPG|b&NJm`N?hI_%f1U?*>SGgbcc3DVY}zQazkry44Vvvo z*9rw%yqIAQ(?%BpPvBNN-;DhG;+M1VzdqW^qxL4N6K}( zGkMGP<^*`>)|!;(*cuMe!iU59qcJCFd&;2xOE3D3SnU;`v`t~Giec+A*QSRTqYj## ziiCLjIyB4JL%c_M#96Hv9Y}VvjC>mfXvl5rp2{n}> zmK%SAm0hJ1@@P#q8#(!z(+kg<-eL)&ia+W-|H&)h z8viSv6yO?9QF1CS;j=Y7aprV~F4ESXMl)0r#%u7=K@eL?Z0Pr#<$sZ(9g*#+vuye3 ztu!;MV;ygqxUDTCnLxsxfO>}HCt}pd@gu)6086;6z;XkZ@4%cv2RnDAaPK|aw<5Bn ze@us*l!zo0iZ#Z=xt7mhK)B}obxPLEo^un$uB(Yb=2Iet01-&H0~_aYlK)UnGWoj5 zgpBe_Y6;Ve1X^lv;ln z!Tk36%YPX7%Ygl3B%+GU?*fjYC5WaRz%f+)8gTpRz&}i4bgz;Dm-cJI8O1sG4p8U+ zu{h`eBsTq(Ch&iJbk83x_1i1Jy8D3`miOf+s`1D_Z-o9+e}s6_eE`MG`wm*i8@+br z|LF)Ie2sM}k*u#hU7lxHJG{uTq%4n+vyCWu>VMCW!w8v=%+q3IEyGG>OJEIVzp8+9 zN}^LXeCdfdli(qdnarJ>@wnV(mRfrEqEOgYnvCNlcO*9Haq-Y4fsJRDOG=FZ{%7U= zZV3&U3Ej`>xvZ1Y6MXF`b3O*5g9?!DqwgR#p~+qF@MUs+;S zo!bk#TI zLgYQCrf{!NQQV6gt^}y;5&uA)D13Q`S+c1n}R+drP4N>6UUlzcM)*%#%Ay6nv?ywU^ZmOO-#JhN%>J1BJ2AWVt^ z-SL6DEGi;YJJE~X1(VV4JIJzYh#OB)Q`aQ?%hl{d-(0WyRMd>HdMRk>G+18t>ftd- zwFd9Kr{hG2LXF3Qqv!j;4tLUEy&S=@M>!1m!4+j$FnnbdCkkZbhR zw1vkF*1Rd?wZf~uW5-6!4C&NzwPdY8YlTP*8 zlTI7hw)}kLAD(poU2plH(*!lc4CAegnsIQI`NeapySmcf8+_Ac))}xiArk5!+kEqn z(iXCa3e3Uteis5dYH2CBbq2PmkcKQ0wJmUjge9c{m9BXKz`_vAjRJuQaO)THzT_9( zF)vDA_mg#be==O*J%srkl>ea$=gV^7R<0Zf=+pPRjerQ93!we50ra1sG{pV-YrYWd znlIEwfuOInxslM1HPdeb&Q@?Y%{J#@qiwlT-q!nu^CePJbd3mYqp9}cZzLl5OMpZq zt`EG64i9{%vB$HD(^TbAFbKJ*yX46>&!&aq#0C3#-F3gJDA zNwf7-`=pTllAky!2-InS;o>S-TZJ84r>cPBQW9brdSWfsj_zD1C0jc2+NmGtq< z85#D<5hsgpjbM`gG^(rtJ)O6pRvWkE1%z_ZS74SpWojm~Ec*-Q2ROt(x_k1=y2bKS zxKuE2TgR-^5~*#L`;vn|!pJ}!K78NR-GPkBBRdIg&y;YSWM|4J40qQf%-`NE9-8`= zU88A+T!F>fC!^@Y{YG-eMG|Vy$q2iq#NEh&9UGM=r#j7@%i9AEW&5cv)UBV5jBTpl zVDqZf?(>uNZdhmsffj4D=6kV+n;^;={MI{4KlV;x5D<=~@t=Oq zlT!sz1r{6s!_nUwC+4TdNd>+pt$*pB$-mz{W8k`3Z7Yxz%AJYHb{m^}5}4BWco!9O zgKmL9wji?HXTMV^(UX3eQe1pV2gC=Fr2G~i)GPc?GTd7K;kEwfy=DD){7zKb1%nFl zdyMZO=Bl)NV~1KJ))a6q`<=&wF6Diw(p=dO2dy=IZ=BqCC>+d6OCsba{)QJdXzg*d zI9>}2=3sg;Z!>i^ee-}1^erhG<()S;Pv}W3s@+>63o-$)g;SyQ3Z~+xvV&Im=HN*Q z{PNc3GpLmR0_v4&NWm)wL05TErEMbl4;@mAF~c5uH=Cqx?$7c!dYv=YoBP69qqiye z`Qhm=-We=(WmA&%|EO{*yawg}Oc43U_7o^@A^k-a_0##KzirQuRt-qOOCQWdjwW!f zh|6FWGZbIq%LV}cBf1nn(QXpy-?iUr+Ag9yI1 zfm-YZ+nerWxapPA^=d_nh?m-&FuD4o$hkpp5z~HjpAmCg@VdCVe;6kjcKd?y`D_Sh zcS1PM?8F16EhbhSt>_Su7_mmOKG#c&iPu?7#>*?SGx;?61^+%t*>$LOV@6y~)mM_~ZRgyo~pH7WX{7 ztEWV?hnD8C>IX7^&=I->qcHAZ3ItF%a;9Vj&8H`AXc?P^`bf%F<5Ni!qAV7X##7e; zMN6z(2oguW^_`=3{xb+{<^5~)TyIS(o3e_4XWHNhk1ShVsS?orBuS3v=V{X}MJ?RK z#l;swWwm2vcO}=UF&sUfX~|l)Q&6dltY!-6$u><07r7qiO{%*RsnOmRj7;CiqB4;% z{FdE0-$@_jK%IPL*FlY{$hLO0cu8Bo6iBV(@j$O^BXql^ zr#0B|=%w9o(uWiotD>XSD{GvEVVhHy!>_9B+KpT-Jolc2bKVS*mwaYyxHwE56dwdy zso}A@IqjE)*YcRrNVC$muo5ZuWtZ2Nw^9{_vA{O#Hn_bI0Onrk)L#+*LgI-HZV}lh zg(v?eN|P?UMy7r`@E4jsrU7pGG&%K3BgMIA#5AY-$jS;cXkwOaEsK;5l_4a!OtzH? zA{B7XN0}0)Dn=3L6)13gwBd8Xc%vaz#QzX zj>k|V;7ISnYKiJa{{)75tyLgt?yEU19l+u}Ie`-MTP};ux zAn_Dbn5sE_I)R5+)!9}j9i}*Io?||4(%0ehcxLQqqNb=9My%{2eEX7f;yFZ~R_BxT z_RgYQkqv|N5JM5&hv{&;2p8UTVG3wUt@|dHH54N+n>y^YGwTz+l-N5OixsR;pOAZt z@7hrrfN835=EW7*00w@LPR@@QfKe9@TW)8CruiwB7@%33gh}A6NMJCN;ps$axvCS= zVD_?vFypP(gg?{b6tE~U<(i#fW1hPpf-+SYYw*&!2(qEObQZciJJ2^SuNh@p9Tu0o zVCFn>5BOw@AwmD`JyTfq?VEsGFDSb41oL3LH8#vmpt;e7R#)B ziHeJOFMmguEDj6WN6DAtMsK}T+N9um^OdiMHA6XPx5aXq>c=_gKCRp)!c2fGCbql~ zBO;ApwG2liJhZdGJJqRheC)_z;e-A3jbPa6PSVfvm^V*g7p{v90V83lIE zs|k2$CFIeTGilgrfdy3R7bgt-R$?%?1)EWWTY)@t=D=rn1OYXpVYLlFg|5{U1~&hZ z$j#tmjB;QBBC9iUUBgHE@T)XKwZ2nt8)^jzV4!7__@tAkfxX?aN49idSiKLrx>G!N zD1`U#_kKO6T>t!>XLv2@bpF9Q`=2+$O_L3M+5ra(U&ts|Eq9xf+$P!R(9_m8lAQy1${3OXASB8^A5couHv{3n(*sDrQ*PD=a3r)C09zI)uaRAB> z5xG=zxUR7Njq_ex^yaYmAK?#<>ZsuFlPHcgMw?B-!YVdfU5~@_Uq^2c>wVUzf|VNF zg~TzIyG>5rx2^u#VH9(w`)cqS|LrcMJR@M3Vg%G$z;nbWD4l|Eg!g zRj2pi+9ZY;3rC67zO;bLY^^(~Jq&m3QZIXEli%0xQ@Zw4BDZSL2HnV0XTi6!G$yPX zsNQ`E0Ydx(Wn<*N6qqiV z1<;NJ3-Vf>UNKNABXrYVzJK}UYN(lB(#=E{gW{*RRs}aX&jGff#D^l6gh21KYKU0v z-B(GF8sc(>cNG8;ypvDxFNxk4R6M3vWNzv{ftaESxNAtITEH~U3p3I;xbJEkjO8n{ zde8OWZ>JQHei>l@!B9-UIXXTMdBF7NUj6yw)drNLF?j{e=5_J{3brq0)8qsTf$ed9 z;HR)-$PK}#7kd0Cpe+LJQ|6O#%~ z7fg%sCX%1N-MVu>mXG?~hLHKRDN*@px4h3bN8y$5_N6aHwTFx~4_p6?-WVx4StS`7 zisETjGmOG?pKF`hptQ@-$7IQBrGtB!0CmMC(S`J~c|-{($V15P7)-4{w0!YA6OCJ6 za>mlfTFKVy)fwzve~*xaf(U@dS=cevwg)=AHVy2OA&uK(phosaV~P;l2As@(>S0A> zsyzk&LgD@;iwWI&vzW$P-5ry?5msHyI6brcaK1DD>{JTeQ@6z}gk)_-_wlFacPwi{ zYsPO)rOsXU9uy%be{>51|EgzIK^-0{^PAx%XT-;GEE6WIV&C?;4~$9P1p6HD^wnT{ zz1Vo<-zrRAaUl{}WcKDNQw4>Dh1!N&4DzT#gu`RAVReN(HTiE$03h~XUhFULH|sBr z1T@>vQjn>DR`_)L_+_ZGT--MMN6K+$64!57l@iUs8NYW_@UK56 zmV(g5`ntEPGk@>x>fd{NzV43^cIULY+4*{qPILc0NT+@uq*#A+B|Xc}7ylF9oP9&n zElp_|BHPd`- z*H}Zu+XV^3{2eWy+|SYBF__qIKD1{h!<2oCTJmI+cj$<%dY8~TDbRfvlD6Vprn>dPTf&;Bz%})H@~f+ zI-CiCa%I1YW~(jH)^dG}S^U*8!q1s;^6jE6Az{0l)vCW^f#jg}fgZ$SjXAZl%q5>& z?Cx{85j(zB!&i|Svf>cZx|w=_ygc8DsK+^=s@{v))9W>}$Vi7_|>&s81zLMh%o8BT5ggbS@;G#xBPoTT>eI z+RC&^Tf(L17UM`9w@)wX;m_jYk`dFuf;>TXPuARDCX~@h!G(^8?UVhn4b7I9(`9=P zeOl%l1xpPnU5KAUL;Oy4UhY&nfr@W=*a9_?B8Z(m57fY!5KjHs*jB=kv+5yp{cj|9qD=(HbsDkT$XtH zrtSJ&9mYXfrse#7!9pX$ap?(GYGA`T`I^QaT223G({{~u8S%-cz(cK!TSJDcpvHo` z0Mn94{k6;muO&GJb31D3%ly-lruevkrK-TgdYrDl8`|c5{bbWoOLtUJUiK8k5=J8R zvGVmRWp6r7yh_U$>x(L_is?n61yN}!ectJud!g_g`r-ELh~0v|2f*6iIqsxtxpcVs zVPd`+e6rJah(egp2ou?IvaGQ~@avij9}rB15j&|qypu6d!;`}BA1=a6s(DY!UW?<(6zt9R3n-09fJtMC$ryG_RjXa{n?v@RE>850fmh<4-WJ zWGBRv@aZ}l2+7CQUFI!p9PFtuf5~5*@E)lS>-vWO!#oF_J>d-D(0MBrl`=s40)@(? zsiPFC$)GHL#?G4X<1E~IEo+a0gDxj%SJVHE))~|>Mu(A<1^SHLFjBUvT~Sp66%@dn zp+bzrZKpbD83mdIbHhjxTaO+|pS`J^uQQsU-BT~&4xc~vS1Favo5hiJW|$%z#9Zt| z@3He;o^ohYpbm1H?Y>O7x;feFm6f5SuVrVSJ!@V?7P^fn#+uHA+~;(TmlKKdJnb_}q}y5F9XX7Zkgd z;3?86GGeBe=lC7OgOJJ|)NM^fWW0dy9evs{8QJ{~D(PL*2)#qF53y7X64pKJQxK9f z(cK`?%=H}nhg>2STv3|%L&UbN^WpXAYqi%*~RWyof2=z zPWIo`>!$d?cw+ku;Lh2WrPG8rb28a1Bb>g2SP}IGqhuc6+EG|IhZyZ7GZLrfRk72f z2b9y&i}NF^s(3N;vnYKAeDt3=UcFju;*N`RgH5&-S%FcYbbD7PyMVasGN7nHCLV3MogmsBK&Ev{zw@X zv&B*M1$T}OO)uH7R<2|-3L1*d$_JteXK%OrkO+yQqh-5Jt?}<5?Xg4t`5l;7^d6N* zHtjT{Pj^LhcPK#9(6ebSU!KUSoT?yQax7e^a4(xpzmzthzwInbxxYiRzX(2!(}8bS zI_2y*Go$j6y}mp8fA->!A$pH4m|0M0L5>|25_tH@FiL0rY}Ok20mD&SgTcz;yM7}* z6Qk+1ZPx{9n~Xc1uNdh{W9gR4k3$aI(3(gOrW7FtBAtjY$6%Opv`gOBL}sy#-R%!n zue>p&3t;Sh`;sKDJKOA&LP?@{SQA8 zh0W89FlUxMH6aRJU?lOv22E8E_A}O%ktVU1n_;T+ze>w~o-(~qCcPh-_svFNT9Po& z3KYxBix&-^>s8jdvfdfm=p|N;UVnB`jB*hr!?Sp*wIJS}=XT)W;;u5t61&^HZY1*Q z1zt?Ce$U=bVE%|;PqV(*{y=FO{!w{-^~$S0xd#k8+P_pXMcikQP54-F*e#p4$P}-i zKS+-@M8}BC=A_c7uXB)rc^-Y0r6PQW*(s;pLwWXermx8iVpbIcjhLoQm}w;@tXVP9tEn*ZZor>}P=>4q z<=M{*oR#(iD-mep5z`ZfY?)V0sf?6q%+wl`{80Ojr`(*ScZ41IO$g;r^A1 zTHPs{Z!8fSF{t)u)x{8qo2)~vh%BNWy6(XPh61P|j{1M|;r{bg>)-ImRuj^Z^Vb?I zDy{a5G^~Y0%}9p4ZPa@f#g5j8lkx>4Mgu@#(T;&?q<9igne?)(KO+x6l`2y>Cq3%F zH~^ML9fttB0$^ZVQcq-EVY{tfoqYq`!`wvX$wx)j>|r9iy>Z_`)Yn=Bd!Wz4&65xL zHj__Q09%^KH2_|92N-WD{lNd%a~oWS1NbstKY+vt<$?!R3&FDqEC{JI#NBNbgujqI z;&L3kF9ayl{?;}9tZ@73Z8Q|n^xCs~z3P}@H%A7gFvFL}FFSm@LOhd6i6{<^agj#; z-c7yH{*dC$j++2 z!V^%Z4KpuFc>60g@g|hiFJ`8$78YbOO)M_<$DF7L! zst8tq+AvX9>Xl^FC1**}lENEwJes3nBLnq12!kczdX@vea01CX!VyPVo7-(wZsk5) ztxNbA%jr+0-#tW6L%(=l@uCxBi+;H+a(CRUckJ_Hn(o_h>7o+C^NQ4Q*YVmK^xGesKaN)(?@(b)uBs>^O=R?}3Q592{mC9%;b7Od#b_%tBChiMlI&Hd+O;Qbxo?4=;kX8xs6s##Z_ zQQG=(3hhCRm}OuftA=gE#TbogA@*aYOTLr|&H}5{^?}mHmP`Rvz4^UrUeZ-$zRjSe zx?%VM!r$Psx=`foL3rt0y;@nmHMqXl)LSrRrtRgQv9$~-6l%q9G=xxd>iG(cBJ=hj(Q?e>(2f{*Fvdn5gd^&O!pP9=|8(# z5(EX@=|hTHH|kh^R@Lk0JOp49HP?aUs?{h-R#usHjb-?8pitLTciQ^CF5^oohDjNhK7b;UF~+9+*c(+9R@?{k9}{S)-(F^*|lRjb1Ud86i8X5uB-D5&uXp5s-MK6 zeA=OUr!4d4jWa8e;6bll{SOT)HQ_}L9@qrLwvO#Uaa0lYiw2HU^82 zQADD)XF(RpV6x`4)^W*_s;YB|@~h)S)J z2sP@q<@Oa=@11p_LGXgZJu?kw|7VHXlhTlpu5!44FG|b-rn^hSS@prY{m+j48UYT| z=2|Hwu?GA%)uSG7FZni=JAKu{lTq>UBPAubc&C7|Iq34zljnkM#v&YReB8T4qKq!s zYsnH~@YygV42L@8IKm8OwwPBSliHddZ;ZeBaK0y)CIkq145?Wpg+|LJbz6az)wY3n zU&L(y!VNqO<-XW**0{%*i`&s@L*0(O=zBn;#y}39cu=w>XrHNP&Vx^IL&t2f-W^X^ zHT*uW$RqamWBJoDpZEEfRFzuu*0fi?LgP8BV%!qDbX)lqaLsP-4{>YpaL?W99hdOJ zc|HnEGr7XycA&DW&C@V}WdkWHS`5HuQXVT&Db-34D z@9Q6>emkuEhZccpew3mt)HgxV?>diY(4#76Nhf4I=SiwxTg}W*&tDBuy=m@!;zB0L zA%0^KsId=D>gd+hW)##8GT1QaOX9!8Mic+cjf0BEoKmzl@qAA##~g~U@|=UznddQy z2=5#l(dtme?j0>%@r7;4g^f*JzpnGHM=AWTKF68QJNpM7VETF;OFHFDd14v6_;oAG zQ7aEx6*y|DmBx7E`8?O!Vd)5X%gk&$h?Qka&kb?37JXdHa^*;@;Ut8rzb79)U#(>_ zV)G?T)pteKh6`nw-dn!)B@a1+HqX75C}!IYLQ??pQZJ96eX=K4&=(B$6fQEluZ3or z9!+I6`h*Q5V4O_r>zD`+5gp$8@t1;h`UY=mMX~Kx74=G4&yY7 zSnitIecT=(q6MEADQeXtNx%9)&8o)Oaub;*x}nfvL-@g{2C;P<`6mo)W=HYLy$vey zhlddS9FMk>Mugl4dCu6<9>6`o*;Ig z840CbodI2O#~TVZoc2!^8E7ntG~Mq)-_l%z92hElwB?a`vNxA9m=?bBSOs9*KX^|_ z^-YEbl=4Pqb0Uu?)XHkE(n?%z#FCj(bBP;*K@_>@j7IiM;4w)U+H~a98;wU4jL~<=B)Wd=axIOx*J$o6Z#1fkW%j%jd-T+ z2i=uZsh{yB2r(KuJNs^gb=HgYP9CCG%XaS@z~w?!TA{>pquVtDdNQ=BlNgR~_ zgA48%oy_6mX3X6OUm%I;mc%5L$8u0TGmBlXI{M0)nIl$vLUy*fauy1j#|Ni}XJ2|M_P}OPra{+M zskJEBl(ta#%d90kk?a!cQ(+)NQ*iBb>>lL1CG-Fr`wC-`I_zm>Nto9wyy^sYf;27- z>zUJ8yf&9DY^baGQ=MW5$~m6)Ax6dQVdtBw=wNy79fNu-!RkO+$$ACZrlsBa19%nj zVB2WW#sNgDdW8Oc-&F7Oj;EUmk1O`L#F$|S5kDS*<=Tty2gCRv*oNs}O|feDpQh`v z=UZpqdYb@u-VB4PK2`5)3OF6|kyxUp?e@HTEWs|FocIo|DgfN0|093;{gcy0anQyg zCP7Sy;K|v$wg@5+~+~G!zUj&EUeBW|OXBnz_C4bJMm9&yGl(*G{3nkRQl!WKvmjYF>6Nl)9}?rU-hVHL$z~`@=6o~PVp?r z6&NPT+;x0VfcDP2jvCV!esmVnHn6pH}+<`wpDOUSl2$t3{& za{w9>mEwW-x;&(*N`=IhAs&<~+=={PuCPMzCUT%QfS`1g@|p()O2_e{#H-jOtjkea zMl_!Ob~Sy-Vb#ehVyJC8b!u-BOIbQhlc`&yAS3ufhW7yPGl6Cr_l6}FgFPVO`n?JS z8{0FdsV&vbj;x4_pNIuASniLDKBZ^E-ePdWwKCCMMO&?6SYlk6XH}?TB_^fIi77fB zu=bghNqjsd=AUCVL=&p0>F~BzaX5SORS~MBq!h&|+iQybTs_o0%x5iHM4u8L@3yrY z=;K04>-@GlR9i^+VwX`aho|BSYp-2dxs27N`I=c}LoF?rdS*@!I-0z~KUL*MLYge6-lBYaNYqg_|J}~Q>@oLG2&jUhp zN*!MTI@7s-PVxpT^Cwj1pQKT99Gv*)?|{qqFF??P8V!i!t?=6Urb zW7veJmuxG1&YI#w+?7XxrzjiiE%-OGp?R8Zw(?MlFCc-HhhXobnAC_GoO!t@m!R`8 zj`(?q=?0gqq=xZ4Fs%c38KC>e02G!2zuoA8M-6Jt^Q#O`_1X=@#cs*7?>zFeH4Jdo z5N)6dtSD*~sHI}horOO&*(9&HkE2`oFg0HNb{#r(GHHJ9A&I68+Q-X<2awyi;ZC%B31f++f98G4#E0=cQM|>|o9~GdX(oNcM zN$++$zQva}+1JW+mn(O00UM$XevsF<4pZjrLOP#s%}_sxpJw<-(YPZuX7Job)4@}` zGCzK|T`jMq2-O}Z$jh`+?;iTz{o`c3Y3s(<(b|EwR2vxo=5UNy0ELVZY${B3TqF4` zv;Th5YXg`-enYEKah!3wmWf(n^8|3-UpGQbMacS%i1#xg>?Eh^I=P6-7E9_x8U>{1 z;Pdtv(Z1b<%9f>~1L+!7B)O(78ae&`>b>I5te5w{ai#hpALe?}$s>@wyJii|I?SndO*rcU&EHg~#NLtU^~?H|^b$w8){q0OGp zUjmDD9OZugI1~IAxEdA!IQrruVEWdXjo{ntKENqA<#^={0EG0bKa>s^%e^$92>LwUto*O;t057=&;7;%uJplx~@^=KhHuw;9 zQF5O?9{5aB5(A7jP()M)bgKwv3M5E^iwk-`#}`MdKBkk1+@Jjhu-T!X*IOxRZT6TF zxoA82C>_C>oI87F33+D%V^`++F+PmZe~p#?TeFcjt*U+&6=J4%Sy5%Ti_}Y99e9U|65aiz{3XnN~X*zNd2A#fg>0H zPEWlgYuk>7A@fk5S|{--9}c!aAE%7jo{1ZgLwjNENu(nH^NF-FaB1O*I>)-Jmg39U z^JTQetBjYHNDyv!GSCT&e#5|WYX(eGf;KQtY~ITKr$36e{&F>F`$19V&PJc`vY7KB zsP2zSE=MjJ{c_je?(6!TQ`(!tN2p>sh)CPqUPJsf{6GbFwNvi+sgK+{a{!d+=+3Dj zAlsy-2&jkjXa1*T06weTaiL6gER>@DmbcSc-WF_1Zh39%@xoo!Bnb`QF~TBvH8tR8 zw)X-ar|0}AMhM6xir*?C$GIuU+4R_w!TB>!9W8}n($t!I!m{@qd~E|*TD!o~3Ibr> zcxJ%T6V{x?fOFy78z7@$qi7j)R&k$`cG#!#&Yeziwo-nbe!R9C`t8~V=!!&l8~pN6;}7~HoqTj@{POtEeRO;mevT%>?c3`U#Rc! z2Z8I?fIYAsj*2`TWzPKehCgWt%IoxNneg1y(5@{QZ1ZA}`1-MXT^`3QB1zo{%`%XR zW=+J6o|%FA;?a`3__r1rj2U7vcK3$;sVwh_SF`uv?|U^sEckDz4)REyoZ5ljYLyO{0oDNV)anNicJN5_E&w?X zl1Hwvd%6;|^g4~iSdwNel>mGb%X4eZ!Os<{rgl{tITpsD_Th`zS`o_b(IVJcHS`=? zzF2N7ZQL`c6>{HoIYzBc+xu+jH&Tx~xx1(&vFcGxasKFhslgX4vALoiVuIYAv^ul` z3Qt!BNwJePXe=Q-s$`9e^wq@2<(A`;%KQQmWej6RHepeZ75C11y2*kcnYNdUrF~PQlJm^Y zHV=$RA2s1>+q$C``6xvFntk<@&5+2fKUn&$*|W5ceU8K-4XrBIv~52o4zz?i4a1%S!sM=-LL}Q|HPELKKDCmFZDmr0e@HPJQQOSP*3+MvZQfI960fASEb-r0Vrfn2?jcB{b3IeJwA+?NK)?}CIefx4fC3SG>hY<`=;+SPP7F^-+c)YL zs!Xl;?jQBKi3L{qa=ANfot?Gq#rg!r3}H$A&}2ul=Z{vi(bL4l-_r6fI$;C)kqUuz z#TDeQ;0rLlh4C8$QrX&qcxvVi>iYipU{SwJlfK-s?})RQuNAs}mHSvF$N0C$YsHBD zgF$c{o(&uYnlU1Fqno5%@bzLUpt3+@pCI($ReHN6Z~TB+f=Q5Fa9x%)tGhy*#oa_n zM%<(}LYB8#EZWrQaQ<$mR6b01v5RmOhWkI8Pn& zO*}TDvjwy|?uBoceQVnOk2WZ2^FCMr2`O#!U3EG0`Ls%{IH90`vF;*) z*2kmJZb+WTSq81B-dh@!T<4ewb#G%E!7p!NU9E_FtKP71`C(M* z8rImAsqiQAB+ielWjnZOWk;)`F9p~>(>Ev^b*Ok8hsX+Gn!03l7axDQek5btv)U;q zJ9FF5)F4p!4z19_RQLmikSa)n3c&E*lCT`DVCskK!Y8-EyZi9m@{yty+rp6;A?fNp z$r2v4E!F7D6$aC-2BYCRH3;*4!C6vSVY+_qXuVLWo}}U)Lv>cOR6kCdy+ZGgRt^+R&_(YA(BZ%Vc?qt`^gw;F-N|x4a%bC>krhNUMnPdkl})> z9xad@OuYPP-HuC1g^bRHW%t?7Fr%8qN3j0qt0a!;zAhD>a_39(XBl(ZYeX~($Sp?tnSk;D(ksL zaOY}pqdtjZ!!|Xg0d`JTyo1u5dfvWBe%UKY9)6v4d!B6A)z%^+2GQaq`N3EBN#$DO zW%=e~u~da_sx4#6;8(*VuBDyX2tbxA)^l6FO!d_ecA|A3u*Z6h@3hjzy-znDrw@&( zhB+HS_HYoEFq?ZX2N{eZ%zT1VELL268LBg@Ku!|CImj0G!MDw~uceM&$V&2*e~)SC ziSLprF?F8z@)HW5whR}(qakuz0PDi3hB-~O5k{!1=)yCb<^$CUrf}ol=BCr6&(K2# zHrU04pvK8yuAA*c+t#X~RhPKCLi%`}!dfQ>Bxg95NV~Cbx8b-pWNZx(rdwyV9^@tu zn?^fp4W4JQ{h)&M>XBU$l)2)wvpiVbST7oUMrJr7d0(~CQd_ru?eiDpihxN4^Jj?! zi+X5f7rWU57zK7|xriZzKA;7!T{q1ZIje)e+*X+OaQjJamgzJN09Y&n6W;n=M1bHZV?ylD@%MkH z7`#H4nTtx+Cu@82^sl|2+0Z@ZmQrcWENA>2uVCku$V;7#_so8{N9Qm6RRA~vj76Jc zq*IQE?Y~p2zwGNBf<%Xb*aUVLd{u=`f5qnj7YI;XlsN=70tD{gx6xHu@v3+=5#E*C zHYk^OKCwfqku_?h$`_CD0*LGW$96`9+MZOc7x*KJX*xwIGsU|cjA!O~>-vhBKgUFY z@gkWqE#yqr3|`VKC_8)h4FHbIu&KEDIT`6aHvC|oeH9YeX^1#YbK9W@nyBOkJ>?<7 zmtB$;=%8q%ZQv)4ANcmN`_u(zKT!2w5C2E3;%Jksvdm%Wt!f?af*#>Qv)O#9?AIB$ zvM#b{O0v`0q$akcl8x|DHq2|MS!|hBN^J*MC=)M+i%t(oP1gb12kfZvK`XS<(BeZv zE1-;r+D{n38M(8qn?X2VtpV0v?oB!O{XKWzt1Tw>e9bQP=~Jst@yL92%x@+2jv|_l zaT0;OfAsVO_~b{U_ea&0N)FC}DU9MTb#W&w1Q43%4T!^lmyKyl*(SaAmp#rp%UFXx zy&sXRXTS~u6$$Utv;wxJ$h8ny$EUxqV{2d?U-=pB`j2a)w{2IWh>TD#>$y_o?Rt0p zA**U(QIj9NH!GRJUD?NsZ!NW6|49|}Xzf2h$F}g8NXUPwUysW>uF^kFK;-i7%BL4t z&8X0p0Aagwh#9O&fVLj;eqM6}@tX$gKQf$ZRmiO{7itkY69+oXJuqO>zpxJiwNly4 zRl)AS-Vj+HJ@7zRt}FI#{18WZ;_y2?73&K6n1(L&DEj8$tbBpYGJgKBH8EN+D6A0q zelN>G2rPc|@clhd`it6k!9Mg&Yu2`!S|@toR{Um@sl&kCyWTd;XFoDh-tl(31;lRA z@!zcx8DNb(qbhgEf{Gn#Fm9T37{aH(ur+^#cmG|QAk)7V>W+xp!m__PJ@cgu@Jgv` z7z=ikQs{%wIe;7?e3?`dp#b!D-q6J0$xx?YNX0DTOSqx_P>9s}I>=I^@-O!Q5S%!Q ziaItG+@@^$7-CweYEO0+tfIph2BT4pkQ3fTMZF^Kcyn{c-3=`EQ_pJt={^k&7QzPDZ zbICqL0^vK5QR&z&!gBW)8~*Q$fza{H)iUa}w^J(y{EyPOHO!J^S(x;P?wnLE31yEg zLQx@8CCo)O4ved9`~HOy;O!Uvk9^J1Yr^APorj>=KH!(DB3L>EQ6`=%twZF{5jSTV zUw_lY&{grNU{TFK)10l6IUtzpj?T?*obAFKHKv&kn0nJI+5<8$bMu>W>BCyss~!6K zQ`L8y&b{MfEuS**tXDanRymeI`CK%(JG%cxNc#|!lQ8A4KhCDM=VYA7Q_NG)${H$V z>U?J~_-hl^KptnNK{^*sBTFp7kmSVq^TWbp-KDTG6tv8g58de1k{_3qL48#@){T&J zlx8D)^k`z_*BnS-IHm~qLyNBqN4AMmixUtz-gNy?J=8yO-Z5T$RnPFT{cFXCQDBOX zAS)9BrE31oqzTn>=XXz#GSVZfI3bv^XTCg7FPq`M1`~>{%36ptLY$Ay^e?lTWVHAJ z&asM{eZY3$I&*({q#~LyX}lysMw`oFv4g#T$~Y2Qo)Nj}mU?q_Fy`{}uWYrDYW|LL zs`Ncjg*Q|x3AHB{8JFxkVQaX$dWx8s;(8S=i}mlGnu5U{qg#g4wg3nh{>^kpoJ{6{ zTT6(m<>7fIC_BsK@FAbpmuA6%qGyz8{9*M%WX02c3%7mz_KA2ZuZxJHlmJ*9Bjp!jgg%{h;De;{Htbjxm(-1qIx_VW zitYMO8M1$^yy17LL#&9rWv`K_w_55N+hq>}dwZ{XldLYZb<3ajk8z0w@%J2~xNZF7 zi1XJ*@{b(lZzyisXGl)9|24(!XCCvfP5Q~0g#N|z^sO#5G47^9S!IGsMYmZ_vLBgq zKHdN#>YN)S09QjR$658$FJchiUCaNe;zuO5&d}yz!5Tf+O_sFq>xz%P>Km`TSCwy) z&QnY^qr^831rr1E;Q?~eGM%0{2Rst}bgf~}WO;d6)(BEOS64Yx#6gA+1n-X;t=iz1~l40OwK3=NlTzZQ%(7H#bz>Sb?~vG<2`04l~^_?=pZP_WM<9C#|h2Zw&AW zb3mxL<#B9kY6CWdAWEH~Hi=c0GKgZywI^B^16rH*YmCPB%l$8&4C7=rPS(cBPC2m~ zCsy=7>zyKljz_{vuOn%B7bZ3-J0xN?UMMtH>akrv({=&(9M4$rd-@#YPsD?UW>|ba zdy1)J>bE>iM+GQJ@X(;(N^^M<0n*?B*8=^;c-l-=KTunw1EQj1%EU?0>@@}NTmer5 z=2_-r%lGefBVjaj5eN^x35h*PMEaamsr;kSHw}Z3oq}xNx|!+cdPNq`btJfr67lDJ ze5uiwB;KZ7n-leX9s_w6G}BbfNF5WlBUSwCm^2)M-Dd#>!ZFNW zV$ICdW~e1`r>FEKPKNOxIU9bv*@37GmfK-KwCgi7Ku3o zh4Hy?V4LYiq6NG!F&xYc%SluEVmo#j2pCY?a~>Rmm@T$-@P;Zm2kebHL?~MXrS@7& z<6qw-##?*SVAsI2sK19%9$zjedjDL%XpzDpbSuVIi0LT<(X31`Iv6%ozqOxUGwuMf z+OIbr{_d>aSYce^`Q{|wav#zbb9s<{@O{wIj*?IHvc&XGU{{IWgxm#EgLK z_{l_^OvK5GIN2H}HsZus{=c_|l61Z{hh#z5XL_iX!pzWy(nRdOODMcqD-L z{ZURO*VA-~d7H=WPWQ6#{>w|$02NXjh4IrI$)dvolD_Wam3wCf;a}6Tzx|~w$DbuS z{x|>4GB&W+R6&pkMhXHrlqWCOy>8OgwSz-&dGN`zGa)IVl~&( z2n#KDY(1{f5xUqdS0Kh+86TA7^-`G%Fu|sb#$Tozh@|>A5ON8z$YH4Hs&&^10U5rf zTHSpsHz6~>Rk>{=_*wX80WCnxjR?NdBs`w9fAtU~f;PwOiywmOnXr1l<^pU&Z=dCe z11x0a-U|64h$iKvtCP7pSqvu|=fpCcSkaT$#K|l5#Ai5hivBws$oa8>UEO2OXN6HB I_^|)~0N66lC;$Ke literal 0 HcmV?d00001 diff --git a/docs/Kubeye-Architecture.jpg b/docs/Kubeye-Architecture.jpg deleted file mode 100644 index 07238a523cc9ad97146cb247f6f375d08e93bf61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74916 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 diff --git a/go.mod b/go.mod index 453a2ea..a75bac5 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,10 @@ -module kubeye +module kubeeye go 1.15 require ( github.com/gobuffalo/packr/v2 v2.8.1 github.com/karrick/godirwalk v1.16.1 // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect github.com/pkg/errors v0.8.1 github.com/qri-io/jsonschema v0.1.1 github.com/rogpeppe/go-internal v1.6.2 // indirect @@ -14,13 +13,13 @@ require ( github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.5.1 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect + golang.org/x/net v0.0.0-20201021035429-f5854403a974 // indirect golang.org/x/sync v0.0.0-20201207232520-09787c993a3a // indirect golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78 // indirect golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf // indirect - golang.org/x/tools v0.0.0-20210115202250-e0d201561e39 // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect k8s.io/api v0.18.8 k8s.io/apimachinery v0.18.8 k8s.io/client-go v0.18.6 sigs.k8s.io/controller-runtime v0.6.3 - sigs.k8s.io/yaml v1.2.0 ) diff --git a/go.sum b/go.sum index f9530fd..b711a05 100644 --- a/go.sum +++ b/go.sum @@ -148,9 +148,6 @@ github.com/gobuffalo/logger v1.0.3 h1:YaXOTHNPCvkqqA7w05A4v0k2tCdpr+sgFlgINbQ6gq github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= github.com/gobuffalo/packd v1.0.0 h1:6ERZvJHfe24rfFmA9OaoKBdC7+c9sydrytMg8SdFGBM= github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= -github.com/gobuffalo/packr v1.30.1 h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg= -github.com/gobuffalo/packr/v2 v2.8.0 h1:IULGd15bQL59ijXLxEvA5wlMxsmx/ZkQv9T282zNVIY= -github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= github.com/gobuffalo/packr/v2 v2.8.1 h1:tkQpju6i3EtMXJ9uoF5GT6kB+LMTimDWD8Xvbz6zDVA= github.com/gobuffalo/packr/v2 v2.8.1/go.mod h1:c/PLlOuTU+p3SybaJATW3H6lX/iK7xEz5OeMf+NnJpg= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -246,8 +243,6 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.15.3 h1:0a2pXOgtB16CqIqXTiT7+K9L73f74n/aNQUnH6Ortew= -github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.15.8/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= @@ -258,8 +253,6 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGi github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -365,8 +358,6 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -379,8 +370,6 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -411,7 +400,6 @@ github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijb github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= @@ -463,7 +451,6 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCc golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -503,7 +490,6 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a h1:DcqTD9SDLc+1P/r1EmRBwnVsrOwW+kk2vWf9n+1sGhs= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -581,12 +567,11 @@ golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41 h1:9Di9iYgOt9ThCipBxChBVhgNipDoE5mxO84rQV7D0FE= golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20210115202250-e0d201561e39 h1:BTs2GMGSMWpgtCpv1CE7vkJTv7XcHdcLLnAMu7UbgTY= -golang.org/x/tools v0.0.0-20210115202250-e0d201561e39/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -598,6 +583,7 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= diff --git a/main.go b/main.go index 84843ae..1002ae0 100644 --- a/main.go +++ b/main.go @@ -15,7 +15,7 @@ package main import ( - "kubeye/cmd" + "kubeeye/cmd" ) func main() { diff --git a/pkg/config/config.go b/pkg/config/config.go index 40c9369..18a71e4 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -94,7 +94,7 @@ func Parse(rawBytes []byte) (Configuration, error) { } conf.CustomChecks[key] = check if _, ok := conf.Checks[key]; !ok { - return conf, fmt.Errorf("no severity specified for custom kubeye %s. Please add the following to your configuration:\n\nchecks:\n %s: warning # or danger/ignore\n\nto enable your kubeye", key, key) + return conf, fmt.Errorf("no severity specified for custom KubeEye %s. Please add the following to your configuration:\n\nchecks:\n %s: warning # or danger/ignore\n\nto enable your KubeEye", key, key) } } return conf, conf.Validate() diff --git a/pkg/kube/resources_test.go b/pkg/kube/resources_test.go index 719a264..f2e7226 100644 --- a/pkg/kube/resources_test.go +++ b/pkg/kube/resources_test.go @@ -16,7 +16,7 @@ package kube import ( "context" "github.com/stretchr/testify/assert" - "kubeye/test" + "kubeeye/test" "testing" ) diff --git a/pkg/validator/audit.go b/pkg/validator/audit.go index 1d32f4c..b891378 100644 --- a/pkg/validator/audit.go +++ b/pkg/validator/audit.go @@ -20,8 +20,8 @@ import ( "github.com/pkg/errors" v1 "k8s.io/api/core/v1" certutil "k8s.io/client-go/util/cert" - conf "kubeye/pkg/config" - "kubeye/pkg/kube" + conf "kubeeye/pkg/config" + "kubeeye/pkg/kube" "os" "os/exec" "path/filepath" diff --git a/pkg/validator/container.go b/pkg/validator/container.go index 09e5f87..b87ae2a 100644 --- a/pkg/validator/container.go +++ b/pkg/validator/container.go @@ -17,8 +17,8 @@ package validator import ( "context" corev1 "k8s.io/api/core/v1" - "kubeye/pkg/config" - "kubeye/pkg/kube" + "kubeeye/pkg/config" + "kubeeye/pkg/kube" ) //ValidateContainer validates a single container from a given controller diff --git a/pkg/validator/container_test.go b/pkg/validator/container_test.go index e54d0c5..fde475e 100644 --- a/pkg/validator/container_test.go +++ b/pkg/validator/container_test.go @@ -19,8 +19,8 @@ import ( "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - conf "kubeye/pkg/config" - "kubeye/pkg/kube" + conf "kubeeye/pkg/config" + "kubeeye/pkg/kube" "testing" ) diff --git a/pkg/validator/output.go b/pkg/validator/output.go index 017368d..eb057b4 100644 --- a/pkg/validator/output.go +++ b/pkg/validator/output.go @@ -16,7 +16,7 @@ package validator import ( corev1 "k8s.io/api/core/v1" - "kubeye/pkg/config" + "kubeeye/pkg/config" "time" ) diff --git a/pkg/validator/pod.go b/pkg/validator/pod.go index bb22b0e..40126a1 100644 --- a/pkg/validator/pod.go +++ b/pkg/validator/pod.go @@ -17,8 +17,8 @@ package validator import ( "context" "github.com/pkg/errors" - "kubeye/pkg/config" - "kubeye/pkg/kube" + "kubeeye/pkg/config" + "kubeeye/pkg/kube" "time" ) diff --git a/pkg/validator/pod_test.go b/pkg/validator/pod_test.go index 1eae91c..e6e3025 100644 --- a/pkg/validator/pod_test.go +++ b/pkg/validator/pod_test.go @@ -16,9 +16,9 @@ package validator import ( "context" "github.com/stretchr/testify/assert" - conf "kubeye/pkg/config" - "kubeye/pkg/kube" - "kubeye/test" + conf "kubeeye/pkg/config" + "kubeeye/pkg/kube" + "kubeeye/test" "testing" ) diff --git a/pkg/validator/schema.go b/pkg/validator/schema.go index 8ffacab..cde48c9 100644 --- a/pkg/validator/schema.go +++ b/pkg/validator/schema.go @@ -22,8 +22,8 @@ import ( "io" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/yaml" - "kubeye/pkg/config" - "kubeye/pkg/kube" + "kubeeye/pkg/config" + "kubeeye/pkg/kube" "sort" ) @@ -81,7 +81,7 @@ func parseCheck(rawBytes []byte) (config.SchemaCheck, error) { if err == io.EOF { return check, nil } - return check, fmt.Errorf("Decoding schema kubeye failed: %v", err) + return check, fmt.Errorf("Decoding schema KubeEye failed: %v", err) } } }