From 8c42491dc3b0b1cf363fafb49cdcd32e588264cb Mon Sep 17 00:00:00 2001
From: peefy
Date: Mon, 20 May 2024 17:31:27 +0800
Subject: [PATCH] refactor: kcl-lang.io/kpm repo
Signed-off-by: peefy
---
README-zh.md | 194 +----------------
README.md | 202 +-----------------
docs/command-reference-zh/1.init.md | 45 ----
docs/command-reference-zh/10.help.md | 21 --
docs/command-reference-zh/11.import.md | 60 ------
docs/command-reference-zh/2.add.md | 53 -----
docs/command-reference-zh/3.pkg.md | 33 ---
docs/command-reference-zh/4.metadata.md | 41 ----
docs/command-reference-zh/5.run.md | 69 ------
docs/command-reference-zh/6.login.md | 53 -----
docs/command-reference-zh/7.logout.md | 27 ---
docs/command-reference-zh/8.push.md | 46 ----
docs/command-reference-zh/9.pull.md | 41 ----
docs/command-reference-zh/index.md | 36 ----
docs/command-reference/1.init.md | 45 ----
docs/command-reference/10.help.md | 21 --
docs/command-reference/11.import.md | 60 ------
docs/command-reference/2.add.md | 53 -----
docs/command-reference/3.pkg.md | 33 ---
docs/command-reference/4.metadata.md | 41 ----
docs/command-reference/5.run.md | 69 ------
docs/command-reference/6.login.md | 53 -----
docs/command-reference/7.logout.md | 27 ---
docs/command-reference/8.push.md | 46 ----
docs/command-reference/9.pull.md | 42 ----
docs/command-reference/index.md | 36 ----
docs/gifs/kclvm_cli_version.gif | Bin 31205 -> 0 bytes
docs/gifs/kpm_add_k8s.gif | Bin 39387 -> 0 bytes
docs/gifs/kpm_help.gif | Bin 160286 -> 0 bytes
docs/gifs/kpm_init.gif | Bin 75834 -> 0 bytes
docs/gifs/kpm_login.gif | Bin 36504 -> 0 bytes
docs/gifs/kpm_login_with_both.gif | Bin 42586 -> 0 bytes
docs/gifs/kpm_login_with_pwd.gif | Bin 37531 -> 0 bytes
docs/gifs/kpm_logout.gif | Bin 29693 -> 0 bytes
docs/gifs/kpm_pkg.gif | Bin 47300 -> 0 bytes
docs/gifs/kpm_pull.gif | Bin 81047 -> 0 bytes
docs/gifs/kpm_pull_with_url.gif | Bin 103777 -> 0 bytes
docs/gifs/kpm_push.gif | Bin 91237 -> 0 bytes
docs/gifs/kpm_push_with_url.gif | Bin 113641 -> 0 bytes
docs/gifs/kpm_run.gif | Bin 49024 -> 0 bytes
docs/gifs/kpm_run_oci_ref.gif | Bin 33449 -> 0 bytes
docs/gifs/kpm_run_oci_url.gif | Bin 48537 -> 0 bytes
docs/gifs/kpm_run_with_args.gif | Bin 88294 -> 0 bytes
docs/kcl.mod.proto | 35 ---
docs/kcl_mod-zh.md | 162 --------------
docs/kcl_mod.md | 128 -----------
docs/kpm_oci-zh.md | 132 ------------
docs/kpm_oci.md | 133 ------------
docs/publish_pkg_to_ah-zh.md | 83 -------
docs/publish_pkg_to_ah.md | 81 -------
docs/publish_to_docker_reg-zh.md | 71 ------
docs/publish_to_docker_reg.md | 71 ------
docs/publish_your_kcl_packages-zh.md | 73 -------
docs/publish_your_kcl_packages.md | 73 -------
docs/push_by_github_action-zh.md | 87 --------
docs/push_by_github_action.md | 82 -------
docs/research/dep-graph.png | Bin 13210 -> 0 bytes
docs/research/kcl-version-selection-design.md | 93 --------
docs/research/selection-strategy.md | 85 --------
test_push/kcl.mod | 5 -
test_push/kcl.mod.lock | 0
test_push/main.k | 1 -
62 files changed, 7 insertions(+), 2835 deletions(-)
delete mode 100644 docs/command-reference-zh/1.init.md
delete mode 100644 docs/command-reference-zh/10.help.md
delete mode 100644 docs/command-reference-zh/11.import.md
delete mode 100644 docs/command-reference-zh/2.add.md
delete mode 100644 docs/command-reference-zh/3.pkg.md
delete mode 100644 docs/command-reference-zh/4.metadata.md
delete mode 100644 docs/command-reference-zh/5.run.md
delete mode 100644 docs/command-reference-zh/6.login.md
delete mode 100644 docs/command-reference-zh/7.logout.md
delete mode 100644 docs/command-reference-zh/8.push.md
delete mode 100644 docs/command-reference-zh/9.pull.md
delete mode 100644 docs/command-reference-zh/index.md
delete mode 100644 docs/command-reference/1.init.md
delete mode 100644 docs/command-reference/10.help.md
delete mode 100644 docs/command-reference/11.import.md
delete mode 100644 docs/command-reference/2.add.md
delete mode 100644 docs/command-reference/3.pkg.md
delete mode 100644 docs/command-reference/4.metadata.md
delete mode 100644 docs/command-reference/5.run.md
delete mode 100644 docs/command-reference/6.login.md
delete mode 100644 docs/command-reference/7.logout.md
delete mode 100644 docs/command-reference/8.push.md
delete mode 100644 docs/command-reference/9.pull.md
delete mode 100644 docs/command-reference/index.md
delete mode 100644 docs/gifs/kclvm_cli_version.gif
delete mode 100644 docs/gifs/kpm_add_k8s.gif
delete mode 100644 docs/gifs/kpm_help.gif
delete mode 100644 docs/gifs/kpm_init.gif
delete mode 100644 docs/gifs/kpm_login.gif
delete mode 100644 docs/gifs/kpm_login_with_both.gif
delete mode 100644 docs/gifs/kpm_login_with_pwd.gif
delete mode 100644 docs/gifs/kpm_logout.gif
delete mode 100644 docs/gifs/kpm_pkg.gif
delete mode 100644 docs/gifs/kpm_pull.gif
delete mode 100644 docs/gifs/kpm_pull_with_url.gif
delete mode 100644 docs/gifs/kpm_push.gif
delete mode 100644 docs/gifs/kpm_push_with_url.gif
delete mode 100644 docs/gifs/kpm_run.gif
delete mode 100644 docs/gifs/kpm_run_oci_ref.gif
delete mode 100644 docs/gifs/kpm_run_oci_url.gif
delete mode 100644 docs/gifs/kpm_run_with_args.gif
delete mode 100644 docs/kcl.mod.proto
delete mode 100644 docs/kcl_mod-zh.md
delete mode 100644 docs/kcl_mod.md
delete mode 100644 docs/kpm_oci-zh.md
delete mode 100644 docs/kpm_oci.md
delete mode 100644 docs/publish_pkg_to_ah-zh.md
delete mode 100644 docs/publish_pkg_to_ah.md
delete mode 100644 docs/publish_to_docker_reg-zh.md
delete mode 100644 docs/publish_to_docker_reg.md
delete mode 100644 docs/publish_your_kcl_packages-zh.md
delete mode 100644 docs/publish_your_kcl_packages.md
delete mode 100644 docs/push_by_github_action-zh.md
delete mode 100644 docs/push_by_github_action.md
delete mode 100644 docs/research/dep-graph.png
delete mode 100644 docs/research/kcl-version-selection-design.md
delete mode 100644 docs/research/selection-strategy.md
delete mode 100644 test_push/kcl.mod
delete mode 100644 test_push/kcl.mod.lock
delete mode 100644 test_push/main.k
diff --git a/README-zh.md b/README-zh.md
index fe2bf073..1f43680d 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -13,200 +13,14 @@
-# 注意 !
-
-KPM CLI 将在 v0.8.0 版本后被弃用,并且 KPM CLI 将被 KCL CLI 替代 - https://github.com/kcl-lang/cli.
-
-受到影响的部分如下所示:
-
-```
-kpm
-├── pkg
-│ ├── api
-│ ├── client
-│ ├── cmd # KPM CLI 将在 v0.8.0 版本后被弃用.
-│ ├── constants
-│ ├── env
-│ ├── errors
-│ ├── git
-│ ├── oci
-│ ├── opt
-│ ├── package
-│ ├── reporter
-│ ├── runner
-│ ├── semver
-│ ├── settings
-│ ├── utils
-│ └── version
-├── scripts
-├── test
-│ └── e2e # KPM CLI 的 e2e 测试将在 v0.8.0 版本后被弃用.
-├── ......
-```
-
## 介绍
-`kpm` 是 KCL 包管理器。`kpm` 会下载您的 KCL 包的依赖项、编译您的 KCL 包、制作可分发的包并将其上传到 KCL 包的仓库中。
-
-## 安装
-
-### 安装 KCL
-
-`kpm` 将调用 [KCL 编译器](https://github.com/KusionStack/KCLVM) 来编译 KCL 程序。在使用 `kpm` 之前,您需要确保 KCL 编译器 已经成功安装。
-
-[如需了解如何安装 KCL 的更多信息,请参考此处。](https://kcl-lang.io/docs/user_docs/getting-started/install)
-
-使用以下命令来确保您已成功安装 `KCL`。
-
-```shell
-kcl -V
-```
-
-### 安装 `kpm`
-
-#### 使用 `go install` 安装
-
-您可以使用 `go install` 命令安装 `kpm`。
-
-```shell
-go install kcl-lang.io/kpm@latest
-```
-
-如果您在执行完上述命令后,使用 `kpm` 时,无法找到命令 `kpm` 请参考:
-
-- [go install 安装后找不到命令。](#q-我在使用go-install安装kpm后出现了command-not-found的错误)
-
-#### 从 Github release 页面手动安装
-
-您也可以从 Github release 中获取 `kpm` ,并将 `kpm` 的二进制文件路径设置到环境变量 PATH 中。
-
-```shell
-# KPM_INSTALLATION_PATH 是 `kpm` 二进制文件的所在目录.
-export PATH=$KPM_INSTALLATION_PATH:$PATH
-```
-
-请使用以下命令以确保您成功安装了 `kpm`。
-
-```shell
-kpm --help
-```
-
-如果你看到以下输出信息,那么你已经成功安装了 `kpm`,可以继续执行下一步操作。
-
-
-
-## 快速开始
-
-### 初始化一个空的 KCL 包
-
-使用 `kpm init` 命令创建一个名为 `my_package` 的 kcl 程序包, 并且在我们创建完成一个名为 `my_package` 的包后,我们需要通过命令 `cd my_package` 进入这个包来进行后续的操作。
-
-```shell
-kpm init my_package
-```
-
-
-
-`kpm` 将会在执行 `kpm init my_package` 命令的目录下创建两个默认的配置文件 `kcl.mod` 和 `kcl.mod.lock`。
-
-```shell
-- my_package
- |- kcl.mod
- |- kcl.mod.lock
- |- # 你可以直接在这个目录下写你的kcl程序。
-```
-
-`kcl.mod.lock` 是 `kpm` 用来固定依赖版本的文件,是自动生成的,请不要人工修改这个文件。
-
-`kpm` 将会为这个新包创建一个默认的 `kcl.mod`。如下所示:
-
-```shell
-[package]
-name = "my_package"
-edition = "0.0.1"
-version = "0.0.1"
-```
-
-### 为 KCL 包添加依赖
-
-然后,您可以通过 `kpm add` 命令来为您当前的库添加一个外部依赖。
-
-如下面的命令所示,为当前包添加一个版本号为 `1.27` 并且名为 `k8s` 的依赖包。
-
-```shell
-kpm add k8s:1.27
-```
-
-
-
-`kpm` 会为您将依赖添加到 kcl.mod 文件中.
-
-```shell
-[package]
-name = "my_package"
-edition = "0.0.1"
-version = "0.0.1"
-
-[dependencies]
-k8s = "1.27" # The dependency 'k8s' with version '1.27'
-```
-
-### 编写一个程序使用包 `konfig` 中的内容
-
-在当前包中创建 `main.k`。
-
-```shell
-- my_package
- |- kcl.mod
- |- kcl.mod.lock
- |- main.k # Your KCL program.
-```
-
-并且将下面的内容写入 `main.k` 文件中。
-
-```kcl
-# 导入并使用外部依赖 `k8s` 包中的内容。
-import k8s.api.core.v1 as k8core
-
-k8core.Pod {
- metadata.name = "web-app"
- spec.containers = [{
- name = "main-container"
- image = "nginx"
- ports = [{containerPort = 80}]
- }]
-}
-
-```
-
-### 使用 `kpm` 编译 kcl 包
-
-你可以使用 kpm 编译刚才编写的 `main.k` 文件, 得到编译后的结果。
-
-```shell
-kpm run
-```
-
-
-
-## OCI Registry 的支持
-
-从 kpm v0.2.0 版本开始,kpm 支持通过 OCI Registries 保存和分享 KCL 包。
-
-了解更多如何在 kpm 中使用,查看 [OCI registry 支持](./docs/kpm_oci-zh.md).
-
-## 常见问题 (FAQ)
+`kpm` 是 KCL 包管理器组件,集成在 `kcl mod` 命令中进行使用。
-##### Q: 我在使用 `go install` 安装 `kpm` 后,出现了 `command not found` 的错误。
+## 贡献
-A: `go install` 默认会将二进制文件安装到 `$GOPATH/bin` 目录下,您需要将 `$GOPATH/bin` 添加到环境变量 `PATH` 中。
+查看[贡献指南](https://kcl-lang.io/docs/community/contribute/)
## 了解更多
-- [OCI registry 支持](./docs/kpm_oci-zh.md).
-- [如何使用 kpm 与他人分享您的 kcl 包](./docs/publish_your_kcl_packages-zh.md)
-- [如何使用 kpm 在 docker.io 上与他人分享您的 kcl 包](./docs/publish_to_docker_reg-zh.md)
-- [kpm 命令参考](./docs/command-reference-zh/index.md)
-- [kcl.mod: KCL 包清单文件](./docs/kcl_mod-zh.md)
-- [如何使用 kpm 通过 github action 来推送您的 kcl 包](./docs/push_by_github_action-zh.md)
-- [发布 KCL 包到官方 Registry](./docs/publish_pkg_to_ah-zh.md)
+查看[文档](https://www.kcl-lang.io/zh-CN/docs/user_docs/guides/package-management/quick-start) 了解更多
diff --git a/README.md b/README.md
index 03b70822..cd40553e 100644
--- a/README.md
+++ b/README.md
@@ -13,210 +13,14 @@
-# NOTE !
-[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkcl-lang%2Fkpm.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkcl-lang%2Fkpm?ref=badge_shield)
-
-
-The KPM CLI will be deprecated after v0.8.0, and the KPM CLI will be replaced by the KCL CLI - https://github.com/kcl-lang/cli.
-
-The affected parts are shown below:
-
-```
-kpm
-├── pkg
-│ ├── api
-│ ├── client
-│ ├── cmd # The KPM CLI will deprecated after v0.8.0.
-│ ├── constants
-│ ├── env
-│ ├── errors
-│ ├── git
-│ ├── oci
-│ ├── opt
-│ ├── package
-│ ├── reporter
-│ ├── runner
-│ ├── semver
-│ ├── settings
-│ ├── utils
-│ └── version
-├── scripts
-├── test
-│ └── e2e # The e2e test for KPM CLI will deprecated after v0.8.0.
-├── ......
-```
-
## Introduction
-`kpm` is the KCL package manager. `kpm` downloads your KCL package's dependencies, compiles your KCL packages, makes packages, and uploads them to the kcl package registry.
-
-## Installation
-
-### Install KCL
-
-`kpm` will call [KCL compiler](https://github.com/KusionStack/KCLVM) to compile the kcl program. Before using `kpm`, you need to ensure that `KCL compiler` is installed successfully.
-
-[For more information about how to install KCL.](https://kcl-lang.io/docs/user_docs/getting-started/install)
-
-Use the following command to ensure that you install `KCL compiler` successfully.
-
-```shell
-kcl -v
-```
-
-### Install `kpm`
-
-#### Go install
-
-You can download `kpm` via `go install`.
-
-```shell
-go install kcl-lang.io/kpm@latest
-```
-
-If the command `kpm` can not be found after executing the above command, please refer to:
-
-- [go install cannot find command after installation.](#q-i-am-using-go-install-to-install-kpm-but-i-get-the-error-command-not-found)
-
-#### Download from GITHUB release page
-
-You can also get `kpm` from the github release and set the `kpm` binary path to the environment variable PATH.
-
-```shell
-# KPM_INSTALLATION_PATH is the path of the `kpm` binary.
-export PATH=$KPM_INSTALLATION_PATH:$PATH
-```
-
-Use the following command to ensure that you install `kpm` successfully.
-
-```shell
-kpm --help
-```
-
-If you get the following output, you have successfully installed `kpm` and you can proceed to the following steps.
-
-
-
-## Quick Start
-
-### Init an empty kcl package
-
-Create a new kcl package named `my_package`. And after we have created the package `my_package`, we need to go inside the package by `cd my_package` to complete the following operations.
-
-```shell
-kpm init my_package
-```
-
-
-
-`kpm` will create two kcl package configuration files: `kcl.mod` and `kcl.mod.lock` in the directory where you executed the command.
-
-```shell
-- my_package
- |- kcl.mod
- |- kcl.mod.lock
- |- # You can write your kcl program directly in this directory.
-```
-
-`kcl.mod.lock` is the file generated by `kpm` to fix the dependency version. Do not modify this file manually.
-
-`kpm` initializes `kcl.mod` for an empty project as shown below:
-
-```shell
-[package]
-name = "my_package"
-edition = "0.0.1"
-version = "0.0.1"
-```
-
-### Add a dependency from Git Registry
-
-You can then add a dependency to the current kcl package using the `kpm add` command
-
-As shown below, taking the example of adding a package dependency named `k8s`, the version of the package is `1.27`.
-
-```shell
-kpm add k8s:1.27
-```
-
-
-
-You can see that `kpm` adds the dependency you just added to kcl.mod.
-
-```shell
-[package]
-name = "my_package"
-edition = "0.0.1"
-version = "0.0.1"
-
-[dependencies]
-k8s = "1.27" # The dependency 'k8s' with version '1.27'
-```
-
-### Write a kcl program that uses the content in `k8s`
-
-Create the `main.k` file in the current package.
-
-```shell
-- my_package
- |- kcl.mod
- |- kcl.mod.lock
- |- main.k # Your KCL program.
-```
-
-And write the following into the `main.k` file.
-
-```kcl
-# Import and use the contents of the external dependency 'k8s'.
-import k8s.api.core.v1 as k8core
-
-k8core.Pod {
- metadata.name = "web-app"
- spec.containers = [{
- name = "main-container"
- image = "nginx"
- ports = [{containerPort = 80}]
- }]
-}
-
-```
-
-### Use the `kpm` compile the kcl package
-
-In the `my_package` directory, you can use `kpm` to compile the `main.k` file you just wrote.
-
-```shell
-kpm run
-```
-
-
-
-## Supports OCI Registry
-
-Beginning in kpm v0.2.0, you can use container registries with OCI support to store and share kcl packages.
-
-For more information about [OCI registry support](./docs/kpm_oci.md).
-
-## Frequently Asked Questions (FAQ)
-
-##### Q: I am using `go install` to install `kpm`, but I get the error `command not found`.
-
-- A: `go install` will install the binary file to `$GOPATH/bin` by default. You need to add `$GOPATH/bin` to the environment variable `PATH`.
+`kpm` is the KCL package manager and it is integrated in the `kcl mod` command.
## Contributing
-- See [contribution guideline](https://kcl-lang.io/docs/community/contribute/).
+See [contribution guideline](https://kcl-lang.io/docs/community/contribute/).
## Learn More
-- [OCI registry support](./docs/kpm_oci-zh.md).
-- [How to share your kcl package with others using kpm](./docs/publish_your_kcl_packages-zh.md).
-- [How to use kpm to share your kcl package with others on docker.io](./docs/publish_to_docker_reg.md)
-- [kpm command reference](./docs/command-reference/index.md)
-- [kcl.mod: The KCL package Manifest File](./docs/kcl_mod.md)
-- [How to use kpm to push your kcl package by github action](./docs/push_by_github_action.md)
-- [How to publish KCL package to official Registry](./docs/publish_pkg_to_ah.md)
-
-
-## License
-[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkcl-lang%2Fkpm.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkcl-lang%2Fkpm?ref=badge_large)
\ No newline at end of file
+See [here](https://www.kcl-lang.io/docs/user_docs/guides/package-management/quick-start) for more documents.
diff --git a/docs/command-reference-zh/1.init.md b/docs/command-reference-zh/1.init.md
deleted file mode 100644
index 57cd3147..00000000
--- a/docs/command-reference-zh/1.init.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# kpm init
-
-初始化一个 kcl 包。
-
-## 使用
-
-```shell
-kpm init [options][package_name]
-```
-
-## 介绍
-
-`kpm init` 会在当前目录初始化一个 kcl 包。如果没有提供包名,会使用当前目录的名字作为包名。
-
-如果提供了包名,会在当前目录下创建一个以包名命名的子目录,并在该目录下初始化 kcl 包。
-
-`kpm init` 会在包目录下创建 `kcl.mod`、`kcl.mod.lock` 和 `main.k`。
-
-## 选线
-
-### --help, -h
-
-显示帮助信息。
-
-## 示例
-
-### 初始化一个名为 my_package 的 kcl 包
-
-```shell
-# 初始化一个名为 my_package 的 kcl 包
-kpm init my_package
-```
-
-### 初始化当前目录为 kcl 包
-
-```shell
-# 创建一个目录
-$ mkdir my_package
-
-# 进入目录
-$ cd my_package
-
-# 初始化当前目录为 kcl 包
-$ kpm init
-```
diff --git a/docs/command-reference-zh/10.help.md b/docs/command-reference-zh/10.help.md
deleted file mode 100644
index 0fd9fa3a..00000000
--- a/docs/command-reference-zh/10.help.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# kpm help
-
-输出 kpm 命令的帮助信息。
-
-## 使用
-
-```shell
-kpm help
-```
-
-## 介绍
-
-`kpm help` 会输出 kpm 命令的帮助信息。
-
-## 示例
-
-使用 `kpm help` 输出 kpm 命令的帮助信息。
-
-```shell
-kpm help
-```
diff --git a/docs/command-reference-zh/11.import.md b/docs/command-reference-zh/11.import.md
deleted file mode 100644
index 33ebca04..00000000
--- a/docs/command-reference-zh/11.import.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# kpm import
-
-将其它格式的文件转换为 kcl 文件。
-
-## 使用
-
-```shell
-kpm import [options]
-```
-
-## 介绍
-
-`kpm import` 会从指定的文件中读取内容,并将其转换为 kcl 文件。
-
-## 选项
-
-### --mode, -m
-
-指定转换模式,默认值为 `auto`,以下是支持的模式:
-
-- `json`: 将 json 数据转换为 kcl 数据。
-- `yaml`: 将 yaml 数据转换为 kcl 数据。
-- `gostruct`: 将 go 结构体转换为 kcl schema。
-- `jsonschema`: 将 json schema 转换为 kcl schema。
-- `terraformschema`: 将 terraform provider schema 转换为 kcl schema。关于如何获取 terraform provider schema 文件,请参考 [terraform schema](https://developer.hashicorp.com/terraform/cli/commands/providers/schema)。
-- `auto`: 自动检测文件类型,并使用对应的转换模式。
-
-### --output, -o
-
-指定输出文件名,默认值为 `generated.k`。
-
-### --force, -f
-
-强制覆盖输出文件。
-
-### --help, -h
-
-展示 `kpm import` 命令的帮助信息。
-
-## 示例
-
-使用 `kpm import` 将 yaml 数据转换为 kcl 数据。
-
-```
-$ cat < foo.yaml
-kind: Service
-name: kcl
-EOF
-
-$ kpm import foo.yaml
-
-$ cat generated.k
-"""
-This file was generated by the KCL auto-gen tool. DO NOT EDIT.
-Editing this file might prove futile when you re-run the KCL auto-gen generate command.
-"""
-
-kind = "Service"
-name = "kcl"
-```
diff --git a/docs/command-reference-zh/2.add.md b/docs/command-reference-zh/2.add.md
deleted file mode 100644
index 5f323d0f..00000000
--- a/docs/command-reference-zh/2.add.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# kpm add
-
-添加一个依赖到 kcl 包。
-
-## 使用
-
-```shell
-kpm add [options][package_reference]
-```
-
-## 介绍
-
-`kpm add` 会添加一个依赖到 kcl 包。依赖可以来自 git 仓库,或者 kcl registry。
-
-`package_reference` 是一个 kcl 包引用,格式为 `package_name:version`。
-
-## 选项
-
-### --git
-
-指定依赖来自 git 仓库的 git url。
-
-### --tag
-
-指定依赖来自 git 仓库的 tag。
-
-### --help, -h
-
-显示帮助信息。
-
-## 示例
-
-### 添加一个来自 kcl registry 的依赖
-
-添加一个名为 `k8s` 的依赖,版本为最新版本。
-
-```shell
-kpm add k8s
-```
-
-添加一个名为 `k8s` 的依赖,版本为 `1.27`。
-
-```shell
-kpm add k8s:1.27
-```
-
-### 添加一个来自 git 仓库的依赖
-
-添加一个来自 git 仓库的 kcl 包依赖,tag 为 v0.1.0
-
-```shell
-kpm add --git https://github.com/awesome-kusion/konfig.git --tag v0.1.0
-```
diff --git a/docs/command-reference-zh/3.pkg.md b/docs/command-reference-zh/3.pkg.md
deleted file mode 100644
index fd708d03..00000000
--- a/docs/command-reference-zh/3.pkg.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# kpm pkg
-
-打包一个 kcl 包。
-
-## 使用
-
-```shell
-kpm pkg [options]
-```
-
-## 介绍
-
-`kpm pkg` 会打包一个 kcl 包为 `*.tar`。
-
-选项 `--target` 用于指定打包后的 `*.tar` 文件路径。
-
-## 选项
-
-### --target
-
-指定打包后的 `*.tar` 文件路径。
-
-### --help, -h
-
-显示帮助信息。
-
-## 示例
-
-### 打包当前 kcl 包为 `*.tar`
-
-```shell
-kpm pkg --target /Users/my_package_tar
-```
diff --git a/docs/command-reference-zh/4.metadata.md b/docs/command-reference-zh/4.metadata.md
deleted file mode 100644
index 199ebd2e..00000000
--- a/docs/command-reference-zh/4.metadata.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# kpm metadata
-
-打印 kcl 包的元数据。
-
-## 使用
-
-```shell
-kpm metadata [options]
-```
-
-## 介绍
-
-`kpm metadata` 会打印 kcl 包的元数据。元数据包括包的依赖信息。
-
-`--update` 选项用于自动下载缺失的依赖包。
-
-## 选项
-
-### --update
-
-自动下载缺失的依赖包。
-
-### --help, -h
-
-展示 `kpm metadata` 命令的帮助信息。
-
-## 示例
-
-### 打印 kcl 包的元数据
-
-打印 kcl 包的元数据。
-
-```shell
-kpm metadata
-```
-
-打印 kcl 包的元数据,并自动下载缺失的依赖包。
-
-```shell
-kpm metadata --update
-```
diff --git a/docs/command-reference-zh/5.run.md b/docs/command-reference-zh/5.run.md
deleted file mode 100644
index 93947ecd..00000000
--- a/docs/command-reference-zh/5.run.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# kpm run
-
-编译一个 kcl 包。
-
-## 使用
-
-```shell
-kpm run [options][package_source]
-```
-
-## 介绍
-
-`kpm run` 会编译一个 kcl 包。
-
-## 选项
-
-### --input
-
-指定包的入口文件路径。
-
-### --tag
-
-指定 oci url 的包的 tag。
-
-### --vendor
-
-`--vendor` 选项会将依赖包移动到当前包,并自动下载缺失的依赖包。
-
-### --kcl_args
-
-`--kcl_args` 描述了传递给 kcl 编译器的参数。
-
-### --help, -h
-
-展示 `kpm run` 命令的帮助信息。
-
-## 示例
-
-### 编译当前 kcl 包
-
-在 kcl 包目录下,`kpm run` 可以用于编译当前 kcl 包。
-
-```shell
-kpm run
-```
-
-### 编译一个 kcl 包 tar 文件
-
-`kpm run` 可以用于编译一个 kcl 包 tar 文件。
-
-```shell
-kpm run /Users/demo/my_package.tar
-```
-
-### 编译一个 kcl 包来自 oci 引用
-
-`kpm run` 可以用于编译一个 kcl 包从 oci 引用。
-
-```shell
-kpm run test/my_package:0.0.1
-```
-
-### 编译一个 kcl 包来自 oci url
-
-`kpm run` 可以用于编译一个 kcl 包从 oci url。
-
-```shell
-kpm run --tag 0.0.1 oci://localhost:5001/test/my_package
-```
diff --git a/docs/command-reference-zh/6.login.md b/docs/command-reference-zh/6.login.md
deleted file mode 100644
index 45bf47b8..00000000
--- a/docs/command-reference-zh/6.login.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# kpm login
-
-登陆 kpm registry.
-
-## 使用
-
-```shell
-kpm login [options][kpm_registry]
-```
-
-## 介绍
-
-`kpm login` 将会登陆 kpm registry。
-
-## 选项
-
-### --username, -u
-
-指定 kpm registry 的用户名。
-
-### --password, -p
-
-指定 kpm registry 的密码。
-
-### --help, -h
-
-展示 `kpm login` 命令的帮助信息。
-
-## 示例
-
-### 登陆到 kpm registry, 通过参数输入用户名和密码
-
-```shell
-$ kpm login -u -p
-Login succeeded
-```
-
-### 登陆到 kpm registry, 通过参数输入用户名,密码通过交互式输入
-
-```shell
-$ kpm login -u
-Password:
-Login succeeded
-```
-
-### 登陆到 kpm registry, 用户名和密码通过交互式输入
-
-```shell
-$ kpm login
-Username:
-Password:
-Login succeeded
-```
diff --git a/docs/command-reference-zh/7.logout.md b/docs/command-reference-zh/7.logout.md
deleted file mode 100644
index 65dd317e..00000000
--- a/docs/command-reference-zh/7.logout.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# kpm logout
-
-从 kpm registry 登出。
-
-## 使用
-
-```shell
-kpm logout [options][kpm_registry]
-```
-
-## 介绍
-
-`kpm logout` 会从 kpm registry 登出。
-
-## 选项
-
-### --help, -h
-
-展示 `kpm logout` 命令的帮助信息。
-
-## 示例
-
-### 从 kpm registry 登出
-
-```shell
-kpm logout
-```
diff --git a/docs/command-reference-zh/8.push.md b/docs/command-reference-zh/8.push.md
deleted file mode 100644
index fbb69f3b..00000000
--- a/docs/command-reference-zh/8.push.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# kpm push
-
-上传一个 kcl 包到 kpm registry。
-
-## 使用
-
-```shell
-kpm push [options][kpm_registry]
-```
-
-## 介绍
-
-`kpm push` 将会上传一个 kcl 包到 kpm registry。
-
-## 选项
-
-### --tar_path
-
-指定上传的 `*.tar` 文件路径。
-
-### --help, -h
-
-展示 `kpm push` 命令的帮助信息。
-
-## 示例
-
-### 上传当前 kcl 包到 kpm registry
-
-你可以在 kcl 包的根目录下使用 `kpm push` 命令上传一个 kcl 包到 kpm registry。
-
-```shell
-# 创建一个 kcl 包
-$ kpm init
-# 进入 kcl 包目录
-$ cd
-# 上传 kcl 包到 kpm registry
-$ kpm push
-```
-
-### 上传一个 `*.tar` 文件到 kpm registry
-
-你也可以使用 `kpm push` 命令上传一个 `*.tar` 文件到 kpm registry。
-
-```shell
-kpm push --tar_path
-```
diff --git a/docs/command-reference-zh/9.pull.md b/docs/command-reference-zh/9.pull.md
deleted file mode 100644
index cec49291..00000000
--- a/docs/command-reference-zh/9.pull.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# kpm pull
-
-下载 kcl 包从 kpm registry。
-
-## 使用
-
-```shell
-kpm pull [options][package_source]
-```
-
-## 介绍
-
-`kpm pull` 会从 kpm registry 下载 kcl 包。
-
-## 选项
-
-### --tag
-
-使用 oci url 下载包时, 指定要下载的 kcl 包的 tag。
-
-### --help, -h
-
-展示 `kpm pull` 命令的帮助信息。
-
-## 示例
-
-### 从 kpm registry 下载 kcl 包
-
-你可以使用 `kpm pull` 命令从 默认的 kpm registry 下载 kcl 包。
-
-```shell
-kpm pull :
-```
-
-### 下载 kcl 包通过 oci url
-
-你可以使用 `kpm pull` 命令从一个 oci url 下载 kcl 包。
-
-```shell
-kpm pull --tag
-```
diff --git a/docs/command-reference-zh/index.md b/docs/command-reference-zh/index.md
deleted file mode 100644
index e3025db9..00000000
--- a/docs/command-reference-zh/index.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# kpm
-
-kpm 命令。
-
-## 使用
-
-```shell
-kpm [arguments]...
-```
-
-## 介绍
-
-`kpm` 是 kcl 包管理工具。它用于分发和管理 kcl 包。
-
-## 选项
-
-### --help, -h
-
-展示 `kpm` 命令的帮助信息。
-
-### --version, -v
-
-展示 `kpm` 命令的版本信息。
-
-## 子命令
-
-- [kpm init](./1.init.md) - 初始化一个 kcl 包
-- [kpm add](./2.add.md) - 添加一个依赖到 kcl 包
-- [kpm pkg](./3.pkg.md) - 打包一个 kcl 包为 `*.tar`
-- [kpm metadata](./4.metadata.md) - 打印一个 kcl 包的元数据
-- [kpm run](./5.run.md) - 编译一个 kcl 包为 yaml 并运行
-- [kpm login](./6.login.md) - 登录到一个 kcl registry
-- [kpm logout](./7.logout.md) - 登出一个 kcl registry
-- [kpm push](./8.push.md) - 上传一个 kcl 包到一个 registry
-- [kpm pull](./9.pull.md) - 下载一个 kcl 包从一个 registry
-- [kpm help](./10.help.md) - 打印 kpm 命令的帮助信息
diff --git a/docs/command-reference/1.init.md b/docs/command-reference/1.init.md
deleted file mode 100644
index b22f40fb..00000000
--- a/docs/command-reference/1.init.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# kpm init
-
-Init a kcl package.
-
-## Usage
-
-```shell
-kpm init [options][package_name]
-```
-
-## Description
-
-`kpm init` will initialize a kcl package in the current directory. If the package name is not provided, the name of the current directory will be used.
-
-If the package name is provided, a subdirectory with the name of the package will be created and the package will be initialized in that directory.
-
-`kpm init` will create `kcl.mod`, `kcl.mod.lock` and `main.k` under the package directory.
-
-## Options
-
-### --help, -h
-
-Show help for `kpm init` command.
-
-## Examples
-
-### Init a kcl package with a name
-
-```shell
-# init a kcl package with a name 'my_package'
-kpm init my_package
-```
-
-### Init the current directory into a kcl package
-
-```shell
-# create an empty directory
-$ mkdir my_package
-
-# cd into the directory
-$ cd my_package
-
-# init the current directory into a kcl package
-$ kpm init
-```
diff --git a/docs/command-reference/10.help.md b/docs/command-reference/10.help.md
deleted file mode 100644
index 94c078f5..00000000
--- a/docs/command-reference/10.help.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# kpm help
-
-Print help information for kpm commands.
-
-## Usage
-
-```shell
-kpm help
-```
-
-## Description
-
-`kpm help` will print help information for kpm commands.
-
-## Examples
-
-Use `kpm help` to print help information for kpm commands.
-
-```shell
-kpm help
-```
diff --git a/docs/command-reference/11.import.md b/docs/command-reference/11.import.md
deleted file mode 100644
index b751151b..00000000
--- a/docs/command-reference/11.import.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# kpm import
-
-Convert files in other formats to kcl files.
-
-## Usage
-
-```shell
-kpm import [options]
-```
-
-## Description
-
-`kpm import` reads content from the specified file and converts it into a kcl file.
-
-## Options
-
-### --mode, -m
-
-Specify the conversion mode. Default value is `auto`. The following modes are supported:
-
-- `json`: Convert json data to kcl data.
-- `yaml`: Convert yaml data to kcl data.
-- `gostruct`: Convert go structures to kcl schema.
-- `jsonschema`: Convert json schema to kcl schema.
-- `terraformschema`: Convert terraform provider schema to kcl schema. For how to obtain terraform provider schema files, refer to [terraform schema](https://developer.hashicorp.com/terraform/cli/commands/providers/schema).
-- `auto`: Automatically detect the file type and use the corresponding conversion mode.
-
-### --output, -o
-
-Specify the output file name. Default value is `generated.k`.
-
-### --force, -f
-
-Force overwrite of the output file.
-
-### --help, -h
-
-Display help information for the `kpm import` command.
-
-## Examples
-
-Use `kpm import` to convert yaml data to kcl data.
-
-```
-$ cat < foo.yaml
-kind: Service
-name: kcl
-EOF
-
-$ kpm import foo.yaml
-
-$ cat generated.k
-"""
-This file was generated by the KCL auto-gen tool. DO NOT EDIT.
-Editing this file might prove futile when you re-run the KCL auto-gen generate command.
-"""
-
-kind = "Service"
-name = "kcl"
-```
\ No newline at end of file
diff --git a/docs/command-reference/2.add.md b/docs/command-reference/2.add.md
deleted file mode 100644
index 24b7e16b..00000000
--- a/docs/command-reference/2.add.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# kpm add
-
-Add a dependency to a kcl package.
-
-## Usage
-
-```shell
-kpm add [options][package_reference]
-```
-
-## Description
-
-`kpm add` will add a dependency to a kcl package. The dependency can be from a git repository, or a kcl registry.
-
-`package_reference` is a kcl package reference, looks like `package_name:version`.
-
-## options
-
-### --git
-
-Specify the git url of the dependency from a git repository.
-
-### --tag
-
-Specify the tag of the dependency from a git repository.
-
-### --help, -h
-
-Show help for `kpm add` command.
-
-## Examples
-
-### Add a dependency from kcl registry
-
-Add kcl dependency named `k8s` to the current package.The version of the dependency will be the latest version.
-
-```shell
-kpm add k8s
-```
-
-Add kcl dependency named 'k8s' with version '1.27'.
-
-```shell
-kpm add k8s:1.27
-```
-
-### Add a dependency from git repository
-
-Add kcl dependency named `konfig` with version `v0.1.0` from git repository.
-
-```shell
-kpm add --git https://github.com/awesome-kusion/konfig.git --tag v0.1.0
-```
diff --git a/docs/command-reference/3.pkg.md b/docs/command-reference/3.pkg.md
deleted file mode 100644
index 9b4298a5..00000000
--- a/docs/command-reference/3.pkg.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# kpm pkg
-
-Package a kcl package into `*.tar`.
-
-## Usage
-
-```shell
-kpm pkg [options]
-```
-
-## Description
-
-`kpm pkg` will package a kcl package into `*.tar`.
-
-Option `--target` is required to specify the tar file path of the package.
-
-## options
-
-### --target
-
-Specify the tar file path of the package.
-
-### --help, -h
-
-Show help for `kpm pkm` command.
-
-## Examples
-
-### Package a kcl package
-
-```shell
-kpm pkg --target /Users/my_package_tar
-```
diff --git a/docs/command-reference/4.metadata.md b/docs/command-reference/4.metadata.md
deleted file mode 100644
index 3074a8d5..00000000
--- a/docs/command-reference/4.metadata.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# kpm metadata
-
-Print the metadata of a kcl package.
-
-## Usage
-
-```shell
-kpm metadata [options]
-```
-
-## Description
-
-`kpm metadata` will print the metadata of a kcl package. The metadata includes the dependency information of the package.
-
-`--update` option is used to automatically download the missing dependency packages.
-
-## options
-
-### --update
-
-Automatically download the missing dependency packages.
-
-### --help, -h
-
-Show help for `kpm metadata` command.
-
-## Examples
-
-### Print the metadata of a kcl package
-
-Print the metadata of a kcl package.
-
-```shell
-kpm metadata
-```
-
-Print the metadata of a kcl package and automatically download the missing dependency packages.
-
-```shell
-kpm metadata --update
-```
diff --git a/docs/command-reference/5.run.md b/docs/command-reference/5.run.md
deleted file mode 100644
index ff6fb3cb..00000000
--- a/docs/command-reference/5.run.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# kpm run
-
-Compile a kcl package.
-
-## Usage
-
-```shell
-kpm run [options][package_source]
-```
-
-## Description
-
-`kpm run` will compile a kcl package.
-
-## options
-
-### --input
-
-Specify the entry file path of the package.
-
-### --tag
-
-Specify the tag of the package specified by oci url `package_source`.
-
-### --vendor
-
-`--vendor` will move the dependency packages into the current packages and automatically download the missing dependency packages.
-
-### --kcl_args
-
-`--kcl_args` specifies the arguments passed to the kcl compiler.
-
-### --help, -h
-
-Show help for `kpm run` command.
-
-## Examples
-
-### compile the current kcl package
-
-Under the kcl package directory, `kpm run` can be used to compile the current kcl package.
-
-```shell
-kpm run
-```
-
-### compile a kcl package tar file
-
-`kpm run` can be used to compile a kcl package tar file.
-
-```shell
-kpm run /Users/demo/my_package.tar
-```
-
-### compile a kcl package from oci reference
-
-`kpm run` can be used to compile a kcl package from oci reference.
-
-```shell
-kpm run test/my_package:0.0.1
-```
-
-### compile a kcl package from oci url
-
-`kpm run` can be used to compile a kcl package from oci url.
-
-```shell
-kpm run --tag 0.0.1 oci://localhost:5001/test/my_package
-```
diff --git a/docs/command-reference/6.login.md b/docs/command-reference/6.login.md
deleted file mode 100644
index 228353cf..00000000
--- a/docs/command-reference/6.login.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# kpm login
-
-Login to the kpm registry.
-
-## Usage
-
-```shell
-kpm login [options][kpm_registry]
-```
-
-## Description
-
-`kpm login` will login the kpm registry.
-
-## options
-
-### --username
-
-Specify the username of the kpm registry.
-
-### --password
-
-Specify the password of the kpm registry.
-
-### --help, -h
-
-Show help for `kpm login` command.
-
-## Examples
-
-### login to a registry with account and password
-
-```shell
-$ kpm login -u -p
-Login succeeded
-```
-
-### login to a registry with account, and enter the password interactively
-
-```shell
-$ kpm login -u
-Password:
-Login succeeded
-```
-
-### login to a registry, and enter the account and password interactively
-
-```shell
-$ kpm login
-Username:
-Password:
-Login succeeded
-```
diff --git a/docs/command-reference/7.logout.md b/docs/command-reference/7.logout.md
deleted file mode 100644
index 6c5d9aec..00000000
--- a/docs/command-reference/7.logout.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# kpm logout
-
-Logout from the kpm registry.
-
-## Usage
-
-```shell
-kpm logout [options][kpm_registry]
-```
-
-## Description
-
-`kpm logout` will logout from the kpm registry.
-
-## options
-
-### --help, -h
-
-Show help for `kpm logout` command.
-
-## Examples
-
-### logout from oci registry
-
-```shell
-kpm logout
-```
diff --git a/docs/command-reference/8.push.md b/docs/command-reference/8.push.md
deleted file mode 100644
index 858f00dc..00000000
--- a/docs/command-reference/8.push.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# kpm push
-
-Push a package to the kpm registry.
-
-## Usage
-
-```shell
-kpm push [options][kpm_registry]
-```
-
-## Description
-
-`kpm push` will push a package to the kpm registry.
-
-## options
-
-### --tar_path
-
-The path to the tar file to push.
-
-### --help, -h
-
-Show help for `kpm push` command.
-
-## Examples
-
-### push the current package
-
-You can use `kpm push` under the kcl package root directory to upload a kcl package to an OCI-based registry.
-
-```shell
-# create a new kcl package.
-$ kpm init
-# enter the kcl package root directory
-$ cd
-# push it to an oci registry
-$ kpm push
-```
-
-### push a tar to the registry
-
-You can also use `kpm push` to upload a tar file to an OCI-based registry.
-
-```shell
-kpm push --tar_path
-```
diff --git a/docs/command-reference/9.pull.md b/docs/command-reference/9.pull.md
deleted file mode 100644
index b0126bcf..00000000
--- a/docs/command-reference/9.pull.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# kpm pull
-
-Pull a package from the kpm registry.
-
-## Usage
-
-```shell
-kpm pull [options][package_source]
-```
-
-## Description
-
-`kpm pull` will pull a package from the kpm registry.
-
-## options
-
-### --tag
-
-The tag of the package to pull.
-
-### --help, -h
-
-Show help for `kpm push` command.
-
-## Examples
-
-### pull the package by package name
-
-You can use `kpm pull` to download a kcl package from the default OCI registry by kcl package name.
-`kpm` will download the kcl package from the default OCI registry specified in the configuration file `kpm.json`.
-
-```shell
-kpm pull :
-```
-
-### pull the package by oci url
-
-You can download a kcl package from an OCI-based registry url.
-
-```shell
-kpm pull --tag
-```
diff --git a/docs/command-reference/index.md b/docs/command-reference/index.md
deleted file mode 100644
index 1a863bbf..00000000
--- a/docs/command-reference/index.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# kpm
-
-The kpm cli
-
-## Usage
-
-```shell
-kpm [arguments]...
-```
-
-## Description
-
-`kpm` is a kcl package manager. It is used to install, remove, and update kcl packages.
-
-## Options
-
-### --help, -h
-
-Show help for kpm command
-
-### --version, -v
-
-Print the version of kpm
-
-## Subcommands
-
-- [kpm init](./1.init.md) - Init a kcl package
-- [kpm add](./2.add.md) - Add a dependency to a kcl package
-- [kpm pkg](./3.pkg.md) - Package a kcl package into `*.tar``
-- [kpm metadata](./4.metadata.md) - Print the metadata of a kcl package
-- [kpm run](./5.run.md) - Compile a kcl package into yaml
-- [kpm login](./6.login.md) - Login to a kcl registry
-- [kpm logout](./7.logout.md) - Logout from a kcl registry
-- [kpm push](./8.push.md) - Push a kcl package to a registry
-- [kpm pull](./9.pull.md) - Pull a kcl package from a registry
-- [kpm help](./10.help.md) - print help for kpm command
diff --git a/docs/gifs/kclvm_cli_version.gif b/docs/gifs/kclvm_cli_version.gif
deleted file mode 100644
index 2248721af27f47d58b388501fbd4bc22f859e4a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 31205
zcmeF2S5y=Fw(dg;B?(EWqC$)a(mM)B3%yII(!|iDh=|e=HFS^`q$^?s1*92@2#6Ru
z2uKhRRKQTA2^i@pE^b(R?Q{0tXP<{V&V9RQJ~2kd;35CnzHk0wV5G0C;<5;mWZF59
z0{{R(AP@usfx%!11j5YB%*x8j#_Y$s-B#VK5jR4rhm%v%}Tc+1ZguBnqj8Vg!dI
z2hx}WrOCkvPBBgnF-}Hs9pmB%
zKY8+`;7N;9j1bZmJ`9D^r^-$X+lU;7qNu2-n3$OO=^Syf8{!f=5|S#CV%3t8l2T$B
zQc@Ap;+fKt&eGD-vQibYjF6L&larHIP*;%mP>@enP*6}*R6L`QbLPw$rNanOKAWYi
ztbFd=IaL*3RaI3rH8u6aaM3&rGc1;%h0WK}($YQ*D;@0sU9A_oy1IJ0DSCQ(`iwAe
zHP9Y0(CIVOzint}XrxzZ#0X;>W5aM0!x|IAQIo^CW@oD5)u*;6BCn?l2TJs)6>&4GBUEVvT|~Aa&vR<
z-@pIh!GnhnA3l2Y=<(ynMMXu$#l@wirRC-26%`egm6c>Nxu&M3wzjseuI}Z_myL~$
z&CSiPU%!6y=1psBYg=1eM@L6zXJ=PeS5Hq*Z*Om3U*EvMz~JB@l}dg8{{6_v$cGOf
z#>dA$e*F0P^XJLQ$*HNSFJHdUXte3+>6w|Cxw*NoU%$@J&o3-2EG{m7`}S>hbro;`
zIC%g&uV-zgqlMFxmzD)FG3w#u9vA{0lO=Q}CJSsV?eH!|2@QH>!Ekn;~jd=G0sBv@b{2?QOnM
zZSlYZ<$&dh-rADEN7!hnfN@>vP?2GV_{Fz%&xT8IMaB<}UzClO+tvC^zI{3_!0c81>gR@lZ&L%W
zUVi^ViH4mx-`wzHwkJd4(!1uyjRk6v$)oeHo3_4<*IxPZ?)9sk@3i)$gA?X0&3hY*
z!{wI-TVDU#q0ja`GJn(Z``7Nqw=aWl-W(hNm_=y>Fs~OalJ#^cEed{ikrs{87oCpb
zw)L8h<-1%u9mgNMI316P6P-yA%J!N`6fG{Dxhq+}IFlsXB|4j|_`z#7MR~q-HdSqV
zaW)OhEH+2f<@KIRH$44p?w;w{rMV28zS!4HYg_NHS$3D7ea&_XUizAYj}x2EbW@&lU2#2XZcxaaoKWNMg8(}Il1dV{98rc2cK`1
z4fAE+s+zZ#zdffgORSJPc(1Hf_nauk9
zaT03{bJ!MJMeLAQcfJr
z+Rty~Zs}hubz^?NRvQ+oeyug{to`~`jX>g3
zzVbCEaZv%U&Be}SD;06l=-^bdJhG-H#*0VHwi?dU^GW2pKpv}WdA8ZzvyUC>{iZKx
zUCHvBj1KwSl44T7V#6Y&OW5^n>qz9f17UvWh>G#(gKFUu=$NSZP6X_DTwZz%oQF?a
zIgUSUofe5!YtH=*JQ>F#RoJ6dci8~O!q;_||0-wH0}TT^#U5EoQ+Xqi?9Cs#aFjcd
zDN&;FGL~b^*WT1D%Y~AxAS|SBez$)*~FgUXW}@8
zLMiu+BU=xOI+34gr;r+NLNBA3t;h;U_4!TmL+r~)6jRBqhr)$yCqremIlXc3okbox
z3HI>ttL0eYS9J?hDu1l369^C~nz8!X`9gyB((1@?P1;p|CXfLCk1j!?VU3Y6e++%u
zASAH_k@uwnHKD~eS7WZWnJFh}*i#mgjqQ_v(8?@;ap@LHQ`0tLv1)6|*4@aIM5@1(
zBoINA#ZySNi)w24j
zAFOhII1xdJ;_*v}S}w@gt=5BbOO^yb-WkX+0wOWd=4w*6ZHd4pNmC?WMEq&@5=1hg
z4Q_|JkrQ_9X|Hr%MD@2YDSf0S?cWPS^0qw1326)MJH4nvBf%}1$^~bdv
zh)k6ebyL2ZA4>}XiosY&BT51G}N7~VQcosf>
z)+i@(0(y%Q&;P?B?N)9P>$NDZ4{^LlBPH?Ni+tTmuFRbH+*AAu80Jwd9iXgxN?@}m
zUPC%Q)t#cH>@S!C${y{GD#b%2a7@~2fVVs&T^Np10tf#z)ULu6rB8#O-twwFZ_BK}
z+6ae*d?i43*O^wXjE(wu_qjqhu60OW7D>x%b{AKW?@vB4T;Sd3X
zZ#02${L@CkZu5c}5cr=xaRDU3XpxLv
zpOvxaGj{#|*!Ytf%~JBOX8E^`M~h{I-syO_@x<;HOUW8m3u?zA8Ddeny0AO)$eFuy
zc2u3%3{eR@iO;`9`c5ht6f}n>&empp
zUuAWy*_f8DbbDV?adE$iN~j7$dfzFzg_X?gw>$>
zF0FPDBUHok@FuqlIZARY=G42iIkF2jQEl3ggB6)cZo6kvb-_81$3^(71;oK?&S1oz
zSvY%cIz%|9{G%5w2XE^=lZ}`5H`A0m+<2~TTe0Uk>7(FhN9PVVp83Q98RS0bv=4&&
zaN|KAYt{V6nfUl$pBb;ka%cU|XV!_^Y}1uBO#kzl&mKOr!QnF}cmFtCF%_~E?KwP*
z<0b5m1@3Vc>gMrseTWI;TF`o^dNp`cg*g8%SJ#BE@+eo#aN7BY(zhBdJClw`VXa5P
zUv!RS3QM>zbqzcaWMS5_rfyY!Ry-Ci%PbsL3*-vg-BoEPWntn37S=5t0fB4AEWPvr
zM^A9Omci!S$D3zJ{?sfaRImPsiB>C1@A`m=r%>eABK3p2Me#D9tRng1o;=98W)E(=
zA+sY{O~_pgwi1Us;mZot!c+Mp1deV*=HFRg8(nwOUR8+L>{+Fgo!m{4iVdR&uM8@~
z6QLI4L(<#WCGX-_CZe<~^Ql*oZAUt4M81D{v_0t^V-3MKC=9AMhysAj!;I%sk`JXh
z`<1fWJcN#o2MnGOS0n1F)@?<7hzXF2;l5VKm@#T@+{78R?-fH91o6%gXP)Khb`#)-
z3AePf;+uN2IwDatEkzAyt2ov5MV&sN-fM%bl;+ACX=-b_3WI7ZfhYM5Eu(}jE`eNd
z;B)B%8_2L!J)@Hm9Co5ONaAldPmQW%*7*lk`qU|{ggG~J_1#h~y$3h54KL&~hmqUQ
z%q6%Xp8^BpC*H#oURuYlQmtxA>inmDqa#r5)+%Rf^Tx3^
z-HjeRTx=zt|4NQ5Gv&xnH#_s^V%zJ?HKADt?Ra>DvDj9=!0dCO{zcT_1RmBlB7L*6!lKtdgWQqyeiUEn1B^
z)^ca-y?uZZa!WmU^us_=&RRE!sxRCmm2wTOdKPK=J45ODa02b=a4r
zU|YS0@SRdI?5|2^b$hn_fP=5Ss$ZV7SaVG|#@+6$ySWp36!j>#dFfUix8m!|-_dfL
ze3H>f4N8B!g_HP?xJS1!I5(um0%P@%-=lFQM_$)*KcN9TyM@+hR>QS{y5};|Wce=V
z(r)dAg(4FK?|BK{-At)-iN{3n%_ImHWj={&D?3$oMh1B}9*0fS5jKJtjiiZm6
z?1KR*#QyLy7O6}+R7ibSAqU`pm_WUZWgQG)W{f6&z=6%~4l*YB8nE_B(S^u9ZMa^~
z=&vKKpWhJv!KCVCq@dK__xmh9hDg_nhMBG=bsvg!_}4}^OD$S!5(}4fOi%S=-MhSU
zcO@TJ7xkv`7^F&i-#hh|D6SyxyL7|#ZSE2K_kp{dp6~Kh!#>3<1(4p6euVQ%g({Z5
zf2toTXm*ZUytP>Mk#?uC)i=v3sY_90V@vV(Iea})>MDv+4z=gw&xO9azH9;sEYat`
zJGT5OHDqI1Po?6!ZG-()US8h|)zi-tUY)xf5nS`7$3^Nym1Ew_Oke(N_-&`nYXd`>
zdKXNI=j3`ImBP_Nj%Vw>L4~o(I5O!_q~B!ead!;vJYMcK;BY9??dzPFUX|pC_uN_8
zocw$!(r@lAr+8&t`2F=w@ZQR^Ly;aHKHr0^Uz+}+==XV@A<{K9>wPvel`>i6C-8?N
zJ(R>!#i;o|MSAoel}pbU?S3fI{Te7IK3ShS6zQUcXNKXCt(v+#v5}xZMY=*1-5mQ5
zU;fm;)<0egCDSwd*O$MwXN)Ji>cv1$`UHxm7j~ur<)kMXs!tgb1&y-vL)YDmvruOB
z&AI+Urm2#i$0EXNADcb|hixbCaC!CI*SR&X7_R7MS!f~?o;kv0gaoM&MyRr9;zjn?~DqnKJmd5seV9L9?yEarCFZ1Yi_^x50Q
zF&6jt)4wjH6*PE{yd7;pYqc-1jC{V~osY`X8
z)@};1Qx`pP$s`N|QrhmHeRmXT%^ewd-10~kuyG;|sffu`#(_EZ<@6w8`g}ahI+<>1
z-UI&A6d+6&*C~6T%=sX4pJ$GOq3?$xRflDV`xU><4S&36t~L4vi^SYZ)ySH5JFO8j
zw87%`YhdRq7GY`uSE192(z313X-BiDRBg^KHCu%+la-h{YX6y0p+kq{bUC{uVn0A47h!$qkT^U3^HQ?@4~6{K?g@Fh{nsqn
ze7{P^lM5NSbi&7-?>Zxwz;b^4AJYZ3P&}4pruG(dhAG14Ej?{diwDFc5T_&9tO|`H
zk?+WkB~_(OLGy*yqKo%D+jBtz{YyE|%U*|V(md>s-6$C@(O|P(jH+CDaeaNRvAit^
zKm7a$2?3sd><4t%9;xwI=JA^#ANjF-Rf4{Hp^^CrtFuW%j7v!ZO#EG6?lt{4>1^lG
zz8__DA8|%P2%~`AGcA>oGuZgmI;WQ#5(sam&2=0U95k8
zq86-s?U?#aJ~+v~#R4uy*&35Jz#7e5Ss87@8gChDsLD(0?swQK7$0`J1u!>d+N
z{zObG=z;g>jBrCCd74M!X<3R=gKmt?cm<JgaTrIW8R-uP+!+MX}{2vZw;{qyJdwf2&i*EYj$uKo;q
z>U`(xK+cJ9;Cjw*K)4GAWa}VII${QrR!%nt+0a_!c$xutd1l`R7qGhMxTV1zHftui
zk4^z8XU6JI4XQ2RW@pZP8mWm+6nf0)CzHFigT!CsR_5wEbe$*msuc?8NazzgZOB0G
zsdo&EHSDWOv*O;9Sl?&<N8H?KIt|Id;~pe|9!inT{keN74zPKP}cm*MFWQ|E(lF
z&d89z&-cGfcyRmXUu|Kl?HR!3-?atCh%xYy4CD0B&XN$m?`tn7+#e_D{UIWZtHku7
zs={{6E|-_q1D$|l0ts~`@1F|apNeR*7B?-^uPp0;T1)g6;)>S!kENBLe|~)6z3%a0
zH@j->jHuYR+mAnG2MJ86=Z%$oCf`zdS9#8M?NU?hL&UrLq02K>DbF=Dj)#?-!mok2
z9(whGXm2lxoNbroy5ZExb<0IR;?oaZo;A9@I`m%-!EbRa|@UKFGbV}
zwW9U@eG2P2{QDyMznsEah7hJ3Wz+&q$L3Irpesq`N@n4d>x}D!143M%Z>#b_y|`)q
zX`Ww&4>WE~x`)axGJV##HS4aMu4+9GbljU8irygMW8_xnzk)6UmaOu4nsmFA`e(5$
z^_#sJ-KQhJHmYcal7a^dl=yE#qHwJP1+TA42KlOUeQtgly2K9RR%Z
z=5UMmL+v5`wIJuhFV_>PP98(hLHg(c*GsqOEJvr7CyVBpbVKgx3Ai_je0P3ahujox
zR!W-rl~s^M(?ZUTM4QWdtDsCZHppCh5aIn23kzX2LUQQbCXNX)W4dDsu{Poxwgjrs
z4b->vw6Q0PMiq=5IM(8L5`k0nl*j=L-c(~VUjfW)_OZi}Aj}-i@Dc;%5bAr@O2h=D
zh22U1qF$~P)%AWW*6VVdXHTUI6Uc36xAzqora%nnbB27JUJ({XiyG7noaZtn;AX&=
z**F4!q^WO>E2Qx|1&ht)@EE;FR+%9xq&RE6SekfHlSOWOsu;F3Ur=MFH>!0n++fKx
zOuW`uD{RK22M_NQ5>hs
zVnyg4-YG1<{qq3U{ns=iX+Z}5<_fgO?$qf055=6C0}33+iWI~HEO5_Eih=5CI2T=n
zpqjq18tML~2sM=dl{LmrOJDNp^2G0(C2RKuk?6OsYJJxYoFkFB?(Lpw1?mx7i<9M^
zrh3lhqAKV3>{<<#Zyl`ka)ng#tB0>|GTp=h*9{Y&nBcPF_NLCNYdXMt-K(b5!fv2*
zKlG$mfONO!CSL`+F)<@~IP+Z?9#q}j<;XHH)6CJ9u$3lEDdpkKNT^O<&m{xCebV`W0n^Kz#F8Lz8+2?!VNgYn)dmOQTFvG(
z7gk2WG!7;LOd)RUF|8n&zg8T}Weso!i&9|wW%Z%t=~iIOHi1R{yKXJEKs9lXa$`qw
z9C4Pa$YrL?yEfZjXty4B8Xu5cWbV4-lso9UvzY-eIj=2x8n3?_B8X7iUCc07|DM0m
zFKR*ixRm!Cs#pRKtpN5($a=jfD6;aW-AbvkmNP`2t}$GI(a
zf0v28oWB2Av=O5|YaU1My6K`h0sfo;YI3(4`19P=GR|k!s<{H?js*RA?t&Wp^Ej~o
z*IdN6vUvW@SkQ^vomcyxI#h{)n1m7xIEs#%)`B37BbkLi*5Z?n$XJVRQ9+18X+=R%
z>ajX8Rvv2ett1=3yV}6DKVC>2@nt=l>^ND5DM>paYd~Kga#Txme&ciz@N!k$hG7V7
zRK2JTxrTlfyt%eC%oFxayEW&awVY*eJWtG_jUGN$Ugtfs^~XT;f??z+tIsQ4u~U1c
z9jxFl#qT^NBU_tfc!H%Dxq5v_ijq>euS((-DaBy`wj1en&=w?>6ygZ}+8Jf8;G(G;Wx*!iN-JKST3?{*f~pc}lo}X38XJm=^>#
z=6e)}tO=Pm=e{e%r?N-aNsd2i+c51oLUem4)gu@BIS%-Y+y-?$I*zxpR1dODIz5vx
z94~F$!+B3n+?zAw7*m)~y2UZEVbB$N^x)y?RXFE2&BECdXhZ2dGy3H4^jel^#>cU*
zQ*4bGIXu12Ed6tP`EMuu)qj0!k`~M8+FuiXxA5PY&i^+ilA19J%nIi~>(XhNi{_*s
z%C53@kE4OJo
z`+#7n#d)jpn{jG&@;B!F=lvK%S8b#n0)O>d~gK7)df*V>5>9W2Pz_
zL>uN(K_i3!^+-`?J6%piX9`=MMl)*?qX$H-)W`%7+X}{1T^nfSp8uXrZ$V{`mhn!p
z4>N13ytD5%cK*B6zcKZ6UnxE?q
z^nlZKRj5%II~MP{WdKE)PwXe4BKhs@XY=pDdo@*zjhx1K0LD{`TsdLqy9Ao
z8HRZ5-wpANrhjjUyRo4}+2i>0s-JXcqSg3KdupEQrty?nfBs-L2#S)p;@5012Rs_O
z_cO%-kXcN9EWpt2!+r%Vrlu^+w~X(Vj>yrs_kLyaJh7^}Sab|r?Z#bUXCbTDneaha
zD^pZm)R2f>bE<=_ayn@>kfB+gjZo%lLB6wBh$r1Lih{pcwW7TOXXBAy)NgM8O#cnz
z3rO<*K3;ug=ldm%iYMQ~1?+T9vPBchTBIG@YH+PUIo(ncDami#f$LJiMgQgNQ!Q73
zB8w4IYvXtGtV(>zSsG%TOZ5|V_A=O$JvG6t~eHB$F4+YY&=S%
zF`?{d{r9gs-?p$p#j5YGxD{z^&E=Y>{Gu0eqh)v*j)q>SLaH)@^boo?yZ_jL$bYv)
z+r`?}$Szut=_M`O$@Lir;dJMP`?p=DSe{0^$1OcITgvh-j=+~CCTKn!Wwe{%d651C
z4}FUM*-`Kz=>hdI`}vpkl25x+}Lkdy!6T&Mm|oohzZiHT=L
zGMwvau2a-dQ;0sDI&1n^)4^Gdg56xODaHu)N5;JqPzzmYTROH5cw$d7(85z7$P=%_
zch`Q89!WKwd2*kWi=-9EoWeNdw_dit
zRP!v+qRojY@r6i0xOuk6fM4x7qqRo=|GB8I85@Q4*#nx9N!
zj#{R$I!yH*3}5JH+R9WrLCo7RKT!pN$iX=b2GK8g`Oe9h-6@`W6HzCMBeKXiG42c#
z6S&CRcYk;u)u^S6WkQEpdEX&m4zWk>{J|uOv5>M0z$+=chw|tyWoen;eBU|NuCz5C
zFaSGUP|6v)(jPr2&lf6!gIF}2GS}$w?IiiCg;BN7Mm-z`*@L9WcRluK_b6cuyO|(c
z|IzI!i$f(PMSZ>5DlYw4c<@u(i;N?T+FAuL3J6^x!vptBhXt}#h3N)hpgO%zW4$@i
zOkprNdQfw_PKTKkakj%k5+U>gD8DyeB%rZ7qGPVHs(ZukiPp&*c5Hm1C=;dcv?BB3
z6|}A|qG~M2&o*}%
zBmMraY7hSIT08xxYpoFV|H`$l!z7ern4?M=4r*Kl_`zC)gDc~LBCe(uI`ouE62%C{
zWZktEOW^Hojt%(Q`r&2p0j)aYgPyce)A{mjx_|ovjoaPXORqwnPc?`Ae0Tksf9S0B
z)8xjF8QoP=>LFkH?f)o|`E;RLQR@rp_cdpAcc*Z;{pi|_R|90n!VX#4y4QDh?_KXC
zJO)Td9IUlEp!T1*&Tf243B$?)b3)d)M-MDHS!t`N~^+3<{Ca$s9lkvXQ{=8|Ln#5wnSs{bv{2{c%qNc?A<^VXWvG5LSQIgjP}NJah!
z&Y8VzTkP?7oD)AN9s75j(?c|8Vd`%<=dS0ahp~U*oRRSc8h^t%FPuv1_#4i7!N>2|
zpE##^8gt&CI48^V(?|crIcML^-~SWmWdDx%6X!f0vZ4Pc&iVEc1Lsr^*<5DeoCguN
z4slLc$N`dpbB4W~9c18~Q$9bp88|2M=j}tB)BeNYA$eC4=bTq`VqA)LFA<<;
z7fE4o4F=9Ru4l-=Inkaj44gCJa~wKORL}>L%D_2uvl1BkR=U`gfpa#DCCPvAIu*_`
z#lSg3hI(eb5#U3dlQXe3tz$32-77%x5a-m`W8p$e?mf6?8y@$krtrx5gI0*mZW++O
zeC@}dnxd-FT*|G0fpc2E@b-Lgt;>i3H*f|mJo29ZxIl{81}{E}%C^=5C)dC$A@G_%{8)fB1
zV5zci&kc@&pOup}C=%KjYnu48;=)fT<|<`k<(-SHXY06MR#utnbESp3SM?g?z$YdWRQ&0#
ztnIcq-sdUXsk-M+GKy8HWk|_BIuOYfxcD&9Z%*roZ$)btisurz4W!5&l_dR!rrmc`
z%4_8wiv^{+YY+<>=sGGdl&l5Q6V--Ezut^WlCZGGlCd^Z{>+l~bL%G3FK9z;AZV*(
zt@Qc!HeImQ1+X^K_X&R>)pwKr9qQijn*nyZUta+sR}OGJk`4PceNwR#bZj5B4AmuG
zPoFW7CR;~pL7>$>9pW!(t|liH{a?wkdyd~yqWbf-O0Z&%PqRun1W0v5@iKMaVWzqq
zod~Jpn^=g>xL*fU%7qd;=*yk{OOwZ%0+ux0xX~xBPw-dM!Vree9@pIe#>AzOhEN*H
ziK1&SPO-2XaF4Y#N1tk-*91xV?sK(jy{-3;lSom0{r02xO
z_)oK!hhlr}p90a!I#M@&G%%JP=d2_O$~0ZYQ548haEg`LmL9E5o#9>U)01qVF}-DX
zcMle~*GJ2;1UIw`tW!II%9c;<6Lio&Sqn7|=+miw{;jbJ_E`D(>+Pq{{Sa6owC^)>
zGF=GO5%@ugNA0+z1!0Ox{-a6Vgw4#-HUnR;Zb&?
zc4BBcq#_D^9{xmi#s$U#?*OSQcdLTMdct(w;tv3k&`nJ8jgDEg&q%yl3rCX8k_5D-
zAx?EUy-W2|v_N03HXkgC>FBeN6lm%C!UPtWm+rQz*{F&ubp`Ed@D
zlOLi5x)SEJ`RVb&6GS4BI{_GFae#DYUKhBSdkIp8H@|Z>9o6y_>T_Dih&j-SEmFMtlpPmDS?7ey(|G3{@v+cFmn;NQPm}s-K8N!(-py!)C-7cq+(t;?D
zdtg^v709n#YDe?E$hG39#c2Ey>PHoKv
z;VGnZY!>r1)w7Urne`ZYwWqFl^;zl}>k+2G#cuV9A1U6FMMozSuBfeRxj3tzZC;?n
zDP+sB2TzSUjW*$>BWcZ#bMKu$zZ)w-cC
z?_(FQ<##T}><{{{w9THRWl9owcZde}*RWt#IFp=o8bWWNltbQUtuI
z9sF@Y4US$79f@u;D5G$%^akE6eugerE&=Itd<-2wb-az%DfiX|`MkUcDy{bIY+1xx
zZ=v?1U+mV(UJpe_2<*LQ4ly{_L-f6?Ogd5v|E73*D9M9dG`>gcVh=pa4TqoPS1~t`
zkBWp}pZJNM69u*k(qU%rL1-$r>x{n|@}|4`QY-3=TALPo!Ie{UIi@V14u(9Ht_Q{8
zy;xE`oxM_eu2*h)#Y@FeWa0Y&jzNOXmrIu34dF#F8*0>M$t4JoQwaE))FoMiQL>uE
za4wPJ52{PdI^~>-_?~7kwPT5~o)e$YUr3Q9(y{DXW2cVFFXjOMz@=8HHm3F02gafx
z!xsn*Iw%QQ2*i$HkAn=8omPnutGTP&R75X)z8pd!@mA0%Wa`HC;mf0KxaCIeXM$XBufQ&>qwj3jmDmARhS!U@C=)
zNwR}nB(q-+LTI8Sakh7y7hnf?aW*`792fkP4kOMn$xzw%@a)AX2!;SakU@1c#0EWT
zLLU`!0Xad1WZDs|sKBF#8f#(}vX^ifB$uvTqsm(C
z8_E+|T_eGKT{^!8phH9)--gqK)Vin;7#+~ME`NYy_h3mR3aK~Jq2d7ff+!|tS!lK%
zazPfnk^tBDM3V8TJzPv<^xMTm^KDBhRtj@=7V;I*oP*BNh67jEWZ_g0qAJjZO@Kch
zY174CBnzIW+PZ|If)lM*aBzJR?0#KbEhiHam&tL|h=U3@(qmuow+}ExZN}XDOa;Mc
zqEd4Jw2?Xn%kHa4%n3?xRg_`H!E3=dMlFxt131wU>qKOy|9McXPO~A%@Cm?^n0iSB
zWCH|Bq2TE>rprbbnW^^92V?BxDyR@oZJ38Jz(V!U+Y!k&6eC>0_clLDiVp^qAW7oNCY-7+y?QW!M+V2xPyZQvPlj3ht=Y2
z#Q{>MjLxviCiuQc-RBd18NvYtz|QKk=MhsODmr)klXq}%C=PpEF5Og?rJ4e3#Id^5
zflzMX6-4eXG!_*=&VGV3v3KZ!YlFQ5b2$U2fW6N!S{
z!NSf&vzCp77&ZnU6Wv;|MYUr9XB0c1bC&`f2Va4iWSc?{AIb!Gnv=A(x4<^B?`h
z8iC5j>If>(g~;Zh0P`nG
z={Z0E>FO?k{Ux||c^x@|3RuO1`TPsJvI}`0Ghm5eUs+bgPdE9h&1>fnU+QpXJm;d;SD?|*2
z#U3F4c)aZS+c+t1wom>>E+)uHA{#0O)vSQ1+hS4bz37157taw}Q@PG4&v<06MqBCFA+H3g1TP!_z|E4h23Bg~K#Se)KF
zADi%9SvXg7%z9(K>&*R7y#3DuDvT!77oX)ip!arfn9%jcM-l8^%^5d;dB7=)C&>fV65K9l25zKcTAL32J;
zPW@@la1I24^+qhhf(S5*u(!U#ks5+AudjxhFiiDvUa*YNbp|MY(*jq6yQX^6vMEIQt
zmdM9|djGKI1Hb@K4SZY5k6aGO@~sG$)kIPpTMZ1l?J{O+fS<6ASH-#ow@Q6^*dCgk
z88lQtBma^w(y~(d*yhq&AGr83S@QvT>(EVG#et0f(=mECuP|?=q#fG
z1}#3wc|4d6MSaaSl^T}3=MVqc-#3i2FN?T#fFiC_5&i@KjgyI)47(DGd=8l6pg@!}
z(|cDb8+b(i#qj|GtSnO+NrZKqBBu!Ob^<${XtzuK40{3E7WUJZeX{%!p2dS~c%6O+
zi@eW`7@)wKsqjzVf|khruiL=0#DFz_cE=33av!n_r4Pdl`~)Dskm2>lA3Z{lS_elY
zo3s7>>-%2%CcRK?%|3R0oxq9@a9sfy2F^95V=^-o(xGHvC;o0XLDu;A7($M6J?E=^
z-k4lCM-A*@Jqd;lyyO*#obiu_wtw}wfP9C706x8Hq$8?{<^%Cpe1b+C-y>S6z~ZM5
zov08GipF&o-APQ~BTF!z3b_M-4FLQM2D*X7PkMFO;cYO9B}8B4GAF@7kh4&>G#Fv0|6TBP5Nuz8%ucTi34MmJk;$i9D;4&
z%Y?t(bKySDg21_|k9Tl)d?0zXn{aiKRW5R7sFGgp4Aax$&Pc>u{KMP)Ls-@@*<|g$!fDQbfdn3*yf=`!)N*t8Mps6T
z%tR(DI0fN^EuT|&fTn7^c=pY?IRbM*TVNLtJr}+?9wa7?)2fZw_`vv?4)%lk&H3Qm
zLXkn|s$@F>jGO59K~ROhmbF)0TA5Ufol-$jJknvZ1<1AdNkj%cUV^TYi@6}ml#qqt
zOujE-exkBXFyL$LLdtx!Cf$_N%?UNu61H&g_G7tHkhAlxF~1QZzDT~oD-vqTyWBs~
zlZ;<_b89(0e*mYY909o5$=r)BLHrS8wRq;@t9xrtj;V}Z4oD51IMtm1sRFiwAT^YtbEx2i!YCF)_oYa5myzWCCRx#_hhZy?
z^O{loD1F)RE-}F;;N&3#bO`kU>&w7o>=Vk(+leW{$2uarABK*zwLhAUhNh=}&?dCX}GVwLgE)L$61OM|$jjw5bWB
zT7X+=Z@r!uTn}dLQ?M&`7|y%z6T|!{Y$UM|z|!*DmY{81xL{uGy0pOW7G5o!gKu+5
z5WnI8po=0MC|&5Rybw2GDZuIyZ~(J3@Oq_(C^_;}57JTjR(Al?I*jD)SXLJ<1|{hxjDm!K@_(;T>{&
zq9_#K?1P3T=vB14pXlZ@XfUl<=%$m!c(M29^y%D-PI__8%t2z6QPP>s@khaa%ps9X
z1+Co$ezpzECy*$t?nCOLpWzXt&&5z-q~LCFB!qQW_|c0yyGL{H(!Gtp=UDCRM}9bh
z#pLxj%6*JJvOa09@T3fN>rFtoZ{pFoPjYRMf<4voVn9B{XSwo9#w?Fq172T-f|<({
zexLg;`58Bu)-99Q1{6@dwgb6K(Q}(r@sDKTYbg+7;??m4;N2goK@IIf
z8`vHh*`+t~doC$LVsw&d?{w7cOA18Z9Z+-%R}-$D=!V8uMpL
znw;_InT!Z_iTs0ST_--b#&Vv$EaVD`6Vf6?+K}8dg;hLt8kiVP6$~7m9Irtf(l4^c
zb0?4@nP2lU`@|5@6UKvv=&&@GCpWSxV&bZ(k-U+iSja0cgDOcOi?C+5W15SnPn;kt
zDT@knov`VUThmGlw0<0e!7-WUZ$(>;{$S!;Y~@#jzP~)-c2&pF+!Aes4A?&jEQf)V
zmR%|WO|^v4lzg?)5Mgc0|I^-i1~u7rd;dyEa)p2pqy-cR1TY|A0D({fp`)M%5edBt
zD2N~^p-B=*p$a0+3St3Kx*B=_6;LS(DmDy?ii#RQ5Jlz9{hTv%KOf$E=9~}jne)#0
zEi-$PO!i)D&&s;i|MwSzNntXhgu%H+3^HOel7o8Zek`f1PeyB3Aocalt`*XIg;yK*
zQD-=fJK9F#vfDU@=+RafUSsojn$!K|M%k{VhxOlQ`VCL5h3LCDsdc%~S5$@cWOD#i
z$$Gb{uh0tBc2Gxo#KKJ2+0utQ-s@mz7<(>}*?|rA`9BD^@6JEIWOBMs`TmSkoo<`9
zsl~gvABCK!36_Q_>kD-|s4|H4qdVUbu}U62{hKuh2SN#9s@%wT9vY(=`w7#kyjc3W
z$|kxG6{$9f>HVx)a8)!6j$rXLEqQ#4(Xvd%oG@`@!<_SC%-XylBB$%s6!*I6aRhg6
z`VJPi72|}(^dyYLgc`XY+pVrCMU@~uH53g)Y}4qhcCnuT^w3s7yn@cn&57z=@r26E
zalh^9xL8DuQ^uJgnNhWujfgGQ6$)+J`Zoy*;LcWJoMjhIMCF5Hfr9(Wo3REtm{r%U
zElFXU44~eRuF!thxLAj};eX6e-9F^J{vZH2P)m{i5ldb3sJBOMH(>9mnAFr)Dx=n+?^Fdt$tD)lJ_Sw>LSPx6#{RgetvRs=e9QZP(L@SOxoQ
zpwkkJQ}e=JSz^P0ST0ci{6WabshK5g>@Qx%8m3Gz
z0iG#;{b3zRC=shCUN&^1n&Fz2+S}fO8dZ9Fzc_oU4albq>!+@X&XRmxxP-YiDmKnK
ztS7#X9I`Cu=6WS)Mu4-r9y;dq&;(nJ!c!B$h
z=VS#xg2#=9Z;7svHZ2MEI6zoY^SX1)Qb2f_D%8N?mmDVv6*~3Z8so+D^xB8u$0my)
z%t{4l{u|(!kEgF`#ZySf;t*B|w(Z~A<<~te*&J2<`o7{J!evw$G$N9XNZ^B+{D=YA
z1N%%~1L!l_ew$0zZKzBZvU8$x=T0ILo=T8vYTNg*6(!c1^ANO#&Qv1k%Z1(?1$(
zcCl-c1?)g1TlH&?njYJxfY`kZmW>`WYN$VnmQ0&qRrUe$bawUtC!ESq*F?f&Gk;Zs
zhv^wJJL$GNb)zddDSS4`2dLrQpiVS{7^&5qimKZ*y7~;_V{*Z2ZEl4GL3TZ%D&7js
zWzV}HRDbrU$+7*(5}*M7l+3ZKuvw{vKW^Ye2)YSWaX6p#Yzw<731B?Cyho4&64|HF
zobR>W=0vdoWL`2E@%tk)Sq3S&%phI{4+h~ECs@vRI9}X3xRB*o%etwIl;i_8`;eLm
zC*ibKEgcb7#{3GGZh*Ni`jLv%EEKVhO-0zQcToGv(x?_^_vG4)mLVq~-kZUv!G*pz
z)rXSUq06j50V|>acbMDeb&APp2X~AY#p$y3TF>vNAwp@+0cGq-BaW(gzB-wG2+vE6
z3|+y`9}(gKb8(bljS68xi$Rkr#Dy
z#E)`iH@)WUBdbjHUJJ}XY1(phP!BLNmiS=MjKu|*V%v%y
zIu=pK6pQPnN82Hdsyhnk8`8=UN)4_%m0^ja#ff;>iZ>8kQR1Hjs=ETgSTv0&QuzX5
z9w+0FTO*!BqWM+n&37zegyQ>sC5G46_5f3c5(|}g4}32~HlC(YxbU1U=H6?MOt1?m
zIW;_RHHcV+5-<;8`XZNQqEfd!zq!V|a&RxVu8@xl0j&F@AO~iyCUBuy>vD>Wb*o(H
ze)z29(OXqiz=L9vLgg3_@RN<02YKgX3FS!c+Dwd?79fkUMd7Xa%dN)_LR!Bpzcwa|KH%Q|jHADIY`;6S7VbU4m*wP5lhd3YHy^
z0a6$(J)H0XS@;BNU|iY?U)(>TL#iIW!dFh>bAl-JV}5E@?#4I_YX{+hJ6}vb_9T+b
zK0+UaFI-h@1ds68K67+k0vz`X<{@gNe5FS`D2?aqe4M>B|6`b%QLYz>UJU}AHeV~&
zL7zT*UYwLfH$hew%}Rhs`G~!Y)u^oF>kYsLRuc_`-U7t7Nrp#`bcw2q2K2ovjmAim
zOHKAB3-l0bZxo-=m%5fn9K{`k#l+LS3btGpvUc_;uqW1L#nZ2}AiwO*Me!g$=dzP@
zw~fhJKs>f#l7WDMV>Gl8Q4+CX&u|&{fz}f+raBAc>J|~%Mp@-cJWlv>Are!v!DRP~
zQ#&PIl*vRR%?I2I$(chBoNquNHX1eNX={0c`?=~`jt%FNBRS@@J6%{ktvNn5y8!IG
zVG9g~_BBV7PlI@))`|Rd;tqBL=s^I08v6N-^+-5F9?e;OUcHm#PPg^EW=Eh8duK7H
zbu!nRkv%&N3wGD;ZFLjKU&gb0mnEhObM>k_vO=L7jo2_?r$uo0?l<5Ii{|U%`F>c=
z0qoOrzYqrq9AY6SLCB6HBIcS{XFN})RUoowrAo(-886ny&Y%ur$(u=)t{)KSgs~D!
zv0n|Gq?%njvspD0V9B~N)oQA>zpsfeB!(+~V0k2K@y?j
zw~7bivr;Dzk?zt)1Td|VBi86epvdiYXv*5iOrWlf!TMUy10lyj)9PUq4H7}M3#T@(
zyw@E6$|L!0JGq>hF_@X2SKxyOtMq*i;K9`ko}7#R>=S}cP9KO%dd%Z-O4bwvV0*7gfNwCMbu!(kT<{?n6!whpyV8H^?K4=R+=HJ{aTxh`hPdo)j=n&ljYN9p!QM
zHuzMpJ?SmDqZXtwG!^g~I=o}q+IN(*|GrNN1=5i>QDouu1Da8Oh#oW`elSQUj}Orh
z_uk&w%RCL5A|>E0m44zJl~JQGkLx4%#{6aTP7Zln%Is7ygpVv#?gxCTC=BK6Q_2Cg
zDOfoz$12<6qVLyy7E<9yGkpt*8NrqT#dzNmF3==Yr$&01tki7KF-u9Jzt6ek@umt+
z36WLym#6`an~HT2TD+p1sAb<(_4ynamxX=+PBhCKY(!geL#%(4FenTZ1(4U1G2K1c
zy<$_Q>}Pnbw}j6cnn&D;$_E9|xaF$ki95HKcNVwba03+J7`T}fy91)U_ZH%_7I%Z3
z>SZolvBA!|&wgTm?zxlx??$1xHcn&wt+=P5Oy1PGe4xrZ02E9W%;7jP7^gPeWm;c4
zZ_m0T^qeh?0SHO}-|=j1g$`kOeAMf13IbZr*)fViQ-QLfa8?{(>H_*RIM=^w8$IG`
zpFyR$lzGjTWjzVV>I2|2+UR9O+FsCzUT}h*wb9rKtY)3UU(VeLwC^-Yp4A2`;5w0lgtw*KoTHCAnCIP
zpC%D>-^g-2hW_Mt`JQTI@&GHmZ{Mjfrr#*3^4{LzYC^z?!eK^3h9MhV)>${j9PKhH
zzxHM2Fi?C|`)pmV_R1yb^&DTm8g}gMcYVU+g+J>SaMzA*p|0m_{v-@bdq2K)>w$=R{i47tg@S~Jj|hoyV7;g
z*ymY!=P{o@+|~jC56_J~P<@0E1p+5TC+5(-@aREqTd8WTLViJce$k0DQ;rI9*Pj;o
zAopSGb}>yZ#F8^rXb^))Htrnf5b~Usfef0?ZePct&OnqZ7%Gt$QnA>R4TvLXP9TkC
zQwBAsvG#IvX!{VTeXVw)i5xE52cN0Sg_7v3D9mNrj~hXfoYZA@Ac18>U>e3|2BVeL
z>^RUmdNhXP7n^BN26Z4J9vv*0l5|wt3i@!N%CX;!d93IGaR1CfKOrZ9jPNGI^hGQ$
zBAe_h8&@WXTX>X2C?!2H`Blc*6ItpPyUcmXTBVLY=6AABqd-4Ci}RS~kIax$W5yjR
z3=Lu`U^9%WvLi+#M`{HA!60(PJnt$#B$Adl0uSKAWR;nmewIIFt*CTmKW4cRD%~dF
zoExko*+s!TxM=CqDV_n9Q4G9KTFY1(uQAhRqpyKRM=Fej}`!JcR4L{V#nIS~Z5f?v&!hM4coJgWrq8T(W
z^5{!cj{IFp0)?Vfz_1xWteU$DPTgfK#ee}^rebU&F=+31+h4oZbL?mgMIOYFzyB9c
zfN5hT64>rRV%qc!zcRmLmH7>7U{fGlCz4@+cgZP3V3VBEXkZi{?kKwF=wcpRM8F`f
zgplyqKB1f)>;xjER}pLVB84x-oad)se7q(Q@WE^Iw`wB~oIs(`tHH~Sc_E#&cXzHe
zD;}8aq)M4Kg?U%Hn5E5qcxbO^@Z3CUdA28cd4$oD`gQ(EM*r~X&XoCA?>~ma#6+~F
zua);A5?)xQXutl{?j-hsEcsmcaLlXzblc$t;m}E)9fdoXGS@%#ZKzkVO!}_yIpvX^
zNLg=r`F)Xdy=wdF!Kpi~&&t2}uo$R)?za**{UuqOz1{wJ`-m7q
zo8R1|by`!z$B&6I$X$|-!}n{6M@>Ja{ffNh7EYOWJquUx
zuFx}=BfT7*{@7@3YAjpr(}lU2q0cw=vp$@C{Bv;9tL0T<+RD5TfNW4
zZMRrJvZOUOUi->d6A~QU;$(E>j*&hcj~{kBT`cPurvK~fmV@7>cdFZB9Qt06)?_aS
zs!P1EUxS#lod)!yZ+VQHPoMYLabTGn>cEvraQAVXWn6k`T}WIen}o^i*|ocLuxiAV
zrz9d|Xnmpz7_0ARZcXaOc?R9Hc75?W-+cN?=nmf%%7UV;yj=50^1|`4A)-(uwyyH$OKDP!S(PpM#GKBB7lywXfSoaoy?MLYG(k?XBN#i$`j9FHxPOjnub4lJk92p*ezGYLN=mY#jN^^TvK
z@UBWaJuDu<_XZ81O${oarK*m`%Q2&8)}n8sXLRm{
z;Us^1D+0{}pKbaD`ST1<6ASW_cY@EtE>!zZ9<9}
zoSDl@=%~{8j0BD4Y@M#ktIPKD5m&iL=|j74if*y|4uTL2qh+W#B=pNj$Uqv%Ffr9-
zd!yc|{Op#{^<$%sijft{(z95FyFw=mZSR{2ZlMa6qkc+h_a(#ia1y!_Pq8No`&PXl
zG%5A)8D!!XNzu#Fp;55`vH-9mim9wk?l)t~uqJ}z!2TeFaW2C`vFlZ4=lM5MDb!2&
zhWQib(M|>fvQ56!v6ENyj@zmVGkhubDrWWmCEC#2sb9L?_}?
z%+bS1M%j*5&YRsTnO+CO
z;4Kqu3*BC+sGH}YdqiBv{JG;9Gyx=v=;VCi$C@y{y2-{Wh(TLpe)g5sP~|ErU#($l
z?q2pDR5$PTc4wVD@6n)hVlvw6%Hr}v*%=s5t_pH@1>A?ww{8ZlWi>D-=`q0fRPUHY
z+V>a2@DGHcOCF)d|VlM4B^N?c@djT`*Qfvl%U?Txl
z%|~CPKQoAhT&G71prS4*Ub0leCYB#3&4hq>0o*C_YE)GP^W`H~h$X*Hf!#m{@pJXk
zRK9eJ;Hj=81cu_0KUfLq@L4SC!;k?&fj^K(6tt|o;O@2DD1b=QAajr&DDp}W#Mneb
zCWsl;+8_r1c_UZ+b955!;8VE7a`WXkv7GWJfoKU{@9KJY0C^ETg`Wl5wAozH>De)4
zMIz6e#yAqO(Fd+s(Gxrs4gJ}6V(j8}2N?<=dWiYdz->y++yIv)-tiLk^E$FOj}Sc=
zH3Fw$QLf>J2`Rp}7k&rv{At-@*}0D30Qr`GH4`P73(*)`8nEOYkWUr>`s*CJ%wiYh
ztbzoGEOu^EJW=|V>1Uc*epCnB6+GZ&%bBu_kMi>n>?ghR+rrwZv%FZlvHmU$#9|+HTTR^vf%7
zWBZfg!%L5tzdl67J3JllI((VL-xnIXQh$ANb*cU??_;c&swVI?(hy9mU9?!fz
zT$h+OTRddZa!d8Pt;L$&9f|EPfB!b)ix~(RvK<114Y60YPRKIun375_>?*zWh2zoj
zN}-#0+qiBnFTUfo>gqBdS9c{Vqhngz#{7;)-F$I##~Xu7r2|EdB4SI&Thngy;rP0R
z(+5)3tXIuPGo%vIr!^o}HWm+x>b_nu?tHKJ7(QNQuvp`qrr1qBHP&3Wcs0KBW5DVU
z+qKxG#-h&IJ@s@-Pu6Xu58+>aW>->DU+j4TD?px8rOdxitk!DvuZVCzv;*QBJ1~>1LQon
zAg1i8im!F)q*>V=Og*Z=#e(%0G|~Yt701GGv100!PVwaWpKpxMenboG
z@h=gFlOnbz4RcOd3@C=t)&;DG4g(zTqt_C2&_%I|xdA;2RH@gi9P@VNmjF1dv(*flQ
zL<|*)wRhKe2&w)HF?!;~K&BMxIFZ&yevz&_SYiqrXUKe7~!fz52Lxd`iM2lJ(`(;TCo5^LtP9SktFnsXm
z@8^uIt6py7t3=vuSl_EC1mK!jTs5~Um(Zn
zM!);SXF@C=ZKxu(y+B0skyJYBUg*jT92uecxG}&Ob>3DrY)nVp&Opw=0p^p99d(jj)6v;U7j*2`wG%X1eHg-Zgm)(4;4|m
z6!2wAkehc(@DjWEqk9w#{8|LZxoDY)VTMeZRaD}Rv(~A?y2iNJ(U}2;G%t6|>}Wt&
z>f-cNJcp}mTkGXY<5lXvv`LvcrX`X1Wq+Hl{P4L&{3t{}ZT0j1yG*R@(TK(0?_HP3
zUjp*A$Q{D)0|D)Zs2@^WoJS5So`b3->dldlS|xourH`2jDkWw92q?dR{}Cb%UI*UA
zhb`HPp6a6~b4tt-_UB-&tlBqxd7*Spbr+@GY!k0DM%7fc9%%v5_JO=*FczDexgZy!z+Mv^bkkgAcNHM@aw6lXs5S(0GZ(8P
z*XN*;=wjxJ{`UM$-zPR?fHG)YrByl=Ic+z8KSJ6xmggaD6;JW(NtYc~e{)=XP;ooy
zYr)uGipfv~#2DrAb|tZ6Sq0lBI<%!pOR3EnDe{qGXNZ*jCdhoYpC`yr
z9R4=NwHyw4$?eCPvyVI1Ex*oPNi%1Zn{|DkF39OJdw=@fFZ0yO6l;sO7ut_l%+`!`
z{y2QK_P51M<40@DFW0)$R^nQpbyFbNAbkesc8NWIr@2A*UFTeSyf8*K3?!eYJFRN_eC)d0cq42-27~lDE4#JRpOBSK<
zg>=NY=r5L#fTj;X(76?`4H#Pl;@@za|0tIHv+!RRmWBey0Surkx*RQm{}6NcWN5)O
z{>wfg$55MoOCbN|dHvb@|N7ql_xI}W)4B_+GAIQVf4RCyhb+GfcCPbp(-6737@pfi
zkk@tV=|6DxFBx$1*Bkq6S$N^}E#JRfU5Zz%%N=UwFKjFM5q8EcsaXV!wMu#Vv$gpm
zrPN`sYFhc`nVqLBimh3w@tN_9yU&J*>|OAWi+#Jc1Zg|M-r-gXB+2|GPoJKW^Cn#KPZ)@+Wiu
z!=deeV%Psa`;NbZrYDmN$G!ZrTIHZ{-pGul>Sp+1OFH2rhmL)
N|939@zfNh({{vm@;mrU5
diff --git a/docs/gifs/kpm_add_k8s.gif b/docs/gifs/kpm_add_k8s.gif
deleted file mode 100644
index 301fd410621ea0775a58f63dd871756dbda029c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 39387
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