diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..c74463ef --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,28 @@ +--- +name: Bug report +about: Create a bug report to help fix a problem with the INFINI Console +--- + +### Description + +A description of what the bug is. + +### Steps to reproduce + +1. Start INFINI Console +2. Second step +3. Third step + +### Expected behavior + +A description of what you expected to happen. + +### Actual behavior + +A description of what happens instead. + +### Environment + +- Build: [e.g. console 0.8.1 959 2023-02-26 01:19:34 a6b44b6 - type "-v" in the Command Palette] +- Operating system and version: [e.g. macOS 10.14, Windows 10, Ubuntu 18.04] +- [Linux] Desktop Environment and/or Window Manager: [e.g. Gnome, LXDE, i3] diff --git a/.github/ISSUE_TEMPLATE/enhancement_or_feature_request.md b/.github/ISSUE_TEMPLATE/enhancement_or_feature_request.md new file mode 100644 index 00000000..5ca3ef6c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement_or_feature_request.md @@ -0,0 +1,22 @@ +--- +name: Enhancement or feature request +about: Suggest an enhancement or feature for INFINI Console +--- + +### Problem description + +A description of a problem, workflow or integration that your suggestion would solve. +If the problem is OS-specific, include that information here. + +### Preferred solution + +A description of what changes should be made to INFINI Console to solve the problem. + +### Alternatives + +A description of any alternative solutions or enhancements considered. + +### Additional Information (optional) + +If applicable, add screenshots to help demonstrate the problem or proposed solution. +Code examples or related links are useful, too. diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 00000000..04ab76c3 --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,104 @@ +name: Build and Deploy Docs + +on: + push: + branches: + - main + - 'v*' + tags: + - 'v*' + +jobs: + build-deploy-docs: + runs-on: ubuntu-latest + + steps: + - name: Checkout Product Repo + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set Variables Based on Ref + id: vars + run: | + CURRENT_REF=${GITHUB_REF##*/} + if [[ "${GITHUB_REF_TYPE}" == "branch" ]]; then + if [[ "$CURRENT_REF" == "main" ]]; then + echo "VERSION=main" >> $GITHUB_ENV + echo "BRANCH=main" >> $GITHUB_ENV + else + echo "VERSION=$CURRENT_REF" >> $GITHUB_ENV + echo "BRANCH=$CURRENT_REF" >> $GITHUB_ENV + fi + elif [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + echo "VERSION=$CURRENT_REF" >> $GITHUB_ENV + echo "BRANCH=main" >> $GITHUB_ENV # Set BRANCH to 'main' for tags + fi + + # Gather branches and tags, sort, remove duplicates + VERSIONS=$(git for-each-ref refs/remotes/origin refs/tags --format="%(refname:short)" | \ + grep -E "^v[0-9.]+$" | sort -Vr | uniq | tr '\n' ',' | sed 's/,$//') + echo "VERSIONS=main,$VERSIONS" >> $GITHUB_ENV + + - name: Install Hugo + run: | + wget https://github.com/gohugoio/hugo/releases/download/v0.79.1/hugo_extended_0.79.1_Linux-64bit.tar.gz + tar -xzvf hugo_extended_0.79.1_Linux-64bit.tar.gz + sudo mv hugo /usr/local/bin/ + + - name: Checkout Docs Repo + uses: actions/checkout@v2 + with: + repository: infinilabs/docs + path: docs-output + token: ${{ secrets.DOCS_DEPLOYMENT_TOKEN }} + + - name: Build Documentation + run: | + (cd docs && OUTPUT=$(pwd)/../docs-output make docs-build docs-place-redirect) + + - name: Commit and Push Changes to Docs Repo + working-directory: docs-output + run: | + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + + if [[ -n $(git status --porcelain) ]]; then + git add . + git commit -m "Rebuild docs for version $VERSION" + git push origin main + else + echo "No changes to commit." + fi + + - name: Rebuild Docs for Latest Version (main), if not already on main + run: | + # Only rebuild the main branch docs if the current ref is not "main" + if [[ "$CURRENT_REF" != "main" ]]; then + echo "Switching to main branch and rebuilding docs for 'latest'" + + # Checkout the main branch of the product repo to rebuild docs for "latest" + git checkout main + + # Ensure the latest changes are pulled + git pull origin main + + # Build Docs for Main Branch (latest) + (cd docs && OUTPUT=$(pwd)/../docs-output VERSION="main" BRANCH="main" make docs-build docs-place-redirect) + + # Commit and Push Latest Docs to Main + cd docs-output + git config user.name "GitHub Actions" + git config user.email "actions@github.com" + + if [[ -n $(git status --porcelain) ]]; then + git add . + git commit -m "Rebuild docs for main branch with latest version" + git push origin main + else + echo "No changes to commit for main." + fi + else + echo "Current ref is 'main', skipping rebuild for 'latest'." + fi + working-directory: ./ # Working in the product repo diff --git a/README.md b/README.md index bcbddc78..24a0ccbb 100644 --- a/README.md +++ b/README.md @@ -1,69 +1,48 @@ -IK Analysis for Elasticsearch and OpenSearch +INFINI Console ================================== - + -INFINI Console is Multi-cluster, corss-version unified Elasticsearch/OpenSearch/Easysearch governance platform. +**INFINI Console** is a very lightweight multi-cluster, cross-version unified Elasticsearch governance platform. Through the centralized management of Elasticsearch, you can quickly and conveniently manage multiple sets of Elasticsearch clusters within the enterprise. -## Backend Development Guide +## Architecture -```sh -make build -cd bin -./console -``` + -Setup wizard please vistor https://docs.infinilabs.com/console/main/docs/reference/setup/ +## Features -## Frontend Development Guide +> INFINI Console is powerful, lightweight, and very easy to use. -The frontend is developed using React and outputs pure static resources into the `.public` directory. These resources can be deployed independently without relying on a Node environment. +- Support multi-cluster management, you can manage any number of clusters at the same time in one platform; +- Multi-version Elasticsearch support, support 1.x, 2.x, 5.x, 6.x, 7.x, 8.x; +- Supports grouping and managing cluster metadata information on a project-by-project basis, support custom tags; +- Support dynamic clusters registration, and the target cluster can be accessed and managed on the fly; +- Supports viewing the historical version of cluster metadata, and can view the changes and audits of cluster metadata. +- Developer tools support multiple workspaces to switch quickly, support smart suggestion, frequent used commands support to save and load; +- Supports unified multi-cluster level index and API interface granularity permission control; +- Supports a unified alerting engine across clusters and flexibly configure alarm rules based on thresholds; +- Support unified monitoring of any version, including cluster, node, index and other very detailed dimensions of the metrics viewing and analysis; +- Support common management operations of indices, support quick viewing and browsing of indices, and support updates and deletes of documents in the index; +- Support the creation of indexed data views, you can modify the display format of fields, and support the quick viewing of time series index data; +- Support for cross-platform deployment environments, support for MacOS (Intel and M1), Windows (32-bit and 64-bit), Linux (32-bit and 64-bit); +- Support x86, arm5, arm6, arm7, mips, mipsle, mips64 and other CPU architectures: +- Support for Docker containers and K8s cloud-native environments; +- Support for the management of INFINI gateways; -### Local Development Environment Setup +INFINI Console is written in Golang, the installation package is very small, only about 11MB, there is no external environment dependency, deployment and installation are very simple, just need to download the binary executable file of the corresponding platform, start the application and then you are good to go. -Ensure you have Node.js (version 16.17 ) installed: +To learn more about Console, please visit: https://docs.infinilabs.com/console/ -```sh -node -v -npm -v -``` -you can install cnpm for a faster and more reliable package management experience. Use the following command to install it: -```sh -# clone console-ui -git clone https://github.com/infinilabs/console-ui.git -# clone common-ui -cd src -git clone https://github.com/infinilabs/common-ui.git common -# install cnpm@9.2.0 -npm install -g cnpm@9.2.0 --registry=https://registry.npm.taobao.org -``` -### Download Project Dependencies +## Community -```sh -# install dependencies -cnpm install -``` +Fell free to join the Discord server to discuss anything around this project: -### Start Development Mode +[https://discord.gg/4tKTMkkvVX](https://discord.gg/4tKTMkkvVX) -```sh -cnpm run dev -``` - -### Compile Static Resources - -```sh -cnpm run build -``` - -Running this command will generate the final HTML, CSS, and JS files in the `.public` directory. These are browser-ready files that can be deployed to your desired server. - -### Useful Links for Frontend Development - -- Current UI components used: https://3x.ant.design/components/button/ -- ProComponents: https://procomponents.ant.design/ -- Chart components: https://charts.ant.design/guide -- Ant Design Pro Preview: https://preview.pro.ant.design +## License +INFINI Gateway is a truly open-source project, licensed under the [GNU Affero General Public License v3.0](https://opensource.org/licenses/AGPL-3.0). +We also offer a commercially supported, enterprise-ready version of the software. +For more details, please refer to our [license information](./LICENSE). \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..e179dbf9 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,5 @@ +/public/ +.idea/ +docs/config.bak +docs/resources/_gen +themes/ diff --git a/docs/.hugo_build.lock b/docs/.hugo_build.lock new file mode 100644 index 00000000..e69de29b diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..377c22f4 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,50 @@ +SHELL=/bin/bash + +# Basic info +PRODUCT?= $(shell basename "$(shell cd .. && pwd)") +BRANCH?= main +VERSION?= $(shell [[ "$(BRANCH)" == "main" ]] && echo "main" || echo "$(BRANCH)") +CURRENT_VERSION?= $(VERSION) +VERSIONS?= "main" +OUTPUT?= "/tmp/docs" +THEME_FOLDER?= "themes/book" +THEME_REPO?= "https://github.com/infinilabs/docs-theme.git" +THEME_BRANCH?= "main" + +.PHONY: docs-build + +default: docs-build + +docs-init: + @if [ ! -d $(THEME_FOLDER) ]; then echo "theme does not exist";(git clone -b $(THEME_BRANCH) $(THEME_REPO) $(THEME_FOLDER) ) fi + +docs-env: + @echo "Debugging Variables:" + @echo "PRODUCT: $(PRODUCT)" + @echo "BRANCH: $(BRANCH)" + @echo "VERSION: $(VERSION)" + @echo "CURRENT_VERSION: $(CURRENT_VERSION)" + @echo "VERSIONS: $(VERSIONS)" + @echo "OUTPUT: $(OUTPUT)" + +docs-config: docs-init + cp config.yaml config.bak + # Detect OS and apply the appropriate sed command + @if [ "$$(uname)" = "Darwin" ]; then \ + echo "Running on macOS"; \ + sed -i '' "s/BRANCH/$(VERSION)/g" config.yaml; \ + else \ + echo "Running on Linux"; \ + sed -i 's/BRANCH/$(VERSION)/g' config.yaml; \ + fi + +docs-build: docs-config + hugo --minify --theme book --destination="$(OUTPUT)/$(PRODUCT)/$(VERSION)" \ + --baseURL="/$(PRODUCT)/$(VERSION)" + @$(MAKE) docs-restore-generated-file + +docs-place-redirect: + echo "
REDIRECT TO THE LATEST_VERSION.
" > $(OUTPUT)/$(PRODUCT)/index.html + +docs-restore-generated-file: + mv config.bak config.yaml diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..f055c28c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,6 @@ +# INFINI Documentation + +## Hugo v0.79.x extended version +- https://github.com/gohugoio/hugo/releases/download/v0.79.1/hugo_extended_0.79.1_Linux-64bit.tar.gz +- https://github.com/gohugoio/hugo/releases/download/v0.79.1/hugo_extended_0.79.1_Windows-64bit.zip +- https://github.com/gohugoio/hugo/releases/download/v0.79.1/hugo_extended_0.79.1_macOS-64bit.tar.gz diff --git a/docs/config.yaml b/docs/config.yaml new file mode 100644 index 00000000..08352c67 --- /dev/null +++ b/docs/config.yaml @@ -0,0 +1,93 @@ +# VERSIONS=latest,v1.0 hugo --minify --baseURL="/product/v1.0/" -d public/product/v1.0 + +title: INFINI Console +theme: book + +# Book configuration +disablePathToLower: true +enableGitInfo: false + +# Needed for mermaid/katex shortcodes +markup: + goldmark: + renderer: + unsafe: true + tableOfContents: + startLevel: 1 + +# Multi-lingual mode config +# There are different options to translate files +# See https://gohugo.io/content-management/multilingual/#translation-by-filename +# And https://gohugo.io/content-management/multilingual/#translation-by-content-directory +defaultContentLanguage: en +languages: + en: + languageName: English + contentDir: content.en + weight: 3 + + +menu: + before: [] + after: + - name: "Github" + url: "https://github.com/infinilabs/console" + weight: 10 + +params: + # (Optional, default light) Sets color theme: light, dark or auto. + # Theme 'auto' switches between dark and light modes based on browser/os preferences + BookTheme: "auto" + + # (Optional, default true) Controls table of contents visibility on right side of pages. + # Start and end levels can be controlled with markup.tableOfContents setting. + # You can also specify this parameter per page in front matter. + BookToC: true + + # (Optional, default none) Set the path to a logo for the book. If the logo is + # /static/logo.png then the path would be logo.png + BookLogo: img/logo + + # (Optional, default none) Set leaf bundle to render as side menu + # When not specified file structure and weights will be used +# BookMenuBundle: /menu + + # (Optional, default docs) Specify root page to render child pages as menu. + # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/ + # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/' + BookSection: docs + + # Set source repository location. + # Used for 'Last Modified' and 'Edit this page' links. + BookRepo: https://github.com/infinilabs/console + + # Enable "Edit this page" links for 'doc' page type. + # Disabled by default. Uncomment to enable. Requires 'BookRepo' param. + # Edit path must point to root directory of repo. + BookEditPath: edit/BRANCH/docs + + # Configure the date format used on the pages + # - In git information + # - In blog posts + BookDateFormat: "January 2, 2006" + + # (Optional, default true) Enables search function with flexsearch, + # Index is built on fly, therefore it might slowdown your website. + # Configuration for indexing can be adjusted in i18n folder per language. + BookSearch: false + + # (Optional, default true) Enables comments template on pages + # By default partals/docs/comments.html includes Disqus template + # See https://gohugo.io/content-management/comments/#configure-disqus + # Can be overwritten by same param in page frontmatter + BookComments: false + + # /!\ This is an experimental feature, might be removed or changed at any time + # (Optional, experimental, default false) Enables portable links and link checks in markdown pages. + # Portable links meant to work with text editors and let you write markdown without {{< relref >}} shortcode + # Theme will print warning if page referenced in markdown does not exists. + BookPortableLinks: true + + # /!\ This is an experimental feature, might be removed or changed at any time + # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use. + BookServiceWorker: false diff --git a/docs/content.en/_index.md b/docs/content.en/_index.md new file mode 100644 index 00000000..e575e2b2 --- /dev/null +++ b/docs/content.en/_index.md @@ -0,0 +1,56 @@ +--- +title: INFINI Console +type: docs +bookCollapseSection: true +weight: 2 +--- + +# INFINI Console + +## Introduction + +**INFINI Console** is a very lightweight multi-cluster, cross-version unified Elasticsearch governance platform. Through the centralized management of Elasticsearch, you can quickly and conveniently manage multiple sets of Elasticsearch clusters within the enterprise. + +## Architecture + +{{% load-img "/img/architecture.png" "Architecture Overview" %}} + +## Features + +> INFINI Console is powerful, lightweight, and very easy to use. + +- Support multi-cluster management, you can manage any number of clusters at the same time in one platform; +- Multi-version Elasticsearch support, support 1.x, 2.x, 5.x, 6.x, 7.x, 8.x; +- Supports grouping and managing cluster metadata information on a project-by-project basis, support custom tags; +- Support dynamic clusters registration, and the target cluster can be accessed and managed on the fly; +- Supports viewing the historical version of cluster metadata, and can view the changes and audits of cluster metadata. +- Developer tools support multiple workspaces to switch quickly, support smart suggestion, frequent used commands support to save and load; +- Supports unified multi-cluster level index and API interface granularity permission control; +- Supports a unified alerting engine across clusters and flexibly configure alarm rules based on thresholds; +- Support unified monitoring of any version, including cluster, node, index and other very detailed dimensions of the metrics viewing and analysis; +- Support common management operations of indices, support quick viewing and browsing of indices, and support updates and deletes of documents in the index; +- Support the creation of indexed data views, you can modify the display format of fields, and support the quick viewing of time series index data; +- Support for cross-platform deployment environments, support for MacOS (Intel and M1), Windows (32-bit and 64-bit), Linux (32-bit and 64-bit); +- Support x86, arm5, arm6, arm7, mips, mipsle, mips64 and other CPU architectures: +- Support for Docker containers and K8s cloud-native environments; +- Support for the management of INFINI gateways; + +INFINI Console is written in Golang, the installation package is very small, only about 11MB, there is no external environment dependency, deployment and installation are very simple, just need to download the binary executable file of the corresponding platform, start the application and then you are good to go. + +{{< button relref="./docs/getting-started/install" >}}Getting Started Now{{< /button >}} + +## Screenshot + +{{% load-img "/img//screenshot/screenshot2023/overview.png" "Elasticsearch Cluster Overview" %}} +{{% load-img "/img//screenshot/20220330-devtool_tab.jpg" "multiple workspaces" %}} +{{% load-img "/img//screenshot/20220330-cluster_manage.jpg" "Elasticsearch Cluster Manage" %}} + +{{< button relref="./docs/screenshot" >}}View More{{< /button >}} + +## Community + +[Join Our Discord Server](https://discord.gg/4tKTMkkvVX) + +## Who Is Using? + +If you are using INFINI Console and feel it pretty good, please [let us know](https://discord.gg/4tKTMkkvVX). All our user cases are located [here](./docs/user-cases/). Thank you for your support. diff --git a/docs/content.en/docs/_index.md b/docs/content.en/docs/_index.md new file mode 100644 index 00000000..f8b7809b --- /dev/null +++ b/docs/content.en/docs/_index.md @@ -0,0 +1,56 @@ +--- +title: INFINI Console +type: docs +bookCollapseSection: true +weight: 2 +--- + +# INFINI Console + +## Introduction + +**INFINI Console** is a very lightweight multi-cluster, cross-version unified Elasticsearch governance platform. Through the centralized management of Elasticsearch, you can quickly and conveniently manage multiple sets of Elasticsearch clusters within the enterprise. + +## Architecture + +{{% load-img "/img/architecture.png" "Architecture Overview" %}} + +## Features + +> INFINI Console is powerful, lightweight, and very easy to use. + +- Support multi-cluster management, you can manage any number of clusters at the same time in one platform; +- Multi-version Elasticsearch support, support 1.x, 2.x, 5.x, 6.x, 7.x, 8.x; +- Supports grouping and managing cluster metadata information on a project-by-project basis, support custom tags; +- Support dynamic clusters registration, and the target cluster can be accessed and managed on the fly; +- Supports viewing the historical version of cluster metadata, and can view the changes and audits of cluster metadata. +- Developer tools support multiple workspaces to switch quickly, support smart suggestion, frequent used commands support to save and load; +- Supports unified multi-cluster level index and API interface granularity permission control; +- Supports a unified alerting engine across clusters and flexibly configure alarm rules based on thresholds; +- Support unified monitoring of any version, including cluster, node, index and other very detailed dimensions of the metrics viewing and analysis; +- Support common management operations of indices, support quick viewing and browsing of indices, and support updates and deletes of documents in the index; +- Support the creation of indexed data views, you can modify the display format of fields, and support the quick viewing of time series index data; +- Support for cross-platform deployment environments, support for MacOS (Intel and M1), Windows (32-bit and 64-bit), Linux (32-bit and 64-bit); +- Support x86, arm5, arm6, arm7, mips, mipsle, mips64 and other CPU architectures: +- Support for Docker containers and K8s cloud-native environments; +- Support for the management of INFINI gateways; + +INFINI Console is written in Golang, the installation package is very small, only about 11MB, there is no external environment dependency, deployment and installation are very simple, just need to download the binary executable file of the corresponding platform, start the application and then you are good to go. + +{{< button relref="./getting-started/install" >}}Getting Started Now{{< /button >}} + +## Screenshot + +{{% load-img "/img//screenshot/screenshot2023/overview.png" "Elasticsearch Cluster Overview" %}} +{{% load-img "/img//screenshot/20220330-devtool_tab.jpg" "multiple workspaces" %}} +{{% load-img "/img//screenshot/20220330-cluster_manage.jpg" "Elasticsearch Cluster Manage" %}} + +{{< button relref="./screenshot" >}}View More{{< /button >}} + +## Community + +[Join Our Discord Server](https://discord.gg/4tKTMkkvVX) + +## Who Is Using? + +If you are using INFINI Console and feel it pretty good, please [let us know](https://discord.gg/4tKTMkkvVX). All our user cases are located [here](./user-cases/). Thank you for your support. diff --git a/docs/content.en/docs/configuration/_index.md b/docs/content.en/docs/configuration/_index.md new file mode 100644 index 00000000..6c93a28f --- /dev/null +++ b/docs/content.en/docs/configuration/_index.md @@ -0,0 +1,12 @@ +--- +weight: 13 +title: Configuration +bookCollapseSection: true +draft: true +--- + +# Configuration + +## Configuration + + diff --git a/docs/content.en/docs/getting-started/_index.md b/docs/content.en/docs/getting-started/_index.md new file mode 100644 index 00000000..a385f1eb --- /dev/null +++ b/docs/content.en/docs/getting-started/_index.md @@ -0,0 +1,5 @@ +--- +weight: 10 +title: "Getting Started" +bookCollapseSection: true +--- diff --git a/docs/content.en/docs/getting-started/docker.md b/docs/content.en/docs/getting-started/docker.md new file mode 100644 index 00000000..586694d8 --- /dev/null +++ b/docs/content.en/docs/getting-started/docker.md @@ -0,0 +1,60 @@ +--- +weight: 35 +title: Docker +asciinema: true +--- + +# Container Deployment + +INFINI Console supports container deployment. + +## Downloading an Image + +The images of INFINI Console are published at the official repository of Docker. The URL is as follows: + +[https://hub.docker.com/r/infinilabs/console](https://hub.docker.com/r/infinilabs/console) + +Use the following command to obtain the latest container image: + +``` +docker pull infinilabs/console:{{< globaldata "console" "version" >}} +``` + +## Verifying the Image + +After downloading the image locally, you will notice that the container image of INFINI Console is very small, with a size less than 30 MB. So, the downloading is very fast. + +``` +✗ docker images |grep "console" |grep "{{< globaldata "console" "version" >}}" +REPOSITORY TAG IMAGE ID CREATED SIZE +infinilabs/console {{< globaldata "console" "version" >}} 8c27cd334e4c 47 minutes ago 26.4MB +``` + +## Starting the Console + +Use the following command to start the INFINI Console container: + +``` +docker run -p 9000:9000 infinilabs/console:{{< globaldata "console" "version" >}} +``` + +## Docker Compose + +You can also use docker compose to manage container instances. Create one `docker-compose.yml` file as follows: + +``` +version: "3.5" + +services: + infini-console: + image: infinilabs/console:{{< globaldata "console" "version" >}} + ports: + - 9000:9000 + container_name: "infini-console" +``` + +In the directory where the configuration file resides, run the following command to start INFINI Console. + +``` +➜ docker-compose up +``` diff --git a/docs/content.en/docs/getting-started/helm.md b/docs/content.en/docs/getting-started/helm.md new file mode 100644 index 00000000..1936b0ba --- /dev/null +++ b/docs/content.en/docs/getting-started/helm.md @@ -0,0 +1,44 @@ +--- +weight: 40 +title: Kubernetes +asciinema: true +--- + +# Kubernetes Deployment + +INFINI Console supports deployment on Kubernetes using Helm charts. + +## The Chart Repository + +Chart repository: [https://helm.infinilabs.com](https://helm.infinilabs.com/). + +Use the follow command add the repository: + +```bash +helm repo add infinilabs https://helm.infinilabs.com +``` + +## Prerequisites + +- K8S StorageClass + +The default StorageClass of the Chart package is local-path, you can install it through [here](https://github.com/rancher/local-path-provisioner). + +If you want use other StorageClass(installed), you can create a YAML file (eg. vaules.yaml) file that it contains the follow contents: +```yaml +storageClassName: \400. That’s an error. +
Your client has issued a malformed or illegal request. That’s all we know.
+[11-25 18:26:58] [ERR] [init.go:87] json: invalid character '<' looking for beginning of value:
+
+```
+
+#### Fault Description
+
+Nginx does not support passing request body for GET request type
+
+#### Solution
+
+Recommended to upgrade to the latest version.
+
+### Monitoring data is not displayed after the cluster is registered
+
+as shown below:
+{{% load-img "/img/troubleshooting/monitor_no_data.png" "Cluster monitoring does not show data" %}}
+
+#### Fault Description
+
+INFINI Console needs to use some features of Elasticsearch 7.0 and above
+
+#### Solution
+
+Upgrade the Elasticsearch cluster version of the INFINI Console storage data to v7.0+
+
+### Startup Error
+
+```
+[03-23 08:38:20] [ERR] [metadata.go:529] {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Can't merge a non object mapping [payload.node_state.settings.http.type] with an object mapping [payload.node_state.settings.http.type]"}],"type":"illegal_argument_exception","reason":"Can't merge a non object mapping [payload.node_state.settings.http.type] with an object mapping [payload.node_state.settings.http.type]"},"status":400}
+```
+
+or
+
+```
+[04-16 09:45:06] [ERR] [schema.go:144] error on update mapping: {"root_cause":[{"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_doc]: analyzer [suggest_text_search] has not been configured in mappings"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_doc]: analyzer [suggest_text_search] has not been configured in mappings","caused_by":{"type":"illegal_argument_exception","reason":"analyzer [suggest_text_search] has not been configured in mappings"}}
+```
+
+#### Fault Description
+
+Version v0.3 modified the Template and Mapping, if the index already exists and the Mapping is not of the expected object type, then the error will be show up.
+
+For upgrade, please refer to the [upgrade instructions](../upgrade/).
+
+#### Solution
+
+- stop console
+- delete template `.infini`
+
+```
+DELETE _template/.infini
+```
+
+- delete index `.infini_node` and `.infini_index`
+
+```
+DELETE .infini_node
+DELETE .infini_index
+```
+
+- start console
diff --git a/docs/content.en/docs/tutorials/_index.md b/docs/content.en/docs/tutorials/_index.md
new file mode 100644
index 00000000..812708fb
--- /dev/null
+++ b/docs/content.en/docs/tutorials/_index.md
@@ -0,0 +1,5 @@
+---
+weight: 40
+title: Tutorials
+bookCollapseSection: true
+---
diff --git a/docs/content.en/docs/tutorials/cluster_health_change.md b/docs/content.en/docs/tutorials/cluster_health_change.md
new file mode 100644
index 00000000..bd059a5e
--- /dev/null
+++ b/docs/content.en/docs/tutorials/cluster_health_change.md
@@ -0,0 +1,94 @@
+---
+weight: 50
+title: How to Monitor Elasticsearch Cluster Health
+asciinema: true
+---
+
+# How to Monitor Elasticsearch Cluster Health
+
+## Introduction
+
+In many cases, the cluster health status of the Elasticsearch cluster will turn red for some reason. At this time, at least one primary shard in the Elasticsearch cluster is unallocated or lost. So it is necessary to monitor the health status of the Elasticsearch cluster. This article will introduce how to use the INFINI Console alerting feature to monitor the health of an Elasticsearch cluster.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Register Elasticsearch cluster using INFINI Console
+
+## Create alerting rule
+
+Open INFINI Console in the browser, click on the left menu "Alerting" > Rules to enter the alerting management page, and then click
+`New` button to enter the Create Alerting Rule page. Follow these steps to create an alerting rule:
+
+- Select the cluster (here you need to select the Elasticsearch cluster where the INFINI Console stores data, that is, the Elasticsearch cluster configured in the configuration file `console.yml`, if it is not registered to the INFINI Console, please register first)
+- Select the alerting object `.infini_metrics` (select the index under the Elasticsearch cluster, or enter the index pattern, because the monitoring data collected by the INFINI Console is stored in the index `.infini_metrics`)
+- Input filter condition (Elasticsearch query DSL)
+ Here we need to filter the data whose monitoring metrics category is `cluster_health` and the health status is red. The DSL is as follows:
+
+```
+{
+ "bool": {
+ "must": [
+ {
+ "match": {
+ "payload.elasticsearch.cluster_health.status": "red"
+ }
+ },
+ {
+ "term": {
+ "metadata.name": {
+ "value": "cluster_health"
+ }
+ }
+ }
+ ]
+ }
+}
+```
+
+- Select time field and stat period for `date histogram` aggregation
+ {{% load-img "/img/screenshot/20220725-alerting-cluster-health1.jpg" "alerting rule settings" %}}
+- Input the rule name
+- Group settings (optional, multiple can be configured), set when statistical metrics need to be grouped, because all registered to INFINI Console
+ The Elasticsearch cluster monitoring metrics are stored in the index `.infini_metrics`, so they need to be grouped according to the cluster ID,
+ Here we choose `metadata.labels.cluster_id`
+- Configure the alerting metrics, select the aggregation field `payload.elasticsearch.cluster_health.status`, and the statistical method `count`
+- Configure the alerting condition, configure the `continue for one period` and the aggregation result is greater than or equal to 1, that is, the `Critical` alerting is triggered
+- Set the execution period, here is configured to execute a check every minute
+- Set the event title, the event title is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+- Set the event content, the event content is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+ {{% load-img "/img/screenshot/20220725-alerting-cluster-health2.jpg" "alerting rule settings" %}}
+- Turn on the configure alerting channel switch, and select `add` in the upper right corner to quickly select an alerting channel template to fill. For how to create an alerting channel template, please refer to [here]()
+- Set the silence period to 1 hour, that is, after the alerting rule is triggered, the notification message will only be sent once within an hour
+- Set the receiving period, the default is 00:00-23:59, that is, you can receive notification messages throughout the day
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health3.jpg" "alerting rule settings" %}}
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health4.jpg" "alerting rule settings" %}}
+
+After the settings are complete, click the Save button to submit.
+
+## Simulate trigger alerting rule
+
+Open the INFINI Console Dev tools (Ctrl+Shift+O) and enter the command as shown below:
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health5.jpg" "alerting rule settings" %}}
+
+## Receive alert notification message
+
+After waiting for about a minute, you will receive a DingTalk alerting notification as follows:
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health6.jpg" "alerting rule settings" %}}
+
+You can see that the alerting notification message shows the ID of the Elasticsearch cluster whose health status has turned red. Click the link below the message to view the alerting details as follows:
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health8.jpg" "alerting rule settings" %}}
+
+## View the alerting message center
+
+In addition to receiving external notification messages, the INFINI Console Alert Message Center also generates an alert message. Click menu Alerting > Alerting Center to enter
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health7.jpg" "alerting rule settings" %}}
+
+## Summary
+
+By using the INFINI Console alerting function, you can easily monitor the health status of the Elasticsearch cluster. After configuring alerting rule,As soon as any Elasticsearch cluster status turns red, an alert is triggered and an alert message is sent.
diff --git a/docs/content.en/docs/tutorials/cluster_node_cpu_usage.md b/docs/content.en/docs/tutorials/cluster_node_cpu_usage.md
new file mode 100644
index 00000000..c0a24c45
--- /dev/null
+++ b/docs/content.en/docs/tutorials/cluster_node_cpu_usage.md
@@ -0,0 +1,104 @@
+---
+weight: 52
+title: How to monitor the CPU usage of Elasticsearch cluster nodes
+asciinema: true
+---
+
+# How to monitor the CPU usage of Elasticsearch cluster nodes
+
+## Introduction
+
+This article will introduce how to use the INFINI Console to monitor the disk usage of Elasticsearch cluster nodes and alert them.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Register Elasticsearch cluster using INFINI Console
+
+## Create alerting rule
+
+Open INFINI Console in the browser, click Alerting > Rules on the left menu to enter the alerting management page, and then click the `New` button to enter the alerting rule creation page. Follow these steps to create an alerting rule:
+
+- Select the cluster (here you need to select the Elasticsearch cluster where the INFINI Console stores data, that is, the Elasticsearch cluster configured in the configuration file `console.yml`, if it is not registered to the INFINI Console, please register first)
+- Input the alerting object `.infini_metrics*` (select the index under the Elasticsearch cluster, or enter the index pattern, because the monitoring data collected by the INFINI Console is stored in the index `.infini_metrics`)
+- Input filter condition (Elasticsearch query DSL)
+ Here we need to filter the monitoring metrics category to `node_stats` and the metadata category to `elasticsearch`. The DSL is as follows:
+
+```
+{
+ "bool": {
+ "must": [
+ {
+ "term": {
+ "metadata.name": {
+ "value": "node_stats"
+ }
+ }
+ },
+ {
+ "term": {
+ "metadata.category": {
+ "value": "elasticsearch"
+ }
+ }
+ }
+ ]
+ }
+}
+```
+
+- Select time field `timestamp` and statistical period for `date histogram` aggregation
+ {{% load-img "/img/screenshot/alerting/Alerting-rules-cpu-1.jpg" "rules" %}}
+- Input the rule name
+- Group settings (optional, multiple can be configured), set when statistical metrics need to be grouped, because all registered to INFINI Console
+ The Elasticsearch cluster monitoring metrics are stored in the index `.infini_metrics`, so you need to group according to the cluster ID first, and then group according to the node ID,
+ Here we choose `metadata.labels.cluster_id` and `metadata.labels.node_id`.
+- Configure the alerting metrics, select the aggregation field `payload.elasticsearch.node_stats.process.cpu.percent`, and the statistics method `avg`.
+- Configure the metrics formula (when more than one alerting metrics is configured, you need to set a formula to calculate the target metrics), where the formula fx is configured as `a`. Then set the value type of the variable `a` to the ratio `Ratio`.
+- Configure the alerting conditions, configure three alerting conditions here, and configure the `P2(Medium)` alerting when the CPU usage is greater than 80 for `continuous one cycle`;
+ Configure the `continue for one cycle` when the CPU usage is greater than 90, trigger the `P1(High)` alerting;
+ Configure the `continuous period` to trigger the `P0(Critical)` alerting when the CPU usage is greater than 95;
+- Set the execution period, here is configured to execute a check every minute
+- Set the event title, the event title is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+- Set the event content, the event content is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+
+```aidl
+Priority:{{.priority}}
+Timestamp:{{.timestamp | datetime_in_zone "Asia/Shanghai"}}
+RuleID:{{.rule_id}}
+EventID:{{.event_id}}
+{{range.results}}
+ClusterID:{{index.group_values 0}};
+NodeID:{{index.group_values 1}};
+CPU:{{.result_value | to_fixed 2}}%;
+{{end}}
+```
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-cpu-2.jpg" "rules" %}}
+
+- Turn on the configure alerting channel switch, and select `add` in the upper right corner to quickly select an alerting channel template to fill. For how to create an alerting channel template, please refer to [here]()
+- Set the silence period to 1 hour, that is, after the alerting rule is triggered, the notification message will only be sent once within an hour
+- Set the receiving period, the default is 00:00-23:59, that is, you can receive notification messages throughout the day
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health3.jpg" "security settings" %}}
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health4.jpg" "security settings" %}}
+
+After the settings are complete, click the Save button to submit.
+
+## Receive alert notification message
+
+Wait for a while, and receive the DingTalk alerting message notification as follows:
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-cpu-3.jpg" "rules" %}}
+
+You can see that the alert notification message displays the Elasticsearch cluster ID, node ID, and current CPU usage triggered by the current rule.
+
+## View the alerting message center
+
+In addition to receiving external notification messages, the INFINI Console Alert Message Center also generates an alert message. Click menu Alerting > Alerting Center to enter
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-cpu-4.jpg" "rules" %}}
+
+## Summary
+
+By using the INFINI Console alerting function, you can easily monitor the CPU usage of Elasticsearch cluster nodes. After configuring the alerting rule, once the CPU usage of any Elasticsearch node exceeds the set threshold, an alert will be triggered and an alert message will be sent.
diff --git a/docs/content.en/docs/tutorials/cluster_node_disk_usage.md b/docs/content.en/docs/tutorials/cluster_node_disk_usage.md
new file mode 100644
index 00000000..59c38cd3
--- /dev/null
+++ b/docs/content.en/docs/tutorials/cluster_node_disk_usage.md
@@ -0,0 +1,104 @@
+---
+weight: 50
+title: How to monitor Elasticsearch cluster node disk usage
+asciinema: true
+---
+
+# How to monitor Elasticsearch cluster node disk usage
+
+## Introduction
+
+When the system disk usage is too high, data cannot be written into the Elasticsearch cluster, which is likely to result in data loss. Therefore, monitor the Elasticsearch cluster.
+Node disk usage is necessary. This article will show you how to monitor your Elasticsearch cluster using INFINI Console alerts
+Node disk usage.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Register Elasticsearch cluster using INFINI Console
+
+## Create alerting rule
+
+Open INFINI Console in the browser, click on the left menu "Alerting" > Rules to enter the alerting management page, and then click
+`New` button to enter the Create Alerting Rule page. Follow these steps to create an alerting rule:
+
+- Select the cluster (here you need to select the Elasticsearch cluster where the INFINI Console stores data, that is, the Elasticsearch cluster configured in the configuration file `console.yml`, if it is not registered to the INFINI Console, please register first)
+- Input the alerting object `.infini_metrics*` (select the index under the Elasticsearch cluster, or enter the index pattern, because the monitoring data collected by the INFINI Console is stored in the index .infini_metrics)
+- Input filter criteria (Elasticsearch query DSL)
+ Here we need to filter the monitoring metrics category to `node_stats`, the DSL is as follows:
+
+```
+{
+ "bool": {
+ "must": [
+ {
+ "term": {
+ "metadata.name": {
+ "value": "node_stats"
+ }
+ }
+ }
+ ]
+ }
+ }
+```
+
+- Select time field `timestamp` and statistical period for `date histogram` aggregation
+ {{% load-img "/img/screenshot/20220726-alerting-disk-usage1.jpg" "alerting rule settings" %}}
+- Input the rule name
+- Group settings (optional, multiple can be configured), set when statistical metrics need to be grouped, because all registered to INFINI Console
+ The Elasticsearch cluster monitoring metrics are stored in the index `.infini_metrics`, so you need to group according to the cluster ID first, and then group according to the node ID,
+ Here we choose `metadata.labels.cluster_id` and `metadata.labels.node_id`
+- Configure the alerting metrics, select the aggregation field `payload.elasticsearch.node_stats.fs.total.free_in_bytes`, and the statistics method `avg`. Then add another alerting metrics, select the aggregation field `payload.elasticsearch.node_stats.fs.total.total_in_bytes`, and the statistical method `avg`.
+- Configure the metrics formula (when more than one alerting metrics is configured, you need to set a formula to calculate the target metrics), where the formula fx is configured as `((b-a)/b)*100`, which means to use the `total Disk space `subtract `remaining disk space` to get `disk used space`,
+ Then divide `disk used space` by `total disk space` and multiply by 100 to get `disk usage`
+- Configure the alerting conditions, here configure three alerting conditions, configure the `P2(Medium)` alerting when the disk usage is greater than 80 for `persisting for one period`;
+ Configure the `continue for one period` when the disk usage is greater than 90, trigger the `P1(High)` alerting;
+ Configure `persisting for a period` when the disk usage rate is greater than 95, trigger the `P0(Critical)` alerting;
+- Set the execution period, here is configured to execute a check every minute
+- Set the event title, the event title is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+- Set the event content, the event content is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+
+```aidl
+Priority:{{.priority}}
+Timestamp:{{.timestamp | datetime}}
+RuleID:{{.rule_id}}
+EventID:{{.event_id}}
+{{range.results}}
+ClusterID: {{index.group_values 0}};
+NodeID: {{index.group_values 1}};
+Disk Usage:{{.result_value | to_fixed 2}}%;
+Free Storage: {{.relation_values.a | format_bytes 2}};
+{{end}}
+```
+
+{{% load-img "/img/screenshot/20220726-alerting-disk-usage2.jpg" "alerting rule settings" %}}
+{{% load-img "/img/screenshot/20220726-alerting-disk-usage3.jpg" "alerting rule settings" %}}
+
+- Turn on the configure alerting channel switch, and select `add` in the upper right corner to quickly select an alerting channel template to fill. For how to create an alerting channel template, please refer to [here]()
+- Set the silence period to 1 hour, that is, after the alerting rule is triggered, the notification message will only be sent once within an hour
+- Set the receiving period, the default is 00:00-23:59, that is, you can receive notification messages throughout the day
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health3.jpg" "alerting rule settings" %}}
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health4.jpg" "alerting rule settings" %}}
+
+After the settings are complete, click the Save button to submit.
+
+## Receive alert notification message
+
+Wait for a while, and receive the DingTalk alerting message notification as follows:
+
+{{% load-img "/img/screenshot/20220725-alerting-disk-usage1.jpg" "alerting rule settings" %}}
+
+You can see that the alert notification message displays the Elasticsearch cluster ID, node ID, and remaining disk space with high disk usage.
+
+## View the alerting message center
+
+In addition to receiving external notification messages, the INFINI Console Alert Message Center also generates an alert message. Click menu Alerting > Alerting Center to enter
+
+{{% load-img "/img/screenshot/20220726-alerting-disk-usage5.jpg" "alerting rule settings" %}}
+
+## Summary
+
+By using the INFINI Console alerting function, you can easily monitor the disk usage of Elasticsearch cluster nodes. After configuring alerting rule,
+Once the disk usage of any Elasticsearch node exceeds the set threshold, an alert will be triggered and an alert message will be sent.
diff --git a/docs/content.en/docs/tutorials/cluster_node_jvm_usage.md b/docs/content.en/docs/tutorials/cluster_node_jvm_usage.md
new file mode 100644
index 00000000..0ddc5a56
--- /dev/null
+++ b/docs/content.en/docs/tutorials/cluster_node_jvm_usage.md
@@ -0,0 +1,106 @@
+---
+weight: 53
+title: How to monitor JVM usage of Elasticsearch cluster nodes
+asciinema: true
+---
+
+# How to monitor JVM usage of Elasticsearch cluster nodes
+
+## Introduction
+
+This article will introduce how to use the INFINI Console to monitor the JVM usage of Elasticsearch cluster nodes and generate alerts.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Register Elasticsearch cluster using INFINI Console
+
+## Create alerting rule
+
+Open INFINI Console in the browser, click on the left menu "Alerting" > Rules to enter the alerting management page, and then click
+`New` button to enter the Create Alerting Rule page. Follow these steps to create an alerting rule:
+
+- Select the cluster (here you need to select the Elasticsearch cluster where the INFINI Console stores data, that is, the Elasticsearch cluster configured in the configuration file `console.yml`, if it is not registered to the INFINI Console, please register first)
+- Input the alerting object `.infini_metrics*` (select the index under the Elasticsearch cluster, or enter the index pattern, because the monitoring data collected by the INFINI Console is stored in the index .infini_metrics)
+- Input filter criteria (Elasticsearch query DSL)
+ Here we need to filter the monitoring metrics category to `node_stats` and the metadata category to `elasticsearch`. The DSL is as follows:
+
+```
+{
+ "bool": {
+ "must": [
+ {
+ "term": {
+ "metadata.name": {
+ "value": "node_stats"
+ }
+ }
+ },
+ {
+ "term": {
+ "metadata.category": {
+ "value": "elasticsearch"
+ }
+ }
+ }
+ ]
+ }
+}
+```
+
+- Select time field `timestamp` and statistical period for `date histogram` aggregation
+ {{% load-img "/img/screenshot/alerting/Alerting-rules-jvm-1.jpg" "rules" %}}
+- Input the rule name
+- Group settings (optional, multiple can be configured), set when statistical metrics need to be grouped, because all registered to INFINI Console
+ The Elasticsearch cluster monitoring metrics are stored in the index `.infini_metrics`, so you need to group according to the cluster ID first, and then group according to the node ID,
+ Here we choose `metadata.labels.cluster_id` and `metadata.labels.node_id`.
+- Configure the alerting metrics, select the aggregation field `payload.elasticsearch.node_stats.jvm.mem.heap_used_percent`, and the statistics method `p90`.
+- Configure the metrics formula (when more than one alerting metrics is configured, you need to set a formula to calculate the target metrics), where the formula fx is configured as `a`. Then set the value type of the variable `a` to the ratio `Ratio`.
+- Configure the alerting conditions, configure three alerting conditions here, configure the `P2(Medium)` alerting when the JVM usage rate is greater than 50 for `continuous one cycle`;
+ Configure `continues one cycle` when the JVM usage rate is greater than 90, trigger the `P1(High)` alerting;
+ Configure the `P0(Critical)` alerting to be triggered when the JVM usage rate is greater than 95 for one cycle;
+- Set the execution period, here is configured to execute a check every minute
+- Set the event title, the event title is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+- Set the event content, the event content is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+
+```aidl
+Priority:{{.priority}}
+Timestamp:{{.timestamp | datetime_in_zone "Asia/Shanghai"}}
+RuleID:{{.rule_id}}
+EventID:{{.event_id}}
+{{range.results}}
+ClusterID:{{index.group_values 0}};
+NodeID:{{index.group_values 1}};
+JVM used percent: {{.result_value | to_fixed 2}}%;
+{{end}}
+```
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-jvm-2.jpg" "rules" %}}
+
+- Turn on the configure alerting channel switch, and select `add` in the upper right corner to quickly select an alerting channel template to fill. For how to create an alerting channel template, please refer to [here]()
+- Set the silence period to 1 hour, that is, after the alerting rule is triggered, the notification message will only be sent once within an hour
+- Set the receiving period, the default is 00:00-23:59, that is, you can receive notification messages throughout the day
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health3.jpg" "security settings" %}}
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health4.jpg" "security settings" %}}
+
+After the settings are complete, click the Save button to submit.
+
+## Receive alert notification message
+
+Wait for a while, and receive the DingTalk alerting message notification as follows:
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-jvm-3.jpg" "rules" %}}
+
+You can see that the alert notification message displays the Elasticsearch cluster ID, node ID, and current JVM usage rate triggered by the current rule.
+
+## View the alerting message center
+
+In addition to receiving external notification messages, the INFINI Console Alert Message Center also generates an alert message. Click menu Alerting > Alerting Center to enter
+
+{{% load-img "/img/screenshot/alerting/Alerting-rules-jvm-4.jpg" "rules" %}}
+
+## Summary
+
+By using the INFINI Console alert function, you can easily monitor the JVM usage of Elasticsearch cluster nodes. After configuring alerting rule,
+Once any Elasticsearch node JVM usage exceeds a set threshold, an alert will be triggered and an alert message will be sent.
diff --git a/docs/content.en/docs/tutorials/cluster_slow_request.md b/docs/content.en/docs/tutorials/cluster_slow_request.md
new file mode 100644
index 00000000..06329d6d
--- /dev/null
+++ b/docs/content.en/docs/tutorials/cluster_slow_request.md
@@ -0,0 +1,117 @@
+---
+weight: 50
+title: How to monitor slow query requests in Elasticsearch
+asciinema: true
+---
+
+# How to monitor slow query requests in Elasticsearch
+
+## Introduction
+
+Many times, the Elasticsearch cluster will experience peak data writing or query traffic. At this time, the Elasticsearch cluster will be under a lot of pressure. Through the monitoring and alertinging of the delay of the Elasticsearch index query.
+This allows us to locate which indexes are the most stressed on the Elasticsearch cluster. This article will introduce how to use the INFINI Console alerting function to monitor the slow query request index in Elasticsearch.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Register Elasticsearch cluster using INFINI Console
+
+## Create alerting rule
+
+Open INFINI Console in the browser, click on the left menu "Alerting" > Rules to enter the alerting management page, and then click
+`New` button to enter the Create Alerting Rule page. Follow these steps to create an alerting rule:
+
+- Select the cluster (here you need to select the Elasticsearch cluster where the INFINI Console stores data, that is, the Elasticsearch cluster configured in the configuration file `console.yml`, if it is not registered to the INFINI Console, please register first)
+- Input the alerting object `.infini_metrics*` (select the index under the Elasticsearch cluster, or enter the index pattern, because the monitoring data collected by the INFINI Console is stored in the index .infini_metrics)
+- Input filter criteria (Elasticsearch query DSL)
+ Here we need to filter the monitoring metrics category to `index_stats`, and the index name cannot be `_all`, the DSL is as follows:
+
+```
+{
+ "bool": {
+ "must": [
+ {
+ "term": {
+ "metadata.name": {
+ "value": "index_stats"
+ }
+ }
+ },
+ {
+ "term": {
+ "metadata.category": {
+ "value": "elasticsearch"
+ }
+ }
+ }
+ ],
+ "must_not": [
+ {
+ "term": {
+ "metadata.labels.index_name": {
+ "value": "_all"
+ }
+ }
+ }
+ ]
+ }
+ }
+```
+
+- Select time field `timestamp` and statistical period for `date histogram` aggregation
+ {{% load-img "/img/screenshot/20220729-alerting-slow-index1.jpg" "security settings" %}}
+- Input the rule name
+- Group settings (optional, multiple can be configured), set when statistical metrics need to be grouped, because all registered to INFINI Console
+ The Elasticsearch cluster monitoring metrics are stored in the index `.infini_metrics`, so you need to group according to the cluster ID first, and then group according to the index name,
+ Here we choose `metadata.labels.cluster_id` and `metadata.labels.index_name`
+- Configure the alerting metrics, select the aggregation field `payload.elasticsearch.index_stats.total.search.query_time_in_millis`, and use the statistical method to derive `derivative`. Then add another alerting metrics, select the aggregation field `payload.elasticsearch.index_stats.total.search.query_total`, and the statistical method `derivative`.
+- Configure the metrics formula (when more than one alerting metrics is configured, you need to set a formula to calculate the target metrics), where the formula fx is configured as `a/b` to calculate the delay,
+- Configure the alerting conditions, three alerting conditions are configured here, and when the `continue for one cycle` delay is greater than 100, the `P3(Low)` alerting is triggered;
+ Configure the `Continue for one cycle` delay when the delay is greater than 500, trigger the `P1(High)` alerting;
+ Configure `continue for one cycle` when the delay is greater than 1000, trigger the `P0(Critical)` alerting;
+- Set the execution period, here is configured to execute a check every minute
+- Set the event title, the event title is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+- Set the event content, the event content is a template, you can use template variables, template syntax and template variable usage reference [here](../reference/alerting/variables/)
+
+```aidl
+Priority:{{.priority}}
+Timestamp:{{.timestamp | datetime_in_zone "Asia/Shanghai"}}
+RuleID:{{.rule_id}}
+EventID:{{.event_id}}
+{{range.results}}
+ClusterID:{{index.group_values 0}};
+Index name:{{index.group_values 1}};
+Current value:{{.result_value | to_fixed 2}}ms;
+{{end}}
+```
+
+{{% load-img "/img/screenshot/20220729-alerting-slow-index2.jpg" "security settings" %}}
+{{% load-img "/img/screenshot/20220729-alerting-slow-index3.jpg" "security settings" %}}
+
+- Turn on the configure alerting channel switch, and select `add` in the upper right corner to quickly select an alerting channel template to fill. For how to create an alerting channel template, please refer to [here]()
+- Set the silence period to 1 hour, that is, after the alerting rule is triggered, the notification message will only be sent once within an hour
+- Set the receiving period, the default is 00:00-23:59, that is, you can receive notification messages throughout the day
+
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health3.jpg" "security settings" %}}
+{{% load-img "/img/screenshot/20220725-alerting-cluster-health4.jpg" "security settings" %}}
+
+After the settings are complete, click the Save button to submit.
+
+## Receive alert notification message
+
+Wait for a while, and receive the DingTalk alerting message notification as follows:
+
+{{% load-img "/img/screenshot/20220729-alerting-slow-index4.jpg" "security settings" %}}
+
+You can see that the alerting notification message shows the Elasticsearch cluster ID, index name, and delay size of which query delay is too high.
+
+## View the alerting message center
+
+In addition to receiving external notification messages, the INFINI Console Alert Message Center also generates an alert message. Click menu Alerting > Alerting Center to enter
+
+{{% load-img "/img/screenshot/20220729-alerting-slow-index5.jpg" "security settings" %}}
+
+## Summary
+
+By using the INFINI Console alerting function, you can easily monitor the slow index of the Elasticsearch cluster. After configuring alerting rule,
+Once any Elasticsearch index query latency is too high, an alert will be triggered and an alert message will be sent.
diff --git a/docs/content.en/docs/tutorials/create_readonly_account.md b/docs/content.en/docs/tutorials/create_readonly_account.md
new file mode 100644
index 00000000..e11d5810
--- /dev/null
+++ b/docs/content.en/docs/tutorials/create_readonly_account.md
@@ -0,0 +1,54 @@
+---
+weight: 21
+title: How to easily create an Elasticsearch "guest" user
+asciinema: true
+---
+
+# How to easily create an Elasticsearch "guest" user
+
+## Introduction
+
+In some cases, we want to share some functions or data with customers, but do not want the data to be modified.
+At this point we need to create a "guest" user. This article briefly describes how to create a "guest" user using the INFINI Console.
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Enable INFINI Console [Security Features](../reference/system/security/)
+
+## Creating a Role
+
+Click System > Security Settings on the left menu of INFINI Console, and select the Role Tab page to enter the role management page.
+
+### New platform role `readonly`
+
+Click the New button, select the platform role, and create a new platform role `readonly`. The operation steps are as follows:
+
+- Input role name `readonly`
+- Expand all functional permissions
+- `Read` permission is selected for all other functions except the security functions under the system settings.
+- Security feature under System Settings is set to `None` permission.
+- Click the save button to submit
+ > Selecting the `All` permission of a function represents the read and write operation permission of this function,
+ > `Read` means only have read permission,
+ > `None` means no permission for this function (the function is not available in the menu after the user logs in)
+
+{{% load-img "/img/screenshot/20220720-role_readonly.jpg" "security settings" %}}
+
+### New data role `es-v7171`
+
+Click the New button, select the data role, and create a new data role `es-v7171`. The operation steps are as follows:
+
+- Input role name `es-v7171`
+- Cluster permission select cluster `es-v7171`
+- Click the save button to submit
+ {{% load-img "/img/screenshot/20220719-role-v7171.jpg" "security settings" %}}
+
+## New account `guest`
+
+Click the left menu of INFINI Console System > Security Settings, select the User Tab page to enter the Account Management page.
+Click the New button to create a new account `guest` and assign the account role `readonly`, `es-v7171`
+
+{{% load-img "/img/screenshot/20220720-user-new-guest.jpg" "security settings" %}}
+
+Click Save and submit. After the creation is successful, you can use the `guest` account to log in to the INFINI Console and only have read-only permissions.
diff --git a/docs/content.en/docs/tutorials/role_with_different_rights.md b/docs/content.en/docs/tutorials/role_with_different_rights.md
new file mode 100644
index 00000000..c2172bd1
--- /dev/null
+++ b/docs/content.en/docs/tutorials/role_with_different_rights.md
@@ -0,0 +1,84 @@
+---
+weight: 22
+title: How to assign different Elasticsearch cluster access permissions to different INFINI Console accounts
+asciinema: true
+---
+
+# How to assign different Elasticsearch cluster access permissions to different INFINI Console accounts
+
+## Introduction
+
+This article will introduce the use of INFINI Console to assign two different Elasticsearch cluster management permissions to two different accounts
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Enable INFINI Console [Security Features](../reference/system/security/)
+- Register at least two Elasticsearch clusters to the INFINI Console
+
+## Creating a Role
+
+Click System > Security Settings on the left menu of INFINI Console, and select the Role Tab page to enter the role management page.
+
+### New platform role `platform_role`
+
+Click the New button, select the platform role, and create a new platform role `platform_role`. The operation steps are as follows:
+
+- Input role name `platform_role`
+- Expand all functional permissions
+- Except for the security functions under the system settings, select the `All` permission for all other functions.
+- Security feature under System Settings is set to `None` permission.
+- Click the save button to submit
+ > Selecting the `All` permission of a function represents the read and write operation permission of this function,
+ > `Read` means only have read permission,
+ > `None` means no permission for this function (the function is not available in the menu after the user logs in)
+
+{{% load-img "/img/screenshot/20220719-role-new-platform.jpg" "security settings" %}}
+
+### New data role `es-v7171`
+
+Click the New button, select the data role, and create a new data role `es-v7171`
+
+{{% load-img "/img/screenshot/20220719-role-v7171.jpg" "security settings" %}}
+
+### New data role `es-v630`
+
+Click the New button, select the data role, create a new data role `es-v630`, the configuration is similar to the role `es-v7171`
+
+## Create Account
+
+Click the left menu of INFINI Console System > Security Settings, select the User Tab page to enter the Account Management page.
+
+### New account `zhangsan`
+
+Click the New button to create a new account `zhangsan` and assign the account role `platform_role`, `es-v717`
+
+{{% load-img "/img/screenshot/20220719-user-zhangsan.jpg" "security settings" %}}
+Click the save button to submit after the creation is successful, save the account password
+
+{{% load-img "/img/screenshot/20220719-user-new-password.jpg" "security settings" %}}
+
+### New account `wangwu`
+
+Click the New button to create a new account `wangwu`, and assign the account roles `platform_role`, `es-v630`, the configuration is similar to the account `zhangsan`
+
+## Login with administrator account
+
+After logging in with the administrator account, view the platform overview, and you can see all 13 registered clusters
+
+{{% load-img "/img/screenshot/20220719-user-admin-view.jpg" "security settings" %}}
+
+## Login with account `zhangsan`
+
+After logging in with the account `zhangsan` and viewing the platform overview, you can only see the cluster `es-v7171`
+{{% load-img "/img/screenshot/20220719-user-zhangsan-view.jpg" "security settings" %}}
+
+## Login with account `wangwu`
+
+After logging in with the account `zhangsan` and viewing the platform overview, you can only see the cluster `es-v630`
+{{% load-img "/img/screenshot/20220719-user-wangwu-view.jpg" "security settings" %}}
+
+## Summary
+
+By creating different roles and granting different Elasticsearch cluster permissions, and then assigning roles to users, we can quickly implement
+Grant different Elasticsearch cluster permissions to different users.
diff --git a/docs/content.en/docs/tutorials/role_with_index_limit.md b/docs/content.en/docs/tutorials/role_with_index_limit.md
new file mode 100644
index 00000000..46372941
--- /dev/null
+++ b/docs/content.en/docs/tutorials/role_with_index_limit.md
@@ -0,0 +1,62 @@
+---
+weight: 23
+title: How to assign Elasticsearch index-level permissions to INFINI Console accounts
+asciinema: true
+---
+
+# How to assign Elasticsearch index-level permissions to INFINI Console accounts
+
+## Introduction
+
+This article will introduce the use of INFINI Console to limit an account to only have the management permissions of certain indexes in the Elasticsearch cluster
+
+## Prepare
+
+- Download and install the latest version of INFINI Console
+- Enable INFINI Console [Security Features](../reference/system/security/)
+- Register at least two Elasticsearch clusters to the INFINI Console
+
+## Creating a Role
+
+Click System > Security Settings on the left menu of INFINI Console, and select the Role Tab page to enter the role management page.
+
+### New platform role `platform_role`
+
+Click the New button, select the platform role, and create a new platform role `platform_role`
+{{% load-img "/img/screenshot/20220719-role-new-platform.jpg" "security settings" %}}
+
+### New data role `test_index_only`
+
+Click the New button, select the data role, create a new data role `test_index_only`, and then configure the following:
+
+- Select only `es-v7140` for the cluster (restrict access to this role only to the Elasticsearch cluster `es-v7140`)
+- Set index permissions to index only enter the index pattern `test*` (restrict the role to only index access permissions whose index name matches `test*`)
+ {{% load-img "/img/screenshot/20220720-user-index-limit.jpg" "security settings" %}}
+
+After the configuration is complete, click the Save button to submit.
+
+## Create Account
+
+Click the left menu of INFINI Console System > Security Settings, select the User Tab page to enter the Account Management page.
+
+### New account `liming`
+
+Click the New button to create a new account `liming` and assign the account roles `platform_role`, `test_index_only`
+
+{{% load-img "/img/screenshot/20220720-user-new-liming.jpg" "security settings" %}}
+Click the save button to submit after the creation is successful, save the account password
+
+## Login with administrator account
+
+After logging in with the administrator account, click the menu Data > Index Management, select the cluster `es-v7140`, and you can see:
+
+{{% load-img "/img/screenshot/20220720-user-index-all.jpg" "security settings" %}}
+
+## Login with account `liming`
+
+After logging in with the account `liming`, click the menu Data > Index Management, select the cluster `es-v7140`, and then you can see:
+{{% load-img "/img/screenshot/20220720-user-liming-index.jpg" "security settings" %}}
+
+## Summary
+
+By specifying the role's Elasticsearch cluster permissions and indexing permissions, it is easy to precisely control user permissions down to the indexing level.
diff --git a/docs/content.en/docs/user-cases/_index.md b/docs/content.en/docs/user-cases/_index.md
new file mode 100644
index 00000000..2792f823
--- /dev/null
+++ b/docs/content.en/docs/user-cases/_index.md
@@ -0,0 +1,27 @@
+---
+weight: 40
+title: "User Cases"
+custom_css: "/css/img.css?ver=1.0"
+---
+
+# User Cases
+
+## Who Is Using ?
+
+If you are using **INFINI Console** and feel it good enough to tell others you are using it, please leave a message in [Discord](https://discord.gg/4tKTMkkvVX) to let us know. Thank you for your support and encouragement.
+
+
+
+
+## Users
+
+{{% load-img-link "/img/logo/midu.png" "蜜度" "https://www.midu.com/" %}}
+{{% load-img-link "/img/logo/2dfire.png" "二维火" "https://2dfire.com/" %}}
+{{% load-img-link "/img/logo/ztgf.png" "证通股份" "http://www.ect888.com/" %}}
+{{% load-img-link "/img/logo/mlsj.png" "明略数据" "https://www.mininglamp.com/" %}}
+{{% load-img-link "/img/logo/netease-lingxi-office.svg" "网易灵犀办公" "https://office.163.com/" %}}
+{{% load-img-link "/img/logo/gitee.png" "Gitee" "https://gitee.com/" %}}
+{{% load-img-link "/img/logo/howbuy.png" "howbuy" "https://www.howbuy.com" %}}
+{{% load-img-link "/img/logo/gszq.png" "国盛证券" "https://www.gszq.com/home" %}}
+{{% load-img-link "/img/logo/tuhu.png" "途虎养车" "https://www.tuhu.cn" %}}
+
diff --git a/docs/content.en/menu/index.md b/docs/content.en/menu/index.md
new file mode 100644
index 00000000..4447b3c2
--- /dev/null
+++ b/docs/content.en/menu/index.md
@@ -0,0 +1,6 @@
+---
+headless: true
+---
+
+- [**Documentation**]({{< relref "/docs/" >}})
+
\ No newline at end of file
diff --git a/docs/data/quick_start.yaml b/docs/data/quick_start.yaml
new file mode 100644
index 00000000..8c1bd812
--- /dev/null
+++ b/docs/data/quick_start.yaml
@@ -0,0 +1,28 @@
+console: {
+ shells: [
+ {
+ type: 'Linux',
+ shell: 'curl -sSL http://get.infini.cloud | bash -s -- -p console',
+ contacts: ' -v ',
+ },
+ {
+ type: 'Docker',
+ shell: 'docker run -p 9000:9000 infinilabs/console',
+ contacts: ':',
+ }
+ ],
+ version: '1.26.1-1604',
+ doc: "/docs/latest/console/getting-started/install/"
+}
+
+agent: {
+ shells: [
+ {
+ type: 'Linux',
+ shell: 'curl -sSL http://get.infini.cloud | bash -s -- -p agent',
+ contacts: ' -v ',
+ }
+ ],
+ version: '1.26.1-675',
+ doc: "/docs/latest/agent/getting-started/install/"
+}
\ No newline at end of file
diff --git a/docs/static/cast/console_with_agent.cast b/docs/static/cast/console_with_agent.cast
new file mode 100644
index 00000000..5f439a10
--- /dev/null
+++ b/docs/static/cast/console_with_agent.cast
@@ -0,0 +1,38 @@
+{"version": 2, "width": 204, "height": 50, "timestamp": 1691735557, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
+[0.259758, "o", "\u001b]0;root@VM-20-4-centos:~\u0007"]
+[0.260713, "o", "\u001b[?1034h[root@VM-20-4-centos ~]# "]
+[1.208841, "o", "curl -sSL http://localhost:9000/agent/install.sh?token=cjata36s4us1c6fr84l0 |sudo bash -s -- -u https://release.infinilabs.com/agent/stable"]
+[1.835946, "o", "\r\n"]
+[1.947626, "o", " \r\n @@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@&@@@\r\n #@@@@@@@@@@@@@\r\n @@@ @@@@@@@@@@@@@ \r\n &@@@@@@@ &@@@@@@@@@@@@@ \r\n @&@@@@@@@&@ @@@&@@@@@@@&@ \r\n @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@@@@@@@& @@@@@@@@@@@@@ \r\n %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@&@@@@@@@@@@@@@@@ \r\n @@ ,@@@@@@@@@@@@@@@@@@@@@@@& \r\n @@@@@. @@@@@&@@@@@@@@@@@@@@ \r\n @@@@@@@@@@ @@@@@@@@@@@@@@@# \r\n @&@@@&@@@&@@@ &@&@@@&@@@&@ \r\n @@@@@@@@@@@@@. @@@@@@@* \r\n @@@@@@@@@@@@@ %@@@ \r\n @@@@@@@@@@@@@ \r\n/@@@@@@@&@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@ Welcome to INFINI Labs!\r\n\r\n\r\nNow attempting the installation... \r\n\r\n"]
+[2.23505, "o", "Name: [agent], Version: [0.6.1-277], Path: [/opt/agent]\r\n"]
+[2.244857, "o", "File: [https://release.infinilabs.com/agent/stable/agent-0.6.1-277-linux-amd64.tar.gz]\r\n"]
+[2.462824, "o", "\r 0.2%\r 0.5%"]
+[2.470183, "o", "\r 0.7%\r 1.0%\r 1.2%"]
+[2.478486, "o", "\r# 1.5%"]
+[2.479837, "o", "\r# 1.7%\r# 1.9%\r# 2.2%\r# 2.4%\r# 2.7%\r## 2.9%"]
+[2.487877, "o", "\r## 3.2%"]
+[2.489754, "o", "\r## 3.4%\r## 3.7%\r## 3.9%\r## 4.1%\r### 4.4%\r### 4.6%\r### 4.9%\r### 5.1%\r### 5.4%\r#### 5.6%\r#### 5.8%"]
+[2.497033, "o", "\r#### 6.1%"]
+[2.498768, "o", "\r#### 6.3%\r#### 6.6%\r#### 6.8%\r##### 7.1%\r##### 7.3%\r##### 7.5%\r##### 7.8%\r##### 8.0%\r##### 8.3%"]
+[2.500834, "o", "\r###### 8.5%\r###### 8.8%\r###### 9.0%\r###### 9.3%\r###### 9.5%\r####### 9.7%\r####### 10.0%\r####### 10.2%\r####### 10.5%\r####### 10.7%\r####### 11.0%\r######## 11.2%\r######## 11.4%"]
+[2.511223, "o", "\r######## 11.7%\r######## 11.9%\r######## 12.2%\r######## 12.4%\r######### 12.7%\r######### 12.9%\r######### 13.2%\r######### 13.4%\r######### 13.6%\r######### 13.9%\r########## 14.1%\r########## 14.4%\r########## 14.6%\r########## 14.9%\r########## 15.1%\r########### 15.3%\r########### 15.6%\r########### 15.8%\r########### 16.1%\r########### 16.3%\r########### 16.6%\r############ 16.8%\r############ 17.0%\r############ 17.3%\r############ 17.5%\r############ 17.8%\r############ 18.0%\r############# 18.3%\r############# 18.5%\r############# 18.8%\r############# 19.0%"]
+[2.520741, "o", "\r############# 19.2%\r############## 19.5%\r############## 19.7%\r############## 20.0%\r############## 20.2%\r############## 20.5%\r############## 20.7%\r############### 20.9%\r############### 21.2%\r############### 21.4%\r############### 21.7%\r############### 21.9%\r############### 22.2%\r################ 22.4%\r################ 22.7%\r################ 22.9%\r################ 23.1%\r################ 23.4%\r################# 23.6%\r################# 23.9%\r################# 24.1%\r################# 24.4%\r################# 24.6%\r################# 24.8%\r################## 25.1%\r################## 25.3%\r################## 25.6%\r################## 25.8%\r################## 26.1%\r################## 26.3%\r################### 26.6%\r################### 26.8%"]
+[2.530335, "o", "\r################### 27.0%\r################### 27.3%\r################### 27.5%\r################### 27.8%\r#################### 28.0%\r#################### 28.3%\r#################### 28.5%\r#################### 28.7%\r#################### 29.0%\r##################### 29.2%\r##################### 29.5%\r##################### 29.7%\r##################### 30.0%\r##################### 30.2%\r##################### 30.4%\r###################### 30.7%\r###################### 30.9%\r###################### 31.2%\r###################### 31.4%\r###################### 31.7%\r###################### 31.9%\r####################### 32.2%\r####################### 32.4%\r####################### 32.6%\r####################### 32.9%\r####################### 33.1%\r######################## 33.4%\r######################## 33.6%\r######################## 33.9%\r######################## 34.1%\r######################## 34.3%\r######################## 34.6%\r######################### 34.8%\r######################### 35.1%"]
+[2.535291, "o", "\r######################### 35.3%\r######################### 35.6%\r######################### 35.8%"]
+[2.540169, "o", "\r######################### 36.1%\r########################## 36.3%\r########################## 36.5%\r########################## 36.8%\r########################## 37.0%\r########################## 37.3%\r########################### 37.5%\r########################### 37.8%\r########################### 38.0%\r########################### 38.2%\r########################### 38.5%\r########################### 38.7%\r############################ 39.0%\r############################ 39.2%\r############################ 39.5%\r############################ 39.7%\r############################ 39.9%\r############################ 40.2%\r############################# 40.4%\r############################# 40.7%\r############################# 40.9%\r############################# 41.2%\r############################# 41.4%\r############################# 41.7%\r############################## 41.9%\r############################## 42.1%\r############################## 42.4%\r############################## 42.6%\r############################## 42.9%\r############################### 43.1%\r############################### 43.4%\r############################### 43.6%\r############################### 43.8%"]
+[2.544346, "o", "\r############################### 44.1%"]
+[2.544874, "o", "\r############################### 44.3%\r################################ 44.6%"]
+[2.549961, "o", "\r################################ 44.8%\r################################ 45.1%\r################################ 45.3%\r################################ 45.6%\r################################ 45.8%\r################################# 46.0%\r################################# 46.3%\r################################# 46.5%\r################################# 46.8%\r################################# 47.0%\r################################## 47.3%\r################################## 47.5%\r################################## 47.7%\r################################## 48.0%\r################################## 48.2%\r################################## 48.5%\r################################### 48.7%\r################################### 49.0%\r################################### 49.2%\r################################### 49.5%\r################################### 49.7%\r################################### 49.9%\r#################################### 50.2%\r#################################### 50.4%\r#################################### 50.7%\r#################################### 50.9%\r#################################### 51.2%\r##################################### 51.4%\r##################################### 51.6%\r##################################### 51.9%\r##################################### 52.1%\r##################################### 52.4%\r##################################### 52.6%\r###################################### 52.9%"]
+[2.553601, "o", "\r###################################### 53.1%"]
+[2.559971, "o", "\r###################################### 53.3%\r###################################### 53.6%\r###################################### 53.8%\r###################################### 54.1%\r####################################### 54.3%\r####################################### 54.6%\r####################################### 54.8%\r####################################### 55.1%\r####################################### 55.3%\r####################################### 55.5%\r######################################## 55.8%\r######################################## 56.0%\r######################################## 56.3%\r######################################## 56.5%\r######################################## 56.8%\r######################################### 57.0%\r######################################### 57.2%\r######################################### 57.5%\r######################################### 57.7%\r######################################### 58.0%\r######################################### 58.2%\r########################################## 58.5%\r########################################## 58.7%\r########################################## 59.0%\r########################################## 59.2%\r########################################## 59.4%\r########################################## 59.7%\r########################################### 59.9%\r########################################### 60.2%\r########################################### 60.4%\r########################################### 60.7%\r########################################### 60.9%\r############################################ 61.1%\r############################################ 61.4%\r############################################ 61.6%\r############################################ 61.9%\r############################################ 62.1%\r############################################ 62.4%"]
+[2.56303, "o", "\r############################################# 62.6%\r############################################# 62.8%"]
+[2.571037, "o", "\r############################################# 63.1%\r############################################# 63.3%\r############################################# 63.6%\r############################################# 63.8%\r############################################## 64.1%\r############################################## 64.3%\r############################################## 64.6%\r############################################## 64.8%\r############################################## 65.0%\r############################################### 65.3%\r############################################### 65.5%\r############################################### 65.8%\r############################################### 66.0%\r############################################### 66.3%\r############################################### 66.5%\r################################################ 66.7%\r################################################ 67.0%\r################################################ 67.2%\r################################################ 67.5%\r################################################ 67.7%\r################################################ 68.0%\r################################################# 68.2%\r################################################# 68.5%\r################################################# 68.7%\r################################################# 68.9%\r################################################# 69.2%\r################################################# 69.4%\r################################################## 69.7%\r################################################## 69.9%\r################################################## 70.2%\r################################################## 70.4%\r################################################## 70.6%\r################################################### 70.9%\r################################################### 71.1%\r################################################### 71.4%\r################################################### 71.6%\r################################################### 71.9%\r################################################### 72.1%\r#################################################### 72.4%\r#################################################### 72.6%"]
+[2.579379, "o", "\r#################################################### 72.8%\r#################################################### 73.1%\r#################################################### 73.3%\r#################################################### 73.6%\r##################################################### 73.8%\r##################################################### 74.1%\r##################################################### 74.3%\r##################################################### 74.5%\r##################################################### 74.8%\r###################################################### 75.0%\r###################################################### 75.3%\r###################################################### 75.5%\r###################################################### 75.8%\r###################################################### 76.0%\r###################################################### 76.2%\r####################################################### 76.5%\r####################################################### 76.7%\r####################################################### 77.0%\r####################################################### 77.2%\r####################################################### 77.5%\r####################################################### 77.7%\r######################################################## 78.0%\r######################################################## 78.2%\r######################################################## 78.4%\r######################################################## 78.7%\r######################################################## 78.9%\r######################################################### 79.2%\r######################################################### 79.4%\r######################################################### 79.7%\r######################################################### 79.9%\r######################################################### 80.1%\r######################################################### 80.4%\r########################################################## 80.6%\r########################################################## 80.9%\r########################################################## 81.1%\r########################################################## 81.4%\r########################################################## 81.6%\r########################################################## 81.9%\r########################################################### 82.1%\r########################################################### 82.3%\r########################################################### 82.6%\r########################################################### 82.8%\r########################################################### 83.1%"]
+[2.589215, "o", "\r########################################################### 83.3%\r############################################################ 83.6%\r############################################################ 83.8%\r############################################################ 84.0%\r############################################################ 84.3%\r############################################################ 84.5%\r############################################################# 84.8%\r############################################################# 85.0%\r############################################################# 85.3%\r############################################################# 85.5%\r############################################################# 85.8%\r############################################################# 86.0%\r############################################################## 86.2%\r############################################################## 86.5%\r############################################################## 86.7%\r############################################################## 87.0%\r############################################################## 87.2%\r############################################################## 87.5%\r############################################################### 87.7%\r############################################################### 87.9%\r############################################################### 88.2%\r############################################################### 88.4%\r############################################################### 88.7%\r################################################################ 88.9%\r################################################################ 89.2%\r################################################################ 89.4%\r################################################################ 89.6%\r################################################################ 89.9%\r################################################################ 90.1%\r################################################################# 90.4%\r################################################################# 90.6%\r################################################################# 90.9%\r################################################################# 91.1%\r################################################################# 91.4%\r################################################################# 91.6%\r################################################################## 91.8%\r################################################################## 92.1%\r################################################################## 92.3%\r################################################################## 92.6%\r################################################################## 92.8%\r################################################################### 93.1%\r################################################################### 93.3%\r################################################################### 93.5%\r################################################################### 93.8%\r################################################################### 94.0%"]
+[2.591955, "o", "\r################################################################### 94.3%"]
+[2.597732, "o", "\r#################################################################### 94.5%\r#################################################################### 94.8%\r#################################################################### 95.0%\r#################################################################### 95.3%\r#################################################################### 95.5%\r#################################################################### 95.7%\r##################################################################### 96.0%\r##################################################################### 96.2%\r##################################################################### 96.5%\r##################################################################### 96.7%\r##################################################################### 97.0%\r##################################################################### 97.2%\r###################################################################### 97.4%\r###################################################################### 97.7%\r###################################################################### 97.9%\r###################################################################### 98.2%\r###################################################################### 98.4%\r####################################################################### 98.7%\r####################################################################### 98.9%\r####################################################################### 99.1%\r####################################################################### 99.4%\r####################################################################### 99.6%\r####################################################################### 99.9%\r######################################################################## 100.0%\r\n"]
+[2.77959, "o", "\r\n"]
+[2.78188, "o", "[agent] waiting generate certs\r\n[agent] waiting generate config\r\n"]
+[2.784767, "o", "[agent] waiting service install & start\r\n"]
+[3.039997, "o", "[agent] waiting registering to INFINI Console\r\n"]
+[3.242467, "o", "\r\n\r\n----------------------------------------------------------------\r\nCongratulations, agent install success!\r\n----------------------------------------------------------------\r\n\r\n\r\n __ _ __ ____ __ _ __ __ \r\n / // |/ // __// // |/ // / \r\n / // || // _/ / // || // / \r\n/_//_/|_//_/ /_//_/|_//_/ \r\n\r\n©INFINI.LTD, All Rights Reserved.\r\n\r\n"]
diff --git a/docs/static/cast/console_with_easysearch.cast b/docs/static/cast/console_with_easysearch.cast
new file mode 100644
index 00000000..7904077a
--- /dev/null
+++ b/docs/static/cast/console_with_easysearch.cast
@@ -0,0 +1,1284 @@
+{"version": 2, "width": 138, "height": 18, "timestamp": 1691733127, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
+[0.084003, "o", "\u001b]0;root@VM-20-4-centos:~\u0007\u001b[?1034h[root@VM-20-4-centos ~]# "]
+[0.830435, "o", "# 使用 root 用户操作\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# whoami && cat /etc/redhat-release &"]
+[0.835573, "o", "& uptime"]
+[1.620294, "o", "\r\n"]
+[1.622397, "o", "root\r\n"]
+[1.624305, "o", "CentOS Linux release 7.6.1810 (Core) \r\n"]
+[1.627084, "o", " 13:52:08 up 3 min, 2 users, load average: 0.22, 0.35, 0.16\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[5.576335, "o", "# 安装 jdk\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# yum -y install java-11"]
+[6.270851, "o", "\r\n"]
+[6.403193, "o", "已加载插件:fastestmirror, langpacks\r\n"]
+[6.414097, "o", "Loading mirror speeds from cached hostfile\r\n"]
+[6.787061, "o", "正在解决依赖关系\r\n--> 正在检查事务\r\n---> 软件包 java-11-openjdk.x86_64.1.11.0.19.0.7-1.el7_9 将被 安装\r\n"]
+[7.083046, "o", "--> 解决依赖关系完成\r\n"]
+[7.302127, "o", "\r\n依赖关系解决\r\n\r\n==========================================================================================================================================\r\n Package 架构 版本 源 大小\r\n==========================================================================================================================================\r\n正在安装:\r\n java-11-openjdk x86_64 1:11.0.19.0.7-1.el7_9 updates 240 k\r\n\r\n事务概要\r\n==========================================================================================================================================\r\n安装 1 软件包\r\n\r\n总下载量:240 k\r\n安装大小:578 k\r\nDownloading packages:\r\n"]
+[7.409898, "o", "\rjava-11-openjdk-11.0.19.0.7-1.el7_9.x86_64.rpm | 240 kB 00:00:00 \r\n"]
+[7.426005, "o", "Running transaction check\r\n"]
+[7.4611, "o", "Running transaction test\r\nTransaction test succeeded\r\nRunning transaction\r\n"]
+[7.515224, "o", "\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [ ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [####### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [############### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [####################### ] 1/1"]
+[7.526027, "o", "\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [############################## ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [###################################### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [############################################## ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [##################################################### ] 1/1"]
+[7.533041, "o", "\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [########################################################## ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [########################################################### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [################################################################### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [#################################################################### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 [##################################################################### ] 1/1\r 正在安装 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 1/1 \r\n"]
+[7.701437, "o", "\r 验证中 : 1:java-11-openjdk-11.0.19.0.7-1.el7_9.x86_64 1/1 \r\n"]
+[7.848339, "o", "\r\n已安装:\r\n java-11-openjdk.x86_64 1:11.0.19.0.7-1.el7_9 \r\n\r\n完毕!\r\n"]
+[7.867482, "o", "\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[11.463683, "o", "# 创建 infini 用户\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# groupadd -g 602 infini\r\n"]
+[11.466167, "o", "02 -g infini -m -d /home/infini -c 'infini' -s /bi"]
+[11.472513, "o", "n/bash infini"]
+[11.47972, "o", "\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# useradd -u 602 -g infini -m -d /home/infini -c 'infini' -s /bin/bash infini"]
+[12.160044, "o", "\r\n"]
+[12.186486, "o", "\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[16.479483, "o", "# 安装 Easysearch & Console\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# curl -sSL http://get.inf"]
+[16.484499, "o", "ini.sh | bash -s -- -p easysearch\r\n"]
+[16.490648, "o", "/get.infini.cloud | bash -s -- -p console"]
+[17.135926, "o", "\r\n"]
+[17.350883, "o", " \r\n @@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@&@@@\r\n #@@@@@@@@@@@@@\r\n @@@ @@@@@@@@@@@@@ \r\n &@@@@@@@ &@@@@@@@@@@@@@ \r\n @&@@@@@@@&@ @@@&@@@@@@@&@ \r\n @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@@@@@@@& @@@@@@@@@@@@@ \r\n %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@&@@@@@@@@@@@@@@@ \r\n @@ ,@@@@@@@@@@@@@@@@@@@@@@@& \r\n @@@@@. @@@@@&@@@@@@@@@@@@@@ \r\n @@@@@@@@@@ @@@@@@@@@@@@@@@# \r\n @&@@@&@@@&@@@ &@&@@@&@@@&@ \r\n @@@@@@@@@@@@@. @@@@@@@* \r\n @@@@@@@@@@@@@ %@@@ \r\n @@@@@@@@@@@@@ \r\n/@@@@@@@&@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@ Welcome to INFINI Labs!\r\n\r\n\r\nNow attempting the installation... \r\n\r\n"]
+[17.652275, "o", "Name: [easysearch], Version: [1.5.0-210], Path: [/opt/easysearch]\r\n"]
+[17.663875, "o", "File: [https://release.infinilabs.com/easysearch/stable/easysearch-1.5.0-210-linux-amd64.tar.gz]\r\n"]
+[17.875841, "o", "\r 0.0%\r 0.1%"]
+[17.884634, "o", "\r 0.1%\r 0.1%\r 0.1%"]
+[17.893768, "o", "\r 0.2%\r 0.2%\r 0.2%\r 0.3%\r 0.3%\r 0.3%"]
+[17.902578, "o", "\r 0.4%\r 0.4%\r 0.4%\r 0.4%\r 0.5%\r 0.5%"]
+[17.912062, "o", "\r 0.5%\r 0.6%\r 0.6%\r 0.6%\r 0.7%\r 0.7%\r 0.7%\r 0.7%\r 0.8%\r 0.8%\r 0.8%"]
+[17.920295, "o", "\r 0.9%\r 0.9%\r 0.9%\r 0.9%\r 1.0%\r 1.0%\r 1.0%\r 1.1%\r 1.1%"]
+[17.9313, "o", "\r 1.1%\r 1.2%\r 1.2%\r 1.2%\r 1.2%\r 1.3%\r 1.3%\r 1.3%\r 1.4%\r# 1.4%\r# 1.4%\r# 1.5%\r# 1.5%\r# 1.5%\r# 1.5%\r# 1.6%\r# 1.6%\r# 1.6%\r# 1.7%\r# 1.7%\r# 1.7%\r# 1.7%\r# 1.8%\r# 1.8%\r# 1.8%"]
+[17.939409, "o", "\r# 1.9%\r# 1.9%\r# 1.9%\r# 2.0%\r# 2.0%\r# 2.0%\r# 2.0%\r# 2.1%\r# 2.1%\r# 2.1%\r# 2.2%\r# 2.2%\r# 2.2%\r# 2.3%\r# 2.3%\r# 2.3%\r# 2.3%\r# 2.4%\r# 2.4%"]
+[17.941154, "o", "\r# 2.4%\r# 2.5%\r# 2.5%\r# 2.5%\r# 2.5%\r# 2.6%\r# 2.6%\r# 2.6%\r# 2.7%\r# 2.7%\r# 2.7%"]
+[17.947425, "o", "\r# 2.8%\r## 2.8%\r## 2.8%\r## 2.8%\r## 2.9%\r## 2.9%\r## 2.9%\r## 3.0%\r## 3.0%\r## 3.0%\r## 3.1%\r## 3.1%\r## 3.1%\r## 3.1%\r## 3.2%\r## 3.2%\r## 3.2%"]
+[17.950089, "o", "\r## 3.3%\r## 3.3%\r## 3.3%\r## 3.3%\r## 3.4%\r## 3.4%\r## 3.4%\r## 3.5%\r## 3.5%\r## 3.5%\r## 3.6%\r## 3.6%\r## 3.6%\r## 3.6%\r## 3.7%"]
+[17.955874, "o", "\r## 3.7%\r## 3.7%\r## 3.8%\r## 3.8%\r## 3.8%\r## 3.9%\r## 3.9%\r## 3.9%\r## 3.9%\r## 4.0%\r## 4.0%\r## 4.0%\r## 4.1%\r## 4.1%\r## 4.1%\r## 4.1%"]
+[17.95686, "o", "\r### 4.2%\r### 4.2%"]
+[17.959237, "o", "\r### 4.2%\r### 4.3%\r### 4.3%\r### 4.3%\r### 4.4%\r### 4.4%\r### 4.4%\r### 4.4%\r### 4.5%\r### 4.5%\r### 4.5%\r### 4.6%\r### 4.6%\r### 4.6%\r### 4.7%"]
+[17.962429, "o", "\r### 4.7%"]
+[17.964537, "o", "\r### 4.7%\r### 4.7%\r### 4.8%\r### 4.8%\r### 4.8%\r### 4.9%\r### 4.9%\r### 4.9%\r### 4.9%\r### 5.0%\r### 5.0%\r### 5.0%\r### 5.1%\r### 5.1%"]
+[17.968408, "o", "\r### 5.1%\r### 5.2%\r### 5.2%\r### 5.2%\r### 5.2%\r### 5.3%\r### 5.3%\r### 5.3%\r### 5.4%\r### 5.4%\r### 5.4%\r### 5.5%\r### 5.5%\r### 5.5%\r### 5.5%\r#### 5.6%\r#### 5.6%\r#### 5.6%\r#### 5.7%\r#### 5.7%"]
+[17.970993, "o", "\r#### 5.7%"]
+[17.973454, "o", "\r#### 5.7%\r#### 5.8%\r#### 5.8%\r#### 5.8%\r#### 5.9%\r#### 5.9%\r#### 5.9%\r#### 6.0%\r#### 6.0%\r#### 6.0%\r#### 6.0%\r#### 6.1%\r#### 6.1%\r#### 6.1%\r#### 6.2%"]
+[17.977165, "o", "\r#### 6.2%\r#### 6.2%\r#### 6.3%\r#### 6.3%\r#### 6.3%\r#### 6.3%\r#### 6.4%\r#### 6.4%\r#### 6.4%\r#### 6.5%\r#### 6.5%\r#### 6.5%\r#### 6.5%\r#### 6.6%\r#### 6.6%\r#### 6.6%\r#### 6.7%\r#### 6.7%\r#### 6.7%\r#### 6.8%\r#### 6.8%"]
+[17.980253, "o", "\r#### 6.8%\r#### 6.8%"]
+[17.982238, "o", "\r#### 6.9%\r#### 6.9%\r#### 6.9%\r##### 7.0%\r##### 7.0%\r##### 7.0%\r##### 7.1%\r##### 7.1%\r##### 7.1%\r##### 7.1%\r##### 7.2%\r##### 7.2%"]
+[17.986224, "o", "\r##### 7.2%\r##### 7.3%\r##### 7.3%\r##### 7.3%\r##### 7.3%\r##### 7.4%\r##### 7.4%\r##### 7.4%\r##### 7.5%\r##### 7.5%\r##### 7.5%\r##### 7.6%\r##### 7.6%\r##### 7.6%\r##### 7.6%\r##### 7.7%\r##### 7.7%\r##### 7.7%\r##### 7.8%\r##### 7.8%\r##### 7.8%\r##### 7.9%\r##### 7.9%\r##### 7.9%"]
+[17.991046, "o", "\r##### 7.9%\r##### 8.0%\r##### 8.0%\r##### 8.0%\r##### 8.1%\r##### 8.1%\r##### 8.1%\r##### 8.1%\r##### 8.2%\r##### 8.2%\r##### 8.2%\r##### 8.3%"]
+[17.992274, "o", "\r##### 8.3%\r##### 8.3%\r###### 8.4%\r###### 8.4%"]
+[17.995798, "o", "\r###### 8.4%\r###### 8.4%\r###### 8.5%\r###### 8.5%\r###### 8.5%\r###### 8.6%\r###### 8.6%\r###### 8.6%\r###### 8.7%\r###### 8.7%\r###### 8.7%\r###### 8.7%\r###### 8.8%\r###### 8.8%\r###### 8.8%\r###### 8.9%\r###### 8.9%\r###### 8.9%\r###### 8.9%\r###### 9.0%\r###### 9.0%\r###### 9.0%\r###### 9.1%\r###### 9.1%"]
+[17.996266, "o", "\r###### 9.1%"]
+[17.999446, "o", "\r###### 9.2%\r###### 9.2%\r###### 9.2%\r###### 9.2%\r###### 9.3%\r###### 9.3%\r###### 9.3%\r###### 9.4%\r###### 9.4%\r###### 9.4%"]
+[18.004649, "o", "\r###### 9.5%\r###### 9.5%\r###### 9.5%\r###### 9.5%\r###### 9.6%\r###### 9.6%\r###### 9.6%\r###### 9.7%\r###### 9.7%\r###### 9.7%\r####### 9.7%\r####### 9.8%\r####### 9.8%\r####### 9.8%\r####### 9.9%\r####### 9.9%\r####### 9.9%\r####### 10.0%\r####### 10.0%\r####### 10.0%\r####### 10.0%\r####### 10.1%\r####### 10.1%\r####### 10.1%\r####### 10.2%\r####### 10.2%\r####### 10.2%\r####### 10.3%\r####### 10.3%\r####### 10.3%\r####### 10.3%"]
+[18.006854, "o", "\r####### 10.4%"]
+[18.008674, "o", "\r####### 10.4%\r####### 10.4%\r####### 10.5%\r####### 10.5%\r####### 10.5%\r####### 10.5%\r####### 10.6%\r####### 10.6%\r####### 10.6%\r####### 10.7%\r####### 10.7%"]
+[18.009115, "o", "\r####### 10.7%"]
+[18.013985, "o", "\r####### 10.8%\r####### 10.8%\r####### 10.8%\r####### 10.8%\r####### 10.9%\r####### 10.9%\r####### 10.9%\r####### 11.0%\r####### 11.0%\r####### 11.0%\r####### 11.1%\r####### 11.1%\r######## 11.1%\r######## 11.1%\r######## 11.2%\r######## 11.2%\r######## 11.2%\r######## 11.3%\r######## 11.3%\r######## 11.3%\r######## 11.3%\r######## 11.4%\r######## 11.4%\r######## 11.4%\r######## 11.5%\r######## 11.5%\r######## 11.5%\r######## 11.6%\r######## 11.6%\r######## 11.6%\r######## 11.6%"]
+[18.015442, "o", "\r######## 11.7%"]
+[18.017324, "o", "\r######## 11.7%\r######## 11.7%\r######## 11.8%\r######## 11.8%\r######## 11.8%\r######## 11.9%\r######## 11.9%\r######## 11.9%\r######## 11.9%\r######## 12.0%\r######## 12.0%"]
+[18.01886, "o", "\r######## 12.0%\r######## 12.1%\r######## 12.1%\r######## 12.1%"]
+[18.023029, "o", "\r######## 12.1%\r######## 12.2%\r######## 12.2%\r######## 12.2%\r######## 12.3%\r######## 12.3%\r######## 12.3%\r######## 12.4%\r######## 12.4%\r######## 12.4%\r######## 12.4%\r######## 12.5%\r######### 12.5%\r######### 12.5%\r######### 12.6%\r######### 12.6%\r######### 12.6%\r######### 12.7%\r######### 12.7%\r######### 12.7%\r######### 12.7%\r######### 12.8%\r######### 12.8%\r######### 12.8%\r######### 12.9%\r######### 12.9%\r######### 12.9%\r######### 12.9%"]
+[18.024349, "o", "\r######### 13.0%\r######### 13.0%\r######### 13.0%"]
+[18.025839, "o", "\r######### 13.1%\r######### 13.1%\r######### 13.1%\r######### 13.2%\r######### 13.2%\r######### 13.2%\r######### 13.2%\r######### 13.3%\r######### 13.3%"]
+[18.032281, "o", "\r######### 13.3%\r######### 13.4%\r######### 13.4%\r######### 13.4%\r######### 13.5%\r######### 13.5%\r######### 13.5%\r######### 13.5%\r######### 13.6%\r######### 13.6%\r######### 13.6%\r######### 13.7%\r######### 13.7%\r######### 13.7%\r######### 13.7%\r######### 13.8%\r######### 13.8%\r######### 13.8%\r######### 13.9%\r########## 13.9%\r########## 13.9%\r########## 14.0%\r########## 14.0%\r########## 14.0%\r########## 14.0%\r########## 14.1%\r########## 14.1%\r########## 14.1%\r########## 14.2%\r########## 14.2%\r########## 14.2%\r########## 14.3%\r########## 14.3%\r########## 14.3%\r########## 14.3%\r########## 14.4%\r########## 14.4%"]
+[18.033057, "o", "\r########## 14.4%\r########## 14.5%\r########## 14.5%"]
+[18.034497, "o", "\r########## 14.5%\r########## 14.5%\r########## 14.6%\r########## 14.6%\r########## 14.6%\r########## 14.7%\r########## 14.7%\r########## 14.7%"]
+[18.041311, "o", "\r########## 14.8%\r########## 14.8%\r########## 14.8%\r########## 14.8%\r########## 14.9%\r########## 14.9%\r########## 14.9%\r########## 15.0%\r########## 15.0%\r########## 15.0%\r########## 15.1%\r########## 15.1%\r########## 15.1%\r########## 15.1%\r########## 15.2%\r########## 15.2%\r########## 15.2%\r########## 15.3%\r########### 15.3%\r########### 15.3%\r########### 15.3%\r########### 15.4%\r########### 15.4%\r########### 15.4%\r########### 15.5%\r########### 15.5%\r########### 15.5%\r########### 15.6%\r########### 15.6%\r########### 15.6%\r########### 15.6%\r########### 15.7%\r########### 15.7%\r########### 15.7%\r########### 15.8%\r########### 15.8%\r########### 15.8%\r########### 15.9%\r########### 15.9%"]
+[18.043287, "o", "\r########### 15.9%\r########### 15.9%\r########### 16.0%\r########### 16.0%\r########### 16.0%\r########### 16.1%\r########### 16.1%\r########### 16.1%\r########### 16.2%\r########### 16.2%\r########### 16.2%\r########### 16.2%"]
+[18.050511, "o", "\r########### 16.3%\r########### 16.3%\r########### 16.3%\r########### 16.4%\r########### 16.4%\r########### 16.4%\r########### 16.4%\r########### 16.5%\r########### 16.5%\r########### 16.5%\r########### 16.6%\r########### 16.6%\r########### 16.6%\r########### 16.7%\r############ 16.7%\r############ 16.7%\r############ 16.7%\r############ 16.8%\r############ 16.8%\r############ 16.8%\r############ 16.9%\r############ 16.9%\r############ 16.9%\r############ 17.0%\r############ 17.0%\r############ 17.0%\r############ 17.0%\r############ 17.1%\r############ 17.1%\r############ 17.1%\r############ 17.2%\r############ 17.2%\r############ 17.2%\r############ 17.2%\r############ 17.3%\r############ 17.3%\r############ 17.3%\r############ 17.4%\r############ 17.4%\r############ 17.4%\r############ 17.5%\r############ 17.5%\r############ 17.5%"]
+[18.052027, "o", "\r############ 17.5%\r############ 17.6%\r############ 17.6%\r############ 17.6%\r############ 17.7%\r############ 17.7%\r############ 17.7%\r############ 17.8%"]
+[18.061068, "o", "\r############ 17.8%\r############ 17.8%\r############ 17.8%\r############ 17.9%\r############ 17.9%\r############ 17.9%\r############ 18.0%\r############ 18.0%\r############ 18.0%\r############ 18.0%\r############# 18.1%\r############# 18.1%\r############# 18.1%\r############# 18.2%\r############# 18.2%\r############# 18.2%\r############# 18.3%\r############# 18.3%\r############# 18.3%\r############# 18.3%\r############# 18.4%\r############# 18.4%\r############# 18.4%\r############# 18.5%\r############# 18.5%\r############# 18.5%\r############# 18.6%\r############# 18.6%\r############# 18.6%\r############# 18.6%\r############# 18.7%\r############# 18.7%\r############# 18.7%\r############# 18.8%\r############# 18.8%\r############# 18.8%\r############# 18.8%\r############# 18.9%\r############# 18.9%\r############# 18.9%\r############# 19.0%\r############# 19.0%\r############# 19.0%\r############# 19.1%\r############# 19.1%\r############# 19.1%\r############# 19.1%\r############# 19.2%\r############# 19.2%\r############# 19.2%\r############# 19.3%\r############# "]
+[18.06145, "o", " 19.3%\r############# 19.3%\r############# 19.4%\r############# 19.4%\r############# 19.4%"]
+[18.070373, "o", "\r############# 19.4%\r############## 19.5%\r############## 19.5%\r############## 19.5%\r############## 19.6%\r############## 19.6%\r############## 19.6%\r############## 19.6%\r############## 19.7%\r############## 19.7%\r############## 19.7%\r############## 19.8%\r############## 19.8%\r############## 19.8%\r############## 19.9%\r############## 19.9%\r############## 19.9%\r############## 19.9%\r############## 20.0%\r############## 20.0%\r############## 20.0%\r############## 20.1%\r############## 20.1%\r############## 20.1%\r############## 20.2%\r############## 20.2%\r############## 20.2%\r############## 20.2%\r############## 20.3%\r############## 20.3%\r############## 20.3%\r############## 20.4%\r############## 20.4%\r############## 20.4%\r############## 20.4%\r############## 20.5%\r############## 20.5%\r############## 20.5%\r############## 20.6%\r############## 20.6%\r############## 20.6%\r############## 20.7%\r############## 20.7%\r############## 20.7%\r############## 20.7%\r############## 20.8%\r############## 20.8%\r############## 20.8%\r############### 20.9%\r############### 20.9%\r############### 20.9%\r##############"]
+[18.070817, "o", "# 21.0%\r############### 21.0%\r############### 21.0%\r############### 21.0%\r############### 21.1%\r############### 21.1%\r############### 21.1%\r############### 21.2%"]
+[18.082073, "o", "\r############### 21.2%\r############### 21.2%\r############### 21.2%\r############### 21.3%\r############### 21.3%\r############### 21.3%\r############### 21.4%\r############### 21.4%\r############### 21.4%\r############### 21.5%\r############### 21.5%\r############### 21.5%\r############### 21.5%\r############### 21.6%\r############### 21.6%\r############### 21.6%\r############### 21.7%\r############### 21.7%\r############### 21.7%\r############### 21.8%\r############### 21.8%\r############### 21.8%\r############### 21.8%\r############### 21.9%\r############### 21.9%\r############### 21.9%\r############### 22.0%\r############### 22.0%\r############### 22.0%\r############### 22.0%\r############### 22.1%\r############### 22.1%\r############### 22.1%\r############### 22.2%\r############### 22.2%\r################ 22.2%\r################ 22.3%\r################ 22.3%\r################ 22.3%\r################ 22.3%\r################ 22.4%\r################ 22.4%\r################ 22.4%\r################ 22.5%\r################ 22.5%\r################ 22.5%\r################ 22.6%\r################ 22.6%\r################ 22.6%\r################ 22.6%\r################ 22.7%\r##############"]
+[18.082508, "o", "## 22.7%\r################ 22.7%\r################ 22.8%\r################ 22.8%\r################ 22.8%\r################ 22.8%\r################ 22.9%\r################ 22.9%\r################ 22.9%\r################ 23.0%\r################ 23.0%\r################ 23.0%\r################ 23.1%\r################ 23.1%\r################ 23.1%\r################ 23.1%\r################ 23.2%\r################ 23.2%\r################ 23.2%\r################ 23.3%\r################ 23.3%\r################ 23.3%\r################ 23.4%\r################ 23.4%\r################ "]
+[18.093035, "o", " 23.4%\r################ 23.4%\r################ 23.5%\r################ 23.5%\r################ 23.5%\r################ 23.6%\r################ 23.6%\r################# 23.6%\r################# 23.6%\r################# 23.7%\r################# 23.7%\r################# 23.7%\r################# 23.8%\r################# 23.8%\r################# 23.8%\r################# 23.9%\r################# 23.9%\r################# 23.9%\r################# 23.9%\r################# 24.0%\r################# 24.0%\r################# 24.0%\r################# 24.1%\r################# 24.1%\r################# 24.1%\r################# 24.2%\r################# 24.2%\r################# 24.2%\r################# 24.2%\r################# 24.3%\r################# 24.3%\r################# 24.3%\r################# 24.4%\r################# 24.4%\r################# 24.4%\r################# 24.4%\r################# 24.5%\r################# 24.5%\r################# 24.5%\r################# 24.6%\r################# 24.6%\r################# 24.6%\r################# 24.7%\r################# 24.7%\r################# 24.7%\r################# 24.7%\r################# 24.8%\r################# 24.8%\r################# 24.8%\r################# 24.9%\r################# 24.9%\r################# "]
+[18.09343, "o", " 24.9%\r################# 25.0%\r################# 25.0%\r################## 25.0%\r################## 25.0%\r################## 25.1%\r################## 25.1%\r################## 25.1%\r################## 25.2%\r################## 25.2%\r################## 25.2%\r################## 25.2%\r################## 25.3%\r################## 25.3%\r################## 25.3%\r################## 25.4%\r################## 25.4%\r################## 25.4%\r################## 25.5%\r################## 25.5%\r################## "]
+[18.102399, "o", " 25.5%\r################## 25.5%\r################## 25.6%\r################## 25.6%\r################## 25.6%\r################## 25.7%\r################## 25.7%\r################## 25.7%\r################## 25.8%\r################## 25.8%\r################## 25.8%\r################## 25.8%\r################## 25.9%\r################## 25.9%\r################## 25.9%\r################## 26.0%\r################## 26.0%\r################## 26.0%\r################## 26.0%\r################## 26.1%\r################## 26.1%\r################## 26.1%\r################## 26.2%\r################## 26.2%\r################## 26.2%\r################## 26.3%\r################## 26.3%\r################## 26.3%\r################## 26.3%\r################## 26.4%\r################### 26.4%\r################### 26.4%\r################### 26.5%\r################### 26.5%\r################### 26.5%\r################### 26.6%\r################### 26.6%\r################### 26.6%\r################### 26.6%\r################### 26.7%\r################### 26.7%\r################### 26.7%\r################### 26.8%\r################### 26.8%\r################### 26.8%\r################### 26.8%\r################### 26.9%\r################### 26.9%\r################### 26.9%\r################### 27.0%\r################### 27.0%\r################### 27.0%\r########"]
+[18.102743, "o", "########### 27.1%\r################### 27.1%\r################### 27.1%\r################### 27.1%\r################### 27.2%\r################### 27.2%\r################### 27.2%\r################### 27.3%\r################### 27.3%\r################### 27.3%\r################### 27.4%\r################### 27.4%\r################### 27.4%"]
+[18.115941, "o", "\r################### 27.4%"]
+[18.133237, "o", "\r################### 27.5%"]
+[18.141793, "o", "\r################### 27.5%"]
+[18.14623, "o", "\r################### 27.5%"]
+[18.150469, "o", "\r################### 27.6%"]
+[18.159362, "o", "\r################### 27.6%\r################### 27.6%\r################### 27.6%"]
+[18.163464, "o", "\r################### 27.7%"]
+[18.167707, "o", "\r################### 27.7%"]
+[18.172225, "o", "\r################### 27.7%"]
+[18.176491, "o", "\r################### 27.8%\r#################### 27.8%"]
+[18.185214, "o", "\r#################### 27.8%\r#################### 27.9%"]
+[18.189481, "o", "\r#################### 27.9%"]
+[18.193822, "o", "\r#################### 27.9%\r#################### 27.9%"]
+[18.198102, "o", "\r#################### 28.0%"]
+[18.202537, "o", "\r#################### 28.0%\r#################### 28.0%\r#################### 28.1%"]
+[18.206723, "o", "\r#################### 28.1%"]
+[18.211248, "o", "\r#################### 28.1%\r#################### 28.2%"]
+[18.215378, "o", "\r#################### 28.2%"]
+[18.219959, "o", "\r#################### 28.2%\r#################### 28.2%\r#################### 28.3%"]
+[18.224036, "o", "\r#################### 28.3%"]
+[18.228589, "o", "\r#################### 28.3%\r#################### 28.4%\r#################### 28.4%"]
+[18.232812, "o", "\r#################### 28.4%\r#################### 28.4%"]
+[18.237203, "o", "\r#################### 28.5%\r#################### 28.5%\r#################### 28.5%"]
+[18.24134, "o", "\r#################### 28.6%"]
+[18.245906, "o", "\r#################### 28.6%\r#################### 28.6%\r#################### 28.7%\r#################### 28.7%"]
+[18.249961, "o", "\r#################### 28.7%"]
+[18.254522, "o", "\r#################### 28.7%\r#################### 28.8%\r#################### 28.8%\r#################### 28.8%"]
+[18.258617, "o", "\r#################### 28.9%\r#################### 28.9%"]
+[18.263188, "o", "\r#################### 28.9%\r#################### 29.0%\r#################### 29.0%\r#################### 29.0%"]
+[18.26724, "o", "\r#################### 29.0%\r#################### 29.1%"]
+[18.271998, "o", "\r#################### 29.1%\r#################### 29.1%\r#################### 29.2%\r##################### 29.2%\r##################### 29.2%"]
+[18.275868, "o", "\r##################### 29.2%\r##################### 29.3%"]
+[18.281524, "o", "\r##################### 29.3%\r##################### 29.3%\r##################### 29.4%\r##################### 29.4%\r##################### 29.4%\r##################### 29.5%\r##################### 29.5%\r##################### 29.5%\r##################### 29.5%\r##################### 29.6%\r##################### 29.6%\r##################### 29.6%"]
+[18.284584, "o", "\r##################### 29.7%\r##################### 29.7%\r##################### 29.7%"]
+[18.295455, "o", "\r##################### 29.8%\r##################### 29.8%\r##################### 29.8%\r##################### 29.8%\r##################### 29.9%\r##################### 29.9%\r##################### 29.9%\r##################### 30.0%\r##################### 30.0%\r##################### 30.0%\r##################### 30.0%\r##################### 30.1%\r##################### 30.1%\r##################### 30.1%\r##################### 30.2%\r##################### 30.2%\r##################### 30.2%\r##################### 30.3%\r##################### 30.3%\r##################### 30.3%\r##################### 30.3%\r##################### 30.4%\r##################### 30.4%\r##################### 30.4%\r##################### 30.5%\r##################### 30.5%\r##################### 30.5%\r##################### 30.6%\r###################### 30.6%\r###################### 30.6%\r###################### 30.6%\r###################### 30.7%\r###################### 30.7%\r###################### 30.7%\r###################### 30.8%\r###################### 30.8%\r###################### 30.8%\r###################### 30.8%\r###################### 30.9%\r###################### 30.9%\r###################### 30.9%\r###################### 31.0%\r###################### 31.0%\r###################### 31.0%\r###################### 31.1%\r###################### 31.1%\r###################### 31.1%\r###################### 31.1%"]
+[18.300849, "o", "\r###################### 31.2%\r###################### 31.2%\r###################### 31.2%\r###################### 31.3%\r###################### 31.3%\r###################### 31.3%\r###################### 31.4%\r###################### 31.4%\r###################### 31.4%\r###################### 31.4%\r###################### 31.5%\r###################### 31.5%\r###################### 31.5%\r###################### 31.6%\r###################### 31.6%\r###################### 31.6%\r###################### 31.6%\r###################### 31.7%\r###################### 31.7%\r###################### 31.7%\r###################### 31.8%\r###################### 31.8%\r###################### 31.8%\r###################### 31.9%\r###################### 31.9%\r###################### 31.9%"]
+[18.316252, "o", "\r####################### 31.9%\r####################### 32.0%\r####################### 32.0%\r####################### 32.0%"]
+[18.334081, "o", "\r####################### 32.1%\r####################### 32.1%\r####################### 32.1%\r####################### 32.2%\r####################### 32.2%\r####################### 32.2%\r####################### 32.2%"]
+[18.342373, "o", "\r####################### 32.3%\r####################### 32.3%\r####################### 32.3%\r####################### 32.4%\r####################### 32.4%"]
+[18.350906, "o", "\r####################### 32.4%\r####################### 32.4%\r####################### 32.5%\r####################### 32.5%"]
+[18.35964, "o", "\r####################### 32.5%\r####################### 32.6%\r####################### 32.6%\r####################### 32.6%"]
+[18.368319, "o", "\r####################### 32.7%\r####################### 32.7%\r####################### 32.7%\r####################### 32.7%\r####################### 32.8%"]
+[18.377149, "o", "\r####################### 32.8%\r####################### 32.8%\r####################### 32.9%\r####################### 32.9%\r####################### 32.9%\r####################### 33.0%"]
+[18.385661, "o", "\r####################### 33.0%\r####################### 33.0%\r####################### 33.0%\r####################### 33.1%\r####################### 33.1%"]
+[18.395044, "o", "\r####################### 33.1%\r####################### 33.2%\r####################### 33.2%\r####################### 33.2%\r####################### 33.2%\r####################### 33.3%\r####################### 33.3%\r######################## 33.3%\r######################## 33.4%\r######################## 33.4%"]
+[18.406111, "o", "\r######################## 33.4%\r######################## 33.5%\r######################## 33.5%\r######################## 33.5%\r######################## 33.5%\r######################## 33.6%\r######################## 33.6%\r######################## 33.6%\r######################## 33.7%\r######################## 33.7%\r######################## 33.7%\r######################## 33.8%\r######################## 33.8%\r######################## 33.8%\r######################## 33.8%\r######################## 33.9%\r######################## 33.9%\r######################## 33.9%\r######################## 34.0%\r######################## 34.0%\r######################## 34.0%\r######################## 34.0%\r######################## 34.1%\r######################## 34.1%\r######################## 34.1%\r######################## 34.2%\r######################## 34.2%"]
+[18.420305, "o", "\r######################## 34.2%\r######################## 34.3%\r######################## 34.3%\r######################## 34.3%"]
+[18.42421, "o", "\r######################## 34.3%"]
+[18.430721, "o", "\r######################## 34.4%\r######################## 34.4%\r######################## 34.4%\r######################## 34.5%\r######################## 34.5%\r######################## 34.5%\r######################## 34.6%\r######################## 34.6%\r######################## 34.6%\r######################## 34.6%\r######################## 34.7%\r######################## 34.7%"]
+[18.432935, "o", "\r######################### 34.7%"]
+[18.437677, "o", "\r######################### 34.8%\r######################### 34.8%\r######################### 34.8%\r######################### 34.8%\r######################### 34.9%\r######################### 34.9%\r######################### 34.9%"]
+[18.445994, "o", "\r######################### 35.0%\r######################### 35.0%\r######################### 35.0%\r######################### 35.1%\r######################### 35.1%"]
+[18.464083, "o", "\r######################### 35.1%\r######################### 35.1%\r######################### 35.2%\r######################### 35.2%\r######################### 35.2%\r######################### 35.3%\r######################### 35.3%\r######################### 35.3%\r######################### 35.4%\r######################### 35.4%\r######################### 35.4%"]
+[18.467321, "o", "\r######################### 35.4%"]
+[18.472424, "o", "\r######################### 35.5%\r######################### 35.5%\r######################### 35.5%\r######################### 35.6%\r######################### 35.6%\r######################### 35.6%\r######################### 35.6%\r######################### 35.7%\r######################### 35.7%"]
+[18.497958, "o", "\r######################### 35.7%\r######################### 35.8%\r######################### 35.8%\r######################### 35.8%"]
+[18.50632, "o", "\r######################### 35.9%\r######################### 35.9%"]
+[18.51457, "o", "\r######################### 35.9%"]
+[18.515136, "o", "\r######################### 35.9%"]
+[18.523062, "o", "\r######################### 36.0%"]
+[18.523639, "o", "\r######################### 36.0%\r######################### 36.0%"]
+[18.532401, "o", "\r######################### 36.1%\r######################### 36.1%\r########################## 36.1%\r########################## 36.2%"]
+[18.541687, "o", "\r########################## 36.2%\r########################## 36.2%\r########################## 36.2%\r########################## 36.3%\r########################## 36.3%\r########################## 36.3%\r########################## 36.4%\r########################## 36.4%\r########################## 36.4%\r########################## 36.4%\r########################## 36.5%"]
+[18.551587, "o", "\r########################## 36.5%\r########################## 36.5%\r########################## 36.6%\r########################## 36.6%\r########################## 36.6%\r########################## 36.7%\r########################## 36.7%\r########################## 36.7%\r########################## 36.7%\r########################## 36.8%\r########################## 36.8%\r########################## 36.8%\r########################## 36.9%\r########################## 36.9%\r########################## 36.9%\r########################## 37.0%\r########################## 37.0%\r########################## 37.0%"]
+[18.559932, "o", "\r########################## 37.0%\r########################## 37.1%\r########################## 37.1%\r########################## 37.1%\r########################## 37.2%\r########################## 37.2%\r########################## 37.2%\r########################## 37.2%\r########################## 37.3%\r########################## 37.3%\r########################## 37.3%\r########################## 37.4%\r########################## 37.4%\r########################## 37.4%\r########################## 37.5%\r########################## 37.5%\r########################### 37.5%"]
+[18.567659, "o", "\r########################### 37.5%\r########################### 37.6%\r########################### 37.6%\r########################### 37.6%\r########################### 37.7%\r########################### 37.7%\r########################### 37.7%\r########################### 37.8%\r########################### 37.8%\r########################### 37.8%"]
+[18.584677, "o", "\r########################### 37.8%\r########################### 37.9%\r########################### 37.9%\r########################### 37.9%\r########################### 38.0%\r########################### 38.0%\r########################### 38.0%"]
+[18.59414, "o", "\r########################### 38.0%\r########################### 38.1%\r########################### 38.1%\r########################### 38.1%\r########################### 38.2%\r########################### 38.2%\r########################### 38.2%\r########################### 38.3%\r########################### 38.3%\r########################### 38.3%\r########################### 38.3%\r########################### 38.4%\r########################### 38.4%"]
+[18.611894, "o", "\r########################### 38.4%\r########################### 38.5%\r########################### 38.5%\r########################### 38.5%\r########################### 38.6%\r########################### 38.6%\r########################### 38.6%\r########################### 38.6%\r########################### 38.7%\r########################### 38.7%\r########################### 38.7%\r########################### 38.8%\r########################### 38.8%\r########################### 38.8%\r########################### 38.8%\r########################### 38.9%"]
+[18.628662, "o", "\r############################ 38.9%\r############################ 38.9%\r############################ 39.0%\r############################ 39.0%\r############################ 39.0%\r############################ 39.1%\r############################ 39.1%\r############################ 39.1%\r############################ 39.1%\r############################ 39.2%\r############################ 39.2%\r############################ 39.2%"]
+[18.636443, "o", "\r############################ 39.3%\r############################ 39.3%\r############################ 39.3%\r############################ 39.4%\r############################ 39.4%"]
+[18.654168, "o", "\r############################ 39.4%\r############################ 39.4%\r############################ 39.5%\r############################ 39.5%\r############################ 39.5%\r############################ 39.6%\r############################ 39.6%\r############################ 39.6%\r############################ 39.6%"]
+[18.66167, "o", "\r############################ 39.7%"]
+[18.662506, "o", "\r############################ 39.7%\r############################ 39.7%\r############################ 39.8%"]
+[18.670335, "o", "\r############################ 39.8%"]
+[18.671592, "o", "\r############################ 39.8%\r############################ 39.9%\r############################ 39.9%"]
+[18.678992, "o", "\r############################ 39.9%"]
+[18.679893, "o", "\r############################ 39.9%\r############################ 40.0%\r############################ 40.0%\r############################ 40.0%"]
+[18.688405, "o", "\r############################ 40.1%\r############################ 40.1%\r############################ 40.1%\r############################ 40.2%"]
+[18.697029, "o", "\r############################ 40.2%\r############################ 40.2%\r############################ 40.2%\r############################ 40.3%"]
+[18.704797, "o", "\r############################# 40.3%"]
+[18.705671, "o", "\r############################# 40.3%\r############################# 40.4%\r############################# 40.4%\r############################# 40.4%"]
+[18.714332, "o", "\r############################# 40.4%\r############################# 40.5%\r############################# 40.5%\r############################# 40.5%"]
+[18.722082, "o", "\r############################# 40.6%"]
+[18.722555, "o", "\r############################# 40.6%"]
+[18.72332, "o", "\r############################# 40.6%\r############################# 40.7%\r############################# 40.7%"]
+[18.731282, "o", "\r############################# 40.7%\r############################# 40.7%"]
+[18.731862, "o", "\r############################# 40.8%\r############################# 40.8%"]
+[18.739444, "o", "\r############################# 40.8%"]
+[18.739886, "o", "\r############################# 40.9%"]
+[18.740536, "o", "\r############################# 40.9%\r############################# 40.9%\r############################# 41.0%"]
+[18.748476, "o", "\r############################# 41.0%\r############################# 41.0%"]
+[18.749094, "o", "\r############################# 41.0%\r############################# 41.1%"]
+[18.756656, "o", "\r############################# 41.1%"]
+[18.757087, "o", "\r############################# 41.1%"]
+[18.757714, "o", "\r############################# 41.2%\r############################# 41.2%\r############################# 41.2%"]
+[18.765265, "o", "\r############################# 41.2%"]
+[18.765669, "o", "\r############################# 41.3%"]
+[18.766344, "o", "\r############################# 41.3%\r############################# 41.3%\r############################# 41.4%"]
+[18.774295, "o", "\r############################# 41.4%"]
+[18.775163, "o", "\r############################# 41.4%\r############################# 41.5%\r############################# 41.5%\r############################# 41.5%"]
+[18.782944, "o", "\r############################# 41.5%"]
+[18.783637, "o", "\r############################# 41.6%\r############################# 41.6%\r############################# 41.6%"]
+[18.791285, "o", "\r############################# 41.7%"]
+[18.79191, "o", "\r############################## 41.7%\r############################## 41.7%"]
+[18.792491, "o", "\r############################## 41.8%\r############################## 41.8%"]
+[18.799874, "o", "\r############################## 41.8%"]
+[18.800509, "o", "\r############################## 41.8%"]
+[18.801252, "o", "\r############################## 41.9%\r############################## 41.9%\r############################## 41.9%"]
+[18.808673, "o", "\r############################## 42.0%"]
+[18.809134, "o", "\r############################## 42.0%"]
+[18.809805, "o", "\r############################## 42.0%\r############################## 42.1%\r############################## 42.1%"]
+[18.817344, "o", "\r############################## 42.1%"]
+[18.817736, "o", "\r############################## 42.1%"]
+[18.818344, "o", "\r############################## 42.2%\r############################## 42.2%\r############################## 42.2%"]
+[18.826007, "o", "\r############################## 42.3%"]
+[18.826363, "o", "\r############################## 42.3%"]
+[18.827162, "o", "\r############################## 42.3%\r############################## 42.3%\r############################## 42.4%"]
+[18.835141, "o", "\r############################## 42.4%\r############################## 42.4%"]
+[18.835884, "o", "\r############################## 42.5%\r############################## 42.5%\r############################## 42.5%"]
+[18.843735, "o", "\r############################## 42.6%\r############################## 42.6%"]
+[18.84447, "o", "\r############################## 42.6%\r############################## 42.6%\r############################## 42.7%"]
+[18.851773, "o", "\r############################## 42.7%"]
+[18.853125, "o", "\r############################## 42.7%\r############################## 42.8%\r############################## 42.8%\r############################## 42.8%"]
+[18.860382, "o", "\r############################## 42.9%"]
+[18.861283, "o", "\r############################## 42.9%"]
+[18.861931, "o", "\r############################## 42.9%\r############################## 42.9%\r############################## 43.0%"]
+[18.868986, "o", "\r############################## 43.0%"]
+[18.869901, "o", "\r############################## 43.0%"]
+[18.870577, "o", "\r############################### 43.1%\r############################### 43.1%\r############################### 43.1%"]
+[18.877633, "o", "\r############################### 43.1%"]
+[18.878524, "o", "\r############################### 43.2%"]
+[18.879453, "o", "\r############################### 43.2%\r############################### 43.2%\r############################### 43.3%\r############################### 43.3%"]
+[18.887137, "o", "\r############################### 43.3%"]
+[18.887976, "o", "\r############################### 43.4%\r############################### 43.4%\r############################### 43.4%\r############################### 43.4%"]
+[18.895747, "o", "\r############################### 43.5%"]
+[18.896594, "o", "\r############################### 43.5%\r############################### 43.5%\r############################### 43.6%\r############################### 43.6%"]
+[18.904348, "o", "\r############################### 43.6%"]
+[18.905359, "o", "\r############################### 43.7%\r############################### 43.7%\r############################### 43.7%\r############################### 43.7%\r############################### 43.8%"]
+[18.912993, "o", "\r############################### 43.8%"]
+[18.913955, "o", "\r############################### 43.8%\r############################### 43.9%\r############################### 43.9%\r############################### 43.9%"]
+[18.921579, "o", "\r############################### 43.9%"]
+[18.922591, "o", "\r############################### 44.0%\r############################### 44.0%\r############################### 44.0%\r############################### 44.1%"]
+[18.929374, "o", "\r############################### 44.1%"]
+[18.931319, "o", "\r############################### 44.1%\r############################### 44.2%\r############################### 44.2%\r############################### 44.2%\r############################### 44.2%"]
+[18.938775, "o", "\r############################### 44.3%"]
+[18.939967, "o", "\r############################### 44.3%\r############################### 44.3%\r############################### 44.4%\r############################### 44.4%"]
+[18.946659, "o", "\r############################### 44.4%"]
+[18.948676, "o", "\r################################ 44.5%\r################################ 44.5%\r################################ 44.5%\r################################ 44.5%\r################################ 44.6%"]
+[18.955299, "o", "\r################################ 44.6%"]
+[18.957347, "o", "\r################################ 44.6%\r################################ 44.7%\r################################ 44.7%\r################################ 44.7%\r################################ 44.7%"]
+[18.965926, "o", "\r################################ 44.8%\r################################ 44.8%\r################################ 44.8%\r################################ 44.9%\r################################ 44.9%"]
+[18.972571, "o", "\r################################ 44.9%"]
+[18.974068, "o", "\r################################ 45.0%"]
+[18.974826, "o", "\r################################ 45.0%\r################################ 45.0%\r################################ 45.0%\r################################ 45.1%"]
+[18.983367, "o", "\r################################ 45.1%\r################################ 45.1%\r################################ 45.2%\r################################ 45.2%\r################################ 45.2%\r################################ 45.3%"]
+[18.991285, "o", "\r################################ 45.3%"]
+[18.992307, "o", "\r################################ 45.3%\r################################ 45.3%\r################################ 45.4%\r################################ 45.4%\r################################ 45.4%"]
+[19.000908, "o", "\r################################ 45.5%\r################################ 45.5%\r################################ 45.5%\r################################ 45.5%\r################################ 45.6%\r################################ 45.6%"]
+[19.009709, "o", "\r################################ 45.6%\r################################ 45.7%\r################################ 45.7%\r################################ 45.7%\r################################ 45.8%\r################################ 45.8%"]
+[19.018075, "o", "\r################################ 45.8%\r################################# 45.8%\r################################# 45.9%\r################################# 45.9%\r################################# 45.9%"]
+[19.024583, "o", "\r################################# 46.0%"]
+[19.02664, "o", "\r################################# 46.0%\r################################# 46.0%\r################################# 46.1%\r################################# 46.1%\r################################# 46.1%"]
+[19.033234, "o", "\r################################# 46.1%"]
+[19.035552, "o", "\r################################# 46.2%\r################################# 46.2%\r################################# 46.2%\r################################# 46.3%\r################################# 46.3%\r################################# 46.3%"]
+[19.044161, "o", "\r################################# 46.3%\r################################# 46.4%\r################################# 46.4%\r################################# 46.4%\r################################# 46.5%\r################################# 46.5%"]
+[19.052879, "o", "\r################################# 46.5%\r################################# 46.6%\r################################# 46.6%\r################################# 46.6%\r################################# 46.6%\r################################# 46.7%"]
+[19.060853, "o", "\r################################# 46.7%\r################################# 46.7%"]
+[19.061632, "o", "\r################################# 46.8%\r################################# 46.8%\r################################# 46.8%\r################################# 46.9%"]
+[19.070158, "o", "\r################################# 46.9%\r################################# 46.9%\r################################# 46.9%\r################################# 47.0%\r################################# 47.0%\r################################# 47.0%"]
+[19.076202, "o", "\r################################# 47.1%"]
+[19.0789, "o", "\r################################# 47.1%\r################################# 47.1%\r################################# 47.1%\r################################# 47.2%\r################################# 47.2%\r################################## 47.2%"]
+[19.086879, "o", "\r################################## 47.3%\r################################## 47.3%"]
+[19.087682, "o", "\r################################## 47.3%\r################################## 47.4%\r################################## 47.4%\r################################## 47.4%"]
+[19.093404, "o", "\r################################## 47.4%"]
+[19.096371, "o", "\r################################## 47.5%\r################################## 47.5%\r################################## 47.5%\r################################## 47.6%\r################################## 47.6%\r################################## 47.6%"]
+[19.105077, "o", "\r################################## 47.7%\r################################## 47.7%\r################################## 47.7%\r################################## 47.7%\r################################## 47.8%\r################################## 47.8%"]
+[19.112679, "o", "\r################################## 47.8%"]
+[19.113828, "o", "\r################################## 47.9%\r################################## 47.9%\r################################## 47.9%\r################################## 47.9%\r################################## 48.0%\r################################## 48.0%"]
+[19.122322, "o", "\r################################## 48.0%\r################################## 48.1%\r################################## 48.1%\r################################## 48.1%\r################################## 48.2%\r################################## 48.2%"]
+[19.131302, "o", "\r################################## 48.2%\r################################## 48.2%\r################################## 48.3%\r################################## 48.3%\r################################## 48.3%\r################################## 48.4%\r################################## 48.4%"]
+[19.139646, "o", "\r################################## 48.4%\r################################## 48.5%\r################################## 48.5%\r################################## 48.5%\r################################## 48.5%\r################################## 48.6%"]
+[19.145025, "o", "\r################################## 48.6%"]
+[19.148353, "o", "\r################################### 48.6%\r################################### 48.7%\r################################### 48.7%\r################################### 48.7%\r################################### 48.7%\r################################### 48.8%"]
+[19.15723, "o", "\r################################### 48.8%\r################################### 48.8%\r################################### 48.9%\r################################### 48.9%\r################################### 48.9%\r################################### 49.0%\r################################### 49.0%"]
+[19.165754, "o", "\r################################### 49.0%\r################################### 49.0%\r################################### 49.1%\r################################### 49.1%\r################################### 49.1%\r################################### 49.2%"]
+[19.17088, "o", "\r################################### 49.2%"]
+[19.174443, "o", "\r################################### 49.2%\r################################### 49.3%\r################################### 49.3%\r################################### 49.3%\r################################### 49.3%\r################################### 49.4%"]
+[19.179466, "o", "\r################################### 49.4%"]
+[19.183048, "o", "\r################################### 49.4%\r################################### 49.5%\r################################### 49.5%\r################################### 49.5%\r################################### 49.5%\r################################### 49.6%"]
+[19.191993, "o", "\r################################### 49.6%\r################################### 49.6%\r################################### 49.7%\r################################### 49.7%\r################################### 49.7%\r################################### 49.8%\r################################### 49.8%"]
+[19.199632, "o", "\r################################### 49.8%"]
+[19.200746, "o", "\r################################### 49.8%\r################################### 49.9%\r################################### 49.9%\r################################### 49.9%\r################################### 50.0%\r################################### 50.0%"]
+[19.208488, "o", "\r#################################### 50.0%\r#################################### 50.1%"]
+[19.209361, "o", "\r#################################### 50.1%\r#################################### 50.1%\r#################################### 50.1%\r#################################### 50.2%\r#################################### 50.2%"]
+[19.216839, "o", "\r#################################### 50.2%"]
+[19.21791, "o", "\r#################################### 50.3%\r#################################### 50.3%\r#################################### 50.3%\r#################################### 50.3%\r#################################### 50.4%\r#################################### 50.4%"]
+[19.22541, "o", "\r#################################### 50.4%"]
+[19.226604, "o", "\r#################################### 50.5%\r#################################### 50.5%\r#################################### 50.5%\r#################################### 50.6%\r#################################### 50.6%\r#################################### 50.6%"]
+[19.235462, "o", "\r#################################### 50.6%\r#################################### 50.7%\r#################################### 50.7%\r#################################### 50.7%\r#################################### 50.8%\r#################################### 50.8%\r#################################### 50.8%"]
+[19.244173, "o", "\r#################################### 50.9%\r#################################### 50.9%\r#################################### 50.9%\r#################################### 50.9%\r#################################### 51.0%\r#################################### 51.0%\r#################################### 51.0%"]
+[19.248699, "o", "\r#################################### 51.1%"]
+[19.252746, "o", "\r#################################### 51.1%\r#################################### 51.1%\r#################################### 51.1%\r#################################### 51.2%\r#################################### 51.2%\r#################################### 51.2%"]
+[19.257339, "o", "\r#################################### 51.3%"]
+[19.261213, "o", "\r#################################### 51.3%\r#################################### 51.3%\r#################################### 51.4%\r#################################### 51.4%\r##################################### 51.4%\r##################################### 51.4%"]
+[19.26597, "o", "\r##################################### 51.5%"]
+[19.269119, "o", "\r##################################### 51.5%"]
+[19.270143, "o", "\r##################################### 51.5%\r##################################### 51.6%\r##################################### 51.6%\r##################################### 51.6%\r##################################### 51.7%"]
+[19.274541, "o", "\r##################################### 51.7%"]
+[19.277789, "o", "\r##################################### 51.7%"]
+[19.278856, "o", "\r##################################### 51.7%\r##################################### 51.8%\r##################################### 51.8%\r##################################### 51.8%\r##################################### 51.9%\r##################################### 51.9%"]
+[19.286482, "o", "\r##################################### 51.9%"]
+[19.287638, "o", "\r##################################### 51.9%\r##################################### 52.0%\r##################################### 52.0%\r##################################### 52.0%\r##################################### 52.1%\r##################################### 52.1%"]
+[19.295091, "o", "\r##################################### 52.1%"]
+[19.29636, "o", "\r##################################### 52.2%\r##################################### 52.2%\r##################################### 52.2%\r##################################### 52.2%\r##################################### 52.3%\r##################################### 52.3%"]
+[19.300346, "o", "\r##################################### 52.3%"]
+[19.304784, "o", "\r##################################### 52.4%\r##################################### 52.4%\r##################################### 52.4%\r##################################### 52.5%\r##################################### 52.5%\r##################################### 52.5%\r##################################### 52.5%"]
+[19.31229, "o", "\r##################################### 52.6%"]
+[19.313444, "o", "\r##################################### 52.6%\r##################################### 52.6%\r##################################### 52.7%\r##################################### 52.7%\r##################################### 52.7%\r##################################### 52.7%"]
+[19.317564, "o", "\r##################################### 52.8%"]
+[19.322231, "o", "\r###################################### 52.8%\r###################################### 52.8%\r###################################### 52.9%\r###################################### 52.9%\r###################################### 52.9%\r###################################### 53.0%\r###################################### 53.0%"]
+[19.329508, "o", "\r###################################### 53.0%"]
+[19.330976, "o", "\r###################################### 53.0%\r###################################### 53.1%\r###################################### 53.1%\r###################################### 53.1%\r###################################### 53.2%\r###################################### 53.2%\r###################################### 53.2%"]
+[19.339478, "o", "\r###################################### 53.3%\r###################################### 53.3%\r###################################### 53.3%\r###################################### 53.3%\r###################################### 53.4%\r###################################### 53.4%\r###################################### 53.4%"]
+[19.343482, "o", "\r###################################### 53.5%"]
+[19.348308, "o", "\r###################################### 53.5%\r###################################### 53.5%\r###################################### 53.5%\r###################################### 53.6%\r###################################### 53.6%\r###################################### 53.6%\r###################################### 53.7%"]
+[19.356019, "o", "\r###################################### 53.7%"]
+[19.357234, "o", "\r###################################### 53.7%\r###################################### 53.8%\r###################################### 53.8%\r###################################### 53.8%\r###################################### 53.8%\r###################################### 53.9%\r###################################### 53.9%"]
+[19.364628, "o", "\r###################################### 53.9%"]
+[19.365828, "o", "\r###################################### 54.0%\r###################################### 54.0%\r###################################### 54.0%\r###################################### 54.1%\r###################################### 54.1%\r###################################### 54.1%\r###################################### 54.1%"]
+[19.373253, "o", "\r####################################### 54.2%"]
+[19.373616, "o", "\r####################################### 54.2%"]
+[19.37483, "o", "\r####################################### 54.2%\r####################################### 54.3%\r####################################### 54.3%\r####################################### 54.3%\r####################################### 54.3%\r####################################### 54.4%"]
+[19.381835, "o", "\r####################################### 54.4%"]
+[19.38221, "o", "\r####################################### 54.4%"]
+[19.383194, "o", "\r####################################### 54.5%\r####################################### 54.5%\r####################################### 54.5%\r####################################### 54.6%\r####################################### 54.6%"]
+[19.387109, "o", "\r####################################### 54.6%"]
+[19.390657, "o", "\r####################################### 54.6%\r####################################### 54.7%"]
+[19.391839, "o", "\r####################################### 54.7%\r####################################### 54.7%\r####################################### 54.8%\r####################################### 54.8%\r####################################### 54.8%"]
+[19.395693, "o", "\r####################################### 54.9%"]
+[19.399332, "o", "\r####################################### 54.9%\r####################################### 54.9%"]
+[19.400538, "o", "\r####################################### 54.9%\r####################################### 55.0%\r####################################### 55.0%\r####################################### 55.0%\r####################################### 55.1%"]
+[19.404307, "o", "\r####################################### 55.1%"]
+[19.407907, "o", "\r####################################### 55.1%"]
+[19.409304, "o", "\r####################################### 55.1%\r####################################### 55.2%\r####################################### 55.2%\r####################################### 55.2%\r####################################### 55.3%\r####################################### 55.3%"]
+[19.412949, "o", "\r####################################### 55.3%"]
+[19.416449, "o", "\r####################################### 55.4%"]
+[19.418055, "o", "\r####################################### 55.4%\r####################################### 55.4%\r####################################### 55.4%\r####################################### 55.5%\r####################################### 55.5%\r####################################### 55.5%"]
+[19.425106, "o", "\r######################################## 55.6%"]
+[19.427256, "o", "\r######################################## 55.6%\r######################################## 55.6%\r######################################## 55.7%\r######################################## 55.7%\r######################################## 55.7%\r######################################## 55.7%\r######################################## 55.8%"]
+[19.433747, "o", "\r######################################## 55.8%"]
+[19.435392, "o", "\r######################################## 55.8%\r######################################## 55.9%\r######################################## 55.9%\r######################################## 55.9%\r######################################## 55.9%\r######################################## 56.0%"]
+[19.436534, "o", "\r######################################## 56.0%"]
+[19.442375, "o", "\r######################################## 56.0%"]
+[19.444137, "o", "\r######################################## 56.1%\r######################################## 56.1%\r######################################## 56.1%\r######################################## 56.2%\r######################################## 56.2%\r######################################## 56.2%"]
+[19.445157, "o", "\r######################################## 56.2%"]
+[19.450994, "o", "\r######################################## 56.3%"]
+[19.452725, "o", "\r######################################## 56.3%\r######################################## 56.3%\r######################################## 56.4%\r######################################## 56.4%\r######################################## 56.4%\r######################################## 56.5%"]
+[19.453906, "o", "\r######################################## 56.5%\r######################################## 56.5%"]
+[19.461476, "o", "\r######################################## 56.5%\r######################################## 56.6%\r######################################## 56.6%\r######################################## 56.6%\r######################################## 56.7%\r######################################## 56.7%"]
+[19.46257, "o", "\r######################################## 56.7%\r######################################## 56.7%"]
+[19.470189, "o", "\r######################################## 56.8%\r######################################## 56.8%\r######################################## 56.8%\r######################################## 56.9%\r######################################## 56.9%\r######################################## 56.9%"]
+[19.471211, "o", "\r######################################### 57.0%\r######################################### 57.0%"]
+[19.478778, "o", "\r######################################### 57.0%\r######################################### 57.0%\r######################################### 57.1%\r######################################### 57.1%\r######################################### 57.1%\r######################################### 57.2%"]
+[19.480029, "o", "\r######################################### 57.2%\r######################################### 57.2%\r######################################### 57.3%"]
+[19.487392, "o", "\r######################################### 57.3%\r######################################### 57.3%\r######################################### 57.3%\r######################################### 57.4%\r######################################### 57.4%"]
+[19.488725, "o", "\r######################################### 57.4%\r######################################### 57.5%\r######################################### 57.5%"]
+[19.496061, "o", "\r######################################### 57.5%\r######################################### 57.5%\r######################################### 57.6%\r######################################### 57.6%\r######################################### 57.6%"]
+[19.497534, "o", "\r######################################### 57.7%\r######################################### 57.7%\r######################################### 57.7%"]
+[19.502963, "o", "\r######################################### 57.8%"]
+[19.504563, "o", "\r######################################### 57.8%\r######################################### 57.8%\r######################################### 57.8%\r######################################### 57.9%"]
+[19.506374, "o", "\r######################################### 57.9%\r######################################### 57.9%\r######################################### 58.0%\r######################################### 58.0%"]
+[19.513242, "o", "\r######################################### 58.0%\r######################################### 58.1%\r######################################### 58.1%\r######################################### 58.1%"]
+[19.515124, "o", "\r######################################### 58.1%\r######################################### 58.2%\r######################################### 58.2%\r######################################### 58.2%"]
+[19.520182, "o", "\r######################################### 58.3%"]
+[19.52178, "o", "\r######################################### 58.3%\r######################################### 58.3%\r########################################## 58.3%"]
+[19.523904, "o", "\r########################################## 58.4%\r########################################## 58.4%\r########################################## 58.4%\r########################################## 58.5%\r########################################## 58.5%"]
+[19.528821, "o", "\r########################################## 58.5%"]
+[19.530281, "o", "\r########################################## 58.6%\r########################################## 58.6%"]
+[19.53273, "o", "\r########################################## 58.6%\r########################################## 58.6%\r########################################## 58.7%\r########################################## 58.7%\r########################################## 58.7%\r########################################## 58.8%"]
+[19.538895, "o", "\r########################################## 58.8%"]
+[19.541521, "o", "\r########################################## 58.8%\r########################################## 58.9%\r########################################## 58.9%\r########################################## 58.9%\r########################################## 58.9%\r########################################## 59.0%\r########################################## 59.0%"]
+[19.546185, "o", "\r########################################## 59.0%"]
+[19.550383, "o", "\r########################################## 59.1%\r########################################## 59.1%\r########################################## 59.1%\r########################################## 59.1%\r########################################## 59.2%\r########################################## 59.2%\r########################################## 59.2%\r########################################## 59.3%"]
+[19.556134, "o", "\r########################################## 59.3%"]
+[19.55915, "o", "\r########################################## 59.3%\r########################################## 59.4%\r########################################## 59.4%\r########################################## 59.4%\r########################################## 59.4%\r########################################## 59.5%\r########################################## 59.5%\r########################################## 59.5%"]
+[19.567966, "o", "\r########################################## 59.6%\r########################################## 59.6%\r########################################## 59.6%\r########################################## 59.7%\r########################################## 59.7%\r########################################## 59.7%\r########################################### 59.7%\r########################################### 59.8%\r########################################### 59.8%"]
+[19.576567, "o", "\r########################################### 59.8%\r########################################### 59.9%\r########################################### 59.9%\r########################################### 59.9%\r########################################### 59.9%\r########################################### 60.0%\r########################################### 60.0%\r########################################### 60.0%"]
+[19.580576, "o", "\r########################################### 60.1%"]
+[19.585239, "o", "\r########################################### 60.1%\r########################################### 60.1%\r########################################### 60.2%\r########################################### 60.2%\r########################################### 60.2%\r########################################### 60.2%\r########################################### 60.3%\r########################################### 60.3%"]
+[19.589166, "o", "\r########################################### 60.3%"]
+[19.59404, "o", "\r########################################### 60.4%\r########################################### 60.4%\r########################################### 60.4%\r########################################### 60.5%\r########################################### 60.5%\r########################################### 60.5%\r########################################### 60.5%\r########################################### 60.6%"]
+[19.597769, "o", "\r########################################### 60.6%"]
+[19.602609, "o", "\r########################################### 60.6%\r########################################### 60.7%\r########################################### 60.7%\r########################################### 60.7%\r########################################### 60.7%\r########################################### 60.8%\r########################################### 60.8%\r########################################### 60.8%"]
+[19.606364, "o", "\r########################################### 60.9%"]
+[19.611228, "o", "\r########################################### 60.9%\r########################################### 60.9%\r########################################### 61.0%\r########################################### 61.0%\r########################################### 61.0%\r########################################### 61.0%\r########################################### 61.1%\r########################################### 61.1%"]
+[19.615033, "o", "\r############################################ 61.1%"]
+[19.618943, "o", "\r############################################ 61.2%"]
+[19.620108, "o", "\r############################################ 61.2%\r############################################ 61.2%\r############################################ 61.3%\r############################################ 61.3%\r############################################ 61.3%\r############################################ 61.3%\r############################################ 61.4%"]
+[19.623697, "o", "\r############################################ 61.4%"]
+[19.627545, "o", "\r############################################ 61.4%"]
+[19.628738, "o", "\r############################################ 61.5%\r############################################ 61.5%\r############################################ 61.5%\r############################################ 61.5%\r############################################ 61.6%\r############################################ 61.6%\r############################################ 61.6%"]
+[19.63233, "o", "\r############################################ 61.7%"]
+[19.636167, "o", "\r############################################ 61.7%"]
+[19.637507, "o", "\r############################################ 61.7%\r############################################ 61.8%\r############################################ 61.8%\r############################################ 61.8%\r############################################ 61.8%\r############################################ 61.9%\r############################################ 61.9%\r############################################ 61.9%"]
+[19.64481, "o", "\r############################################ 62.0%"]
+[19.646241, "o", "\r############################################ 62.0%\r############################################ 62.0%\r############################################ 62.1%\r############################################ 62.1%\r############################################ 62.1%\r############################################ 62.1%\r############################################ 62.2%\r############################################ 62.2%"]
+[19.654588, "o", "\r############################################ 62.2%\r############################################ 62.3%\r############################################ 62.3%\r############################################ 62.3%\r############################################ 62.3%\r############################################ 62.4%\r############################################ 62.4%\r############################################ 62.4%"]
+[19.681866, "o", "\r############################################ 62.5%\r############################################ 62.5%\r############################################# 62.5%\r############################################# 62.6%\r############################################# 62.6%\r############################################# 62.6%\r############################################# 62.6%\r############################################# 62.7%\r############################################# 62.7%\r############################################# 62.7%\r############################################# 62.8%\r############################################# 62.8%\r############################################# 62.8%\r############################################# 62.9%\r############################################# 62.9%\r############################################# 62.9%\r############################################# 62.9%\r############################################# 63.0%\r############################################# 63.0%"]
+[19.688232, "o", "\r############################################# 63.0%\r############################################# 63.1%"]
+[19.689231, "o", "\r############################################# 63.1%\r############################################# 63.1%\r############################################# 63.1%\r############################################# 63.2%\r############################################# 63.2%"]
+[19.697735, "o", "\r############################################# 63.2%\r############################################# 63.3%\r############################################# 63.3%\r############################################# 63.3%\r############################################# 63.4%\r############################################# 63.4%"]
+[19.70533, "o", "\r############################################# 63.4%"]
+[19.706413, "o", "\r############################################# 63.4%\r############################################# 63.5%\r############################################# 63.5%\r############################################# 63.5%\r############################################# 63.6%"]
+[19.723961, "o", "\r############################################# 63.6%\r############################################# 63.6%\r############################################# 63.7%\r############################################# 63.7%\r############################################# 63.7%\r############################################# 63.7%\r############################################# 63.8%\r############################################# 63.8%\r############################################# 63.8%\r############################################# 63.9%\r############################################## 63.9%"]
+[19.731534, "o", "\r############################################## 63.9%"]
+[19.73242, "o", "\r############################################## 63.9%\r############################################## 64.0%\r############################################## 64.0%"]
+[19.740119, "o", "\r############################################## 64.0%"]
+[19.741025, "o", "\r############################################## 64.1%\r############################################## 64.1%\r############################################## 64.1%\r############################################## 64.2%"]
+[19.748694, "o", "\r############################################## 64.2%"]
+[19.749714, "o", "\r############################################## 64.2%\r############################################## 64.2%\r############################################## 64.3%\r############################################## 64.3%"]
+[19.758463, "o", "\r############################################## 64.3%\r############################################## 64.4%\r############################################## 64.4%\r############################################## 64.4%"]
+[19.767144, "o", "\r############################################## 64.5%\r############################################## 64.5%\r############################################## 64.5%\r############################################## 64.5%\r############################################## 64.6%"]
+[19.775211, "o", "\r############################################## 64.6%"]
+[19.776091, "o", "\r############################################## 64.6%\r############################################## 64.7%\r############################################## 64.7%\r############################################## 64.7%"]
+[19.784471, "o", "\r############################################## 64.7%\r############################################## 64.8%\r############################################## 64.8%\r############################################## 64.8%"]
+[19.791402, "o", "\r############################################## 64.9%"]
+[19.79313, "o", "\r############################################## 64.9%\r############################################## 64.9%\r############################################## 65.0%\r############################################## 65.0%"]
+[19.799994, "o", "\r############################################## 65.0%"]
+[19.80176, "o", "\r############################################## 65.0%\r############################################## 65.1%\r############################################## 65.1%\r############################################## 65.1%"]
+[19.809678, "o", "\r############################################## 65.2%"]
+[19.810717, "o", "\r############################################## 65.2%\r############################################## 65.2%\r############################################## 65.3%\r############################################### 65.3%"]
+[19.818354, "o", "\r############################################### 65.3%"]
+[19.819246, "o", "\r############################################### 65.3%\r############################################### 65.4%\r############################################### 65.4%\r############################################### 65.4%"]
+[19.826977, "o", "\r############################################### 65.5%"]
+[19.827799, "o", "\r############################################### 65.5%\r############################################### 65.5%\r############################################### 65.5%\r############################################### 65.6%"]
+[19.835598, "o", "\r############################################### 65.6%"]
+[19.836519, "o", "\r############################################### 65.6%\r############################################### 65.7%\r############################################### 65.7%\r############################################### 65.7%"]
+[19.844193, "o", "\r############################################### 65.8%"]
+[19.845082, "o", "\r############################################### 65.8%\r############################################### 65.8%\r############################################### 65.8%\r############################################### 65.9%"]
+[19.853939, "o", "\r############################################### 65.9%\r############################################### 65.9%\r############################################### 66.0%\r############################################### 66.0%\r############################################### 66.0%"]
+[19.860311, "o", "\r############################################### 66.1%"]
+[19.8624, "o", "\r############################################### 66.1%\r############################################### 66.1%\r############################################### 66.1%\r############################################### 66.2%"]
+[19.868946, "o", "\r############################################### 66.2%"]
+[19.871265, "o", "\r############################################### 66.2%\r############################################### 66.3%\r############################################### 66.3%\r############################################### 66.3%\r############################################### 66.3%"]
+[19.879262, "o", "\r############################################### 66.4%"]
+[19.880078, "o", "\r############################################### 66.4%\r############################################### 66.4%\r############################################### 66.5%\r############################################### 66.5%"]
+[19.887834, "o", "\r############################################### 66.5%"]
+[19.888796, "o", "\r############################################### 66.6%\r############################################### 66.6%\r############################################### 66.6%\r############################################### 66.6%"]
+[19.896463, "o", "\r################################################ 66.7%"]
+[19.897434, "o", "\r################################################ 66.7%\r################################################ 66.7%\r################################################ 66.8%\r################################################ 66.8%"]
+[19.903575, "o", "\r################################################ 66.8%"]
+[19.906093, "o", "\r################################################ 66.9%\r################################################ 66.9%\r################################################ 66.9%\r################################################ 66.9%\r################################################ 67.0%"]
+[19.914704, "o", "\r################################################ 67.0%\r################################################ 67.0%\r################################################ 67.1%\r################################################ 67.1%\r################################################ 67.1%"]
+[19.92091, "o", "\r################################################ 67.2%"]
+[19.923423, "o", "\r################################################ 67.2%\r################################################ 67.2%\r################################################ 67.2%\r################################################ 67.3%\r################################################ 67.3%"]
+[19.931272, "o", "\r################################################ 67.3%"]
+[19.932083, "o", "\r################################################ 67.4%\r################################################ 67.4%\r################################################ 67.4%\r################################################ 67.4%"]
+[19.938278, "o", "\r################################################ 67.5%"]
+[19.940656, "o", "\r################################################ 67.5%\r################################################ 67.5%\r################################################ 67.6%\r################################################ 67.6%\r################################################ 67.6%"]
+[19.948526, "o", "\r################################################ 67.7%"]
+[19.949548, "o", "\r################################################ 67.7%\r################################################ 67.7%\r################################################ 67.7%\r################################################ 67.8%\r################################################ 67.8%"]
+[19.95827, "o", "\r################################################ 67.8%\r################################################ 67.9%\r################################################ 67.9%\r################################################ 67.9%\r################################################ 68.0%"]
+[19.964157, "o", "\r################################################ 68.0%"]
+[19.966932, "o", "\r################################################ 68.0%\r################################################ 68.0%\r################################################# 68.1%\r################################################# 68.1%\r################################################# 68.1%"]
+[19.974711, "o", "\r################################################# 68.2%"]
+[19.97578, "o", "\r################################################# 68.2%\r################################################# 68.2%\r################################################# 68.2%\r################################################# 68.3%\r################################################# 68.3%"]
+[19.983317, "o", "\r################################################# 68.3%"]
+[19.984153, "o", "\r################################################# 68.4%\r################################################# 68.4%\r################################################# 68.4%\r################################################# 68.5%"]
+[19.990266, "o", "\r################################################# 68.5%"]
+[19.992826, "o", "\r################################################# 68.5%\r################################################# 68.5%\r################################################# 68.6%\r################################################# 68.6%\r################################################# 68.6%"]
+[19.998911, "o", "\r################################################# 68.7%"]
+[20.001005, "o", "\r################################################# 68.7%"]
+[20.001791, "o", "\r################################################# 68.7%\r################################################# 68.8%\r################################################# 68.8%\r################################################# 68.8%"]
+[20.010352, "o", "\r################################################# 68.8%\r################################################# 68.9%\r################################################# 68.9%\r################################################# 68.9%\r################################################# 69.0%\r################################################# 69.0%"]
+[20.01897, "o", "\r################################################# 69.0%\r################################################# 69.0%\r################################################# 69.1%\r################################################# 69.1%\r################################################# 69.1%\r################################################# 69.2%"]
+[20.027647, "o", "\r################################################# 69.2%\r################################################# 69.2%\r################################################# 69.3%\r################################################# 69.3%\r################################################# 69.3%\r################################################# 69.3%"]
+[20.036365, "o", "\r################################################# 69.4%\r################################################# 69.4%\r################################################# 69.4%\r################################################## 69.5%\r################################################## 69.5%\r################################################## 69.5%"]
+[20.04491, "o", "\r################################################## 69.6%\r################################################## 69.6%\r################################################## 69.6%\r################################################## 69.6%\r################################################## 69.7%\r################################################## 69.7%"]
+[20.053602, "o", "\r################################################## 69.7%\r################################################## 69.8%\r################################################## 69.8%\r################################################## 69.8%\r################################################## 69.8%\r################################################## 69.9%"]
+[20.061695, "o", "\r################################################## 69.9%\r################################################## 69.9%"]
+[20.062557, "o", "\r################################################## 70.0%\r################################################## 70.0%\r################################################## 70.0%\r################################################## 70.1%"]
+[20.070752, "o", "\r################################################## 70.1%\r################################################## 70.1%\r################################################## 70.1%\r################################################## 70.2%\r################################################## 70.2%\r################################################## 70.2%"]
+[20.076258, "o", "\r################################################## 70.3%"]
+[20.078764, "o", "\r################################################## 70.3%"]
+[20.07969, "o", "\r################################################## 70.3%\r################################################## 70.4%\r################################################## 70.4%\r################################################## 70.4%\r################################################## 70.4%"]
+[20.087451, "o", "\r################################################## 70.5%"]
+[20.088354, "o", "\r################################################## 70.5%\r################################################## 70.5%\r################################################## 70.6%\r################################################## 70.6%\r################################################## 70.6%"]
+[20.095977, "o", "\r################################################## 70.6%"]
+[20.09702, "o", "\r################################################## 70.7%\r################################################## 70.7%\r################################################## 70.7%\r################################################## 70.8%\r################################################## 70.8%"]
+[20.102049, "o", "\r################################################## 70.8%"]
+[20.105039, "o", "\r################################################### 70.9%"]
+[20.105872, "o", "\r################################################### 70.9%\r################################################### 70.9%\r################################################### 70.9%\r################################################### 71.0%\r################################################### 71.0%"]
+[20.113175, "o", "\r################################################### 71.0%"]
+[20.113602, "o", "\r################################################### 71.1%"]
+[20.114434, "o", "\r################################################### 71.1%\r################################################### 71.1%\r################################################### 71.2%\r################################################### 71.2%"]
+[20.119432, "o", "\r################################################### 71.2%"]
+[20.12224, "o", "\r################################################### 71.2%"]
+[20.123166, "o", "\r################################################### 71.3%\r################################################### 71.3%\r################################################### 71.3%\r################################################### 71.4%\r################################################### 71.4%"]
+[20.130879, "o", "\r################################################### 71.4%"]
+[20.131833, "o", "\r################################################### 71.4%\r################################################### 71.5%\r################################################### 71.5%\r################################################### 71.5%\r################################################### 71.6%"]
+[20.136942, "o", "\r################################################### 71.6%"]
+[20.140666, "o", "\r################################################### 71.6%\r################################################### 71.7%\r################################################### 71.7%\r################################################### 71.7%\r################################################### 71.7%\r################################################### 71.8%"]
+[20.149247, "o", "\r################################################### 71.8%\r################################################### 71.8%\r################################################### 71.9%\r################################################### 71.9%\r################################################### 71.9%\r################################################### 72.0%"]
+[20.154151, "o", "\r################################################### 72.0%"]
+[20.157999, "o", "\r################################################### 72.0%\r################################################### 72.0%\r################################################### 72.1%\r################################################### 72.1%\r################################################### 72.1%\r################################################### 72.2%"]
+[20.162763, "o", "\r################################################### 72.2%"]
+[20.166543, "o", "\r################################################### 72.2%\r#################################################### 72.2%\r#################################################### 72.3%\r#################################################### 72.3%\r#################################################### 72.3%\r#################################################### 72.4%"]
+[20.175198, "o", "\r#################################################### 72.4%\r#################################################### 72.4%\r#################################################### 72.5%\r#################################################### 72.5%\r#################################################### 72.5%\r#################################################### 72.5%"]
+[20.180007, "o", "\r#################################################### 72.6%"]
+[20.183769, "o", "\r#################################################### 72.6%\r#################################################### 72.6%\r#################################################### 72.7%\r#################################################### 72.7%\r#################################################### 72.7%\r#################################################### 72.8%"]
+[20.192502, "o", "\r#################################################### 72.8%\r#################################################### 72.8%\r#################################################### 72.8%\r#################################################### 72.9%\r#################################################### 72.9%\r#################################################### 72.9%\r#################################################### 73.0%"]
+[20.201479, "o", "\r#################################################### 73.0%\r#################################################### 73.0%\r#################################################### 73.0%\r#################################################### 73.1%\r#################################################### 73.1%\r#################################################### 73.1%\r#################################################### 73.2%"]
+[20.210036, "o", "\r#################################################### 73.2%\r#################################################### 73.2%\r#################################################### 73.3%\r#################################################### 73.3%\r#################################################### 73.3%\r#################################################### 73.3%\r#################################################### 73.4%"]
+[20.218702, "o", "\r#################################################### 73.4%\r#################################################### 73.4%\r#################################################### 73.5%\r#################################################### 73.5%\r#################################################### 73.5%\r#################################################### 73.6%\r#################################################### 73.6%"]
+[20.226438, "o", "\r#################################################### 73.6%"]
+[20.22754, "o", "\r##################################################### 73.6%\r##################################################### 73.7%\r##################################################### 73.7%\r##################################################### 73.7%\r##################################################### 73.8%\r##################################################### 73.8%"]
+[20.235045, "o", "\r##################################################### 73.8%"]
+[20.236181, "o", "\r##################################################### 73.8%\r##################################################### 73.9%\r##################################################### 73.9%\r##################################################### 73.9%\r##################################################### 74.0%\r##################################################### 74.0%"]
+[20.243633, "o", "\r##################################################### 74.0%"]
+[20.244802, "o", "\r##################################################### 74.1%\r##################################################### 74.1%\r##################################################### 74.1%\r##################################################### 74.1%\r##################################################### 74.2%\r##################################################### 74.2%"]
+[20.248727, "o", "\r##################################################### 74.2%"]
+[20.253471, "o", "\r##################################################### 74.3%\r##################################################### 74.3%\r##################################################### 74.3%\r##################################################### 74.4%\r##################################################### 74.4%\r##################################################### 74.4%"]
+[20.257315, "o", "\r##################################################### 74.4%"]
+[20.260925, "o", "\r##################################################### 74.5%"]
+[20.262056, "o", "\r##################################################### 74.5%\r##################################################### 74.5%\r##################################################### 74.6%\r##################################################### 74.6%\r##################################################### 74.6%\r##################################################### 74.6%"]
+[20.269563, "o", "\r##################################################### 74.7%"]
+[20.270691, "o", "\r##################################################### 74.7%\r##################################################### 74.7%\r##################################################### 74.8%\r##################################################### 74.8%\r##################################################### 74.8%\r##################################################### 74.9%"]
+[20.278182, "o", "\r##################################################### 74.9%"]
+[20.279388, "o", "\r##################################################### 74.9%\r##################################################### 74.9%\r##################################################### 75.0%\r###################################################### 75.0%\r###################################################### 75.0%\r###################################################### 75.1%"]
+[20.286791, "o", "\r###################################################### 75.1%"]
+[20.288024, "o", "\r###################################################### 75.1%\r###################################################### 75.2%\r###################################################### 75.2%\r###################################################### 75.2%\r###################################################### 75.2%\r###################################################### 75.3%\r###################################################### 75.3%"]
+[20.296753, "o", "\r###################################################### 75.3%\r###################################################### 75.4%\r###################################################### 75.4%\r###################################################### 75.4%\r###################################################### 75.4%\r###################################################### 75.5%\r###################################################### 75.5%"]
+[20.304068, "o", "\r###################################################### 75.5%"]
+[20.305292, "o", "\r###################################################### 75.6%\r###################################################### 75.6%\r###################################################### 75.6%\r###################################################### 75.7%\r###################################################### 75.7%\r###################################################### 75.7%"]
+[20.312687, "o", "\r###################################################### 75.7%"]
+[20.313912, "o", "\r###################################################### 75.8%\r###################################################### 75.8%\r###################################################### 75.8%\r###################################################### 75.9%\r###################################################### 75.9%\r###################################################### 75.9%\r###################################################### 76.0%"]
+[20.32136, "o", "\r###################################################### 76.0%"]
+[20.322674, "o", "\r###################################################### 76.0%\r###################################################### 76.0%\r###################################################### 76.1%\r###################################################### 76.1%\r###################################################### 76.1%\r###################################################### 76.2%\r###################################################### 76.2%"]
+[20.330519, "o", "\r###################################################### 76.2%\r###################################################### 76.2%"]
+[20.331505, "o", "\r###################################################### 76.3%\r###################################################### 76.3%\r###################################################### 76.3%\r###################################################### 76.4%\r####################################################### 76.4%"]
+[20.338558, "o", "\r####################################################### 76.4%"]
+[20.339196, "o", "\r####################################################### 76.5%\r####################################################### 76.5%"]
+[20.340201, "o", "\r####################################################### 76.5%\r####################################################### 76.5%\r####################################################### 76.6%\r####################################################### 76.6%\r####################################################### 76.6%"]
+[20.347768, "o", "\r####################################################### 76.7%\r####################################################### 76.7%"]
+[20.348741, "o", "\r####################################################### 76.7%\r####################################################### 76.8%\r####################################################### 76.8%\r####################################################### 76.8%\r####################################################### 76.8%"]
+[20.355746, "o", "\r####################################################### 76.9%"]
+[20.356247, "o", "\r####################################################### 76.9%"]
+[20.357432, "o", "\r####################################################### 76.9%\r####################################################### 77.0%\r####################################################### 77.0%\r####################################################### 77.0%\r####################################################### 77.0%\r####################################################### 77.1%"]
+[20.364332, "o", "\r####################################################### 77.1%"]
+[20.365333, "o", "\r####################################################### 77.1%\r####################################################### 77.2%"]
+[20.366267, "o", "\r####################################################### 77.2%\r####################################################### 77.2%\r####################################################### 77.3%\r####################################################### 77.3%\r####################################################### 77.3%"]
+[20.373943, "o", "\r####################################################### 77.3%\r####################################################### 77.4%"]
+[20.374948, "o", "\r####################################################### 77.4%\r####################################################### 77.4%\r####################################################### 77.5%\r####################################################### 77.5%\r####################################################### 77.5%"]
+[20.381608, "o", "\r####################################################### 77.6%"]
+[20.383432, "o", "\r####################################################### 77.6%\r####################################################### 77.6%\r####################################################### 77.6%\r####################################################### 77.7%\r####################################################### 77.7%\r####################################################### 77.7%\r####################################################### 77.8%"]
+[20.390184, "o", "\r######################################################## 77.8%"]
+[20.391184, "o", "\r######################################################## 77.8%"]
+[20.392129, "o", "\r######################################################## 77.8%\r######################################################## 77.9%\r######################################################## 77.9%\r######################################################## 77.9%\r######################################################## 78.0%"]
+[20.398766, "o", "\r######################################################## 78.0%"]
+[20.400888, "o", "\r######################################################## 78.0%\r######################################################## 78.1%\r######################################################## 78.1%\r######################################################## 78.1%\r######################################################## 78.1%\r######################################################## 78.2%\r######################################################## 78.2%"]
+[20.407378, "o", "\r######################################################## 78.2%"]
+[20.409611, "o", "\r######################################################## 78.3%\r######################################################## 78.3%\r######################################################## 78.3%\r######################################################## 78.4%\r######################################################## 78.4%\r######################################################## 78.4%\r######################################################## 78.4%"]
+[20.415997, "o", "\r######################################################## 78.5%"]
+[20.418256, "o", "\r######################################################## 78.5%\r######################################################## 78.5%\r######################################################## 78.6%\r######################################################## 78.6%\r######################################################## 78.6%\r######################################################## 78.6%\r######################################################## 78.7%"]
+[20.424613, "o", "\r######################################################## 78.7%"]
+[20.427286, "o", "\r######################################################## 78.7%\r######################################################## 78.8%\r######################################################## 78.8%\r######################################################## 78.8%\r######################################################## 78.9%\r######################################################## 78.9%\r######################################################## 78.9%"]
+[20.433233, "o", "\r######################################################## 78.9%"]
+[20.435712, "o", "\r######################################################## 79.0%\r######################################################## 79.0%\r######################################################## 79.0%\r######################################################## 79.1%\r######################################################## 79.1%\r######################################################## 79.1%\r######################################################## 79.2%\r######################################################### 79.2%"]
+[20.444461, "o", "\r######################################################### 79.2%\r######################################################### 79.2%\r######################################################### 79.3%\r######################################################### 79.3%\r######################################################### 79.3%\r######################################################### 79.4%\r######################################################### 79.4%\r######################################################### 79.4%"]
+[20.45316, "o", "\r######################################################### 79.4%\r######################################################### 79.5%\r######################################################### 79.5%\r######################################################### 79.5%\r######################################################### 79.6%\r######################################################### 79.6%\r######################################################### 79.6%\r######################################################### 79.7%"]
+[20.461818, "o", "\r######################################################### 79.7%\r######################################################### 79.7%\r######################################################### 79.7%\r######################################################### 79.8%\r######################################################### 79.8%\r######################################################### 79.8%\r######################################################### 79.9%\r######################################################### 79.9%"]
+[20.467807, "o", "\r######################################################### 79.9%"]
+[20.469385, "o", "\r######################################################### 80.0%"]
+[20.470499, "o", "\r######################################################### 80.0%\r######################################################### 80.0%\r######################################################### 80.0%\r######################################################### 80.1%\r######################################################### 80.1%\r######################################################### 80.1%"]
+[20.476411, "o", "\r######################################################### 80.2%"]
+[20.47801, "o", "\r######################################################### 80.2%"]
+[20.479204, "o", "\r######################################################### 80.2%\r######################################################### 80.2%\r######################################################### 80.3%\r######################################################### 80.3%\r######################################################### 80.3%\r######################################################### 80.4%\r######################################################### 80.4%"]
+[20.486628, "o", "\r######################################################### 80.4%"]
+[20.48783, "o", "\r######################################################### 80.5%\r######################################################### 80.5%\r######################################################### 80.5%\r######################################################### 80.5%\r########################################################## 80.6%\r########################################################## 80.6%\r########################################################## 80.6%"]
+[20.495359, "o", "\r########################################################## 80.7%\r########################################################## 80.7%"]
+[20.496578, "o", "\r########################################################## 80.7%\r########################################################## 80.8%\r########################################################## 80.8%\r########################################################## 80.8%\r########################################################## 80.8%\r########################################################## 80.9%"]
+[20.502309, "o", "\r########################################################## 80.9%"]
+[20.503887, "o", "\r########################################################## 80.9%"]
+[20.505152, "o", "\r########################################################## 81.0%\r########################################################## 81.0%\r########################################################## 81.0%\r########################################################## 81.0%\r########################################################## 81.1%\r########################################################## 81.1%\r########################################################## 81.1%"]
+[20.512499, "o", "\r########################################################## 81.2%"]
+[20.51374, "o", "\r########################################################## 81.2%\r########################################################## 81.2%\r########################################################## 81.3%\r########################################################## 81.3%\r########################################################## 81.3%\r########################################################## 81.3%\r########################################################## 81.4%"]
+[20.519547, "o", "\r########################################################## 81.4%"]
+[20.521123, "o", "\r########################################################## 81.4%"]
+[20.522677, "o", "\r########################################################## 81.5%\r########################################################## 81.5%\r########################################################## 81.5%\r########################################################## 81.6%\r########################################################## 81.6%\r########################################################## 81.6%\r########################################################## 81.6%"]
+[20.528141, "o", "\r########################################################## 81.7%"]
+[20.531379, "o", "\r########################################################## 81.7%\r########################################################## 81.7%\r########################################################## 81.8%\r########################################################## 81.8%\r########################################################## 81.8%\r########################################################## 81.8%\r########################################################## 81.9%\r########################################################## 81.9%"]
+[20.543168, "o", "\r########################################################## 81.9%\r########################################################### 82.0%\r########################################################### 82.0%\r########################################################### 82.0%\r########################################################### 82.1%\r########################################################### 82.1%\r########################################################### 82.1%\r########################################################### 82.1%"]
+[20.545787, "o", "\r########################################################### 82.2%"]
+[20.551063, "o", "\r########################################################### 82.2%\r########################################################### 82.2%\r########################################################### 82.3%\r########################################################### 82.3%\r########################################################### 82.3%\r########################################################### 82.4%\r########################################################### 82.4%"]
+[20.554201, "o", "\r########################################################### 82.4%"]
+[20.559678, "o", "\r########################################################### 82.4%\r########################################################### 82.5%\r########################################################### 82.5%\r########################################################### 82.5%\r########################################################### 82.6%\r########################################################### 82.6%\r########################################################### 82.6%"]
+[20.563224, "o", "\r########################################################### 82.6%\r########################################################### 82.7%"]
+[20.568285, "o", "\r########################################################### 82.7%\r########################################################### 82.7%\r########################################################### 82.8%\r########################################################### 82.8%\r########################################################### 82.8%\r########################################################### 82.9%"]
+[20.572016, "o", "\r########################################################### 82.9%\r########################################################### 82.9%\r########################################################### 82.9%"]
+[20.576811, "o", "\r########################################################### 83.0%\r########################################################### 83.0%\r########################################################### 83.0%\r########################################################### 83.1%\r########################################################### 83.1%"]
+[20.580841, "o", "\r########################################################### 83.1%\r########################################################### 83.2%\r########################################################### 83.2%\r########################################################### 83.2%"]
+[20.585397, "o", "\r########################################################### 83.2%\r########################################################### 83.3%\r########################################################### 83.3%\r########################################################### 83.3%"]
+[20.589755, "o", "\r############################################################ 83.4%\r############################################################ 83.4%\r############################################################ 83.4%\r############################################################ 83.4%\r############################################################ 83.5%"]
+[20.593779, "o", "\r############################################################ 83.5%\r############################################################ 83.5%"]
+[20.598739, "o", "\r############################################################ 83.6%\r############################################################ 83.6%\r############################################################ 83.6%\r############################################################ 83.7%\r############################################################ 83.7%\r############################################################ 83.7%\r############################################################ 83.7%"]
+[20.602328, "o", "\r############################################################ 83.8%"]
+[20.607216, "o", "\r############################################################ 83.8%\r############################################################ 83.8%\r############################################################ 83.9%\r############################################################ 83.9%\r############################################################ 83.9%"]
+[20.619788, "o", "\r############################################################ 84.0%\r############################################################ 84.0%"]
+[20.625097, "o", "\r############################################################ 84.0%\r############################################################ 84.0%\r############################################################ 84.1%\r############################################################ 84.1%\r############################################################ 84.1%\r############################################################ 84.2%\r############################################################ 84.2%\r############################################################ 84.2%\r############################################################ 84.2%"]
+[20.628362, "o", "\r############################################################ 84.3%\r############################################################ 84.3%"]
+[20.633181, "o", "\r############################################################ 84.3%\r############################################################ 84.4%\r############################################################ 84.4%\r############################################################ 84.4%"]
+[20.638992, "o", "\r############################################################ 84.5%\r############################################################ 84.5%"]
+[20.641775, "o", "\r############################################################ 84.5%\r############################################################ 84.5%\r############################################################ 84.6%\r############################################################ 84.6%\r############################################################ 84.6%"]
+[20.647404, "o", "\r############################################################ 84.7%"]
+[20.649755, "o", "\r############################################################ 84.7%"]
+[20.650708, "o", "\r############################################################# 84.7%\r############################################################# 84.8%\r############################################################# 84.8%\r############################################################# 84.8%"]
+[20.65617, "o", "\r############################################################# 84.8%\r############################################################# 84.9%"]
+[20.658364, "o", "\r############################################################# 84.9%"]
+[20.659267, "o", "\r############################################################# 84.9%\r############################################################# 85.0%\r############################################################# 85.0%\r############################################################# 85.0%"]
+[20.664662, "o", "\r############################################################# 85.0%"]
+[20.666993, "o", "\r############################################################# 85.1%"]
+[20.667959, "o", "\r############################################################# 85.1%\r############################################################# 85.1%\r############################################################# 85.2%\r############################################################# 85.2%"]
+[20.673296, "o", "\r############################################################# 85.2%"]
+[20.675601, "o", "\r############################################################# 85.3%"]
+[20.676775, "o", "\r############################################################# 85.3%\r############################################################# 85.3%\r############################################################# 85.3%\r############################################################# 85.4%\r############################################################# 85.4%"]
+[20.682068, "o", "\r############################################################# 85.4%"]
+[20.685472, "o", "\r############################################################# 85.5%\r############################################################# 85.5%\r############################################################# 85.5%\r############################################################# 85.6%\r############################################################# 85.6%"]
+[20.690721, "o", "\r############################################################# 85.6%"]
+[20.694298, "o", "\r############################################################# 85.6%\r############################################################# 85.7%\r############################################################# 85.7%\r############################################################# 85.7%\r############################################################# 85.8%\r############################################################# 85.8%"]
+[20.699342, "o", "\r############################################################# 85.8%"]
+[20.703017, "o", "\r############################################################# 85.8%\r############################################################# 85.9%\r############################################################# 85.9%\r############################################################# 85.9%\r############################################################# 86.0%\r############################################################# 86.0%"]
+[20.711744, "o", "\r############################################################# 86.0%\r############################################################# 86.1%\r############################################################# 86.1%\r############################################################## 86.1%\r############################################################## 86.1%\r############################################################## 86.2%"]
+[20.716628, "o", "\r############################################################## 86.2%"]
+[20.72039, "o", "\r############################################################## 86.2%\r############################################################## 86.3%\r############################################################## 86.3%\r############################################################## 86.3%\r############################################################## 86.4%\r############################################################## 86.4%"]
+[20.725233, "o", "\r############################################################## 86.4%"]
+[20.729093, "o", "\r############################################################## 86.4%\r############################################################## 86.5%\r############################################################## 86.5%\r############################################################## 86.5%\r############################################################## 86.6%"]
+[20.733875, "o", "\r############################################################## 86.6%"]
+[20.736682, "o", "\r############################################################## 86.6%"]
+[20.73767, "o", "\r############################################################## 86.6%\r############################################################## 86.7%\r############################################################## 86.7%\r############################################################## 86.7%\r############################################################## 86.8%"]
+[20.742513, "o", "\r############################################################## 86.8%"]
+[20.745321, "o", "\r############################################################## 86.8%"]
+[20.746392, "o", "\r############################################################## 86.9%\r############################################################## 86.9%\r############################################################## 86.9%\r############################################################## 86.9%\r############################################################## 87.0%"]
+[20.751095, "o", "\r############################################################## 87.0%"]
+[20.75518, "o", "\r############################################################## 87.0%\r############################################################## 87.1%\r############################################################## 87.1%\r############################################################## 87.1%\r############################################################## 87.2%\r############################################################## 87.2%"]
+[20.762605, "o", "\r############################################################## 87.2%"]
+[20.76376, "o", "\r############################################################## 87.2%\r############################################################## 87.3%\r############################################################## 87.3%\r############################################################## 87.3%\r############################################################## 87.4%\r############################################################## 87.4%"]
+[20.771246, "o", "\r############################################################## 87.4%"]
+[20.772596, "o", "\r############################################################## 87.4%\r############################################################## 87.5%\r############################################################### 87.5%\r############################################################### 87.5%\r############################################################### 87.6%\r############################################################### 87.6%"]
+[20.779875, "o", "\r############################################################### 87.6%"]
+[20.78141, "o", "\r############################################################### 87.7%\r############################################################### 87.7%\r############################################################### 87.7%\r############################################################### 87.7%\r############################################################### 87.8%\r############################################################### 87.8%"]
+[20.790166, "o", "\r############################################################### 87.8%\r############################################################### 87.9%\r############################################################### 87.9%\r############################################################### 87.9%\r############################################################### 88.0%\r############################################################### 88.0%\r############################################################### 88.0%"]
+[20.798767, "o", "\r############################################################### 88.0%\r############################################################### 88.1%\r############################################################### 88.1%\r############################################################### 88.1%\r############################################################### 88.2%\r############################################################### 88.2%\r############################################################### 88.2%"]
+[20.805676, "o", "\r############################################################### 88.2%"]
+[20.80723, "o", "\r############################################################### 88.3%\r############################################################### 88.3%\r############################################################### 88.3%\r############################################################### 88.4%\r############################################################### 88.4%\r############################################################### 88.4%"]
+[20.822561, "o", "\r############################################################### 88.5%\r############################################################### 88.5%\r############################################################### 88.5%\r############################################################### 88.5%\r############################################################### 88.6%\r############################################################### 88.6%\r############################################################### 88.6%"]
+[20.83134, "o", "\r############################################################### 88.7%\r############################################################### 88.7%\r############################################################### 88.7%\r############################################################### 88.8%\r############################################################### 88.8%\r############################################################### 88.8%\r############################################################### 88.8%"]
+[20.839007, "o", "\r############################################################### 88.9%"]
+[20.840233, "o", "\r################################################################ 88.9%\r################################################################ 88.9%\r################################################################ 89.0%\r################################################################ 89.0%\r################################################################ 89.0%\r################################################################ 89.0%\r################################################################ 89.1%"]
+[20.84874, "o", "\r################################################################ 89.1%\r################################################################ 89.1%\r################################################################ 89.2%\r################################################################ 89.2%\r################################################################ 89.2%\r################################################################ 89.3%\r################################################################ 89.3%"]
+[20.857369, "o", "\r################################################################ 89.3%\r################################################################ 89.3%\r################################################################ 89.4%\r################################################################ 89.4%\r################################################################ 89.4%\r################################################################ 89.5%\r################################################################ 89.5%"]
+[20.864752, "o", "\r################################################################ 89.5%"]
+[20.866118, "o", "\r################################################################ 89.6%\r################################################################ 89.6%\r################################################################ 89.6%\r################################################################ 89.6%\r################################################################ 89.7%\r################################################################ 89.7%\r################################################################ 89.7%"]
+[20.874716, "o", "\r################################################################ 89.8%\r################################################################ 89.8%\r################################################################ 89.8%\r################################################################ 89.8%\r################################################################ 89.9%\r################################################################ 89.9%\r################################################################ 89.9%"]
+[20.882096, "o", "\r################################################################ 90.0%"]
+[20.883485, "o", "\r################################################################ 90.0%\r################################################################ 90.0%\r################################################################ 90.1%\r################################################################ 90.1%\r################################################################ 90.1%\r################################################################ 90.1%\r################################################################ 90.2%"]
+[20.892277, "o", "\r################################################################ 90.2%\r################################################################ 90.2%\r################################################################ 90.3%\r################################################################# 90.3%\r################################################################# 90.3%\r################################################################# 90.4%\r################################################################# 90.4%\r################################################################# 90.4%"]
+[20.900838, "o", "\r################################################################# 90.4%\r################################################################# 90.5%\r################################################################# 90.5%\r################################################################# 90.5%\r################################################################# 90.6%\r################################################################# 90.6%\r################################################################# 90.6%"]
+[20.907878, "o", "\r################################################################# 90.6%"]
+[20.909534, "o", "\r################################################################# 90.7%\r################################################################# 90.7%\r################################################################# 90.7%\r################################################################# 90.8%\r################################################################# 90.8%\r################################################################# 90.8%\r################################################################# 90.9%"]
+[20.918329, "o", "\r################################################################# 90.9%\r################################################################# 90.9%\r################################################################# 90.9%\r################################################################# 91.0%\r################################################################# 91.0%\r################################################################# 91.0%\r################################################################# 91.1%\r################################################################# 91.1%"]
+[20.926247, "o", "\r################################################################# 91.1%\r################################################################# 91.2%"]
+[20.943379, "o", "\r################################################################# 91.2%"]
+[20.951001, "o", "\r################################################################# 91.2%"]
+[20.951995, "o", "\r################################################################# 91.2%"]
+[20.959622, "o", "\r################################################################# 91.3%"]
+[20.960884, "o", "\r################################################################# 91.3%"]
+[20.968334, "o", "\r################################################################# 91.3%\r################################################################# 91.4%"]
+[20.969491, "o", "\r################################################################# 91.4%"]
+[20.977353, "o", "\r################################################################# 91.4%\r################################################################# 91.4%\r################################################################# 91.5%\r################################################################# 91.5%\r################################################################# 91.5%"]
+[20.978131, "o", "\r################################################################# 91.6%"]
+[20.985983, "o", "\r################################################################# 91.6%\r################################################################# 91.6%\r################################################################# 91.7%\r################################################################## 91.7%"]
+[20.986755, "o", "\r################################################################## 91.7%"]
+[20.994103, "o", "\r################################################################## 91.7%"]
+[20.994725, "o", "\r################################################################## 91.8%\r################################################################## 91.8%\r################################################################## 91.8%"]
+[20.99552, "o", "\r################################################################## 91.9%\r################################################################## 91.9%"]
+[21.003174, "o", "\r################################################################## 91.9%\r################################################################## 92.0%\r################################################################## 92.0%"]
+[21.00425, "o", "\r################################################################## 92.0%\r################################################################## 92.0%"]
+[21.011232, "o", "\r################################################################## 92.1%"]
+[21.012005, "o", "\r################################################################## 92.1%\r################################################################## 92.1%\r################################################################## 92.2%"]
+[21.012879, "o", "\r################################################################## 92.2%\r################################################################## 92.2%"]
+[21.02052, "o", "\r################################################################## 92.2%\r################################################################## 92.3%\r################################################################## 92.3%"]
+[21.021657, "o", "\r################################################################## 92.3%\r################################################################## 92.4%\r################################################################## 92.4%"]
+[21.029064, "o", "\r################################################################## 92.4%\r################################################################## 92.5%"]
+[21.030347, "o", "\r################################################################## 92.5%\r################################################################## 92.5%\r################################################################## 92.5%"]
+[21.037926, "o", "\r################################################################## 92.6%\r################################################################## 92.6%\r################################################################## 92.6%"]
+[21.038988, "o", "\r################################################################## 92.7%\r################################################################## 92.7%\r################################################################## 92.7%"]
+[21.046457, "o", "\r################################################################## 92.8%\r################################################################## 92.8%"]
+[21.047239, "o", "\r################################################################## 92.8%"]
+[21.047848, "o", "\r################################################################## 92.8%\r################################################################## 92.9%\r################################################################## 92.9%"]
+[21.055185, "o", "\r################################################################## 92.9%\r################################################################## 93.0%"]
+[21.056344, "o", "\r################################################################## 93.0%\r################################################################## 93.0%\r################################################################## 93.1%"]
+[21.062827, "o", "\r################################################################### 93.1%"]
+[21.063642, "o", "\r################################################################### 93.1%"]
+[21.064424, "o", "\r################################################################### 93.1%"]
+[21.065089, "o", "\r################################################################### 93.2%\r################################################################### 93.2%\r################################################################### 93.2%"]
+[21.072395, "o", "\r################################################################### 93.3%\r################################################################### 93.3%"]
+[21.073031, "o", "\r################################################################### 93.3%"]
+[21.073665, "o", "\r################################################################### 93.3%\r################################################################### 93.4%\r################################################################### 93.4%"]
+[21.080893, "o", "\r################################################################### 93.4%"]
+[21.081649, "o", "\r################################################################### 93.5%"]
+[21.08248, "o", "\r################################################################### 93.5%\r################################################################### 93.5%\r################################################################### 93.6%\r################################################################### 93.6%"]
+[21.089525, "o", "\r################################################################### 93.6%"]
+[21.090247, "o", "\r################################################################### 93.6%"]
+[21.091146, "o", "\r################################################################### 93.7%\r################################################################### 93.7%\r################################################################### 93.7%\r################################################################### 93.8%"]
+[21.098171, "o", "\r################################################################### 93.8%"]
+[21.099889, "o", "\r################################################################### 93.8%\r################################################################### 93.9%\r################################################################### 93.9%\r################################################################### 93.9%"]
+[21.105898, "o", "\r################################################################### 93.9%"]
+[21.107496, "o", "\r################################################################### 94.0%"]
+[21.108617, "o", "\r################################################################### 94.0%\r################################################################### 94.0%\r################################################################### 94.1%\r################################################################### 94.1%"]
+[21.114454, "o", "\r################################################################### 94.1%"]
+[21.116112, "o", "\r################################################################### 94.1%"]
+[21.117311, "o", "\r################################################################### 94.2%\r################################################################### 94.2%\r################################################################### 94.2%\r################################################################### 94.3%"]
+[21.12319, "o", "\r################################################################### 94.3%"]
+[21.124697, "o", "\r################################################################### 94.3%"]
+[21.126154, "o", "\r################################################################### 94.4%\r################################################################### 94.4%\r################################################################### 94.4%\r################################################################### 94.4%\r#################################################################### 94.5%"]
+[21.133333, "o", "\r#################################################################### 94.5%"]
+[21.134742, "o", "\r#################################################################### 94.5%\r#################################################################### 94.6%\r#################################################################### 94.6%\r#################################################################### 94.6%\r#################################################################### 94.7%"]
+[21.141977, "o", "\r#################################################################### 94.7%"]
+[21.14349, "o", "\r#################################################################### 94.7%\r#################################################################### 94.7%\r#################################################################### 94.8%\r#################################################################### 94.8%\r#################################################################### 94.8%"]
+[21.150574, "o", "\r#################################################################### 94.9%"]
+[21.151995, "o", "\r#################################################################### 94.9%\r#################################################################### 94.9%\r#################################################################### 94.9%\r#################################################################### 95.0%\r#################################################################### 95.0%"]
+[21.159185, "o", "\r#################################################################### 95.0%"]
+[21.160762, "o", "\r#################################################################### 95.1%\r#################################################################### 95.1%\r#################################################################### 95.1%\r#################################################################### 95.2%\r#################################################################### 95.2%"]
+[21.166437, "o", "\r#################################################################### 95.2%"]
+[21.169369, "o", "\r#################################################################### 95.2%\r#################################################################### 95.3%\r#################################################################### 95.3%\r#################################################################### 95.3%\r#################################################################### 95.4%"]
+[21.175032, "o", "\r#################################################################### 95.4%"]
+[21.178127, "o", "\r#################################################################### 95.4%\r#################################################################### 95.5%\r#################################################################### 95.5%\r#################################################################### 95.5%\r#################################################################### 95.5%\r#################################################################### 95.6%"]
+[21.18685, "o", "\r#################################################################### 95.6%\r#################################################################### 95.6%\r#################################################################### 95.7%\r#################################################################### 95.7%\r#################################################################### 95.7%\r#################################################################### 95.7%"]
+[21.192213, "o", "\r#################################################################### 95.8%"]
+[21.194756, "o", "\r#################################################################### 95.8%"]
+[21.195574, "o", "\r##################################################################### 95.8%\r##################################################################### 95.9%\r##################################################################### 95.9%\r##################################################################### 95.9%"]
+[21.200844, "o", "\r##################################################################### 96.0%"]
+[21.203391, "o", "\r##################################################################### 96.0%"]
+[21.204349, "o", "\r##################################################################### 96.0%\r##################################################################### 96.0%\r##################################################################### 96.1%\r##################################################################### 96.1%\r##################################################################### 96.1%"]
+[21.212013, "o", "\r##################################################################### 96.2%"]
+[21.212969, "o", "\r##################################################################### 96.2%\r##################################################################### 96.2%\r##################################################################### 96.3%\r##################################################################### 96.3%\r##################################################################### 96.3%"]
+[21.218069, "o", "\r##################################################################### 96.3%"]
+[21.220611, "o", "\r##################################################################### 96.4%"]
+[21.221698, "o", "\r##################################################################### 96.4%\r##################################################################### 96.4%\r##################################################################### 96.5%\r##################################################################### 96.5%\r##################################################################### 96.5%"]
+[21.229234, "o", "\r##################################################################### 96.5%"]
+[21.230262, "o", "\r##################################################################### 96.6%\r##################################################################### 96.6%\r##################################################################### 96.6%\r##################################################################### 96.7%\r##################################################################### 96.7%"]
+[21.235339, "o", "\r##################################################################### 96.7%"]
+[21.237871, "o", "\r##################################################################### 96.8%"]
+[21.238992, "o", "\r##################################################################### 96.8%\r##################################################################### 96.8%\r##################################################################### 96.8%\r##################################################################### 96.9%\r##################################################################### 96.9%"]
+[21.246517, "o", "\r##################################################################### 96.9%"]
+[21.247791, "o", "\r##################################################################### 97.0%\r##################################################################### 97.0%\r##################################################################### 97.0%\r##################################################################### 97.1%\r##################################################################### 97.1%\r##################################################################### 97.1%"]
+[21.255891, "o", "\r##################################################################### 97.1%\r##################################################################### 97.2%"]
+[21.256651, "o", "\r##################################################################### 97.2%\r###################################################################### 97.2%\r###################################################################### 97.3%\r###################################################################### 97.3%"]
+[21.261209, "o", "\r###################################################################### 97.3%"]
+[21.264353, "o", "\r###################################################################### 97.3%"]
+[21.265301, "o", "\r###################################################################### 97.4%\r###################################################################### 97.4%\r###################################################################### 97.4%\r###################################################################### 97.5%\r###################################################################### 97.5%"]
+[21.273126, "o", "\r###################################################################### 97.5%\r###################################################################### 97.6%"]
+[21.274044, "o", "\r###################################################################### 97.6%\r###################################################################### 97.6%\r###################################################################### 97.6%\r###################################################################### 97.7%\r###################################################################### 97.7%"]
+[21.281646, "o", "\r###################################################################### 97.7%"]
+[21.282818, "o", "\r###################################################################### 97.8%\r###################################################################### 97.8%\r###################################################################### 97.8%\r###################################################################### 97.9%\r###################################################################### 97.9%\r###################################################################### 97.9%"]
+[21.290272, "o", "\r###################################################################### 97.9%"]
+[21.291519, "o", "\r###################################################################### 98.0%\r###################################################################### 98.0%\r###################################################################### 98.0%\r###################################################################### 98.1%\r###################################################################### 98.1%\r###################################################################### 98.1%"]
+[21.298887, "o", "\r###################################################################### 98.1%"]
+[21.300251, "o", "\r###################################################################### 98.2%\r###################################################################### 98.2%\r###################################################################### 98.2%\r###################################################################### 98.3%\r###################################################################### 98.3%\r###################################################################### 98.3%"]
+[21.30904, "o", "\r###################################################################### 98.4%\r###################################################################### 98.4%\r###################################################################### 98.4%\r###################################################################### 98.4%\r###################################################################### 98.5%\r###################################################################### 98.5%\r###################################################################### 98.5%"]
+[21.317674, "o", "\r###################################################################### 98.6%\r###################################################################### 98.6%\r####################################################################### 98.6%\r####################################################################### 98.7%\r####################################################################### 98.7%\r####################################################################### 98.7%\r####################################################################### 98.7%"]
+[21.324655, "o", "\r####################################################################### 98.8%"]
+[21.326304, "o", "\r####################################################################### 98.8%\r####################################################################### 98.8%\r####################################################################### 98.9%\r####################################################################### 98.9%\r####################################################################### 98.9%\r####################################################################### 98.9%"]
+[21.333256, "o", "\r####################################################################### 99.0%"]
+[21.335079, "o", "\r####################################################################### 99.0%\r####################################################################### 99.0%\r####################################################################### 99.1%\r####################################################################### 99.1%\r####################################################################### 99.1%\r####################################################################### 99.2%"]
+[21.338794, "o", "\r####################################################################### 99.2%"]
+[21.343638, "o", "\r####################################################################### 99.2%\r####################################################################### 99.2%\r####################################################################### 99.3%\r####################################################################### 99.3%\r####################################################################### 99.3%\r####################################################################### 99.4%"]
+[21.347453, "o", "\r####################################################################### 99.4%"]
+[21.352334, "o", "\r####################################################################### 99.4%\r####################################################################### 99.5%\r####################################################################### 99.5%\r####################################################################### 99.5%\r####################################################################### 99.5%\r####################################################################### 99.6%"]
+[21.35608, "o", "\r####################################################################### 99.6%"]
+[21.360981, "o", "\r####################################################################### 99.6%\r####################################################################### 99.7%\r####################################################################### 99.7%\r####################################################################### 99.7%\r####################################################################### 99.7%\r####################################################################### 99.8%"]
+[21.369627, "o", "\r####################################################################### 99.8%\r####################################################################### 99.8%\r####################################################################### 99.9%\r####################################################################### 99.9%\r####################################################################### 99.9%\r####################################################################### 100.0%"]
+[21.37541, "o", "\r####################################################################### 100.0%\r######################################################################## 100.0%\r\n"]
+[21.940253, "o", "\r\nInstallation complete. [easysearch] is ready to use!\r\n\r\n\r\n----------------------------------------------------------------\r\ncd /opt/easysearch && bin/initialize.sh && bin/easysearch\r\n----------------------------------------------------------------\r\n\r\n\r\n __ _ __ ____ __ _ __ __ \r\n / // |/ // __// // |/ // / \r\n / // || // _/ / // || // / \r\n/_//_/|_//_/ /_//_/|_//_/ \r\n\r\n©INFINI.LTD, All Rights Reserved.\r\n\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# curl -sSL http://get.infini.cloud | bash -s -- -p console\r\n"]
+[22.398622, "o", " \r\n @@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@&@@@\r\n #@@@@@@@@@@@@@\r\n @@@ @@@@@@@@@@@@@ \r\n &@@@@@@@ &@@@@@@@@@@@@@ \r\n @&@@@@@@@&@ @@@&@@@@@@@&@ \r\n @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@@@@@@@& @@@@@@@@@@@@@ \r\n %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@&@@@@@@@@@@@@@@@ \r\n @@ ,@@@@@@@@@@@@@@@@@@@@@@@& \r\n @@@@@. @@@@@&@@@@@@@@@@@@@@ \r\n @@@@@@@@@@ @@@@@@@@@@@@@@@# \r\n @&@@@&@@@&@@@ &@&@@@&@@@&@ \r\n @@@@@@@@@@@@@. @@@@@@@* \r\n @@@@@@@@@@@@@ %@@@ \r\n @@@@@@@@@@@@@ \r\n/@@@@@@@&@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@ Welcome to INFINI Labs!\r\n\r\n\r\nNow attempting the installation... \r\n\r\n"]
+[22.568427, "o", "Name: [console], Version: [1.6.0-1216], Path: [/opt/console]\r\n"]
+[22.580728, "o", "File: [https://release.infinilabs.com/console/stable/console-1.6.0-1216-linux-amd64.tar.gz]\r\n"]
+[22.737368, "o", "\r 0.1%\r 0.2%"]
+[22.746529, "o", "\r 0.3%\r 0.4%\r 0.5%\r 0.5%"]
+[22.755636, "o", "\r 0.6%\r 0.7%\r 0.8%\r 0.9%\r 1.0%"]
+[22.764544, "o", "\r 1.1%\r 1.2%\r 1.3%\r 1.4%\r# 1.5%\r# 1.6%"]
+[22.773456, "o", "\r# 1.6%\r# 1.7%\r# 1.8%\r# 1.9%\r# 2.0%\r# 2.1%"]
+[22.78236, "o", "\r# 2.2%\r# 2.3%\r# 2.4%\r# 2.5%\r# 2.6%\r# 2.7%"]
+[22.790424, "o", "\r# 2.7%"]
+[22.791576, "o", "\r## 2.8%\r## 2.9%\r## 3.0%\r## 3.1%\r## 3.2%\r## 3.3%"]
+[22.800773, "o", "\r## 3.4%\r## 3.5%\r## 3.6%\r## 3.7%\r## 3.8%\r## 3.8%\r## 3.9%"]
+[22.80966, "o", "\r## 4.0%\r## 4.1%\r### 4.2%\r### 4.3%\r### 4.4%\r### 4.5%\r### 4.6%"]
+[22.818749, "o", "\r### 4.7%\r### 4.8%\r### 4.9%\r### 4.9%\r### 5.0%\r### 5.1%\r### 5.2%\r### 5.3%"]
+[22.827813, "o", "\r### 5.4%\r### 5.5%\r#### 5.6%\r#### 5.7%\r#### 5.8%\r#### 5.9%\r#### 5.9%\r#### 6.0%"]
+[22.836721, "o", "\r#### 6.1%\r#### 6.2%\r#### 6.3%\r#### 6.4%\r#### 6.5%\r#### 6.6%\r#### 6.7%\r#### 6.8%"]
+[22.845775, "o", "\r#### 6.9%\r##### 7.0%\r##### 7.0%\r##### 7.1%\r##### 7.2%\r##### 7.3%\r##### 7.4%\r##### 7.5%\r##### 7.6%"]
+[22.854739, "o", "\r##### 7.7%\r##### 7.8%\r##### 7.9%\r##### 8.0%\r##### 8.1%\r##### 8.1%\r##### 8.2%\r##### 8.3%\r###### 8.4%"]
+[22.86397, "o", "\r###### 8.5%\r###### 8.6%\r###### 8.7%\r###### 8.8%\r###### 8.9%\r###### 9.0%\r###### 9.1%\r###### 9.2%\r###### 9.2%\r###### 9.3%"]
+[22.871656, "o", "\r###### 9.4%\r###### 9.5%"]
+[22.873175, "o", "\r###### 9.6%\r###### 9.7%\r####### 9.8%\r####### 9.9%\r####### 10.0%\r####### 10.1%\r####### 10.2%\r####### 10.3%"]
+[22.878779, "o", "\r####### 10.3%"]
+[22.880433, "o", "\r####### 10.4%"]
+[22.882272, "o", "\r####### 10.5%\r####### 10.6%\r####### 10.7%\r####### 10.8%\r####### 10.9%\r####### 11.0%\r####### 11.1%\r######## 11.2%\r######## 11.3%"]
+[22.88927, "o", "\r######## 11.4%"]
+[22.89137, "o", "\r######## 11.4%\r######## 11.5%\r######## 11.6%\r######## 11.7%\r######## 11.8%\r######## 11.9%\r######## 12.0%\r######## 12.1%\r######## 12.2%\r######## 12.3%"]
+[22.89654, "o", "\r######## 12.4%"]
+[22.90057, "o", "\r######## 12.4%\r######### 12.5%\r######### 12.6%\r######### 12.7%\r######### 12.8%\r######### 12.9%\r######### 13.0%\r######### 13.1%\r######### 13.2%\r######### 13.3%\r######### 13.4%"]
+[22.905431, "o", "\r######### 13.5%"]
+[22.909537, "o", "\r######### 13.5%\r######### 13.6%\r######### 13.7%\r######### 13.8%\r########## 13.9%\r########## 14.0%\r########## 14.1%\r########## 14.2%\r########## 14.3%\r########## 14.4%\r########## 14.5%\r########## 14.6%"]
+[22.918608, "o", "\r########## 14.6%\r########## 14.7%\r########## 14.8%\r########## 14.9%\r########## 15.0%\r########## 15.1%\r########## 15.2%\r########### 15.3%\r########### 15.4%\r########### 15.5%\r########### 15.6%\r########### 15.7%\r########### 15.7%"]
+[22.927668, "o", "\r########### 15.8%\r########### 15.9%\r########### 16.0%\r########### 16.1%\r########### 16.2%\r########### 16.3%\r########### 16.4%\r########### 16.5%\r########### 16.6%\r########### 16.7%\r############ 16.8%\r############ 16.8%\r############ 16.9%\r############ 17.0%"]
+[22.936721, "o", "\r############ 17.1%\r############ 17.2%\r############ 17.3%\r############ 17.4%\r############ 17.5%\r############ 17.6%\r############ 17.7%\r############ 17.8%\r############ 17.9%\r############ 17.9%\r############ 18.0%\r############# 18.1%\r############# 18.2%\r############# 18.3%"]
+[22.945734, "o", "\r############# 18.4%\r############# 18.5%\r############# 18.6%\r############# 18.7%\r############# 18.8%\r############# 18.9%\r############# 19.0%\r############# 19.0%\r############# 19.1%\r############# 19.2%\r############# 19.3%\r############# 19.4%\r############## 19.5%\r############## 19.6%\r############## 19.7%"]
+[22.949848, "o", "\r############## 19.8%"]
+[22.952884, "o", "\r############## 19.9%\r############## 20.0%"]
+[22.955052, "o", "\r############## 20.0%\r############## 20.1%\r############## 20.2%\r############## 20.3%\r############## 20.4%\r############## 20.5%\r############## 20.6%\r############## 20.7%\r############## 20.8%\r############### 20.9%\r############### 21.0%\r############### 21.1%\r############### 21.1%"]
+[22.958623, "o", "\r############### 21.2%"]
+[22.961935, "o", "\r############### 21.3%\r############### 21.4%"]
+[22.962438, "o", "\r############### 21.5%\r############### 21.6%"]
+[22.964638, "o", "\r############### 21.7%\r############### 21.8%\r############### 21.9%\r############### 22.0%\r############### 22.1%\r############### 22.2%\r################ 22.2%\r################ 22.3%\r################ 22.4%\r################ 22.5%\r################ 22.6%\r################ 22.7%"]
+[22.970777, "o", "\r################ 22.8%\r################ 22.9%"]
+[22.971338, "o", "\r################ 23.0%\r################ 23.1%"]
+[22.973507, "o", "\r################ 23.2%\r################ 23.3%\r################ 23.3%\r################ 23.4%\r################ 23.5%\r################# 23.6%\r################# 23.7%\r################# 23.8%\r################# 23.9%\r################# 24.0%\r################# 24.1%\r################# 24.2%\r################# 24.3%"]
+[22.976342, "o", "\r################# 24.4%"]
+[22.98058, "o", "\r################# 24.4%\r################# 24.5%\r################# 24.6%\r################# 24.7%"]
+[22.982543, "o", "\r################# 24.8%\r################# 24.9%\r################# 25.0%\r################## 25.1%\r################## 25.2%\r################## 25.3%\r################## 25.4%\r################## 25.5%\r################## 25.5%\r################## 25.6%\r################## 25.7%\r################## 25.8%"]
+[22.985434, "o", "\r################## 25.9%\r################## 26.0%"]
+[22.989432, "o", "\r################## 26.1%\r################## 26.2%\r################## 26.3%\r################## 26.4%"]
+[22.990107, "o", "\r################### 26.5%\r################### 26.5%"]
+[22.991657, "o", "\r################### 26.6%\r################### 26.7%\r################### 26.8%\r################### 26.9%\r################### 27.0%\r################### 27.1%\r################### 27.2%\r################### 27.3%\r################### 27.4%\r################### 27.5%"]
+[22.994288, "o", "\r################### 27.6%\r################### 27.6%"]
+[22.998338, "o", "\r################### 27.7%\r#################### 27.8%\r#################### 27.9%\r#################### 28.0%"]
+[22.998946, "o", "\r#################### 28.1%\r#################### 28.2%"]
+[23.001102, "o", "\r#################### 28.3%\r#################### 28.4%\r#################### 28.5%\r#################### 28.6%\r#################### 28.7%\r#################### 28.7%\r#################### 28.8%\r#################### 28.9%\r#################### 29.0%\r#################### 29.1%\r##################### 29.2%\r##################### 29.3%"]
+[23.003173, "o", "\r##################### 29.4%"]
+[23.00739, "o", "\r##################### 29.5%\r##################### 29.6%\r##################### 29.7%\r##################### 29.8%"]
+[23.008021, "o", "\r##################### 29.8%\r##################### 29.9%\r##################### 30.0%"]
+[23.010126, "o", "\r##################### 30.1%\r##################### 30.2%\r##################### 30.3%\r##################### 30.4%\r##################### 30.5%\r###################### 30.6%\r###################### 30.7%\r###################### 30.8%\r###################### 30.9%\r###################### 30.9%\r###################### 31.0%\r###################### 31.1%\r###################### 31.2%"]
+[23.016324, "o", "\r###################### 31.3%\r###################### 31.4%\r###################### 31.5%\r###################### 31.6%"]
+[23.01715, "o", "\r###################### 31.7%\r###################### 31.8%\r###################### 31.9%\r####################### 32.0%"]
+[23.019277, "o", "\r####################### 32.0%\r####################### 32.1%\r####################### 32.2%\r####################### 32.3%\r####################### 32.4%\r####################### 32.5%\r####################### 32.6%\r####################### 32.7%\r####################### 32.8%\r####################### 32.9%\r####################### 33.0%\r####################### 33.0%\r####################### 33.1%\r####################### 33.2%"]
+[23.025028, "o", "\r####################### 33.3%\r######################## 33.4%"]
+[23.026135, "o", "\r######################## 33.5%\r######################## 33.6%\r######################## 33.7%\r######################## 33.8%"]
+[23.028785, "o", "\r######################## 33.9%\r######################## 34.0%\r######################## 34.1%\r######################## 34.1%\r######################## 34.2%\r######################## 34.3%\r######################## 34.4%\r######################## 34.5%\r######################## 34.6%\r######################## 34.7%\r######################### 34.8%\r######################### 34.9%\r######################### 35.0%\r######################### 35.1%\r######################### 35.2%\r######################### 35.2%\r######################### 35.3%\r######################### 35.4%"]
+[23.033781, "o", "\r######################### 35.5%"]
+[23.034994, "o", "\r######################### 35.6%\r######################### 35.7%\r######################### 35.8%\r######################### 35.9%"]
+[23.037752, "o", "\r######################### 36.0%\r######################### 36.1%\r########################## 36.2%\r########################## 36.3%\r########################## 36.3%\r########################## 36.4%\r########################## 36.5%\r########################## 36.6%\r########################## 36.7%\r########################## 36.8%\r########################## 36.9%\r########################## 37.0%\r########################## 37.1%\r########################## 37.2%\r########################## 37.3%\r########################## 37.4%\r########################## 37.4%\r########################### 37.5%\r########################### 37.6%"]
+[23.042658, "o", "\r########################### 37.7%"]
+[23.044083, "o", "\r########################### 37.8%\r########################### 37.9%\r########################### 38.0%\r########################### 38.1%"]
+[23.047219, "o", "\r########################### 38.2%\r########################### 38.3%\r########################### 38.4%\r########################### 38.5%\r########################### 38.5%\r########################### 38.6%\r########################### 38.7%\r########################### 38.8%\r############################ 38.9%\r############################ 39.0%\r############################ 39.1%\r############################ 39.2%\r############################ 39.3%\r############################ 39.4%\r############################ 39.5%\r############################ 39.5%\r############################ 39.6%\r############################ 39.7%\r############################ 39.8%\r############################ 39.9%\r############################ 40.0%"]
+[23.052884, "o", "\r############################ 40.1%\r############################ 40.2%\r############################# 40.3%"]
+[23.056518, "o", "\r############################# 40.4%\r############################# 40.5%\r############################# 40.6%\r############################# 40.6%\r############################# 40.7%\r############################# 40.8%\r############################# 40.9%\r############################# 41.0%\r############################# 41.1%\r############################# 41.2%\r############################# 41.3%\r############################# 41.4%\r############################# 41.5%\r############################# 41.6%\r############################# 41.7%\r############################## 41.7%\r############################## 41.8%\r############################## 41.9%\r############################## 42.0%\r############################## 42.1%\r############################## 42.2%\r############################## 42.3%\r############################## 42.4%\r############################## 42.5%"]
+[23.066139, "o", "\r############################## 42.6%\r############################## 42.7%\r############################## 42.8%\r############################## 42.8%\r############################## 42.9%\r############################## 43.0%\r############################### 43.1%\r############################### 43.2%\r############################### 43.3%\r############################### 43.4%\r############################### 43.5%\r############################### 43.6%\r############################### 43.7%\r############################### 43.8%\r############################### 43.9%\r############################### 43.9%\r############################### 44.0%\r############################### 44.1%\r############################### 44.2%\r############################### 44.3%\r############################### 44.4%\r################################ 44.5%\r################################ 44.6%\r################################ 44.7%\r################################ 44.8%\r################################ 44.9%\r################################ 45.0%\r################################ 45.0%"]
+[23.069264, "o", "\r################################ 45.1%"]
+[23.074494, "o", "\r################################ 45.2%\r################################ 45.3%\r################################ 45.4%\r################################ 45.5%\r################################ 45.6%\r################################ 45.7%\r################################ 45.8%\r################################# 45.9%\r################################# 46.0%\r################################# 46.1%\r################################# 46.1%\r################################# 46.2%\r################################# 46.3%\r################################# 46.4%\r################################# 46.5%\r################################# 46.6%\r################################# 46.7%\r################################# 46.8%\r################################# 46.9%\r################################# 47.0%\r################################# 47.1%\r################################# 47.1%\r################################## 47.2%\r################################## 47.3%\r################################## 47.4%"]
+[23.078154, "o", "\r################################## 47.5%"]
+[23.084156, "o", "\r################################## 47.6%\r################################## 47.7%\r################################## 47.8%\r################################## 47.9%\r################################## 48.0%\r################################## 48.1%\r################################## 48.2%\r################################## 48.2%\r################################## 48.3%\r################################## 48.4%\r################################## 48.5%\r################################### 48.6%\r################################### 48.7%\r################################### 48.8%\r################################### 48.9%\r################################### 49.0%\r################################### 49.1%\r################################### 49.2%\r################################### 49.3%\r################################### 49.3%\r################################### 49.4%\r################################### 49.5%\r################################### 49.6%\r################################### 49.7%\r################################### 49.8%\r################################### 49.9%\r################################### 50.0%\r#################################### 50.1%\r#################################### 50.2%\r#################################### 50.3%"]
+[23.087082, "o", "\r#################################### 50.4%"]
+[23.088988, "o", "\r#################################### 50.4%"]
+[23.093482, "o", "\r#################################### 50.5%\r#################################### 50.6%\r#################################### 50.7%\r#################################### 50.8%\r#################################### 50.9%\r#################################### 51.0%\r#################################### 51.1%\r#################################### 51.2%\r#################################### 51.3%\r#################################### 51.4%\r##################################### 51.5%\r##################################### 51.5%\r##################################### 51.6%\r##################################### 51.7%\r##################################### 51.8%\r##################################### 51.9%\r##################################### 52.0%\r##################################### 52.1%\r##################################### 52.2%\r##################################### 52.3%\r##################################### 52.4%\r##################################### 52.5%\r##################################### 52.6%\r##################################### 52.6%\r##################################### 52.7%\r###################################### 52.8%\r###################################### 52.9%\r###################################### 53.0%\r###################################### 53.1%\r###################################### 53.2%\r###################################### 53.3%"]
+[23.095962, "o", "\r###################################### 53.4%"]
+[23.097873, "o", "\r###################################### 53.5%"]
+[23.10222, "o", "\r###################################### 53.6%\r###################################### 53.6%\r###################################### 53.7%\r###################################### 53.8%\r###################################### 53.9%\r###################################### 54.0%\r###################################### 54.1%\r####################################### 54.2%\r####################################### 54.3%\r####################################### 54.4%\r####################################### 54.5%\r####################################### 54.6%\r####################################### 54.7%\r####################################### 54.7%\r####################################### 54.8%\r####################################### 54.9%\r####################################### 55.0%\r####################################### 55.1%\r####################################### 55.2%\r####################################### 55.3%\r####################################### 55.4%\r####################################### 55.5%\r######################################## 55.6%\r######################################## 55.7%\r######################################## 55.8%\r######################################## 55.8%\r######################################## 55.9%\r######################################## 56.0%\r######################################## 56.1%"]
+[23.104983, "o", "\r######################################## 56.2%"]
+[23.111874, "o", "\r######################################## 56.3%\r######################################## 56.4%\r######################################## 56.5%\r######################################## 56.6%\r######################################## 56.7%\r######################################## 56.8%\r######################################## 56.9%\r######################################### 56.9%\r######################################### 57.0%\r######################################### 57.1%\r######################################### 57.2%\r######################################### 57.3%\r######################################### 57.4%\r######################################### 57.5%\r######################################### 57.6%\r######################################### 57.7%\r######################################### 57.8%\r######################################### 57.9%\r######################################### 58.0%\r######################################### 58.0%\r######################################### 58.1%\r######################################### 58.2%\r######################################### 58.3%\r########################################## 58.4%\r########################################## 58.5%\r########################################## 58.6%\r########################################## 58.7%\r########################################## 58.8%\r########################################## 58.9%\r########################################## 59.0%\r########################################## 59.1%\r########################################## 59.1%\r########################################## 59.2%\r########################################## 59.3%\r########################################## 59.4%"]
+[23.113841, "o", "\r########################################## 59.5%"]
+[23.121159, "o", "\r########################################## 59.6%\r########################################## 59.7%\r########################################### 59.8%\r########################################### 59.9%\r########################################### 60.0%\r########################################### 60.1%\r########################################### 60.1%\r########################################### 60.2%\r########################################### 60.3%\r########################################### 60.4%\r########################################### 60.5%\r########################################### 60.6%\r########################################### 60.7%\r########################################### 60.8%\r########################################### 60.9%\r########################################### 61.0%\r########################################### 61.1%\r############################################ 61.2%\r############################################ 61.2%\r############################################ 61.3%\r############################################ 61.4%\r############################################ 61.5%\r############################################ 61.6%\r############################################ 61.7%\r############################################ 61.8%\r############################################ 61.9%\r############################################ 62.0%\r############################################ 62.1%\r############################################ 62.2%\r############################################ 62.3%\r############################################ 62.3%\r############################################ 62.4%\r############################################# 62.5%\r############################################# 62.6%\r############################################# 62.7%\r############################################# 62.8%\r############################################# 62.9%"]
+[23.125284, "o", "\r############################################# 63.0%\r############################################# 63.1%"]
+[23.130723, "o", "\r############################################# 63.2%\r############################################# 63.3%\r############################################# 63.4%\r############################################# 63.4%\r############################################# 63.5%\r############################################# 63.6%\r############################################# 63.7%\r############################################# 63.8%\r############################################## 63.9%\r############################################## 64.0%\r############################################## 64.1%\r############################################## 64.2%\r############################################## 64.3%\r############################################## 64.4%\r############################################## 64.5%\r############################################## 64.5%\r############################################## 64.6%\r############################################## 64.7%\r############################################## 64.8%\r############################################## 64.9%\r############################################## 65.0%\r############################################## 65.1%\r############################################## 65.2%\r############################################## 65.3%\r############################################### 65.4%\r############################################### 65.5%\r############################################### 65.6%\r############################################### 65.6%\r############################################### 65.7%\r############################################### 65.8%\r############################################### 65.9%\r############################################### 66.0%\r############################################### 66.1%\r############################################### 66.2%\r############################################### 66.3%\r############################################### 66.4%\r############################################### 66.5%"]
+[23.131532, "o", "\r############################################### 66.6%"]
+[23.134174, "o", "\r############################################### 66.6%\r################################################ 66.7%"]
+[23.139428, "o", "\r################################################ 66.8%\r################################################ 66.9%\r################################################ 67.0%\r################################################ 67.1%\r################################################ 67.2%\r################################################ 67.3%\r################################################ 67.4%\r################################################ 67.5%\r################################################ 67.6%\r################################################ 67.7%\r################################################ 67.7%\r################################################ 67.8%\r################################################ 67.9%\r################################################ 68.0%\r################################################# 68.1%\r################################################# 68.2%\r################################################# 68.3%\r################################################# 68.4%\r################################################# 68.5%\r################################################# 68.6%\r################################################# 68.7%\r################################################# 68.8%\r################################################# 68.8%\r################################################# 68.9%\r################################################# 69.0%\r################################################# 69.1%\r################################################# 69.2%\r################################################# 69.3%\r################################################# 69.4%\r################################################## 69.5%\r################################################## 69.6%\r################################################## 69.7%\r################################################## 69.8%\r################################################## 69.9%\r################################################## 69.9%\r################################################## 70.0%"]
+[23.140701, "o", "\r################################################## 70.1%\r################################################## 70.2%\r################################################## 70.3%"]
+[23.142895, "o", "\r################################################## 70.4%"]
+[23.148962, "o", "\r################################################## 70.5%\r################################################## 70.6%\r################################################## 70.7%\r################################################## 70.8%\r################################################### 70.9%\r################################################### 71.0%\r################################################### 71.0%\r################################################### 71.1%\r################################################### 71.2%\r################################################### 71.3%\r################################################### 71.4%\r################################################### 71.5%\r################################################### 71.6%\r################################################### 71.7%\r################################################### 71.8%\r################################################### 71.9%\r################################################### 72.0%\r################################################### 72.1%\r################################################### 72.1%\r#################################################### 72.2%\r#################################################### 72.3%\r#################################################### 72.4%\r#################################################### 72.5%\r#################################################### 72.6%\r#################################################### 72.7%\r#################################################### 72.8%\r#################################################### 72.9%\r#################################################### 73.0%\r#################################################### 73.1%\r#################################################### 73.2%\r#################################################### 73.2%\r#################################################### 73.3%\r#################################################### 73.4%\r#################################################### 73.5%\r#################################################### 73.6%\r##################################################### 73.7%\r##################################################### 73.8%\r##################################################### 73.9%\r##################################################### 74.0%"]
+[23.152206, "o", "\r##################################################### 74.1%\r##################################################### 74.2%\r##################################################### 74.2%\r##################################################### 74.3%"]
+[23.158039, "o", "\r##################################################### 74.4%\r##################################################### 74.5%\r##################################################### 74.6%\r##################################################### 74.7%\r##################################################### 74.8%\r##################################################### 74.9%\r##################################################### 75.0%\r###################################################### 75.1%\r###################################################### 75.2%\r###################################################### 75.3%\r###################################################### 75.3%\r###################################################### 75.4%\r###################################################### 75.5%\r###################################################### 75.6%\r###################################################### 75.7%\r###################################################### 75.8%\r###################################################### 75.9%\r###################################################### 76.0%\r###################################################### 76.1%\r###################################################### 76.2%\r###################################################### 76.3%\r###################################################### 76.4%\r####################################################### 76.4%\r####################################################### 76.5%\r####################################################### 76.6%\r####################################################### 76.7%\r####################################################### 76.8%\r####################################################### 76.9%\r####################################################### 77.0%\r####################################################### 77.1%\r####################################################### 77.2%\r####################################################### 77.3%\r####################################################### 77.4%\r####################################################### 77.5%\r####################################################### 77.5%\r####################################################### 77.6%\r####################################################### 77.7%\r######################################################## 77.8%\r######################################################## 77.9%\r######################################################## 78.0%"]
+[23.161124, "o", "\r######################################################## 78.1%\r######################################################## 78.2%\r######################################################## 78.3%\r######################################################## 78.4%"]
+[23.167352, "o", "\r######################################################## 78.5%\r######################################################## 78.6%\r######################################################## 78.6%\r######################################################## 78.7%\r######################################################## 78.8%\r######################################################## 78.9%\r######################################################## 79.0%\r######################################################## 79.1%\r######################################################### 79.2%\r######################################################### 79.3%\r######################################################### 79.4%\r######################################################### 79.5%\r######################################################### 79.6%\r######################################################### 79.7%\r######################################################### 79.7%\r######################################################### 79.8%\r######################################################### 79.9%\r######################################################### 80.0%\r######################################################### 80.1%\r######################################################### 80.2%\r######################################################### 80.3%\r######################################################### 80.4%\r######################################################### 80.5%\r########################################################## 80.6%\r########################################################## 80.7%\r########################################################## 80.7%\r########################################################## 80.8%\r########################################################## 80.9%\r########################################################## 81.0%\r########################################################## 81.1%\r########################################################## 81.2%\r########################################################## 81.3%\r########################################################## 81.4%\r########################################################## 81.5%\r########################################################## 81.6%\r########################################################## 81.7%\r########################################################## 81.8%\r########################################################## 81.8%\r########################################################## 81.9%\r########################################################### 82.0%\r########################################################### 82.1%\r########################################################### 82.2%\r########################################################### 82.3%"]
+[23.170034, "o", "\r########################################################### 82.4%\r########################################################### 82.5%\r########################################################### 82.6%\r########################################################### 82.7%"]
+[23.171558, "o", "\r########################################################### 82.8%\r########################################################### 82.9%\r########################################################### 82.9%\r########################################################### 83.0%\r########################################################### 83.1%\r########################################################### 83.2%\r########################################################### 83.3%\r############################################################ 83.4%"]
+[23.17658, "o", "\r############################################################ 83.5%\r############################################################ 83.6%\r############################################################ 83.7%\r############################################################ 83.8%\r############################################################ 83.9%\r############################################################ 84.0%\r############################################################ 84.0%\r############################################################ 84.1%\r############################################################ 84.2%\r############################################################ 84.3%\r############################################################ 84.4%\r############################################################ 84.5%\r############################################################ 84.6%\r############################################################ 84.7%\r############################################################# 84.8%\r############################################################# 84.9%\r############################################################# 85.0%\r############################################################# 85.1%\r############################################################# 85.1%\r############################################################# 85.2%\r############################################################# 85.3%\r############################################################# 85.4%\r############################################################# 85.5%\r############################################################# 85.6%\r############################################################# 85.7%\r############################################################# 85.8%\r############################################################# 85.9%\r############################################################# 86.0%\r############################################################# 86.1%\r############################################################## 86.2%\r############################################################## 86.2%\r############################################################## 86.3%\r############################################################## 86.4%\r############################################################## 86.5%\r############################################################## 86.6%\r############################################################## 86.7%"]
+[23.178905, "o", "\r############################################################## 86.8%\r############################################################## 86.9%\r############################################################## 87.0%\r############################################################## 87.1%"]
+[23.180471, "o", "\r############################################################## 87.2%\r############################################################## 87.2%\r############################################################## 87.3%\r############################################################## 87.4%\r############################################################### 87.5%\r############################################################### 87.6%\r############################################################### 87.7%\r############################################################### 87.8%"]
+[23.186113, "o", "\r############################################################### 87.9%\r############################################################### 88.0%\r############################################################### 88.1%\r############################################################### 88.2%\r############################################################### 88.3%\r############################################################### 88.3%\r############################################################### 88.4%\r############################################################### 88.5%\r############################################################### 88.6%\r############################################################### 88.7%\r############################################################### 88.8%\r################################################################ 88.9%\r################################################################ 89.0%\r################################################################ 89.1%\r################################################################ 89.2%\r################################################################ 89.3%\r################################################################ 89.4%\r################################################################ 89.4%\r################################################################ 89.5%\r################################################################ 89.6%\r################################################################ 89.7%\r################################################################ 89.8%\r################################################################ 89.9%\r################################################################ 90.0%\r################################################################ 90.1%\r################################################################ 90.2%\r################################################################ 90.3%\r################################################################# 90.4%\r################################################################# 90.5%\r################################################################# 90.5%\r################################################################# 90.6%\r################################################################# 90.7%\r################################################################# 90.8%\r################################################################# 90.9%\r################################################################# 91.0%\r################################################################# 91.1%\r################################################################# 91.2%\r################################################################# 91.3%\r################################################################# 91.4%"]
+[23.187887, "o", "\r################################################################# 91.5%\r################################################################# 91.6%\r################################################################# 91.6%\r################################################################## 91.7%"]
+[23.189262, "o", "\r################################################################## 91.8%\r################################################################## 91.9%\r################################################################## 92.0%\r################################################################## 92.1%\r################################################################## 92.2%\r################################################################## 92.3%\r################################################################## 92.4%\r################################################################## 92.5%"]
+[23.194974, "o", "\r################################################################## 92.6%\r################################################################## 92.7%\r################################################################## 92.7%\r################################################################## 92.8%\r################################################################## 92.9%\r################################################################## 93.0%\r################################################################### 93.1%\r################################################################### 93.2%\r################################################################### 93.3%\r################################################################### 93.4%\r################################################################### 93.5%\r################################################################### 93.6%\r################################################################### 93.7%\r################################################################### 93.7%\r################################################################### 93.8%\r################################################################### 93.9%\r################################################################### 94.0%\r################################################################### 94.1%\r################################################################### 94.2%\r################################################################### 94.3%\r################################################################### 94.4%\r#################################################################### 94.5%\r#################################################################### 94.6%\r#################################################################### 94.7%\r#################################################################### 94.8%\r#################################################################### 94.8%\r#################################################################### 94.9%\r#################################################################### 95.0%\r#################################################################### 95.1%\r#################################################################### 95.2%\r#################################################################### 95.3%\r#################################################################### 95.4%\r#################################################################### 95.5%\r#################################################################### 95.6%\r#################################################################### 95.7%\r#################################################################### 95.8%\r##################################################################### 95.9%\r##################################################################### 95.9%\r##################################################################### 96.0%\r##################################################################### 96.1%"]
+[23.196669, "o", "\r##################################################################### 96.2%\r##################################################################### 96.3%\r##################################################################### 96.4%\r##################################################################### 96.5%"]
+[23.204491, "o", "\r##################################################################### 96.6%\r##################################################################### 96.7%\r##################################################################### 96.8%\r##################################################################### 96.9%\r##################################################################### 97.0%\r##################################################################### 97.0%\r##################################################################### 97.1%\r###################################################################### 97.2%\r###################################################################### 97.3%\r###################################################################### 97.4%\r###################################################################### 97.5%\r###################################################################### 97.6%\r###################################################################### 97.7%\r###################################################################### 97.8%\r###################################################################### 97.9%\r###################################################################### 98.0%\r###################################################################### 98.1%\r###################################################################### 98.1%\r###################################################################### 98.2%\r###################################################################### 98.3%\r###################################################################### 98.4%\r###################################################################### 98.5%\r###################################################################### 98.6%\r####################################################################### 98.7%\r####################################################################### 98.8%\r####################################################################### 98.9%\r####################################################################### 99.0%\r####################################################################### 99.1%\r####################################################################### 99.2%\r####################################################################### 99.2%\r####################################################################### 99.3%\r####################################################################### 99.4%\r####################################################################### 99.5%\r####################################################################### 99.6%\r####################################################################### 99.7%\r####################################################################### 99.8%\r####################################################################### 99.9%\r####################################################################### 100.0%\r######################################################################## 100.0%\r\n"]
+[23.557901, "o", "\r\nInstallation complete. [console] is ready to use!\r\n\r\n\r\n----------------------------------------------------------------\r\ncd /opt/console && ./console-linux-amd64\r\n----------------------------------------------------------------\r\n\r\n\r\n __ _ __ ____ __ _ __ __ \r\n / // |/ // __// // |/ // / \r\n / // || // _/ / // || // / \r\n/_//_/|_//_/ /_//_/|_//_/ \r\n\r\n©INFINI.LTD, All Rights Reserved.\r\n\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[24.735295, "o", "# 配置 Easysearch jdk\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# ln -s /usr/lib/jvm/java-11-ope"]
+[24.741238, "o", "njdk-11.0.19.0.7-1.el7_9.x86_64 /opt/easysearch/jd"]
+[24.746584, "o", "k\r\n"]
+[24.748575, "o", "\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# sed -i 's/1g/512m/g' /opt/easysearch/config/jvm."]
+[24.752696, "o", "options"]
+[25.292284, "o", "\r\n"]
+[25.294606, "o", "\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[30.541512, "o", "# 初始化 \r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# cd /opt/easysearch && bin/initialize.sh "]
+[31.162278, "o", "\r\n"]
+[31.16982, "o", "RISK WARN: The initialization script will overwrite certificates and passwords. If not first run, confirm awareness of risks before proceeding. This is a dangerous operation. Proceed? [y/N]:"]
+[32.83596, "o", "y"]
+[33.309654, "o", "\r\n\r\nNOTICE: Confirm recording credentials to log /opt/easysearch/logs/initialize.log. Default no record, press Enter to skip. [y/N]:"]
+[34.352384, "o", "y"]
+[34.795443, "o", "\r\n"]
+[34.797846, "o", "\r\n"]
+[34.82509, "o", "Generating RSA private key, 2048 bit long modulus\r\n......."]
+[34.836053, "o", ".........."]
+[34.847405, "o", ".........."]
+[34.858036, "o", "........."]
+[34.869037, "o", ".........."]
+[34.880039, "o", ".........."]
+[34.891033, "o", ".........."]
+[34.901991, "o", ".........."]
+[34.913088, "o", ".........."]
+[34.923985, "o", ".........."]
+[34.935022, "o", "..........."]
+[34.945992, "o", "..+++\r\n......."]
+[34.957039, "o", ".........."]
+[34.968025, "o", ".........."]
+[34.97903, "o", ".........."]
+[34.990009, "o", ".........."]
+[35.001033, "o", ".........."]
+[35.011997, "o", ".........."]
+[35.023064, "o", ".........."]
+[35.033994, "o", ".........."]
+[35.045033, "o", ".........."]
+[35.056002, "o", "..........+++\r\n"]
+[35.057469, "o", "e is 65537 (0x10001)\r\n"]
+[35.0741, "o", "Generating RSA private key, 2048 bit long modulus\r\n......"]
+[35.084996, "o", ".........."]
+[35.096063, "o", ".........."]
+[35.106999, "o", "..+++\r\n........"]
+[35.118034, "o", ".........."]
+[35.122467, "o", "..+++\r\ne is 65537 (0x10001)\r\n"]
+[35.143067, "o", "Signature ok\r\nsubject=/C=IN/ST=FI/L=NI/O=ORG/OU=UNIT/CN=infini.cloud\r\nGetting CA Private Key\r\n"]
+[35.155025, "o", "Generating RSA private key, 2048 bit long modulus\r\n......."]
+[35.166038, "o", ".........."]
+[35.177024, "o", "........."]
+[35.18802, "o", "..........."]
+[35.199004, "o", ".........."]
+[35.210056, "o", ".........."]
+[35.220987, "o", ".........."]
+[35.232059, "o", ".........."]
+[35.242979, "o", "........."]
+[35.254014, "o", ".+++\r\n........."]
+[35.264987, "o", ".........."]
+[35.276022, "o", ".........."]
+[35.287019, "o", ".........."]
+[35.295439, "o", "......+++\r\ne is 65537 (0x10001)\r\n"]
+[35.319041, "o", "Signature ok\r\nsubject=/C=IN/ST=FI/L=NI/O=ORG/OU=UNIT/CN=admin.infini.cloud\r\nGetting CA Private Key\r\n"]
+[35.332069, "o", " DNS:infini.cloud, DNS:*.infini.cloud\r\n"]
+[35.343491, "o", " DNS:infini.cloud, DNS:*.infini.cloud\r\n"]
+[35.3635, "o", "\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ NOTICE: Please remember the bootstrap credential for further usage @\r\n@ admin:44e4e00cded8d82c16cf @\r\n@ Usage: curl -ku admin:44e4e00cded8d82c16cf https://localhost:9200 @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n\r\n"]
+[35.905588, "o", "Install easysearch plugins with online resources. [y/N]:\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: all easysearch plugins will be installed @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n\r\n"]
+[36.568908, "o", "y"]
+[37.670245, "o", "\r\n"]
+[39.47171, "o", "-> Installing analysis-ik\r\n"]
+[40.089008, "o", "-> Downloading analysis-ik from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/analysis-ik/analysis-ik-1.5.0.zip\r\n"]
+[40.127598, "o", "\r[ ] 1% "]
+[40.151984, "o", "\r[> ] 2% \r[> ] 3% "]
+[40.17524, "o", "\r[=> ] 4% \r[=> ] 5% \r[==> ] 6% "]
+[40.198377, "o", "\r[==> ] 7% \r[===> ] 8% \r[===> ] 9% \r[====> ] 10% "]
+[40.232447, "o", "\r[====> ] 11% \r[=====> ] 12% \r[=====> ] 13% "]
+[40.255196, "o", "\r[======> ] 14% \r[======> ] 15% "]
+[40.267707, "o", "\r[=======> ] 16% \r[=======> ] 17% \r[========> ] 18% "]
+[40.292028, "o", "\r[========> ] 19% \r[=========> ] 20% \r[=========> ] 21% \r[==========> ] 22% "]
+[40.315236, "o", "\r[==========> ] 23% \r[===========> ] 24% \r[===========> ] 25% "]
+[40.338091, "o", "\r[============> ] 26% \r[============> ] 27% \r[=============> ] 28% \r[=============> ] 29% "]
+[40.361864, "o", "\r[==============> ] 30% \r[==============> ] 31% \r[===============> ] 32% \r[===============> ] 33% "]
+[40.385861, "o", "\r[================> ] 34% \r[================> ] 35% \r[=================> ] 36% \r[=================> ] 37% \r[==================> ] 38% "]
+[40.404712, "o", "\r[==================> ] 39% \r[===================> ] 40% \r[===================> ] 41% \r[====================> ] 42% "]
+[40.423411, "o", "\r[====================> ] 43% \r[=====================> ] 44% \r[=====================> ] 45% \r[======================> ] 46% "]
+[40.44024, "o", "\r[======================> ] 47% \r[=======================> ] 48% \r[=======================> ] 49% \r[========================> ] 50% \r[========================> ] 51% \r[=========================> ] 52% \r[=========================> ] 53% \r[==========================> ] 54% "]
+[40.454021, "o", "\r[==========================> ] 55% "]
+[40.476071, "o", "\r[===========================> ] 56% \r[===========================> ] 57% \r[============================> ] 58% \r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% \r[==============================> ] 62% \r[==============================> ] 63% "]
+[40.502259, "o", "\r[===============================> ] 64% \r[===============================> ] 65% \r[================================> ] 66% \r[================================> ] 67% \r[=================================> ] 68% \r[=================================> ] 69% \r[==================================> ] 70% \r[==================================> ] 71% "]
+[40.53301, "o", "\r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% \r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% \r[======================================> ] 78% \r[======================================> ] 79% "]
+[40.550833, "o", "\r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% \r[=========================================> ] 84% \r[=========================================> ] 85% "]
+[40.565533, "o", "\r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% \r[============================================> ] 90% \r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% "]
+[40.582269, "o", "\r[==============================================> ] 95% \r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[42.09478, "o", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: plugin requires additional permissions @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n* java.net.SocketPermission * connect,resolve\r\nSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html\r\nfor descriptions of what these permissions allow and the associated risks.\r\n\r\n"]
+[42.126092, "o", "-> Installed analysis-ik\r\n"]
+[43.881117, "o", "-> Installing analysis-pinyin\r\n"]
+[44.447021, "o", "-> Downloading analysis-pinyin from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/analysis-pinyin/analysis-pinyin-1.5.0.zip\r\n"]
+[44.509148, "o", "\r[ ] 1% "]
+[44.533209, "o", "\r[> ] 2% \r[> ] 3% "]
+[44.569658, "o", "\r[=> ] 4% \r[=> ] 5% "]
+[44.581738, "o", "\r[==> ] 6% "]
+[44.604542, "o", "\r[==> ] 7% \r[===> ] 8% "]
+[44.628093, "o", "\r[===> ] 9% "]
+[44.651619, "o", "\r[====> ] 10% \r[====> ] 11% "]
+[44.675895, "o", "\r[=====> ] 12% \r[=====> ] 13% "]
+[44.698777, "o", "\r[======> ] 14% \r[======> ] 15% "]
+[44.7221, "o", "\r[=======> ] 16% \r[=======> ] 17% "]
+[44.745389, "o", "\r[========> ] 18% \r[========> ] 19% "]
+[44.770213, "o", "\r[=========> ] 20% \r[=========> ] 21% \r[==========> ] 22% "]
+[44.789774, "o", "\r[==========> ] 23% "]
+[44.809285, "o", "\r[===========> ] 24% \r[===========> ] 25% \r[============> ] 26% \r[============> ] 27% \r[=============> ] 28% "]
+[44.837559, "o", "\r[=============> ] 29% \r[==============> ] 30% \r[==============> ] 31% \r[===============> ] 32% "]
+[44.863715, "o", "\r[===============> ] 33% \r[================> ] 34% \r[================> ] 35% \r[=================> ] 36% \r[=================> ] 37% "]
+[44.887955, "o", "\r[==================> ] 38% \r[==================> ] 39% \r[===================> ] 40% \r[===================> ] 41% "]
+[44.902647, "o", "\r[====================> ] 42% \r[====================> ] 43% \r[=====================> ] 44% \r[=====================> ] 45% \r[======================> ] 46% "]
+[44.914812, "o", "\r[======================> ] 47% \r[=======================> ] 48% \r[=======================> ] 49% "]
+[44.929523, "o", "\r[========================> ] 50% \r[========================> ] 51% \r[=========================> ] 52% \r[=========================> ] 53% "]
+[44.945709, "o", "\r[==========================> ] 54% \r[==========================> ] 55% \r[===========================> ] 56% \r[===========================> ] 57% \r[============================> ] 58% "]
+[44.962599, "o", "\r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% \r[==============================> ] 62% "]
+[44.980378, "o", "\r[==============================> ] 63% \r[===============================> ] 64% \r[===============================> ] 65% \r[================================> ] 66% \r[================================> ] 67% "]
+[44.987361, "o", "\r[=================================> ] 68% \r[=================================> ] 69% "]
+[45.002216, "o", "\r[==================================> ] 70% \r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% "]
+[45.017348, "o", "\r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% \r[======================================> ] 78% \r[======================================> ] 79% "]
+[45.028936, "o", "\r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% "]
+[45.043233, "o", "\r[=========================================> ] 84% \r[=========================================> ] 85% \r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% "]
+[45.047411, "o", "\r[============================================> ] 90% "]
+[45.060954, "o", "\r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% \r[==============================================> ] 95% "]
+[45.07797, "o", "\r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[46.656697, "o", "-> Installed analysis-pinyin\r\n"]
+[48.397981, "o", "-> Installing index-management\r\n"]
+[49.042042, "o", "-> Downloading index-management from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/index-management/index-management-1.5.0.zip\r\n"]
+[49.105951, "o", "\r[ ] 1% \r[> ] 2% "]
+[49.129441, "o", "\r[> ] 3% \r[=> ] 4% "]
+[49.162684, "o", "\r[=> ] 5% \r[==> ] 6% "]
+[49.186448, "o", "\r[==> ] 7% \r[===> ] 8% "]
+[49.209653, "o", "\r[===> ] 9% \r[====> ] 10% "]
+[49.234327, "o", "\r[====> ] 11% \r[=====> ] 12% "]
+[49.258755, "o", "\r[=====> ] 13% \r[======> ] 14% \r[======> ] 15% "]
+[49.285203, "o", "\r[=======> ] 16% \r[=======> ] 17% "]
+[49.312077, "o", "\r[========> ] 18% \r[========> ] 19% \r[=========> ] 20% "]
+[49.335592, "o", "\r[=========> ] 21% \r[==========> ] 22% "]
+[49.359022, "o", "\r[==========> ] 23% \r[===========> ] 24% \r[===========> ] 25% "]
+[49.373007, "o", "\r[============> ] 26% \r[============> ] 27% "]
+[49.400009, "o", "\r[=============> ] 28% \r[=============> ] 29% \r[==============> ] 30% "]
+[49.426003, "o", "\r[==============> ] 31% \r[===============> ] 32% \r[===============> ] 33% \r[================> ] 34% \r[================> ] 35% "]
+[49.442465, "o", "\r[=================> ] 36% \r[=================> ] 37% \r[==================> ] 38% \r[==================> ] 39% \r[===================> ] 40% "]
+[49.468034, "o", "\r[===================> ] 41% "]
+[49.488881, "o", "\r[====================> ] 42% \r[====================> ] 43% \r[=====================> ] 44% \r[=====================> ] 45% \r[======================> ] 46% "]
+[49.507176, "o", "\r[======================> ] 47% \r[=======================> ] 48% \r[=======================> ] 49% \r[========================> ] 50% \r[========================> ] 51% \r[=========================> ] 52% "]
+[49.521442, "o", "\r[=========================> ] 53% \r[==========================> ] 54% \r[==========================> ] 55% \r[===========================> ] 56% \r[===========================> ] 57% "]
+[49.534071, "o", "\r[============================> ] 58% \r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% \r[==============================> ] 62% "]
+[49.552462, "o", "\r[==============================> ] 63% \r[===============================> ] 64% \r[===============================> ] 65% \r[================================> ] 66% \r[================================> ] 67% \r[=================================> ] 68% "]
+[49.565856, "o", "\r[=================================> ] 69% \r[==================================> ] 70% \r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% "]
+[49.581972, "o", "\r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% \r[======================================> ] 78% \r[======================================> ] 79% "]
+[49.593153, "o", "\r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% "]
+[49.604759, "o", "\r[=========================================> ] 84% \r[=========================================> ] 85% \r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% "]
+[49.621975, "o", "\r[============================================> ] 90% \r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% \r[==============================================> ] 95% "]
+[49.636081, "o", "\r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[51.158832, "o", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: plugin requires additional permissions @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n* java.lang.RuntimePermission createClassLoader\r\n* java.lang.RuntimePermission getClassLoader\r\n* java.net.NetPermission getProxySelector\r\n* java.net.SocketPermission * connect,resolve\r\nSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html\r\nfor descriptions of what these permissions allow and the associated risks.\r\n\r\n"]
+[51.167737, "o", "-> Installed index-management\r\n"]
+[52.897178, "o", "-> Installing ingest-common\r\n"]
+[53.492017, "o", "-> Downloading ingest-common from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/ingest-common/ingest-common-1.5.0.zip\r\n"]
+[53.53365, "o", "\r[ ] 1% \r[> ] 2% \r[> ] 3% "]
+[53.558891, "o", "\r[=> ] 4% \r[=> ] 5% \r[==> ] 6% "]
+[53.583151, "o", "\r[==> ] 7% \r[===> ] 8% \r[===> ] 9% \r[====> ] 10% \r[====> ] 11% \r[=====> ] 12% "]
+[53.607405, "o", "\r[=====> ] 13% \r[======> ] 14% \r[======> ] 15% \r[=======> ] 16% \r[=======> ] 17% \r[========> ] 18% "]
+[53.641077, "o", "\r[========> ] 19% \r[=========> ] 20% \r[=========> ] 21% \r[==========> ] 22% \r[==========> ] 23% "]
+[53.653111, "o", "\r[===========> ] 24% \r[===========> ] 25% \r[============> ] 26% \r[============> ] 27% \r[=============> ] 28% "]
+[53.676623, "o", "\r[=============> ] 29% \r[==============> ] 30% \r[==============> ] 31% \r[===============> ] 32% \r[===============> ] 33% \r[================> ] 34% \r[================> ] 35% "]
+[53.700747, "o", "\r[=================> ] 36% \r[=================> ] 37% \r[==================> ] 38% \r[==================> ] 39% \r[===================> ] 40% \r[===================> ] 41% \r[====================> ] 42% "]
+[53.72426, "o", "\r[====================> ] 43% \r[=====================> ] 44% \r[=====================> ] 45% \r[======================> ] 46% \r[======================> ] 47% "]
+[53.768009, "o", "\r[=======================> ] 48% \r[=======================> ] 49% \r[========================> ] 50% \r[========================> ] 51% \r[=========================> ] 52% \r[=========================> ] 53% "]
+[53.801545, "o", "\r[==========================> ] 54% \r[==========================> ] 55% \r[===========================> ] 56% \r[===========================> ] 57% \r[============================> ] 58% \r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% \r[==============================> ] 62% \r[==============================> ] 63% \r[===============================> ] 64% "]
+[53.825391, "o", "\r[===============================> ] 65% \r[================================> ] 66% \r[================================> ] 67% \r[=================================> ] 68% \r[=================================> ] 69% \r[==================================> ] 70% \r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% \r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% "]
+[53.849698, "o", "\r[======================================> ] 78% \r[======================================> ] 79% \r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% \r[=========================================> ] 84% \r[=========================================> ] 85% \r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% "]
+[53.863411, "o", "\r[===========================================> ] 89% \r[============================================> ] 90% \r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% \r[==============================================> ] 95% \r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[55.344941, "o", "-> Installed ingest-common\r\n"]
+[57.153906, "o", "-> Installing ingest-geoip\r\n"]
+[57.75401, "o", "-> Downloading ingest-geoip from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/ingest-geoip/ingest-geoip-1.5.0.zip\r\n"]
+[57.871052, "o", "\r[ ] 1% "]
+[57.926086, "o", "\r[> ] 2% "]
+[57.97206, "o", "\r[> ] 3% "]
+[58.017027, "o", "\r[=> ] 4% "]
+[58.061568, "o", "\r[=> ] 5% "]
+[58.107016, "o", "\r[==> ] 6% "]
+[58.152124, "o", "\r[==> ] 7% "]
+[58.164599, "o", "\r[===> ] 8% "]
+[58.188311, "o", "\r[===> ] 9% "]
+[58.199963, "o", "\r[====> ] 10% "]
+[58.213988, "o", "\r[====> ] 11% "]
+[58.227167, "o", "\r[=====> ] 12% \r[=====> ] 13% "]
+[58.238373, "o", "\r[======> ] 14% "]
+[58.269727, "o", "\r[======> ] 15% "]
+[58.28191, "o", "\r[=======> ] 16% \r[=======> ] 17% "]
+[58.29893, "o", "\r[========> ] 18% "]
+[58.31039, "o", "\r[========> ] 19% "]
+[58.322608, "o", "\r[=========> ] 20% "]
+[58.337408, "o", "\r[=========> ] 21% "]
+[58.347803, "o", "\r[==========> ] 22% "]
+[58.368866, "o", "\r[==========> ] 23% "]
+[58.380442, "o", "\r[===========> ] 24% \r[===========> ] 25% "]
+[58.391095, "o", "\r[============> ] 26% "]
+[58.408467, "o", "\r[============> ] 27% "]
+[58.420532, "o", "\r[=============> ] 28% "]
+[58.437093, "o", "\r[=============> ] 29% "]
+[58.445246, "o", "\r[==============> ] 30% "]
+[58.457331, "o", "\r[==============> ] 31% \r[===============> ] 32% "]
+[58.468063, "o", "\r[===============> ] 33% "]
+[58.483002, "o", "\r[================> ] 34% "]
+[58.503377, "o", "\r[================> ] 35% "]
+[58.518131, "o", "\r[=================> ] 36% "]
+[58.52981, "o", "\r[=================> ] 37% \r[==================> ] 38% "]
+[58.550612, "o", "\r[==================> ] 39% \r[===================> ] 40% "]
+[58.573173, "o", "\r[===================> ] 41% "]
+[58.585347, "o", "\r[====================> ] 42% "]
+[58.596762, "o", "\r[====================> ] 43% \r[=====================> ] 44% "]
+[58.609227, "o", "\r[=====================> ] 45% "]
+[58.621475, "o", "\r[======================> ] 46% "]
+[58.640182, "o", "\r[======================> ] 47% \r[=======================> ] 48% "]
+[58.652352, "o", "\r[=======================> ] 49% "]
+[58.663455, "o", "\r[========================> ] 50% "]
+[58.675375, "o", "\r[========================> ] 51% \r[=========================> ] 52% "]
+[58.687957, "o", "\r[=========================> ] 53% "]
+[58.700142, "o", "\r[==========================> ] 54% "]
+[58.705539, "o", "\r[==========================> ] 55% "]
+[58.717056, "o", "\r[===========================> ] 56% "]
+[58.730253, "o", "\r[===========================> ] 57% "]
+[58.742137, "o", "\r[============================> ] 58% "]
+[58.756093, "o", "\r[============================> ] 59% \r[=============================> ] 60% "]
+[58.767034, "o", "\r[=============================> ] 61% "]
+[58.779206, "o", "\r[==============================> ] 62% "]
+[58.783029, "o", "\r[==============================> ] 63% "]
+[58.795196, "o", "\r[===============================> ] 64% "]
+[58.806071, "o", "\r[===============================> ] 65% "]
+[58.81725, "o", "\r[================================> ] 66% "]
+[59.055563, "o", "\r[================================> ] 67% "]
+[59.094186, "o", "\r[=================================> ] 68% "]
+[59.107635, "o", "\r[=================================> ] 69% "]
+[59.121251, "o", "\r[==================================> ] 70% "]
+[59.127755, "o", "\r[==================================> ] 71% "]
+[59.139061, "o", "\r[===================================> ] 72% "]
+[59.159138, "o", "\r[===================================> ] 73% "]
+[59.170721, "o", "\r[====================================> ] 74% "]
+[59.193229, "o", "\r[====================================> ] 75% \r[=====================================> ] 76% "]
+[59.206047, "o", "\r[=====================================> ] 77% "]
+[59.217823, "o", "\r[======================================> ] 78% "]
+[59.220268, "o", "\r[======================================> ] 79% "]
+[59.231014, "o", "\r[=======================================> ] 80% "]
+[59.460679, "o", "\r[=======================================> ] 81% "]
+[59.507613, "o", "\r[========================================> ] 82% "]
+[59.517884, "o", "\r[========================================> ] 83% "]
+[59.527789, "o", "\r[=========================================> ] 84% "]
+[59.538474, "o", "\r[=========================================> ] 85% \r[==========================================> ] 86% "]
+[59.546655, "o", "\r[==========================================> ] 87% "]
+[59.559148, "o", "\r[===========================================> ] 88% "]
+[59.561683, "o", "\r[===========================================> ] 89% "]
+[59.571814, "o", "\r[============================================> ] 90% \r[============================================> ] 91% "]
+[59.581792, "o", "\r[=============================================> ] 92% \r[=============================================> ] 93% "]
+[59.589942, "o", "\r[==============================================> ] 94% "]
+[59.608894, "o", "\r[==============================================> ] 95% "]
+[59.636467, "o", "\r[===============================================> ] 96% "]
+[59.666477, "o", "\r[===============================================> ] 97% "]
+[59.691764, "o", "\r[================================================>] 98% "]
+[59.710733, "o", "\r[================================================>] 99% "]
+[59.836112, "o", "\r[=================================================] 100% \r\n"]
+[62.301775, "o", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: plugin requires additional permissions @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n* java.lang.RuntimePermission accessDeclaredMembers\r\n* java.lang.reflect.ReflectPermission suppressAccessChecks\r\nSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html\r\nfor descriptions of what these permissions allow and the associated risks.\r\n\r\n"]
+[62.305579, "o", "-> Installed ingest-geoip\r\n"]
+[64.078336, "o", "-> Installing ingest-user-agent\r\n"]
+[64.662014, "o", "-> Downloading ingest-user-agent from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/ingest-user-agent/ingest-user-agent-1.5.0.zip\r\n"]
+[64.70031, "o", "\r[====> ] 11% \r[==========> ] 23% \r[================> ] 34% \r[======================> ] 46% \r[============================> ] 58% \r[==================================> ] 70% "]
+[64.71544, "o", "\r[=======================================> ] 81% \r[=============================================> ] 93% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[66.168591, "o", "-> Installed ingest-user-agent\r\n"]
+[67.965054, "o", "-> Installing mapper-annotated-text\r\n"]
+[68.650052, "o", "-> Downloading mapper-annotated-text from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/mapper-annotated-text/mapper-annotated-text-1.5.0.zip\r\n"]
+[68.691232, "o", "\r[===========> ] 24% \r[======================> ] 47% \r[==================================> ] 71% \r[==============================================> ] 95% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[70.108728, "o", "-> Installed mapper-annotated-text\r\n"]
+[71.849315, "o", "-> Installing mapper-murmur3\r\n"]
+[72.488021, "o", "-> Downloading mapper-murmur3 from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/mapper-murmur3/mapper-murmur3-1.5.0.zip\r\n"]
+[72.522106, "o", "\r[========================> ] 50% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[73.981366, "o", "-> Installed mapper-murmur3\r\n"]
+[75.742564, "o", "-> Installing mapper-size\r\n"]
+[76.33403, "o", "-> Downloading mapper-size from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/mapper-size/mapper-size-1.5.0.zip\r\n"]
+[76.367277, "o", "\r[============================> ] 58% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[77.990793, "o", "-> Installed mapper-size\r\n"]
+[79.639789, "o", "-> Installing transport-nio\r\n"]
+[80.288006, "o", "-> Downloading transport-nio from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/transport-nio/transport-nio-1.5.0.zip\r\n"]
+[80.325685, "o", "\r[ ] 1% \r[> ] 2% "]
+[80.350346, "o", "\r[> ] 3% \r[=> ] 4% \r[=> ] 5% "]
+[80.373448, "o", "\r[==> ] 6% \r[==> ] 7% \r[===> ] 8% \r[===> ] 9% "]
+[80.396389, "o", "\r[====> ] 10% \r[====> ] 11% \r[=====> ] 12% \r[=====> ] 13% \r[======> ] 14% "]
+[80.418941, "o", "\r[======> ] 15% \r[=======> ] 16% \r[=======> ] 17% \r[========> ] 18% \r[========> ] 19% "]
+[80.454669, "o", "\r[=========> ] 20% \r[=========> ] 21% \r[==========> ] 22% \r[==========> ] 23% \r[===========> ] 24% "]
+[80.478367, "o", "\r[===========> ] 25% \r[============> ] 26% \r[============> ] 27% \r[=============> ] 28% "]
+[80.501874, "o", "\r[=============> ] 29% \r[==============> ] 30% \r[==============> ] 31% \r[===============> ] 32% \r[===============> ] 33% \r[================> ] 34% "]
+[80.529047, "o", "\r[================> ] 35% \r[=================> ] 36% "]
+[80.549601, "o", "\r[=================> ] 37% \r[==================> ] 38% \r[==================> ] 39% "]
+[80.574285, "o", "\r[===================> ] 40% \r[===================> ] 41% \r[====================> ] 42% \r[====================> ] 43% \r[=====================> ] 44% "]
+[80.597376, "o", "\r[=====================> ] 45% \r[======================> ] 46% \r[======================> ] 47% \r[=======================> ] 48% \r[=======================> ] 49% \r[========================> ] 50% "]
+[80.622325, "o", "\r[========================> ] 51% \r[=========================> ] 52% \r[=========================> ] 53% \r[==========================> ] 54% \r[==========================> ] 55% \r[===========================> ] 56% \r[===========================> ] 57% "]
+[80.641888, "o", "\r[============================> ] 58% \r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% "]
+[80.663855, "o", "\r[==============================> ] 62% \r[==============================> ] 63% \r[===============================> ] 64% \r[===============================> ] 65% \r[================================> ] 66% "]
+[80.687017, "o", "\r[================================> ] 67% \r[=================================> ] 68% \r[=================================> ] 69% \r[==================================> ] 70% \r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% \r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% \r[======================================> ] 78% "]
+[80.705462, "o", "\r[======================================> ] 79% \r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% \r[=========================================> ] 84% \r[=========================================> ] 85% \r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% "]
+[80.728205, "o", "\r[============================================> ] 90% \r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% \r[==============================================> ] 95% \r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[82.279224, "o", "-> Installed transport-nio\r\n"]
+[84.061288, "o", "-> Installing cross-cluster-replication\r\n"]
+[84.692015, "o", "-> Downloading cross-cluster-replication from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/cross-cluster-replication/cross-cluster-replication-1.5.0.zip\r\n"]
+[84.732052, "o", "\r[ ] 1% \r[> ] 2% \r[> ] 3% \r[=> ] 4% \r[=> ] 5% \r[==> ] 6% \r[==> ] 7% "]
+[84.752508, "o", "\r[===> ] 8% \r[===> ] 9% \r[====> ] 10% \r[====> ] 11% "]
+[84.775575, "o", "\r[=====> ] 12% \r[=====> ] 13% \r[======> ] 14% \r[======> ] 15% \r[=======> ] 16% \r[=======> ] 17% \r[========> ] 18% \r[========> ] 19% \r[=========> ] 20% \r[=========> ] 21% \r[==========> ] 22% \r[==========> ] 23% \r[===========> ] 24% "]
+[84.799872, "o", "\r[===========> ] 25% \r[============> ] 26% \r[============> ] 27% \r[=============> ] 28% \r[=============> ] 29% \r[==============> ] 30% \r[==============> ] 31% \r[===============> ] 32% \r[===============> ] 33% \r[================> ] 34% \r[================> ] 35% \r[=================> ] 36% \r[=================> ] 37% "]
+[84.823511, "o", "\r[==================> ] 38% \r[==================> ] 39% \r[===================> ] 40% \r[===================> ] 41% \r[====================> ] 42% \r[====================> ] 43% \r[=====================> ] 44% \r[=====================> ] 45% \r[======================> ] 46% \r[======================> ] 47% \r[=======================> ] 48% \r[=======================> ] 49% \r[========================> ] 50% \r[========================> ] 51% \r[=========================> ] 52% "]
+[84.848244, "o", "\r[=========================> ] 53% \r[==========================> ] 54% \r[==========================> ] 55% \r[===========================> ] 56% \r[===========================> ] 57% \r[============================> ] 58% \r[============================> ] 59% \r[=============================> ] 60% \r[=============================> ] 61% \r[==============================> ] 62% \r[==============================> ] 63% \r[===============================> ] 64% \r[===============================> ] 65% \r[================================> ] 66% "]
+[84.871506, "o", "\r[================================> ] 67% \r[=================================> ] 68% \r[=================================> ] 69% \r[==================================> ] 70% \r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% \r[====================================> ] 74% \r[====================================> ] 75% \r[=====================================> ] 76% \r[=====================================> ] 77% \r[======================================> ] 78% \r[======================================> ] 79% "]
+[84.894865, "o", "\r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% \r[========================================> ] 83% \r[=========================================> ] 84% \r[=========================================> ] 85% \r[==========================================> ] 86% \r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% \r[============================================> ] 90% \r[============================================> ] 91% \r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% "]
+[84.911192, "o", "\r[==============================================> ] 95% \r[===============================================> ] 96% \r[===============================================> ] 97% \r[================================================>] 98% \r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[86.545862, "o", "-> Installed cross-cluster-replication\r\n"]
+[88.269368, "o", "-> Installing knn\r\n"]
+[88.849014, "o", "-> Downloading knn from infinilabs https://release.infinilabs.com/easysearch/stable/plugins/knn/knn-1.5.0.zip\r\n"]
+[88.943117, "o", "\r[ ] 1% "]
+[88.965432, "o", "\r[> ] 2% "]
+[89.011217, "o", "\r[> ] 3% "]
+[89.034089, "o", "\r[=> ] 4% "]
+[89.056874, "o", "\r[=> ] 5% "]
+[89.123674, "o", "\r[==> ] 6% "]
+[89.147462, "o", "\r[==> ] 7% "]
+[89.171432, "o", "\r[===> ] 8% "]
+[89.191298, "o", "\r[===> ] 9% "]
+[89.213754, "o", "\r[====> ] 10% "]
+[89.24006, "o", "\r[====> ] 11% \r[=====> ] 12% "]
+[89.255363, "o", "\r[=====> ] 13% "]
+[89.279965, "o", "\r[======> ] 14% \r[======> ] 15% "]
+[89.298788, "o", "\r[=======> ] 16% \r[=======> ] 17% "]
+[89.31384, "o", "\r[========> ] 18% \r[========> ] 19% "]
+[89.328397, "o", "\r[=========> ] 20% \r[=========> ] 21% "]
+[89.343862, "o", "\r[==========> ] 22% "]
+[89.355401, "o", "\r[==========> ] 23% \r[===========> ] 24% "]
+[89.370876, "o", "\r[===========> ] 25% \r[============> ] 26% "]
+[89.383546, "o", "\r[============> ] 27% \r[=============> ] 28% "]
+[89.397871, "o", "\r[=============> ] 29% \r[==============> ] 30% "]
+[89.426554, "o", "\r[==============> ] 31% \r[===============> ] 32% "]
+[89.43078, "o", "\r[===============> ] 33% "]
+[89.444693, "o", "\r[================> ] 34% \r[================> ] 35% "]
+[89.4581, "o", "\r[=================> ] 36% \r[=================> ] 37% "]
+[89.469541, "o", "\r[==================> ] 38% \r[==================> ] 39% "]
+[89.488744, "o", "\r[===================> ] 40% \r[===================> ] 41% "]
+[89.503593, "o", "\r[====================> ] 42% \r[====================> ] 43% "]
+[89.515634, "o", "\r[=====================> ] 44% \r[=====================> ] 45% "]
+[89.526795, "o", "\r[======================> ] 46% \r[======================> ] 47% "]
+[89.538613, "o", "\r[=======================> ] 48% \r[=======================> ] 49% "]
+[89.556196, "o", "\r[========================> ] 50% \r[========================> ] 51% "]
+[89.569299, "o", "\r[=========================> ] 52% \r[=========================> ] 53% "]
+[89.580826, "o", "\r[==========================> ] 54% \r[==========================> ] 55% "]
+[89.592643, "o", "\r[===========================> ] 56% \r[===========================> ] 57% \r[============================> ] 58% "]
+[89.604372, "o", "\r[============================> ] 59% \r[=============================> ] 60% "]
+[89.614419, "o", "\r[=============================> ] 61% "]
+[89.635158, "o", "\r[==============================> ] 62% \r[==============================> ] 63% "]
+[89.64912, "o", "\r[===============================> ] 64% "]
+[89.662079, "o", "\r[===============================> ] 65% \r[================================> ] 66% "]
+[89.676308, "o", "\r[================================> ] 67% \r[=================================> ] 68% "]
+[89.687066, "o", "\r[=================================> ] 69% \r[==================================> ] 70% "]
+[89.698058, "o", "\r[==================================> ] 71% \r[===================================> ] 72% \r[===================================> ] 73% "]
+[89.709464, "o", "\r[====================================> ] 74% \r[====================================> ] 75% "]
+[89.721999, "o", "\r[=====================================> ] 76% \r[=====================================> ] 77% "]
+[89.737787, "o", "\r[======================================> ] 78% \r[======================================> ] 79% "]
+[89.750273, "o", "\r[=======================================> ] 80% \r[=======================================> ] 81% \r[========================================> ] 82% "]
+[89.761098, "o", "\r[========================================> ] 83% \r[=========================================> ] 84% "]
+[89.772907, "o", "\r[=========================================> ] 85% \r[==========================================> ] 86% "]
+[89.784079, "o", "\r[==========================================> ] 87% \r[===========================================> ] 88% \r[===========================================> ] 89% "]
+[89.798053, "o", "\r[============================================> ] 90% \r[============================================> ] 91% "]
+[89.80957, "o", "\r[=============================================> ] 92% \r[=============================================> ] 93% \r[==============================================> ] 94% "]
+[89.821496, "o", "\r[==============================================> ] 95% \r[===============================================> ] 96% "]
+[89.834981, "o", "\r[===============================================> ] 97% \r[================================================>] 98% "]
+[89.84447, "o", "\r[================================================>] 99% \r[=================================================] 100% \r\n"]
+[92.141852, "o", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: plugin requires additional permissions @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n* java.lang.RuntimePermission accessClassInPackage.sun.misc\r\n* java.lang.RuntimePermission accessClassInPackage.sun.reflect\r\n* java.lang.RuntimePermission accessDeclaredMembers\r\n* java.lang.RuntimePermission reflectionFactoryAccess\r\n* java.lang.reflect.ReflectPermission suppressAccessChecks\r\nSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html\r\nfor descriptions of what these permissions allow and the associated risks.\r\n\r\n"]
+[92.160117, "o", "-> Installed knn\r\n"]
+[92.205054, "o", "\r\nAll easysearch plugins are installed.\r\n"]
+[92.207328, "o", "\r\n"]
+[92.209247, "o", "Initialization successful! Easysearch is ready to use.\r\n"]
+[92.211108, "o", "\r\n"]
+[92.211613, "o", "\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# "]
+[93.65713, "o", "# 调整目录权限\r\n\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# chown -R infini.infini /opt/easysearch\r\n"]
+[93.661143, "o", "\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# "]
+[98.131666, "o", "# 运行 Easysearch\r\n\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# su infini -c \"/opt/easysearch/bin/"]
+[98.132333, "o", "easysearch -d\""]
+[98.689369, "o", "\r\n"]
+[101.21456, "o", "\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# "]
+[106.150179, "o", "# 运行 Console\r\n\u001b]0;root@VM-20-4-centos:/opt/easysearch\u0007[root@VM-20-4-centos easysearch]# cd /opt/console && ./console-linux-am"]
+[106.164446, "o", "d64 -service install && ./console-linux-amd64 -service start"]
+[107.227366, "o", "\r\n"]
+[107.938226, "o", "Success\r\n"]
+[108.195678, "o", "Success\r\n"]
+[108.197344, "o", "\u001b]0;root@VM-20-4-centos:/opt/console\u0007[root@VM-20-4-centos console]# "]
+[110.80027, "o", "# 检查 Easysearch\r\n\u001b]0;root@VM-20-4-centos:/opt/console\u0007[root@VM-20-4-centos console]# curl -ku admin:44e4e00cded8d82c16c"]
+[111.801025, "o", "f https://localhost:9200"]
+[112.678406, "o", "\r\n"]
+[113.273555, "o", "{\r\n \"name\" : \"VM-20-4-centos\",\r\n \"cluster_name\" : \"easysearch\",\r\n \"cluster_uuid\" : \"XSeXRYHJTZGsIaFvoiTyng\",\r\n \"version\" : {\r\n \"distribution\" : \"easysearch\",\r\n \"number\" : \"1.5.0\",\r\n \"distributor\" : \"INFINI Labs\",\r\n \"build_hash\" : \"144cef0224b140fb43a1332055cc4da95683c977\",\r\n \"build_date\" : \"2023-08-07T06:43:14.117136Z\",\r\n \"build_snapshot\" : false,\r\n \"lucene_version\" : \"8.11.2\",\r\n \"minimum_wire_lucene_version\" : \"7.7.0\",\r\n \"minimum_lucene_index_compatibility_version\" : \"7.7.0\"\r\n },\r\n \"tagline\" : \"You Know, For Easy Search!\"\r\n}\r\n"]
diff --git a/docs/static/cast/install.cast b/docs/static/cast/install.cast
new file mode 100644
index 00000000..38d1f752
--- /dev/null
+++ b/docs/static/cast/install.cast
@@ -0,0 +1,75 @@
+{"version": 2, "width": 204, "height": 50, "timestamp": 1692329747, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
+[0.088873, "o", "\u001b]0;root@VM-20-4-centos:~\u0007\u001b[?1034h[root@VM-20-4-centos ~]# "]
+[1.203074, "o", "curl -sSL http://get.infini.cloud | bash -s -- -p console -d /infini"]
+[1.763855, "o", "\r\n"]
+[2.220294, "o", " \r\n @@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@@@@\r\n @@@@@@@@@&@@@\r\n #@@@@@@@@@@@@@\r\n @@@ @@@@@@@@@@@@@ \r\n &@@@@@@@ &@@@@@@@@@@@@@ \r\n @&@@@@@@@&@ @@@&@@@@@@@&@ \r\n @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@@@@@@@& @@@@@@@@@@@@@ \r\n %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \r\n @@@@@@@@@@@@&@@@@@@@@@@@@@@@ \r\n @@ ,@@@@@@@@@@@@@@@@@@@@@@@& \r\n @@@@@. @@@@@&@@@@@@@@@@@@@@ \r\n @@@@@@@@@@ @@@@@@@@@@@@@@@# \r\n @&@@@&@@@&@@@ &@&@@@&@@@&@ \r\n @@@@@@@@@@@@@. @@@@@@@* \r\n @@@@@@@@@@@@@ %@@@ \r\n @@@@@@@@@@@@@ \r\n/@@@@@@@&@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@@ \r\n@@@@@@@@@@@@ Welcome to INFINI Labs!\r\n\r\n\r\nNow attempting the installation... \r\n\r\n"]
+[2.499294, "o", "Name: [console], Version: [1.6.0-1216], Path: [/infini]\r\n"]
+[2.51098, "o", "File: [https://release.infinilabs.com/console/stable/console-1.6.0-1216-linux-amd64.tar.gz]\r\n"]
+[2.679215, "o", "\r 0.1%\r 0.2%"]
+[2.688465, "o", "\r 0.3%\r 0.4%\r 0.5%"]
+[2.69812, "o", "\r 0.5%\r 0.6%\r 0.7%\r 0.8%\r 0.9%\r 1.0%\r 1.1%"]
+[2.706558, "o", "\r 1.2%"]
+[2.70737, "o", "\r 1.3%\r 1.4%\r# 1.5%\r# 1.6%"]
+[2.718062, "o", "\r# 1.6%\r# 1.7%\r# 1.8%\r# 1.9%\r# 2.0%\r# 2.1%\r# 2.2%\r# 2.3%\r# 2.4%\r# 2.5%\r# 2.6%\r# 2.7%\r# 2.7%\r## 2.8%\r## 2.9%\r## 3.0%\r## 3.1%"]
+[2.726478, "o", "\r## 3.2%\r## 3.3%\r## 3.4%\r## 3.5%\r## 3.6%\r## 3.7%\r## 3.8%\r## 3.8%\r## 3.9%\r## 4.0%\r## 4.1%"]
+[2.728718, "o", "\r### 4.2%\r### 4.3%\r### 4.4%\r### 4.5%\r### 4.6%\r### 4.7%\r### 4.8%\r### 4.9%\r### 4.9%\r### 5.0%\r### 5.1%\r### 5.2%\r### 5.3%\r### 5.4%"]
+[2.734263, "o", "\r### 5.5%"]
+[2.741796, "o", "\r#### 5.6%\r#### 5.7%\r#### 5.8%\r#### 5.9%\r#### 5.9%\r#### 6.0%\r#### 6.1%\r#### 6.2%\r#### 6.3%\r#### 6.4%\r#### 6.5%\r#### 6.6%\r#### 6.7%\r#### 6.8%\r#### 6.9%\r##### 7.0%\r##### 7.0%\r##### 7.1%\r##### 7.2%\r##### 7.3%\r##### 7.4%\r##### 7.5%\r##### 7.6%\r##### 7.7%\r##### 7.8%\r##### 7.9%\r##### 8.0%\r##### 8.1%\r##### 8.1%\r##### 8.2%\r##### 8.3%\r###### 8.4%\r###### 8.5%\r###### 8.6%\r###### 8.7%\r###### 8.8%\r###### 8.9%\r###### 9.0%\r###### 9.1%\r###### 9.2%\r###### 9.2%\r###### 9.3%\r###### 9.4%\r###### 9.5%\r###### 9.6%\r###### 9.7%\r####### 9.8%\r####### 9.9%\r####### 10.0%\r####### 10.1%"]
+[2.747594, "o", "\r####### 10.2%\r####### 10.3%\r####### 10.3%\r####### 10.4%\r####### 10.5%\r####### 10.6%\r####### 10.7%\r####### 10.8%\r####### 10.9%\r####### 11.0%\r####### 11.1%\r######## 11.2%\r######## 11.3%\r######## 11.4%\r######## 11.4%\r######## 11.5%\r######## 11.6%\r######## 11.7%\r######## 11.8%\r######## 11.9%\r######## 12.0%\r######## 12.1%\r######## 12.2%\r######## 12.3%\r######## 12.4%\r######## 12.4%\r######### 12.5%\r######### 12.6%\r######### 12.7%\r######### 12.8%"]
+[2.760728, "o", "\r######### 12.9%\r######### 13.0%\r######### 13.1%\r######### 13.2%\r######### 13.3%\r######### 13.4%\r######### 13.5%\r######### 13.5%\r######### 13.6%\r######### 13.7%\r######### 13.8%\r########## 13.9%\r########## 14.0%\r########## 14.1%\r########## 14.2%\r########## 14.3%\r########## 14.4%\r########## 14.5%\r########## 14.6%\r########## 14.6%\r########## 14.7%\r########## 14.8%\r########## 14.9%\r########## 15.0%\r########## 15.1%\r########## 15.2%\r########### 15.3%\r########### 15.4%\r########### 15.5%\r########### 15.6%\r########### 15.7%\r########### 15.7%\r########### 15.8%\r########### 15.9%\r########### 16.0%\r########### 16.1%\r########### 16.2%\r########### 16.3%\r########### 16.4%\r########### 16.5%\r########### 16.6%\r########### 16.7%\r############ 16.8%\r############ 16.8%\r############ 16.9%\r############ 17.0%\r############ 17.1%\r############ 17.2%\r############ 17.3%\r############ 17.4%\r############ 17.5%\r############ "]
+[2.761212, "o", " 17.6%\r############ 17.7%\r############ 17.8%\r############ 17.9%\r############ 17.9%\r############ 18.0%\r############# 18.1%\r############# 18.2%\r############# 18.3%\r############# 18.4%\r############# 18.5%\r############# 18.6%\r############# 18.7%\r############# 18.8%\r############# 18.9%\r############# 19.0%\r############# 19.0%\r############# 19.1%\r############# 19.2%\r############# 19.3%\r############# 19.4%"]
+[2.771645, "o", "\r############## 19.5%\r############## 19.6%\r############## 19.7%\r############## 19.8%\r############## 19.9%\r############## 20.0%\r############## 20.0%\r############## 20.1%\r############## 20.2%\r############## 20.3%\r############## 20.4%\r############## 20.5%\r############## 20.6%\r############## 20.7%\r############## 20.8%\r############### 20.9%\r############### 21.0%\r############### 21.1%\r############### 21.1%\r############### 21.2%\r############### 21.3%\r############### 21.4%\r############### 21.5%\r############### 21.6%\r############### 21.7%\r############### 21.8%\r############### 21.9%\r############### 22.0%\r############### 22.1%\r############### 22.2%\r################ 22.2%\r################ 22.3%\r################ 22.4%\r################ 22.5%\r################ 22.6%\r################ 22.7%\r################ 22.8%\r################ 22.9%\r################ 23.0%\r################ 23.1%\r################ 23.2%\r################ 23.3%\r################ 23.3%\r################ 23.4%\r################ 23.5%\r################# 23.6%\r################# 23.7%\r################# 23.8%\r################# 23.9%\r################# 24.0%\r################# 24.1%\r##############"]
+[2.771963, "o", "### 24.2%\r################# 24.3%\r################# 24.4%\r################# 24.4%\r################# 24.5%\r################# 24.6%\r################# 24.7%\r################# 24.8%\r################# 24.9%\r################# 25.0%\r################## 25.1%\r################## 25.2%\r################## 25.3%\r################## 25.4%\r################## 25.5%\r################## 25.5%\r################## 25.6%\r################## 25.7%\r################## 25.8%\r################## "]
+[2.782522, "o", " 25.9%\r################## 26.0%\r################## 26.1%\r################## 26.2%\r################## 26.3%\r################## 26.4%\r################### 26.5%\r################### 26.5%\r################### 26.6%\r################### 26.7%\r################### 26.8%\r################### 26.9%\r################### 27.0%\r################### 27.1%\r################### 27.2%\r################### 27.3%\r################### 27.4%\r################### 27.5%\r################### 27.6%\r################### 27.6%\r################### 27.7%\r#################### 27.8%\r#################### 27.9%\r#################### 28.0%\r#################### 28.1%\r#################### 28.2%\r#################### 28.3%\r#################### 28.4%\r#################### 28.5%\r#################### 28.6%\r#################### 28.7%\r#################### 28.7%\r#################### 28.8%\r#################### 28.9%\r#################### 29.0%\r#################### 29.1%\r##################### 29.2%\r##################### 29.3%\r##################### 29.4%\r##################### 29.5%\r##################### 29.6%\r##################### 29.7%\r##################### 29.8%\r##################### 29.8%\r##################### 29.9%\r##################### 30.0%\r##################### 30.1%\r##################### 30.2%\r##################### 30.3%\r##################### 30.4%\r##################### 30.5%\r###################### "]
+[2.782804, "o", " 30.6%\r###################### 30.7%\r###################### 30.8%\r###################### 30.9%\r###################### 30.9%\r###################### 31.0%\r###################### 31.1%\r###################### 31.2%\r###################### 31.3%\r###################### 31.4%\r###################### 31.5%\r###################### 31.6%\r###################### 31.7%\r###################### 31.8%\r###################### 31.9%\r####################### 32.0%\r####################### 32.0%\r####################### 32.1%\r####################### 32.2%\r####################### 32.3%\r####################### 32.4%\r####################### 32.5%\r####################### 32.6%\r####################### "]
+[2.79388, "o", " 32.7%\r####################### 32.8%\r####################### 32.9%\r####################### 33.0%\r####################### 33.0%\r####################### 33.1%\r####################### 33.2%\r####################### 33.3%\r######################## 33.4%\r######################## 33.5%\r######################## 33.6%\r######################## 33.7%\r######################## 33.8%\r######################## 33.9%\r######################## 34.0%\r######################## 34.1%\r######################## 34.1%\r######################## 34.2%\r######################## 34.3%\r######################## 34.4%\r######################## 34.5%\r######################## 34.6%\r######################## 34.7%\r######################### 34.8%\r######################### 34.9%\r######################### 35.0%\r######################### 35.1%\r######################### 35.2%\r######################### 35.2%\r######################### 35.3%\r######################### 35.4%\r######################### 35.5%\r######################### 35.6%\r######################### 35.7%\r######################### 35.8%\r######################### 35.9%\r######################### 36.0%\r######################### 36.1%\r########################## 36.2%\r########################## 36.3%\r########################## 36.3%\r########################## 36.4%\r########################## 36.5%\r########################## 36.6%\r########################## 36.7%\r########################## 36.8%\r########################## 36.9%\r########################## 37.0%\r########################## 37.1%\r########################## 37.2%\r########################## 37.3%\r########################## "]
+[2.795339, "o", " 37.4%\r########################## 37.4%\r########################### 37.5%\r########################### 37.6%\r########################### 37.7%\r########################### 37.8%\r########################### 37.9%\r########################### 38.0%\r########################### 38.1%\r########################### 38.2%\r########################### 38.3%\r########################### 38.4%\r########################### 38.5%\r########################### 38.5%\r########################### 38.6%\r########################### 38.7%\r########################### 38.8%\r############################ 38.9%\r############################ 39.0%\r############################ 39.1%\r############################ 39.2%\r############################ 39.3%\r############################ 39.4%\r############################ 39.5%\r############################ 39.5%\r################"]
+[2.820752, "o", "############ 39.6%\r############################ 39.7%\r############################ 39.8%\r############################ 39.9%\r############################ 40.0%\r############################ 40.1%\r############################ 40.2%\r############################# 40.3%\r############################# 40.4%\r############################# 40.5%\r############################# 40.6%\r############################# 40.6%\r############################# 40.7%\r############################# 40.8%\r############################# 40.9%\r############################# 41.0%\r############################# 41.1%\r############################# 41.2%\r############################# 41.3%\r############################# 41.4%\r############################# 41.5%\r############################# 41.6%\r############################# 41.7%\r############################## 41.7%\r############################## 41.8%\r############################## 41.9%\r############################## 42.0%\r############################## 42.1%\r############################## 42.2%\r############################## 42.3%\r############################## 42.4%\r############################## 42.5%\r############################## 42.6%\r############################## 42.7%\r############################## 42.8%\r############################## 42.8%\r############################## 42.9%\r############################## 43.0%\r############################### 43.1%\r############################### 43.2%\r############################### 43.3%\r############################### 43.4%\r############################### 43.5%\r############################### 43.6%\r############################### 43.7%\r############################### 43.8%\r############################### 43.9%\r############################### 43.9%\r############################### 44.0%\r############################### 44.1%\r############################### 44.2%\r###############################"]
+[2.82138, "o", " 44.3%\r############################### 44.4%\r################################ 44.5%\r################################ 44.6%\r################################ 44.7%\r################################ 44.8%\r################################ 44.9%\r################################ 45.0%\r################################ 45.0%\r################################ 45.1%\r################################ 45.2%\r################################ 45.3%\r################################ 45.4%\r################################ 45.5%\r################################ 45.6%\r################################ 45.7%\r################################ 45.8%\r################################# 45.9%\r################################# 46.0%\r################################# 46.1%\r################################# 46.1%\r################################# 46.2%\r################################# 46.3%\r################################# 46.4%\r################################# 46.5%\r################################# 46.6%\r################################# 46.7%\r################################# 46.8%\r################################# "]
+[2.832606, "o", " 46.9%\r################################# 47.0%\r################################# 47.1%\r################################# 47.1%\r################################## 47.2%\r################################## 47.3%\r################################## 47.4%\r################################## 47.5%\r################################## 47.6%\r################################## 47.7%\r################################## 47.8%\r################################## 47.9%\r################################## 48.0%\r################################## 48.1%\r################################## 48.2%\r################################## 48.2%\r################################## 48.3%\r################################## 48.4%\r################################## 48.5%\r################################### 48.6%\r################################### 48.7%\r################################### 48.8%\r################################### 48.9%\r################################### 49.0%\r################################### 49.1%\r################################### 49.2%\r################################### 49.3%\r################################### 49.3%\r################################### 49.4%\r################################### 49.5%\r################################### 49.6%\r################################### 49.7%\r################################### 49.8%\r################################### 49.9%\r################################### 50.0%\r#################################### 50.1%\r#################################### 50.2%\r#################################### 50.3%\r#################################### 50.4%\r#################################### 50.4%\r#################################### 50.5%\r#################################### 50.6%\r#################################### 50.7%\r#################################### 50.8%\r#################################### 50.9%\r#################################### 51.0%\r#################################### 51.1%\r#################################### 51.2%\r#################################### 51.3%\r#################################### 51.4%\r##################################### 51.5%\r##################################### "]
+[2.832937, "o", " 51.5%\r##################################### 51.6%\r##################################### 51.7%\r##################################### 51.8%\r##################################### 51.9%\r##################################### 52.0%\r##################################### 52.1%\r##################################### 52.2%\r##################################### 52.3%\r##################################### 52.4%\r##################################### 52.5%\r##################################### 52.6%\r##################################### 52.6%\r##################################### 52.7%\r###################################### 52.8%\r###################################### 52.9%\r###################################### 53.0%\r###################################### 53.1%\r###################################### 53.2%\r###################################### 53.3%\r###################################### 53.4%\r###################################### 53.5%\r###################################### 53.6%\r###################################### 53.6%\r###################################### 53.7%\r###################################### 53.8%\r###################################### 53.9%\r###################################### 54.0%\r###################################### 54.1%\r####################################### 54.2%\r####################################### 54.3%\r####################################### 54.4%"]
+[2.843608, "o", "\r####################################### 54.5%\r####################################### 54.6%\r####################################### 54.7%\r####################################### 54.7%\r####################################### 54.8%\r####################################### 54.9%\r####################################### 55.0%\r####################################### 55.1%\r####################################### 55.2%\r####################################### 55.3%\r####################################### 55.4%\r####################################### 55.5%\r######################################## 55.6%\r######################################## 55.7%\r######################################## 55.8%\r######################################## 55.8%\r######################################## 55.9%\r######################################## 56.0%\r######################################## 56.1%\r######################################## 56.2%\r######################################## 56.3%\r######################################## 56.4%\r######################################## 56.5%\r######################################## 56.6%\r######################################## 56.7%\r######################################## 56.8%\r######################################## 56.9%\r######################################### 56.9%\r######################################### 57.0%\r######################################### 57.1%\r######################################### 57.2%\r######################################### 57.3%\r######################################### 57.4%\r######################################### 57.5%\r######################################### 57.6%\r######################################### 57.7%\r######################################### 57.8%\r######################################### 57.9%\r######################################### 58.0%\r######################################### 58.0%\r######################################### 58.1%\r######################################### 58.2%\r######################################### 58.3%\r########################################## 58.4%\r########################################## 58.5%\r########################################## 58.6%\r########################################## 58.7%\r########################################## 58.8%\r########################################## 58.9%\r########################################## 59.0%\r########################################## 59.1%\r##############"]
+[2.843996, "o", "############################ 59.1%\r########################################## 59.2%\r########################################## 59.3%\r########################################## 59.4%\r########################################## 59.5%\r########################################## 59.6%\r########################################## 59.7%\r########################################### 59.8%\r########################################### 59.9%\r########################################### 60.0%\r########################################### 60.1%\r########################################### 60.1%\r########################################### 60.2%\r########################################### 60.3%\r########################################### 60.4%\r########################################### 60.5%\r########################################### 60.6%\r########################################### 60.7%\r########################################### 60.8%\r########################################### 60.9%\r########################################### 61.0%\r########################################### 61.1%\r############################################ 61.2%\r############################################ 61.2%\r################"]
+[2.854631, "o", "############################ 61.3%\r############################################ 61.4%\r############################################ 61.5%\r############################################ 61.6%\r############################################ 61.7%\r############################################ 61.8%\r############################################ 61.9%\r############################################ 62.0%\r############################################ 62.1%\r############################################ 62.2%\r############################################ 62.3%\r############################################ 62.3%\r############################################ 62.4%\r############################################# 62.5%\r############################################# 62.6%\r############################################# 62.7%\r############################################# 62.8%\r############################################# 62.9%\r############################################# 63.0%\r############################################# 63.1%\r############################################# 63.2%\r############################################# 63.3%\r############################################# 63.4%\r############################################# 63.4%\r############################################# 63.5%\r############################################# 63.6%\r############################################# 63.7%\r############################################# 63.8%\r############################################## 63.9%\r############################################## 64.0%\r############################################## 64.1%\r############################################## 64.2%\r############################################## 64.3%\r############################################## 64.4%\r############################################## 64.5%\r############################################## 64.5%\r############################################## 64.6%\r############################################## 64.7%\r############################################## 64.8%\r############################################## 64.9%\r############################################## 65.0%\r############################################## 65.1%\r############################################## 65.2%\r############################################## 65.3%\r############################################### 65.4%\r############################################### 65.5%\r############################################### 65.6%\r############################################### 65.6%\r############################################### 65.7%\r############################################### 65.8%\r############################################### 65.9%\r###############################"]
+[2.855205, "o", "################ 66.0%\r############################################### 66.1%\r############################################### 66.2%\r############################################### 66.3%\r############################################### 66.4%\r############################################### 66.5%\r############################################### 66.6%\r############################################### 66.6%\r################################################ 66.7%\r################################################ 66.8%\r################################################ 66.9%\r################################################ 67.0%\r################################################ 67.1%\r################################################ 67.2%\r################################################ 67.3%\r################################################ 67.4%\r################################################ 67.5%\r################################################ 67.6%\r################################################ 67.7%\r################################################ 67.7%\r################################################ 67.8%"]
+[2.866655, "o", "\r################################################ 67.9%\r################################################ 68.0%\r################################################# 68.1%\r################################################# 68.2%\r################################################# 68.3%\r################################################# 68.4%\r################################################# 68.5%\r################################################# 68.6%\r################################################# 68.7%\r################################################# 68.8%\r################################################# 68.8%\r################################################# 68.9%\r################################################# 69.0%\r################################################# 69.1%\r################################################# 69.2%\r################################################# 69.3%\r################################################# 69.4%\r################################################## 69.5%\r################################################## 69.6%\r################################################## 69.7%\r################################################## 69.8%\r################################################## 69.9%\r################################################## 69.9%\r################################################## 70.0%\r################################################## 70.1%\r################################################## 70.2%\r################################################## 70.3%\r################################################## 70.4%\r################################################## 70.5%\r################################################## 70.6%\r################################################## 70.7%\r################################################## 70.8%\r################################################### 70.9%\r################################################### 71.0%\r################################################### 71.0%\r################################################### 71.1%\r################################################### 71.2%\r################################################### 71.3%\r################################################### 71.4%\r################################################### 71.5%\r################################################### 71.6%\r################################################### 71.7%\r################################################### 71.8%\r################################################### 71.9%\r################################################### 72.0%\r################################################### 72.1%\r################################################### 72.1%\r#################################################### 72.2%\r#################################################### 72.3%\r#################################################### 72.4%\r#################################################### 72.5%\r##############"]
+[2.867017, "o", "###################################### 72.6%\r#################################################### 72.7%\r#################################################### 72.8%\r#################################################### 72.9%\r#################################################### 73.0%\r#################################################### 73.1%\r#################################################### 73.2%\r#################################################### 73.2%\r#################################################### 73.3%\r#################################################### 73.4%\r#################################################### 73.5%\r#################################################### 73.6%\r##################################################### 73.7%\r##################################################### 73.8%\r##################################################### 73.9%\r##################################################### 74.0%\r##################################################### 74.1%\r##################################################### 74.2%\r##################################################### 74.2%\r##################################################### 74.3%\r##################################################### 74.4%\r##################################################### 74.5%\r##################################################### 74.6%\r##################################################### 74.7%\r##################################################### 74.8%\r##################"]
+[2.877483, "o", "################################### 74.9%\r##################################################### 75.0%\r###################################################### 75.1%\r###################################################### 75.2%\r###################################################### 75.3%\r###################################################### 75.3%\r###################################################### 75.4%\r###################################################### 75.5%\r###################################################### 75.6%\r###################################################### 75.7%\r###################################################### 75.8%\r###################################################### 75.9%\r###################################################### 76.0%\r###################################################### 76.1%\r###################################################### 76.2%\r###################################################### 76.3%\r###################################################### 76.4%\r####################################################### 76.4%\r####################################################### 76.5%\r####################################################### 76.6%\r####################################################### 76.7%\r####################################################### 76.8%\r####################################################### 76.9%\r####################################################### 77.0%\r####################################################### 77.1%\r####################################################### 77.2%\r####################################################### 77.3%\r####################################################### 77.4%\r####################################################### 77.5%\r####################################################### 77.5%\r####################################################### 77.6%\r####################################################### 77.7%\r######################################################## 77.8%\r######################################################## 77.9%\r######################################################## 78.0%\r######################################################## 78.1%\r######################################################## 78.2%\r######################################################## 78.3%\r######################################################## 78.4%\r######################################################## 78.5%\r######################################################## 78.6%\r######################################################## 78.6%\r######################################################## 78.7%\r######################################################## 78.8%\r######################################################## 78.9%\r######################################################## 79.0%\r######################################################## 79.1%\r######################################################### 79.2%\r######################################################### 79.3%\r######################################################### 79.4%\r######################################################### 79.5%\r#################################"]
+[2.877811, "o", "######################## 79.6%\r######################################################### 79.7%\r######################################################### 79.7%\r######################################################### 79.8%\r######################################################### 79.9%\r######################################################### 80.0%\r######################################################### 80.1%\r######################################################### 80.2%\r######################################################### 80.3%\r######################################################### 80.4%\r######################################################### 80.5%\r########################################################## 80.6%\r########################################################## 80.7%\r########################################################## 80.7%\r########################################################## 80.8%\r########################################################## 80.9%\r########################################################## 81.0%\r########################################################## 81.1%\r########################################################## 81.2%\r########################################################## 81.3%\r########################################################## 81.4%\r########################################################## 81.5%\r########################################################## 81.6%\r########################################################## 81.7%\r########################################################## 81.8%\r########################################################## 81.8%"]
+[2.897853, "o", "\r########################################################## 81.9%\r########################################################### 82.0%\r########################################################### 82.1%\r########################################################### 82.2%\r########################################################### 82.3%\r########################################################### 82.4%\r########################################################### 82.5%\r########################################################### 82.6%\r########################################################### 82.7%\r########################################################### 82.8%\r########################################################### 82.9%\r########################################################### 82.9%\r########################################################### 83.0%\r########################################################### 83.1%\r########################################################### 83.2%"]
+[2.925684, "o", "\r########################################################### 83.3%"]
+[2.951044, "o", "\r############################################################ 83.4%"]
+[2.961521, "o", "\r############################################################ 83.5%"]
+[2.983824, "o", "\r############################################################ 83.6%"]
+[2.994767, "o", "\r############################################################ 83.7%"]
+[3.006266, "o", "\r############################################################ 83.8%\r############################################################ 83.9%\r############################################################ 84.0%"]
+[3.018057, "o", "\r############################################################ 84.0%\r############################################################ 84.1%"]
+[3.028886, "o", "\r############################################################ 84.2%"]
+[3.03993, "o", "\r############################################################ 84.3%\r############################################################ 84.4%"]
+[3.050955, "o", "\r############################################################ 84.5%\r############################################################ 84.6%"]
+[3.062799, "o", "\r############################################################ 84.7%\r############################################################# 84.8%\r############################################################# 84.9%\r############################################################# 85.0%\r############################################################# 85.1%"]
+[3.074175, "o", "\r############################################################# 85.1%\r############################################################# 85.2%\r############################################################# 85.3%"]
+[3.085974, "o", "\r############################################################# 85.4%\r############################################################# 85.5%\r############################################################# 85.6%"]
+[3.097129, "o", "\r############################################################# 85.7%\r############################################################# 85.8%\r############################################################# 85.9%"]
+[3.098147, "o", "\r############################################################# 86.0%\r############################################################# 86.1%\r############################################################## 86.2%"]
+[3.109099, "o", "\r############################################################## 86.2%\r############################################################## 86.3%\r############################################################## 86.4%"]
+[3.120391, "o", "\r############################################################## 86.5%\r############################################################## 86.6%\r############################################################## 86.7%\r############################################################## 86.8%"]
+[3.132279, "o", "\r############################################################## 86.9%\r############################################################## 87.0%\r############################################################## 87.1%\r############################################################## 87.2%\r############################################################## 87.2%"]
+[3.146033, "o", "\r############################################################## 87.3%\r############################################################## 87.4%\r############################################################### 87.5%\r############################################################### 87.6%\r############################################################### 87.7%\r############################################################### 87.8%\r############################################################### 87.9%\r############################################################### 88.0%\r############################################################### 88.1%\r############################################################### 88.2%\r############################################################### 88.3%\r############################################################### 88.3%\r############################################################### 88.4%\r############################################################### 88.5%\r############################################################### 88.6%\r############################################################### 88.7%\r############################################################### 88.8%"]
+[3.16773, "o", "\r################################################################ 88.9%\r################################################################ 89.0%\r################################################################ 89.1%\r################################################################ 89.2%\r################################################################ 89.3%\r################################################################ 89.4%\r################################################################ 89.4%\r################################################################ 89.5%\r################################################################ 89.6%\r################################################################ 89.7%\r################################################################ 89.8%\r################################################################ 89.9%\r################################################################ 90.0%\r################################################################ 90.1%\r################################################################ 90.2%\r################################################################ 90.3%\r################################################################# 90.4%\r################################################################# 90.5%\r################################################################# 90.5%\r################################################################# 90.6%\r################################################################# 90.7%\r################################################################# 90.8%\r################################################################# 90.9%\r################################################################# 91.0%\r################################################################# 91.1%\r################################################################# 91.2%\r################################################################# 91.3%\r################################################################# 91.4%\r################################################################# 91.5%\r################################################################# 91.6%\r################################################################# 91.6%\r################################################################## 91.7%\r################################################################## 91.8%\r################################################################## 91.9%\r################################################################## 92.0%\r################################################################## 92.1%\r################################################################## 92.2%\r################################################################## 92.3%\r################################################################## 92.4%\r################################################################## 92.5%\r################################################################## 92.6%\r################################################################## 92.7%\r################################################################## 92.7%\r################################################################## 92.8%\r################################################################## 92.9%\r################################################################## 93.0%\r################################################################### 93.1%\r################################################################### 93.2%\r################################################################### 93.3%\r################################################################### 93.4%\r################################################################### 93.5%\r##############"]
+[3.168326, "o", "##################################################### 93.6%\r################################################################### 93.7%\r################################################################### 93.7%\r################################################################### 93.8%\r################################################################### 93.9%\r################################################################### 94.0%\r################################################################### 94.1%\r################################################################### 94.2%\r#####################################################"]
+[3.179796, "o", "############## 94.3%\r################################################################### 94.4%\r#################################################################### 94.5%\r#################################################################### 94.6%\r#################################################################### 94.7%\r#################################################################### 94.8%\r#################################################################### 94.8%\r#################################################################### 94.9%\r#################################################################### 95.0%\r#################################################################### 95.1%\r#################################################################### 95.2%\r#################################################################### 95.3%\r#################################################################### 95.4%\r#################################################################### 95.5%\r#################################################################### 95.6%\r#################################################################### 95.7%\r#################################################################### 95.8%\r##################################################################### 95.9%\r##################################################################### 95.9%\r##################################################################### 96.0%\r##################################################################### 96.1%\r##################################################################### 96.2%\r##################################################################### 96.3%\r##################################################################### 96.4%\r##################################################################### 96.5%\r##################################################################### 96.6%\r##################################################################### 96.7%\r##################################################################### 96.8%\r##################################################################### 96.9%\r##################################################################### 97.0%\r##################################################################### 97.0%\r##################################################################### 97.1%\r###################################################################### 97.2%\r###################################################################### 97.3%\r###################################################################### 97.4%\r###################################################################### 97.5%\r###################################################################### 97.6%\r###################################################################### 97.7%\r###################################################################### 97.8%\r###################################################################### 97.9%\r###################################################################### 98.0%\r###################################################################### 98.1%\r###################################################################### 98.1%\r###################################################################### 98.2%\r###################################################################### 98.3%\r###################################################################### 98.4%\r###################################################################### 98.5%\r###################################################################### 98.6%\r####################################################################### 98.7%\r####################################################################### 98.8%\r####################################################################### 98.9%\r####################################################################"]
+[3.180469, "o", "### 99.0%\r####################################################################### 99.1%\r####################################################################### 99.2%\r####################################################################### 99.2%\r####################################################################### 99.3%\r####################################################################### 99.4%\r####################################################################### 99.5%\r####################################################################### 99.6%\r####################################################################### 99.7%\r####################################################################### 99.8%\r####################################################################### 99.9%\r####################################################################### 100.0%\r######################################################################## 100.0%\r\n"]
+[3.910139, "o", "\r\nInstallation complete. [console] is ready to use!\r\n\r\n\r\n----------------------------------------------------------------\r\ncd /infini && ./console-linux-amd64\r\n----------------------------------------------------------------\r\n\r\n\r\n __ _ __ ____ __ _ __ __ \r\n / // |/ // __// // |/ // / \r\n / // || // _/ / // || // / \r\n/_//_/|_//_/ /_//_/|_//_/ \r\n\r\n©INFINI.LTD, All Rights Reserved.\r\n\r\n\u001b]0;root@VM-20-4-centos:~\u0007[root@VM-20-4-centos ~]# "]
+[6.687928, "o", "cd /infini && ./console-linux-amd64"]
+[7.388243, "o", "\r\n"]
+[7.415713, "o", "[08-18 11:35:54] [INF] [env.go:360] watching config: /infini/config\r\n\r\n ___ ___ __ __ ___ __ __ \r\n / __\\/___\\/\\ \\ \\/ _\\ /___\\/ / /__\\\r\n / / // // \\/ /\\ \\ // // / /_\\ \r\n/ /__/ \\_// /\\ / _\\ \\/ \\_// /__//__ \r\n\\____|___/\\_\\ \\/ \\__/\\___/\\____|__/ \r\n \r\n\r\n[CONSOLE] The easiest way to operate your own search platform.\r\n[CONSOLE] 1.6.0#1216, 2023-08-11 03:58:28, 2023-12-31 10:10:10, c8aab5c56697961469f0c1b89a0f2521b221ec94\r\n"]
+[7.427308, "o", "[08-18 11:35:54] [INF] [app.go:247] initializing console\r\n[08-18 11:35:54] [INF] [app.go:248] using config: /infini/console.yml\r\n[08-18 11:35:54] [INF] [instance.go:78] workspace: /infini/data/console/nodes/cjfee6ms4us0k5tgqou0\r\n"]
+[7.428931, "o", "[08-18 11:35:54] [INF] [module.go:93] started module: setup\r\n"]
+[7.454153, "o", "[08-18 11:35:54] [INF] [module.go:93] started module: Badger\r\n[08-18 11:35:54] [INF] [module.go:93] started module: setup\r\n"]
+[7.555348, "o", "[08-18 11:35:54] [INF] [ui.go:251] ui listen at: http://0.0.0.0:9000\r\n[08-18 11:35:54] [INF] [module.go:93] started module: Web\r\n[08-18 11:35:54] [INF] [module.go:112] started plugin: migration\r\n[08-18 11:35:54] [INF] [module.go:118] all modules are started\r\n[08-18 11:35:54] [INF] [app.go:458] console is up and running now.\r\n"]
+[11.151776, "o", "^C\r\n[CONSOLE] got signal: interrupt, start shutting down\r\n"]
+[11.160874, "o", "[08-18 11:35:58] [INF] [module.go:147] all modules are stopped\r\n"]
+[11.163369, "o", "[08-18 11:35:58] [INF] [app.go:346] console now terminated.\r\n[CONSOLE] 1.6.0, uptime: 3.768011648s\r\n\r\n __ _ __ ____ __ _ __ __ \r\n / // |/ // __// // |/ // / \r\n / // || // _/ / // || // / \r\n/_//_/|_//_/ /_//_/|_//_/ \r\n\r\n©INFINI.LTD, All Rights Reserved.\r\n\r\n"]
+[11.164174, "o", "\u001b]0;root@VM-20-4-centos:/infini\u0007[root@VM-20-4-centos infini]# "]
+[15.60746, "o", "exit\r\n"]
diff --git a/docs/static/img/architecture.png b/docs/static/img/architecture.png
new file mode 100644
index 00000000..8e9868c6
Binary files /dev/null and b/docs/static/img/architecture.png differ
diff --git a/assets/banner.png b/docs/static/img/banner.png
similarity index 100%
rename from assets/banner.png
rename to docs/static/img/banner.png
diff --git a/docs/static/img/logo-en.svg b/docs/static/img/logo-en.svg
new file mode 100644
index 00000000..2a872441
--- /dev/null
+++ b/docs/static/img/logo-en.svg
@@ -0,0 +1,46 @@
+
+
\ No newline at end of file
diff --git a/docs/static/img/logo/100tal.png b/docs/static/img/logo/100tal.png
new file mode 100644
index 00000000..5b4e6e6d
Binary files /dev/null and b/docs/static/img/logo/100tal.png differ
diff --git a/docs/static/img/logo/2dfire.png b/docs/static/img/logo/2dfire.png
new file mode 100644
index 00000000..ec27e3c5
Binary files /dev/null and b/docs/static/img/logo/2dfire.png differ
diff --git a/docs/static/img/logo/eastmoney.jpg b/docs/static/img/logo/eastmoney.jpg
new file mode 100644
index 00000000..f2d4b452
Binary files /dev/null and b/docs/static/img/logo/eastmoney.jpg differ
diff --git a/docs/static/img/logo/gitee.png b/docs/static/img/logo/gitee.png
new file mode 100644
index 00000000..d01f45c6
Binary files /dev/null and b/docs/static/img/logo/gitee.png differ
diff --git a/docs/static/img/logo/gszq.png b/docs/static/img/logo/gszq.png
new file mode 100644
index 00000000..ef2341cd
Binary files /dev/null and b/docs/static/img/logo/gszq.png differ
diff --git a/docs/static/img/logo/guance.png b/docs/static/img/logo/guance.png
new file mode 100644
index 00000000..11262e64
Binary files /dev/null and b/docs/static/img/logo/guance.png differ
diff --git a/docs/static/img/logo/howbuy.png b/docs/static/img/logo/howbuy.png
new file mode 100644
index 00000000..4a9361a0
Binary files /dev/null and b/docs/static/img/logo/howbuy.png differ
diff --git a/docs/static/img/logo/htsc.png b/docs/static/img/logo/htsc.png
new file mode 100644
index 00000000..d866ffe4
Binary files /dev/null and b/docs/static/img/logo/htsc.png differ
diff --git a/docs/static/img/logo/kdgs.png b/docs/static/img/logo/kdgs.png
new file mode 100644
index 00000000..1fd81a2d
Binary files /dev/null and b/docs/static/img/logo/kdgs.png differ
diff --git a/docs/static/img/logo/midu.png b/docs/static/img/logo/midu.png
new file mode 100644
index 00000000..434e7175
Binary files /dev/null and b/docs/static/img/logo/midu.png differ
diff --git a/docs/static/img/logo/mlsj.png b/docs/static/img/logo/mlsj.png
new file mode 100644
index 00000000..9f0b156b
Binary files /dev/null and b/docs/static/img/logo/mlsj.png differ
diff --git a/docs/static/img/logo/netease-lingxi-office.svg b/docs/static/img/logo/netease-lingxi-office.svg
new file mode 100644
index 00000000..edce885d
--- /dev/null
+++ b/docs/static/img/logo/netease-lingxi-office.svg
@@ -0,0 +1,57 @@
+
diff --git a/docs/static/img/logo/p_g.png b/docs/static/img/logo/p_g.png
new file mode 100644
index 00000000..c7dc2df2
Binary files /dev/null and b/docs/static/img/logo/p_g.png differ
diff --git a/docs/static/img/logo/payh.png b/docs/static/img/logo/payh.png
new file mode 100644
index 00000000..96071847
Binary files /dev/null and b/docs/static/img/logo/payh.png differ
diff --git a/docs/static/img/logo/picc.png b/docs/static/img/logo/picc.png
new file mode 100644
index 00000000..b52d7243
Binary files /dev/null and b/docs/static/img/logo/picc.png differ
diff --git a/docs/static/img/logo/psboc.png b/docs/static/img/logo/psboc.png
new file mode 100644
index 00000000..df483027
Binary files /dev/null and b/docs/static/img/logo/psboc.png differ
diff --git a/docs/static/img/logo/qunaer.png b/docs/static/img/logo/qunaer.png
new file mode 100644
index 00000000..f4bf8e6a
Binary files /dev/null and b/docs/static/img/logo/qunaer.png differ
diff --git a/docs/static/img/logo/tuhu.png b/docs/static/img/logo/tuhu.png
new file mode 100644
index 00000000..e6e427bd
Binary files /dev/null and b/docs/static/img/logo/tuhu.png differ
diff --git a/docs/static/img/logo/vivo.png b/docs/static/img/logo/vivo.png
new file mode 100644
index 00000000..d4790e54
Binary files /dev/null and b/docs/static/img/logo/vivo.png differ
diff --git a/docs/static/img/logo/xdf.png b/docs/static/img/logo/xdf.png
new file mode 100644
index 00000000..1d855189
Binary files /dev/null and b/docs/static/img/logo/xdf.png differ
diff --git a/docs/static/img/logo/xueqiu.png b/docs/static/img/logo/xueqiu.png
new file mode 100644
index 00000000..cc94a7d5
Binary files /dev/null and b/docs/static/img/logo/xueqiu.png differ
diff --git a/docs/static/img/logo/zhxg.png b/docs/static/img/logo/zhxg.png
new file mode 100644
index 00000000..a55ec9ad
Binary files /dev/null and b/docs/static/img/logo/zhxg.png differ
diff --git a/docs/static/img/logo/ztgf.png b/docs/static/img/logo/ztgf.png
new file mode 100644
index 00000000..1534503f
Binary files /dev/null and b/docs/static/img/logo/ztgf.png differ
diff --git a/docs/static/img/logo/zyb.png b/docs/static/img/logo/zyb.png
new file mode 100644
index 00000000..46a1fe82
Binary files /dev/null and b/docs/static/img/logo/zyb.png differ
diff --git a/docs/static/img/qrcode/zsxq.jpeg b/docs/static/img/qrcode/zsxq.jpeg
new file mode 100644
index 00000000..1f5e8113
Binary files /dev/null and b/docs/static/img/qrcode/zsxq.jpeg differ
diff --git a/docs/static/img/reference/migration/comparison/1.png b/docs/static/img/reference/migration/comparison/1.png
new file mode 100644
index 00000000..56adc005
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/1.png differ
diff --git a/docs/static/img/reference/migration/comparison/10.png b/docs/static/img/reference/migration/comparison/10.png
new file mode 100644
index 00000000..b28fdb7c
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/10.png differ
diff --git a/docs/static/img/reference/migration/comparison/11.png b/docs/static/img/reference/migration/comparison/11.png
new file mode 100644
index 00000000..2af48266
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/11.png differ
diff --git a/docs/static/img/reference/migration/comparison/2.png b/docs/static/img/reference/migration/comparison/2.png
new file mode 100644
index 00000000..fc9152a2
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/2.png differ
diff --git a/docs/static/img/reference/migration/comparison/3.png b/docs/static/img/reference/migration/comparison/3.png
new file mode 100644
index 00000000..710b0cce
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/3.png differ
diff --git a/docs/static/img/reference/migration/comparison/4.png b/docs/static/img/reference/migration/comparison/4.png
new file mode 100644
index 00000000..f118bad0
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/4.png differ
diff --git a/docs/static/img/reference/migration/comparison/5.png b/docs/static/img/reference/migration/comparison/5.png
new file mode 100644
index 00000000..4599c078
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/5.png differ
diff --git a/docs/static/img/reference/migration/comparison/6.png b/docs/static/img/reference/migration/comparison/6.png
new file mode 100644
index 00000000..df968e37
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/6.png differ
diff --git a/docs/static/img/reference/migration/comparison/7.png b/docs/static/img/reference/migration/comparison/7.png
new file mode 100644
index 00000000..8d1b243b
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/7.png differ
diff --git a/docs/static/img/reference/migration/comparison/8.png b/docs/static/img/reference/migration/comparison/8.png
new file mode 100644
index 00000000..79f33925
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/8.png differ
diff --git a/docs/static/img/reference/migration/comparison/9.png b/docs/static/img/reference/migration/comparison/9.png
new file mode 100644
index 00000000..bfa5d199
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/9.png differ
diff --git a/docs/static/img/reference/migration/comparison/incremental-1.png b/docs/static/img/reference/migration/comparison/incremental-1.png
new file mode 100644
index 00000000..0a8faf33
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/incremental-1.png differ
diff --git a/docs/static/img/reference/migration/comparison/incremental-2.png b/docs/static/img/reference/migration/comparison/incremental-2.png
new file mode 100644
index 00000000..332a3970
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/incremental-2.png differ
diff --git a/docs/static/img/reference/migration/comparison/incremental-3.png b/docs/static/img/reference/migration/comparison/incremental-3.png
new file mode 100644
index 00000000..70008854
Binary files /dev/null and b/docs/static/img/reference/migration/comparison/incremental-3.png differ
diff --git a/docs/static/img/screenshot/20220330-cluster_activities.jpg b/docs/static/img/screenshot/20220330-cluster_activities.jpg
new file mode 100644
index 00000000..bd64c880
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_activities.jpg differ
diff --git a/docs/static/img/screenshot/20220330-cluster_manage.jpg b/docs/static/img/screenshot/20220330-cluster_manage.jpg
new file mode 100644
index 00000000..e1fc6c51
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_manage.jpg differ
diff --git a/docs/static/img/screenshot/20220330-cluster_montor_turnon.jpg b/docs/static/img/screenshot/20220330-cluster_montor_turnon.jpg
new file mode 100644
index 00000000..fae8577c
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_montor_turnon.jpg differ
diff --git a/docs/static/img/screenshot/20220330-cluster_register_step1.jpg b/docs/static/img/screenshot/20220330-cluster_register_step1.jpg
new file mode 100644
index 00000000..938acb3c
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_register_step1.jpg differ
diff --git a/docs/static/img/screenshot/20220330-cluster_register_step2.jpg b/docs/static/img/screenshot/20220330-cluster_register_step2.jpg
new file mode 100644
index 00000000..ec2e68cb
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_register_step2.jpg differ
diff --git a/docs/static/img/screenshot/20220330-cluster_switch.jpg b/docs/static/img/screenshot/20220330-cluster_switch.jpg
new file mode 100644
index 00000000..d9459642
Binary files /dev/null and b/docs/static/img/screenshot/20220330-cluster_switch.jpg differ
diff --git a/docs/static/img/screenshot/20220330-data_discover.jpg b/docs/static/img/screenshot/20220330-data_discover.jpg
new file mode 100644
index 00000000..c80b962b
Binary files /dev/null and b/docs/static/img/screenshot/20220330-data_discover.jpg differ
diff --git a/docs/static/img/screenshot/20220330-data_indices.jpg b/docs/static/img/screenshot/20220330-data_indices.jpg
new file mode 100644
index 00000000..e66b2e92
Binary files /dev/null and b/docs/static/img/screenshot/20220330-data_indices.jpg differ
diff --git a/docs/static/img/screenshot/20220330-devtool.jpg b/docs/static/img/screenshot/20220330-devtool.jpg
new file mode 100644
index 00000000..14799dd8
Binary files /dev/null and b/docs/static/img/screenshot/20220330-devtool.jpg differ
diff --git a/docs/static/img/screenshot/20220330-devtool_intellisense.jpg b/docs/static/img/screenshot/20220330-devtool_intellisense.jpg
new file mode 100644
index 00000000..b7c83db9
Binary files /dev/null and b/docs/static/img/screenshot/20220330-devtool_intellisense.jpg differ
diff --git a/docs/static/img/screenshot/20220330-devtool_load.jpg b/docs/static/img/screenshot/20220330-devtool_load.jpg
new file mode 100644
index 00000000..14799dd8
Binary files /dev/null and b/docs/static/img/screenshot/20220330-devtool_load.jpg differ
diff --git a/docs/static/img/screenshot/20220330-devtool_save.jpg b/docs/static/img/screenshot/20220330-devtool_save.jpg
new file mode 100644
index 00000000..afbf014f
Binary files /dev/null and b/docs/static/img/screenshot/20220330-devtool_save.jpg differ
diff --git a/docs/static/img/screenshot/20220330-devtool_tab.jpg b/docs/static/img/screenshot/20220330-devtool_tab.jpg
new file mode 100644
index 00000000..aa5647b4
Binary files /dev/null and b/docs/static/img/screenshot/20220330-devtool_tab.jpg differ
diff --git a/docs/static/img/screenshot/20220330-monitor_indices.jpg b/docs/static/img/screenshot/20220330-monitor_indices.jpg
new file mode 100644
index 00000000..9a5fbf12
Binary files /dev/null and b/docs/static/img/screenshot/20220330-monitor_indices.jpg differ
diff --git a/docs/static/img/screenshot/20220330-monitor_nodes.jpg b/docs/static/img/screenshot/20220330-monitor_nodes.jpg
new file mode 100644
index 00000000..85a693da
Binary files /dev/null and b/docs/static/img/screenshot/20220330-monitor_nodes.jpg differ
diff --git a/docs/static/img/screenshot/20220330-overview_metrics.jpg b/docs/static/img/screenshot/20220330-overview_metrics.jpg
new file mode 100644
index 00000000..1138764b
Binary files /dev/null and b/docs/static/img/screenshot/20220330-overview_metrics.jpg differ
diff --git a/docs/static/img/screenshot/20220330-overview_treemap.jpg b/docs/static/img/screenshot/20220330-overview_treemap.jpg
new file mode 100644
index 00000000..28472868
Binary files /dev/null and b/docs/static/img/screenshot/20220330-overview_treemap.jpg differ
diff --git a/docs/static/img/screenshot/20220420-migration11.jpg b/docs/static/img/screenshot/20220420-migration11.jpg
new file mode 100644
index 00000000..839ed486
Binary files /dev/null and b/docs/static/img/screenshot/20220420-migration11.jpg differ
diff --git a/docs/static/img/screenshot/20220612-create-data-role.jpg b/docs/static/img/screenshot/20220612-create-data-role.jpg
new file mode 100644
index 00000000..c189f9a5
Binary files /dev/null and b/docs/static/img/screenshot/20220612-create-data-role.jpg differ
diff --git a/docs/static/img/screenshot/20220612-create-platform-role.jpg b/docs/static/img/screenshot/20220612-create-platform-role.jpg
new file mode 100644
index 00000000..6a8b275a
Binary files /dev/null and b/docs/static/img/screenshot/20220612-create-platform-role.jpg differ
diff --git a/docs/static/img/screenshot/20220612-create-user.jpg b/docs/static/img/screenshot/20220612-create-user.jpg
new file mode 100644
index 00000000..bdfe718a
Binary files /dev/null and b/docs/static/img/screenshot/20220612-create-user.jpg differ
diff --git a/docs/static/img/screenshot/20220612-reset-password.jpg b/docs/static/img/screenshot/20220612-reset-password.jpg
new file mode 100644
index 00000000..f2f37d64
Binary files /dev/null and b/docs/static/img/screenshot/20220612-reset-password.jpg differ
diff --git a/docs/static/img/screenshot/20220612-search-role.jpg b/docs/static/img/screenshot/20220612-search-role.jpg
new file mode 100644
index 00000000..d0d0082c
Binary files /dev/null and b/docs/static/img/screenshot/20220612-search-role.jpg differ
diff --git a/docs/static/img/screenshot/20220612-search-user.jpg b/docs/static/img/screenshot/20220612-search-user.jpg
new file mode 100644
index 00000000..6bcc4201
Binary files /dev/null and b/docs/static/img/screenshot/20220612-search-user.jpg differ
diff --git a/docs/static/img/screenshot/20220612-update-data-role.jpg b/docs/static/img/screenshot/20220612-update-data-role.jpg
new file mode 100644
index 00000000..67acb41f
Binary files /dev/null and b/docs/static/img/screenshot/20220612-update-data-role.jpg differ
diff --git a/docs/static/img/screenshot/20220612-update-platform-role.jpg b/docs/static/img/screenshot/20220612-update-platform-role.jpg
new file mode 100644
index 00000000..8c6542fe
Binary files /dev/null and b/docs/static/img/screenshot/20220612-update-platform-role.jpg differ
diff --git a/docs/static/img/screenshot/20220612-update-user.jpg b/docs/static/img/screenshot/20220612-update-user.jpg
new file mode 100644
index 00000000..e72ed7fc
Binary files /dev/null and b/docs/static/img/screenshot/20220612-update-user.jpg differ
diff --git a/docs/static/img/screenshot/20220705-cluster-update.jpg b/docs/static/img/screenshot/20220705-cluster-update.jpg
new file mode 100644
index 00000000..446ad085
Binary files /dev/null and b/docs/static/img/screenshot/20220705-cluster-update.jpg differ
diff --git a/docs/static/img/screenshot/20220705-command-detail.jpg b/docs/static/img/screenshot/20220705-command-detail.jpg
new file mode 100644
index 00000000..19f2c2fe
Binary files /dev/null and b/docs/static/img/screenshot/20220705-command-detail.jpg differ
diff --git a/docs/static/img/screenshot/20220705-command-list.jpg b/docs/static/img/screenshot/20220705-command-list.jpg
new file mode 100644
index 00000000..d1cb93b1
Binary files /dev/null and b/docs/static/img/screenshot/20220705-command-list.jpg differ
diff --git a/docs/static/img/screenshot/20220706-devtool-headers.jpg b/docs/static/img/screenshot/20220706-devtool-headers.jpg
new file mode 100644
index 00000000..68e51b22
Binary files /dev/null and b/docs/static/img/screenshot/20220706-devtool-headers.jpg differ
diff --git a/docs/static/img/screenshot/20220708-security-settings.jpg b/docs/static/img/screenshot/20220708-security-settings.jpg
new file mode 100644
index 00000000..bd3a01c0
Binary files /dev/null and b/docs/static/img/screenshot/20220708-security-settings.jpg differ
diff --git a/docs/static/img/screenshot/20220715-Create Index.png b/docs/static/img/screenshot/20220715-Create Index.png
new file mode 100644
index 00000000..aec291d8
Binary files /dev/null and b/docs/static/img/screenshot/20220715-Create Index.png differ
diff --git a/docs/static/img/screenshot/20220715-Create View1.png b/docs/static/img/screenshot/20220715-Create View1.png
new file mode 100644
index 00000000..89097c34
Binary files /dev/null and b/docs/static/img/screenshot/20220715-Create View1.png differ
diff --git a/docs/static/img/screenshot/20220715-Create View2.png b/docs/static/img/screenshot/20220715-Create View2.png
new file mode 100644
index 00000000..911bb20d
Binary files /dev/null and b/docs/static/img/screenshot/20220715-Create View2.png differ
diff --git a/docs/static/img/screenshot/20220715-Edit document.png b/docs/static/img/screenshot/20220715-Edit document.png
new file mode 100644
index 00000000..7cf8cc64
Binary files /dev/null and b/docs/static/img/screenshot/20220715-Edit document.png differ
diff --git a/docs/static/img/screenshot/20220715-INDEX-Detail.png b/docs/static/img/screenshot/20220715-INDEX-Detail.png
new file mode 100644
index 00000000..7e66a1c3
Binary files /dev/null and b/docs/static/img/screenshot/20220715-INDEX-Detail.png differ
diff --git a/docs/static/img/screenshot/20220715-View-Edit.png b/docs/static/img/screenshot/20220715-View-Edit.png
new file mode 100644
index 00000000..108a76b9
Binary files /dev/null and b/docs/static/img/screenshot/20220715-View-Edit.png differ
diff --git a/docs/static/img/screenshot/20220715-View.png b/docs/static/img/screenshot/20220715-View.png
new file mode 100644
index 00000000..95655bc4
Binary files /dev/null and b/docs/static/img/screenshot/20220715-View.png differ
diff --git a/docs/static/img/screenshot/20220715-alerting-channel-list.jpg b/docs/static/img/screenshot/20220715-alerting-channel-list.jpg
new file mode 100644
index 00000000..797fb7f4
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-channel-list.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-channel-new.jpg b/docs/static/img/screenshot/20220715-alerting-channel-new.jpg
new file mode 100644
index 00000000..b0c065ae
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-channel-new.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-channel-update.jpg b/docs/static/img/screenshot/20220715-alerting-channel-update.jpg
new file mode 100644
index 00000000..9197170d
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-channel-update.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-rule-list.jpg b/docs/static/img/screenshot/20220715-alerting-rule-list.jpg
new file mode 100644
index 00000000..34fdda0c
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-rule-list.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-rule-new-data.jpg b/docs/static/img/screenshot/20220715-alerting-rule-new-data.jpg
new file mode 100644
index 00000000..611268c5
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-rule-new-data.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-rule-new-metric.jpg b/docs/static/img/screenshot/20220715-alerting-rule-new-metric.jpg
new file mode 100644
index 00000000..eaf3b627
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-rule-new-metric.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-rule-new-notification.jpg b/docs/static/img/screenshot/20220715-alerting-rule-new-notification.jpg
new file mode 100644
index 00000000..536b9f3a
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-rule-new-notification.jpg differ
diff --git a/docs/static/img/screenshot/20220715-alerting-rule-new-notification1.jpg b/docs/static/img/screenshot/20220715-alerting-rule-new-notification1.jpg
new file mode 100644
index 00000000..4e7781aa
Binary files /dev/null and b/docs/static/img/screenshot/20220715-alerting-rule-new-notification1.jpg differ
diff --git a/docs/static/img/screenshot/20220715-discover.png b/docs/static/img/screenshot/20220715-discover.png
new file mode 100644
index 00000000..c989142b
Binary files /dev/null and b/docs/static/img/screenshot/20220715-discover.png differ
diff --git a/docs/static/img/screenshot/20220715-monitor-cluster-advance.jpg b/docs/static/img/screenshot/20220715-monitor-cluster-advance.jpg
new file mode 100644
index 00000000..255b4f9e
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-cluster-advance.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-cluster-overview.jpg b/docs/static/img/screenshot/20220715-monitor-cluster-overview.jpg
new file mode 100644
index 00000000..0ee1776d
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-cluster-overview.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-config.jpg b/docs/static/img/screenshot/20220715-monitor-config.jpg
new file mode 100644
index 00000000..b6d3f9dd
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-config.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-index-shards.jpg b/docs/static/img/screenshot/20220715-monitor-index-shards.jpg
new file mode 100644
index 00000000..052d8a3c
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-index-shards.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-indices.jpg b/docs/static/img/screenshot/20220715-monitor-indices.jpg
new file mode 100644
index 00000000..0077beca
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-indices.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-node-list.jpg b/docs/static/img/screenshot/20220715-monitor-node-list.jpg
new file mode 100644
index 00000000..00e00933
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-node-list.jpg differ
diff --git a/docs/static/img/screenshot/20220715-monitor-node-shards.jpg b/docs/static/img/screenshot/20220715-monitor-node-shards.jpg
new file mode 100644
index 00000000..8b7f4d89
Binary files /dev/null and b/docs/static/img/screenshot/20220715-monitor-node-shards.jpg differ
diff --git a/docs/static/img/screenshot/20220719-role-new-platform.jpg b/docs/static/img/screenshot/20220719-role-new-platform.jpg
new file mode 100644
index 00000000..879607c1
Binary files /dev/null and b/docs/static/img/screenshot/20220719-role-new-platform.jpg differ
diff --git a/docs/static/img/screenshot/20220719-role-v7171.jpg b/docs/static/img/screenshot/20220719-role-v7171.jpg
new file mode 100644
index 00000000..9d98049e
Binary files /dev/null and b/docs/static/img/screenshot/20220719-role-v7171.jpg differ
diff --git a/docs/static/img/screenshot/20220719-user-admin-view.jpg b/docs/static/img/screenshot/20220719-user-admin-view.jpg
new file mode 100644
index 00000000..05526159
Binary files /dev/null and b/docs/static/img/screenshot/20220719-user-admin-view.jpg differ
diff --git a/docs/static/img/screenshot/20220719-user-new-password.jpg b/docs/static/img/screenshot/20220719-user-new-password.jpg
new file mode 100644
index 00000000..afc88028
Binary files /dev/null and b/docs/static/img/screenshot/20220719-user-new-password.jpg differ
diff --git a/docs/static/img/screenshot/20220719-user-wangwu-view.jpg b/docs/static/img/screenshot/20220719-user-wangwu-view.jpg
new file mode 100644
index 00000000..49f23014
Binary files /dev/null and b/docs/static/img/screenshot/20220719-user-wangwu-view.jpg differ
diff --git a/docs/static/img/screenshot/20220719-user-zhangsan-view.jpg b/docs/static/img/screenshot/20220719-user-zhangsan-view.jpg
new file mode 100644
index 00000000..8dcd7728
Binary files /dev/null and b/docs/static/img/screenshot/20220719-user-zhangsan-view.jpg differ
diff --git a/docs/static/img/screenshot/20220719-user-zhangsan.jpg b/docs/static/img/screenshot/20220719-user-zhangsan.jpg
new file mode 100644
index 00000000..19c05a06
Binary files /dev/null and b/docs/static/img/screenshot/20220719-user-zhangsan.jpg differ
diff --git a/docs/static/img/screenshot/20220720-role_readonly.jpg b/docs/static/img/screenshot/20220720-role_readonly.jpg
new file mode 100644
index 00000000..f1bccbf6
Binary files /dev/null and b/docs/static/img/screenshot/20220720-role_readonly.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-builtin-disabled.jpg b/docs/static/img/screenshot/20220720-user-builtin-disabled.jpg
new file mode 100644
index 00000000..231047cb
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-builtin-disabled.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-index-all.jpg b/docs/static/img/screenshot/20220720-user-index-all.jpg
new file mode 100644
index 00000000..19268265
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-index-all.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-index-limit.jpg b/docs/static/img/screenshot/20220720-user-index-limit.jpg
new file mode 100644
index 00000000..7b04c42f
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-index-limit.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-liming-index.jpg b/docs/static/img/screenshot/20220720-user-liming-index.jpg
new file mode 100644
index 00000000..f4a713ed
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-liming-index.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-new-admin.jpg b/docs/static/img/screenshot/20220720-user-new-admin.jpg
new file mode 100644
index 00000000..94662d02
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-new-admin.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-new-guest.jpg b/docs/static/img/screenshot/20220720-user-new-guest.jpg
new file mode 100644
index 00000000..ef5f59e4
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-new-guest.jpg differ
diff --git a/docs/static/img/screenshot/20220720-user-new-liming.jpg b/docs/static/img/screenshot/20220720-user-new-liming.jpg
new file mode 100644
index 00000000..77ba78d1
Binary files /dev/null and b/docs/static/img/screenshot/20220720-user-new-liming.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health1.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health1.jpg
new file mode 100644
index 00000000..5f24adfa
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health1.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health2.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health2.jpg
new file mode 100644
index 00000000..cac5196c
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health2.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health3.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health3.jpg
new file mode 100644
index 00000000..e8b82db8
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health3.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health4.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health4.jpg
new file mode 100644
index 00000000..bb306a18
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health4.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health5.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health5.jpg
new file mode 100644
index 00000000..08a5b59f
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health5.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health6.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health6.jpg
new file mode 100644
index 00000000..84568b9a
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health6.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health7.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health7.jpg
new file mode 100644
index 00000000..101be4a3
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health7.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-cluster-health8.jpg b/docs/static/img/screenshot/20220725-alerting-cluster-health8.jpg
new file mode 100644
index 00000000..a971e778
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-cluster-health8.jpg differ
diff --git a/docs/static/img/screenshot/20220725-alerting-disk-usage1.jpg b/docs/static/img/screenshot/20220725-alerting-disk-usage1.jpg
new file mode 100644
index 00000000..d25537f2
Binary files /dev/null and b/docs/static/img/screenshot/20220725-alerting-disk-usage1.jpg differ
diff --git a/docs/static/img/screenshot/20220726-alerting-disk-usage1.jpg b/docs/static/img/screenshot/20220726-alerting-disk-usage1.jpg
new file mode 100644
index 00000000..c73d3622
Binary files /dev/null and b/docs/static/img/screenshot/20220726-alerting-disk-usage1.jpg differ
diff --git a/docs/static/img/screenshot/20220726-alerting-disk-usage2.jpg b/docs/static/img/screenshot/20220726-alerting-disk-usage2.jpg
new file mode 100644
index 00000000..5397cd22
Binary files /dev/null and b/docs/static/img/screenshot/20220726-alerting-disk-usage2.jpg differ
diff --git a/docs/static/img/screenshot/20220726-alerting-disk-usage3.jpg b/docs/static/img/screenshot/20220726-alerting-disk-usage3.jpg
new file mode 100644
index 00000000..b0f15a46
Binary files /dev/null and b/docs/static/img/screenshot/20220726-alerting-disk-usage3.jpg differ
diff --git a/docs/static/img/screenshot/20220726-alerting-disk-usage5.jpg b/docs/static/img/screenshot/20220726-alerting-disk-usage5.jpg
new file mode 100644
index 00000000..ea1494c4
Binary files /dev/null and b/docs/static/img/screenshot/20220726-alerting-disk-usage5.jpg differ
diff --git a/docs/static/img/screenshot/20220729-alerting-slow-index1.jpg b/docs/static/img/screenshot/20220729-alerting-slow-index1.jpg
new file mode 100644
index 00000000..bcba04b6
Binary files /dev/null and b/docs/static/img/screenshot/20220729-alerting-slow-index1.jpg differ
diff --git a/docs/static/img/screenshot/20220729-alerting-slow-index2.jpg b/docs/static/img/screenshot/20220729-alerting-slow-index2.jpg
new file mode 100644
index 00000000..d5c7fbc7
Binary files /dev/null and b/docs/static/img/screenshot/20220729-alerting-slow-index2.jpg differ
diff --git a/docs/static/img/screenshot/20220729-alerting-slow-index3.jpg b/docs/static/img/screenshot/20220729-alerting-slow-index3.jpg
new file mode 100644
index 00000000..2eb615f4
Binary files /dev/null and b/docs/static/img/screenshot/20220729-alerting-slow-index3.jpg differ
diff --git a/docs/static/img/screenshot/20220729-alerting-slow-index4.jpg b/docs/static/img/screenshot/20220729-alerting-slow-index4.jpg
new file mode 100644
index 00000000..7609d50e
Binary files /dev/null and b/docs/static/img/screenshot/20220729-alerting-slow-index4.jpg differ
diff --git a/docs/static/img/screenshot/20220729-alerting-slow-index5.jpg b/docs/static/img/screenshot/20220729-alerting-slow-index5.jpg
new file mode 100644
index 00000000..92ef9233
Binary files /dev/null and b/docs/static/img/screenshot/20220729-alerting-slow-index5.jpg differ
diff --git a/docs/static/img/screenshot/2023/console-setup-data-roles.jpg b/docs/static/img/screenshot/2023/console-setup-data-roles.jpg
new file mode 100644
index 00000000..99e3302b
Binary files /dev/null and b/docs/static/img/screenshot/2023/console-setup-data-roles.jpg differ
diff --git a/docs/static/img/screenshot/2023/console-setup-default-roles.jpg b/docs/static/img/screenshot/2023/console-setup-default-roles.jpg
new file mode 100644
index 00000000..62791fe3
Binary files /dev/null and b/docs/static/img/screenshot/2023/console-setup-default-roles.jpg differ
diff --git a/docs/static/img/screenshot/2023/console-setup-platform-roles.jpg b/docs/static/img/screenshot/2023/console-setup-platform-roles.jpg
new file mode 100644
index 00000000..c9c4ff8e
Binary files /dev/null and b/docs/static/img/screenshot/2023/console-setup-platform-roles.jpg differ
diff --git a/docs/static/img/screenshot/2023/github-dev-settings.jpg b/docs/static/img/screenshot/2023/github-dev-settings.jpg
new file mode 100644
index 00000000..9bcbbf04
Binary files /dev/null and b/docs/static/img/screenshot/2023/github-dev-settings.jpg differ
diff --git a/docs/static/img/screenshot/2023/github-new-oauth-app.jpg b/docs/static/img/screenshot/2023/github-new-oauth-app.jpg
new file mode 100644
index 00000000..04aa0ad2
Binary files /dev/null and b/docs/static/img/screenshot/2023/github-new-oauth-app.jpg differ
diff --git a/docs/static/img/screenshot/2023/github-oauth-token.jpg b/docs/static/img/screenshot/2023/github-oauth-token.jpg
new file mode 100644
index 00000000..05da7aac
Binary files /dev/null and b/docs/static/img/screenshot/2023/github-oauth-token.jpg differ
diff --git a/docs/static/img/screenshot/2023/github-sso-login-success.jpg b/docs/static/img/screenshot/2023/github-sso-login-success.jpg
new file mode 100644
index 00000000..35b5eb7d
Binary files /dev/null and b/docs/static/img/screenshot/2023/github-sso-login-success.jpg differ
diff --git a/docs/static/img/screenshot/20230420-cluster-register1.jpg b/docs/static/img/screenshot/20230420-cluster-register1.jpg
new file mode 100644
index 00000000..bdea11d5
Binary files /dev/null and b/docs/static/img/screenshot/20230420-cluster-register1.jpg differ
diff --git a/docs/static/img/screenshot/20230420-cluster-register3.jpg b/docs/static/img/screenshot/20230420-cluster-register3.jpg
new file mode 100644
index 00000000..de1cae43
Binary files /dev/null and b/docs/static/img/screenshot/20230420-cluster-register3.jpg differ
diff --git a/docs/static/img/screenshot/20230420-new-gateway.jpg b/docs/static/img/screenshot/20230420-new-gateway.jpg
new file mode 100644
index 00000000..bfb9d25d
Binary files /dev/null and b/docs/static/img/screenshot/20230420-new-gateway.jpg differ
diff --git a/docs/static/img/screenshot/20230420-new-gateway2.jpg b/docs/static/img/screenshot/20230420-new-gateway2.jpg
new file mode 100644
index 00000000..fbc991b0
Binary files /dev/null and b/docs/static/img/screenshot/20230420-new-gateway2.jpg differ
diff --git a/docs/static/img/screenshot/20230420-register-cluster2.jpg b/docs/static/img/screenshot/20230420-register-cluster2.jpg
new file mode 100644
index 00000000..683dc1d1
Binary files /dev/null and b/docs/static/img/screenshot/20230420-register-cluster2.jpg differ
diff --git a/docs/static/img/screenshot/20230512-instance-list.jpg b/docs/static/img/screenshot/20230512-instance-list.jpg
new file mode 100644
index 00000000..280ec06b
Binary files /dev/null and b/docs/static/img/screenshot/20230512-instance-list.jpg differ
diff --git a/docs/static/img/screenshot/20230512-instance-logging1.jpg b/docs/static/img/screenshot/20230512-instance-logging1.jpg
new file mode 100644
index 00000000..d4667641
Binary files /dev/null and b/docs/static/img/screenshot/20230512-instance-logging1.jpg differ
diff --git a/docs/static/img/screenshot/20230512-instance-logging2.jpg b/docs/static/img/screenshot/20230512-instance-logging2.jpg
new file mode 100644
index 00000000..e76122b9
Binary files /dev/null and b/docs/static/img/screenshot/20230512-instance-logging2.jpg differ
diff --git a/docs/static/img/screenshot/20230525-alert-template-env-variable.jpg b/docs/static/img/screenshot/20230525-alert-template-env-variable.jpg
new file mode 100644
index 00000000..7b99468a
Binary files /dev/null and b/docs/static/img/screenshot/20230525-alert-template-env-variable.jpg differ
diff --git a/docs/static/img/screenshot/20230525-alert-template-env-variable1.jpg b/docs/static/img/screenshot/20230525-alert-template-env-variable1.jpg
new file mode 100644
index 00000000..e80596a0
Binary files /dev/null and b/docs/static/img/screenshot/20230525-alert-template-env-variable1.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-delete-instance.jpg b/docs/static/img/screenshot/agent/agent-delete-instance.jpg
new file mode 100644
index 00000000..1da3dc78
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-delete-instance.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-edit.jpg b/docs/static/img/screenshot/agent/agent-edit.jpg
new file mode 100644
index 00000000..1634589b
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-edit.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-install.jpg b/docs/static/img/screenshot/agent/agent-install.jpg
new file mode 100644
index 00000000..ad11daa9
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-install.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-list.jpg b/docs/static/img/screenshot/agent/agent-list.jpg
new file mode 100644
index 00000000..807db518
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-list.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-node-associate-auth.jpg b/docs/static/img/screenshot/agent/agent-node-associate-auth.jpg
new file mode 100644
index 00000000..4c38ab7d
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-node-associate-auth.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-node-associate-unregistration.jpg b/docs/static/img/screenshot/agent/agent-node-associate-unregistration.jpg
new file mode 100644
index 00000000..19c02992
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-node-associate-unregistration.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-node-associate.jpg b/docs/static/img/screenshot/agent/agent-node-associate.jpg
new file mode 100644
index 00000000..9b28be6f
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-node-associate.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-node-logs.jpg b/docs/static/img/screenshot/agent/agent-node-logs.jpg
new file mode 100644
index 00000000..ace67f67
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-node-logs.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-node-metrics.jpg b/docs/static/img/screenshot/agent/agent-node-metrics.jpg
new file mode 100644
index 00000000..c84f1f66
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-node-metrics.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-register-step1.jpg b/docs/static/img/screenshot/agent/agent-register-step1.jpg
new file mode 100644
index 00000000..268cf93e
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-register-step1.jpg differ
diff --git a/docs/static/img/screenshot/agent/agent-register-step2.jpg b/docs/static/img/screenshot/agent/agent-register-step2.jpg
new file mode 100644
index 00000000..475a1c20
Binary files /dev/null and b/docs/static/img/screenshot/agent/agent-register-step2.jpg differ
diff --git a/docs/static/img/screenshot/agent/img.png b/docs/static/img/screenshot/agent/img.png
new file mode 100644
index 00000000..50b08fc8
Binary files /dev/null and b/docs/static/img/screenshot/agent/img.png differ
diff --git a/docs/static/img/screenshot/agent/img_1.png b/docs/static/img/screenshot/agent/img_1.png
new file mode 100644
index 00000000..9a54ca84
Binary files /dev/null and b/docs/static/img/screenshot/agent/img_1.png differ
diff --git a/docs/static/img/screenshot/agent/img_2.png b/docs/static/img/screenshot/agent/img_2.png
new file mode 100644
index 00000000..3b41063d
Binary files /dev/null and b/docs/static/img/screenshot/agent/img_2.png differ
diff --git a/docs/static/img/screenshot/agent/img_3.png b/docs/static/img/screenshot/agent/img_3.png
new file mode 100644
index 00000000..4b90ac5a
Binary files /dev/null and b/docs/static/img/screenshot/agent/img_3.png differ
diff --git a/docs/static/img/screenshot/agent/img_4.png b/docs/static/img/screenshot/agent/img_4.png
new file mode 100644
index 00000000..8138a6b4
Binary files /dev/null and b/docs/static/img/screenshot/agent/img_4.png differ
diff --git a/docs/static/img/screenshot/agent/img_5.png b/docs/static/img/screenshot/agent/img_5.png
new file mode 100644
index 00000000..63ba79dc
Binary files /dev/null and b/docs/static/img/screenshot/agent/img_5.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Channels-new.png b/docs/static/img/screenshot/alerting/Alerting-Channels-new.png
new file mode 100644
index 00000000..36d8b657
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Channels-new.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Channels.png b/docs/static/img/screenshot/alerting/Alerting-Channels.png
new file mode 100644
index 00000000..8d211c23
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Channels.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Message-Detail.png b/docs/static/img/screenshot/alerting/Alerting-Message-Detail.png
new file mode 100644
index 00000000..1e34c617
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Message-Detail.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Message-Detail2.png b/docs/static/img/screenshot/alerting/Alerting-Message-Detail2.png
new file mode 100644
index 00000000..01c28e4c
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Message-Detail2.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Message-Ignore.jpg b/docs/static/img/screenshot/alerting/Alerting-Message-Ignore.jpg
new file mode 100644
index 00000000..f9f58331
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Message-Ignore.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-Message.png b/docs/static/img/screenshot/alerting/Alerting-Message.png
new file mode 100644
index 00000000..700e4086
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-Message.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-cpu-1.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-1.jpg
new file mode 100644
index 00000000..fbb4d890
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-1.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-cpu-2.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-2.jpg
new file mode 100644
index 00000000..9e53ea22
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-2.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-cpu-3.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-3.jpg
new file mode 100644
index 00000000..ceb683ee
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-3.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-cpu-4.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-4.jpg
new file mode 100644
index 00000000..39d58e96
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-cpu-4.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-jvm-1.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-1.jpg
new file mode 100644
index 00000000..8d46d98a
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-1.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-jvm-2.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-2.jpg
new file mode 100644
index 00000000..68f0b92b
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-2.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-jvm-3.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-3.jpg
new file mode 100644
index 00000000..3723c8c9
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-3.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-jvm-4.jpg b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-4.jpg
new file mode 100644
index 00000000..8cf78603
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-jvm-4.jpg differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules-new.png b/docs/static/img/screenshot/alerting/Alerting-rules-new.png
new file mode 100644
index 00000000..db6ef886
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules-new.png differ
diff --git a/docs/static/img/screenshot/alerting/Alerting-rules.png b/docs/static/img/screenshot/alerting/Alerting-rules.png
new file mode 100644
index 00000000..723e0590
Binary files /dev/null and b/docs/static/img/screenshot/alerting/Alerting-rules.png differ
diff --git a/docs/static/img/screenshot/credential/20230222-create.jpg b/docs/static/img/screenshot/credential/20230222-create.jpg
new file mode 100644
index 00000000..0412d814
Binary files /dev/null and b/docs/static/img/screenshot/credential/20230222-create.jpg differ
diff --git a/docs/static/img/screenshot/credential/20230222-edit.jpg b/docs/static/img/screenshot/credential/20230222-edit.jpg
new file mode 100644
index 00000000..3d32c8b9
Binary files /dev/null and b/docs/static/img/screenshot/credential/20230222-edit.jpg differ
diff --git a/docs/static/img/screenshot/credential/20230222-list.jpg b/docs/static/img/screenshot/credential/20230222-list.jpg
new file mode 100644
index 00000000..e68933d9
Binary files /dev/null and b/docs/static/img/screenshot/credential/20230222-list.jpg differ
diff --git a/docs/static/img/screenshot/dashboard/add-widget-1.png b/docs/static/img/screenshot/dashboard/add-widget-1.png
new file mode 100644
index 00000000..6a188c95
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/add-widget-1.png differ
diff --git a/docs/static/img/screenshot/dashboard/add-widget-2.png b/docs/static/img/screenshot/dashboard/add-widget-2.png
new file mode 100644
index 00000000..c33aabc5
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/add-widget-2.png differ
diff --git a/docs/static/img/screenshot/dashboard/create.png b/docs/static/img/screenshot/dashboard/create.png
new file mode 100644
index 00000000..77b1d11a
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/create.png differ
diff --git a/docs/static/img/screenshot/dashboard/delete.png b/docs/static/img/screenshot/dashboard/delete.png
new file mode 100644
index 00000000..754111d1
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/delete.png differ
diff --git a/docs/static/img/screenshot/dashboard/import-widget-1.png b/docs/static/img/screenshot/dashboard/import-widget-1.png
new file mode 100644
index 00000000..99022b76
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/import-widget-1.png differ
diff --git a/docs/static/img/screenshot/dashboard/list.png b/docs/static/img/screenshot/dashboard/list.png
new file mode 100644
index 00000000..81b61c15
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/list.png differ
diff --git a/docs/static/img/screenshot/dashboard/remove.png b/docs/static/img/screenshot/dashboard/remove.png
new file mode 100644
index 00000000..61541820
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/remove.png differ
diff --git a/docs/static/img/screenshot/dashboard/setting.png b/docs/static/img/screenshot/dashboard/setting.png
new file mode 100644
index 00000000..e07c8566
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/setting.png differ
diff --git a/docs/static/img/screenshot/dashboard/widget-setting-1.png b/docs/static/img/screenshot/dashboard/widget-setting-1.png
new file mode 100644
index 00000000..9c03d7eb
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/widget-setting-1.png differ
diff --git a/docs/static/img/screenshot/dashboard/widget-setting-2.png b/docs/static/img/screenshot/dashboard/widget-setting-2.png
new file mode 100644
index 00000000..6577b49c
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/widget-setting-2.png differ
diff --git a/docs/static/img/screenshot/dashboard/widget-setting-3.png b/docs/static/img/screenshot/dashboard/widget-setting-3.png
new file mode 100644
index 00000000..edf5405c
Binary files /dev/null and b/docs/static/img/screenshot/dashboard/widget-setting-3.png differ
diff --git a/docs/static/img/screenshot/data/alias-create.jpg b/docs/static/img/screenshot/data/alias-create.jpg
new file mode 100644
index 00000000..0e1d5509
Binary files /dev/null and b/docs/static/img/screenshot/data/alias-create.jpg differ
diff --git a/docs/static/img/screenshot/data/alias-list.jpg b/docs/static/img/screenshot/data/alias-list.jpg
new file mode 100644
index 00000000..0ccd0df3
Binary files /dev/null and b/docs/static/img/screenshot/data/alias-list.jpg differ
diff --git a/docs/static/img/screenshot/data/alias-sub-list.jpg b/docs/static/img/screenshot/data/alias-sub-list.jpg
new file mode 100644
index 00000000..339b8432
Binary files /dev/null and b/docs/static/img/screenshot/data/alias-sub-list.jpg differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-datepicker.png b/docs/static/img/screenshot/discover/20220825-discover-datepicker.png
new file mode 100644
index 00000000..d40be0c9
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-datepicker.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-filter.png b/docs/static/img/screenshot/discover/20220825-discover-filter.png
new file mode 100644
index 00000000..31ca4fb0
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-filter.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-index.png b/docs/static/img/screenshot/discover/20220825-discover-index.png
new file mode 100644
index 00000000..514368c6
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-index.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-chart-actions.png b/docs/static/img/screenshot/discover/20220825-discover-insight-chart-actions.png
new file mode 100644
index 00000000..f4f107b8
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-chart-actions.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-icon.png b/docs/static/img/screenshot/discover/20220825-discover-insight-icon.png
new file mode 100644
index 00000000..3dc5e262
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-icon.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-metric-list.png b/docs/static/img/screenshot/discover/20220825-discover-insight-metric-list.png
new file mode 100644
index 00000000..a676e9a9
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-metric-list.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon.png b/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon.png
new file mode 100644
index 00000000..21b08036
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon2.png b/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon2.png
new file mode 100644
index 00000000..0d963073
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-setting-icon2.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight-setting.png b/docs/static/img/screenshot/discover/20220825-discover-insight-setting.png
new file mode 100644
index 00000000..effd01ca
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight-setting.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-insight.png b/docs/static/img/screenshot/discover/20220825-discover-insight.png
new file mode 100644
index 00000000..1d848152
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-insight.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-normal-document-actions.png b/docs/static/img/screenshot/discover/20220825-discover-normal-document-actions.png
new file mode 100644
index 00000000..cb8c650e
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-normal-document-actions.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-normal.png b/docs/static/img/screenshot/discover/20220825-discover-normal.png
new file mode 100644
index 00000000..1efdb2d5
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-normal.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-query.png b/docs/static/img/screenshot/discover/20220825-discover-query.png
new file mode 100644
index 00000000..ff24a62f
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-query.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-save-icon.png b/docs/static/img/screenshot/discover/20220825-discover-save-icon.png
new file mode 100644
index 00000000..a1dbea6c
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-save-icon.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-save-list-icon.png b/docs/static/img/screenshot/discover/20220825-discover-save-list-icon.png
new file mode 100644
index 00000000..45d0ed11
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-save-list-icon.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-save-list.png b/docs/static/img/screenshot/discover/20220825-discover-save-list.png
new file mode 100644
index 00000000..7ed986bc
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-save-list.png differ
diff --git a/docs/static/img/screenshot/discover/20220825-discover-save.png b/docs/static/img/screenshot/discover/20220825-discover-save.png
new file mode 100644
index 00000000..d35265ed
Binary files /dev/null and b/docs/static/img/screenshot/discover/20220825-discover-save.png differ
diff --git a/docs/static/img/screenshot/initialization/configuration-auth.png b/docs/static/img/screenshot/initialization/configuration-auth.png
new file mode 100644
index 00000000..e9b217c4
Binary files /dev/null and b/docs/static/img/screenshot/initialization/configuration-auth.png differ
diff --git a/docs/static/img/screenshot/initialization/configuration-test.png b/docs/static/img/screenshot/initialization/configuration-test.png
new file mode 100644
index 00000000..b717ffd3
Binary files /dev/null and b/docs/static/img/screenshot/initialization/configuration-test.png differ
diff --git a/docs/static/img/screenshot/initialization/configuration.png b/docs/static/img/screenshot/initialization/configuration.png
new file mode 100644
index 00000000..528fa5dc
Binary files /dev/null and b/docs/static/img/screenshot/initialization/configuration.png differ
diff --git a/docs/static/img/screenshot/initialization/finish.png b/docs/static/img/screenshot/initialization/finish.png
new file mode 100644
index 00000000..424a072d
Binary files /dev/null and b/docs/static/img/screenshot/initialization/finish.png differ
diff --git a/docs/static/img/screenshot/initialization/initialization-create-old.png b/docs/static/img/screenshot/initialization/initialization-create-old.png
new file mode 100644
index 00000000..2a55bd8e
Binary files /dev/null and b/docs/static/img/screenshot/initialization/initialization-create-old.png differ
diff --git a/docs/static/img/screenshot/initialization/initialization-create.png b/docs/static/img/screenshot/initialization/initialization-create.png
new file mode 100644
index 00000000..19925987
Binary files /dev/null and b/docs/static/img/screenshot/initialization/initialization-create.png differ
diff --git a/docs/static/img/screenshot/initialization/initialization-history.png b/docs/static/img/screenshot/initialization/initialization-history.png
new file mode 100644
index 00000000..c01b535d
Binary files /dev/null and b/docs/static/img/screenshot/initialization/initialization-history.png differ
diff --git a/docs/static/img/screenshot/jeitu20220330-420192.jpg b/docs/static/img/screenshot/jeitu20220330-420192.jpg
new file mode 100644
index 00000000..648dbaa0
Binary files /dev/null and b/docs/static/img/screenshot/jeitu20220330-420192.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-161166.jpg b/docs/static/img/screenshot/jietu20220330-161166.jpg
new file mode 100644
index 00000000..864cb5a4
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-161166.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-198734.jpg b/docs/static/img/screenshot/jietu20220330-198734.jpg
new file mode 100644
index 00000000..3cdb2c29
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-198734.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-225303.jpg b/docs/static/img/screenshot/jietu20220330-225303.jpg
new file mode 100644
index 00000000..14f4075d
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-225303.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-276087.jpg b/docs/static/img/screenshot/jietu20220330-276087.jpg
new file mode 100644
index 00000000..7db3c388
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-276087.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-360609.jpg b/docs/static/img/screenshot/jietu20220330-360609.jpg
new file mode 100644
index 00000000..111261bc
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-360609.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-579354.jpg b/docs/static/img/screenshot/jietu20220330-579354.jpg
new file mode 100644
index 00000000..c3c76305
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-579354.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-652947.jpg b/docs/static/img/screenshot/jietu20220330-652947.jpg
new file mode 100644
index 00000000..8ddb9985
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-652947.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-701695.jpg b/docs/static/img/screenshot/jietu20220330-701695.jpg
new file mode 100644
index 00000000..8c23ef3f
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-701695.jpg differ
diff --git a/docs/static/img/screenshot/jietu20220330-970728.jpg b/docs/static/img/screenshot/jietu20220330-970728.jpg
new file mode 100644
index 00000000..dd50a2b5
Binary files /dev/null and b/docs/static/img/screenshot/jietu20220330-970728.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration1.jpg b/docs/static/img/screenshot/migration/20230420-create-migration1.jpg
new file mode 100644
index 00000000..6bff2da7
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration1.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration3.jpg b/docs/static/img/screenshot/migration/20230420-create-migration3.jpg
new file mode 100644
index 00000000..22e38c1d
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration3.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration4.jpg b/docs/static/img/screenshot/migration/20230420-create-migration4.jpg
new file mode 100644
index 00000000..e01e35da
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration4.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration5.jpg b/docs/static/img/screenshot/migration/20230420-create-migration5.jpg
new file mode 100644
index 00000000..11f4eca5
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration5.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration6.jpg b/docs/static/img/screenshot/migration/20230420-create-migration6.jpg
new file mode 100644
index 00000000..4e57845c
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration6.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration7.jpg b/docs/static/img/screenshot/migration/20230420-create-migration7.jpg
new file mode 100644
index 00000000..5e930817
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration7.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration8.jpg b/docs/static/img/screenshot/migration/20230420-create-migration8.jpg
new file mode 100644
index 00000000..b6f5dda8
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration8.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-create-migration9.jpg b/docs/static/img/screenshot/migration/20230420-create-migration9.jpg
new file mode 100644
index 00000000..a8baee41
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-create-migration9.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-migration10.jpg b/docs/static/img/screenshot/migration/20230420-migration10.jpg
new file mode 100644
index 00000000..eb898634
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-migration10.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-migration11.jpg b/docs/static/img/screenshot/migration/20230420-migration11.jpg
new file mode 100644
index 00000000..839ed486
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-migration11.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-migration12.jpg b/docs/static/img/screenshot/migration/20230420-migration12.jpg
new file mode 100644
index 00000000..a1aca4a5
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-migration12.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230420-migration13.jpg b/docs/static/img/screenshot/migration/20230420-migration13.jpg
new file mode 100644
index 00000000..48561839
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230420-migration13.jpg differ
diff --git a/docs/static/img/screenshot/migration/20230608-migration-incremental-1.png b/docs/static/img/screenshot/migration/20230608-migration-incremental-1.png
new file mode 100644
index 00000000..ca681640
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230608-migration-incremental-1.png differ
diff --git a/docs/static/img/screenshot/migration/20230608-migration-incremental-2.png b/docs/static/img/screenshot/migration/20230608-migration-incremental-2.png
new file mode 100644
index 00000000..05e4b9dc
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230608-migration-incremental-2.png differ
diff --git a/docs/static/img/screenshot/migration/20230608-migration-incremental-3.png b/docs/static/img/screenshot/migration/20230608-migration-incremental-3.png
new file mode 100644
index 00000000..00471b48
Binary files /dev/null and b/docs/static/img/screenshot/migration/20230608-migration-incremental-3.png differ
diff --git a/docs/static/img/screenshot/overview/overview.png b/docs/static/img/screenshot/overview/overview.png
new file mode 100644
index 00000000..d0101dff
Binary files /dev/null and b/docs/static/img/screenshot/overview/overview.png differ
diff --git a/docs/static/img/screenshot/platform/activities.png b/docs/static/img/screenshot/platform/activities.png
new file mode 100644
index 00000000..0fbc3471
Binary files /dev/null and b/docs/static/img/screenshot/platform/activities.png differ
diff --git a/docs/static/img/screenshot/platform/overview/20220909-overview-clusters.png b/docs/static/img/screenshot/platform/overview/20220909-overview-clusters.png
new file mode 100644
index 00000000..bdc65084
Binary files /dev/null and b/docs/static/img/screenshot/platform/overview/20220909-overview-clusters.png differ
diff --git a/docs/static/img/screenshot/platform/overview/20220909-overview-hosts-discover.png b/docs/static/img/screenshot/platform/overview/20220909-overview-hosts-discover.png
new file mode 100644
index 00000000..89fe50a3
Binary files /dev/null and b/docs/static/img/screenshot/platform/overview/20220909-overview-hosts-discover.png differ
diff --git a/docs/static/img/screenshot/platform/overview/20220909-overview-hosts.png b/docs/static/img/screenshot/platform/overview/20220909-overview-hosts.png
new file mode 100644
index 00000000..2e2cf7fb
Binary files /dev/null and b/docs/static/img/screenshot/platform/overview/20220909-overview-hosts.png differ
diff --git a/docs/static/img/screenshot/platform/overview/20220909-overview-indices.png b/docs/static/img/screenshot/platform/overview/20220909-overview-indices.png
new file mode 100644
index 00000000..945b698c
Binary files /dev/null and b/docs/static/img/screenshot/platform/overview/20220909-overview-indices.png differ
diff --git a/docs/static/img/screenshot/platform/overview/20220909-overview-nodes.png b/docs/static/img/screenshot/platform/overview/20220909-overview-nodes.png
new file mode 100644
index 00000000..649026a3
Binary files /dev/null and b/docs/static/img/screenshot/platform/overview/20220909-overview-nodes.png differ
diff --git a/docs/static/img/screenshot/resource/gateway/create-confirm.png b/docs/static/img/screenshot/resource/gateway/create-confirm.png
new file mode 100644
index 00000000..2cd4da61
Binary files /dev/null and b/docs/static/img/screenshot/resource/gateway/create-confirm.png differ
diff --git a/docs/static/img/screenshot/resource/gateway/create.png b/docs/static/img/screenshot/resource/gateway/create.png
new file mode 100644
index 00000000..098df6d7
Binary files /dev/null and b/docs/static/img/screenshot/resource/gateway/create.png differ
diff --git a/docs/static/img/screenshot/resource/gateway/list.png b/docs/static/img/screenshot/resource/gateway/list.png
new file mode 100644
index 00000000..f9d251e6
Binary files /dev/null and b/docs/static/img/screenshot/resource/gateway/list.png differ
diff --git a/docs/static/img/screenshot/resource/gateway/update.png b/docs/static/img/screenshot/resource/gateway/update.png
new file mode 100644
index 00000000..49a29f27
Binary files /dev/null and b/docs/static/img/screenshot/resource/gateway/update.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/ActivIties.png b/docs/static/img/screenshot/screenshot2023/ActivIties.png
new file mode 100644
index 00000000..066a1257
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/ActivIties.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring1.png b/docs/static/img/screenshot/screenshot2023/Monitoring1.png
new file mode 100644
index 00000000..c32459d2
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring1.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring2.png b/docs/static/img/screenshot/screenshot2023/Monitoring2.png
new file mode 100644
index 00000000..88953b4e
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring3.png b/docs/static/img/screenshot/screenshot2023/Monitoring3.png
new file mode 100644
index 00000000..414954cb
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring4.png b/docs/static/img/screenshot/screenshot2023/Monitoring4.png
new file mode 100644
index 00000000..22de2e75
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring5.png b/docs/static/img/screenshot/screenshot2023/Monitoring5.png
new file mode 100644
index 00000000..20372fa2
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring6.png b/docs/static/img/screenshot/screenshot2023/Monitoring6.png
new file mode 100644
index 00000000..77138cad
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring7.png b/docs/static/img/screenshot/screenshot2023/Monitoring7.png
new file mode 100644
index 00000000..8e945201
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring7.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring8.png b/docs/static/img/screenshot/screenshot2023/Monitoring8.png
new file mode 100644
index 00000000..abad16a5
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring8.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Monitoring9.png b/docs/static/img/screenshot/screenshot2023/Monitoring9.png
new file mode 100644
index 00000000..2529dd10
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Monitoring9.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview.png b/docs/static/img/screenshot/screenshot2023/Platform-overview.png
new file mode 100644
index 00000000..bdc65084
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview2.png b/docs/static/img/screenshot/screenshot2023/Platform-overview2.png
new file mode 100644
index 00000000..649026a3
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview3.png b/docs/static/img/screenshot/screenshot2023/Platform-overview3.png
new file mode 100644
index 00000000..945b698c
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview4.png b/docs/static/img/screenshot/screenshot2023/Platform-overview4.png
new file mode 100644
index 00000000..2e2cf7fb
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview5.png b/docs/static/img/screenshot/screenshot2023/Platform-overview5.png
new file mode 100644
index 00000000..c04925b7
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/Platform-overview6.png b/docs/static/img/screenshot/screenshot2023/Platform-overview6.png
new file mode 100644
index 00000000..e7aa16c1
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/Platform-overview6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting.png b/docs/static/img/screenshot/screenshot2023/alerting.png
new file mode 100644
index 00000000..0f86d6b5
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting2.png b/docs/static/img/screenshot/screenshot2023/alerting2.png
new file mode 100644
index 00000000..fc2ca8ed
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting3.png b/docs/static/img/screenshot/screenshot2023/alerting3.png
new file mode 100644
index 00000000..55c74684
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting4.png b/docs/static/img/screenshot/screenshot2023/alerting4.png
new file mode 100644
index 00000000..40b1dfea
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting5.png b/docs/static/img/screenshot/screenshot2023/alerting5.png
new file mode 100644
index 00000000..1fd84a2d
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/alerting6.png b/docs/static/img/screenshot/screenshot2023/alerting6.png
new file mode 100644
index 00000000..90fe3dc2
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/alerting6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/dataInsight.png b/docs/static/img/screenshot/screenshot2023/dataInsight.png
new file mode 100644
index 00000000..45a20279
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/dataInsight.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/dataInsight2.png b/docs/static/img/screenshot/screenshot2023/dataInsight2.png
new file mode 100644
index 00000000..63e1b836
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/dataInsight2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/dataInsight3.png b/docs/static/img/screenshot/screenshot2023/dataInsight3.png
new file mode 100644
index 00000000..bfdcac97
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/dataInsight3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/dataInsight4.png b/docs/static/img/screenshot/screenshot2023/dataInsight4.png
new file mode 100644
index 00000000..46ea2f9c
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/dataInsight4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/dataInsight5.png b/docs/static/img/screenshot/screenshot2023/dataInsight5.png
new file mode 100644
index 00000000..761b732d
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/dataInsight5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage.png b/docs/static/img/screenshot/screenshot2023/datamanage.png
new file mode 100644
index 00000000..4dc19cf0
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage2.png b/docs/static/img/screenshot/screenshot2023/datamanage2.png
new file mode 100644
index 00000000..b50392fc
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage3.png b/docs/static/img/screenshot/screenshot2023/datamanage3.png
new file mode 100644
index 00000000..4a2da798
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage4.png b/docs/static/img/screenshot/screenshot2023/datamanage4.png
new file mode 100644
index 00000000..0ac3b9c7
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage5.png b/docs/static/img/screenshot/screenshot2023/datamanage5.png
new file mode 100644
index 00000000..780d8aa9
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datamanage6.png b/docs/static/img/screenshot/screenshot2023/datamanage6.png
new file mode 100644
index 00000000..f93c3fd5
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datamanage6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools.png b/docs/static/img/screenshot/screenshot2023/datatools.png
new file mode 100644
index 00000000..7ec9b39c
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools2.png b/docs/static/img/screenshot/screenshot2023/datatools2.png
new file mode 100644
index 00000000..3fac0cc1
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools3.png b/docs/static/img/screenshot/screenshot2023/datatools3.png
new file mode 100644
index 00000000..3d618b1d
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools4.png b/docs/static/img/screenshot/screenshot2023/datatools4.png
new file mode 100644
index 00000000..d7131be9
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools5.png b/docs/static/img/screenshot/screenshot2023/datatools5.png
new file mode 100644
index 00000000..e5013150
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools6.png b/docs/static/img/screenshot/screenshot2023/datatools6.png
new file mode 100644
index 00000000..1efde70e
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools7.png b/docs/static/img/screenshot/screenshot2023/datatools7.png
new file mode 100644
index 00000000..2adb61b7
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools7.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/datatools8.png b/docs/static/img/screenshot/screenshot2023/datatools8.png
new file mode 100644
index 00000000..0b62b8a4
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/datatools8.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/devtool.png b/docs/static/img/screenshot/screenshot2023/devtool.png
new file mode 100644
index 00000000..fbb2f5c9
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/devtool.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/devtool2.png b/docs/static/img/screenshot/screenshot2023/devtool2.png
new file mode 100644
index 00000000..caca6e0d
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/devtool2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/devtool3.png b/docs/static/img/screenshot/screenshot2023/devtool3.png
new file mode 100644
index 00000000..2d896a29
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/devtool3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/devtool4.png b/docs/static/img/screenshot/screenshot2023/devtool4.png
new file mode 100644
index 00000000..5c7d8201
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/devtool4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/devtool5.png b/docs/static/img/screenshot/screenshot2023/devtool5.png
new file mode 100644
index 00000000..9678aea9
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/devtool5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory.png b/docs/static/img/screenshot/screenshot2023/inventory.png
new file mode 100644
index 00000000..6d79c506
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory2.png b/docs/static/img/screenshot/screenshot2023/inventory2.png
new file mode 100644
index 00000000..0fade527
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory3.png b/docs/static/img/screenshot/screenshot2023/inventory3.png
new file mode 100644
index 00000000..28fb0fe5
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory4.png b/docs/static/img/screenshot/screenshot2023/inventory4.png
new file mode 100644
index 00000000..358f9a78
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory5.png b/docs/static/img/screenshot/screenshot2023/inventory5.png
new file mode 100644
index 00000000..ddf1f6fd
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory6.png b/docs/static/img/screenshot/screenshot2023/inventory6.png
new file mode 100644
index 00000000..6ddd8982
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory7.png b/docs/static/img/screenshot/screenshot2023/inventory7.png
new file mode 100644
index 00000000..d48b8063
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory7.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/inventory9.png b/docs/static/img/screenshot/screenshot2023/inventory9.png
new file mode 100644
index 00000000..8419fad4
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/inventory9.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/overview.png b/docs/static/img/screenshot/screenshot2023/overview.png
new file mode 100644
index 00000000..2ac7a734
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/overview.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings.png b/docs/static/img/screenshot/screenshot2023/settings.png
new file mode 100644
index 00000000..5cfc0505
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings2.png b/docs/static/img/screenshot/screenshot2023/settings2.png
new file mode 100644
index 00000000..9e342358
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings2.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings3.png b/docs/static/img/screenshot/screenshot2023/settings3.png
new file mode 100644
index 00000000..0513e4bd
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings3.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings4.png b/docs/static/img/screenshot/screenshot2023/settings4.png
new file mode 100644
index 00000000..73823b5f
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings4.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings5.png b/docs/static/img/screenshot/screenshot2023/settings5.png
new file mode 100644
index 00000000..1a23d18d
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings5.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings6.png b/docs/static/img/screenshot/screenshot2023/settings6.png
new file mode 100644
index 00000000..e1694fcc
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings6.png differ
diff --git a/docs/static/img/screenshot/screenshot2023/settings7.png b/docs/static/img/screenshot/screenshot2023/settings7.png
new file mode 100644
index 00000000..e396f79a
Binary files /dev/null and b/docs/static/img/screenshot/screenshot2023/settings7.png differ
diff --git a/docs/static/img/screenshot/security/Security-Role.png b/docs/static/img/screenshot/security/Security-Role.png
new file mode 100644
index 00000000..8b9ad8f5
Binary files /dev/null and b/docs/static/img/screenshot/security/Security-Role.png differ
diff --git a/docs/static/img/screenshot/security/Security-Settings.png b/docs/static/img/screenshot/security/Security-Settings.png
new file mode 100644
index 00000000..cf652c1c
Binary files /dev/null and b/docs/static/img/screenshot/security/Security-Settings.png differ
diff --git a/docs/static/img/screenshot/security/Security-User-Data.png b/docs/static/img/screenshot/security/Security-User-Data.png
new file mode 100644
index 00000000..9d548b3b
Binary files /dev/null and b/docs/static/img/screenshot/security/Security-User-Data.png differ
diff --git a/docs/static/img/screenshot/security/Security-User-Platform.png b/docs/static/img/screenshot/security/Security-User-Platform.png
new file mode 100644
index 00000000..5c8fd4a0
Binary files /dev/null and b/docs/static/img/screenshot/security/Security-User-Platform.png differ
diff --git a/docs/static/img/screenshot/security/Security-User.png b/docs/static/img/screenshot/security/Security-User.png
new file mode 100644
index 00000000..b865cd8e
Binary files /dev/null and b/docs/static/img/screenshot/security/Security-User.png differ
diff --git a/docs/static/img/troubleshooting/monitor_no_data.png b/docs/static/img/troubleshooting/monitor_no_data.png
new file mode 100644
index 00000000..3892277d
Binary files /dev/null and b/docs/static/img/troubleshooting/monitor_no_data.png differ
diff --git a/docs/static/img/troubleshooting/v0.3_duplicated_indices.png b/docs/static/img/troubleshooting/v0.3_duplicated_indices.png
new file mode 100644
index 00000000..5218a286
Binary files /dev/null and b/docs/static/img/troubleshooting/v0.3_duplicated_indices.png differ
diff --git a/docs/static/img/troubleshooting/v0.3_duplicated_nodes.png b/docs/static/img/troubleshooting/v0.3_duplicated_nodes.png
new file mode 100644
index 00000000..514d82e5
Binary files /dev/null and b/docs/static/img/troubleshooting/v0.3_duplicated_nodes.png differ
diff --git a/docs/static/img/troubleshooting/v0.3_nodes_monitor_no_data.jpg b/docs/static/img/troubleshooting/v0.3_nodes_monitor_no_data.jpg
new file mode 100644
index 00000000..5fe79db5
Binary files /dev/null and b/docs/static/img/troubleshooting/v0.3_nodes_monitor_no_data.jpg differ
diff --git a/plugin/api/init.go b/plugin/api/init.go
index af2a9e4b..c06134af 100644
--- a/plugin/api/init.go
+++ b/plugin/api/init.go
@@ -1,6 +1,8 @@
package api
import (
+ "path"
+
"infini.sh/console/config"
"infini.sh/console/core/security/enum"
"infini.sh/console/plugin/api/alerting"
@@ -9,11 +11,9 @@ import (
"infini.sh/console/plugin/api/index_management"
"infini.sh/console/plugin/api/insight"
"infini.sh/console/plugin/api/layout"
- "infini.sh/console/plugin/api/license"
"infini.sh/console/plugin/api/notification"
"infini.sh/console/plugin/api/platform"
"infini.sh/framework/core/api"
- "path"
)
func Init(cfg *config.AppConfig) {
@@ -74,7 +74,6 @@ func Init(cfg *config.AppConfig) {
layout.InitAPI()
notification.InitAPI()
- license.InitAPI()
email.InitAPI()
data.InitAPI()
platform.InitAPI()
diff --git a/plugin/api/license/api.go b/plugin/api/license/api.go
deleted file mode 100644
index e5533514..00000000
--- a/plugin/api/license/api.go
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright © INFINI LTD. All rights reserved.
- * Web: https://infinilabs.com
- * Email: hello#infini.ltd */
-
-package license
-
-import (
- "infini.sh/framework/core/api"
- httprouter "infini.sh/framework/core/api/router"
- "infini.sh/framework/core/util"
- "infini.sh/license"
- "net/http"
-)
-
-type LicenseAPI struct {
- api.Handler
-}
-func InitAPI() {
- handler := LicenseAPI{}
- api.HandleAPIMethod(api.POST, "/_license/request_trial", handler.RequestTrialLicense)
-}
-
-func (handler *LicenseAPI) RequestTrialLicense(w http.ResponseWriter, req *http.Request, p httprouter.Params) {
- body, err := handler.GetRawBody(req)
- if err != nil {
- handler.Error500(w, err.Error())
- return
- }
-
- v := license.TrialRequest{}
- err=util.FromJSONBytes(body, &v)
- if err != nil {
- handler.Error500(w, err.Error())
- return
- }
-
- //TODO implement config for the api endpoint
- request:=util.NewPostRequest("https://api.infini.cloud/_license/request_trial", util.MustToJSONBytes(v))
- response,err:=util.ExecuteRequest(request)
- if err!=nil{
- handler.WriteError(w,err.Error(),response.StatusCode)
- return
- }
-
- r:=license.TrialResponse{}
- err=util.FromJSONBytes(response.Body, &r)
- if err != nil {
- handler.Error500(w, err.Error())
- return
- }
-
- if r.License!=""{
- ok := license.ApplyLicense(r.License)
- if ok {
- license.PersistLicense(r.License)
- }else{
- r.License=""
- }
- }
-
- w.WriteHeader(response.StatusCode)
- w.Write(util.MustToJSONBytes(r))
-}
\ No newline at end of file