diff --git a/.bookignore b/.bookignore
new file mode 100644
index 00000000..c9cf39e2
--- /dev/null
+++ b/.bookignore
@@ -0,0 +1 @@
+/readme.md
diff --git a/.gitbook.yaml b/.gitbook.yaml
index dc4b77ed..a301e508 100644
--- a/.gitbook.yaml
+++ b/.gitbook.yaml
@@ -1,9 +1,251 @@
 root: ./
 
-​structure:  
-    readme: README.md  
-    summary: SUMMARY.md​
+structure:
+  readme: welcome.md
+  summary: summary.md
 
-redirects:  
-    docs: readme.md
-    docs/check-cli: check/command-line.md
+redirects:
+  adminstration: administration/readme.md
+  check: code-quality/README.md
+  check/cli: code-quality/setup-and-installation/initialize-trunk.md
+  check/configuration: cli/configuration/README.md
+  check/get-started: code-quality/ci-setup/README.md
+  check/usage: code-quality/setup-and-installation/initialize-trunk.md
+  check/performance: code-quality/overview/how-does-it-work.md
+  check/supported-linters: code-quality/linters/supported/README.md
+  check/tools/configuration: cli/configuration/tools.md
+  check/under-the-hood: code-quality/overview/how-does-it-work.md
+  check/github-integration: code-quality/ci-setup/github-integration.md
+  check/configuration/supported: code-quality/linters/supported/README.md
+  check/configuration/supported/ansible-lint: code-quality/linters/supported/ansible-lint.md
+  check/configuration/supported/codespell: code-quality/linters/supported/codespell.md
+  check/configuration/supported/cspell: code-quality/linters/supported/cspell.md
+  check/configuration/supported/gitleaks: code-quality/linters/supported/gitleaks.md
+  check/configuration/supported/git-diff-check: code-quality/linters/supported/git-diff-check.md
+  check/configuration/supported/pre-commit-hooks: code-quality/linters/supported/pre-commit-hooks.md
+  check/configuration/supported/pmd: code-quality/linters/supported/pmd.md
+  check/configuration/supported/shellcheck: code-quality/linters/supported/shellcheck.md
+  check/configuration/supported/shfmt: code-quality/linters/supported/shfmt.md
+  check/configuration/supported/buildifier: code-quality/linters/supported/buildifier.md
+  check/configuration/supported/iwyu: code-quality/linters/supported/iwyu.md
+  check/configuration/supported/pragma-once: code-quality/linters/supported/pragma-once.md
+  check/configuration/supported/dotnet-format: code-quality/linters/supported/dotnet-format.md
+  check/configuration/supported/circleci: code-quality/linters/supported/circleci.md
+  check/configuration/supported/cfnlint: code-quality/linters/supported/cfnlint.md
+  check/configuration/supported/checkov: code-quality/linters/supported/checkov.md
+  check/configuration/supported/stylelint: code-quality/linters/supported/stylelint.md
+  check/configuration/supported/prettier: code-quality/linters/supported/prettier.md
+  check/configuration/supported/cue-fmt: code-quality/linters/supported/cue-fmt.md
+  check/configuration/supported/hadolint: code-quality/linters/supported/hadolint.md
+  check/configuration/supported/dotenv-linter: code-quality/linters/supported/dotenv-linter.md
+  check/configuration/supported/actionlint: code-quality/linters/supported/actionlint.md
+  check/configuration/supported/gofmt: code-quality/linters/supported/gofmt.md
+  check/configuration/supported/gofumpt: code-quality/linters/supported/gofumpt.md
+  check/configuration/supported/goimports: code-quality/linters/supported/goimports.md
+  check/configuration/supported/gokart: code-quality/linters/supported/gokart.md
+  check/configuration/supported/golangci-lint: code-quality/linters/supported/golangci-lint.md
+  check/configuration/supported/golines: code-quality/linters/supported/golines.md
+  check/configuration/supported/semgrep: code-quality/linters/supported/semgrep.md
+  check/configuration/supported/graphql-schema-linter: code-quality/linters/supported/graphql-schema-linter.md
+  check/configuration/supported/haml-lint: code-quality/linters/supported/haml-lint.md
+  check/configuration/supported/djlint: code-quality/linters/supported/djlint.md
+  check/configuration/supported/google-java-format: code-quality/linters/supported/google-java-format.md
+  check/configuration/supported/deno: code-quality/linters/supported/deno.md
+  check/configuration/supported/eslint: code-quality/linters/supported/eslint.md
+  check/configuration/supported/rome: code-quality/linters/supported/rome.md
+  check/configuration/supported/detekt: code-quality/linters/supported/detekt.md
+  check/configuration/supported/ktlint: code-quality/linters/supported/ktlint.md
+  check/configuration/supported/kube-linter: code-quality/linters/supported/kube-linter.md
+  check/configuration/supported/stylua: code-quality/linters/supported/stylua.md
+  check/configuration/supported/markdownlint: code-quality/linters/supported/markdownlint.md
+  check/configuration/supported/remark-lint: code-quality/linters/supported/remark-lint.md
+  check/configuration/supported/markdown-link-check: code-quality/linters/supported/markdown-link-check.md
+  check/configuration/supported/nixpkgs-fmt: code-quality/linters/supported/nixpkgs-fmt.md
+  check/configuration/supported/sort-package-json: code-quality/linters/supported/sort-package-json.md
+  check/configuration/supported/perlcritic: code-quality/linters/supported/perlcritic.md
+  check/configuration/supported/perltidy: code-quality/linters/supported/perltidy.md
+  check/configuration/supported/oxipng: code-quality/linters/supported/oxipng.md
+  check/configuration/supported/prisma: code-quality/linters/supported/prisma.md
+  check/configuration/supported/buf: code-quality/linters/supported/buf.md
+  check/configuration/supported/clang-format: code-quality/linters/supported/clang-format.md
+  check/configuration/supported/clang-tidy: code-quality/linters/supported/clang-tidy.md
+  check/configuration/supported/autopep8: code-quality/linters/supported/autopep8.md
+  check/configuration/supported/bandit: code-quality/linters/supported/bandit.md
+  check/configuration/supported/black: code-quality/linters/supported/black.md
+  check/configuration/supported/flake8: code-quality/linters/supported/flake8.md
+  check/configuration/supported/isort: code-quality/linters/supported/isort.md
+  check/configuration/supported/mypy: code-quality/linters/supported/mypy.md
+  check/configuration/supported/pylint: code-quality/linters/supported/pylint.md
+  check/configuration/supported/pyright: code-quality/linters/supported/pyright.md
+  check/configuration/supported/yapf: code-quality/linters/supported/yapf.md
+  check/configuration/supported/ruff: code-quality/linters/supported/ruff.md
+  check/configuration/supported/sourcery: code-quality/linters/supported/sourcery.md
+  check/configuration/supported/renovate: code-quality/linters/supported/renovate.md
+  check/configuration/supported/brakeman: code-quality/linters/supported/brakeman.md
+  check/configuration/supported/rubocop: code-quality/linters/supported/rubocop.md
+  check/configuration/supported/rufo: code-quality/linters/supported/rufo.md
+  check/configuration/supported/standardrb: code-quality/linters/supported/standardrb.md
+  check/configuration/supported/clippy: code-quality/linters/supported/clippy.md
+  check/configuration/supported/rustfmt: code-quality/linters/supported/rustfmt.md
+  check/configuration/supported/scalafmt: code-quality/linters/supported/scalafmt.md
+  check/configuration/supported/dustilock: code-quality/linters/supported/dustilock.md
+  check/configuration/supported/nancy: code-quality/linters/supported/nancy.md
+  check/configuration/supported/osv-scanner: code-quality/linters/supported/osv-scanner.md
+  check/configuration/supported/tfsec: code-quality/linters/supported/tfsec.md
+  check/configuration/supported/trivy: code-quality/linters/supported/trivy.md
+  check/configuration/supported/trufflehog: code-quality/linters/supported/trufflehog.md
+  check/configuration/supported/terrascan: code-quality/linters/supported/terrascan.md
+  check/configuration/supported/sqlfluff: code-quality/linters/supported/sqlfluff.md
+  check/configuration/supported/sqlfmt: code-quality/linters/supported/sqlfmt.md
+  check/configuration/supported/sql-formatter: code-quality/linters/supported/sql-formatter.md
+  check/configuration/supported/svgo: code-quality/linters/supported/svgo.md
+  check/configuration/supported/stringslint: code-quality/linters/supported/stringslint.md
+  check/configuration/supported/swiftlint: code-quality/linters/supported/swiftlint.md
+  check/configuration/supported/swiftformat: code-quality/linters/supported/swiftformat.md
+  check/configuration/supported/terraform: code-quality/linters/supported/terraform.md
+  check/configuration/supported/tflint: code-quality/linters/supported/tflint.md
+  check/configuration/supported/terragrunt: code-quality/linters/supported/terragrunt.md
+  check/configuration/supported/txtpbfmt: code-quality/linters/supported/txtpbfmt.md
+  check/configuration/supported/taplo: code-quality/linters/supported/taplo.md
+  check/configuration/supported/yamllint: code-quality/linters/supported/yamllint.md
+  check/configuration/supported/biome: code-quality/linters/supported/biome.md
+  check/configuration/supported/markdown-table-prettify: code-quality/linters/supported/markdown-table-prettify.md
+  check/configuration/supported/psscriptanalyzer: code-quality/linters/supported/psscriptanalyzer.md
+  check/configuration/supported/cmake-format: code-quality/linters/supported/cmake-format.md
+  check/configuration/supported/dart: code-quality/linters/supported/dart.md
+  check/configuration/supported/opa: code-quality/linters/supported/opa.md
+  check/configuration/supported/phpstan: code-quality/linters/supported/phpstan.md
+  check/configuration/supported/regal: code-quality/linters/supported/regal.md
+  check/configuration/supported/tofu: code-quality/linters/supported/tofu.md
+  check/configuration/supported/vale: code-quality/linters/supported/vale.md
+  check/configuration/supported/php-cs-fixer: code-quality/linters/supported/php-cs-fixer.md
+  cli/windows-beta: cli/compatibility.md
+  docs: welcome.md
+  docs/actions-config: cli/configuration/actions/README.md
+  docs/actions-git-hooks: cli/configuration/actions/README.md
+  docs/actions: cli/configuration/actions/README.md
+  docs/check-cli: code-quality/linters/run-linters.md
+  docs/check-config: code-quality/linters/configure-linters.md
+  docs/check-custom-linters: code-quality/linters/custom-linters.md
+  docs/check-debugging: code-quality/debugging.md
+  docs/check-get-started: code-quality/setup-and-installation/README.md
+  docs/check-github-integration: code-quality/setup-and-installation/prevent-new-issues.md
+  docs/check-supported-linters: code-quality/linters/supported/readme.md
+  docs/check: code-quality/README.md
+  docs/check/github-integration: code-quality/ci-setup/github-integration.md
+  docs/cli: code-quality/cli/readme.md
+  docs/code-quality: code-quality/README.md
+  docs/get-started: welcome.md
+  docs/getting-started: welcome.md
+  docs/github-app-permissions: administration/github-app-permissions.md
+  docs/github-codespaces: code-quality/cli/github-codespaces.md
+  docs/ignoring-issues: code-quality/ignoring-issues.md
+  docs/initialize-trunk-in-a-git-repo: code-quality/cli/init-in-a-git-repo.md
+  docs/install: cli/install.md
+  docs/merge-get-started: merge/set-up-trunk-merge.md
+  docs/merge-getting-started: merge/set-up-trunk-merge.md
+  docs/merge: merge-queue/README.md
+  docs/overview: readme.md
+  docs/plugins: plugins/readme.md
+  docs/reference-trunk-yaml: cli/configuration/README.md
+  docs/shell-hooks: cli/configuration/tools.md
+  docs/tools: cli/configuration/tools.md
+  docs/trunk-app-for-slack: merge-queue/set-up-trunk-merge/integration-for-slack.md
+  docs/vscode: code-quality/ide-integration/vscode.md
+  docs/what-is-trunk: readme.md
+  docs/windows-beta: cli/compatibility.md
+  flaky-tests/generating-junit-reports: flaky-tests/get-started/frameworks/README.md
+  get-started: welcome.md
+  merge-graph: merge-queue/readme.md
+  merge-graph/configuration: merge-queue/set-up-trunk-merge/readme.md
+  merge-graph/set-up-trunk-merge: merge-queue/readme.md
+  merge/getting-started: merge/set-up-trunk-merge.md
+  reference/reference-trunk-yaml: cli/configuration/README.md
+  reference/trunk-yaml: cli/configuration/README.md
+  test-analytics: flaky-tests/readme.md
+  test-analytics/ci-providers: flaky-tests/get-started/ci-providers/README.md
+  test-analytics/ci-providers/buildkite-quickstart: flaky-tests/get-started/ci-providers/buildkite.md
+  test-analytics/ci-providers/circleci-quickstart: flaky-tests/get-started/ci-providers/circleci.md
+  test-analytics/ci-providers/github-actions-quickstart: flaky-tests/get-started/ci-providers/github-actions.md
+  test-analytics/ci-providers/gitlab: flaky-tests/get-started/ci-providers/gitlab.md
+  test-analytics/ci-providers/other-ci-providers-quickstart: flaky-tests/get-started/ci-providers/otherci.md
+  test-analytics/ci-providers/semaphore-ci-quickstart: flaky-tests/get-started/ci-providers/semaphoreci.md
+  test-analytics/frameworks: flaky-tests/get-started/frameworks/README.md
+  test-analytics/frameworks/android: flaky-tests/get-started/frameworks/android.md
+  test-analytics/frameworks/cargo-nextest: flaky-tests/get-started/frameworks/rust.md
+  test-analytics/frameworks/cypress: flaky-tests/get-started/frameworks/cypress.md
+  test-analytics/frameworks/jasmine: flaky-tests/get-started/frameworks/jasmine.md
+  test-analytics/frameworks/jest: flaky-tests/get-started/frameworks/jest.md
+  test-analytics/frameworks/minitest: flaky-tests/get-started/frameworks/minitest.md
+  test-analytics/frameworks/mocha: flaky-tests/get-started/frameworks/mocha.md
+  test-analytics/frameworks/playwright: flaky-tests/get-started/frameworks/playwright.md
+  test-analytics/frameworks/pytest: flaky-tests/get-started/frameworks/pytest.md
+  test-analytics/frameworks/rspec: flaky-tests/get-started/frameworks/rspec.md
+  test-analytics/frameworks/swift-testing: flaky-tests/get-started/frameworks/swift-testing.md
+  test-analytics/frameworks/xctest: flaky-tests/get-started/frameworks/xctest.md
+  test-analytics/github-pull-request-comments: flaky-tests/github-pull-request-comments.md
+  runtimes: cli/configuration/runtimes.md
+  plugins: code-quality/linters/README.md
+  ci/get-started/github-integration: code-quality/ci-setup/github-integration.md
+  code-quality/usage: code-quality/setup-and-installation/initialize-trunk.md
+  code-quality/ci/get-started: code-quality/ci-setup/README.md
+  code-quality/ci/get-started/github-integration: code-quality/ci-setup/github-integration.md
+  code-quality/configuration/debugging: code-quality/debugging.md
+  check/check-cloud-ci-integration/get-started/github-integration: code-quality/ci-setup/github-integration.md
+  flaky-tests/ci-providers/buildkite-quickstart: flaky-tests/get-started/ci-providers/buildkite.md
+  flaky-tests/ci-providers/circleci-quickstart: flaky-tests/get-started/ci-providers/circleci.md
+  flaky-tests/ci-providers/droneci: flaky-tests/get-started/ci-providers/droneci.md
+  flaky-tests/ci-providers/github-actions-quickstart: flaky-tests/get-started/ci-providers/github-actions.md
+  flaky-tests/ci-providers/gitlab: flaky-tests/get-started/ci-providers/gitlab.md
+  flaky-tests/ci-providers/other-ci-providers-quickstart: flaky-tests/get-started/ci-providers/otherci.md
+  flaky-tests/ci-providers/semaphore-ci-quickstart: flaky-tests/get-started/ci-providers/semaphoreci.md
+  flaky-tests/ci-providers/travisci: flaky-tests/get-started/ci-providers/travisci.md
+  flaky-tests/frameworks/android: flaky-tests/get-started/frameworks/android.md
+  flaky-tests/frameworks/bazel: flaky-tests/get-started/frameworks/bazel.md
+  flaky-tests/frameworks/cargo-nextest: flaky-tests/get-started/frameworks/rust.md
+  flaky-tests/frameworks/cypress: flaky-tests/get-started/frameworks/cypress.md
+  flaky-tests/frameworks/go-junit-report: flaky-tests/get-started/frameworks/gotestsum.md
+  flaky-tests/frameworks/gotestsum: flaky-tests/get-started/frameworks/gotestsum.md
+  flaky-tests/frameworks/jasmine: flaky-tests/get-started/frameworks/jasmine.md
+  flaky-tests/frameworks/jest: flaky-tests/get-started/frameworks/jest.md
+  flaky-tests/frameworks/karma: flaky-tests/get-started/frameworks/karma.md
+  flaky-tests/frameworks/maven: flaky-tests/get-started/frameworks/maven.md
+  flaky-tests/frameworks/minitest: flaky-tests/get-started/frameworks/minitest.md
+  flaky-tests/frameworks/mocha: flaky-tests/get-started/frameworks/mocha.md
+  flaky-tests/frameworks/phpunit: flaky-tests/get-started/frameworks/phpunit.md
+  flaky-tests/frameworks/playwright: flaky-tests/get-started/frameworks/playwright.md
+  flaky-tests/frameworks/pytest: flaky-tests/get-started/frameworks/pytest.md
+  flaky-tests/frameworks/rspec: flaky-tests/get-started/frameworks/rspec.md
+  flaky-tests/frameworks/swift-testing: flaky-tests/get-started/frameworks/swift-testing.md
+  flaky-tests/frameworks/vitest: flaky-tests/get-started/frameworks/vitest.md
+  flaky-tests/frameworks/xctest: flaky-tests/get-started/frameworks/xctest.md
+  administration: setup-and-configuration/managing-your-organization.md
+  apis/api: references/apis.md
+  apis: references/apis.md
+  cli/configuration: references/cli/configuration.md
+  cli/configuration/actions: references/cli/configuration/actions.md
+  cli/configuration/lint: references/cli/configuration/lint.md
+  cli/configuration/plugins: references/cli/configuration/plugins.md
+  cli/commands-reference: references/cli/commands-reference.md
+  cli/getting-started/actions: references/cli/getting-started/actions.md
+  cli/getting-started: references/cli/getting-started.md
+  cli: references/cli/README.md
+  merge-queue/parallel-queues: merge-queue/concepts/parallel-queues.md
+  code-quality/linters/supported/sqlfluff: references/code-quality/linters/supported/sqlfluff.md
+  code-quality/linters/supported/sourcery: references/code-quality/linters/supported/sourcery.md
+  administration/github-app-permissions: references/administration/github-app-permissions.md
+  administration/billing: references/administration/billing.md
+  apis/flaky-tests: references/apis/flaky-tests.md
+  cli/configuration/lint/dependencies: references/cli/configuration/lint/dependencies.md
+  cli/configuration/lint/output-parsing: references/cli/configuration/lint/output-parsing.md
+  cli/configuration/lint/commands: references/cli/configuration/lint/commands.md
+  cli/configuration/tools: references/cli/configuration/tools.md
+  cli/configuration/plugins/exported-configs: references/cli/configuration/plugins/exported-configs.md
+  cli/getting-started/actions/git-hooks: references/cli/getting-started/actions/git-hooks.md
+  cli/install: references/cli/install.md
+  merge-queue/command-line: merge-queue/managing-merge-queue/command-line.md
+  merge-queue/optimistic-merging: merge-queue/concepts/optimistic-merging.md
+  merge-queue: merge-queue/merge-queue.md
+  code-quality/overview: code-quality/code-quality.md
+  code-quality: code-quality/code-quality.md
+  flaky-tests: flaky-tests/flaky-tests.md
diff --git a/.gitbook/assets/02 Branch-1 kopiera.png b/.gitbook/assets/02 Branch-1 kopiera.png
new file mode 100644
index 00000000..ef7e2fef
Binary files /dev/null and b/.gitbook/assets/02 Branch-1 kopiera.png differ
diff --git a/.gitbook/assets/04 anti-flake (final01) 050324.mp4 b/.gitbook/assets/04 anti-flake (final01) 050324.mp4
new file mode 100644
index 00000000..2c1ead49
Binary files /dev/null and b/.gitbook/assets/04 anti-flake (final01) 050324.mp4 differ
diff --git a/.gitbook/assets/14d4355-image.png b/.gitbook/assets/14d4355-image.png
index ef36df39..c982ec26 100644
Binary files a/.gitbook/assets/14d4355-image.png and b/.gitbook/assets/14d4355-image.png differ
diff --git a/.gitbook/assets/Actions (1).svg b/.gitbook/assets/Actions (1).svg
new file mode 100644
index 00000000..bfdbeb27
--- /dev/null
+++ b/.gitbook/assets/Actions (1).svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><path fill="#360103" fill-rule="evenodd" d="M162.658 162.74h78.684c-3.109-18.915-19.546-33.348-39.342-33.348s-36.233 14.433-39.342 33.348Zm-6.603.018c3.164-22.544 22.529-39.891 45.945-39.891s42.781 17.347 45.945 39.891c.5 3.569-2.469 6.506-6.072 6.506h-79.746c-3.603 0-6.572-2.937-6.072-6.506Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M199.108 140.622c-14.109 0-21.207 11.791-22.962 17.933a3.263 3.263 0 0 1-6.274-1.792c2.112-7.391 10.867-22.665 29.236-22.665a3.262 3.262 0 0 1 0 6.524Zm25.723-26.999c7.207 0 13.049-5.842 13.049-13.049s-5.842-13.05-13.049-13.05-13.05 5.843-13.05 13.05c0 7.207 5.843 13.049 13.05 13.049Zm0 6.525c10.81 0 19.574-8.764 19.574-19.574 0-10.81-8.764-19.574-19.574-19.574-10.811 0-19.574 8.763-19.574 19.574 0 10.81 8.763 19.574 19.574 19.574Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="m221.402 117.923-3.262 9.787-6.19-2.064 3.263-9.787 6.189 2.064Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Actions (2).svg b/.gitbook/assets/Actions (2).svg
new file mode 100644
index 00000000..bfdbeb27
--- /dev/null
+++ b/.gitbook/assets/Actions (2).svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><path fill="#360103" fill-rule="evenodd" d="M162.658 162.74h78.684c-3.109-18.915-19.546-33.348-39.342-33.348s-36.233 14.433-39.342 33.348Zm-6.603.018c3.164-22.544 22.529-39.891 45.945-39.891s42.781 17.347 45.945 39.891c.5 3.569-2.469 6.506-6.072 6.506h-79.746c-3.603 0-6.572-2.937-6.072-6.506Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M199.108 140.622c-14.109 0-21.207 11.791-22.962 17.933a3.263 3.263 0 0 1-6.274-1.792c2.112-7.391 10.867-22.665 29.236-22.665a3.262 3.262 0 0 1 0 6.524Zm25.723-26.999c7.207 0 13.049-5.842 13.049-13.049s-5.842-13.05-13.049-13.05-13.05 5.843-13.05 13.05c0 7.207 5.843 13.049 13.05 13.049Zm0 6.525c10.81 0 19.574-8.764 19.574-19.574 0-10.81-8.764-19.574-19.574-19.574-10.811 0-19.574 8.763-19.574 19.574 0 10.81 8.763 19.574 19.574 19.574Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="m221.402 117.923-3.262 9.787-6.19-2.064 3.263-9.787 6.189 2.064Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Actions.svg b/.gitbook/assets/Actions.svg
new file mode 100644
index 00000000..bfdbeb27
--- /dev/null
+++ b/.gitbook/assets/Actions.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><path fill="#360103" fill-rule="evenodd" d="M162.658 162.74h78.684c-3.109-18.915-19.546-33.348-39.342-33.348s-36.233 14.433-39.342 33.348Zm-6.603.018c3.164-22.544 22.529-39.891 45.945-39.891s42.781 17.347 45.945 39.891c.5 3.569-2.469 6.506-6.072 6.506h-79.746c-3.603 0-6.572-2.937-6.072-6.506Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M199.108 140.622c-14.109 0-21.207 11.791-22.962 17.933a3.263 3.263 0 0 1-6.274-1.792c2.112-7.391 10.867-22.665 29.236-22.665a3.262 3.262 0 0 1 0 6.524Zm25.723-26.999c7.207 0 13.049-5.842 13.049-13.049s-5.842-13.05-13.049-13.05-13.05 5.843-13.05 13.05c0 7.207 5.843 13.049 13.05 13.049Zm0 6.525c10.81 0 19.574-8.764 19.574-19.574 0-10.81-8.764-19.574-19.574-19.574-10.811 0-19.574 8.763-19.574 19.574 0 10.81 8.763 19.574 19.574 19.574Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="m221.402 117.923-3.262 9.787-6.19-2.064 3.263-9.787 6.189 2.064Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Ads & Social.zip b/.gitbook/assets/Ads & Social.zip
new file mode 100644
index 00000000..0252a046
Binary files /dev/null and b/.gitbook/assets/Ads & Social.zip differ
diff --git a/.gitbook/assets/Annotations.png b/.gitbook/assets/Annotations.png
new file mode 100644
index 00000000..96fdeed3
Binary files /dev/null and b/.gitbook/assets/Annotations.png differ
diff --git a/.gitbook/assets/Audit log (2).png b/.gitbook/assets/Audit log (2).png
new file mode 100644
index 00000000..41cf4e1d
Binary files /dev/null and b/.gitbook/assets/Audit log (2).png differ
diff --git a/.gitbook/assets/BFNs (1).png b/.gitbook/assets/BFNs (1).png
new file mode 100644
index 00000000..5d3fe021
Binary files /dev/null and b/.gitbook/assets/BFNs (1).png differ
diff --git a/.gitbook/assets/BFNs (2).png b/.gitbook/assets/BFNs (2).png
new file mode 100644
index 00000000..320bda96
Binary files /dev/null and b/.gitbook/assets/BFNs (2).png differ
diff --git a/.gitbook/assets/BFNs (3).png b/.gitbook/assets/BFNs (3).png
new file mode 100644
index 00000000..58a4db08
Binary files /dev/null and b/.gitbook/assets/BFNs (3).png differ
diff --git a/.gitbook/assets/BFNs for test case.png b/.gitbook/assets/BFNs for test case.png
new file mode 100644
index 00000000..9860b6ee
Binary files /dev/null and b/.gitbook/assets/BFNs for test case.png differ
diff --git a/.gitbook/assets/BFNs.png b/.gitbook/assets/BFNs.png
new file mode 100644
index 00000000..5d3fe021
Binary files /dev/null and b/.gitbook/assets/BFNs.png differ
diff --git a/.gitbook/assets/Billing.svg b/.gitbook/assets/Billing.svg
index def9ab7f..36776948 100644
--- a/.gitbook/assets/Billing.svg
+++ b/.gitbook/assets/Billing.svg
@@ -1,11 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#F2D664"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M227.544 80.0048C228.472 80.7993 229.006 81.96 229.006 83.1818V164.62C229.006 166.93 227.134 168.802 224.824 168.802C222.515 168.802 220.643 166.93 220.643 164.62V88.0678L158.573 97.7662V164.62C158.573 166.93 156.701 168.802 154.391 168.802C152.082 168.802 150.209 166.93 150.209 164.62V94.187C150.209 92.1267 151.71 90.3734 153.746 90.0553L224.179 79.0502C225.386 78.8615 226.615 79.2103 227.544 80.0048Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M176.623 144.813C176.623 142.503 178.495 140.631 180.805 140.631H198.413C200.722 140.631 202.595 142.503 202.595 144.813V162.421C202.595 164.731 200.722 166.603 198.413 166.603C196.103 166.603 194.231 164.731 194.231 162.421V148.994H184.986V162.421C184.986 164.731 183.114 166.603 180.805 166.603C178.495 166.603 176.623 164.731 176.623 162.421V144.813Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M172.149 111.787C172.149 109.478 174.021 107.605 176.331 107.605H180.803C183.112 107.605 184.985 109.478 184.985 111.787C184.985 114.097 183.112 115.969 180.803 115.969H176.331C174.021 115.969 172.149 114.097 172.149 111.787Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M172.149 127.195C172.149 124.885 174.021 123.013 176.331 123.013H180.803C183.112 123.013 184.985 124.885 184.985 127.195C184.985 129.504 183.112 131.376 180.803 131.376H176.331C174.021 131.376 172.149 129.504 172.149 127.195Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M194.232 111.787C194.232 109.478 196.104 107.605 198.414 107.605H202.886C205.195 107.605 207.068 109.478 207.068 111.787C207.068 114.097 205.195 115.969 202.886 115.969H198.414C196.104 115.969 194.232 114.097 194.232 111.787Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M194.232 127.195C194.232 124.885 196.104 123.013 198.414 123.013H202.886C205.195 123.013 207.068 124.885 207.068 127.195C207.068 129.504 205.195 131.376 202.886 131.376H198.414C196.104 131.376 194.232 129.504 194.232 127.195Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M137 166.819C137 164.509 138.872 162.637 141.182 162.637H263.042C265.352 162.637 267.224 164.509 267.224 166.819C267.224 169.128 265.352 171 263.042 171H141.182C138.872 171 137 169.128 137 166.819Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M246.674 122.256H227.169V113.892H250.856C253.166 113.892 255.038 115.764 255.038 118.074V166.818H246.674V122.256Z" fill="#261F00"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0z"/><path fill="#261F00" fill-rule="evenodd" d="M227.544 80.005a4.182 4.182 0 0 1 1.462 3.177v81.438a4.182 4.182 0 1 1-8.363 0V88.068l-62.07 9.698v66.854a4.182 4.182 0 1 1-8.364 0V94.187a4.182 4.182 0 0 1 3.537-4.132l70.433-11.005a4.183 4.183 0 0 1 3.365.955Z" clip-rule="evenodd"/><path fill="#261F00" fill-rule="evenodd" d="M176.623 144.813a4.182 4.182 0 0 1 4.182-4.182h17.608a4.182 4.182 0 0 1 4.182 4.182v17.608a4.182 4.182 0 0 1-8.364 0v-13.427h-9.245v13.427a4.181 4.181 0 1 1-8.363 0v-17.608Zm-4.474-33.026a4.182 4.182 0 0 1 4.182-4.182h4.472a4.183 4.183 0 0 1 0 8.364h-4.472a4.182 4.182 0 0 1-4.182-4.182Zm0 15.408a4.182 4.182 0 0 1 4.182-4.182h4.472a4.182 4.182 0 0 1 0 8.363h-4.472a4.181 4.181 0 0 1-4.182-4.181Zm22.083-15.408a4.182 4.182 0 0 1 4.182-4.182h4.472a4.183 4.183 0 0 1 0 8.364h-4.472a4.182 4.182 0 0 1-4.182-4.182Zm0 15.408a4.182 4.182 0 0 1 4.182-4.182h4.472a4.182 4.182 0 0 1 0 8.363h-4.472a4.181 4.181 0 0 1-4.182-4.181Z" clip-rule="evenodd"/><path fill="#261F00" fill-rule="evenodd" d="M137 166.819a4.182 4.182 0 0 1 4.182-4.182h121.86a4.182 4.182 0 1 1 0 8.363h-121.86a4.181 4.181 0 0 1-4.182-4.181Z" clip-rule="evenodd"/><path fill="#261F00" fill-rule="evenodd" d="M246.674 122.256h-19.505v-8.364h23.687a4.182 4.182 0 0 1 4.182 4.182v48.744h-8.364v-44.562Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/CI Analytics (1).svg b/.gitbook/assets/CI Analytics (1).svg
index ee186f89..28051c73 100644
--- a/.gitbook/assets/CI Analytics (1).svg	
+++ b/.gitbook/assets/CI Analytics (1).svg	
@@ -1,6 +1 @@
-<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="18" height="18" fill="#261F00"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M2.53333 5.21283C2.53333 3.73299 3.77241 2.53334 5.3009 2.53334H13.6991C15.2276 2.53334 16.4667 3.73299 16.4667 5.21283V9.83745C16.4667 10.1334 16.2188 10.3733 15.9131 10.3733H12.8013L11.3954 12.8075C11.2921 12.9864 11.0924 13.0925 10.8811 13.081C10.6697 13.0694 10.4837 12.9422 10.4018 12.7532L8.49453 8.35024L7.48447 10.099C7.38663 10.2684 7.20183 10.3733 7.00136 10.3733H3.64036V13.7872C3.64036 14.6751 4.38381 15.3949 5.30091 15.3949H13.6991C14.6162 15.3949 15.3596 14.6751 15.3596 13.7872V13.6341C15.3596 13.3381 15.6074 13.0982 15.9131 13.0982C16.2188 13.0982 16.4667 13.3381 16.4667 13.6341V13.7872C16.4667 15.267 15.2276 16.4667 13.6991 16.4667H5.30091C3.77241 16.4667 2.53333 15.267 2.53333 13.7872V9.83745C2.53333 9.54148 2.78114 9.30155 3.08684 9.30155H6.6767L8.08261 6.86742C8.18592 6.68855 8.38557 6.58238 8.59691 6.59393C8.80826 6.60548 8.99429 6.73272 9.07616 6.92171L10.9835 11.3247L11.9935 9.5759C12.0914 9.4065 12.2762 9.30155 12.4766 9.30155H15.3596V5.21283C15.3596 4.32492 14.6162 3.60514 13.6991 3.60514H5.3009C4.38381 3.60514 3.64036 4.32492 3.64036 5.21283V5.82528C3.64036 6.12125 3.39254 6.36118 3.08684 6.36118C2.78114 6.36118 2.53333 6.12125 2.53333 5.82528V5.21283Z" fill="#F2D664"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none" viewBox="0 0 19 19"><path fill="#261F00" d="M.5.5h18v18H.5z"/><path stroke="#000" d="M.5.5h18v18H.5z"/><path stroke="#000" stroke-opacity=".2" d="M.5.5h18v18H.5z"/><path fill="#F2D664" fill-rule="evenodd" d="M2.533 5.213c0-1.48 1.24-2.68 2.768-2.68h8.398c1.529 0 2.768 1.2 2.768 2.68v4.624a.545.545 0 0 1-.554.536h-3.112l-1.406 2.434a.558.558 0 0 1-.514.274.553.553 0 0 1-.48-.328L8.496 8.35 7.485 10.1a.557.557 0 0 1-.484.274h-3.36v3.414c0 .888.743 1.608 1.66 1.608h8.398c.917 0 1.66-.72 1.66-1.608v-.153c0-.296.248-.536.554-.536.306 0 .554.24.554.536v.153c0 1.48-1.24 2.68-2.768 2.68H5.301c-1.529 0-2.768-1.2-2.768-2.68v-3.95c0-.296.248-.535.554-.535h3.59l1.406-2.435a.558.558 0 0 1 .514-.273.553.553 0 0 1 .48.328l1.906 4.403 1.01-1.75a.557.557 0 0 1 .484-.273h2.883v-4.09c0-.887-.744-1.607-1.66-1.607H5.3c-.916 0-1.66.72-1.66 1.608v.612a.545.545 0 0 1-.553.536.545.545 0 0 1-.554-.536v-.612Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/CI Analytics (2).svg b/.gitbook/assets/CI Analytics (2).svg
deleted file mode 100644
index 5c18c2f4..00000000
--- a/.gitbook/assets/CI Analytics (2).svg	
+++ /dev/null
@@ -1,6 +0,0 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#261F00"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M155 97.6923C155 87.9211 163.182 80 173.274 80H228.726C238.818 80 247 87.9211 247 97.6923V128.228C247 130.182 245.364 131.767 243.345 131.767H222.798L213.515 147.839C212.833 149.02 211.515 149.721 210.119 149.645C208.724 149.568 207.495 148.728 206.955 147.48L194.361 118.408L187.692 129.955C187.046 131.074 185.826 131.767 184.502 131.767H162.31V154.308C162.31 160.17 167.219 164.923 173.274 164.923H228.726C234.781 164.923 239.69 160.17 239.69 154.308V153.297C239.69 151.342 241.327 149.758 243.345 149.758C245.364 149.758 247 151.342 247 153.297V154.308C247 164.079 238.818 172 228.726 172H173.274C163.182 172 155 164.079 155 154.308V128.228C155 126.274 156.636 124.69 158.655 124.69H182.358L191.641 108.617C192.323 107.436 193.642 106.735 195.037 106.812C196.433 106.888 197.661 107.728 198.202 108.976L210.795 138.048L217.464 126.501C218.11 125.383 219.331 124.69 220.654 124.69H239.69V97.6923C239.69 91.8296 234.781 87.0769 228.726 87.0769H173.274C167.219 87.0769 162.31 91.8296 162.31 97.6923V101.736C162.31 103.691 160.673 105.275 158.655 105.275C156.636 105.275 155 103.691 155 101.736V97.6923Z" fill="#F2D664"/>
-</svg>
diff --git a/.gitbook/assets/CI Analytics Settings screenshot b/.gitbook/assets/CI Analytics Settings screenshot
new file mode 100644
index 00000000..89daf9a9
Binary files /dev/null and b/.gitbook/assets/CI Analytics Settings screenshot differ
diff --git a/.gitbook/assets/CI Analytics.mov b/.gitbook/assets/CI Analytics.mov
new file mode 100644
index 00000000..d17ffae1
Binary files /dev/null and b/.gitbook/assets/CI Analytics.mov differ
diff --git a/.gitbook/assets/CI Analytics.mp4 b/.gitbook/assets/CI Analytics.mp4
new file mode 100644
index 00000000..1eb2717e
Binary files /dev/null and b/.gitbook/assets/CI Analytics.mp4 differ
diff --git a/.gitbook/assets/CI Analytics.svg b/.gitbook/assets/CI Analytics.svg
index 65c89a5a..b927192a 100644
--- a/.gitbook/assets/CI Analytics.svg	
+++ b/.gitbook/assets/CI Analytics.svg	
@@ -1,7 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#9B7C00"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<rect width="92" height="92" transform="translate(155 80)" fill="#9B7C00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M155 97.6923C155 87.9211 163.182 80 173.274 80H228.726C238.818 80 247 87.9211 247 97.6923V128.228C247 130.182 245.364 131.767 243.345 131.767H222.798L213.515 147.839C212.833 149.02 211.515 149.721 210.119 149.645C208.724 149.568 207.495 148.728 206.955 147.48L194.361 118.408L187.692 129.955C187.046 131.074 185.826 131.767 184.502 131.767H162.31V154.308C162.31 160.17 167.219 164.923 173.274 164.923H228.726C234.781 164.923 239.69 160.17 239.69 154.308V153.297C239.69 151.342 241.327 149.758 243.345 149.758C245.364 149.758 247 151.342 247 153.297V154.308C247 164.079 238.818 172 228.726 172H173.274C163.182 172 155 164.079 155 154.308V128.228C155 126.274 156.636 124.69 158.655 124.69H182.358L191.641 108.617C192.323 107.436 193.642 106.735 195.037 106.812C196.433 106.888 197.661 107.728 198.202 108.976L210.795 138.048L217.464 126.501C218.11 125.383 219.331 124.69 220.654 124.69H239.69V97.6923C239.69 91.8296 234.781 87.0769 228.726 87.0769H173.274C167.219 87.0769 162.31 91.8296 162.31 97.6923V101.736C162.31 103.691 160.673 105.275 158.655 105.275C156.636 105.275 155 103.691 155 101.736V97.6923Z" fill="#F2D664"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0z"/><path fill="#F2D664" d="M155 80h92v92h-92z"/><path fill="#261F00" fill-rule="evenodd" d="M155 97.692C155 87.922 163.182 80 173.274 80h55.452C238.818 80 247 87.921 247 97.692v30.536c0 1.954-1.636 3.539-3.655 3.539h-20.547l-9.283 16.072c-.682 1.181-2 1.882-3.396 1.806-1.395-.077-2.624-.917-3.164-2.165l-12.594-29.072-6.669 11.547c-.646 1.119-1.866 1.812-3.19 1.812H162.31v22.541c0 5.862 4.909 10.615 10.964 10.615h55.452c6.055 0 10.964-4.753 10.964-10.615v-1.011c0-1.955 1.637-3.539 3.655-3.539 2.019 0 3.655 1.584 3.655 3.539v1.011c0 9.771-8.182 17.692-18.274 17.692h-55.452C163.182 172 155 164.079 155 154.308v-26.08c0-1.954 1.636-3.538 3.655-3.538h23.703l9.283-16.073c.682-1.181 2.001-1.882 3.396-1.805 1.396.076 2.624.916 3.165 2.164l12.593 29.072 6.669-11.547c.646-1.118 1.867-1.811 3.19-1.811h19.036V97.692c0-5.862-4.909-10.615-10.964-10.615h-55.452c-6.055 0-10.964 4.753-10.964 10.615v4.044c0 1.955-1.637 3.539-3.655 3.539-2.019 0-3.655-1.584-3.655-3.539v-4.044Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/CI Debugger (1).svg b/.gitbook/assets/CI Debugger (1).svg
deleted file mode 100644
index 56cf260e..00000000
--- a/.gitbook/assets/CI Debugger (1).svg	
+++ /dev/null
@@ -1,26 +0,0 @@
-<svg width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g filter="url(#filter0_dd_101_261)">
-<rect x="4" width="19" height="19" fill="#261F00"/>
-<rect x="4.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="4.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-</g>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M6.53333 5.21283C6.53333 3.73299 7.77241 2.53334 9.3009 2.53334H17.6991C19.2276 2.53334 20.4667 3.73299 20.4667 5.21283V9.83745C20.4667 10.1334 20.2188 10.3733 19.9131 10.3733H16.8013L15.3954 12.8075C15.2921 12.9864 15.0924 13.0925 14.8811 13.081C14.6697 13.0694 14.4837 12.9422 14.4018 12.7532L12.4945 8.35024L11.4845 10.099C11.3866 10.2684 11.2018 10.3733 11.0014 10.3733H7.64036V13.7872C7.64036 14.6751 8.38381 15.3949 9.30091 15.3949H17.6991C18.6162 15.3949 19.3596 14.6751 19.3596 13.7872V13.6341C19.3596 13.3381 19.6074 13.0982 19.9131 13.0982C20.2188 13.0982 20.4667 13.3381 20.4667 13.6341V13.7872C20.4667 15.267 19.2276 16.4667 17.6991 16.4667H9.30091C7.77241 16.4667 6.53333 15.267 6.53333 13.7872V9.83745C6.53333 9.54148 6.78114 9.30155 7.08684 9.30155H10.6767L12.0826 6.86742C12.1859 6.68855 12.3856 6.58238 12.5969 6.59393C12.8083 6.60548 12.9943 6.73272 13.0762 6.92171L14.9835 11.3247L15.9935 9.5759C16.0914 9.4065 16.2762 9.30155 16.4766 9.30155H19.3596V5.21283C19.3596 4.32492 18.6162 3.60514 17.6991 3.60514H9.3009C8.38381 3.60514 7.64036 4.32492 7.64036 5.21283V5.82528C7.64036 6.12125 7.39254 6.36118 7.08684 6.36118C6.78114 6.36118 6.53333 6.12125 6.53333 5.82528V5.21283Z" fill="#F2D664"/>
-<defs>
-<filter id="filter0_dd_101_261" x="0" y="0" width="27" height="27" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
-<feFlood flood-opacity="0" result="BackgroundImageFix"/>
-<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
-<feOffset dy="4"/>
-<feGaussianBlur stdDeviation="2"/>
-<feComposite in2="hardAlpha" operator="out"/>
-<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
-<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_101_261"/>
-<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
-<feOffset dy="4"/>
-<feGaussianBlur stdDeviation="2"/>
-<feComposite in2="hardAlpha" operator="out"/>
-<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
-<feBlend mode="normal" in2="effect1_dropShadow_101_261" result="effect2_dropShadow_101_261"/>
-<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_101_261" result="shape"/>
-</filter>
-</defs>
-</svg>
diff --git a/.gitbook/assets/CI Debugger (2).svg b/.gitbook/assets/CI Debugger (2).svg
deleted file mode 100644
index 4d734b40..00000000
--- a/.gitbook/assets/CI Debugger (2).svg	
+++ /dev/null
@@ -1,12 +0,0 @@
-<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="18" height="18" fill="#022719"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M9.50266 15.0273C12.0166 15.0273 14.0546 12.9894 14.0546 10.4754C14.0546 7.96145 12.0166 5.92349 9.50266 5.92349C6.98871 5.92349 4.95075 7.96145 4.95075 10.4754C4.95075 12.9894 6.98871 15.0273 9.50266 15.0273ZM9.50266 16.1607C12.6425 16.1607 15.1879 13.6153 15.1879 10.4754C15.1879 7.33553 12.6425 4.79016 9.50266 4.79016C6.36278 4.79016 3.81741 7.33553 3.81741 10.4754C3.81741 13.6153 6.36278 16.1607 9.50266 16.1607Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M13.8397 12.9173C14.061 12.696 14.4198 12.696 14.6411 12.9173L16.5361 14.8124C16.7574 15.0337 16.7574 15.3925 16.5361 15.6138C16.3149 15.8351 15.9561 15.8351 15.7348 15.6138L13.8397 13.7187C13.6184 13.4974 13.6184 13.1386 13.8397 12.9173Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M5.16566 12.9173C4.94436 12.696 4.58557 12.696 4.36427 12.9173L2.46919 14.8124C2.2479 15.0337 2.2479 15.3925 2.46919 15.6138C2.69049 15.8351 3.04928 15.8351 3.27058 15.6138L5.16566 13.7187C5.38696 13.4974 5.38696 13.1386 5.16566 12.9173Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M5.16566 8.03349C4.94436 8.25479 4.58557 8.25479 4.36427 8.03349L2.46919 6.13841C2.2479 5.91711 2.2479 5.55832 2.46919 5.33702C2.69049 5.11572 3.04928 5.11572 3.27058 5.33702L5.16566 7.2321C5.38696 7.4534 5.38696 7.81219 5.16566 8.03349Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M13.8397 8.03349C14.061 8.25479 14.4198 8.25479 14.6411 8.03349L16.5361 6.13841C16.7574 5.91711 16.7574 5.55832 16.5361 5.33702C16.3149 5.11572 15.9561 5.11572 15.7348 5.33702L13.8397 7.2321C13.6184 7.4534 13.6184 7.81219 13.8397 8.03349Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M9.50267 5.39397C9.81563 5.39397 10.0693 5.64767 10.0693 5.96063L10.0693 15.0273C10.0693 15.3403 9.81563 15.594 9.50267 15.594C9.18971 15.594 8.93601 15.3403 8.93601 15.0273L8.936 5.96063C8.936 5.64767 9.18971 5.39397 9.50267 5.39397Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0085 6.05587C12.0085 4.67192 10.8866 3.55001 9.50266 3.55001C8.11871 3.55001 6.9968 4.67192 6.9968 6.05587C6.9968 6.36883 6.74309 6.62254 6.43013 6.62254C6.11717 6.62254 5.86346 6.36883 5.86346 6.05587C5.86346 4.046 7.49279 2.41667 9.50266 2.41667C11.5125 2.41667 13.1419 4.046 13.1419 6.05587C13.1419 6.36883 12.8882 6.62254 12.5752 6.62254C12.2622 6.62254 12.0085 6.36883 12.0085 6.05587Z" fill="#F0894F"/>
-</svg>
diff --git a/.gitbook/assets/CI Debugger (3).svg b/.gitbook/assets/CI Debugger (3).svg
deleted file mode 100644
index ae505bb6..00000000
--- a/.gitbook/assets/CI Debugger (3).svg	
+++ /dev/null
@@ -1,12 +0,0 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#022719"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M190.014 155.912C203.619 155.912 214.648 144.883 214.648 131.279C214.648 117.674 203.619 106.645 190.014 106.645C176.41 106.645 165.381 117.674 165.381 131.279C165.381 144.883 176.41 155.912 190.014 155.912ZM190.014 162.046C207.007 162.046 220.782 148.271 220.782 131.279C220.782 114.286 207.007 100.511 190.014 100.511C173.022 100.511 159.247 114.286 159.247 131.279C159.247 148.271 173.022 162.046 190.014 162.046Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M213.485 144.494C214.683 143.296 216.625 143.296 217.822 144.494L228.078 154.75C229.276 155.947 229.276 157.889 228.078 159.086C226.88 160.284 224.939 160.284 223.741 159.086L213.485 148.831C212.288 147.633 212.288 145.691 213.485 144.494Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M166.544 144.494C165.346 143.296 163.404 143.296 162.207 144.494L151.951 154.75C150.753 155.947 150.753 157.889 151.951 159.086C153.149 160.284 155.09 160.284 156.288 159.086L166.544 148.831C167.741 147.633 167.741 145.691 166.544 144.494Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M166.544 118.064C165.346 119.261 163.404 119.261 162.207 118.064L151.951 107.808C150.753 106.61 150.753 104.668 151.951 103.471C153.149 102.273 155.09 102.273 156.288 103.471L166.544 113.727C167.741 114.924 167.741 116.866 166.544 118.064Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M213.485 118.064C214.683 119.261 216.625 119.261 217.822 118.064L228.078 107.808C229.276 106.61 229.276 104.668 228.078 103.471C226.88 102.273 224.939 102.273 223.741 103.471L213.485 113.727C212.288 114.924 212.288 116.866 213.485 118.064Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M190.014 103.779C191.708 103.779 193.081 105.152 193.081 106.846L193.081 155.912C193.081 157.606 191.708 158.979 190.014 158.979C188.321 158.979 186.948 157.606 186.948 155.912L186.948 106.846C186.948 105.152 188.321 103.779 190.014 103.779Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M203.576 107.361C203.576 99.8715 197.504 93.8 190.014 93.8C182.525 93.8 176.453 99.8715 176.453 107.361C176.453 109.055 175.08 110.428 173.387 110.428C171.693 110.428 170.32 109.055 170.32 107.361C170.32 96.4842 179.138 87.6666 190.014 87.6666C200.891 87.6666 209.709 96.4842 209.709 107.361C209.709 109.055 208.336 110.428 206.642 110.428C204.949 110.428 203.576 109.055 203.576 107.361Z" fill="#F0894F"/>
-</svg>
diff --git a/.gitbook/assets/CI Debugger.svg b/.gitbook/assets/CI Debugger.svg
index 626f88b7..0ffbab4f 100644
--- a/.gitbook/assets/CI Debugger.svg	
+++ b/.gitbook/assets/CI Debugger.svg	
@@ -1,12 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#904707"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M202.014 155.912C215.619 155.912 226.648 144.883 226.648 131.279C226.648 117.674 215.619 106.645 202.014 106.645C188.41 106.645 177.381 117.674 177.381 131.279C177.381 144.883 188.41 155.912 202.014 155.912ZM202.014 162.046C219.007 162.046 232.782 148.271 232.782 131.279C232.782 114.286 219.007 100.511 202.014 100.511C185.022 100.511 171.247 114.286 171.247 131.279C171.247 148.271 185.022 162.046 202.014 162.046Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M225.485 144.494C226.683 143.296 228.625 143.296 229.822 144.494L240.078 154.75C241.276 155.947 241.276 157.889 240.078 159.086C238.88 160.284 236.939 160.284 235.741 159.086L225.485 148.831C224.288 147.633 224.288 145.691 225.485 144.494Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M178.544 144.494C177.346 143.296 175.404 143.296 174.207 144.494L163.951 154.75C162.753 155.947 162.753 157.889 163.951 159.086C165.149 160.284 167.09 160.284 168.288 159.086L178.544 148.831C179.741 147.633 179.741 145.691 178.544 144.494Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M178.544 118.064C177.346 119.261 175.404 119.261 174.207 118.064L163.951 107.808C162.753 106.61 162.753 104.668 163.951 103.471C165.149 102.273 167.09 102.273 168.288 103.471L178.544 113.727C179.741 114.924 179.741 116.866 178.544 118.064Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M225.485 118.064C226.683 119.261 228.625 119.261 229.822 118.064L240.078 107.808C241.276 106.61 241.276 104.668 240.078 103.471C238.88 102.273 236.939 102.273 235.741 103.471L225.485 113.727C224.288 114.924 224.288 116.866 225.485 118.064Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M202.014 103.779C203.708 103.779 205.081 105.152 205.081 106.846L205.081 155.912C205.081 157.606 203.708 158.979 202.014 158.979C200.321 158.979 198.948 157.606 198.948 155.912L198.948 106.846C198.948 105.152 200.321 103.779 202.014 103.779Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M215.576 107.361C215.576 99.8715 209.504 93.8 202.014 93.8C194.525 93.8 188.453 99.8715 188.453 107.361C188.453 109.055 187.08 110.428 185.387 110.428C183.693 110.428 182.32 109.055 182.32 107.361C182.32 96.4842 191.138 87.6666 202.014 87.6666C212.891 87.6666 221.709 96.4842 221.709 107.361C221.709 109.055 220.336 110.428 218.642 110.428C216.949 110.428 215.576 109.055 215.576 107.361Z" fill="#F0894F"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F0894F" d="M0 0h404v251H0z"/><path fill="#572900" fill-rule="evenodd" d="M202.014 155.912c13.605 0 24.634-11.029 24.634-24.634 0-13.604-11.029-24.633-24.634-24.633s-24.634 11.029-24.634 24.633c0 13.605 11.029 24.634 24.634 24.634Zm0 6.134c16.993 0 30.767-13.775 30.767-30.768 0-16.992-13.774-30.767-30.767-30.767-16.992 0-30.767 13.775-30.767 30.767 0 16.993 13.775 30.768 30.767 30.768Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M225.485 144.493a3.068 3.068 0 0 1 4.337 0l10.256 10.256a3.068 3.068 0 0 1-4.337 4.337l-10.256-10.256a3.068 3.068 0 0 1 0-4.337Zm-46.941 0a3.068 3.068 0 0 0-4.337 0l-10.256 10.256a3.066 3.066 0 1 0 4.337 4.337l10.256-10.256a3.068 3.068 0 0 0 0-4.337Zm0-26.43a3.066 3.066 0 0 1-4.337 0l-10.256-10.256a3.066 3.066 0 1 1 4.337-4.336l10.256 10.255a3.068 3.068 0 0 1 0 4.337Zm46.941 0a3.066 3.066 0 0 0 4.337 0l10.256-10.256a3.067 3.067 0 0 0-4.337-4.336l-10.256 10.255a3.068 3.068 0 0 0 0 4.337Zm-23.471-14.284a3.067 3.067 0 0 1 3.067 3.066v49.067a3.067 3.067 0 1 1-6.133 0v-49.067a3.066 3.066 0 0 1 3.066-3.066Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M215.575 107.361c0-7.49-6.071-13.561-13.561-13.561-7.489 0-13.561 6.071-13.561 13.561a3.067 3.067 0 1 1-6.133 0c0-10.877 8.817-19.695 19.694-19.695 10.877 0 19.695 8.818 19.695 19.695a3.067 3.067 0 1 1-6.134 0Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/CIAnalytics.png b/.gitbook/assets/CIAnalytics.png
new file mode 100644
index 00000000..bfb27125
Binary files /dev/null and b/.gitbook/assets/CIAnalytics.png differ
diff --git a/.gitbook/assets/CQ Deprecation (1).png b/.gitbook/assets/CQ Deprecation (1).png
new file mode 100644
index 00000000..e1e4e57d
Binary files /dev/null and b/.gitbook/assets/CQ Deprecation (1).png differ
diff --git a/.gitbook/assets/CQ Deprecation (2).png b/.gitbook/assets/CQ Deprecation (2).png
new file mode 100644
index 00000000..fb58f4a3
Binary files /dev/null and b/.gitbook/assets/CQ Deprecation (2).png differ
diff --git a/.gitbook/assets/CQ Deprecation.png b/.gitbook/assets/CQ Deprecation.png
new file mode 100644
index 00000000..fb58f4a3
Binary files /dev/null and b/.gitbook/assets/CQ Deprecation.png differ
diff --git a/.gitbook/assets/CQ Nightly Deprecation.png b/.gitbook/assets/CQ Nightly Deprecation.png
new file mode 100644
index 00000000..f26b8c6f
Binary files /dev/null and b/.gitbook/assets/CQ Nightly Deprecation.png differ
diff --git a/.gitbook/assets/Check (1).svg b/.gitbook/assets/Check (1).svg
deleted file mode 100644
index c0f7c28b..00000000
--- a/.gitbook/assets/Check (1).svg	
+++ /dev/null
@@ -1,7 +0,0 @@
-<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="18" height="18" fill="#022719"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-<circle cx="9.50103" cy="9.50103" r="6.87603" stroke="#68E6B8" stroke-width="1.25"/>
-<path d="M12.5634 7L7.99675 11.6881L6 9.35794" stroke="#68E6B8" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>
diff --git a/.gitbook/assets/Check (2).svg b/.gitbook/assets/Check (2).svg
deleted file mode 100644
index 60991e03..00000000
--- a/.gitbook/assets/Check (2).svg	
+++ /dev/null
@@ -1,7 +0,0 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#022719"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<circle cx="202" cy="126" r="42" stroke="#68E6B8" stroke-width="8"/>
-<path d="M221 111L193.169 139L181 125.083" stroke="#68E6B8" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>
diff --git a/.gitbook/assets/Check.svg b/.gitbook/assets/Check.svg
index 567baec6..a29e3f30 100644
--- a/.gitbook/assets/Check.svg
+++ b/.gitbook/assets/Check.svg
@@ -1,7 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#0D4C35"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<circle cx="202" cy="126" r="42" stroke="#68E6B8" stroke-width="8"/>
-<path d="M221 111L193.169 139L181 125.083" stroke="#68E6B8" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#68E6B8" d="M0 0h404v251H0z"/><circle cx="202" cy="126" r="42" stroke="#022719" stroke-width="8"/><path stroke="#022719" stroke-linecap="round" stroke-linejoin="round" stroke-width="8" d="m221 111-27.831 28L181 125.083"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/CheckOptions.png b/.gitbook/assets/CheckOptions.png
index 61369414..a8303b41 100644
Binary files a/.gitbook/assets/CheckOptions.png and b/.gitbook/assets/CheckOptions.png differ
diff --git a/.gitbook/assets/CircleCI (1).png b/.gitbook/assets/CircleCI (1).png
new file mode 100644
index 00000000..b0858b0b
Binary files /dev/null and b/.gitbook/assets/CircleCI (1).png differ
diff --git a/.gitbook/assets/CircleCI-env-var-settings-screenshot.png b/.gitbook/assets/CircleCI-env-var-settings-screenshot.png
new file mode 100644
index 00000000..40d9b46d
Binary files /dev/null and b/.gitbook/assets/CircleCI-env-var-settings-screenshot.png differ
diff --git a/.gitbook/assets/CircleCI.png b/.gitbook/assets/CircleCI.png
new file mode 100644
index 00000000..b0858b0b
Binary files /dev/null and b/.gitbook/assets/CircleCI.png differ
diff --git a/.gitbook/assets/CodeQuality.png b/.gitbook/assets/CodeQuality.png
new file mode 100644
index 00000000..2f308ade
Binary files /dev/null and b/.gitbook/assets/CodeQuality.png differ
diff --git a/.gitbook/assets/Community.svg b/.gitbook/assets/Community.svg
index 92e2e4fc..c71ebdcb 100644
--- a/.gitbook/assets/Community.svg
+++ b/.gitbook/assets/Community.svg
@@ -1,13 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#F0894F"/>
-<path d="M185.355 122.125L201.668 137.911L218.014 122.125C219.568 120.02 219.846 114.006 214.751 110.398C208.609 106.047 203.377 110.398 201.668 113.104C199.959 110.398 193.9 106.789 188.618 110.398C183.335 114.006 183.801 120.02 185.355 122.125Z" fill="#FBDCC1"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M205.407 106.144C208.653 104.894 212.617 104.998 216.585 107.809C219.886 110.147 221.505 113.331 222.004 116.299C222.474 119.092 221.998 122.069 220.566 124.009L220.409 124.222L201.666 142.324L182.959 124.221L182.803 124.009C181.403 122.112 180.842 119.167 181.289 116.331C181.764 113.321 183.408 110.114 186.828 107.778C190.455 105.3 194.364 105.341 197.478 106.37C198.969 106.863 200.361 107.607 201.543 108.486C202.614 107.562 203.913 106.72 205.407 106.144ZM207.688 112.065C206.151 112.657 204.913 113.907 204.351 114.798C203.769 115.718 202.757 116.276 201.668 116.276C200.58 116.276 199.567 115.718 198.986 114.798C198.58 114.154 197.284 112.988 195.488 112.395C193.825 111.845 192.063 111.886 190.407 113.017C188.545 114.289 187.781 115.894 187.557 117.319C187.339 118.699 187.644 119.718 187.83 120.105L201.671 133.499L215.53 120.113C215.544 120.083 215.559 120.047 215.576 120.005C215.639 119.844 215.704 119.624 215.754 119.349C215.854 118.796 215.874 118.102 215.747 117.351C215.5 115.884 214.711 114.256 212.918 112.986C210.744 111.446 209.021 111.551 207.688 112.065Z" fill="#572900"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M201.758 86.3448C182.486 86.3448 166.862 101.968 166.862 121.241C166.862 122.993 165.442 124.414 163.689 124.414C161.937 124.414 160.517 122.993 160.517 121.241C160.517 98.4643 178.981 80 201.758 80C224.535 80 243 98.4643 243 121.241C243 122.993 241.579 124.414 239.827 124.414C238.075 124.414 236.655 122.993 236.655 121.241C236.655 101.968 221.031 86.3448 201.758 86.3448Z" fill="#572900"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M204.931 159.311C204.931 161.063 206.351 162.483 208.103 162.483C227.376 162.483 243 146.859 243 127.586C243 125.834 241.579 124.414 239.827 124.414C238.075 124.414 236.655 125.834 236.655 127.586C236.655 143.355 223.872 156.138 208.103 156.138C206.351 156.138 204.931 157.558 204.931 159.311Z" fill="#572900"/>
-<path d="M151 121.241C151 114.233 156.681 108.552 163.69 108.552V108.552C170.698 108.552 176.379 114.233 176.379 121.241V140.276C176.379 147.284 170.698 152.965 163.69 152.965V152.965C156.681 152.965 151 147.284 151 140.276V121.241Z" fill="#FBDCC1"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M170.034 140.276V121.241C170.034 117.737 167.194 114.897 163.69 114.897C160.185 114.897 157.345 117.737 157.345 121.241V140.276C157.345 143.78 160.185 146.621 163.69 146.621C167.194 146.621 170.034 143.78 170.034 140.276ZM163.69 108.552C156.681 108.552 151 114.233 151 121.241V140.276C151 147.284 156.681 152.965 163.69 152.965C170.698 152.965 176.379 147.284 176.379 140.276V121.241C176.379 114.233 170.698 108.552 163.69 108.552Z" fill="#572900"/>
-<path d="M189.069 159.31C189.069 152.302 194.75 146.621 201.758 146.621V146.621C208.767 146.621 214.448 152.302 214.448 159.31V159.31C214.448 166.318 208.767 172 201.758 172V172C194.75 172 189.069 166.318 189.069 159.31V159.31Z" fill="#FBDCC1"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M195.414 159.31C195.414 162.814 198.254 165.655 201.758 165.655C205.263 165.655 208.103 162.814 208.103 159.31C208.103 155.806 205.263 152.965 201.758 152.965C198.254 152.965 195.414 155.806 195.414 159.31ZM201.758 146.621C194.75 146.621 189.069 152.302 189.069 159.31C189.069 166.318 194.75 172 201.758 172C208.767 172 214.448 166.318 214.448 159.31C214.448 152.302 208.767 146.621 201.758 146.621Z" fill="#572900"/>
-<path d="M227.138 121.241C227.138 114.233 232.819 108.552 239.827 108.552C246.836 108.552 252.517 114.233 252.517 121.241V140.276C252.517 147.284 246.836 152.965 239.827 152.965C232.819 152.965 227.138 147.284 227.138 140.276V121.241Z" fill="#FBDCC1"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M246.172 140.276V121.241C246.172 117.737 243.331 114.897 239.827 114.897C236.323 114.897 233.483 117.737 233.483 121.241V140.276C233.483 143.78 236.323 146.621 239.827 146.621C243.331 146.621 246.172 143.78 246.172 140.276ZM239.827 108.552C232.819 108.552 227.138 114.233 227.138 121.241V140.276C227.138 147.284 232.819 152.965 239.827 152.965C246.836 152.965 252.517 147.284 252.517 140.276V121.241C252.517 114.233 246.836 108.552 239.827 108.552Z" fill="#572900"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F0894F" d="M0 0h404v251H0V0Z"/><path fill="#FBDCC1" d="m185.355 122.125 16.313 15.786 16.346-15.786c1.554-2.105 1.832-8.119-3.263-11.727-6.142-4.351-11.374 0-13.083 2.706-1.709-2.706-7.768-6.315-13.05-2.706-5.283 3.608-4.817 9.622-3.263 11.727Z"/><path fill="#572900" fill-rule="evenodd" d="M205.407 106.144c3.246-1.25 7.21-1.146 11.178 1.665 3.301 2.338 4.92 5.522 5.419 8.49.47 2.793-.006 5.77-1.438 7.71l-.157.213-18.743 18.102-18.707-18.103-.156-.212c-1.4-1.897-1.961-4.842-1.514-7.678.475-3.01 2.119-6.217 5.539-8.553 3.627-2.478 7.536-2.437 10.65-1.408a14.52 14.52 0 0 1 4.065 2.116 13.252 13.252 0 0 1 3.864-2.342Zm2.281 5.921c-1.537.592-2.775 1.842-3.337 2.733a3.174 3.174 0 0 1-5.365 0c-.406-.644-1.702-1.81-3.498-2.403-1.663-.55-3.425-.509-5.081.622-1.862 1.272-2.626 2.877-2.85 4.302-.218 1.38.087 2.399.273 2.786l13.841 13.394 13.859-13.386a2.35 2.35 0 0 0 .046-.108 3.59 3.59 0 0 0 .178-.656 5.89 5.89 0 0 0-.007-1.998c-.247-1.467-1.036-3.095-2.829-4.365-2.174-1.54-3.897-1.435-5.23-.921Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M201.758 86.345c-19.272 0-34.896 15.623-34.896 34.896a3.173 3.173 0 1 1-6.345 0c0-22.777 18.464-41.241 41.241-41.241S243 98.464 243 121.241a3.174 3.174 0 0 1-6.345 0c0-19.273-15.624-34.896-34.897-34.896Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M204.931 159.311a3.172 3.172 0 0 0 3.172 3.172c19.273 0 34.897-15.624 34.897-34.897a3.173 3.173 0 0 0-6.345 0c0 15.769-12.783 28.552-28.552 28.552a3.172 3.172 0 0 0-3.172 3.173Z" clip-rule="evenodd"/><path fill="#FBDCC1" d="M151 121.241c0-7.008 5.681-12.689 12.69-12.689 7.008 0 12.689 5.681 12.689 12.689v19.035c0 7.008-5.681 12.689-12.689 12.689-7.009 0-12.69-5.681-12.69-12.689v-19.035Z"/><path fill="#572900" fill-rule="evenodd" d="M170.034 140.276v-19.035a6.344 6.344 0 0 0-6.344-6.344 6.344 6.344 0 0 0-6.345 6.344v19.035a6.345 6.345 0 1 0 12.689 0Zm-6.344-31.724c-7.009 0-12.69 5.681-12.69 12.689v19.035c0 7.008 5.681 12.689 12.69 12.689 7.008 0 12.689-5.681 12.689-12.689v-19.035c0-7.008-5.681-12.689-12.689-12.689Z" clip-rule="evenodd"/><path fill="#FBDCC1" d="M189.069 159.31c0-7.008 5.681-12.689 12.689-12.689 7.009 0 12.69 5.681 12.69 12.689S208.767 172 201.758 172c-7.008 0-12.689-5.682-12.689-12.69Z"/><path fill="#572900" fill-rule="evenodd" d="M195.414 159.31a6.344 6.344 0 1 0 12.689 0 6.345 6.345 0 1 0-12.689 0Zm6.344-12.689c-7.008 0-12.689 5.681-12.689 12.689S194.75 172 201.758 172c7.009 0 12.69-5.682 12.69-12.69 0-7.008-5.681-12.689-12.69-12.689Z" clip-rule="evenodd"/><path fill="#FBDCC1" d="M227.138 121.241c0-7.008 5.681-12.689 12.689-12.689 7.009 0 12.69 5.681 12.69 12.689v19.035c0 7.008-5.681 12.689-12.69 12.689-7.008 0-12.689-5.681-12.689-12.689v-19.035Z"/><path fill="#572900" fill-rule="evenodd" d="M246.172 140.276v-19.035a6.344 6.344 0 0 0-12.689 0v19.035a6.344 6.344 0 1 0 12.689 0Zm-6.345-31.724c-7.008 0-12.689 5.681-12.689 12.689v19.035c0 7.008 5.681 12.689 12.689 12.689 7.009 0 12.69-5.681 12.69-12.689v-19.035c0-7.008-5.681-12.689-12.69-12.689Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Components (1).svg b/.gitbook/assets/Components (1).svg
index f3434dd4..5d7532c0 100644
--- a/.gitbook/assets/Components (1).svg	
+++ b/.gitbook/assets/Components (1).svg	
@@ -1,6 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#FC6469"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M160.283 83.081C161.237 82.5705 162.394 82.6265 163.294 83.2265L185.294 97.8932C186.11 98.4372 186.601 99.3531 186.601 100.334V166.334C186.601 167.416 186.005 168.41 185.051 168.92C184.098 169.431 182.94 169.375 182.04 168.775L160.04 154.108C159.224 153.564 158.734 152.648 158.734 151.667V85.6672C158.734 84.5854 159.329 83.5914 160.283 83.081ZM164.601 91.1482V150.097L180.734 160.853V101.904L164.601 91.1482Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M158.734 85.6672C158.734 84.0472 160.047 82.7339 161.667 82.7339H216.667C217.178 82.7339 217.679 82.8671 218.123 83.1204L243.789 97.787C244.944 98.4469 245.51 99.8013 245.169 101.087C244.828 102.372 243.664 103.267 242.334 103.267H183.667C182.047 103.267 180.734 101.954 180.734 100.334C180.734 98.7139 182.047 97.4006 183.667 97.4006H231.288L215.888 88.6006H161.667C160.047 88.6006 158.734 87.2873 158.734 85.6672Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M242.334 97.4004C243.954 97.4004 245.267 98.7137 245.267 100.334V166.334C245.267 167.954 243.954 169.267 242.334 169.267H183.667C182.047 169.267 180.734 167.954 180.734 166.334C180.734 164.714 182.047 163.4 183.667 163.4H239.401V100.334C239.401 98.7137 240.714 97.4004 242.334 97.4004Z" fill="#360103"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><path fill="#360103" fill-rule="evenodd" d="M160.283 83.081a2.933 2.933 0 0 1 3.011.145l22 14.667a2.934 2.934 0 0 1 1.307 2.441v66a2.933 2.933 0 0 1-4.561 2.441l-22-14.667a2.933 2.933 0 0 1-1.306-2.441v-66c0-1.082.595-2.076 1.549-2.586Zm4.318 8.067v58.949l16.133 10.756v-58.949l-16.133-10.756Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M158.734 85.667a2.933 2.933 0 0 1 2.933-2.933h55c.511 0 1.012.133 1.456.386l25.666 14.667a2.934 2.934 0 0 1-1.455 5.48h-58.667a2.933 2.933 0 1 1 0-5.866h47.621l-15.4-8.8h-54.221a2.933 2.933 0 0 1-2.933-2.934Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M242.334 97.4a2.933 2.933 0 0 1 2.933 2.934v66a2.933 2.933 0 0 1-2.933 2.933h-58.667a2.933 2.933 0 1 1 0-5.867h55.734v-63.066a2.933 2.933 0 0 1 2.933-2.934Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Components.svg b/.gitbook/assets/Components.svg
index f3434dd4..5d7532c0 100644
--- a/.gitbook/assets/Components.svg
+++ b/.gitbook/assets/Components.svg
@@ -1,6 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#FC6469"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M160.283 83.081C161.237 82.5705 162.394 82.6265 163.294 83.2265L185.294 97.8932C186.11 98.4372 186.601 99.3531 186.601 100.334V166.334C186.601 167.416 186.005 168.41 185.051 168.92C184.098 169.431 182.94 169.375 182.04 168.775L160.04 154.108C159.224 153.564 158.734 152.648 158.734 151.667V85.6672C158.734 84.5854 159.329 83.5914 160.283 83.081ZM164.601 91.1482V150.097L180.734 160.853V101.904L164.601 91.1482Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M158.734 85.6672C158.734 84.0472 160.047 82.7339 161.667 82.7339H216.667C217.178 82.7339 217.679 82.8671 218.123 83.1204L243.789 97.787C244.944 98.4469 245.51 99.8013 245.169 101.087C244.828 102.372 243.664 103.267 242.334 103.267H183.667C182.047 103.267 180.734 101.954 180.734 100.334C180.734 98.7139 182.047 97.4006 183.667 97.4006H231.288L215.888 88.6006H161.667C160.047 88.6006 158.734 87.2873 158.734 85.6672Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M242.334 97.4004C243.954 97.4004 245.267 98.7137 245.267 100.334V166.334C245.267 167.954 243.954 169.267 242.334 169.267H183.667C182.047 169.267 180.734 167.954 180.734 166.334C180.734 164.714 182.047 163.4 183.667 163.4H239.401V100.334C239.401 98.7137 240.714 97.4004 242.334 97.4004Z" fill="#360103"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><path fill="#360103" fill-rule="evenodd" d="M160.283 83.081a2.933 2.933 0 0 1 3.011.145l22 14.667a2.934 2.934 0 0 1 1.307 2.441v66a2.933 2.933 0 0 1-4.561 2.441l-22-14.667a2.933 2.933 0 0 1-1.306-2.441v-66c0-1.082.595-2.076 1.549-2.586Zm4.318 8.067v58.949l16.133 10.756v-58.949l-16.133-10.756Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M158.734 85.667a2.933 2.933 0 0 1 2.933-2.933h55c.511 0 1.012.133 1.456.386l25.666 14.667a2.934 2.934 0 0 1-1.455 5.48h-58.667a2.933 2.933 0 1 1 0-5.866h47.621l-15.4-8.8h-54.221a2.933 2.933 0 0 1-2.933-2.934Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M242.334 97.4a2.933 2.933 0 0 1 2.933 2.934v66a2.933 2.933 0 0 1-2.933 2.933h-58.667a2.933 2.933 0 1 1 0-5.867h55.734v-63.066a2.933 2.933 0 0 1 2.933-2.934Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Contact Support.svg b/.gitbook/assets/Contact Support.svg
index 0388cefe..e078faa3 100644
--- a/.gitbook/assets/Contact Support.svg	
+++ b/.gitbook/assets/Contact Support.svg	
@@ -1,17 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#7C92FF"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M236.564 92.5579C235.142 92.9569 233.71 93.776 232.867 94.399C231.639 95.3066 229.908 95.0469 229 93.8189C228.092 92.5909 228.352 90.8597 229.58 89.952C230.812 89.0416 232.843 87.8584 235.07 87.2337C237.218 86.6309 240.293 86.3617 242.751 88.4413C244.111 89.5919 244.81 91.3405 245.219 92.8262C245.656 94.4121 245.9 96.2271 246.029 98.0089C246.289 101.582 246.118 105.41 245.882 107.864C245.736 109.384 244.385 110.497 242.865 110.351C241.345 110.205 240.231 108.854 240.377 107.334C240.592 105.098 240.745 101.593 240.514 98.4102C240.398 96.8143 240.191 95.3958 239.888 94.2949C239.737 93.748 239.578 93.3357 239.427 93.0434C239.284 92.767 239.187 92.6712 239.179 92.6629C239.178 92.6622 239.178 92.6622 239.179 92.6627C238.822 92.3611 238.064 92.1369 236.564 92.5579Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M166.619 159.805C168.041 159.406 169.473 158.587 170.315 157.964C171.543 157.057 173.275 157.316 174.182 158.544C175.09 159.772 174.83 161.504 173.602 162.411C172.371 163.322 170.339 164.505 168.113 165.13C165.964 165.732 162.889 166.002 160.432 163.922C158.99 162.702 158.354 160.772 158.014 159.23C157.641 157.545 157.475 155.6 157.418 153.696C157.302 149.874 157.613 145.801 157.842 143.417C157.988 141.897 159.339 140.784 160.859 140.93C162.379 141.076 163.492 142.427 163.346 143.947C163.124 146.253 162.84 150.055 162.945 153.529C162.998 155.274 163.147 156.832 163.413 158.037C163.67 159.201 163.95 159.617 163.999 159.69C164.006 159.702 164.008 159.705 164.004 159.701C164.36 160.002 165.118 160.226 166.619 159.805Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M235.372 161.399C234.968 159.959 234.139 158.509 233.508 157.656C232.601 156.428 232.86 154.697 234.088 153.789C235.316 152.882 237.048 153.141 237.955 154.369C238.873 155.611 240.066 157.66 240.696 159.905C241.304 162.071 241.574 165.165 239.482 167.637C238.258 169.084 236.244 169.76 234.639 170.145C232.861 170.571 230.781 170.812 228.728 170.94C224.615 171.199 220.223 171.03 217.725 170.79C216.205 170.644 215.091 169.293 215.237 167.773C215.383 166.253 216.734 165.139 218.254 165.285C220.493 165.501 224.59 165.66 228.382 165.422C230.282 165.302 232.009 165.089 233.35 164.767C234.69 164.446 235.171 164.124 235.25 164.071C235.26 164.065 235.263 164.062 235.261 164.065C235.574 163.695 235.798 162.917 235.372 161.399Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M168.198 91.2355C168.603 92.6757 169.432 94.125 170.062 94.9782C170.97 96.2062 170.71 97.9375 169.482 98.8451C168.254 99.7528 166.523 99.4931 165.615 98.2651C164.697 97.023 163.504 94.9741 162.874 92.7295C162.266 90.5631 161.997 87.4689 164.088 84.9971C165.28 83.5883 167.168 82.8979 168.72 82.5C170.409 82.0673 172.363 81.8244 174.288 81.6946C178.148 81.4344 182.275 81.6052 184.763 81.8445C186.283 81.9907 187.397 83.3414 187.251 84.8614C187.105 86.3814 185.754 87.4951 184.234 87.349C181.986 87.1328 178.165 86.9756 174.66 87.2119C172.903 87.3304 171.322 87.5418 170.093 87.8567C169.481 88.0135 169.02 88.1805 168.694 88.3394C168.404 88.481 168.306 88.5751 168.303 88.5766C167.993 88.95 167.775 89.7272 168.198 91.2355Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M202 166.47C224.351 166.47 242.47 148.351 242.47 126C242.47 103.649 224.351 85.5298 202 85.5298C179.649 85.5298 161.53 103.649 161.53 126C161.53 148.351 179.649 166.47 202 166.47ZM202 172C227.405 172 248 151.405 248 126C248 100.595 227.405 80 202 80C176.595 80 156 100.595 156 126C156 151.405 176.595 172 202 172Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M202 145.906C212.993 145.906 221.905 136.994 221.905 126C221.905 115.007 212.993 106.095 202 106.095C191.006 106.095 182.094 115.007 182.094 126C182.094 136.994 191.006 145.906 202 145.906ZM202 151.436C216.047 151.436 227.435 140.048 227.435 126C227.435 111.953 216.047 100.565 202 100.565C187.952 100.565 176.564 111.953 176.564 126C176.564 140.048 187.952 151.436 202 151.436Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M177.477 86.5282C178.592 85.4843 180.342 85.5417 181.385 86.6562L195.533 101.762C196.576 102.877 196.519 104.626 195.404 105.67C194.29 106.714 192.54 106.657 191.496 105.542L177.349 90.4362C176.305 89.3217 176.363 87.572 177.477 86.5282Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M161.632 100.91C162.66 99.7811 164.409 99.6996 165.538 100.728L180.837 114.665C181.966 115.694 182.048 117.442 181.019 118.571C179.991 119.7 178.242 119.782 177.113 118.753L161.814 104.816C160.685 103.788 160.603 102.039 161.632 100.91Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M222.669 132.003C223.687 130.865 225.435 130.768 226.573 131.786L241.996 145.586C243.134 146.604 243.232 148.352 242.213 149.49C241.195 150.628 239.447 150.725 238.309 149.707L222.886 135.907C221.748 134.889 221.651 133.141 222.669 132.003Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M207.837 146.845C208.963 145.814 210.712 145.889 211.744 147.015L226.096 162.671C227.128 163.796 227.052 165.545 225.927 166.577C224.801 167.609 223.052 167.533 222.02 166.408L207.668 150.752C206.636 149.626 206.712 147.877 207.837 146.845Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M194.875 146.905C196.032 147.902 196.162 149.647 195.166 150.805L182.023 166.066C181.026 167.223 179.281 167.354 178.124 166.357C176.966 165.361 176.836 163.615 177.833 162.458L190.975 147.196C191.972 146.039 193.718 145.909 194.875 146.905Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M180.731 131.948C181.762 133.075 181.684 134.824 180.558 135.855L165.443 149.687C164.317 150.718 162.568 150.64 161.537 149.514C160.506 148.387 160.583 146.638 161.71 145.607L176.825 131.775C177.951 130.744 179.7 130.822 180.731 131.948Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M209.51 105.46C208.301 104.527 208.078 102.79 209.011 101.582L220.917 86.158C221.85 84.9493 223.586 84.7258 224.795 85.6589C226.004 86.592 226.227 88.3283 225.294 89.5371L213.388 104.961C212.455 106.169 210.719 106.393 209.51 105.46Z" fill="#013234"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M222.963 120.024C221.93 118.899 222.005 117.15 223.129 116.117L237.741 102.697C238.866 101.664 240.615 101.739 241.648 102.863C242.681 103.988 242.606 105.737 241.482 106.77L226.87 120.19C225.745 121.223 223.996 121.148 222.963 120.024Z" fill="#013234"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#7C92FF" d="M0 0h404v251H0z"/><path fill="#013234" fill-rule="evenodd" d="M236.564 92.558c-1.422.399-2.854 1.218-3.697 1.841a2.765 2.765 0 0 1-3.287-4.447c1.232-.91 3.263-2.094 5.49-2.718 2.148-.603 5.223-.872 7.681 1.207 1.36 1.15 2.059 2.9 2.468 4.385.437 1.586.681 3.401.81 5.183.26 3.573.089 7.401-.147 9.855a2.765 2.765 0 1 1-5.505-.53c.215-2.236.368-5.741.137-8.924-.116-1.596-.323-3.014-.626-4.115-.151-.547-.31-.96-.461-1.252-.143-.276-.24-.372-.248-.38-.001 0-.001 0 0 0-.357-.302-1.115-.526-2.615-.105Zm-69.945 67.247c1.422-.399 2.854-1.218 3.696-1.841a2.765 2.765 0 0 1 3.287 4.447c-1.231.911-3.263 2.094-5.489 2.719-2.149.602-5.224.872-7.681-1.208-1.442-1.22-2.078-3.15-2.418-4.692-.373-1.685-.539-3.63-.596-5.534-.116-3.822.195-7.895.424-10.279a2.765 2.765 0 1 1 5.504.53c-.222 2.306-.506 6.108-.401 9.582.053 1.745.202 3.303.468 4.508.257 1.164.537 1.58.586 1.653.007.012.009.015.005.011.356.301 1.114.525 2.615.104Zm68.753 1.594c-.404-1.44-1.233-2.89-1.864-3.743a2.766 2.766 0 0 1 4.447-3.287c.918 1.242 2.111 3.291 2.741 5.536.608 2.166.878 5.26-1.214 7.732-1.224 1.447-3.238 2.123-4.843 2.508-1.778.426-3.858.667-5.911.795-4.113.259-8.505.09-11.003-.15a2.765 2.765 0 0 1 .529-5.505c2.239.216 6.336.375 10.128.137 1.9-.12 3.627-.333 4.968-.655 1.34-.321 1.821-.643 1.9-.696.01-.006.013-.009.011-.006.313-.37.537-1.148.111-2.666Zm-67.174-70.163c.405 1.44 1.234 2.889 1.864 3.742a2.765 2.765 0 1 1-4.447 3.287c-.918-1.242-2.111-3.29-2.741-5.535-.608-2.167-.877-5.261 1.214-7.733 1.192-1.409 3.08-2.1 4.632-2.497 1.689-.433 3.643-.676 5.568-.805 3.86-.26 7.987-.09 10.475.15a2.765 2.765 0 0 1-.529 5.504c-2.248-.216-6.069-.373-9.574-.137-1.757.118-3.338.33-4.567.645-.612.156-1.073.323-1.399.482-.29.142-.388.236-.391.238-.31.373-.528 1.15-.105 2.659Z" clip-rule="evenodd"/><path fill="#013234" fill-rule="evenodd" d="M202 166.47c22.351 0 40.47-18.119 40.47-40.47S224.351 85.53 202 85.53s-40.47 18.119-40.47 40.47 18.119 40.47 40.47 40.47Zm0 5.53c25.405 0 46-20.595 46-46s-20.595-46-46-46-46 20.595-46 46 20.595 46 46 46Z" clip-rule="evenodd"/><path fill="#013234" fill-rule="evenodd" d="M202 145.906c10.993 0 19.905-8.912 19.905-19.906 0-10.993-8.912-19.905-19.905-19.905-10.994 0-19.906 8.912-19.906 19.905 0 10.994 8.912 19.906 19.906 19.906Zm0 5.53c14.047 0 25.435-11.388 25.435-25.436 0-14.047-11.388-25.435-25.435-25.435-14.048 0-25.436 11.388-25.436 25.435 0 14.048 11.388 25.436 25.436 25.436Z" clip-rule="evenodd"/><path fill="#013234" fill-rule="evenodd" d="M177.477 86.528a2.765 2.765 0 0 1 3.908.128l14.148 15.106a2.765 2.765 0 0 1-4.037 3.78l-14.147-15.106a2.765 2.765 0 0 1 .128-3.908Zm-15.845 14.382a2.765 2.765 0 0 1 3.906-.182l15.299 13.937a2.764 2.764 0 1 1-3.724 4.088l-15.299-13.937a2.764 2.764 0 0 1-.182-3.906Zm61.037 31.093a2.765 2.765 0 0 1 3.904-.217l15.423 13.8a2.764 2.764 0 1 1-3.687 4.121l-15.423-13.8a2.765 2.765 0 0 1-.217-3.904Zm-14.832 14.842a2.766 2.766 0 0 1 3.907.17l14.352 15.656a2.765 2.765 0 1 1-4.076 3.737l-14.352-15.656a2.766 2.766 0 0 1 .169-3.907Zm-12.962.06a2.766 2.766 0 0 1 .291 3.9l-13.143 15.261a2.764 2.764 0 1 1-4.19-3.608l13.142-15.262a2.766 2.766 0 0 1 3.9-.291Zm-14.144-14.957a2.766 2.766 0 0 1-.173 3.907l-15.115 13.832a2.765 2.765 0 1 1-3.733-4.08l15.115-13.832a2.765 2.765 0 0 1 3.906.173Zm28.779-26.488a2.765 2.765 0 0 1-.499-3.878l11.906-15.424a2.765 2.765 0 1 1 4.377 3.38l-11.906 15.423a2.765 2.765 0 0 1-3.878.499Zm13.453 14.564a2.766 2.766 0 0 1 .166-3.907l14.612-13.42a2.766 2.766 0 0 1 3.741 4.073l-14.612 13.42a2.766 2.766 0 0 1-3.907-.166Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Enable Override Quarantining (1).png b/.gitbook/assets/Enable Override Quarantining (1).png
new file mode 100644
index 00000000..180f6404
Binary files /dev/null and b/.gitbook/assets/Enable Override Quarantining (1).png differ
diff --git a/.gitbook/assets/FlakyTests.png b/.gitbook/assets/FlakyTests.png
new file mode 100644
index 00000000..d7e64446
Binary files /dev/null and b/.gitbook/assets/FlakyTests.png differ
diff --git a/.gitbook/assets/Frame 1000004291.png b/.gitbook/assets/Frame 1000004291.png
new file mode 100644
index 00000000..92b3b794
Binary files /dev/null and b/.gitbook/assets/Frame 1000004291.png differ
diff --git a/.gitbook/assets/GitHub Comment (1).png b/.gitbook/assets/GitHub Comment (1).png
new file mode 100644
index 00000000..31ab505c
Binary files /dev/null and b/.gitbook/assets/GitHub Comment (1).png differ
diff --git a/.gitbook/assets/GitHub Comment.png b/.gitbook/assets/GitHub Comment.png
new file mode 100644
index 00000000..31ab505c
Binary files /dev/null and b/.gitbook/assets/GitHub Comment.png differ
diff --git a/.gitbook/assets/Glob.svg b/.gitbook/assets/Glob.svg
new file mode 100644
index 00000000..08a4c764
--- /dev/null
+++ b/.gitbook/assets/Glob.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#65E4EA" d="M0 0h404v251H0V0Z"/><path fill="#65E4EA" stroke="#000" stroke-width="4" d="M163.007 146.221a9.762 9.762 0 0 0-.516.057 19.289 19.289 0 0 1-10.678-5.182c-7.739-7.397-8.016-19.668-.618-27.407 7.397-7.739 19.667-8.016 27.407-.619a19.306 19.306 0 0 1 5.943 12.665l.001.085a11.896 11.896 0 0 0 .182 1.761c.194 1.073.609 2.541 1.522 3.925.754 1.141 2.042 1.693 3.003 2.023.836.288 1.83.532 2.779.765l.64.158c2.446.612 4.641 1.301 6.095 2.69 6.354 6.074 6.582 16.15.508 22.504-6.075 6.355-16.15 6.582-22.505.508-1.172-1.12-1.929-2.919-2.799-5.205l-.102-.268c-.378-.995-.786-2.068-1.255-3.045-.512-1.065-1.166-2.165-2.082-3.041-1.779-1.7-3.939-2.233-5.522-2.372a11.534 11.534 0 0 0-2.003-.002Z"/><path fill="#65E4EA" stroke="#000" stroke-width="4" d="M230.447 149.136c-.005.204-.003.38.001.52a19.283 19.283 0 0 1-6.301 10.058c-8.187 6.897-20.417 5.852-27.315-2.336-6.898-8.187-5.852-20.416 2.335-27.314a19.31 19.31 0 0 1 13.231-4.546l.085.008c.101.009.24.02.41.028.338.015.807.02 1.36-.019 1.088-.078 2.592-.332 4.066-1.091 1.216-.626 1.903-1.848 2.335-2.767.376-.8.726-1.762 1.059-2.681l.226-.619c.872-2.366 1.793-4.474 3.331-5.77 6.723-5.664 16.764-4.806 22.428 1.917 5.664 6.723 4.806 16.765-1.917 22.429-1.24 1.045-3.11 1.603-5.477 2.222l-.277.073c-1.03.269-2.141.559-3.162.92-1.114.395-2.278.926-3.248 1.743-1.882 1.585-2.644 3.676-2.953 5.234-.156.79-.206 1.487-.217 1.991Z"/><path fill="#C1FCFF" d="M237.914 128.058a8.384 8.384 0 1 0-10.804-12.823 8.384 8.384 0 0 0 10.804 12.823Zm-22.742 23.695c4.882-4.113 5.505-11.405 1.392-16.287-4.113-4.883-11.406-5.506-16.288-1.393s-5.506 11.406-1.392 16.288c4.113 4.882 11.405 5.506 16.288 1.392Z"/><path fill="#65E4EA" stroke="#000" stroke-width="4" d="M200.984 131.517c-.219.221-.392.411-.518.554a26.682 26.682 0 0 1-15.98 4.149c-14.782-.871-26.058-13.56-25.187-28.342.871-14.781 13.56-26.057 28.341-25.186a26.706 26.706 0 0 1 17.62 8.048l.083.096a15.156 15.156 0 0 0 1.642 1.572c1.092.897 2.715 1.983 4.739 2.573 1.53.446 3.141-.027 4.401-.52 1.077-.42 2.274-1.018 3.451-1.606l.81-.403c3.034-1.499 6.043-2.794 8.954-2.623 12.206.72 21.517 11.197 20.798 23.403-.72 12.205-11.197 21.517-23.403 20.798-2.365-.14-4.848-1.417-7.708-2.99l-.335-.184c-1.261-.695-2.59-1.428-3.895-2.008-1.421-.633-2.963-1.157-4.549-1.25-3.095-.182-5.623 1.068-7.297 2.252a15.07 15.07 0 0 0-1.967 1.667Z"/><path fill="#C1FCFF" d="M227.333 117.348c6.227.367 11.573-4.384 11.94-10.611.367-6.227-4.384-11.573-10.611-11.94-6.227-.367-11.573 4.383-11.94 10.611-.367 6.227 4.384 11.573 10.611 11.94Zm-44.198 2.076c8.586.506 15.956-6.044 16.462-14.63.506-8.586-6.044-15.957-14.63-16.463-8.585-.506-15.956 6.044-16.462 14.631-.506 8.586 6.044 15.956 14.63 16.462Z"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Group 1270.png b/.gitbook/assets/Group 1270.png
new file mode 100644
index 00000000..d0a1e6d8
Binary files /dev/null and b/.gitbook/assets/Group 1270.png differ
diff --git a/.gitbook/assets/Group 1273.png b/.gitbook/assets/Group 1273.png
new file mode 100644
index 00000000..3a7eb145
Binary files /dev/null and b/.gitbook/assets/Group 1273.png differ
diff --git a/.gitbook/assets/Group 1274.png b/.gitbook/assets/Group 1274.png
new file mode 100644
index 00000000..b3f513fb
Binary files /dev/null and b/.gitbook/assets/Group 1274.png differ
diff --git a/.gitbook/assets/Group 1275.png b/.gitbook/assets/Group 1275.png
new file mode 100644
index 00000000..57c45011
Binary files /dev/null and b/.gitbook/assets/Group 1275.png differ
diff --git a/.gitbook/assets/Group 1276.png b/.gitbook/assets/Group 1276.png
new file mode 100644
index 00000000..5583245c
Binary files /dev/null and b/.gitbook/assets/Group 1276.png differ
diff --git a/.gitbook/assets/Group 1277.png b/.gitbook/assets/Group 1277.png
new file mode 100644
index 00000000..7ba03113
Binary files /dev/null and b/.gitbook/assets/Group 1277.png differ
diff --git a/.gitbook/assets/Group 1337 (1) (1).svg b/.gitbook/assets/Group 1337 (1) (1).svg
new file mode 100644
index 00000000..28051c73
--- /dev/null
+++ b/.gitbook/assets/Group 1337 (1) (1).svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none" viewBox="0 0 19 19"><path fill="#261F00" d="M.5.5h18v18H.5z"/><path stroke="#000" d="M.5.5h18v18H.5z"/><path stroke="#000" stroke-opacity=".2" d="M.5.5h18v18H.5z"/><path fill="#F2D664" fill-rule="evenodd" d="M2.533 5.213c0-1.48 1.24-2.68 2.768-2.68h8.398c1.529 0 2.768 1.2 2.768 2.68v4.624a.545.545 0 0 1-.554.536h-3.112l-1.406 2.434a.558.558 0 0 1-.514.274.553.553 0 0 1-.48-.328L8.496 8.35 7.485 10.1a.557.557 0 0 1-.484.274h-3.36v3.414c0 .888.743 1.608 1.66 1.608h8.398c.917 0 1.66-.72 1.66-1.608v-.153c0-.296.248-.536.554-.536.306 0 .554.24.554.536v.153c0 1.48-1.24 2.68-2.768 2.68H5.301c-1.529 0-2.768-1.2-2.768-2.68v-3.95c0-.296.248-.535.554-.535h3.59l1.406-2.435a.558.558 0 0 1 .514-.273.553.553 0 0 1 .48.328l1.906 4.403 1.01-1.75a.557.557 0 0 1 .484-.273h2.883v-4.09c0-.887-.744-1.607-1.66-1.607H5.3c-.916 0-1.66.72-1.66 1.608v.612a.545.545 0 0 1-.553.536.545.545 0 0 1-.554-.536v-.612Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Group 1337 (1).svg b/.gitbook/assets/Group 1337 (1).svg
index ee186f89..28051c73 100644
--- a/.gitbook/assets/Group 1337 (1).svg	
+++ b/.gitbook/assets/Group 1337 (1).svg	
@@ -1,6 +1 @@
-<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="18" height="18" fill="#261F00"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M2.53333 5.21283C2.53333 3.73299 3.77241 2.53334 5.3009 2.53334H13.6991C15.2276 2.53334 16.4667 3.73299 16.4667 5.21283V9.83745C16.4667 10.1334 16.2188 10.3733 15.9131 10.3733H12.8013L11.3954 12.8075C11.2921 12.9864 11.0924 13.0925 10.8811 13.081C10.6697 13.0694 10.4837 12.9422 10.4018 12.7532L8.49453 8.35024L7.48447 10.099C7.38663 10.2684 7.20183 10.3733 7.00136 10.3733H3.64036V13.7872C3.64036 14.6751 4.38381 15.3949 5.30091 15.3949H13.6991C14.6162 15.3949 15.3596 14.6751 15.3596 13.7872V13.6341C15.3596 13.3381 15.6074 13.0982 15.9131 13.0982C16.2188 13.0982 16.4667 13.3381 16.4667 13.6341V13.7872C16.4667 15.267 15.2276 16.4667 13.6991 16.4667H5.30091C3.77241 16.4667 2.53333 15.267 2.53333 13.7872V9.83745C2.53333 9.54148 2.78114 9.30155 3.08684 9.30155H6.6767L8.08261 6.86742C8.18592 6.68855 8.38557 6.58238 8.59691 6.59393C8.80826 6.60548 8.99429 6.73272 9.07616 6.92171L10.9835 11.3247L11.9935 9.5759C12.0914 9.4065 12.2762 9.30155 12.4766 9.30155H15.3596V5.21283C15.3596 4.32492 14.6162 3.60514 13.6991 3.60514H5.3009C4.38381 3.60514 3.64036 4.32492 3.64036 5.21283V5.82528C3.64036 6.12125 3.39254 6.36118 3.08684 6.36118C2.78114 6.36118 2.53333 6.12125 2.53333 5.82528V5.21283Z" fill="#F2D664"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" fill="none" viewBox="0 0 19 19"><path fill="#261F00" d="M.5.5h18v18H.5z"/><path stroke="#000" d="M.5.5h18v18H.5z"/><path stroke="#000" stroke-opacity=".2" d="M.5.5h18v18H.5z"/><path fill="#F2D664" fill-rule="evenodd" d="M2.533 5.213c0-1.48 1.24-2.68 2.768-2.68h8.398c1.529 0 2.768 1.2 2.768 2.68v4.624a.545.545 0 0 1-.554.536h-3.112l-1.406 2.434a.558.558 0 0 1-.514.274.553.553 0 0 1-.48-.328L8.496 8.35 7.485 10.1a.557.557 0 0 1-.484.274h-3.36v3.414c0 .888.743 1.608 1.66 1.608h8.398c.917 0 1.66-.72 1.66-1.608v-.153c0-.296.248-.536.554-.536.306 0 .554.24.554.536v.153c0 1.48-1.24 2.68-2.768 2.68H5.301c-1.529 0-2.768-1.2-2.768-2.68v-3.95c0-.296.248-.535.554-.535h3.59l1.406-2.435a.558.558 0 0 1 .514-.273.553.553 0 0 1 .48.328l1.906 4.403 1.01-1.75a.557.557 0 0 1 .484-.273h2.883v-4.09c0-.887-.744-1.607-1.66-1.607H5.3c-.916 0-1.66.72-1.66 1.608v.612a.545.545 0 0 1-.553.536.545.545 0 0 1-.554-.536v-.612Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Group 1337.svg b/.gitbook/assets/Group 1337.svg
index 94f1e894..23c608f8 100644
--- a/.gitbook/assets/Group 1337.svg	
+++ b/.gitbook/assets/Group 1337.svg	
@@ -1,4 +1 @@
-<svg width="31" height="31" viewBox="0 0 31 31" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.75" y="0.75" width="29.5" height="29.5" rx="7.25" fill="#261F00" stroke="#9B7C00" stroke-width="1.5"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M8.53333 11.2128C8.53333 9.73299 9.77241 8.53334 11.3009 8.53334H19.6991C21.2276 8.53334 22.4667 9.73299 22.4667 11.2128V15.8375C22.4667 16.1334 22.2188 16.3733 21.9131 16.3733H18.8013L17.3954 18.8075C17.2921 18.9864 17.0924 19.0925 16.8811 19.081C16.6697 19.0694 16.4837 18.9422 16.4018 18.7532L14.4945 14.3502L13.4845 16.099C13.3866 16.2684 13.2018 16.3733 13.0014 16.3733H9.64036V19.7872C9.64036 20.6751 10.3838 21.3949 11.3009 21.3949H19.6991C20.6162 21.3949 21.3596 20.6751 21.3596 19.7872V19.6341C21.3596 19.3381 21.6074 19.0982 21.9131 19.0982C22.2188 19.0982 22.4667 19.3381 22.4667 19.6341V19.7872C22.4667 21.267 21.2276 22.4667 19.6991 22.4667H11.3009C9.77241 22.4667 8.53333 21.267 8.53333 19.7872V15.8375C8.53333 15.5415 8.78114 15.3016 9.08684 15.3016H12.6767L14.0826 12.8674C14.1859 12.6885 14.3856 12.5824 14.5969 12.5939C14.8083 12.6055 14.9943 12.7327 15.0762 12.9217L16.9835 17.3247L17.9935 15.5759C18.0914 15.4065 18.2762 15.3016 18.4766 15.3016H21.3596V11.2128C21.3596 10.3249 20.6162 9.60514 19.6991 9.60514H11.3009C10.3838 9.60514 9.64036 10.3249 9.64036 11.2128V11.8253C9.64036 12.1212 9.39254 12.3612 9.08684 12.3612C8.78114 12.3612 8.53333 12.1212 8.53333 11.8253V11.2128Z" fill="#F2D664"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="31" height="31" fill="none" viewBox="0 0 31 31"><rect width="29.5" height="29.5" x=".75" y=".75" fill="#261F00" stroke="#9B7C00" stroke-width="1.5" rx="7.25"/><path fill="#F2D664" fill-rule="evenodd" d="M8.533 11.213c0-1.48 1.24-2.68 2.768-2.68h8.398c1.529 0 2.768 1.2 2.768 2.68v4.625a.545.545 0 0 1-.554.535h-3.112l-1.406 2.434a.558.558 0 0 1-.514.274.553.553 0 0 1-.48-.328l-1.906-4.403-1.01 1.749a.557.557 0 0 1-.484.274h-3.36v3.414c0 .888.743 1.608 1.66 1.608h8.398c.917 0 1.66-.72 1.66-1.608v-.153c0-.296.248-.536.554-.536.306 0 .554.24.554.536v.153c0 1.48-1.24 2.68-2.768 2.68h-8.398c-1.529 0-2.768-1.2-2.768-2.68v-3.95c0-.296.248-.535.554-.535h3.59l1.406-2.435a.558.558 0 0 1 .514-.273.553.553 0 0 1 .48.328l1.906 4.403 1.01-1.75a.557.557 0 0 1 .484-.273h2.883v-4.09c0-.887-.744-1.607-1.66-1.607h-8.4c-.916 0-1.66.72-1.66 1.608v.612a.545.545 0 0 1-.553.536.545.545 0 0 1-.554-.536v-.612Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Hero Check.svg b/.gitbook/assets/Hero Check.svg
new file mode 100644
index 00000000..74777a98
--- /dev/null
+++ b/.gitbook/assets/Hero Check.svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1990" height="480" fill="none" viewBox="0 0 1990 480"><path fill="url(#a)" d="M.5.5h1989v479H.5z"/><path stroke="#000" d="M.5.5h1989v479H.5z"/><path stroke="#000" stroke-opacity=".2" d="M.5.5h1989v479H.5z"/><circle cx="128" cy="112" r="86" stroke="#65E4EA" stroke-width="8"/><path stroke="#65E4EA" stroke-linecap="round" stroke-linejoin="round" stroke-width="8" d="m165.174 82.652-54.452 54.783-23.809-27.229"/><path fill="#65E4EA" d="M325.091 168.705c-8.939 0-16.629-1.894-23.068-5.682-6.402-3.826-11.326-9.129-14.773-15.909-3.409-6.781-5.114-14.584-5.114-23.409 0-8.94 1.724-16.781 5.171-23.523 3.485-6.78 8.428-12.065 14.829-15.853 6.402-3.825 14.016-5.738 22.841-5.738 7.614 0 14.281 1.383 20 4.148 5.72 2.765 10.246 6.647 13.58 11.647 3.333 5 5.17 10.872 5.511 17.614h-22.841c-.644-4.356-2.348-7.86-5.113-10.511-2.728-2.69-6.307-4.035-10.739-4.035-3.75 0-7.027 1.023-9.83 3.069-2.765 2.007-4.924 4.943-6.477 8.807-1.553 3.863-2.329 8.541-2.329 14.034 0 5.568.757 10.303 2.272 14.204 1.553 3.902 3.731 6.875 6.534 8.921 2.803 2.045 6.08 3.068 9.83 3.068 2.765 0 5.246-.568 7.443-1.705 2.235-1.136 4.072-2.784 5.512-4.943 1.477-2.197 2.443-4.829 2.897-7.898h22.841c-.379 6.667-2.197 12.538-5.454 17.614-3.22 5.038-7.671 8.977-13.353 11.818-5.681 2.841-12.405 4.262-20.17 4.262Zm78.679-52.16V167h-24.205V50.636h23.523v44.489h1.023c1.969-5.151 5.151-9.186 9.545-12.102 4.394-2.955 9.906-4.432 16.534-4.432 6.061 0 11.345 1.326 15.853 3.977 4.545 2.614 8.068 6.383 10.568 11.307 2.538 4.886 3.788 10.739 3.75 17.557V167h-24.205v-51.25c.038-5.379-1.326-9.564-4.091-12.557-2.727-2.992-6.553-4.489-11.477-4.489-3.295 0-6.212.701-8.75 2.103-2.5 1.401-4.47 3.447-5.909 6.136-1.402 2.652-2.121 5.852-2.159 9.602Zm115.412 52.16c-8.977 0-16.705-1.819-23.182-5.455-6.439-3.674-11.402-8.864-14.886-15.568-3.485-6.743-5.228-14.716-5.228-23.921 0-8.977 1.743-16.856 5.228-23.636 3.484-6.78 8.39-12.064 14.716-15.852 6.363-3.788 13.825-5.682 22.386-5.682 5.757 0 11.117.928 16.079 2.784 5 1.818 9.357 4.564 13.069 8.239 3.75 3.674 6.666 8.295 8.75 13.863 2.083 5.531 3.125 12.008 3.125 19.432v6.648h-73.694v-15h50.91c0-3.485-.758-6.572-2.273-9.262a16.285 16.285 0 0 0-6.307-6.306c-2.652-1.553-5.739-2.33-9.261-2.33-3.675 0-6.932.852-9.773 2.557a17.93 17.93 0 0 0-6.591 6.761c-1.591 2.803-2.405 5.928-2.443 9.375v14.262c0 4.318.795 8.049 2.386 11.193 1.629 3.144 3.921 5.568 6.875 7.273 2.955 1.704 6.459 2.556 10.512 2.556 2.689 0 5.151-.378 7.386-1.136 2.235-.758 4.148-1.894 5.739-3.409 1.59-1.515 2.803-3.371 3.636-5.568L558.727 142c-1.136 5.379-3.466 10.076-6.988 14.091-3.485 3.977-7.993 7.083-13.523 9.318-5.493 2.197-11.837 3.296-19.034 3.296Zm95.284 0c-8.939 0-16.629-1.894-23.068-5.682-6.402-3.826-11.326-9.129-14.773-15.909-3.409-6.781-5.114-14.584-5.114-23.409 0-8.94 1.724-16.781 5.171-23.523 3.485-6.78 8.428-12.065 14.829-15.853 6.402-3.825 14.016-5.738 22.841-5.738 7.614 0 14.281 1.383 20 4.148 5.72 2.765 10.246 6.647 13.58 11.647 3.333 5 5.17 10.872 5.511 17.614h-22.841c-.644-4.356-2.348-7.86-5.113-10.511-2.728-2.69-6.307-4.035-10.739-4.035-3.75 0-7.027 1.023-9.83 3.069-2.765 2.007-4.924 4.943-6.477 8.807-1.553 3.863-2.329 8.541-2.329 14.034 0 5.568.757 10.303 2.272 14.204 1.553 3.902 3.731 6.875 6.534 8.921 2.803 2.045 6.08 3.068 9.83 3.068 2.765 0 5.246-.568 7.443-1.705 2.235-1.136 4.072-2.784 5.512-4.943 1.477-2.197 2.443-4.829 2.897-7.898h22.841c-.379 6.667-2.197 12.538-5.454 17.614-3.22 5.038-7.671 8.977-13.353 11.818-5.681 2.841-12.405 4.262-20.17 4.262Zm76.406-26.819.057-29.034h3.523l27.954-33.125h27.784l-37.556 43.864h-5.739l-16.023 18.295ZM668.94 167V50.636h24.205V167H668.94Zm54.546 0-25.682-38.011 16.136-17.103L751.838 167h-28.352Z"/><defs><linearGradient id="a" x1="995" x2="995" y1="-106.873" y2="381.274" gradientUnits="userSpaceOnUse"><stop stop-color="#65DDEA" stop-opacity=".4"/><stop offset="1" stop-color="#65DDEA" stop-opacity="0"/></linearGradient></defs></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Merge (1).svg b/.gitbook/assets/Merge (1).svg
deleted file mode 100644
index 55ecb827..00000000
--- a/.gitbook/assets/Merge (1).svg	
+++ /dev/null
@@ -1,10 +0,0 @@
-<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="18" height="18" fill="#013234"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black"/>
-<rect x="0.5" y="0.5" width="18" height="18" stroke="black" stroke-opacity="0.2"/>
-<circle cx="13.4998" cy="14.5" r="1.875" stroke="#65E4EA" stroke-width="1.25"/>
-<circle cx="5.5" cy="6.50002" r="1.875" stroke="#65E4EA" stroke-width="1.25"/>
-<circle cx="13.4998" cy="4.5" r="1.875" stroke="#65E4EA" stroke-width="1.25"/>
-<path d="M5.99973 8C5.99973 12.1053 9.37473 14 11.9997 14" stroke="#65E4EA" stroke-width="1.25"/>
-<line x1="13.6253" y1="6" x2="13.6253" y2="13" stroke="#65E4EA" stroke-width="1.25"/>
-</svg>
diff --git a/.gitbook/assets/Merge (2).svg b/.gitbook/assets/Merge (2).svg
deleted file mode 100644
index f59073bd..00000000
--- a/.gitbook/assets/Merge (2).svg	
+++ /dev/null
@@ -1,10 +0,0 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#013234"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<path d="M237.732 144.667C237.732 150.926 232.658 156 226.399 156C220.14 156 215.066 150.926 215.066 144.667C215.066 138.407 220.14 133.333 226.399 133.333C232.658 133.333 237.732 138.407 237.732 144.667Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M188.667 95.6C188.667 101.859 183.593 106.933 177.333 106.933C171.074 106.933 166 101.859 166 95.6C166 89.3408 171.074 84.2667 177.333 84.2667C183.593 84.2667 188.667 89.3408 188.667 95.6Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M237.732 83.3333C237.732 89.5926 232.658 94.6667 226.399 94.6667C220.14 94.6667 215.066 89.5926 215.066 83.3333C215.066 77.0741 220.14 72 226.399 72C232.658 72 237.732 77.0741 237.732 83.3333Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M180.398 104.8C180.398 129.979 201.098 141.6 217.198 141.6" stroke="#65E4EA" stroke-width="8"/>
-<line x1="227.335" y1="92.5333" x2="227.335" y2="135.467" stroke="#65E4EA" stroke-width="8"/>
-</svg>
diff --git a/.gitbook/assets/Merge.png b/.gitbook/assets/Merge.png
new file mode 100644
index 00000000..1b31981d
Binary files /dev/null and b/.gitbook/assets/Merge.png differ
diff --git a/.gitbook/assets/Merge.svg b/.gitbook/assets/Merge.svg
index 83f2718f..babde99a 100644
--- a/.gitbook/assets/Merge.svg
+++ b/.gitbook/assets/Merge.svg
@@ -1,10 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect x="0.5" y="0.5" width="403" height="250" fill="#105A5E"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black"/>
-<rect x="0.5" y="0.5" width="403" height="250" stroke="black" stroke-opacity="0.2"/>
-<path d="M237.732 144.667C237.732 150.926 232.658 156 226.399 156C220.14 156 215.066 150.926 215.066 144.667C215.066 138.407 220.14 133.333 226.399 133.333C232.658 133.333 237.732 138.407 237.732 144.667Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M188.667 95.6C188.667 101.859 183.593 106.933 177.333 106.933C171.074 106.933 166 101.859 166 95.6C166 89.3408 171.074 84.2667 177.333 84.2667C183.593 84.2667 188.667 89.3408 188.667 95.6Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M237.732 83.3333C237.732 89.5926 232.658 94.6667 226.399 94.6667C220.14 94.6667 215.066 89.5926 215.066 83.3333C215.066 77.0741 220.14 72 226.399 72C232.658 72 237.732 77.0741 237.732 83.3333Z" stroke="#65E4EA" stroke-width="8"/>
-<path d="M180.398 104.8C180.398 129.979 201.098 141.6 217.198 141.6" stroke="#65E4EA" stroke-width="8"/>
-<line x1="227.335" y1="92.5333" x2="227.335" y2="135.467" stroke="#65E4EA" stroke-width="8"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#65E4EA" d="M0 0h404v251H0z"/><path stroke="#013234" stroke-width="8" d="M237.733 144.667c0 6.259-5.075 11.333-11.334 11.333-6.259 0-11.333-5.074-11.333-11.333s5.074-11.334 11.333-11.334 11.334 5.075 11.334 11.334ZM188.667 95.6c0 6.259-5.074 11.333-11.334 11.333-6.259 0-11.333-5.074-11.333-11.333 0-6.26 5.074-11.333 11.333-11.333 6.26 0 11.334 5.074 11.334 11.333Zm49.066-12.267c0 6.26-5.075 11.334-11.334 11.334-6.259 0-11.333-5.074-11.333-11.334 0-6.259 5.074-11.333 11.333-11.333s11.334 5.074 11.334 11.333Z"/><path stroke="#013234" stroke-width="8" d="M180.398 104.8c0 25.179 20.7 36.8 36.8 36.8m10.137-49.067v42.934"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/MergeOptions.png b/.gitbook/assets/MergeOptions.png
index b236c7a9..4854ce3b 100644
Binary files a/.gitbook/assets/MergeOptions.png and b/.gitbook/assets/MergeOptions.png differ
diff --git a/.gitbook/assets/NX.png b/.gitbook/assets/NX.png
new file mode 100644
index 00000000..fefa0fd7
Binary files /dev/null and b/.gitbook/assets/NX.png differ
diff --git a/.gitbook/assets/Organization API Token.png b/.gitbook/assets/Organization API Token.png
new file mode 100644
index 00000000..a9117817
Binary files /dev/null and b/.gitbook/assets/Organization API Token.png differ
diff --git a/.gitbook/assets/Organization Slug.png b/.gitbook/assets/Organization Slug.png
new file mode 100644
index 00000000..df412c18
Binary files /dev/null and b/.gitbook/assets/Organization Slug.png differ
diff --git a/.gitbook/assets/PermissinoPage.png b/.gitbook/assets/PermissinoPage.png
index fc7e43d1..707bb1be 100644
Binary files a/.gitbook/assets/PermissinoPage.png and b/.gitbook/assets/PermissinoPage.png differ
diff --git a/.gitbook/assets/SCR-20230811-mtip-2.png b/.gitbook/assets/SCR-20230811-mtip-2.png
new file mode 100644
index 00000000..3cad5f2f
Binary files /dev/null and b/.gitbook/assets/SCR-20230811-mtip-2.png differ
diff --git a/.gitbook/assets/SCR-20230811-mtip.png b/.gitbook/assets/SCR-20230811-mtip.png
new file mode 100644
index 00000000..3cad5f2f
Binary files /dev/null and b/.gitbook/assets/SCR-20230811-mtip.png differ
diff --git a/.gitbook/assets/SCR-20230811-mtvw.png b/.gitbook/assets/SCR-20230811-mtvw.png
new file mode 100644
index 00000000..14372df8
Binary files /dev/null and b/.gitbook/assets/SCR-20230811-mtvw.png differ
diff --git a/.gitbook/assets/Screen Shot 2023-08-22 at 1.52.51 PM.png b/.gitbook/assets/Screen Shot 2023-08-22 at 1.52.51 PM.png
new file mode 100644
index 00000000..284cfc84
Binary files /dev/null and b/.gitbook/assets/Screen Shot 2023-08-22 at 1.52.51 PM.png differ
diff --git a/.gitbook/assets/Screen Shot 2023-08-22 at 11.44.08 AM.png b/.gitbook/assets/Screen Shot 2023-08-22 at 11.44.08 AM.png
new file mode 100644
index 00000000..7ef97187
Binary files /dev/null and b/.gitbook/assets/Screen Shot 2023-08-22 at 11.44.08 AM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-23 173119.png b/.gitbook/assets/Screenshot 2023-08-23 173119.png
new file mode 100644
index 00000000..bee75468
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-23 173119.png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-23 173252.png b/.gitbook/assets/Screenshot 2023-08-23 173252.png
new file mode 100644
index 00000000..cd920b12
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-23 173252.png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (1).png b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (1).png
new file mode 100644
index 00000000..3e07d709
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (1).png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (2).png b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (2).png
new file mode 100644
index 00000000..3e07d709
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (2).png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (3).png b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (3).png
new file mode 100644
index 00000000..3e07d709
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM (3).png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM.png b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM.png
new file mode 100644
index 00000000..3e07d709
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-29 at 11.37.35 AM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-08-29 at 11.54.07 PM.png b/.gitbook/assets/Screenshot 2023-08-29 at 11.54.07 PM.png
new file mode 100644
index 00000000..3e666b91
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-08-29 at 11.54.07 PM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-10-16 at 5.09.29 PM.png b/.gitbook/assets/Screenshot 2023-10-16 at 5.09.29 PM.png
new file mode 100644
index 00000000..372b09ec
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-10-16 at 5.09.29 PM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-10-16 at 5.10.39 PM.png b/.gitbook/assets/Screenshot 2023-10-16 at 5.10.39 PM.png
new file mode 100644
index 00000000..0f008c7d
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-10-16 at 5.10.39 PM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-10-16 at 5.11.57 PM.png b/.gitbook/assets/Screenshot 2023-10-16 at 5.11.57 PM.png
new file mode 100644
index 00000000..5db43a28
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-10-16 at 5.11.57 PM.png differ
diff --git a/.gitbook/assets/Screenshot 2023-10-16 at 5.12.23 PM.png b/.gitbook/assets/Screenshot 2023-10-16 at 5.12.23 PM.png
new file mode 100644
index 00000000..414c9a70
Binary files /dev/null and b/.gitbook/assets/Screenshot 2023-10-16 at 5.12.23 PM.png differ
diff --git "a/.gitbook/assets/Screenshot 2023-11-06 at 2.35.34\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2023-11-06 at 2.35.34\342\200\257PM.png"
new file mode 100644
index 00000000..05f99690
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2023-11-06 at 2.35.34\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2023-11-09 at 1.58.30\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2023-11-09 at 1.58.30\342\200\257PM.png"
new file mode 100644
index 00000000..6fb26802
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2023-11-09 at 1.58.30\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2023-11-09 at 1.59.35\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2023-11-09 at 1.59.35\342\200\257PM.png"
new file mode 100644
index 00000000..3f03158a
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2023-11-09 at 1.59.35\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-06-04 at 6.29.22\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2024-06-04 at 6.29.22\342\200\257PM.png"
new file mode 100644
index 00000000..f7273faa
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-06-04 at 6.29.22\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-06-04 at 6.31.22\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2024-06-04 at 6.31.22\342\200\257PM.png"
new file mode 100644
index 00000000..a5e20965
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-06-04 at 6.31.22\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-06-04 at 6.34.10\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2024-06-04 at 6.34.10\342\200\257PM.png"
new file mode 100644
index 00000000..cb8e21cb
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-06-04 at 6.34.10\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-06-04 at 6.35.18\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2024-06-04 at 6.35.18\342\200\257PM.png"
new file mode 100644
index 00000000..eb987be8
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-06-04 at 6.35.18\342\200\257PM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-06-12 at 9.52.28\342\200\257AM.png" "b/.gitbook/assets/Screenshot 2024-06-12 at 9.52.28\342\200\257AM.png"
new file mode 100644
index 00000000..5f73f144
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-06-12 at 9.52.28\342\200\257AM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-09-06 at 9.09.15\342\200\257AM.png" "b/.gitbook/assets/Screenshot 2024-09-06 at 9.09.15\342\200\257AM.png"
new file mode 100644
index 00000000..e91d3f38
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-09-06 at 9.09.15\342\200\257AM.png" differ
diff --git "a/.gitbook/assets/Screenshot 2024-09-06 at 9.10.30\342\200\257AM.png" "b/.gitbook/assets/Screenshot 2024-09-06 at 9.10.30\342\200\257AM.png"
new file mode 100644
index 00000000..2c46c18b
Binary files /dev/null and "b/.gitbook/assets/Screenshot 2024-09-06 at 9.10.30\342\200\257AM.png" differ
diff --git a/.gitbook/assets/Sign Sign-ON.svg b/.gitbook/assets/Sign Sign-ON.svg
index 745d954d..bdaeda40 100644
--- a/.gitbook/assets/Sign Sign-ON.svg	
+++ b/.gitbook/assets/Sign Sign-ON.svg	
@@ -1,12 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#FC6469"/>
-<g opacity="0.92">
-<path fill-rule="evenodd" clip-rule="evenodd" d="M236.5 110.667H176.7C172.889 110.667 169.8 113.756 169.8 117.567V148.705C169.8 152.516 172.889 155.605 176.7 155.605H236.5C240.311 155.605 243.4 152.516 243.4 148.705V117.567C243.4 113.756 240.311 110.667 236.5 110.667ZM176.7 106.067C170.348 106.067 165.2 111.216 165.2 117.567V148.705C165.2 155.057 170.348 160.205 176.7 160.205H236.5C242.851 160.205 248 155.057 248 148.705V117.567C248 111.216 242.851 106.067 236.5 106.067H176.7Z" fill="#360103"/>
-<path d="M156 103.767C156 97.4153 161.149 92.2666 167.5 92.2666H227.3C233.651 92.2666 238.8 97.4153 238.8 103.767V134.905C238.8 141.256 233.651 146.405 227.3 146.405H167.5C161.149 146.405 156 141.256 156 134.905V103.767Z" fill="#FF999C"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M227.3 96.8666H167.5C163.689 96.8666 160.6 99.9558 160.6 103.767V134.905C160.6 138.716 163.689 141.805 167.5 141.805H227.3C231.111 141.805 234.2 138.716 234.2 134.905V103.767C234.2 99.9558 231.111 96.8666 227.3 96.8666ZM167.5 92.2666C161.149 92.2666 156 97.4153 156 103.767V134.905C156 141.256 161.149 146.405 167.5 146.405H227.3C233.651 146.405 238.8 141.256 238.8 134.905V103.767C238.8 97.4153 233.651 92.2666 227.3 92.2666H167.5Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M182.274 113.143C183.251 113.143 184.043 112.351 184.043 111.374C184.043 110.397 183.251 109.605 182.274 109.605C181.296 109.605 180.504 110.397 180.504 111.374C180.504 112.351 181.296 113.143 182.274 113.143ZM182.274 117.743C185.791 117.743 188.643 114.892 188.643 111.374C188.643 107.856 185.791 105.005 182.274 105.005C178.756 105.005 175.904 107.856 175.904 111.374C175.904 114.892 178.756 117.743 182.274 117.743Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M172.656 129.005H191.682C191.369 128.107 190.725 127.132 189.673 126.203C187.881 124.62 185.17 123.454 182.035 123.454C176.921 123.454 173.725 125.994 172.656 129.005ZM167.656 131.305C167.656 124.372 173.64 118.854 182.035 118.854C186.291 118.854 190.085 120.429 192.718 122.755C195.297 125.033 197.051 128.339 196.37 131.755L196.002 133.605H167.656V131.305Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M227.654 112.082H200.584V107.482H227.654V112.082Z" fill="#360103"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M227.654 119.867H200.584V115.267H227.654V119.867Z" fill="#360103"/>
-</g>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0z"/><g opacity=".92"><path fill="#360103" fill-rule="evenodd" d="M236.5 110.667h-59.8a6.9 6.9 0 0 0-6.9 6.9v31.138a6.9 6.9 0 0 0 6.9 6.9h59.8a6.9 6.9 0 0 0 6.9-6.9v-31.138a6.9 6.9 0 0 0-6.9-6.9Zm-59.8-4.6c-6.352 0-11.5 5.149-11.5 11.5v31.138c0 6.352 5.148 11.5 11.5 11.5h59.8c6.351 0 11.5-5.148 11.5-11.5v-31.138c0-6.351-5.149-11.5-11.5-11.5h-59.8Z" clip-rule="evenodd"/><path fill="#FF999C" d="M156 103.767c0-6.352 5.149-11.5 11.5-11.5h59.8c6.351 0 11.5 5.148 11.5 11.5v31.138c0 6.351-5.149 11.5-11.5 11.5h-59.8c-6.351 0-11.5-5.149-11.5-11.5v-31.138Z"/><path fill="#360103" fill-rule="evenodd" d="M227.3 96.867h-59.8a6.9 6.9 0 0 0-6.9 6.9v31.138a6.9 6.9 0 0 0 6.9 6.9h59.8a6.9 6.9 0 0 0 6.9-6.9v-31.138a6.9 6.9 0 0 0-6.9-6.9Zm-59.8-4.6c-6.351 0-11.5 5.148-11.5 11.5v31.138c0 6.351 5.149 11.5 11.5 11.5h59.8c6.351 0 11.5-5.149 11.5-11.5v-31.138c0-6.352-5.149-11.5-11.5-11.5h-59.8Z" clip-rule="evenodd"/><path fill="#360103" fill-rule="evenodd" d="M182.274 113.143a1.769 1.769 0 1 0 0-3.538 1.769 1.769 0 0 0 0 3.538Zm0 4.6a6.369 6.369 0 0 0 0-12.738 6.37 6.37 0 1 0 0 12.738Zm-9.618 11.262h19.026c-.313-.898-.957-1.873-2.009-2.802-1.792-1.583-4.503-2.749-7.638-2.749-5.114 0-8.31 2.54-9.379 5.551Zm-5 2.3c0-6.933 5.984-12.451 14.379-12.451 4.256 0 8.05 1.575 10.683 3.901 2.579 2.278 4.333 5.584 3.652 9l-.368 1.85h-28.346v-2.3Zm59.998-19.223h-27.07v-4.6h27.07v4.6Zm0 7.785h-27.07v-4.6h27.07v4.6Z" clip-rule="evenodd"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Slack (1).svg b/.gitbook/assets/Slack (1).svg
index 4a3ab374..05703662 100644
--- a/.gitbook/assets/Slack (1).svg	
+++ b/.gitbook/assets/Slack (1).svg	
@@ -1,4 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M240.14 126C242.625 123.565 244.167 120.171 244.167 116.417C244.167 109.007 238.16 103 230.75 103C228.692 103 226.743 103.463 225 104.291V97.2502C225 89.8403 218.993 83.8335 211.583 83.8335C207.83 83.8335 204.435 85.3754 202 87.8605C199.565 85.3754 196.171 83.8335 192.417 83.8335C185.007 83.8335 179 89.8403 179 97.2502C179 99.3079 179.463 101.257 180.291 103H173.25C165.84 103 159.833 109.007 159.833 116.417C159.833 120.171 161.375 123.565 163.86 126C161.375 128.435 159.833 131.83 159.833 135.583C159.833 142.993 165.84 149 173.25 149C175.308 149 177.257 148.537 179 147.709V154.75C179 162.16 185.007 168.167 192.417 168.167C196.171 168.167 199.565 166.625 202 164.14C204.435 166.625 207.83 168.167 211.583 168.167C218.993 168.167 225 162.16 225 154.75C225 152.692 224.537 150.743 223.709 149H230.75C238.16 149 244.167 142.993 244.167 135.583C244.167 131.83 242.625 128.435 240.14 126ZM192.417 91.5002C195.592 91.5002 198.167 94.0745 198.167 97.2502V103H192.417C189.241 103 186.667 100.426 186.667 97.2502C186.667 94.0745 189.241 91.5002 192.417 91.5002ZM205.833 97.2502C205.833 94.0745 208.408 91.5002 211.583 91.5002C214.759 91.5002 217.333 94.0745 217.333 97.2502V122.167H205.833V97.2502ZM198.167 122.167V110.667H173.25C170.075 110.667 167.5 113.241 167.5 116.417C167.5 119.592 170.075 122.167 173.25 122.167H198.167ZM225 122.167H230.75C233.926 122.167 236.5 119.592 236.5 116.417C236.5 113.241 233.926 110.667 230.75 110.667C227.575 110.667 225 113.241 225 116.417V122.167ZM230.75 129.833H205.833V141.333H230.75C233.926 141.333 236.5 138.759 236.5 135.583C236.5 132.408 233.926 129.833 230.75 129.833ZM211.583 149H205.833V154.75C205.833 157.926 208.408 160.5 211.583 160.5C214.759 160.5 217.333 157.926 217.333 154.75C217.333 151.575 214.759 149 211.583 149ZM198.167 129.833H186.667V154.75C186.667 157.926 189.241 160.5 192.417 160.5C195.592 160.5 198.167 157.926 198.167 154.75V129.833ZM173.25 129.833H179V135.583C179 138.759 176.426 141.333 173.25 141.333C170.075 141.333 167.5 138.759 167.5 135.583C167.5 132.408 170.075 129.833 173.25 129.833Z" fill="#572900"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F0894F" d="M0 0h404v251H0V0Z"/><path fill="#572900" fill-rule="evenodd" d="M240.14 126a13.376 13.376 0 0 0 4.027-9.583c0-7.41-6.007-13.417-13.417-13.417-2.058 0-4.007.463-5.75 1.291v-7.04c0-7.41-6.007-13.418-13.417-13.418A13.377 13.377 0 0 0 202 87.862a13.375 13.375 0 0 0-9.583-4.028c-7.41 0-13.417 6.007-13.417 13.417 0 2.058.463 4.007 1.291 5.75h-7.041c-7.41 0-13.417 6.007-13.417 13.417 0 3.754 1.542 7.148 4.027 9.583a13.377 13.377 0 0 0-4.027 9.583c0 7.41 6.007 13.417 13.417 13.417 2.058 0 4.007-.463 5.75-1.291v7.041c0 7.41 6.007 13.417 13.417 13.417 3.754 0 7.148-1.542 9.583-4.027a13.377 13.377 0 0 0 9.583 4.027c7.41 0 13.417-6.007 13.417-13.417 0-2.058-.463-4.007-1.291-5.75h7.041c7.41 0 13.417-6.007 13.417-13.417 0-3.753-1.542-7.148-4.027-9.583Zm-47.723-34.5a5.75 5.75 0 0 1 5.75 5.75V103h-5.75a5.75 5.75 0 1 1 0-11.5Zm13.416 5.75a5.75 5.75 0 0 1 11.5 0v24.917h-11.5V97.25Zm-7.666 24.917v-11.5H173.25a5.75 5.75 0 0 0 0 11.5h24.917Zm26.833 0h5.75a5.75 5.75 0 1 0-5.75-5.75v5.75Zm5.75 7.666h-24.917v11.5h24.917a5.75 5.75 0 1 0 0-11.5ZM211.583 149h-5.75v5.75a5.75 5.75 0 1 0 5.75-5.75Zm-13.416-19.167h-11.5v24.917a5.75 5.75 0 1 0 11.5 0v-24.917Zm-24.917 0H179v5.75a5.75 5.75 0 1 1-5.75-5.75Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Slack.svg b/.gitbook/assets/Slack.svg
index 4a3ab374..05703662 100644
--- a/.gitbook/assets/Slack.svg
+++ b/.gitbook/assets/Slack.svg
@@ -1,4 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#F0894F"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M240.14 126C242.625 123.565 244.167 120.171 244.167 116.417C244.167 109.007 238.16 103 230.75 103C228.692 103 226.743 103.463 225 104.291V97.2502C225 89.8403 218.993 83.8335 211.583 83.8335C207.83 83.8335 204.435 85.3754 202 87.8605C199.565 85.3754 196.171 83.8335 192.417 83.8335C185.007 83.8335 179 89.8403 179 97.2502C179 99.3079 179.463 101.257 180.291 103H173.25C165.84 103 159.833 109.007 159.833 116.417C159.833 120.171 161.375 123.565 163.86 126C161.375 128.435 159.833 131.83 159.833 135.583C159.833 142.993 165.84 149 173.25 149C175.308 149 177.257 148.537 179 147.709V154.75C179 162.16 185.007 168.167 192.417 168.167C196.171 168.167 199.565 166.625 202 164.14C204.435 166.625 207.83 168.167 211.583 168.167C218.993 168.167 225 162.16 225 154.75C225 152.692 224.537 150.743 223.709 149H230.75C238.16 149 244.167 142.993 244.167 135.583C244.167 131.83 242.625 128.435 240.14 126ZM192.417 91.5002C195.592 91.5002 198.167 94.0745 198.167 97.2502V103H192.417C189.241 103 186.667 100.426 186.667 97.2502C186.667 94.0745 189.241 91.5002 192.417 91.5002ZM205.833 97.2502C205.833 94.0745 208.408 91.5002 211.583 91.5002C214.759 91.5002 217.333 94.0745 217.333 97.2502V122.167H205.833V97.2502ZM198.167 122.167V110.667H173.25C170.075 110.667 167.5 113.241 167.5 116.417C167.5 119.592 170.075 122.167 173.25 122.167H198.167ZM225 122.167H230.75C233.926 122.167 236.5 119.592 236.5 116.417C236.5 113.241 233.926 110.667 230.75 110.667C227.575 110.667 225 113.241 225 116.417V122.167ZM230.75 129.833H205.833V141.333H230.75C233.926 141.333 236.5 138.759 236.5 135.583C236.5 132.408 233.926 129.833 230.75 129.833ZM211.583 149H205.833V154.75C205.833 157.926 208.408 160.5 211.583 160.5C214.759 160.5 217.333 157.926 217.333 154.75C217.333 151.575 214.759 149 211.583 149ZM198.167 129.833H186.667V154.75C186.667 157.926 189.241 160.5 192.417 160.5C195.592 160.5 198.167 157.926 198.167 154.75V129.833ZM173.25 129.833H179V135.583C179 138.759 176.426 141.333 173.25 141.333C170.075 141.333 167.5 138.759 167.5 135.583C167.5 132.408 170.075 129.833 173.25 129.833Z" fill="#572900"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F0894F" d="M0 0h404v251H0V0Z"/><path fill="#572900" fill-rule="evenodd" d="M240.14 126a13.376 13.376 0 0 0 4.027-9.583c0-7.41-6.007-13.417-13.417-13.417-2.058 0-4.007.463-5.75 1.291v-7.04c0-7.41-6.007-13.418-13.417-13.418A13.377 13.377 0 0 0 202 87.862a13.375 13.375 0 0 0-9.583-4.028c-7.41 0-13.417 6.007-13.417 13.417 0 2.058.463 4.007 1.291 5.75h-7.041c-7.41 0-13.417 6.007-13.417 13.417 0 3.754 1.542 7.148 4.027 9.583a13.377 13.377 0 0 0-4.027 9.583c0 7.41 6.007 13.417 13.417 13.417 2.058 0 4.007-.463 5.75-1.291v7.041c0 7.41 6.007 13.417 13.417 13.417 3.754 0 7.148-1.542 9.583-4.027a13.377 13.377 0 0 0 9.583 4.027c7.41 0 13.417-6.007 13.417-13.417 0-2.058-.463-4.007-1.291-5.75h7.041c7.41 0 13.417-6.007 13.417-13.417 0-3.753-1.542-7.148-4.027-9.583Zm-47.723-34.5a5.75 5.75 0 0 1 5.75 5.75V103h-5.75a5.75 5.75 0 1 1 0-11.5Zm13.416 5.75a5.75 5.75 0 0 1 11.5 0v24.917h-11.5V97.25Zm-7.666 24.917v-11.5H173.25a5.75 5.75 0 0 0 0 11.5h24.917Zm26.833 0h5.75a5.75 5.75 0 1 0-5.75-5.75v5.75Zm5.75 7.666h-24.917v11.5h24.917a5.75 5.75 0 1 0 0-11.5ZM211.583 149h-5.75v5.75a5.75 5.75 0 1 0 5.75-5.75Zm-13.416-19.167h-11.5v24.917a5.75 5.75 0 1 0 11.5 0v-24.917Zm-24.917 0H179v5.75a5.75 5.75 0 1 1-5.75-5.75Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Trunk Announce.mp4 b/.gitbook/assets/Trunk Announce.mp4
new file mode 100644
index 00000000..9d38cb71
Binary files /dev/null and b/.gitbook/assets/Trunk Announce.mp4 differ
diff --git a/.gitbook/assets/Trunk Merge Queue Metrics.png b/.gitbook/assets/Trunk Merge Queue Metrics.png
new file mode 100644
index 00000000..f5c1021e
Binary files /dev/null and b/.gitbook/assets/Trunk Merge Queue Metrics.png differ
diff --git a/.gitbook/assets/TrunkYaml (1).svg b/.gitbook/assets/TrunkYaml (1).svg
index 24e57a80..7d1310b1 100644
--- a/.gitbook/assets/TrunkYaml (1).svg	
+++ b/.gitbook/assets/TrunkYaml (1).svg	
@@ -1,13 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#F2D664"/>
-<g clip-path="url(#clip0_1041_793)">
-<path d="M202 172V162.002C221.851 162.002 238.001 145.852 238.001 126.001C238.001 106.149 221.851 89.9988 202 89.9988C182.148 89.9988 165.998 106.149 165.998 126.001H156C156 100.636 176.636 80 202 80C227.364 80 248 100.636 248 126.001C248 151.364 227.364 172 202 172H202Z" fill="#261F00"/>
-<path d="M179.665 126.724H169.666C169.666 108.614 184.171 93.8809 201.999 93.8809V104.037C189.684 104.037 179.665 114.214 179.665 126.724Z" fill="#261F00"/>
-<path d="M220.667 126.725H210.669C210.669 121.87 206.781 117.92 202.001 117.92C197.222 117.92 193.333 121.87 193.333 126.725H183.334C183.334 116.27 191.709 107.765 202.001 107.765C212.293 107.765 220.667 116.27 220.667 126.725Z" fill="#261F00"/>
-</g>
-<defs>
-<clipPath id="clip0_1041_793">
-<rect width="92" height="92" fill="white" transform="translate(156 80)"/>
-</clipPath>
-</defs>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0V0Z"/><g fill="#261F00" clip-path="url(#a)"><path d="M202 172v-9.998c19.851 0 36.001-16.15 36.001-36.001 0-19.852-16.15-36.002-36.001-36.002-19.852 0-36.002 16.15-36.002 36.002H156C156 100.636 176.636 80 202 80s46 20.636 46 46.001C248 151.364 227.364 172 202 172Z"/><path d="M179.665 126.724h-9.999c0-18.11 14.505-32.843 32.333-32.843v10.156c-12.315 0-22.334 10.177-22.334 22.687Z"/><path d="M220.667 126.725h-9.998c0-4.855-3.888-8.805-8.668-8.805-4.779 0-8.668 3.95-8.668 8.805h-9.999c0-10.455 8.375-18.96 18.667-18.96 10.292 0 18.666 8.505 18.666 18.96Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M156 80h92v92h-92z"/></clipPath></defs></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/TrunkYaml.svg b/.gitbook/assets/TrunkYaml.svg
index a3a735d1..399335a3 100644
--- a/.gitbook/assets/TrunkYaml.svg
+++ b/.gitbook/assets/TrunkYaml.svg
@@ -1,13 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#FC6469"/>
-<g clip-path="url(#clip0_1041_793)">
-<path d="M202 172V162.002C221.851 162.002 238.001 145.852 238.001 126.001C238.001 106.149 221.851 89.9988 202 89.9988C182.148 89.9988 165.998 106.149 165.998 126.001H156C156 100.636 176.636 80 202 80C227.364 80 248 100.636 248 126.001C248 151.364 227.364 172 202 172H202Z" fill="#280001"/>
-<path d="M179.665 126.724H169.666C169.666 108.614 184.171 93.8809 201.999 93.8809V104.037C189.684 104.037 179.665 114.214 179.665 126.724Z" fill="#280001"/>
-<path d="M220.667 126.725H210.669C210.669 121.87 206.781 117.92 202.001 117.92C197.222 117.92 193.333 121.87 193.333 126.725H183.334C183.334 116.27 191.709 107.765 202.001 107.765C212.293 107.765 220.667 116.27 220.667 126.725Z" fill="#280001"/>
-</g>
-<defs>
-<clipPath id="clip0_1041_793">
-<rect width="92" height="92" fill="white" transform="translate(156 80)"/>
-</clipPath>
-</defs>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#FC6469" d="M0 0h404v251H0V0Z"/><g fill="#280001" clip-path="url(#a)"><path d="M202 172v-9.998c19.851 0 36.001-16.15 36.001-36.001 0-19.852-16.15-36.002-36.001-36.002-19.852 0-36.002 16.15-36.002 36.002H156C156 100.636 176.636 80 202 80s46 20.636 46 46.001C248 151.364 227.364 172 202 172Z"/><path d="M179.665 126.724h-9.999c0-18.11 14.505-32.843 32.333-32.843v10.156c-12.315 0-22.334 10.177-22.334 22.687Z"/><path d="M220.667 126.725h-9.998c0-4.855-3.888-8.805-8.668-8.805-4.779 0-8.668 3.95-8.668 8.805h-9.999c0-10.455 8.375-18.96 18.667-18.96 10.292 0 18.666 8.505 18.666 18.96Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M156 80h92v92h-92z"/></clipPath></defs></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Usage Data.svg b/.gitbook/assets/Usage Data.svg
index a73e567b..1a6d8f40 100644
--- a/.gitbook/assets/Usage Data.svg	
+++ b/.gitbook/assets/Usage Data.svg	
@@ -1,9 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#68E6B8"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M238.538 94.1934C238.539 94.1935 238.537 94.2012 238.532 94.2165C238.535 94.201 238.538 94.1934 238.538 94.1934ZM238.463 94.3552C238.34 94.145 238.029 93.7327 237.279 93.1346C235.825 91.9752 233.378 90.6853 229.857 89.4975C222.872 87.1411 212.865 85.586 201.553 85.586C190.241 85.586 180.234 87.1411 173.249 89.4975C169.728 90.6853 167.281 91.9752 165.827 93.1346C165.077 93.7327 164.766 94.145 164.643 94.3552C164.766 94.5654 165.077 94.9777 165.827 95.5758C167.281 96.7352 169.728 98.0252 173.249 99.2129C180.234 101.569 190.241 103.124 201.553 103.124C212.865 103.124 222.872 101.569 229.857 99.2129C233.378 98.0252 235.825 96.7352 237.279 95.5758C238.029 94.9777 238.34 94.5654 238.463 94.3552ZM164.568 94.1934C164.568 94.1934 164.571 94.2011 164.574 94.2166C164.569 94.2012 164.567 94.1935 164.568 94.1934ZM164.568 94.517C164.567 94.517 164.569 94.5092 164.574 94.4939C164.571 94.5094 164.568 94.517 164.568 94.517ZM238.532 94.494C238.537 94.5092 238.539 94.517 238.538 94.517C238.538 94.517 238.535 94.5094 238.532 94.494ZM201.553 108.71C225.054 108.71 244.106 102.283 244.106 94.3552C244.106 86.4271 225.054 80 201.553 80C178.052 80 159 86.4271 159 94.3552C159 102.283 178.052 108.71 201.553 108.71Z" fill="#022719"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M163.522 163.94C161.231 162.252 159.283 159.907 159.283 156.902H164.869C164.869 157.296 165.131 158.187 166.836 159.443C168.485 160.659 171.05 161.87 174.47 162.936C181.278 165.058 190.854 166.414 201.553 166.414C212.253 166.414 221.963 165.058 228.906 162.932C232.395 161.864 235.029 160.648 236.729 159.425C238.498 158.152 238.75 157.262 238.75 156.902H244.336C244.336 159.941 242.314 162.288 239.992 163.959C237.6 165.68 234.325 167.115 230.542 168.274C222.941 170.601 212.656 172 201.553 172C190.451 172 180.288 170.601 172.808 168.269C169.084 167.109 165.868 165.669 163.522 163.94Z" fill="#022719"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M163.522 144.459C161.231 142.771 159.283 140.425 159.283 137.421H164.869C164.869 137.814 165.131 138.706 166.836 139.962C168.485 141.177 171.05 142.389 174.47 143.455C181.278 145.577 190.854 146.932 201.553 146.932C212.253 146.932 221.963 145.577 228.906 143.451C232.395 142.382 235.029 141.167 236.729 139.943C238.498 138.67 238.75 137.78 238.75 137.421H244.336C244.336 140.459 242.314 142.806 239.992 144.477C237.6 146.198 234.325 147.634 230.542 148.792C222.941 151.119 212.656 152.518 201.553 152.518C190.451 152.518 180.288 151.119 172.808 148.788C169.084 147.627 165.868 146.188 163.522 144.459Z" fill="#022719"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M163.522 121.9C161.231 120.212 159.283 117.867 159.283 114.862H164.869C164.869 115.256 165.131 116.147 166.836 117.403C168.485 118.618 171.05 119.83 174.47 120.896C181.278 123.018 190.854 124.374 201.553 124.374C212.253 124.374 221.963 123.018 228.906 120.892C232.395 119.824 235.029 118.608 236.729 117.385C238.498 116.112 238.75 115.222 238.75 114.862H244.336C244.336 117.901 242.314 120.247 239.992 121.919C237.6 123.64 234.325 125.075 230.542 126.234C222.941 128.561 212.656 129.96 201.553 129.96C190.451 129.96 180.288 128.561 172.808 126.229C169.084 125.069 165.868 123.629 163.522 121.9Z" fill="#022719"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M241.543 90.5371C243.085 90.5371 244.336 91.7876 244.336 93.3301V158.441C244.336 159.984 243.085 161.234 241.543 161.234C240 161.234 238.75 159.984 238.75 158.441V93.3301C238.75 91.7876 240 90.5371 241.543 90.5371Z" fill="#022719"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M162.076 92.0752C163.619 92.0752 164.869 93.3257 164.869 94.8682V158.954C164.869 160.497 163.619 161.747 162.076 161.747C160.534 161.747 159.283 160.497 159.283 158.954V94.8682C159.283 93.3257 160.534 92.0752 162.076 92.0752Z" fill="#022719"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#68E6B8" d="M0 0h404v251H0z"/><path fill="#022719" fill-rule="evenodd" d="M238.538 94.193c.001 0-.001.008-.006.023a.145.145 0 0 1 .006-.023Zm-.075.162c-.123-.21-.434-.622-1.184-1.22-1.454-1.16-3.901-2.45-7.422-3.638-6.985-2.356-16.992-3.911-28.304-3.911-11.312 0-21.319 1.555-28.304 3.912-3.521 1.187-5.968 2.477-7.422 3.637-.75.598-1.061 1.01-1.184 1.22.123.21.434.623 1.184 1.22 1.454 1.16 3.901 2.45 7.422 3.638 6.985 2.356 16.992 3.911 28.304 3.911 11.312 0 21.319-1.555 28.304-3.911 3.521-1.188 5.968-2.478 7.422-3.637.75-.598 1.061-1.01 1.184-1.22Zm-73.895-.162.006.024c-.005-.016-.007-.023-.006-.024Zm0 .324c-.001 0 .001-.008.006-.023a.145.145 0 0 1-.006.023Zm73.964-.023c.005.015.007.023.006.023l-.006-.023Zm-36.979 14.216c23.501 0 42.553-6.427 42.553-14.355 0-7.928-19.052-14.355-42.553-14.355C178.052 80 159 86.427 159 94.355c0 7.928 19.052 14.355 42.553 14.355Zm-38.031 55.23c-2.291-1.688-4.239-4.033-4.239-7.038h5.586c0 .394.262 1.285 1.967 2.541 1.649 1.216 4.214 2.427 7.634 3.493 6.808 2.122 16.384 3.478 27.083 3.478 10.7 0 20.41-1.356 27.353-3.482 3.489-1.068 6.123-2.284 7.823-3.507 1.769-1.273 2.021-2.163 2.021-2.523h5.586c0 3.039-2.022 5.386-4.344 7.057-2.392 1.721-5.667 3.156-9.45 4.315-7.601 2.327-17.886 3.726-28.989 3.726-11.102 0-21.265-1.399-28.745-3.731-3.724-1.16-6.94-2.6-9.286-4.329Zm0-19.481c-2.291-1.688-4.239-4.034-4.239-7.038h5.586c0 .393.262 1.285 1.967 2.541 1.649 1.215 4.214 2.427 7.634 3.493 6.808 2.122 16.384 3.477 27.083 3.477 10.7 0 20.41-1.355 27.353-3.481 3.489-1.069 6.123-2.284 7.823-3.508 1.769-1.273 2.021-2.163 2.021-2.522h5.586c0 3.038-2.022 5.385-4.344 7.056-2.392 1.721-5.667 3.157-9.45 4.315-7.601 2.327-17.886 3.726-28.989 3.726-11.102 0-21.265-1.399-28.745-3.73-3.724-1.161-6.94-2.6-9.286-4.329Zm0-22.559c-2.291-1.688-4.239-4.033-4.239-7.038h5.586c0 .394.262 1.285 1.967 2.541 1.649 1.215 4.214 2.427 7.634 3.493 6.808 2.122 16.384 3.478 27.083 3.478 10.7 0 20.41-1.356 27.353-3.482 3.489-1.068 6.123-2.284 7.823-3.507 1.769-1.273 2.021-2.163 2.021-2.523h5.586c0 3.039-2.022 5.385-4.344 7.057-2.392 1.721-5.667 3.156-9.45 4.315-7.601 2.327-17.886 3.726-28.989 3.726-11.102 0-21.265-1.399-28.745-3.731-3.724-1.16-6.94-2.6-9.286-4.329Z" clip-rule="evenodd"/><path fill="#022719" fill-rule="evenodd" d="M241.543 90.537a2.793 2.793 0 0 1 2.793 2.793v65.111a2.793 2.793 0 0 1-5.586 0v-65.11a2.793 2.793 0 0 1 2.793-2.794Zm-79.467 1.538a2.793 2.793 0 0 1 2.793 2.793v64.086a2.792 2.792 0 1 1-5.586 0V94.868a2.793 2.793 0 0 1 2.793-2.793Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/UserYaml (1) (1).svg b/.gitbook/assets/UserYaml (1) (1).svg
new file mode 100644
index 00000000..643142b2
--- /dev/null
+++ b/.gitbook/assets/UserYaml (1) (1).svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#65E4EA" d="M0 0h404v251H0V0Z"/><mask id="a" width="110" height="110" x="147" y="71" maskUnits="userSpaceOnUse" style="mask-type:alpha"><circle cx="202" cy="126" r="54.5" fill="#C4C4C4" stroke="#000"/></mask><g stroke="#013234" stroke-width="5" mask="url(#a)"><circle cx="202.45" cy="114" r="17.9" fill="#86F9FF"/><path stroke-linecap="round" d="M158.25 166c2.5-7.407 16.5-20 42.5-20s40.833 13.333 42.5 20"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/UserYaml (1).svg b/.gitbook/assets/UserYaml (1).svg
new file mode 100644
index 00000000..643142b2
--- /dev/null
+++ b/.gitbook/assets/UserYaml (1).svg	
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#65E4EA" d="M0 0h404v251H0V0Z"/><mask id="a" width="110" height="110" x="147" y="71" maskUnits="userSpaceOnUse" style="mask-type:alpha"><circle cx="202" cy="126" r="54.5" fill="#C4C4C4" stroke="#000"/></mask><g stroke="#013234" stroke-width="5" mask="url(#a)"><circle cx="202.45" cy="114" r="17.9" fill="#86F9FF"/><path stroke-linecap="round" d="M158.25 166c2.5-7.407 16.5-20 42.5-20s40.833 13.333 42.5 20"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/UserYaml.svg b/.gitbook/assets/UserYaml.svg
index 37c1c065..ba715d57 100644
--- a/.gitbook/assets/UserYaml.svg
+++ b/.gitbook/assets/UserYaml.svg
@@ -1,10 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M0 0L404 0L404 251L0 251L0 0Z" fill="#65E4EA"/>
-<mask id="mask0_1041_739" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="147" y="71" width="110" height="110">
-<circle cx="202" cy="126" r="54.5" fill="#C4C4C4" stroke="black"/>
-</mask>
-<g mask="url(#mask0_1041_739)">
-<circle cx="202.45" cy="114" r="17.9" fill="#C1FCFF" stroke="#013234" stroke-width="5"/>
-<path d="M158.25 166C160.75 158.593 174.75 146 200.75 146C226.75 146 241.583 159.333 243.25 166" stroke="#013234" stroke-width="5" stroke-linecap="round"/>
-</g>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#65E4EA" d="M0 0h404v251H0V0Z"/><mask id="a" width="110" height="110" x="147" y="71" maskUnits="userSpaceOnUse" style="mask-type:alpha"><circle cx="202" cy="126" r="54.5" fill="#C4C4C4" stroke="#000"/></mask><g stroke="#013234" stroke-width="5" mask="url(#a)"><circle cx="202.45" cy="114" r="17.9" fill="#C1FCFF"/><path stroke-linecap="round" d="M158.25 166c2.5-7.407 16.5-20 42.5-20s40.833 13.333 42.5 20"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/VSCode (1).svg b/.gitbook/assets/VSCode (1).svg
index 63a187c8..6a514c8c 100644
--- a/.gitbook/assets/VSCode (1).svg	
+++ b/.gitbook/assets/VSCode (1).svg	
@@ -1,4 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#7C92FF"/>
-<path d="M247 162L224.875 171L188.5 135L165.625 153L157 148.125V103.875L165.625 99.375L188.5 117.375L224.875 81L247 90V162ZM200.875 126L224.5 144.75V107.25L200.875 126ZM165.625 139.875L179.5 126L166 112.125L165.625 139.875Z" fill="#013234"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#7C92FF" d="M0 0h404v251H0z"/><path fill="#013234" d="m247 162-22.125 9-36.375-36-22.875 18-8.625-4.875v-44.25l8.625-4.5 22.875 18L224.875 81 247 90v72Zm-46.125-36 23.625 18.75v-37.5L200.875 126Zm-35.25 13.875L179.5 126 166 112.125l-.375 27.75Z"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/VSCode.svg b/.gitbook/assets/VSCode.svg
index 63a187c8..6a514c8c 100644
--- a/.gitbook/assets/VSCode.svg
+++ b/.gitbook/assets/VSCode.svg
@@ -1,4 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#7C92FF"/>
-<path d="M247 162L224.875 171L188.5 135L165.625 153L157 148.125V103.875L165.625 99.375L188.5 117.375L224.875 81L247 90V162ZM200.875 126L224.5 144.75V107.25L200.875 126ZM165.625 139.875L179.5 126L166 112.125L165.625 139.875Z" fill="#013234"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#7C92FF" d="M0 0h404v251H0z"/><path fill="#013234" d="m247 162-22.125 9-36.375-36-22.875 18-8.625-4.875v-44.25l8.625-4.5 22.875 18L224.875 81 247 90v72Zm-46.125-36 23.625 18.75v-37.5L200.875 126Zm-35.25 13.875L179.5 126 166 112.125l-.375 27.75Z"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/Vector.png b/.gitbook/assets/Vector.png
new file mode 100644
index 00000000..4ff310f7
Binary files /dev/null and b/.gitbook/assets/Vector.png differ
diff --git a/.gitbook/assets/YAML (1).svg b/.gitbook/assets/YAML (1).svg
index 5b5ac09c..900e3bd4 100644
--- a/.gitbook/assets/YAML (1).svg	
+++ b/.gitbook/assets/YAML (1).svg	
@@ -1,9 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#F2D664"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M174.846 91.3021L181.964 98.5609L180.058 104.962C179.841 105.686 179.268 106.254 178.537 106.459L178.515 106.466L172.24 108.16L165.02 100.924C164.783 101.905 164.658 102.931 164.658 103.987C164.658 111.16 170.457 116.966 177.601 116.966C179.164 116.966 180.658 116.689 182.04 116.184L183.336 115.709L216.337 148.744C216.808 149.216 217.774 149.638 218.993 149.635C220.174 149.631 221.305 149.225 222.089 148.438C222.874 147.652 223.281 146.516 223.284 145.328C223.288 144.102 222.866 143.132 222.395 142.66L189.359 109.59L189.811 108.308C190.285 106.959 190.545 105.506 190.545 103.987C190.545 96.8141 184.745 91.0079 177.601 91.0079C176.655 91.0079 175.733 91.1095 174.846 91.3021ZM169.975 88.4603C172.277 87.323 174.868 86.6851 177.601 86.6851C187.142 86.6851 194.867 94.4363 194.867 103.987C194.867 105.516 194.669 107 194.296 108.416L225.454 139.606C226.928 141.084 227.613 143.269 227.607 145.341C227.601 147.45 226.882 149.755 225.149 151.492C223.416 153.229 221.114 153.951 219.006 153.957C216.935 153.964 214.753 153.277 213.278 151.798L182.184 120.673C180.723 121.075 179.186 121.289 177.601 121.289C168.06 121.289 160.335 113.538 160.335 103.987C160.335 101.123 161.031 98.4162 162.264 96.0321L163.624 93.4041L173.531 103.334L176.251 102.599L177.094 99.7686L167.3 89.7816L169.975 88.4603Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M185.946 154.506C193.142 150.165 201.858 142.871 210.328 133.63C218.798 124.389 225.307 115.072 229.007 107.526C230.863 103.74 231.955 100.514 232.291 98.0318C232.636 95.4731 232.123 94.2402 231.535 93.7014C231.24 93.431 230.285 93.0558 227.876 93.703C225.622 94.3087 222.732 95.6516 219.406 97.6334C212.783 101.58 204.863 107.802 197.596 114.691L194.622 111.554C202.048 104.514 210.221 98.0749 217.193 93.9199C220.665 91.8507 223.948 90.2825 226.755 89.5282C229.407 88.8154 232.401 88.6314 234.456 90.5147C236.618 92.4963 236.987 95.5591 236.575 98.6106C236.152 101.739 234.845 105.437 232.888 109.429C228.961 117.44 222.183 127.094 213.515 136.551C204.846 146.008 195.818 153.599 188.179 158.208C184.372 160.504 180.801 162.127 177.721 162.82C174.717 163.496 171.633 163.394 169.472 161.413C167.475 159.582 167.011 156.823 167.27 154.044C167.532 151.219 168.571 147.906 170.175 144.335C173.394 137.171 179.104 128.5 186.528 119.774L189.821 122.575C182.569 131.098 177.121 139.424 174.119 146.107C172.612 149.46 171.775 152.283 171.574 154.445C171.368 156.652 171.852 157.731 172.393 158.226C172.98 158.765 174.253 159.169 176.772 158.603C179.216 158.053 182.335 156.684 185.946 154.506Z" fill="#261F00"/>
-<path d="M166.231 141.133C166.231 137.008 169.575 133.664 173.701 133.664C177.826 133.664 181.17 137.008 181.17 141.133C181.17 145.258 177.826 148.603 173.701 148.603C169.575 148.603 166.231 145.258 166.231 141.133Z" fill="#9B7C00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M173.701 137.986C171.963 137.986 170.554 139.395 170.554 141.133C170.554 142.871 171.963 144.28 173.701 144.28C175.438 144.28 176.847 142.871 176.847 141.133C176.847 139.395 175.438 137.986 173.701 137.986ZM173.701 133.664C169.575 133.664 166.231 137.008 166.231 141.133C166.231 145.258 169.575 148.603 173.701 148.603C177.826 148.603 181.17 145.258 181.17 141.133C181.17 137.008 177.826 133.664 173.701 133.664Z" fill="#261F00"/>
-<path d="M218.518 114.99C218.518 110.865 221.862 107.52 225.987 107.52C230.113 107.52 233.457 110.865 233.457 114.99C233.457 119.115 230.113 122.459 225.987 122.459C221.862 122.459 218.518 119.115 218.518 114.99Z" fill="#9B7C00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M225.987 111.843C224.249 111.843 222.841 113.252 222.841 114.99C222.841 116.728 224.249 118.137 225.987 118.137C227.725 118.137 229.134 116.728 229.134 114.99C229.134 113.252 227.725 111.843 225.987 111.843ZM225.987 107.52C221.862 107.52 218.518 110.865 218.518 114.99C218.518 119.115 221.862 122.459 225.987 122.459C230.113 122.459 233.457 119.115 233.457 114.99C233.457 110.865 230.113 107.52 225.987 107.52Z" fill="#261F00"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0z"/><path fill="#261F00" fill-rule="evenodd" d="m174.846 91.302 7.118 7.259-1.906 6.401a2.215 2.215 0 0 1-1.521 1.497l-.022.007-6.275 1.694-7.22-7.236a13.031 13.031 0 0 0-.362 3.063c0 7.173 5.799 12.979 12.943 12.979 1.563 0 3.057-.277 4.439-.782l1.296-.475 33.001 33.035c.471.472 1.437.894 2.656.891 1.181-.004 2.312-.41 3.096-1.197.785-.786 1.192-1.922 1.195-3.11.004-1.226-.418-2.196-.889-2.668l-33.036-33.07.452-1.282c.474-1.349.734-2.802.734-4.321 0-7.173-5.8-12.98-12.944-12.98-.946 0-1.868.102-2.755.295Zm-4.871-2.842a17.176 17.176 0 0 1 7.626-1.775c9.541 0 17.266 7.751 17.266 17.302 0 1.529-.198 3.013-.571 4.429l31.158 31.19c1.474 1.478 2.159 3.663 2.153 5.735-.006 2.109-.725 4.414-2.458 6.151s-4.035 2.459-6.143 2.465c-2.071.007-4.253-.68-5.728-2.159l-31.094-31.125a17.254 17.254 0 0 1-4.583.616c-9.541 0-17.266-7.751-17.266-17.302 0-2.864.696-5.57 1.929-7.955l1.36-2.628 9.907 9.93 2.72-.735.843-2.83-9.794-9.987 2.675-1.322Z" clip-rule="evenodd"/><path fill="#261F00" fill-rule="evenodd" d="M185.946 154.506c7.196-4.341 15.912-11.635 24.382-20.876 8.47-9.241 14.979-18.558 18.679-26.104 1.856-3.786 2.948-7.012 3.284-9.494.345-2.559-.168-3.792-.756-4.33-.295-.271-1.25-.646-3.659.001-2.254.606-5.144 1.949-8.47 3.93-6.623 3.947-14.543 10.169-21.81 17.058l-2.974-3.137c7.426-7.04 15.599-13.48 22.571-17.634 3.472-2.07 6.755-3.638 9.562-4.392 2.652-.713 5.646-.897 7.701.987 2.162 1.981 2.531 5.044 2.119 8.096-.423 3.128-1.73 6.826-3.687 10.818-3.927 8.011-10.705 17.665-19.373 27.122-8.669 9.457-17.697 17.048-25.336 21.657-3.807 2.296-7.378 3.919-10.458 4.612-3.004.676-6.088.574-8.249-1.407-1.997-1.831-2.461-4.59-2.202-7.369.262-2.825 1.301-6.138 2.905-9.709 3.219-7.164 8.929-15.835 16.353-24.561l3.293 2.801c-7.252 8.523-12.7 16.849-15.702 23.532-1.507 3.353-2.344 6.176-2.545 8.338-.206 2.207.278 3.286.819 3.781.587.539 1.86.943 4.379.377 2.444-.55 5.563-1.919 9.174-4.097Z" clip-rule="evenodd"/><path fill="#9B7C00" d="M166.231 141.133a7.47 7.47 0 0 1 14.939 0 7.47 7.47 0 1 1-14.939 0Z"/><path fill="#261F00" fill-rule="evenodd" d="M173.701 137.986a3.147 3.147 0 1 0 0 6.294 3.147 3.147 0 0 0 0-6.294Zm0-4.322a7.47 7.47 0 1 0 0 14.939 7.47 7.47 0 0 0 0-14.939Z" clip-rule="evenodd"/><path fill="#9B7C00" d="M218.518 114.99a7.47 7.47 0 1 1 14.94 0 7.47 7.47 0 0 1-14.94 0Z"/><path fill="#261F00" fill-rule="evenodd" d="M225.987 111.843a3.146 3.146 0 1 0 0 6.292 3.146 3.146 0 0 0 0-6.292Zm0-4.323a7.47 7.47 0 1 0 .002 14.94 7.47 7.47 0 0 0-.002-14.94Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/YAML.svg b/.gitbook/assets/YAML.svg
index 5b5ac09c..900e3bd4 100644
--- a/.gitbook/assets/YAML.svg
+++ b/.gitbook/assets/YAML.svg
@@ -1,9 +1 @@
-<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="404" height="251" fill="#F2D664"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M174.846 91.3021L181.964 98.5609L180.058 104.962C179.841 105.686 179.268 106.254 178.537 106.459L178.515 106.466L172.24 108.16L165.02 100.924C164.783 101.905 164.658 102.931 164.658 103.987C164.658 111.16 170.457 116.966 177.601 116.966C179.164 116.966 180.658 116.689 182.04 116.184L183.336 115.709L216.337 148.744C216.808 149.216 217.774 149.638 218.993 149.635C220.174 149.631 221.305 149.225 222.089 148.438C222.874 147.652 223.281 146.516 223.284 145.328C223.288 144.102 222.866 143.132 222.395 142.66L189.359 109.59L189.811 108.308C190.285 106.959 190.545 105.506 190.545 103.987C190.545 96.8141 184.745 91.0079 177.601 91.0079C176.655 91.0079 175.733 91.1095 174.846 91.3021ZM169.975 88.4603C172.277 87.323 174.868 86.6851 177.601 86.6851C187.142 86.6851 194.867 94.4363 194.867 103.987C194.867 105.516 194.669 107 194.296 108.416L225.454 139.606C226.928 141.084 227.613 143.269 227.607 145.341C227.601 147.45 226.882 149.755 225.149 151.492C223.416 153.229 221.114 153.951 219.006 153.957C216.935 153.964 214.753 153.277 213.278 151.798L182.184 120.673C180.723 121.075 179.186 121.289 177.601 121.289C168.06 121.289 160.335 113.538 160.335 103.987C160.335 101.123 161.031 98.4162 162.264 96.0321L163.624 93.4041L173.531 103.334L176.251 102.599L177.094 99.7686L167.3 89.7816L169.975 88.4603Z" fill="#261F00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M185.946 154.506C193.142 150.165 201.858 142.871 210.328 133.63C218.798 124.389 225.307 115.072 229.007 107.526C230.863 103.74 231.955 100.514 232.291 98.0318C232.636 95.4731 232.123 94.2402 231.535 93.7014C231.24 93.431 230.285 93.0558 227.876 93.703C225.622 94.3087 222.732 95.6516 219.406 97.6334C212.783 101.58 204.863 107.802 197.596 114.691L194.622 111.554C202.048 104.514 210.221 98.0749 217.193 93.9199C220.665 91.8507 223.948 90.2825 226.755 89.5282C229.407 88.8154 232.401 88.6314 234.456 90.5147C236.618 92.4963 236.987 95.5591 236.575 98.6106C236.152 101.739 234.845 105.437 232.888 109.429C228.961 117.44 222.183 127.094 213.515 136.551C204.846 146.008 195.818 153.599 188.179 158.208C184.372 160.504 180.801 162.127 177.721 162.82C174.717 163.496 171.633 163.394 169.472 161.413C167.475 159.582 167.011 156.823 167.27 154.044C167.532 151.219 168.571 147.906 170.175 144.335C173.394 137.171 179.104 128.5 186.528 119.774L189.821 122.575C182.569 131.098 177.121 139.424 174.119 146.107C172.612 149.46 171.775 152.283 171.574 154.445C171.368 156.652 171.852 157.731 172.393 158.226C172.98 158.765 174.253 159.169 176.772 158.603C179.216 158.053 182.335 156.684 185.946 154.506Z" fill="#261F00"/>
-<path d="M166.231 141.133C166.231 137.008 169.575 133.664 173.701 133.664C177.826 133.664 181.17 137.008 181.17 141.133C181.17 145.258 177.826 148.603 173.701 148.603C169.575 148.603 166.231 145.258 166.231 141.133Z" fill="#9B7C00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M173.701 137.986C171.963 137.986 170.554 139.395 170.554 141.133C170.554 142.871 171.963 144.28 173.701 144.28C175.438 144.28 176.847 142.871 176.847 141.133C176.847 139.395 175.438 137.986 173.701 137.986ZM173.701 133.664C169.575 133.664 166.231 137.008 166.231 141.133C166.231 145.258 169.575 148.603 173.701 148.603C177.826 148.603 181.17 145.258 181.17 141.133C181.17 137.008 177.826 133.664 173.701 133.664Z" fill="#261F00"/>
-<path d="M218.518 114.99C218.518 110.865 221.862 107.52 225.987 107.52C230.113 107.52 233.457 110.865 233.457 114.99C233.457 119.115 230.113 122.459 225.987 122.459C221.862 122.459 218.518 119.115 218.518 114.99Z" fill="#9B7C00"/>
-<path fill-rule="evenodd" clip-rule="evenodd" d="M225.987 111.843C224.249 111.843 222.841 113.252 222.841 114.99C222.841 116.728 224.249 118.137 225.987 118.137C227.725 118.137 229.134 116.728 229.134 114.99C229.134 113.252 227.725 111.843 225.987 111.843ZM225.987 107.52C221.862 107.52 218.518 110.865 218.518 114.99C218.518 119.115 221.862 122.459 225.987 122.459C230.113 122.459 233.457 119.115 233.457 114.99C233.457 110.865 230.113 107.52 225.987 107.52Z" fill="#261F00"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0z"/><path fill="#261F00" fill-rule="evenodd" d="m174.846 91.302 7.118 7.259-1.906 6.401a2.215 2.215 0 0 1-1.521 1.497l-.022.007-6.275 1.694-7.22-7.236a13.031 13.031 0 0 0-.362 3.063c0 7.173 5.799 12.979 12.943 12.979 1.563 0 3.057-.277 4.439-.782l1.296-.475 33.001 33.035c.471.472 1.437.894 2.656.891 1.181-.004 2.312-.41 3.096-1.197.785-.786 1.192-1.922 1.195-3.11.004-1.226-.418-2.196-.889-2.668l-33.036-33.07.452-1.282c.474-1.349.734-2.802.734-4.321 0-7.173-5.8-12.98-12.944-12.98-.946 0-1.868.102-2.755.295Zm-4.871-2.842a17.176 17.176 0 0 1 7.626-1.775c9.541 0 17.266 7.751 17.266 17.302 0 1.529-.198 3.013-.571 4.429l31.158 31.19c1.474 1.478 2.159 3.663 2.153 5.735-.006 2.109-.725 4.414-2.458 6.151s-4.035 2.459-6.143 2.465c-2.071.007-4.253-.68-5.728-2.159l-31.094-31.125a17.254 17.254 0 0 1-4.583.616c-9.541 0-17.266-7.751-17.266-17.302 0-2.864.696-5.57 1.929-7.955l1.36-2.628 9.907 9.93 2.72-.735.843-2.83-9.794-9.987 2.675-1.322Z" clip-rule="evenodd"/><path fill="#261F00" fill-rule="evenodd" d="M185.946 154.506c7.196-4.341 15.912-11.635 24.382-20.876 8.47-9.241 14.979-18.558 18.679-26.104 1.856-3.786 2.948-7.012 3.284-9.494.345-2.559-.168-3.792-.756-4.33-.295-.271-1.25-.646-3.659.001-2.254.606-5.144 1.949-8.47 3.93-6.623 3.947-14.543 10.169-21.81 17.058l-2.974-3.137c7.426-7.04 15.599-13.48 22.571-17.634 3.472-2.07 6.755-3.638 9.562-4.392 2.652-.713 5.646-.897 7.701.987 2.162 1.981 2.531 5.044 2.119 8.096-.423 3.128-1.73 6.826-3.687 10.818-3.927 8.011-10.705 17.665-19.373 27.122-8.669 9.457-17.697 17.048-25.336 21.657-3.807 2.296-7.378 3.919-10.458 4.612-3.004.676-6.088.574-8.249-1.407-1.997-1.831-2.461-4.59-2.202-7.369.262-2.825 1.301-6.138 2.905-9.709 3.219-7.164 8.929-15.835 16.353-24.561l3.293 2.801c-7.252 8.523-12.7 16.849-15.702 23.532-1.507 3.353-2.344 6.176-2.545 8.338-.206 2.207.278 3.286.819 3.781.587.539 1.86.943 4.379.377 2.444-.55 5.563-1.919 9.174-4.097Z" clip-rule="evenodd"/><path fill="#9B7C00" d="M166.231 141.133a7.47 7.47 0 0 1 14.939 0 7.47 7.47 0 1 1-14.939 0Z"/><path fill="#261F00" fill-rule="evenodd" d="M173.701 137.986a3.147 3.147 0 1 0 0 6.294 3.147 3.147 0 0 0 0-6.294Zm0-4.322a7.47 7.47 0 1 0 0 14.939 7.47 7.47 0 0 0 0-14.939Z" clip-rule="evenodd"/><path fill="#9B7C00" d="M218.518 114.99a7.47 7.47 0 1 1 14.94 0 7.47 7.47 0 0 1-14.94 0Z"/><path fill="#261F00" fill-rule="evenodd" d="M225.987 111.843a3.146 3.146 0 1 0 0 6.292 3.146 3.146 0 0 0 0-6.292Zm0-4.323a7.47 7.47 0 1 0 .002 14.94 7.47 7.47 0 0 0-.002-14.94Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/add-test-framework-step-1-dark.png b/.gitbook/assets/add-test-framework-step-1-dark.png
new file mode 100644
index 00000000..d846ff65
Binary files /dev/null and b/.gitbook/assets/add-test-framework-step-1-dark.png differ
diff --git a/.gitbook/assets/add-test-framework-step-1-light.png b/.gitbook/assets/add-test-framework-step-1-light.png
new file mode 100644
index 00000000..aeeb6de8
Binary files /dev/null and b/.gitbook/assets/add-test-framework-step-1-light.png differ
diff --git a/.gitbook/assets/add-test-framework-step-4-dark.png b/.gitbook/assets/add-test-framework-step-4-dark.png
new file mode 100644
index 00000000..6387efb6
Binary files /dev/null and b/.gitbook/assets/add-test-framework-step-4-dark.png differ
diff --git a/.gitbook/assets/add-test-framework-step-4-light.png b/.gitbook/assets/add-test-framework-step-4-light.png
new file mode 100644
index 00000000..51ef5bde
Binary files /dev/null and b/.gitbook/assets/add-test-framework-step-4-light.png differ
diff --git a/.gitbook/assets/android.png b/.gitbook/assets/android.png
new file mode 100644
index 00000000..a0d112a6
Binary files /dev/null and b/.gitbook/assets/android.png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56 (1).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56 (1).png
new file mode 100644
index 00000000..cd81175b
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56 (1).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56.png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56.png
new file mode 100644
index 00000000..50255fc2
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_pr_84_repo=gewenyu99%2Freal-saas-app&commitHash=7274ce1090cba4614cf9ebc316bacac090c06f56.png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (4).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (4).png
new file mode 100644
index 00000000..6e453f54
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (4).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (5).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (5).png
new file mode 100644
index 00000000..49673dce
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (5).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (8).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (8).png
new file mode 100644
index 00000000..329f479a
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (8).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (9).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (9).png
new file mode 100644
index 00000000..cd095ea1
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_6675ee1f-49c5-5400-a6e1-96292a9307ec_status_repo=gewenyu99%2Freal-saas-app&intervalDays=14 (9).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_fa45dbe2-afe2-5314-880e-e4a03175a323_repo=gewenyu99%2Freal-saas-app.png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_fa45dbe2-afe2-5314-880e-e4a03175a323_repo=gewenyu99%2Freal-saas-app.png
new file mode 100644
index 00000000..e4476b9b
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_flaky-tests_test_fa45dbe2-afe2-5314-880e-e4a03175a323_repo=gewenyu99%2Freal-saas-app.png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_totally-real-saas_settings_webhooks (3).png b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_settings_webhooks (3).png
new file mode 100644
index 00000000..bdc84b47
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_totally-real-saas_settings_webhooks (3).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (2).png b/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (2).png
new file mode 100644
index 00000000..0e2ace22
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (2).png differ
diff --git a/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (3).png b/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (3).png
new file mode 100644
index 00000000..2f234b57
Binary files /dev/null and b/.gitbook/assets/app.trunk-staging.io_trunk-staging-org_settings_webhooks (3).png differ
diff --git a/.gitbook/assets/autopep8.gif b/.gitbook/assets/autopep8.gif
new file mode 100644
index 00000000..561209d6
Binary files /dev/null and b/.gitbook/assets/autopep8.gif differ
diff --git a/.gitbook/assets/azure.png b/.gitbook/assets/azure.png
new file mode 100644
index 00000000..e25fd26a
Binary files /dev/null and b/.gitbook/assets/azure.png differ
diff --git a/.gitbook/assets/bandit.gif b/.gitbook/assets/bandit.gif
new file mode 100644
index 00000000..7d653b90
Binary files /dev/null and b/.gitbook/assets/bandit.gif differ
diff --git a/.gitbook/assets/batching-settings.png b/.gitbook/assets/batching-settings.png
new file mode 100644
index 00000000..d331bda3
Binary files /dev/null and b/.gitbook/assets/batching-settings.png differ
diff --git a/.gitbook/assets/bazel-dark.png b/.gitbook/assets/bazel-dark.png
new file mode 100644
index 00000000..3580ba2c
Binary files /dev/null and b/.gitbook/assets/bazel-dark.png differ
diff --git a/.gitbook/assets/bazel.png b/.gitbook/assets/bazel.png
new file mode 100644
index 00000000..06fdfe77
Binary files /dev/null and b/.gitbook/assets/bazel.png differ
diff --git a/.gitbook/assets/behave.png b/.gitbook/assets/behave.png
new file mode 100644
index 00000000..4fa6209d
Binary files /dev/null and b/.gitbook/assets/behave.png differ
diff --git a/.gitbook/assets/bitbucket.png b/.gitbook/assets/bitbucket.png
new file mode 100644
index 00000000..f7bb3441
Binary files /dev/null and b/.gitbook/assets/bitbucket.png differ
diff --git a/.gitbook/assets/black.gif b/.gitbook/assets/black.gif
new file mode 100644
index 00000000..af7388f5
Binary files /dev/null and b/.gitbook/assets/black.gif differ
diff --git a/.gitbook/assets/buildifier.gif b/.gitbook/assets/buildifier.gif
new file mode 100644
index 00000000..525e94d4
Binary files /dev/null and b/.gitbook/assets/buildifier.gif differ
diff --git a/.gitbook/assets/buildkite.png b/.gitbook/assets/buildkite.png
new file mode 100644
index 00000000..13bce185
Binary files /dev/null and b/.gitbook/assets/buildkite.png differ
diff --git a/.gitbook/assets/cargo-next.png b/.gitbook/assets/cargo-next.png
new file mode 100644
index 00000000..66ce30da
Binary files /dev/null and b/.gitbook/assets/cargo-next.png differ
diff --git a/.gitbook/assets/cargo-nextest-logo.png b/.gitbook/assets/cargo-nextest-logo.png
new file mode 100644
index 00000000..7a0c2a41
Binary files /dev/null and b/.gitbook/assets/cargo-nextest-logo.png differ
diff --git a/.gitbook/assets/check.png b/.gitbook/assets/check.png
new file mode 100644
index 00000000..50ab1bea
Binary files /dev/null and b/.gitbook/assets/check.png differ
diff --git a/.gitbook/assets/checkov.gif b/.gitbook/assets/checkov.gif
new file mode 100644
index 00000000..747779df
Binary files /dev/null and b/.gitbook/assets/checkov.gif differ
diff --git a/.gitbook/assets/ci-analytics-dashboard b/.gitbook/assets/ci-analytics-dashboard
new file mode 100644
index 00000000..7465fb3e
Binary files /dev/null and b/.gitbook/assets/ci-analytics-dashboard differ
diff --git a/.gitbook/assets/ci-analytics-workflow-hover-details b/.gitbook/assets/ci-analytics-workflow-hover-details
new file mode 100644
index 00000000..ca338fbb
Binary files /dev/null and b/.gitbook/assets/ci-analytics-workflow-hover-details differ
diff --git a/.gitbook/assets/ci-analytics.svg b/.gitbook/assets/ci-analytics.svg
new file mode 100644
index 00000000..b927192a
--- /dev/null
+++ b/.gitbook/assets/ci-analytics.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F2D664" d="M0 0h404v251H0z"/><path fill="#F2D664" d="M155 80h92v92h-92z"/><path fill="#261F00" fill-rule="evenodd" d="M155 97.692C155 87.922 163.182 80 173.274 80h55.452C238.818 80 247 87.921 247 97.692v30.536c0 1.954-1.636 3.539-3.655 3.539h-20.547l-9.283 16.072c-.682 1.181-2 1.882-3.396 1.806-1.395-.077-2.624-.917-3.164-2.165l-12.594-29.072-6.669 11.547c-.646 1.119-1.866 1.812-3.19 1.812H162.31v22.541c0 5.862 4.909 10.615 10.964 10.615h55.452c6.055 0 10.964-4.753 10.964-10.615v-1.011c0-1.955 1.637-3.539 3.655-3.539 2.019 0 3.655 1.584 3.655 3.539v1.011c0 9.771-8.182 17.692-18.274 17.692h-55.452C163.182 172 155 164.079 155 154.308v-26.08c0-1.954 1.636-3.538 3.655-3.538h23.703l9.283-16.073c.682-1.181 2.001-1.882 3.396-1.805 1.396.076 2.624.916 3.165 2.164l12.593 29.072 6.669-11.547c.646-1.118 1.867-1.811 3.19-1.811h19.036V97.692c0-5.862-4.909-10.615-10.964-10.615h-55.452c-6.055 0-10.964 4.753-10.964 10.615v4.044c0 1.955-1.637 3.539-3.655 3.539-2.019 0-3.655-1.584-3.655-3.539v-4.044Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/ci-debugger.svg b/.gitbook/assets/ci-debugger.svg
new file mode 100644
index 00000000..0ffbab4f
--- /dev/null
+++ b/.gitbook/assets/ci-debugger.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="404" height="251" fill="none" viewBox="0 0 404 251"><path fill="#F0894F" d="M0 0h404v251H0z"/><path fill="#572900" fill-rule="evenodd" d="M202.014 155.912c13.605 0 24.634-11.029 24.634-24.634 0-13.604-11.029-24.633-24.634-24.633s-24.634 11.029-24.634 24.633c0 13.605 11.029 24.634 24.634 24.634Zm0 6.134c16.993 0 30.767-13.775 30.767-30.768 0-16.992-13.774-30.767-30.767-30.767-16.992 0-30.767 13.775-30.767 30.767 0 16.993 13.775 30.768 30.767 30.768Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M225.485 144.493a3.068 3.068 0 0 1 4.337 0l10.256 10.256a3.068 3.068 0 0 1-4.337 4.337l-10.256-10.256a3.068 3.068 0 0 1 0-4.337Zm-46.941 0a3.068 3.068 0 0 0-4.337 0l-10.256 10.256a3.066 3.066 0 1 0 4.337 4.337l10.256-10.256a3.068 3.068 0 0 0 0-4.337Zm0-26.43a3.066 3.066 0 0 1-4.337 0l-10.256-10.256a3.066 3.066 0 1 1 4.337-4.336l10.256 10.255a3.068 3.068 0 0 1 0 4.337Zm46.941 0a3.066 3.066 0 0 0 4.337 0l10.256-10.256a3.067 3.067 0 0 0-4.337-4.336l-10.256 10.255a3.068 3.068 0 0 0 0 4.337Zm-23.471-14.284a3.067 3.067 0 0 1 3.067 3.066v49.067a3.067 3.067 0 1 1-6.133 0v-49.067a3.066 3.066 0 0 1 3.066-3.066Z" clip-rule="evenodd"/><path fill="#572900" fill-rule="evenodd" d="M215.575 107.361c0-7.49-6.071-13.561-13.561-13.561-7.489 0-13.561 6.071-13.561 13.561a3.067 3.067 0 1 1-6.133 0c0-10.877 8.817-19.695 19.694-19.695 10.877 0 19.695 8.818 19.695 19.695a3.067 3.067 0 1 1-6.134 0Z" clip-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/circle-ci.png b/.gitbook/assets/circle-ci.png
new file mode 100644
index 00000000..29c2601d
Binary files /dev/null and b/.gitbook/assets/circle-ci.png differ
diff --git a/.gitbook/assets/circuitPurple (6).png b/.gitbook/assets/circuitPurple (6).png
new file mode 100644
index 00000000..1d64e114
Binary files /dev/null and b/.gitbook/assets/circuitPurple (6).png differ
diff --git a/.gitbook/assets/codespell.gif b/.gitbook/assets/codespell.gif
new file mode 100644
index 00000000..3544e1d0
Binary files /dev/null and b/.gitbook/assets/codespell.gif differ
diff --git a/.gitbook/assets/connect-jira.png b/.gitbook/assets/connect-jira.png
new file mode 100644
index 00000000..da24f4ea
Binary files /dev/null and b/.gitbook/assets/connect-jira.png differ
diff --git a/.gitbook/assets/create-ticket-button-dark.png b/.gitbook/assets/create-ticket-button-dark.png
new file mode 100644
index 00000000..ed8cc1cf
Binary files /dev/null and b/.gitbook/assets/create-ticket-button-dark.png differ
diff --git a/.gitbook/assets/create-ticket-button-details-page-dark.png b/.gitbook/assets/create-ticket-button-details-page-dark.png
new file mode 100644
index 00000000..4eb691ae
Binary files /dev/null and b/.gitbook/assets/create-ticket-button-details-page-dark.png differ
diff --git a/.gitbook/assets/create-ticket-button-details-page-light.png b/.gitbook/assets/create-ticket-button-details-page-light.png
new file mode 100644
index 00000000..b1d159a6
Binary files /dev/null and b/.gitbook/assets/create-ticket-button-details-page-light.png differ
diff --git a/.gitbook/assets/create-ticket-button-light.png b/.gitbook/assets/create-ticket-button-light.png
new file mode 100644
index 00000000..7eb96ca6
Binary files /dev/null and b/.gitbook/assets/create-ticket-button-light.png differ
diff --git a/.gitbook/assets/create-ticket-button.png b/.gitbook/assets/create-ticket-button.png
new file mode 100644
index 00000000..79ee50ab
Binary files /dev/null and b/.gitbook/assets/create-ticket-button.png differ
diff --git a/.gitbook/assets/create-ticket-kebab.png b/.gitbook/assets/create-ticket-kebab.png
new file mode 100644
index 00000000..5f0d7f6f
Binary files /dev/null and b/.gitbook/assets/create-ticket-kebab.png differ
diff --git a/.gitbook/assets/cspell.gif b/.gitbook/assets/cspell.gif
new file mode 100644
index 00000000..cd13b454
Binary files /dev/null and b/.gitbook/assets/cspell.gif differ
diff --git a/.gitbook/assets/cubesGreen (3).png b/.gitbook/assets/cubesGreen (3).png
new file mode 100644
index 00000000..695ebf83
Binary files /dev/null and b/.gitbook/assets/cubesGreen (3).png differ
diff --git a/.gitbook/assets/cucumber-logo.png b/.gitbook/assets/cucumber-logo.png
new file mode 100644
index 00000000..aa7e96e9
Binary files /dev/null and b/.gitbook/assets/cucumber-logo.png differ
diff --git a/.gitbook/assets/cucumber.png b/.gitbook/assets/cucumber.png
new file mode 100644
index 00000000..2952c63f
Binary files /dev/null and b/.gitbook/assets/cucumber.png differ
diff --git a/.gitbook/assets/cylinder_yellow_medium (1).png b/.gitbook/assets/cylinder_yellow_medium (1).png
index d07126b7..527f553a 100644
Binary files a/.gitbook/assets/cylinder_yellow_medium (1).png and b/.gitbook/assets/cylinder_yellow_medium (1).png differ
diff --git a/.gitbook/assets/cylinder_yellow_medium.png b/.gitbook/assets/cylinder_yellow_medium.png
index d07126b7..527f553a 100644
Binary files a/.gitbook/assets/cylinder_yellow_medium.png and b/.gitbook/assets/cylinder_yellow_medium.png differ
diff --git a/.gitbook/assets/cylinder_yellow_medium.svg b/.gitbook/assets/cylinder_yellow_medium.svg
index 2f144a5f..10652789 100644
--- a/.gitbook/assets/cylinder_yellow_medium.svg
+++ b/.gitbook/assets/cylinder_yellow_medium.svg
@@ -1,2691 +1 @@
-<svg width="4349" height="1768" viewBox="0 0 4349 1768" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="4348.5" height="1767.55" fill="#0C0E13"/>
-<path d="M73.0842 44.6397L56.0297 64.8541L30.464 58.9066L46.2831 39.1058L73.0842 44.6397Z" fill="#F2D664"/>
-<path d="M73.0842 44.6397L56.0297 64.8541L30.464 58.9066M73.0842 44.6397L46.2831 39.1058L30.464 58.9066M73.0842 44.6397L48.341 57.4121L30.464 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M48.958 57.2063L30.4632 58.9075L56.029 64.8549L73.0835 44.6406L48.958 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M56.3384 64.7507L48.9585 57.2054L46.283 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M71.44 151.05L54.5637 167.836L32.1086 160.498L47.8449 143.986L71.44 151.05Z" fill="#F2D664"/>
-<path d="M71.44 151.05L54.5637 167.836L32.1086 160.498M71.44 151.05L47.8449 143.986L32.1086 160.498M71.44 151.05L48.254 160.56L32.1086 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M48.8234 160.424L32.1081 160.498L54.5632 167.836L71.4395 151.05L48.8234 160.424Z" fill="#BE9A07" stroke="#BE9A07" stroke-width="1.5"/>
-<path d="M54.8483 167.767L48.8235 160.423L47.8444 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M69.7763 257.081L53.3288 270.807L33.7716 262.466L49.1756 248.896L69.7763 257.081Z" fill="#F2D664"/>
-<path d="M69.7763 257.081L53.3288 270.807L33.7716 262.466M69.7763 257.081L49.1756 248.896L33.7716 262.466M69.7763 257.081L48.2423 263.789L33.7716 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M48.7637 263.711L33.7712 262.467L53.3283 270.807L69.7759 257.081L48.7637 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M53.5892 270.768L48.7636 263.711L49.1751 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M68.126 362.772L52.3029 373.788L35.4227 364.776L50.2979 353.818L68.126 362.772Z" fill="#F2D664"/>
-<path d="M68.126 362.772L52.3029 373.788L35.4227 364.776M68.126 362.772L50.2979 353.818L35.4227 364.776M68.126 362.772L48.293 367.097L35.4227 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M48.7664 367.068L35.4221 364.776L52.3024 373.788L68.1255 362.771L48.7664 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M52.5397 373.773L48.7667 367.068L50.2977 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M66.5131 468.157L51.4623 476.793L37.0348 467.389L51.2311 458.731L66.5131 468.157Z" fill="#F2D664"/>
-<path d="M66.5131 468.157L51.4623 476.793L37.0348 467.389M66.5131 468.157L51.2311 458.731L37.0348 467.389M66.5131 468.157L48.392 470.48L37.0348 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M48.8183 470.491L37.0339 467.39L51.4615 476.793L66.5122 468.158L48.8183 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M51.6755 476.799L48.8188 470.491L51.2307 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M64.9583 573.274L50.7867 579.836L38.589 570.274L51.9962 563.625L64.9583 573.274Z" fill="#F2D664"/>
-<path d="M64.9583 573.274L50.7867 579.836L38.589 570.274M64.9583 573.274L51.9962 563.625L38.589 570.274M64.9583 573.274L48.5292 573.935L38.589 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M48.9111 573.979L38.5888 570.274L50.7865 579.836L64.958 573.274L48.9111 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M50.978 579.858L48.9115 573.978L51.9964 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M63.4773 678.153L50.2567 682.925L40.0706 673.394L52.6127 668.485L63.4773 678.153Z" fill="#F2D664"/>
-<path d="M63.4773 678.153L50.2567 682.925L40.0706 673.394M63.4773 678.153L52.6127 668.485L40.0706 673.394M63.4773 678.153L48.6955 677.457L40.0706 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M49.0345 677.526L40.0704 673.394L50.2565 682.925L63.4771 678.153L49.0345 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M50.4262 682.959L49.0346 677.526L52.6126 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M62.0801 782.825L49.8526 786.066L41.4676 776.722L53.0977 773.304L62.0801 782.825Z" fill="#F2D664"/>
-<path d="M62.0801 782.825L49.8526 786.066L41.4676 776.722M62.0801 782.825L53.0977 773.304L41.4676 776.722M62.0801 782.825L48.8818 781.041L41.4676 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M49.18 781.13L41.4671 776.722L49.8521 786.066L62.0796 782.825L49.18 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M50.002 786.11L49.1806 781.13L53.0977 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M60.7747 887.318L49.5576 889.265L42.7728 880.229L53.4681 878.077L60.7747 887.318Z" fill="#F2D664"/>
-<path d="M60.7747 887.318L49.5576 889.265L42.7728 880.229M60.7747 887.318L53.4681 878.077L42.7728 880.229M60.7747 887.318L49.0814 884.683L42.7728 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M49.3419 884.786L42.7725 880.229L49.5573 889.265L60.7744 887.318L49.3419 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.6881 889.316L49.3423 884.786L53.4682 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M59.566 991.657L49.3563 992.523L43.9819 983.89L53.7399 982.799L59.566 991.657Z" fill="#F2D664"/>
-<path d="M59.566 991.657L49.3563 992.523L43.9819 983.89M59.566 991.657L53.7399 982.799L43.9819 983.89M59.566 991.657L49.2887 988.378L43.9819 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M49.514 988.49L43.9813 983.89L49.3557 992.523L59.5654 991.657L49.514 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.4689 992.579L49.5142 988.49L53.7396 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M58.4553 1095.87L49.2336 1095.84L45.0922 1087.68L53.9266 1087.47L58.4553 1095.87Z" fill="#F2D664"/>
-<path d="M58.4553 1095.87L49.2336 1095.84L45.0922 1087.68M58.4553 1095.87L53.9266 1087.47L45.0922 1087.68M58.4553 1095.87L49.4981 1092.12L45.0922 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M49.6916 1092.24L45.092 1087.68L49.2334 1095.84L58.4551 1095.87L49.6916 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.3305 1095.9L49.6918 1092.24L53.9266 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M57.4433 1199.97L49.1773 1199.22L46.1044 1191.58L54.0417 1192.08L57.4433 1199.97Z" fill="#FCEDB1"/>
-<path d="M57.4433 1199.97L49.1773 1199.22L46.1044 1191.58M57.4433 1199.97L54.0417 1192.08L46.1044 1191.58M57.4433 1199.97L49.7064 1195.91L46.1044 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M49.8703 1196.03L46.104 1191.58L49.1769 1199.22L57.4429 1199.97L49.8703 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.2596 1199.28L49.8708 1196.03L54.0419 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M56.5281 1303.98L49.1755 1302.66L47.0199 1295.57L54.0969 1296.64L56.5281 1303.98Z" fill="#F2D664"/>
-<path d="M56.5281 1303.98L49.1755 1302.66L47.0199 1295.57M56.5281 1303.98L54.0969 1296.64L47.0199 1295.57M56.5281 1303.98L49.9099 1299.73L47.0199 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M50.0475 1299.85L47.0197 1295.57L49.1752 1302.66L56.5278 1303.98L50.0475 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.2441 1302.72L50.0475 1299.85L54.0966 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M55.7066 1407.92L49.2177 1406.16L47.8415 1399.63L54.1024 1401.15L55.7066 1407.92Z" fill="#F2D664"/>
-<path d="M55.7066 1407.92L49.2177 1406.16L47.8415 1399.63M55.7066 1407.92L54.1024 1401.15L47.8415 1399.63M55.7066 1407.92L50.1062 1403.59L47.8415 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M50.2201 1403.71L47.8414 1399.63L49.2177 1406.16L55.7065 1407.92L50.2201 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.2745 1406.22L50.22 1403.71L54.1022 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M54.9746 1511.8L49.2947 1509.71L48.5729 1503.75L54.0672 1505.6L54.9746 1511.8Z" fill="#F2D664"/>
-<path d="M54.9746 1511.8L49.2947 1509.71L48.5729 1503.75M54.9746 1511.8L54.0672 1505.6L48.5729 1503.75M54.9746 1511.8L50.2929 1507.48L48.5729 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M50.3857 1507.59L48.5729 1503.75L49.2947 1509.71L54.9746 1511.8L50.3857 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M49.3412 1509.77L50.3858 1507.59L54.0674 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M56.1616 1610.3L52.6502 1614.47L47.3864 1613.24L50.6435 1609.17L56.1616 1610.3Z" fill="#F2D664"/>
-<path d="M56.1616 1610.3L52.6502 1614.47L47.3864 1613.24M56.1616 1610.3L50.6435 1609.17L47.3864 1613.24M56.1616 1610.3L51.0672 1612.93L47.3864 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M51.1939 1612.89L47.386 1613.24L52.6498 1614.47L56.1611 1610.31L51.1939 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M52.7138 1614.45L51.1943 1612.89L50.6434 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M176.632 44.6397L159.577 64.8541L134.011 58.9066L149.83 39.1058L176.632 44.6397Z" fill="#F2D664"/>
-<path d="M176.632 44.6397L159.577 64.8541L134.011 58.9066M176.632 44.6397L149.83 39.1058L134.011 58.9066M176.632 44.6397L151.888 57.4121L134.011 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M152.505 57.2063L134.011 58.9075L159.576 64.8549L176.631 44.6406L152.505 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M159.886 64.7507L152.506 57.2054L149.83 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M174.987 151.05L158.111 167.836L135.656 160.498L151.392 143.986L174.987 151.05Z" fill="#F2D664"/>
-<path d="M174.987 151.05L158.111 167.836L135.656 160.498M174.987 151.05L151.392 143.986L135.656 160.498M174.987 151.05L151.801 160.56L135.656 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M152.371 160.424L135.655 160.498L158.111 167.836L174.987 151.05L152.371 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M158.396 167.767L152.371 160.423L151.392 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M173.324 257.081L156.876 270.807L137.319 262.466L152.723 248.896L173.324 257.081Z" fill="#F2D664"/>
-<path d="M173.324 257.081L156.876 270.807L137.319 262.466M173.324 257.081L152.723 248.896L137.319 262.466M173.324 257.081L151.79 263.789L137.319 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M152.311 263.711L137.319 262.467L156.876 270.807L173.323 257.081L152.311 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M157.137 270.768L152.311 263.711L152.722 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M171.673 362.772L155.85 373.788L138.97 364.776L153.845 353.818L171.673 362.772Z" fill="#F2D664"/>
-<path d="M171.673 362.772L155.85 373.788L138.97 364.776M171.673 362.772L153.845 353.818L138.97 364.776M171.673 362.772L151.84 367.097L138.97 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M152.314 367.068L138.969 364.776L155.85 373.788L171.673 362.771L152.314 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M156.087 373.773L152.314 367.068L153.845 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M170.06 468.157L155.01 476.793L140.582 467.389L154.778 458.731L170.06 468.157Z" fill="#F2D664"/>
-<path d="M170.06 468.157L155.01 476.793L140.582 467.389M170.06 468.157L154.778 458.731L140.582 467.389M170.06 468.157L151.939 470.48L140.582 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M152.366 470.491L140.581 467.39L155.009 476.793L170.06 468.158L152.366 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M155.223 476.799L152.366 470.491L154.778 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M168.506 573.274L154.334 579.836L142.136 570.274L155.544 563.625L168.506 573.274Z" fill="#F2D664"/>
-<path d="M168.506 573.274L154.334 579.836L142.136 570.274M168.506 573.274L155.544 563.625L142.136 570.274M168.506 573.274L152.077 573.935L142.136 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M152.458 573.979L142.136 570.274L154.334 579.836L168.505 573.274L152.458 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M154.525 579.858L152.459 573.978L155.544 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M167.025 678.153L153.804 682.925L143.618 673.394L156.16 668.485L167.025 678.153Z" fill="#FCEDB1"/>
-<path d="M167.025 678.153L153.804 682.925L143.618 673.394M167.025 678.153L156.16 668.485L143.618 673.394M167.025 678.153L152.243 677.457L143.618 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M152.582 677.526L143.618 673.394L153.804 682.925L167.024 678.153L152.582 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M153.974 682.959L152.582 677.526L156.16 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M165.627 782.825L153.4 786.066L145.015 776.722L156.645 773.304L165.627 782.825Z" fill="#F2D664"/>
-<path d="M165.627 782.825L153.4 786.066L145.015 776.722M165.627 782.825L156.645 773.304L145.015 776.722M165.627 782.825L152.429 781.041L145.015 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M152.727 781.13L145.014 776.722L153.399 786.066L165.627 782.825L152.727 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M153.549 786.11L152.728 781.13L156.645 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M164.322 887.318L153.105 889.265L146.32 880.229L157.015 878.077L164.322 887.318Z" fill="#F2D664"/>
-<path d="M164.322 887.318L153.105 889.265L146.32 880.229M164.322 887.318L157.015 878.077L146.32 880.229M164.322 887.318L152.629 884.683L146.32 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M152.889 884.786L146.32 880.229L153.105 889.265L164.322 887.318L152.889 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M153.235 889.316L152.89 884.786L157.016 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M163.113 991.657L152.904 992.523L147.529 983.89L157.287 982.799L163.113 991.657Z" fill="#F2D664"/>
-<path d="M163.113 991.657L152.904 992.523L147.529 983.89M163.113 991.657L157.287 982.799L147.529 983.89M163.113 991.657L152.836 988.378L147.529 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M153.061 988.49L147.529 983.89L152.903 992.523L163.113 991.657L153.061 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M153.016 992.579L153.062 988.49L157.287 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M162.003 1095.87L152.781 1095.84L148.64 1087.68L157.474 1087.47L162.003 1095.87Z" fill="#F2D664"/>
-<path d="M162.003 1095.87L152.781 1095.84L148.64 1087.68M162.003 1095.87L157.474 1087.47L148.64 1087.68M162.003 1095.87L153.045 1092.12L148.64 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M153.239 1092.24L148.639 1087.68L152.781 1095.84L162.002 1095.87L153.239 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M152.878 1095.9L153.239 1092.24L157.474 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M160.991 1199.97L152.725 1199.22L149.652 1191.58L157.589 1192.08L160.991 1199.97Z" fill="#F2D664"/>
-<path d="M160.991 1199.97L152.725 1199.22L149.652 1191.58M160.991 1199.97L157.589 1192.08L149.652 1191.58M160.991 1199.97L153.254 1195.91L149.652 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M153.418 1196.03L149.651 1191.58L152.724 1199.22L160.99 1199.97L153.418 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M152.807 1199.28L153.418 1196.03L157.589 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M160.075 1303.98L152.723 1302.66L150.567 1295.57L157.644 1296.64L160.075 1303.98Z" fill="#F2D664"/>
-<path d="M160.075 1303.98L152.723 1302.66L150.567 1295.57M160.075 1303.98L157.644 1296.64L150.567 1295.57M160.075 1303.98L153.457 1299.73L150.567 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M153.595 1299.85L150.567 1295.57L152.723 1302.66L160.075 1303.98L153.595 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M152.791 1302.72L153.595 1299.85L157.644 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M159.254 1407.92L152.765 1406.16L151.389 1399.63L157.65 1401.15L159.254 1407.92Z" fill="#F2D664"/>
-<path d="M159.254 1407.92L152.765 1406.16L151.389 1399.63M159.254 1407.92L157.65 1401.15L151.389 1399.63M159.254 1407.92L153.654 1403.59L151.389 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M153.767 1403.71L151.389 1399.63L152.765 1406.16L159.254 1407.92L153.767 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M152.822 1406.22L153.767 1403.71L157.65 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M158.522 1511.8L152.842 1509.71L152.12 1503.75L157.615 1505.6L158.522 1511.8Z" fill="#F2D664"/>
-<path d="M158.522 1511.8L152.842 1509.71L152.12 1503.75M158.522 1511.8L157.615 1505.6L152.12 1503.75M158.522 1511.8L153.84 1507.48L152.12 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M153.933 1507.59L152.12 1503.75L152.842 1509.71L158.522 1511.8L153.933 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M152.889 1509.77L153.933 1507.59L157.615 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M159.709 1610.3L156.198 1614.47L150.934 1613.24L154.191 1609.17L159.709 1610.3Z" fill="#F2D664"/>
-<path d="M159.709 1610.3L156.198 1614.47L150.934 1613.24M159.709 1610.3L154.191 1609.17L150.934 1613.24M159.709 1610.3L154.615 1612.93L150.934 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M154.741 1612.89L150.933 1613.24L156.197 1614.47L159.708 1610.31L154.741 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M156.261 1614.45L154.742 1612.89L154.191 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M280.179 44.6397L263.124 64.8541L237.559 58.9066L253.378 39.1058L280.179 44.6397Z" fill="#F2D664"/>
-<path d="M280.179 44.6397L263.124 64.8541L237.559 58.9066M280.179 44.6397L253.378 39.1058L237.559 58.9066M280.179 44.6397L255.436 57.4121L237.559 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M256.053 57.2063L237.558 58.9075L263.124 64.8549L280.178 44.6406L256.053 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M263.433 64.7507L256.053 57.2054L253.378 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M278.535 151.05L261.658 167.836L239.203 160.498L254.94 143.986L278.535 151.05Z" fill="#F2D664"/>
-<path d="M278.535 151.05L261.658 167.836L239.203 160.498M278.535 151.05L254.94 143.986L239.203 160.498M278.535 151.05L255.349 160.56L239.203 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M255.918 160.424L239.203 160.498L261.658 167.836L278.534 151.05L255.918 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M261.943 167.767L255.918 160.423L254.939 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M276.871 257.081L260.423 270.807L240.866 262.466L256.27 248.896L276.871 257.081Z" fill="#F2D664"/>
-<path d="M276.871 257.081L260.423 270.807L240.866 262.466M276.871 257.081L256.27 248.896L240.866 262.466M276.871 257.081L255.337 263.789L240.866 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M255.858 263.711L240.866 262.467L260.423 270.807L276.871 257.081L255.858 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M260.684 270.768L255.858 263.711L256.27 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M275.221 362.772L259.398 373.788L242.517 364.776L257.393 353.818L275.221 362.772Z" fill="#F2D664"/>
-<path d="M275.221 362.772L259.398 373.788L242.517 364.776M275.221 362.772L257.393 353.818L242.517 364.776M275.221 362.772L255.388 367.097L242.517 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M255.861 367.068L242.517 364.776L259.397 373.788L275.22 362.771L255.861 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M259.634 373.773L255.861 367.068L257.392 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M273.608 468.157L258.557 476.793L244.13 467.389L258.326 458.731L273.608 468.157Z" fill="#F2D664"/>
-<path d="M273.608 468.157L258.557 476.793L244.13 467.389M273.608 468.157L258.326 458.731L244.13 467.389M273.608 468.157L255.487 470.48L244.13 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M255.913 470.491L244.129 467.39L258.556 476.793L273.607 468.158L255.913 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M258.77 476.799L255.914 470.491L258.325 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M272.053 573.274L257.881 579.836L245.684 570.274L259.091 563.625L272.053 573.274Z" fill="#F2D664"/>
-<path d="M272.053 573.274L257.881 579.836L245.684 570.274M272.053 573.274L259.091 563.625L245.684 570.274M272.053 573.274L255.624 573.935L245.684 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M256.006 573.979L245.683 570.274L257.881 579.836L272.053 573.274L256.006 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M258.073 579.858L256.006 573.978L259.091 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M270.572 678.153L257.351 682.925L247.165 673.394L259.707 668.485L270.572 678.153Z" fill="#FCEDB1"/>
-<path d="M270.572 678.153L257.351 682.925L247.165 673.394M270.572 678.153L259.707 668.485L247.165 673.394M270.572 678.153L255.79 677.457L247.165 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M256.129 677.526L247.165 673.394L257.351 682.925L270.572 678.153L256.129 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M257.521 682.959L256.129 677.526L259.707 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M269.175 782.825L256.947 786.066L248.562 776.722L260.192 773.304L269.175 782.825Z" fill="#F2D664"/>
-<path d="M269.175 782.825L256.947 786.066L248.562 776.722M269.175 782.825L260.192 773.304L248.562 776.722M269.175 782.825L255.977 781.041L248.562 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M256.275 781.13L248.562 776.722L256.947 786.066L269.174 782.825L256.275 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M257.097 786.11L256.275 781.13L260.192 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M267.869 887.318L256.652 889.265L249.867 880.229L260.563 878.077L267.869 887.318Z" fill="#F2D664"/>
-<path d="M267.869 887.318L256.652 889.265L249.867 880.229M267.869 887.318L260.563 878.077L249.867 880.229M267.869 887.318L256.176 884.683L249.867 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M256.437 884.786L249.867 880.229L256.652 889.265L267.869 887.318L256.437 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.783 889.316L256.437 884.786L260.563 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M266.661 991.657L256.451 992.523L251.077 983.89L260.835 982.799L266.661 991.657Z" fill="#F2D664"/>
-<path d="M266.661 991.657L256.451 992.523L251.077 983.89M266.661 991.657L260.835 982.799L251.077 983.89M266.661 991.657L256.383 988.378L251.077 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M256.609 988.49L251.076 983.89L256.45 992.523L266.66 991.657L256.609 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.564 992.579L256.609 988.49L260.834 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M265.55 1095.87L256.328 1095.84L252.187 1087.68L261.021 1087.47L265.55 1095.87Z" fill="#F2D664"/>
-<path d="M265.55 1095.87L256.328 1095.84L252.187 1087.68M265.55 1095.87L261.021 1087.47L252.187 1087.68M265.55 1095.87L256.593 1092.12L252.187 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M256.786 1092.24L252.187 1087.68L256.328 1095.84L265.55 1095.87L256.786 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.425 1095.9L256.787 1092.24L261.021 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M264.538 1199.97L256.272 1199.22L253.199 1191.58L261.136 1192.08L264.538 1199.97Z" fill="#F2D664"/>
-<path d="M264.538 1199.97L256.272 1199.22L253.199 1191.58M264.538 1199.97L261.136 1192.08L253.199 1191.58M264.538 1199.97L256.801 1195.91L253.199 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M256.965 1196.03L253.199 1191.58L256.272 1199.22L264.538 1199.97L256.965 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.354 1199.28L256.966 1196.03L261.137 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M263.623 1303.98L256.27 1302.66L254.115 1295.57L261.192 1296.64L263.623 1303.98Z" fill="#F2D664"/>
-<path d="M263.623 1303.98L256.27 1302.66L254.115 1295.57M263.623 1303.98L261.192 1296.64L254.115 1295.57M263.623 1303.98L257.005 1299.73L254.115 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M257.142 1299.85L254.114 1295.57L256.27 1302.66L263.623 1303.98L257.142 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.339 1302.72L257.142 1299.85L261.191 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M262.801 1407.92L256.312 1406.16L254.936 1399.63L261.197 1401.15L262.801 1407.92Z" fill="#F2D664"/>
-<path d="M262.801 1407.92L256.312 1406.16L254.936 1399.63M262.801 1407.92L261.197 1401.15L254.936 1399.63M262.801 1407.92L257.201 1403.59L254.936 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M257.315 1403.71L254.936 1399.63L256.312 1406.16L262.801 1407.92L257.315 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.369 1406.22L257.315 1403.71L261.197 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M262.069 1511.8L256.389 1509.71L255.668 1503.75L261.162 1505.6L262.069 1511.8Z" fill="#F2D664"/>
-<path d="M262.069 1511.8L256.389 1509.71L255.668 1503.75M262.069 1511.8L261.162 1505.6L255.668 1503.75M262.069 1511.8L257.388 1507.48L255.668 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M257.48 1507.59L255.668 1503.75L256.389 1509.71L262.069 1511.8L257.48 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M256.436 1509.77L257.481 1507.59L261.162 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M263.256 1610.3L259.745 1614.47L254.481 1613.24L257.738 1609.17L263.256 1610.3Z" fill="#F2D664"/>
-<path d="M263.256 1610.3L259.745 1614.47L254.481 1613.24M263.256 1610.3L257.738 1609.17L254.481 1613.24M263.256 1610.3L258.162 1612.93L254.481 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M258.289 1612.89L254.481 1613.24L259.744 1614.47L263.256 1610.31L258.289 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M259.808 1614.45L258.289 1612.89L257.738 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M383.726 44.6397L366.672 64.8541L341.106 58.9066L356.925 39.1058L383.726 44.6397Z" fill="#F2D664"/>
-<path d="M383.726 44.6397L366.672 64.8541L341.106 58.9066M383.726 44.6397L356.925 39.1058L341.106 58.9066M383.726 44.6397L358.983 57.4121L341.106 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M359.6 57.2063L341.105 58.9075L366.671 64.8549L383.726 44.6406L359.6 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M366.98 64.7507L359.601 57.2054L356.925 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M382.082 151.05L365.206 167.836L342.751 160.498L358.487 143.986L382.082 151.05Z" fill="#F2D664"/>
-<path d="M382.082 151.05L365.206 167.836L342.751 160.498M382.082 151.05L358.487 143.986L342.751 160.498M382.082 151.05L358.896 160.56L342.751 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M359.466 160.424L342.75 160.498L365.205 167.836L382.082 151.05L359.466 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M365.49 167.767L359.466 160.423L358.486 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M380.418 257.081L363.971 270.807L344.414 262.466L359.818 248.896L380.418 257.081Z" fill="#F2D664"/>
-<path d="M380.418 257.081L363.971 270.807L344.414 262.466M380.418 257.081L359.818 248.896L344.414 262.466M380.418 257.081L358.884 263.789L344.414 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M359.406 263.711L344.413 262.467L363.97 270.807L380.418 257.081L359.406 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M364.231 270.768L359.406 263.711L359.817 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M378.768 362.772L362.945 373.788L346.065 364.776L360.94 353.818L378.768 362.772Z" fill="#F2D664"/>
-<path d="M378.768 362.772L362.945 373.788L346.065 364.776M378.768 362.772L360.94 353.818L346.065 364.776M378.768 362.772L358.935 367.097L346.065 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M359.408 367.068L346.064 364.776L362.944 373.788L378.768 362.771L359.408 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M363.182 373.773L359.409 367.068L360.94 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M377.155 468.157L362.104 476.793L347.677 467.389L361.873 458.731L377.155 468.157Z" fill="#F2D664"/>
-<path d="M377.155 468.157L362.104 476.793L347.677 467.389M377.155 468.157L361.873 458.731L347.677 467.389M377.155 468.157L359.034 470.48L347.677 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M359.46 470.491L347.676 467.39L362.104 476.793L377.154 468.158L359.46 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M362.318 476.799L359.461 470.491L361.873 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M375.6 573.274L361.429 579.836L349.231 570.274L362.638 563.625L375.6 573.274Z" fill="#F2D664"/>
-<path d="M375.6 573.274L361.429 579.836L349.231 570.274M375.6 573.274L362.638 563.625L349.231 570.274M375.6 573.274L359.171 573.935L349.231 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M359.553 573.979L349.231 570.274L361.429 579.836L375.6 573.274L359.553 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M361.62 579.858L359.554 573.978L362.639 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M374.119 678.153L360.899 682.925L350.713 673.394L363.255 668.485L374.119 678.153Z" fill="#FCEDB1"/>
-<path d="M374.119 678.153L360.899 682.925L350.713 673.394M374.119 678.153L363.255 668.485L350.713 673.394M374.119 678.153L359.338 677.457L350.713 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M359.677 677.526L350.713 673.394L360.899 682.925L374.119 678.153L359.677 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M361.068 682.959L359.677 677.526L363.255 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M372.722 782.825L360.495 786.066L352.11 776.722L363.74 773.304L372.722 782.825Z" fill="#F2D664"/>
-<path d="M372.722 782.825L360.495 786.066L352.11 776.722M372.722 782.825L363.74 773.304L352.11 776.722M372.722 782.825L359.524 781.041L352.11 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M359.822 781.13L352.109 776.722L360.494 786.066L372.722 782.825L359.822 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M360.644 786.11L359.823 781.13L363.74 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M371.417 887.318L360.2 889.265L353.415 880.229L364.11 878.077L371.417 887.318Z" fill="#F2D664"/>
-<path d="M371.417 887.318L360.2 889.265L353.415 880.229M371.417 887.318L364.11 878.077L353.415 880.229M371.417 887.318L359.723 884.683L353.415 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M359.984 884.786L353.415 880.229L360.199 889.265L371.417 887.318L359.984 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M360.33 889.316L359.984 884.786L364.11 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M370.208 991.657L359.998 992.523L354.624 983.89L364.382 982.799L370.208 991.657Z" fill="#F2D664"/>
-<path d="M370.208 991.657L359.998 992.523L354.624 983.89M370.208 991.657L364.382 982.799L354.624 983.89M370.208 991.657L359.931 988.378L354.624 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M360.156 988.49L354.623 983.89L359.998 992.523L370.208 991.657L360.156 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M360.111 992.579L360.156 988.49L364.382 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M369.097 1095.87L359.876 1095.84L355.734 1087.68L364.569 1087.47L369.097 1095.87Z" fill="#F2D664"/>
-<path d="M369.097 1095.87L359.876 1095.84L355.734 1087.68M369.097 1095.87L364.569 1087.47L355.734 1087.68M369.097 1095.87L360.14 1092.12L355.734 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M360.334 1092.24L355.734 1087.68L359.875 1095.84L369.097 1095.87L360.334 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M359.973 1095.9L360.334 1092.24L364.569 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M368.085 1199.97L359.819 1199.22L356.747 1191.58L364.684 1192.08L368.085 1199.97Z" fill="#F2D664"/>
-<path d="M368.085 1199.97L359.819 1199.22L356.747 1191.58M368.085 1199.97L364.684 1192.08L356.747 1191.58M368.085 1199.97L360.348 1195.91L356.747 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M360.512 1196.03L356.746 1191.58L359.819 1199.22L368.085 1199.97L360.512 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M359.902 1199.28L360.513 1196.03L364.684 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M367.17 1303.98L359.818 1302.66L357.662 1295.57L364.739 1296.64L367.17 1303.98Z" fill="#F2D664"/>
-<path d="M367.17 1303.98L359.818 1302.66L357.662 1295.57M367.17 1303.98L364.739 1296.64L357.662 1295.57M367.17 1303.98L360.552 1299.73L357.662 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M360.69 1299.85L357.662 1295.57L359.817 1302.66L367.17 1303.98L360.69 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M359.886 1302.72L360.69 1299.85L364.739 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M366.349 1407.92L359.86 1406.16L358.484 1399.63L364.744 1401.15L366.349 1407.92Z" fill="#F2D664"/>
-<path d="M366.349 1407.92L359.86 1406.16L358.484 1399.63M366.349 1407.92L364.744 1401.15L358.484 1399.63M366.349 1407.92L360.748 1403.59L358.484 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M360.862 1403.71L358.484 1399.63L359.86 1406.16L366.349 1407.92L360.862 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M359.917 1406.22L360.862 1403.71L364.744 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M365.617 1511.8L359.937 1509.71L359.215 1503.75L364.709 1505.6L365.617 1511.8Z" fill="#F2D664"/>
-<path d="M365.617 1511.8L359.937 1509.71L359.215 1503.75M365.617 1511.8L364.709 1505.6L359.215 1503.75M365.617 1511.8L360.935 1507.48L359.215 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M361.028 1507.59L359.215 1503.75L359.937 1509.71L365.617 1511.8L361.028 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M359.983 1509.77L361.028 1507.59L364.709 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M366.804 1610.3L363.292 1614.47L358.029 1613.24L361.286 1609.17L366.804 1610.3Z" fill="#F2D664"/>
-<path d="M366.804 1610.3L363.292 1614.47L358.029 1613.24M366.804 1610.3L361.286 1609.17L358.029 1613.24M366.804 1610.3L361.709 1612.93L358.029 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M361.836 1612.89L358.028 1613.24L363.292 1614.47L366.803 1610.31L361.836 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M363.356 1614.45L361.836 1612.89L361.286 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M487.274 44.6397L470.219 64.8541L444.653 58.9066L460.473 39.1058L487.274 44.6397Z" fill="#F2D664"/>
-<path d="M487.274 44.6397L470.219 64.8541L444.653 58.9066M487.274 44.6397L460.473 39.1058L444.653 58.9066M487.274 44.6397L462.53 57.4121L444.653 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M463.147 57.2063L444.653 58.9075L470.218 64.8549L487.273 44.6406L463.147 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M470.528 64.7507L463.148 57.2054L460.472 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M485.629 151.05L468.753 167.836L446.298 160.498L462.034 143.986L485.629 151.05Z" fill="#F2D664"/>
-<path d="M485.629 151.05L468.753 167.836L446.298 160.498M485.629 151.05L462.034 143.986L446.298 160.498M485.629 151.05L462.443 160.56L446.298 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M463.013 160.424L446.298 160.498L468.753 167.836L485.629 151.05L463.013 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M469.038 167.767L463.013 160.423L462.034 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M483.966 257.081L467.518 270.807L447.961 262.466L463.365 248.896L483.966 257.081Z" fill="#F2D664"/>
-<path d="M483.966 257.081L467.518 270.807L447.961 262.466M483.966 257.081L463.365 248.896L447.961 262.466M483.966 257.081L462.432 263.789L447.961 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M462.953 263.711L447.961 262.467L467.518 270.807L483.965 257.081L462.953 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M467.779 270.768L462.953 263.711L463.365 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M482.315 362.772L466.492 373.788L449.612 364.776L464.487 353.818L482.315 362.772Z" fill="#F2D664"/>
-<path d="M482.315 362.772L466.492 373.788L449.612 364.776M482.315 362.772L464.487 353.818L449.612 364.776M482.315 362.772L462.482 367.097L449.612 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M462.956 367.068L449.612 364.776L466.492 373.788L482.315 362.771L462.956 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M466.729 373.773L462.956 367.068L464.487 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M480.703 468.157L465.652 476.793L451.224 467.389L465.421 458.731L480.703 468.157Z" fill="#F2D664"/>
-<path d="M480.703 468.157L465.652 476.793L451.224 467.389M480.703 468.157L465.421 458.731L451.224 467.389M480.703 468.157L462.581 470.48L451.224 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M463.008 470.491L451.223 467.39L465.651 476.793L480.702 468.158L463.008 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M465.865 476.799L463.008 470.491L465.42 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M479.148 573.274L464.976 579.836L452.778 570.274L466.186 563.625L479.148 573.274Z" fill="#F2D664"/>
-<path d="M479.148 573.274L464.976 579.836L452.778 570.274M479.148 573.274L466.186 563.625L452.778 570.274M479.148 573.274L462.719 573.935L452.778 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M463.101 573.979L452.778 570.274L464.976 579.836L479.147 573.274L463.101 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M465.167 579.858L463.101 573.978L466.186 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M477.667 678.153L464.446 682.925L454.26 673.394L466.802 668.485L477.667 678.153Z" fill="#FCEDB1"/>
-<path d="M477.667 678.153L464.446 682.925L454.26 673.394M477.667 678.153L466.802 668.485L454.26 673.394M477.667 678.153L462.885 677.457L454.26 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M463.224 677.526L454.26 673.394L464.446 682.925L477.667 678.153L463.224 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M464.616 682.959L463.224 677.526L466.802 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M476.27 782.825L464.042 786.066L455.657 776.722L467.287 773.304L476.27 782.825Z" fill="#F2D664"/>
-<path d="M476.27 782.825L464.042 786.066L455.657 776.722M476.27 782.825L467.287 773.304L455.657 776.722M476.27 782.825L463.071 781.041L455.657 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M463.369 781.13L455.657 776.722L464.042 786.066L476.269 782.825L463.369 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M464.191 786.11L463.37 781.13L467.287 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M474.964 887.318L463.747 889.265L456.962 880.229L467.658 878.077L474.964 887.318Z" fill="#F2D664"/>
-<path d="M474.964 887.318L463.747 889.265L456.962 880.229M474.964 887.318L467.658 878.077L456.962 880.229M474.964 887.318L463.271 884.683L456.962 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M463.531 884.786L456.962 880.229L463.747 889.265L474.964 887.318L463.531 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.878 889.316L463.532 884.786L467.658 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M473.755 991.657L463.546 992.523L458.171 983.89L467.929 982.799L473.755 991.657Z" fill="#F2D664"/>
-<path d="M473.755 991.657L463.546 992.523L458.171 983.89M473.755 991.657L467.929 982.799L458.171 983.89M473.755 991.657L463.478 988.378L458.171 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M463.703 988.49L458.171 983.89L463.545 992.523L473.755 991.657L463.703 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.658 992.579L463.704 988.49L467.929 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M472.645 1095.87L463.423 1095.84L459.282 1087.68L468.116 1087.47L472.645 1095.87Z" fill="#F2D664"/>
-<path d="M472.645 1095.87L463.423 1095.84L459.282 1087.68M472.645 1095.87L468.116 1087.47L459.282 1087.68M472.645 1095.87L463.688 1092.12L459.282 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M463.881 1092.24L459.281 1087.68L463.423 1095.84L472.645 1095.87L463.881 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.52 1095.9L463.881 1092.24L468.116 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M471.633 1199.97L463.367 1199.22L460.294 1191.58L468.231 1192.08L471.633 1199.97Z" fill="#F2D664"/>
-<path d="M471.633 1199.97L463.367 1199.22L460.294 1191.58M471.633 1199.97L468.231 1192.08L460.294 1191.58M471.633 1199.97L463.896 1195.91L460.294 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M464.06 1196.03L460.293 1191.58L463.366 1199.22L471.632 1199.97L464.06 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.449 1199.28L464.06 1196.03L468.231 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M470.718 1303.98L463.365 1302.66L461.209 1295.57L468.286 1296.64L470.718 1303.98Z" fill="#F2D664"/>
-<path d="M470.718 1303.98L463.365 1302.66L461.209 1295.57M470.718 1303.98L468.286 1296.64L461.209 1295.57M470.718 1303.98L464.099 1299.73L461.209 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M464.237 1299.85L461.209 1295.57L463.365 1302.66L470.717 1303.98L464.237 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.434 1302.72L464.237 1299.85L468.286 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M469.896 1407.92L463.407 1406.16L462.031 1399.63L468.292 1401.15L469.896 1407.92Z" fill="#F2D664"/>
-<path d="M469.896 1407.92L463.407 1406.16L462.031 1399.63M469.896 1407.92L468.292 1401.15L462.031 1399.63M469.896 1407.92L464.296 1403.59L462.031 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M464.41 1403.71L462.031 1399.63L463.407 1406.16L469.896 1407.92L464.41 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.464 1406.22L464.409 1403.71L468.292 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M469.164 1511.8L463.484 1509.71L462.762 1503.75L468.257 1505.6L469.164 1511.8Z" fill="#F2D664"/>
-<path d="M469.164 1511.8L463.484 1509.71L462.762 1503.75M469.164 1511.8L468.257 1505.6L462.762 1503.75M469.164 1511.8L464.482 1507.48L462.762 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M464.575 1507.59L462.762 1503.75L463.484 1509.71L469.164 1511.8L464.575 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M463.531 1509.77L464.575 1507.59L468.257 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M470.351 1610.3L466.84 1614.47L461.576 1613.24L464.833 1609.17L470.351 1610.3Z" fill="#F2D664"/>
-<path d="M470.351 1610.3L466.84 1614.47L461.576 1613.24M470.351 1610.3L464.833 1609.17L461.576 1613.24M470.351 1610.3L465.257 1612.93L461.576 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M465.383 1612.89L461.575 1613.24L466.839 1614.47L470.351 1610.31L465.383 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M466.903 1614.45L465.384 1612.89L464.833 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M590.821 44.6397L573.767 64.8541L548.201 58.9066L564.02 39.1058L590.821 44.6397Z" fill="#F2D664"/>
-<path d="M590.821 44.6397L573.767 64.8541L548.201 58.9066M590.821 44.6397L564.02 39.1058L548.201 58.9066M590.821 44.6397L566.078 57.4121L548.201 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M566.695 57.2063L548.2 58.9075L573.766 64.8549L590.82 44.6406L566.695 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M574.075 64.7507L566.695 57.2054L564.02 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M589.177 151.05L572.301 167.836L549.845 160.498L565.582 143.986L589.177 151.05Z" fill="#F2D664"/>
-<path d="M589.177 151.05L572.301 167.836L549.845 160.498M589.177 151.05L565.582 143.986L549.845 160.498M589.177 151.05L565.991 160.56L549.845 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M566.56 160.424L549.845 160.498L572.3 167.836L589.176 151.05L566.56 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M572.585 167.767L566.56 160.423L565.581 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M587.513 257.081L571.066 270.807L551.508 262.466L566.912 248.896L587.513 257.081Z" fill="#F2D664"/>
-<path d="M587.513 257.081L571.066 270.807L551.508 262.466M587.513 257.081L566.912 248.896L551.508 262.466M587.513 257.081L565.979 263.789L551.508 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M566.5 263.711L551.508 262.467L571.065 270.807L587.513 257.081L566.5 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M571.326 270.768L566.5 263.711L566.912 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M585.863 362.772L570.04 373.788L553.16 364.776L568.035 353.818L585.863 362.772Z" fill="#F2D664"/>
-<path d="M585.863 362.772L570.04 373.788L553.16 364.776M585.863 362.772L568.035 353.818L553.16 364.776M585.863 362.772L566.03 367.097L553.16 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M566.503 367.068L553.159 364.776L570.039 373.788L585.862 362.771L566.503 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M570.276 373.773L566.504 367.068L568.035 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M584.25 468.157L569.199 476.793L554.772 467.389L568.968 458.731L584.25 468.157Z" fill="#F2D664"/>
-<path d="M584.25 468.157L569.199 476.793L554.772 467.389M584.25 468.157L568.968 458.731L554.772 467.389M584.25 468.157L566.129 470.48L554.772 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M566.555 470.491L554.771 467.39L569.198 476.793L584.249 468.158L566.555 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M569.412 476.799L566.556 470.491L568.968 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M582.695 573.274L568.524 579.836L556.326 570.274L569.733 563.625L582.695 573.274Z" fill="#F2D664"/>
-<path d="M582.695 573.274L568.524 579.836L556.326 570.274M582.695 573.274L569.733 563.625L556.326 570.274M582.695 573.274L566.266 573.935L556.326 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M566.648 573.979L556.326 570.274L568.523 579.836L582.695 573.274L566.648 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M568.715 579.858L566.648 573.978L569.733 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M581.214 678.153L567.994 682.925L557.807 673.394L570.35 668.485L581.214 678.153Z" fill="#FCEDB1"/>
-<path d="M581.214 678.153L567.994 682.925L557.807 673.394M581.214 678.153L570.35 668.485L557.807 673.394M581.214 678.153L566.432 677.457L557.807 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M566.771 677.526L557.807 673.394L567.993 682.925L581.214 678.153L566.771 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M568.163 682.959L566.771 677.526L570.349 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M579.817 782.825L567.589 786.066L559.204 776.722L570.834 773.304L579.817 782.825Z" fill="#F2D664"/>
-<path d="M579.817 782.825L567.589 786.066L559.204 776.722M579.817 782.825L570.834 773.304L559.204 776.722M579.817 782.825L566.619 781.041L559.204 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M566.917 781.13L559.204 776.722L567.589 786.066L579.816 782.825L566.917 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.739 786.11L566.917 781.13L570.835 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M578.512 887.318L567.294 889.265L560.51 880.229L571.205 878.077L578.512 887.318Z" fill="#F2D664"/>
-<path d="M578.512 887.318L567.294 889.265L560.51 880.229M578.512 887.318L571.205 878.077L560.51 880.229M578.512 887.318L566.818 884.683L560.51 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M567.079 884.786L560.509 880.229L567.294 889.265L578.511 887.318L567.079 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.425 889.316L567.079 884.786L571.205 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M577.303 991.657L567.093 992.523L561.719 983.89L571.477 982.799L577.303 991.657Z" fill="#F2D664"/>
-<path d="M577.303 991.657L567.093 992.523L561.719 983.89M577.303 991.657L571.477 982.799L561.719 983.89M577.303 991.657L567.026 988.378L561.719 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M567.251 988.49L561.718 983.89L567.093 992.523L577.302 991.657L567.251 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.206 992.579L567.251 988.49L571.476 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M576.192 1095.87L566.97 1095.84L562.829 1087.68L571.663 1087.47L576.192 1095.87Z" fill="#F2D664"/>
-<path d="M576.192 1095.87L566.97 1095.84L562.829 1087.68M576.192 1095.87L571.663 1087.47L562.829 1087.68M576.192 1095.87L567.235 1092.12L562.829 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M567.428 1092.24L562.829 1087.68L566.97 1095.84L576.192 1095.87L567.428 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.067 1095.9L567.429 1092.24L571.663 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M575.18 1199.97L566.914 1199.22L563.841 1191.58L571.779 1192.08L575.18 1199.97Z" fill="#F2D664"/>
-<path d="M575.18 1199.97L566.914 1199.22L563.841 1191.58M575.18 1199.97L571.779 1192.08L563.841 1191.58M575.18 1199.97L567.443 1195.91L563.841 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M567.607 1196.03L563.841 1191.58L566.914 1199.22L575.18 1199.97L567.607 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M566.996 1199.28L567.608 1196.03L571.779 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M574.265 1303.98L566.912 1302.66L564.757 1295.57L571.834 1296.64L574.265 1303.98Z" fill="#F2D664"/>
-<path d="M574.265 1303.98L566.912 1302.66L564.757 1295.57M574.265 1303.98L571.834 1296.64L564.757 1295.57M574.265 1303.98L567.647 1299.73L564.757 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M567.784 1299.85L564.756 1295.57L566.912 1302.66L574.265 1303.98L567.784 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M566.981 1302.72L567.784 1299.85L571.833 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M573.443 1407.92L566.955 1406.16L565.578 1399.63L571.839 1401.15L573.443 1407.92Z" fill="#F2D664"/>
-<path d="M573.443 1407.92L566.955 1406.16L565.578 1399.63M573.443 1407.92L571.839 1401.15L565.578 1399.63M573.443 1407.92L567.843 1403.59L565.578 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M567.957 1403.71L565.578 1399.63L566.954 1406.16L573.443 1407.92L567.957 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.011 1406.22L567.957 1403.71L571.839 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M572.711 1511.8L567.031 1509.71L566.31 1503.75L571.804 1505.6L572.711 1511.8Z" fill="#F2D664"/>
-<path d="M572.711 1511.8L567.031 1509.71L566.31 1503.75M572.711 1511.8L571.804 1505.6L566.31 1503.75M572.711 1511.8L568.03 1507.48L566.31 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M568.123 1507.59L566.31 1503.75L567.032 1509.71L572.711 1511.8L568.123 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M567.078 1509.77L568.123 1507.59L571.804 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M573.898 1610.3L570.387 1614.47L565.123 1613.24L568.38 1609.17L573.898 1610.3Z" fill="#F2D664"/>
-<path d="M573.898 1610.3L570.387 1614.47L565.123 1613.24M573.898 1610.3L568.38 1609.17L565.123 1613.24M573.898 1610.3L568.804 1612.93L565.123 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M568.931 1612.89L565.123 1613.24L570.387 1614.47L573.898 1610.31L568.931 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M570.451 1614.45L568.931 1612.89L568.38 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M694.368 44.6397L677.314 64.8541L651.748 58.9066L667.567 39.1058L694.368 44.6397Z" fill="#F2D664"/>
-<path d="M694.368 44.6397L677.314 64.8541L651.748 58.9066M694.368 44.6397L667.567 39.1058L651.748 58.9066M694.368 44.6397L669.625 57.4121L651.748 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M670.242 57.2063L651.747 58.9075L677.313 64.8549L694.368 44.6406L670.242 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M677.623 64.7507L670.243 57.2054L667.567 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M692.724 151.05L675.848 167.836L653.393 160.498L669.129 143.986L692.724 151.05Z" fill="#F2D664"/>
-<path d="M692.724 151.05L675.848 167.836L653.393 160.498M692.724 151.05L669.129 143.986L653.393 160.498M692.724 151.05L669.538 160.56L653.393 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M670.108 160.424L653.392 160.498L675.847 167.836L692.724 151.05L670.108 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M676.132 167.767L670.108 160.423L669.129 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M691.06 257.081L674.613 270.807L655.056 262.466L670.46 248.896L691.06 257.081Z" fill="#F2D664"/>
-<path d="M691.06 257.081L674.613 270.807L655.056 262.466M691.06 257.081L670.46 248.896L655.056 262.466M691.06 257.081L669.526 263.789L655.056 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M670.048 263.711L655.055 262.467L674.613 270.807L691.06 257.081L670.048 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M674.873 270.768L670.048 263.711L670.459 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M689.41 362.772L673.587 373.788L656.707 364.776L671.582 353.818L689.41 362.772Z" fill="#F2D664"/>
-<path d="M689.41 362.772L673.587 373.788L656.707 364.776M689.41 362.772L671.582 353.818L656.707 364.776M689.41 362.772L669.577 367.097L656.707 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M670.051 367.068L656.706 364.776L673.587 373.788L689.41 362.771L670.051 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M673.824 373.773L670.051 367.068L671.582 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M687.797 468.157L672.747 476.793L658.319 467.389L672.515 458.731L687.797 468.157Z" fill="#F2D664"/>
-<path d="M687.797 468.157L672.747 476.793L658.319 467.389M687.797 468.157L672.515 458.731L658.319 467.389M687.797 468.157L669.676 470.48L658.319 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M670.102 470.491L658.318 467.39L672.746 476.793L687.796 468.158L670.102 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M672.96 476.799L670.103 470.491L672.515 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M686.242 573.274L672.071 579.836L659.873 570.274L673.28 563.625L686.242 573.274Z" fill="#F2D664"/>
-<path d="M686.242 573.274L672.071 579.836L659.873 570.274M686.242 573.274L673.28 563.625L659.873 570.274M686.242 573.274L669.813 573.935L659.873 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M670.195 573.979L659.873 570.274L672.071 579.836L686.242 573.274L670.195 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M672.262 579.858L670.196 573.978L673.281 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M684.761 678.153L671.541 682.925L661.355 673.394L673.897 668.485L684.761 678.153Z" fill="#FCEDB1"/>
-<path d="M684.761 678.153L671.541 682.925L661.355 673.394M684.761 678.153L673.897 668.485L661.355 673.394M684.761 678.153L669.98 677.457L661.355 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M670.319 677.526L661.355 673.394L671.541 682.925L684.761 678.153L670.319 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M671.71 682.959L670.319 677.526L673.897 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M683.364 782.825L671.137 786.066L662.752 776.722L674.382 773.304L683.364 782.825Z" fill="#F2D664"/>
-<path d="M683.364 782.825L671.137 786.066L662.752 776.722M683.364 782.825L674.382 773.304L662.752 776.722M683.364 782.825L670.166 781.041L662.752 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M670.464 781.13L662.751 776.722L671.136 786.066L683.364 782.825L670.464 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M671.286 786.11L670.465 781.13L674.382 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M682.059 887.318L670.842 889.265L664.057 880.229L674.752 878.077L682.059 887.318Z" fill="#F2D664"/>
-<path d="M682.059 887.318L670.842 889.265L664.057 880.229M682.059 887.318L674.752 878.077L664.057 880.229M682.059 887.318L670.366 884.683L664.057 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M670.626 884.786L664.057 880.229L670.841 889.265L682.059 887.318L670.626 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.972 889.316L670.627 884.786L674.752 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M680.85 991.657L670.64 992.523L665.266 983.89L675.024 982.799L680.85 991.657Z" fill="#F2D664"/>
-<path d="M680.85 991.657L670.64 992.523L665.266 983.89M680.85 991.657L675.024 982.799L665.266 983.89M680.85 991.657L670.573 988.378L665.266 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M670.798 988.49L665.266 983.89L670.64 992.523L680.85 991.657L670.798 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.753 992.579L670.798 988.49L675.024 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M679.739 1095.87L670.518 1095.84L666.376 1087.68L675.211 1087.47L679.739 1095.87Z" fill="#F2D664"/>
-<path d="M679.739 1095.87L670.518 1095.84L666.376 1087.68M679.739 1095.87L675.211 1087.47L666.376 1087.68M679.739 1095.87L670.782 1092.12L666.376 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M670.976 1092.24L666.376 1087.68L670.518 1095.84L679.739 1095.87L670.976 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.615 1095.9L670.976 1092.24L675.211 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M678.727 1199.97L670.461 1199.22L667.389 1191.58L675.326 1192.08L678.727 1199.97Z" fill="#F2D664"/>
-<path d="M678.727 1199.97L670.461 1199.22L667.389 1191.58M678.727 1199.97L675.326 1192.08L667.389 1191.58M678.727 1199.97L670.991 1195.91L667.389 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M671.154 1196.03L667.388 1191.58L670.461 1199.22L678.727 1199.97L671.154 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.544 1199.28L671.155 1196.03L675.326 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M677.812 1303.98L670.46 1302.66L668.304 1295.57L675.381 1296.64L677.812 1303.98Z" fill="#F2D664"/>
-<path d="M677.812 1303.98L670.46 1302.66L668.304 1295.57M677.812 1303.98L675.381 1296.64L668.304 1295.57M677.812 1303.98L671.194 1299.73L668.304 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M671.332 1299.85L668.304 1295.57L670.459 1302.66L677.812 1303.98L671.332 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.528 1302.72L671.332 1299.85L675.381 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M676.991 1407.92L670.502 1406.16L669.126 1399.63L675.387 1401.15L676.991 1407.92Z" fill="#F2D664"/>
-<path d="M676.991 1407.92L670.502 1406.16L669.126 1399.63M676.991 1407.92L675.387 1401.15L669.126 1399.63M676.991 1407.92L671.39 1403.59L669.126 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M671.504 1403.71L669.126 1399.63L670.502 1406.16L676.991 1407.92L671.504 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.559 1406.22L671.504 1403.71L675.386 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M676.259 1511.8L670.579 1509.71L669.857 1503.75L675.351 1505.6L676.259 1511.8Z" fill="#F2D664"/>
-<path d="M676.259 1511.8L670.579 1509.71L669.857 1503.75M676.259 1511.8L675.351 1505.6L669.857 1503.75M676.259 1511.8L671.577 1507.48L669.857 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M671.67 1507.59L669.857 1503.75L670.579 1509.71L676.259 1511.8L671.67 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M670.625 1509.77L671.67 1507.59L675.352 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M677.446 1610.3L673.934 1614.47L668.671 1613.24L671.928 1609.17L677.446 1610.3Z" fill="#F2D664"/>
-<path d="M677.446 1610.3L673.934 1614.47L668.671 1613.24M677.446 1610.3L671.928 1609.17L668.671 1613.24M677.446 1610.3L672.351 1612.93L668.671 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M672.478 1612.89L668.67 1613.24L673.934 1614.47L677.445 1610.31L672.478 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M673.998 1614.45L672.479 1612.89L671.928 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M797.916 44.6397L780.861 64.8541L755.296 58.9066L771.115 39.1058L797.916 44.6397Z" fill="#F2D664"/>
-<path d="M797.916 44.6397L780.861 64.8541L755.296 58.9066M797.916 44.6397L771.115 39.1058L755.296 58.9066M797.916 44.6397L773.173 57.4121L755.296 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M773.79 57.2063L755.295 58.9075L780.861 64.8549L797.915 44.6406L773.79 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M781.17 64.7507L773.79 57.2054L771.114 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M796.272 151.05L779.395 167.836L756.94 160.498L772.676 143.986L796.272 151.05Z" fill="#F2D664"/>
-<path d="M796.272 151.05L779.395 167.836L756.94 160.498M796.272 151.05L772.676 143.986L756.94 160.498M796.272 151.05L773.086 160.56L756.94 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M773.655 160.424L756.94 160.498L779.395 167.836L796.271 151.05L773.655 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M779.68 167.767L773.655 160.423L772.676 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M794.608 257.081L778.16 270.807L758.603 262.466L774.007 248.896L794.608 257.081Z" fill="#F2D664"/>
-<path d="M794.608 257.081L778.16 270.807L758.603 262.466M794.608 257.081L774.007 248.896L758.603 262.466M794.608 257.081L773.074 263.789L758.603 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M773.595 263.711L758.603 262.467L778.16 270.807L794.607 257.081L773.595 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M778.421 270.768L773.595 263.711L774.007 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M792.958 362.772L777.134 373.788L760.254 364.776L775.129 353.818L792.958 362.772Z" fill="#F2D664"/>
-<path d="M792.958 362.772L777.134 373.788L760.254 364.776M792.958 362.772L775.129 353.818L760.254 364.776M792.958 362.772L773.125 367.097L760.254 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M773.598 367.068L760.254 364.776L777.134 373.788L792.957 362.771L773.598 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M777.371 373.773L773.598 367.068L775.129 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M791.345 468.157L776.294 476.793L761.866 467.389L776.063 458.731L791.345 468.157Z" fill="#F2D664"/>
-<path d="M791.345 468.157L776.294 476.793L761.866 467.389M791.345 468.157L776.063 458.731L761.866 467.389M791.345 468.157L773.223 470.48L761.866 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M773.65 470.491L761.865 467.39L776.293 476.793L791.344 468.158L773.65 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M776.507 476.799L773.65 470.491L776.062 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M789.79 573.274L775.618 579.836L763.421 570.274L776.828 563.625L789.79 573.274Z" fill="#F2D664"/>
-<path d="M789.79 573.274L775.618 579.836L763.421 570.274M789.79 573.274L776.828 563.625L763.421 570.274M789.79 573.274L773.361 573.935L763.421 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M773.743 573.979L763.42 570.274L775.618 579.836L789.79 573.274L773.743 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M775.81 579.858L773.743 573.978L776.828 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M788.309 678.153L775.088 682.925L764.902 673.394L777.444 668.485L788.309 678.153Z" fill="#FCEDB1"/>
-<path d="M788.309 678.153L775.088 682.925L764.902 673.394M788.309 678.153L777.444 668.485L764.902 673.394M788.309 678.153L773.527 677.457L764.902 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M773.866 677.526L764.902 673.394L775.088 682.925L788.309 678.153L773.866 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M775.258 682.959L773.866 677.526L777.444 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M786.912 782.825L774.684 786.066L766.299 776.722L777.929 773.304L786.912 782.825Z" fill="#F2D664"/>
-<path d="M786.912 782.825L774.684 786.066L766.299 776.722M786.912 782.825L777.929 773.304L766.299 776.722M786.912 782.825L773.713 781.041L766.299 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M774.012 781.13L766.299 776.722L774.684 786.066L786.911 782.825L774.012 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.834 786.11L774.012 781.13L777.929 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M785.606 887.318L774.389 889.265L767.604 880.229L778.3 878.077L785.606 887.318Z" fill="#F2D664"/>
-<path d="M785.606 887.318L774.389 889.265L767.604 880.229M785.606 887.318L778.3 878.077L767.604 880.229M785.606 887.318L773.913 884.683L767.604 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M774.173 884.786L767.604 880.229L774.389 889.265L785.606 887.318L774.173 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.52 889.316L774.174 884.786L778.3 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M784.398 991.657L774.188 992.523L768.813 983.89L778.571 982.799L784.398 991.657Z" fill="#F2D664"/>
-<path d="M784.398 991.657L774.188 992.523L768.813 983.89M784.398 991.657L778.571 982.799L768.813 983.89M784.398 991.657L774.12 988.378L768.813 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M774.346 988.49L768.813 983.89L774.187 992.523L784.397 991.657L774.346 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.3 992.579L774.346 988.49L778.571 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M783.287 1095.87L774.065 1095.84L769.924 1087.68L778.758 1087.47L783.287 1095.87Z" fill="#F2D664"/>
-<path d="M783.287 1095.87L774.065 1095.84L769.924 1087.68M783.287 1095.87L778.758 1087.47L769.924 1087.68M783.287 1095.87L774.33 1092.12L769.924 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M774.523 1092.24L769.924 1087.68L774.065 1095.84L783.287 1095.87L774.523 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.162 1095.9L774.523 1092.24L778.758 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M782.275 1199.97L774.009 1199.22L770.936 1191.58L778.873 1192.08L782.275 1199.97Z" fill="#F2D664"/>
-<path d="M782.275 1199.97L774.009 1199.22L770.936 1191.58M782.275 1199.97L778.873 1192.08L770.936 1191.58M782.275 1199.97L774.538 1195.91L770.936 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M774.702 1196.03L770.936 1191.58L774.008 1199.22L782.274 1199.97L774.702 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.091 1199.28L774.702 1196.03L778.873 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M781.36 1303.98L774.007 1302.66L771.851 1295.57L778.928 1296.64L781.36 1303.98Z" fill="#F2D664"/>
-<path d="M781.36 1303.98L774.007 1302.66L771.851 1295.57M781.36 1303.98L778.928 1296.64L771.851 1295.57M781.36 1303.98L774.741 1299.73L771.851 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M774.879 1299.85L771.851 1295.57L774.007 1302.66L781.359 1303.98L774.879 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.076 1302.72L774.879 1299.85L778.928 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M780.538 1407.92L774.049 1406.16L772.673 1399.63L778.934 1401.15L780.538 1407.92Z" fill="#F2D664"/>
-<path d="M780.538 1407.92L774.049 1406.16L772.673 1399.63M780.538 1407.92L778.934 1401.15L772.673 1399.63M780.538 1407.92L774.938 1403.59L772.673 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M775.052 1403.71L772.673 1399.63L774.049 1406.16L780.538 1407.92L775.052 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.106 1406.22L775.052 1403.71L778.934 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M779.806 1511.8L774.126 1509.71L773.404 1503.75L778.899 1505.6L779.806 1511.8Z" fill="#F2D664"/>
-<path d="M779.806 1511.8L774.126 1509.71L773.404 1503.75M779.806 1511.8L778.899 1505.6L773.404 1503.75M779.806 1511.8L775.124 1507.48L773.404 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M775.217 1507.59L773.404 1503.75L774.126 1509.71L779.806 1511.8L775.217 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M774.173 1509.77L775.217 1507.59L778.899 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M780.993 1610.3L777.482 1614.47L772.218 1613.24L775.475 1609.17L780.993 1610.3Z" fill="#F2D664"/>
-<path d="M780.993 1610.3L777.482 1614.47L772.218 1613.24M780.993 1610.3L775.475 1609.17L772.218 1613.24M780.993 1610.3L775.899 1612.93L772.218 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M776.025 1612.89L772.218 1613.24L777.481 1614.47L780.993 1610.31L776.025 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M777.545 1614.45L776.026 1612.89L775.475 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M901.463 44.6397L884.409 64.8541L858.843 58.9066L874.662 39.1058L901.463 44.6397Z" fill="#F2D664"/>
-<path d="M901.463 44.6397L884.409 64.8541L858.843 58.9066M901.463 44.6397L874.662 39.1058L858.843 58.9066M901.463 44.6397L876.72 57.4121L858.843 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M877.337 57.2063L858.842 58.9075L884.408 64.8549L901.462 44.6406L877.337 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M884.717 64.7507L877.337 57.2054L874.662 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M899.819 151.05L882.943 167.836L860.488 160.498L876.224 143.986L899.819 151.05Z" fill="#F2D664"/>
-<path d="M899.819 151.05L882.943 167.836L860.488 160.498M899.819 151.05L876.224 143.986L860.488 160.498M899.819 151.05L876.633 160.56L860.488 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M877.202 160.424L860.487 160.498L882.942 167.836L899.818 151.05L877.202 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M883.227 167.767L877.202 160.423L876.223 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M898.155 257.081L881.708 270.807L862.151 262.466L877.554 248.896L898.155 257.081Z" fill="#F2D664"/>
-<path d="M898.155 257.081L881.708 270.807L862.151 262.466M898.155 257.081L877.554 248.896L862.151 262.466M898.155 257.081L876.621 263.789L862.151 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M877.143 263.711L862.15 262.467L881.707 270.807L898.155 257.081L877.143 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M881.968 270.768L877.143 263.711L877.554 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M896.505 362.772L880.682 373.788L863.802 364.776L878.677 353.818L896.505 362.772Z" fill="#F2D664"/>
-<path d="M896.505 362.772L880.682 373.788L863.802 364.776M896.505 362.772L878.677 353.818L863.802 364.776M896.505 362.772L876.672 367.097L863.802 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M877.145 367.068L863.801 364.776L880.681 373.788L896.504 362.771L877.145 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M880.919 373.773L877.146 367.068L878.677 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M894.892 468.157L879.841 476.793L865.414 467.389L879.61 458.731L894.892 468.157Z" fill="#F2D664"/>
-<path d="M894.892 468.157L879.841 476.793L865.414 467.389M894.892 468.157L879.61 458.731L865.414 467.389M894.892 468.157L876.771 470.48L865.414 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M877.197 470.491L865.413 467.39L879.84 476.793L894.891 468.158L877.197 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M880.054 476.799L877.198 470.491L879.61 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M893.337 573.274L879.166 579.836L866.968 570.274L880.375 563.625L893.337 573.274Z" fill="#F2D664"/>
-<path d="M893.337 573.274L879.166 579.836L866.968 570.274M893.337 573.274L880.375 563.625L866.968 570.274M893.337 573.274L876.908 573.935L866.968 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M877.29 573.979L866.968 570.274L879.165 579.836L893.337 573.274L877.29 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M879.357 579.858L877.29 573.978L880.375 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M891.856 678.153L878.636 682.925L868.45 673.394L880.992 668.485L891.856 678.153Z" fill="#FCEDB1"/>
-<path d="M891.856 678.153L878.636 682.925L868.45 673.394M891.856 678.153L880.992 668.485L868.45 673.394M891.856 678.153L877.074 677.457L868.45 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M877.413 677.526L868.449 673.394L878.635 682.925L891.856 678.153L877.413 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M878.805 682.959L877.414 677.526L880.992 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M890.459 782.825L878.231 786.066L869.847 776.722L881.477 773.304L890.459 782.825Z" fill="#F2D664"/>
-<path d="M890.459 782.825L878.231 786.066L869.847 776.722M890.459 782.825L881.477 773.304L869.847 776.722M890.459 782.825L877.261 781.041L869.847 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M877.559 781.13L869.846 776.722L878.231 786.066L890.458 782.825L877.559 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M878.381 786.11L877.559 781.13L881.477 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M889.154 887.318L877.937 889.265L871.152 880.229L881.847 878.077L889.154 887.318Z" fill="#F2D664"/>
-<path d="M889.154 887.318L877.937 889.265L871.152 880.229M889.154 887.318L881.847 878.077L871.152 880.229M889.154 887.318L877.46 884.683L871.152 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M877.721 884.786L871.151 880.229L877.936 889.265L889.153 887.318L877.721 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M878.067 889.316L877.721 884.786L881.847 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M887.945 991.657L877.735 992.523L872.361 983.89L882.119 982.799L887.945 991.657Z" fill="#F2D664"/>
-<path d="M887.945 991.657L877.735 992.523L872.361 983.89M887.945 991.657L882.119 982.799L872.361 983.89M887.945 991.657L877.668 988.378L872.361 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M877.893 988.49L872.36 983.89L877.735 992.523L887.944 991.657L877.893 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.848 992.579L877.893 988.49L882.119 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M886.834 1095.87L877.613 1095.84L873.471 1087.68L882.305 1087.47L886.834 1095.87Z" fill="#F2D664"/>
-<path d="M886.834 1095.87L877.613 1095.84L873.471 1087.68M886.834 1095.87L882.305 1087.47L873.471 1087.68M886.834 1095.87L877.877 1092.12L873.471 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M878.07 1092.24L873.471 1087.68L877.612 1095.84L886.834 1095.87L878.07 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.709 1095.9L878.071 1092.24L882.306 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M885.822 1199.97L877.556 1199.22L874.483 1191.58L882.421 1192.08L885.822 1199.97Z" fill="#F2D664"/>
-<path d="M885.822 1199.97L877.556 1199.22L874.483 1191.58M885.822 1199.97L882.421 1192.08L874.483 1191.58M885.822 1199.97L878.085 1195.91L874.483 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M878.249 1196.03L874.483 1191.58L877.556 1199.22L885.822 1199.97L878.249 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.638 1199.28L878.25 1196.03L882.421 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M884.907 1303.98L877.554 1302.66L875.399 1295.57L882.476 1296.64L884.907 1303.98Z" fill="#F2D664"/>
-<path d="M884.907 1303.98L877.554 1302.66L875.399 1295.57M884.907 1303.98L882.476 1296.64L875.399 1295.57M884.907 1303.98L878.289 1299.73L875.399 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M878.426 1299.85L875.399 1295.57L877.554 1302.66L884.907 1303.98L878.426 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.623 1302.72L878.426 1299.85L882.476 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M884.086 1407.92L877.597 1406.16L876.22 1399.63L882.481 1401.15L884.086 1407.92Z" fill="#F2D664"/>
-<path d="M884.086 1407.92L877.597 1406.16L876.22 1399.63M884.086 1407.92L882.481 1401.15L876.22 1399.63M884.086 1407.92L878.485 1403.59L876.22 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M878.599 1403.71L876.22 1399.63L877.597 1406.16L884.085 1407.92L878.599 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.653 1406.22L878.599 1403.71L882.481 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M883.353 1511.8L877.674 1509.71L876.952 1503.75L882.446 1505.6L883.353 1511.8Z" fill="#F2D664"/>
-<path d="M883.353 1511.8L877.674 1509.71L876.952 1503.75M883.353 1511.8L882.446 1505.6L876.952 1503.75M883.353 1511.8L878.672 1507.48L876.952 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M878.765 1507.59L876.952 1503.75L877.674 1509.71L883.354 1511.8L878.765 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M877.72 1509.77L878.765 1507.59L882.446 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M884.54 1610.3L881.029 1614.47L875.765 1613.24L879.022 1609.17L884.54 1610.3Z" fill="#F2D664"/>
-<path d="M884.54 1610.3L881.029 1614.47L875.765 1613.24M884.54 1610.3L879.022 1609.17L875.765 1613.24M884.54 1610.3L879.446 1612.93L875.765 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M879.573 1612.89L875.765 1613.24L881.029 1614.47L884.54 1610.31L879.573 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M881.093 1614.45L879.573 1612.89L879.022 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1005.01 44.6397L987.956 64.8541L962.39 58.9066L978.209 39.1058L1005.01 44.6397Z" fill="#F2D664"/>
-<path d="M1005.01 44.6397L987.956 64.8541L962.39 58.9066M1005.01 44.6397L978.209 39.1058L962.39 58.9066M1005.01 44.6397L980.267 57.4121L962.39 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M980.884 57.2063L962.389 58.9075L987.955 64.8549L1005.01 44.6406L980.884 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M988.265 64.7507L980.885 57.2054L978.209 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1003.37 151.05L986.49 167.836L964.035 160.498L979.771 143.986L1003.37 151.05Z" fill="#F2D664"/>
-<path d="M1003.37 151.05L986.49 167.836L964.035 160.498M1003.37 151.05L979.771 143.986L964.035 160.498M1003.37 151.05L980.18 160.56L964.035 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M980.75 160.424L964.034 160.498L986.489 167.836L1003.37 151.05L980.75 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M986.775 167.767L980.75 160.423L979.771 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1001.7 257.081L985.255 270.807L965.698 262.466L981.102 248.896L1001.7 257.081Z" fill="#F2D664"/>
-<path d="M1001.7 257.081L985.255 270.807L965.698 262.466M1001.7 257.081L981.102 248.896L965.698 262.466M1001.7 257.081L980.169 263.789L965.698 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M980.69 263.711L965.697 262.467L985.255 270.807L1001.7 257.081L980.69 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M985.515 270.768L980.69 263.711L981.101 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1000.05 362.772L984.229 373.788L967.349 364.776L982.224 353.818L1000.05 362.772Z" fill="#F2D664"/>
-<path d="M1000.05 362.772L984.229 373.788L967.349 364.776M1000.05 362.772L982.224 353.818L967.349 364.776M1000.05 362.772L980.219 367.097L967.349 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M980.693 367.068L967.348 364.776L984.229 373.788L1000.05 362.771L980.693 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M984.466 373.773L980.693 367.068L982.224 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M998.439 468.157L983.389 476.793L968.961 467.389L983.157 458.731L998.439 468.157Z" fill="#F2D664"/>
-<path d="M998.439 468.157L983.389 476.793L968.961 467.389M998.439 468.157L983.157 458.731L968.961 467.389M998.439 468.157L980.318 470.48L968.961 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M980.745 470.491L968.96 467.39L983.388 476.793L998.438 468.158L980.745 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M983.602 476.799L980.745 470.491L983.157 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M996.885 573.274L982.713 579.836L970.515 570.274L983.922 563.625L996.885 573.274Z" fill="#F2D664"/>
-<path d="M996.885 573.274L982.713 579.836L970.515 570.274M996.885 573.274L983.922 563.625L970.515 570.274M996.885 573.274L980.455 573.935L970.515 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M980.837 573.979L970.515 570.274L982.713 579.836L996.884 573.274L980.837 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M982.904 579.858L980.838 573.978L983.923 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M995.404 678.153L982.183 682.925L971.997 673.394L984.539 668.485L995.404 678.153Z" fill="#FCEDB1"/>
-<path d="M995.404 678.153L982.183 682.925L971.997 673.394M995.404 678.153L984.539 668.485L971.997 673.394M995.404 678.153L980.622 677.457L971.997 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M980.961 677.526L971.997 673.394L982.183 682.925L995.403 678.153L980.961 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M982.352 682.959L980.961 677.526L984.539 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M994.006 782.825L981.779 786.066L973.394 776.722L985.024 773.304L994.006 782.825Z" fill="#F2D664"/>
-<path d="M994.006 782.825L981.779 786.066L973.394 776.722M994.006 782.825L985.024 773.304L973.394 776.722M994.006 782.825L980.808 781.041L973.394 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M981.106 781.13L973.393 776.722L981.778 786.066L994.006 782.825L981.106 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.928 786.11L981.107 781.13L985.024 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M992.701 887.318L981.484 889.265L974.699 880.229L985.394 878.077L992.701 887.318Z" fill="#F2D664"/>
-<path d="M992.701 887.318L981.484 889.265L974.699 880.229M992.701 887.318L985.394 878.077L974.699 880.229M992.701 887.318L981.008 884.683L974.699 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M981.268 884.786L974.699 880.229L981.484 889.265L992.701 887.318L981.268 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.614 889.316L981.269 884.786L985.394 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M991.492 991.657L981.283 992.523L975.908 983.89L985.666 982.799L991.492 991.657Z" fill="#F2D664"/>
-<path d="M991.492 991.657L981.283 992.523L975.908 983.89M991.492 991.657L985.666 982.799L975.908 983.89M991.492 991.657L981.215 988.378L975.908 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M981.44 988.49L975.908 983.89L981.282 992.523L991.492 991.657L981.44 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.395 992.579L981.441 988.49L985.666 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M990.382 1095.87L981.16 1095.84L977.019 1087.68L985.853 1087.47L990.382 1095.87Z" fill="#F2D664"/>
-<path d="M990.382 1095.87L981.16 1095.84L977.019 1087.68M990.382 1095.87L985.853 1087.47L977.019 1087.68M990.382 1095.87L981.424 1092.12L977.019 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M981.618 1092.24L977.018 1087.68L981.16 1095.84L990.381 1095.87L981.618 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.257 1095.9L981.618 1092.24L985.853 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M989.37 1199.97L981.104 1199.22L978.031 1191.58L985.968 1192.08L989.37 1199.97Z" fill="#F2D664"/>
-<path d="M989.37 1199.97L981.104 1199.22L978.031 1191.58M989.37 1199.97L985.968 1192.08L978.031 1191.58M989.37 1199.97L981.633 1195.91L978.031 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M981.797 1196.03L978.03 1191.58L981.103 1199.22L989.369 1199.97L981.797 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.186 1199.28L981.797 1196.03L985.968 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M988.454 1303.98L981.102 1302.66L978.946 1295.57L986.023 1296.64L988.454 1303.98Z" fill="#F2D664"/>
-<path d="M988.454 1303.98L981.102 1302.66L978.946 1295.57M988.454 1303.98L986.023 1296.64L978.946 1295.57M988.454 1303.98L981.836 1299.73L978.946 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M981.974 1299.85L978.946 1295.57L981.102 1302.66L988.454 1303.98L981.974 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.17 1302.72L981.974 1299.85L986.023 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M987.633 1407.92L981.144 1406.16L979.768 1399.63L986.029 1401.15L987.633 1407.92Z" fill="#F2D664"/>
-<path d="M987.633 1407.92L981.144 1406.16L979.768 1399.63M987.633 1407.92L986.029 1401.15L979.768 1399.63M987.633 1407.92L982.032 1403.59L979.768 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M982.146 1403.71L979.768 1399.63L981.144 1406.16L987.633 1407.92L982.146 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.201 1406.22L982.146 1403.71L986.028 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M986.901 1511.8L981.221 1509.71L980.499 1503.75L985.993 1505.6L986.901 1511.8Z" fill="#F2D664"/>
-<path d="M986.901 1511.8L981.221 1509.71L980.499 1503.75M986.901 1511.8L985.993 1505.6L980.499 1503.75M986.901 1511.8L982.219 1507.48L980.499 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M982.312 1507.59L980.499 1503.75L981.221 1509.71L986.901 1511.8L982.312 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M981.268 1509.77L982.312 1507.59L985.994 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M988.088 1610.3L984.576 1614.47L979.313 1613.24L982.57 1609.17L988.088 1610.3Z" fill="#F2D664"/>
-<path d="M988.088 1610.3L984.576 1614.47L979.313 1613.24M988.088 1610.3L982.57 1609.17L979.313 1613.24M988.088 1610.3L982.993 1612.93L979.313 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M983.12 1612.89L979.312 1613.24L984.576 1614.47L988.087 1610.31L983.12 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M984.64 1614.45L983.121 1612.89L982.57 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1108.56 44.6397L1091.5 64.8541L1065.94 58.9066L1081.76 39.1058L1108.56 44.6397Z" fill="#F2D664"/>
-<path d="M1108.56 44.6397L1091.5 64.8541L1065.94 58.9066M1108.56 44.6397L1081.76 39.1058L1065.94 58.9066M1108.56 44.6397L1083.81 57.4121L1065.94 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1084.43 57.2063L1065.94 58.9075L1091.5 64.8549L1108.56 44.6406L1084.43 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1091.81 64.7507L1084.43 57.2054L1081.76 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1106.91 151.05L1090.04 167.836L1067.58 160.498L1083.32 143.986L1106.91 151.05Z" fill="#F2D664"/>
-<path d="M1106.91 151.05L1090.04 167.836L1067.58 160.498M1106.91 151.05L1083.32 143.986L1067.58 160.498M1106.91 151.05L1083.73 160.56L1067.58 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1084.3 160.424L1067.58 160.498L1090.04 167.836L1106.91 151.05L1084.3 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1090.32 167.767L1084.3 160.423L1083.32 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1105.25 257.081L1088.8 270.807L1069.25 262.466L1084.65 248.896L1105.25 257.081Z" fill="#F2D664"/>
-<path d="M1105.25 257.081L1088.8 270.807L1069.25 262.466M1105.25 257.081L1084.65 248.896L1069.25 262.466M1105.25 257.081L1083.72 263.789L1069.25 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1084.24 263.711L1069.24 262.467L1088.8 270.807L1105.25 257.081L1084.24 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1089.06 270.768L1084.24 263.711L1084.65 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1103.6 362.772L1087.78 373.788L1070.9 364.776L1085.77 353.818L1103.6 362.772Z" fill="#F2D664"/>
-<path d="M1103.6 362.772L1087.78 373.788L1070.9 364.776M1103.6 362.772L1085.77 353.818L1070.9 364.776M1103.6 362.772L1083.77 367.097L1070.9 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1084.24 367.068L1070.9 364.776L1087.78 373.788L1103.6 362.771L1084.24 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1088.01 373.773L1084.24 367.068L1085.77 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1101.99 468.157L1086.94 476.793L1072.51 467.389L1086.7 458.731L1101.99 468.157Z" fill="#F2D664"/>
-<path d="M1101.99 468.157L1086.94 476.793L1072.51 467.389M1101.99 468.157L1086.7 458.731L1072.51 467.389M1101.99 468.157L1083.87 470.48L1072.51 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1084.29 470.491L1072.51 467.39L1086.94 476.793L1101.99 468.158L1084.29 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1087.15 476.799L1084.29 470.491L1086.7 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1100.43 573.274L1086.26 579.836L1074.06 570.274L1087.47 563.625L1100.43 573.274Z" fill="#F2D664"/>
-<path d="M1100.43 573.274L1086.26 579.836L1074.06 570.274M1100.43 573.274L1087.47 563.625L1074.06 570.274M1100.43 573.274L1084 573.935L1074.06 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1084.38 573.979L1074.06 570.274L1086.26 579.836L1100.43 573.274L1084.38 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1086.45 579.858L1084.39 573.978L1087.47 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1098.95 678.153L1085.73 682.925L1075.54 673.394L1088.09 668.485L1098.95 678.153Z" fill="#FCEDB1"/>
-<path d="M1098.95 678.153L1085.73 682.925L1075.54 673.394M1098.95 678.153L1088.09 668.485L1075.54 673.394M1098.95 678.153L1084.17 677.457L1075.54 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1084.51 677.526L1075.54 673.394L1085.73 682.925L1098.95 678.153L1084.51 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1085.9 682.959L1084.51 677.526L1088.09 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1097.55 782.825L1085.33 786.066L1076.94 776.722L1088.57 773.304L1097.55 782.825Z" fill="#F2D664"/>
-<path d="M1097.55 782.825L1085.33 786.066L1076.94 776.722M1097.55 782.825L1088.57 773.304L1076.94 776.722M1097.55 782.825L1084.36 781.041L1076.94 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1084.65 781.13L1076.94 776.722L1085.33 786.066L1097.55 782.825L1084.65 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1085.48 786.11L1084.65 781.13L1088.57 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1096.25 887.318L1085.03 889.265L1078.25 880.229L1088.94 878.077L1096.25 887.318Z" fill="#F2D664"/>
-<path d="M1096.25 887.318L1085.03 889.265L1078.25 880.229M1096.25 887.318L1088.94 878.077L1078.25 880.229M1096.25 887.318L1084.56 884.683L1078.25 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1084.82 884.786L1078.25 880.229L1085.03 889.265L1096.25 887.318L1084.82 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1085.16 889.316L1084.82 884.786L1088.94 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1095.04 991.657L1084.83 992.523L1079.46 983.89L1089.21 982.799L1095.04 991.657Z" fill="#F2D664"/>
-<path d="M1095.04 991.657L1084.83 992.523L1079.46 983.89M1095.04 991.657L1089.21 982.799L1079.46 983.89M1095.04 991.657L1084.76 988.378L1079.46 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1084.99 988.49L1079.45 983.89L1084.83 992.523L1095.04 991.657L1084.99 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.94 992.579L1084.99 988.49L1089.21 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1093.93 1095.87L1084.71 1095.84L1080.57 1087.68L1089.4 1087.47L1093.93 1095.87Z" fill="#F2D664"/>
-<path d="M1093.93 1095.87L1084.71 1095.84L1080.57 1087.68M1093.93 1095.87L1089.4 1087.47L1080.57 1087.68M1093.93 1095.87L1084.97 1092.12L1080.57 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1085.17 1092.24L1080.57 1087.68L1084.71 1095.84L1093.93 1095.87L1085.17 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.8 1095.9L1085.17 1092.24L1089.4 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1092.92 1199.97L1084.65 1199.22L1081.58 1191.58L1089.52 1192.08L1092.92 1199.97Z" fill="#F2D664"/>
-<path d="M1092.92 1199.97L1084.65 1199.22L1081.58 1191.58M1092.92 1199.97L1089.52 1192.08L1081.58 1191.58M1092.92 1199.97L1085.18 1195.91L1081.58 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1085.34 1196.03L1081.58 1191.58L1084.65 1199.22L1092.92 1199.97L1085.34 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.73 1199.28L1085.34 1196.03L1089.52 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1092 1303.98L1084.65 1302.66L1082.49 1295.57L1089.57 1296.64L1092 1303.98Z" fill="#F2D664"/>
-<path d="M1092 1303.98L1084.65 1302.66L1082.49 1295.57M1092 1303.98L1089.57 1296.64L1082.49 1295.57M1092 1303.98L1085.38 1299.73L1082.49 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1085.52 1299.85L1082.49 1295.57L1084.65 1302.66L1092 1303.98L1085.52 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.72 1302.72L1085.52 1299.85L1089.57 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1091.18 1407.92L1084.69 1406.16L1083.32 1399.63L1089.58 1401.15L1091.18 1407.92Z" fill="#F2D664"/>
-<path d="M1091.18 1407.92L1084.69 1406.16L1083.32 1399.63M1091.18 1407.92L1089.58 1401.15L1083.32 1399.63M1091.18 1407.92L1085.58 1403.59L1083.32 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1085.69 1403.71L1083.32 1399.63L1084.69 1406.16L1091.18 1407.92L1085.69 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.75 1406.22L1085.69 1403.71L1089.58 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1090.45 1511.8L1084.77 1509.71L1084.05 1503.75L1089.54 1505.6L1090.45 1511.8Z" fill="#F2D664"/>
-<path d="M1090.45 1511.8L1084.77 1509.71L1084.05 1503.75M1090.45 1511.8L1089.54 1505.6L1084.05 1503.75M1090.45 1511.8L1085.77 1507.48L1084.05 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1085.86 1507.59L1084.05 1503.75L1084.77 1509.71L1090.45 1511.8L1085.86 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1084.81 1509.77L1085.86 1507.59L1089.54 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1091.64 1610.3L1088.12 1614.47L1082.86 1613.24L1086.12 1609.17L1091.64 1610.3Z" fill="#F2D664"/>
-<path d="M1091.64 1610.3L1088.12 1614.47L1082.86 1613.24M1091.64 1610.3L1086.12 1609.17L1082.86 1613.24M1091.64 1610.3L1086.54 1612.93L1082.86 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1086.67 1612.89L1082.86 1613.24L1088.12 1614.47L1091.63 1610.31L1086.67 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1088.19 1614.45L1086.67 1612.89L1086.12 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1212.11 44.6397L1195.05 64.8541L1169.48 58.9066L1185.3 39.1058L1212.11 44.6397Z" fill="#F2D664"/>
-<path d="M1212.11 44.6397L1195.05 64.8541L1169.48 58.9066M1212.11 44.6397L1185.3 39.1058L1169.48 58.9066M1212.11 44.6397L1187.36 57.4121L1169.48 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1187.98 57.2063L1169.48 58.9075L1195.05 64.8549L1212.1 44.6406L1187.98 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1195.36 64.7507L1187.98 57.2054L1185.3 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1210.46 151.05L1193.58 167.836L1171.13 160.498L1186.87 143.986L1210.46 151.05Z" fill="#F2D664"/>
-<path d="M1210.46 151.05L1193.58 167.836L1171.13 160.498M1210.46 151.05L1186.87 143.986L1171.13 160.498M1210.46 151.05L1187.27 160.56L1171.13 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1187.84 160.424L1171.13 160.498L1193.58 167.836L1210.46 151.05L1187.84 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1193.87 167.767L1187.84 160.423L1186.87 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1208.8 257.081L1192.35 270.807L1172.79 262.466L1188.2 248.896L1208.8 257.081Z" fill="#F2D664"/>
-<path d="M1208.8 257.081L1192.35 270.807L1172.79 262.466M1208.8 257.081L1188.2 248.896L1172.79 262.466M1208.8 257.081L1187.26 263.789L1172.79 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1187.78 263.711L1172.79 262.467L1192.35 270.807L1208.8 257.081L1187.78 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1192.61 270.768L1187.78 263.711L1188.2 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1207.15 362.772L1191.32 373.788L1174.44 364.776L1189.32 353.818L1207.15 362.772Z" fill="#F2D664"/>
-<path d="M1207.15 362.772L1191.32 373.788L1174.44 364.776M1207.15 362.772L1189.32 353.818L1174.44 364.776M1207.15 362.772L1187.31 367.097L1174.44 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1187.79 367.068L1174.44 364.776L1191.32 373.788L1207.15 362.771L1187.79 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1191.56 373.773L1187.79 367.068L1189.32 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1205.53 468.157L1190.48 476.793L1176.06 467.389L1190.25 458.731L1205.53 468.157Z" fill="#F2D664"/>
-<path d="M1205.53 468.157L1190.48 476.793L1176.06 467.389M1205.53 468.157L1190.25 458.731L1176.06 467.389M1205.53 468.157L1187.41 470.48L1176.06 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1187.84 470.491L1176.05 467.39L1190.48 476.793L1205.53 468.158L1187.84 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1190.7 476.799L1187.84 470.491L1190.25 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1203.98 573.274L1189.81 579.836L1177.61 570.274L1191.02 563.625L1203.98 573.274Z" fill="#F2D664"/>
-<path d="M1203.98 573.274L1189.81 579.836L1177.61 570.274M1203.98 573.274L1191.02 563.625L1177.61 570.274M1203.98 573.274L1187.55 573.935L1177.61 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1187.93 573.979L1177.61 570.274L1189.81 579.836L1203.98 573.274L1187.93 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1190 579.858L1187.93 573.978L1191.02 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1202.5 678.153L1189.28 682.925L1179.09 673.394L1191.63 668.485L1202.5 678.153Z" fill="#FCEDB1"/>
-<path d="M1202.5 678.153L1189.28 682.925L1179.09 673.394M1202.5 678.153L1191.63 668.485L1179.09 673.394M1202.5 678.153L1187.72 677.457L1179.09 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1188.06 677.526L1179.09 673.394L1189.28 682.925L1202.5 678.153L1188.06 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1189.45 682.959L1188.06 677.526L1191.63 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1201.1 782.825L1188.87 786.066L1180.49 776.722L1192.12 773.304L1201.1 782.825Z" fill="#F2D664"/>
-<path d="M1201.1 782.825L1188.87 786.066L1180.49 776.722M1201.1 782.825L1192.12 773.304L1180.49 776.722M1201.1 782.825L1187.9 781.041L1180.49 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1188.2 781.13L1180.49 776.722L1188.87 786.066L1201.1 782.825L1188.2 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1189.02 786.11L1188.2 781.13L1192.12 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1199.8 887.318L1188.58 889.265L1181.79 880.229L1192.49 878.077L1199.8 887.318Z" fill="#F2D664"/>
-<path d="M1199.8 887.318L1188.58 889.265L1181.79 880.229M1199.8 887.318L1192.49 878.077L1181.79 880.229M1199.8 887.318L1188.1 884.683L1181.79 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1188.36 884.786L1181.79 880.229L1188.58 889.265L1199.8 887.318L1188.36 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.71 889.316L1188.36 884.786L1192.49 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1198.59 991.657L1188.38 992.523L1183 983.89L1192.76 982.799L1198.59 991.657Z" fill="#F2D664"/>
-<path d="M1198.59 991.657L1188.38 992.523L1183 983.89M1198.59 991.657L1192.76 982.799L1183 983.89M1198.59 991.657L1188.31 988.378L1183 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1188.53 988.49L1183 983.89L1188.38 992.523L1198.59 991.657L1188.53 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.49 992.579L1188.54 988.49L1192.76 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1197.48 1095.87L1188.25 1095.84L1184.11 1087.68L1192.95 1087.47L1197.48 1095.87Z" fill="#F2D664"/>
-<path d="M1197.48 1095.87L1188.25 1095.84L1184.11 1087.68M1197.48 1095.87L1192.95 1087.47L1184.11 1087.68M1197.48 1095.87L1188.52 1092.12L1184.11 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1188.71 1092.24L1184.11 1087.68L1188.25 1095.84L1197.48 1095.87L1188.71 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.35 1095.9L1188.71 1092.24L1192.95 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1196.46 1199.97L1188.2 1199.22L1185.13 1191.58L1193.06 1192.08L1196.46 1199.97Z" fill="#F2D664"/>
-<path d="M1196.46 1199.97L1188.2 1199.22L1185.13 1191.58M1196.46 1199.97L1193.06 1192.08L1185.13 1191.58M1196.46 1199.97L1188.73 1195.91L1185.13 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1188.89 1196.03L1185.13 1191.58L1188.2 1199.22L1196.46 1199.97L1188.89 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.28 1199.28L1188.89 1196.03L1193.06 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1195.55 1303.98L1188.2 1302.66L1186.04 1295.57L1193.12 1296.64L1195.55 1303.98Z" fill="#F2D664"/>
-<path d="M1195.55 1303.98L1188.2 1302.66L1186.04 1295.57M1195.55 1303.98L1193.12 1296.64L1186.04 1295.57M1195.55 1303.98L1188.93 1299.73L1186.04 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1189.07 1299.85L1186.04 1295.57L1188.2 1302.66L1195.55 1303.98L1189.07 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.27 1302.72L1189.07 1299.85L1193.12 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1194.73 1407.92L1188.24 1406.16L1186.86 1399.63L1193.12 1401.15L1194.73 1407.92Z" fill="#F2D664"/>
-<path d="M1194.73 1407.92L1188.24 1406.16L1186.86 1399.63M1194.73 1407.92L1193.12 1401.15L1186.86 1399.63M1194.73 1407.92L1189.13 1403.59L1186.86 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1189.24 1403.71L1186.86 1399.63L1188.24 1406.16L1194.73 1407.92L1189.24 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.3 1406.22L1189.24 1403.71L1193.12 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1194 1511.8L1188.32 1509.71L1187.59 1503.75L1193.09 1505.6L1194 1511.8Z" fill="#F2D664"/>
-<path d="M1194 1511.8L1188.32 1509.71L1187.59 1503.75M1194 1511.8L1193.09 1505.6L1187.59 1503.75M1194 1511.8L1189.31 1507.48L1187.59 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1189.41 1507.59L1187.59 1503.75L1188.32 1509.71L1194 1511.8L1189.41 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1188.36 1509.77L1189.41 1507.59L1193.09 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1195.18 1610.3L1191.67 1614.47L1186.41 1613.24L1189.66 1609.17L1195.18 1610.3Z" fill="#F2D664"/>
-<path d="M1195.18 1610.3L1191.67 1614.47L1186.41 1613.24M1195.18 1610.3L1189.66 1609.17L1186.41 1613.24M1195.18 1610.3L1190.09 1612.93L1186.41 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1190.21 1612.89L1186.41 1613.24L1191.67 1614.47L1195.18 1610.31L1190.21 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1191.73 1614.45L1190.22 1612.89L1189.66 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1315.65 44.6397L1298.6 64.8541L1273.03 58.9066L1288.85 39.1058L1315.65 44.6397Z" fill="#F2D664"/>
-<path d="M1315.65 44.6397L1298.6 64.8541L1273.03 58.9066M1315.65 44.6397L1288.85 39.1058L1273.03 58.9066M1315.65 44.6397L1290.91 57.4121L1273.03 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1291.53 57.2063L1273.03 58.9075L1298.6 64.8549L1315.65 44.6406L1291.53 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1298.91 64.7507L1291.53 57.2054L1288.85 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1314.01 151.05L1297.13 167.836L1274.68 160.498L1290.41 143.986L1314.01 151.05Z" fill="#F2D664"/>
-<path d="M1314.01 151.05L1297.13 167.836L1274.68 160.498M1314.01 151.05L1290.41 143.986L1274.68 160.498M1314.01 151.05L1290.82 160.56L1274.68 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1291.39 160.424L1274.68 160.498L1297.13 167.836L1314.01 151.05L1291.39 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1297.42 167.767L1291.39 160.423L1290.41 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1312.34 257.081L1295.9 270.807L1276.34 262.466L1291.74 248.896L1312.34 257.081Z" fill="#F2D664"/>
-<path d="M1312.34 257.081L1295.9 270.807L1276.34 262.466M1312.34 257.081L1291.74 248.896L1276.34 262.466M1312.34 257.081L1290.81 263.789L1276.34 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1291.33 263.711L1276.34 262.467L1295.9 270.807L1312.34 257.081L1291.33 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1296.16 270.768L1291.33 263.711L1291.74 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1310.69 362.772L1294.87 373.788L1277.99 364.776L1292.87 353.818L1310.69 362.772Z" fill="#F2D664"/>
-<path d="M1310.69 362.772L1294.87 373.788L1277.99 364.776M1310.69 362.772L1292.87 353.818L1277.99 364.776M1310.69 362.772L1290.86 367.097L1277.99 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1291.33 367.068L1277.99 364.776L1294.87 373.788L1310.69 362.771L1291.33 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1295.11 373.773L1291.34 367.068L1292.87 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1309.08 468.157L1294.03 476.793L1279.6 467.389L1293.8 458.731L1309.08 468.157Z" fill="#F2D664"/>
-<path d="M1309.08 468.157L1294.03 476.793L1279.6 467.389M1309.08 468.157L1293.8 458.731L1279.6 467.389M1309.08 468.157L1290.96 470.48L1279.6 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1291.39 470.491L1279.6 467.39L1294.03 476.793L1309.08 468.158L1291.39 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1294.24 476.799L1291.39 470.491L1293.8 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1307.53 573.274L1293.36 579.836L1281.16 570.274L1294.56 563.625L1307.53 573.274Z" fill="#F2D664"/>
-<path d="M1307.53 573.274L1293.36 579.836L1281.16 570.274M1307.53 573.274L1294.56 563.625L1281.16 570.274M1307.53 573.274L1291.1 573.935L1281.16 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1291.48 573.979L1281.16 570.274L1293.35 579.836L1307.53 573.274L1291.48 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1293.55 579.858L1291.48 573.978L1294.56 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1306.05 678.153L1292.83 682.925L1282.64 673.394L1295.18 668.485L1306.05 678.153Z" fill="#FCEDB1"/>
-<path d="M1306.05 678.153L1292.83 682.925L1282.64 673.394M1306.05 678.153L1295.18 668.485L1282.64 673.394M1306.05 678.153L1291.26 677.457L1282.64 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1291.6 677.526L1282.64 673.394L1292.82 682.925L1306.05 678.153L1291.6 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1292.99 682.959L1291.6 677.526L1295.18 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1304.65 782.825L1292.42 786.066L1284.04 776.722L1295.67 773.304L1304.65 782.825Z" fill="#F2D664"/>
-<path d="M1304.65 782.825L1292.42 786.066L1284.04 776.722M1304.65 782.825L1295.67 773.304L1284.04 776.722M1304.65 782.825L1291.45 781.041L1284.04 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1291.75 781.13L1284.04 776.722L1292.42 786.066L1304.65 782.825L1291.75 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1292.57 786.11L1291.75 781.13L1295.67 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1303.34 887.318L1292.13 889.265L1285.34 880.229L1296.04 878.077L1303.34 887.318Z" fill="#F2D664"/>
-<path d="M1303.34 887.318L1292.13 889.265L1285.34 880.229M1303.34 887.318L1296.04 878.077L1285.34 880.229M1303.34 887.318L1291.65 884.683L1285.34 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1291.91 884.786L1285.34 880.229L1292.13 889.265L1303.34 887.318L1291.91 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1292.26 889.316L1291.91 884.786L1296.04 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1302.13 991.657L1291.92 992.523L1286.55 983.89L1296.31 982.799L1302.13 991.657Z" fill="#F2D664"/>
-<path d="M1302.13 991.657L1291.92 992.523L1286.55 983.89M1302.13 991.657L1296.31 982.799L1286.55 983.89M1302.13 991.657L1291.86 988.378L1286.55 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1292.08 988.49L1286.55 983.89L1291.92 992.523L1302.13 991.657L1292.08 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1292.04 992.579L1292.08 988.49L1296.31 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1301.02 1095.87L1291.8 1095.84L1287.66 1087.68L1296.49 1087.47L1301.02 1095.87Z" fill="#F2D664"/>
-<path d="M1301.02 1095.87L1291.8 1095.84L1287.66 1087.68M1301.02 1095.87L1296.49 1087.47L1287.66 1087.68M1301.02 1095.87L1292.07 1092.12L1287.66 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1292.26 1092.24L1287.66 1087.68L1291.8 1095.84L1301.02 1095.87L1292.26 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1291.9 1095.9L1292.26 1092.24L1296.49 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1300.01 1199.97L1291.75 1199.22L1288.67 1191.58L1296.61 1192.08L1300.01 1199.97Z" fill="#F2D664"/>
-<path d="M1300.01 1199.97L1291.75 1199.22L1288.67 1191.58M1300.01 1199.97L1296.61 1192.08L1288.67 1191.58M1300.01 1199.97L1292.27 1195.91L1288.67 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1292.44 1196.03L1288.67 1191.58L1291.75 1199.22L1300.01 1199.97L1292.44 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1291.83 1199.28L1292.44 1196.03L1296.61 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1299.1 1303.98L1291.74 1302.66L1289.59 1295.57L1296.67 1296.64L1299.1 1303.98Z" fill="#F2D664"/>
-<path d="M1299.1 1303.98L1291.74 1302.66L1289.59 1295.57M1299.1 1303.98L1296.67 1296.64L1289.59 1295.57M1299.1 1303.98L1292.48 1299.73L1289.59 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1292.62 1299.85L1289.59 1295.57L1291.74 1302.66L1299.1 1303.98L1292.62 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1291.81 1302.72L1292.62 1299.85L1296.66 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1298.27 1407.92L1291.79 1406.16L1290.41 1399.63L1296.67 1401.15L1298.27 1407.92Z" fill="#F2D664"/>
-<path d="M1298.27 1407.92L1291.79 1406.16L1290.41 1399.63M1298.27 1407.92L1296.67 1401.15L1290.41 1399.63M1298.27 1407.92L1292.67 1403.59L1290.41 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1292.79 1403.71L1290.41 1399.63L1291.79 1406.16L1298.27 1407.92L1292.79 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1291.84 1406.22L1292.79 1403.71L1296.67 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1297.54 1511.8L1291.86 1509.71L1291.14 1503.75L1296.64 1505.6L1297.54 1511.8Z" fill="#F2D664"/>
-<path d="M1297.54 1511.8L1291.86 1509.71L1291.14 1503.75M1297.54 1511.8L1296.64 1505.6L1291.14 1503.75M1297.54 1511.8L1292.86 1507.48L1291.14 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1292.95 1507.59L1291.14 1503.75L1291.86 1509.71L1297.54 1511.8L1292.95 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1291.91 1509.77L1292.95 1507.59L1296.64 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1298.73 1610.3L1295.22 1614.47L1289.95 1613.24L1293.21 1609.17L1298.73 1610.3Z" fill="#F2D664"/>
-<path d="M1298.73 1610.3L1295.22 1614.47L1289.95 1613.24M1298.73 1610.3L1293.21 1609.17L1289.95 1613.24M1298.73 1610.3L1293.64 1612.93L1289.95 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1293.76 1612.89L1289.95 1613.24L1295.22 1614.47L1298.73 1610.31L1293.76 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1295.28 1614.45L1293.76 1612.89L1293.21 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1419.2 44.6397L1402.15 64.8541L1376.58 58.9066L1392.4 39.1058L1419.2 44.6397Z" fill="#F2D664"/>
-<path d="M1419.2 44.6397L1402.15 64.8541L1376.58 58.9066M1419.2 44.6397L1392.4 39.1058L1376.58 58.9066M1419.2 44.6397L1394.46 57.4121L1376.58 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1395.07 57.2063L1376.58 58.9075L1402.14 64.8549L1419.2 44.6406L1395.07 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1402.45 64.7507L1395.07 57.2054L1392.4 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1417.56 151.05L1400.68 167.836L1378.22 160.498L1393.96 143.986L1417.56 151.05Z" fill="#F2D664"/>
-<path d="M1417.56 151.05L1400.68 167.836L1378.22 160.498M1417.56 151.05L1393.96 143.986L1378.22 160.498M1417.56 151.05L1394.37 160.56L1378.22 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1394.94 160.424L1378.22 160.498L1400.68 167.836L1417.56 151.05L1394.94 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1400.96 167.767L1394.94 160.423L1393.96 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1415.89 257.081L1399.44 270.807L1379.89 262.466L1395.29 248.896L1415.89 257.081Z" fill="#F2D664"/>
-<path d="M1415.89 257.081L1399.44 270.807L1379.89 262.466M1415.89 257.081L1395.29 248.896L1379.89 262.466M1415.89 257.081L1394.36 263.789L1379.89 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1394.88 263.711L1379.89 262.467L1399.44 270.807L1415.89 257.081L1394.88 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1399.7 270.768L1394.88 263.711L1395.29 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1414.24 362.772L1398.42 373.788L1381.54 364.776L1396.41 353.818L1414.24 362.772Z" fill="#F2D664"/>
-<path d="M1414.24 362.772L1398.42 373.788L1381.54 364.776M1414.24 362.772L1396.41 353.818L1381.54 364.776M1414.24 362.772L1394.41 367.097L1381.54 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1394.88 367.068L1381.54 364.776L1398.42 373.788L1414.24 362.771L1394.88 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1398.66 373.773L1394.88 367.068L1396.41 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1412.63 468.157L1397.58 476.793L1383.15 467.389L1397.35 458.731L1412.63 468.157Z" fill="#F2D664"/>
-<path d="M1412.63 468.157L1397.58 476.793L1383.15 467.389M1412.63 468.157L1397.35 458.731L1383.15 467.389M1412.63 468.157L1394.51 470.48L1383.15 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1394.93 470.491L1383.15 467.39L1397.58 476.793L1412.63 468.158L1394.93 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1397.79 476.799L1394.93 470.491L1397.35 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1411.07 573.274L1396.9 579.836L1384.7 570.274L1398.11 563.625L1411.07 573.274Z" fill="#F2D664"/>
-<path d="M1411.07 573.274L1396.9 579.836L1384.7 570.274M1411.07 573.274L1398.11 563.625L1384.7 570.274M1411.07 573.274L1394.64 573.935L1384.7 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1395.03 573.979L1384.7 570.274L1396.9 579.836L1411.07 573.274L1395.03 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1397.09 579.858L1395.03 573.978L1398.11 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1409.59 678.153L1396.37 682.925L1386.19 673.394L1398.73 668.485L1409.59 678.153Z" fill="#FCEDB1"/>
-<path d="M1409.59 678.153L1396.37 682.925L1386.19 673.394M1409.59 678.153L1398.73 668.485L1386.19 673.394M1409.59 678.153L1394.81 677.457L1386.19 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1395.15 677.526L1386.19 673.394L1396.37 682.925L1409.59 678.153L1395.15 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1396.54 682.959L1395.15 677.526L1398.73 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1408.2 782.825L1395.97 786.066L1387.58 776.722L1399.21 773.304L1408.2 782.825Z" fill="#F2D664"/>
-<path d="M1408.2 782.825L1395.97 786.066L1387.58 776.722M1408.2 782.825L1399.21 773.304L1387.58 776.722M1408.2 782.825L1395 781.041L1387.58 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1395.3 781.13L1387.58 776.722L1395.97 786.066L1408.2 782.825L1395.3 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1396.12 786.11L1395.3 781.13L1399.21 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1406.89 887.318L1395.67 889.265L1388.89 880.229L1399.58 878.077L1406.89 887.318Z" fill="#F2D664"/>
-<path d="M1406.89 887.318L1395.67 889.265L1388.89 880.229M1406.89 887.318L1399.58 878.077L1388.89 880.229M1406.89 887.318L1395.2 884.683L1388.89 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1395.46 884.786L1388.89 880.229L1395.67 889.265L1406.89 887.318L1395.46 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.8 889.316L1395.46 884.786L1399.58 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1405.68 991.657L1395.47 992.523L1390.1 983.89L1399.86 982.799L1405.68 991.657Z" fill="#F2D664"/>
-<path d="M1405.68 991.657L1395.47 992.523L1390.1 983.89M1405.68 991.657L1399.86 982.799L1390.1 983.89M1405.68 991.657L1395.4 988.378L1390.1 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1395.63 988.49L1390.1 983.89L1395.47 992.523L1405.68 991.657L1395.63 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.58 992.579L1395.63 988.49L1399.86 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1404.57 1095.87L1395.35 1095.84L1391.21 1087.68L1400.04 1087.47L1404.57 1095.87Z" fill="#F2D664"/>
-<path d="M1404.57 1095.87L1395.35 1095.84L1391.21 1087.68M1404.57 1095.87L1400.04 1087.47L1391.21 1087.68M1404.57 1095.87L1395.61 1092.12L1391.21 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1395.81 1092.24L1391.21 1087.68L1395.35 1095.84L1404.57 1095.87L1395.81 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.45 1095.9L1395.81 1092.24L1400.04 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1403.56 1199.97L1395.29 1199.22L1392.22 1191.58L1400.16 1192.08L1403.56 1199.97Z" fill="#F2D664"/>
-<path d="M1403.56 1199.97L1395.29 1199.22L1392.22 1191.58M1403.56 1199.97L1400.16 1192.08L1392.22 1191.58M1403.56 1199.97L1395.82 1195.91L1392.22 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1395.99 1196.03L1392.22 1191.58L1395.29 1199.22L1403.56 1199.97L1395.99 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.38 1199.28L1395.99 1196.03L1400.16 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1402.64 1303.98L1395.29 1302.66L1393.14 1295.57L1400.21 1296.64L1402.64 1303.98Z" fill="#F2D664"/>
-<path d="M1402.64 1303.98L1395.29 1302.66L1393.14 1295.57M1402.64 1303.98L1400.21 1296.64L1393.14 1295.57M1402.64 1303.98L1396.03 1299.73L1393.14 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1396.16 1299.85L1393.14 1295.57L1395.29 1302.66L1402.64 1303.98L1396.16 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.36 1302.72L1396.16 1299.85L1400.21 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1401.82 1407.92L1395.33 1406.16L1393.96 1399.63L1400.22 1401.15L1401.82 1407.92Z" fill="#F2D664"/>
-<path d="M1401.82 1407.92L1395.33 1406.16L1393.96 1399.63M1401.82 1407.92L1400.22 1401.15L1393.96 1399.63M1401.82 1407.92L1396.22 1403.59L1393.96 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1396.34 1403.71L1393.96 1399.63L1395.33 1406.16L1401.82 1407.92L1396.34 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.39 1406.22L1396.34 1403.71L1400.22 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1401.09 1511.8L1395.41 1509.71L1394.69 1503.75L1400.18 1505.6L1401.09 1511.8Z" fill="#F2D664"/>
-<path d="M1401.09 1511.8L1395.41 1509.71L1394.69 1503.75M1401.09 1511.8L1400.18 1505.6L1394.69 1503.75M1401.09 1511.8L1396.41 1507.48L1394.69 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1396.5 1507.59L1394.69 1503.75L1395.41 1509.71L1401.09 1511.8L1396.5 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1395.46 1509.77L1396.5 1507.59L1400.18 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1402.28 1610.3L1398.77 1614.47L1393.5 1613.24L1396.76 1609.17L1402.28 1610.3Z" fill="#F2D664"/>
-<path d="M1402.28 1610.3L1398.77 1614.47L1393.5 1613.24M1402.28 1610.3L1396.76 1609.17L1393.5 1613.24M1402.28 1610.3L1397.18 1612.93L1393.5 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1397.31 1612.89L1393.5 1613.24L1398.77 1614.47L1402.28 1610.31L1397.31 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1398.83 1614.45L1397.31 1612.89L1396.76 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1522.75 44.6397L1505.69 64.8541L1480.13 58.9066L1495.95 39.1058L1522.75 44.6397Z" fill="#F2D664"/>
-<path d="M1522.75 44.6397L1505.69 64.8541L1480.13 58.9066M1522.75 44.6397L1495.95 39.1058L1480.13 58.9066M1522.75 44.6397L1498 57.4121L1480.13 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1498.62 57.2063L1480.13 58.9075L1505.69 64.8549L1522.75 44.6406L1498.62 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1506 64.7507L1498.62 57.2054L1495.95 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1521.1 151.05L1504.23 167.836L1481.77 160.498L1497.51 143.986L1521.1 151.05Z" fill="#F2D664"/>
-<path d="M1521.1 151.05L1504.23 167.836L1481.77 160.498M1521.1 151.05L1497.51 143.986L1481.77 160.498M1521.1 151.05L1497.92 160.56L1481.77 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1498.49 160.424L1481.77 160.498L1504.23 167.836L1521.1 151.05L1498.49 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1504.51 167.767L1498.49 160.423L1497.51 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1519.44 257.081L1502.99 270.807L1483.43 262.466L1498.84 248.896L1519.44 257.081Z" fill="#F2D664"/>
-<path d="M1519.44 257.081L1502.99 270.807L1483.43 262.466M1519.44 257.081L1498.84 248.896L1483.43 262.466M1519.44 257.081L1497.91 263.789L1483.43 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1498.43 263.711L1483.43 262.467L1502.99 270.807L1519.44 257.081L1498.43 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1503.25 270.768L1498.43 263.711L1498.84 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1517.79 362.772L1501.97 373.788L1485.09 364.776L1499.96 353.818L1517.79 362.772Z" fill="#F2D664"/>
-<path d="M1517.79 362.772L1501.97 373.788L1485.09 364.776M1517.79 362.772L1499.96 353.818L1485.09 364.776M1517.79 362.772L1497.96 367.097L1485.09 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1498.43 367.068L1485.09 364.776L1501.97 373.788L1517.79 362.771L1498.43 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1502.2 373.773L1498.43 367.068L1499.96 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1516.18 468.157L1501.13 476.793L1486.7 467.389L1500.89 458.731L1516.18 468.157Z" fill="#F2D664"/>
-<path d="M1516.18 468.157L1501.13 476.793L1486.7 467.389M1516.18 468.157L1500.89 458.731L1486.7 467.389M1516.18 468.157L1498.06 470.48L1486.7 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1498.48 470.491L1486.7 467.39L1501.12 476.793L1516.18 468.158L1498.48 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1501.34 476.799L1498.48 470.491L1500.89 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1514.62 573.274L1500.45 579.836L1488.25 570.274L1501.66 563.625L1514.62 573.274Z" fill="#F2D664"/>
-<path d="M1514.62 573.274L1500.45 579.836L1488.25 570.274M1514.62 573.274L1501.66 563.625L1488.25 570.274M1514.62 573.274L1498.19 573.935L1488.25 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1498.57 573.979L1488.25 570.274L1500.45 579.836L1514.62 573.274L1498.57 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1500.64 579.858L1498.57 573.978L1501.66 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1513.14 678.153L1499.92 682.925L1489.73 673.394L1502.28 668.485L1513.14 678.153Z" fill="#FCEDB1"/>
-<path d="M1513.14 678.153L1499.92 682.925L1489.73 673.394M1513.14 678.153L1502.28 668.485L1489.73 673.394M1513.14 678.153L1498.36 677.457L1489.73 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1498.7 677.526L1489.73 673.394L1499.92 682.925L1513.14 678.153L1498.7 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1500.09 682.959L1498.7 677.526L1502.28 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1511.74 782.825L1499.52 786.066L1491.13 776.722L1502.76 773.304L1511.74 782.825Z" fill="#F2D664"/>
-<path d="M1511.74 782.825L1499.52 786.066L1491.13 776.722M1511.74 782.825L1502.76 773.304L1491.13 776.722M1511.74 782.825L1498.54 781.041L1491.13 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1498.84 781.13L1491.13 776.722L1499.52 786.066L1511.74 782.825L1498.84 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1499.67 786.11L1498.84 781.13L1502.76 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1510.44 887.318L1499.22 889.265L1492.44 880.229L1503.13 878.077L1510.44 887.318Z" fill="#F2D664"/>
-<path d="M1510.44 887.318L1499.22 889.265L1492.44 880.229M1510.44 887.318L1503.13 878.077L1492.44 880.229M1510.44 887.318L1498.74 884.683L1492.44 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1499.01 884.786L1492.44 880.229L1499.22 889.265L1510.44 887.318L1499.01 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1499.35 889.316L1499.01 884.786L1503.13 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1509.23 991.657L1499.02 992.523L1493.64 983.89L1503.4 982.799L1509.23 991.657Z" fill="#F2D664"/>
-<path d="M1509.23 991.657L1499.02 992.523L1493.64 983.89M1509.23 991.657L1503.4 982.799L1493.64 983.89M1509.23 991.657L1498.95 988.378L1493.64 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1499.18 988.49L1493.64 983.89L1499.02 992.523L1509.23 991.657L1499.18 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1499.13 992.579L1499.18 988.49L1503.4 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1508.12 1095.87L1498.9 1095.84L1494.76 1087.68L1503.59 1087.47L1508.12 1095.87Z" fill="#F2D664"/>
-<path d="M1508.12 1095.87L1498.9 1095.84L1494.76 1087.68M1508.12 1095.87L1503.59 1087.47L1494.76 1087.68M1508.12 1095.87L1499.16 1092.12L1494.76 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1499.35 1092.24L1494.76 1087.68L1498.9 1095.84L1508.12 1095.87L1499.35 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1498.99 1095.9L1499.35 1092.24L1503.59 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1507.11 1199.97L1498.84 1199.22L1495.77 1191.58L1503.7 1192.08L1507.11 1199.97Z" fill="#F2D664"/>
-<path d="M1507.11 1199.97L1498.84 1199.22L1495.77 1191.58M1507.11 1199.97L1503.7 1192.08L1495.77 1191.58M1507.11 1199.97L1499.37 1195.91L1495.77 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1499.53 1196.03L1495.77 1191.58L1498.84 1199.22L1507.11 1199.97L1499.53 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1498.92 1199.28L1499.53 1196.03L1503.7 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1506.19 1303.98L1498.84 1302.66L1496.68 1295.57L1503.76 1296.64L1506.19 1303.98Z" fill="#F2D664"/>
-<path d="M1506.19 1303.98L1498.84 1302.66L1496.68 1295.57M1506.19 1303.98L1503.76 1296.64L1496.68 1295.57M1506.19 1303.98L1499.57 1299.73L1496.68 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1499.71 1299.85L1496.68 1295.57L1498.84 1302.66L1506.19 1303.98L1499.71 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1498.91 1302.72L1499.71 1299.85L1503.76 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1505.37 1407.92L1498.88 1406.16L1497.5 1399.63L1503.77 1401.15L1505.37 1407.92Z" fill="#F2D664"/>
-<path d="M1505.37 1407.92L1498.88 1406.16L1497.5 1399.63M1505.37 1407.92L1503.77 1401.15L1497.5 1399.63M1505.37 1407.92L1499.77 1403.59L1497.5 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1499.88 1403.71L1497.5 1399.63L1498.88 1406.16L1505.37 1407.92L1499.88 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1498.94 1406.22L1499.88 1403.71L1503.77 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1504.64 1511.8L1498.96 1509.71L1498.24 1503.75L1503.73 1505.6L1504.64 1511.8Z" fill="#F2D664"/>
-<path d="M1504.64 1511.8L1498.96 1509.71L1498.24 1503.75M1504.64 1511.8L1503.73 1505.6L1498.24 1503.75M1504.64 1511.8L1499.96 1507.48L1498.24 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1500.05 1507.59L1498.24 1503.75L1498.96 1509.71L1504.64 1511.8L1500.05 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1499 1509.77L1500.05 1507.59L1503.73 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1505.82 1610.3L1502.31 1614.47L1497.05 1613.24L1500.31 1609.17L1505.82 1610.3Z" fill="#F2D664"/>
-<path d="M1505.82 1610.3L1502.31 1614.47L1497.05 1613.24M1505.82 1610.3L1500.31 1609.17L1497.05 1613.24M1505.82 1610.3L1500.73 1612.93L1497.05 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1500.86 1612.89L1497.05 1613.24L1502.31 1614.47L1505.82 1610.31L1500.86 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1502.38 1614.45L1500.86 1612.89L1500.31 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1626.29 44.6397L1609.24 64.8541L1583.67 58.9066L1599.49 39.1058L1626.29 44.6397Z" fill="#F2D664"/>
-<path d="M1626.29 44.6397L1609.24 64.8541L1583.67 58.9066M1626.29 44.6397L1599.49 39.1058L1583.67 58.9066M1626.29 44.6397L1601.55 57.4121L1583.67 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1602.17 57.2063L1583.67 58.9075L1609.24 64.8549L1626.29 44.6406L1602.17 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1609.55 64.7507L1602.17 57.2054L1599.49 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1624.65 151.05L1607.77 167.836L1585.32 160.498L1601.06 143.986L1624.65 151.05Z" fill="#F2D664"/>
-<path d="M1624.65 151.05L1607.77 167.836L1585.32 160.498M1624.65 151.05L1601.06 143.986L1585.32 160.498M1624.65 151.05L1601.46 160.56L1585.32 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1602.03 160.424L1585.32 160.498L1607.77 167.836L1624.65 151.05L1602.03 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1608.06 167.767L1602.03 160.423L1601.05 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1622.99 257.081L1606.54 270.807L1586.98 262.466L1602.39 248.896L1622.99 257.081Z" fill="#F2D664"/>
-<path d="M1622.99 257.081L1606.54 270.807L1586.98 262.466M1622.99 257.081L1602.39 248.896L1586.98 262.466M1622.99 257.081L1601.45 263.789L1586.98 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1601.97 263.711L1586.98 262.467L1606.54 270.807L1622.99 257.081L1601.97 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1606.8 270.768L1601.97 263.711L1602.39 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1621.34 362.772L1605.51 373.788L1588.63 364.776L1603.51 353.818L1621.34 362.772Z" fill="#F2D664"/>
-<path d="M1621.34 362.772L1605.51 373.788L1588.63 364.776M1621.34 362.772L1603.51 353.818L1588.63 364.776M1621.34 362.772L1601.5 367.097L1588.63 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1601.98 367.068L1588.63 364.776L1605.51 373.788L1621.34 362.771L1601.98 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1605.75 373.773L1601.98 367.068L1603.51 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1619.72 468.157L1604.67 476.793L1590.25 467.389L1604.44 458.731L1619.72 468.157Z" fill="#F2D664"/>
-<path d="M1619.72 468.157L1604.67 476.793L1590.25 467.389M1619.72 468.157L1604.44 458.731L1590.25 467.389M1619.72 468.157L1601.6 470.48L1590.25 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1602.03 470.491L1590.24 467.39L1604.67 476.793L1619.72 468.158L1602.03 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1604.89 476.799L1602.03 470.491L1604.44 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1618.17 573.274L1604 579.836L1591.8 570.274L1605.21 563.625L1618.17 573.274Z" fill="#F2D664"/>
-<path d="M1618.17 573.274L1604 579.836L1591.8 570.274M1618.17 573.274L1605.21 563.625L1591.8 570.274M1618.17 573.274L1601.74 573.935L1591.8 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1602.12 573.979L1591.8 570.274L1604 579.836L1618.17 573.274L1602.12 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1604.19 579.858L1602.12 573.978L1605.21 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1616.69 678.153L1603.47 682.925L1593.28 673.394L1605.82 668.485L1616.69 678.153Z" fill="#FCEDB1"/>
-<path d="M1616.69 678.153L1603.47 682.925L1593.28 673.394M1616.69 678.153L1605.82 668.485L1593.28 673.394M1616.69 678.153L1601.91 677.457L1593.28 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1602.24 677.526L1593.28 673.394L1603.47 682.925L1616.69 678.153L1602.24 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1603.64 682.959L1602.25 677.526L1605.82 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1615.29 782.825L1603.06 786.066L1594.68 776.722L1606.31 773.304L1615.29 782.825Z" fill="#F2D664"/>
-<path d="M1615.29 782.825L1603.06 786.066L1594.68 776.722M1615.29 782.825L1606.31 773.304L1594.68 776.722M1615.29 782.825L1602.09 781.041L1594.68 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1602.39 781.13L1594.68 776.722L1603.06 786.066L1615.29 782.825L1602.39 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1603.21 786.11L1602.39 781.13L1606.31 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1613.99 887.318L1602.77 889.265L1595.98 880.229L1606.68 878.077L1613.99 887.318Z" fill="#F2D664"/>
-<path d="M1613.99 887.318L1602.77 889.265L1595.98 880.229M1613.99 887.318L1606.68 878.077L1595.98 880.229M1613.99 887.318L1602.29 884.683L1595.98 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1602.55 884.786L1595.98 880.229L1602.77 889.265L1613.98 887.318L1602.55 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.9 889.316L1602.55 884.786L1606.68 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1612.78 991.657L1602.57 992.523L1597.19 983.89L1606.95 982.799L1612.78 991.657Z" fill="#F2D664"/>
-<path d="M1612.78 991.657L1602.57 992.523L1597.19 983.89M1612.78 991.657L1606.95 982.799L1597.19 983.89M1612.78 991.657L1602.5 988.378L1597.19 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1602.72 988.49L1597.19 983.89L1602.57 992.523L1612.78 991.657L1602.72 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.68 992.579L1602.72 988.49L1606.95 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1611.67 1095.87L1602.44 1095.84L1598.3 1087.68L1607.14 1087.47L1611.67 1095.87Z" fill="#F2D664"/>
-<path d="M1611.67 1095.87L1602.44 1095.84L1598.3 1087.68M1611.67 1095.87L1607.14 1087.47L1598.3 1087.68M1611.67 1095.87L1602.71 1092.12L1598.3 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1602.9 1092.24L1598.3 1087.68L1602.44 1095.84L1611.67 1095.87L1602.9 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.54 1095.9L1602.9 1092.24L1607.14 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1610.65 1199.97L1602.39 1199.22L1599.31 1191.58L1607.25 1192.08L1610.65 1199.97Z" fill="#F2D664"/>
-<path d="M1610.65 1199.97L1602.39 1199.22L1599.31 1191.58M1610.65 1199.97L1607.25 1192.08L1599.31 1191.58M1610.65 1199.97L1602.92 1195.91L1599.31 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1603.08 1196.03L1599.31 1191.58L1602.39 1199.22L1610.65 1199.97L1603.08 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.47 1199.28L1603.08 1196.03L1607.25 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1609.74 1303.98L1602.39 1302.66L1600.23 1295.57L1607.31 1296.64L1609.74 1303.98Z" fill="#F2D664"/>
-<path d="M1609.74 1303.98L1602.39 1302.66L1600.23 1295.57M1609.74 1303.98L1607.31 1296.64L1600.23 1295.57M1609.74 1303.98L1603.12 1299.73L1600.23 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1603.26 1299.85L1600.23 1295.57L1602.39 1302.66L1609.74 1303.98L1603.26 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.45 1302.72L1603.26 1299.85L1607.31 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1608.92 1407.92L1602.43 1406.16L1601.05 1399.63L1607.31 1401.15L1608.92 1407.92Z" fill="#F2D664"/>
-<path d="M1608.92 1407.92L1602.43 1406.16L1601.05 1399.63M1608.92 1407.92L1607.31 1401.15L1601.05 1399.63M1608.92 1407.92L1603.32 1403.59L1601.05 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1603.43 1403.71L1601.05 1399.63L1602.43 1406.16L1608.92 1407.92L1603.43 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.48 1406.22L1603.43 1403.71L1607.31 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1608.19 1511.8L1602.51 1509.71L1601.78 1503.75L1607.28 1505.6L1608.19 1511.8Z" fill="#F2D664"/>
-<path d="M1608.19 1511.8L1602.51 1509.71L1601.78 1503.75M1608.19 1511.8L1607.28 1505.6L1601.78 1503.75M1608.19 1511.8L1603.5 1507.48L1601.78 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1603.6 1507.59L1601.78 1503.75L1602.51 1509.71L1608.19 1511.8L1603.6 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1602.55 1509.77L1603.6 1507.59L1607.28 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1609.37 1610.3L1605.86 1614.47L1600.6 1613.24L1603.85 1609.17L1609.37 1610.3Z" fill="#F2D664"/>
-<path d="M1609.37 1610.3L1605.86 1614.47L1600.6 1613.24M1609.37 1610.3L1603.85 1609.17L1600.6 1613.24M1609.37 1610.3L1604.28 1612.93L1600.6 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1604.4 1612.89L1600.6 1613.24L1605.86 1614.47L1609.37 1610.31L1604.4 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1605.92 1614.45L1604.4 1612.89L1603.85 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1729.84 44.6397L1712.79 64.8541L1687.22 58.9066L1703.04 39.1058L1729.84 44.6397Z" fill="#F2D664"/>
-<path d="M1729.84 44.6397L1712.79 64.8541L1687.22 58.9066M1729.84 44.6397L1703.04 39.1058L1687.22 58.9066M1729.84 44.6397L1705.1 57.4121L1687.22 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1705.72 57.2063L1687.22 58.9075L1712.79 64.8549L1729.84 44.6406L1705.72 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1713.1 64.7507L1705.72 57.2054L1703.04 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1728.2 151.05L1711.32 167.836L1688.87 160.498L1704.6 143.986L1728.2 151.05Z" fill="#F2D664"/>
-<path d="M1728.2 151.05L1711.32 167.836L1688.87 160.498M1728.2 151.05L1704.6 143.986L1688.87 160.498M1728.2 151.05L1705.01 160.56L1688.87 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1705.58 160.424L1688.87 160.498L1711.32 167.836L1728.2 151.05L1705.58 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1711.61 167.767L1705.58 160.423L1704.6 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1726.53 257.081L1710.09 270.807L1690.53 262.466L1705.93 248.896L1726.53 257.081Z" fill="#F2D664"/>
-<path d="M1726.53 257.081L1710.09 270.807L1690.53 262.466M1726.53 257.081L1705.93 248.896L1690.53 262.466M1726.53 257.081L1705 263.789L1690.53 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1705.52 263.711L1690.53 262.467L1710.09 270.807L1726.53 257.081L1705.52 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1710.35 270.768L1705.52 263.711L1705.93 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1724.88 362.772L1709.06 373.788L1692.18 364.776L1707.06 353.818L1724.88 362.772Z" fill="#F2D664"/>
-<path d="M1724.88 362.772L1709.06 373.788L1692.18 364.776M1724.88 362.772L1707.06 353.818L1692.18 364.776M1724.88 362.772L1705.05 367.097L1692.18 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1705.52 367.068L1692.18 364.776L1709.06 373.788L1724.88 362.771L1705.52 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1709.3 373.773L1705.52 367.068L1707.06 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1723.27 468.157L1708.22 476.793L1693.79 467.389L1707.99 458.731L1723.27 468.157Z" fill="#F2D664"/>
-<path d="M1723.27 468.157L1708.22 476.793L1693.79 467.389M1723.27 468.157L1707.99 458.731L1693.79 467.389M1723.27 468.157L1705.15 470.48L1693.79 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1705.58 470.491L1693.79 467.39L1708.22 476.793L1723.27 468.158L1705.58 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1708.43 476.799L1705.58 470.491L1707.99 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1721.72 573.274L1707.54 579.836L1695.35 570.274L1708.75 563.625L1721.72 573.274Z" fill="#F2D664"/>
-<path d="M1721.72 573.274L1707.54 579.836L1695.35 570.274M1721.72 573.274L1708.75 563.625L1695.35 570.274M1721.72 573.274L1705.29 573.935L1695.35 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1705.67 573.979L1695.35 570.274L1707.54 579.836L1721.72 573.274L1705.67 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1707.74 579.858L1705.67 573.978L1708.75 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1720.24 678.153L1707.01 682.925L1696.83 673.394L1709.37 668.485L1720.24 678.153Z" fill="#FCEDB1"/>
-<path d="M1720.24 678.153L1707.01 682.925L1696.83 673.394M1720.24 678.153L1709.37 668.485L1696.83 673.394M1720.24 678.153L1705.45 677.457L1696.83 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1705.79 677.526L1696.83 673.394L1707.01 682.925L1720.23 678.153L1705.79 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1707.18 682.959L1705.79 677.526L1709.37 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1718.84 782.825L1706.61 786.066L1698.23 776.722L1709.86 773.304L1718.84 782.825Z" fill="#F2D664"/>
-<path d="M1718.84 782.825L1706.61 786.066L1698.23 776.722M1718.84 782.825L1709.86 773.304L1698.23 776.722M1718.84 782.825L1705.64 781.041L1698.23 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1705.94 781.13L1698.22 776.722L1706.61 786.066L1718.84 782.825L1705.94 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.76 786.11L1705.94 781.13L1709.86 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1717.53 887.318L1706.32 889.265L1699.53 880.229L1710.23 878.077L1717.53 887.318Z" fill="#F2D664"/>
-<path d="M1717.53 887.318L1706.32 889.265L1699.53 880.229M1717.53 887.318L1710.23 878.077L1699.53 880.229M1717.53 887.318L1705.84 884.683L1699.53 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1706.1 884.786L1699.53 880.229L1706.32 889.265L1717.53 887.318L1706.1 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.45 889.316L1706.1 884.786L1710.23 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1716.32 991.657L1706.11 992.523L1700.74 983.89L1710.5 982.799L1716.32 991.657Z" fill="#F2D664"/>
-<path d="M1716.32 991.657L1706.11 992.523L1700.74 983.89M1716.32 991.657L1710.5 982.799L1700.74 983.89M1716.32 991.657L1706.05 988.378L1700.74 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1706.27 988.49L1700.74 983.89L1706.11 992.523L1716.32 991.657L1706.27 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.23 992.579L1706.27 988.49L1710.5 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1715.21 1095.87L1705.99 1095.84L1701.85 1087.68L1710.68 1087.47L1715.21 1095.87Z" fill="#F2D664"/>
-<path d="M1715.21 1095.87L1705.99 1095.84L1701.85 1087.68M1715.21 1095.87L1710.68 1087.47L1701.85 1087.68M1715.21 1095.87L1706.26 1092.12L1701.85 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1706.45 1092.24L1701.85 1087.68L1705.99 1095.84L1715.21 1095.87L1706.45 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.09 1095.9L1706.45 1092.24L1710.68 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1714.2 1199.97L1705.94 1199.22L1702.86 1191.58L1710.8 1192.08L1714.2 1199.97Z" fill="#F2D664"/>
-<path d="M1714.2 1199.97L1705.94 1199.22L1702.86 1191.58M1714.2 1199.97L1710.8 1192.08L1702.86 1191.58M1714.2 1199.97L1706.46 1195.91L1702.86 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1706.63 1196.03L1702.86 1191.58L1705.93 1199.22L1714.2 1199.97L1706.63 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.02 1199.28L1706.63 1196.03L1710.8 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1713.29 1303.98L1705.93 1302.66L1703.78 1295.57L1710.85 1296.64L1713.29 1303.98Z" fill="#F2D664"/>
-<path d="M1713.29 1303.98L1705.93 1302.66L1703.78 1295.57M1713.29 1303.98L1710.85 1296.64L1703.78 1295.57M1713.29 1303.98L1706.67 1299.73L1703.78 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1706.81 1299.85L1703.78 1295.57L1705.93 1302.66L1713.29 1303.98L1706.81 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706 1302.72L1706.81 1299.85L1710.85 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1712.46 1407.92L1705.98 1406.16L1704.6 1399.63L1710.86 1401.15L1712.46 1407.92Z" fill="#F2D664"/>
-<path d="M1712.46 1407.92L1705.98 1406.16L1704.6 1399.63M1712.46 1407.92L1710.86 1401.15L1704.6 1399.63M1712.46 1407.92L1706.86 1403.59L1704.6 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1706.98 1403.71L1704.6 1399.63L1705.98 1406.16L1712.46 1407.92L1706.98 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.03 1406.22L1706.98 1403.71L1710.86 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1711.73 1511.8L1706.05 1509.71L1705.33 1503.75L1710.83 1505.6L1711.73 1511.8Z" fill="#F2D664"/>
-<path d="M1711.73 1511.8L1706.05 1509.71L1705.33 1503.75M1711.73 1511.8L1710.83 1505.6L1705.33 1503.75M1711.73 1511.8L1707.05 1507.48L1705.33 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1707.14 1507.59L1705.33 1503.75L1706.05 1509.71L1711.73 1511.8L1707.14 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1706.1 1509.77L1707.14 1507.59L1710.83 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1712.92 1610.3L1709.41 1614.47L1704.14 1613.24L1707.4 1609.17L1712.92 1610.3Z" fill="#F2D664"/>
-<path d="M1712.92 1610.3L1709.41 1614.47L1704.14 1613.24M1712.92 1610.3L1707.4 1609.17L1704.14 1613.24M1712.92 1610.3L1707.82 1612.93L1704.14 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1707.95 1612.89L1704.14 1613.24L1709.41 1614.47L1712.92 1610.31L1707.95 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1709.47 1614.45L1707.95 1612.89L1707.4 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1833.39 44.6397L1816.33 64.8541L1790.77 58.9066L1806.59 39.1058L1833.39 44.6397Z" fill="#F2D664"/>
-<path d="M1833.39 44.6397L1816.33 64.8541L1790.77 58.9066M1833.39 44.6397L1806.59 39.1058L1790.77 58.9066M1833.39 44.6397L1808.65 57.4121L1790.77 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1809.26 57.2063L1790.77 58.9075L1816.33 64.8549L1833.39 44.6406L1809.26 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1816.64 64.7507L1809.26 57.2054L1806.59 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1831.75 151.05L1814.87 167.836L1792.41 160.498L1808.15 143.986L1831.75 151.05Z" fill="#F2D664"/>
-<path d="M1831.75 151.05L1814.87 167.836L1792.41 160.498M1831.75 151.05L1808.15 143.986L1792.41 160.498M1831.75 151.05L1808.56 160.56L1792.41 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1809.13 160.424L1792.41 160.498L1814.87 167.836L1831.74 151.05L1809.13 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1815.15 167.767L1809.13 160.423L1808.15 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1830.08 257.081L1813.63 270.807L1794.08 262.466L1809.48 248.896L1830.08 257.081Z" fill="#F2D664"/>
-<path d="M1830.08 257.081L1813.63 270.807L1794.08 262.466M1830.08 257.081L1809.48 248.896L1794.08 262.466M1830.08 257.081L1808.55 263.789L1794.08 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1809.07 263.711L1794.08 262.467L1813.63 270.807L1830.08 257.081L1809.07 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1813.89 270.768L1809.07 263.711L1809.48 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1828.43 362.772L1812.61 373.788L1795.73 364.776L1810.6 353.818L1828.43 362.772Z" fill="#F2D664"/>
-<path d="M1828.43 362.772L1812.61 373.788L1795.73 364.776M1828.43 362.772L1810.6 353.818L1795.73 364.776M1828.43 362.772L1808.6 367.097L1795.73 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1809.07 367.068L1795.73 364.776L1812.61 373.788L1828.43 362.771L1809.07 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1812.84 373.773L1809.07 367.068L1810.6 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1826.82 468.157L1811.77 476.793L1797.34 467.389L1811.54 458.731L1826.82 468.157Z" fill="#F2D664"/>
-<path d="M1826.82 468.157L1811.77 476.793L1797.34 467.389M1826.82 468.157L1811.54 458.731L1797.34 467.389M1826.82 468.157L1808.7 470.48L1797.34 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1809.12 470.491L1797.34 467.39L1811.77 476.793L1826.82 468.158L1809.12 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1811.98 476.799L1809.12 470.491L1811.54 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1825.26 573.274L1811.09 579.836L1798.89 570.274L1812.3 563.625L1825.26 573.274Z" fill="#F2D664"/>
-<path d="M1825.26 573.274L1811.09 579.836L1798.89 570.274M1825.26 573.274L1812.3 563.625L1798.89 570.274M1825.26 573.274L1808.83 573.935L1798.89 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1809.22 573.979L1798.89 570.274L1811.09 579.836L1825.26 573.274L1809.22 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1811.28 579.858L1809.22 573.978L1812.3 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1823.78 678.153L1810.56 682.925L1800.38 673.394L1812.92 668.485L1823.78 678.153Z" fill="#FCEDB1"/>
-<path d="M1823.78 678.153L1810.56 682.925L1800.38 673.394M1823.78 678.153L1812.92 668.485L1800.38 673.394M1823.78 678.153L1809 677.457L1800.38 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1809.34 677.526L1800.38 673.394L1810.56 682.925L1823.78 678.153L1809.34 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1810.73 682.959L1809.34 677.526L1812.92 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1822.39 782.825L1810.16 786.066L1801.77 776.722L1813.4 773.304L1822.39 782.825Z" fill="#F2D664"/>
-<path d="M1822.39 782.825L1810.16 786.066L1801.77 776.722M1822.39 782.825L1813.4 773.304L1801.77 776.722M1822.39 782.825L1809.19 781.041L1801.77 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1809.49 781.13L1801.77 776.722L1810.16 786.066L1822.38 782.825L1809.49 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1810.31 786.11L1809.49 781.13L1813.4 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1821.08 887.318L1809.86 889.265L1803.08 880.229L1813.77 878.077L1821.08 887.318Z" fill="#F2D664"/>
-<path d="M1821.08 887.318L1809.86 889.265L1803.08 880.229M1821.08 887.318L1813.77 878.077L1803.08 880.229M1821.08 887.318L1809.39 884.683L1803.08 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1809.65 884.786L1803.08 880.229L1809.86 889.265L1821.08 887.318L1809.65 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.99 889.316L1809.65 884.786L1813.77 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1819.87 991.657L1809.66 992.523L1804.29 983.89L1814.05 982.799L1819.87 991.657Z" fill="#F2D664"/>
-<path d="M1819.87 991.657L1809.66 992.523L1804.29 983.89M1819.87 991.657L1814.05 982.799L1804.29 983.89M1819.87 991.657L1809.59 988.378L1804.29 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1809.82 988.49L1804.29 983.89L1809.66 992.523L1819.87 991.657L1809.82 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.77 992.579L1809.82 988.49L1814.04 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1818.76 1095.87L1809.54 1095.84L1805.4 1087.68L1814.23 1087.47L1818.76 1095.87Z" fill="#F2D664"/>
-<path d="M1818.76 1095.87L1809.54 1095.84L1805.4 1087.68M1818.76 1095.87L1814.23 1087.47L1805.4 1087.68M1818.76 1095.87L1809.8 1092.12L1805.4 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1810 1092.24L1805.4 1087.68L1809.54 1095.84L1818.76 1095.87L1810 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.64 1095.9L1810 1092.24L1814.23 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1817.75 1199.97L1809.48 1199.22L1806.41 1191.58L1814.35 1192.08L1817.75 1199.97Z" fill="#F2D664"/>
-<path d="M1817.75 1199.97L1809.48 1199.22L1806.41 1191.58M1817.75 1199.97L1814.35 1192.08L1806.41 1191.58M1817.75 1199.97L1810.01 1195.91L1806.41 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1810.18 1196.03L1806.41 1191.58L1809.48 1199.22L1817.75 1199.97L1810.18 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.56 1199.28L1810.18 1196.03L1814.35 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1816.83 1303.98L1809.48 1302.66L1807.33 1295.57L1814.4 1296.64L1816.83 1303.98Z" fill="#F2D664"/>
-<path d="M1816.83 1303.98L1809.48 1302.66L1807.33 1295.57M1816.83 1303.98L1814.4 1296.64L1807.33 1295.57M1816.83 1303.98L1810.22 1299.73L1807.33 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1810.35 1299.85L1807.32 1295.57L1809.48 1302.66L1816.83 1303.98L1810.35 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.55 1302.72L1810.35 1299.85L1814.4 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1816.01 1407.92L1809.52 1406.16L1808.15 1399.63L1814.41 1401.15L1816.01 1407.92Z" fill="#F2D664"/>
-<path d="M1816.01 1407.92L1809.52 1406.16L1808.15 1399.63M1816.01 1407.92L1814.41 1401.15L1808.15 1399.63M1816.01 1407.92L1810.41 1403.59L1808.15 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1810.53 1403.71L1808.15 1399.63L1809.52 1406.16L1816.01 1407.92L1810.53 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.58 1406.22L1810.53 1403.71L1814.41 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1815.28 1511.8L1809.6 1509.71L1808.88 1503.75L1814.37 1505.6L1815.28 1511.8Z" fill="#F2D664"/>
-<path d="M1815.28 1511.8L1809.6 1509.71L1808.88 1503.75M1815.28 1511.8L1814.37 1505.6L1808.88 1503.75M1815.28 1511.8L1810.6 1507.48L1808.88 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1810.69 1507.59L1808.88 1503.75L1809.6 1509.71L1815.28 1511.8L1810.69 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1809.65 1509.77L1810.69 1507.59L1814.37 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1816.47 1610.3L1812.96 1614.47L1807.69 1613.24L1810.95 1609.17L1816.47 1610.3Z" fill="#F2D664"/>
-<path d="M1816.47 1610.3L1812.96 1614.47L1807.69 1613.24M1816.47 1610.3L1810.95 1609.17L1807.69 1613.24M1816.47 1610.3L1811.37 1612.93L1807.69 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1811.5 1612.89L1807.69 1613.24L1812.95 1614.47L1816.47 1610.31L1811.5 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1813.02 1614.45L1811.5 1612.89L1810.95 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M1936.94 44.6397L1919.88 64.8541L1894.32 58.9066L1910.14 39.1058L1936.94 44.6397Z" fill="#F2D664"/>
-<path d="M1936.94 44.6397L1919.88 64.8541L1894.32 58.9066M1936.94 44.6397L1910.14 39.1058L1894.32 58.9066M1936.94 44.6397L1912.19 57.4121L1894.32 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M1912.81 57.2063L1894.32 58.9075L1919.88 64.8549L1936.94 44.6406L1912.81 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1920.19 64.7507L1912.81 57.2054L1910.14 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M1935.29 151.05L1918.42 167.836L1895.96 160.498L1911.7 143.986L1935.29 151.05Z" fill="#F2D664"/>
-<path d="M1935.29 151.05L1918.42 167.836L1895.96 160.498M1935.29 151.05L1911.7 143.986L1895.96 160.498M1935.29 151.05L1912.11 160.56L1895.96 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M1912.68 160.424L1895.96 160.498L1918.42 167.836L1935.29 151.05L1912.68 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1918.7 167.767L1912.68 160.423L1911.7 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M1933.63 257.081L1917.18 270.807L1897.62 262.466L1913.03 248.896L1933.63 257.081Z" fill="#F2D664"/>
-<path d="M1933.63 257.081L1917.18 270.807L1897.62 262.466M1933.63 257.081L1913.03 248.896L1897.62 262.466M1933.63 257.081L1912.09 263.789L1897.62 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M1912.62 263.711L1897.62 262.467L1917.18 270.807L1933.63 257.081L1912.62 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1917.44 270.768L1912.62 263.711L1913.03 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M1931.98 362.772L1916.16 373.788L1899.28 364.776L1914.15 353.818L1931.98 362.772Z" fill="#F2D664"/>
-<path d="M1931.98 362.772L1916.16 373.788L1899.28 364.776M1931.98 362.772L1914.15 353.818L1899.28 364.776M1931.98 362.772L1912.15 367.097L1899.28 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M1912.62 367.068L1899.27 364.776L1916.15 373.788L1931.98 362.771L1912.62 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1916.39 373.773L1912.62 367.068L1914.15 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M1930.37 468.157L1915.31 476.793L1900.89 467.389L1915.08 458.731L1930.37 468.157Z" fill="#F2D664"/>
-<path d="M1930.37 468.157L1915.31 476.793L1900.89 467.389M1930.37 468.157L1915.08 458.731L1900.89 467.389M1930.37 468.157L1912.24 470.48L1900.89 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M1912.67 470.491L1900.89 467.39L1915.31 476.793L1930.36 468.158L1912.67 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1915.53 476.799L1912.67 470.491L1915.08 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M1928.81 573.274L1914.64 579.836L1902.44 570.274L1915.85 563.625L1928.81 573.274Z" fill="#F2D664"/>
-<path d="M1928.81 573.274L1914.64 579.836L1902.44 570.274M1928.81 573.274L1915.85 563.625L1902.44 570.274M1928.81 573.274L1912.38 573.935L1902.44 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M1912.76 573.979L1902.44 570.274L1914.64 579.836L1928.81 573.274L1912.76 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1914.83 579.858L1912.76 573.978L1915.85 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M1927.33 678.153L1914.11 682.925L1903.92 673.394L1916.47 668.485L1927.33 678.153Z" fill="#FCEDB1"/>
-<path d="M1927.33 678.153L1914.11 682.925L1903.92 673.394M1927.33 678.153L1916.47 668.485L1903.92 673.394M1927.33 678.153L1912.55 677.457L1903.92 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M1912.89 677.526L1903.92 673.394L1914.11 682.925L1927.33 678.153L1912.89 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1914.28 682.959L1912.89 677.526L1916.47 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M1925.93 782.825L1913.71 786.066L1905.32 776.722L1916.95 773.304L1925.93 782.825Z" fill="#F2D664"/>
-<path d="M1925.93 782.825L1913.71 786.066L1905.32 776.722M1925.93 782.825L1916.95 773.304L1905.32 776.722M1925.93 782.825L1912.73 781.041L1905.32 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M1913.03 781.13L1905.32 776.722L1913.7 786.066L1925.93 782.825L1913.03 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.85 786.11L1913.03 781.13L1916.95 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M1924.63 887.318L1913.41 889.265L1906.63 880.229L1917.32 878.077L1924.63 887.318Z" fill="#F2D664"/>
-<path d="M1924.63 887.318L1913.41 889.265L1906.63 880.229M1924.63 887.318L1917.32 878.077L1906.63 880.229M1924.63 887.318L1912.93 884.683L1906.63 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M1913.19 884.786L1906.62 880.229L1913.41 889.265L1924.63 887.318L1913.19 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.54 889.316L1913.19 884.786L1917.32 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M1923.42 991.657L1913.21 992.523L1907.83 983.89L1917.59 982.799L1923.42 991.657Z" fill="#F2D664"/>
-<path d="M1923.42 991.657L1913.21 992.523L1907.83 983.89M1923.42 991.657L1917.59 982.799L1907.83 983.89M1923.42 991.657L1913.14 988.378L1907.83 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M1913.37 988.49L1907.83 983.89L1913.21 992.523L1923.42 991.657L1913.37 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.32 992.579L1913.37 988.49L1917.59 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M1922.31 1095.87L1913.09 1095.84L1908.94 1087.68L1917.78 1087.47L1922.31 1095.87Z" fill="#F2D664"/>
-<path d="M1922.31 1095.87L1913.09 1095.84L1908.94 1087.68M1922.31 1095.87L1917.78 1087.47L1908.94 1087.68M1922.31 1095.87L1913.35 1092.12L1908.94 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M1913.54 1092.24L1908.94 1087.68L1913.09 1095.84L1922.31 1095.87L1913.54 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.18 1095.9L1913.54 1092.24L1917.78 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M1921.3 1199.97L1913.03 1199.22L1909.96 1191.58L1917.89 1192.08L1921.3 1199.97Z" fill="#F2D664"/>
-<path d="M1921.3 1199.97L1913.03 1199.22L1909.96 1191.58M1921.3 1199.97L1917.89 1192.08L1909.96 1191.58M1921.3 1199.97L1913.56 1195.91L1909.96 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M1913.72 1196.03L1909.96 1191.58L1913.03 1199.22L1921.3 1199.97L1913.72 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.11 1199.28L1913.72 1196.03L1917.89 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M1920.38 1303.98L1913.03 1302.66L1910.87 1295.57L1917.95 1296.64L1920.38 1303.98Z" fill="#F2D664"/>
-<path d="M1920.38 1303.98L1913.03 1302.66L1910.87 1295.57M1920.38 1303.98L1917.95 1296.64L1910.87 1295.57M1920.38 1303.98L1913.76 1299.73L1910.87 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M1913.9 1299.85L1910.87 1295.57L1913.03 1302.66L1920.38 1303.98L1913.9 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.1 1302.72L1913.9 1299.85L1917.95 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M1919.56 1407.92L1913.07 1406.16L1911.69 1399.63L1917.95 1401.15L1919.56 1407.92Z" fill="#F2D664"/>
-<path d="M1919.56 1407.92L1913.07 1406.16L1911.69 1399.63M1919.56 1407.92L1917.95 1401.15L1911.69 1399.63M1919.56 1407.92L1913.96 1403.59L1911.69 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M1914.07 1403.71L1911.69 1399.63L1913.07 1406.16L1919.56 1407.92L1914.07 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.13 1406.22L1914.07 1403.71L1917.95 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M1918.83 1511.8L1913.15 1509.71L1912.43 1503.75L1917.92 1505.6L1918.83 1511.8Z" fill="#F2D664"/>
-<path d="M1918.83 1511.8L1913.15 1509.71L1912.43 1503.75M1918.83 1511.8L1917.92 1505.6L1912.43 1503.75M1918.83 1511.8L1914.15 1507.48L1912.43 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M1914.24 1507.59L1912.43 1503.75L1913.15 1509.71L1918.83 1511.8L1914.24 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1913.19 1509.77L1914.24 1507.59L1917.92 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M1920.01 1610.3L1916.5 1614.47L1911.24 1613.24L1914.5 1609.17L1920.01 1610.3Z" fill="#F2D664"/>
-<path d="M1920.01 1610.3L1916.5 1614.47L1911.24 1613.24M1920.01 1610.3L1914.5 1609.17L1911.24 1613.24M1920.01 1610.3L1914.92 1612.93L1911.24 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M1915.05 1612.89L1911.24 1613.24L1916.5 1614.47L1920.01 1610.31L1915.05 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M1916.57 1614.45L1915.05 1612.89L1914.5 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2040.48 44.6397L2023.43 64.8541L1997.86 58.9066L2013.68 39.1058L2040.48 44.6397Z" fill="#F2D664"/>
-<path d="M2040.48 44.6397L2023.43 64.8541L1997.86 58.9066M2040.48 44.6397L2013.68 39.1058L1997.86 58.9066M2040.48 44.6397L2015.74 57.4121L1997.86 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2016.36 57.2063L1997.86 58.9075L2023.43 64.8549L2040.48 44.6406L2016.36 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2023.74 64.7507L2016.36 57.2054L2013.68 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2038.84 151.05L2021.96 167.836L1999.51 160.498L2015.24 143.986L2038.84 151.05Z" fill="#F2D664"/>
-<path d="M2038.84 151.05L2021.96 167.836L1999.51 160.498M2038.84 151.05L2015.24 143.986L1999.51 160.498M2038.84 151.05L2015.65 160.56L1999.51 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2016.22 160.424L1999.51 160.498L2021.96 167.836L2038.84 151.05L2016.22 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2022.25 167.767L2016.22 160.423L2015.24 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2037.18 257.081L2020.73 270.807L2001.17 262.466L2016.58 248.896L2037.18 257.081Z" fill="#F2D664"/>
-<path d="M2037.18 257.081L2020.73 270.807L2001.17 262.466M2037.18 257.081L2016.58 248.896L2001.17 262.466M2037.18 257.081L2015.64 263.789L2001.17 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2016.16 263.711L2001.17 262.467L2020.73 270.807L2037.18 257.081L2016.16 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2020.99 270.768L2016.16 263.711L2016.58 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2035.53 362.772L2019.7 373.788L2002.82 364.776L2017.7 353.818L2035.53 362.772Z" fill="#F2D664"/>
-<path d="M2035.53 362.772L2019.7 373.788L2002.82 364.776M2035.53 362.772L2017.7 353.818L2002.82 364.776M2035.53 362.772L2015.69 367.097L2002.82 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2016.17 367.068L2002.82 364.776L2019.7 373.788L2035.53 362.771L2016.17 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2019.94 373.773L2016.17 367.068L2017.7 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2033.91 468.157L2018.86 476.793L2004.43 467.389L2018.63 458.731L2033.91 468.157Z" fill="#F2D664"/>
-<path d="M2033.91 468.157L2018.86 476.793L2004.43 467.389M2033.91 468.157L2018.63 458.731L2004.43 467.389M2033.91 468.157L2015.79 470.48L2004.43 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2016.22 470.491L2004.43 467.39L2018.86 476.793L2033.91 468.158L2016.22 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2019.08 476.799L2016.22 470.491L2018.63 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2032.36 573.274L2018.19 579.836L2005.99 570.274L2019.4 563.625L2032.36 573.274Z" fill="#F2D664"/>
-<path d="M2032.36 573.274L2018.19 579.836L2005.99 570.274M2032.36 573.274L2019.4 563.625L2005.99 570.274M2032.36 573.274L2015.93 573.935L2005.99 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2016.31 573.979L2005.99 570.274L2018.19 579.836L2032.36 573.274L2016.31 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2018.38 579.858L2016.31 573.978L2019.4 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2030.88 678.153L2017.66 682.925L2007.47 673.394L2020.01 668.485L2030.88 678.153Z" fill="#FCEDB1"/>
-<path d="M2030.88 678.153L2017.66 682.925L2007.47 673.394M2030.88 678.153L2020.01 668.485L2007.47 673.394M2030.88 678.153L2016.1 677.457L2007.47 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2016.43 677.526L2007.47 673.394L2017.66 682.925L2030.88 678.153L2016.43 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2017.83 682.959L2016.43 677.526L2020.01 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2029.48 782.825L2017.25 786.066L2008.87 776.722L2020.5 773.304L2029.48 782.825Z" fill="#F2D664"/>
-<path d="M2029.48 782.825L2017.25 786.066L2008.87 776.722M2029.48 782.825L2020.5 773.304L2008.87 776.722M2029.48 782.825L2016.28 781.041L2008.87 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2016.58 781.13L2008.87 776.722L2017.25 786.066L2029.48 782.825L2016.58 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2017.4 786.11L2016.58 781.13L2020.5 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2028.17 887.318L2016.96 889.265L2010.17 880.229L2020.87 878.077L2028.17 887.318Z" fill="#F2D664"/>
-<path d="M2028.17 887.318L2016.96 889.265L2010.17 880.229M2028.17 887.318L2020.87 878.077L2010.17 880.229M2028.17 887.318L2016.48 884.683L2010.17 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2016.74 884.786L2010.17 880.229L2016.96 889.265L2028.17 887.318L2016.74 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2017.09 889.316L2016.74 884.786L2020.87 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2026.97 991.657L2016.76 992.523L2011.38 983.89L2021.14 982.799L2026.97 991.657Z" fill="#F2D664"/>
-<path d="M2026.97 991.657L2016.76 992.523L2011.38 983.89M2026.97 991.657L2021.14 982.799L2011.38 983.89M2026.97 991.657L2016.69 988.378L2011.38 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2016.91 988.49L2011.38 983.89L2016.76 992.523L2026.97 991.657L2016.91 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.87 992.579L2016.91 988.49L2021.14 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2025.86 1095.87L2016.63 1095.84L2012.49 1087.68L2021.33 1087.47L2025.86 1095.87Z" fill="#F2D664"/>
-<path d="M2025.86 1095.87L2016.63 1095.84L2012.49 1087.68M2025.86 1095.87L2021.33 1087.47L2012.49 1087.68M2025.86 1095.87L2016.9 1092.12L2012.49 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2017.09 1092.24L2012.49 1087.68L2016.63 1095.84L2025.85 1095.87L2017.09 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.73 1095.9L2017.09 1092.24L2021.33 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2024.84 1199.97L2016.58 1199.22L2013.5 1191.58L2021.44 1192.08L2024.84 1199.97Z" fill="#F2D664"/>
-<path d="M2024.84 1199.97L2016.58 1199.22L2013.5 1191.58M2024.84 1199.97L2021.44 1192.08L2013.5 1191.58M2024.84 1199.97L2017.11 1195.91L2013.5 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2017.27 1196.03L2013.5 1191.58L2016.58 1199.22L2024.84 1199.97L2017.27 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.66 1199.28L2017.27 1196.03L2021.44 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2023.93 1303.98L2016.58 1302.66L2014.42 1295.57L2021.5 1296.64L2023.93 1303.98Z" fill="#F2D664"/>
-<path d="M2023.93 1303.98L2016.58 1302.66L2014.42 1295.57M2023.93 1303.98L2021.5 1296.64L2014.42 1295.57M2023.93 1303.98L2017.31 1299.73L2014.42 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2017.45 1299.85L2014.42 1295.57L2016.58 1302.66L2023.93 1303.98L2017.45 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.64 1302.72L2017.45 1299.85L2021.5 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2023.11 1407.92L2016.62 1406.16L2015.24 1399.63L2021.5 1401.15L2023.11 1407.92Z" fill="#F2D664"/>
-<path d="M2023.11 1407.92L2016.62 1406.16L2015.24 1399.63M2023.11 1407.92L2021.5 1401.15L2015.24 1399.63M2023.11 1407.92L2017.51 1403.59L2015.24 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2017.62 1403.71L2015.24 1399.63L2016.62 1406.16L2023.11 1407.92L2017.62 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.67 1406.22L2017.62 1403.71L2021.5 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2022.37 1511.8L2016.69 1509.71L2015.97 1503.75L2021.47 1505.6L2022.37 1511.8Z" fill="#F2D664"/>
-<path d="M2022.37 1511.8L2016.69 1509.71L2015.97 1503.75M2022.37 1511.8L2021.47 1505.6L2015.97 1503.75M2022.37 1511.8L2017.69 1507.48L2015.97 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2017.79 1507.59L2015.97 1503.75L2016.69 1509.71L2022.37 1511.8L2017.79 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2016.74 1509.77L2017.79 1507.59L2021.47 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2023.56 1610.3L2020.05 1614.47L2014.79 1613.24L2018.04 1609.17L2023.56 1610.3Z" fill="#F2D664"/>
-<path d="M2023.56 1610.3L2020.05 1614.47L2014.79 1613.24M2023.56 1610.3L2018.04 1609.17L2014.79 1613.24M2023.56 1610.3L2018.47 1612.93L2014.79 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2018.59 1612.89L2014.79 1613.24L2020.05 1614.47L2023.56 1610.31L2018.59 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2020.11 1614.45L2018.59 1612.89L2018.04 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2144.03 44.6397L2126.98 64.8541L2101.41 58.9066L2117.23 39.1058L2144.03 44.6397Z" fill="#F2D664"/>
-<path d="M2144.03 44.6397L2126.98 64.8541L2101.41 58.9066M2144.03 44.6397L2117.23 39.1058L2101.41 58.9066M2144.03 44.6397L2119.29 57.4121L2101.41 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2119.91 57.2063L2101.41 58.9075L2126.98 64.8549L2144.03 44.6406L2119.91 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2127.29 64.7507L2119.91 57.2054L2117.23 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2142.39 151.05L2125.51 167.836L2103.06 160.498L2118.79 143.986L2142.39 151.05Z" fill="#F2D664"/>
-<path d="M2142.39 151.05L2125.51 167.836L2103.06 160.498M2142.39 151.05L2118.79 143.986L2103.06 160.498M2142.39 151.05L2119.2 160.56L2103.06 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2119.77 160.424L2103.06 160.498L2125.51 167.836L2142.39 151.05L2119.77 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2125.8 167.767L2119.77 160.423L2118.79 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2140.72 257.081L2124.28 270.807L2104.72 262.466L2120.12 248.896L2140.72 257.081Z" fill="#F2D664"/>
-<path d="M2140.72 257.081L2124.28 270.807L2104.72 262.466M2140.72 257.081L2120.12 248.896L2104.72 262.466M2140.72 257.081L2119.19 263.789L2104.72 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2119.71 263.711L2104.72 262.467L2124.28 270.807L2140.72 257.081L2119.71 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2124.54 270.768L2119.71 263.711L2120.12 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2139.07 362.772L2123.25 373.788L2106.37 364.776L2121.25 353.818L2139.07 362.772Z" fill="#F2D664"/>
-<path d="M2139.07 362.772L2123.25 373.788L2106.37 364.776M2139.07 362.772L2121.25 353.818L2106.37 364.776M2139.07 362.772L2119.24 367.097L2106.37 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2119.71 367.068L2106.37 364.776L2123.25 373.788L2139.07 362.771L2119.71 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2123.49 373.773L2119.71 367.068L2121.24 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2137.46 468.157L2122.41 476.793L2107.98 467.389L2122.18 458.731L2137.46 468.157Z" fill="#F2D664"/>
-<path d="M2137.46 468.157L2122.41 476.793L2107.98 467.389M2137.46 468.157L2122.18 458.731L2107.98 467.389M2137.46 468.157L2119.34 470.48L2107.98 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2119.77 470.491L2107.98 467.39L2122.41 476.793L2137.46 468.158L2119.77 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2122.62 476.799L2119.77 470.491L2122.18 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2135.91 573.274L2121.73 579.836L2109.54 570.274L2122.94 563.625L2135.91 573.274Z" fill="#F2D664"/>
-<path d="M2135.91 573.274L2121.73 579.836L2109.54 570.274M2135.91 573.274L2122.94 563.625L2109.54 570.274M2135.91 573.274L2119.48 573.935L2109.54 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2119.86 573.979L2109.54 570.274L2121.73 579.836L2135.91 573.274L2119.86 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2121.93 579.858L2119.86 573.978L2122.94 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2134.42 678.153L2121.2 682.925L2111.02 673.394L2123.56 668.485L2134.42 678.153Z" fill="#FCEDB1"/>
-<path d="M2134.42 678.153L2121.2 682.925L2111.02 673.394M2134.42 678.153L2123.56 668.485L2111.02 673.394M2134.42 678.153L2119.64 677.457L2111.02 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2119.98 677.526L2111.02 673.394L2121.2 682.925L2134.42 678.153L2119.98 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2121.37 682.959L2119.98 677.526L2123.56 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2133.03 782.825L2120.8 786.066L2112.41 776.722L2124.04 773.304L2133.03 782.825Z" fill="#F2D664"/>
-<path d="M2133.03 782.825L2120.8 786.066L2112.41 776.722M2133.03 782.825L2124.04 773.304L2112.41 776.722M2133.03 782.825L2119.83 781.041L2112.41 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2120.13 781.13L2112.41 776.722L2120.8 786.066L2133.03 782.825L2120.13 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.95 786.11L2120.13 781.13L2124.04 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2131.72 887.318L2120.5 889.265L2113.72 880.229L2124.42 878.077L2131.72 887.318Z" fill="#F2D664"/>
-<path d="M2131.72 887.318L2120.5 889.265L2113.72 880.229M2131.72 887.318L2124.42 878.077L2113.72 880.229M2131.72 887.318L2120.03 884.683L2113.72 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2120.29 884.786L2113.72 880.229L2120.5 889.265L2131.72 887.318L2120.29 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.64 889.316L2120.29 884.786L2124.42 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2130.51 991.657L2120.3 992.523L2114.93 983.89L2124.69 982.799L2130.51 991.657Z" fill="#F2D664"/>
-<path d="M2130.51 991.657L2120.3 992.523L2114.93 983.89M2130.51 991.657L2124.69 982.799L2114.93 983.89M2130.51 991.657L2120.24 988.378L2114.93 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2120.46 988.49L2114.93 983.89L2120.3 992.523L2130.51 991.657L2120.46 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.42 992.579L2120.46 988.49L2124.69 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2129.4 1095.87L2120.18 1095.84L2116.04 1087.68L2124.87 1087.47L2129.4 1095.87Z" fill="#F2D664"/>
-<path d="M2129.4 1095.87L2120.18 1095.84L2116.04 1087.68M2129.4 1095.87L2124.87 1087.47L2116.04 1087.68M2129.4 1095.87L2120.45 1092.12L2116.04 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2120.64 1092.24L2116.04 1087.68L2120.18 1095.84L2129.4 1095.87L2120.64 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.28 1095.9L2120.64 1092.24L2124.87 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2128.39 1199.97L2120.12 1199.22L2117.05 1191.58L2124.99 1192.08L2128.39 1199.97Z" fill="#F2D664"/>
-<path d="M2128.39 1199.97L2120.12 1199.22L2117.05 1191.58M2128.39 1199.97L2124.99 1192.08L2117.05 1191.58M2128.39 1199.97L2120.65 1195.91L2117.05 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2120.82 1196.03L2117.05 1191.58L2120.12 1199.22L2128.39 1199.97L2120.82 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.21 1199.28L2120.82 1196.03L2124.99 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2127.48 1303.98L2120.12 1302.66L2117.97 1295.57L2125.04 1296.64L2127.48 1303.98Z" fill="#F2D664"/>
-<path d="M2127.48 1303.98L2120.12 1302.66L2117.97 1295.57M2127.48 1303.98L2125.04 1296.64L2117.97 1295.57M2127.48 1303.98L2120.86 1299.73L2117.97 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2120.99 1299.85L2117.97 1295.57L2120.12 1302.66L2127.48 1303.98L2120.99 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.19 1302.72L2120.99 1299.85L2125.04 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2126.65 1407.92L2120.17 1406.16L2118.79 1399.63L2125.05 1401.15L2126.65 1407.92Z" fill="#F2D664"/>
-<path d="M2126.65 1407.92L2120.17 1406.16L2118.79 1399.63M2126.65 1407.92L2125.05 1401.15L2118.79 1399.63M2126.65 1407.92L2121.05 1403.59L2118.79 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2121.17 1403.71L2118.79 1399.63L2120.16 1406.16L2126.65 1407.92L2121.17 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.22 1406.22L2121.17 1403.71L2125.05 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2125.92 1511.8L2120.24 1509.71L2119.52 1503.75L2125.01 1505.6L2125.92 1511.8Z" fill="#F2D664"/>
-<path d="M2125.92 1511.8L2120.24 1509.71L2119.52 1503.75M2125.92 1511.8L2125.01 1505.6L2119.52 1503.75M2125.92 1511.8L2121.24 1507.48L2119.52 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2121.33 1507.59L2119.52 1503.75L2120.24 1509.71L2125.92 1511.8L2121.33 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2120.29 1509.77L2121.33 1507.59L2125.01 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2127.11 1610.3L2123.6 1614.47L2118.33 1613.24L2121.59 1609.17L2127.11 1610.3Z" fill="#F2D664"/>
-<path d="M2127.11 1610.3L2123.6 1614.47L2118.33 1613.24M2127.11 1610.3L2121.59 1609.17L2118.33 1613.24M2127.11 1610.3L2122.01 1612.93L2118.33 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2122.14 1612.89L2118.33 1613.24L2123.6 1614.47L2127.11 1610.31L2122.14 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2123.66 1614.45L2122.14 1612.89L2121.59 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2247.08 44.6397L2230.03 64.8541L2204.46 58.9066L2220.28 39.1058L2247.08 44.6397Z" fill="#F2D664"/>
-<path d="M2247.08 44.6397L2230.03 64.8541L2204.46 58.9066M2247.08 44.6397L2220.28 39.1058L2204.46 58.9066M2247.08 44.6397L2222.34 57.4121L2204.46 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2222.96 57.2063L2204.46 58.9075L2230.03 64.8549L2247.08 44.6406L2222.96 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2230.34 64.7507L2222.96 57.2054L2220.28 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2245.44 151.05L2228.56 167.836L2206.11 160.498L2221.84 143.986L2245.44 151.05Z" fill="#F2D664"/>
-<path d="M2245.44 151.05L2228.56 167.836L2206.11 160.498M2245.44 151.05L2221.84 143.986L2206.11 160.498M2245.44 151.05L2222.25 160.56L2206.11 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2222.82 160.424L2206.11 160.498L2228.56 167.836L2245.44 151.05L2222.82 160.424Z" fill="#BE9A07" stroke="#BE9A07" stroke-width="1.5"/>
-<path d="M2228.85 167.767L2222.82 160.423L2221.84 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2243.78 257.081L2227.33 270.807L2207.77 262.466L2223.18 248.896L2243.78 257.081Z" fill="#F2D664"/>
-<path d="M2243.78 257.081L2227.33 270.807L2207.77 262.466M2243.78 257.081L2223.18 248.896L2207.77 262.466M2243.78 257.081L2222.24 263.789L2207.77 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2222.76 263.711L2207.77 262.467L2227.33 270.807L2243.78 257.081L2222.76 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2227.59 270.768L2222.76 263.711L2223.18 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2242.13 362.772L2226.3 373.788L2209.42 364.776L2224.3 353.818L2242.13 362.772Z" fill="#F2D664"/>
-<path d="M2242.13 362.772L2226.3 373.788L2209.42 364.776M2242.13 362.772L2224.3 353.818L2209.42 364.776M2242.13 362.772L2222.29 367.097L2209.42 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2222.77 367.068L2209.42 364.776L2226.3 373.788L2242.13 362.771L2222.77 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2226.54 373.773L2222.77 367.068L2224.3 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2240.51 468.157L2225.46 476.793L2211.03 467.389L2225.23 458.731L2240.51 468.157Z" fill="#F2D664"/>
-<path d="M2240.51 468.157L2225.46 476.793L2211.03 467.389M2240.51 468.157L2225.23 458.731L2211.03 467.389M2240.51 468.157L2222.39 470.48L2211.03 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2222.82 470.491L2211.03 467.39L2225.46 476.793L2240.51 468.158L2222.82 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2225.68 476.799L2222.82 470.491L2225.23 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2238.96 573.274L2224.79 579.836L2212.59 570.274L2226 563.625L2238.96 573.274Z" fill="#F2D664"/>
-<path d="M2238.96 573.274L2224.79 579.836L2212.59 570.274M2238.96 573.274L2226 563.625L2212.59 570.274M2238.96 573.274L2222.53 573.935L2212.59 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2222.91 573.979L2212.59 570.274L2224.79 579.836L2238.96 573.274L2222.91 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2224.98 579.858L2222.91 573.978L2226 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2237.48 678.153L2224.26 682.925L2214.07 673.394L2226.61 668.485L2237.48 678.153Z" fill="#F2D664"/>
-<path d="M2237.48 678.153L2224.26 682.925L2214.07 673.394M2237.48 678.153L2226.61 668.485L2214.07 673.394M2237.48 678.153L2222.7 677.457L2214.07 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2223.03 677.526L2214.07 673.394L2224.26 682.925L2237.48 678.153L2223.03 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2224.43 682.959L2223.03 677.526L2226.61 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2236.08 782.825L2223.85 786.066L2215.47 776.722L2227.1 773.304L2236.08 782.825Z" fill="#F2D664"/>
-<path d="M2236.08 782.825L2223.85 786.066L2215.47 776.722M2236.08 782.825L2227.1 773.304L2215.47 776.722M2236.08 782.825L2222.88 781.041L2215.47 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2223.18 781.13L2215.47 776.722L2223.85 786.066L2236.08 782.825L2223.18 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2224 786.11L2223.18 781.13L2227.1 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2234.77 887.318L2223.56 889.265L2216.77 880.229L2227.47 878.077L2234.77 887.318Z" fill="#F2D664"/>
-<path d="M2234.77 887.318L2223.56 889.265L2216.77 880.229M2234.77 887.318L2227.47 878.077L2216.77 880.229M2234.77 887.318L2223.08 884.683L2216.77 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2223.34 884.786L2216.77 880.229L2223.56 889.265L2234.77 887.318L2223.34 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.69 889.316L2223.34 884.786L2227.47 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2233.57 991.657L2223.36 992.523L2217.98 983.89L2227.74 982.799L2233.57 991.657Z" fill="#F2D664"/>
-<path d="M2233.57 991.657L2223.36 992.523L2217.98 983.89M2233.57 991.657L2227.74 982.799L2217.98 983.89M2233.57 991.657L2223.29 988.378L2217.98 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2223.51 988.49L2217.98 983.89L2223.36 992.523L2233.57 991.657L2223.51 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.47 992.579L2223.51 988.49L2227.74 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2232.46 1095.87L2223.23 1095.84L2219.09 1087.68L2227.93 1087.47L2232.46 1095.87Z" fill="#F2D664"/>
-<path d="M2232.46 1095.87L2223.23 1095.84L2219.09 1087.68M2232.46 1095.87L2227.93 1087.47L2219.09 1087.68M2232.46 1095.87L2223.5 1092.12L2219.09 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2223.69 1092.24L2219.09 1087.68L2223.23 1095.84L2232.46 1095.87L2223.69 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.33 1095.9L2223.69 1092.24L2227.93 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2231.44 1199.97L2223.18 1199.22L2220.1 1191.58L2228.04 1192.08L2231.44 1199.97Z" fill="#FCEDB1"/>
-<path d="M2231.44 1199.97L2223.18 1199.22L2220.1 1191.58M2231.44 1199.97L2228.04 1192.08L2220.1 1191.58M2231.44 1199.97L2223.71 1195.91L2220.1 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2223.87 1196.03L2220.1 1191.58L2223.18 1199.22L2231.44 1199.97L2223.87 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.26 1199.28L2223.87 1196.03L2228.04 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2230.53 1303.98L2223.18 1302.66L2221.02 1295.57L2228.1 1296.64L2230.53 1303.98Z" fill="#F2D664"/>
-<path d="M2230.53 1303.98L2223.18 1302.66L2221.02 1295.57M2230.53 1303.98L2228.1 1296.64L2221.02 1295.57M2230.53 1303.98L2223.91 1299.73L2221.02 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2224.05 1299.85L2221.02 1295.57L2223.18 1302.66L2230.53 1303.98L2224.05 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.24 1302.72L2224.05 1299.85L2228.1 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2229.71 1407.92L2223.22 1406.16L2221.84 1399.63L2228.1 1401.15L2229.71 1407.92Z" fill="#F2D664"/>
-<path d="M2229.71 1407.92L2223.22 1406.16L2221.84 1399.63M2229.71 1407.92L2228.1 1401.15L2221.84 1399.63M2229.71 1407.92L2224.11 1403.59L2221.84 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2224.22 1403.71L2221.84 1399.63L2223.22 1406.16L2229.71 1407.92L2224.22 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.27 1406.22L2224.22 1403.71L2228.1 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2228.97 1511.8L2223.29 1509.71L2222.57 1503.75L2228.07 1505.6L2228.97 1511.8Z" fill="#F2D664"/>
-<path d="M2228.97 1511.8L2223.29 1509.71L2222.57 1503.75M2228.97 1511.8L2228.07 1505.6L2222.57 1503.75M2228.97 1511.8L2224.29 1507.48L2222.57 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2224.39 1507.59L2222.57 1503.75L2223.29 1509.71L2228.97 1511.8L2224.39 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2223.34 1509.77L2224.39 1507.59L2228.07 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2230.16 1610.3L2226.65 1614.47L2221.39 1613.24L2224.64 1609.17L2230.16 1610.3Z" fill="#F2D664"/>
-<path d="M2230.16 1610.3L2226.65 1614.47L2221.39 1613.24M2230.16 1610.3L2224.64 1609.17L2221.39 1613.24M2230.16 1610.3L2225.07 1612.93L2221.39 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2225.19 1612.89L2221.39 1613.24L2226.65 1614.47L2230.16 1610.31L2225.19 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2226.71 1614.45L2225.19 1612.89L2224.64 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2350.63 44.6397L2333.58 64.8541L2308.01 58.9066L2323.83 39.1058L2350.63 44.6397Z" fill="#F2D664"/>
-<path d="M2350.63 44.6397L2333.58 64.8541L2308.01 58.9066M2350.63 44.6397L2323.83 39.1058L2308.01 58.9066M2350.63 44.6397L2325.89 57.4121L2308.01 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2326.51 57.2063L2308.01 58.9075L2333.58 64.8549L2350.63 44.6406L2326.51 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2333.89 64.7507L2326.51 57.2054L2323.83 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2348.99 151.05L2332.11 167.836L2309.66 160.498L2325.39 143.986L2348.99 151.05Z" fill="#F2D664"/>
-<path d="M2348.99 151.05L2332.11 167.836L2309.66 160.498M2348.99 151.05L2325.39 143.986L2309.66 160.498M2348.99 151.05L2325.8 160.56L2309.66 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2326.37 160.424L2309.66 160.498L2332.11 167.836L2348.99 151.05L2326.37 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2332.4 167.767L2326.37 160.423L2325.39 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2347.32 257.081L2330.88 270.807L2311.32 262.466L2326.72 248.896L2347.32 257.081Z" fill="#F2D664"/>
-<path d="M2347.32 257.081L2330.88 270.807L2311.32 262.466M2347.32 257.081L2326.72 248.896L2311.32 262.466M2347.32 257.081L2325.79 263.789L2311.32 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2326.31 263.711L2311.32 262.467L2330.88 270.807L2347.32 257.081L2326.31 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2331.14 270.768L2326.31 263.711L2326.72 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2345.67 362.772L2329.85 373.788L2312.97 364.776L2327.85 353.818L2345.67 362.772Z" fill="#F2D664"/>
-<path d="M2345.67 362.772L2329.85 373.788L2312.97 364.776M2345.67 362.772L2327.85 353.818L2312.97 364.776M2345.67 362.772L2325.84 367.097L2312.97 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2326.31 367.068L2312.97 364.776L2329.85 373.788L2345.67 362.771L2326.31 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2330.09 373.773L2326.31 367.068L2327.85 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2344.06 468.157L2329.01 476.793L2314.58 467.389L2328.78 458.731L2344.06 468.157Z" fill="#F2D664"/>
-<path d="M2344.06 468.157L2329.01 476.793L2314.58 467.389M2344.06 468.157L2328.78 458.731L2314.58 467.389M2344.06 468.157L2325.94 470.48L2314.58 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2326.37 470.491L2314.58 467.39L2329.01 476.793L2344.06 468.158L2326.37 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2329.22 476.799L2326.37 470.491L2328.78 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2342.51 573.274L2328.33 579.836L2316.14 570.274L2329.54 563.625L2342.51 573.274Z" fill="#F2D664"/>
-<path d="M2342.51 573.274L2328.33 579.836L2316.14 570.274M2342.51 573.274L2329.54 563.625L2316.14 570.274M2342.51 573.274L2326.08 573.935L2316.14 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2326.46 573.979L2316.14 570.274L2328.33 579.836L2342.51 573.274L2326.46 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2328.53 579.858L2326.46 573.978L2329.54 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2341.02 678.153L2327.8 682.925L2317.62 673.394L2330.16 668.485L2341.02 678.153Z" fill="#FCEDB1"/>
-<path d="M2341.02 678.153L2327.8 682.925L2317.62 673.394M2341.02 678.153L2330.16 668.485L2317.62 673.394M2341.02 678.153L2326.24 677.457L2317.62 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2326.58 677.526L2317.62 673.394L2327.8 682.925L2341.02 678.153L2326.58 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2327.97 682.959L2326.58 677.526L2330.16 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2339.63 782.825L2327.4 786.066L2319.01 776.722L2330.65 773.304L2339.63 782.825Z" fill="#F2D664"/>
-<path d="M2339.63 782.825L2327.4 786.066L2319.01 776.722M2339.63 782.825L2330.65 773.304L2319.01 776.722M2339.63 782.825L2326.43 781.041L2319.01 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2326.73 781.13L2319.01 776.722L2327.4 786.066L2339.63 782.825L2326.73 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2327.55 786.11L2326.73 781.13L2330.65 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2338.32 887.318L2327.1 889.265L2320.32 880.229L2331.02 878.077L2338.32 887.318Z" fill="#F2D664"/>
-<path d="M2338.32 887.318L2327.1 889.265L2320.32 880.229M2338.32 887.318L2331.02 878.077L2320.32 880.229M2338.32 887.318L2326.63 884.683L2320.32 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2326.89 884.786L2320.32 880.229L2327.1 889.265L2338.32 887.318L2326.89 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2327.24 889.316L2326.89 884.786L2331.02 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2337.11 991.657L2326.9 992.523L2321.53 983.89L2331.29 982.799L2337.11 991.657Z" fill="#F2D664"/>
-<path d="M2337.11 991.657L2326.9 992.523L2321.53 983.89M2337.11 991.657L2331.29 982.799L2321.53 983.89M2337.11 991.657L2326.84 988.378L2321.53 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2327.06 988.49L2321.53 983.89L2326.9 992.523L2337.11 991.657L2327.06 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2327.02 992.579L2327.06 988.49L2331.29 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2336 1095.87L2326.78 1095.84L2322.64 1087.68L2331.47 1087.47L2336 1095.87Z" fill="#F2D664"/>
-<path d="M2336 1095.87L2326.78 1095.84L2322.64 1087.68M2336 1095.87L2331.47 1087.47L2322.64 1087.68M2336 1095.87L2327.05 1092.12L2322.64 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2327.24 1092.24L2322.64 1087.68L2326.78 1095.84L2336 1095.87L2327.24 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2326.88 1095.9L2327.24 1092.24L2331.47 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2334.99 1199.97L2326.72 1199.22L2323.65 1191.58L2331.59 1192.08L2334.99 1199.97Z" fill="#F2D664"/>
-<path d="M2334.99 1199.97L2326.72 1199.22L2323.65 1191.58M2334.99 1199.97L2331.59 1192.08L2323.65 1191.58M2334.99 1199.97L2327.25 1195.91L2323.65 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2327.42 1196.03L2323.65 1191.58L2326.72 1199.22L2334.99 1199.97L2327.42 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2326.81 1199.28L2327.42 1196.03L2331.59 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2334.08 1303.98L2326.72 1302.66L2324.57 1295.57L2331.64 1296.64L2334.08 1303.98Z" fill="#F2D664"/>
-<path d="M2334.08 1303.98L2326.72 1302.66L2324.57 1295.57M2334.08 1303.98L2331.64 1296.64L2324.57 1295.57M2334.08 1303.98L2327.46 1299.73L2324.57 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2327.59 1299.85L2324.57 1295.57L2326.72 1302.66L2334.08 1303.98L2327.59 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2326.79 1302.72L2327.59 1299.85L2331.64 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2333.25 1407.92L2326.77 1406.16L2325.39 1399.63L2331.65 1401.15L2333.25 1407.92Z" fill="#F2D664"/>
-<path d="M2333.25 1407.92L2326.77 1406.16L2325.39 1399.63M2333.25 1407.92L2331.65 1401.15L2325.39 1399.63M2333.25 1407.92L2327.65 1403.59L2325.39 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2327.77 1403.71L2325.39 1399.63L2326.77 1406.16L2333.25 1407.92L2327.77 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2326.82 1406.22L2327.77 1403.71L2331.65 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2332.52 1511.8L2326.84 1509.71L2326.12 1503.75L2331.61 1505.6L2332.52 1511.8Z" fill="#F2D664"/>
-<path d="M2332.52 1511.8L2326.84 1509.71L2326.12 1503.75M2332.52 1511.8L2331.61 1505.6L2326.12 1503.75M2332.52 1511.8L2327.84 1507.48L2326.12 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2327.93 1507.59L2326.12 1503.75L2326.84 1509.71L2332.52 1511.8L2327.93 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2326.89 1509.77L2327.93 1507.59L2331.61 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2333.71 1610.3L2330.2 1614.47L2324.93 1613.24L2328.19 1609.17L2333.71 1610.3Z" fill="#F2D664"/>
-<path d="M2333.71 1610.3L2330.2 1614.47L2324.93 1613.24M2333.71 1610.3L2328.19 1609.17L2324.93 1613.24M2333.71 1610.3L2328.61 1612.93L2324.93 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2328.74 1612.89L2324.93 1613.24L2330.2 1614.47L2333.71 1610.31L2328.74 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2330.26 1614.45L2328.74 1612.89L2328.19 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2454.18 44.6397L2437.12 64.8541L2411.56 58.9066L2427.38 39.1058L2454.18 44.6397Z" fill="#F2D664"/>
-<path d="M2454.18 44.6397L2437.12 64.8541L2411.56 58.9066M2454.18 44.6397L2427.38 39.1058L2411.56 58.9066M2454.18 44.6397L2429.44 57.4121L2411.56 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2430.05 57.2063L2411.56 58.9075L2437.12 64.8549L2454.18 44.6406L2430.05 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2437.43 64.7507L2430.05 57.2054L2427.38 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2452.53 151.05L2435.66 167.836L2413.2 160.498L2428.94 143.986L2452.53 151.05Z" fill="#F2D664"/>
-<path d="M2452.53 151.05L2435.66 167.836L2413.2 160.498M2452.53 151.05L2428.94 143.986L2413.2 160.498M2452.53 151.05L2429.35 160.56L2413.2 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2429.92 160.424L2413.2 160.498L2435.66 167.836L2452.53 151.05L2429.92 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2435.94 167.767L2429.92 160.423L2428.94 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2450.87 257.081L2434.42 270.807L2414.87 262.466L2430.27 248.896L2450.87 257.081Z" fill="#F2D664"/>
-<path d="M2450.87 257.081L2434.42 270.807L2414.87 262.466M2450.87 257.081L2430.27 248.896L2414.87 262.466M2450.87 257.081L2429.34 263.789L2414.87 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2429.86 263.711L2414.87 262.467L2434.42 270.807L2450.87 257.081L2429.86 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2434.68 270.768L2429.86 263.711L2430.27 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2449.22 362.772L2433.4 373.788L2416.52 364.776L2431.39 353.818L2449.22 362.772Z" fill="#F2D664"/>
-<path d="M2449.22 362.772L2433.4 373.788L2416.52 364.776M2449.22 362.772L2431.39 353.818L2416.52 364.776M2449.22 362.772L2429.39 367.097L2416.52 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2429.86 367.068L2416.52 364.776L2433.4 373.788L2449.22 362.771L2429.86 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2433.63 373.773L2429.86 367.068L2431.39 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2447.61 468.157L2432.56 476.793L2418.13 467.389L2432.33 458.731L2447.61 468.157Z" fill="#F2D664"/>
-<path d="M2447.61 468.157L2432.56 476.793L2418.13 467.389M2447.61 468.157L2432.33 458.731L2418.13 467.389M2447.61 468.157L2429.49 470.48L2418.13 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2429.91 470.491L2418.13 467.39L2432.56 476.793L2447.61 468.158L2429.91 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2432.77 476.799L2429.91 470.491L2432.33 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2446.05 573.274L2431.88 579.836L2419.68 570.274L2433.09 563.625L2446.05 573.274Z" fill="#F2D664"/>
-<path d="M2446.05 573.274L2431.88 579.836L2419.68 570.274M2446.05 573.274L2433.09 563.625L2419.68 570.274M2446.05 573.274L2429.62 573.935L2419.68 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2430.01 573.979L2419.68 570.274L2431.88 579.836L2446.05 573.274L2430.01 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2432.07 579.858L2430.01 573.978L2433.09 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2444.57 678.153L2431.35 682.925L2421.17 673.394L2433.71 668.485L2444.57 678.153Z" fill="#FCEDB1"/>
-<path d="M2444.57 678.153L2431.35 682.925L2421.17 673.394M2444.57 678.153L2433.71 668.485L2421.17 673.394M2444.57 678.153L2429.79 677.457L2421.17 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2430.13 677.526L2421.17 673.394L2431.35 682.925L2444.57 678.153L2430.13 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2431.52 682.959L2430.13 677.526L2433.71 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2443.17 782.825L2430.95 786.066L2422.56 776.722L2434.19 773.304L2443.17 782.825Z" fill="#F2D664"/>
-<path d="M2443.17 782.825L2430.95 786.066L2422.56 776.722M2443.17 782.825L2434.19 773.304L2422.56 776.722M2443.17 782.825L2429.98 781.041L2422.56 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2430.27 781.13L2422.56 776.722L2430.95 786.066L2443.17 782.825L2430.27 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2431.1 786.11L2430.28 781.13L2434.19 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2441.87 887.318L2430.65 889.265L2423.87 880.229L2434.56 878.077L2441.87 887.318Z" fill="#F2D664"/>
-<path d="M2441.87 887.318L2430.65 889.265L2423.87 880.229M2441.87 887.318L2434.56 878.077L2423.87 880.229M2441.87 887.318L2430.18 884.683L2423.87 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2430.44 884.786L2423.87 880.229L2430.65 889.265L2441.87 887.318L2430.44 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.78 889.316L2430.44 884.786L2434.56 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2440.66 991.657L2430.45 992.523L2425.08 983.89L2434.83 982.799L2440.66 991.657Z" fill="#F2D664"/>
-<path d="M2440.66 991.657L2430.45 992.523L2425.08 983.89M2440.66 991.657L2434.83 982.799L2425.08 983.89M2440.66 991.657L2430.38 988.378L2425.08 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2430.61 988.49L2425.08 983.89L2430.45 992.523L2440.66 991.657L2430.61 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.56 992.579L2430.61 988.49L2434.83 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2439.55 1095.87L2430.33 1095.84L2426.19 1087.68L2435.02 1087.47L2439.55 1095.87Z" fill="#F2D664"/>
-<path d="M2439.55 1095.87L2430.33 1095.84L2426.19 1087.68M2439.55 1095.87L2435.02 1087.47L2426.19 1087.68M2439.55 1095.87L2430.59 1092.12L2426.19 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2430.79 1092.24L2426.19 1087.68L2430.33 1095.84L2439.55 1095.87L2430.79 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.43 1095.9L2430.79 1092.24L2435.02 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2438.54 1199.97L2430.27 1199.22L2427.2 1191.58L2435.14 1192.08L2438.54 1199.97Z" fill="#F2D664"/>
-<path d="M2438.54 1199.97L2430.27 1199.22L2427.2 1191.58M2438.54 1199.97L2435.14 1192.08L2427.2 1191.58M2438.54 1199.97L2430.8 1195.91L2427.2 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2430.97 1196.03L2427.2 1191.58L2430.27 1199.22L2438.54 1199.97L2430.97 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.35 1199.28L2430.97 1196.03L2435.14 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2437.62 1303.98L2430.27 1302.66L2428.11 1295.57L2435.19 1296.64L2437.62 1303.98Z" fill="#F2D664"/>
-<path d="M2437.62 1303.98L2430.27 1302.66L2428.11 1295.57M2437.62 1303.98L2435.19 1296.64L2428.11 1295.57M2437.62 1303.98L2431 1299.73L2428.11 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2431.14 1299.85L2428.11 1295.57L2430.27 1302.66L2437.62 1303.98L2431.14 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.34 1302.72L2431.14 1299.85L2435.19 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2436.8 1407.92L2430.31 1406.16L2428.94 1399.63L2435.2 1401.15L2436.8 1407.92Z" fill="#F2D664"/>
-<path d="M2436.8 1407.92L2430.31 1406.16L2428.94 1399.63M2436.8 1407.92L2435.2 1401.15L2428.94 1399.63M2436.8 1407.92L2431.2 1403.59L2428.94 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2431.31 1403.71L2428.94 1399.63L2430.31 1406.16L2436.8 1407.92L2431.31 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.37 1406.22L2431.31 1403.71L2435.2 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2436.07 1511.8L2430.39 1509.71L2429.67 1503.75L2435.16 1505.6L2436.07 1511.8Z" fill="#F2D664"/>
-<path d="M2436.07 1511.8L2430.39 1509.71L2429.67 1503.75M2436.07 1511.8L2435.16 1505.6L2429.67 1503.75M2436.07 1511.8L2431.39 1507.48L2429.67 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2431.48 1507.59L2429.67 1503.75L2430.39 1509.71L2436.07 1511.8L2431.48 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2430.44 1509.77L2431.48 1507.59L2435.16 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2437.26 1610.3L2433.74 1614.47L2428.48 1613.24L2431.74 1609.17L2437.26 1610.3Z" fill="#F2D664"/>
-<path d="M2437.26 1610.3L2433.74 1614.47L2428.48 1613.24M2437.26 1610.3L2431.74 1609.17L2428.48 1613.24M2437.26 1610.3L2432.16 1612.93L2428.48 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2432.29 1612.89L2428.48 1613.24L2433.74 1614.47L2437.26 1610.31L2432.29 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2433.81 1614.45L2432.29 1612.89L2431.74 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2557.73 44.6397L2540.67 64.8541L2515.11 58.9066L2530.93 39.1058L2557.73 44.6397Z" fill="#F2D664"/>
-<path d="M2557.73 44.6397L2540.67 64.8541L2515.11 58.9066M2557.73 44.6397L2530.93 39.1058L2515.11 58.9066M2557.73 44.6397L2532.98 57.4121L2515.11 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2533.6 57.2063L2515.11 58.9075L2540.67 64.8549L2557.73 44.6406L2533.6 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2540.98 64.7507L2533.6 57.2054L2530.93 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2556.08 151.05L2539.21 167.836L2516.75 160.498L2532.49 143.986L2556.08 151.05Z" fill="#F2D664"/>
-<path d="M2556.08 151.05L2539.21 167.836L2516.75 160.498M2556.08 151.05L2532.49 143.986L2516.75 160.498M2556.08 151.05L2532.9 160.56L2516.75 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2533.47 160.424L2516.75 160.498L2539.21 167.836L2556.08 151.05L2533.47 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2539.49 167.767L2533.47 160.423L2532.49 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2554.42 257.081L2537.97 270.807L2518.41 262.466L2533.82 248.896L2554.42 257.081Z" fill="#F2D664"/>
-<path d="M2554.42 257.081L2537.97 270.807L2518.41 262.466M2554.42 257.081L2533.82 248.896L2518.41 262.466M2554.42 257.081L2532.88 263.789L2518.41 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2533.41 263.711L2518.41 262.467L2537.97 270.807L2554.42 257.081L2533.41 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2538.23 270.768L2533.41 263.711L2533.82 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2552.77 362.772L2536.95 373.788L2520.06 364.776L2534.94 353.818L2552.77 362.772Z" fill="#F2D664"/>
-<path d="M2552.77 362.772L2536.95 373.788L2520.06 364.776M2552.77 362.772L2534.94 353.818L2520.06 364.776M2552.77 362.772L2532.94 367.097L2520.06 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2533.41 367.068L2520.06 364.776L2536.94 373.788L2552.77 362.771L2533.41 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2537.18 373.773L2533.41 367.068L2534.94 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2551.16 468.157L2536.1 476.793L2521.68 467.389L2535.87 458.731L2551.16 468.157Z" fill="#F2D664"/>
-<path d="M2551.16 468.157L2536.1 476.793L2521.68 467.389M2551.16 468.157L2535.87 458.731L2521.68 467.389M2551.16 468.157L2533.03 470.48L2521.68 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2533.46 470.491L2521.68 467.39L2536.1 476.793L2551.15 468.158L2533.46 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2536.32 476.799L2533.46 470.491L2535.87 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2549.6 573.274L2535.43 579.836L2523.23 570.274L2536.64 563.625L2549.6 573.274Z" fill="#F2D664"/>
-<path d="M2549.6 573.274L2535.43 579.836L2523.23 570.274M2549.6 573.274L2536.64 563.625L2523.23 570.274M2549.6 573.274L2533.17 573.935L2523.23 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2533.55 573.979L2523.23 570.274L2535.43 579.836L2549.6 573.274L2533.55 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2535.62 579.858L2533.55 573.978L2536.64 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2548.12 678.153L2534.9 682.925L2524.71 673.394L2537.25 668.485L2548.12 678.153Z" fill="#FCEDB1"/>
-<path d="M2548.12 678.153L2534.9 682.925L2524.71 673.394M2548.12 678.153L2537.25 668.485L2524.71 673.394M2548.12 678.153L2533.34 677.457L2524.71 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2533.68 677.526L2524.71 673.394L2534.9 682.925L2548.12 678.153L2533.68 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2535.07 682.959L2533.68 677.526L2537.25 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2546.72 782.825L2534.49 786.066L2526.11 776.722L2537.74 773.304L2546.72 782.825Z" fill="#F2D664"/>
-<path d="M2546.72 782.825L2534.49 786.066L2526.11 776.722M2546.72 782.825L2537.74 773.304L2526.11 776.722M2546.72 782.825L2533.52 781.041L2526.11 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2533.82 781.13L2526.11 776.722L2534.49 786.066L2546.72 782.825L2533.82 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2534.64 786.11L2533.82 781.13L2537.74 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2545.42 887.318L2534.2 889.265L2527.41 880.229L2538.11 878.077L2545.42 887.318Z" fill="#F2D664"/>
-<path d="M2545.42 887.318L2534.2 889.265L2527.41 880.229M2545.42 887.318L2538.11 878.077L2527.41 880.229M2545.42 887.318L2533.72 884.683L2527.41 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2533.98 884.786L2527.41 880.229L2534.2 889.265L2545.42 887.318L2533.98 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2534.33 889.316L2533.98 884.786L2538.11 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2544.21 991.657L2534 992.523L2528.62 983.89L2538.38 982.799L2544.21 991.657Z" fill="#F2D664"/>
-<path d="M2544.21 991.657L2534 992.523L2528.62 983.89M2544.21 991.657L2538.38 982.799L2528.62 983.89M2544.21 991.657L2533.93 988.378L2528.62 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2534.16 988.49L2528.62 983.89L2534 992.523L2544.21 991.657L2534.16 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2534.11 992.579L2534.16 988.49L2538.38 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2543.1 1095.87L2533.88 1095.84L2529.73 1087.68L2538.57 1087.47L2543.1 1095.87Z" fill="#F2D664"/>
-<path d="M2543.1 1095.87L2533.88 1095.84L2529.73 1087.68M2543.1 1095.87L2538.57 1087.47L2529.73 1087.68M2543.1 1095.87L2534.14 1092.12L2529.73 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2534.33 1092.24L2529.73 1087.68L2533.88 1095.84L2543.1 1095.87L2534.33 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2533.97 1095.9L2534.33 1092.24L2538.57 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2542.09 1199.97L2533.82 1199.22L2530.75 1191.58L2538.68 1192.08L2542.09 1199.97Z" fill="#F2D664"/>
-<path d="M2542.09 1199.97L2533.82 1199.22L2530.75 1191.58M2542.09 1199.97L2538.68 1192.08L2530.75 1191.58M2542.09 1199.97L2534.35 1195.91L2530.75 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2534.51 1196.03L2530.75 1191.58L2533.82 1199.22L2542.08 1199.97L2534.51 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2533.9 1199.28L2534.51 1196.03L2538.68 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2541.17 1303.98L2533.82 1302.66L2531.66 1295.57L2538.74 1296.64L2541.17 1303.98Z" fill="#F2D664"/>
-<path d="M2541.17 1303.98L2533.82 1302.66L2531.66 1295.57M2541.17 1303.98L2538.74 1296.64L2531.66 1295.57M2541.17 1303.98L2534.55 1299.73L2531.66 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2534.69 1299.85L2531.66 1295.57L2533.82 1302.66L2541.17 1303.98L2534.69 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2533.89 1302.72L2534.69 1299.85L2538.74 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2540.35 1407.92L2533.86 1406.16L2532.48 1399.63L2538.74 1401.15L2540.35 1407.92Z" fill="#F2D664"/>
-<path d="M2540.35 1407.92L2533.86 1406.16L2532.48 1399.63M2540.35 1407.92L2538.74 1401.15L2532.48 1399.63M2540.35 1407.92L2534.75 1403.59L2532.48 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2534.86 1403.71L2532.48 1399.63L2533.86 1406.16L2540.35 1407.92L2534.86 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2533.92 1406.22L2534.86 1403.71L2538.74 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2539.62 1511.8L2533.94 1509.71L2533.21 1503.75L2538.71 1505.6L2539.62 1511.8Z" fill="#F2D664"/>
-<path d="M2539.62 1511.8L2533.94 1509.71L2533.21 1503.75M2539.62 1511.8L2538.71 1505.6L2533.21 1503.75M2539.62 1511.8L2534.93 1507.48L2533.21 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2535.03 1507.59L2533.21 1503.75L2533.94 1509.71L2539.62 1511.8L2535.03 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2533.98 1509.77L2535.03 1507.59L2538.71 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2540.8 1610.3L2537.29 1614.47L2532.03 1613.24L2535.29 1609.17L2540.8 1610.3Z" fill="#F2D664"/>
-<path d="M2540.8 1610.3L2537.29 1614.47L2532.03 1613.24M2540.8 1610.3L2535.29 1609.17L2532.03 1613.24M2540.8 1610.3L2535.71 1612.93L2532.03 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2535.84 1612.89L2532.03 1613.24L2537.29 1614.47L2540.8 1610.31L2535.84 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2537.36 1614.45L2535.84 1612.89L2535.29 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2661.27 44.6397L2644.22 64.8541L2618.65 58.9066L2634.47 39.1058L2661.27 44.6397Z" fill="#F2D664"/>
-<path d="M2661.27 44.6397L2644.22 64.8541L2618.65 58.9066M2661.27 44.6397L2634.47 39.1058L2618.65 58.9066M2661.27 44.6397L2636.53 57.4121L2618.65 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2637.15 57.2063L2618.65 58.9075L2644.22 64.8549L2661.27 44.6406L2637.15 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2644.53 64.7507L2637.15 57.2054L2634.47 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2659.63 151.05L2642.75 167.836L2620.3 160.498L2636.03 143.986L2659.63 151.05Z" fill="#F2D664"/>
-<path d="M2659.63 151.05L2642.75 167.836L2620.3 160.498M2659.63 151.05L2636.03 143.986L2620.3 160.498M2659.63 151.05L2636.44 160.56L2620.3 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2637.01 160.424L2620.3 160.498L2642.75 167.836L2659.63 151.05L2637.01 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2643.04 167.767L2637.01 160.423L2636.03 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2657.97 257.081L2641.52 270.807L2621.96 262.466L2637.37 248.896L2657.97 257.081Z" fill="#F2D664"/>
-<path d="M2657.97 257.081L2641.52 270.807L2621.96 262.466M2657.97 257.081L2637.37 248.896L2621.96 262.466M2657.97 257.081L2636.43 263.789L2621.96 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2636.95 263.711L2621.96 262.467L2641.52 270.807L2657.97 257.081L2636.95 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2641.78 270.768L2636.95 263.711L2637.36 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2656.32 362.772L2640.49 373.788L2623.61 364.776L2638.49 353.818L2656.32 362.772Z" fill="#F2D664"/>
-<path d="M2656.32 362.772L2640.49 373.788L2623.61 364.776M2656.32 362.772L2638.49 353.818L2623.61 364.776M2656.32 362.772L2636.48 367.097L2623.61 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2636.96 367.068L2623.61 364.776L2640.49 373.788L2656.31 362.771L2636.96 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2640.73 373.773L2636.96 367.068L2638.49 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2654.7 468.157L2639.65 476.793L2625.22 467.389L2639.42 458.731L2654.7 468.157Z" fill="#F2D664"/>
-<path d="M2654.7 468.157L2639.65 476.793L2625.22 467.389M2654.7 468.157L2639.42 458.731L2625.22 467.389M2654.7 468.157L2636.58 470.48L2625.22 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2637.01 470.491L2625.22 467.39L2639.65 476.793L2654.7 468.158L2637.01 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2639.86 476.799L2637.01 470.491L2639.42 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2653.15 573.274L2638.98 579.836L2626.78 570.274L2640.19 563.625L2653.15 573.274Z" fill="#F2D664"/>
-<path d="M2653.15 573.274L2638.98 579.836L2626.78 570.274M2653.15 573.274L2640.19 563.625L2626.78 570.274M2653.15 573.274L2636.72 573.935L2626.78 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2637.1 573.979L2626.78 570.274L2638.98 579.836L2653.15 573.274L2637.1 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2639.17 579.858L2637.1 573.978L2640.19 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2651.67 678.153L2638.45 682.925L2628.26 673.394L2640.8 668.485L2651.67 678.153Z" fill="#FCEDB1"/>
-<path d="M2651.67 678.153L2638.45 682.925L2628.26 673.394M2651.67 678.153L2640.8 668.485L2628.26 673.394M2651.67 678.153L2636.88 677.457L2628.26 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2637.22 677.526L2628.26 673.394L2638.45 682.925L2651.67 678.153L2637.22 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2638.62 682.959L2637.22 677.526L2640.8 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2650.27 782.825L2638.04 786.066L2629.66 776.722L2641.29 773.304L2650.27 782.825Z" fill="#F2D664"/>
-<path d="M2650.27 782.825L2638.04 786.066L2629.66 776.722M2650.27 782.825L2641.29 773.304L2629.66 776.722M2650.27 782.825L2637.07 781.041L2629.66 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2637.37 781.13L2629.66 776.722L2638.04 786.066L2650.27 782.825L2637.37 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2638.19 786.11L2637.37 781.13L2641.29 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2648.96 887.318L2637.75 889.265L2630.96 880.229L2641.66 878.077L2648.96 887.318Z" fill="#F2D664"/>
-<path d="M2648.96 887.318L2637.75 889.265L2630.96 880.229M2648.96 887.318L2641.66 878.077L2630.96 880.229M2648.96 887.318L2637.27 884.683L2630.96 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2637.53 884.786L2630.96 880.229L2637.75 889.265L2648.96 887.318L2637.53 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.88 889.316L2637.53 884.786L2641.66 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2647.76 991.657L2637.55 992.523L2632.17 983.89L2641.93 982.799L2647.76 991.657Z" fill="#F2D664"/>
-<path d="M2647.76 991.657L2637.55 992.523L2632.17 983.89M2647.76 991.657L2641.93 982.799L2632.17 983.89M2647.76 991.657L2637.48 988.378L2632.17 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2637.7 988.49L2632.17 983.89L2637.55 992.523L2647.75 991.657L2637.7 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.66 992.579L2637.7 988.49L2641.93 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2646.64 1095.87L2637.42 1095.84L2633.28 1087.68L2642.12 1087.47L2646.64 1095.87Z" fill="#F2D664"/>
-<path d="M2646.64 1095.87L2637.42 1095.84L2633.28 1087.68M2646.64 1095.87L2642.12 1087.47L2633.28 1087.68M2646.64 1095.87L2637.69 1092.12L2633.28 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2637.88 1092.24L2633.28 1087.68L2637.42 1095.84L2646.64 1095.87L2637.88 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.52 1095.9L2637.88 1092.24L2642.12 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2645.63 1199.97L2637.37 1199.22L2634.29 1191.58L2642.23 1192.08L2645.63 1199.97Z" fill="#F2D664"/>
-<path d="M2645.63 1199.97L2637.37 1199.22L2634.29 1191.58M2645.63 1199.97L2642.23 1192.08L2634.29 1191.58M2645.63 1199.97L2637.9 1195.91L2634.29 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2638.06 1196.03L2634.29 1191.58L2637.37 1199.22L2645.63 1199.97L2638.06 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.45 1199.28L2638.06 1196.03L2642.23 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2644.72 1303.98L2637.36 1302.66L2635.21 1295.57L2642.29 1296.64L2644.72 1303.98Z" fill="#F2D664"/>
-<path d="M2644.72 1303.98L2637.36 1302.66L2635.21 1295.57M2644.72 1303.98L2642.29 1296.64L2635.21 1295.57M2644.72 1303.98L2638.1 1299.73L2635.21 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2638.24 1299.85L2635.21 1295.57L2637.36 1302.66L2644.72 1303.98L2638.24 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.43 1302.72L2638.24 1299.85L2642.29 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2643.9 1407.92L2637.41 1406.16L2636.03 1399.63L2642.29 1401.15L2643.9 1407.92Z" fill="#F2D664"/>
-<path d="M2643.9 1407.92L2637.41 1406.16L2636.03 1399.63M2643.9 1407.92L2642.29 1401.15L2636.03 1399.63M2643.9 1407.92L2638.3 1403.59L2636.03 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2638.41 1403.71L2636.03 1399.63L2637.41 1406.16L2643.9 1407.92L2638.41 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.46 1406.22L2638.41 1403.71L2642.29 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2643.16 1511.8L2637.48 1509.71L2636.76 1503.75L2642.26 1505.6L2643.16 1511.8Z" fill="#F2D664"/>
-<path d="M2643.16 1511.8L2637.48 1509.71L2636.76 1503.75M2643.16 1511.8L2642.26 1505.6L2636.76 1503.75M2643.16 1511.8L2638.48 1507.48L2636.76 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2638.58 1507.59L2636.76 1503.75L2637.48 1509.71L2643.16 1511.8L2638.58 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2637.53 1509.77L2638.58 1507.59L2642.26 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2644.35 1610.3L2640.84 1614.47L2635.58 1613.24L2638.83 1609.17L2644.35 1610.3Z" fill="#F2D664"/>
-<path d="M2644.35 1610.3L2640.84 1614.47L2635.58 1613.24M2644.35 1610.3L2638.83 1609.17L2635.58 1613.24M2644.35 1610.3L2639.26 1612.93L2635.58 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2639.38 1612.89L2635.58 1613.24L2640.84 1614.47L2644.35 1610.31L2639.38 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2640.9 1614.45L2639.38 1612.89L2638.83 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2764.82 44.6397L2747.77 64.8541L2722.2 58.9066L2738.02 39.1058L2764.82 44.6397Z" fill="#F2D664"/>
-<path d="M2764.82 44.6397L2747.77 64.8541L2722.2 58.9066M2764.82 44.6397L2738.02 39.1058L2722.2 58.9066M2764.82 44.6397L2740.08 57.4121L2722.2 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2740.69 57.2063L2722.2 58.9075L2747.77 64.8549L2764.82 44.6406L2740.69 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2748.07 64.7507L2740.69 57.2054L2738.02 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2763.18 151.05L2746.3 167.836L2723.84 160.498L2739.58 143.986L2763.18 151.05Z" fill="#F2D664"/>
-<path d="M2763.18 151.05L2746.3 167.836L2723.84 160.498M2763.18 151.05L2739.58 143.986L2723.84 160.498M2763.18 151.05L2739.99 160.56L2723.84 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2740.56 160.424L2723.84 160.498L2746.3 167.836L2763.18 151.05L2740.56 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2746.59 167.767L2740.56 160.423L2739.58 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2761.51 257.081L2745.07 270.807L2725.51 262.466L2740.91 248.896L2761.51 257.081Z" fill="#F2D664"/>
-<path d="M2761.51 257.081L2745.07 270.807L2725.51 262.466M2761.51 257.081L2740.91 248.896L2725.51 262.466M2761.51 257.081L2739.98 263.789L2725.51 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2740.5 263.711L2725.51 262.467L2745.07 270.807L2761.51 257.081L2740.5 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2745.33 270.768L2740.5 263.711L2740.91 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2759.86 362.772L2744.04 373.788L2727.16 364.776L2742.03 353.818L2759.86 362.772Z" fill="#F2D664"/>
-<path d="M2759.86 362.772L2744.04 373.788L2727.16 364.776M2759.86 362.772L2742.03 353.818L2727.16 364.776M2759.86 362.772L2740.03 367.097L2727.16 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2740.5 367.068L2727.16 364.776L2744.04 373.788L2759.86 362.771L2740.5 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2744.28 373.773L2740.5 367.068L2742.03 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2758.25 468.157L2743.2 476.793L2728.77 467.389L2742.97 458.731L2758.25 468.157Z" fill="#F2D664"/>
-<path d="M2758.25 468.157L2743.2 476.793L2728.77 467.389M2758.25 468.157L2742.97 458.731L2728.77 467.389M2758.25 468.157L2740.13 470.48L2728.77 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2740.56 470.491L2728.77 467.39L2743.2 476.793L2758.25 468.158L2740.56 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2743.41 476.799L2740.56 470.491L2742.97 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2756.7 573.274L2742.52 579.836L2730.33 570.274L2743.73 563.625L2756.7 573.274Z" fill="#F2D664"/>
-<path d="M2756.7 573.274L2742.52 579.836L2730.33 570.274M2756.7 573.274L2743.73 563.625L2730.33 570.274M2756.7 573.274L2740.27 573.935L2730.33 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2740.65 573.979L2730.33 570.274L2742.52 579.836L2756.7 573.274L2740.65 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2742.71 579.858L2740.65 573.978L2743.73 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2755.21 678.153L2741.99 682.925L2731.81 673.394L2744.35 668.485L2755.21 678.153Z" fill="#FCEDB1"/>
-<path d="M2755.21 678.153L2741.99 682.925L2731.81 673.394M2755.21 678.153L2744.35 668.485L2731.81 673.394M2755.21 678.153L2740.43 677.457L2731.81 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2740.77 677.526L2731.81 673.394L2741.99 682.925L2755.21 678.153L2740.77 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2742.16 682.959L2740.77 677.526L2744.35 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2753.82 782.825L2741.59 786.066L2733.2 776.722L2744.83 773.304L2753.82 782.825Z" fill="#F2D664"/>
-<path d="M2753.82 782.825L2741.59 786.066L2733.2 776.722M2753.82 782.825L2744.83 773.304L2733.2 776.722M2753.82 782.825L2740.62 781.041L2733.2 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2740.92 781.13L2733.2 776.722L2741.59 786.066L2753.82 782.825L2740.92 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.74 786.11L2740.92 781.13L2744.83 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2752.51 887.318L2741.29 889.265L2734.51 880.229L2745.2 878.077L2752.51 887.318Z" fill="#F2D664"/>
-<path d="M2752.51 887.318L2741.29 889.265L2734.51 880.229M2752.51 887.318L2745.2 878.077L2734.51 880.229M2752.51 887.318L2740.82 884.683L2734.51 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2741.08 884.786L2734.51 880.229L2741.29 889.265L2752.51 887.318L2741.08 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.43 889.316L2741.08 884.786L2745.21 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2751.3 991.657L2741.09 992.523L2735.72 983.89L2745.48 982.799L2751.3 991.657Z" fill="#F2D664"/>
-<path d="M2751.3 991.657L2741.09 992.523L2735.72 983.89M2751.3 991.657L2745.48 982.799L2735.72 983.89M2751.3 991.657L2741.03 988.378L2735.72 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2741.25 988.49L2735.72 983.89L2741.09 992.523L2751.3 991.657L2741.25 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.21 992.579L2741.25 988.49L2745.48 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2750.19 1095.87L2740.97 1095.84L2736.83 1087.68L2745.66 1087.47L2750.19 1095.87Z" fill="#F2D664"/>
-<path d="M2750.19 1095.87L2740.97 1095.84L2736.83 1087.68M2750.19 1095.87L2745.66 1087.47L2736.83 1087.68M2750.19 1095.87L2741.23 1092.12L2736.83 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2741.43 1092.24L2736.83 1087.68L2740.97 1095.84L2750.19 1095.87L2741.43 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.07 1095.9L2741.43 1092.24L2745.66 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2749.18 1199.97L2740.91 1199.22L2737.84 1191.58L2745.78 1192.08L2749.18 1199.97Z" fill="#F2D664"/>
-<path d="M2749.18 1199.97L2740.91 1199.22L2737.84 1191.58M2749.18 1199.97L2745.78 1192.08L2737.84 1191.58M2749.18 1199.97L2741.44 1195.91L2737.84 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2741.61 1196.03L2737.84 1191.58L2740.91 1199.22L2749.18 1199.97L2741.61 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741 1199.28L2741.61 1196.03L2745.78 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2748.26 1303.98L2740.91 1302.66L2738.76 1295.57L2745.83 1296.64L2748.26 1303.98Z" fill="#F2D664"/>
-<path d="M2748.26 1303.98L2740.91 1302.66L2738.76 1295.57M2748.26 1303.98L2745.83 1296.64L2738.76 1295.57M2748.26 1303.98L2741.65 1299.73L2738.76 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2741.78 1299.85L2738.76 1295.57L2740.91 1302.66L2748.26 1303.98L2741.78 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2740.98 1302.72L2741.78 1299.85L2745.83 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2747.44 1407.92L2740.95 1406.16L2739.58 1399.63L2745.84 1401.15L2747.44 1407.92Z" fill="#F2D664"/>
-<path d="M2747.44 1407.92L2740.95 1406.16L2739.58 1399.63M2747.44 1407.92L2745.84 1401.15L2739.58 1399.63M2747.44 1407.92L2741.84 1403.59L2739.58 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2741.96 1403.71L2739.58 1399.63L2740.95 1406.16L2747.44 1407.92L2741.96 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.01 1406.22L2741.96 1403.71L2745.84 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2746.71 1511.8L2741.03 1509.71L2740.31 1503.75L2745.8 1505.6L2746.71 1511.8Z" fill="#F2D664"/>
-<path d="M2746.71 1511.8L2741.03 1509.71L2740.31 1503.75M2746.71 1511.8L2745.8 1505.6L2740.31 1503.75M2746.71 1511.8L2742.03 1507.48L2740.31 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2742.12 1507.59L2740.31 1503.75L2741.03 1509.71L2746.71 1511.8L2742.12 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2741.08 1509.77L2742.12 1507.59L2745.8 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2747.9 1610.3L2744.39 1614.47L2739.12 1613.24L2742.38 1609.17L2747.9 1610.3Z" fill="#F2D664"/>
-<path d="M2747.9 1610.3L2744.39 1614.47L2739.12 1613.24M2747.9 1610.3L2742.38 1609.17L2739.12 1613.24M2747.9 1610.3L2742.8 1612.93L2739.12 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2742.93 1612.89L2739.12 1613.24L2744.39 1614.47L2747.9 1610.31L2742.93 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2744.45 1614.45L2742.93 1612.89L2742.38 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2868.37 44.6397L2851.31 64.8541L2825.75 58.9066L2841.57 39.1058L2868.37 44.6397Z" fill="#F2D664"/>
-<path d="M2868.37 44.6397L2851.31 64.8541L2825.75 58.9066M2868.37 44.6397L2841.57 39.1058L2825.75 58.9066M2868.37 44.6397L2843.62 57.4121L2825.75 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2844.24 57.2063L2825.75 58.9075L2851.31 64.8549L2868.37 44.6406L2844.24 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2851.62 64.7507L2844.24 57.2054L2841.57 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2866.72 151.05L2849.85 167.836L2827.39 160.498L2843.13 143.986L2866.72 151.05Z" fill="#F2D664"/>
-<path d="M2866.72 151.05L2849.85 167.836L2827.39 160.498M2866.72 151.05L2843.13 143.986L2827.39 160.498M2866.72 151.05L2843.54 160.56L2827.39 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2844.11 160.424L2827.39 160.498L2849.85 167.836L2866.72 151.05L2844.11 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2850.13 167.767L2844.11 160.423L2843.13 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2865.06 257.081L2848.61 270.807L2829.06 262.466L2844.46 248.896L2865.06 257.081Z" fill="#F2D664"/>
-<path d="M2865.06 257.081L2848.61 270.807L2829.06 262.466M2865.06 257.081L2844.46 248.896L2829.06 262.466M2865.06 257.081L2843.53 263.789L2829.06 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2844.05 263.711L2829.05 262.467L2848.61 270.807L2865.06 257.081L2844.05 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2848.87 270.768L2844.05 263.711L2844.46 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2863.41 362.772L2847.59 373.788L2830.71 364.776L2845.58 353.818L2863.41 362.772Z" fill="#F2D664"/>
-<path d="M2863.41 362.772L2847.59 373.788L2830.71 364.776M2863.41 362.772L2845.58 353.818L2830.71 364.776M2863.41 362.772L2843.58 367.097L2830.71 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2844.05 367.068L2830.71 364.776L2847.59 373.788L2863.41 362.771L2844.05 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2847.82 373.773L2844.05 367.068L2845.58 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2861.8 468.157L2846.75 476.793L2832.32 467.389L2846.52 458.731L2861.8 468.157Z" fill="#F2D664"/>
-<path d="M2861.8 468.157L2846.75 476.793L2832.32 467.389M2861.8 468.157L2846.52 458.731L2832.32 467.389M2861.8 468.157L2843.68 470.48L2832.32 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2844.1 470.491L2832.32 467.39L2846.75 476.793L2861.8 468.158L2844.1 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2846.96 476.799L2844.1 470.491L2846.52 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2860.24 573.274L2846.07 579.836L2833.87 570.274L2847.28 563.625L2860.24 573.274Z" fill="#F2D664"/>
-<path d="M2860.24 573.274L2846.07 579.836L2833.87 570.274M2860.24 573.274L2847.28 563.625L2833.87 570.274M2860.24 573.274L2843.81 573.935L2833.87 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2844.2 573.979L2833.87 570.274L2846.07 579.836L2860.24 573.274L2844.2 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2846.26 579.858L2844.2 573.978L2847.28 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2858.76 678.153L2845.54 682.925L2835.35 673.394L2847.9 668.485L2858.76 678.153Z" fill="#FCEDB1"/>
-<path d="M2858.76 678.153L2845.54 682.925L2835.35 673.394M2858.76 678.153L2847.9 668.485L2835.35 673.394M2858.76 678.153L2843.98 677.457L2835.35 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2844.32 677.526L2835.36 673.394L2845.54 682.925L2858.76 678.153L2844.32 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2845.71 682.959L2844.32 677.526L2847.9 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2857.36 782.825L2845.14 786.066L2836.75 776.722L2848.38 773.304L2857.36 782.825Z" fill="#F2D664"/>
-<path d="M2857.36 782.825L2845.14 786.066L2836.75 776.722M2857.36 782.825L2848.38 773.304L2836.75 776.722M2857.36 782.825L2844.17 781.041L2836.75 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2844.46 781.13L2836.75 776.722L2845.14 786.066L2857.36 782.825L2844.46 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2845.29 786.11L2844.46 781.13L2848.38 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2856.06 887.318L2844.84 889.265L2838.06 880.229L2848.75 878.077L2856.06 887.318Z" fill="#F2D664"/>
-<path d="M2856.06 887.318L2844.84 889.265L2838.06 880.229M2856.06 887.318L2848.75 878.077L2838.06 880.229M2856.06 887.318L2844.37 884.683L2838.06 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2844.63 884.786L2838.06 880.229L2844.84 889.265L2856.06 887.318L2844.63 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.97 889.316L2844.63 884.786L2848.75 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2854.85 991.657L2844.64 992.523L2839.27 983.89L2849.02 982.799L2854.85 991.657Z" fill="#F2D664"/>
-<path d="M2854.85 991.657L2844.64 992.523L2839.27 983.89M2854.85 991.657L2849.02 982.799L2839.27 983.89M2854.85 991.657L2844.57 988.378L2839.27 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2844.8 988.49L2839.27 983.89L2844.64 992.523L2854.85 991.657L2844.8 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.75 992.579L2844.8 988.49L2849.02 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2853.74 1095.87L2844.52 1095.84L2840.38 1087.68L2849.21 1087.47L2853.74 1095.87Z" fill="#F2D664"/>
-<path d="M2853.74 1095.87L2844.52 1095.84L2840.38 1087.68M2853.74 1095.87L2849.21 1087.47L2840.38 1087.68M2853.74 1095.87L2844.78 1092.12L2840.38 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2844.98 1092.24L2840.38 1087.68L2844.52 1095.84L2853.74 1095.87L2844.98 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.61 1095.9L2844.98 1092.24L2849.21 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2852.73 1199.97L2844.46 1199.22L2841.39 1191.58L2849.33 1192.08L2852.73 1199.97Z" fill="#F2D664"/>
-<path d="M2852.73 1199.97L2844.46 1199.22L2841.39 1191.58M2852.73 1199.97L2849.33 1192.08L2841.39 1191.58M2852.73 1199.97L2844.99 1195.91L2841.39 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2845.15 1196.03L2841.39 1191.58L2844.46 1199.22L2852.73 1199.97L2845.15 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.54 1199.28L2845.15 1196.03L2849.33 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2851.81 1303.98L2844.46 1302.66L2842.3 1295.57L2849.38 1296.64L2851.81 1303.98Z" fill="#F2D664"/>
-<path d="M2851.81 1303.98L2844.46 1302.66L2842.3 1295.57M2851.81 1303.98L2849.38 1296.64L2842.3 1295.57M2851.81 1303.98L2845.19 1299.73L2842.3 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2845.33 1299.85L2842.3 1295.57L2844.46 1302.66L2851.81 1303.98L2845.33 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.53 1302.72L2845.33 1299.85L2849.38 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2850.99 1407.92L2844.5 1406.16L2843.13 1399.63L2849.39 1401.15L2850.99 1407.92Z" fill="#F2D664"/>
-<path d="M2850.99 1407.92L2844.5 1406.16L2843.13 1399.63M2850.99 1407.92L2849.39 1401.15L2843.13 1399.63M2850.99 1407.92L2845.39 1403.59L2843.13 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2845.5 1403.71L2843.13 1399.63L2844.5 1406.16L2850.99 1407.92L2845.5 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.56 1406.22L2845.5 1403.71L2849.39 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2850.26 1511.8L2844.58 1509.71L2843.86 1503.75L2849.35 1505.6L2850.26 1511.8Z" fill="#F2D664"/>
-<path d="M2850.26 1511.8L2844.58 1509.71L2843.86 1503.75M2850.26 1511.8L2849.35 1505.6L2843.86 1503.75M2850.26 1511.8L2845.58 1507.48L2843.86 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2845.67 1507.59L2843.86 1503.75L2844.58 1509.71L2850.26 1511.8L2845.67 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2844.63 1509.77L2845.67 1507.59L2849.35 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2851.45 1610.3L2847.93 1614.47L2842.67 1613.24L2845.93 1609.17L2851.45 1610.3Z" fill="#F2D664"/>
-<path d="M2851.45 1610.3L2847.93 1614.47L2842.67 1613.24M2851.45 1610.3L2845.93 1609.17L2842.67 1613.24M2851.45 1610.3L2846.35 1612.93L2842.67 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2846.48 1612.89L2842.67 1613.24L2847.93 1614.47L2851.45 1610.31L2846.48 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2848 1614.45L2846.48 1612.89L2845.93 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M2971.92 44.6397L2954.86 64.8541L2929.3 58.9066L2945.11 39.1058L2971.92 44.6397Z" fill="#F2D664"/>
-<path d="M2971.92 44.6397L2954.86 64.8541L2929.3 58.9066M2971.92 44.6397L2945.11 39.1058L2929.3 58.9066M2971.92 44.6397L2947.17 57.4121L2929.3 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M2947.79 57.2063L2929.29 58.9075L2954.86 64.8549L2971.92 44.6406L2947.79 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2955.17 64.7507L2947.79 57.2054L2945.11 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M2970.27 151.05L2953.4 167.836L2930.94 160.498L2946.68 143.986L2970.27 151.05Z" fill="#F2D664"/>
-<path d="M2970.27 151.05L2953.4 167.836L2930.94 160.498M2970.27 151.05L2946.68 143.986L2930.94 160.498M2970.27 151.05L2947.09 160.56L2930.94 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M2947.66 160.424L2930.94 160.498L2953.4 167.836L2970.27 151.05L2947.66 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2953.68 167.767L2947.66 160.423L2946.68 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M2968.61 257.081L2952.16 270.807L2932.6 262.466L2948.01 248.896L2968.61 257.081Z" fill="#F2D664"/>
-<path d="M2968.61 257.081L2952.16 270.807L2932.6 262.466M2968.61 257.081L2948.01 248.896L2932.6 262.466M2968.61 257.081L2947.07 263.789L2932.6 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M2947.6 263.711L2932.6 262.467L2952.16 270.807L2968.61 257.081L2947.6 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2952.42 270.768L2947.6 263.711L2948.01 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M2966.96 362.772L2951.13 373.788L2934.25 364.776L2949.13 353.818L2966.96 362.772Z" fill="#F2D664"/>
-<path d="M2966.96 362.772L2951.13 373.788L2934.25 364.776M2966.96 362.772L2949.13 353.818L2934.25 364.776M2966.96 362.772L2947.12 367.097L2934.25 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M2947.6 367.068L2934.25 364.776L2951.13 373.788L2966.96 362.771L2947.6 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2951.37 373.773L2947.6 367.068L2949.13 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M2965.35 468.157L2950.29 476.793L2935.87 467.389L2950.06 458.731L2965.35 468.157Z" fill="#F2D664"/>
-<path d="M2965.35 468.157L2950.29 476.793L2935.87 467.389M2965.35 468.157L2950.06 458.731L2935.87 467.389M2965.35 468.157L2947.22 470.48L2935.87 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M2947.65 470.491L2935.87 467.39L2950.29 476.793L2965.34 468.158L2947.65 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2950.51 476.799L2947.65 470.491L2950.06 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M2963.79 573.274L2949.62 579.836L2937.42 570.274L2950.83 563.625L2963.79 573.274Z" fill="#F2D664"/>
-<path d="M2963.79 573.274L2949.62 579.836L2937.42 570.274M2963.79 573.274L2950.83 563.625L2937.42 570.274M2963.79 573.274L2947.36 573.935L2937.42 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M2947.74 573.979L2937.42 570.274L2949.62 579.836L2963.79 573.274L2947.74 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2949.81 579.858L2947.74 573.978L2950.83 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M2962.31 678.153L2949.09 682.925L2938.9 673.394L2951.44 668.485L2962.31 678.153Z" fill="#FCEDB1"/>
-<path d="M2962.31 678.153L2949.09 682.925L2938.9 673.394M2962.31 678.153L2951.44 668.485L2938.9 673.394M2962.31 678.153L2947.53 677.457L2938.9 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M2947.87 677.526L2938.9 673.394L2949.09 682.925L2962.31 678.153L2947.87 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2949.26 682.959L2947.87 677.526L2951.44 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M2960.91 782.825L2948.68 786.066L2940.3 776.722L2951.93 773.304L2960.91 782.825Z" fill="#F2D664"/>
-<path d="M2960.91 782.825L2948.68 786.066L2940.3 776.722M2960.91 782.825L2951.93 773.304L2940.3 776.722M2960.91 782.825L2947.71 781.041L2940.3 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M2948.01 781.13L2940.3 776.722L2948.68 786.066L2960.91 782.825L2948.01 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.83 786.11L2948.01 781.13L2951.93 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M2959.61 887.318L2948.39 889.265L2941.6 880.229L2952.3 878.077L2959.61 887.318Z" fill="#F2D664"/>
-<path d="M2959.61 887.318L2948.39 889.265L2941.6 880.229M2959.61 887.318L2952.3 878.077L2941.6 880.229M2959.61 887.318L2947.91 884.683L2941.6 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M2948.17 884.786L2941.6 880.229L2948.39 889.265L2959.61 887.318L2948.17 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.52 889.316L2948.17 884.786L2952.3 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M2958.4 991.657L2948.19 992.523L2942.81 983.89L2952.57 982.799L2958.4 991.657Z" fill="#F2D664"/>
-<path d="M2958.4 991.657L2948.19 992.523L2942.81 983.89M2958.4 991.657L2952.57 982.799L2942.81 983.89M2958.4 991.657L2948.12 988.378L2942.81 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M2948.35 988.49L2942.81 983.89L2948.19 992.523L2958.4 991.657L2948.35 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.3 992.579L2948.35 988.49L2952.57 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M2957.29 1095.87L2948.07 1095.84L2943.92 1087.68L2952.76 1087.47L2957.29 1095.87Z" fill="#F2D664"/>
-<path d="M2957.29 1095.87L2948.07 1095.84L2943.92 1087.68M2957.29 1095.87L2952.76 1087.47L2943.92 1087.68M2957.29 1095.87L2948.33 1092.12L2943.92 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M2948.52 1092.24L2943.92 1087.68L2948.07 1095.84L2957.29 1095.87L2948.52 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.16 1095.9L2948.52 1092.24L2952.76 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M2956.28 1199.97L2948.01 1199.22L2944.94 1191.58L2952.87 1192.08L2956.28 1199.97Z" fill="#F2D664"/>
-<path d="M2956.28 1199.97L2948.01 1199.22L2944.94 1191.58M2956.28 1199.97L2952.87 1192.08L2944.94 1191.58M2956.28 1199.97L2948.54 1195.91L2944.94 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M2948.7 1196.03L2944.94 1191.58L2948.01 1199.22L2956.28 1199.97L2948.7 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.09 1199.28L2948.7 1196.03L2952.87 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M2955.36 1303.98L2948.01 1302.66L2945.85 1295.57L2952.93 1296.64L2955.36 1303.98Z" fill="#F2D664"/>
-<path d="M2955.36 1303.98L2948.01 1302.66L2945.85 1295.57M2955.36 1303.98L2952.93 1296.64L2945.85 1295.57M2955.36 1303.98L2948.74 1299.73L2945.85 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M2948.88 1299.85L2945.85 1295.57L2948.01 1302.66L2955.36 1303.98L2948.88 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.08 1302.72L2948.88 1299.85L2952.93 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M2954.54 1407.92L2948.05 1406.16L2946.67 1399.63L2952.93 1401.15L2954.54 1407.92Z" fill="#F2D664"/>
-<path d="M2954.54 1407.92L2948.05 1406.16L2946.67 1399.63M2954.54 1407.92L2952.93 1401.15L2946.67 1399.63M2954.54 1407.92L2948.94 1403.59L2946.67 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M2949.05 1403.71L2946.67 1399.63L2948.05 1406.16L2954.54 1407.92L2949.05 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.11 1406.22L2949.05 1403.71L2952.93 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M2953.81 1511.8L2948.13 1509.71L2947.41 1503.75L2952.9 1505.6L2953.81 1511.8Z" fill="#F2D664"/>
-<path d="M2953.81 1511.8L2948.13 1509.71L2947.41 1503.75M2953.81 1511.8L2952.9 1505.6L2947.41 1503.75M2953.81 1511.8L2949.13 1507.48L2947.41 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M2949.22 1507.59L2947.4 1503.75L2948.13 1509.71L2953.81 1511.8L2949.22 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2948.17 1509.77L2949.22 1507.59L2952.9 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M2954.99 1610.3L2951.48 1614.47L2946.22 1613.24L2949.48 1609.17L2954.99 1610.3Z" fill="#F2D664"/>
-<path d="M2954.99 1610.3L2951.48 1614.47L2946.22 1613.24M2954.99 1610.3L2949.48 1609.17L2946.22 1613.24M2954.99 1610.3L2949.9 1612.93L2946.22 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M2950.03 1612.89L2946.22 1613.24L2951.48 1614.47L2954.99 1610.31L2950.03 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M2951.55 1614.45L2950.03 1612.89L2949.48 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3075.46 44.6397L3058.41 64.8541L3032.84 58.9066L3048.66 39.1058L3075.46 44.6397Z" fill="#F2D664"/>
-<path d="M3075.46 44.6397L3058.41 64.8541L3032.84 58.9066M3075.46 44.6397L3048.66 39.1058L3032.84 58.9066M3075.46 44.6397L3050.72 57.4121L3032.84 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3051.34 57.2063L3032.84 58.9075L3058.41 64.8549L3075.46 44.6406L3051.34 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3058.72 64.7507L3051.34 57.2054L3048.66 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3073.82 151.05L3056.94 167.836L3034.49 160.498L3050.22 143.986L3073.82 151.05Z" fill="#F2D664"/>
-<path d="M3073.82 151.05L3056.94 167.836L3034.49 160.498M3073.82 151.05L3050.22 143.986L3034.49 160.498M3073.82 151.05L3050.63 160.56L3034.49 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3051.2 160.424L3034.49 160.498L3056.94 167.836L3073.82 151.05L3051.2 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3057.23 167.767L3051.2 160.423L3050.22 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3072.15 257.081L3055.71 270.807L3036.15 262.466L3051.55 248.896L3072.15 257.081Z" fill="#F2D664"/>
-<path d="M3072.15 257.081L3055.71 270.807L3036.15 262.466M3072.15 257.081L3051.55 248.896L3036.15 262.466M3072.15 257.081L3050.62 263.789L3036.15 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3051.14 263.711L3036.15 262.467L3055.71 270.807L3072.15 257.081L3051.14 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3055.97 270.768L3051.14 263.711L3051.55 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3070.5 362.772L3054.68 373.788L3037.8 364.776L3052.68 353.818L3070.5 362.772Z" fill="#F2D664"/>
-<path d="M3070.5 362.772L3054.68 373.788L3037.8 364.776M3070.5 362.772L3052.68 353.818L3037.8 364.776M3070.5 362.772L3050.67 367.097L3037.8 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3051.14 367.068L3037.8 364.776L3054.68 373.788L3070.5 362.771L3051.14 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3054.92 373.773L3051.15 367.068L3052.68 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3068.89 468.157L3053.84 476.793L3039.41 467.389L3053.61 458.731L3068.89 468.157Z" fill="#F2D664"/>
-<path d="M3068.89 468.157L3053.84 476.793L3039.41 467.389M3068.89 468.157L3053.61 458.731L3039.41 467.389M3068.89 468.157L3050.77 470.48L3039.41 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3051.2 470.491L3039.41 467.39L3053.84 476.793L3068.89 468.158L3051.2 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3054.06 476.799L3051.2 470.491L3053.61 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3067.34 573.274L3053.17 579.836L3040.97 570.274L3054.38 563.625L3067.34 573.274Z" fill="#F2D664"/>
-<path d="M3067.34 573.274L3053.17 579.836L3040.97 570.274M3067.34 573.274L3054.38 563.625L3040.97 570.274M3067.34 573.274L3050.91 573.935L3040.97 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3051.29 573.979L3040.97 570.274L3053.17 579.836L3067.34 573.274L3051.29 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3053.36 579.858L3051.29 573.978L3054.38 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3065.86 678.153L3052.64 682.925L3042.45 673.394L3054.99 668.485L3065.86 678.153Z" fill="#FCEDB1"/>
-<path d="M3065.86 678.153L3052.64 682.925L3042.45 673.394M3065.86 678.153L3054.99 668.485L3042.45 673.394M3065.86 678.153L3051.07 677.457L3042.45 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3051.41 677.526L3042.45 673.394L3052.64 682.925L3065.86 678.153L3051.41 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3052.81 682.959L3051.41 677.526L3054.99 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3064.46 782.825L3052.23 786.066L3043.85 776.722L3055.48 773.304L3064.46 782.825Z" fill="#F2D664"/>
-<path d="M3064.46 782.825L3052.23 786.066L3043.85 776.722M3064.46 782.825L3055.48 773.304L3043.85 776.722M3064.46 782.825L3051.26 781.041L3043.85 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3051.56 781.13L3043.85 776.722L3052.23 786.066L3064.46 782.825L3051.56 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3052.38 786.11L3051.56 781.13L3055.48 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3063.15 887.318L3051.94 889.265L3045.15 880.229L3055.85 878.077L3063.15 887.318Z" fill="#F2D664"/>
-<path d="M3063.15 887.318L3051.94 889.265L3045.15 880.229M3063.15 887.318L3055.85 878.077L3045.15 880.229M3063.15 887.318L3051.46 884.683L3045.15 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3051.72 884.786L3045.15 880.229L3051.94 889.265L3063.15 887.318L3051.72 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3052.07 889.316L3051.72 884.786L3055.85 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3061.94 991.657L3051.74 992.523L3046.36 983.89L3056.12 982.799L3061.94 991.657Z" fill="#F2D664"/>
-<path d="M3061.94 991.657L3051.74 992.523L3046.36 983.89M3061.94 991.657L3056.12 982.799L3046.36 983.89M3061.94 991.657L3051.67 988.378L3046.36 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3051.89 988.49L3046.36 983.89L3051.74 992.523L3061.95 991.657L3051.89 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.85 992.579L3051.89 988.49L3056.12 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3060.83 1095.87L3051.61 1095.84L3047.47 1087.68L3056.31 1087.47L3060.83 1095.87Z" fill="#F2D664"/>
-<path d="M3060.83 1095.87L3051.61 1095.84L3047.47 1087.68M3060.83 1095.87L3056.31 1087.47L3047.47 1087.68M3060.83 1095.87L3051.88 1092.12L3047.47 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3052.07 1092.24L3047.47 1087.68L3051.61 1095.84L3060.83 1095.87L3052.07 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.71 1095.9L3052.07 1092.24L3056.31 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3059.82 1199.97L3051.56 1199.22L3048.48 1191.58L3056.42 1192.08L3059.82 1199.97Z" fill="#F2D664"/>
-<path d="M3059.82 1199.97L3051.56 1199.22L3048.48 1191.58M3059.82 1199.97L3056.42 1192.08L3048.48 1191.58M3059.82 1199.97L3052.09 1195.91L3048.48 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3052.25 1196.03L3048.48 1191.58L3051.56 1199.22L3059.82 1199.97L3052.25 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.64 1199.28L3052.25 1196.03L3056.42 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3058.91 1303.98L3051.55 1302.66L3049.4 1295.57L3056.48 1296.64L3058.91 1303.98Z" fill="#F2D664"/>
-<path d="M3058.91 1303.98L3051.55 1302.66L3049.4 1295.57M3058.91 1303.98L3056.48 1296.64L3049.4 1295.57M3058.91 1303.98L3052.29 1299.73L3049.4 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3052.43 1299.85L3049.4 1295.57L3051.55 1302.66L3058.91 1303.98L3052.43 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.62 1302.72L3052.43 1299.85L3056.48 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3058.09 1407.92L3051.6 1406.16L3050.22 1399.63L3056.48 1401.15L3058.09 1407.92Z" fill="#F2D664"/>
-<path d="M3058.09 1407.92L3051.6 1406.16L3050.22 1399.63M3058.09 1407.92L3056.48 1401.15L3050.22 1399.63M3058.09 1407.92L3052.48 1403.59L3050.22 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3052.6 1403.71L3050.22 1399.63L3051.6 1406.16L3058.08 1407.92L3052.6 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.65 1406.22L3052.6 1403.71L3056.48 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3057.35 1511.8L3051.67 1509.71L3050.95 1503.75L3056.45 1505.6L3057.35 1511.8Z" fill="#F2D664"/>
-<path d="M3057.35 1511.8L3051.67 1509.71L3050.95 1503.75M3057.35 1511.8L3056.45 1505.6L3050.95 1503.75M3057.35 1511.8L3052.67 1507.48L3050.95 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3052.76 1507.59L3050.95 1503.75L3051.67 1509.71L3057.35 1511.8L3052.76 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3051.72 1509.77L3052.77 1507.59L3056.45 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3058.54 1610.3L3055.03 1614.47L3049.77 1613.24L3053.02 1609.17L3058.54 1610.3Z" fill="#F2D664"/>
-<path d="M3058.54 1610.3L3055.03 1614.47L3049.77 1613.24M3058.54 1610.3L3053.02 1609.17L3049.77 1613.24M3058.54 1610.3L3053.45 1612.93L3049.77 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3053.57 1612.89L3049.76 1613.24L3055.03 1614.47L3058.54 1610.31L3053.57 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3055.09 1614.45L3053.57 1612.89L3053.02 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3179.01 44.6397L3161.96 64.8541L3136.39 58.9066L3152.21 39.1058L3179.01 44.6397Z" fill="#F2D664"/>
-<path d="M3179.01 44.6397L3161.96 64.8541L3136.39 58.9066M3179.01 44.6397L3152.21 39.1058L3136.39 58.9066M3179.01 44.6397L3154.27 57.4121L3136.39 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3154.88 57.2063L3136.39 58.9075L3161.96 64.8549L3179.01 44.6406L3154.88 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3162.26 64.7507L3154.88 57.2054L3152.21 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3177.37 151.05L3160.49 167.836L3138.03 160.498L3153.77 143.986L3177.37 151.05Z" fill="#F2D664"/>
-<path d="M3177.37 151.05L3160.49 167.836L3138.03 160.498M3177.37 151.05L3153.77 143.986L3138.03 160.498M3177.37 151.05L3154.18 160.56L3138.03 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3154.75 160.424L3138.03 160.498L3160.49 167.836L3177.37 151.05L3154.75 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3160.78 167.767L3154.75 160.423L3153.77 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3175.7 257.081L3159.26 270.807L3139.7 262.466L3155.1 248.896L3175.7 257.081Z" fill="#F2D664"/>
-<path d="M3175.7 257.081L3159.26 270.807L3139.7 262.466M3175.7 257.081L3155.1 248.896L3139.7 262.466M3175.7 257.081L3154.17 263.789L3139.7 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3154.69 263.711L3139.7 262.467L3159.25 270.807L3175.7 257.081L3154.69 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3159.52 270.768L3154.69 263.711L3155.1 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3174.05 362.772L3158.23 373.788L3141.35 364.776L3156.22 353.818L3174.05 362.772Z" fill="#F2D664"/>
-<path d="M3174.05 362.772L3158.23 373.788L3141.35 364.776M3174.05 362.772L3156.22 353.818L3141.35 364.776M3174.05 362.772L3154.22 367.097L3141.35 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3154.69 367.068L3141.35 364.776L3158.23 373.788L3174.05 362.771L3154.69 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3158.47 373.773L3154.69 367.068L3156.22 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3172.44 468.157L3157.39 476.793L3142.96 467.389L3157.16 458.731L3172.44 468.157Z" fill="#F2D664"/>
-<path d="M3172.44 468.157L3157.39 476.793L3142.96 467.389M3172.44 468.157L3157.16 458.731L3142.96 467.389M3172.44 468.157L3154.32 470.48L3142.96 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3154.75 470.491L3142.96 467.39L3157.39 476.793L3172.44 468.158L3154.75 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3157.6 476.799L3154.75 470.491L3157.16 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3170.89 573.274L3156.71 579.836L3144.52 570.274L3157.92 563.625L3170.89 573.274Z" fill="#F2D664"/>
-<path d="M3170.89 573.274L3156.71 579.836L3144.52 570.274M3170.89 573.274L3157.92 563.625L3144.52 570.274M3170.89 573.274L3154.46 573.935L3144.52 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3154.84 573.979L3144.52 570.274L3156.71 579.836L3170.89 573.274L3154.84 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3156.9 579.858L3154.84 573.978L3157.92 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3169.4 678.153L3156.18 682.925L3146 673.394L3158.54 668.485L3169.4 678.153Z" fill="#FCEDB1"/>
-<path d="M3169.4 678.153L3156.18 682.925L3146 673.394M3169.4 678.153L3158.54 668.485L3146 673.394M3169.4 678.153L3154.62 677.457L3146 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3154.96 677.526L3146 673.394L3156.18 682.925L3169.4 678.153L3154.96 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3156.35 682.959L3154.96 677.526L3158.54 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3168.01 782.825L3155.78 786.066L3147.39 776.722L3159.02 773.304L3168.01 782.825Z" fill="#F2D664"/>
-<path d="M3168.01 782.825L3155.78 786.066L3147.39 776.722M3168.01 782.825L3159.02 773.304L3147.39 776.722M3168.01 782.825L3154.81 781.041L3147.39 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3155.11 781.13L3147.39 776.722L3155.78 786.066L3168.01 782.825L3155.11 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.93 786.11L3155.11 781.13L3159.02 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3166.7 887.318L3155.48 889.265L3148.7 880.229L3159.39 878.077L3166.7 887.318Z" fill="#F2D664"/>
-<path d="M3166.7 887.318L3155.48 889.265L3148.7 880.229M3166.7 887.318L3159.39 878.077L3148.7 880.229M3166.7 887.318L3155.01 884.683L3148.7 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3155.27 884.786L3148.7 880.229L3155.48 889.265L3166.7 887.318L3155.27 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.61 889.316L3155.27 884.786L3159.39 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3165.49 991.657L3155.28 992.523L3149.91 983.89L3159.67 982.799L3165.49 991.657Z" fill="#F2D664"/>
-<path d="M3165.49 991.657L3155.28 992.523L3149.91 983.89M3165.49 991.657L3159.67 982.799L3149.91 983.89M3165.49 991.657L3155.22 988.378L3149.91 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3155.44 988.49L3149.91 983.89L3155.28 992.523L3165.49 991.657L3155.44 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.4 992.579L3155.44 988.49L3159.67 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3164.38 1095.87L3155.16 1095.84L3151.02 1087.68L3159.85 1087.47L3164.38 1095.87Z" fill="#F2D664"/>
-<path d="M3164.38 1095.87L3155.16 1095.84L3151.02 1087.68M3164.38 1095.87L3159.85 1087.47L3151.02 1087.68M3164.38 1095.87L3155.42 1092.12L3151.02 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3155.62 1092.24L3151.02 1087.68L3155.16 1095.84L3164.38 1095.87L3155.62 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.26 1095.9L3155.62 1092.24L3159.85 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3163.37 1199.97L3155.1 1199.22L3152.03 1191.58L3159.97 1192.08L3163.37 1199.97Z" fill="#F2D664"/>
-<path d="M3163.37 1199.97L3155.1 1199.22L3152.03 1191.58M3163.37 1199.97L3159.97 1192.08L3152.03 1191.58M3163.37 1199.97L3155.63 1195.91L3152.03 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3155.8 1196.03L3152.03 1191.58L3155.1 1199.22L3163.37 1199.97L3155.8 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.19 1199.28L3155.8 1196.03L3159.97 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3162.45 1303.98L3155.1 1302.66L3152.95 1295.57L3160.02 1296.64L3162.45 1303.98Z" fill="#F2D664"/>
-<path d="M3162.45 1303.98L3155.1 1302.66L3152.95 1295.57M3162.45 1303.98L3160.02 1296.64L3152.95 1295.57M3162.45 1303.98L3155.84 1299.73L3152.95 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3155.97 1299.85L3152.95 1295.57L3155.1 1302.66L3162.45 1303.98L3155.97 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.17 1302.72L3155.97 1299.85L3160.02 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3161.63 1407.92L3155.14 1406.16L3153.77 1399.63L3160.03 1401.15L3161.63 1407.92Z" fill="#F2D664"/>
-<path d="M3161.63 1407.92L3155.14 1406.16L3153.77 1399.63M3161.63 1407.92L3160.03 1401.15L3153.77 1399.63M3161.63 1407.92L3156.03 1403.59L3153.77 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3156.15 1403.71L3153.77 1399.63L3155.14 1406.16L3161.63 1407.92L3156.15 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.2 1406.22L3156.15 1403.71L3160.03 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3160.9 1511.8L3155.22 1509.71L3154.5 1503.75L3159.99 1505.6L3160.9 1511.8Z" fill="#F2D664"/>
-<path d="M3160.9 1511.8L3155.22 1509.71L3154.5 1503.75M3160.9 1511.8L3159.99 1505.6L3154.5 1503.75M3160.9 1511.8L3156.22 1507.48L3154.5 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3156.31 1507.59L3154.5 1503.75L3155.22 1509.71L3160.9 1511.8L3156.31 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3155.27 1509.77L3156.31 1507.59L3159.99 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3162.09 1610.3L3158.58 1614.47L3153.31 1613.24L3156.57 1609.17L3162.09 1610.3Z" fill="#F2D664"/>
-<path d="M3162.09 1610.3L3158.58 1614.47L3153.31 1613.24M3162.09 1610.3L3156.57 1609.17L3153.31 1613.24M3162.09 1610.3L3156.99 1612.93L3153.31 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3157.12 1612.89L3153.31 1613.24L3158.58 1614.47L3162.09 1610.31L3157.12 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3158.64 1614.45L3157.12 1612.89L3156.57 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3282.56 44.6397L3265.5 64.8541L3239.94 58.9066L3255.76 39.1058L3282.56 44.6397Z" fill="#F2D664"/>
-<path d="M3282.56 44.6397L3265.5 64.8541L3239.94 58.9066M3282.56 44.6397L3255.76 39.1058L3239.94 58.9066M3282.56 44.6397L3257.81 57.4121L3239.94 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3258.43 57.2063L3239.94 58.9075L3265.5 64.8549L3282.56 44.6406L3258.43 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3265.81 64.7507L3258.43 57.2054L3255.76 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3280.91 151.05L3264.04 167.836L3241.58 160.498L3257.32 143.986L3280.91 151.05Z" fill="#F2D664"/>
-<path d="M3280.91 151.05L3264.04 167.836L3241.58 160.498M3280.91 151.05L3257.32 143.986L3241.58 160.498M3280.91 151.05L3257.73 160.56L3241.58 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3258.3 160.424L3241.58 160.498L3264.04 167.836L3280.91 151.05L3258.3 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3264.32 167.767L3258.3 160.423L3257.32 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3279.25 257.081L3262.8 270.807L3243.24 262.466L3258.65 248.896L3279.25 257.081Z" fill="#F2D664"/>
-<path d="M3279.25 257.081L3262.8 270.807L3243.24 262.466M3279.25 257.081L3258.65 248.896L3243.24 262.466M3279.25 257.081L3257.72 263.789L3243.24 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3258.24 263.711L3243.24 262.467L3262.8 270.807L3279.25 257.081L3258.24 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3263.06 270.768L3258.24 263.711L3258.65 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3277.6 362.772L3261.78 373.788L3244.9 364.776L3259.77 353.818L3277.6 362.772Z" fill="#F2D664"/>
-<path d="M3277.6 362.772L3261.78 373.788L3244.9 364.776M3277.6 362.772L3259.77 353.818L3244.9 364.776M3277.6 362.772L3257.77 367.097L3244.9 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3258.24 367.068L3244.9 364.776L3261.78 373.788L3277.6 362.771L3258.24 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3262.01 373.773L3258.24 367.068L3259.77 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3275.99 468.157L3260.94 476.793L3246.51 467.389L3260.7 458.731L3275.99 468.157Z" fill="#F2D664"/>
-<path d="M3275.99 468.157L3260.94 476.793L3246.51 467.389M3275.99 468.157L3260.7 458.731L3246.51 467.389M3275.99 468.157L3257.87 470.48L3246.51 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3258.29 470.491L3246.51 467.39L3260.94 476.793L3275.99 468.158L3258.29 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3261.15 476.799L3258.29 470.491L3260.71 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3274.43 573.274L3260.26 579.836L3248.06 570.274L3261.47 563.625L3274.43 573.274Z" fill="#F2D664"/>
-<path d="M3274.43 573.274L3260.26 579.836L3248.06 570.274M3274.43 573.274L3261.47 563.625L3248.06 570.274M3274.43 573.274L3258 573.935L3248.06 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3258.39 573.979L3248.06 570.274L3260.26 579.836L3274.43 573.274L3258.39 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3260.45 579.858L3258.39 573.978L3261.47 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3272.95 678.153L3259.73 682.925L3249.54 673.394L3262.09 668.485L3272.95 678.153Z" fill="#FCEDB1"/>
-<path d="M3272.95 678.153L3259.73 682.925L3249.54 673.394M3272.95 678.153L3262.09 668.485L3249.54 673.394M3272.95 678.153L3258.17 677.457L3249.54 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3258.51 677.526L3249.54 673.394L3259.73 682.925L3272.95 678.153L3258.51 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3259.9 682.959L3258.51 677.526L3262.09 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3271.55 782.825L3259.33 786.066L3250.94 776.722L3262.57 773.304L3271.55 782.825Z" fill="#F2D664"/>
-<path d="M3271.55 782.825L3259.33 786.066L3250.94 776.722M3271.55 782.825L3262.57 773.304L3250.94 776.722M3271.55 782.825L3258.35 781.041L3250.94 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3258.65 781.13L3250.94 776.722L3259.33 786.066L3271.55 782.825L3258.65 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3259.48 786.11L3258.65 781.13L3262.57 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3270.25 887.318L3259.03 889.265L3252.25 880.229L3262.94 878.077L3270.25 887.318Z" fill="#F2D664"/>
-<path d="M3270.25 887.318L3259.03 889.265L3252.25 880.229M3270.25 887.318L3262.94 878.077L3252.25 880.229M3270.25 887.318L3258.55 884.683L3252.25 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3258.82 884.786L3252.25 880.229L3259.03 889.265L3270.25 887.318L3258.82 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3259.16 889.316L3258.82 884.786L3262.94 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3269.04 991.657L3258.83 992.523L3253.46 983.89L3263.21 982.799L3269.04 991.657Z" fill="#F2D664"/>
-<path d="M3269.04 991.657L3258.83 992.523L3253.46 983.89M3269.04 991.657L3263.21 982.799L3253.46 983.89M3269.04 991.657L3258.76 988.378L3253.46 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3258.99 988.49L3253.46 983.89L3258.83 992.523L3269.04 991.657L3258.99 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.94 992.579L3258.99 988.49L3263.21 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3267.93 1095.87L3258.71 1095.84L3254.57 1087.68L3263.4 1087.47L3267.93 1095.87Z" fill="#F2D664"/>
-<path d="M3267.93 1095.87L3258.71 1095.84L3254.57 1087.68M3267.93 1095.87L3263.4 1087.47L3254.57 1087.68M3267.93 1095.87L3258.97 1092.12L3254.57 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3259.17 1092.24L3254.57 1087.68L3258.71 1095.84L3267.93 1095.87L3259.17 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.8 1095.9L3259.17 1092.24L3263.4 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3266.92 1199.97L3258.65 1199.22L3255.58 1191.58L3263.52 1192.08L3266.92 1199.97Z" fill="#F2D664"/>
-<path d="M3266.92 1199.97L3258.65 1199.22L3255.58 1191.58M3266.92 1199.97L3263.52 1192.08L3255.58 1191.58M3266.92 1199.97L3259.18 1195.91L3255.58 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3259.34 1196.03L3255.58 1191.58L3258.65 1199.22L3266.92 1199.97L3259.34 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.73 1199.28L3259.34 1196.03L3263.52 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3266 1303.98L3258.65 1302.66L3256.49 1295.57L3263.57 1296.64L3266 1303.98Z" fill="#F2D664"/>
-<path d="M3266 1303.98L3258.65 1302.66L3256.49 1295.57M3266 1303.98L3263.57 1296.64L3256.49 1295.57M3266 1303.98L3259.38 1299.73L3256.49 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3259.52 1299.85L3256.49 1295.57L3258.65 1302.66L3266 1303.98L3259.52 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.72 1302.72L3259.52 1299.85L3263.57 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3265.18 1407.92L3258.69 1406.16L3257.31 1399.63L3263.58 1401.15L3265.18 1407.92Z" fill="#F2D664"/>
-<path d="M3265.18 1407.92L3258.69 1406.16L3257.31 1399.63M3265.18 1407.92L3263.58 1401.15L3257.31 1399.63M3265.18 1407.92L3259.58 1403.59L3257.31 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3259.69 1403.71L3257.31 1399.63L3258.69 1406.16L3265.18 1407.92L3259.69 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.75 1406.22L3259.69 1403.71L3263.58 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3264.45 1511.8L3258.77 1509.71L3258.05 1503.75L3263.54 1505.6L3264.45 1511.8Z" fill="#F2D664"/>
-<path d="M3264.45 1511.8L3258.77 1509.71L3258.05 1503.75M3264.45 1511.8L3263.54 1505.6L3258.05 1503.75M3264.45 1511.8L3259.77 1507.48L3258.05 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3259.86 1507.59L3258.05 1503.75L3258.77 1509.71L3264.45 1511.8L3259.86 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3258.82 1509.77L3259.86 1507.59L3263.54 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3265.64 1610.3L3262.12 1614.47L3256.86 1613.24L3260.12 1609.17L3265.64 1610.3Z" fill="#F2D664"/>
-<path d="M3265.64 1610.3L3262.12 1614.47L3256.86 1613.24M3265.64 1610.3L3260.12 1609.17L3256.86 1613.24M3265.64 1610.3L3260.54 1612.93L3256.86 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3260.67 1612.89L3256.86 1613.24L3262.12 1614.47L3265.63 1610.31L3260.67 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3262.19 1614.45L3260.67 1612.89L3260.12 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3386.1 44.6397L3369.05 64.8541L3343.48 58.9066L3359.3 39.1058L3386.1 44.6397Z" fill="#F2D664"/>
-<path d="M3386.1 44.6397L3369.05 64.8541L3343.48 58.9066M3386.1 44.6397L3359.3 39.1058L3343.48 58.9066M3386.1 44.6397L3361.36 57.4121L3343.48 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3361.98 57.2063L3343.48 58.9075L3369.05 64.8549L3386.1 44.6406L3361.98 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3369.36 64.7507L3361.98 57.2054L3359.3 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3384.46 151.05L3367.58 167.836L3345.13 160.498L3360.87 143.986L3384.46 151.05Z" fill="#F2D664"/>
-<path d="M3384.46 151.05L3367.58 167.836L3345.13 160.498M3384.46 151.05L3360.87 143.986L3345.13 160.498M3384.46 151.05L3361.27 160.56L3345.13 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3361.84 160.424L3345.13 160.498L3367.58 167.836L3384.46 151.05L3361.84 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3367.87 167.767L3361.85 160.423L3360.87 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3382.8 257.081L3366.35 270.807L3346.79 262.466L3362.2 248.896L3382.8 257.081Z" fill="#F2D664"/>
-<path d="M3382.8 257.081L3366.35 270.807L3346.79 262.466M3382.8 257.081L3362.2 248.896L3346.79 262.466M3382.8 257.081L3361.26 263.789L3346.79 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3361.78 263.711L3346.79 262.467L3366.35 270.807L3382.8 257.081L3361.78 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3366.61 270.768L3361.78 263.711L3362.2 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3381.15 362.772L3365.32 373.788L3348.44 364.776L3363.32 353.818L3381.15 362.772Z" fill="#F2D664"/>
-<path d="M3381.15 362.772L3365.32 373.788L3348.44 364.776M3381.15 362.772L3363.32 353.818L3348.44 364.776M3381.15 362.772L3361.31 367.097L3348.44 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3361.79 367.068L3348.44 364.776L3365.32 373.788L3381.15 362.771L3361.79 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3365.56 373.773L3361.79 367.068L3363.32 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3379.53 468.157L3364.48 476.793L3350.06 467.389L3364.25 458.731L3379.53 468.157Z" fill="#F2D664"/>
-<path d="M3379.53 468.157L3364.48 476.793L3350.06 467.389M3379.53 468.157L3364.25 458.731L3350.06 467.389M3379.53 468.157L3361.41 470.48L3350.06 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3361.84 470.491L3350.06 467.39L3364.48 476.793L3379.53 468.158L3361.84 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3364.7 476.799L3361.84 470.491L3364.25 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3377.98 573.274L3363.81 579.836L3351.61 570.274L3365.02 563.625L3377.98 573.274Z" fill="#F2D664"/>
-<path d="M3377.98 573.274L3363.81 579.836L3351.61 570.274M3377.98 573.274L3365.02 563.625L3351.61 570.274M3377.98 573.274L3361.55 573.935L3351.61 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3361.93 573.979L3351.61 570.274L3363.81 579.836L3377.98 573.274L3361.93 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3364 579.858L3361.93 573.978L3365.02 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3376.5 678.153L3363.28 682.925L3353.09 673.394L3365.63 668.485L3376.5 678.153Z" fill="#FCEDB1"/>
-<path d="M3376.5 678.153L3363.28 682.925L3353.09 673.394M3376.5 678.153L3365.63 668.485L3353.09 673.394M3376.5 678.153L3361.72 677.457L3353.09 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3362.06 677.526L3353.09 673.394L3363.28 682.925L3376.5 678.153L3362.06 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3363.45 682.959L3362.06 677.526L3365.63 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3375.1 782.825L3362.87 786.066L3354.49 776.722L3366.12 773.304L3375.1 782.825Z" fill="#F2D664"/>
-<path d="M3375.1 782.825L3362.87 786.066L3354.49 776.722M3375.1 782.825L3366.12 773.304L3354.49 776.722M3375.1 782.825L3361.9 781.041L3354.49 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3362.2 781.13L3354.49 776.722L3362.87 786.066L3375.1 782.825L3362.2 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3363.02 786.11L3362.2 781.13L3366.12 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3373.8 887.318L3362.58 889.265L3355.79 880.229L3366.49 878.077L3373.8 887.318Z" fill="#F2D664"/>
-<path d="M3373.8 887.318L3362.58 889.265L3355.79 880.229M3373.8 887.318L3366.49 878.077L3355.79 880.229M3373.8 887.318L3362.1 884.683L3355.79 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3362.36 884.786L3355.79 880.229L3362.58 889.265L3373.8 887.318L3362.36 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.71 889.316L3362.36 884.786L3366.49 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3372.59 991.657L3362.38 992.523L3357 983.89L3366.76 982.799L3372.59 991.657Z" fill="#F2D664"/>
-<path d="M3372.59 991.657L3362.38 992.523L3357 983.89M3372.59 991.657L3366.76 982.799L3357 983.89M3372.59 991.657L3362.31 988.378L3357 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3362.54 988.49L3357 983.89L3362.38 992.523L3372.59 991.657L3362.54 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.49 992.579L3362.54 988.49L3366.76 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3371.48 1095.87L3362.26 1095.84L3358.11 1087.68L3366.95 1087.47L3371.48 1095.87Z" fill="#F2D664"/>
-<path d="M3371.48 1095.87L3362.26 1095.84L3358.11 1087.68M3371.48 1095.87L3366.95 1087.47L3358.11 1087.68M3371.48 1095.87L3362.52 1092.12L3358.11 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3362.71 1092.24L3358.11 1087.68L3362.25 1095.84L3371.48 1095.87L3362.71 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.35 1095.9L3362.71 1092.24L3366.95 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3370.47 1199.97L3362.2 1199.22L3359.13 1191.58L3367.06 1192.08L3370.47 1199.97Z" fill="#F2D664"/>
-<path d="M3370.47 1199.97L3362.2 1199.22L3359.13 1191.58M3370.47 1199.97L3367.06 1192.08L3359.13 1191.58M3370.47 1199.97L3362.73 1195.91L3359.13 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3362.89 1196.03L3359.13 1191.58L3362.2 1199.22L3370.46 1199.97L3362.89 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.28 1199.28L3362.89 1196.03L3367.06 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3369.55 1303.98L3362.2 1302.66L3360.04 1295.57L3367.12 1296.64L3369.55 1303.98Z" fill="#F2D664"/>
-<path d="M3369.55 1303.98L3362.2 1302.66L3360.04 1295.57M3369.55 1303.98L3367.12 1296.64L3360.04 1295.57M3369.55 1303.98L3362.93 1299.73L3360.04 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3363.07 1299.85L3360.04 1295.57L3362.2 1302.66L3369.55 1303.98L3363.07 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.27 1302.72L3363.07 1299.85L3367.12 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3368.73 1407.92L3362.24 1406.16L3360.86 1399.63L3367.12 1401.15L3368.73 1407.92Z" fill="#F2D664"/>
-<path d="M3368.73 1407.92L3362.24 1406.16L3360.86 1399.63M3368.73 1407.92L3367.12 1401.15L3360.86 1399.63M3368.73 1407.92L3363.13 1403.59L3360.86 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3363.24 1403.71L3360.86 1399.63L3362.24 1406.16L3368.73 1407.92L3363.24 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.3 1406.22L3363.24 1403.71L3367.12 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3368 1511.8L3362.32 1509.71L3361.59 1503.75L3367.09 1505.6L3368 1511.8Z" fill="#F2D664"/>
-<path d="M3368 1511.8L3362.32 1509.71L3361.59 1503.75M3368 1511.8L3367.09 1505.6L3361.59 1503.75M3368 1511.8L3363.31 1507.48L3361.59 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3363.41 1507.59L3361.59 1503.75L3362.32 1509.71L3368 1511.8L3363.41 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3362.36 1509.77L3363.41 1507.59L3367.09 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3369.18 1610.3L3365.67 1614.47L3360.41 1613.24L3363.66 1609.17L3369.18 1610.3Z" fill="#F2D664"/>
-<path d="M3369.18 1610.3L3365.67 1614.47L3360.41 1613.24M3369.18 1610.3L3363.66 1609.17L3360.41 1613.24M3369.18 1610.3L3364.09 1612.93L3360.41 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3364.22 1612.89L3360.41 1613.24L3365.67 1614.47L3369.18 1610.31L3364.22 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3365.74 1614.45L3364.22 1612.89L3363.66 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3489.65 44.6397L3472.6 64.8541L3447.03 58.9066L3462.85 39.1058L3489.65 44.6397Z" fill="#F2D664"/>
-<path d="M3489.65 44.6397L3472.6 64.8541L3447.03 58.9066M3489.65 44.6397L3462.85 39.1058L3447.03 58.9066M3489.65 44.6397L3464.91 57.4121L3447.03 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3465.53 57.2063L3447.03 58.9075L3472.6 64.8549L3489.65 44.6406L3465.53 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3472.91 64.7507L3465.53 57.2054L3462.85 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3488.01 151.05L3471.13 167.836L3448.68 160.498L3464.41 143.986L3488.01 151.05Z" fill="#F2D664"/>
-<path d="M3488.01 151.05L3471.13 167.836L3448.68 160.498M3488.01 151.05L3464.41 143.986L3448.68 160.498M3488.01 151.05L3464.82 160.56L3448.68 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3465.39 160.424L3448.68 160.498L3471.13 167.836L3488.01 151.05L3465.39 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3471.42 167.767L3465.39 160.423L3464.41 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3486.34 257.081L3469.9 270.807L3450.34 262.466L3465.74 248.896L3486.34 257.081Z" fill="#F2D664"/>
-<path d="M3486.34 257.081L3469.9 270.807L3450.34 262.466M3486.34 257.081L3465.74 248.896L3450.34 262.466M3486.34 257.081L3464.81 263.789L3450.34 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3465.33 263.711L3450.34 262.467L3469.9 270.807L3486.34 257.081L3465.33 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3470.16 270.768L3465.33 263.711L3465.74 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3484.69 362.772L3468.87 373.788L3451.99 364.776L3466.87 353.818L3484.69 362.772Z" fill="#F2D664"/>
-<path d="M3484.69 362.772L3468.87 373.788L3451.99 364.776M3484.69 362.772L3466.87 353.818L3451.99 364.776M3484.69 362.772L3464.86 367.097L3451.99 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3465.33 367.068L3451.99 364.776L3468.87 373.788L3484.69 362.771L3465.33 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3469.11 373.773L3465.33 367.068L3466.87 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3483.08 468.157L3468.03 476.793L3453.6 467.389L3467.8 458.731L3483.08 468.157Z" fill="#F2D664"/>
-<path d="M3483.08 468.157L3468.03 476.793L3453.6 467.389M3483.08 468.157L3467.8 458.731L3453.6 467.389M3483.08 468.157L3464.96 470.48L3453.6 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3465.39 470.491L3453.6 467.39L3468.03 476.793L3483.08 468.158L3465.39 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3468.24 476.799L3465.39 470.491L3467.8 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3481.53 573.274L3467.36 579.836L3455.16 570.274L3468.57 563.625L3481.53 573.274Z" fill="#F2D664"/>
-<path d="M3481.53 573.274L3467.36 579.836L3455.16 570.274M3481.53 573.274L3468.57 563.625L3455.16 570.274M3481.53 573.274L3465.1 573.935L3455.16 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3465.48 573.979L3455.16 570.274L3467.36 579.836L3481.53 573.274L3465.48 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3467.55 579.858L3465.48 573.978L3468.56 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3480.05 678.153L3466.83 682.925L3456.64 673.394L3469.18 668.485L3480.05 678.153Z" fill="#FCEDB1"/>
-<path d="M3480.05 678.153L3466.83 682.925L3456.64 673.394M3480.05 678.153L3469.18 668.485L3456.64 673.394M3480.05 678.153L3465.26 677.457L3456.64 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3465.6 677.526L3456.64 673.394L3466.83 682.925L3480.05 678.153L3465.6 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3466.99 682.959L3465.6 677.526L3469.18 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3478.65 782.825L3466.42 786.066L3458.04 776.722L3469.67 773.304L3478.65 782.825Z" fill="#F2D664"/>
-<path d="M3478.65 782.825L3466.42 786.066L3458.04 776.722M3478.65 782.825L3469.67 773.304L3458.04 776.722M3478.65 782.825L3465.45 781.041L3458.04 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3465.75 781.13L3458.04 776.722L3466.42 786.066L3478.65 782.825L3465.75 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3466.57 786.11L3465.75 781.13L3469.67 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3477.34 887.318L3466.13 889.265L3459.34 880.229L3470.04 878.077L3477.34 887.318Z" fill="#F2D664"/>
-<path d="M3477.34 887.318L3466.13 889.265L3459.34 880.229M3477.34 887.318L3470.04 878.077L3459.34 880.229M3477.34 887.318L3465.65 884.683L3459.34 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3465.91 884.786L3459.34 880.229L3466.13 889.265L3477.34 887.318L3465.91 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3466.26 889.316L3465.91 884.786L3470.04 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3476.13 991.657L3465.92 992.523L3460.55 983.89L3470.31 982.799L3476.13 991.657Z" fill="#F2D664"/>
-<path d="M3476.13 991.657L3465.92 992.523L3460.55 983.89M3476.13 991.657L3470.31 982.799L3460.55 983.89M3476.13 991.657L3465.86 988.378L3460.55 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3466.08 988.49L3460.55 983.89L3465.93 992.523L3476.13 991.657L3466.08 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3466.04 992.579L3466.08 988.49L3470.31 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3475.02 1095.87L3465.8 1095.84L3461.66 1087.68L3470.49 1087.47L3475.02 1095.87Z" fill="#F2D664"/>
-<path d="M3475.02 1095.87L3465.8 1095.84L3461.66 1087.68M3475.02 1095.87L3470.49 1087.47L3461.66 1087.68M3475.02 1095.87L3466.07 1092.12L3461.66 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3466.26 1092.24L3461.66 1087.68L3465.8 1095.84L3475.02 1095.87L3466.26 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3465.9 1095.9L3466.26 1092.24L3470.49 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3474.01 1199.97L3465.75 1199.22L3462.67 1191.58L3470.61 1192.08L3474.01 1199.97Z" fill="#F2D664"/>
-<path d="M3474.01 1199.97L3465.75 1199.22L3462.67 1191.58M3474.01 1199.97L3470.61 1192.08L3462.67 1191.58M3474.01 1199.97L3466.28 1195.91L3462.67 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3466.44 1196.03L3462.67 1191.58L3465.75 1199.22L3474.01 1199.97L3466.44 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3465.83 1199.28L3466.44 1196.03L3470.61 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3473.1 1303.98L3465.74 1302.66L3463.59 1295.57L3470.66 1296.64L3473.1 1303.98Z" fill="#F2D664"/>
-<path d="M3473.1 1303.98L3465.74 1302.66L3463.59 1295.57M3473.1 1303.98L3470.66 1296.64L3463.59 1295.57M3473.1 1303.98L3466.48 1299.73L3463.59 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3466.62 1299.85L3463.59 1295.57L3465.74 1302.66L3473.1 1303.98L3466.62 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3465.81 1302.72L3466.62 1299.85L3470.66 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3472.27 1407.92L3465.79 1406.16L3464.41 1399.63L3470.67 1401.15L3472.27 1407.92Z" fill="#F2D664"/>
-<path d="M3472.27 1407.92L3465.79 1406.16L3464.41 1399.63M3472.27 1407.92L3470.67 1401.15L3464.41 1399.63M3472.27 1407.92L3466.67 1403.59L3464.41 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3466.79 1403.71L3464.41 1399.63L3465.79 1406.16L3472.27 1407.92L3466.79 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3465.84 1406.22L3466.79 1403.71L3470.67 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3471.54 1511.8L3465.86 1509.71L3465.14 1503.75L3470.64 1505.6L3471.54 1511.8Z" fill="#F2D664"/>
-<path d="M3471.54 1511.8L3465.86 1509.71L3465.14 1503.75M3471.54 1511.8L3470.64 1505.6L3465.14 1503.75M3471.54 1511.8L3466.86 1507.48L3465.14 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3466.95 1507.59L3465.14 1503.75L3465.86 1509.71L3471.54 1511.8L3466.95 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3465.91 1509.77L3466.95 1507.59L3470.64 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3472.73 1610.3L3469.22 1614.47L3463.95 1613.24L3467.21 1609.17L3472.73 1610.3Z" fill="#F2D664"/>
-<path d="M3472.73 1610.3L3469.22 1614.47L3463.95 1613.24M3472.73 1610.3L3467.21 1609.17L3463.95 1613.24M3472.73 1610.3L3467.64 1612.93L3463.95 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3467.76 1612.89L3463.95 1613.24L3469.22 1614.47L3472.73 1610.31L3467.76 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3469.28 1614.45L3467.76 1612.89L3467.21 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3593.2 44.6397L3576.14 64.8541L3550.58 58.9066L3566.4 39.1058L3593.2 44.6397Z" fill="#F2D664"/>
-<path d="M3593.2 44.6397L3576.14 64.8541L3550.58 58.9066M3593.2 44.6397L3566.4 39.1058L3550.58 58.9066M3593.2 44.6397L3568.46 57.4121L3550.58 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3569.07 57.2063L3550.58 58.9075L3576.14 64.8549L3593.2 44.6406L3569.07 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3576.45 64.7507L3569.07 57.2054L3566.4 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3591.56 151.05L3574.68 167.836L3552.22 160.498L3567.96 143.986L3591.56 151.05Z" fill="#F2D664"/>
-<path d="M3591.56 151.05L3574.68 167.836L3552.22 160.498M3591.56 151.05L3567.96 143.986L3552.22 160.498M3591.56 151.05L3568.37 160.56L3552.22 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3568.94 160.424L3552.22 160.498L3574.68 167.836L3591.56 151.05L3568.94 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3574.96 167.767L3568.94 160.423L3567.96 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3589.89 257.081L3573.44 270.807L3553.89 262.466L3569.29 248.896L3589.89 257.081Z" fill="#F2D664"/>
-<path d="M3589.89 257.081L3573.44 270.807L3553.89 262.466M3589.89 257.081L3569.29 248.896L3553.89 262.466M3589.89 257.081L3568.36 263.789L3553.89 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3568.88 263.711L3553.89 262.467L3573.44 270.807L3589.89 257.081L3568.88 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3573.7 270.768L3568.88 263.711L3569.29 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3588.24 362.772L3572.42 373.788L3555.54 364.776L3570.41 353.818L3588.24 362.772Z" fill="#F2D664"/>
-<path d="M3588.24 362.772L3572.42 373.788L3555.54 364.776M3588.24 362.772L3570.41 353.818L3555.54 364.776M3588.24 362.772L3568.41 367.097L3555.54 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3568.88 367.068L3555.54 364.776L3572.42 373.788L3588.24 362.771L3568.88 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3572.66 373.773L3568.88 367.068L3570.41 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3586.63 468.157L3571.58 476.793L3557.15 467.389L3571.35 458.731L3586.63 468.157Z" fill="#F2D664"/>
-<path d="M3586.63 468.157L3571.58 476.793L3557.15 467.389M3586.63 468.157L3571.35 458.731L3557.15 467.389M3586.63 468.157L3568.51 470.48L3557.15 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3568.94 470.491L3557.15 467.39L3571.58 476.793L3586.63 468.158L3568.94 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3571.79 476.799L3568.94 470.491L3571.35 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3585.07 573.274L3570.9 579.836L3558.71 570.274L3572.11 563.625L3585.07 573.274Z" fill="#F2D664"/>
-<path d="M3585.07 573.274L3570.9 579.836L3558.71 570.274M3585.07 573.274L3572.11 563.625L3558.71 570.274M3585.07 573.274L3568.65 573.935L3558.71 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3569.03 573.979L3558.71 570.274L3570.9 579.836L3585.08 573.274L3569.03 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3571.09 579.858L3569.03 573.978L3572.11 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3583.59 678.153L3570.37 682.925L3560.19 673.394L3572.73 668.485L3583.59 678.153Z" fill="#FCEDB1"/>
-<path d="M3583.59 678.153L3570.37 682.925L3560.19 673.394M3583.59 678.153L3572.73 668.485L3560.19 673.394M3583.59 678.153L3568.81 677.457L3560.19 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3569.15 677.526L3560.19 673.394L3570.37 682.925L3583.59 678.153L3569.15 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3570.54 682.959L3569.15 677.526L3572.73 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3582.2 782.825L3569.97 786.066L3561.58 776.722L3573.21 773.304L3582.2 782.825Z" fill="#F2D664"/>
-<path d="M3582.2 782.825L3569.97 786.066L3561.58 776.722M3582.2 782.825L3573.21 773.304L3561.58 776.722M3582.2 782.825L3569 781.041L3561.58 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3569.3 781.13L3561.58 776.722L3569.97 786.066L3582.2 782.825L3569.3 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3570.12 786.11L3569.3 781.13L3573.21 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3580.89 887.318L3569.67 889.265L3562.89 880.229L3573.58 878.077L3580.89 887.318Z" fill="#F2D664"/>
-<path d="M3580.89 887.318L3569.67 889.265L3562.89 880.229M3580.89 887.318L3573.58 878.077L3562.89 880.229M3580.89 887.318L3569.2 884.683L3562.89 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3569.46 884.786L3562.89 880.229L3569.67 889.265L3580.89 887.318L3569.46 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.8 889.316L3569.46 884.786L3573.58 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3579.68 991.657L3569.47 992.523L3564.1 983.89L3573.86 982.799L3579.68 991.657Z" fill="#F2D664"/>
-<path d="M3579.68 991.657L3569.47 992.523L3564.1 983.89M3579.68 991.657L3573.86 982.799L3564.1 983.89M3579.68 991.657L3569.4 988.378L3564.1 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3569.63 988.49L3564.1 983.89L3569.47 992.523L3579.68 991.657L3569.63 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.59 992.579L3569.63 988.49L3573.86 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3578.57 1095.87L3569.35 1095.84L3565.21 1087.68L3574.04 1087.47L3578.57 1095.87Z" fill="#F2D664"/>
-<path d="M3578.57 1095.87L3569.35 1095.84L3565.21 1087.68M3578.57 1095.87L3574.04 1087.47L3565.21 1087.68M3578.57 1095.87L3569.61 1092.12L3565.21 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3569.81 1092.24L3565.21 1087.68L3569.35 1095.84L3578.57 1095.87L3569.81 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.45 1095.9L3569.81 1092.24L3574.04 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3577.56 1199.97L3569.29 1199.22L3566.22 1191.58L3574.16 1192.08L3577.56 1199.97Z" fill="#F2D664"/>
-<path d="M3577.56 1199.97L3569.29 1199.22L3566.22 1191.58M3577.56 1199.97L3574.16 1192.08L3566.22 1191.58M3577.56 1199.97L3569.82 1195.91L3566.22 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3569.99 1196.03L3566.22 1191.58L3569.29 1199.22L3577.56 1199.97L3569.99 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.38 1199.28L3569.99 1196.03L3574.16 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3576.64 1303.98L3569.29 1302.66L3567.14 1295.57L3574.21 1296.64L3576.64 1303.98Z" fill="#F2D664"/>
-<path d="M3576.64 1303.98L3569.29 1302.66L3567.14 1295.57M3576.64 1303.98L3574.21 1296.64L3567.14 1295.57M3576.64 1303.98L3570.03 1299.73L3567.14 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3570.16 1299.85L3567.14 1295.57L3569.29 1302.66L3576.64 1303.98L3570.16 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.36 1302.72L3570.16 1299.85L3574.21 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3575.82 1407.92L3569.33 1406.16L3567.96 1399.63L3574.22 1401.15L3575.82 1407.92Z" fill="#F2D664"/>
-<path d="M3575.82 1407.92L3569.33 1406.16L3567.96 1399.63M3575.82 1407.92L3574.22 1401.15L3567.96 1399.63M3575.82 1407.92L3570.22 1403.59L3567.96 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3570.34 1403.71L3567.96 1399.63L3569.33 1406.16L3575.82 1407.92L3570.34 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.39 1406.22L3570.34 1403.71L3574.22 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3575.09 1511.8L3569.41 1509.71L3568.69 1503.75L3574.18 1505.6L3575.09 1511.8Z" fill="#F2D664"/>
-<path d="M3575.09 1511.8L3569.41 1509.71L3568.69 1503.75M3575.09 1511.8L3574.18 1505.6L3568.69 1503.75M3575.09 1511.8L3570.41 1507.48L3568.69 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3570.5 1507.59L3568.69 1503.75L3569.41 1509.71L3575.09 1511.8L3570.5 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3569.46 1509.77L3570.5 1507.59L3574.18 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3576.28 1610.3L3572.77 1614.47L3567.5 1613.24L3570.76 1609.17L3576.28 1610.3Z" fill="#F2D664"/>
-<path d="M3576.28 1610.3L3572.77 1614.47L3567.5 1613.24M3576.28 1610.3L3570.76 1609.17L3567.5 1613.24M3576.28 1610.3L3571.18 1612.93L3567.5 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3571.31 1612.89L3567.5 1613.24L3572.77 1614.47L3576.28 1610.31L3571.31 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3572.83 1614.45L3571.31 1612.89L3570.76 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3696.75 44.6397L3679.69 64.8541L3654.13 58.9066L3669.95 39.1058L3696.75 44.6397Z" fill="#F2D664"/>
-<path d="M3696.75 44.6397L3679.69 64.8541L3654.13 58.9066M3696.75 44.6397L3669.95 39.1058L3654.13 58.9066M3696.75 44.6397L3672 57.4121L3654.13 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3672.62 57.2063L3654.13 58.9075L3679.69 64.8549L3696.75 44.6406L3672.62 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3680 64.7507L3672.62 57.2054L3669.95 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3695.1 151.05L3678.23 167.836L3655.77 160.498L3671.51 143.986L3695.1 151.05Z" fill="#F2D664"/>
-<path d="M3695.1 151.05L3678.23 167.836L3655.77 160.498M3695.1 151.05L3671.51 143.986L3655.77 160.498M3695.1 151.05L3671.92 160.56L3655.77 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3672.49 160.424L3655.77 160.498L3678.23 167.836L3695.1 151.05L3672.49 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3678.51 167.767L3672.49 160.423L3671.51 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3693.44 257.081L3676.99 270.807L3657.43 262.466L3672.84 248.896L3693.44 257.081Z" fill="#F2D664"/>
-<path d="M3693.44 257.081L3676.99 270.807L3657.43 262.466M3693.44 257.081L3672.84 248.896L3657.43 262.466M3693.44 257.081L3671.9 263.789L3657.43 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3672.43 263.711L3657.43 262.467L3676.99 270.807L3693.44 257.081L3672.43 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3677.25 270.768L3672.43 263.711L3672.84 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3691.79 362.772L3675.97 373.788L3659.09 364.776L3673.96 353.818L3691.79 362.772Z" fill="#F2D664"/>
-<path d="M3691.79 362.772L3675.97 373.788L3659.09 364.776M3691.79 362.772L3673.96 353.818L3659.09 364.776M3691.79 362.772L3671.96 367.097L3659.09 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3672.43 367.068L3659.08 364.776L3675.96 373.788L3691.79 362.771L3672.43 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3676.2 373.773L3672.43 367.068L3673.96 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3690.18 468.157L3675.13 476.793L3660.7 467.389L3674.89 458.731L3690.18 468.157Z" fill="#F2D664"/>
-<path d="M3690.18 468.157L3675.13 476.793L3660.7 467.389M3690.18 468.157L3674.89 458.731L3660.7 467.389M3690.18 468.157L3672.06 470.48L3660.7 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3672.48 470.491L3660.7 467.39L3675.13 476.793L3690.18 468.158L3672.48 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3675.34 476.799L3672.48 470.491L3674.89 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3688.62 573.274L3674.45 579.836L3662.25 570.274L3675.66 563.625L3688.62 573.274Z" fill="#F2D664"/>
-<path d="M3688.62 573.274L3674.45 579.836L3662.25 570.274M3688.62 573.274L3675.66 563.625L3662.25 570.274M3688.62 573.274L3672.19 573.935L3662.25 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3672.58 573.979L3662.25 570.274L3674.45 579.836L3688.62 573.274L3672.58 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3674.64 579.858L3672.57 573.978L3675.66 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3687.14 678.153L3673.92 682.925L3663.73 673.394L3676.28 668.485L3687.14 678.153Z" fill="#FCEDB1"/>
-<path d="M3687.14 678.153L3673.92 682.925L3663.73 673.394M3687.14 678.153L3676.28 668.485L3663.73 673.394M3687.14 678.153L3672.36 677.457L3663.73 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3672.7 677.526L3663.73 673.394L3673.92 682.925L3687.14 678.153L3672.7 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3674.09 682.959L3672.7 677.526L3676.28 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3685.74 782.825L3673.52 786.066L3665.13 776.722L3676.76 773.304L3685.74 782.825Z" fill="#F2D664"/>
-<path d="M3685.74 782.825L3673.52 786.066L3665.13 776.722M3685.74 782.825L3676.76 773.304L3665.13 776.722M3685.74 782.825L3672.54 781.041L3665.13 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3672.84 781.13L3665.13 776.722L3673.52 786.066L3685.74 782.825L3672.84 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3673.67 786.11L3672.84 781.13L3676.76 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3684.44 887.318L3673.22 889.265L3666.44 880.229L3677.13 878.077L3684.44 887.318Z" fill="#F2D664"/>
-<path d="M3684.44 887.318L3673.22 889.265L3666.44 880.229M3684.44 887.318L3677.13 878.077L3666.44 880.229M3684.44 887.318L3672.74 884.683L3666.44 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3673.01 884.786L3666.44 880.229L3673.22 889.265L3684.44 887.318L3673.01 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3673.35 889.316L3673.01 884.786L3677.13 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3683.23 991.657L3673.02 992.523L3667.64 983.89L3677.4 982.799L3683.23 991.657Z" fill="#F2D664"/>
-<path d="M3683.23 991.657L3673.02 992.523L3667.64 983.89M3683.23 991.657L3677.4 982.799L3667.64 983.89M3683.23 991.657L3672.95 988.378L3667.64 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3673.18 988.49L3667.65 983.89L3673.02 992.523L3683.23 991.657L3673.18 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3673.13 992.579L3673.18 988.49L3677.4 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3682.12 1095.87L3672.9 1095.84L3668.76 1087.68L3677.59 1087.47L3682.12 1095.87Z" fill="#F2D664"/>
-<path d="M3682.12 1095.87L3672.9 1095.84L3668.76 1087.68M3682.12 1095.87L3677.59 1087.47L3668.76 1087.68M3682.12 1095.87L3673.16 1092.12L3668.76 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3673.35 1092.24L3668.76 1087.68L3672.9 1095.84L3682.12 1095.87L3673.35 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3672.99 1095.9L3673.35 1092.24L3677.59 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3681.11 1199.97L3672.84 1199.22L3669.77 1191.58L3677.71 1192.08L3681.11 1199.97Z" fill="#F2D664"/>
-<path d="M3681.11 1199.97L3672.84 1199.22L3669.77 1191.58M3681.11 1199.97L3677.71 1192.08L3669.77 1191.58M3681.11 1199.97L3673.37 1195.91L3669.77 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3673.53 1196.03L3669.77 1191.58L3672.84 1199.22L3681.11 1199.97L3673.53 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3672.92 1199.28L3673.53 1196.03L3677.7 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3680.19 1303.98L3672.84 1302.66L3670.68 1295.57L3677.76 1296.64L3680.19 1303.98Z" fill="#F2D664"/>
-<path d="M3680.19 1303.98L3672.84 1302.66L3670.68 1295.57M3680.19 1303.98L3677.76 1296.64L3670.68 1295.57M3680.19 1303.98L3673.57 1299.73L3670.68 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3673.71 1299.85L3670.68 1295.57L3672.84 1302.66L3680.19 1303.98L3673.71 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3672.91 1302.72L3673.71 1299.85L3677.76 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3679.37 1407.92L3672.88 1406.16L3671.5 1399.63L3677.76 1401.15L3679.37 1407.92Z" fill="#F2D664"/>
-<path d="M3679.37 1407.92L3672.88 1406.16L3671.5 1399.63M3679.37 1407.92L3677.76 1401.15L3671.5 1399.63M3679.37 1407.92L3673.77 1403.59L3671.5 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3673.88 1403.71L3671.5 1399.63L3672.88 1406.16L3679.37 1407.92L3673.88 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3672.94 1406.22L3673.88 1403.71L3677.77 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3678.64 1511.8L3672.96 1509.71L3672.24 1503.75L3677.73 1505.6L3678.64 1511.8Z" fill="#F2D664"/>
-<path d="M3678.64 1511.8L3672.96 1509.71L3672.24 1503.75M3678.64 1511.8L3677.73 1505.6L3672.24 1503.75M3678.64 1511.8L3673.96 1507.48L3672.24 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3674.05 1507.59L3672.24 1503.75L3672.96 1509.71L3678.64 1511.8L3674.05 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3673 1509.77L3674.05 1507.59L3677.73 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3679.82 1610.3L3676.31 1614.47L3671.05 1613.24L3674.31 1609.17L3679.82 1610.3Z" fill="#F2D664"/>
-<path d="M3679.82 1610.3L3676.31 1614.47L3671.05 1613.24M3679.82 1610.3L3674.31 1609.17L3671.05 1613.24M3679.82 1610.3L3674.73 1612.93L3671.05 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3674.86 1612.89L3671.05 1613.24L3676.31 1614.47L3679.82 1610.31L3674.86 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3676.38 1614.45L3674.86 1612.89L3674.31 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3800.29 44.6397L3783.24 64.8541L3757.67 58.9066L3773.49 39.1058L3800.29 44.6397Z" fill="#F2D664"/>
-<path d="M3800.29 44.6397L3783.24 64.8541L3757.67 58.9066M3800.29 44.6397L3773.49 39.1058L3757.67 58.9066M3800.29 44.6397L3775.55 57.4121L3757.67 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3776.17 57.2063L3757.67 58.9075L3783.24 64.8549L3800.29 44.6406L3776.17 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3783.55 64.7507L3776.17 57.2054L3773.49 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3798.65 151.05L3781.77 167.836L3759.32 160.498L3775.06 143.986L3798.65 151.05Z" fill="#F2D664"/>
-<path d="M3798.65 151.05L3781.77 167.836L3759.32 160.498M3798.65 151.05L3775.06 143.986L3759.32 160.498M3798.65 151.05L3775.46 160.56L3759.32 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3776.03 160.424L3759.32 160.498L3781.77 167.836L3798.65 151.05L3776.03 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3782.06 167.767L3776.03 160.423L3775.06 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3796.99 257.081L3780.54 270.807L3760.98 262.466L3776.39 248.896L3796.99 257.081Z" fill="#F2D664"/>
-<path d="M3796.99 257.081L3780.54 270.807L3760.98 262.466M3796.99 257.081L3776.39 248.896L3760.98 262.466M3796.99 257.081L3775.45 263.789L3760.98 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3775.97 263.711L3760.98 262.467L3780.54 270.807L3796.99 257.081L3775.97 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3780.8 270.768L3775.97 263.711L3776.39 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3795.34 362.772L3779.51 373.788L3762.63 364.776L3777.51 353.818L3795.34 362.772Z" fill="#F2D664"/>
-<path d="M3795.34 362.772L3779.51 373.788L3762.63 364.776M3795.34 362.772L3777.51 353.818L3762.63 364.776M3795.34 362.772L3775.5 367.097L3762.63 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3775.98 367.068L3762.63 364.776L3779.51 373.788L3795.34 362.771L3775.98 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3779.75 373.773L3775.98 367.068L3777.51 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3793.72 468.157L3778.67 476.793L3764.25 467.389L3778.44 458.731L3793.72 468.157Z" fill="#F2D664"/>
-<path d="M3793.72 468.157L3778.67 476.793L3764.25 467.389M3793.72 468.157L3778.44 458.731L3764.25 467.389M3793.72 468.157L3775.6 470.48L3764.25 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3776.03 470.491L3764.25 467.39L3778.67 476.793L3793.72 468.158L3776.03 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3778.89 476.799L3776.03 470.491L3778.44 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3792.17 573.274L3778 579.836L3765.8 570.274L3779.21 563.625L3792.17 573.274Z" fill="#F2D664"/>
-<path d="M3792.17 573.274L3778 579.836L3765.8 570.274M3792.17 573.274L3779.21 563.625L3765.8 570.274M3792.17 573.274L3775.74 573.935L3765.8 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3776.12 573.979L3765.8 570.274L3778 579.836L3792.17 573.274L3776.12 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3778.19 579.858L3776.12 573.978L3779.21 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3790.69 678.153L3777.47 682.925L3767.28 673.394L3779.82 668.485L3790.69 678.153Z" fill="#FCEDB1"/>
-<path d="M3790.69 678.153L3777.47 682.925L3767.28 673.394M3790.69 678.153L3779.82 668.485L3767.28 673.394M3790.69 678.153L3775.91 677.457L3767.28 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3776.25 677.526L3767.28 673.394L3777.47 682.925L3790.69 678.153L3776.25 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3777.64 682.959L3776.25 677.526L3779.82 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3789.29 782.825L3777.06 786.066L3768.68 776.722L3780.31 773.304L3789.29 782.825Z" fill="#F2D664"/>
-<path d="M3789.29 782.825L3777.06 786.066L3768.68 776.722M3789.29 782.825L3780.31 773.304L3768.68 776.722M3789.29 782.825L3776.09 781.041L3768.68 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3776.39 781.13L3768.68 776.722L3777.06 786.066L3789.29 782.825L3776.39 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3777.21 786.11L3776.39 781.13L3780.31 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3787.99 887.318L3776.77 889.265L3769.98 880.229L3780.68 878.077L3787.99 887.318Z" fill="#F2D664"/>
-<path d="M3787.99 887.318L3776.77 889.265L3769.98 880.229M3787.99 887.318L3780.68 878.077L3769.98 880.229M3787.99 887.318L3776.29 884.683L3769.98 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3776.55 884.786L3769.98 880.229L3776.77 889.265L3787.99 887.318L3776.55 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.9 889.316L3776.55 884.786L3780.68 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3786.78 991.657L3776.57 992.523L3771.19 983.89L3780.95 982.799L3786.78 991.657Z" fill="#F2D664"/>
-<path d="M3786.78 991.657L3776.57 992.523L3771.19 983.89M3786.78 991.657L3780.95 982.799L3771.19 983.89M3786.78 991.657L3776.5 988.378L3771.19 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3776.73 988.49L3771.19 983.89L3776.57 992.523L3786.78 991.657L3776.73 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.68 992.579L3776.73 988.49L3780.95 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3785.67 1095.87L3776.44 1095.84L3772.3 1087.68L3781.14 1087.47L3785.67 1095.87Z" fill="#F2D664"/>
-<path d="M3785.67 1095.87L3776.44 1095.84L3772.3 1087.68M3785.67 1095.87L3781.14 1087.47L3772.3 1087.68M3785.67 1095.87L3776.71 1092.12L3772.3 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3776.9 1092.24L3772.3 1087.68L3776.44 1095.84L3785.67 1095.87L3776.9 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.54 1095.9L3776.9 1092.24L3781.14 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3784.65 1199.97L3776.39 1199.22L3773.32 1191.58L3781.25 1192.08L3784.65 1199.97Z" fill="#F2D664"/>
-<path d="M3784.65 1199.97L3776.39 1199.22L3773.32 1191.58M3784.65 1199.97L3781.25 1192.08L3773.32 1191.58M3784.65 1199.97L3776.92 1195.91L3773.32 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3777.08 1196.03L3773.32 1191.58L3776.39 1199.22L3784.65 1199.97L3777.08 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.47 1199.28L3777.08 1196.03L3781.25 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3783.74 1303.98L3776.39 1302.66L3774.23 1295.57L3781.31 1296.64L3783.74 1303.98Z" fill="#F2D664"/>
-<path d="M3783.74 1303.98L3776.39 1302.66L3774.23 1295.57M3783.74 1303.98L3781.31 1296.64L3774.23 1295.57M3783.74 1303.98L3777.12 1299.73L3774.23 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3777.26 1299.85L3774.23 1295.57L3776.39 1302.66L3783.74 1303.98L3777.26 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.45 1302.72L3777.26 1299.85L3781.31 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3782.92 1407.92L3776.43 1406.16L3775.05 1399.63L3781.31 1401.15L3782.92 1407.92Z" fill="#F2D664"/>
-<path d="M3782.92 1407.92L3776.43 1406.16L3775.05 1399.63M3782.92 1407.92L3781.31 1401.15L3775.05 1399.63M3782.92 1407.92L3777.32 1403.59L3775.05 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3777.43 1403.71L3775.05 1399.63L3776.43 1406.16L3782.92 1407.92L3777.43 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.49 1406.22L3777.43 1403.71L3781.31 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3782.19 1511.8L3776.51 1509.71L3775.78 1503.75L3781.28 1505.6L3782.19 1511.8Z" fill="#F2D664"/>
-<path d="M3782.19 1511.8L3776.51 1509.71L3775.78 1503.75M3782.19 1511.8L3781.28 1505.6L3775.78 1503.75M3782.19 1511.8L3777.5 1507.48L3775.78 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3777.6 1507.59L3775.78 1503.75L3776.51 1509.71L3782.19 1511.8L3777.6 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3776.55 1509.77L3777.6 1507.59L3781.28 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3783.37 1610.3L3779.86 1614.47L3774.6 1613.24L3777.85 1609.17L3783.37 1610.3Z" fill="#F2D664"/>
-<path d="M3783.37 1610.3L3779.86 1614.47L3774.6 1613.24M3783.37 1610.3L3777.85 1609.17L3774.6 1613.24M3783.37 1610.3L3778.28 1612.93L3774.6 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3778.4 1612.89L3774.6 1613.24L3779.86 1614.47L3783.37 1610.31L3778.4 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3779.92 1614.45L3778.41 1612.89L3777.85 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M3903.84 44.6397L3886.79 64.8541L3861.22 58.9066L3877.04 39.1058L3903.84 44.6397Z" fill="#F2D664"/>
-<path d="M3903.84 44.6397L3886.79 64.8541L3861.22 58.9066M3903.84 44.6397L3877.04 39.1058L3861.22 58.9066M3903.84 44.6397L3879.1 57.4121L3861.22 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3879.72 57.2063L3861.22 58.9075L3886.79 64.8549L3903.84 44.6406L3879.72 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3887.1 64.7507L3879.72 57.2054L3877.04 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M3902.2 151.05L3885.32 167.836L3862.87 160.498L3878.6 143.986L3902.2 151.05Z" fill="#F2D664"/>
-<path d="M3902.2 151.05L3885.32 167.836L3862.87 160.498M3902.2 151.05L3878.6 143.986L3862.87 160.498M3902.2 151.05L3879.01 160.56L3862.87 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3879.58 160.424L3862.87 160.498L3885.32 167.836L3902.2 151.05L3879.58 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3885.61 167.767L3879.58 160.423L3878.6 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M3900.53 257.081L3884.09 270.807L3864.53 262.466L3879.93 248.896L3900.53 257.081Z" fill="#F2D664"/>
-<path d="M3900.53 257.081L3884.09 270.807L3864.53 262.466M3900.53 257.081L3879.93 248.896L3864.53 262.466M3900.53 257.081L3879 263.789L3864.53 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3879.52 263.711L3864.53 262.467L3884.09 270.807L3900.53 257.081L3879.52 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3884.35 270.768L3879.52 263.711L3879.93 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M3898.88 362.772L3883.06 373.788L3866.18 364.776L3881.06 353.818L3898.88 362.772Z" fill="#F2D664"/>
-<path d="M3898.88 362.772L3883.06 373.788L3866.18 364.776M3898.88 362.772L3881.06 353.818L3866.18 364.776M3898.88 362.772L3879.05 367.097L3866.18 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3879.52 367.068L3866.18 364.776L3883.06 373.788L3898.88 362.771L3879.52 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3883.3 373.773L3879.52 367.068L3881.06 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M3897.27 468.157L3882.22 476.793L3867.79 467.389L3881.99 458.731L3897.27 468.157Z" fill="#F2D664"/>
-<path d="M3897.27 468.157L3882.22 476.793L3867.79 467.389M3897.27 468.157L3881.99 458.731L3867.79 467.389M3897.27 468.157L3879.15 470.48L3867.79 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3879.58 470.491L3867.79 467.39L3882.22 476.793L3897.27 468.158L3879.58 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3882.43 476.799L3879.58 470.491L3881.99 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3895.72 573.274L3881.55 579.836L3869.35 570.274L3882.75 563.625L3895.72 573.274Z" fill="#F2D664"/>
-<path d="M3895.72 573.274L3881.55 579.836L3869.35 570.274M3895.72 573.274L3882.75 563.625L3869.35 570.274M3895.72 573.274L3879.29 573.935L3869.35 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3879.67 573.979L3869.35 570.274L3881.55 579.836L3895.72 573.274L3879.67 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3881.74 579.858L3879.67 573.978L3882.75 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3894.24 678.153L3881.01 682.925L3870.83 673.394L3883.37 668.485L3894.24 678.153Z" fill="#FCEDB1"/>
-<path d="M3894.24 678.153L3881.01 682.925L3870.83 673.394M3894.24 678.153L3883.37 668.485L3870.83 673.394M3894.24 678.153L3879.45 677.457L3870.83 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3879.79 677.526L3870.83 673.394L3881.01 682.925L3894.24 678.153L3879.79 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3881.18 682.959L3879.79 677.526L3883.37 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3892.84 782.825L3880.61 786.066L3872.22 776.722L3883.85 773.304L3892.84 782.825Z" fill="#F2D664"/>
-<path d="M3892.84 782.825L3880.61 786.066L3872.22 776.722M3892.84 782.825L3883.85 773.304L3872.22 776.722M3892.84 782.825L3879.64 781.041L3872.22 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3879.94 781.13L3872.23 776.722L3880.61 786.066L3892.84 782.825L3879.94 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.76 786.11L3879.94 781.13L3883.86 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3891.53 887.318L3880.31 889.265L3873.53 880.229L3884.23 878.077L3891.53 887.318Z" fill="#F2D664"/>
-<path d="M3891.53 887.318L3880.31 889.265L3873.53 880.229M3891.53 887.318L3884.23 878.077L3873.53 880.229M3891.53 887.318L3879.84 884.683L3873.53 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3880.1 884.786L3873.53 880.229L3880.32 889.265L3891.53 887.318L3880.1 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.45 889.316L3880.1 884.786L3884.23 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3890.32 991.657L3880.11 992.523L3874.74 983.89L3884.5 982.799L3890.32 991.657Z" fill="#F2D664"/>
-<path d="M3890.32 991.657L3880.11 992.523L3874.74 983.89M3890.32 991.657L3884.5 982.799L3874.74 983.89M3890.32 991.657L3880.05 988.378L3874.74 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3880.27 988.49L3874.74 983.89L3880.11 992.523L3890.32 991.657L3880.27 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.23 992.579L3880.27 988.49L3884.5 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3889.21 1095.87L3879.99 1095.84L3875.85 1087.68L3884.68 1087.47L3889.21 1095.87Z" fill="#F2D664"/>
-<path d="M3889.21 1095.87L3879.99 1095.84L3875.85 1087.68M3889.21 1095.87L3884.68 1087.47L3875.85 1087.68M3889.21 1095.87L3880.26 1092.12L3875.85 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3880.45 1092.24L3875.85 1087.68L3879.99 1095.84L3889.21 1095.87L3880.45 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.09 1095.9L3880.45 1092.24L3884.68 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3888.2 1199.97L3879.94 1199.22L3876.86 1191.58L3884.8 1192.08L3888.2 1199.97Z" fill="#F2D664"/>
-<path d="M3888.2 1199.97L3879.94 1199.22L3876.86 1191.58M3888.2 1199.97L3884.8 1192.08L3876.86 1191.58M3888.2 1199.97L3880.46 1195.91L3876.86 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3880.63 1196.03L3876.86 1191.58L3879.94 1199.22L3888.2 1199.97L3880.63 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.02 1199.28L3880.63 1196.03L3884.8 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3887.29 1303.98L3879.93 1302.66L3877.78 1295.57L3884.85 1296.64L3887.29 1303.98Z" fill="#F2D664"/>
-<path d="M3887.29 1303.98L3879.93 1302.66L3877.78 1295.57M3887.29 1303.98L3884.85 1296.64L3877.78 1295.57M3887.29 1303.98L3880.67 1299.73L3877.78 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3880.8 1299.85L3877.78 1295.57L3879.93 1302.66L3887.29 1303.98L3880.8 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880 1302.72L3880.8 1299.85L3884.85 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3886.46 1407.92L3879.98 1406.16L3878.6 1399.63L3884.86 1401.15L3886.46 1407.92Z" fill="#F2D664"/>
-<path d="M3886.46 1407.92L3879.98 1406.16L3878.6 1399.63M3886.46 1407.92L3884.86 1401.15L3878.6 1399.63M3886.46 1407.92L3880.86 1403.59L3878.6 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3880.98 1403.71L3878.6 1399.63L3879.98 1406.16L3886.46 1407.92L3880.98 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.03 1406.22L3880.98 1403.71L3884.86 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3885.73 1511.8L3880.05 1509.71L3879.33 1503.75L3884.83 1505.6L3885.73 1511.8Z" fill="#F2D664"/>
-<path d="M3885.73 1511.8L3880.05 1509.71L3879.33 1503.75M3885.73 1511.8L3884.83 1505.6L3879.33 1503.75M3885.73 1511.8L3881.05 1507.48L3879.33 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3881.14 1507.59L3879.33 1503.75L3880.05 1509.71L3885.73 1511.8L3881.14 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3880.1 1509.77L3881.14 1507.59L3884.83 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3886.92 1610.3L3883.41 1614.47L3878.14 1613.24L3881.4 1609.17L3886.92 1610.3Z" fill="#F2D664"/>
-<path d="M3886.92 1610.3L3883.41 1614.47L3878.14 1613.24M3886.92 1610.3L3881.4 1609.17L3878.14 1613.24M3886.92 1610.3L3881.82 1612.93L3878.14 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3881.95 1612.89L3878.14 1613.24L3883.41 1614.47L3886.92 1610.31L3881.95 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3883.47 1614.45L3881.95 1612.89L3881.4 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M4007.39 44.6397L3990.33 64.8541L3964.77 58.9066L3980.59 39.1058L4007.39 44.6397Z" fill="#F2D664"/>
-<path d="M4007.39 44.6397L3990.33 64.8541L3964.77 58.9066M4007.39 44.6397L3980.59 39.1058L3964.77 58.9066M4007.39 44.6397L3982.65 57.4121L3964.77 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M3983.26 57.2063L3964.77 58.9075L3990.33 64.8549L4007.39 44.6406L3983.26 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3990.64 64.7507L3983.26 57.2054L3980.59 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M4005.75 151.05L3988.87 167.836L3966.41 160.498L3982.15 143.986L4005.75 151.05Z" fill="#F2D664"/>
-<path d="M4005.75 151.05L3988.87 167.836L3966.41 160.498M4005.75 151.05L3982.15 143.986L3966.41 160.498M4005.75 151.05L3982.56 160.56L3966.41 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M3983.13 160.424L3966.41 160.498L3988.87 167.836L4005.75 151.05L3983.13 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3989.15 167.767L3983.13 160.423L3982.15 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M4004.08 257.081L3987.63 270.807L3968.08 262.466L3983.48 248.896L4004.08 257.081Z" fill="#F2D664"/>
-<path d="M4004.08 257.081L3987.63 270.807L3968.08 262.466M4004.08 257.081L3983.48 248.896L3968.08 262.466M4004.08 257.081L3982.55 263.789L3968.08 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M3983.07 263.711L3968.08 262.467L3987.63 270.807L4004.08 257.081L3983.07 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3987.89 270.768L3983.07 263.711L3983.48 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M4002.43 362.772L3986.61 373.788L3969.73 364.776L3984.6 353.818L4002.43 362.772Z" fill="#F2D664"/>
-<path d="M4002.43 362.772L3986.61 373.788L3969.73 364.776M4002.43 362.772L3984.6 353.818L3969.73 364.776M4002.43 362.772L3982.6 367.097L3969.73 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M3983.07 367.068L3969.73 364.776L3986.61 373.788L4002.43 362.771L3983.07 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3986.84 373.773L3983.07 367.068L3984.6 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M4000.82 468.157L3985.77 476.793L3971.34 467.389L3985.54 458.731L4000.82 468.157Z" fill="#F2D664"/>
-<path d="M4000.82 468.157L3985.77 476.793L3971.34 467.389M4000.82 468.157L3985.54 458.731L3971.34 467.389M4000.82 468.157L3982.7 470.48L3971.34 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M3983.12 470.491L3971.34 467.39L3985.77 476.793L4000.82 468.158L3983.12 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3985.98 476.799L3983.13 470.491L3985.54 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M3999.26 573.274L3985.09 579.836L3972.9 570.274L3986.3 563.625L3999.26 573.274Z" fill="#F2D664"/>
-<path d="M3999.26 573.274L3985.09 579.836L3972.9 570.274M3999.26 573.274L3986.3 563.625L3972.9 570.274M3999.26 573.274L3982.84 573.935L3972.9 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M3983.22 573.979L3972.9 570.274L3985.09 579.836L3999.26 573.274L3983.22 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3985.28 579.858L3983.22 573.978L3986.3 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M3997.78 678.153L3984.56 682.925L3974.38 673.394L3986.92 668.485L3997.78 678.153Z" fill="#FCEDB1"/>
-<path d="M3997.78 678.153L3984.56 682.925L3974.38 673.394M3997.78 678.153L3986.92 668.485L3974.38 673.394M3997.78 678.153L3983 677.457L3974.38 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M3983.34 677.526L3974.38 673.394L3984.56 682.925L3997.78 678.153L3983.34 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3984.73 682.959L3983.34 677.526L3986.92 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M3996.39 782.825L3984.16 786.066L3975.77 776.722L3987.4 773.304L3996.39 782.825Z" fill="#F2D664"/>
-<path d="M3996.39 782.825L3984.16 786.066L3975.77 776.722M3996.39 782.825L3987.4 773.304L3975.77 776.722M3996.39 782.825L3983.19 781.041L3975.77 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M3983.49 781.13L3975.77 776.722L3984.16 786.066L3996.39 782.825L3983.49 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3984.31 786.11L3983.49 781.13L3987.4 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M3995.08 887.318L3983.86 889.265L3977.08 880.229L3987.77 878.077L3995.08 887.318Z" fill="#F2D664"/>
-<path d="M3995.08 887.318L3983.86 889.265L3977.08 880.229M3995.08 887.318L3987.77 878.077L3977.08 880.229M3995.08 887.318L3983.39 884.683L3977.08 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M3983.65 884.786L3977.08 880.229L3983.86 889.265L3995.08 887.318L3983.65 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.99 889.316L3983.65 884.786L3987.77 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M3993.87 991.657L3983.66 992.523L3978.29 983.89L3988.05 982.799L3993.87 991.657Z" fill="#F2D664"/>
-<path d="M3993.87 991.657L3983.66 992.523L3978.29 983.89M3993.87 991.657L3988.05 982.799L3978.29 983.89M3993.87 991.657L3983.59 988.378L3978.29 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M3983.82 988.49L3978.29 983.89L3983.66 992.523L3993.87 991.657L3983.82 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.78 992.579L3983.82 988.49L3988.05 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M3992.76 1095.87L3983.54 1095.84L3979.4 1087.68L3988.23 1087.47L3992.76 1095.87Z" fill="#F2D664"/>
-<path d="M3992.76 1095.87L3983.54 1095.84L3979.4 1087.68M3992.76 1095.87L3988.23 1087.47L3979.4 1087.68M3992.76 1095.87L3983.8 1092.12L3979.4 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M3984 1092.24L3979.4 1087.68L3983.54 1095.84L3992.76 1095.87L3984 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.64 1095.9L3984 1092.24L3988.23 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M3991.75 1199.97L3983.48 1199.22L3980.41 1191.58L3988.35 1192.08L3991.75 1199.97Z" fill="#F2D664"/>
-<path d="M3991.75 1199.97L3983.48 1199.22L3980.41 1191.58M3991.75 1199.97L3988.35 1192.08L3980.41 1191.58M3991.75 1199.97L3984.01 1195.91L3980.41 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M3984.18 1196.03L3980.41 1191.58L3983.48 1199.22L3991.75 1199.97L3984.18 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.57 1199.28L3984.18 1196.03L3988.35 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M3990.83 1303.98L3983.48 1302.66L3981.33 1295.57L3988.4 1296.64L3990.83 1303.98Z" fill="#F2D664"/>
-<path d="M3990.83 1303.98L3983.48 1302.66L3981.33 1295.57M3990.83 1303.98L3988.4 1296.64L3981.33 1295.57M3990.83 1303.98L3984.22 1299.73L3981.33 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M3984.35 1299.85L3981.32 1295.57L3983.48 1302.66L3990.83 1303.98L3984.35 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.55 1302.72L3984.35 1299.85L3988.4 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M3990.01 1407.92L3983.52 1406.16L3982.15 1399.63L3988.41 1401.15L3990.01 1407.92Z" fill="#F2D664"/>
-<path d="M3990.01 1407.92L3983.52 1406.16L3982.15 1399.63M3990.01 1407.92L3988.41 1401.15L3982.15 1399.63M3990.01 1407.92L3984.41 1403.59L3982.15 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M3984.53 1403.71L3982.15 1399.63L3983.52 1406.16L3990.01 1407.92L3984.53 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.58 1406.22L3984.53 1403.71L3988.41 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M3989.28 1511.8L3983.6 1509.71L3982.88 1503.75L3988.37 1505.6L3989.28 1511.8Z" fill="#F2D664"/>
-<path d="M3989.28 1511.8L3983.6 1509.71L3982.88 1503.75M3989.28 1511.8L3988.37 1505.6L3982.88 1503.75M3989.28 1511.8L3984.6 1507.48L3982.88 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M3984.69 1507.59L3982.88 1503.75L3983.6 1509.71L3989.28 1511.8L3984.69 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3983.65 1509.77L3984.69 1507.59L3988.37 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M3990.47 1610.3L3986.96 1614.47L3981.69 1613.24L3984.95 1609.17L3990.47 1610.3Z" fill="#F2D664"/>
-<path d="M3990.47 1610.3L3986.96 1614.47L3981.69 1613.24M3990.47 1610.3L3984.95 1609.17L3981.69 1613.24M3990.47 1610.3L3985.37 1612.93L3981.69 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M3985.5 1612.89L3981.69 1613.24L3986.96 1614.47L3990.47 1610.31L3985.5 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M3987.02 1614.45L3985.5 1612.89L3984.95 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M4110.94 44.6397L4093.88 64.8541L4068.32 58.9066L4084.13 39.1058L4110.94 44.6397Z" fill="#F2D664"/>
-<path d="M4110.94 44.6397L4093.88 64.8541L4068.32 58.9066M4110.94 44.6397L4084.13 39.1058L4068.32 58.9066M4110.94 44.6397L4086.19 57.4121L4068.32 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M4086.81 57.2063L4068.32 58.9075L4093.88 64.8549L4110.94 44.6406L4086.81 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4094.19 64.7507L4086.81 57.2054L4084.13 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M4109.29 151.05L4092.42 167.836L4069.96 160.498L4085.7 143.986L4109.29 151.05Z" fill="#F2D664"/>
-<path d="M4109.29 151.05L4092.42 167.836L4069.96 160.498M4109.29 151.05L4085.7 143.986L4069.96 160.498M4109.29 151.05L4086.11 160.56L4069.96 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M4086.68 160.424L4069.96 160.498L4092.42 167.836L4109.29 151.05L4086.68 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4092.7 167.767L4086.68 160.423L4085.7 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M4107.63 257.081L4091.18 270.807L4071.62 262.466L4087.03 248.896L4107.63 257.081Z" fill="#F2D664"/>
-<path d="M4107.63 257.081L4091.18 270.807L4071.62 262.466M4107.63 257.081L4087.03 248.896L4071.62 262.466M4107.63 257.081L4086.09 263.789L4071.62 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M4086.62 263.711L4071.62 262.467L4091.18 270.807L4107.63 257.081L4086.62 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4091.44 270.768L4086.62 263.711L4087.03 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M4105.98 362.772L4090.15 373.788L4073.27 364.776L4088.15 353.818L4105.98 362.772Z" fill="#F2D664"/>
-<path d="M4105.98 362.772L4090.15 373.788L4073.27 364.776M4105.98 362.772L4088.15 353.818L4073.27 364.776M4105.98 362.772L4086.15 367.097L4073.27 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M4086.62 367.068L4073.27 364.776L4090.15 373.788L4105.98 362.771L4086.62 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4090.39 373.773L4086.62 367.068L4088.15 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M4104.37 468.157L4089.31 476.793L4074.89 467.389L4089.08 458.731L4104.37 468.157Z" fill="#F2D664"/>
-<path d="M4104.37 468.157L4089.31 476.793L4074.89 467.389M4104.37 468.157L4089.08 458.731L4074.89 467.389M4104.37 468.157L4086.24 470.48L4074.89 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M4086.67 470.491L4074.89 467.39L4089.31 476.793L4104.37 468.158L4086.67 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4089.53 476.799L4086.67 470.491L4089.08 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M4102.81 573.274L4088.64 579.836L4076.44 570.274L4089.85 563.625L4102.81 573.274Z" fill="#F2D664"/>
-<path d="M4102.81 573.274L4088.64 579.836L4076.44 570.274M4102.81 573.274L4089.85 563.625L4076.44 570.274M4102.81 573.274L4086.38 573.935L4076.44 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M4086.76 573.979L4076.44 570.274L4088.64 579.836L4102.81 573.274L4086.76 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4088.83 579.858L4086.76 573.978L4089.85 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M4101.33 678.153L4088.11 682.925L4077.92 673.394L4090.47 668.485L4101.33 678.153Z" fill="#FCEDB1"/>
-<path d="M4101.33 678.153L4088.11 682.925L4077.92 673.394M4101.33 678.153L4090.47 668.485L4077.92 673.394M4101.33 678.153L4086.55 677.457L4077.92 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M4086.89 677.526L4077.92 673.394L4088.11 682.925L4101.33 678.153L4086.89 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4088.28 682.959L4086.89 677.526L4090.47 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M4099.93 782.825L4087.7 786.066L4079.32 776.722L4090.95 773.304L4099.93 782.825Z" fill="#F2D664"/>
-<path d="M4099.93 782.825L4087.7 786.066L4079.32 776.722M4099.93 782.825L4090.95 773.304L4079.32 776.722M4099.93 782.825L4086.73 781.041L4079.32 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M4087.03 781.13L4079.32 776.722L4087.71 786.066L4099.93 782.825L4087.03 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.85 786.11L4087.03 781.13L4090.95 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M4098.63 887.318L4087.41 889.265L4080.62 880.229L4091.32 878.077L4098.63 887.318Z" fill="#F2D664"/>
-<path d="M4098.63 887.318L4087.41 889.265L4080.62 880.229M4098.63 887.318L4091.32 878.077L4080.62 880.229M4098.63 887.318L4086.93 884.683L4080.62 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M4087.19 884.786L4080.62 880.229L4087.41 889.265L4098.63 887.318L4087.19 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.54 889.316L4087.19 884.786L4091.32 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M4097.42 991.657L4087.21 992.523L4081.83 983.89L4091.59 982.799L4097.42 991.657Z" fill="#F2D664"/>
-<path d="M4097.42 991.657L4087.21 992.523L4081.83 983.89M4097.42 991.657L4091.59 982.799L4081.83 983.89M4097.42 991.657L4087.14 988.378L4081.83 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M4087.37 988.49L4081.83 983.89L4087.21 992.523L4097.42 991.657L4087.37 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.32 992.579L4087.37 988.49L4091.59 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M4096.31 1095.87L4087.09 1095.84L4082.94 1087.68L4091.78 1087.47L4096.31 1095.87Z" fill="#F2D664"/>
-<path d="M4096.31 1095.87L4087.09 1095.84L4082.94 1087.68M4096.31 1095.87L4091.78 1087.47L4082.94 1087.68M4096.31 1095.87L4087.35 1092.12L4082.94 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M4087.54 1092.24L4082.94 1087.68L4087.09 1095.84L4096.31 1095.87L4087.54 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.18 1095.9L4087.54 1092.24L4091.78 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M4095.3 1199.97L4087.03 1199.22L4083.96 1191.58L4091.89 1192.08L4095.3 1199.97Z" fill="#F2D664"/>
-<path d="M4095.3 1199.97L4087.03 1199.22L4083.96 1191.58M4095.3 1199.97L4091.89 1192.08L4083.96 1191.58M4095.3 1199.97L4087.56 1195.91L4083.96 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M4087.72 1196.03L4083.96 1191.58L4087.03 1199.22L4095.3 1199.97L4087.72 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.11 1199.28L4087.72 1196.03L4091.89 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M4094.38 1303.98L4087.03 1302.66L4084.87 1295.57L4091.95 1296.64L4094.38 1303.98Z" fill="#F2D664"/>
-<path d="M4094.38 1303.98L4087.03 1302.66L4084.87 1295.57M4094.38 1303.98L4091.95 1296.64L4084.87 1295.57M4094.38 1303.98L4087.76 1299.73L4084.87 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M4087.9 1299.85L4084.87 1295.57L4087.03 1302.66L4094.38 1303.98L4087.9 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.1 1302.72L4087.9 1299.85L4091.95 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M4093.56 1407.92L4087.07 1406.16L4085.69 1399.63L4091.95 1401.15L4093.56 1407.92Z" fill="#F2D664"/>
-<path d="M4093.56 1407.92L4087.07 1406.16L4085.69 1399.63M4093.56 1407.92L4091.95 1401.15L4085.69 1399.63M4093.56 1407.92L4087.96 1403.59L4085.69 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M4088.07 1403.71L4085.69 1399.63L4087.07 1406.16L4093.56 1407.92L4088.07 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.13 1406.22L4088.07 1403.71L4091.95 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M4092.83 1511.8L4087.15 1509.71L4086.43 1503.75L4091.92 1505.6L4092.83 1511.8Z" fill="#F2D664"/>
-<path d="M4092.83 1511.8L4087.15 1509.71L4086.43 1503.75M4092.83 1511.8L4091.92 1505.6L4086.43 1503.75M4092.83 1511.8L4088.15 1507.48L4086.43 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M4088.24 1507.59L4086.43 1503.75L4087.15 1509.71L4092.83 1511.8L4088.24 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4087.19 1509.77L4088.24 1507.59L4091.92 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M4094.01 1610.3L4090.5 1614.47L4085.24 1613.24L4088.5 1609.17L4094.01 1610.3Z" fill="#F2D664"/>
-<path d="M4094.01 1610.3L4090.5 1614.47L4085.24 1613.24M4094.01 1610.3L4088.5 1609.17L4085.24 1613.24M4094.01 1610.3L4088.92 1612.93L4085.24 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M4089.05 1612.89L4085.24 1613.24L4090.5 1614.47L4094.01 1610.31L4089.05 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4090.57 1614.45L4089.05 1612.89L4088.5 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M4214.48 44.6397L4197.43 64.8541L4171.86 58.9066L4187.68 39.1058L4214.48 44.6397Z" fill="#F2D664"/>
-<path d="M4214.48 44.6397L4197.43 64.8541L4171.86 58.9066M4214.48 44.6397L4187.68 39.1058L4171.86 58.9066M4214.48 44.6397L4189.74 57.4121L4171.86 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M4190.36 57.2063L4171.86 58.9075L4197.43 64.8549L4214.48 44.6406L4190.36 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4197.74 64.7507L4190.36 57.2054L4187.68 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M4212.84 151.05L4195.96 167.836L4173.51 160.498L4189.24 143.986L4212.84 151.05Z" fill="#F2D664"/>
-<path d="M4212.84 151.05L4195.96 167.836L4173.51 160.498M4212.84 151.05L4189.24 143.986L4173.51 160.498M4212.84 151.05L4189.65 160.56L4173.51 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M4190.22 160.424L4173.51 160.498L4195.96 167.836L4212.84 151.05L4190.22 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4196.25 167.767L4190.22 160.423L4189.25 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M4211.18 257.081L4194.73 270.807L4175.17 262.466L4190.58 248.896L4211.18 257.081Z" fill="#F2D664"/>
-<path d="M4211.18 257.081L4194.73 270.807L4175.17 262.466M4211.18 257.081L4190.58 248.896L4175.17 262.466M4211.18 257.081L4189.64 263.789L4175.17 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M4190.16 263.711L4175.17 262.467L4194.73 270.807L4211.18 257.081L4190.16 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4194.99 270.768L4190.16 263.711L4190.58 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M4209.53 362.772L4193.7 373.788L4176.82 364.776L4191.7 353.818L4209.53 362.772Z" fill="#F2D664"/>
-<path d="M4209.53 362.772L4193.7 373.788L4176.82 364.776M4209.53 362.772L4191.7 353.818L4176.82 364.776M4209.53 362.772L4189.69 367.097L4176.82 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M4190.17 367.068L4176.82 364.776L4193.7 373.788L4209.53 362.771L4190.17 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4193.94 373.773L4190.17 367.068L4191.7 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M4207.91 468.157L4192.86 476.793L4178.44 467.389L4192.63 458.731L4207.91 468.157Z" fill="#F2D664"/>
-<path d="M4207.91 468.157L4192.86 476.793L4178.44 467.389M4207.91 468.157L4192.63 458.731L4178.44 467.389M4207.91 468.157L4189.79 470.48L4178.44 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M4190.22 470.491L4178.43 467.39L4192.86 476.793L4207.91 468.158L4190.22 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4193.08 476.799L4190.22 470.491L4192.63 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M4206.36 573.274L4192.19 579.836L4179.99 570.274L4193.4 563.625L4206.36 573.274Z" fill="#F2D664"/>
-<path d="M4206.36 573.274L4192.19 579.836L4179.99 570.274M4206.36 573.274L4193.4 563.625L4179.99 570.274M4206.36 573.274L4189.93 573.935L4179.99 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M4190.31 573.979L4179.99 570.274L4192.19 579.836L4206.36 573.274L4190.31 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4192.38 579.858L4190.31 573.978L4193.4 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M4204.88 678.153L4191.66 682.925L4181.47 673.394L4194.01 668.485L4204.88 678.153Z" fill="#FCEDB1"/>
-<path d="M4204.88 678.153L4191.66 682.925L4181.47 673.394M4204.88 678.153L4194.01 668.485L4181.47 673.394M4204.88 678.153L4190.1 677.457L4181.47 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M4190.44 677.526L4181.47 673.394L4191.66 682.925L4204.88 678.153L4190.44 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4191.83 682.959L4190.43 677.526L4194.01 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M4203.48 782.825L4191.25 786.066L4182.87 776.722L4194.5 773.304L4203.48 782.825Z" fill="#F2D664"/>
-<path d="M4203.48 782.825L4191.25 786.066L4182.87 776.722M4203.48 782.825L4194.5 773.304L4182.87 776.722M4203.48 782.825L4190.28 781.041L4182.87 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M4190.58 781.13L4182.87 776.722L4191.25 786.066L4203.48 782.825L4190.58 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4191.4 786.11L4190.58 781.13L4194.5 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M4202.17 887.318L4190.96 889.265L4184.17 880.229L4194.87 878.077L4202.17 887.318Z" fill="#F2D664"/>
-<path d="M4202.17 887.318L4190.96 889.265L4184.17 880.229M4202.17 887.318L4194.87 878.077L4184.17 880.229M4202.17 887.318L4190.48 884.683L4184.17 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M4190.74 884.786L4184.17 880.229L4190.96 889.265L4202.17 887.318L4190.74 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4191.09 889.316L4190.74 884.786L4194.87 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M4200.97 991.657L4190.76 992.523L4185.38 983.89L4195.14 982.799L4200.97 991.657Z" fill="#F2D664"/>
-<path d="M4200.97 991.657L4190.76 992.523L4185.38 983.89M4200.97 991.657L4195.14 982.799L4185.38 983.89M4200.97 991.657L4190.69 988.378L4185.38 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M4190.92 988.49L4185.38 983.89L4190.76 992.523L4200.97 991.657L4190.92 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.87 992.579L4190.92 988.49L4195.14 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M4199.86 1095.87L4190.63 1095.84L4186.49 1087.68L4195.33 1087.47L4199.86 1095.87Z" fill="#F2D664"/>
-<path d="M4199.86 1095.87L4190.63 1095.84L4186.49 1087.68M4199.86 1095.87L4195.33 1087.47L4186.49 1087.68M4199.86 1095.87L4190.9 1092.12L4186.49 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M4191.09 1092.24L4186.49 1087.68L4190.63 1095.84L4199.86 1095.87L4191.09 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.73 1095.9L4191.09 1092.24L4195.33 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M4198.84 1199.97L4190.58 1199.22L4187.51 1191.58L4195.44 1192.08L4198.84 1199.97Z" fill="#F2D664"/>
-<path d="M4198.84 1199.97L4190.58 1199.22L4187.51 1191.58M4198.84 1199.97L4195.44 1192.08L4187.51 1191.58M4198.84 1199.97L4191.11 1195.91L4187.51 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M4191.27 1196.03L4187.5 1191.58L4190.58 1199.22L4198.84 1199.97L4191.27 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.66 1199.28L4191.27 1196.03L4195.44 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M4197.93 1303.98L4190.58 1302.66L4188.42 1295.57L4195.5 1296.64L4197.93 1303.98Z" fill="#F2D664"/>
-<path d="M4197.93 1303.98L4190.58 1302.66L4188.42 1295.57M4197.93 1303.98L4195.5 1296.64L4188.42 1295.57M4197.93 1303.98L4191.31 1299.73L4188.42 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M4191.45 1299.85L4188.42 1295.57L4190.58 1302.66L4197.93 1303.98L4191.45 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.64 1302.72L4191.45 1299.85L4195.5 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M4197.11 1407.92L4190.62 1406.16L4189.24 1399.63L4195.5 1401.15L4197.11 1407.92Z" fill="#F2D664"/>
-<path d="M4197.11 1407.92L4190.62 1406.16L4189.24 1399.63M4197.11 1407.92L4195.5 1401.15L4189.24 1399.63M4197.11 1407.92L4191.51 1403.59L4189.24 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M4191.62 1403.71L4189.24 1399.63L4190.62 1406.16L4197.11 1407.92L4191.62 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.67 1406.22L4191.62 1403.71L4195.5 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M4196.38 1511.8L4190.7 1509.71L4189.97 1503.75L4195.47 1505.6L4196.38 1511.8Z" fill="#F2D664"/>
-<path d="M4196.38 1511.8L4190.7 1509.71L4189.97 1503.75M4196.38 1511.8L4195.47 1505.6L4189.97 1503.75M4196.38 1511.8L4191.69 1507.48L4189.97 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M4191.79 1507.59L4189.97 1503.75L4190.7 1509.71L4196.38 1511.8L4191.79 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4190.74 1509.77L4191.79 1507.59L4195.47 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M4197.56 1610.3L4194.05 1614.47L4188.79 1613.24L4192.04 1609.17L4197.56 1610.3Z" fill="#F2D664"/>
-<path d="M4197.56 1610.3L4194.05 1614.47L4188.79 1613.24M4197.56 1610.3L4192.04 1609.17L4188.79 1613.24M4197.56 1610.3L4192.47 1612.93L4188.79 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M4192.59 1612.89L4188.79 1613.24L4194.05 1614.47L4197.56 1610.31L4192.59 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4194.11 1614.45L4192.59 1612.89L4192.04 1609.17" stroke="black" stroke-width="1.5"/>
-<path d="M4318.03 44.6397L4300.98 64.8541L4275.41 58.9066L4291.23 39.1058L4318.03 44.6397Z" fill="#F2D664"/>
-<path d="M4318.03 44.6397L4300.98 64.8541L4275.41 58.9066M4318.03 44.6397L4291.23 39.1058L4275.41 58.9066M4318.03 44.6397L4293.29 57.4121L4275.41 58.9066" stroke="black" stroke-width="1.5"/>
-<path d="M4293.9 57.2063L4275.41 58.9075L4300.98 64.8549L4318.03 44.6406L4293.9 57.2063Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4301.28 64.7507L4293.9 57.2054L4291.23 39.1058" stroke="black" stroke-width="1.5"/>
-<path d="M4316.39 151.05L4299.51 167.836L4277.06 160.498L4292.79 143.986L4316.39 151.05Z" fill="#F2D664"/>
-<path d="M4316.39 151.05L4299.51 167.836L4277.06 160.498M4316.39 151.05L4292.79 143.986L4277.06 160.498M4316.39 151.05L4293.2 160.56L4277.06 160.498" stroke="black" stroke-width="1.5"/>
-<path d="M4293.77 160.424L4277.06 160.498L4299.51 167.836L4316.39 151.05L4293.77 160.424Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4299.8 167.767L4293.77 160.423L4292.79 143.986" stroke="black" stroke-width="1.5"/>
-<path d="M4314.72 257.081L4298.28 270.807L4278.72 262.466L4294.12 248.896L4314.72 257.081Z" fill="#F2D664"/>
-<path d="M4314.72 257.081L4298.28 270.807L4278.72 262.466M4314.72 257.081L4294.12 248.896L4278.72 262.466M4314.72 257.081L4293.19 263.789L4278.72 262.466" stroke="black" stroke-width="1.5"/>
-<path d="M4293.71 263.711L4278.72 262.467L4298.28 270.807L4314.72 257.081L4293.71 263.711Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4298.54 270.768L4293.71 263.711L4294.12 248.896" stroke="black" stroke-width="1.5"/>
-<path d="M4313.07 362.772L4297.25 373.788L4280.37 364.776L4295.24 353.818L4313.07 362.772Z" fill="#F2D664"/>
-<path d="M4313.07 362.772L4297.25 373.788L4280.37 364.776M4313.07 362.772L4295.24 353.818L4280.37 364.776M4313.07 362.772L4293.24 367.097L4280.37 364.776" stroke="black" stroke-width="1.5"/>
-<path d="M4293.71 367.068L4280.37 364.776L4297.25 373.788L4313.07 362.771L4293.71 367.068Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4297.49 373.773L4293.71 367.068L4295.24 353.818" stroke="black" stroke-width="1.5"/>
-<path d="M4311.46 468.157L4296.41 476.793L4281.98 467.389L4296.18 458.731L4311.46 468.157Z" fill="#F2D664"/>
-<path d="M4311.46 468.157L4296.41 476.793L4281.98 467.389M4311.46 468.157L4296.18 458.731L4281.98 467.389M4311.46 468.157L4293.34 470.48L4281.98 467.389" stroke="black" stroke-width="1.5"/>
-<path d="M4293.77 470.491L4281.98 467.39L4296.41 476.793L4311.46 468.158L4293.77 470.491Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4296.62 476.799L4293.77 470.491L4296.18 458.731" stroke="black" stroke-width="1.5"/>
-<path d="M4309.91 573.274L4295.73 579.836L4283.54 570.274L4296.94 563.625L4309.91 573.274Z" fill="#F2D664"/>
-<path d="M4309.91 573.274L4295.73 579.836L4283.54 570.274M4309.91 573.274L4296.94 563.625L4283.54 570.274M4309.91 573.274L4293.48 573.935L4283.54 570.274" stroke="black" stroke-width="1.5"/>
-<path d="M4293.86 573.979L4283.54 570.274L4295.73 579.836L4309.91 573.274L4293.86 573.979Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4295.93 579.858L4293.86 573.978L4296.94 563.624" stroke="black" stroke-width="1.5"/>
-<path d="M4308.42 678.153L4295.2 682.925L4285.02 673.394L4297.56 668.485L4308.42 678.153Z" fill="#FCEDB1"/>
-<path d="M4308.42 678.153L4295.2 682.925L4285.02 673.394M4308.42 678.153L4297.56 668.485L4285.02 673.394M4308.42 678.153L4293.64 677.457L4285.02 673.394" stroke="black" stroke-width="1.5"/>
-<path d="M4293.98 677.526L4285.02 673.394L4295.2 682.925L4308.42 678.153L4293.98 677.526Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4295.37 682.959L4293.98 677.526L4297.56 668.485" stroke="black" stroke-width="1.5"/>
-<path d="M4307.03 782.825L4294.8 786.066L4286.41 776.722L4298.04 773.304L4307.03 782.825Z" fill="#F2D664"/>
-<path d="M4307.03 782.825L4294.8 786.066L4286.41 776.722M4307.03 782.825L4298.04 773.304L4286.41 776.722M4307.03 782.825L4293.83 781.041L4286.41 776.722" stroke="black" stroke-width="1.5"/>
-<path d="M4294.13 781.13L4286.41 776.722L4294.8 786.066L4307.03 782.825L4294.13 781.13Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.95 786.11L4294.13 781.13L4298.04 773.304" stroke="black" stroke-width="1.5"/>
-<path d="M4305.72 887.318L4294.5 889.265L4287.72 880.229L4298.41 878.077L4305.72 887.318Z" fill="#F2D664"/>
-<path d="M4305.72 887.318L4294.5 889.265L4287.72 880.229M4305.72 887.318L4298.41 878.077L4287.72 880.229M4305.72 887.318L4294.03 884.683L4287.72 880.229" stroke="black" stroke-width="1.5"/>
-<path d="M4294.29 884.786L4287.72 880.229L4294.5 889.265L4305.72 887.318L4294.29 884.786Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.64 889.316L4294.29 884.786L4298.42 878.077" stroke="black" stroke-width="1.5"/>
-<path d="M4304.51 991.657L4294.3 992.523L4288.93 983.89L4298.69 982.799L4304.51 991.657Z" fill="#F2D664"/>
-<path d="M4304.51 991.657L4294.3 992.523L4288.93 983.89M4304.51 991.657L4298.69 982.799L4288.93 983.89M4304.51 991.657L4294.24 988.378L4288.93 983.89" stroke="black" stroke-width="1.5"/>
-<path d="M4294.46 988.49L4288.93 983.89L4294.3 992.523L4304.51 991.657L4294.46 988.49Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.42 992.579L4294.46 988.49L4298.69 982.799" stroke="black" stroke-width="1.5"/>
-<path d="M4303.4 1095.87L4294.18 1095.84L4290.04 1087.68L4298.87 1087.47L4303.4 1095.87Z" fill="#F2D664"/>
-<path d="M4303.4 1095.87L4294.18 1095.84L4290.04 1087.68M4303.4 1095.87L4298.87 1087.47L4290.04 1087.68M4303.4 1095.87L4294.45 1092.12L4290.04 1087.68" stroke="black" stroke-width="1.5"/>
-<path d="M4294.64 1092.24L4290.04 1087.68L4294.18 1095.84L4303.4 1095.87L4294.64 1092.24Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.28 1095.9L4294.64 1092.24L4298.87 1087.47" stroke="black" stroke-width="1.5"/>
-<path d="M4302.39 1199.97L4294.13 1199.22L4291.05 1191.58L4298.99 1192.08L4302.39 1199.97Z" fill="#F2D664"/>
-<path d="M4302.39 1199.97L4294.13 1199.22L4291.05 1191.58M4302.39 1199.97L4298.99 1192.08L4291.05 1191.58M4302.39 1199.97L4294.65 1195.91L4291.05 1191.58" stroke="black" stroke-width="1.5"/>
-<path d="M4294.82 1196.03L4291.05 1191.58L4294.12 1199.22L4302.39 1199.97L4294.82 1196.03Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.21 1199.28L4294.82 1196.03L4298.99 1192.08" stroke="black" stroke-width="1.5"/>
-<path d="M4301.47 1303.98L4294.12 1302.66L4291.97 1295.57L4299.04 1296.64L4301.47 1303.98Z" fill="#F2D664"/>
-<path d="M4301.47 1303.98L4294.12 1302.66L4291.97 1295.57M4301.47 1303.98L4299.04 1296.64L4291.97 1295.57M4301.47 1303.98L4294.86 1299.73L4291.97 1295.57" stroke="black" stroke-width="1.5"/>
-<path d="M4294.99 1299.85L4291.97 1295.57L4294.12 1302.66L4301.47 1303.98L4294.99 1299.85Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.19 1302.72L4294.99 1299.85L4299.04 1296.64" stroke="black" stroke-width="1.5"/>
-<path d="M4300.65 1407.92L4294.16 1406.16L4292.79 1399.63L4299.05 1401.15L4300.65 1407.92Z" fill="#F2D664"/>
-<path d="M4300.65 1407.92L4294.16 1406.16L4292.79 1399.63M4300.65 1407.92L4299.05 1401.15L4292.79 1399.63M4300.65 1407.92L4295.05 1403.59L4292.79 1399.63" stroke="black" stroke-width="1.5"/>
-<path d="M4295.17 1403.71L4292.79 1399.63L4294.16 1406.16L4300.65 1407.92L4295.17 1403.71Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.22 1406.22L4295.17 1403.71L4299.05 1401.15" stroke="black" stroke-width="1.5"/>
-<path d="M4299.92 1511.8L4294.24 1509.71L4293.52 1503.75L4299.01 1505.6L4299.92 1511.8Z" fill="#F2D664"/>
-<path d="M4299.92 1511.8L4294.24 1509.71L4293.52 1503.75M4299.92 1511.8L4299.01 1505.6L4293.52 1503.75M4299.92 1511.8L4295.24 1507.48L4293.52 1503.75" stroke="black" stroke-width="1.5"/>
-<path d="M4295.33 1507.59L4293.52 1503.75L4294.24 1509.71L4299.92 1511.8L4295.33 1507.59Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4294.29 1509.77L4295.33 1507.59L4299.02 1505.6" stroke="black" stroke-width="1.5"/>
-<path d="M4301.11 1610.3L4297.6 1614.47L4292.33 1613.24L4295.59 1609.17L4301.11 1610.3Z" fill="#F2D664"/>
-<path d="M4301.11 1610.3L4297.6 1614.47L4292.33 1613.24M4301.11 1610.3L4295.59 1609.17L4292.33 1613.24M4301.11 1610.3L4296.01 1612.93L4292.33 1613.24" stroke="black" stroke-width="1.5"/>
-<path d="M4296.14 1612.89L4292.33 1613.24L4297.6 1614.47L4301.11 1610.31L4296.14 1612.89Z" fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5"/>
-<path d="M4297.66 1614.45L4296.14 1612.89L4295.59 1609.17" stroke="black" stroke-width="1.5"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="4349" height="1768" fill="none" viewBox="0 0 4349 1768"><path fill="#0C0E13" d="M0 0h4348.5v1767.55H0z"/><path fill="#F2D664" d="M73.084 44.64 56.03 64.854l-25.566-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="M73.084 44.64 56.03 64.854l-25.566-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266L48.341 57.412l-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m48.958 57.206-18.495 1.701 25.566 5.948L73.083 44.64 48.959 57.206Z"/><path stroke="#000" stroke-width="1.5" d="m56.338 64.75-7.38-7.545-2.675-18.1"/><path fill="#F2D664" d="m71.44 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m71.44 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#BE9A07" stroke-width="1.5" d="m48.823 160.424-16.715.074 22.455 7.338L71.44 151.05l-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m54.848 167.767-6.024-7.344-.98-16.437"/><path fill="#F2D664" d="M69.776 257.081 53.33 270.807l-19.557-8.341 15.404-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="M69.776 257.081 53.33 270.807l-19.557-8.341m36.004-5.385-20.6-8.185-15.404 13.57m36.004-5.385-21.534 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m48.764 263.711-14.993-1.244 19.557 8.34 16.448-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m53.59 270.768-4.826-7.057.411-14.815"/><path fill="#F2D664" d="m68.126 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m68.126 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m48.766 367.068-13.344-2.292 16.88 9.012 15.824-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m52.54 373.773-3.773-6.705 1.53-13.25"/><path fill="#F2D664" d="m66.513 468.157-15.05 8.636-14.428-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m66.513 468.157-15.05 8.636-14.428-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m48.818 470.491-11.784-3.101 14.428 9.403 15.05-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m51.675 476.799-2.856-6.308 2.412-11.76"/><path fill="#F2D664" d="m64.958 573.274-14.171 6.562-12.198-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m64.958 573.274-14.171 6.562-12.198-9.562m26.37 3-12.963-9.649-13.407 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m48.911 573.979-10.322-3.705 12.197 9.562 14.172-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m50.978 579.858-2.067-5.88 3.085-10.354"/><path fill="#F2D664" d="m63.477 678.153-13.22 4.772-10.186-9.531 12.542-4.909 10.864 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m63.477 678.153-13.22 4.772-10.186-9.531m23.406 4.759-10.864-9.668-12.542 4.909m23.406 4.759-14.781-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.035 677.526-8.965-4.132 10.187 9.531 13.22-4.772-14.442-.627Z"/><path stroke="#000" stroke-width="1.5" d="m50.426 682.959-1.391-5.433 3.578-9.041"/><path fill="#F2D664" d="m62.08 782.825-12.227 3.241-8.385-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m62.08 782.825-12.227 3.241-8.385-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.18 781.13-7.713-4.408 8.385 9.344 12.228-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m50.002 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m60.775 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m60.775 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.694-2.635-6.308-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.342 884.786-6.57-4.557 6.785 9.036 11.217-1.947-11.432-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m49.688 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m59.566 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m59.566 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.514 988.49-5.533-4.6 5.375 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m49.469 992.579.045-4.089 4.226-5.691"/><path fill="#F2D664" d="m58.455 1095.87-9.221-.03-4.142-8.16 8.835-.21 4.528 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m58.455 1095.87-9.221-.03-4.142-8.16m13.363 8.19-4.528-8.4-8.835.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.692 1092.24-4.6-4.56 4.141 8.16 9.222.03-8.763-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m49.33 1095.9.362-3.66 4.235-4.77"/><path fill="#FCEDB1" d="m57.443 1199.97-8.266-.75-3.073-7.64 7.938.5 3.401 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m57.443 1199.97-8.266-.75-3.073-7.64m11.34 8.39-3.402-7.89-7.938-.5m11.34 8.39-7.738-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m49.87 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m49.26 1199.28.61-3.25 4.172-3.95"/><path fill="#F2D664" d="m56.528 1303.98-7.352-1.32-2.156-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m56.528 1303.98-7.352-1.32-2.156-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m50.047 1299.85-3.027-4.28 2.155 7.09 7.353 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m49.244 1302.72.803-2.87 4.05-3.21"/><path fill="#F2D664" d="m55.707 1407.92-6.49-1.76-1.375-6.53 6.26 1.52 1.605 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m55.707 1407.92-6.49-1.76-1.375-6.53m7.865 8.29-1.605-6.77-6.26-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m50.22 1403.71-2.379-4.08 1.377 6.53 6.488 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m49.275 1406.22.945-2.51 3.882-2.56"/><path fill="#F2D664" d="m54.975 1511.8-5.68-2.09-.722-5.96 5.494 1.85.908 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m54.975 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.908-6.2-5.494-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m50.386 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m49.341 1509.77 1.045-2.18 3.681-1.99"/><path fill="#F2D664" d="m56.162 1610.3-3.512 4.17-5.264-1.23 3.258-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m56.162 1610.3-3.512 4.17-5.264-1.23m8.776-2.94-5.518-1.13-3.258 4.07m8.776-2.94-5.095 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m51.194 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m52.714 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m176.632 44.64-17.055 20.214-25.566-5.947 15.819-19.801 26.802 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m176.632 44.64-17.055 20.214-25.566-5.947m42.621-14.267-26.802-5.534-15.819 19.8m42.621-14.266-24.744 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.505 57.206-18.494 1.701 25.565 5.948 17.055-20.214-24.126 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m159.886 64.75-7.38-7.545-2.676-18.1"/><path fill="#F2D664" d="m174.987 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m174.987 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.371 160.424-16.716.074 22.456 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m158.396 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m173.324 257.081-16.448 13.726-19.557-8.341 15.404-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m173.324 257.081-16.448 13.726-19.557-8.341m36.005-5.385-20.601-8.185-15.404 13.57m36.005-5.385-21.534 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.311 263.711-14.992-1.244 19.557 8.34 16.447-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m157.137 270.768-4.826-7.057.411-14.815"/><path fill="#F2D664" d="m171.673 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m171.673 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.314 367.068-13.345-2.292 16.881 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m156.087 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m170.06 468.157-15.05 8.636-14.428-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m170.06 468.157-15.05 8.636-14.428-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.366 470.491-11.785-3.101 14.428 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m155.223 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m168.506 573.274-14.172 6.562-12.198-9.562 13.408-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m168.506 573.274-14.172 6.562-12.198-9.562m26.37 3-12.962-9.649-13.408 6.649m26.37 3-16.429.661-9.941-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.458 573.979-10.322-3.705 12.198 9.562 14.171-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m154.525 579.858-2.066-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m167.025 678.153-13.221 4.772-10.186-9.531 12.542-4.909 10.865 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m167.025 678.153-13.221 4.772-10.186-9.531m23.407 4.759-10.865-9.668-12.542 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.582 677.526-8.964-4.132 10.186 9.531 13.22-4.772-14.442-.627Z"/><path stroke="#000" stroke-width="1.5" d="m153.974 682.959-1.392-5.433 3.578-9.041"/><path fill="#F2D664" d="m165.627 782.825-12.227 3.241-8.385-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m165.627 782.825-12.227 3.241-8.385-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.727 781.13-7.713-4.408 8.385 9.344 12.228-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m153.549 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m164.322 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m164.322 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m152.889 884.786-6.569-4.557 6.785 9.036 11.217-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m153.235 889.316-.345-4.53 4.126-6.709"/><path fill="#F2D664" d="m163.113 991.657-10.209.866-5.375-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m163.113 991.657-10.209.866-5.375-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.061 988.49-5.532-4.6 5.374 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m153.016 992.579.046-4.089 4.225-5.691"/><path fill="#F2D664" d="m162.003 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m162.003 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.958-3.75-4.405-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.239 1092.24-4.6-4.56 4.142 8.16 9.221.03-8.763-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m152.878 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m160.991 1199.97-8.266-.75-3.073-7.64 7.937.5 3.402 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m160.991 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.402-7.89-7.937-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.418 1196.03-3.767-4.45 3.073 7.64 8.266.75-7.572-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m152.807 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m160.075 1303.98-7.352-1.32-2.156-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m160.075 1303.98-7.352-1.32-2.156-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.595 1299.85-3.028-4.28 2.156 7.09 7.352 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m152.791 1302.72.804-2.87 4.049-3.21"/><path fill="#F2D664" d="m159.254 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m159.254 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.767 1403.71-2.378-4.08 1.376 6.53 6.489 1.76-5.487-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m152.822 1406.22.945-2.51 3.883-2.56"/><path fill="#F2D664" d="m158.522 1511.8-5.68-2.09-.722-5.96 5.495 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m158.522 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.907-6.2-5.495-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m153.933 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m152.889 1509.77 1.044-2.18 3.682-1.99"/><path fill="#F2D664" d="m159.709 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m159.709 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m154.741 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m156.261 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m280.179 44.64-17.055 20.214-25.565-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m280.179 44.64-17.055 20.214-25.565-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.053 57.206-18.495 1.701 25.566 5.948 17.054-20.214-24.125 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m263.433 64.75-7.38-7.545-2.675-18.1"/><path fill="#F2D664" d="m278.535 151.05-16.877 16.786-22.455-7.338 15.737-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m278.535 151.05-16.877 16.786-22.455-7.338m39.332-9.448-23.595-7.064-15.737 16.512m39.332-9.448-23.186 9.51-16.146-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m255.918 160.424-16.715.074 22.455 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m261.943 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m276.871 257.081-16.448 13.726-19.557-8.341 15.404-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m276.871 257.081-16.448 13.726-19.557-8.341m36.005-5.385-20.601-8.185-15.404 13.57m36.005-5.385-21.534 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m255.858 263.711-14.992-1.244 19.557 8.34 16.448-13.726-21.013 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m260.684 270.768-4.826-7.057.412-14.815"/><path fill="#F2D664" d="m275.221 362.772-15.823 11.016-16.881-9.012 14.876-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m275.221 362.772-15.823 11.016-16.881-9.012m32.704-2.004-17.828-8.954-14.876 10.958m32.704-2.004-19.833 4.325-12.871-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m255.861 367.068-13.344-2.292 16.88 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m259.634 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m273.608 468.157-15.051 8.636-14.427-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m273.608 468.157-15.051 8.636-14.427-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m255.913 470.491-11.784-3.101 14.427 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m258.77 476.799-2.856-6.308 2.411-11.76"/><path fill="#F2D664" d="m272.053 573.274-14.172 6.562-12.197-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m272.053 573.274-14.172 6.562-12.197-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.006 573.979-10.323-3.705 12.198 9.562 14.172-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m258.073 579.858-2.067-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m270.572 678.153-13.221 4.772-10.186-9.531 12.542-4.909 10.865 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m270.572 678.153-13.221 4.772-10.186-9.531m23.407 4.759-10.865-9.668-12.542 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.129 677.526-8.964-4.132 10.186 9.531 13.221-4.772-14.443-.627Z"/><path stroke="#000" stroke-width="1.5" d="m257.521 682.959-1.392-5.433 3.578-9.041"/><path fill="#F2D664" d="m269.175 782.825-12.228 3.241-8.385-9.344 11.63-3.418 8.983 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m269.175 782.825-12.228 3.241-8.385-9.344m20.613 6.103-8.983-9.521-11.63 3.418m20.613 6.103-13.198-1.784-7.415-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.275 781.13-7.713-4.408 8.385 9.344 12.227-3.241-12.899-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m257.097 786.11-.822-4.98 3.917-7.826"/><path fill="#F2D664" d="m267.869 887.318-11.217 1.947-6.785-9.036 10.696-2.152 7.306 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m267.869 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.306-9.241-10.696 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.437 884.786-6.57-4.557 6.785 9.036 11.217-1.947-11.432-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m256.783 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m266.661 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m266.661 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.278-3.279-5.306-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.609 988.49-5.533-4.6 5.374 8.633 10.21-.866-10.051-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m256.564 992.579.045-4.089 4.225-5.691"/><path fill="#F2D664" d="m265.55 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m265.55 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.786 1092.24-4.599-4.56 4.141 8.16 9.222.03-8.764-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m256.425 1095.9.362-3.66 4.234-4.77"/><path fill="#F2D664" d="m264.538 1199.97-8.266-.75-3.073-7.64 7.937.5 3.402 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m264.538 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.402-7.89-7.937-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m256.965 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m256.354 1199.28.612-3.25 4.171-3.95"/><path fill="#F2D664" d="m263.623 1303.98-7.353-1.32-2.155-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m263.623 1303.98-7.353-1.32-2.155-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m257.142 1299.85-3.028-4.28 2.156 7.09 7.353 1.32-6.481-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m256.339 1302.72.803-2.87 4.049-3.21"/><path fill="#F2D664" d="m262.801 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m262.801 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m257.315 1403.71-2.379-4.08 1.376 6.53 6.489 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m256.369 1406.22.946-2.51 3.882-2.56"/><path fill="#F2D664" d="m262.069 1511.8-5.68-2.09-.721-5.96 5.494 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m262.069 1511.8-5.68-2.09-.721-5.96m6.401 8.05-.907-6.2-5.494-1.85m6.401 8.05-4.681-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m257.48 1507.59-1.812-3.84.721 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m256.436 1509.77 1.045-2.18 3.681-1.99"/><path fill="#F2D664" d="m263.256 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m263.256 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m258.289 1612.89-3.808.35 5.263 1.23 3.512-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m259.808 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m383.726 44.64-17.054 20.214-25.566-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m383.726 44.64-17.054 20.214-25.566-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.6 57.206-18.495 1.701 25.566 5.948 17.055-20.214L359.6 57.206Z"/><path stroke="#000" stroke-width="1.5" d="m366.98 64.75-7.379-7.545-2.676-18.1"/><path fill="#F2D664" d="m382.082 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m382.082 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.466 160.424-16.716.074 22.455 7.338 16.877-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m365.49 167.767-6.024-7.344-.98-16.437"/><path fill="#F2D664" d="m380.418 257.081-16.447 13.726-19.557-8.341 15.404-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m380.418 257.081-16.447 13.726-19.557-8.341m36.004-5.385-20.6-8.185-15.404 13.57m36.004-5.385-21.534 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.406 263.711-14.993-1.244 19.557 8.34 16.448-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m364.231 270.768-4.825-7.057.411-14.815"/><path fill="#F2D664" d="m378.768 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m378.768 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.408 367.068-13.344-2.292 16.88 9.012 15.824-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m363.182 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m377.155 468.157-15.051 8.636-14.427-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m377.155 468.157-15.051 8.636-14.427-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.46 470.491-11.784-3.101 14.428 9.403 15.05-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m362.318 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m375.6 573.274-14.171 6.562-12.198-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m375.6 573.274-14.171 6.562-12.198-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.553 573.979-10.322-3.705 12.198 9.562 14.171-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m361.62 579.858-2.066-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m374.119 678.153-13.22 4.772-10.186-9.531 12.542-4.909 10.864 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m374.119 678.153-13.22 4.772-10.186-9.531m23.406 4.759-10.864-9.668-12.542 4.909m23.406 4.759-14.781-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.677 677.526-8.964-4.132 10.186 9.531 13.22-4.772-14.442-.627Z"/><path stroke="#000" stroke-width="1.5" d="m361.068 682.959-1.391-5.433 3.578-9.041"/><path fill="#F2D664" d="m372.722 782.825-12.227 3.241-8.385-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m372.722 782.825-12.227 3.241-8.385-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.822 781.13-7.713-4.408 8.385 9.344 12.228-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m360.644 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m371.417 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m371.417 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.694-2.635-6.308-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m359.984 884.786-6.569-4.557 6.784 9.036 11.218-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m360.33 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m370.208 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m370.208 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m360.156 988.49-5.533-4.6 5.375 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m360.111 992.579.045-4.089 4.226-5.691"/><path fill="#F2D664" d="m369.097 1095.87-9.221-.03-4.142-8.16 8.835-.21 4.528 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m369.097 1095.87-9.221-.03-4.142-8.16m13.363 8.19-4.528-8.4-8.835.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m360.334 1092.24-4.6-4.56 4.141 8.16 9.222.03-8.763-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m359.973 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m368.085 1199.97-8.266-.75-3.072-7.64 7.937.5 3.401 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m368.085 1199.97-8.266-.75-3.072-7.64m11.338 8.39-3.401-7.89-7.937-.5m11.338 8.39-7.737-4.06-3.601-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m360.512 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m359.902 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m367.17 1303.98-7.352-1.32-2.156-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m367.17 1303.98-7.352-1.32-2.156-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m360.69 1299.85-3.028-4.28 2.155 7.09 7.353 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m359.886 1302.72.804-2.87 4.049-3.21"/><path fill="#F2D664" d="m366.349 1407.92-6.489-1.76-1.376-6.53 6.26 1.52 1.605 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m366.349 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.605-6.77-6.26-1.52m7.865 8.29-5.601-4.33-2.264-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m360.862 1403.71-2.378-4.08 1.376 6.53 6.489 1.76-5.487-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m359.917 1406.22.945-2.51 3.882-2.56"/><path fill="#F2D664" d="m365.617 1511.8-5.68-2.09-.722-5.96 5.494 1.85.908 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m365.617 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.908-6.2-5.494-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m361.028 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m359.983 1509.77 1.045-2.18 3.681-1.99"/><path fill="#F2D664" d="m366.804 1610.3-3.512 4.17-5.263-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m366.804 1610.3-3.512 4.17-5.263-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.095 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m361.836 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m363.356 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m487.274 44.64-17.055 20.214-25.566-5.947 15.82-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m487.274 44.64-17.055 20.214-25.566-5.947m42.621-14.267-26.801-5.534-15.82 19.8m42.621-14.266L462.53 57.412l-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.147 57.206-18.494 1.701 25.565 5.948 17.055-20.214-24.126 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m470.528 64.75-7.38-7.545-2.676-18.1"/><path fill="#F2D664" d="m485.629 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m485.629 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.013 160.424-16.715.074 22.455 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m469.038 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m483.966 257.081-16.448 13.726-19.557-8.341 15.404-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m483.966 257.081-16.448 13.726-19.557-8.341m36.005-5.385-20.601-8.185-15.404 13.57m36.005-5.385-21.534 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m462.953 263.711-14.992-1.244 19.557 8.34 16.447-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m467.779 270.768-4.826-7.057.412-14.815"/><path fill="#F2D664" d="m482.315 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m482.315 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m462.956 367.068-13.344-2.292 16.88 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m466.729 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m480.703 468.157-15.051 8.636-14.428-9.404 14.197-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m480.703 468.157-15.051 8.636-14.428-9.404m29.479.768-15.282-9.426-14.197 8.658m29.479.768-18.122 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.008 470.491-11.785-3.101 14.428 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m465.865 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m479.148 573.274-14.172 6.562-12.198-9.562 13.408-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m479.148 573.274-14.172 6.562-12.198-9.562m26.37 3-12.962-9.649-13.408 6.649m26.37 3-16.429.661-9.941-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.101 573.979-10.323-3.705 12.198 9.562 14.171-6.562-16.046.705Z"/><path stroke="#000" stroke-width="1.5" d="m465.167 579.858-2.066-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m477.667 678.153-13.221 4.772-10.186-9.531 12.542-4.909 10.865 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m477.667 678.153-13.221 4.772-10.186-9.531m23.407 4.759-10.865-9.668-12.542 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.224 677.526-8.964-4.132 10.186 9.531 13.221-4.772-14.443-.627Z"/><path stroke="#000" stroke-width="1.5" d="m464.616 682.959-1.392-5.433 3.578-9.041"/><path fill="#F2D664" d="m476.27 782.825-12.228 3.241-8.385-9.344 11.63-3.418 8.983 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m476.27 782.825-12.228 3.241-8.385-9.344m20.613 6.103-8.983-9.521-11.63 3.418m20.613 6.103-13.199-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.369 781.13-7.712-4.408 8.385 9.344 12.227-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m464.191 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m474.964 887.318-11.217 1.947-6.785-9.036 10.696-2.152 7.306 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m474.964 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.306-9.241-10.696 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.531 884.786-6.569-4.557 6.785 9.036 11.217-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m463.878 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m473.755 991.657-10.209.866-5.375-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m473.755 991.657-10.209.866-5.375-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.703 988.49-5.532-4.6 5.374 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m463.658 992.579.046-4.089 4.225-5.691"/><path fill="#F2D664" d="m472.645 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m472.645 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m463.881 1092.24-4.6-4.56 4.142 8.16 9.222.03-8.764-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m463.52 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m471.633 1199.97-8.266-.75-3.073-7.64 7.937.5 3.402 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m471.633 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.402-7.89-7.937-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m464.06 1196.03-3.767-4.45 3.073 7.64 8.266.75-7.572-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m463.449 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m470.718 1303.98-7.353-1.32-2.156-7.09 7.077 1.07 2.432 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m470.718 1303.98-7.353-1.32-2.156-7.09m9.509 8.41-2.432-7.34-7.077-1.07m9.509 8.41-6.619-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m464.237 1299.85-3.028-4.28 2.156 7.09 7.352 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m463.434 1302.72.803-2.87 4.049-3.21"/><path fill="#F2D664" d="m469.896 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m469.896 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m464.41 1403.71-2.379-4.08 1.376 6.53 6.489 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m463.464 1406.22.945-2.51 3.883-2.56"/><path fill="#F2D664" d="m469.164 1511.8-5.68-2.09-.722-5.96 5.495 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m469.164 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.907-6.2-5.495-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m464.575 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m463.531 1509.77 1.044-2.18 3.682-1.99"/><path fill="#F2D664" d="m470.351 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m470.351 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m465.383 1612.89-3.808.35 5.264 1.23 3.512-4.16-4.968 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m466.903 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m590.821 44.64-17.054 20.214-25.566-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m590.821 44.64-17.054 20.214-25.566-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="M566.695 57.206 548.2 58.907l25.566 5.948L590.82 44.64l-24.125 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m574.075 64.75-7.38-7.545-2.675-18.1"/><path fill="#F2D664" d="m589.177 151.05-16.876 16.786-22.456-7.338 15.737-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m589.177 151.05-16.876 16.786-22.456-7.338m39.332-9.448-23.595-7.064-15.737 16.512m39.332-9.448-23.186 9.51-16.146-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.56 160.424-16.715.074 22.455 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m572.585 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m587.513 257.081-16.447 13.726-19.558-8.341 15.404-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m587.513 257.081-16.447 13.726-19.558-8.341m36.005-5.385-20.601-8.185-15.404 13.57m36.005-5.385-21.534 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.5 263.711-14.992-1.244 19.557 8.34 16.448-13.726-21.013 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m571.326 270.768-4.826-7.057.412-14.815"/><path fill="#F2D664" d="m585.863 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m585.863 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.503 367.068-13.344-2.292 16.88 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m570.276 373.773-3.772-6.705 1.531-13.25"/><path fill="#F2D664" d="m584.25 468.157-15.051 8.636-14.427-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m584.25 468.157-15.051 8.636-14.427-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.555 470.491-11.784-3.101 14.427 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m569.412 476.799-2.856-6.308 2.412-11.76"/><path fill="#F2D664" d="m582.695 573.274-14.171 6.562-12.198-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m582.695 573.274-14.171 6.562-12.198-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.648 573.979-10.322-3.705 12.197 9.562 14.172-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m568.715 579.858-2.067-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m581.214 678.153-13.22 4.772-10.187-9.531 12.543-4.909 10.864 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m581.214 678.153-13.22 4.772-10.187-9.531m23.407 4.759-10.864-9.668-12.543 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.771 677.526-8.964-4.132 10.186 9.531 13.221-4.772-14.443-.627Z"/><path stroke="#000" stroke-width="1.5" d="m568.163 682.959-1.392-5.433 3.578-9.041"/><path fill="#F2D664" d="m579.817 782.825-12.228 3.241-8.385-9.344 11.63-3.418 8.983 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m579.817 782.825-12.228 3.241-8.385-9.344m20.613 6.103-8.983-9.521-11.63 3.418m20.613 6.103-13.198-1.784-7.415-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m566.917 781.13-7.713-4.408 8.385 9.344 12.227-3.241-12.899-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m567.739 786.11-.822-4.98 3.918-7.826"/><path fill="#F2D664" d="m578.512 887.318-11.218 1.947-6.784-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m578.512 887.318-11.218 1.947-6.784-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.694-2.635-6.308-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.079 884.786-6.57-4.557 6.785 9.036 11.217-1.947-11.432-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m567.425 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m577.303 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m577.303 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.251 988.49-5.533-4.6 5.375 8.633 10.209-.866-10.051-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m567.206 992.579.045-4.089 4.225-5.691"/><path fill="#F2D664" d="m576.192 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m576.192 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.428 1092.24-4.599-4.56 4.141 8.16 9.222.03-8.764-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m567.067 1095.9.362-3.66 4.234-4.77"/><path fill="#F2D664" d="m575.18 1199.97-8.266-.75-3.073-7.64 7.938.5 3.401 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m575.18 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.401-7.89-7.938-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.607 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m566.996 1199.28.612-3.25 4.171-3.95"/><path fill="#F2D664" d="m574.265 1303.98-7.353-1.32-2.155-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m574.265 1303.98-7.353-1.32-2.155-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.784 1299.85-3.028-4.28 2.156 7.09 7.353 1.32-6.481-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m566.981 1302.72.803-2.87 4.049-3.21"/><path fill="#F2D664" d="m573.443 1407.92-6.488-1.76-1.377-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m573.443 1407.92-6.488-1.76-1.377-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m567.957 1403.71-2.379-4.08 1.376 6.53 6.489 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m567.011 1406.22.946-2.51 3.882-2.56"/><path fill="#F2D664" d="m572.711 1511.8-5.68-2.09-.721-5.96 5.494 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m572.711 1511.8-5.68-2.09-.721-5.96m6.401 8.05-.907-6.2-5.494-1.85m6.401 8.05-4.681-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m568.123 1507.59-1.813-3.84.722 5.96 5.679 2.09-4.588-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m567.078 1509.77 1.045-2.18 3.681-1.99"/><path fill="#F2D664" d="m573.898 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m573.898 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m568.931 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m570.451 1614.45-1.52-1.56-.551-3.72"/><path fill="#F2D664" d="m694.368 44.64-17.054 20.214-25.566-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m694.368 44.64-17.054 20.214-25.566-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.242 57.206-18.495 1.701 25.566 5.948 17.055-20.214-24.126 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m677.623 64.75-7.38-7.545-2.676-18.1"/><path fill="#F2D664" d="m692.724 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m692.724 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.108 160.424-16.716.074 22.455 7.338 16.877-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m676.132 167.767-6.024-7.344-.979-16.437"/><path fill="#F2D664" d="m691.06 257.081-16.447 13.726-19.557-8.341 15.404-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m691.06 257.081-16.447 13.726-19.557-8.341m36.004-5.385-20.6-8.185-15.404 13.57m36.004-5.385-21.534 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.048 263.711-14.993-1.244 19.558 8.34 16.447-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m674.873 270.768-4.825-7.057.411-14.815"/><path fill="#F2D664" d="m689.41 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m689.41 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.051 367.068-13.345-2.292 16.881 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m673.824 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m687.797 468.157-15.05 8.636-14.428-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m687.797 468.157-15.05 8.636-14.428-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.102 470.491-11.784-3.101 14.428 9.403 15.05-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m672.96 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m686.242 573.274-14.171 6.562-12.198-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m686.242 573.274-14.171 6.562-12.198-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.195 573.979-10.322-3.705 12.198 9.562 14.171-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m672.262 579.858-2.066-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m684.761 678.153-13.22 4.772-10.186-9.531 12.542-4.909 10.864 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m684.761 678.153-13.22 4.772-10.186-9.531m23.406 4.759-10.864-9.668-12.542 4.909m23.406 4.759-14.781-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.319 677.526-8.964-4.132 10.186 9.531 13.22-4.772-14.442-.627Z"/><path stroke="#000" stroke-width="1.5" d="m671.71 682.959-1.391-5.433 3.578-9.041"/><path fill="#F2D664" d="m683.364 782.825-12.227 3.241-8.385-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m683.364 782.825-12.227 3.241-8.385-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.464 781.13-7.713-4.408 8.385 9.344 12.228-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m671.286 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m682.059 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m682.059 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.626 884.786-6.569-4.557 6.784 9.036 11.218-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m670.972 889.316-.345-4.53 4.125-6.709"/><path fill="#F2D664" d="m680.85 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m680.85 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.798 988.49-5.532-4.6 5.374 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m670.753 992.579.045-4.089 4.226-5.691"/><path fill="#F2D664" d="m679.739 1095.87-9.221-.03-4.142-8.16 8.835-.21 4.528 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m679.739 1095.87-9.221-.03-4.142-8.16m13.363 8.19-4.528-8.4-8.835.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m670.976 1092.24-4.6-4.56 4.142 8.16 9.221.03-8.763-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m670.615 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m678.727 1199.97-8.266-.75-3.072-7.64 7.937.5 3.401 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m678.727 1199.97-8.266-.75-3.072-7.64m11.338 8.39-3.401-7.89-7.937-.5m11.338 8.39-7.736-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m671.154 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m670.544 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m677.812 1303.98-7.352-1.32-2.156-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m677.812 1303.98-7.352-1.32-2.156-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m671.332 1299.85-3.028-4.28 2.155 7.09 7.353 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m670.528 1302.72.804-2.87 4.049-3.21"/><path fill="#F2D664" d="m676.991 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m676.991 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.601-4.33-2.264-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m671.504 1403.71-2.378-4.08 1.376 6.53 6.489 1.76-5.487-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m670.559 1406.22.945-2.51 3.882-2.56"/><path fill="#F2D664" d="m676.259 1511.8-5.68-2.09-.722-5.96 5.494 1.85.908 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m676.259 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.908-6.2-5.494-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m671.67 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m670.625 1509.77 1.045-2.18 3.682-1.99"/><path fill="#F2D664" d="m677.446 1610.3-3.512 4.17-5.263-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m677.446 1610.3-3.512 4.17-5.263-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.095 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m672.478 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m673.998 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m797.916 44.64-17.055 20.214-25.565-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m797.916 44.64-17.055 20.214-25.565-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.79 57.206-18.495 1.701 25.566 5.948 17.054-20.214-24.125 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m781.17 64.75-7.38-7.545-2.676-18.1"/><path fill="#F2D664" d="m796.272 151.05-16.877 16.786-22.455-7.338 15.736-16.512 23.596 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m796.272 151.05-16.877 16.786-22.455-7.338m39.332-9.448-23.596-7.064-15.736 16.512m39.332-9.448-23.186 9.51-16.146-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.655 160.424-16.715.074 22.455 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m779.68 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m794.608 257.081-16.448 13.726-19.557-8.341 15.404-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m794.608 257.081-16.448 13.726-19.557-8.341m36.005-5.385-20.601-8.185-15.404 13.57m36.005-5.385-21.534 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.595 263.711-14.992-1.244 19.557 8.34 16.447-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m778.421 270.768-4.826-7.057.412-14.815"/><path fill="#F2D664" d="m792.958 362.772-15.824 11.016-16.88-9.012 14.875-10.958 17.829 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m792.958 362.772-15.824 11.016-16.88-9.012m32.704-2.004-17.829-8.954-14.875 10.958m32.704-2.004-19.833 4.325-12.871-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.598 367.068-13.344-2.292 16.88 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m777.371 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m791.345 468.157-15.051 8.636-14.428-9.404 14.197-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m791.345 468.157-15.051 8.636-14.428-9.404m29.479.768-15.282-9.426-14.197 8.658m29.479.768-18.122 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.65 470.491-11.785-3.101 14.428 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m776.507 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m789.79 573.274-14.172 6.562-12.197-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m789.79 573.274-14.172 6.562-12.197-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.743 573.979-10.323-3.705 12.198 9.562 14.172-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m775.81 579.858-2.067-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m788.309 678.153-13.221 4.772-10.186-9.531 12.542-4.909 10.865 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m788.309 678.153-13.221 4.772-10.186-9.531m23.407 4.759-10.865-9.668-12.542 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m773.866 677.526-8.964-4.132 10.186 9.531 13.221-4.772-14.443-.627Z"/><path stroke="#000" stroke-width="1.5" d="m775.258 682.959-1.392-5.433 3.578-9.041"/><path fill="#F2D664" d="m786.912 782.825-12.228 3.241-8.385-9.344 11.63-3.418 8.983 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m786.912 782.825-12.228 3.241-8.385-9.344m20.613 6.103-8.983-9.521-11.63 3.418m20.613 6.103-13.199-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.012 781.13-7.713-4.408 8.385 9.344 12.227-3.241-12.899-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m774.834 786.11-.822-4.98 3.917-7.826"/><path fill="#F2D664" d="m785.606 887.318-11.217 1.947-6.785-9.036 10.696-2.152 7.306 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m785.606 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.306-9.241-10.696 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.173 884.786-6.569-4.557 6.785 9.036 11.217-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m774.52 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m784.398 991.657-10.21.866-5.375-8.633 9.758-1.091 5.827 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m784.398 991.657-10.21.866-5.375-8.633m15.585 7.767-5.827-8.858-9.758 1.091m15.585 7.767-10.278-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.346 988.49-5.533-4.6 5.374 8.633 10.21-.866-10.051-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m774.3 992.579.046-4.089 4.225-5.691"/><path fill="#F2D664" d="m783.287 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m783.287 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.523 1092.24-4.599-4.56 4.141 8.16 9.222.03-8.764-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m774.162 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m782.275 1199.97-8.266-.75-3.073-7.64 7.937.5 3.402 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m782.275 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.402-7.89-7.937-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.702 1196.03-3.766-4.45 3.072 7.64 8.266.75-7.572-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m774.091 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m781.36 1303.98-7.353-1.32-2.156-7.09 7.077 1.07 2.432 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m781.36 1303.98-7.353-1.32-2.156-7.09m9.509 8.41-2.432-7.34-7.077-1.07m9.509 8.41-6.619-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m774.879 1299.85-3.028-4.28 2.156 7.09 7.352 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m774.076 1302.72.803-2.87 4.049-3.21"/><path fill="#F2D664" d="m780.538 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m780.538 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.6-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m775.052 1403.71-2.379-4.08 1.376 6.53 6.489 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m774.106 1406.22.946-2.51 3.882-2.56"/><path fill="#F2D664" d="m779.806 1511.8-5.68-2.09-.722-5.96 5.495 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m779.806 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.907-6.2-5.495-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m775.217 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m774.173 1509.77 1.044-2.18 3.682-1.99"/><path fill="#F2D664" d="m780.993 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m780.993 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m776.025 1612.89-3.807.35 5.263 1.23 3.512-4.16-4.968 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m777.545 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m901.463 44.64-17.054 20.214-25.566-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m901.463 44.64-17.054 20.214-25.566-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266L876.72 57.412l-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.337 57.206-18.495 1.701 25.566 5.948 17.054-20.214-24.125 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m884.717 64.75-7.38-7.545-2.675-18.1"/><path fill="#F2D664" d="m899.819 151.05-16.876 16.786-22.455-7.338 15.736-16.512 23.595 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m899.819 151.05-16.876 16.786-22.455-7.338m39.331-9.448-23.595-7.064-15.736 16.512m39.331-9.448-23.186 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.202 160.424-16.715.074 22.455 7.338 16.876-16.786-22.616 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m883.227 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m898.155 257.081-16.447 13.726-19.557-8.341 15.403-13.57 20.601 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m898.155 257.081-16.447 13.726-19.557-8.341m36.004-5.385-20.601-8.185-15.403 13.57m36.004-5.385-21.534 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.143 263.711-14.993-1.244 19.557 8.34 16.448-13.726-21.012 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m881.968 270.768-4.825-7.057.411-14.815"/><path fill="#F2D664" d="m896.505 362.772-15.823 11.016-16.88-9.012 14.875-10.958 17.828 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m896.505 362.772-15.823 11.016-16.88-9.012m32.703-2.004-17.828-8.954-14.875 10.958m32.703-2.004-19.833 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.145 367.068-13.344-2.292 16.88 9.012 15.823-11.017-19.359 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m880.919 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m894.892 468.157-15.051 8.636-14.427-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m894.892 468.157-15.051 8.636-14.427-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.197 470.491-11.784-3.101 14.427 9.403 15.051-8.635-17.694 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m880.054 476.799-2.856-6.308 2.412-11.76"/><path fill="#F2D664" d="m893.337 573.274-14.171 6.562-12.198-9.562 13.407-6.649 12.962 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m893.337 573.274-14.171 6.562-12.198-9.562m26.369 3-12.962-9.649-13.407 6.649m26.369 3-16.429.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.29 573.979-10.322-3.705 12.197 9.562 14.172-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m879.357 579.858-2.067-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m891.856 678.153-13.22 4.772-10.186-9.531 12.542-4.909 10.864 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m891.856 678.153-13.22 4.772-10.186-9.531m23.406 4.759-10.864-9.668-12.542 4.909m23.406 4.759-14.782-.696-8.624-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.413 677.526-8.964-4.132 10.186 9.531 13.221-4.772-14.443-.627Z"/><path stroke="#000" stroke-width="1.5" d="m878.805 682.959-1.391-5.433 3.578-9.041"/><path fill="#F2D664" d="m890.459 782.825-12.228 3.241-8.384-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m890.459 782.825-12.228 3.241-8.384-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.559 781.13-7.713-4.408 8.385 9.344 12.227-3.241-12.899-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m878.381 786.11-.822-4.98 3.918-7.826"/><path fill="#F2D664" d="m889.154 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m889.154 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.694-2.635-6.308-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.721 884.786-6.57-4.557 6.785 9.036 11.217-1.947-11.432-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m878.067 889.316-.346-4.53 4.126-6.709"/><path fill="#F2D664" d="m887.945 991.657-10.21.866-5.374-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m887.945 991.657-10.21.866-5.374-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m877.893 988.49-5.533-4.6 5.375 8.633 10.209-.866-10.051-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m877.848 992.579.045-4.089 4.226-5.691"/><path fill="#F2D664" d="m886.834 1095.87-9.221-.03-4.142-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m886.834 1095.87-9.221-.03-4.142-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.957-3.75-4.406-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m878.07 1092.24-4.599-4.56 4.141 8.16 9.222.03-8.764-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m877.709 1095.9.362-3.66 4.235-4.77"/><path fill="#F2D664" d="m885.822 1199.97-8.266-.75-3.073-7.64 7.938.5 3.401 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m885.822 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.401-7.89-7.938-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m878.249 1196.03-3.766-4.45 3.073 7.64 8.266.75-7.573-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m877.638 1199.28.612-3.25 4.171-3.95"/><path fill="#F2D664" d="m884.907 1303.98-7.353-1.32-2.155-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m884.907 1303.98-7.353-1.32-2.155-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m878.426 1299.85-3.027-4.28 2.155 7.09 7.353 1.32-6.481-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m877.623 1302.72.803-2.87 4.05-3.21"/><path fill="#F2D664" d="m884.086 1407.92-6.489-1.76-1.377-6.53 6.261 1.52 1.605 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m884.086 1407.92-6.489-1.76-1.377-6.53m7.866 8.29-1.605-6.77-6.261-1.52m7.866 8.29-5.601-4.33-2.265-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m878.599 1403.71-2.379-4.08 1.377 6.53 6.488 1.76-5.486-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m877.653 1406.22.946-2.51 3.882-2.56"/><path fill="#F2D664" d="m883.353 1511.8-5.679-2.09-.722-5.96 5.494 1.85.907 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m883.353 1511.8-5.679-2.09-.722-5.96m6.401 8.05-.907-6.2-5.494-1.85m6.401 8.05-4.681-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m878.765 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m877.72 1509.77 1.045-2.18 3.681-1.99"/><path fill="#F2D664" d="m884.54 1610.3-3.511 4.17-5.264-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m884.54 1610.3-3.511 4.17-5.264-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.094 2.63-3.681.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m879.573 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m881.093 1614.45-1.52-1.56-.551-3.72"/><path fill="#F2D664" d="m1005.01 44.64-17.054 20.214-25.566-5.947 15.819-19.801 26.801 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1005.01 44.64-17.054 20.214-25.566-5.947m42.62-14.267-26.801-5.534-15.819 19.8m42.62-14.266-24.743 12.772-17.877 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.884 57.206-18.495 1.701 25.566 5.948 17.055-20.214-24.126 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m988.265 64.75-7.38-7.545-2.676-18.1"/><path fill="#F2D664" d="m1003.37 151.05-16.88 16.786-22.455-7.338 15.736-16.512 23.599 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1003.37 151.05-16.88 16.786-22.455-7.338m39.335-9.448-23.599-7.064-15.736 16.512m39.335-9.448-23.19 9.51-16.145-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.75 160.424-16.716.074 22.455 7.338 16.881-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m986.775 167.767-6.025-7.344-.979-16.437"/><path fill="#F2D664" d="m1001.7 257.081-16.445 13.726-19.557-8.341 15.404-13.57 20.598 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1001.7 257.081-16.445 13.726-19.557-8.341m36.002-5.385-20.598-8.185-15.404 13.57m36.002-5.385-21.531 6.708-14.471-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.69 263.711-14.993-1.244 19.558 8.34 16.445-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m985.515 270.768-4.825-7.057.411-14.815"/><path fill="#F2D664" d="m1000.05 362.772-15.821 11.016-16.88-9.012 14.875-10.958 17.826 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1000.05 362.772-15.821 11.016-16.88-9.012m32.701-2.004-17.826-8.954-14.875 10.958m32.701-2.004-19.831 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.693 367.068-13.345-2.292 16.881 9.012 15.821-11.017-19.357 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m984.466 373.773-3.773-6.705 1.531-13.25"/><path fill="#F2D664" d="m998.439 468.157-15.05 8.636-14.428-9.404 14.196-8.658 15.282 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m998.439 468.157-15.05 8.636-14.428-9.404m29.478.768-15.282-9.426-14.196 8.658m29.478.768-18.121 2.323-11.357-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.745 470.491-11.785-3.101 14.428 9.403 15.05-8.635-17.693 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m983.602 476.799-2.857-6.308 2.412-11.76"/><path fill="#F2D664" d="m996.885 573.274-14.172 6.562-12.198-9.562 13.407-6.649 12.963 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m996.885 573.274-14.172 6.562-12.198-9.562m26.37 3-12.963-9.649-13.407 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.837 573.979-10.322-3.705 12.198 9.562 14.171-6.562-16.047.705Z"/><path stroke="#000" stroke-width="1.5" d="m982.904 579.858-2.066-5.88 3.085-10.354"/><path fill="#FCEDB1" d="m995.404 678.153-13.221 4.772-10.186-9.531 12.542-4.909 10.865 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m995.404 678.153-13.221 4.772-10.186-9.531m23.407 4.759-10.865-9.668-12.542 4.909m23.407 4.759-14.782-.696-8.625-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m980.961 677.526-8.964-4.132 10.186 9.531 13.22-4.772-14.442-.627Z"/><path stroke="#000" stroke-width="1.5" d="m982.352 682.959-1.391-5.433 3.578-9.041"/><path fill="#F2D664" d="m994.006 782.825-12.227 3.241-8.385-9.344 11.63-3.418 8.982 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m994.006 782.825-12.227 3.241-8.385-9.344m20.612 6.103-8.982-9.521-11.63 3.418m20.612 6.103-13.198-1.784-7.414-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.106 781.13-7.713-4.408 8.385 9.344 12.228-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m981.928 786.11-.821-4.98 3.917-7.826"/><path fill="#F2D664" d="m992.701 887.318-11.217 1.947-6.785-9.036 10.695-2.152 7.307 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m992.701 887.318-11.217 1.947-6.785-9.036m18.002 7.089-7.307-9.241-10.695 2.152m18.002 7.089-11.693-2.635-6.309-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.268 884.786-6.569-4.557 6.785 9.036 11.217-1.947-11.433-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m981.614 889.316-.345-4.53 4.125-6.709"/><path fill="#F2D664" d="m991.492 991.657-10.209.866-5.375-8.633 9.758-1.091 5.826 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m991.492 991.657-10.209.866-5.375-8.633m15.584 7.767-5.826-8.858-9.758 1.091m15.584 7.767-10.277-3.279-5.307-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.44 988.49-5.532-4.6 5.374 8.633 10.21-.866-10.052-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m981.395 992.579.046-4.089 4.225-5.691"/><path fill="#F2D664" d="m990.382 1095.87-9.222-.03-4.141-8.16 8.834-.21 4.529 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m990.382 1095.87-9.222-.03-4.141-8.16m13.363 8.19-4.529-8.4-8.834.21m13.363 8.19-8.958-3.75-4.405-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.618 1092.24-4.6-4.56 4.142 8.16 9.221.03-8.763-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m981.257 1095.9.361-3.66 4.235-4.77"/><path fill="#F2D664" d="m989.37 1199.97-8.266-.75-3.073-7.64 7.937.5 3.402 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m989.37 1199.97-8.266-.75-3.073-7.64m11.339 8.39-3.402-7.89-7.937-.5m11.339 8.39-7.737-4.06-3.602-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.797 1196.03-3.767-4.45 3.073 7.64 8.266.75-7.572-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m981.186 1199.28.611-3.25 4.171-3.95"/><path fill="#F2D664" d="m988.454 1303.98-7.352-1.32-2.156-7.09 7.077 1.07 2.431 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m988.454 1303.98-7.352-1.32-2.156-7.09m9.508 8.41-2.431-7.34-7.077-1.07m9.508 8.41-6.618-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m981.974 1299.85-3.028-4.28 2.156 7.09 7.352 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m981.17 1302.72.804-2.87 4.049-3.21"/><path fill="#F2D664" d="m987.633 1407.92-6.489-1.76-1.376-6.53 6.261 1.52 1.604 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m987.633 1407.92-6.489-1.76-1.376-6.53m7.865 8.29-1.604-6.77-6.261-1.52m7.865 8.29-5.601-4.33-2.264-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m982.146 1403.71-2.378-4.08 1.376 6.53 6.489 1.76-5.487-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m981.201 1406.22.945-2.51 3.882-2.56"/><path fill="#F2D664" d="m986.901 1511.8-5.68-2.09-.722-5.96 5.494 1.85.908 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m986.901 1511.8-5.68-2.09-.722-5.96m6.402 8.05-.908-6.2-5.494-1.85m6.402 8.05-4.682-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m982.312 1507.59-1.813-3.84.722 5.96 5.68 2.09-4.589-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m981.268 1509.77 1.044-2.18 3.682-1.99"/><path fill="#F2D664" d="m988.088 1610.3-3.512 4.17-5.263-1.23 3.257-4.07 5.518 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m988.088 1610.3-3.512 4.17-5.263-1.23m8.775-2.94-5.518-1.13-3.257 4.07m8.775-2.94-5.095 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m983.12 1612.89-3.808.35 5.264 1.23 3.511-4.16-4.967 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m984.64 1614.45-1.519-1.56-.551-3.72"/><path fill="#F2D664" d="m1108.56 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1108.56 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.43 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1091.81 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m1106.91 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1106.91 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.3 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1090.32 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m1105.25 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1105.25 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.24 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1089.06 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m1103.6 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1103.6 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.24 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1088.01 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1101.99 468.157-15.05 8.636-14.43-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1101.99 468.157-15.05 8.636-14.43-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.29 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1087.15 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m1100.43 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1100.43 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.38 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1086.45 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m1098.95 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1098.95 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.51 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1085.9 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1097.55 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1097.55 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.19-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.65 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1085.48 786.11-.83-4.98 3.92-7.826"/><path fill="#F2D664" d="m1096.25 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1096.25 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.82 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1085.16 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m1095.04 991.657-10.21.866-5.37-8.633 9.75-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1095.04 991.657-10.21.866-5.37-8.633m15.58 7.767-5.83-8.858-9.75 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1084.99 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1084.94 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m1093.93 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1093.93 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1085.17 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1084.8 1095.9.37-3.66 4.23-4.77"/><path fill="#F2D664" d="m1092.92 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1092.92 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1085.34 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1084.73 1199.28.61-3.25 4.18-3.95"/><path fill="#F2D664" d="m1092 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1092 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1085.52 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1084.72 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1091.18 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1091.18 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1085.69 1403.71-2.37-4.08 1.37 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1084.75 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m1090.45 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1090.45 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1085.86 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1084.81 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m1091.64 1610.3-3.52 4.17-5.26-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1091.64 1610.3-3.52 4.17-5.26-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1086.67 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1088.19 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1212.11 44.64-17.06 20.214-25.57-5.947 15.82-19.801 26.81 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1212.11 44.64-17.06 20.214-25.57-5.947m42.63-14.267-26.81-5.534-15.82 19.8m42.63-14.266-24.75 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.98 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1195.36 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m1210.46 151.05-16.88 16.786-22.45-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1210.46 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.84 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1193.87 167.767-6.03-7.344-.97-16.437"/><path fill="#F2D664" d="m1208.8 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1208.8 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.78 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1192.61 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m1207.15 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1207.15 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.79 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1191.56 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1205.53 468.157-15.05 8.636-14.42-9.404 14.19-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1205.53 468.157-15.05 8.636-14.42-9.404m29.47.768-15.28-9.426-14.19 8.658m29.47.768-18.12 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.84 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1190.7 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m1203.98 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1203.98 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1187.93 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1190 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m1202.5 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1202.5 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.06 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1189.45 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m1201.1 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1201.1 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.2 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1189.02 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m1199.8 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1199.8 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.36 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1188.71 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m1198.59 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1198.59 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.53 988.49-5.53-4.6 5.38 8.633 10.21-.866-10.06-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1188.49 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m1197.48 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1197.48 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.71 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1188.35 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m1196.46 1199.97-8.26-.75-3.07-7.64 7.93.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1196.46 1199.97-8.26-.75-3.07-7.64m11.33 8.39-3.4-7.89-7.93-.5m11.33 8.39-7.73-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1188.89 1196.03-3.76-4.45 3.07 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1188.28 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1195.55 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1195.55 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1189.07 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1188.27 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1194.73 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1194.73 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1189.24 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1188.3 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m1194 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1194 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1189.41 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1188.36 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m1195.18 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1195.18 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1190.21 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1191.73 1614.45-1.51-1.56-.56-3.72"/><path fill="#F2D664" d="m1315.65 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1315.65 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.53 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1298.91 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m1314.01 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1314.01 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.39 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1297.42 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m1312.34 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1312.34 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.33 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1296.16 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m1310.69 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1310.69 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.33 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1295.11 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1309.08 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1309.08 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.39 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1294.24 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m1307.53 573.274-14.17 6.562-12.2-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1307.53 573.274-14.17 6.562-12.2-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.48 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1293.55 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m1306.05 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1306.05 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.6 677.526-8.96-4.132 10.18 9.531 13.23-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1292.99 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1304.65 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1304.65 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.75 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1292.57 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m1303.34 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1303.34 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1291.91 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1292.26 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m1302.13 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1302.13 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.08 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1292.04 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m1301.02 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1301.02 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.26 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1291.9 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m1300.01 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1300.01 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.44 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1291.83 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1299.1 1303.98-7.36-1.32-2.15-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1299.1 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.62 1299.85-3.03-4.28 2.15 7.09 7.36 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1291.81 1302.72.81-2.87 4.04-3.21"/><path fill="#F2D664" d="m1298.27 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1298.27 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.79 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1291.84 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m1297.54 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1297.54 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1292.95 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1291.91 1509.77 1.04-2.18 3.69-1.99"/><path fill="#F2D664" d="m1298.73 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1298.73 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.09 2.63-3.69.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1293.76 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1295.28 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1419.2 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1419.2 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.07 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1402.45 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m1417.56 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1417.56 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1394.94 160.424-16.72.074 22.46 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1400.96 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m1415.89 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1415.89 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1394.88 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1399.7 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m1414.24 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1414.24 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1394.88 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1398.66 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m1412.63 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1412.63 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1394.93 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1397.79 476.799-2.86-6.308 2.42-11.76"/><path fill="#F2D664" d="m1411.07 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1411.07 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.03 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m1397.09 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m1409.59 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1409.59 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.15 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1396.54 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1408.2 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1408.2 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.3 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1396.12 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m1406.89 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1406.89 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.46 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1395.8 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m1405.68 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1405.68 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.63 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1395.58 992.579.05-4.089 4.23-5.691"/><path fill="#F2D664" d="m1404.57 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1404.57 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.81 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1395.45 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m1403.56 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1403.56 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1395.99 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1395.38 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1402.64 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1402.64 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1396.16 1299.85-3.02-4.28 2.15 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1395.36 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1401.82 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1401.82 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1396.34 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1395.39 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m1401.09 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1401.09 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1396.5 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1395.46 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m1402.28 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1402.28 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1397.31 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1398.83 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1522.75 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1522.75 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266L1498 57.412l-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.62 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1506 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m1521.1 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1521.1 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.49 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1504.51 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m1519.44 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1519.44 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.53 6.708-14.48-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.43 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1503.25 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m1517.79 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1517.79 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.43 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1502.2 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1516.18 468.157-15.05 8.636-14.43-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1516.18 468.157-15.05 8.636-14.43-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.48 470.491-11.78-3.101 14.42 9.403 15.06-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1501.34 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m1514.62 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1514.62 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.57 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1500.64 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m1513.14 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1513.14 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.7 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1500.09 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1511.74 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1511.74 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1498.84 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1499.67 786.11-.83-4.98 3.92-7.826"/><path fill="#F2D664" d="m1510.44 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1510.44 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.7-2.635-6.3-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.01 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1499.35 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m1509.23 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1509.23 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.18 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1499.13 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m1508.12 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1508.12 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.35 1092.24-4.59-4.56 4.14 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1498.99 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m1507.11 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1507.11 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.53 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1498.92 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1506.19 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1506.19 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.71 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1498.91 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1505.37 1407.92-6.49-1.76-1.38-6.53 6.27 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1505.37 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.6-6.77-6.27-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1499.88 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1498.94 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m1504.64 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1504.64 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1500.05 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1499 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m1505.82 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1505.82 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1500.86 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1502.38 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1626.29 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1626.29 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.17 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1609.55 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m1624.65 151.05-16.88 16.786-22.45-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1624.65 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.03 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1608.06 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m1622.99 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1622.99 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1601.97 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1606.8 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m1621.34 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1621.34 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1601.98 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1605.75 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1619.72 468.157-15.05 8.636-14.42-9.404 14.19-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1619.72 468.157-15.05 8.636-14.42-9.404m29.47.768-15.28-9.426-14.19 8.658m29.47.768-18.12 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.03 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1604.89 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m1618.17 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1618.17 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.12 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1604.19 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m1616.69 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1616.69 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.24 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1603.64 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m1615.29 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1615.29 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.39 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1603.21 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m1613.99 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1613.99 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.55 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1602.9 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m1612.78 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1612.78 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.72 988.49-5.53-4.6 5.38 8.633 10.21-.866-10.06-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1602.68 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m1611.67 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1611.67 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1602.9 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1602.54 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m1610.65 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1610.65 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1603.08 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1602.47 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1609.74 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1609.74 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1603.26 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1602.45 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m1608.92 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1608.92 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1603.43 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1602.48 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m1608.19 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1608.19 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1603.6 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1602.55 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m1609.37 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1609.37 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1604.4 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1605.92 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1729.84 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1729.84 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.72 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1713.1 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m1728.2 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1728.2 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.58 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1711.61 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m1726.53 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1726.53 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.52 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1710.35 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m1724.88 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1724.88 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.52 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1709.3 373.773-3.78-6.705 1.54-13.25"/><path fill="#F2D664" d="m1723.27 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1723.27 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.58 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1708.43 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m1721.72 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1721.72 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.67 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1707.74 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m1720.24 678.153-13.23 4.772-10.18-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1720.24 678.153-13.23 4.772-10.18-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.79 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1707.18 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1718.84 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1718.84 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1705.94 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1706.76 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m1717.53 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1717.53 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.1 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1706.45 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m1716.32 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1716.32 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.27 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1706.23 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m1715.21 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1715.21 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.45 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1706.09 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m1714.2 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1714.2 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.63 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1706.02 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1713.29 1303.98-7.36-1.32-2.15-7.09 7.07 1.07 2.44 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1713.29 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.44-7.34-7.07-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.81 1299.85-3.03-4.28 2.15 7.09 7.36 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1706 1302.72.81-2.87 4.04-3.21"/><path fill="#F2D664" d="m1712.46 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1712.46 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1706.98 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1706.03 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m1711.73 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1711.73 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1707.14 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1706.1 1509.77 1.04-2.18 3.69-1.99"/><path fill="#F2D664" d="m1712.92 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1712.92 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1707.95 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1709.47 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1833.39 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1833.39 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.26 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1816.64 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m1831.75 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1831.75 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.13 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1815.15 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m1830.08 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1830.08 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.07 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1813.89 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m1828.43 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1828.43 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.07 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1812.84 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1826.82 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1826.82 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.12 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1811.98 476.799-2.86-6.308 2.42-11.76"/><path fill="#F2D664" d="m1825.26 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1825.26 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.22 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m1811.28 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m1823.78 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1823.78 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.34 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1810.73 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1822.39 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1822.39 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.49 781.13-7.72-4.408 8.39 9.344 12.22-3.241-12.89-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1810.31 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m1821.08 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1821.08 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.65 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1809.99 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m1819.87 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1819.87 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1809.82 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1809.77 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m1818.76 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1818.76 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1810 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1809.64 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m1817.75 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1817.75 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1810.18 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1809.56 1199.28.62-3.25 4.17-3.95"/><path fill="#F2D664" d="m1816.83 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1816.83 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1810.35 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1809.55 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1816.01 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1816.01 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1810.53 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1809.58 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m1815.28 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1815.28 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1810.69 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1809.65 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m1816.47 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1816.47 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1811.5 1612.89-3.81.35 5.26 1.23 3.52-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1813.02 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m1936.94 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m1936.94 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.81 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m1920.19 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m1935.29 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m1935.29 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.68 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m1918.7 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m1933.63 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m1933.63 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.62 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m1917.44 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m1931.98 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m1931.98 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.62 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m1916.39 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m1930.37 468.157-15.06 8.636-14.42-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m1930.37 468.157-15.06 8.636-14.42-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.13 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.67 470.491-11.78-3.101 14.42 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m1915.53 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m1928.81 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m1928.81 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.76 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m1914.83 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m1927.33 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m1927.33 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1912.89 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m1914.28 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m1925.93 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m1925.93 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.03 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m1913.85 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m1924.63 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m1924.63 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.7-2.635-6.3-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.19 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m1913.54 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m1923.42 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m1923.42 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.37 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m1913.32 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m1922.31 1095.87-9.22-.03-4.15-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m1922.31 1095.87-9.22-.03-4.15-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.54 1092.24-4.6-4.56 4.15 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m1913.18 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m1921.3 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m1921.3 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.72 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m1913.11 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m1920.38 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m1920.38 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1913.9 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m1913.1 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m1919.56 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m1919.56 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1914.07 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1913.13 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m1918.83 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m1918.83 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1914.24 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m1913.19 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m1920.01 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m1920.01 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m1915.05 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m1916.57 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2040.48 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2040.48 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.36 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2023.74 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2038.84 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2038.84 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.22 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2022.25 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2037.18 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2037.18 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.16 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2020.99 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m2035.53 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2035.53 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.17 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2019.94 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2033.91 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2033.91 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.22 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2019.08 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m2032.36 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2032.36 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.31 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2018.38 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m2030.88 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2030.88 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.43 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2017.83 682.959-1.4-5.433 3.58-9.041"/><path fill="#F2D664" d="m2029.48 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2029.48 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.58 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2017.4 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2028.17 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2028.17 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.74 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2017.09 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2026.97 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2026.97 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2016.91 988.49-5.53-4.6 5.38 8.633 10.21-.866-10.06-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2016.87 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2025.86 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2025.86 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2017.09 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2016.73 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m2024.84 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2024.84 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2017.27 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2016.66 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2023.93 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2023.93 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2017.45 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2016.64 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m2023.11 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2023.11 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2017.62 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2016.67 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2022.37 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2022.37 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2017.79 1507.59-1.82-3.84.72 5.96 5.68 2.09-4.58-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2016.74 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m2023.56 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2023.56 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2018.59 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2020.11 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2144.03 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2144.03 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.91 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2127.29 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2142.39 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2142.39 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.77 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2125.8 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2140.72 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2140.72 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.71 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2124.54 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m2139.07 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2139.07 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.71 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2123.49 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m2137.46 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2137.46 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.77 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2122.62 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m2135.91 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2135.91 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.86 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2121.93 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m2134.42 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2134.42 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2119.98 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2121.37 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m2133.03 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2133.03 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.13 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2120.95 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m2131.72 887.318-11.22 1.947-6.78-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2131.72 887.318-11.22 1.947-6.78-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.29 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2120.64 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2130.51 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2130.51 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.46 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2120.42 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2129.4 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2129.4 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.64 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2120.28 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m2128.39 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2128.39 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.82 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2120.21 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2127.48 1303.98-7.36-1.32-2.15-7.09 7.07 1.07 2.44 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2127.48 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.44-7.34-7.07-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2120.99 1299.85-3.02-4.28 2.15 7.09 7.36 1.32-6.49-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2120.19 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2126.65 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2126.65 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2121.17 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2120.22 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2125.92 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2125.92 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2121.33 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2120.29 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m2127.11 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2127.11 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2122.14 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2123.66 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2247.08 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2247.08 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2222.96 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2230.34 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2245.44 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2245.44 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#BE9A07" stroke-width="1.5" d="m2222.82 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2228.85 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2243.78 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2243.78 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2222.76 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2227.59 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m2242.13 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2242.13 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2222.77 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2226.54 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2240.51 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2240.51 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2222.82 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2225.68 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m2238.96 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2238.96 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2222.91 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2224.98 579.858-2.07-5.88 3.09-10.354"/><path fill="#F2D664" d="m2237.48 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2237.48 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.03 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2224.43 682.959-1.4-5.433 3.58-9.041"/><path fill="#F2D664" d="m2236.08 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2236.08 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.18 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2224 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2234.77 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2234.77 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.34 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2223.69 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2233.57 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2233.57 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.51 988.49-5.53-4.6 5.38 8.633 10.21-.866-10.06-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2223.47 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2232.46 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2232.46 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.69 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2223.33 1095.9.36-3.66 4.24-4.77"/><path fill="#FCEDB1" d="m2231.44 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2231.44 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2223.87 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2223.26 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2230.53 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2230.53 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2224.05 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2223.24 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m2229.71 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2229.71 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2224.22 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2223.27 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2228.97 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2228.97 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2224.39 1507.59-1.82-3.84.72 5.96 5.68 2.09-4.58-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2223.34 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m2230.16 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2230.16 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2225.19 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2226.71 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2350.63 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2350.63 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.51 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2333.89 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2348.99 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2348.99 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.37 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2332.4 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2347.32 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2347.32 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.31 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2331.14 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m2345.67 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2345.67 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.31 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2330.09 373.773-3.78-6.705 1.54-13.25"/><path fill="#F2D664" d="m2344.06 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2344.06 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.37 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2329.22 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m2342.51 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2342.51 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.46 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2328.53 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m2341.02 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2341.02 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.58 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2327.97 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m2339.63 782.825-12.23 3.241-8.39-9.344 11.64-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2339.63 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.98-9.521-11.64 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.73 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2327.55 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2338.32 887.318-11.22 1.947-6.78-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2338.32 887.318-11.22 1.947-6.78-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2326.89 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2327.24 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2337.11 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2337.11 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.06 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2327.02 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2336 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2336 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.24 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2326.88 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m2334.99 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2334.99 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.42 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2326.81 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2334.08 1303.98-7.36-1.32-2.15-7.09 7.07 1.07 2.44 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2334.08 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.44-7.34-7.07-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.59 1299.85-3.02-4.28 2.15 7.09 7.36 1.32-6.49-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2326.79 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2333.25 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2333.25 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.77 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2326.82 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2332.52 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2332.52 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2327.93 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2326.89 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m2333.71 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2333.71 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2328.74 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2330.26 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2454.18 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2454.18 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.05 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2437.43 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m2452.53 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2452.53 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2429.92 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2435.94 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m2450.87 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2450.87 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2429.86 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2434.68 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m2449.22 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2449.22 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2429.86 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2433.63 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2447.61 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2447.61 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2429.91 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2432.77 476.799-2.86-6.308 2.42-11.76"/><path fill="#F2D664" d="m2446.05 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2446.05 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.01 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m2432.07 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m2444.57 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2444.57 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.13 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2431.52 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m2443.17 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2443.17 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.19-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.27 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2431.1 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m2441.87 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2441.87 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.44 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2430.78 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m2440.66 991.657-10.21.866-5.37-8.633 9.75-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2440.66 991.657-10.21.866-5.37-8.633m15.58 7.767-5.83-8.858-9.75 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.61 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2430.56 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m2439.55 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2439.55 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.79 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2430.43 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m2438.54 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2438.54 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2430.97 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2430.35 1199.28.62-3.25 4.17-3.95"/><path fill="#F2D664" d="m2437.62 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2437.62 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2431.14 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2430.34 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2436.8 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2436.8 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2431.31 1403.71-2.37-4.08 1.37 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2430.37 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m2436.07 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2436.07 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2431.48 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2430.44 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m2437.26 1610.3-3.52 4.17-5.26-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2437.26 1610.3-3.52 4.17-5.26-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2432.29 1612.89-3.81.35 5.26 1.23 3.52-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2433.81 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2557.73 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2557.73 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.6 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2540.98 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m2556.08 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2556.08 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.47 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2539.49 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m2554.42 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2554.42 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.41 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2538.23 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m2552.77 362.772-15.82 11.016-16.89-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2552.77 362.772-15.82 11.016-16.89-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.83 4.325-12.88-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.41 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2537.18 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2551.16 468.157-15.06 8.636-14.42-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2551.16 468.157-15.06 8.636-14.42-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.13 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.46 470.491-11.78-3.101 14.42 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2536.32 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m2549.6 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2549.6 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.55 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2535.62 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m2548.12 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2548.12 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.68 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2535.07 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m2546.72 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2546.72 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.82 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2534.64 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2545.42 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2545.42 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2533.98 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2534.33 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2544.21 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2544.21 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2534.16 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2534.11 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m2543.1 1095.87-9.22-.03-4.15-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2543.1 1095.87-9.22-.03-4.15-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2534.33 1092.24-4.6-4.56 4.15 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2533.97 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m2542.09 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2542.09 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2534.51 1196.03-3.76-4.45 3.07 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2533.9 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2541.17 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2541.17 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2534.69 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2533.89 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2540.35 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2540.35 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2534.86 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2533.92 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m2539.62 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2539.62 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2535.03 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2533.98 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m2540.8 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2540.8 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2535.84 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2537.36 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2661.27 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2661.27 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.15 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2644.53 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2659.63 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2659.63 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.01 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2643.04 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2657.97 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2657.97 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2636.95 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2641.78 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m2656.32 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2656.32 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2636.96 367.068-13.35-2.292 16.88 9.012 15.82-11.017-19.35 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2640.73 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2654.7 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2654.7 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.01 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2639.86 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m2653.15 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2653.15 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.1 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2639.17 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m2651.67 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2651.67 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.22 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2638.62 682.959-1.4-5.433 3.58-9.041"/><path fill="#F2D664" d="m2650.27 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2650.27 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.37 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2638.19 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2648.96 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2648.96 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.53 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2637.88 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2647.76 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2647.76 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.7 988.49-5.53-4.6 5.38 8.633 10.2-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2637.66 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2646.64 1095.87-9.22-.03-4.14-8.16 8.84-.21 4.52 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2646.64 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.52-8.4-8.84.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2637.88 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2637.52 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m2645.63 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2645.63 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2638.06 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2637.45 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2644.72 1303.98-7.36-1.32-2.15-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2644.72 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2638.24 1299.85-3.03-4.28 2.15 7.09 7.36 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2637.43 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m2643.9 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2643.9 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2638.41 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2637.46 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2643.16 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2643.16 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2638.58 1507.59-1.82-3.84.72 5.96 5.68 2.09-4.58-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2637.53 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m2644.35 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2644.35 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2639.38 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2640.9 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2764.82 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2764.82 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.69 57.206-18.49 1.701 25.57 5.948 17.05-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2748.07 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m2763.18 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2763.18 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.56 160.424-16.72.074 22.46 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2746.59 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m2761.51 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2761.51 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.5 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2745.33 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m2759.86 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2759.86 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.5 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2744.28 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m2758.25 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2758.25 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.56 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2743.41 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m2756.7 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2756.7 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.65 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2742.71 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m2755.21 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2755.21 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.77 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2742.16 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m2753.82 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2753.82 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2740.92 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2741.74 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m2752.51 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2752.51 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.08 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2741.43 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2751.3 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2751.3 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.25 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2741.21 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m2750.19 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2750.19 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.43 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2741.07 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m2749.18 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2749.18 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.61 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2741 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2748.26 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2748.26 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.78 1299.85-3.02-4.28 2.15 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2740.98 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2747.44 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2747.44 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2741.96 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2741.01 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m2746.71 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2746.71 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2742.12 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2741.08 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m2747.9 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2747.9 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2742.93 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2744.45 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2868.37 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2868.37 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.24 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2851.62 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m2866.72 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2866.72 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.11 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2850.13 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m2865.06 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2865.06 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.05 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2848.87 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m2863.41 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2863.41 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.05 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2847.82 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2861.8 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2861.8 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.1 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2846.96 476.799-2.86-6.308 2.42-11.76"/><path fill="#F2D664" d="m2860.24 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2860.24 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.2 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m2846.26 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m2858.76 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2858.76 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.32 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2845.71 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m2857.36 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2857.36 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.19-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.46 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2845.29 786.11-.83-4.98 3.92-7.826"/><path fill="#F2D664" d="m2856.06 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2856.06 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.63 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2844.97 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m2854.85 991.657-10.21.866-5.37-8.633 9.75-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2854.85 991.657-10.21.866-5.37-8.633m15.58 7.767-5.83-8.858-9.75 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.8 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2844.75 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m2853.74 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2853.74 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2844.98 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2844.61 1095.9.37-3.66 4.23-4.77"/><path fill="#F2D664" d="m2852.73 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2852.73 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2845.15 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2844.54 1199.28.61-3.25 4.18-3.95"/><path fill="#F2D664" d="m2851.81 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2851.81 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2845.33 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2844.53 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2850.99 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2850.99 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2845.5 1403.71-2.37-4.08 1.37 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2844.56 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m2850.26 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2850.26 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2845.67 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2844.63 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m2851.45 1610.3-3.52 4.17-5.26-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2851.45 1610.3-3.52 4.17-5.26-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2846.48 1612.89-3.81.35 5.26 1.23 3.52-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2848 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m2971.92 44.64-17.06 20.214-25.56-5.947 15.81-19.801 26.81 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m2971.92 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.81-5.534-15.81 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.79 57.206-18.5 1.701 25.57 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m2955.17 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m2970.27 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m2970.27 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.66 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m2953.68 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m2968.61 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m2968.61 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.6 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m2952.42 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m2966.96 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m2966.96 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.6 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m2951.37 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m2965.35 468.157-15.06 8.636-14.42-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m2965.35 468.157-15.06 8.636-14.42-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.13 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.65 470.491-11.78-3.101 14.42 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m2950.51 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m2963.79 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m2963.79 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.74 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m2949.81 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m2962.31 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m2962.31 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2947.87 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m2949.26 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m2960.91 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m2960.91 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.01 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m2948.83 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m2959.61 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m2959.61 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.17 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m2948.52 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m2958.4 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m2958.4 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.35 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m2948.3 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m2957.29 1095.87-9.22-.03-4.15-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m2957.29 1095.87-9.22-.03-4.15-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.52 1092.24-4.6-4.56 4.15 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m2948.16 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m2956.28 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m2956.28 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.7 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m2948.09 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m2955.36 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m2955.36 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2948.88 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m2948.08 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m2954.54 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m2954.54 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2949.05 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2948.11 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m2953.81 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m2953.81 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2949.22 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m2948.17 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m2954.99 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m2954.99 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m2950.03 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m2951.55 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3075.46 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3075.46 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.34 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3058.72 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m3073.82 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3073.82 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.2 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3057.23 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m3072.15 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3072.15 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.14 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3055.97 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m3070.5 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3070.5 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.14 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3054.92 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m3068.89 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3068.89 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.2 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3054.06 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m3067.34 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3067.34 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.29 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3053.36 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m3065.86 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3065.86 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.41 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3052.81 682.959-1.4-5.433 3.58-9.041"/><path fill="#F2D664" d="m3064.46 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3064.46 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.56 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3052.38 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m3063.15 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3063.15 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.72 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3052.07 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m3061.94 991.657-10.2.866-5.38-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3061.94 991.657-10.2.866-5.38-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3051.89 988.49-5.53-4.6 5.38 8.633 10.21-.866-10.06-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3051.85 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3060.83 1095.87-9.22-.03-4.14-8.16 8.84-.21 4.52 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3060.83 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.52-8.4-8.84.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3052.07 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3051.71 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m3059.82 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3059.82 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3052.25 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3051.64 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3058.91 1303.98-7.36-1.32-2.15-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3058.91 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3052.43 1299.85-3.03-4.28 2.15 7.09 7.36 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3051.62 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m3058.09 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3058.09 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.61-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3052.6 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3051.65 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3057.35 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3057.35 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3052.76 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3051.72 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m3058.54 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3058.54 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3053.57 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3055.09 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3179.01 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3179.01 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.88 57.206-18.49 1.701 25.57 5.948 17.05-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3162.26 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m3177.37 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3177.37 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.75 160.424-16.72.074 22.46 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3160.78 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m3175.7 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3175.7 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.69 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3159.52 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m3174.05 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3174.05 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.69 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3158.47 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m3172.44 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3172.44 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.75 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3157.6 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m3170.89 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3170.89 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.84 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3156.9 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3169.4 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3169.4 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3154.96 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3156.35 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3168.01 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3168.01 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.11 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3155.93 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m3166.7 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3166.7 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.27 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3155.61 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m3165.49 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3165.49 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.44 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3155.4 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3164.38 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3164.38 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.62 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3155.26 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m3163.37 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3163.37 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.8 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3155.19 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3162.45 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3162.45 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3155.97 1299.85-3.02-4.28 2.15 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3155.17 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3161.63 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3161.63 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3156.15 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3155.2 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3160.9 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3160.9 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3156.31 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3155.27 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m3162.09 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3162.09 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3157.12 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3158.64 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3282.56 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3282.56 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.43 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3265.81 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m3280.91 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3280.91 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.3 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3264.32 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m3279.25 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3279.25 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.53 6.708-14.48-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.24 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3263.06 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m3277.6 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3277.6 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.24 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3262.01 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m3275.99 468.157-15.05 8.636-14.43-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3275.99 468.157-15.05 8.636-14.43-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.29 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3261.15 476.799-2.86-6.308 2.42-11.76"/><path fill="#F2D664" d="m3274.43 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3274.43 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.39 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m3260.45 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3272.95 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3272.95 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.51 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3259.9 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3271.55 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3271.55 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.65 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3259.48 786.11-.83-4.98 3.92-7.826"/><path fill="#F2D664" d="m3270.25 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3270.25 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.7-2.635-6.3-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.82 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3259.16 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m3269.04 991.657-10.21.866-5.37-8.633 9.75-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3269.04 991.657-10.21.866-5.37-8.633m15.58 7.767-5.83-8.858-9.75 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3258.99 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3258.94 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m3267.93 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3267.93 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3259.17 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3258.8 1095.9.37-3.66 4.23-4.77"/><path fill="#F2D664" d="m3266.92 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3266.92 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3259.34 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3258.73 1199.28.61-3.25 4.18-3.95"/><path fill="#F2D664" d="m3266 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3266 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3259.52 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3258.72 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3265.18 1407.92-6.49-1.76-1.38-6.53 6.27 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3265.18 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.6-6.77-6.27-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3259.69 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3258.75 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m3264.45 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3264.45 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3259.86 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3258.82 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m3265.64 1610.3-3.52 4.17-5.26-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3265.64 1610.3-3.52 4.17-5.26-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3260.67 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3262.19 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3386.1 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3386.1 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.98 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3369.36 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m3384.46 151.05-16.88 16.786-22.45-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3384.46 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.84 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3367.87 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m3382.8 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3382.8 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.78 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3366.61 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m3381.15 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3381.15 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.79 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3365.56 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m3379.53 468.157-15.05 8.636-14.42-9.404 14.19-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3379.53 468.157-15.05 8.636-14.42-9.404m29.47.768-15.28-9.426-14.19 8.658m29.47.768-18.12 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.84 470.491-11.78-3.101 14.42 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3364.7 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m3377.98 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3377.98 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3361.93 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3364 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m3376.5 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3376.5 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.06 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3363.45 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m3375.1 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3375.1 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.2 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3363.02 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m3373.8 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3373.8 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.36 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3362.71 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m3372.59 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3372.59 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.54 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3362.49 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m3371.48 1095.87-9.22-.03-4.15-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3371.48 1095.87-9.22-.03-4.15-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.71 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3362.35 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m3370.47 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3370.47 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3362.89 1196.03-3.76-4.45 3.07 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3362.28 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3369.55 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3369.55 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3363.07 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3362.27 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3368.73 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3368.73 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3363.24 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3362.3 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m3368 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3368 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3363.41 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3362.36 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m3369.18 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3369.18 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3364.22 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3365.74 1614.45-1.52-1.56-.56-3.72"/><path fill="#F2D664" d="m3489.65 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3489.65 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.53 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3472.91 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m3488.01 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3488.01 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.39 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3471.42 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m3486.34 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3486.34 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.33 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3470.16 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m3484.69 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3484.69 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.33 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3469.11 373.773-3.78-6.705 1.54-13.25"/><path fill="#F2D664" d="m3483.08 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3483.08 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.39 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3468.24 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m3481.53 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3481.53 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.48 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3467.55 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3480.05 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3480.05 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.6 677.526-8.96-4.132 10.19 9.531 13.22-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3466.99 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3478.65 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3478.65 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.75 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3466.57 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m3477.34 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3477.34 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3465.91 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3466.26 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m3476.13 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3476.13 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.08 988.49-5.53-4.6 5.38 8.633 10.2-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3466.04 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3475.02 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3475.02 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.26 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3465.9 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m3474.01 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3474.01 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.73-4.06-3.61-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.44 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3465.83 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3473.1 1303.98-7.36-1.32-2.15-7.09 7.07 1.07 2.44 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3473.1 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.44-7.34-7.07-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.62 1299.85-3.03-4.28 2.15 7.09 7.36 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3465.81 1302.72.81-2.87 4.04-3.21"/><path fill="#F2D664" d="m3472.27 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3472.27 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.79 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3465.84 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3471.54 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3471.54 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3466.95 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3465.91 1509.77 1.04-2.18 3.69-1.99"/><path fill="#F2D664" d="m3472.73 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3472.73 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.09 2.63-3.69.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3467.76 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3469.28 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3593.2 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3593.2 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.07 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3576.45 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m3591.56 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3591.56 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3568.94 160.424-16.72.074 22.46 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3574.96 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m3589.89 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3589.89 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3568.88 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3573.7 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m3588.24 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3588.24 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3568.88 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3572.66 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m3586.63 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3586.63 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3568.94 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3571.79 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m3585.07 573.274-14.17 6.562-12.19-9.562 13.4-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3585.07 573.274-14.17 6.562-12.19-9.562m26.36 3-12.96-9.649-13.4 6.649m26.36 3-16.42.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.03 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3571.09 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3583.59 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3583.59 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.15 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3570.54 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3582.2 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3582.2 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.3 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3570.12 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m3580.89 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3580.89 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.46 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3569.8 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m3579.68 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3579.68 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.63 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3569.59 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3578.57 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3578.57 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.81 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3569.45 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m3577.56 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3577.56 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3569.99 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3569.38 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3576.64 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3576.64 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3570.16 1299.85-3.02-4.28 2.15 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3569.36 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3575.82 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3575.82 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3570.34 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3569.39 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3575.09 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3575.09 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3570.5 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3569.46 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m3576.28 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3576.28 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3571.31 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3572.83 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3696.75 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3696.75 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266L3672 57.412l-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.62 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3680 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m3695.1 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3695.1 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.49 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3678.51 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m3693.44 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3693.44 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.43 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3677.25 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m3691.79 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3691.79 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.43 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3676.2 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m3690.18 468.157-15.05 8.636-14.43-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3690.18 468.157-15.05 8.636-14.43-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.48 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3675.34 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m3688.62 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3688.62 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.58 573.979-10.33-3.705 12.2 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m3674.64 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m3687.14 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3687.14 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.7 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3674.09 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3685.74 782.825-12.22 3.241-8.39-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3685.74 782.825-12.22 3.241-8.39-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3672.84 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3673.67 786.11-.83-4.98 3.92-7.826"/><path fill="#F2D664" d="m3684.44 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3684.44 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.7-2.635-6.3-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.01 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3673.35 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m3683.23 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3683.23 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.18 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3673.13 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m3682.12 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3682.12 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.35 1092.24-4.59-4.56 4.14 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3672.99 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m3681.11 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3681.11 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.53 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3672.92 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3680.19 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3680.19 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.71 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3672.91 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3679.37 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3679.37 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3673.88 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3672.94 1406.22.94-2.51 3.89-2.56"/><path fill="#F2D664" d="m3678.64 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3678.64 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3674.05 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3673 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m3679.82 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3679.82 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3674.86 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3676.38 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m3800.29 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3800.29 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.17 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3783.55 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m3798.65 151.05-16.88 16.786-22.45-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3798.65 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.03 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3782.06 167.767-6.03-7.344-.97-16.437"/><path fill="#F2D664" d="m3796.99 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3796.99 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3775.97 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3780.8 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m3795.34 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3795.34 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3775.98 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3779.75 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m3793.72 468.157-15.05 8.636-14.42-9.404 14.19-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3793.72 468.157-15.05 8.636-14.42-9.404m29.47.768-15.28-9.426-14.19 8.658m29.47.768-18.12 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.03 470.491-11.78-3.101 14.42 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3778.89 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m3792.17 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3792.17 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.12 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3778.19 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m3790.69 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3790.69 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.25 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3777.64 682.959-1.39-5.433 3.57-9.041"/><path fill="#F2D664" d="m3789.29 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3789.29 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.39 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3777.21 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m3787.99 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3787.99 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.55 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3776.9 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m3786.78 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3786.78 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.73 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3776.68 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m3785.67 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3785.67 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3776.9 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3776.54 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m3784.65 1199.97-8.26-.75-3.07-7.64 7.93.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3784.65 1199.97-8.26-.75-3.07-7.64m11.33 8.39-3.4-7.89-7.93-.5m11.33 8.39-7.73-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3777.08 1196.03-3.76-4.45 3.07 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3776.47 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3783.74 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3783.74 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3777.26 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3776.45 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m3782.92 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3782.92 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3777.43 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3776.49 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m3782.19 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3782.19 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3777.6 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3776.55 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m3783.37 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3783.37 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3778.4 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3779.92 1614.45-1.51-1.56-.56-3.72"/><path fill="#F2D664" d="m3903.84 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m3903.84 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.72 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3887.1 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m3902.2 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m3902.2 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.58 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3885.61 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m3900.53 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m3900.53 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.52 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3884.35 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m3898.88 362.772-15.82 11.016-16.88-9.012 14.88-10.958 17.82 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m3898.88 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.82-8.954-14.88 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.52 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3883.3 373.773-3.78-6.705 1.54-13.25"/><path fill="#F2D664" d="m3897.27 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m3897.27 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.58 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3882.43 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m3895.72 573.274-14.17 6.562-12.2-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3895.72 573.274-14.17 6.562-12.2-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.67 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m3881.74 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3894.24 678.153-13.23 4.772-10.18-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3894.24 678.153-13.23 4.772-10.18-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.79-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.79 677.526-8.96-4.132 10.18 9.531 13.23-4.772-14.45-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3881.18 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3892.84 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3892.84 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3879.94 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3880.76 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m3891.53 887.318-11.22 1.947-6.78-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3891.53 887.318-11.22 1.947-6.78-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.1 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3880.45 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m3890.32 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3890.32 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.27 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3880.23 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3889.21 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3889.21 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.45 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3880.09 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m3888.2 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3888.2 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.63 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3880.02 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3887.29 1303.98-7.36-1.32-2.15-7.09 7.07 1.07 2.44 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3887.29 1303.98-7.36-1.32-2.15-7.09m9.51 8.41-2.44-7.34-7.07-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.8 1299.85-3.02-4.28 2.15 7.09 7.36 1.32-6.49-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3880 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3886.46 1407.92-6.48-1.76-1.38-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3886.46 1407.92-6.48-1.76-1.38-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3880.98 1403.71-2.38-4.08 1.38 6.53 6.48 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3880.03 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3885.73 1511.8-5.68-2.09-.72-5.96 5.5 1.85.9 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3885.73 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.9-6.2-5.5-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3881.14 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3880.1 1509.77 1.04-2.18 3.69-1.99"/><path fill="#F2D664" d="m3886.92 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3886.92 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3881.95 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3883.47 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m4007.39 44.64-17.06 20.214-25.56-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m4007.39 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.26 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m3990.64 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m4005.75 151.05-16.88 16.786-22.46-7.338 15.74-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m4005.75 151.05-16.88 16.786-22.46-7.338m39.34-9.448-23.6-7.064-15.74 16.512m39.34-9.448-23.19 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.13 160.424-16.72.074 22.46 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m3989.15 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m4004.08 257.081-16.45 13.726-19.55-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m4004.08 257.081-16.45 13.726-19.55-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.07 263.711-14.99-1.244 19.55 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m3987.89 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m4002.43 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m4002.43 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.07 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m3986.84 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m4000.82 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m4000.82 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.12 470.491-11.78-3.101 14.43 9.403 15.05-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m3985.98 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m3999.26 573.274-14.17 6.562-12.19-9.562 13.4-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m3999.26 573.274-14.17 6.562-12.19-9.562m26.36 3-12.96-9.649-13.4 6.649m26.36 3-16.42.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.22 573.979-10.32-3.705 12.19 9.562 14.17-6.562-16.04.705Z"/><path stroke="#000" stroke-width="1.5" d="m3985.28 579.858-2.06-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m3997.78 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m3997.78 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.34 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m3984.73 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m3996.39 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m3996.39 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.49 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m3984.31 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m3995.08 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m3995.08 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.65 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m3983.99 889.316-.34-4.53 4.12-6.709"/><path fill="#F2D664" d="m3993.87 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m3993.87 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.28-3.279-5.3-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3983.82 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m3983.78 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m3992.76 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m3992.76 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.96-3.75-4.4-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3984 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m3983.64 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m3991.75 1199.97-8.27-.75-3.07-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m3991.75 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3984.18 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m3983.57 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m3990.83 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m3990.83 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3984.35 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m3983.55 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m3990.01 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m3990.01 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3984.53 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3983.58 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m3989.28 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m3989.28 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3984.69 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m3983.65 1509.77 1.04-2.18 3.68-1.99"/><path fill="#F2D664" d="m3990.47 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m3990.47 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m3985.5 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m3987.02 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m4110.94 44.64-17.06 20.214-25.56-5.947 15.81-19.801 26.81 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m4110.94 44.64-17.06 20.214-25.56-5.947m42.62-14.267-26.81-5.534-15.81 19.8m42.62-14.266-24.75 12.772-17.87 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.81 57.206-18.49 1.701 25.56 5.948 17.06-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m4094.19 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m4109.29 151.05-16.87 16.786-22.46-7.338 15.74-16.512 23.59 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m4109.29 151.05-16.87 16.786-22.46-7.338m39.33-9.448-23.59-7.064-15.74 16.512m39.33-9.448-23.18 9.51-16.15-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.68 160.424-16.72.074 22.46 7.338 16.87-16.786-22.61 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m4092.7 167.767-6.02-7.344-.98-16.437"/><path fill="#F2D664" d="m4107.63 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m4107.63 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.62 263.711-15-1.244 19.56 8.34 16.45-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m4091.44 270.768-4.82-7.057.41-14.815"/><path fill="#F2D664" d="m4105.98 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m4105.98 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.83 4.325-12.88-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.62 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m4090.39 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m4104.37 468.157-15.06 8.636-14.42-9.404 14.19-8.658 15.29 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m4104.37 468.157-15.06 8.636-14.42-9.404m29.48.768-15.29-9.426-14.19 8.658m29.48.768-18.13 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.67 470.491-11.78-3.101 14.42 9.403 15.06-8.635-17.7 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m4089.53 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m4102.81 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m4102.81 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.76 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m4088.83 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m4101.33 678.153-13.22 4.772-10.19-9.531 12.55-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m4101.33 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.86-9.668-12.55 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4086.89 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m4088.28 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m4099.93 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m4099.93 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.03 781.13-7.71-4.408 8.39 9.344 12.22-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m4087.85 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m4098.63 887.318-11.22 1.947-6.79-9.036 10.7-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m4098.63 887.318-11.22 1.947-6.79-9.036m18.01 7.089-7.31-9.241-10.7 2.152m18.01 7.089-11.7-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.19 884.786-6.57-4.557 6.79 9.036 11.22-1.947-11.44-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m4087.54 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m4097.42 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m4097.42 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.37 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m4087.32 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m4096.31 1095.87-9.22-.03-4.15-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m4096.31 1095.87-9.22-.03-4.15-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.54 1092.24-4.6-4.56 4.15 8.16 9.22.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m4087.18 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m4095.3 1199.97-8.27-.75-3.07-7.64 7.93.5 3.41 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m4095.3 1199.97-8.27-.75-3.07-7.64m11.34 8.39-3.41-7.89-7.93-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.72 1196.03-3.76-4.45 3.07 7.64 8.27.75-7.58-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m4087.11 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m4094.38 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m4094.38 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4087.9 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m4087.1 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m4093.56 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m4093.56 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4088.07 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4087.13 1406.22.94-2.51 3.88-2.56"/><path fill="#F2D664" d="m4092.83 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m4092.83 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4088.24 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4087.19 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m4094.01 1610.3-3.51 4.17-5.26-1.23 3.26-4.07 5.51 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m4094.01 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.51-1.13-3.26 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4089.05 1612.89-3.81.35 5.26 1.23 3.51-4.16-4.96 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m4090.57 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m4214.48 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m4214.48 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.36 57.206-18.5 1.701 25.57 5.948 17.05-20.214-24.12 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m4197.74 64.75-7.38-7.545-2.68-18.1"/><path fill="#F2D664" d="m4212.84 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m4212.84 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.22 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m4196.25 167.767-6.03-7.344-.97-16.437"/><path fill="#F2D664" d="m4211.18 257.081-16.45 13.726-19.56-8.341 15.41-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m4211.18 257.081-16.45 13.726-19.56-8.341m36.01-5.385-20.6-8.185-15.41 13.57m36.01-5.385-21.54 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.16 263.711-14.99-1.244 19.56 8.34 16.45-13.726-21.02 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m4194.99 270.768-4.83-7.057.42-14.815"/><path fill="#F2D664" d="m4209.53 362.772-15.83 11.016-16.88-9.012 14.88-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m4209.53 362.772-15.83 11.016-16.88-9.012m32.71-2.004-17.83-8.954-14.88 10.958m32.71-2.004-19.84 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.17 367.068-13.35-2.292 16.88 9.012 15.83-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m4193.94 373.773-3.77-6.705 1.53-13.25"/><path fill="#F2D664" d="m4207.91 468.157-15.05 8.636-14.42-9.404 14.19-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m4207.91 468.157-15.05 8.636-14.42-9.404m29.47.768-15.28-9.426-14.19 8.658m29.47.768-18.12 2.323-11.35-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.22 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m4193.08 476.799-2.86-6.308 2.41-11.76"/><path fill="#F2D664" d="m4206.36 573.274-14.17 6.562-12.2-9.562 13.41-6.649 12.96 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m4206.36 573.274-14.17 6.562-12.2-9.562m26.37 3-12.96-9.649-13.41 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.31 573.979-10.32-3.705 12.2 9.562 14.17-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m4192.38 579.858-2.07-5.88 3.09-10.354"/><path fill="#FCEDB1" d="m4204.88 678.153-13.22 4.772-10.19-9.531 12.54-4.909 10.87 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m4204.88 678.153-13.22 4.772-10.19-9.531m23.41 4.759-10.87-9.668-12.54 4.909m23.41 4.759-14.78-.696-8.63-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.44 677.526-8.97-4.132 10.19 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m4191.83 682.959-1.4-5.433 3.58-9.041"/><path fill="#F2D664" d="m4203.48 782.825-12.23 3.241-8.38-9.344 11.63-3.418 8.98 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m4203.48 782.825-12.23 3.241-8.38-9.344m20.61 6.103-8.98-9.521-11.63 3.418m20.61 6.103-13.2-1.784-7.41-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.58 781.13-7.71-4.408 8.38 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m4191.4 786.11-.82-4.98 3.92-7.826"/><path fill="#F2D664" d="m4202.17 887.318-11.21 1.947-6.79-9.036 10.7-2.152 7.3 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m4202.17 887.318-11.21 1.947-6.79-9.036m18 7.089-7.3-9.241-10.7 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.74 884.786-6.57-4.557 6.79 9.036 11.21-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m4191.09 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m4200.97 991.657-10.21.866-5.38-8.633 9.76-1.091 5.83 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m4200.97 991.657-10.21.866-5.38-8.633m15.59 7.767-5.83-8.858-9.76 1.091m15.59 7.767-10.28-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4190.92 988.49-5.54-4.6 5.38 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m4190.87 992.579.05-4.089 4.22-5.691"/><path fill="#F2D664" d="m4199.86 1095.87-9.23-.03-4.14-8.16 8.84-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m4199.86 1095.87-9.23-.03-4.14-8.16m13.37 8.19-4.53-8.4-8.84.21m13.37 8.19-8.96-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4191.09 1092.24-4.6-4.56 4.14 8.16 9.23.03-8.77-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m4190.73 1095.9.36-3.66 4.24-4.77"/><path fill="#F2D664" d="m4198.84 1199.97-8.26-.75-3.07-7.64 7.93.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m4198.84 1199.97-8.26-.75-3.07-7.64m11.33 8.39-3.4-7.89-7.93-.5m11.33 8.39-7.73-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4191.27 1196.03-3.77-4.45 3.08 7.64 8.26.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m4190.66 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m4197.93 1303.98-7.35-1.32-2.16-7.09 7.08 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m4197.93 1303.98-7.35-1.32-2.16-7.09m9.51 8.41-2.43-7.34-7.08-1.07m9.51 8.41-6.62-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4191.45 1299.85-3.03-4.28 2.16 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m4190.64 1302.72.81-2.87 4.05-3.21"/><path fill="#F2D664" d="m4197.11 1407.92-6.49-1.76-1.38-6.53 6.26 1.52 1.61 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m4197.11 1407.92-6.49-1.76-1.38-6.53m7.87 8.29-1.61-6.77-6.26-1.52m7.87 8.29-5.6-4.33-2.27-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4191.62 1403.71-2.38-4.08 1.38 6.53 6.49 1.76-5.49-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4190.67 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m4196.38 1511.8-5.68-2.09-.73-5.96 5.5 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m4196.38 1511.8-5.68-2.09-.73-5.96m6.41 8.05-.91-6.2-5.5-1.85m6.41 8.05-4.69-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4191.79 1507.59-1.82-3.84.73 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4190.74 1509.77 1.05-2.18 3.68-1.99"/><path fill="#F2D664" d="m4197.56 1610.3-3.51 4.17-5.26-1.23 3.25-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m4197.56 1610.3-3.51 4.17-5.26-1.23m8.77-2.94-5.52-1.13-3.25 4.07m8.77-2.94-5.09 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4192.59 1612.89-3.8.35 5.26 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m4194.11 1614.45-1.52-1.56-.55-3.72"/><path fill="#F2D664" d="m4318.03 44.64-17.05 20.214-25.57-5.947 15.82-19.801 26.8 5.534Z"/><path stroke="#000" stroke-width="1.5" d="m4318.03 44.64-17.05 20.214-25.57-5.947m42.62-14.267-26.8-5.534-15.82 19.8m42.62-14.266-24.74 12.772-17.88 1.495"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.9 57.206-18.49 1.701 25.57 5.948 17.05-20.214-24.13 12.565Z"/><path stroke="#000" stroke-width="1.5" d="m4301.28 64.75-7.38-7.545-2.67-18.1"/><path fill="#F2D664" d="m4316.39 151.05-16.88 16.786-22.45-7.338 15.73-16.512 23.6 7.064Z"/><path stroke="#000" stroke-width="1.5" d="m4316.39 151.05-16.88 16.786-22.45-7.338m39.33-9.448-23.6-7.064-15.73 16.512m39.33-9.448-23.19 9.51-16.14-.062"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.77 160.424-16.71.074 22.45 7.338 16.88-16.786-22.62 9.374Z"/><path stroke="#000" stroke-width="1.5" d="m4299.8 167.767-6.03-7.344-.98-16.437"/><path fill="#F2D664" d="m4314.72 257.081-16.44 13.726-19.56-8.341 15.4-13.57 20.6 8.185Z"/><path stroke="#000" stroke-width="1.5" d="m4314.72 257.081-16.44 13.726-19.56-8.341m36-5.385-20.6-8.185-15.4 13.57m36-5.385-21.53 6.708-14.47-1.323"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.71 263.711-14.99-1.244 19.56 8.34 16.44-13.726-21.01 6.63Z"/><path stroke="#000" stroke-width="1.5" d="m4298.54 270.768-4.83-7.057.41-14.815"/><path fill="#F2D664" d="m4313.07 362.772-15.82 11.016-16.88-9.012 14.87-10.958 17.83 8.954Z"/><path stroke="#000" stroke-width="1.5" d="m4313.07 362.772-15.82 11.016-16.88-9.012m32.7-2.004-17.83-8.954-14.87 10.958m32.7-2.004-19.83 4.325-12.87-2.321"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.71 367.068-13.34-2.292 16.88 9.012 15.82-11.017-19.36 4.297Z"/><path stroke="#000" stroke-width="1.5" d="m4297.49 373.773-3.78-6.705 1.53-13.25"/><path fill="#F2D664" d="m4311.46 468.157-15.05 8.636-14.43-9.404 14.2-8.658 15.28 9.426Z"/><path stroke="#000" stroke-width="1.5" d="m4311.46 468.157-15.05 8.636-14.43-9.404m29.48.768-15.28-9.426-14.2 8.658m29.48.768-18.12 2.323-11.36-3.091"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.77 470.491-11.79-3.101 14.43 9.403 15.05-8.635-17.69 2.333Z"/><path stroke="#000" stroke-width="1.5" d="m4296.62 476.799-2.85-6.308 2.41-11.76"/><path fill="#F2D664" d="m4309.91 573.274-14.18 6.562-12.19-9.562 13.4-6.649 12.97 9.649Z"/><path stroke="#000" stroke-width="1.5" d="m4309.91 573.274-14.18 6.562-12.19-9.562m26.37 3-12.97-9.649-13.4 6.649m26.37 3-16.43.661-9.94-3.661"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.86 573.979-10.32-3.705 12.19 9.562 14.18-6.562-16.05.705Z"/><path stroke="#000" stroke-width="1.5" d="m4295.93 579.858-2.07-5.88 3.08-10.354"/><path fill="#FCEDB1" d="m4308.42 678.153-13.22 4.772-10.18-9.531 12.54-4.909 10.86 9.668Z"/><path stroke="#000" stroke-width="1.5" d="m4308.42 678.153-13.22 4.772-10.18-9.531m23.4 4.759-10.86-9.668-12.54 4.909m23.4 4.759-14.78-.696-8.62-4.063"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4293.98 677.526-8.96-4.132 10.18 9.531 13.22-4.772-14.44-.627Z"/><path stroke="#000" stroke-width="1.5" d="m4295.37 682.959-1.39-5.433 3.58-9.041"/><path fill="#F2D664" d="m4307.03 782.825-12.23 3.241-8.39-9.344 11.63-3.418 8.99 9.521Z"/><path stroke="#000" stroke-width="1.5" d="m4307.03 782.825-12.23 3.241-8.39-9.344m20.62 6.103-8.99-9.521-11.63 3.418m20.62 6.103-13.2-1.784-7.42-4.319"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.13 781.13-7.72-4.408 8.39 9.344 12.23-3.241-12.9-1.695Z"/><path stroke="#000" stroke-width="1.5" d="m4294.95 786.11-.82-4.98 3.91-7.826"/><path fill="#F2D664" d="m4305.72 887.318-11.22 1.947-6.78-9.036 10.69-2.152 7.31 9.241Z"/><path stroke="#000" stroke-width="1.5" d="m4305.72 887.318-11.22 1.947-6.78-9.036m18 7.089-7.31-9.241-10.69 2.152m18 7.089-11.69-2.635-6.31-4.454"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.29 884.786-6.57-4.557 6.78 9.036 11.22-1.947-11.43-2.532Z"/><path stroke="#000" stroke-width="1.5" d="m4294.64 889.316-.35-4.53 4.13-6.709"/><path fill="#F2D664" d="m4304.51 991.657-10.21.866-5.37-8.633 9.76-1.091 5.82 8.858Z"/><path stroke="#000" stroke-width="1.5" d="m4304.51 991.657-10.21.866-5.37-8.633m15.58 7.767-5.82-8.858-9.76 1.091m15.58 7.767-10.27-3.279-5.31-4.488"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.46 988.49-5.53-4.6 5.37 8.633 10.21-.866-10.05-3.167Z"/><path stroke="#000" stroke-width="1.5" d="m4294.42 992.579.04-4.089 4.23-5.691"/><path fill="#F2D664" d="m4303.4 1095.87-9.22-.03-4.14-8.16 8.83-.21 4.53 8.4Z"/><path stroke="#000" stroke-width="1.5" d="m4303.4 1095.87-9.22-.03-4.14-8.16m13.36 8.19-4.53-8.4-8.83.21m13.36 8.19-8.95-3.75-4.41-4.44"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.64 1092.24-4.6-4.56 4.14 8.16 9.22.03-8.76-3.63Z"/><path stroke="#000" stroke-width="1.5" d="m4294.28 1095.9.36-3.66 4.23-4.77"/><path fill="#F2D664" d="m4302.39 1199.97-8.26-.75-3.08-7.64 7.94.5 3.4 7.89Z"/><path stroke="#000" stroke-width="1.5" d="m4302.39 1199.97-8.26-.75-3.08-7.64m11.34 8.39-3.4-7.89-7.94-.5m11.34 8.39-7.74-4.06-3.6-4.33"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.82 1196.03-3.77-4.45 3.07 7.64 8.27.75-7.57-3.94Z"/><path stroke="#000" stroke-width="1.5" d="m4294.21 1199.28.61-3.25 4.17-3.95"/><path fill="#F2D664" d="m4301.47 1303.98-7.35-1.32-2.15-7.09 7.07 1.07 2.43 7.34Z"/><path stroke="#000" stroke-width="1.5" d="m4301.47 1303.98-7.35-1.32-2.15-7.09m9.5 8.41-2.43-7.34-7.07-1.07m9.5 8.41-6.61-4.25-2.89-4.16"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4294.99 1299.85-3.02-4.28 2.15 7.09 7.35 1.32-6.48-4.13Z"/><path stroke="#000" stroke-width="1.5" d="m4294.19 1302.72.8-2.87 4.05-3.21"/><path fill="#F2D664" d="m4300.65 1407.92-6.49-1.76-1.37-6.53 6.26 1.52 1.6 6.77Z"/><path stroke="#000" stroke-width="1.5" d="m4300.65 1407.92-6.49-1.76-1.37-6.53m7.86 8.29-1.6-6.77-6.26-1.52m7.86 8.29-5.6-4.33-2.26-3.96"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4295.17 1403.71-2.38-4.08 1.37 6.53 6.49 1.76-5.48-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4294.22 1406.22.95-2.51 3.88-2.56"/><path fill="#F2D664" d="m4299.92 1511.8-5.68-2.09-.72-5.96 5.49 1.85.91 6.2Z"/><path stroke="#000" stroke-width="1.5" d="m4299.92 1511.8-5.68-2.09-.72-5.96m6.4 8.05-.91-6.2-5.49-1.85m6.4 8.05-4.68-4.32-1.72-3.73"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4295.33 1507.59-1.81-3.84.72 5.96 5.68 2.09-4.59-4.21Z"/><path stroke="#000" stroke-width="1.5" d="m4294.29 1509.77 1.04-2.18 3.69-1.99"/><path fill="#F2D664" d="m4301.11 1610.3-3.51 4.17-5.27-1.23 3.26-4.07 5.52 1.13Z"/><path stroke="#000" stroke-width="1.5" d="m4301.11 1610.3-3.51 4.17-5.27-1.23m8.78-2.94-5.52-1.13-3.26 4.07m8.78-2.94-5.1 2.63-3.68.31"/><path fill="#BE9A07" stroke="#0C0E13" stroke-width="1.5" d="m4296.14 1612.89-3.81.35 5.27 1.23 3.51-4.16-4.97 2.58Z"/><path stroke="#000" stroke-width="1.5" d="m4297.66 1614.45-1.52-1.56-.55-3.72"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/cypress.png b/.gitbook/assets/cypress.png
new file mode 100644
index 00000000..391f9fe9
Binary files /dev/null and b/.gitbook/assets/cypress.png differ
diff --git a/.gitbook/assets/dart.png b/.gitbook/assets/dart.png
new file mode 100644
index 00000000..abaed145
Binary files /dev/null and b/.gitbook/assets/dart.png differ
diff --git a/.gitbook/assets/dashboard-dark (1).png b/.gitbook/assets/dashboard-dark (1).png
new file mode 100644
index 00000000..e644ad78
Binary files /dev/null and b/.gitbook/assets/dashboard-dark (1).png differ
diff --git a/.gitbook/assets/dashboard-dark (2).png b/.gitbook/assets/dashboard-dark (2).png
new file mode 100644
index 00000000..2573ac77
Binary files /dev/null and b/.gitbook/assets/dashboard-dark (2).png differ
diff --git a/.gitbook/assets/dashboard-light (1).png b/.gitbook/assets/dashboard-light (1).png
new file mode 100644
index 00000000..1831f69d
Binary files /dev/null and b/.gitbook/assets/dashboard-light (1).png differ
diff --git a/.gitbook/assets/dashboard-quarantined-dark.png b/.gitbook/assets/dashboard-quarantined-dark.png
new file mode 100644
index 00000000..e5abc6df
Binary files /dev/null and b/.gitbook/assets/dashboard-quarantined-dark.png differ
diff --git a/.gitbook/assets/dashboard-quarantined-light.png b/.gitbook/assets/dashboard-quarantined-light.png
new file mode 100644
index 00000000..1da2b7a4
Binary files /dev/null and b/.gitbook/assets/dashboard-quarantined-light.png differ
diff --git a/.gitbook/assets/data-uploads-dark.png b/.gitbook/assets/data-uploads-dark.png
new file mode 100644
index 00000000..8ce83f8c
Binary files /dev/null and b/.gitbook/assets/data-uploads-dark.png differ
diff --git a/.gitbook/assets/data-uploads-light.png b/.gitbook/assets/data-uploads-light.png
new file mode 100644
index 00000000..3c7ab35a
Binary files /dev/null and b/.gitbook/assets/data-uploads-light.png differ
diff --git a/.gitbook/assets/details-code-owners-dark.png b/.gitbook/assets/details-code-owners-dark.png
new file mode 100644
index 00000000..7ff4ada1
Binary files /dev/null and b/.gitbook/assets/details-code-owners-dark.png differ
diff --git a/.gitbook/assets/details-code-owners-light.png b/.gitbook/assets/details-code-owners-light.png
new file mode 100644
index 00000000..7937f26e
Binary files /dev/null and b/.gitbook/assets/details-code-owners-light.png differ
diff --git a/.gitbook/assets/diamond_multi_large.png b/.gitbook/assets/diamond_multi_large.png
index 899a0a69..30fd88c0 100644
Binary files a/.gitbook/assets/diamond_multi_large.png and b/.gitbook/assets/diamond_multi_large.png differ
diff --git a/.gitbook/assets/drone.png b/.gitbook/assets/drone.png
new file mode 100644
index 00000000..8e672393
Binary files /dev/null and b/.gitbook/assets/drone.png differ
diff --git a/.gitbook/assets/droneci.png b/.gitbook/assets/droneci.png
new file mode 100644
index 00000000..0dc06d4e
Binary files /dev/null and b/.gitbook/assets/droneci.png differ
diff --git a/.gitbook/assets/enable-flaky-dark.png b/.gitbook/assets/enable-flaky-dark.png
new file mode 100644
index 00000000..4bd7241a
Binary files /dev/null and b/.gitbook/assets/enable-flaky-dark.png differ
diff --git a/.gitbook/assets/enable-flaky-light.png b/.gitbook/assets/enable-flaky-light.png
new file mode 100644
index 00000000..befbb2bf
Binary files /dev/null and b/.gitbook/assets/enable-flaky-light.png differ
diff --git a/.gitbook/assets/enable-parallel-mode b/.gitbook/assets/enable-parallel-mode
new file mode 100644
index 00000000..f16c5571
Binary files /dev/null and b/.gitbook/assets/enable-parallel-mode differ
diff --git a/.gitbook/assets/example-jira-form.png b/.gitbook/assets/example-jira-form.png
new file mode 100644
index 00000000..a6ede5fb
Binary files /dev/null and b/.gitbook/assets/example-jira-form.png differ
diff --git a/.gitbook/assets/example-jira-ticket (1) (1).png b/.gitbook/assets/example-jira-ticket (1) (1).png
new file mode 100644
index 00000000..78fb6e7c
Binary files /dev/null and b/.gitbook/assets/example-jira-ticket (1) (1).png differ
diff --git a/.gitbook/assets/example-jira-ticket (1).png b/.gitbook/assets/example-jira-ticket (1).png
new file mode 100644
index 00000000..78fb6e7c
Binary files /dev/null and b/.gitbook/assets/example-jira-ticket (1).png differ
diff --git a/.gitbook/assets/example-jira-ticket.png b/.gitbook/assets/example-jira-ticket.png
new file mode 100644
index 00000000..538dbaf4
Binary files /dev/null and b/.gitbook/assets/example-jira-ticket.png differ
diff --git a/.gitbook/assets/example-slack-message (1).png b/.gitbook/assets/example-slack-message (1).png
new file mode 100644
index 00000000..8850618c
Binary files /dev/null and b/.gitbook/assets/example-slack-message (1).png differ
diff --git a/.gitbook/assets/example-slack-message-dark.png b/.gitbook/assets/example-slack-message-dark.png
new file mode 100644
index 00000000..7e9aa861
Binary files /dev/null and b/.gitbook/assets/example-slack-message-dark.png differ
diff --git a/.gitbook/assets/example-slack-message-light.png b/.gitbook/assets/example-slack-message-light.png
new file mode 100644
index 00000000..3062f934
Binary files /dev/null and b/.gitbook/assets/example-slack-message-light.png differ
diff --git a/.gitbook/assets/example-slack-message.png b/.gitbook/assets/example-slack-message.png
new file mode 100644
index 00000000..b5679699
Binary files /dev/null and b/.gitbook/assets/example-slack-message.png differ
diff --git a/.gitbook/assets/example-webhook-connector-dark.png b/.gitbook/assets/example-webhook-connector-dark.png
new file mode 100644
index 00000000..397bff2e
Binary files /dev/null and b/.gitbook/assets/example-webhook-connector-dark.png differ
diff --git a/.gitbook/assets/example-webhook-connector-light.png b/.gitbook/assets/example-webhook-connector-light.png
new file mode 100644
index 00000000..ba95784c
Binary files /dev/null and b/.gitbook/assets/example-webhook-connector-light.png differ
diff --git a/.gitbook/assets/example-webhook-connector-slack (1).png b/.gitbook/assets/example-webhook-connector-slack (1).png
new file mode 100644
index 00000000..ff055c1f
Binary files /dev/null and b/.gitbook/assets/example-webhook-connector-slack (1).png differ
diff --git a/.gitbook/assets/example-webhook-connector-slack.png b/.gitbook/assets/example-webhook-connector-slack.png
new file mode 100644
index 00000000..6c4dd879
Binary files /dev/null and b/.gitbook/assets/example-webhook-connector-slack.png differ
diff --git a/.gitbook/assets/example-webhook-delivery-status.png b/.gitbook/assets/example-webhook-delivery-status.png
new file mode 100644
index 00000000..800d6bb4
Binary files /dev/null and b/.gitbook/assets/example-webhook-delivery-status.png differ
diff --git a/.gitbook/assets/example-webhook-github-issue-dark.png b/.gitbook/assets/example-webhook-github-issue-dark.png
new file mode 100644
index 00000000..5f7e44e1
Binary files /dev/null and b/.gitbook/assets/example-webhook-github-issue-dark.png differ
diff --git a/.gitbook/assets/example-webhook-github-issue-light.png b/.gitbook/assets/example-webhook-github-issue-light.png
new file mode 100644
index 00000000..493338d8
Binary files /dev/null and b/.gitbook/assets/example-webhook-github-issue-light.png differ
diff --git a/.gitbook/assets/example-webhook-github-permissions-dark.png b/.gitbook/assets/example-webhook-github-permissions-dark.png
new file mode 100644
index 00000000..b9985fd5
Binary files /dev/null and b/.gitbook/assets/example-webhook-github-permissions-dark.png differ
diff --git a/.gitbook/assets/example-webhook-github-permissions-light.png b/.gitbook/assets/example-webhook-github-permissions-light.png
new file mode 100644
index 00000000..19fa0ff1
Binary files /dev/null and b/.gitbook/assets/example-webhook-github-permissions-light.png differ
diff --git a/.gitbook/assets/example-webhook-linear-dark.png b/.gitbook/assets/example-webhook-linear-dark.png
new file mode 100644
index 00000000..0b269d5b
Binary files /dev/null and b/.gitbook/assets/example-webhook-linear-dark.png differ
diff --git a/.gitbook/assets/example-webhook-linear-light.png b/.gitbook/assets/example-webhook-linear-light.png
new file mode 100644
index 00000000..60cc3b31
Binary files /dev/null and b/.gitbook/assets/example-webhook-linear-light.png differ
diff --git a/.gitbook/assets/example-webhook-logs.png b/.gitbook/assets/example-webhook-logs.png
new file mode 100644
index 00000000..60f168e9
Binary files /dev/null and b/.gitbook/assets/example-webhook-logs.png differ
diff --git a/.gitbook/assets/failure-logs-dark.png b/.gitbook/assets/failure-logs-dark.png
new file mode 100644
index 00000000..20ef7b74
Binary files /dev/null and b/.gitbook/assets/failure-logs-dark.png differ
diff --git a/.gitbook/assets/failure-logs-light.png b/.gitbook/assets/failure-logs-light.png
new file mode 100644
index 00000000..282469a2
Binary files /dev/null and b/.gitbook/assets/failure-logs-light.png differ
diff --git a/.gitbook/assets/file.excalidraw (1) (1).svg b/.gitbook/assets/file.excalidraw (1) (1).svg
new file mode 100644
index 00000000..49c4121c
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (1) (1).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 768.2141971588135 302.6716637361782" width="768.2141971588135" height="302.6716637361782">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOVaXXfaRlx1MDAxMH33r/Chr7G6s9+bN/xcdTAwMTHXJ6mT1Elqt+nJkUGAaiEpQlx1MDAxOOOe/PfOXG5cdTAwMDdcdCFhjMHBLbYxaFfa2Z25c+eu9M/O7m4jXHUwMDFkx17j5W7Du2m5gd9O3FHjhT1+7SVcdTAwMDM/XG6xiWbfXHUwMDA30TBpZT17aVx1MDAxYVx1MDAwZl7+/LNcdTAwMWLHTtdPL6PoymlF/clpXuD1vTBcdTAwMWRgxz/x++7uP9l7YaDEa6Vu2FxyvOyErClcdTAwMWZLgyhcdTAwMWY9jcJsXFwwoLRWXFySaVx1MDAwZn9wiOOlXlx1MDAxYps7bjDw8lx1MDAxNnuocTG8Vlx1MDAxMb+ln15ftvTB+Fx1MDAwM3nb/+NrPmzHXHUwMDBmgrN0XHUwMDFjZGZcclwinH3eNkiT6Mr73W+nPTt26XjdWUk07PZCb2Cnn5tcdTAwMTnFbstPx/Y6JD86WYNiv1x1MDAxYrtcdTAwMDBcXDtGaSG04IRxTqet9nyuuKNccuFaXHUwMDExJlx1MDAwMIRcdTAwMTQlw1x1MDAwZaIgSqxhP4Fnf3LTLt3WVVx1MDAxN+1cdTAwMGLbeVx1MDAxZle0daeT91x1MDAxOX2fLlx1MDAxM46mUlx1MDAxOFx1MDAwM1x1MDAxNIhhSk+79Dy/20uzPuBcYuBSaSNcdTAwMDRRXHUwMDFhcktcdTAwMDde5lx1MDAxMbSPSU1B5C3WgPiknUXHX7lcdTAwMWZcdTAwMTK3753YU8JhXHUwMDEwXHUwMDE0XHUwMDE3M2zfLeb3KMrjiN1cdTAwMWT5ls/Q9j8qx18xXHUwMDA2Z+Iw9W7S6dRcdTAwMGJBXHUwMDEzNdvH5lxya7Y77/bi66/Bq1x1MDAwZYO4Me337UX1ZScnu6ed8Wt6cMrOP/wmLoZ/XHUwMDFm0lt4PzvK9/HdJIlGhevefcqXZVx1MDAxOLfdSWyDXHUwMDAygVx1MDAxZVx1MDAwNy2oUtP2wFx1MDAwZq/Ka1x1MDAxNkStq1x1MDAxY1x1MDAwZTtcdTAwMDWD53A4M/9cdTAwMDJcdTAwMDSVMvVcdTAwMTBUwjCqXHJdXHUwMDFhgtWruVx1MDAwMlx1MDAwNOlcblx1MDAxMITVICjBUVJqobGvNlx1MDAwMDNcdTAwMTBcdTAwMTSEOZorXHUwMDBiXHUwMDBmwD+uXHUwMDFlg8A0ccNB7CZcdTAwMTixXHUwMDE1KFx1MDAwNOJQMY88xVx1MDAxY1nGmkCsKkWAPFx1MDAxZWozXHJzmLovPOVcdTAwMDPCM7cqXG7TM/82XHUwMDBiMTlz9JXb94PxjPuzuMW1a35cdTAwMGU/h4NcdTAwMTRteLmbeoPUXHUwMDBmu5/DOPGjXHUwMDA0XHUwMDFkjeNGSd9ccnZcdTAwMWIz5zVcdTAwMDO/a2O80cL5eMlM+Kc+XHUwMDEy4LRD32+3i1x1MDAxNNVCY1xcP/SSk2WYXHUwMDA1bej6oVx1MDAxYnxY0VZcXDvvl2mmdVxupHjpXHUwMDBlPNuKx6VZiO+FPGtcbum6XGZygVx1MDAwNCMw7JdcdTAwMDe56ERN+vGLSsKLw18v+VH/9rZ7td08XHUwMDBihGlHSsm1UFpyljPck/Isc1xmNYaB5ERSTC3VPKuYQFx1MDAxM1x1MDAxMF+Cyzw5f6dZXHUwMDA1XHUwMDFjXHUwMDE0XHUwMDA1liPnOdCsXGJH8rc3be72hoF834bu+Nq9eVx1MDAwMppdeN3zg875sVx1MDAxYVx1MDAxZPU+8qMvhvy6f3Peaq2FviW6XHUwMDEw0I+6iPFN0DeyVy2ypY1kQvXyXHUwMDE1dLWXtpq+gVxi6ihqXHUwMDAwi1IhlSBiXHUwMDA22pa/jUD6NpKinjDllLNG/iZYRVx1MDAxMy61WpLEjaJcXEqs+n9cdTAwMTSJr1x1MDAxMqSPI/H9ZYhxQ1x1MDAxY35cdTAwMGZrlTn8gaaug8InOaZSJteCXFyBjTnQeVx1MDAxMN2H8cXJdMNcdTAwMThfmb1cdTAwMTHFXGJiXHUwMDAwKXCyOSlmXHUwMDEw58xRmkjFXHUwMDE11bhcdTAwMWP1XHUwMDEw71x1MDAxMN1cImR1iONAREnBNNEojFx1MDAxNM3FwFx1MDAxNOhcdTAwMDSVtLGYUlx1MDAxYzDhXHUwMDE4yDl+SuBWS1x1MDAxME3XgPt5XHUwMDAyp/dcdTAwMTP4RtJcdTAwMDFcIiVJ9/2wjTiZNexui2hcdTAwMTlcdTAwMTDapXBju9CO1MwuISOUXHUwMDFiQlmhRydqXHLtPPaIQ4QyWFBpMHbbXHUwMDAxy7u5yXth+36jXHUwMDE2V/dTo6SDkWpsvaw1MJ5L84JRaFx1MDAxMzHKXHUwMDEwXHUwMDAylEpkJIqd54xcbtxBelx1MDAxMPX7foqL/y7yw7S8yNlqNm066HnuXFxcdTAwMDTgpIpt5bxcdTAwMTHbK86Wavmn3Vx1MDAxY1rZl+nnv15U9t6rjfmsdT7c81x1MDAwYu5cdTAwMTT/ryRbUJLX5T2K4lx1MDAxN1x1MDAwNTt9gGxcdTAwMTlHwdnfsHdzTdzjY/WFXHUwMDFkXHUwMDA0zfdsy2VcdTAwMGJcdTAwMDftUCtbJEhcZqvCdtBcdTAwMDZ0S6fjtYyp0i1cdTAwMWF1i8RcdTAwMWFKMKjaokDXO1x1MDAxOFx1MDAxZUJcdTAwMDFFc7BjYYUmSY9qJjVRfCM5b2OipX9z2Dvg5KJcdTAwMTW0P42/nv7hvU7PPi0rLo5cXFx1MDAxOFxyz49Et7lvgt570fVGg1+e196gJLXbXHUwMDA2jFwiWUj2XHUwMDAwbVG9mNutLThDgFFMelhmMcHoLPxcdTAwMDRcdTAwMDFHMjxKXHUwMDExm1x1MDAxMrX6o+C3XnGB6Vx1MDAwMmlcdTAwMTPx+sPUxSpR+jh1cVAo2WMvY/0nU1x1MDAxN/eQS1ldPNDUjapcdTAwMGJgovZcdTAwMTaA1LZcIsSie2mYL95T2U55QcE4xGA2XHUwMDAzwEKGleRcdTAwMDUzXHUwMDBlQ4RcdTAwMDOnmmJ1p0t2rU9eMOlQhplcdTAwMDb5XHUwMDEz3yvlXHUwMDA1+lx1MDAxZYAxjlx1MDAwNYFhKHnm1Fx1MDAwNSWKXG5jXGJsZHtwy9VFfNa6XHUwMDFj9mNNP7JO6sGr8Tt6JedcdTAwMGJ5XHUwMDAwXHUwMDE0k8CMlFxuhZjRskpeYCWvbYkpKKZ+itld8NXUxZKSx979sVtUgKRcdTAwMDNcdTAwMWErOl5tXHUwMDE0I4CFXHUwMDE2VmKSo8Ig7JnLi9qYt6+5aF+nuKCy/tlcdTAwMDMkL0pccs9j9b6stzjytlNbUFx1MDAwNijt7EtLKrje6D2Rem3BXHUwMDFkXHUwMDE0+Nr6d3JXpEpeXHUwMDE4h1x1MDAwYvRcdTAwMDdow61cdTAwMDQppOBJ1pNcZucrTKHhOchcdTAwMGKqTuImXHUwMDA0+vjrJ9lcdTAwMTm9oX46ulx1MDAxOD/BvYv/umyhitRcIltcdTAwMGKmKebY5aFd7aXt1i1UXHUwMDEwh9tcIlx1MDAwMFx1MDAxMSOUmH2qSFx1MDAxMOpoQLWijKZY89DNPdNgpJM9K7SsaEGrsMrS4oc/1/B0ouUwV1x1MDAwMlx1MDAxNUKgh6u1IcVyXHUwMDBmZZVcdTAwMTXLQ+zcrFxcwTKhnrhcdTAwMDVTjEu2/K7g4ny3nXqFI4JcdTAwMDVWiowrI60uKVx0XHUwMDE2hJamXHUwMDE0yyZkS8NYybD1XHRcdTAwMTaqXHUwMDFj++SIloIyzlSlYqGorFxml1x1MDAwNKnbYGdl5iSLvXXDsOX/qFhcdTAwMTZvXHUwMDFi5OJAoEdcdTAwMDXWYVgqK8nzu9iz2oBcdTAwMTPFXHUwMDAxKLe3Qlx1MDAwNGqIubkvJViWVFHG3urATGk9Lyrs2UNBwyRcdTAwMTGoru3OXHUwMDE511ihzVx1MDAxOfSstEp9uE+a51wiPb/iTvH/g1NeIVx1MDAwNMtcdFx1MDAwZlx1MDAxNSqTXHUwMDAy+PL3f9Xbq7fvXkt+dFx1MDAxMZ6mhydcdTAwMDE9XHUwMDFjXHUwMDBm+lue8KhhXHUwMDBls6lcZnOaMjD7iFx1MDAwN5P2XHUwMDExXHUwMDBmzrTGhGd/N5bvUC+hc0FcbsJMtVTRiELFrInlLtNcdTAwMTJHSSCGsI08Jf24bMclonlcdTAwMWTZrlxm0ZqW51x1MDAwNP4619vXnNPrcL9zd/mGXHUwMDFix2e2lJo6XHUwMDExg8Bv39WO+Vx1MDAxY1x1MDAxYte+N9pfXHUwMDFjpDt33rbA9bKo+Lbz7V8w10FSIn0=<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="768.2141971588135" height="302.6716637361782" fill="transparent"/><g stroke-linecap="round" transform="translate(30 140.93609855063124) rotate(0 67.91329956054688 65.75733947753909)"><path d="M32 0 C60.38 0, 88.75 0, 103.83 0 C125.16 0, 135.83 10.67, 135.83 32 C135.83 51.01, 135.83 70.02, 135.83 99.51 C135.83 120.85, 125.16 131.51, 103.83 131.51 C87.5 131.51, 71.18 131.51, 32 131.51 C10.67 131.51, 0 120.85, 0 99.51 C0 76.11, 0 52.71, 0 32 C0 10.67, 10.67 0, 32 0" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M32 0 C52.02 0, 72.04 0, 103.83 0 M32 0 C58.17 0, 84.34 0, 103.83 0 M103.83 0 C125.16 0, 135.83 10.67, 135.83 32 M103.83 0 C125.16 0, 135.83 10.67, 135.83 32 M135.83 32 C135.83 45.98, 135.83 59.96, 135.83 99.51 M135.83 32 C135.83 47.18, 135.83 62.35, 135.83 99.51 M135.83 99.51 C135.83 120.85, 125.16 131.51, 103.83 131.51 M135.83 99.51 C135.83 120.85, 125.16 131.51, 103.83 131.51 M103.83 131.51 C88.62 131.51, 73.41 131.51, 32 131.51 M103.83 131.51 C81.76 131.51, 59.7 131.51, 32 131.51 M32 131.51 C10.67 131.51, 0 120.85, 0 99.51 M32 131.51 C10.67 131.51, 0 120.85, 0 99.51 M0 99.51 C0 84.1, 0 68.68, 0 32 M0 99.51 C0 83.6, 0 67.69, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(42.788299560546875 169.8934380281703) rotate(0 55.125 36.80000000000001)"><text x="55.125" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text><text x="55.125" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="55.125" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: testing</text><text x="55.125" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal </text></g><g stroke-linecap="round" transform="translate(219.68792724609375 140.93609855063124) rotate(0 66.9649658203125 65.86778259277347)"><path d="M32 0 C55.63 0, 79.26 0, 101.93 0 C123.26 0, 133.93 10.67, 133.93 32 C133.93 56.4, 133.93 80.81, 133.93 99.74 C133.93 121.07, 123.26 131.74, 101.93 131.74 C86.38 131.74, 70.83 131.74, 32 131.74 C10.67 131.74, 0 121.07, 0 99.74 C0 85.7, 0 71.67, 0 32 C0 10.67, 10.67 0, 32 0" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M32 0 C46.71 0, 61.41 0, 101.93 0 M32 0 C55.63 0, 79.25 0, 101.93 0 M101.93 0 C123.26 0, 133.93 10.67, 133.93 32 M101.93 0 C123.26 0, 133.93 10.67, 133.93 32 M133.93 32 C133.93 58.41, 133.93 84.82, 133.93 99.74 M133.93 32 C133.93 57.17, 133.93 82.34, 133.93 99.74 M133.93 99.74 C133.93 121.07, 123.26 131.74, 101.93 131.74 M133.93 99.74 C133.93 121.07, 123.26 131.74, 101.93 131.74 M101.93 131.74 C80.08 131.74, 58.22 131.74, 32 131.74 M101.93 131.74 C82.23 131.74, 62.53 131.74, 32 131.74 M32 131.74 C10.67 131.74, 0 121.07, 0 99.74 M32 131.74 C10.67 131.74, 0 121.07, 0 99.74 M0 99.74 C0 79.23, 0 58.72, 0 32 M0 99.74 C0 80.88, 0 62.03, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(233.75054931640625 170.00388114340467) rotate(0 52.90234375 36.80000000000001)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: testing</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(215.00405311584473 209.82628624369568) rotate(0 -21.538269042968636 -0.41486793706394565)"><path d="M0 0 C-7.18 -0.14, -35.9 -0.69, -43.08 -0.83 M0 0 C-7.18 -0.14, -35.9 -0.69, -43.08 -0.83" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(215.00405311584473 209.82628624369568) rotate(0 -21.538269042968636 -0.41486793706394565)"><path d="M-22.7 -7.81 C-28.4 -5.85, -34.11 -3.9, -43.08 -0.83 M-22.7 -7.81 C-30.26 -5.22, -37.83 -2.63, -43.08 -0.83" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(215.00405311584473 209.82628624369568) rotate(0 -21.538269042968636 -0.41486793706394565)"><path d="M-22.98 6.93 C-28.61 4.76, -34.23 2.58, -43.08 -0.83 M-22.98 6.93 C-30.44 4.05, -37.9 1.17, -43.08 -0.83" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(599.2879276275635 140.93609855063124) rotate(0 69.463134765625 63.54278564453128)"><path d="M31.77 0 C47.31 0, 62.85 0, 107.15 0 C128.34 0, 138.93 10.59, 138.93 31.77 C138.93 55.8, 138.93 79.83, 138.93 95.31 C138.93 116.5, 128.34 127.09, 107.15 127.09 C89.91 127.09, 72.67 127.09, 31.77 127.09 C10.59 127.09, 0 116.5, 0 95.31 C0 72.58, 0 49.85, 0 31.77 C0 10.59, 10.59 0, 31.77 0" stroke="none" stroke-width="0" fill="#ffec99"/><path d="M31.77 0 C55.25 0, 78.74 0, 107.15 0 M31.77 0 C53.18 0, 74.59 0, 107.15 0 M107.15 0 C128.34 0, 138.93 10.59, 138.93 31.77 M107.15 0 C128.34 0, 138.93 10.59, 138.93 31.77 M138.93 31.77 C138.93 49.27, 138.93 66.76, 138.93 95.31 M138.93 31.77 C138.93 55.32, 138.93 78.87, 138.93 95.31 M138.93 95.31 C138.93 116.5, 128.34 127.09, 107.15 127.09 M138.93 95.31 C138.93 116.5, 128.34 127.09, 107.15 127.09 M107.15 127.09 C77.54 127.09, 47.92 127.09, 31.77 127.09 M107.15 127.09 C83.08 127.09, 59.01 127.09, 31.77 127.09 M31.77 127.09 C10.59 127.09, 0 116.5, 0 95.31 M31.77 127.09 C10.59 127.09, 0 116.5, 0 95.31 M0 95.31 C0 81.08, 0 66.84, 0 31.77 M0 95.31 C0 73.55, 0 51.78, 0 31.77 M0 31.77 C0 10.59, 10.59 0, 31.77 0 M0 31.77 C0 10.59, 10.59 0, 31.77 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(615.8487186431885 167.67888419516254) rotate(0 52.90234375 36.79999999999998)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: pending</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(400.1178226470947 205.37232579752538) rotate(0 -18.118591308593636 0.5556672434653365)"><path d="M0 0 C-6.04 0.19, -30.2 0.93, -36.24 1.11 M0 0 C-6.04 0.19, -30.2 0.93, -36.24 1.11" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(400.1178226470947 205.37232579752538) rotate(0 -18.118591308593636 0.5556672434653365)"><path d="M-19.4 -5.61 C-25.29 -3.26, -31.17 -0.91, -36.24 1.11 M-19.4 -5.61 C-25.85 -3.03, -32.3 -0.46, -36.24 1.11" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(400.1178226470947 205.37232579752538) rotate(0 -18.118591308593636 0.5556672434653365)"><path d="M-19.02 6.79 C-25.04 4.8, -31.06 2.82, -36.24 1.11 M-19.02 6.79 C-25.62 4.61, -32.21 2.44, -36.24 1.11" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(412.0992193222046 140.93609855063124) rotate(0 67.45144653320312 64.72647094726565)"><path d="M32 0 C58.67 0, 85.34 0, 102.9 0 C124.24 0, 134.9 10.67, 134.9 32 C134.9 52.99, 134.9 73.97, 134.9 97.45 C134.9 118.79, 124.24 129.45, 102.9 129.45 C88.64 129.45, 74.39 129.45, 32 129.45 C10.67 129.45, 0 118.79, 0 97.45 C0 77.75, 0 58.04, 0 32 C0 10.67, 10.67 0, 32 0" stroke="none" stroke-width="0" fill="#ffec99"/><path d="M32 0 C56.26 0, 80.52 0, 102.9 0 M32 0 C51.17 0, 70.33 0, 102.9 0 M102.9 0 C124.24 0, 134.9 10.67, 134.9 32 M102.9 0 C124.24 0, 134.9 10.67, 134.9 32 M134.9 32 C134.9 47.34, 134.9 62.68, 134.9 97.45 M134.9 32 C134.9 49.97, 134.9 67.94, 134.9 97.45 M134.9 97.45 C134.9 118.79, 124.24 129.45, 102.9 129.45 M134.9 97.45 C134.9 118.79, 124.24 129.45, 102.9 129.45 M102.9 129.45 C76.26 129.45, 49.62 129.45, 32 129.45 M102.9 129.45 C80.76 129.45, 58.61 129.45, 32 129.45 M32 129.45 C10.67 129.45, 0 118.79, 0 97.45 M32 129.45 C10.67 129.45, 0 118.79, 0 97.45 M0 97.45 C0 80.55, 0 63.65, 0 32 M0 97.45 C0 74.45, 0 51.44, 0 32 M0 32 C0 10.67, 10.67 0, 32 0 M0 32 C0 10.67, 10.67 0, 32 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(431.5116033554077 168.86256949789686) rotate(0 48.0390625 36.80000000000001)"><text x="48.0390625" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text><text x="48.0390625" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="48.0390625" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state:pending</text><text x="48.0390625" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: high</text></g><g stroke-linecap="round"><g transform="translate(583.6025762557986 199.72785636090885) rotate(0 -13.795593261718864 -1.0497304474795897)"><path d="M0 0 C-4.6 -0.35, -22.99 -1.75, -27.59 -2.1 M0 0 C-4.6 -0.35, -22.99 -1.75, -27.59 -2.1" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(583.6025762557986 199.72785636090885) rotate(0 -13.795593261718864 -1.0497304474795897)"><path d="M-14.27 -5.83 C-19.15 -4.46, -24.03 -3.1, -27.59 -2.1 M-14.27 -5.83 C-19.47 -4.37, -24.67 -2.92, -27.59 -2.1" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(583.6025762557986 199.72785636090885) rotate(0 -13.795593261718864 -1.0497304474795897)"><path d="M-14.99 3.61 C-19.6 1.52, -24.22 -0.57, -27.59 -2.1 M-14.99 3.61 C-19.91 1.38, -24.83 -0.85, -27.59 -2.1" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(474.3607759475708 30) rotate(0 0.544708251953125 40.036895751953125)"><path d="M0 0 C0.18 13.35, 0.91 66.73, 1.09 80.07 M0 0 C0.18 13.35, 0.91 66.73, 1.09 80.07" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(474.3607759475708 30) rotate(0 0.544708251953125 40.036895751953125)"><path d="M-9.55 52.03 C-6.35 60.46, -3.15 68.89, 1.09 80.07 M-9.55 52.03 C-7.04 58.66, -4.52 65.28, 1.09 80.07" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(474.3607759475708 30) rotate(0 0.544708251953125 40.036895751953125)"><path d="M10.97 51.75 C8 60.26, 5.03 68.78, 1.09 80.07 M10.97 51.75 C8.63 58.44, 6.3 65.14, 1.09 80.07" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (1).svg b/.gitbook/assets/file.excalidraw (1).svg
new file mode 100644
index 00000000..6350f9b5
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (1).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 660.9048585891724 185.36718749999994" width="660.9048585891724" height="185.36718749999994">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nNVa21LbOlx1MDAxNH3nK5ic19bV/dI3blx1MDAwNXpcdTAwMDFaOITpaYcxtpKYOLaxXHI0dPj3s2VC7DhcdTAwMTdIgJLSXHUwMDE5mliytSWttddeMr9XVldcdTAwMWJ5PzGN96tccvPLc8PAT93rxlx1MDAxYnv9yqRZXHUwMDEwR9BEiu9ZfJl6Rc9OnifZ+3fv3CRx2kF+XHUwMDE2x13Hi3t3t5nQ9EyUZ9DxP/i+uvq7+F1cdTAwMTkoNV7uRu3QXHUwMDE0N1x1MDAxNE3lWFKz+tW9OCrGxVpwyYhcImWPINuE8XLjQ3PLXHIzU7bYS40tdeX1mzRccvz2R9Nf23bPm/thOWwrXGLDw7xcdTAwMWZcdTAwMTZhZTHMvmzL8jTummbg51x1MDAxZDt27fq0u9L4st2JTGanj4ZX48T1grxvn4PKq3drUO33XHUwMDBivlx0QVx1MDAxY6Ip01x1MDAxMinOJabDVns/pcpBgmuhXHUwMDE1w5yRymrdXHUwMDA1tlx1MDAxMYdxalx1MDAwM/tcdTAwMDdcdTAwMWL7r1xm7cz1um2IL/LLPi73VatV9rm+ny7hXHUwMDBlY4hcIimwxEryMoqOXHTanXzQhyhcdTAwMDVRaio5Qqjsk5liRzDGUlwijjVcdTAwMTm22Fx1MDAwMJJdv0DHz3JcdTAwMWZSt2d27S3RZVx1MDAxOFZcdTAwMTcz8lx1MDAwN4t5j6JcdTAwMTJHdHDltpyh7b9Vx19cdTAwMTWDIzjMza98OPVcbmjMsTzX7HR/T52eXrL2vmh5m1lj2O/2zeTH3t2M20dfXHUwMDBlXHUwMDEwXHUwMDBizyTWdO+bPo9Om59HR7lcdTAwMWbfTdP4uvLcwadyWS5cdTAwMTPfvcM2bFx1MDAwMlx1MDAxN5RcdTAwMGLOkCzhXHUwMDEyXHUwMDA2Ube+ZmHsdUs6rFRcdTAwMDJcdTAwMWXj4cj8q1x1MDAxNORoXHUwMDFhXHUwMDA1qeaIXHUwMDAxJsmjXHUwMDE5OHkxXHUwMDE3YCBZgIF4MVx1MDAwNkriXHUwMDAwdFx1MDAwMfyYMSz4KFx1MDAwMVx1MDAwNXU0PFx1MDAwM1x1MDAxM4VcdTAwMTHw9Cn0y1M3ylx1MDAxMjdcdTAwMDW4TqAg4o5CTFx1MDAwMPnGuSepI+psg2Rg6cqegWwjXHJjrJpcdTAwMDZQiSimXHUwMDE0MTxcdTAwMDdAy6jiKD9cZm6KPC9Grn5we0HYXHUwMDFmQUCBXFxYwLVcdTAwMWbRjyjLIYb3q7nJ8iBq/4iSNIhT2GtcdTAwMTg3TntuJd3b29bCoG1B3vBgOiZcdTAwMWTBf1x1MDAxZYBcdTAwMDJcdTAwMGU79Fx1MDAwMt+vapRcdTAwMDexuEFk0t3HSFx1MDAwYoTQXHUwMDBlXCI3PFosVFg5szPMtFx1MDAwZeZcdTAwMTVcdTAwMWNlxrZaoOqZ/J6ps7qyynWdXHUwMDA1llNcdTAwMGVcdTAwMTh/vM5+PNjrfz95e3xcdTAwMTJcdTAwMWZcdTAwMDbrcSt0v3S9b8uts1xuK4drhVx1MDAwNOGYXHUwMDEzrtSr6CwlXHUwMDBlRUIwXHUwMDFiXHUwMDA2XHUwMDFh0dBcdTAwMTGdpcKqMNPFz1x1MDAxOPMhVUErRqqc4d+gsyfpXHUwMDFhuVL55e7RcW+H70T/xptnR39AZ2c+t5V/XHUwMDBlNrfiLP602Vu7+uzfdFSTPIt+2/RcYnvM5Uvrt1J0KrVcdTAwMDWnXHUwMDA0cTFcdTAwMDe1J+/SUlx1MDAwYrii2FFMI1xugijlXHUwMDE4ta2CM23rKV1Qe3kknGPMOFx1MDAwMaq/poTPi9GnSfj6K0r4XHUwMDAzqlWX8DlDfVx1MDAwZVx0v0sxkzhOdf3qkONMK1wiXHUwMDAxR4/n+OxkuqTybetwhiHZKUCsXHUwMDFl5ThDzMFcZmFGXHUwMDE1tGFWj6vkeFx1MDAwYilcdTAwMGahxTlOkIOkZlx1MDAwMlx1MDAxMlxyZVRSVVwif0h15FxiipVAilxipMFcdTAwMGXjSspcdTAwMTkoOFx1MDAwN7svlVx1MDAxNC+i4ORhXHUwMDA1n5VcdTAwMTBcYlx1MDAxN1x1MDAxNZ8zR0JcdTAwMDCupPl6XHUwMDEw+cCU0cBcdTAwMDaHRI+hoV1cbjexe+pcYthryaDaIZDcXHSt9GjF3qWdx1vYXHJcdTAwMGVlkoBKiiEtmWB6bPIm8lx1MDAxZlx1MDAwZWp2eT9cZko42Fx1MDAwMoxrpFx1MDAwMJFMylx0QUFMXHUwMDEwiraeXHUwMDExXHUwMDAwIIG6Uo1cdTAwMDVcdTAwMTW6Wb5cdTAwMTH3ekFcdTAwMGWLf1x1MDAxMFx1MDAwN1FeX+RiNddsQuhcdTAwMTh3XGZcdTAwMDEwqWpbPXMk9omjtVr5abXkVvFl+Pnnm4m9305cdTAwMDd90TyO9/KJK9X/XHUwMDE3ci5UTk99IF6UcUXKbPBQ6ru5QenF9lx1MDAwNZfN/VxyuS2882b3prncqVx1MDAwZuDjIFhcdTAwMDXrXHUwMDFihCSqdkDxvM6l1TKe1pNOXGLtMDbH3nmTXHRcdTAwMTVcdTAwMGXA3SGcXHUwMDBixiWAgFNcXFmie+PCmVx1MDAxMvBTxrhcZsblyU5gisN4yFx1MDAxMPmd3jf3YOvr1ulOsHPs8n53+8Sdz2AgjirV41x1MDAwYlx1MDAxOVxmhqaf0XPEuCBsXHUwMDBlgzF51kttMLTSXHUwMDBlXHUwMDE2goCFUIhcdTAwMTJSO6NcdTAwMTdg6jVcdTAwMTBcdTAwMTQq+Vx1MDAwMvnLYzAwVVgzXFxNXG6v4DDmXHUwMDA16dNcdTAwMWPGRqVsT0yh+3/MYTygLnWHMWeoL+owMKayfnn4XHUwMDFhQCpcdTAwMDFV9+NVdnYuXVKVRZZbxJ7NQS1DR1VcdTAwMTZ0z1x1MDAwMemSnFAsJatU/c9tMMDnMKXtcnP7po2TXHRHhMiBIJmEqstcdTAwMTa8hI5cdTAwMWZcdTAwMTFSbUsj/FwiL+KW3F7M5uCwkpdcdTAwMGWhVDDCpYKQpnhcdTAwMGJcdTAwMDWmglJI7lxuykyovlx1MDAxNvNcdTAwMTaPNDxcdTAwMDJ2VUNqV0JLXHUwMDBlXHUwMDBlYpK3sEFB/SW4XHUwMDEwiil7oiXHg/qrvMV0vFx1MDAxN83jUH9Ob1x1MDAwMVx1MDAxNm5azlx1MDAwM78jNVZzvPrcO6LbW1x1MDAwN1x1MDAxZm+6wrvY48mH759u0NflTnqw6Fx1MDAwZVx1MDAxNFxijGlGmGS0/vKTXHUwMDExsHaQXHUwMDE5rYhcdTAwMTM9w1tMTGlzpz5cIqaXN1x1MDAxOEwoXHUwMDAx3JNKeTUocjRBXHUwMDFjeICe4Vx1MDAxOHUhVzHrXHK+tH/FMneBvjLgS8NNkkNbXHUwMDFmXGZDg6lcdTAwMDX+oCYqXHUwMDFm07hcbsz1+uzlXlx1MDAxOczBXHUwMDAy0Vx1MDAxNHO9Xbn9XHUwMDFmdUzq3yJ9<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="660.9048585891724" height="185.36718749999994" fill="transparent"/><g stroke-linecap="round" transform="translate(187.09904766082764 30) rotate(0 62.72015380859375 62.64404296875)"><path d="M31.32 0 C54.77 0, 78.22 0, 94.12 0 C115 0, 125.44 10.44, 125.44 31.32 C125.44 44.05, 125.44 56.78, 125.44 93.97 C125.44 114.85, 115 125.29, 94.12 125.29 C72.31 125.29, 50.51 125.29, 31.32 125.29 C10.44 125.29, 0 114.85, 0 93.97 C0 69.83, 0 45.68, 0 31.32 C0 10.44, 10.44 0, 31.32 0" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M31.32 0 C52.75 0, 74.17 0, 94.12 0 M31.32 0 C51.81 0, 72.29 0, 94.12 0 M94.12 0 C115 0, 125.44 10.44, 125.44 31.32 M94.12 0 C115 0, 125.44 10.44, 125.44 31.32 M125.44 31.32 C125.44 45.92, 125.44 60.53, 125.44 93.97 M125.44 31.32 C125.44 49.79, 125.44 68.26, 125.44 93.97 M125.44 93.97 C125.44 114.85, 115 125.29, 94.12 125.29 M125.44 93.97 C125.44 114.85, 115 125.29, 94.12 125.29 M94.12 125.29 C72.03 125.29, 49.95 125.29, 31.32 125.29 M94.12 125.29 C74.62 125.29, 55.12 125.29, 31.32 125.29 M31.32 125.29 C10.44 125.29, 0 114.85, 0 93.97 M31.32 125.29 C10.44 125.29, 0 114.85, 0 93.97 M0 93.97 C0 76.5, 0 59.04, 0 31.32 M0 93.97 C0 80.58, 0 67.19, 0 31.32 M0 31.32 C0 10.44, 10.44 0, 31.32 0 M0 31.32 C0 10.44, 10.44 0, 31.32 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(196.9168577194214 55.844042968750045) rotate(0 52.90234375 36.80000000000001)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: testing</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round" transform="translate(343.40361309051514 30) rotate(0 66.1533203125 62.68359374999997)"><path d="M31.34 0 C46.73 0, 62.12 0, 100.96 0 C121.86 0, 132.31 10.45, 132.31 31.34 C132.31 47.21, 132.31 63.09, 132.31 94.03 C132.31 114.92, 121.86 125.37, 100.96 125.37 C76.48 125.37, 52 125.37, 31.34 125.37 C10.45 125.37, 0 114.92, 0 94.03 C0 80.35, 0 66.68, 0 31.34 C0 10.45, 10.45 0, 31.34 0" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M31.34 0 C50.49 0, 69.63 0, 100.96 0 M31.34 0 C57.72 0, 84.1 0, 100.96 0 M100.96 0 C121.86 0, 132.31 10.45, 132.31 31.34 M100.96 0 C121.86 0, 132.31 10.45, 132.31 31.34 M132.31 31.34 C132.31 44.91, 132.31 58.48, 132.31 94.03 M132.31 31.34 C132.31 46.22, 132.31 61.1, 132.31 94.03 M132.31 94.03 C132.31 114.92, 121.86 125.37, 100.96 125.37 M132.31 94.03 C132.31 114.92, 121.86 125.37, 100.96 125.37 M100.96 125.37 C79.88 125.37, 58.8 125.37, 31.34 125.37 M100.96 125.37 C78.63 125.37, 56.29 125.37, 31.34 125.37 M31.34 125.37 C10.45 125.37, 0 114.92, 0 94.03 M31.34 125.37 C10.45 125.37, 0 114.92, 0 94.03 M0 94.03 C0 71.78, 0 49.53, 0 31.34 M0 94.03 C0 81.14, 0 68.25, 0 31.34 M0 31.34 C0 10.45, 10.45 0, 31.34 0 M0 31.34 C0 10.45, 10.45 0, 31.34 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(356.65458965301514 55.88359374999999) rotate(0 52.90234375 36.79999999999998)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: testing</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(338.7197389602661 96.07417395937114) rotate(0 -10.039733886718693 -0.31593041304759595)"><path d="M0 0 C-3.35 -0.11, -16.73 -0.53, -20.08 -0.63 M0 0 C-3.35 -0.11, -16.73 -0.53, -20.08 -0.63" stroke="#f08c00" stroke-width="1" fill="none"/></g><g transform="translate(338.7197389602661 96.07417395937114) rotate(0 -10.039733886718693 -0.31593041304759595)"><path d="M-10.54 -3.77 C-12.51 -3.12, -14.48 -2.47, -20.08 -0.63 M-10.54 -3.77 C-14.09 -2.6, -17.64 -1.43, -20.08 -0.63" stroke="#f08c00" stroke-width="1" fill="none"/></g><g transform="translate(338.7197389602661 96.07417395937114) rotate(0 -10.039733886718693 -0.31593041304759595)"><path d="M-10.75 3.1 C-12.68 2.33, -14.61 1.56, -20.08 -0.63 M-10.75 3.1 C-14.22 1.71, -17.7 0.32, -20.08 -0.63" stroke="#f08c00" stroke-width="1" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(502.84345722198486 30) rotate(0 64.03070068359375 61.12782287597656)"><path d="M30.56 0 C49.35 0, 68.14 0, 97.5 0 C117.87 0, 128.06 10.19, 128.06 30.56 C128.06 51.35, 128.06 72.14, 128.06 91.69 C128.06 112.07, 117.87 122.26, 97.5 122.26 C73.81 122.26, 50.12 122.26, 30.56 122.26 C10.19 122.26, 0 112.07, 0 91.69 C0 70.47, 0 49.25, 0 30.56 C0 10.19, 10.19 0, 30.56 0" stroke="none" stroke-width="0" fill="#ffec99"/><path d="M30.56 0 C52.07 0, 73.57 0, 97.5 0 M30.56 0 C50.76 0, 70.96 0, 97.5 0 M97.5 0 C117.87 0, 128.06 10.19, 128.06 30.56 M97.5 0 C117.87 0, 128.06 10.19, 128.06 30.56 M128.06 30.56 C128.06 52.61, 128.06 74.65, 128.06 91.69 M128.06 30.56 C128.06 52.16, 128.06 73.76, 128.06 91.69 M128.06 91.69 C128.06 112.07, 117.87 122.26, 97.5 122.26 M128.06 91.69 C128.06 112.07, 117.87 122.26, 97.5 122.26 M97.5 122.26 C74.24 122.26, 50.98 122.26, 30.56 122.26 M97.5 122.26 C72.5 122.26, 47.51 122.26, 30.56 122.26 M30.56 122.26 C10.19 122.26, 0 112.07, 0 91.69 M30.56 122.26 C10.19 122.26, 0 112.07, 0 91.69 M0 91.69 C0 76.91, 0 62.14, 0 30.56 M0 91.69 C0 68.82, 0 45.95, 0 30.56 M0 30.56 C0 10.19, 10.19 0, 30.56 0 M0 30.56 C0 10.19, 10.19 0, 30.56 0" stroke="#1e1e1e" stroke-width="1" fill="none"/></g><g transform="translate(513.9718141555786 54.32782287597655) rotate(0 52.90234375 36.79999999999998)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: pending</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(495.60981464385986 93.42078247620566) rotate(0 -6.744842529296761 -0.2032381573246198)"><path d="M0 0 C-2.25 -0.07, -11.24 -0.34, -13.49 -0.41 M0 0 C-2.25 -0.07, -11.24 -0.34, -13.49 -0.41" stroke="#f08c00" stroke-width="1" fill="none"/></g><g transform="translate(495.60981464385986 93.42078247620566) rotate(0 -6.744842529296761 -0.2032381573246198)"><path d="M-7.08 -2.52 C-8.39 -2.09, -9.69 -1.66, -13.49 -0.41 M-7.08 -2.52 C-9.38 -1.76, -11.67 -1.01, -13.49 -0.41" stroke="#f08c00" stroke-width="1" fill="none"/></g><g transform="translate(495.60981464385986 93.42078247620566) rotate(0 -6.744842529296761 -0.2032381573246198)"><path d="M-7.22 2.09 C-8.5 1.58, -9.77 1.07, -13.49 -0.41 M-7.22 2.09 C-9.47 1.2, -11.71 0.3, -13.49 -0.41" stroke="#f08c00" stroke-width="1" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(30 34.57373046875) rotate(0 63.40234375 60.1328125)"><path d="M30.07 0 C47.03 0, 63.99 0, 96.74 0 M30.07 0 C48.72 0, 67.38 0, 96.74 0 M96.74 0 C116.78 0, 126.8 10.02, 126.8 30.07 M96.74 0 C116.78 0, 126.8 10.02, 126.8 30.07 M126.8 30.07 C126.8 44.88, 126.8 59.68, 126.8 90.2 M126.8 30.07 C126.8 49.4, 126.8 68.73, 126.8 90.2 M126.8 90.2 C126.8 110.24, 116.78 120.27, 96.74 120.27 M126.8 90.2 C126.8 110.24, 116.78 120.27, 96.74 120.27 M96.74 120.27 C78.56 120.27, 60.39 120.27, 30.07 120.27 M96.74 120.27 C80.69 120.27, 64.64 120.27, 30.07 120.27 M30.07 120.27 C10.02 120.27, 0 110.24, 0 90.2 M30.07 120.27 C10.02 120.27, 0 110.24, 0 90.2 M0 90.2 C0 70.22, 0 50.23, 0 30.07 M0 90.2 C0 67, 0 43.81, 0 30.07 M0 30.07 C0 10.02, 10.02 0, 30.07 0 M0 30.07 C0 10.02, 10.02 0, 30.07 0" stroke="transparent" stroke-width="1" fill="none"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (2).svg b/.gitbook/assets/file.excalidraw (2).svg
new file mode 100644
index 00000000..90b98f21
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (2).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 724.4078245162964 250.67749023437494" width="724.4078245162964" height="250.67749023437494">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOVaa1PbyFx1MDAxMv3Or6C4X4N2nj3T+UaAJZC7XHUwMDBlu0BCcrNFXHRZtoVlSZFFeGzlv9+WXHUwMDAwS5ZcdTAwMWZcYmxcdTAwMTKnNlRcdTAwMDWjXHUwMDE5aXpm+pw+Z6x/1tbXN7KbxN94vb7hX3tuXHUwMDE4tFP3auNVfv2bn1x1MDAwZYM4oiZR/D2ML1Ov6NnLsmT4+rff3CRxukF2XHUwMDFlx33Hi1x1MDAwN3e3+aE/8KNsSFx1MDAxZP9Hf6+v/1P8X1x1MDAxOSj1vcyNuqFf3FA0lWNxbm39ciuOioG50qik5jDqXHUwMDEwXGZ3aLzMb1Nrx1xyh37Z0i6Giv9kX8//kvxcdTAwMTS7R9s7vXct9+q2XHUwMDFjtlx1MDAxM4ThUXZcdTAwMTNcdTAwMTZhXHJjmn3ZNszSuO9/XGbaWe9hXHQq12fdlcaX3V7kXHUwMDBm8+mz0dU4cb0gu8mnwMqrd2tQ7XdNf1mlXHUwMDFjqUBqkMiRgVx1MDAxObXm9ytcdTAwMDFcdTAwMGWAsJZbzTmCrMW1XHUwMDFkh3Gax/VcdTAwMWbu5z9lZOeu1+9SeFG77NPpeOhh2efqfracRpFKXCIqrlx1MDAxOFxihWrUpedcdTAwMDfdXlZsXHUwMDE0OFZIQESKxHAsI/GL/aCNZIJasdyufPxkv13kxt/lLqTuwN/Pb4kuw7C6lFH7filcdTAwMWZyqMxcInl/5Xs5wbz/bj37qlx1MDAxOTiWhZl/nY1mXkmZv77e2Nt+q+19+upvJrcnScD8wcao3/dX01x1MDAxZnt38+fedlx1MDAxMr6/Rjg+UCFcdTAwMWO2h1x1MDAwN62TaHyUh/HdNI2vmj5cdTAwMTc/XVx1MDAxZHXOXHUwMDA2rtv+8HknOt9vXVx1MDAxZp/2mz33/lO53JdJ271DXGbtmjZMSsG0LVx1MDAxMylcZqJ+fS/C2OuXIFurXHUwMDA0PIHusXWtXHUwMDAyW3I+XHUwMDBi2Fx1MDAxNlx1MDAwMFx1MDAxNUUhXHUwMDFhXHUwMDAze/ou/SBg8+dcdTAwMDFbXHUwMDBiR1pcdTAwMGVSXHUwMDE5Llx1MDAwNEcxXHUwMDBlbGVcdTAwMWRhlJHcXG4wXHUwMDA0rEWAnaVuNEzclJAwXHUwMDA13JzRSFx1MDAwNG+jJ1FtpFx1MDAwM1x1MDAxM0BmXHUwMDEywVx1MDAxOG7Y4kBcdTAwMWVrmEDsMpO0jCqOsqPgtiggMHb1d3dcdTAwMTCEN2NJUGQvreDWl+hLNMwohtfrqU9cdTAwMWbSLIi6X6IkXHLilHacho7TgVx1MDAxYm6M3blcdTAwMTVcdTAwMDbdPNc3PJqRn47BIFx1MDAwYqi8jjpcZoJ2u1pcdTAwMDA9XG7HXHJcIj/db1K3KIRuXHUwMDEwueHxs6Ol9fPfjqjc4bqSTkM/b6XrgHORPreOIzP1q6MyLrQwXGYtlPn0XHUwMDE43KOtPa+bXHUwMDBlszPTOlHZvnv2bvPs42rXcc6EdoBZxlx1MDAxNacqrlm5xC9RyH1cdTAwMGanXHUwMDE2cnQ4lXFcdTAwMWGIpITQrFx1MDAxY6ZSyI1cdTAwMDOcadBcdTAwMTSKVjBZyFxyciN4lZ5XoZDfZYbb+mNL7YdcdTAwMTd7b9lcdTAwMTFcdTAwMWJsf7jBy/fXXHUwMDBiVdzHXHUwMDA0wsXR4UX7JIKbP3B3863i9uK8Z3+2QLiN4eP7oFx1MDAwNcZTO97xx9+7Z1wiSZYnXHUwMDEwSFx1MDAwNaoqd7yEQLAgZjGGJlx1MDAwMIFcdTAwMTFMNSaM6Zu00vqAyqxxJNOKcVx1MDAxMs6swlxiXHUwMDBm+lx1MDAwMIDkg1IkzFx1MDAwMe1cInwxX1x1MDAxZjDtWKbANtVcdTAwMDdGXHUwMDFh4lx1MDAxMCHV4vSwgDx4YoouJlx1MDAwZt5UXG5u4kftXHUwMDFmqVxyXHUwMDFlqYV1bfDEUJchXGbuXHUwMDE4ZppcdTAwMDdcdTAwMDAu65dHXHUwMDFlQCnBSVx1MDAxYjc39/O5dFVFXHUwMDAxd4QyXHUwMDAyXHUwMDE4Q1x0tqy1XHUwMDA1xq12XGbjqLVcdTAwMTSWXHUwMDFi0LW4KvWeWY+x52NcXJJcdTAwMTVcdTAwMDGGjFlzJ1xmJpHOXHUwMDFjIJdAYSAjyrGmskj3sGeKJJzFXHUwMDE3UVx1MDAwNeJxVfBcImxQaOc3QVx1MDAwMZPxwO7PtZpgMF9cbjfJNzRfZZMzumTAdWnqXG6G8S7zeWwyh9FuUyejczVIPlx1MDAwYtTE7Fx0uI9HNd81jKLiljQhJaBcdTAwMDUrSFx1MDAxMqIxs8JcdTAwMDKllTBUdLhcdTAwMDXabj1cdTAwMTFW6Fx1MDAwZbPteDBcYjJa/8M4iLL6Olx1MDAxN1x1MDAwYrqVXHUwMDEzQs93J5KAplVtqzNHkj9xXFxcdTAwMDKWn9ZLbFx1MDAxNX+MPv/9amrvzZlJX7RO5Hv5vLXq72e5IaVY/erIXHJcdTAwMTHp5fJcXDcnvkvW2/NOQ9v6cHIhPptMe35PrDjxkaBxXHUwMDA0cpBcdTAwMDK0XHUwMDEwVrzsseYsN0SA5KSelJ1++sG5clx1MDAxMK0xKDDXP1x1MDAxNbv04IWEzfNcdTAwMDfZXHUwMDEyzkKW7oVcdTAwMTYwXHUwMDAxz/RCyt/P4naAXG5PLt9ccnd9XHUwMDE57WzurODhI1x1MDAwMXom/qhcdTAwMTAz1Fx1MDAxMpvjb/qsV9tcXFxirlx1MDAxZDL3wnAqjrTyNfwpslx1MDAxZSCoVSGhT9pcdTAwMTc8fnyqvUCqU1xiVEV/qr34oaeP2z/RXjxSXFzq9uKJob6svVx1MDAxMHz2oSNQmVVU9ptcdTAwMWY6zqfT1SyzXHUwMDFj0WHaIFx1MDAxNSgzXHUwMDA15lx1MDAxNlx1MDAxY0bSXHUwMDE4tFUolZpTZ1x1MDAxN3ZcdTAwMTjGsTSSNIJcdTAwMTF+yPdMqbZcdTAwMGU1SyBcdTAwMDI2SFx1MDAwMVmc/OZBMlJcdTAwMDRj3/j+ezzGfCCO1LxxhJSghCadXpW0Y0reXHUwMDEypVx1MDAxYkvyioRcdTAwMTZcdTAwMWGFz/NcdTAwMTdccl1cdTAwMGY4ipGI0paG0rxyaldcdTAwMGJcblxmXHUwMDA3XHJAOy81MjFcdTAwMTnUr+UuZiV80TqZ68u0XHUwMDE3olJcdTAwMWNrvIecgzJcYs2PTjtcdTAwMWZcdTAwMGV3XHUwMDEzk9re+Tlv928/87f9rcvVpj1cdTAwMDAgS2uMXHUwMDExtLy0zLWj0+bmXHUwMDAyXHL3xHxz4eq27XSmf9WiXHUwMDA0OYg7JCosqbfiL0iEWUbySlx1MDAxMj9X8VoyXn5gQEZ0tb5recxcdTAwMDfsfzv2b5k89fY7+r9M7Fx1MDAxZZzG+utcdTAwMGZ4uWHuc99cdTAwMDRcdTAwMDfXn5Kj7l433uvgwbHfP+xcdTAwMWb/Yi9NVM5cdTAwMDBrwFx1MDAxNppLkzvZxsCevkkrbVvA5q6F2Fx1MDAxMlx1MDAwNVx1MDAxOVx1MDAwNqy8XHUwMDFh9uBaQEtmpGY8LzeLXHUwMDAwe66aQeZcdTAwMTje2LGQieKSo/o3vTCxU/FcdTAwMDGZP6y/f9Cj5Xohw/JIvapcdTAwMWKWJ1x1MDAwNfqidlx1MDAwNcxscDNp8nPBJ6B7PouuZNkmveSQJkJttGZM1dFNoFx1MDAwM6qYXHUwMDEyXHUwMDA0ivxcdTAwMDRA1Vx1MDAwMluiWdFcdTAwMGUoTjJJoZhcdTAwMGVz5mjaXHUwMDEyo4BcIpWka81k5SbMidxllrNYXHUwMDE5r1wipIWK8V2+V2n4zYN00CpJNK5Iilx1MDAxOeSVXHUwMDBlVWMgyVx1MDAxOXBcdTAwMTCSK0pcdTAwMGU7KVpcdTAwMWGZlfm0MFxuXHRcdTAwMWROtVx1MDAwM6Y6J1xuhWmG+TuwjHSdsIZP7sOvZVJmJHrROJnj5fPWqr+fzHSI9Yujb30pQ1x1MDAxNbmi5m9+zld1K8lzRiqHXHUwMDFiRaRuXHLpXHUwMDE4Nn4oI7V0NNJcdTAwMGa1XGJcdLZcdTAwMWXX8miOOZbwh1ZLPZbyJc1RKORT8/fsXHUwMDExXHUwMDE4yiksJ7VcdTAwMTaWtNhcbp7IXGKhpVxcxolMXHUwMDFkn0sgm1xupXBcIkClXGJohLI8I6rMc8dJwjqG5W/sSaRcdTAwMDJoOTO/NuvMyrv830TGzeKctfvnb7hJcpTLt9F2UFx1MDAwNlx1MDAwNu17wVpOcuNb4F+9mY+QtfslzVnDL1Ly+9r3/1x1MDAwM2+zhmUifQ==<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="724.4078245162964" height="250.67749023437494" fill="transparent"/><g stroke-linecap="round" transform="translate(208.1485834121704 103.06692504882807) rotate(0 63.1719970703125 58.41184997558594)"><path d="M29.21 0 C48.46 0, 67.71 0, 97.14 0 C116.61 0, 126.34 9.74, 126.34 29.21 C126.34 49.01, 126.34 68.82, 126.34 87.62 C126.34 107.09, 116.61 116.82, 97.14 116.82 C70.06 116.82, 42.99 116.82, 29.21 116.82 C9.74 116.82, 0 107.09, 0 87.62 C0 71.48, 0 55.35, 0 29.21 C0 9.74, 9.74 0, 29.21 0" stroke="none" stroke-width="0" fill="#ffc9c9"/><path d="M29.21 0 C46.37 0, 63.52 0, 97.14 0 M29.21 0 C51.07 0, 72.93 0, 97.14 0 M97.14 0 C116.61 0, 126.34 9.74, 126.34 29.21 M97.14 0 C116.61 0, 126.34 9.74, 126.34 29.21 M126.34 29.21 C126.34 45.68, 126.34 62.16, 126.34 87.62 M126.34 29.21 C126.34 41.56, 126.34 53.92, 126.34 87.62 M126.34 87.62 C126.34 107.09, 116.61 116.82, 97.14 116.82 M126.34 87.62 C126.34 107.09, 116.61 116.82, 97.14 116.82 M97.14 116.82 C77.18 116.82, 57.23 116.82, 29.21 116.82 M97.14 116.82 C74.86 116.82, 52.58 116.82, 29.21 116.82 M29.21 116.82 C9.74 116.82, 0 107.09, 0 87.62 M29.21 116.82 C9.74 116.82, 0 107.09, 0 87.62 M0 87.62 C0 71.49, 0 55.36, 0 29.21 M0 87.62 C0 72.07, 0 56.52, 0 29.21 M0 29.21 C0 9.74, 9.74 0, 29.21 0 M0 29.21 C0 9.74, 9.74 0, 29.21 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(216.1838617324829 124.67877502441405) rotate(0 55.13671875 36.80000000000001)"><text x="55.13671875" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text><text x="55.13671875" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="55.13671875" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: restarting</text><text x="55.13671875" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round" transform="translate(389.41024112701416 103.06692504882807) rotate(0 64.5997314453125 58.80528259277344)"><path d="M29.4 0 C50.2 0, 71 0, 99.8 0 C119.4 0, 129.2 9.8, 129.2 29.4 C129.2 43.49, 129.2 57.57, 129.2 88.21 C129.2 107.81, 119.4 117.61, 99.8 117.61 C85.24 117.61, 70.69 117.61, 29.4 117.61 C9.8 117.61, 0 107.81, 0 88.21 C0 72.4, 0 56.59, 0 29.4 C0 9.8, 9.8 0, 29.4 0" stroke="none" stroke-width="0" fill="#ffec99"/><path d="M29.4 0 C46.17 0, 62.94 0, 99.8 0 M29.4 0 C52.4 0, 75.4 0, 99.8 0 M99.8 0 C119.4 0, 129.2 9.8, 129.2 29.4 M99.8 0 C119.4 0, 129.2 9.8, 129.2 29.4 M129.2 29.4 C129.2 45.38, 129.2 61.35, 129.2 88.21 M129.2 29.4 C129.2 43.34, 129.2 57.28, 129.2 88.21 M129.2 88.21 C129.2 107.81, 119.4 117.61, 99.8 117.61 M129.2 88.21 C129.2 107.81, 119.4 117.61, 99.8 117.61 M99.8 117.61 C80.38 117.61, 60.96 117.61, 29.4 117.61 M99.8 117.61 C74.4 117.61, 49 117.61, 29.4 117.61 M29.4 117.61 C9.8 117.61, 0 107.81, 0 88.21 M29.4 117.61 C9.8 117.61, 0 107.81, 0 88.21 M0 88.21 C0 65.44, 0 42.68, 0 29.4 M0 88.21 C0 71.96, 0 55.72, 0 29.4 M0 29.4 C0 9.8, 9.8 0, 29.4 0 M0 29.4 C0 9.8, 9.8 0, 29.4 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(401.10762882232666 125.07220764160155) rotate(0 52.90234375 36.80000000000001)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: pending</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(385.04948711395264 162.10599852580827) rotate(0 -16.180450439453125 -0.313690895222436)"><path d="M0 0 C-5.39 -0.1, -26.97 -0.52, -32.36 -0.63 M0 0 C-5.39 -0.1, -26.97 -0.52, -32.36 -0.63" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(385.04948711395264 162.10599852580827) rotate(0 -16.180450439453125 -0.313690895222436)"><path d="M-17.05 -5.87 C-22.62 -3.96, -28.18 -2.06, -32.36 -0.63 M-17.05 -5.87 C-22.54 -3.99, -28.03 -2.11, -32.36 -0.63" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(385.04948711395264 162.10599852580827) rotate(0 -16.180450439453125 -0.313690895222436)"><path d="M-17.26 5.2 C-22.75 3.08, -28.24 0.96, -32.36 -0.63 M-17.26 5.2 C-22.68 3.11, -28.09 1.02, -32.36 -0.63" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(570.0938596725464 103.06692504882807) rotate(0 62.156982421875 57.4993896484375)"><path d="M28.75 0 C54.44 0, 80.14 0, 95.56 0 C114.73 0, 124.31 9.58, 124.31 28.75 C124.31 42.6, 124.31 56.44, 124.31 86.25 C124.31 105.42, 114.73 115, 95.56 115 C80.04 115, 64.52 115, 28.75 115 C9.58 115, 0 105.42, 0 86.25 C0 63.32, 0 40.39, 0 28.75 C0 9.58, 9.58 0, 28.75 0" stroke="none" stroke-width="0" fill="#ffec99"/><path d="M28.75 0 C51.92 0, 75.09 0, 95.56 0 M28.75 0 C50.55 0, 72.34 0, 95.56 0 M95.56 0 C114.73 0, 124.31 9.58, 124.31 28.75 M95.56 0 C114.73 0, 124.31 9.58, 124.31 28.75 M124.31 28.75 C124.31 47.59, 124.31 66.44, 124.31 86.25 M124.31 28.75 C124.31 47.22, 124.31 65.69, 124.31 86.25 M124.31 86.25 C124.31 105.42, 114.73 115, 95.56 115 M124.31 86.25 C124.31 105.42, 114.73 115, 95.56 115 M95.56 115 C73.77 115, 51.97 115, 28.75 115 M95.56 115 C81.24 115, 66.91 115, 28.75 115 M28.75 115 C9.58 115, 0 105.42, 0 86.25 M28.75 115 C9.58 115, 0 105.42, 0 86.25 M0 86.25 C0 65.41, 0 44.58, 0 28.75 M0 86.25 C0 65.37, 0 44.5, 0 28.75 M0 28.75 C0 9.58, 9.58 0, 28.75 0 M0 28.75 C0 9.58, 9.58 0, 28.75 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(579.3484983444214 123.76631469726561) rotate(0 52.90234375 36.80000000000001)"><text x="52.90234375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text><text x="52.90234375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="52.90234375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: pending</text><text x="52.90234375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: normal</text></g><g stroke-linecap="round"><g transform="translate(562.8602170944214 162.4447090469764) rotate(0 -18.92031860351551 -0.8186805489792448)"><path d="M0 0 C-6.31 -0.27, -31.53 -1.36, -37.84 -1.64 M0 0 C-6.31 -0.27, -31.53 -1.36, -37.84 -1.64" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(562.8602170944214 162.4447090469764) rotate(0 -18.92031860351551 -0.8186805489792448)"><path d="M-19.78 -7.34 C-24.35 -5.9, -28.92 -4.45, -37.84 -1.64 M-19.78 -7.34 C-25.83 -5.43, -31.87 -3.52, -37.84 -1.64" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(562.8602170944214 162.4447090469764) rotate(0 -18.92031860351551 -0.8186805489792448)"><path d="M-20.34 5.6 C-24.77 3.77, -29.2 1.94, -37.84 -1.64 M-20.34 5.6 C-26.2 3.18, -32.06 0.76, -37.84 -1.64" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round" transform="translate(30 103.06692504882807) rotate(0 64.7105712890625 57.790191650390625)"><path d="M28.9 0 C51.75 0, 74.6 0, 100.53 0 C119.79 0, 129.42 9.63, 129.42 28.9 C129.42 42.92, 129.42 56.95, 129.42 86.69 C129.42 105.95, 119.79 115.58, 100.53 115.58 C77.3 115.58, 54.08 115.58, 28.9 115.58 C9.63 115.58, 0 105.95, 0 86.69 C0 75.05, 0 63.41, 0 28.9 C0 9.63, 9.63 0, 28.9 0" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M28.9 0 C56.3 0, 83.7 0, 100.53 0 M28.9 0 C57.42 0, 85.95 0, 100.53 0 M100.53 0 C119.79 0, 129.42 9.63, 129.42 28.9 M100.53 0 C119.79 0, 129.42 9.63, 129.42 28.9 M129.42 28.9 C129.42 47.72, 129.42 66.54, 129.42 86.69 M129.42 28.9 C129.42 47.13, 129.42 65.37, 129.42 86.69 M129.42 86.69 C129.42 105.95, 119.79 115.58, 100.53 115.58 M129.42 86.69 C129.42 105.95, 119.79 115.58, 100.53 115.58 M100.53 115.58 C85.49 115.58, 70.46 115.58, 28.9 115.58 M100.53 115.58 C78.01 115.58, 55.49 115.58, 28.9 115.58 M28.9 115.58 C9.63 115.58, 0 105.95, 0 86.69 M28.9 115.58 C9.63 115.58, 0 105.95, 0 86.69 M0 86.69 C0 64.23, 0 41.77, 0 28.9 M0 86.69 C0 70.47, 0 54.25, 0 28.9 M0 28.9 C0 9.63, 9.63 0, 28.9 0 M0 28.9 C0 9.63, 9.63 0, 28.9 0" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(49.3511962890625 124.05711669921868) rotate(0 45.359375 36.79999999999998)"><text x="45.359375" y="0" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text><text x="45.359375" y="18.4" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/><text x="45.359375" y="36.8" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">state: testing</text><text x="45.359375" y="55.199999999999996" font-family="Helvetica, Segoe UI Emoji" font-size="16px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">priority: high</text></g><g stroke-linecap="round"><g transform="translate(204.1641845703125 167.01557949052852) rotate(0 -17.82073974609375 -0.25188732751848875)"><path d="M0 0 C-5.94 -0.08, -29.7 -0.42, -35.64 -0.5 M0 0 C-5.94 -0.08, -29.7 -0.42, -35.64 -0.5" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(204.1641845703125 167.01557949052852) rotate(0 -17.82073974609375 -0.25188732751848875)"><path d="M-18.81 -6.36 C-24.83 -4.27, -30.85 -2.17, -35.64 -0.5 M-18.81 -6.36 C-24.74 -4.3, -30.68 -2.23, -35.64 -0.5" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(204.1641845703125 167.01557949052852) rotate(0 -17.82073974609375 -0.25188732751848875)"><path d="M-18.98 5.83 C-24.94 3.56, -30.9 1.3, -35.64 -0.5 M-18.98 5.83 C-24.85 3.6, -30.73 1.36, -35.64 -0.5" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(97.97643089294434 30) rotate(0 -0.449249267578125 26.818572998046875)"><path d="M0 0 C-0.15 8.94, -0.75 44.7, -0.9 53.64 M0 0 C-0.15 8.94, -0.75 44.7, -0.9 53.64" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(97.97643089294434 30) rotate(0 -0.449249267578125 26.818572998046875)"><path d="M-9.65 28.28 C-7.81 33.62, -5.97 38.95, -0.9 53.64 M-9.65 28.28 C-6.44 37.59, -3.22 46.9, -0.9 53.64" stroke="#f08c00" stroke-width="2" fill="none"/></g><g transform="translate(97.97643089294434 30) rotate(0 -0.449249267578125 26.818572998046875)"><path d="M8.7 28.59 C6.68 33.86, 4.66 39.13, -0.9 53.64 M8.7 28.59 C5.17 37.79, 1.65 46.98, -0.9 53.64" stroke="#f08c00" stroke-width="2" fill="none"/></g></g><mask/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (3).svg b/.gitbook/assets/file.excalidraw (3).svg
new file mode 100644
index 00000000..56270f40
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (3).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 755.4609375 495.85546875" width="755.4609375" height="495.85546875">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nN1aW1fTSlx1MDAxNH7nV7B6XnWc+8U3UOSiKFxignJ0uUI6trFpXHUwMDEyk2BcdTAwMDFcdTAwMTf//eyE2lxcmpZcdTAwMTZbKadcXNrOffZ8+/v2TvJrbX29lV5FtvV8vWUvXcf32rEzaD3Jyn/aOPHCXHUwMDAwqmj+PVx0L2I3b9lN0yh5/uyZXHUwMDEzRajjpedh2ENu2L/tZn3bt0GaQMN/4fv6+q/8f2mi2LqpXHUwMDEzdHybd8irirm4rFx1MDAxN75ccoN8WoqZUpTD36iFl7yE6VLbhupvjp/YoiYralx1MDAxZJx5vW1xvfum/THccd+fXsVcdTAwMDH+WMz6zfP9o/TKz1eVhLD5oi5J47BnT7122oVaUiuf1CtcdTAwMGUvOt3AJkmlT1x1MDAxODmul15lZVx1MDAxOI9Kb03wfL0ouYRvXGZcdTAwMTPEuWCEilF51pNcdTAwMTKOjIT+XHUwMDFhbGCMZqK2pFx1MDAxN6FcdTAwMWbG2ZL+sca69luxqHPH7XVgZUF7cpvBcKPSXGLEJTZMXHUwMDE143et1+mm2dkwgbRcdTAwMTBcXOpSbWJz8ysljVx1MDAxMZhcdTAwMTXHl01cdTAwMTnttnMgfClsXHUwMDFlO327m/VcYi58v2y4oD00XFyl4jyr2Cphqlx1MDAxOOpcImo7t2dPXHUwMDE0XHUwMDExXG5zeFx1MDAxMVGY3feCXn04P3R7XHUwMDA1XFzy0psn94ApY3xcIk650HCAXHUwMDFjz1xmU4I/bIfOpW82XHUwMDBlIzpcYt5HXf+Hd1x1MDAxZpjSv1x1MDAwN1OukDBKXG5Zx6mhiMB5VCBSXHUwMDAzKLHZz1SAprFcdTAwMTMkkVx1MDAxM8Opj4OUXHUwMDEwhvAtXGZx/lwi41glRCOpmWKSXHUwMDE4eEnF64hcdTAwMTWGalwiKdV/jtjf2CnQw4YlN5OBPOpT9C6hL7WXxc5LWDk4d8/cjuB7+4cnXHUwMDE39il75fW7rDVqd/Okedjbznb77PpcdTAwMTJ36WvZa5++2t/fP/z+2q3O8nt+J47DQWnc4afJ3lx1MDAwN4yhjOaL8r7K/kuOJ1xineR4QmudXHUwMDAxUs/seM3GXFxtx9PgX4xqXHUwMDBlQlx1MDAwMVx1MDAxNtek4n1cZlx1MDAxOJpcdTAwMTEs4Vx1MDAxZChcXFx1MDAxOa6W5oScIThuRpiRXHUwMDFj3pv0glFEjdScY0KhhZZ1XHUwMDE3NFoyTWhcdDV/XTSYNFRgM1x1MDAwN2yLVYVBeuRdZ2dEKDJAeUxJzI1cdTAwMTKE80qrV07f868qZ57jXHUwMDFibLzxOUhtknpBp1Wp2/C9Tob3llx1MDAwYnuwccVcdTAwMTVSXHUwMDBmXCK1UYO+126XRcqFXHRcdTAwMWQvsPHuLOJcdTAwMTLGXsdcdTAwMGJcdTAwMWP/eMp6wCZ2Z0SsqMT4505is9rMXHUwMDA11Fx1MDAxZqhpXHTGdTVlXHUwMDE4U2NoYdC7nPqCc/+r89S+ZZdq75K8ky5cdTAwMGJ/rrZTXHUwMDAzXHUwMDAw0ZiOMkSUkauvo6ChXHUwMDAyQlKBXHUwMDFml5Bublx1MDAwNZ3tkzdX/a1TdVx1MDAxOWF83Ll693pWId08+P6dXHUwMDFm7L75XHUwMDE4XHUwMDA1akdccjyr9914cULKXGaZh5HuJ6Ryos9cdTAwMTHDNVx1MDAxNVrp2UPYZmuuttOBgiktiJZKNimpRIB68kiUVCpQ0eznQZVU4ZLV/7aSbi5bSe9cdTAwMTCWupI2rWfpSsqxqJeOvFpiOmd8XHUwMDFjn+xF/vZXonr750fH+vjNp4/do9X2anBcdTAwMDTEXGZ+vGkpZKRUgKZcdTAwMTbbelxmarp/XHUwMDE2bjFzXHUwMDAw42yRl/RtcN7rhN6sanpGdn98ekE2Nt5FXHUwMDBlP0526EnqJ1x1MDAwYlNTriVlS1dTPfF6XHUwMDEwYZxqhs1cdTAwMWNcdTAwMTeEmq250n6nsESQSWlwskY1fVR5KVx1MDAwMSVT2V5cdTAwMWXwauZDJ6Yvli2nd4hLXU6b1rN0OVx1MDAxNUrVS3+7tYKclGeR8sxevXPcbu9t41x1MDAxZlHn+PVAuNHhh83dT6vt1ZpcdTAwMTJEXGbhY3rKXHUwMDE1RlQ+XG5BZZpcdTAwMThGXHJ+XFyCOui8IzvXhzS+erlx/vPD7lx1MDAxZVx0T/b+gqAuK+2dOu7yr0svPVx1MDAwMFBi4o1LgrVcdTAwMTBSkjnS6ebTX22qXHUwMDEwXHUwMDEyKVB3Q5TmUupcbl1cYvBkLiCszSVZmeVxXHUwMDA2J7ngwUxcZktcdMR1XHUwMDFm+SdSKYL5Q97MhLiVwP9cdTAwMDeT/5efg4HjLVH+71DDuvw3rWdcdTAwMTHyf8snXHJcdTAwMGUtJyo/RIdUak3p7P48nZBX058xRlx1MDAxYzY6dodXUIU0yW5AiUxxS4nPon1cdTAwMTlS+eZcdTAwMDdcdTAwMTHAN5FmXHUwMDE0V56SXHUwMDE4Oa+SXHUwMDEyg1x1MDAwYlx1MDAxNaZaoN7Tu/V+kbloybROnG56QTtzgMrChs/bzOJUude7XHUwMDE32SqfYqSUwlx1MDAxNGONpTZYXHUwMDE28pVcdTAwMTnMibK9Qpssvlx1MDAxYtuyXHLady9lenhfWlxuRoJSXHUwMDAzRyqN4lx1MDAwNlwiTjW2XHUwMDEyoDGiXHUwMDA1XHUwMDA3jc1cdTAwMDJBXCLHT8F3kvRF2O97KVx1MDAxOPwg9IK0btjcglx1MDAxYpm3d60zduqwpXJdnVx1MDAxNqJsxGo0V3xaLzwn/zL6/OVJY+unNVxc52VlSFx1MDAxN1x1MDAwM6yV3+emMIXrhaNb5YYx+J3nXHUwMDAy/9TQbzVcdTAwMTmMQI7CKpdcdTAwMDBy/uJcdTAwMDZpwYSGXHUwMDEwYLn8XHUwMDA10Vx1MDAwNcrcvsxSXHUwMDA1h1x1MDAwMY2S6oNWQ1x1MDAwNoO4hFx0ztgqXHUwMDEy2Ly3ppZJYFx1MDAxMuzLqWRcdTAwMThDWFm6Q1xc0Fx1MDAwNkZmaP/7cdj0K/5cdTAwMTVcdTAwMGVTXHUwMDFhWFxmXHUwMDBiKlxyZYRg2rRcdTAwMTitsdKa/C84rFx1MDAwMdt5eVx1MDAwMetFsVx1MDAxONP1wlx1MDAxMYtcdTAwMTFcdTAwMDNhmJnjgdDpieZqslx1MDAxOJaoKVxuXHUwMDEzXHUwMDFhKSaZMWzJLFx1MDAwNnSERJ5KNdJcdTAwMThcdTAwMDOS5ZQ0PFx1MDAxMkpAzSHfI2ZcdTAwMDFp1OKJbM6H1ZZKZIpxkrFcdTAwMThkz1x1MDAxY1x1MDAxOHacO3h2bV3pe1x1MDAxM9n0h4AqRGa0YUJcdTAwMTJcdTAwMDFpuoJcZliML0YhaVx1MDAxOP2/XHUwMDEwWVx1MDAxM7zzilx1MDAxMrInUdnacNiWXHUwMDEzRUcpIGx0XHUwMDA0gHSvPUzCi721fnp2sDnd/9aGlszIyObQv1m7+Vx1MDAwZmpOplx1MDAwMyJ9<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="755.4609375" height="495.85546875" fill="transparent"/><g stroke-linecap="round" transform="translate(30 30) rotate(0 347.73046875 217.927734375)"><path d="M-0.6 -1.25 L697.37 0.83 L697.13 437.7 L-0.15 433.94" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M0 0 C173.69 -2.15, 346.32 -1.69, 695.46 0 M0 0 C172.79 -1.5, 345.73 -1.96, 695.46 0 M695.46 0 C697.31 147.14, 697.83 292.84, 695.46 435.86 M695.46 0 C695.68 114.25, 695.69 228.47, 695.46 435.86 M695.46 435.86 C417.74 435.68, 140.16 435.31, 0 435.86 M695.46 435.86 C493.06 438.15, 290.11 438.18, 0 435.86 M0 435.86 C-2.15 270.58, -1.94 106.65, 0 0 M0 435.86 C-1.18 297.68, -1.54 160.18, 0 0" stroke="#e9ecef" stroke-width="1" fill="none"/></g><g stroke-linecap="round" transform="translate(76.15234375 107.15617877500165) rotate(0 56.52734375 59.34186809999838)"><path d="M28.26 0 C44.27 0.97, 55.61 0.33, 84.79 0 M28.26 0 C40.92 1.1, 54.24 0.22, 84.79 0 M84.79 0 C104.81 0.58, 112.82 10.7, 113.05 28.26 M84.79 0 C104.89 0.49, 112.23 8.1, 113.05 28.26 M113.05 28.26 C113.08 40.08, 112.96 55.15, 113.05 90.42 M113.05 28.26 C113.57 51.64, 113.66 73, 113.05 90.42 M113.05 90.42 C113.13 108.97, 104.7 117, 84.79 118.68 M113.05 90.42 C112.77 109.17, 104.17 118.36, 84.79 118.68 M84.79 118.68 C75.29 118.88, 60.93 117.55, 28.26 118.68 M84.79 118.68 C71.65 118.53, 58.34 118.2, 28.26 118.68 M28.26 118.68 C7.79 120.2, 0.38 109.35, 0 90.42 M28.26 118.68 C10.32 117.89, -1.86 109.89, 0 90.42 M0 90.42 C1.84 74.12, 1.07 57.99, 0 28.26 M0 90.42 C-0.22 70.74, -0.41 51.74, 0 28.26 M0 28.26 C1.92 10.96, 9.91 0.81, 28.26 0 M0 28.26 C-1.58 10.33, 11.57 0.86, 28.26 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(110.68753051757812 150.34962486878112) rotate(0 21.992156982421875 16.148422006218937)"><text x="21.992156982421875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text><text x="21.992156982421875" y="16.14842200621893" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">testing</text></g><g stroke-linecap="round" transform="translate(237.8046875 108.21867877500165) rotate(0 56.52734375 59.34186809999838)"><path d="M28.26 0 C41.07 0.45, 57.81 -0.19, 84.79 0 M28.26 0 C40.85 -0.04, 52.16 -0.66, 84.79 0 M84.79 0 C102.73 0.02, 113.41 9.22, 113.05 28.26 M84.79 0 C104.31 -0.62, 111.66 11.25, 113.05 28.26 M113.05 28.26 C111.78 48.72, 112.12 66.48, 113.05 90.42 M113.05 28.26 C113.3 46.55, 112.63 66.68, 113.05 90.42 M113.05 90.42 C113.59 110.01, 105.05 118.63, 84.79 118.68 M113.05 90.42 C111.72 111.35, 101.63 117.66, 84.79 118.68 M84.79 118.68 C65.12 118.57, 51.01 117.79, 28.26 118.68 M84.79 118.68 C67.63 119.3, 47.79 119.78, 28.26 118.68 M28.26 118.68 C9.35 118.35, 1.59 108.68, 0 90.42 M28.26 118.68 C11.55 117.55, 1.02 110.53, 0 90.42 M0 90.42 C-0.67 76.33, 0.95 61.62, 0 28.26 M0 90.42 C0.63 71.39, -0.9 53.32, 0 28.26 M0 28.26 C-1.67 8.43, 10.51 0.9, 28.26 0 M0 28.26 C-0.29 8.78, 11.09 -1.23, 28.26 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(272.3398742675781 151.41212486878112) rotate(0 21.992156982421875 16.148422006218937)"><text x="21.992156982421875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text><text x="21.992156982421875" y="16.14842200621893" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">testing</text></g><g stroke-linecap="round" transform="translate(400.9453125 107.15617877500165) rotate(0 56.52734375 59.34186809999838)"><path d="M28.26 0 C49.22 -1.62, 71.09 -1.41, 84.79 0 M28.26 0 C41.31 -0.45, 55.19 0.15, 84.79 0 M84.79 0 C102.55 0.14, 112.55 7.56, 113.05 28.26 M84.79 0 C104.93 -0.17, 110.78 8.87, 113.05 28.26 M113.05 28.26 C111.96 44.22, 111.54 59.47, 113.05 90.42 M113.05 28.26 C113.17 42.49, 112.34 57.84, 113.05 90.42 M113.05 90.42 C113.28 110.65, 102.4 118.28, 84.79 118.68 M113.05 90.42 C114.61 107.57, 102.94 118.47, 84.79 118.68 M84.79 118.68 C70.35 120.14, 53.3 116.81, 28.26 118.68 M84.79 118.68 C70.14 118.87, 54.19 119.47, 28.26 118.68 M28.26 118.68 C10.24 120.07, 1.3 107.26, 0 90.42 M28.26 118.68 C8.88 119.24, 0.49 111.1, 0 90.42 M0 90.42 C1.12 68.88, 0.49 44.95, 0 28.26 M0 90.42 C-0.23 72.34, -0.32 53.78, 0 28.26 M0 28.26 C0.36 7.78, 8.06 -0.7, 28.26 0 M0 28.26 C2.17 10.13, 10.27 2.29, 28.26 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(435.4804992675781 150.34962486878112) rotate(0 21.992156982421875 16.148422006218937)"><text x="21.992156982421875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text><text x="21.992156982421875" y="16.14842200621893" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">testing</text></g><g stroke-linecap="round" transform="translate(549.74609375 285.30071002500165) rotate(0 56.52734375 59.34186809999835)"><path d="M28.26 0 C40.94 -0.18, 53.09 -1.48, 84.79 0 M28.26 0 C45.68 0.34, 65.43 -0.13, 84.79 0 M84.79 0 C102.26 -1.9, 111.32 8.57, 113.05 28.26 M84.79 0 C101.49 -0.15, 114.59 10.98, 113.05 28.26 M113.05 28.26 C111.27 39.77, 113.52 53.06, 113.05 90.42 M113.05 28.26 C112.01 49.52, 113.54 68.63, 113.05 90.42 M113.05 90.42 C112.93 110.89, 101.99 117.41, 84.79 118.68 M113.05 90.42 C114.21 110.16, 105.52 117.33, 84.79 118.68 M84.79 118.68 C60.64 121.04, 38.4 119.91, 28.26 118.68 M84.79 118.68 C67.14 119.41, 51.56 118.55, 28.26 118.68 M28.26 118.68 C11.4 117.58, 0.25 108.27, 0 90.42 M28.26 118.68 C11.57 119.84, -0.45 111.07, 0 90.42 M0 90.42 C1.21 76.14, 2.15 58.16, 0 28.26 M0 90.42 C0.97 67.21, -0.57 45.47, 0 28.26 M0 28.26 C-1.09 10.51, 8.75 1.38, 28.26 0 M0 28.26 C0.3 11.01, 11.39 -0.97, 28.26 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(585.314079284668 328.4941561187811) rotate(0 20.95935821533203 16.148422006218937)"><text x="20.95935821533203" y="0" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text><text x="20.95935821533203" y="16.14842200621893" font-family="Virgil, Segoe UI Emoji" font-size="12.918737604975144px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">waiting</text></g><g stroke-linecap="round"><g transform="translate(529.02734375 342.857421875) rotate(0 -36.46875 -52.416015625)"><path d="M-0.56 -1.08 C-12.61 -18.82, -59.91 -88.52, -72.11 -105.88 M1.34 0.97 C-10.81 -16.71, -60.52 -87.38, -72.63 -104.89" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(529.02734375 342.857421875) rotate(0 -36.46875 -52.416015625)"><path d="M-48.08 -87.64 C-57.69 -91.81, -65.36 -99.97, -72.63 -104.89 M-48.08 -87.64 C-55.13 -91.96, -61.92 -96.74, -72.63 -104.89" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(529.02734375 342.857421875) rotate(0 -36.46875 -52.416015625)"><path d="M-64.9 -75.9 C-69.27 -83.69, -71.65 -95.54, -72.63 -104.89 M-64.9 -75.9 C-67.32 -83.53, -69.55 -91.48, -72.63 -104.89" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(538.7890625 364.892578125) rotate(0 -121.78515625 -63.5546875)"><path d="M-0.1 0.24 C-40.58 -21.03, -202.21 -106.15, -242.59 -127.32 M-1.62 -0.67 C-42.19 -21.78, -202.87 -105.12, -243.03 -125.9" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(538.7890625 364.892578125) rotate(0 -121.78515625 -63.5546875)"><path d="M-213.28 -122.04 C-222.5 -121.68, -232.89 -122.63, -243.03 -125.9 M-213.28 -122.04 C-223.24 -123.28, -233.01 -123.94, -243.03 -125.9" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(538.7890625 364.892578125) rotate(0 -121.78515625 -63.5546875)"><path d="M-222.72 -103.82 C-228.93 -109.35, -236.26 -116.18, -243.03 -125.9 M-222.72 -103.82 C-229.75 -111.03, -236.43 -117.62, -243.03 -125.9" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(534.8203125 373.775390625) rotate(0 -200.783203125 -65.12109375)"><path d="M-0.42 -1.07 C-67.63 -22.91, -335.62 -109.61, -402.49 -131.19 M1.56 0.98 C-65.35 -20.72, -332.93 -108.42, -400.26 -130.15" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(534.8203125 373.775390625) rotate(0 -200.783203125 -65.12109375)"><path d="M-370.28 -131.18 C-383.05 -132.44, -393.83 -130.65, -400.26 -130.15 M-370.28 -131.18 C-378.53 -131.11, -385.9 -129.83, -400.26 -130.15" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(534.8203125 373.775390625) rotate(0 -200.783203125 -65.12109375)"><path d="M-376.63 -111.67 C-387.05 -120.05, -395.5 -125.41, -400.26 -130.15 M-376.63 -111.67 C-383.12 -116.91, -388.76 -120.98, -400.26 -130.15" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (4).svg b/.gitbook/assets/file.excalidraw (4).svg
new file mode 100644
index 00000000..e29c367b
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (4).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 822.6328125 290.2265625" width="822.6328125" height="290.2265625">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nN2Z2VLbSFx1MDAxNIbveVxuynOb6fS+5I4twclcdTAwMDBcdTAwMTlcYsmEqSlKltq2bFnSSFwitknx7nMkjCUvXHUwMDAyQzBxXHUwMDA2qijU3VIv+r/zn25939rebmTj2DbebDfsyHVcdTAwMDLfS5xh41Ve/s0mqVx1MDAxZoVQRYvrNLpK3KJlN8vi9M3r105cdTAwMWOjjp+1oqiP3Ghwe5tccuzAhllcblxy/4br7e3vxd9KR4l1MyfsXHUwMDA0trihqKr0Reh86XFcdTAwMTRcdTAwMTb9SqaN5FjqaVx1MDAwMz/dh+4y60Ft21x0UlvW5EVcclx1MDAxMtJg6GTsbHy22/zrXVx1MDAxZuOjJi17bftBcJaNg2JUaVx1MDAwNJMv69Isifr2i+9l3btcdTAwMTWolNfdlURXnW5o03z2ZFpcdTAwMWHFjutn47xcZuNp6e1cdTAwMTK82S5LRnDFsUFYaGGYXHUwMDEy04r8VrhGVMyNYy9cbqIkXHUwMDFmx2/E5r/lSFqO2+/AcEKvbGONdW27bDOczE5JiiSjmlSe37V+p5vlU2dcdTAwMThRKoWkXHUwMDAyXHUwMDE3P6xcdTAwMWODLVaeUGVcYuOaljPJe46bXiGCf8r1TpyBbea3hFdBUF200Jss2kxFK684qOipfNRV7Dm3750oXCJcdTAwMTTmhDPFS2VcdTAwMDR+2J9/XFxcdTAwMTC5/VIqRenNqydIlFT6mZMoY1QyxplcXFmi159cdTAwMWT39LSjXHUwMDEy/DE9vr48t0e65264RLlCfF6enHGk2EzxXHUwMDEzJJolTpjGTlx1MDAwMi98UaaEKcSUNlhSbvJcdTAwMWa1qNZ72kzUSlx055JcdTAwMGLGn0Gtd7oplcMmJTf1XCKe3lPeXVFeZkfl1Cs6yS76XHUwMDA3X5vxXHUwMDBluehcdTAwMDTjt9fH78PR+15j2u5m8t89hGBuhFLPRcjMOKtwUF5cdTAwMDdcdTAwMDehWFx1MDAxYS7pI1x1MDAwMvjyWW80XHUwMDFkXHUwMDAyMyS4JkIqpmdjasGJMohcdTAwMGJKsDDSQJDna8OFXG5cdTAwMDTvXVx1MDAxOKrmuJzCXHUwMDAyXHUwMDFjXHUwMDFi4JZzRjCMs+K8d5FdcKU5NVj/OCtPjuyP1m05qijMzvzrgkuNXHUwMDE4TEZcYlx1MDAwZa9cdTAwMDZjMtPmrTPwg/HMXHUwMDFiL+Rcciu805gp2lx0/E6u8oZcdTAwMGJcdTAwMDO3yVxmXHUwMDAwmVx1MDAwZvnTtMHA97yqfbjQj+OHNmmuXHUwMDEy9qPE7/ihXHUwMDEzfFpcdTAwMWNcdTAwMDbM31x1MDAxZU7DXTUlaDmpzWtcdTAwMGJcdTAwMWZ6ur3RisPPXHUwMDEzTCBcdTAwMGbQIJfV/e0q7l+Tj6Ms+vfgwv3a41x1MDAxN0fDXHUwMDBmg80mWFKNMDGCLbD7Mlx1MDAxZYdpXHKvyyqnOVx1MDAxOIbIylx1MDAxNSuX6VdwtfHl6SltjVx1MDAwZa6/xO6Q78T48NNcdTAwMTHeRFfT9a4mJFx1MDAwNEnFK9nvQ0wsn/VmM6HzLVx1MDAwMthcdTAwMDQxgFx1MDAwN6RXXHUwMDBipsY4XHUwMDAxZ8dC5tysz9RcdTAwMTTSXHUwMDE4cyUxrDjRNa6msZGCMC3BYGUlIbmDhcMjOGNC/jgsP93WXHUwMDAwekVcdMFGiNVtbXdNtvZAtJ+3td2XtDVZb2tGKUkkfVx1MDAwNMIn/MDbb120902P9YLkQ3h+otubjbAmXHUwMDFjLVx1MDAxZSu8iKdJxJaeLSzUTFx1MDAwMIVdgmbSPFx1MDAwN58vaGZfvVx1MDAwZqp3zsPDcfr7O9+z7k7S/mNcdTAwMDPNjLLaIzaIjNRcdTAwMTCi8OpbtOWz3mxcdTAwMTJcdTAwMTRGXHUwMDAyg/JcdGiPa81miVx1MDAwMDNcdTAwMDObg41cdTAwMTOlRoHHrM/MOOKGMKJcdTAwMTQ3RV6nXHUwMDE3XHUwMDExXHUwMDAxN1x1MDAxM5BbSNi5gLdSiVx1MDAxN91MaYq1pOz/4GaYMSkoZ5RcdTAwMGJcXFx1MDAxMeFcdTAwMDN2trcmO3sgys/b2d5cdTAwMGLaXHUwMDE5w6ZcdTAwMTZiSUFNsG9fXHUwMDFkYvHZfLLpn1x1MDAwN+1B0sVEmrej42FrsyE2RiCtpZpJXHUwMDAyX8zRXHUwMDA0XHUwMDAyvWPwrntOXCJr29ydRFxualx1MDAxONfq13K50Fx0SSZps3t1KS9sT3yMu7uHm+hyWtRcdTAwMDJcdTAwMDK5MjdcZlc2dVx1MDAwZlx1MDAwMbJ81lx1MDAxYlxyXGKBdUZYSbBcdTAwMTWDmVx1MDAwNotYsDlcYrFK5Mc5uUjZ2nChXHUwMDA2wVx1MDAwYlx1MDAxN1x1MDAwNlx1MDAxYk5vz0SX+lx1MDAxY8eaKiqJXHUwMDAydMkynyNaYPFzPzM9j88pZKiUXHUwMDA0tqnM4Ef43P6afO6B8D/vc/vP63N1XHUwMDA089o0lUJwVYJcdTAwMTK5OsBmeOmT93vj8Pjky3nzspuoxN3wc0iAXHUwMDA15bt6tfBcdTAwMTGBafCW23OYXHUwMDFm+yR8L7ZKXCKJXHUwMDE1pMDEwL5ALtvAscWDSFxmoIAt65/6yYAxWrH/p1FKV8ay5WRut1x1MDAwNs3AtrN7wMyiuI7KmeHOIzjX5UpcdTAwMThScYvh1sSdXHUwMDFiTlx1MDAxY59lsHLTXHUwMDA0XHUwMDAyXpXvTaZfdt/45tvh7v3i2ZrgnYNki4zkZuvmP188jNQifQ==<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="822.6328125" height="290.2265625" fill="transparent"/><g stroke-linecap="round" transform="translate(30 30) rotate(0 381.31640625 115.11328125)"><path d="M1.73 -1.51 L761.14 -0.47 L762.89 230.02 L1.42 230.36" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M0 0 C199.86 0.15, 399.87 1.55, 762.63 0 M0 0 C198.4 0.32, 396.62 0.52, 762.63 0 M762.63 0 C762.27 83.79, 760.58 165.29, 762.63 230.23 M762.63 0 C761.66 61.66, 760.63 122.33, 762.63 230.23 M762.63 230.23 C525.73 230.15, 287.68 229.16, 0 230.23 M762.63 230.23 C607.93 233.47, 453.48 233.29, 0 230.23 M0 230.23 C2.46 150.87, 1.94 71.26, 0 0 M0 230.23 C-2 179.7, -1.26 130.58, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(68.37890625 89.484375) rotate(0 68.689453125 68.689453125)"><path d="M32 0 C49.92 0.51, 69.08 -0.02, 105.38 0 M32 0 C60.1 0.52, 86.7 0.69, 105.38 0 M105.38 0 C126.03 1.3, 136.04 9.32, 137.38 32 M105.38 0 C128.94 -0.77, 137.33 9.94, 137.38 32 M137.38 32 C135.15 52.27, 137.01 69.23, 137.38 105.38 M137.38 32 C136.72 55.06, 136.56 77.34, 137.38 105.38 M137.38 105.38 C137.33 128.61, 128.43 136.45, 105.38 137.38 M137.38 105.38 C135.79 125.35, 124.85 139.28, 105.38 137.38 M105.38 137.38 C83.26 136.97, 64.58 138.71, 32 137.38 M105.38 137.38 C89.5 137.66, 70.82 138.32, 32 137.38 M32 137.38 C11 138.81, 1.46 126.85, 0 105.38 M32 137.38 C12.46 136.42, 1.16 126.43, 0 105.38 M0 105.38 C-1.95 88.02, 1.27 74.79, 0 32 M0 105.38 C-1.25 78.97, 0.03 52.49, 0 32 M0 32 C0.29 11.8, 9.59 0.27, 32 0 M0 32 C-2.02 9.17, 9.55 -1.54, 32 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(124.48956298828125 134.2021059699374) rotate(0 12.57879638671875 23.971722155062537)"><text x="12.57879638671875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="38.3547554481001px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text></g><g stroke-linecap="round" transform="translate(248.9609375 89.484375) rotate(0 68.51171875 68.51171875)"><path d="M32 0 C54.54 2.26, 76.86 1.59, 105.02 0 M32 0 C53.28 1.12, 75.94 -0.07, 105.02 0 M105.02 0 C127.89 -1.22, 138.52 12.48, 137.02 32 M105.02 0 C124.09 1.23, 136.23 12.26, 137.02 32 M137.02 32 C136.6 51.33, 135.17 66.3, 137.02 105.02 M137.02 32 C138.56 51.29, 136.95 69.66, 137.02 105.02 M137.02 105.02 C137.61 124.82, 125.97 135.71, 105.02 137.02 M137.02 105.02 C138.41 125.2, 128.27 138.67, 105.02 137.02 M105.02 137.02 C76.24 137.86, 45.86 137.01, 32 137.02 M105.02 137.02 C79.83 137.17, 53.7 136.58, 32 137.02 M32 137.02 C9.97 138.04, -0.4 126.38, 0 105.02 M32 137.02 C11.6 138.97, -0.98 128.16, 0 105.02 M0 105.02 C1.51 88.28, -1.69 68.91, 0 32 M0 105.02 C-1.41 84.56, 0.53 64.78, 0 32 M0 32 C1.59 10.62, 10.46 -0.77, 32 0 M0 32 C-1.24 12.12, 9.31 -0.77, 32 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(303.5724182128906 134.0912680565312) rotate(0 13.900238037109375 23.904825693468837)"><text x="13.900238037109375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="38.2477211095501px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text></g><g stroke-linecap="round" transform="translate(435.53515625 89.484375) rotate(0 68.15625 68.15625)"><path d="M32 0 C59.39 -1.77, 88.93 0.65, 104.31 0 M32 0 C59.25 -0.58, 88.03 0.36, 104.31 0 M104.31 0 C124.99 0.92, 134.41 10.81, 136.31 32 M104.31 0 C123.62 -0.01, 136.82 12.88, 136.31 32 M136.31 32 C134.45 47, 135.91 66.76, 136.31 104.31 M136.31 32 C136.73 58.24, 136.82 84.23, 136.31 104.31 M136.31 104.31 C135.4 126.85, 126.16 137.55, 104.31 136.31 M136.31 104.31 C137.65 123.69, 124.58 138.39, 104.31 136.31 M104.31 136.31 C78.34 134.24, 53.32 137.06, 32 136.31 M104.31 136.31 C79.82 137.74, 53.83 136.4, 32 136.31 M32 136.31 C10.13 135.92, 0.72 124.88, 0 104.31 M32 136.31 C11.97 137.76, -0.09 124.88, 0 104.31 M0 104.31 C-1.14 83.23, -1.38 62.14, 0 32 M0 104.31 C0.76 83.48, 0.88 63.12, 0 32 M0 32 C1.05 9.06, 11.65 1.03, 32 0 M0 32 C-0.7 9.73, 11.14 -1.14, 32 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(491.4457473754883 133.8695922297187) rotate(0 12.245658874511719 23.771032770281295)"><text x="12.245658874511719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="38.03365243245008px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text></g><g stroke-linecap="round" transform="translate(616.828125 89.484375) rotate(0 67.978515625 67.978515625)"><path d="M32 0 C54.77 0.62, 74.08 -0.03, 103.96 0 M32 0 C55.91 0.19, 78.21 0.63, 103.96 0 M103.96 0 C123.7 -1.31, 134.86 10.17, 135.96 32 M103.96 0 C124.3 -0.73, 137.82 12, 135.96 32 M135.96 32 C135.81 50.19, 138.19 70.56, 135.96 103.96 M135.96 32 C136.11 48.47, 135.55 64.09, 135.96 103.96 M135.96 103.96 C135.15 126.69, 125.55 136.36, 103.96 135.96 M135.96 103.96 C137.67 125.27, 124.47 134.23, 103.96 135.96 M103.96 135.96 C81.33 136.19, 62.29 137.31, 32 135.96 M103.96 135.96 C81.15 136.58, 55.94 136.36, 32 135.96 M32 135.96 C10.06 137.51, -1.62 123.84, 0 103.96 M32 135.96 C12.49 137.29, -1.09 124.66, 0 103.96 M0 103.96 C0.87 91.37, -0.75 73.96, 0 32 M0 103.96 C-0.1 79.12, -0.4 54.39, 0 32 M0 32 C0.32 9.07, 11.43 1.38, 32 0 M0 32 C-1.87 12.07, 11.34 0, 32 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(670.0178451538086 133.75875431631243) rotate(0 14.788795471191406 23.704136308687566)"><text x="14.788795471191406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="37.92661809390008px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text></g><g transform="translate(44.896484375 40.712890625) rotate(0 38.303985595703125 17.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batch</text></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (5).svg b/.gitbook/assets/file.excalidraw (5).svg
new file mode 100644
index 00000000..bf89fcfd
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (5).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 688.953125 240.23828125" width="688.953125" height="240.23828125">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nNVZW1PiSFx1MDAxNH73V1Ds62ymr+lu37yN4o6XWtxRd2trKyRcckRCkkmCXGJT/vc9iUhcdTAwMTIwguJcdTAwMDWkypLT3elzTn/f+U7aX1u1Wj1cdTAwMTmFur5dq+s72/JcXCeyhvUvqf1WR7FcdTAwMWL4MESy73EwiOxsZjdJwnj761crXGaNjpu0gqBn2EH/YZn2dF/7SVxmXHUwMDEz/4Hvtdqv7Hdho0jbieV3PJ0tyIbyvSSfNZ5cdTAwMDZ+ti1mkivCmTCnM9x4XHUwMDFmtku0XHUwMDAzw23Li3U+kprq7jm1jmPT7TR7XHUwMDA3e4GkQexfJPmubdfzmsnIy7yKXHUwMDAzXGI+XHUwMDFmi5Mo6OlL10m6j1x1MDAxOSjYq1ZFwaDT9XWcRo+n1iC0bDdcdTAwMTmlNoSm1odcdTAwMTRs13LLXHUwMDFkfONIXHUwMDE5kmNukjxcdTAwMTHpSiqwISlXVPBcdTAwMTlf9lx1MDAwMi+IUl9+wzr95N60LLvXXHUwMDAxl3wnn6OVtnU7nzOcRGhcdTAwMTJpKE5xYduudjvdJPVaXCKDUElkcTTWWdqZSSnjhOdcdTAwMTlKd1xmXHUwMDFiTlx1MDAwNoB/81xcR1ZfN9JcdTAwMTX+wPOKXHTznUnCSlx1MDAwM6104KCApfxRg9CxXHUwMDFlzlx1MDAxY1x1MDAwYsxcdTAwMDVimFx1MDAxMkpzzzzX780+zlx1MDAwYuxeXHUwMDBlk8x6/+VcdTAwMTXwxFxcVeJcdTAwMTOZijBaPOJF+LTj31x1MDAwZvb6XFw5x1x1MDAwM28gbz323+HZxZrjk1KDcFGCQrqSYW5cdTAwMDBG0apcdTAwMDBNXCLLj0MrgmOfXHUwMDA3KcbUwIgzU1xujtJcdTAwMWb8XHUwMDA0WKvnPEJcdTAwMTZcdTAwMGJcdTAwMTiDXGJWh+wjeHL40Inlvlx1MDAxYcnTNfnqXHUwMDAy/Fx1MDAxMn2XR17Ayl9H7ilqXFx1xseX1zt7zqFtypN2fTrvfvLXMzRBXHUwMDE4m1xmv1x1MDAxNU1Kflx1MDAxNlx1MDAxOYJEXHUwMDE1Q1xiwENcdELx8lx1MDAxNfzpqNebIUJcdTAwMWFYmmlJXCKIIyHLPGHKXHUwMDEwpoKqSVx0x5TRdyNcdTAwMGJcdTAwMDGiMvDDXHUwMDE0SCrJiryckoUxg1wiSaXicDBcdTAwMTRcdTAwMTe9eeBcbsZYKkbh1D6xvr9cdTAwMTi4uVeBnzTdcUZMbjBmXG54lFBcdTAwMDJcdTAwMTSWlSZ9s/quNyqdeVx1MDAwNnBI8k69ZNrx3I6fXHUwMDE1b/BcXEclXG4kLrRQ01x0fddxiipiwz6W6+uosUzxXHUwMDBmXCK34/qWdzHvXHUwMDA2JEBcdTAwMWZN651RqMQtK9bpaFx1MDAxYS9+vcpcdTAwMTFcXN2FXHUwMDExkzJcdTAwMDVVNVx1MDAwN8RcIlx1MDAwZVPe+K5cdTAwMTW9uohCK9BnSjeG4fV6c9iUgFx1MDAxNrMsZlx1MDAxYqZyWCHBhaJmXHUwMDBl9E2QOXP8/c/98Vx1MDAxZtZlKFx1MDAxYuPmuX97jnfJOspcXCGvs1x1MDAxNMFcdTAwMTJcdTAwMGLBVWHGXCKKPFx1MDAxZPVaU0RcdTAwMTBlYHhfXHUwMDAwXHUwMDFkw9BcdTAwMTSSMk8+TuU4bMSkXHUwMDAw9VI0fT+S82RZqHLw8sNcdKFcZq1OlVxyXHUwMDE1ud13XHUwMDEyuVx1MDAwNbV/VuR2P1LkmJy1Tlx1MDAxOazgI1x1MDAxOEb5jEVcZlx1MDAwZfvDg/jk5McpXHUwMDFhXHUwMDFl8fGpRDFyhuvNYOhcdI3N1jhBXHUwMDEwcJ/IzZK4m9Epu1x1MDAxOUSt7/ZA028tp3foN1svkzioYohcdTAwMTap8i5cdTAwMTKnKt/ksDBcdKKMvOAu7umo15sgUlx1MDAxYVx1MDAwMD1GQV84k5KWefJxXHUwMDFhR1xmXHQ6y6RSXG6BTL1K41x1MDAxOFx1MDAxYye4LOXqXFx5vca9XHUwMDE0t2+qcXvvpHFcdTAwMGJK/6zG7b2txlWxl1eTl2DChGTLt6fU29/f2d8lrVx1MDAxYp/8XGKHw79v5dXVenOXXHUwMDEzaYCAkLmLSiqRoUzATior70ZZzlxmgZXinDGWtqV5rqeMnb9Lh2ZaXHUwMDAwv7n83D5cdTAwMTSqxKpcdTAwMWMlqGR9hpQtK7G7XHUwMDE1xPR0O3mGlklcdTAwMTBWcbLk7ixcdTAwMDFntlxcioRYrtBoisrbXHUwMDE0gYSAbLPl/2VwdKZY8nPM28HNtX1cdTAwMTbvjEaYXHUwMDFjvylcdTAwMTVcdTAwMWQr7uo35Vwi8MAgjGA512lcdTAwMTLDJFx1MDAxYtFppjfXhHD+abcpzzFWgnesiOelusGtSYtZt8KwmcAjp65BaK4zYXL+mPqtq4e7z2d/a1x1MDAxMkOKQ53Fer91/z9cdTAwMWKtjL4ifQ==<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="688.953125" height="240.23828125" fill="transparent"/><g stroke-linecap="round" transform="translate(30 30) rotate(0 314.4765625 90.119140625)"><path d="M1.11 1.12 L627.7 0.85 L627.25 180.64 L1.88 179.7" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M0 0 C130.73 -1.7, 263.66 -2.08, 628.95 0 M0 0 C133.78 -2.34, 268.63 -2.58, 628.95 0 M628.95 0 C629.27 56.09, 631.17 115.61, 628.95 180.24 M628.95 0 C629.46 46.62, 629.72 91.71, 628.95 180.24 M628.95 180.24 C452.09 178.55, 273.44 178.63, 0 180.24 M628.95 180.24 C492.45 180.38, 355.76 180.25, 0 180.24 M0 180.24 C0.72 128.34, 2.92 78.79, 0 0 M0 180.24 C-0.61 140.81, -0.77 101.71, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(53.40625 73.53515625) rotate(0 56.552734375 56.552734375)"><path d="M28.28 0 C52.05 0.01, 74.44 0.58, 84.83 0 M28.28 0 C45.51 0.86, 63.81 0.18, 84.83 0 M84.83 0 C103.8 -0.86, 111.52 8.39, 113.11 28.28 M84.83 0 C105.71 -1.86, 114.86 7.97, 113.11 28.28 M113.11 28.28 C113.21 41.95, 114.08 56.93, 113.11 84.83 M113.11 28.28 C111.86 41.07, 113.4 52.77, 113.11 84.83 M113.11 84.83 C112.43 103.17, 103.46 112.74, 84.83 113.11 M113.11 84.83 C114.61 101.47, 102.52 114.32, 84.83 113.11 M84.83 113.11 C69.17 114.34, 55.68 111.78, 28.28 113.11 M84.83 113.11 C71.82 112.14, 57.37 112.75, 28.28 113.11 M28.28 113.11 C11.38 114, 1.54 104.47, 0 84.83 M28.28 113.11 C9.96 111.17, 2.06 104.1, 0 84.83 M0 84.83 C-1.71 66.57, 1.92 49.73, 0 28.28 M0 84.83 C-0.5 63.98, -0.35 45.69, 0 28.28 M0 28.28 C-0.69 8.1, 10.85 -1.05, 28.28 0 M0 28.28 C-2.15 7.23, 10.25 -0.71, 28.28 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(98.33467102050781 107.9336958251343) rotate(0 11.624313354492188 22.154194799865706)"><text x="11.624313354492188" y="0" font-family="Virgil, Segoe UI Emoji" font-size="35.44671167978514px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text></g><g stroke-linecap="round" transform="translate(205.609375 73.53515625) rotate(0 56.552734375 56.552734375)"><path d="M28.28 0 C45.02 -0.65, 59.16 1.34, 84.83 0 M28.28 0 C45.59 -0.22, 63.72 -0.67, 84.83 0 M84.83 0 C104.67 -1.65, 111.78 9.14, 113.11 28.28 M84.83 0 C102.75 1.18, 114.62 9.24, 113.11 28.28 M113.11 28.28 C111.32 47.73, 114.1 67.32, 113.11 84.83 M113.11 28.28 C112.73 41.06, 112.94 54.93, 113.11 84.83 M113.11 84.83 C111.48 102.03, 103.04 114.87, 84.83 113.11 M113.11 84.83 C113.12 102.42, 104.9 115.36, 84.83 113.11 M84.83 113.11 C66.51 113.36, 43.55 110.83, 28.28 113.11 M84.83 113.11 C65.71 113.64, 44.88 113.09, 28.28 113.11 M28.28 113.11 C8.72 113.18, 1.16 102.68, 0 84.83 M28.28 113.11 C7.71 114.6, -1.94 105.49, 0 84.83 M0 84.83 C0.89 62.39, -2.13 41.52, 0 28.28 M0 84.83 C0.86 69.09, 0.74 53.35, 0 28.28 M0 28.28 C-1.06 9.28, 11.35 0.69, 28.28 0 M0 28.28 C2.25 9.08, 9.99 1.88, 28.28 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(249.27967071533203 107.9336958251343) rotate(0 12.882438659667969 22.154194799865706)"><text x="12.882438659667969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="35.44671167978514px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text></g><g stroke-linecap="round" transform="translate(363.7578125 73.53515625) rotate(0 56.552734375 56.552734375)"><path d="M28.28 0 C45.88 1.85, 67.99 -1.14, 84.83 0 M28.28 0 C48.54 -0.39, 67.61 1.28, 84.83 0 M84.83 0 C103.66 0.97, 113.02 11.3, 113.11 28.28 M84.83 0 C102.2 2.24, 111.61 10.13, 113.11 28.28 M113.11 28.28 C112.04 38.76, 112.01 51.68, 113.11 84.83 M113.11 28.28 C112.97 42.69, 113.7 56.41, 113.11 84.83 M113.11 84.83 C112.5 103.56, 103.07 112.83, 84.83 113.11 M113.11 84.83 C114.96 105.36, 103.74 111.06, 84.83 113.11 M84.83 113.11 C68.53 111.68, 53.19 112.88, 28.28 113.11 M84.83 113.11 C73.47 112.18, 61.75 111.95, 28.28 113.11 M28.28 113.11 C8.75 113.82, 1.37 103.73, 0 84.83 M28.28 113.11 C9.3 113.36, 0.32 104.08, 0 84.83 M0 84.83 C-0.74 74.08, -1.98 58.53, 0 28.28 M0 84.83 C-0.18 64.43, 0.75 46.89, 0 28.28 M0 28.28 C-1.06 9.41, 8.4 -0.24, 28.28 0 M0 28.28 C2.17 7.49, 9.65 1.15, 28.28 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(408.8988723754883 107.9336958251343) rotate(0 11.411674499511719 22.154194799865706)"><text x="11.411674499511719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="35.44671167978514px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text></g><g transform="translate(48.26171875 39.130859375) rotate(0 27.35997772216797 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batch</text></g><g stroke-linecap="round" transform="translate(515.390625 70.78515625) rotate(0 56.552734375 56.552734375)"><path d="M28.28 0 C42.04 0.18, 58.87 2.06, 84.83 0 M84.83 0 C105.45 1.57, 113.21 9.36, 113.11 28.28 M113.11 28.28 C112.13 48.97, 113.94 67.74, 113.11 84.83 M113.11 84.83 C112.31 104.8, 104.84 113.07, 84.83 113.11 M84.83 113.11 C65.96 114.43, 46.7 111.55, 28.28 113.11 M28.28 113.11 C8.69 112.68, 1.43 104.54, 0 84.83 M0 84.83 C-1.32 65.57, -0.97 47.05, 0 28.28 M0 28.28 C-1.37 8.2, 8.95 -1.12, 28.28 0" stroke="#1e1e1e" stroke-width="2.5" fill="none" stroke-dasharray="8 10"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (6).svg b/.gitbook/assets/file.excalidraw (6).svg
new file mode 100644
index 00000000..078c2af7
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (6).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 721.15625 533.228515625" width="721.15625" height="533.228515625">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOVba1PqyFx1MDAxNv1+flx1MDAwNeX9Omb6/ThV94OIz/GNgjBzy1xu0EAkJDFcdTAwMDRBpvzv08lR8pAoepVcdTAwMTPmlFx1MDAxNCXdafq11l57d2/+/lYqbVx1MDAwNFx1MDAwZp7a+F7aUNO2aVtcdTAwMWTfnGz8XHUwMDE2lt8rf2S5jq5C0eeRO/bb0ZP9IPBG33//3fQ8o2dcdTAwMDUt11x1MDAxZFx1MDAxOG13+KOZstVQOcFIP/in/lxcKv1cdTAwMWS9JzryVTswnZ6tolx1MDAwNlFV3Fx1MDAxN4Q8W3riOlG/QjJcZjlcdTAwMTdi/oA1qujuXHUwMDAy1dG1XdNcdTAwMWWpuCYs2jhrXHUwMDAy6pS7NcvyJrv+iTs5Plx1MDAwZVx1MDAxYXGvXcu2q8GDXHUwMDFkjWrk6snHdaPAd1x1MDAwN6pudYL+81xuJMrzWvnuuNd31CicPZyXup7ZtoKHsFxmgHnpjyX4XopLpvpcdTAwMTNF2OCEXHUwMDAxiTmdV0RNXHUwMDA1MGhmXHUwMDE4267t+uEw/lx1MDAwM1X4XHUwMDE3XHUwMDBmpGW2XHUwMDA3PT1cdTAwMWGnXHUwMDEzP6Okaqtu/MzkaXKMXHUwMDAxg2BMU132ldXrXHUwMDA3Ub/SXHUwMDEwlFx1MDAxMiZcdTAwMTK1I1x1MDAxNa05xFx1MDAwMEvKpYjnXHUwMDEwdupcdTAwMWR0ou3/X7zSvjlUXHUwMDA3YVx1MDAxM2ds28nlcjpPy5WqaIVcdTAwMTU7XHQkxV819jrmj1x1MDAxZIdcdTAwMWNSXHUwMDBlXGJmXFzCeINsy1x1MDAxOWS/znbbg1x1MDAxOCRR6eNvXHUwMDFmXHUwMDAwJ1x1MDAxM7nYXHUwMDA0SFxigSRaXHUwMDFhm5VcdTAwMDN2t6Va25dcdTAwMDd01m7MaFx1MDAxYrj0oeDYpNJAQlx1MDAwMobS0ESIXHUwMDFhLFvxXHUwMDAxhFx1MDAwNr7pjDzT15v+XHUwMDEypVx1MDAxMFx1MDAxMlx1MDAwM6e7iDH6su5cdKFcYjCMoECJnfswQp+xXHUwMDEyo1x1MDAwNT+VPOZcdTAwMDN33iZunUBboKbxVFx1MDAxM+C4sFx1MDAxYXs7XHUwMDAxw+Oad+DdNcvkXG7V1Mb8ucen/1bGitQ4k9ZcdTAwMWHkXHUwMDExglxujFx0Z5wtTYjFcy40IbSZNiRcIphzQiDR+EvTglx1MDAwM1x1MDAwMyOi4ce/kFx1MDAxNtiAUEpJtXCmOpqT4yUpXHUwMDA0XHUwMDBibbZI7M1cdTAwMWFY7XhUrlx1MDAxM1StmYrYnSrdNYeW/ZDazVxiuHpccrc2UkVbttVcdTAwMGLxu9HWQ1V+XG7agaX9oPlcdTAwMDNDq9NJikFb92NajvJcdTAwMGaWseKub/Usx7QvX1x1MDAwZUPPWO3PXHKYkdilljlSYW0kvlx1MDAxZlx1MDAxNyuIYbb0mZySXHUwMDAzwClLLN9b5HSxRbvty+3KcHOn11x1MDAxML0qqFecYpOTa3JcdTAwMDJI10isJGeAcMnIWmnV1cybglx1MDAwYnJcclx1MDAwZrc3j4+7dTa57NtcdTAwMDXUKk7y6MCwxEBgsTxcdTAwMWRcdTAwMTbPudh0oMKQXHUwMDA06JegTGLM0qxYiVZcdTAwMTGDYq1VXHUwMDE4XHRcdTAwMDb1W2LPX1ErXHUwMDFk8HHEOPlcdTAwMDRcdTAwMGZuXdSq/EVq9YZcdTAwMTXPqlV5hWqFQK5acUi4kOhcdTAwMWRq1bCPq+NpZVx1MDAxOMxcdTAwMDRcdTAwMWWUT4/qlsPvi01P7ZNcdTAwMTmQXHUwMDEwiuH66JXeXHUwMDE3SULn81x1MDAxM1x1MDAxY8lcdTAwMTVcblx1MDAxNq5unt57fzhcdTAwMTVVv51OXHUwMDBmVbM23Fx1MDAxOVx1MDAxNlCwNFx1MDAxY/IogSBcdTAwMTSQSEGXP29YPOtCc0JCalxiKVx1MDAwNVx1MDAxMVx1MDAxModcdTAwMDFcdTAwMGL+XHSShVxmwfVcdTAwMTAkQ1x1MDAwNCBMsHhJkFx1MDAwNcTg2sEmhOFfKMLa/lwizXrDlmc1a3uVmoVxtvSZoFCvPtXeVsKXf4ugXHUwMDA3o1p9bLauJoPB1LSb1mDSnJSLTVBcYpAwXHUwMDEwQmydoiyIXHUwMDA0QVx1MDAxMkm6Xqo1a0z3zmeV09bJ/fC62lx1MDAxZVx1MDAxYzWa125cdTAwMTFVS+Q6clx1MDAxMGizXGI55sur1uJZXHUwMDE3nFx1MDAxNJxcdTAwMWJcZnLJMUZcXGtcdTAwMDBPM2MlskVccqr9Mlx0XHUwMDA0ITyi53KyRSmVXGJ+XHUwMDA2M9ZFtipfJFtvWPOsbFU+V7byyIlzPUqol1x1MDAxZFx1MDAxM8rfIViXM/OqUVx1MDAxZe/sNXeapt/xT0f1nlVsblJcdTAwMDK1LMFcdTAwMDW3q1x1MDAxMlx1MDAxOCCrXHUwMDE3n0xKSlxmrqMlSlx0ia5b45V+lZNcdTAwMTIx+DlqtS6cbJlBu5/DS1t1g1dYXHUwMDE5uF5cdTAwMWUlU8PN8i/T5c887iCCMaS5uPxxx+XDXHUwMDE53Nt2W719ub03XHUwMDEwste88lx1MDAwYn5cdTAwMWFJXHUwMDExMdIpXHUwMDA1YTtcdTAwMDLZXHUwMDBip61cdTAwMTCJXHUwMDBlTJtHXHUwMDFk0yXC7TUg4cfRXHRp7r2udim4RidcXP5el9SOxIn44/jWcWqzXHUwMDFhb93cn6GLgqNTXHUwMDAzXHUwMDA1ZC9UI4AyaFAo06d0xVxia7SnicPkqPW6PFx1MDAxYfnnx7Pe5uW91zm/xcFccuuoh+NcdTAwMDJGNTLXceJcdTAwMWElUNB3ZKUtnnOhXHTBoLacjFx1MDAwM4yxYFxigzQrKGBcdTAwMDaCRFx1MDAxMPy1iVx1MDAwZYSHiVx1MDAwZVx1MDAxY3FcdTAwMWFRYCn3iWJcdTAwMWR08mRi1lx1MDAxYVju/8992vmikOZcckOedal2VulOwfyTuFCxMFx1MDAxNWT5wFx1MDAwNl/xu3L5ttHtn7mOeXHpV8v1VrFcdFx1MDAxYSY7cCzCO9W1USztaUmcspxroVgqMOHsvFx1MDAwMyxFQfmOMW94dV9AxYI0N1lVXHUwMDEy/Vx1MDAwNyVe/lx1MDAxOG7xpIvNXGJccnw9Ryo1wH6WZMGPSJaOQSQnv1R23u5cdTAwMTcp1lx1MDAxYoY8q1i7q1Qs8crdXHUwMDExktrTSlx1MDAxZfm8xc+bra2bputV1KhcdTAwMWRUx9OLs1x1MDAwYrXZKzY/w4RcdTAwMDfB1irEQpQxPbQ1S3eYXHUwMDAwYlx1MDAxZE3VSeuwur/XtIBz3jqtXHUwMDE0ULBcdTAwMTDKXHUwMDE1LFx1MDAwNLRcdTAwMTfH8Xsujlx1MDAxNs+60IxcYtNcdTAwMWQgR1x1MDAxNFx1MDAwMFx1MDAxZG5hXG7TXHUwMDE5eqtRLGrwULGEfkeSLZlPXHUwMDBlXHRcdTAwMGWTIzj/hYKsvS+SrDcseVay9lYoWVx1MDAxONJs6VxcsnSArT15+Y5cdTAwMTTam+Z5fffCuVWn+4cnt1x1MDAwM0Cu7P5msVx0XHUwMDFhpTvIXHUwMDA1OXpF1izAuXZ/8ZpFWXfX7a1cdTAwMGXtzpg4qo/OhceHbOuhiKLF8jnBXHUwMDExXHUwMDA0XHUwMDEwcbA8J1x1MDAxNs+64JxcdTAwMTDAYFx1MDAxOOhcdTAwMTdcdK9cdTAwMDVIilx1MDAxOKtcbrO0fyCFXHUwMDA0YdbVsj+CglrkIODwM35tsS6itf9VovW6Lc+K1v7nilbuXHRcYsx1KCEnjFx1MDAwMUTYO35LfnaDdqaN4GbrqCFrXHUwMDE3N91ru3dUbG5SglxmTLKpXHUwMDBlXHUwMDA0USPr3Fx1MDAxNSPVgVwiJlx1MDAwNYaJm+9/PSP/XHUwMDFkqVx1MDAwZXlcZmS5t2ZcdTAwMDJoYGhcXCyvjT7bo7XDs8321UDLXCKG++RkdFlw/iFp0JepRlx1MDAxOGu94pSL17zFLlx1MDAxMG1cdTAwMDA+zkBEpIG1xlx1MDAwMSGplFxmLKJg4pb/+UheO5KCyZ/KQMKots4rY+CZcjqW0yvtmpY99lWporygX/pvXHT+5ayWl0tccmQptpJcdTAwMWZueegkR+u8YXpeNdCrPPfh9bZanaelilx1MDAwN7Vxb6lJ+XWgfXuyXHUwMDAyIeFUXHUwMDE0XHUwMDE0PH57/Fx1MDAwN3FcdIdFIn0=<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="721.15625" height="533.228515625" fill="transparent"/><g stroke-linecap="round" transform="translate(30 77.482421875) rotate(0 330.216796875 94.927734375)"><path d="M1.11 0.99 L661.79 -1.85 L658.48 188.8 L-1.59 189.78" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M0 0 C169.45 -2.26, 339.13 -1.98, 660.43 0 M0 0 C180.45 -0.74, 361.56 -0.92, 660.43 0 M660.43 0 C662.98 46.61, 660.08 96.73, 660.43 189.86 M660.43 0 C662.02 67.22, 662.24 133.93, 660.43 189.86 M660.43 189.86 C502.86 191.07, 345.95 191.63, 0 189.86 M660.43 189.86 C440.78 187.34, 221.18 187.51, 0 189.86 M0 189.86 C0.23 140.61, 0.37 95.57, 0 0 M0 189.86 C-2.23 149.46, -1.27 110.68, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(65.54296875 122.611328125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C50.01 0.32, 71.26 1.94, 85.79 0 M28.6 0 C48.82 -0.17, 66.75 0.26, 85.79 0 M85.79 0 C103.21 1.34, 113.35 7.97, 114.39 28.6 M85.79 0 C106.51 1.24, 116.22 8.06, 114.39 28.6 M114.39 28.6 C113.31 44.97, 115.67 64.58, 114.39 85.79 M114.39 28.6 C115.55 42.41, 114.62 54.76, 114.39 85.79 M114.39 85.79 C113.74 103, 103.83 113.41, 85.79 114.39 M114.39 85.79 C113.24 104.28, 107.02 114.11, 85.79 114.39 M85.79 114.39 C71.83 116.1, 62.86 112.99, 28.6 114.39 M85.79 114.39 C72.57 115.13, 58.92 113.71, 28.6 114.39 M28.6 114.39 C7.58 113.34, -1.59 104.78, 0 85.79 M28.6 114.39 C11.34 116.46, 0.46 104.55, 0 85.79 M0 85.79 C1.55 72.45, 0.58 54.72, 0 28.6 M0 85.79 C0.58 63.89, -0.42 40.57, 0 28.6 M0 28.6 C1.54 8.38, 10.83 1.66, 28.6 0 M0 28.6 C-0.68 10.29, 8.22 -2.04, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(116.17828369140625 167.306640625) rotate(0 6.55999755859375 12.5)"><text x="6.55999755859375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text></g><g stroke-linecap="round" transform="translate(215.26953125 122.611328125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C47.01 -1.28, 65.21 1.29, 85.79 0 M28.6 0 C46.05 0.31, 64.64 -1.14, 85.79 0 M85.79 0 C106.29 1.08, 115.98 8.25, 114.39 28.6 M85.79 0 C105.04 -0.02, 115.07 8.3, 114.39 28.6 M114.39 28.6 C113.47 42.78, 113.84 57.78, 114.39 85.79 M114.39 28.6 C114.1 46.68, 113.91 66.13, 114.39 85.79 M114.39 85.79 C113.39 104.36, 106.74 114.15, 85.79 114.39 M114.39 85.79 C112.38 104.73, 105.66 112.31, 85.79 114.39 M85.79 114.39 C63.14 114.25, 43.72 115.05, 28.6 114.39 M85.79 114.39 C64.83 113.33, 45.02 113.82, 28.6 114.39 M28.6 114.39 C11.11 116.19, 0.4 104.59, 0 85.79 M28.6 114.39 C8.58 116.16, -0.72 107.14, 0 85.79 M0 85.79 C1.71 62.63, 1.69 43.28, 0 28.6 M0 85.79 C1.32 62.53, 1.19 41.24, 0 28.6 M0 28.6 C-0.6 10.19, 8.39 -1.77, 28.6 0 M0 28.6 C1.55 7.43, 10.7 -0.03, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(265.1948471069336 167.306640625) rotate(0 7.269996643066406 12.5)"><text x="7.269996643066406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text></g><g stroke-linecap="round" transform="translate(371.3984375 122.611328125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C43.95 -1.5, 59.79 -2.16, 85.79 0 M28.6 0 C50.3 0.99, 71.37 -0.19, 85.79 0 M85.79 0 C105.02 -0.02, 114.98 8.46, 114.39 28.6 M85.79 0 C103.43 1.47, 115.25 8.06, 114.39 28.6 M114.39 28.6 C114.78 47.54, 112.5 65.58, 114.39 85.79 M114.39 28.6 C113.6 40.19, 115.04 52.17, 114.39 85.79 M114.39 85.79 C112.64 104.75, 105.56 112.58, 85.79 114.39 M114.39 85.79 C116.12 106.43, 103.02 113.03, 85.79 114.39 M85.79 114.39 C68.72 116.06, 47.81 112.76, 28.6 114.39 M85.79 114.39 C72.43 115.27, 57.7 114.23, 28.6 114.39 M28.6 114.39 C8.7 115.93, -0.62 106.84, 0 85.79 M28.6 114.39 C11.2 115.56, -1.71 107.16, 0 85.79 M0 85.79 C1.37 72.06, 0.46 63.68, 0 28.6 M0 85.79 C-0.67 72.26, -0.94 57.18, 0 28.6 M0 28.6 C1.35 7.7, 10.55 -0.03, 28.6 0 M0 28.6 C-2.09 10.74, 10.82 -1.15, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(422.1537551879883 167.306640625) rotate(0 6.439994812011719 12.5)"><text x="6.439994812011719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text></g><g stroke-linecap="round" transform="translate(534.4765625 122.611328125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C44.29 -0.57, 55.74 1.91, 85.79 0 M28.6 0 C48.93 0.36, 69.4 -0.17, 85.79 0 M85.79 0 C103.61 1.28, 115.14 8.25, 114.39 28.6 M85.79 0 C105.53 -1.06, 116.67 10.28, 114.39 28.6 M114.39 28.6 C112.07 45.07, 112.95 62.59, 114.39 85.79 M114.39 28.6 C114.05 44.27, 115.28 59.15, 114.39 85.79 M114.39 85.79 C115.9 106.23, 103.26 113.21, 85.79 114.39 M114.39 85.79 C114.75 105.84, 106.14 115.53, 85.79 114.39 M85.79 114.39 C63.72 112.24, 43.67 115.41, 28.6 114.39 M85.79 114.39 C63.07 115.08, 40.87 115.31, 28.6 114.39 M28.6 114.39 C10.98 115.41, -1.49 106.86, 0 85.79 M28.6 114.39 C7.39 116.66, 0.1 107.08, 0 85.79 M0 85.79 C-1.45 75.39, 1.36 61.8, 0 28.6 M0 85.79 C1 65.83, 0.83 47.69, 0 28.6 M0 28.6 C-1.82 10.58, 10.65 -1, 28.6 0 M0 28.6 C-0.23 11.66, 9.13 -1.95, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(583.8718795776367 167.306640625) rotate(0 7.799995422363281 12.5)"><text x="7.799995422363281" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text></g><g transform="translate(47.875 87.021484375) rotate(0 27.35997772216797 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batch</text></g><g stroke-linecap="round" transform="translate(30.72265625 313.373046875) rotate(0 330.216796875 94.927734375)"><path d="M-1.8 1.23 L659.03 -1.29 L659.38 188.25 L-0.11 191.12" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M0 0 C247.7 1.47, 495.83 0.12, 660.43 0 M0 0 C257.55 -1.64, 514.54 -1.98, 660.43 0 M660.43 0 C662.45 41.43, 663.1 82.31, 660.43 189.86 M660.43 0 C660.93 58.04, 660.42 115.74, 660.43 189.86 M660.43 189.86 C468.93 188.48, 277.87 188.5, 0 189.86 M660.43 189.86 C494.99 192.08, 330.12 192.36, 0 189.86 M0 189.86 C0.06 117.47, 0.49 46.32, 0 0 M0 189.86 C0.94 141.59, 2.12 92.56, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(66.265625 358.501953125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C40.61 -0.95, 55.7 1.36, 85.79 0 M28.6 0 C46.34 -0.91, 64.65 0.41, 85.79 0 M85.79 0 C104.73 -1.58, 113.06 7.87, 114.39 28.6 M85.79 0 C107.02 0.61, 114.93 8.26, 114.39 28.6 M114.39 28.6 C114.52 48.98, 112.41 71.17, 114.39 85.79 M114.39 28.6 C114.03 42.33, 114.08 55.73, 114.39 85.79 M114.39 85.79 C112.71 103.31, 104.73 116.07, 85.79 114.39 M114.39 85.79 C112.57 103.76, 106.96 115.47, 85.79 114.39 M85.79 114.39 C66.06 112.64, 47.17 115.25, 28.6 114.39 M85.79 114.39 C74.32 114.48, 63.5 113.96, 28.6 114.39 M28.6 114.39 C9.33 112.49, 0.16 106.07, 0 85.79 M28.6 114.39 C8.08 115.36, 0.04 104.97, 0 85.79 M0 85.79 C1.81 72.97, 1.14 58.8, 0 28.6 M0 85.79 C-0.94 73.65, -1.17 61.9, 0 28.6 M0 28.6 C-1.51 7.72, 8.47 -1.04, 28.6 0 M0 28.6 C0.8 9.36, 10.3 1.1, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(116.72093963623047 403.197265625) rotate(0 6.739997863769531 12.5)"><text x="6.739997863769531" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">E</text></g><g stroke-linecap="round" transform="translate(215.9921875 358.501953125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C49.58 -1.46, 68.49 -1.94, 85.79 0 M28.6 0 C40.22 -0.95, 52.83 0.69, 85.79 0 M85.79 0 C104.27 -1.87, 114.33 10.5, 114.39 28.6 M85.79 0 C107.01 -2.08, 115.71 8.79, 114.39 28.6 M114.39 28.6 C115.28 40.02, 113.66 51.05, 114.39 85.79 M114.39 28.6 C113.65 41.63, 114.08 55.38, 114.39 85.79 M114.39 85.79 C114.14 104.16, 104.19 114.07, 85.79 114.39 M114.39 85.79 C115.41 106.23, 106.59 116.28, 85.79 114.39 M85.79 114.39 C61.85 113.09, 38.52 112.99, 28.6 114.39 M85.79 114.39 C72.67 113.59, 58.97 114.84, 28.6 114.39 M28.6 114.39 C8.74 116.39, -0.44 103.32, 0 85.79 M28.6 114.39 C11.66 112.75, 0.06 105.54, 0 85.79 M0 85.79 C-0.45 71.9, -0.1 56.18, 0 28.6 M0 85.79 C-0.67 64.13, -0.1 43.36, 0 28.6 M0 28.6 C1.52 10.92, 9.37 -0.58, 28.6 0 M0 28.6 C0.78 7.33, 8 0.44, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(267.44750213623047 403.197265625) rotate(0 5.739997863769531 12.5)"><text x="5.739997863769531" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">F</text></g><g stroke-linecap="round" transform="translate(372.12109375 358.501953125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C41.07 -0.22, 52.53 -0.96, 85.79 0 M28.6 0 C49.89 -0.78, 70.92 -0.51, 85.79 0 M85.79 0 C103.79 0.25, 112.97 10.07, 114.39 28.6 M85.79 0 C105.36 1.69, 114.25 8.43, 114.39 28.6 M114.39 28.6 C115.52 43.17, 112.57 57.02, 114.39 85.79 M114.39 28.6 C114.11 49.64, 114 68.69, 114.39 85.79 M114.39 85.79 C113.12 103.1, 103.13 114.47, 85.79 114.39 M114.39 85.79 C112.18 105.39, 104.19 113.09, 85.79 114.39 M85.79 114.39 C65.17 115.17, 42.12 112.47, 28.6 114.39 M85.79 114.39 C63.4 115.26, 40.62 115.55, 28.6 114.39 M28.6 114.39 C9.42 113.68, -1.46 103.47, 0 85.79 M28.6 114.39 C8.55 116.56, 0.7 105.21, 0 85.79 M0 85.79 C0.32 71.13, -0.03 56.93, 0 28.6 M0 85.79 C0.8 70.94, -0.16 55.42, 0 28.6 M0 28.6 C0.33 9.57, 9.05 0.95, 28.6 0 M0 28.6 C-0.89 11.2, 9.25 0.83, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(421.42640686035156 403.197265625) rotate(0 7.8899993896484375 12.5)"><text x="7.8899993896484375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">G</text></g><g stroke-linecap="round" transform="translate(535.19921875 358.501953125) rotate(0 57.1953125 57.1953125)"><path d="M28.6 0 C46.53 -0.47, 66.43 -0.61, 85.79 0 M28.6 0 C46.45 0.11, 62.32 0.2, 85.79 0 M85.79 0 C104.65 -1.23, 114.58 8.56, 114.39 28.6 M85.79 0 C106.14 1.07, 113.36 10.35, 114.39 28.6 M114.39 28.6 C114.58 47.78, 114.41 67.24, 114.39 85.79 M114.39 28.6 C114.64 42.95, 114.53 55.38, 114.39 85.79 M114.39 85.79 C116 105.62, 103.72 116.26, 85.79 114.39 M114.39 85.79 C112.2 102.88, 106.55 116.62, 85.79 114.39 M85.79 114.39 C67.39 113.19, 50.95 112.93, 28.6 114.39 M85.79 114.39 C63.43 113.14, 39.51 114.52, 28.6 114.39 M28.6 114.39 C9.81 115.62, 1.09 102.91, 0 85.79 M28.6 114.39 C7.44 112.15, -1 106.22, 0 85.79 M0 85.79 C1.44 70.72, 1.57 52.9, 0 28.6 M0 85.79 C1.08 70.28, -0.11 54.21, 0 28.6 M0 28.6 C0.56 9.66, 9.08 1.92, 28.6 0 M0 28.6 C-0.84 9.28, 10.04 2.15, 28.6 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(586.8845367431641 403.197265625) rotate(0 5.5099945068359375 12.5)"><text x="5.5099945068359375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">H</text></g><g transform="translate(48.59765625 322.912109375) rotate(0 27.35997772216797 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">batch</text></g><g transform="translate(35.84765625 30) rotate(0 124.65990447998047 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Pending Failure Depth = 1</text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"/></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw (7).svg b/.gitbook/assets/file.excalidraw (7).svg
new file mode 100644
index 00000000..98205493
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw (7).svg	
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 170.09375 198" width="170.09375" height="198">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOWYW3PaOFx1MDAxNMff+Vx1MDAxNFxm+1x1MDAxYVxc3W3ljSSlkO6mTdKWdHc6XHUwMDE5YVx1MDAwYlAwtsc2t3Ty3Vc2XHUwMDA020CAZEKWdt2ZXHUwMDA2XHUwMDFmST7S0fn9dflZKpcr8TSQleNyRU5s4SonXHUwMDE048pRYlx1MDAxZskwUr6ni1D6XHUwMDFl+cPQTmv24jiIjt+9XHUwMDEzQWB0Vdz2/b5h+4NZM+nKgfTiSFf8R7+Xyz/T/3OOQmnHwuu6Mm2QXHUwMDE2LfnK2y58L/Vcbk3ETEChtaigojPtLJaOLu1cYjeSWUliqnz/Plwit63xl+uWXHUwMDE43oXtZvWqWW9kPjvKda/jqZv2KfL10LOyKFx1MDAwZf2+bCkn7lx1MDAxNfo0sz/VKvSH3Z4no2TscGH1XHUwMDAzYat4mthcdTAwMDBYWGdcdTAwMDE4LmeWSeFtWnib+T31XT9M/P5cdTAwMDFl8i/z3Fx1MDAxNna/q917zqJOXHUwMDFjXG4vXG5EqOdcIqs3flx1MDAxY1x1MDAxMTdMurD2pOr2Ym0mJPMo07hahGPELcJcdTAwMTZcdTAwMDWJm6DppPP7I1x1MDAwYmYoXHUwMDA2spm08Iaum4+I58wjUihoJ1x1MDAwNe+XUyWfLoWUieUkXHUwMDFiRW6KScuciFx1MDAwZjdn/MNl25zaft2pduqVRb2Ho/WfnTVcdTAwMWWdfFx1MDAxY9Sb51x1MDAxN77/7bx2O/3rtNa671x1MDAxNL08+lx1MDAxN2Hoj3Pfnf/Kxj9cZlx1MDAxYzHLRGhCRjhgiFx1MDAxMphFzVVefzlcdTAwMDaub/ez5C3lOvw8ZPBTyFiMXCJimpjsjEw0uJ18fN9cdTAwMWJ5oPd13GDihMJcdTAwMDY+bGRcdTAwMTAwXHUwMDAwJczK5XPSkJO9wcO4UXC3XHUwMDAxXHUwMDFmrFx1MDAxM8FEXHUwMDFhoMPEZ9RcdTAwMDffXHUwMDA27Ob08tO4XHUwMDExg1x1MDAxNuq1aj34XHUwMDA2+Gz87qTFKFN3jeb91U2r/vf1UF2R6i+I5dMrXHUwMDE5R9CimCG0M5f0buxcXFb/XGb51d09bZjwU713e37YXFyahSVmv8tcdTAwMTlcdTAwMDZcdTAwMDYmeDckIbAsamG9lzhMJr9i7vsnXHUwMDEzR47vL1x1MDAxOP983jlcdTAwMWK9b/2G7Mz8P2c5o5xoanRHdsZms0RcdTAwMWQkNpBcdTAwMWF4iVx1MDAxYkJcZro3dKBpaC1aXHUwMDAzXHUwMDBlNTijy/AgQjiFjL7CepZl72NKoLnl4WmkXjM7cyFcdTAwMTVhfKI8R3ndYsfmZ5nmXHUwMDBlx4lk0L49jPJcdTAwMTOahEdcdTAwMDRJXHUwMDE3V0YmPWe7x827sZzHKjZcdTAwMTCzOOKMWYzoXHI7llVzpVx1MDAxN8RcdTAwMDCY8OwxV3rliig+9Vx1MDAwN1x1MDAwM1x1MDAxNevQfvaVXHUwMDE3L4cwjVUtQbcnxcr86lHly5ZcdTAwMTlcdTAwMGaSL1x1MDAxNqUx+1XOx02/LH7/OFpbu1xuMiqSXHUwMDA3aUq2tYEsn+zJo9nSaZ61K+X/vp50MVxugGkyuLt0bVbyg5QuTlxmktvTvI10oVxcQmdr/Vx1MDAxNlx1MDAxOdNcblx1MDAwNk2CX2FcdTAwMDfwy6nY5p1kXlP0uSp5LIS1slhcXFx1MDAxZmV0xMxcdTAwMWNzbyRu834gRjnHXHUwMDE0IH2eJYii313fXiBv1VTf1lx1MDAxMpE8L9K6wjZ1p9NccoSIYczN3W9cdTAwMWTW3+JcdTAwMWO01plcdTAwMDajXHUwMDE4I4AhWrp32KfgaYElXHUwMDE4U772qINWZI5yvVx1MDAxOVx1MDAwMDCnyXs66WxcdTAwMTO0rGfPXHUwMDEwtI7vxdfqPtVUULDWxUC508LcpWmq41erXHUwMDE0TDVXdZNsrdi6qzIsJHKsbOEuKlxmlOPkz/G29iOUJ8NdNn9cdTAwMTU/VF3lXHT3y2o39Ihl43GOoJGbpbaIZFKa2K3XhZBifcwlXGLuzuD6q6CDZlx1MDAxMGs9XHUwMDAzayGEXHUwMDAw71x1MDAxMUPMXHLOXHUwMDAxeuLGYVx1MDAxNUOoT61cdTAwMDCw/1x1MDAxNYdcdTAwMDPNzp5Q3HJHvYxisSf/XHSNXHUwMDE46UVcdTAwMTHjZ9zDr79cdTAwMDQ6aFx1MDAxYS3TMFx1MDAwMYCcXHUwMDFl9JJcYlx0xaZlWnDvN/KHw+LZnkDccim9XGbi2Vx1MDAwYikszfe7XHUwMDE1XHUwMDExXHUwMDA017GO5OJQoadOOfNwZNGrjJRcdTAwMWOfbM6j0pzuhCSZnuNcdTAwMWVKXHUwMDBm/1x1MDAwMkf/nKUifQ==<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="170.09375" height="198" fill="transparent"/><g stroke-linecap="round" transform="translate(30 30) rotate(0 14.875 22)"><path d="M0 0 C6.05 -0.33, 14.1 0.55, 29.75 0 M0 0 C7.89 -0.32, 14.62 0.56, 29.75 0 M29.75 0 C29.73 14.6, 29.93 26.89, 29.75 44 M29.75 0 C29.47 16.92, 29.89 33.28, 29.75 44 M29.75 44 C23.12 44.45, 16.34 44.1, 0 44 M29.75 44 C19.41 43.76, 8.22 43.85, 0 44 M0 44 C-0.81 31.02, 0.13 15.72, 0 0 M0 44 C0.01 31.71, 0.6 19.84, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(50.0546875 124) rotate(0 34.84375 22)"><path d="M0 0 C20.11 0.76, 42.87 -0.32, 69.69 0 M0 0 C22.53 -1.09, 47.65 -0.55, 69.69 0 M69.69 0 C71.45 16.68, 68.75 34.93, 69.69 44 M69.69 0 C69.85 14.35, 69.23 27.53, 69.69 44 M69.69 44 C53.65 43.61, 36.29 45.18, 0 44 M69.69 44 C45.85 44.24, 22.65 44.64, 0 44 M0 44 C1.88 32.99, -1.11 21.25, 0 0 M0 44 C-0.67 35.7, -0.75 25.15, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(109.75 30) rotate(0 15.171875 22)"><path d="M0 0 C6.8 0.5, 13.02 0.42, 30.34 0 M0 0 C6.75 0.58, 14 0.52, 30.34 0 M30.34 0 C30.3 11.08, 31.09 23.15, 30.34 44 M30.34 0 C30.3 9.87, 29.81 19.57, 30.34 44 M30.34 44 C18.35 44.01, 7.33 44.4, 0 44 M30.34 44 C21.35 43.79, 12.69 43.69, 0 44 M0 44 C0.23 32.37, -0.11 21.13, 0 0 M0 44 C0.48 32.7, -0.24 22.72, 0 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round"><g transform="translate(45.375 74.5) rotate(0 8.1765 22.4825)"><path d="M0.04 0.52 C0.06 4.76, -3.77 17.33, -1.11 24.92 C1.55 32.52, 13.19 42.83, 16.01 46.08 M-1.39 -0.26 C-0.88 3.66, -2.02 15.59, 1.29 23.03 C4.6 30.46, 16.09 40.62, 18.46 44.32" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(45.375 74.5) rotate(0 8.1765 22.4825)"><path d="M6.78 37.73 C9.68 38.38, 11.94 39.44, 18.46 44.32 M6.78 37.73 C11.93 40.44, 16.44 42.7, 18.46 44.32" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(45.375 74.5) rotate(0 8.1765 22.4825)"><path d="M13.75 31.76 C15.22 33.61, 16.07 35.88, 18.46 44.32 M13.75 31.76 C16.11 36.79, 17.88 41.39, 18.46 44.32" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(124.422 74.5) rotate(0 -8.176499999999997 22.4825)"><path d="M0.52 -0.61 C0.76 3.33, 3.63 16.23, 0.92 23.66 C-1.78 31.09, -12.68 40.23, -15.74 43.96 M-0.67 1.69 C-0.5 5.75, 2.74 17.58, 0.2 24.75 C-2.34 31.93, -12.98 41.53, -15.92 44.75" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(124.422 74.5) rotate(0 -8.176499999999997 22.4825)"><path d="M-10.37 32.53 C-12.46 36.15, -14.14 40.05, -15.92 44.75 M-10.37 32.53 C-11.55 35.75, -13.08 37.73, -15.92 44.75" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(124.422 74.5) rotate(0 -8.176499999999997 22.4825)"><path d="M-3.81 38.96 C-7.58 40.96, -10.94 43.22, -15.92 44.75 M-3.81 38.96 C-6.39 40.85, -9.34 41.44, -15.92 44.75" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(37.6533203125 39.5) rotate(0 7.2216796875 12.5)"><text x="7.2216796875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text></g><g transform="translate(64.9033203125 133.5) rotate(0 19.9951171875 12.5)"><text x="19.9951171875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">main</text></g><g transform="translate(117.7001953125 39.5) rotate(0 7.2216796875 12.5)"><text x="7.2216796875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text></g></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/file.excalidraw.svg b/.gitbook/assets/file.excalidraw.svg
new file mode 100644
index 00000000..6c7b9f39
--- /dev/null
+++ b/.gitbook/assets/file.excalidraw.svg
@@ -0,0 +1,21 @@
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 741.4765625 420.96875" width="1482.953125" height="841.9375">
+  <!-- svg-source:excalidraw -->
+  <!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOVbWXPaSFx1MDAxN333r3B5XuOe3pe8ecF74j1cdTAwMWXnqymXQFx1MDAwMjRcYolcdTAwMTHCmJnKf/+uZIxcdTAwMTZAlmOwcUauXCLQi3q755x7uzv/rq2vb0SjnrPxeX3DeWhYnmuH1nDjU5x+74R9N/Ahiya/+8EgbCQl21HU63/+/Xer10MtN6pcdTAwMDdBXHUwMDA3NYLuYzXHc7qOXHUwMDFm9aHg/+D3+vq/yWemodBpRJbf8pykQpKVtkWoKqZ+XHL8pF2imFx1MDAxNFRhyicl3P4utFx1MDAxNzk2ZDctr++kOXHSxtfuXHUwMDA12Vx1MDAwZfZ3nCPnXHUwMDAwe3JveN2Wx2mzTdfzLqORl3SrXHUwMDFmwOjTvH5cdTAwMTRcdTAwMDZcdTAwMWTnxrWj9tNcdTAwMTRk0ufVXG6DQavtO/14+GSSXHUwMDFh9KyGXHUwMDFijeI0jCepj3PweT1NeYBfklx1MDAxMSRccuFYUjHJiKtuXHUwMDEyTFx1MDAxMMZGSZHNeuzPTuBcdTAwMDVh3J/fiFx1MDAxM/+lPapbjU5cdTAwMGK65duTMlFo+f2eXHUwMDE1wjKl5YbjkUpNXHUwMDEwL7TRdtxWO4JMJjEyUqtM804y+URcdTAwMTLCmNQ6XHUwMDFkTNxo79BOXGbhz3TKQ6vrXHUwMDFjxlX8gedl5823x/P2ZDCpybBxyo90VHH5WsbU0lx1MDAxNlx1MDAwNj3berRcYqIo5kJzXHUwMDAyXHUwMDFkk5N8z/U7xea9oNFJjWgt09ZcdTAwMGKtl+m51mswzCqmL7BeaV2en/7VNp7fXHUwMDBlTy+ilpLnrb9X3HpcdTAwMTVBWlNNpoxXIK20wa803d9cdTAwMWPjNJzmtNnCMiNtNGdqltlO2yvD2lx1MDAxOPiQ72Svkzpp7YyRRc5DXG7NjEXcXHUwMDBm6ZXdXHR27k9cdTAwMWUu5V2d7J+esKONSblcdTAwMWbjb/PBoIxShrFFgSHXzyxcdTAwMGXwPFx1MDAxOEBcdTAwMGYwIUTQyiiYPeaVRoHhXHUwMDFjODQhn4JJjol8IVgopXFmkFwixiisMCOzqJxOYUJwxYUhRr9cdTAwMWVcdTAwMTK5jFx1MDAxN3C1MiB9hrzAPNNeXHUwMDA1fnTp/lx1MDAxMy9cdTAwMDbFudQ9q+t6o9xiJnZcdTAwMGJT2LVcXH8jl7rlua3YgjdcdTAwMWHQWyfMXHUwMDE5d+SChzQp0HVtO6tcdTAwMDJccmhcbl7nhIdVyDtcYt2W61ve1cyewLidg6eVXCIos1Z1q+/EuXG6LsWm43lurz9Tplx1MDAxOCfF1Cd8MjBXzjIz+Fx1MDAxYzzN5fbFMLDOvoyk7Zw6zePhl1x1MDAwZVtteFx1MDAwMjBcdTAwMTBjwlx1MDAxNIHJJTJcIoeWXCIqXHUwMDFkXHUwMDAwXHUwMDEzI+VcbtVsNkzDzHCsXHUwMDA04nP0aTprXHUwMDAySVwisZEs9Vx1MDAxOVx1MDAxNqhSdFkqZXdcdTAwMGVcdTAwMDbfdHNzXHUwMDEwPjyYi+PG4f63U5pRqU+zX/tYeX//puebPq53T2+PXHUwMDA3XHUwMDBmR9/6/d1avpWn9q0wXGaGL1M/XHLSY5atfmZcdTAwMWW4XGZcdTAwMDBLSqwrg2v2TK42uLhAXHUwMDEwp1x1MDAxOcwlNVRxnYOYVFxi89j3giBCS51Zi5+AWqlcdTAwMDBcdTAwMTKGXGJcYqBcdTAwMTGEKKJnoW5aXHUwMDAxKfiEXHUwMDA0VPk/pIBbS5K/Z2ShKH9bb6Z9RvFi6lx1MDAxMzw5hFx1MDAwM0rg6lx1MDAwMdpcdTAwMWbmYuBcdTAwMWPcj05Ojq5ObprmoPaX3FxcbXhcdTAwMDJcdTAwMDUhUdxa4OAsUvrMvoJRpEHLpc9cdTAwMTK2bs5cYs5+RvpcYlx1MDAxNpqB+0zTuflcYtqn/nH656pNuC+3d3S4X/tjUFx1MDAxM1W17/C8eYRH3fqRjb+bmnV3eebX3GraV/pefevhr7X2yET7XHUwMDFk3bpcdTAwMTV/XHUwMDBisrW3OE1cdTAwMTWMiyx8l6Gpc/dVaFx1MDAxY8RT8JMqo3b2XHUwMDEyrTZqhYq3VbjUmHONM5hIRNUgTaikXHUwMDE4PNpyUa1cdTAwMDDiclHlSDBcdTAwMTBVRrUkLN7mqVx1MDAxNFgyJqHX/6XAcntJsvqM4lx1MDAxNGV1+81kXHUwMDE1vKy5ukpcYsFcdTAwMWNjTNI2n8No48xqs+udnebR7flX+/5cdTAwMGW3vnlcdTAwMTerjVFCJEF6VlhpXHUwMDEwVrosrKRN43Berq112qT1+mK0lTFcdTAwMDZ4wFx1MDAxZkxaL5h3fdbYbV9cdTAwMDanp5JcdTAwMWadPCh5M6osgXvS+LXuTV905PfWjXNf+25fL0RcdTAwMDJcdTAwMTWDIFx1MDAwNzRIZ6H2tpuqXHUwMDA0XHUwMDE2U1xuobWqXGaw2ZO54lx1MDAwMNNcdTAwMTKBi1xuY1UwWixYXHUwMDBlZqCCXHUwMDA09LFCaFlcdTAwMDFu5SookFx1MDAwMFx1MDAxMTRYc65cdTAwMTK3uYpcblx1MDAwMkNcdTAwMWHQQaj2XjKYWCrRmVx1MDAxM6hly+DukmTwXHUwMDE5eSjK4O6bySAnc1VcdTAwMTB0gWOqaDpLz2HUZ/R2cHRcdTAwMWV+XHQ6yrlsX9z25Oh2tTGqKWhOflx1MDAwZjWpyGGq5TObq1JxYptyXHUwMDE1tHG9ubBcYpNcdTAwMWIpwS35YLurd3ff+c1Vy1xme6PoXHUwMDE4e/w6uHJ23yDCrCCDylx1MDAxMIGzUFtKJEjnIUzHXGZrOK6ugrPncrVcdTAwMTEmXGKSmGHDtVx1MDAxMlpIk1x1MDAwN1x1MDAxYfig4IJyI1x1MDAxZWNB+Vx1MDAxYbSViyBFWlx1MDAxOVx1MDAwM3JLgdZcdTAwMTjP3HwoXHUwMDE1QcpcdTAwMThmmi/A9XyFXGLibDC6bFx1MDAxMdxZklxiPiNcdTAwMGZFXHUwMDEx3FmsXGI+0sNcZnyaufgkIFx1MDAwMGCVxlQ//C8/XHJaTYAyhUyCXGJVXHUwMDE0QY3G/uJcdTAwMTKvb2FUaHqCRq5cdTAwMTBcdTAwMTbFSHRcZkuK4U8y/F5cdTAwMTHhUnZu+pFcdTAwMTVG265vu36rWMXx7TQn0+Xx9cUqh1x1MDAxOFx08lx1MDAxYoO4/1x1MDAxOGFcdTAwMGWONeVCY0M5XHUwMDAzYs6Ualm9eDhTs+BZ/Wgn6HbdXGJcdTAwMDZ8XHUwMDE2uH5U7GUygq1cdTAwMThpbceamnVcdTAwMThDNq9cYsle/Ma8o5F+W0+tNvkx+f7np5mlN6dcZitJzdhU+oa17L8v5lx1MDAwZjX3+FSDx1x1MDAxNl9cdTAwMDCtvo1U7u6sJn1ogiCKXHUwMDA1l1VoxWDGpzjEaK5cYlxiXHUwMDE4XHUwMDA2jSeFfi2OSIREXHUwMDE0tJpreFxiIyRtKSVcdTAwMTRcdTAwMTF7XCJaXGJcdTAwMGVBuSTZy3RPvKKUgpiXsKVcXFx1MDAwYn1cdTAwMDWv/Iy3Oo9X5rFHuT5n2GNcdTAwMTMjwlxmpUQxQVxyjTf5p9lcdTAwMDNJKVx0x8AyMJ9AMVNjr8Ro5fvHeUajOnYkjWSaSSWpZrM6RZXU8VU3QSnouvrQXHUwMDFjN9fk42dz2tpcdTAwMTfFeCWXhsFcImRsp9U9ppO7O3wyPKGHQ/+c3dp7dWmZ+mpTnlx1MDAxMlxm4YJjMlx1MDAxYTssitPc7Y1F01x1MDAxY0Yyf9U+XHJeXGaiwF6zdlx1MDAwZTRNXHUwMDAyrPfaN3hfZyn/slx1MDAwZlx1MDAwNO/iUsfPZmaVXHUwMDE3XHUwMDA154xkXHUwMDE34YxjKWTkXHUwMDA11yvLj+5XXHUwMDEyzkaBnk3fMFx1MDAxMWSpgU/ah/TaP1x1MDAwNl9cdPOZ/19FXHUwMDAwzVx1MDAxYlxmcvpcdTAwMGJjeFx1MDAwMU5cdTAwMDBcdTAwMDFth8iQgVx1MDAwZsA5zrjeJWHNL8JcdTAwMTY5msiY0sJUf26cQ+Kb+1pQVv2ooPx4cyVpglx1MDAxMMOQoFx1MDAxONxdiCBZZrBcdGFohFxyl0aD26s44fM3Ml9LXHUwMDFjXHUwMDA0XCJYxeFcdTAwMDHPW+Y2p7JEXHUwMDAyXHUwMDFkhYDBkKQzmVx1MDAwYqJPfGJcYsFcdTAwMTQ+Vo1PfuZ0+qV8Un5cdTAwMWGXXHUwMDBmdDC4s5xhzGNOXHUwMDExTNFMsV+bUObaWfxsTpvYPJ5ZXHUwMDFit7Bh9XqXXHUwMDExLPVkZcDkXFx7vD2dXHUwMDBlc+PedYbb5aBYXHUwMDFiT3dMXHUwMDE0TmKDP9Z+/Fx1MDAxZlmxpdwifQ==<!-- payload-end -->
+  <defs>
+    <style class="style-fonts">
+      @font-face {
+        font-family: "Virgil";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Virgil.woff2");
+      }
+      @font-face {
+        font-family: "Cascadia";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Cascadia.woff2");
+      }
+      @font-face {
+        font-family: "Assistant";
+        src: url("https://unpkg.com/@excalidraw/excalidraw@undefined/dist/excalidraw-assets/Assistant-Regular.woff2");
+      }
+    </style>
+    
+  </defs>
+  <rect x="0" y="0" width="741.4765625" height="420.96875" fill="transparent"/><g stroke-linecap="round" transform="translate(30 30) rotate(0 340.73828125 180.484375)"><path d="M32 0 C220.28 -0.51, 409.69 -0.45, 649.48 0 M32 0 C179.81 0.14, 328.23 0.11, 649.48 0 M649.48 0 C671.26 -0.01, 682.32 10.82, 681.48 32 M649.48 0 C670.78 -2.13, 683.64 9.74, 681.48 32 M681.48 32 C680.38 104.25, 678.98 173.9, 681.48 328.97 M681.48 32 C679.85 148.49, 679.18 264.82, 681.48 328.97 M681.48 328.97 C679.53 352.28, 670.25 360.04, 649.48 360.97 M681.48 328.97 C681.22 352.05, 672.94 360.23, 649.48 360.97 M649.48 360.97 C415.33 360.49, 180.22 359.25, 32 360.97 M649.48 360.97 C435.35 361.37, 220.66 360.76, 32 360.97 M32 360.97 C12.29 360.62, 1.03 348.86, 0 328.97 M32 360.97 C11.27 360.92, 0.7 349.9, 0 328.97 M0 328.97 C-2.07 240.67, -0.72 152.24, 0 32 M0 328.97 C1.66 263.14, 2.1 197.64, 0 32 M0 32 C-0.62 10.11, 11.48 1.59, 32 0 M0 32 C1.58 10.6, 8.69 1.27, 32 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g stroke-linecap="round" transform="translate(70.19140625 115.130859375) rotate(0 292.44921875 17.5)"><path d="M8.75 0 C147.69 0.49, 286.32 1.7, 576.15 0 C581.83 2.24, 584.27 4.94, 584.9 8.75 C582.45 10.08, 585.46 17.09, 584.9 26.25 C581.56 31.04, 579.41 33.4, 576.15 35 C412.31 35.47, 245.36 36.39, 8.75 35 C4.67 36.9, 2.42 29.81, 0 26.25 C0.28 23.13, 0.14 16.91, 0 8.75 C1.22 0.29, 3.78 -2.05, 8.75 0" stroke="none" stroke-width="0" fill="#e9ecef"/><path d="M8.75 0 C174.73 1.91, 341.32 0.88, 576.15 0 M8.75 0 C217.35 0.14, 426.45 0.84, 576.15 0 M576.15 0 C581.26 1.36, 583.52 2.27, 584.9 8.75 M576.15 0 C581.99 0.52, 586.43 3.52, 584.9 8.75 M584.9 8.75 C585.42 16.42, 585.41 19.91, 584.9 26.25 M584.9 8.75 C584.3 13.9, 585.81 18.33, 584.9 26.25 M584.9 26.25 C586.66 31.26, 581.63 35.03, 576.15 35 M584.9 26.25 C582.76 30.67, 580.95 35.53, 576.15 35 M576.15 35 C363.51 33.64, 150.46 33.3, 8.75 35 M576.15 35 C457.51 35.3, 338.86 35.65, 8.75 35 M8.75 35 C2.75 33.33, -1.57 33.99, 0 26.25 M8.75 35 C1.01 33.91, 0.34 31.12, 0 26.25 M0 26.25 C-0.65 20.74, 0.04 19.64, 0 8.75 M0 26.25 C0.54 19.82, 0.21 13.72, 0 8.75 M0 8.75 C-1.57 1.56, 4.69 -1.39, 8.75 0 M0 8.75 C1.08 1.89, 1.05 1.15, 8.75 0" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(342.7806396484375 120.130859375) rotate(0 19.8599853515625 12.5)"><text x="19.8599853515625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">main</text></g><g stroke-linecap="round" transform="translate(117.64453125 177.962890625) rotate(0 32.7421875 32.7421875)"><path d="M36.05 0.17 C42.16 0.06, 49.95 3.16, 54.57 7.48 C59.19 11.81, 62.21 19.69, 63.75 26.1 C65.28 32.51, 66.15 40.19, 63.78 45.95 C61.42 51.72, 55.31 57.57, 49.57 60.68 C43.84 63.78, 35.67 65.21, 29.37 64.6 C23.07 64, 16.37 61.31, 11.77 57.05 C7.17 52.79, 3.23 45.19, 1.77 39.04 C0.3 32.89, 0.76 25.98, 2.99 20.16 C5.22 14.34, 9.56 7.47, 15.13 4.11 C20.71 0.75, 32.61 0.61, 36.42 -0.02 C40.23 -0.66, 37.87 -0.21, 38 0.31 M38.06 -0.21 C44.15 0.36, 51.14 3.87, 55.78 8.52 C60.42 13.16, 64.67 20.93, 65.88 27.66 C67.09 34.39, 66.34 42.95, 63.04 48.91 C59.75 54.87, 52.17 60.56, 46.11 63.42 C40.05 66.28, 32.85 67.31, 26.69 66.08 C20.53 64.86, 13.63 60.65, 9.13 56.06 C4.63 51.47, 0.53 44.75, -0.32 38.56 C-1.17 32.37, 1.13 24.62, 4.01 18.91 C6.88 13.21, 11.26 7.58, 16.93 4.31 C22.61 1.05, 34.56 -0.37, 38.05 -0.68 C41.55 -1, 37.8 1.9, 37.91 2.44" stroke="none" stroke-width="0" fill="#ffc9c9"/><path d="M23.51 0.5 C29.22 -1.4, 36.66 0.64, 42.72 2.74 C48.78 4.84, 56.02 7.86, 59.89 13.09 C63.76 18.31, 65.98 27.53, 65.94 34.09 C65.89 40.64, 63.72 47.47, 59.61 52.42 C55.5 57.37, 47.4 61.9, 41.28 63.79 C35.16 65.68, 28.69 65.81, 22.89 63.78 C17.1 61.76, 10.29 56.89, 6.53 51.62 C2.78 46.35, 0.25 38.73, 0.36 32.15 C0.48 25.58, 2.52 17.46, 7.23 12.16 C11.93 6.86, 24.03 2.1, 28.61 0.35 C33.2 -1.4, 34.74 1.01, 34.74 1.67 M36.29 0.05 C42.3 -0.09, 49.98 3.05, 54.52 7.37 C59.06 11.69, 61.94 19.47, 63.52 25.98 C65.1 32.5, 66.43 40.58, 64 46.47 C61.56 52.36, 54.53 58.02, 48.93 61.31 C43.33 64.6, 36.77 66.81, 30.41 66.22 C24.05 65.63, 15.71 61.9, 10.8 57.78 C5.88 53.66, 2.31 47.78, 0.91 41.5 C-0.48 35.22, 0.01 26.3, 2.45 20.09 C4.88 13.89, 9.92 7.75, 15.51 4.29 C21.11 0.84, 32.6 0.08, 36.02 -0.64 C39.44 -1.36, 35.9 -0.53, 36.03 -0.03" stroke="#e03131" stroke-width="2" fill="none"/></g><g transform="translate(143.67449837927484 198.0528553128686) rotate(0 6.55999755859375 12.5)"><text x="6.55999755859375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">A</text></g><g stroke-linecap="round" transform="translate(330.87109375 180.732421875) rotate(0 32.7421875 32.7421875)"><path d="M33.72 0.79 C39.88 0.57, 47.65 3.06, 52.58 6.97 C57.51 10.89, 61.55 18.21, 63.31 24.27 C65.08 30.34, 65.15 37.6, 63.16 43.37 C61.17 49.14, 56.7 55.23, 51.37 58.87 C46.05 62.5, 37.73 65.35, 31.2 65.16 C24.66 64.98, 17.15 61.45, 12.16 57.76 C7.18 54.07, 2.92 48.96, 1.3 43.03 C-0.33 37.09, 0.21 28.38, 2.41 22.16 C4.61 15.93, 8.84 9.44, 14.49 5.68 C20.15 1.93, 32.47 0.28, 36.33 -0.39 C40.19 -1.06, 37.76 1.13, 37.66 1.66 M21.99 0.75 C27.6 -1.56, 36.56 -0.23, 42.82 1.88 C49.07 3.99, 55.61 8.16, 59.52 13.41 C63.44 18.66, 66.43 27.03, 66.32 33.4 C66.21 39.78, 62.82 46.46, 58.87 51.66 C54.92 56.86, 48.88 62.68, 42.64 64.6 C36.39 66.53, 27.63 65.17, 21.39 63.21 C15.16 61.24, 8.79 57.97, 5.22 52.81 C1.66 47.65, -0.19 38.85, 0.01 32.24 C0.22 25.64, 2.53 18.15, 6.43 13.18 C10.33 8.22, 20.91 4.15, 23.42 2.46 C25.92 0.76, 21.55 2.41, 21.46 3.03" stroke="none" stroke-width="0" fill="#a5d8ff"/><path d="M29.04 0.29 C34.84 -0.81, 42.87 1.57, 48.31 4.58 C53.76 7.58, 58.82 12.71, 61.71 18.34 C64.59 23.98, 66.85 31.99, 65.64 38.37 C64.42 44.75, 59.25 52, 54.43 56.62 C49.61 61.24, 43.11 65.47, 36.71 66.1 C30.3 66.73, 21.77 63.79, 16 60.41 C10.24 57.03, 4.74 51.61, 2.12 45.83 C-0.49 40.06, -1.22 31.83, 0.32 25.74 C1.86 19.65, 5.36 13.68, 11.37 9.31 C17.38 4.93, 31.13 0.79, 36.38 -0.49 C41.64 -1.78, 42.99 1.06, 42.91 1.61 M37.36 1.88 C43.52 2.85, 51.59 6.1, 56.46 10.7 C61.33 15.3, 65.76 23.33, 66.57 29.51 C67.39 35.68, 64.85 42.5, 61.36 47.73 C57.86 52.96, 51.31 58.08, 45.62 60.9 C39.93 63.72, 33.1 65.32, 27.22 64.64 C21.34 63.95, 14.88 61.24, 10.33 56.8 C5.77 52.36, 1.04 44.76, -0.1 37.99 C-1.24 31.23, 0.25 21.83, 3.5 16.22 C6.76 10.62, 13.57 7.18, 19.42 4.37 C25.27 1.57, 35.3 -0.12, 38.6 -0.63 C41.9 -1.13, 39.22 0.68, 39.21 1.33" stroke="#1971c2" stroke-width="2" fill="none"/></g><g transform="translate(356.1910617948022 200.8223865628686) rotate(0 7.269996643066406 12.5)"><text x="7.269996643066406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">B</text></g><g stroke-linecap="round" transform="translate(560.14453125 180.087890625) rotate(0 32.7421875 32.7421875)"><path d="M34.93 0.81 C41.1 0.49, 48.56 2.9, 53.39 6.62 C58.21 10.34, 62.36 16.9, 63.88 23.12 C65.41 29.34, 64.63 37.82, 62.55 43.95 C60.46 50.08, 56.44 56.43, 51.36 59.93 C46.28 63.42, 38.56 65.05, 32.09 64.91 C25.62 64.78, 17.6 63.13, 12.55 59.09 C7.5 55.06, 3.65 46.89, 1.81 40.7 C-0.04 34.51, -0.58 27.81, 1.47 21.94 C3.52 16.08, 8.4 9.05, 14.12 5.51 C19.84 1.96, 31.84 1.38, 35.79 0.68 C39.73 -0.01, 37.59 1.05, 37.77 1.35 M35.37 -0.46 C41.63 -0.34, 50.32 4.94, 54.97 9.23 C59.63 13.52, 62.09 19.54, 63.3 25.28 C64.52 31.02, 64.68 37.96, 62.25 43.68 C59.82 49.4, 53.96 56.14, 48.73 59.59 C43.5 63.04, 36.91 64.82, 30.88 64.36 C24.86 63.9, 17.56 60.69, 12.57 56.84 C7.57 52.98, 2.68 47.36, 0.91 41.22 C-0.86 35.08, -0.32 26.27, 1.96 19.99 C4.23 13.71, 9.06 6.65, 14.56 3.52 C20.06 0.4, 31.49 1.75, 34.96 1.22 C38.42 0.69, 35.27 0.08, 35.34 0.36" stroke="none" stroke-width="0" fill="#b2f2bb"/><path d="M46.21 3.22 C52 5.3, 57.36 10, 60.44 15.38 C63.52 20.75, 65.2 29.07, 64.69 35.49 C64.19 41.91, 61.68 48.85, 57.43 53.89 C53.19 58.93, 45.52 64.27, 39.22 65.74 C32.92 67.21, 25.38 65.43, 19.63 62.69 C13.88 59.94, 7.96 54.79, 4.71 49.27 C1.47 43.75, -0.58 36.08, 0.15 29.55 C0.88 23.01, 4.85 15, 9.1 10.06 C13.35 5.12, 18.82 0.73, 25.67 -0.1 C32.51 -0.94, 45.46 3.54, 50.16 5.05 C54.86 6.57, 54.22 8.51, 53.88 9 M39.41 0.72 C45.74 1.32, 53.25 6.68, 57.46 11.23 C61.67 15.78, 64.13 21.73, 64.67 28.01 C65.21 34.29, 63.79 43.15, 60.71 48.92 C57.64 54.7, 51.9 60.2, 46.22 62.66 C40.54 65.13, 32.93 65.08, 26.65 63.73 C20.37 62.39, 12.81 59.02, 8.53 54.59 C4.26 50.16, 2 43.33, 1.01 37.14 C0.02 30.95, -0.45 23.11, 2.6 17.44 C5.65 11.78, 13.14 5.94, 19.31 3.14 C25.47 0.33, 36.49 0.94, 39.59 0.63 C42.69 0.32, 38.07 0.7, 37.91 1.25" stroke="#2f9e44" stroke-width="2" fill="none"/></g><g transform="translate(584.9345005155053 200.1778553128686) rotate(0 7.799995422363281 12.5)"><text x="7.799995422363281" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">D</text></g><g stroke-linecap="round" transform="translate(223.76171875 272.279296875) rotate(0 32.7421875 32.7421875)"><path d="M18.28 2.96 C23.49 -0.24, 31.85 -0.68, 38.32 0.54 C44.79 1.76, 52.63 5.59, 57.12 10.29 C61.61 15, 64.35 22.63, 65.26 28.77 C66.17 34.91, 65.72 41.61, 62.59 47.12 C59.46 52.63, 52.55 58.74, 46.49 61.85 C40.44 64.95, 32.35 66.71, 26.27 65.74 C20.19 64.76, 14.29 60.84, 9.99 56.01 C5.69 51.18, 1.53 43.15, 0.47 36.76 C-0.59 30.37, -0.16 23.56, 3.64 17.66 C7.44 11.76, 18.98 4.15, 23.28 1.37 C27.58 -1.41, 29.29 0.41, 29.42 0.99 M20.99 1.1 C26.91 -1.49, 36.37 -0.71, 42.81 1.48 C49.25 3.67, 55.68 9.28, 59.64 14.24 C63.61 19.2, 66.4 25.22, 66.59 31.22 C66.79 37.22, 64.82 44.72, 60.81 50.24 C56.81 55.77, 48.79 62.23, 42.54 64.35 C36.29 66.47, 29.45 64.84, 23.32 62.99 C17.18 61.13, 9.86 58.02, 5.73 53.21 C1.61 48.39, -1.39 40.55, -1.44 34.11 C-1.5 27.68, 1.69 19.79, 5.42 14.58 C9.15 9.37, 17.9 4.77, 20.96 2.84 C24.02 0.91, 23.55 2.67, 23.75 3.01" stroke="none" stroke-width="0" fill="#d0bfff"/><path d="M28 -0.25 C34.12 -1.55, 42.68 0.99, 48.34 4.07 C53.99 7.14, 59.09 12.59, 61.93 18.19 C64.78 23.79, 66.51 31.36, 65.43 37.69 C64.36 44.01, 60.37 51.39, 55.49 56.12 C50.6 60.84, 42.66 65.12, 36.11 66.04 C29.57 66.96, 21.59 64.96, 16.22 61.63 C10.85 58.3, 6.53 51.84, 3.89 46.08 C1.26 40.31, -0.81 33.29, 0.4 27.06 C1.61 20.83, 6.07 13.13, 11.12 8.7 C16.18 4.27, 26.97 1.83, 30.73 0.47 C34.49 -0.88, 33.75 0.1, 33.68 0.59 M38.69 -0.37 C44.86 0.58, 52.61 7.01, 57.02 12.02 C61.43 17.03, 64.24 23.55, 65.15 29.7 C66.06 35.86, 65.74 43.53, 62.47 48.94 C59.2 54.36, 51.68 59.45, 45.51 62.18 C39.35 64.9, 31.71 66.49, 25.47 65.29 C19.22 64.1, 12.34 59.79, 8.05 55.02 C3.76 50.24, 0.2 43.32, -0.3 36.65 C-0.79 29.99, 1.71 20.77, 5.09 15.01 C8.48 9.26, 14.52 4.5, 20.02 2.12 C25.52 -0.26, 35.03 1.04, 38.09 0.75 C41.14 0.46, 38.32 -0.02, 38.34 0.39" stroke="#6741d9" stroke-width="2" fill="none"/></g><g transform="translate(249.91168862585687 292.3692615628686) rotate(0 6.439994812011719 12.5)"><text x="6.439994812011719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#6741d9" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">C</text></g><g stroke-linecap="round"><g transform="translate(236.2109375 279.482421875) rotate(0 -30.1171875 -23.525390625)"><path d="M0.72 1.14 C-9.29 -6.85, -51.09 -39.05, -61.06 -47.28 M-0.36 0.69 C-9.9 -7.18, -48.96 -37.83, -58.78 -45.86" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(236.2109375 279.482421875) rotate(0 -30.1171875 -23.525390625)"><path d="M-30.36 -36.27 C-34.6 -39.53, -42.96 -38.33, -58.78 -45.86 M-30.36 -36.27 C-36.64 -39.26, -41.31 -39.61, -58.78 -45.86" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(236.2109375 279.482421875) rotate(0 -30.1171875 -23.525390625)"><path d="M-43.17 -20.24 C-44.76 -27.01, -50.38 -29.24, -58.78 -45.86 M-43.17 -20.24 C-46.93 -26.48, -48.99 -30.09, -58.78 -45.86" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(280.1170783373343 279.9944766055931) rotate(0 28.111674444065557 -22.801927712980543)"><path d="M0.06 -0.04 C9.33 -7.37, 46.21 -37.38, 55.57 -44.92 M-1.37 -1.11 C8.3 -8.69, 48.47 -39.56, 57.95 -46.68" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(280.1170783373343 279.9944766055931) rotate(0 28.111674444065557 -22.801927712980543)"><path d="M41.74 -21.44 C46.66 -29.98, 52.66 -36.35, 57.95 -46.68 M41.74 -21.44 C46.33 -30, 52.04 -37.15, 57.95 -46.68" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(280.1170783373343 279.9944766055931) rotate(0 28.111674444065557 -22.801927712980543)"><path d="M29.3 -37.76 C37.77 -41.49, 47.44 -43.03, 57.95 -46.68 M29.3 -37.76 C38.06 -41.12, 47.82 -42.94, 57.95 -46.68" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(151.31640625 178.083984375) rotate(0 0.3203125 -14.638671875)"><path d="M0.35 -0.33 C0.57 -5.18, 1.03 -24.54, 1.14 -29.37 M-0.13 0.69 C0.08 -4.06, 0.8 -23.82, 0.97 -28.72" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(151.31640625 178.083984375) rotate(0 0.3203125 -14.638671875)"><path d="M5.48 -14.79 C3.87 -17.84, 2.97 -21.7, 0.97 -28.72 M5.48 -14.79 C4.54 -18.99, 2.65 -23.05, 0.97 -28.72" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(151.31640625 178.083984375) rotate(0 0.3203125 -14.638671875)"><path d="M-4.53 -15.15 C-3.46 -18.13, -1.68 -21.9, 0.97 -28.72 M-4.53 -15.15 C-2.55 -19.29, -1.5 -23.24, 0.97 -28.72" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(368.43359375 180.525390625) rotate(0 0 -15.490234375)"><path d="M-0.2 -0.36 C-0.19 -5.47, -0.47 -25.45, -0.36 -30.53 M0.71 0.65 C0.92 -4.62, 0.75 -26.13, 0.7 -31.27" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(368.43359375 180.525390625) rotate(0 0 -15.490234375)"><path d="M6.11 -16.76 C4.33 -20.63, 4.21 -22.83, 0.7 -31.27 M6.11 -16.76 C4.37 -21.57, 2.67 -26.16, 0.7 -31.27" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(368.43359375 180.525390625) rotate(0 0 -15.490234375)"><path d="M-4.48 -16.67 C-3.8 -20.55, -1.47 -22.77, 0.7 -31.27 M-4.48 -16.67 C-2.79 -21.55, -1.06 -26.17, 0.7 -31.27" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(591.829274257331 179.10446429174146) rotate(0 0.528722246334496 -15.260239958370729)"><path d="M-0.22 0.11 C-0.08 -5.03, 1.1 -25.91, 1.34 -31.04 M0.67 -0.32 C0.71 -5.39, 1.01 -25.64, 1.05 -30.6" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(591.829274257331 179.10446429174146) rotate(0 0.528722246334496 -15.260239958370729)"><path d="M6.1 -16.19 C4.26 -21.55, 1.39 -27.49, 1.05 -30.6 M6.1 -16.19 C4.53 -20.36, 3.4 -23.98, 1.05 -30.6" stroke="#1e1e1e" stroke-width="2" fill="none"/></g><g transform="translate(591.829274257331 179.10446429174146) rotate(0 0.528722246334496 -15.260239958370729)"><path d="M-4.34 -16.32 C-2.02 -21.6, -0.74 -27.49, 1.05 -30.6 M-4.34 -16.32 C-3.02 -20.49, -1.26 -24.07, 1.05 -30.6" stroke="#1e1e1e" stroke-width="2" fill="none"/></g></g><mask/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/flake8.gif b/.gitbook/assets/flake8.gif
new file mode 100644
index 00000000..890c89f3
Binary files /dev/null and b/.gitbook/assets/flake8.gif differ
diff --git a/.gitbook/assets/flaky-tests-failure-details-dark.png b/.gitbook/assets/flaky-tests-failure-details-dark.png
new file mode 100644
index 00000000..fa151ffc
Binary files /dev/null and b/.gitbook/assets/flaky-tests-failure-details-dark.png differ
diff --git a/.gitbook/assets/flaky-tests-failure-details-light.png b/.gitbook/assets/flaky-tests-failure-details-light.png
new file mode 100644
index 00000000..25be67e9
Binary files /dev/null and b/.gitbook/assets/flaky-tests-failure-details-light.png differ
diff --git a/.gitbook/assets/flaky-tests-list-dark.png b/.gitbook/assets/flaky-tests-list-dark.png
new file mode 100644
index 00000000..9dd29132
Binary files /dev/null and b/.gitbook/assets/flaky-tests-list-dark.png differ
diff --git a/.gitbook/assets/flaky-tests-list-light.png b/.gitbook/assets/flaky-tests-list-light.png
new file mode 100644
index 00000000..25563091
Binary files /dev/null and b/.gitbook/assets/flaky-tests-list-light.png differ
diff --git a/.gitbook/assets/flaky-tests-overview-table-v2-dark.png b/.gitbook/assets/flaky-tests-overview-table-v2-dark.png
new file mode 100644
index 00000000..31e8ed1a
Binary files /dev/null and b/.gitbook/assets/flaky-tests-overview-table-v2-dark.png differ
diff --git a/.gitbook/assets/flaky-tests-overview-table-v2-light.png b/.gitbook/assets/flaky-tests-overview-table-v2-light.png
new file mode 100644
index 00000000..9624baa3
Binary files /dev/null and b/.gitbook/assets/flaky-tests-overview-table-v2-light.png differ
diff --git a/.gitbook/assets/github (1).png b/.gitbook/assets/github (1).png
new file mode 100644
index 00000000..5e5e35d4
Binary files /dev/null and b/.gitbook/assets/github (1).png differ
diff --git a/.gitbook/assets/github-actions-secrets b/.gitbook/assets/github-actions-secrets
new file mode 100644
index 00000000..23ec8498
Binary files /dev/null and b/.gitbook/assets/github-actions-secrets differ
diff --git a/.gitbook/assets/github-comment-dark (1).png b/.gitbook/assets/github-comment-dark (1).png
new file mode 100644
index 00000000..d7e9113c
Binary files /dev/null and b/.gitbook/assets/github-comment-dark (1).png differ
diff --git a/.gitbook/assets/github-comment-dark.png b/.gitbook/assets/github-comment-dark.png
new file mode 100644
index 00000000..ca9a7ebf
Binary files /dev/null and b/.gitbook/assets/github-comment-dark.png differ
diff --git a/.gitbook/assets/github-comment-light (1).png b/.gitbook/assets/github-comment-light (1).png
new file mode 100644
index 00000000..6f11ddd8
Binary files /dev/null and b/.gitbook/assets/github-comment-light (1).png differ
diff --git a/.gitbook/assets/github-comment-light.png b/.gitbook/assets/github-comment-light.png
new file mode 100644
index 00000000..5bbf0800
Binary files /dev/null and b/.gitbook/assets/github-comment-light.png differ
diff --git a/.gitbook/assets/github.png b/.gitbook/assets/github.png
new file mode 100644
index 00000000..39bf1729
Binary files /dev/null and b/.gitbook/assets/github.png differ
diff --git a/.gitbook/assets/gitlab (1).png b/.gitbook/assets/gitlab (1).png
new file mode 100644
index 00000000..441b51ec
Binary files /dev/null and b/.gitbook/assets/gitlab (1).png differ
diff --git a/.gitbook/assets/gitlab-logo.png b/.gitbook/assets/gitlab-logo.png
new file mode 100644
index 00000000..767898b7
Binary files /dev/null and b/.gitbook/assets/gitlab-logo.png differ
diff --git a/.gitbook/assets/gitlab.png b/.gitbook/assets/gitlab.png
new file mode 100644
index 00000000..159f50ca
Binary files /dev/null and b/.gitbook/assets/gitlab.png differ
diff --git a/.gitbook/assets/gitleaks.gif b/.gitbook/assets/gitleaks.gif
new file mode 100644
index 00000000..7946ce54
Binary files /dev/null and b/.gitbook/assets/gitleaks.gif differ
diff --git a/.gitbook/assets/go-junit-report-logo.png b/.gitbook/assets/go-junit-report-logo.png
new file mode 100644
index 00000000..2197b240
Binary files /dev/null and b/.gitbook/assets/go-junit-report-logo.png differ
diff --git a/.gitbook/assets/go-junit-report.png b/.gitbook/assets/go-junit-report.png
new file mode 100644
index 00000000..e3c2d184
Binary files /dev/null and b/.gitbook/assets/go-junit-report.png differ
diff --git a/.gitbook/assets/googletest.png b/.gitbook/assets/googletest.png
new file mode 100644
index 00000000..62c643f1
Binary files /dev/null and b/.gitbook/assets/googletest.png differ
diff --git a/.gitbook/assets/gotestsum.png b/.gitbook/assets/gotestsum.png
new file mode 100644
index 00000000..18e9ebef
Binary files /dev/null and b/.gitbook/assets/gotestsum.png differ
diff --git a/.gitbook/assets/gradle.png b/.gitbook/assets/gradle.png
new file mode 100644
index 00000000..9aef59e6
Binary files /dev/null and b/.gitbook/assets/gradle.png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png
new file mode 100644
index 00000000..300b6b5c
Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1).png
new file mode 100644
index 00000000..1dad00c6
Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png
new file mode 100644
index 00000000..b9f2ff5e
Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png
new file mode 100644
index 00000000..25207598
Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png
index 615601b2..3371635e 100644
Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ
diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png
index 14ca9cf9..26ed4e54 100644
Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ
diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png
index a1c4ef5c..b20755f7 100644
Binary files a/.gitbook/assets/image (10).png and b/.gitbook/assets/image (10).png differ
diff --git a/.gitbook/assets/image (11).png b/.gitbook/assets/image (11).png
index 5582a0af..cafd52e8 100644
Binary files a/.gitbook/assets/image (11).png and b/.gitbook/assets/image (11).png differ
diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png
index 47708f2b..70de42fb 100644
Binary files a/.gitbook/assets/image (12).png and b/.gitbook/assets/image (12).png differ
diff --git a/.gitbook/assets/image (13).png b/.gitbook/assets/image (13).png
index d758773d..3e702ed8 100644
Binary files a/.gitbook/assets/image (13).png and b/.gitbook/assets/image (13).png differ
diff --git a/.gitbook/assets/image (14).png b/.gitbook/assets/image (14).png
index a1c4ef5c..9b059e2e 100644
Binary files a/.gitbook/assets/image (14).png and b/.gitbook/assets/image (14).png differ
diff --git a/.gitbook/assets/image (15).png b/.gitbook/assets/image (15).png
index a1c4ef5c..f465dfce 100644
Binary files a/.gitbook/assets/image (15).png and b/.gitbook/assets/image (15).png differ
diff --git a/.gitbook/assets/image (16).png b/.gitbook/assets/image (16).png
new file mode 100644
index 00000000..51a253db
Binary files /dev/null and b/.gitbook/assets/image (16).png differ
diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png
new file mode 100644
index 00000000..7bfdd278
Binary files /dev/null and b/.gitbook/assets/image (17).png differ
diff --git a/.gitbook/assets/image (18).png b/.gitbook/assets/image (18).png
new file mode 100644
index 00000000..b2ac6b9e
Binary files /dev/null and b/.gitbook/assets/image (18).png differ
diff --git a/.gitbook/assets/image (19).png b/.gitbook/assets/image (19).png
new file mode 100644
index 00000000..6a896ce2
Binary files /dev/null and b/.gitbook/assets/image (19).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1).png
new file mode 100644
index 00000000..55b3f471
Binary files /dev/null and b/.gitbook/assets/image (2) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1).png b/.gitbook/assets/image (2) (1) (1).png
new file mode 100644
index 00000000..a0cbb0d7
Binary files /dev/null and b/.gitbook/assets/image (2) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png
new file mode 100644
index 00000000..3371635e
Binary files /dev/null and b/.gitbook/assets/image (2) (1).png differ
diff --git a/.gitbook/assets/image (2) (2).png b/.gitbook/assets/image (2) (2).png
new file mode 100644
index 00000000..070db445
Binary files /dev/null and b/.gitbook/assets/image (2) (2).png differ
diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png
index 69069c13..3371635e 100644
Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ
diff --git a/.gitbook/assets/image (20).png b/.gitbook/assets/image (20).png
new file mode 100644
index 00000000..300b6b5c
Binary files /dev/null and b/.gitbook/assets/image (20).png differ
diff --git a/.gitbook/assets/image (21).png b/.gitbook/assets/image (21).png
new file mode 100644
index 00000000..55b3f471
Binary files /dev/null and b/.gitbook/assets/image (21).png differ
diff --git a/.gitbook/assets/image (22).png b/.gitbook/assets/image (22).png
new file mode 100644
index 00000000..2cbaec39
Binary files /dev/null and b/.gitbook/assets/image (22).png differ
diff --git a/.gitbook/assets/image (23).png b/.gitbook/assets/image (23).png
new file mode 100644
index 00000000..c4e88ab4
Binary files /dev/null and b/.gitbook/assets/image (23).png differ
diff --git a/.gitbook/assets/image (24).png b/.gitbook/assets/image (24).png
new file mode 100644
index 00000000..57ae7fd7
Binary files /dev/null and b/.gitbook/assets/image (24).png differ
diff --git a/.gitbook/assets/image (25).png b/.gitbook/assets/image (25).png
new file mode 100644
index 00000000..16b95a88
Binary files /dev/null and b/.gitbook/assets/image (25).png differ
diff --git a/.gitbook/assets/image (26).png b/.gitbook/assets/image (26).png
new file mode 100644
index 00000000..16b95a88
Binary files /dev/null and b/.gitbook/assets/image (26).png differ
diff --git a/.gitbook/assets/image (27).png b/.gitbook/assets/image (27).png
new file mode 100644
index 00000000..dbd8b50c
Binary files /dev/null and b/.gitbook/assets/image (27).png differ
diff --git a/.gitbook/assets/image (28).png b/.gitbook/assets/image (28).png
new file mode 100644
index 00000000..6040926e
Binary files /dev/null and b/.gitbook/assets/image (28).png differ
diff --git a/.gitbook/assets/image (29).png b/.gitbook/assets/image (29).png
new file mode 100644
index 00000000..6040926e
Binary files /dev/null and b/.gitbook/assets/image (29).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1).png
new file mode 100644
index 00000000..beb73923
Binary files /dev/null and b/.gitbook/assets/image (3) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1).png b/.gitbook/assets/image (3) (1) (1).png
new file mode 100644
index 00000000..beb73923
Binary files /dev/null and b/.gitbook/assets/image (3) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png
new file mode 100644
index 00000000..e1bdbe4b
Binary files /dev/null and b/.gitbook/assets/image (3) (1).png differ
diff --git a/.gitbook/assets/image (3) (2).png b/.gitbook/assets/image (3) (2).png
new file mode 100644
index 00000000..2cbaec39
Binary files /dev/null and b/.gitbook/assets/image (3) (2).png differ
diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png
index 2ede3ba8..c9b6e57b 100644
Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ
diff --git a/.gitbook/assets/image (30).png b/.gitbook/assets/image (30).png
new file mode 100644
index 00000000..6dac4b84
Binary files /dev/null and b/.gitbook/assets/image (30).png differ
diff --git a/.gitbook/assets/image (31).png b/.gitbook/assets/image (31).png
new file mode 100644
index 00000000..fb5c9d6e
Binary files /dev/null and b/.gitbook/assets/image (31).png differ
diff --git a/.gitbook/assets/image (32).png b/.gitbook/assets/image (32).png
new file mode 100644
index 00000000..9e8061fb
Binary files /dev/null and b/.gitbook/assets/image (32).png differ
diff --git a/.gitbook/assets/image (33).png b/.gitbook/assets/image (33).png
new file mode 100644
index 00000000..6040926e
Binary files /dev/null and b/.gitbook/assets/image (33).png differ
diff --git a/.gitbook/assets/image (34).png b/.gitbook/assets/image (34).png
new file mode 100644
index 00000000..6040926e
Binary files /dev/null and b/.gitbook/assets/image (34).png differ
diff --git a/.gitbook/assets/image (35).png b/.gitbook/assets/image (35).png
new file mode 100644
index 00000000..adf748f5
Binary files /dev/null and b/.gitbook/assets/image (35).png differ
diff --git a/.gitbook/assets/image (36).png b/.gitbook/assets/image (36).png
new file mode 100644
index 00000000..90c5a897
Binary files /dev/null and b/.gitbook/assets/image (36).png differ
diff --git a/.gitbook/assets/image (37).png b/.gitbook/assets/image (37).png
new file mode 100644
index 00000000..4b93564a
Binary files /dev/null and b/.gitbook/assets/image (37).png differ
diff --git a/.gitbook/assets/image (38).png b/.gitbook/assets/image (38).png
new file mode 100644
index 00000000..4599f0e9
Binary files /dev/null and b/.gitbook/assets/image (38).png differ
diff --git a/.gitbook/assets/image (39).png b/.gitbook/assets/image (39).png
new file mode 100644
index 00000000..b6428335
Binary files /dev/null and b/.gitbook/assets/image (39).png differ
diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png
new file mode 100644
index 00000000..c4e88ab4
Binary files /dev/null and b/.gitbook/assets/image (4) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png
new file mode 100644
index 00000000..9b059e2e
Binary files /dev/null and b/.gitbook/assets/image (4) (1).png differ
diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png
index 46d66d03..ad6b2570 100644
Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ
diff --git a/.gitbook/assets/image (40).png b/.gitbook/assets/image (40).png
new file mode 100644
index 00000000..51fdb138
Binary files /dev/null and b/.gitbook/assets/image (40).png differ
diff --git a/.gitbook/assets/image (41).png b/.gitbook/assets/image (41).png
new file mode 100644
index 00000000..b2c1f408
Binary files /dev/null and b/.gitbook/assets/image (41).png differ
diff --git a/.gitbook/assets/image (42).png b/.gitbook/assets/image (42).png
new file mode 100644
index 00000000..2749ed45
Binary files /dev/null and b/.gitbook/assets/image (42).png differ
diff --git a/.gitbook/assets/image (43).png b/.gitbook/assets/image (43).png
new file mode 100644
index 00000000..4fc44718
Binary files /dev/null and b/.gitbook/assets/image (43).png differ
diff --git a/.gitbook/assets/image (45).png b/.gitbook/assets/image (45).png
new file mode 100644
index 00000000..fa749409
Binary files /dev/null and b/.gitbook/assets/image (45).png differ
diff --git a/.gitbook/assets/image (46).png b/.gitbook/assets/image (46).png
new file mode 100644
index 00000000..545f2dd4
Binary files /dev/null and b/.gitbook/assets/image (46).png differ
diff --git a/.gitbook/assets/image (47).png b/.gitbook/assets/image (47).png
new file mode 100644
index 00000000..545f2dd4
Binary files /dev/null and b/.gitbook/assets/image (47).png differ
diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png
new file mode 100644
index 00000000..57ae7fd7
Binary files /dev/null and b/.gitbook/assets/image (5) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png
new file mode 100644
index 00000000..f465dfce
Binary files /dev/null and b/.gitbook/assets/image (5) (1).png differ
diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png
index d905736c..fbad7726 100644
Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ
diff --git a/.gitbook/assets/image (6) (1) (1).png b/.gitbook/assets/image (6) (1) (1).png
new file mode 100644
index 00000000..16b95a88
Binary files /dev/null and b/.gitbook/assets/image (6) (1) (1).png differ
diff --git a/.gitbook/assets/image (6) (1).png b/.gitbook/assets/image (6) (1).png
new file mode 100644
index 00000000..51a253db
Binary files /dev/null and b/.gitbook/assets/image (6) (1).png differ
diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png
index e56d8a12..44bd25f5 100644
Binary files a/.gitbook/assets/image (6).png and b/.gitbook/assets/image (6).png differ
diff --git a/.gitbook/assets/image (7) (1) (1).png b/.gitbook/assets/image (7) (1) (1).png
new file mode 100644
index 00000000..16b95a88
Binary files /dev/null and b/.gitbook/assets/image (7) (1) (1).png differ
diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png
new file mode 100644
index 00000000..7bfdd278
Binary files /dev/null and b/.gitbook/assets/image (7) (1).png differ
diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png
index e56d8a12..87bf998f 100644
Binary files a/.gitbook/assets/image (7).png and b/.gitbook/assets/image (7).png differ
diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png
index 8521bac1..5e20a26e 100644
Binary files a/.gitbook/assets/image (8).png and b/.gitbook/assets/image (8).png differ
diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png
index a1c4ef5c..5e20a26e 100644
Binary files a/.gitbook/assets/image (9).png and b/.gitbook/assets/image (9).png differ
diff --git a/.gitbook/assets/image-2.png b/.gitbook/assets/image-2.png
new file mode 100644
index 00000000..b41f1296
Binary files /dev/null and b/.gitbook/assets/image-2.png differ
diff --git a/.gitbook/assets/image-3.png b/.gitbook/assets/image-3.png
new file mode 100644
index 00000000..3bd21804
Binary files /dev/null and b/.gitbook/assets/image-3.png differ
diff --git a/.gitbook/assets/image-4 (1).png b/.gitbook/assets/image-4 (1).png
new file mode 100644
index 00000000..95c61d5e
Binary files /dev/null and b/.gitbook/assets/image-4 (1).png differ
diff --git a/.gitbook/assets/image-4.png b/.gitbook/assets/image-4.png
new file mode 100644
index 00000000..95c61d5e
Binary files /dev/null and b/.gitbook/assets/image-4.png differ
diff --git a/.gitbook/assets/image-5.png b/.gitbook/assets/image-5.png
new file mode 100644
index 00000000..31d14d3c
Binary files /dev/null and b/.gitbook/assets/image-5.png differ
diff --git a/.gitbook/assets/image-6.png b/.gitbook/assets/image-6.png
new file mode 100644
index 00000000..31d14d3c
Binary files /dev/null and b/.gitbook/assets/image-6.png differ
diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png
index 37af17ab..b44dd3ee 100644
Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ
diff --git a/.gitbook/assets/isort.gif b/.gitbook/assets/isort.gif
new file mode 100644
index 00000000..dfdb0968
Binary files /dev/null and b/.gitbook/assets/isort.gif differ
diff --git a/.gitbook/assets/jasmine-logo.png b/.gitbook/assets/jasmine-logo.png
new file mode 100644
index 00000000..fd93d4be
Binary files /dev/null and b/.gitbook/assets/jasmine-logo.png differ
diff --git a/.gitbook/assets/jasmine.png b/.gitbook/assets/jasmine.png
new file mode 100644
index 00000000..d41c90e6
Binary files /dev/null and b/.gitbook/assets/jasmine.png differ
diff --git a/.gitbook/assets/jenkins (1).png b/.gitbook/assets/jenkins (1).png
new file mode 100644
index 00000000..c0a3cee7
Binary files /dev/null and b/.gitbook/assets/jenkins (1).png differ
diff --git a/.gitbook/assets/jenkins-padded.png b/.gitbook/assets/jenkins-padded.png
new file mode 100644
index 00000000..ab6d31f1
Binary files /dev/null and b/.gitbook/assets/jenkins-padded.png differ
diff --git a/.gitbook/assets/jenkins.png b/.gitbook/assets/jenkins.png
new file mode 100644
index 00000000..f23f9fe3
Binary files /dev/null and b/.gitbook/assets/jenkins.png differ
diff --git a/.gitbook/assets/jest.png b/.gitbook/assets/jest.png
new file mode 100644
index 00000000..48399286
Binary files /dev/null and b/.gitbook/assets/jest.png differ
diff --git a/.gitbook/assets/jira-connect-form-dark.png b/.gitbook/assets/jira-connect-form-dark.png
new file mode 100644
index 00000000..26e80bd0
Binary files /dev/null and b/.gitbook/assets/jira-connect-form-dark.png differ
diff --git a/.gitbook/assets/jira-connect-form-light.png b/.gitbook/assets/jira-connect-form-light.png
new file mode 100644
index 00000000..596f1393
Binary files /dev/null and b/.gitbook/assets/jira-connect-form-light.png differ
diff --git a/.gitbook/assets/jira-ticket-creation-dark.png b/.gitbook/assets/jira-ticket-creation-dark.png
new file mode 100644
index 00000000..0adeb36d
Binary files /dev/null and b/.gitbook/assets/jira-ticket-creation-dark.png differ
diff --git a/.gitbook/assets/jira-ticket-creation-light.png b/.gitbook/assets/jira-ticket-creation-light.png
new file mode 100644
index 00000000..42936998
Binary files /dev/null and b/.gitbook/assets/jira-ticket-creation-light.png differ
diff --git a/.gitbook/assets/jira.png b/.gitbook/assets/jira.png
new file mode 100644
index 00000000..26107c87
Binary files /dev/null and b/.gitbook/assets/jira.png differ
diff --git a/.gitbook/assets/job-details-view.png b/.gitbook/assets/job-details-view.png
new file mode 100644
index 00000000..5b34a257
Binary files /dev/null and b/.gitbook/assets/job-details-view.png differ
diff --git a/.gitbook/assets/karma.png b/.gitbook/assets/karma.png
new file mode 100644
index 00000000..ac3cf50e
Binary files /dev/null and b/.gitbook/assets/karma.png differ
diff --git a/.gitbook/assets/key-metrics-dark.png b/.gitbook/assets/key-metrics-dark.png
new file mode 100644
index 00000000..1a5e04ce
Binary files /dev/null and b/.gitbook/assets/key-metrics-dark.png differ
diff --git a/.gitbook/assets/key-metrics-light.png b/.gitbook/assets/key-metrics-light.png
new file mode 100644
index 00000000..e7e1d4c4
Binary files /dev/null and b/.gitbook/assets/key-metrics-light.png differ
diff --git a/.gitbook/assets/kotest.png b/.gitbook/assets/kotest.png
new file mode 100644
index 00000000..1efc4921
Binary files /dev/null and b/.gitbook/assets/kotest.png differ
diff --git a/.gitbook/assets/labelled as flaky (1).png b/.gitbook/assets/labelled as flaky (1).png
new file mode 100644
index 00000000..57d03dc4
Binary files /dev/null and b/.gitbook/assets/labelled as flaky (1).png differ
diff --git a/.gitbook/assets/labelled as flaky.png b/.gitbook/assets/labelled as flaky.png
new file mode 100644
index 00000000..28199244
Binary files /dev/null and b/.gitbook/assets/labelled as flaky.png differ
diff --git a/.gitbook/assets/labelled-flaky-dark.png b/.gitbook/assets/labelled-flaky-dark.png
new file mode 100644
index 00000000..8cd4649e
Binary files /dev/null and b/.gitbook/assets/labelled-flaky-dark.png differ
diff --git a/.gitbook/assets/labelled-flaky-light.png b/.gitbook/assets/labelled-flaky-light.png
new file mode 100644
index 00000000..f3d6f638
Binary files /dev/null and b/.gitbook/assets/labelled-flaky-light.png differ
diff --git a/.gitbook/assets/linear-integration-dark.png b/.gitbook/assets/linear-integration-dark.png
new file mode 100644
index 00000000..41813a6f
Binary files /dev/null and b/.gitbook/assets/linear-integration-dark.png differ
diff --git a/.gitbook/assets/linear-integration-light.png b/.gitbook/assets/linear-integration-light.png
new file mode 100644
index 00000000..5b4191fb
Binary files /dev/null and b/.gitbook/assets/linear-integration-light.png differ
diff --git a/.gitbook/assets/linear-ticket-creation-dark.png b/.gitbook/assets/linear-ticket-creation-dark.png
new file mode 100644
index 00000000..38305f65
Binary files /dev/null and b/.gitbook/assets/linear-ticket-creation-dark.png differ
diff --git a/.gitbook/assets/linear-ticket-creation-light.png b/.gitbook/assets/linear-ticket-creation-light.png
new file mode 100644
index 00000000..438e217a
Binary files /dev/null and b/.gitbook/assets/linear-ticket-creation-light.png differ
diff --git a/.gitbook/assets/linear-v2.png b/.gitbook/assets/linear-v2.png
new file mode 100644
index 00000000..3a341cc6
Binary files /dev/null and b/.gitbook/assets/linear-v2.png differ
diff --git a/.gitbook/assets/linear.png b/.gitbook/assets/linear.png
new file mode 100644
index 00000000..bc889b32
Binary files /dev/null and b/.gitbook/assets/linear.png differ
diff --git a/.gitbook/assets/manual-ticket-creation-dark.png b/.gitbook/assets/manual-ticket-creation-dark.png
new file mode 100644
index 00000000..ad25dd65
Binary files /dev/null and b/.gitbook/assets/manual-ticket-creation-dark.png differ
diff --git a/.gitbook/assets/manual-ticket-creation-light.png b/.gitbook/assets/manual-ticket-creation-light.png
new file mode 100644
index 00000000..e44ff93a
Binary files /dev/null and b/.gitbook/assets/manual-ticket-creation-light.png differ
diff --git a/.gitbook/assets/maven.png b/.gitbook/assets/maven.png
new file mode 100644
index 00000000..3c08e4fe
Binary files /dev/null and b/.gitbook/assets/maven.png differ
diff --git a/.gitbook/assets/merge-square.svg b/.gitbook/assets/merge-square.svg
index 6f48c3c4..9dd8ed6a 100644
--- a/.gitbook/assets/merge-square.svg
+++ b/.gitbook/assets/merge-square.svg
@@ -1,7 +1 @@
-<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
-<circle cx="10.85" cy="11.8333" r="1.66667" stroke="#EAEBEB"/>
-<circle cx="3.91667" cy="4.9" r="1.66667" stroke="#EAEBEB"/>
-<circle cx="10.85" cy="3.16667" r="1.66667" stroke="#EAEBEB"/>
-<path d="M4.34998 6.2C4.34998 9.7579 7.27498 11.4 9.54998 11.4" stroke="#EAEBEB"/>
-<line x1="10.9166" y1="4.46667" x2="10.9166" y2="10.5333" stroke="#EAEBEB"/>
-</svg>
+<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="none" viewBox="0 0 15 15"><circle cx="10.85" cy="11.833" r="1.667" stroke="#EAEBEB"/><circle cx="3.917" cy="4.9" r="1.667" stroke="#EAEBEB"/><circle cx="10.85" cy="3.167" r="1.667" stroke="#EAEBEB"/><path stroke="#EAEBEB" d="M4.35 6.2c0 3.558 2.925 5.2 5.2 5.2m1.367-6.933v6.066"/></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/mergeapi.json b/.gitbook/assets/mergeapi.json
new file mode 100644
index 00000000..5720af03
--- /dev/null
+++ b/.gitbook/assets/mergeapi.json
@@ -0,0 +1,975 @@
+{
+  "openapi": "3.0.3",
+  "info": {
+    "title": "Trunk Merge API",
+    "version": "0.0.1"
+  },
+  "servers": [
+    {
+      "url": "https://api.trunk.io/v1",
+      "description": "Server description"
+    }
+  ],
+  "components": {
+    "securitySchemes": {
+      "x-api-token": {
+        "name": "x-api-token",
+        "type": "apiKey",
+        "in": "header",
+        "description": "Trunk API token - see https://docs.trunk.io/apis#authentication"
+      }
+    },
+    "schemas": {
+      "repo": {
+        "type": "object",
+        "properties": {
+          "host": {
+            "type": "string",
+            "example": "github.com",
+            "description": "The host of the repository. Currently only supports 'github.com'",
+            "enum": [
+              "github.com"
+            ]
+          },
+          "owner": {
+            "type": "string",
+            "example": "trunk-io",
+            "description": "The owner of the repository"
+          },
+          "name": {
+            "type": "string",
+            "example": "trunk",
+            "description": "The name of the repository"
+          }
+        },
+        "example": {
+          "host": "github.com",
+          "owner": "trunk-io",
+          "name": "trunk"
+        }
+      },
+      "pr": {
+        "type": "object",
+        "properties": {
+          "number": {
+            "type": "number",
+            "example": 1,
+            "description": "The PR number"
+          }
+        },
+        "example": {
+          "number": 1
+        }
+      },
+      "prWithSha": {
+        "type": "object",
+        "properties": {
+          "number": {
+            "type": "number",
+            "example": 1,
+            "description": "The PR number"
+          },
+          "sha": {
+            "type": "string",
+            "example": "1234567890abcdef",
+            "description": "The SHA of the PR"
+          }
+        },
+        "example": {
+          "number": 1,
+          "sha": "1234567890abcdef"
+        }
+      },
+      "targetBranch": {
+        "type": "string",
+        "example": "main",
+        "description": "The branch the merge queue will be merging PRs into"
+      },
+      "prReadiness": {
+        "type": "object",
+        "properties": {
+          "hasImpactedTargets": {
+            "type": "boolean",
+            "example": false,
+            "description": "Whether the PR has had impacted targets uploaded for it"
+          },
+          "requiresImpactedTargets": {
+            "type": "boolean",
+            "example": false,
+            "description": "Whether the PR requires impacted targets to be uploaded for it before moving into the queue. This is true if the queue is in parallel mode"
+          },
+          "doesBaseBranchMatch": {
+            "type": "boolean",
+            "example": true,
+            "description": "Whether the base branch of the PR matches the target branch of the queue"
+          },
+          "gitHubMergeability": {
+            "type": "string",
+            "enum": [
+              "MERGEABLE",
+              "NOT_MERGEABLE",
+              "IN_PROGRESS",
+              "UNSPECIFIED"
+            ],
+            "example": "MERGEABLE",
+            "description": "The mergeability status of the PR on GitHub"
+          }
+        },
+        "example": {
+          "hasImpactedTargets": false,
+          "requiresImpactedTargets": false,
+          "doesBaseBranchMatch": true,
+          "gitHubMergeability": "MERGEABLE"
+        }
+      },
+      "pullRequest": {
+        "type": "object",
+        "properties": {
+          "number": {
+            "type": "number",
+            "example": 1,
+            "description": "The PR number"
+          },
+          "title": {
+            "type": "string",
+            "example": "Add new feature",
+            "description": "The title of the PR"
+          },
+          "sha": {
+            "type": "string",
+            "example": "1234567890abcdef",
+            "description": "The head SHA of the PR"
+          },
+          "baseBranch": {
+            "type": "string",
+            "example": "main",
+            "description": "The base branch of the PR"
+          },
+          "author": {
+            "type": "string",
+            "example": "dependabot",
+            "description": "The author of the PR"
+          }
+        },
+        "example": {
+          "number": 1,
+          "title": "Add new feature",
+          "sha": "1234567890abcdef",
+          "baseBranch": "main",
+          "author": "dependabot"
+        }
+      },
+      "mergeItem": {
+        "type": "object",
+        "properties": {
+          "id": {
+            "type": "string",
+            "description": "The ID of the merge item in the queue"
+          },
+          "state": {
+            "type": "string",
+            "enum": [
+              "NOT_READY",
+              "PENDING",
+              "TESTING",
+              "TESTS_PASSED",
+              "PENDING_FAILURE",
+              "FAILED",
+              "CANCELLED",
+              "MERGED"
+            ],
+            "description": "The state of the PR in the queue - see https://docs.trunk.io/merge/reference#pr-states"
+          },
+          "stateChangedAt": {
+            "type": "string",
+            "format": "date-time",
+            "description": "The time the state of the PR changed"
+          },
+          "priorityValue": {
+            "type": "number",
+            "example": 100,
+            "description": "The priority value of the PR in the queue - ranges from 0-255 with 0 being the highest"
+          },
+          "priorityName": {
+            "type": "string",
+            "enum": [
+              "low",
+              "medium",
+              "high",
+              "urgent"
+            ],
+            "example": "medium",
+            "description": "The priority name of the PR in the queue. Defaults to medium"
+          },
+          "usedDefaultPriorityName": {
+            "type": "string",
+            "enum": [
+              "low",
+              "medium",
+              "high",
+              "urgent"
+            ],
+            "example": "medium",
+            "description": "The default priority given to the PR if no explicit priority was specified"
+          },
+          "skipTheLine": {
+            "type": "boolean",
+            "example": false,
+            "description": "Whether the PR will skip the line of the queue"
+          },
+          "isCurrentlySubmittedToQueue": {
+            "type": "boolean",
+            "description": "Whether the PR is currently submitted to the queue."
+          },
+          "readiness": {
+            "$ref": "#/components/schemas/prReadiness"
+          },
+          "prNumber": {
+            "type": "number",
+            "example": 1,
+            "description": "The PR number"
+          },
+          "prTitle": {
+            "type": "string",
+            "example": "Add new feature",
+            "description": "The title of the PR"
+          },
+          "prSha": {
+            "type": "string",
+            "example": "1234567890abcdef",
+            "description": "The head SHA of the PR"
+          },
+          "prBaseBranch": {
+            "type": "string",
+            "example": "main",
+            "description": "The base branch of the PR"
+          },
+          "prAuthor": {
+            "type": "string",
+            "example": "dependabot",
+            "description": "The author of the PR"
+          }
+        },
+        "example": {
+          "id": "1234567890abcdef",
+          "state": "PENDING",
+          "stateChangedAt": "2021-01-01T00:00:00Z",
+          "priorityValue": 100,
+          "priorityName": "medium",
+          "usedDefaultPriorityName": "medium",
+          "skipTheLine": false,
+          "isCurrentlySubmittedToQueue": true,
+          "readiness": {
+            "hasImpactedTargets": false,
+            "requiresImpactedTargets": false,
+            "doesBaseBranchMatch": true,
+            "gitHubMergeability": "MERGEABLE"
+          },
+          "prNumber": 1,
+          "prTitle": "Add new feature",
+          "prSha": "1234567890abcdef",
+          "prBaseBranch": "main",
+          "prAuthor": "dependabot"
+        }
+      },
+      "mergeItemWithoutReadiness": {
+        "type": "object",
+        "properties": {
+          "id": {
+            "type": "string",
+            "description": "The ID of the merge item in the queue"
+          },
+          "state": {
+            "type": "string",
+            "enum": [
+              "NOT_READY",
+              "PENDING",
+              "TESTING",
+              "TESTS_PASSED",
+              "PENDING_FAILURE",
+              "FAILED",
+              "CANCELLED",
+              "MERGED"
+            ],
+            "description": "The state of the PR in the queue - see https://docs.trunk.io/merge/reference#pr-states"
+          },
+          "stateChangedAt": {
+            "type": "string",
+            "format": "date-time",
+            "description": "The time the state of the PR changed"
+          },
+          "priorityValue": {
+            "type": "number",
+            "example": 100,
+            "description": "The priority value of the PR in the queue - ranges from 0-255 with 0 being the highest"
+          },
+          "priorityName": {
+            "type": "string",
+            "enum": [
+              "low",
+              "medium",
+              "high",
+              "urgent"
+            ],
+            "example": "medium",
+            "description": "The priority name of the PR in the queue. Defaults to medium"
+          },
+          "usedDefaultPriorityName": {
+            "type": "string",
+            "enum": [
+              "low",
+              "medium",
+              "high",
+              "urgent"
+            ],
+            "example": "medium",
+            "description": "The default priority given to the PR if no explicit priority was specified"
+          },
+          "skipTheLine": {
+            "type": "boolean",
+            "example": false,
+            "description": "Whether the PR will skip the line of the queue"
+          },
+          "prNumber": {
+            "type": "number",
+            "example": 1,
+            "description": "The PR number"
+          },
+          "prTitle": {
+            "type": "string",
+            "example": "Add new feature",
+            "description": "The title of the PR"
+          },
+          "prSha": {
+            "type": "string",
+            "example": "1234567890abcdef",
+            "description": "The head SHA of the PR"
+          },
+          "prBaseBranch": {
+            "type": "string",
+            "example": "main",
+            "description": "The base branch of the PR"
+          },
+          "prAuthor": {
+            "type": "string",
+            "example": "dependabot",
+            "description": "The author of the PR"
+          }
+        },
+        "example": {
+          "id": "1234567890abcdef",
+          "state": "PENDING",
+          "stateChangedAt": "2021-01-01T00:00:00Z",
+          "priorityValue": 100,
+          "priorityName": "medium",
+          "usedDefaultPriorityName": "medium",
+          "skipTheLine": false,
+          "prNumber": 1,
+          "prTitle": "Add new feature",
+          "prSha": "1234567890abcdef",
+          "prBaseBranch": "main",
+          "prAuthor": "dependabot"
+        }
+      },
+      "queue": {
+        "type": "object",
+        "properties": {
+          "state": {
+            "type": "string",
+            "enum": [
+              "RUNNING",
+              "PAUSED",
+              "DRAINING",
+              "SWITCHING_MODES"
+            ],
+            "example": "RUNNING",
+            "description": "The current state of the queue - see https://docs.trunk.io/merge-queue/set-up-trunk-merge/advanced-settings#merge-queue-states"
+          },
+          "branch": {
+            "type": "string",
+            "example": "main",
+            "description": "The branch the merge queue is merging PRs into"
+          },
+          "concurrency": {
+            "type": "number",
+            "example": 1,
+            "description": "The number of PRs that can be tested at the same time"
+          },
+          "testingTimeoutMins": {
+            "type": "number",
+            "example": 60,
+            "description": "The number of minutes a PR can be testing before it is marked as PENDING_FAILURE"
+          },
+          "mode": {
+            "type": "string",
+            "enum": [
+              "SINGLE",
+              "PARALLEL"
+            ],
+            "description": "The mode the queue is in - see https://docs.trunk.io/merge-queue/parallel-queues",
+            "example": "SINGLE"
+          },
+          "canOptimisticallyMerge": {
+            "type": "boolean",
+            "example": true,
+            "description": "Whether the queue can optimistically merge PRs if one further down the queue passes tests"
+          },
+          "pendingFailureDepth": {
+            "type": "number",
+            "example": 1,
+            "description": "The number of PRs that must complete testing behind a failed PR before marking the failed PR as FAILED"
+          },
+          "batchingMode": {
+            "type": "string",
+            "enum": [
+              "NONE",
+              "SPECULATIVE"
+            ],
+            "description": "The batching mode the queue is in. SPECULATIVE means batching is active. See https://docs.trunk.io/merge-queue/batching",
+            "example": "SPECULATIVE"
+          },
+          "batchingMaxWaitTimeMins": {
+            "type": "number",
+            "example": 60,
+            "description": "The maximum time a PR can wait in the queue before being batched"
+          },
+          "batchingMinSize": {
+            "type": "number",
+            "example": 1,
+            "description": "The minimum number of PRs that must be dependent on each other before they are put into a batch"
+          },
+          "createPrsForTestingBranches": {
+            "type": "boolean",
+            "example": true,
+            "description": "Whether the queue will create PRs for testing branches as opposed to just making a branch"
+          },
+          "enqueuedPullRequests": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/mergeItemWithoutReadiness"
+            }
+          }
+        },
+        "example": {
+          "state": "RUNNING",
+          "branch": "main",
+          "concurrency": 1,
+          "testingTimeoutMins": 60,
+          "mode": "SINGLE",
+          "canOptimisticallyMerge": true,
+          "pendingFailureDepth": 1,
+          "batchingMode": "SPECULATIVE",
+          "batchingMaxWaitTimeMins": 60,
+          "batchingMinSize": 1,
+          "createPrsForTestingBranches": true,
+          "enqueuedPullRequests": [
+            {
+              "id": "1234567890abcdef",
+              "state": "PENDING",
+              "stateChangedAt": "2021-01-01T00:00:00Z",
+              "priorityValue": 100,
+              "priorityName": "medium",
+              "usedDefaultPriorityName": "medium",
+              "skipTheLine": false,
+              "prNumber": 1,
+              "prTitle": "Add new feature",
+              "prSha": "1234567890abcdef",
+              "prBaseBranch": "main",
+              "prAuthor": "dependabot"
+            }
+          ]
+        }
+      },
+      "priority": {
+        "oneOf": [
+          {
+            "type": "string",
+            "enum": [
+              "low",
+              "medium",
+              "high",
+              "urgent"
+            ],
+            "default": "medium",
+            "description": "The priority name to assign to the PR when it begins testing in the queue",
+            "example": "high"
+          },
+          {
+            "type": "number",
+            "example": 1,
+            "description": "The priority number (0 - 255, 0 is the highest) to assign to the PR when it begins testing in the queue"
+          }
+        ]
+      }
+    }
+  },
+  "paths": {
+    "/submitPullRequest": {
+      "post": {
+        "tags": [
+          "Merge Items"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Submit a pull request to be tested and merged",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/pr"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  },
+                  "priority": {
+                    "$ref": "#/components/schemas/priority"
+                  }
+                },
+                "example": {
+                  "repo": {
+                    "host": "github.com",
+                    "owner": "trunk-io",
+                    "name": "trunk"
+                  },
+                  "pr": {
+                    "number": 1
+                  },
+                  "targetBranch": "main",
+                  "priority": "medium"
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "401": {
+            "description": "Unauthorized"
+          }
+        }
+      }
+    },
+    "/setImpactedTargets": {
+      "post": {
+        "tags": [
+          "Impacted Targets"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Set impacted targets",
+        "description": "Upload impacted targets for the PR and its current SHA. Used specifically when running the queue in Parallel mode",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/prWithSha"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  },
+                  "impactedTargets": {
+                    "oneOf": [
+                      {
+                        "type": "array",
+                        "items": {
+                          "type": "string",
+                          "example": "services_backend",
+                          "description": "Name of the target impacted by the changes in the pull request"
+                        }
+                      },
+                      {
+                        "type": "string",
+                        "enum": [
+                          "IMPACTS_ALL"
+                        ],
+                        "description": "Special value to indicate that all targets are impacted by the changes in the pull request"
+                      }
+                    ]
+                  }
+                },
+                "example": {
+                  "repo": {
+                    "host": "github.com",
+                    "owner": "trunk-io",
+                    "name": "trunk"
+                  },
+                  "pr": {
+                    "number": 1,
+                    "sha": "1234567890abcdef"
+                  },
+                  "targetBranch": "main",
+                  "impactedTargets": [
+                    "services_backend",
+                    "services_frontend"
+                  ]
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "401": {
+            "description": "Unauthorized"
+          }
+        }
+      }
+    },
+    "/queuePullRequest": {
+      "post": {
+        "tags": [
+          "Merge Items"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Submits a Pull Request to the queue",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/pr"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  },
+                  "priority": {
+                    "$ref": "#/components/schemas/priority"
+                  }
+                },
+                "example": {
+                  "repo": {
+                    "host": "github.com",
+                    "owner": "trunk-io",
+                    "name": "trunk"
+                  },
+                  "pr": {
+                    "number": 1
+                  },
+                  "targetBranch": "main",
+                  "priority": "medium"
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "401": {
+            "description": "Unauthorized"
+          }
+        }
+      }
+    },
+    "/restartTestsOnPullRequest": {
+      "post": {
+        "tags": [
+          "Merge Items"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Restarts tests on a PR in the queue without moving its position or causing other PRs to be retested",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/pr"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  }
+                }
+              },
+              "example": {
+                "repo": {
+                  "host": "github.com",
+                  "owner": "trunk-io",
+                  "name": "trunk"
+                },
+                "pr": {
+                  "number": 1
+                },
+                "targetBranch": "main"
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "401": {
+            "description": "Unauthorized"
+          }
+        }
+      }
+    },
+    "/cancelPullRequest": {
+      "post": {
+        "tags": [
+          "Merge Items"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Cancel a pull request already in the queue.",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/pr"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  }
+                }
+              },
+              "example": {
+                "repo": {
+                  "host": "github.com",
+                  "owner": "trunk-io",
+                  "name": "trunk"
+                },
+                "pr": {
+                  "number": 1
+                },
+                "targetBranch": "main"
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK"
+          },
+          "401": {
+            "description": "Unauthorized"
+          }
+        }
+      }
+    },
+    "/getSubmittedPullRequest": {
+      "post": {
+        "tags": [
+          "Merge Items"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Get information on a pull request that has been submitted to the queue",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "pr": {
+                    "$ref": "#/components/schemas/pr"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  },
+                  "priority": {
+                    "$ref": "#/components/schemas/priority"
+                  }
+                },
+                "example": {
+                  "repo": {
+                    "host": "github.com",
+                    "owner": "trunk-io",
+                    "name": "trunk"
+                  },
+                  "pr": {
+                    "number": 1
+                  },
+                  "targetBranch": "main",
+                  "priority": "medium"
+                }
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "Information on the pull request",
+            "content": {
+              "application/json": {
+                "schema": {
+                    "type": "object",
+                    "$ref": "#/components/schemas/mergeItem"
+                },
+                "example": {
+                  "id": "1234567890abcdef",
+                  "state": "PENDING",
+                  "stateChangedAt": "2021-01-01T00:00:00Z",
+                  "priorityValue": 100,
+                  "priorityName": "medium",
+                  "usedDefaultPriorityName": "medium",
+                  "skipTheLine": false,
+                  "isCurrentlySubmittedToQueue": true,
+                  "readiness": {
+                    "hasImpactedTargets": false,
+                    "requiresImpactedTargets": false,
+                    "doesBaseBranchMatch": true,
+                    "gitHubMergeability": "MERGEABLE"
+                  },
+                  "prNumber": 1,
+                  "prTitle": "Add new feature",
+                  "prSha": "1234567890abcdef",
+                  "prBaseBranch": "main",
+                  "prAuthor": "dependabot"
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Unauthorized"
+          },
+          "404": {
+            "description": "Pull request with the provided number does not exist or has never been submitted to the specified queue before"
+          }
+        }
+      }
+    },
+    "/getQueue": {
+      "post": {
+        "tags": [
+          "Merge Queue"
+        ],
+        "security": [
+          {
+            "x-api-token": []
+          }
+        ],
+        "summary": "Get information on your merge queue and the PRs currently in it",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "$ref": "#/components/schemas/repo"
+                  },
+                  "targetBranch": {
+                    "$ref": "#/components/schemas/targetBranch"
+                  }
+                }
+              },
+              "example": {
+                "repo": {
+                  "host": "github.com",
+                  "owner": "trunk-io",
+                  "name": "trunk"
+                },
+                "targetBranch": "main"
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "Information on the pull request",
+            "content": {
+              "application/json": {
+                "schema": {
+                    "type": "object",
+                    "$ref": "#/components/schemas/queue"
+                },
+                "example": {
+                  "state": "RUNNING",
+                  "branch": "main",
+                  "concurrency": 1,
+                  "testingTimeoutMins": 60,
+                  "mode": "SINGLE",
+                  "canOptimisticallyMerge": true,
+                  "pendingFailureDepth": 1,
+                  "batchingMode": "SPECULATIVE",
+                  "batchingMaxWaitTimeMins": 60,
+                  "batchingMinSize": 1,
+                  "createPrsForTestingBranches": true,
+                  "enqueuedPullRequests": [
+                    {
+                      "id": "1234567890abcdef",
+                      "state": "PENDING",
+                      "stateChangedAt": "2021-01-01T00:00:00Z",
+                      "priorityValue": 100,
+                      "priorityName": "medium",
+                      "usedDefaultPriorityName": "medium",
+                      "skipTheLine": false,
+                      "prNumber": 1,
+                      "prTitle": "Add new feature",
+                      "prSha": "1234567890abcdef",
+                      "prBaseBranch": "main",
+                      "prAuthor": "dependabot"
+                    }
+                  ]
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Unauthorized"
+          },
+          "404": {
+            "description": "Pull request with the provided number does not exist or has never been submitted to the specified queue before"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/.gitbook/assets/microsoft teams.png b/.gitbook/assets/microsoft teams.png
new file mode 100644
index 00000000..d3030bf8
Binary files /dev/null and b/.gitbook/assets/microsoft teams.png differ
diff --git a/.gitbook/assets/minitest.png b/.gitbook/assets/minitest.png
new file mode 100644
index 00000000..95d915d2
Binary files /dev/null and b/.gitbook/assets/minitest.png differ
diff --git a/.gitbook/assets/mocha.png b/.gitbook/assets/mocha.png
new file mode 100644
index 00000000..d69acfbe
Binary files /dev/null and b/.gitbook/assets/mocha.png differ
diff --git a/.gitbook/assets/mypy.gif b/.gitbook/assets/mypy.gif
new file mode 100644
index 00000000..edf3aff4
Binary files /dev/null and b/.gitbook/assets/mypy.gif differ
diff --git a/.gitbook/assets/neo_vim.svg b/.gitbook/assets/neo_vim.svg
new file mode 100644
index 00000000..7ddd851c
--- /dev/null
+++ b/.gitbook/assets/neo_vim.svg
@@ -0,0 +1,9 @@
+<svg width="404" height="251" viewBox="0 0 404 251" fill="none" xmlns="http://www.w3.org/2000/svg">
+<rect width="404" height="251" fill="#68E6B8"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M151.896 90.8248L177.989 64.4814V186.968L151.896 160.929V90.8248Z" fill="#031811"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M252.713 91.0729L226.264 64.4946L226.8 186.966L252.892 160.928L252.713 91.0718V91.0729Z" fill="#031811"/>
+<g style="mix-blend-mode:multiply">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M177.971 64.502L245.807 168.017L226.824 187L158.952 83.7133L177.971 64.502Z" fill="#0D4C35"/>
+</g>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M177.995 112.516L177.959 116.594L157.014 85.6718L158.954 83.6963L177.995 112.516Z" fill="black" fill-opacity="0.13"/>
+</svg>
diff --git a/.gitbook/assets/nightwatch.png b/.gitbook/assets/nightwatch.png
new file mode 100644
index 00000000..72e7639d
Binary files /dev/null and b/.gitbook/assets/nightwatch.png differ
diff --git a/.gitbook/assets/nunit-logo.png b/.gitbook/assets/nunit-logo.png
new file mode 100644
index 00000000..8b8858fe
Binary files /dev/null and b/.gitbook/assets/nunit-logo.png differ
diff --git a/.gitbook/assets/nunit.png b/.gitbook/assets/nunit.png
new file mode 100644
index 00000000..fc5c02b1
Binary files /dev/null and b/.gitbook/assets/nunit.png differ
diff --git a/.gitbook/assets/om-pfd-settings.png b/.gitbook/assets/om-pfd-settings.png
new file mode 100644
index 00000000..828ae27c
Binary files /dev/null and b/.gitbook/assets/om-pfd-settings.png differ
diff --git a/.gitbook/assets/onboarding-create-org-dark.png b/.gitbook/assets/onboarding-create-org-dark.png
new file mode 100644
index 00000000..2023d1c3
Binary files /dev/null and b/.gitbook/assets/onboarding-create-org-dark.png differ
diff --git a/.gitbook/assets/onboarding-create-org-light.png b/.gitbook/assets/onboarding-create-org-light.png
new file mode 100644
index 00000000..bf27aa03
Binary files /dev/null and b/.gitbook/assets/onboarding-create-org-light.png differ
diff --git a/.gitbook/assets/onboarding-pick-product-dark.png b/.gitbook/assets/onboarding-pick-product-dark.png
new file mode 100644
index 00000000..9b60c5de
Binary files /dev/null and b/.gitbook/assets/onboarding-pick-product-dark.png differ
diff --git a/.gitbook/assets/onboarding-pick-product-light.png b/.gitbook/assets/onboarding-pick-product-light.png
new file mode 100644
index 00000000..dc839c35
Binary files /dev/null and b/.gitbook/assets/onboarding-pick-product-light.png differ
diff --git a/.gitbook/assets/openapi.json b/.gitbook/assets/openapi.json
new file mode 100644
index 00000000..340c834e
--- /dev/null
+++ b/.gitbook/assets/openapi.json
@@ -0,0 +1,396 @@
+{
+  "openapi": "3.1.0",
+  "servers": [
+    {
+      "url": "https://api.trunk.io/v1"
+    }
+  ],
+  "info": {
+    "title": "Trunk APIs",
+    "version": "1.0.0",
+    "license": {
+      "name": "UNLICENSED"
+    }
+  },
+  "paths": {
+    "/flaky-tests/list-quarantined-tests": {
+      "post": {
+        "security": [
+          {
+            "ApiKeyAuth": []
+          }
+        ],
+        "summary": "Get a list of quarantined tests",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "repo": {
+                    "type": "object",
+                    "properties": {
+                      "host": {
+                        "type": "string",
+                        "description": "The host of the repository. For example, `github.com` or `gitlab.com`. If self-hosting, this will be the hostname of your instance.",
+                        "examples": [
+                          "github.com",
+                          "gitlab.com",
+                          "github-enterprise.my-org-tld.com",
+                          "gitlab-enterprise.my-org-tld.com"
+                        ]
+                      },
+                      "owner": {
+                        "type": "string",
+                        "description": "The owner of the repository. For example, `my-github-org` or `my-gitlab-org/my/sub/group`.",
+                        "examples": [
+                          "my-github-org",
+                          "my-gitlab-org/my/sub/group"
+                        ]
+                      },
+                      "name": {
+                        "type": "string",
+                        "description": "The name of the repository.",
+                        "examples": [
+                          "my-repo"
+                        ]
+                      }
+                    },
+                    "required": [
+                      "host",
+                      "owner",
+                      "name"
+                    ],
+                    "description": "The repository to list quarantined tests for."
+                  },
+                  "org_url_slug": {
+                    "type": "string",
+                    "description": "The slug of your organization. Find this at https://app.trunk.io/trunk/settings under \"Organization Name\" > \"Slug\"",
+                    "examples": [
+                      "my-trunk-org-slug"
+                    ]
+                  },
+                  "page_query": {
+                    "type": "object",
+                    "properties": {
+                      "page_size": {
+                        "type": "integer",
+                        "minimum": 1,
+                        "maximum": 100,
+                        "description": "The number of tests to return per page."
+                      },
+                      "page_token": {
+                        "type": "string",
+                        "description": "The page token to use for pagination. This is returned from the previous call to this endpoint. For the first page, this should be empty.",
+                        "examples": [
+                          ""
+                        ]
+                      }
+                    },
+                    "required": [
+                      "page_size"
+                    ],
+                    "description": "Pagination options for the list of quarantined tests."
+                  }
+                },
+                "required": [
+                  "repo",
+                  "org_url_slug",
+                  "page_query"
+                ]
+              }
+            }
+          }
+        },
+        "responses": {
+          "200": {
+            "description": "OK",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "object",
+                  "properties": {
+                    "quarantined_tests": {
+                      "type": "array",
+                      "items": {
+                        "type": "object",
+                        "properties": {
+                          "name": {
+                            "type": "string",
+                            "description": "The name of the test case."
+                          },
+                          "parent": {
+                            "type": [
+                              "string",
+                              "null"
+                            ],
+                            "description": "The parent of the test case."
+                          },
+                          "file": {
+                            "type": [
+                              "string",
+                              "null"
+                            ],
+                            "description": "The file of the test case."
+                          },
+                          "classname": {
+                            "type": [
+                              "string",
+                              "null"
+                            ],
+                            "description": "The class name of the test case."
+                          },
+                          "status": {
+                            "type": "string",
+                            "enum": [
+                              "HEALTHY",
+                              "FLAKY",
+                              "BROKEN"
+                            ],
+                            "description": "The status of the test case."
+                          },
+                          "codeowners": {
+                            "type": "array",
+                            "items": {
+                              "type": "string"
+                            },
+                            "description": "The latest codeowners of the test case."
+                          },
+                          "quarantine_setting": {
+                            "type": "string",
+                            "enum": [
+                              "ALWAYS_QUARANTINE",
+                              "AUTO_QUARANTINE"
+                            ],
+                            "description": "The quarantine setting of the test case."
+                          },
+                          "status_last_updated_at": {
+                            "type": "string",
+                            "format": "date-time",
+                            "description": "The last time the status of the test case was updated."
+                          },
+                          "test_case_id": {
+                            "type": "string",
+                            "description": "The ID of the test case. This value is unstable and should not be relied upon."
+                          }
+                        },
+                        "required": [
+                          "name",
+                          "parent",
+                          "file",
+                          "classname",
+                          "status",
+                          "codeowners",
+                          "quarantine_setting",
+                          "status_last_updated_at",
+                          "test_case_id"
+                        ],
+                        "description": "A quarantined test case."
+                      },
+                      "description": "A page of quarantined test cases."
+                    },
+                    "page": {
+                      "type": "object",
+                      "properties": {
+                        "total_rows": {
+                          "type": "integer",
+                          "exclusiveMinimum": 0,
+                          "description": "The total number of quarantined test cases in the paginated list."
+                        },
+                        "total_pages": {
+                          "type": "integer",
+                          "exclusiveMinimum": 0,
+                          "description": "The total number of pages in the paginated list of quarantined test cases."
+                        },
+                        "next_page_token": {
+                          "type": "string",
+                          "description": "The next page token to use for pagination. See `pageToken` in the request for more information."
+                        },
+                        "prev_page_token": {
+                          "type": "string",
+                          "description": "The previous page token to use for pagination. See `pageToken` in the request for more information."
+                        },
+                        "last_page_token": {
+                          "type": "string",
+                          "description": "The last page token to use for pagination. See `pageToken` in the request for more information."
+                        },
+                        "page_index": {
+                          "type": "integer",
+                          "exclusiveMinimum": 0,
+                          "description": "The index of the current page in the paginated list of quarantined test cases."
+                        }
+                      },
+                      "required": [
+                        "total_rows",
+                        "total_pages",
+                        "next_page_token",
+                        "prev_page_token",
+                        "last_page_token",
+                        "page_index"
+                      ],
+                      "description": "Pagination information for the list of quarantined test cases."
+                    }
+                  },
+                  "required": [
+                    "quarantined_tests",
+                    "page"
+                  ]
+                }
+              }
+            }
+          },
+          "401": {
+            "description": "Unauthorized",
+            "content": {
+              "application/plain-text": {
+                "schema": {
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/status": {
+      "get": {
+        "security": [],
+        "summary": "Get the status of Trunk services",
+        "responses": {
+          "200": {
+            "description": "OK",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "object",
+                  "properties": {
+                    "overallStatus": {
+                      "oneOf": [
+                        {
+                          "type": "object",
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "const": "up"
+                            },
+                            "color": {
+                              "type": "string",
+                              "enum": [
+                                "green"
+                              ]
+                            },
+                            "overallStatusDescription": {
+                              "type": "string",
+                              "const": "All systems operational"
+                            }
+                          },
+                          "required": [
+                            "type",
+                            "color",
+                            "overallStatusDescription"
+                          ]
+                        },
+                        {
+                          "type": "object",
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "const": "impacted"
+                            },
+                            "color": {
+                              "type": "string",
+                              "enum": [
+                                "yellow",
+                                "red"
+                              ]
+                            },
+                            "overallStatusDescription": {
+                              "type": "string",
+                              "const": "Impacted"
+                            },
+                            "impactedStatuses": {
+                              "type": "array",
+                              "items": {
+                                "type": "object",
+                                "properties": {
+                                  "name": {
+                                    "type": "string"
+                                  },
+                                  "color": {
+                                    "type": "string",
+                                    "enum": [
+                                      "yellow",
+                                      "red"
+                                    ]
+                                  },
+                                  "statusDescription": {
+                                    "type": "string"
+                                  }
+                                },
+                                "required": [
+                                  "name",
+                                  "color",
+                                  "statusDescription"
+                                ]
+                              }
+                            }
+                          },
+                          "required": [
+                            "type",
+                            "color",
+                            "overallStatusDescription",
+                            "impactedStatuses"
+                          ]
+                        }
+                      ]
+                    },
+                    "statuses": {
+                      "type": "array",
+                      "items": {
+                        "type": "object",
+                        "properties": {
+                          "name": {
+                            "type": "string"
+                          },
+                          "color": {
+                            "type": "string",
+                            "enum": [
+                              "green",
+                              "yellow",
+                              "red"
+                            ]
+                          },
+                          "statusDescription": {
+                            "type": "string"
+                          }
+                        },
+                        "required": [
+                          "name",
+                          "color",
+                          "statusDescription"
+                        ]
+                      }
+                    }
+                  },
+                  "required": [
+                    "overallStatus",
+                    "statuses"
+                  ]
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "components": {
+    "securitySchemes": {
+      "ApiKeyAuth": {
+        "type": "apiKey",
+        "in": "header",
+        "name": "x-api-token"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/.gitbook/assets/optimistic-merge-ui b/.gitbook/assets/optimistic-merge-ui
new file mode 100644
index 00000000..55683f9f
Binary files /dev/null and b/.gitbook/assets/optimistic-merge-ui differ
diff --git a/.gitbook/assets/org-slug-dark.png b/.gitbook/assets/org-slug-dark.png
new file mode 100644
index 00000000..87bdfe4f
Binary files /dev/null and b/.gitbook/assets/org-slug-dark.png differ
diff --git a/.gitbook/assets/org-slug-light.png b/.gitbook/assets/org-slug-light.png
new file mode 100644
index 00000000..8ce9ddf0
Binary files /dev/null and b/.gitbook/assets/org-slug-light.png differ
diff --git a/.gitbook/assets/org-token-dark.png b/.gitbook/assets/org-token-dark.png
new file mode 100644
index 00000000..3fd6e581
Binary files /dev/null and b/.gitbook/assets/org-token-dark.png differ
diff --git a/.gitbook/assets/org-token-light.png b/.gitbook/assets/org-token-light.png
new file mode 100644
index 00000000..1e1e9f7c
Binary files /dev/null and b/.gitbook/assets/org-token-light.png differ
diff --git a/.gitbook/assets/organization-api-token b/.gitbook/assets/organization-api-token
new file mode 100644
index 00000000..b1af4f6a
Binary files /dev/null and b/.gitbook/assets/organization-api-token differ
diff --git a/.gitbook/assets/other.png b/.gitbook/assets/other.png
new file mode 100644
index 00000000..3d5eaefe
Binary files /dev/null and b/.gitbook/assets/other.png differ
diff --git a/.gitbook/assets/override-dark.png b/.gitbook/assets/override-dark.png
new file mode 100644
index 00000000..d8ad2551
Binary files /dev/null and b/.gitbook/assets/override-dark.png differ
diff --git a/.gitbook/assets/override-light.png b/.gitbook/assets/override-light.png
new file mode 100644
index 00000000..7684e82c
Binary files /dev/null and b/.gitbook/assets/override-light.png differ
diff --git a/.gitbook/assets/overview b/.gitbook/assets/overview
index 8e677488..5ddd3542 100644
--- a/.gitbook/assets/overview
+++ b/.gitbook/assets/overview
@@ -166,7 +166,7 @@ document.querySelector('[data-color-mode]').setAttribute('data-color-mode', stor
 <p>The Trunk CLI can be used for:</p>
 <ul>
 <li><a target="_self" href="/docs/merge">Trunk Merge</a>: a merge queue to make merging code in github safer and easier</li>
-<li><a target="_self" href="/docs/check">Trunk Check</a>: a pluginable superlinter with a builtin language server and preexisting issue detection</li>
+<li><a target="_self" href="/docs/check">Trunk Check</a>: a pluginable superlinter with a builtin language server and pre-existing issue detection</li>
 <li><a target="_self" href="/docs/actions">Trunk Actions</a>: workflow automation for software engineers</li>
 </ul>
 <p><a target="_self" href="/docs/check">Trunk Check</a> and <a target="_self" href="/docs/actions">Trunk Actions</a> can be used entirely locally without depending on hosted services or even having a Trunk account</p>
@@ -183,7 +183,7 @@ document.querySelector('[data-color-mode]').setAttribute('data-color-mode', stor
 <li><a href="#what-can-it-do">What can it do?</a></li>
 <li><a href="#initialize-trunk-in-your-repo">Initialize Trunk in your repo</a></li>
 <li><a href="#next-steps">Next Steps</a></li>
-</ul></li></ul></nav></section></div><div class="ModalWrapper" id="tutorialmodal-root"></div></article></div></div><footer class="AppFooter rm-Banners"></footer><div class="ModalWrapper" id="ChatGPT-modal"></div></div></div><div class="ng-non-bindable"><script id="ssr-props" data-initial-props="{&quot;baseUrl&quot;:&quot;/&quot;,&quot;apiBaseUrl&quot;:&quot;/&quot;,&quot;search&quot;:{&quot;appId&quot;:&quot;T28YKFATPY&quot;,&quot;searchApiKey&quot;:&quot;YjZmMzc1M2M4MGNkNmZjMDNhNDBmMTc3YmU4Y2NjZDNjOWQwZDFjZjIyMjVhYzQxZTQ1NzRkYTFhNWZmM2IyOXRhZ0ZpbHRlcnM9KHByb2plY3Q6NjJkOTlkZmE0Y2UxMjQwMDJlZTA1MjIzKSwodmVyc2lvbjpub25lLHZlcnNpb246NjNjNzQwOGM5ODA3MTMwMGE0ZmQzMjYwKSwoaGlkZGVuOm5vbmUsaGlkZGVuOmZhbHNlKSwoaW5kZXg6Q3VzdG9tUGFnZSxpbmRleDpQYWdlLGluZGV4OlR1dG9yaWFsKQ==&quot;,&quot;indexName&quot;:&quot;readme_search_v2&quot;,&quot;projectsMeta&quot;:[{&quot;modules&quot;:{&quot;landing&quot;:false,&quot;docs&quot;:true,&quot;examples&quot;:true,&quot;reference&quot;:false,&quot;graphql&quot;:false,&quot;changelog&quot;:false,&quot;discuss&quot;:false,&quot;suggested_edits&quot;:true,&quot;logs&quot;:false,&quot;custompages&quot;:false,&quot;tutorials&quot;:true},&quot;id&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;name&quot;:&quot;trunkio&quot;,&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;subpath&quot;:&quot;&quot;,&quot;nav_names&quot;:{&quot;docs&quot;:&quot;Docs&quot;,&quot;reference&quot;:&quot;Config&quot;,&quot;changelog&quot;:&quot;&quot;,&quot;discuss&quot;:&quot;&quot;,&quot;tutorials&quot;:&quot;&quot;,&quot;recipes&quot;:&quot;&quot;}}],&quot;UrlManager&quot;:{&quot;options&quot;:{&quot;parent&quot;:null,&quot;hasOneChild&quot;:null,&quot;project&quot;:null,&quot;version&quot;:null,&quot;lang&quot;:&quot;en&quot;},&quot;defaults&quot;:{&quot;child&quot;:null,&quot;lang&quot;:&quot;en&quot;,&quot;version&quot;:null}},&quot;urlManagerOpts&quot;:{&quot;lang&quot;:&quot;en&quot;,&quot;parent&quot;:{&quot;childrenProjects&quot;:[]},&quot;project&quot;:{&quot;subdomain&quot;:&quot;trunkio&quot;},&quot;version&quot;:&quot;1.2.0&quot;}},&quot;sidebars&quot;:{&quot;docs&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;title&quot;:&quot;General&quot;,&quot;slug&quot;:&quot;general&quot;,&quot;order&quot;:0,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:45.809Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;What is Trunk?&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;what-is-trunk&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-12-09T04:52:30.647Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3238&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Get Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;get-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:40:06.724Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3239&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Community&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;community&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:42:24.087Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;64664925c646d616bc4165cc&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Integration for Slack&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;trunk-app-for-slack&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;slack-integration-1&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;createdAt&quot;:&quot;2023-05-18T15:49:57.772Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;title&quot;:&quot;CLI&quot;,&quot;slug&quot;:&quot;cli&quot;,&quot;order&quot;:1,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:04:56.683Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;overview&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:23:23.743Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3252&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Install Trunk&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;install&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:53:40.607Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3253&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Init in a git repo&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;initialize-trunk-in-a-git-repo&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-16T17:41:40.728Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Compatibility&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;compatibility&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-11-07T22:29:46.535Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63ffcc409ca44702ba4045d9&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Codespaces&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;github-codespaces&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;createdAt&quot;:&quot;2023-03-01T22:05:52.565Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3235&quot;,&quot;title&quot;:&quot;VS Code&quot;,&quot;slug&quot;:&quot;vscode-1&quot;,&quot;order&quot;:2,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-09-27T19:53:39.191Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;vscode&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;actions&quot;,&quot;createdAt&quot;:&quot;2022-09-27T19:54:03.179Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3235&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;title&quot;:&quot;Merge&quot;,&quot;slug&quot;:&quot;merge&quot;,&quot;order&quot;:3,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:54.587Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;check&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:54:16.239Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3255&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Getting Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-getting-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;getting-started&quot;,&quot;createdAt&quot;:&quot;2022-09-12T04:06:29.564Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3256&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Reference&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-reference&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;reference&quot;,&quot;createdAt&quot;:&quot;2022-09-12T05:50:39.214Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3257&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Using the Webapp&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-using-the-webapp&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;using-the-webapp&quot;,&quot;createdAt&quot;:&quot;2022-09-12T06:47:03.927Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3258&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Integration for Slack&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-integration-for-slack&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;integration-for-slack&quot;,&quot;createdAt&quot;:&quot;2022-09-12T06:47:34.914Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;title&quot;:&quot;Check&quot;,&quot;slug&quot;:&quot;check&quot;,&quot;order&quot;:4,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:51.594Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd3243&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;merge&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:49.870Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3254&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Get Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-get-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;checkget-started&quot;,&quot;createdAt&quot;:&quot;2022-08-31T15:33:37.131Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3240&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Continuous Integration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:49:49.086Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3241&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Command Line&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-cli&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;cli&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:04.015Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3242&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Configuration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-config&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;config&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:18.879Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3244&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Custom Linters&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-custom-linters&quot;,&quot;order&quot;:5,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;custom-linters&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:13.324Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3245&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Custom Parsers&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;custom-parsers&quot;,&quot;order&quot;:6,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:27.360Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3246&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Debugging&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-debugging&quot;,&quot;order&quot;:7,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;debugging&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:47.891Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3247&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Supported Linters&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-supported-linters&quot;,&quot;order&quot;:8,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;supported-linters&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:05.476Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3248&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Ignoring Issues&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ignoring-issues&quot;,&quot;order&quot;:9,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;supressing-issues&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:19.809Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3249&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Under the Hood&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-under-the-hood&quot;,&quot;order&quot;:10,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;under-the-hood&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:36.749Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;647e9eb0fa85620023ae0f24&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Integration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-github-integration&quot;,&quot;order&quot;:999,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;github-integration&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;createdAt&quot;:&quot;2023-06-06T02:49:20.591Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;title&quot;:&quot;Actions&quot;,&quot;slug&quot;:&quot;actions&quot;,&quot;order&quot;:5,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:59.431Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd323e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;overview&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:48:40.182Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Configuration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-config&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:47:37.479Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Git Hooks&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-git-hooks&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;git-hooks&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:47:58.606Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Notifications&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-notifications&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;notifications&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:48:21.266Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Logging and Troubleshooting&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-troubleshooting&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;troubleshooting&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:49:07.409Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;title&quot;:&quot;Runtimes&quot;,&quot;slug&quot;:&quot;runtimes&quot;,&quot;order&quot;:6,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:21:52.136Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;runtimes&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;merge&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:23:11.842Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Prevent Duplicate Runtimes&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;prevent-duplicate-runtimes&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:45:20.921Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;title&quot;:&quot;Plugins&quot;,&quot;slug&quot;:&quot;plugins&quot;,&quot;order&quot;:7,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:46:26.358Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd323a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;plugins&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:46:43.549Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;643dd926624892002767fa62&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Exported Configs&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;exported-configs&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;createdAt&quot;:&quot;2023-04-17T23:41:26.128Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;title&quot;:&quot;Web App&quot;,&quot;slug&quot;:&quot;web-app&quot;,&quot;order&quot;:8,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:38:09.927Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;webapp&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;actions&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:57:20.672Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Upload Trunk Check Results&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;upload-check-results&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:57:42.257Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3259&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub App Permissions&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;github-app-permissions&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-09-12T17:05:09.212Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;title&quot;:&quot;CI DEBUGGER&quot;,&quot;slug&quot;:&quot;ci-debugger&quot;,&quot;order&quot;:9,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2023-06-05T17:59:06.530Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;647e2285a87f7a002a26b63d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci-debugger&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;overview-copy-1&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;createdAt&quot;:&quot;2023-06-05T17:59:33.940Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;647e2fa0f2dc57007448af47&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Actions&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci-debugger-getting-started&quot;,&quot;order&quot;:999,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;getting-started-1&quot;,&quot;category&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;createdAt&quot;:&quot;2023-06-05T18:55:28.814Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;title&quot;:&quot;Reference&quot;,&quot;slug&quot;:&quot;reference&quot;,&quot;order&quot;:10,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:38:03.291Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Glob Path Pattern&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-glob-path-pattern&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;glob-path-pattern&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:55:15.206Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Trunk YAML&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-trunk-yaml&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;trunk-yaml&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:55:28.601Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;User YAML&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-user-trunk-yaml&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;user-trunk-yaml&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:56:01.108Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Components&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;components&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-11-07T23:22:59.135Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63e6b42721802d0075057993&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Usage Data&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;usage-data&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;createdAt&quot;:&quot;2023-02-10T21:16:23.549Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;title&quot;:&quot;Administration&quot;,&quot;slug&quot;:&quot;administration&quot;,&quot;order&quot;:11,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2023-01-18T00:43:22.721Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c740b95a7c3100693caf66&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Billing&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;admin-billing&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;billing&quot;,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-01-18T00:43:37.693Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;64515e663f49d100296b8daa&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Single Sign-On (SAML)&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;admin-saml&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;saml&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-05-02T19:03:02.363Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;6451a352c4647800189b8132&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Support&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;support&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;admin-support&quot;,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-05-02T23:57:06.892Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]}],&quot;refs&quot;:[]},&quot;activeDoc&quot;:&quot;overview&quot;,&quot;rdmd&quot;:{&quot;baseUrl&quot;:&quot;/&quot;,&quot;body&quot;:&quot;## Getting Started\n\nTo use `trunk` locally, install via:\n\n```bash\ncurl https://get.trunk.io -fsSL | bash\n```\n\nFor other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](../cli/install-trunk.md) doc.\n\nAlso check out the other ways to use Trunk:\n- [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)\n- [GitHub Action](https://github.com/marketplace/actions/trunk-check)\n- [Web App (app.trunk.io)](https://app.trunk.io)\n\n## What can it do?\n\nThe Trunk CLI can be used for:\n\n- [Trunk Merge](../merge/overview.md): a merge queue to make merging code in github safer and easier\n- [Trunk Check](../check/overview.md): a pluginable superlinter with a builtin language server and preexisting issue detection\n- [Trunk Actions](../actions/overview.md): workflow automation for software engineers\n\n[Trunk Check](../check/overview.md) and [Trunk Actions](../actions/overview.md) can be used entirely locally without depending on hosted services or even having a Trunk account\n\n## Initialize Trunk in your repo\n\nWhether you aim to use [Trunk Check](../check/overview.md), [Trunk Merge](../merge/overview.md), [Trunk Actions](../actions/overview.md), or all of the above, the first step is to initialize Trunk in your git repo:\n\n```bash\ntrunk init\n```\n\nNote: for an extra layer of security you can optionally run `trunk init --lock` instead of `trunk init` which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the `trunk` binary.\n\n`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailored to your repo (it may also generate linter-specific config files, such as `.shellcheckrc`). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.\n\nIf you only want to use [Trunk Merge](../merge/overview.md), you can safely ignore the linter setup, or even strip enabled linters from `.trunk/trunk.yaml`. You will additionally need to login to use [Trunk Merge](../merge/overview.md) via `trunk login`.\n\n## Next Steps\n\nCheck out the docs for [Trunk Merge](../merge/overview.md), [Trunk Check](../check/overview.md), and [Trunk Actions](../actions/overview.md).&quot;,&quot;opts&quot;:{&quot;alwaysThrow&quot;:false,&quot;compatibilityMode&quot;:false,&quot;copyButtons&quot;:true,&quot;correctnewlines&quot;:false,&quot;markdownOptions&quot;:{&quot;fences&quot;:true,&quot;commonmark&quot;:true,&quot;gfm&quot;:true,&quot;ruleSpaces&quot;:false,&quot;listItemIndent&quot;:&quot;1&quot;,&quot;spacedTable&quot;:true,&quot;paddedTable&quot;:true},&quot;lazyImages&quot;:true,&quot;normalize&quot;:true,&quot;safeMode&quot;:false,&quot;settings&quot;:{&quot;position&quot;:false},&quot;theme&quot;:&quot;light&quot;},&quot;terms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;variables&quot;:{&quot;user&quot;:{},&quot;defaults&quot;:[]},&quot;dehydrated&quot;:{&quot;toc&quot;:&quot;&lt;nav&gt;&lt;ul class=\&quot;toc-list\&quot;&gt;&lt;li&gt;&lt;a class=\&quot;tocHeader\&quot; href=\&quot;#\&quot;&gt;&lt;i class=\&quot;icon icon-text-align-left\&quot;&gt;&lt;/i&gt;Table of Contents&lt;/a&gt;&lt;/li&gt;&lt;li class=\&quot;toc-children\&quot;&gt;&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;#getting-started\&quot;&gt;Getting Started&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#what-can-it-do\&quot;&gt;What can it do?&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#initialize-trunk-in-your-repo\&quot;&gt;Initialize Trunk in your repo&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#next-steps\&quot;&gt;Next Steps&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&quot;,&quot;body&quot;:&quot;&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;getting-started\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-getting-started\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Getting Started&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Getting Started\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#getting-started\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;To use &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk&lt;/code&gt; locally, install via:&lt;/p&gt;\n&lt;div class=\&quot;CodeTabs CodeTabs_initial theme-undefined\&quot;&gt;&lt;div class=\&quot;CodeTabs-toolbar\&quot;&gt;&lt;button type=\&quot;button\&quot;&gt;Bash&lt;/button&gt;&lt;/div&gt;&lt;div class=\&quot;CodeTabs-inner\&quot;&gt;&lt;pre&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang-bash theme-light\&quot; data-lang=\&quot;bash\&quot; name=\&quot;\&quot;&gt;curl https://get.trunk.io -fsSL | bash\n&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;\n&lt;p&gt;For other installation options (&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;npm&lt;/code&gt;, &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;brew&lt;/code&gt;, direct download, etc) and details on exactly what we install or how to uninstall, see the &lt;a href=\&quot;/docs/install\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;install\&quot;&gt;Install Trunk&lt;/a&gt; doc.&lt;/p&gt;\n&lt;p&gt;Also check out the other ways to use Trunk:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;https://marketplace.visualstudio.com/items?itemName=trunk.io\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;VSCode Extension&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;https://github.com/marketplace/actions/trunk-check\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;GitHub Action&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;https://app.trunk.io\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;Web App (app.trunk.io)&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;what-can-it-do\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-what-can-it-do\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;What can it do?&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to What can it do?\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#what-can-it-do\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;The Trunk CLI can be used for:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;: a merge queue to make merging code in github safer and easier&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;: a pluginable superlinter with a builtin language server and preexisting issue detection&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;: workflow automation for software engineers&lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;&lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt; and &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt; can be used entirely locally without depending on hosted services or even having a Trunk account&lt;/p&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;initialize-trunk-in-your-repo\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-initialize-trunk-in-your-repo\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Initialize Trunk in your repo&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Initialize Trunk in your repo\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#initialize-trunk-in-your-repo\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;Whether you aim to use &lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;, &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;, or all of the above, the first step is to initialize Trunk in your git repo:&lt;/p&gt;\n&lt;div class=\&quot;CodeTabs CodeTabs_initial theme-undefined\&quot;&gt;&lt;div class=\&quot;CodeTabs-toolbar\&quot;&gt;&lt;button type=\&quot;button\&quot;&gt;Bash&lt;/button&gt;&lt;/div&gt;&lt;div class=\&quot;CodeTabs-inner\&quot;&gt;&lt;pre&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang-bash theme-light\&quot; data-lang=\&quot;bash\&quot; name=\&quot;\&quot;&gt;trunk init\n&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;\n&lt;p&gt;Note: for an extra layer of security you can optionally run &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk init --lock&lt;/code&gt; instead of &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk init&lt;/code&gt; which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk&lt;/code&gt; binary.&lt;/p&gt;\n&lt;p&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;init&lt;/code&gt; scans the files in your repo and generates a &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.trunk/trunk.yaml&lt;/code&gt; configuration file tailored to your repo (it may also generate linter-specific config files, such as &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.shellcheckrc&lt;/code&gt;). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.&lt;/p&gt;\n&lt;p&gt;If you only want to use &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, you can safely ignore the linter setup, or even strip enabled linters from &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.trunk/trunk.yaml&lt;/code&gt;. You will additionally need to login to use &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt; via &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk login&lt;/code&gt;.&lt;/p&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;next-steps\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-next-steps\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Next Steps&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Next Steps\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#next-steps\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;Check out the docs for &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, &lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;, and &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;.&lt;/p&gt;&quot;}},&quot;doc&quot;:{&quot;metadata&quot;:{&quot;image&quot;:[],&quot;title&quot;:&quot;&quot;,&quot;description&quot;:&quot;&quot;},&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;next&quot;:{&quot;description&quot;:&quot;&quot;,&quot;pages&quot;:[]},&quot;algolia&quot;:{&quot;recordCount&quot;:4,&quot;publishPending&quot;:false,&quot;updatedAt&quot;:&quot;2023-01-18T00:45:41.182Z&quot;},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;updates&quot;:[],&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;overview&quot;,&quot;excerpt&quot;:&quot;&quot;,&quot;body&quot;:&quot;## Getting Started\n\nTo use `trunk` locally, install via:\n\n```bash\ncurl https://get.trunk.io -fsSL | bash\n```\n\nFor other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](../cli/install-trunk.md) doc.\n\nAlso check out the other ways to use Trunk:\n- [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)\n- [GitHub Action](https://github.com/marketplace/actions/trunk-check)\n- [Web App (app.trunk.io)](https://app.trunk.io)\n\n## What can it do?\n\nThe Trunk CLI can be used for:\n\n- [Trunk Merge](../merge/overview.md): a merge queue to make merging code in github safer and easier\n- [Trunk Check](../check/overview.md): a pluginable superlinter with a builtin language server and preexisting issue detection\n- [Trunk Actions](../actions/overview.md): workflow automation for software engineers\n\n[Trunk Check](../check/overview.md) and [Trunk Actions](../actions/overview.md) can be used entirely locally without depending on hosted services or even having a Trunk account\n\n## Initialize Trunk in your repo\n\nWhether you aim to use [Trunk Check](../check/overview.md), [Trunk Merge](../merge/overview.md), [Trunk Actions](../actions/overview.md), or all of the above, the first step is to initialize Trunk in your git repo:\n\n```bash\ntrunk init\n```\n\nNote: for an extra layer of security you can optionally run `trunk init --lock` instead of `trunk init` which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the `trunk` binary.\n\n`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailored to your repo (it may also generate linter-specific config files, such as `.shellcheckrc`). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.\n\nIf you only want to use [Trunk Merge](../merge/overview.md), you can safely ignore the linter setup, or even strip enabled linters from `.trunk/trunk.yaml`. You will additionally need to login to use [Trunk Merge](../merge/overview.md) via `trunk login`.\n\n## Next Steps\n\nCheck out the docs for [Trunk Merge](../merge/overview.md), [Trunk Check](../check/overview.md), and [Trunk Actions](../actions/overview.md).&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;slugUpdatedAt&quot;:&quot;2022-08-14T20:50:02.644Z&quot;,&quot;revision&quot;:1,&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;pendingAlgoliaPublish&quot;:false,&quot;createdAt&quot;:&quot;2022-08-15T19:23:23.743Z&quot;,&quot;updatedAt&quot;:&quot;2022-08-16T20:40:31.167Z&quot;,&quot;user&quot;:&quot;62e99eb3906c8101aa410d2a&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;__v&quot;:0,&quot;parentDoc&quot;:null,&quot;isApi&quot;:false,&quot;id&quot;:&quot;63c7408c98071300a4fd3251&quot;},&quot;hideTOC&quot;:false,&quot;meta&quot;:{&quot;slug&quot;:&quot;overview&quot;,&quot;type&quot;:&quot;docs&quot;,&quot;parent&quot;:null,&quot;image&quot;:[],&quot;title&quot;:&quot;Overview&quot;,&quot;title_seo&quot;:&quot;Overview&quot;,&quot;description&quot;:&quot;Getting StartedTo use trunk locally, install via:Bashcurl https://get.trunk.io -fsSL | bash For other installation options (npm, brew, direct download, etc) and details on exactly what we install or how to uninstall, see the Install Trunk doc.Also check out the other ways to use Trunk: VSCode Extens...&quot;,&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;hidden&quot;:false},&quot;slugUrl&quot;:&quot;/docs/overview&quot;,&quot;config&quot;:{&quot;algoliaIndex&quot;:&quot;readme_search_v2&quot;,&quot;amplitude&quot;:&quot;dc8065a65ef83d6ad23e37aaf014fc84&quot;,&quot;asset_url&quot;:&quot;https://cdn.readme.io&quot;,&quot;domain&quot;:&quot;readme.io&quot;,&quot;domainFull&quot;:&quot;https://dash.readme.com&quot;,&quot;dashMetricsUrl&quot;:&quot;https://m.readme.io&quot;,&quot;metricsUrl&quot;:&quot;https://metrics.readme.io&quot;,&quot;wsMetricsUrl&quot;:&quot;wss://m.readme.io&quot;,&quot;releaseVersion&quot;:&quot;4.435.1&quot;,&quot;sentry&quot;:{&quot;dsn&quot;:&quot;https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166&quot;,&quot;enabled&quot;:true,&quot;tracesSampleRate&quot;:0},&quot;sslGenerationService&quot;:&quot;ssl.readmessl.com&quot;},&quot;context&quot;:{&quot;user&quot;:{},&quot;terms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;variables&quot;:{&quot;user&quot;:{},&quot;defaults&quot;:[]},&quot;project&quot;:{&quot;_id&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;appearance&quot;:{&quot;rdmd&quot;:{&quot;callouts&quot;:{&quot;useIconFont&quot;:false},&quot;theme&quot;:{&quot;background&quot;:&quot;&quot;,&quot;border&quot;:&quot;&quot;,&quot;markdownEdge&quot;:&quot;&quot;,&quot;markdownFont&quot;:&quot;&quot;,&quot;markdownFontSize&quot;:&quot;&quot;,&quot;markdownLineHeight&quot;:&quot;&quot;,&quot;markdownRadius&quot;:&quot;&quot;,&quot;markdownText&quot;:&quot;&quot;,&quot;markdownTitle&quot;:&quot;&quot;,&quot;markdownTitleFont&quot;:&quot;&quot;,&quot;mdCodeBackground&quot;:&quot;&quot;,&quot;mdCodeFont&quot;:&quot;&quot;,&quot;mdCodeRadius&quot;:&quot;&quot;,&quot;mdCodeTabs&quot;:&quot;&quot;,&quot;mdCodeText&quot;:&quot;&quot;,&quot;tableEdges&quot;:&quot;&quot;,&quot;tableHead&quot;:&quot;&quot;,&quot;tableHeadText&quot;:&quot;&quot;,&quot;tableRow&quot;:&quot;&quot;,&quot;tableStripe&quot;:&quot;&quot;,&quot;tableText&quot;:&quot;&quot;,&quot;text&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;}},&quot;main_body&quot;:{&quot;type&quot;:&quot;links&quot;},&quot;colors&quot;:{&quot;highlight&quot;:&quot;&quot;,&quot;main&quot;:&quot;#242526&quot;,&quot;main_alt&quot;:&quot;&quot;,&quot;header_text&quot;:&quot;&quot;,&quot;body_highlight&quot;:&quot;&quot;,&quot;custom_login_link_color&quot;:&quot;&quot;},&quot;typography&quot;:{&quot;headline&quot;:&quot;Open+Sans:400:sans-serif&quot;,&quot;body&quot;:&quot;Open+Sans:400:sans-serif&quot;,&quot;typekit&quot;:false,&quot;tk_key&quot;:&quot;&quot;,&quot;tk_headline&quot;:&quot;&quot;,&quot;tk_body&quot;:&quot;&quot;},&quot;header&quot;:{&quot;style&quot;:&quot;solid&quot;,&quot;img&quot;:[],&quot;img_size&quot;:&quot;auto&quot;,&quot;img_pos&quot;:&quot;tl&quot;},&quot;body&quot;:{&quot;style&quot;:&quot;none&quot;},&quot;global_landing_page&quot;:{&quot;html&quot;:&quot;&quot;,&quot;redirect&quot;:&quot;&quot;},&quot;referenceSimpleMode&quot;:true,&quot;referenceLayout&quot;:&quot;row&quot;,&quot;link_logo_to_url&quot;:false,&quot;theme&quot;:&quot;solid&quot;,&quot;overlay&quot;:&quot;triangles&quot;,&quot;landing&quot;:true,&quot;sticky&quot;:false,&quot;hide_logo&quot;:false,&quot;childrenAsPills&quot;:false,&quot;subheaderStyle&quot;:&quot;links&quot;,&quot;splitReferenceDocs&quot;:false,&quot;showMetricsInReference&quot;:true,&quot;logo&quot;:[&quot;https://files.readme.io/6070550-docs-logo.svg&quot;,&quot;docs-logo.svg&quot;,198,42,&quot;#c1c5c8&quot;],&quot;loginLogo&quot;:[],&quot;logo_white&quot;:[&quot;https://files.readme.io/1c2f0ce-WhiteLogo.svg&quot;,&quot;WhiteLogo.svg&quot;,104,102,&quot;#fafafa&quot;],&quot;logo_white_use&quot;:false,&quot;favicon&quot;:[&quot;https://files.readme.io/75de105-small-favicon-readme-64.png&quot;,&quot;favicon-readme-64.png&quot;,32,32,&quot;#000000&quot;,&quot;https://files.readme.io/1e4846f-favicon-readme-64.png&quot;],&quot;stylesheet&quot;:&quot;&quot;,&quot;stylesheet_hub2&quot;:&quot;&quot;,&quot;stylesheet_hub3&quot;:&quot;&quot;,&quot;javascript&quot;:&quot;&quot;,&quot;javascript_hub2&quot;:&quot;&quot;,&quot;html_promo&quot;:&quot;&quot;,&quot;html_body&quot;:&quot;&quot;,&quot;html_footer&quot;:&quot;&quot;,&quot;html_head&quot;:&quot;&quot;,&quot;html_footer_meta&quot;:&quot;&quot;,&quot;html_hidelinks&quot;:false,&quot;showVersion&quot;:false,&quot;hideTableOfContents&quot;:false,&quot;nextStepsLabel&quot;:&quot;&quot;,&quot;promos&quot;:[{&quot;extras&quot;:{&quot;type&quot;:&quot;buttons&quot;,&quot;buttonPrimary&quot;:&quot;get-started&quot;,&quot;buttonSecondary&quot;:&quot;none&quot;},&quot;title&quot;:&quot;The trunkio Developer Hub&quot;,&quot;text&quot;:&quot;Welcome to the trunkio developer hub. You'll find comprehensive guides and documentation to help you start working with trunkio as quickly as possible, as well as support if you get stuck. Let's jump right in!&quot;,&quot;_id&quot;:&quot;62d99dfa4ce124002ee05225&quot;}],&quot;colorScheme&quot;:&quot;auto&quot;,&quot;logo_large&quot;:false},&quot;custom_domain&quot;:&quot;docs.trunk.io&quot;,&quot;childrenProjects&quot;:[],&quot;description&quot;:&quot;&quot;,&quot;error404&quot;:&quot;&quot;,&quot;first_page&quot;:&quot;docs&quot;,&quot;flags&quot;:{&quot;allow_hub2&quot;:false,&quot;enterprise&quot;:false,&quot;alwaysShowDocPublishStatus&quot;:false,&quot;hub2&quot;:true,&quot;migrationRun&quot;:false,&quot;migrationSwaggerRun&quot;:false,&quot;oauth&quot;:false,&quot;swagger&quot;:false,&quot;correctnewlines&quot;:false,&quot;rdmdCompatibilityMode&quot;:false,&quot;speedyRender&quot;:false,&quot;allowXFrame&quot;:false,&quot;newEditor&quot;:true,&quot;newEditorDash&quot;:true,&quot;reviewWorkflow&quot;:true,&quot;oldMarkdown&quot;:false,&quot;newMarkdownBetaProgram&quot;:true,&quot;useReactApp&quot;:true,&quot;disableAnonForum&quot;:false,&quot;directGoogleToStableVersion&quot;:false,&quot;translation&quot;:false,&quot;staging&quot;:false,&quot;newSearch&quot;:true,&quot;graphql&quot;:false,&quot;allowApiExplorerJsonEditor&quot;:false,&quot;singleProjectEnterprise&quot;:false,&quot;dashReact&quot;:false,&quot;useReactGLP&quot;:false,&quot;star&quot;:false,&quot;allowDarkMode&quot;:false,&quot;forceDarkMode&quot;:false,&quot;disablePasswordlessLogin&quot;:false,&quot;personalizedDocs&quot;:false,&quot;myDevelopers&quot;:false,&quot;superHub&quot;:false,&quot;allowReusableOTPs&quot;:false,&quot;owlbotAi&quot;:false},&quot;fullBaseUrl&quot;:&quot;https://docs.trunk.io/&quot;,&quot;glossaryTerms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;graphqlSchema&quot;:&quot;&quot;,&quot;hasOneChild&quot;:false,&quot;healthCheck&quot;:{&quot;provider&quot;:&quot;&quot;,&quot;settings&quot;:{}},&quot;intercom_secure_emailonly&quot;:false,&quot;intercom&quot;:&quot;&quot;,&quot;is_active&quot;:true,&quot;internal&quot;:&quot;&quot;,&quot;landing_bottom&quot;:[],&quot;metrics&quot;:{&quot;realtime&quot;:{&quot;dashEnabled&quot;:false,&quot;hubEnabled&quot;:false},&quot;monthlyLimit&quot;:0,&quot;planLimit&quot;:2000000,&quot;thumbsEnabled&quot;:true},&quot;modules&quot;:{&quot;landing&quot;:false,&quot;docs&quot;:true,&quot;examples&quot;:true,&quot;reference&quot;:false,&quot;graphql&quot;:false,&quot;changelog&quot;:false,&quot;discuss&quot;:false,&quot;suggested_edits&quot;:true,&quot;logs&quot;:false,&quot;custompages&quot;:false,&quot;tutorials&quot;:true},&quot;name&quot;:&quot;trunkio&quot;,&quot;nav_names&quot;:{&quot;docs&quot;:&quot;Docs&quot;,&quot;reference&quot;:&quot;Config&quot;,&quot;changelog&quot;:&quot;&quot;,&quot;discuss&quot;:&quot;&quot;,&quot;tutorials&quot;:&quot;&quot;,&quot;recipes&quot;:&quot;&quot;},&quot;oauth_url&quot;:&quot;&quot;,&quot;onboardingCompleted&quot;:{&quot;documentation&quot;:true,&quot;appearance&quot;:false,&quot;jwt&quot;:true,&quot;api&quot;:false,&quot;logs&quot;:false,&quot;domain&quot;:false},&quot;owlbot&quot;:{&quot;enabled&quot;:false,&quot;isPaying&quot;:false},&quot;owner&quot;:&quot;62d9961fce6e7b017dc8b303&quot;,&quot;plan&quot;:&quot;startup2018&quot;,&quot;planOverride&quot;:&quot;&quot;,&quot;planTrial&quot;:&quot;startup2018&quot;,&quot;readmeScore&quot;:{&quot;components&quot;:{&quot;newDesign&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:25},&quot;reference&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:50},&quot;tryItNow&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:35},&quot;syncingOAS&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:10},&quot;customLogin&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:25},&quot;metrics&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:40},&quot;recipes&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:15},&quot;pageVoting&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:1},&quot;suggestedEdits&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:10},&quot;support&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;htmlLanding&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;guides&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:10},&quot;changelog&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;glossary&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:1},&quot;variables&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:1},&quot;integrations&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:2}},&quot;totalScore&quot;:86},&quot;reCaptchaSiteKey&quot;:&quot;&quot;,&quot;stable&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;},&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;subpath&quot;:&quot;&quot;,&quot;topnav&quot;:{&quot;left&quot;:[],&quot;right&quot;:[],&quot;bottom&quot;:[{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Community Slack&quot;,&quot;url&quot;:&quot;https://slack.trunk.io&quot;,&quot;enabled&quot;:true},{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Feature Requests&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/check&quot;,&quot;enabled&quot;:true},{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Changelog&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/changelog&quot;,&quot;enabled&quot;:true}],&quot;edited&quot;:true},&quot;translate&quot;:{&quot;provider&quot;:&quot;transifex&quot;,&quot;show_widget&quot;:false,&quot;key_public&quot;:&quot;&quot;,&quot;key_secret&quot;:&quot;&quot;,&quot;org_name&quot;:&quot;&quot;,&quot;project_name&quot;:&quot;&quot;,&quot;languages&quot;:[]},&quot;url&quot;:&quot;https://trunk.io&quot;,&quot;versions&quot;:[{&quot;_id&quot;:&quot;62fa9a7d3180a6005cbcc827&quot;,&quot;version&quot;:&quot;0.16.1-beta&quot;,&quot;version_clean&quot;:&quot;0.16.1-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;62fa9a7d3180a6005cbcc800&quot;,&quot;62fa9a7d3180a6005cbcc801&quot;,&quot;62fa9a7d3180a6005cbcc802&quot;,&quot;62fa9a7d3180a6005cbcc803&quot;,&quot;62fa9a7d3180a6005cbcc804&quot;,&quot;62fa9a7d3180a6005cbcc805&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;62fa9a7d3180a6005cbcc806&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;62fa9a7d3180a6005cbcc807&quot;,&quot;6376bf69127d9900031750e7&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;62f40960373cad00215f8af2&quot;},{&quot;_id&quot;:&quot;63090235d1a8d000866dff12&quot;,&quot;version&quot;:&quot;0.17.0-beta&quot;,&quot;version_clean&quot;:&quot;0.17.0-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63090235d1a8d000866dfeeb&quot;,&quot;63090235d1a8d000866dfeec&quot;,&quot;63090235d1a8d000866dfeed&quot;,&quot;63090235d1a8d000866dfeee&quot;,&quot;63090235d1a8d000866dfeef&quot;,&quot;63090235d1a8d000866dfef0&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63090235d1a8d000866dfef1&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63090235d1a8d000866dfef2&quot;,&quot;6376bf69127d9900031750e8&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;62fa9a7d3180a6005cbcc827&quot;},{&quot;_id&quot;:&quot;632b566502717a00a4d27145&quot;,&quot;version&quot;:&quot;0.18.0-beta&quot;,&quot;version_clean&quot;:&quot;0.18.0-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;632b566502717a00a4d27119&quot;,&quot;632b566502717a00a4d2711a&quot;,&quot;632b566502717a00a4d2711b&quot;,&quot;632b566502717a00a4d2711c&quot;,&quot;632b566502717a00a4d2711d&quot;,&quot;632b566502717a00a4d2711e&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;632b566502717a00a4d2711f&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;632b566502717a00a4d27120&quot;,&quot;632c617037ccdb08f97b3928&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;633354c34e89780010cd796e&quot;,&quot;6376bf69127d9900031750ea&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;63090235d1a8d000866dff12&quot;},{&quot;_id&quot;:&quot;6351a0d6787f820029419c45&quot;,&quot;version&quot;:&quot;1.0.0&quot;,&quot;version_clean&quot;:&quot;1.0.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;6351a0d6787f820029419c14&quot;,&quot;6351a0d6787f820029419c15&quot;,&quot;6351a0d6787f820029419c16&quot;,&quot;6351a0d6787f820029419c17&quot;,&quot;6351a0d6787f820029419c18&quot;,&quot;6351a0d6787f820029419c19&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;6351a0d6787f820029419c1a&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;6351a0d6787f820029419c1b&quot;,&quot;6351a0d6787f820029419c1c&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;6351a0d6787f820029419c1d&quot;,&quot;6376bf69127d9900031750e6&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;632b566502717a00a4d27145&quot;},{&quot;_id&quot;:&quot;636c4be56398c1003a15a81c&quot;,&quot;version&quot;:&quot;1.1.0&quot;,&quot;version_clean&quot;:&quot;1.1.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;636c4be56398c1003a15a7e9&quot;,&quot;636c4be56398c1003a15a7ea&quot;,&quot;636c4be56398c1003a15a7eb&quot;,&quot;636c4be56398c1003a15a7ec&quot;,&quot;636c4be56398c1003a15a7ed&quot;,&quot;636c4be56398c1003a15a7ee&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;636c4be56398c1003a15a7ef&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;636c4be56398c1003a15a7f0&quot;,&quot;636c4be56398c1003a15a7f1&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;636c4be56398c1003a15a7f2&quot;,&quot;6376bf69127d9900031750e9&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;6351a0d6787f820029419c45&quot;},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;}],&quot;variableDefaults&quot;:[],&quot;webhookEnabled&quot;:false,&quot;isHubEditable&quot;:true},&quot;projectStore&quot;:{&quot;data&quot;:{&quot;allow_crawlers&quot;:&quot;disabled&quot;,&quot;canonical_url&quot;:null,&quot;description&quot;:null,&quot;homepage_url&quot;:&quot;https://trunk.io&quot;,&quot;name&quot;:&quot;trunkio&quot;,&quot;redirects&quot;:[],&quot;sitemap&quot;:&quot;disabled&quot;,&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;suggested_edits&quot;:&quot;enabled&quot;,&quot;uri&quot;:&quot;/projects/me&quot;,&quot;custom_login&quot;:{&quot;login_url&quot;:null,&quot;logout_url&quot;:null},&quot;pages&quot;:{&quot;not_found&quot;:null},&quot;privacy&quot;:{&quot;view&quot;:&quot;public&quot;,&quot;password&quot;:null},&quot;health_check&quot;:{&quot;provider&quot;:&quot;none&quot;,&quot;settings&quot;:{&quot;manual&quot;:{&quot;status&quot;:&quot;down&quot;,&quot;url&quot;:null},&quot;statuspage&quot;:{&quot;id&quot;:null}}},&quot;integrations&quot;:{&quot;bing&quot;:{&quot;verify&quot;:null},&quot;google&quot;:{&quot;analytics&quot;:null,&quot;site_verification&quot;:null},&quot;heap&quot;:{&quot;id&quot;:null},&quot;koala&quot;:{&quot;key&quot;:null},&quot;localize&quot;:{&quot;key&quot;:null},&quot;recaptcha&quot;:{&quot;site_key&quot;:null,&quot;secret_key&quot;:null},&quot;segment&quot;:{&quot;key&quot;:null,&quot;domain&quot;:null},&quot;typekit&quot;:{&quot;key&quot;:null},&quot;zendesk&quot;:{&quot;subdomain&quot;:null},&quot;intercom&quot;:{&quot;app_id&quot;:null,&quot;secure_mode&quot;:{&quot;key&quot;:null,&quot;email_only&quot;:false}}},&quot;permissions&quot;:{&quot;appearance&quot;:{&quot;private_label&quot;:&quot;disabled&quot;,&quot;custom_code&quot;:{&quot;css&quot;:&quot;disabled&quot;,&quot;html&quot;:&quot;enabled&quot;,&quot;js&quot;:&quot;disabled&quot;}}},&quot;appearance&quot;:{&quot;table_of_contents&quot;:&quot;enabled&quot;,&quot;whats_next_label&quot;:null,&quot;brand&quot;:{&quot;primary_color&quot;:&quot;#242526&quot;,&quot;link_color&quot;:null,&quot;theme&quot;:&quot;system&quot;},&quot;footer&quot;:{&quot;readme_logo&quot;:&quot;show&quot;},&quot;custom_code&quot;:{&quot;css&quot;:null,&quot;js&quot;:null,&quot;html&quot;:{&quot;header&quot;:null,&quot;home_footer&quot;:null,&quot;page_footer&quot;:null}},&quot;markdown&quot;:{&quot;callouts&quot;:{&quot;icon_font&quot;:&quot;emojis&quot;}},&quot;logo&quot;:{&quot;size&quot;:&quot;default&quot;,&quot;dark_mode&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/1c2f0ce-WhiteLogo.svg&quot;,&quot;name&quot;:&quot;WhiteLogo.svg&quot;,&quot;width&quot;:104,&quot;height&quot;:102,&quot;color&quot;:&quot;#fafafa&quot;,&quot;links&quot;:{&quot;original_url&quot;:null}},&quot;main&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/6070550-docs-logo.svg&quot;,&quot;name&quot;:&quot;docs-logo.svg&quot;,&quot;width&quot;:198,&quot;height&quot;:42,&quot;color&quot;:&quot;#c1c5c8&quot;,&quot;links&quot;:{&quot;original_url&quot;:null}},&quot;favicon&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/75de105-small-favicon-readme-64.png&quot;,&quot;name&quot;:&quot;favicon-readme-64.png&quot;,&quot;width&quot;:32,&quot;height&quot;:32,&quot;color&quot;:&quot;#000000&quot;,&quot;links&quot;:{&quot;original_url&quot;:&quot;https://files.readme.io/1e4846f-favicon-readme-64.png&quot;}}},&quot;navigation&quot;:{&quot;first_page&quot;:&quot;documentation&quot;,&quot;left&quot;:[],&quot;logo_link&quot;:&quot;landing_page&quot;,&quot;right&quot;:[],&quot;sub_nav&quot;:[{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Community Slack&quot;,&quot;url&quot;:&quot;https://slack.trunk.io&quot;,&quot;custom_page&quot;:null},{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Feature Requests&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/check&quot;,&quot;custom_page&quot;:null},{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Changelog&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/changelog&quot;,&quot;custom_page&quot;:null}],&quot;subheader_layout&quot;:&quot;links&quot;,&quot;version&quot;:&quot;disabled&quot;,&quot;links&quot;:{&quot;home&quot;:{&quot;label&quot;:&quot;Home&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;guides&quot;:{&quot;label&quot;:&quot;Guides&quot;,&quot;alias&quot;:&quot;Docs&quot;,&quot;visibility&quot;:&quot;enabled&quot;},&quot;reference&quot;:{&quot;label&quot;:&quot;API Reference&quot;,&quot;alias&quot;:&quot;Config&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;recipes&quot;:{&quot;label&quot;:&quot;Recipes&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;enabled&quot;},&quot;api_logs&quot;:{&quot;label&quot;:&quot;API Logs&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;changelog&quot;:{&quot;label&quot;:&quot;Changelog&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;disabled&quot;},&quot;discussions&quot;:{&quot;label&quot;:&quot;Discussions&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;disabled&quot;}}},&quot;header&quot;:{&quot;type&quot;:&quot;solid&quot;,&quot;gradient_color&quot;:null,&quot;overlay&quot;:{&quot;fill&quot;:&quot;auto&quot;,&quot;type&quot;:&quot;triangles&quot;,&quot;position&quot;:&quot;top-left&quot;,&quot;image&quot;:{&quot;uri&quot;:null,&quot;url&quot;:null,&quot;name&quot;:null,&quot;width&quot;:null,&quot;height&quot;:null,&quot;color&quot;:null,&quot;links&quot;:{&quot;original_url&quot;:null}}}}}}},&quot;version&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;}},&quot;reqUrl&quot;:&quot;/docs/overview&quot;,&quot;version&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;},&quot;lang&quot;:&quot;en&quot;,&quot;langFull&quot;:&quot;Default&quot;,&quot;isDetachedProductionSite&quot;:false,&quot;rdmdOpts&quot;:{&quot;normalize&quot;:true,&quot;correctnewlines&quot;:false,&quot;compatibilityMode&quot;:false}}"></script></div><div ng-class="{active:contentLoadingSection || contentLoading}" class="hub-loading-indicator"></div><div id="hub-container" ng-class="{loading:contentLoadingSection}"><div class="hub-container"><div state-container ng-attr-id="{{state.current().root !== 'docs' &amp;&amp; 'react-app-content-container'}}"><div id="replace-view" ng-non-bindable><meta ng-non-bindable name="meta:slug" content="overview"><meta ng-non-bindable name="meta:type" content="docs"><meta ng-non-bindable name="meta:parent"><meta ng-non-bindable name="meta:image" content=""><meta ng-non-bindable name="meta:title" content="Overview"><meta ng-non-bindable name="meta:title_seo" content="Overview"><meta ng-non-bindable name="meta:description" content="Getting StartedTo use trunk locally, install via:Bashcurl https://get.trunk.io -fsSL | bash For other installation options (npm, brew, direct download, etc) and details on exactly what we install or how to uninstall, see the Install Trunk doc.Also check out the other ways to use Trunk: VSCode Extens..."><meta ng-non-bindable name="meta:_id" content="63c7408c98071300a4fd3251"><meta ng-non-bindable name="meta:hidden"><div ng-if="!suggestedEdits.isEnabled" class="templateBlock--docs"></div></div></div></div></div><footer></footer><script>var is_hub = true;
+</ul></li></ul></nav></section></div><div class="ModalWrapper" id="tutorialmodal-root"></div></article></div></div><footer class="AppFooter rm-Banners"></footer><div class="ModalWrapper" id="ChatGPT-modal"></div></div></div><div class="ng-non-bindable"><script id="ssr-props" data-initial-props="{&quot;baseUrl&quot;:&quot;/&quot;,&quot;apiBaseUrl&quot;:&quot;/&quot;,&quot;search&quot;:{&quot;appId&quot;:&quot;T28YKFATPY&quot;,&quot;searchApiKey&quot;:&quot;YjZmMzc1M2M4MGNkNmZjMDNhNDBmMTc3YmU4Y2NjZDNjOWQwZDFjZjIyMjVhYzQxZTQ1NzRkYTFhNWZmM2IyOXRhZ0ZpbHRlcnM9KHByb2plY3Q6NjJkOTlkZmE0Y2UxMjQwMDJlZTA1MjIzKSwodmVyc2lvbjpub25lLHZlcnNpb246NjNjNzQwOGM5ODA3MTMwMGE0ZmQzMjYwKSwoaGlkZGVuOm5vbmUsaGlkZGVuOmZhbHNlKSwoaW5kZXg6Q3VzdG9tUGFnZSxpbmRleDpQYWdlLGluZGV4OlR1dG9yaWFsKQ==&quot;,&quot;indexName&quot;:&quot;readme_search_v2&quot;,&quot;projectsMeta&quot;:[{&quot;modules&quot;:{&quot;landing&quot;:false,&quot;docs&quot;:true,&quot;examples&quot;:true,&quot;reference&quot;:false,&quot;graphql&quot;:false,&quot;changelog&quot;:false,&quot;discuss&quot;:false,&quot;suggested_edits&quot;:true,&quot;logs&quot;:false,&quot;custompages&quot;:false,&quot;tutorials&quot;:true},&quot;id&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;name&quot;:&quot;trunkio&quot;,&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;subpath&quot;:&quot;&quot;,&quot;nav_names&quot;:{&quot;docs&quot;:&quot;Docs&quot;,&quot;reference&quot;:&quot;Config&quot;,&quot;changelog&quot;:&quot;&quot;,&quot;discuss&quot;:&quot;&quot;,&quot;tutorials&quot;:&quot;&quot;,&quot;recipes&quot;:&quot;&quot;}}],&quot;UrlManager&quot;:{&quot;options&quot;:{&quot;parent&quot;:null,&quot;hasOneChild&quot;:null,&quot;project&quot;:null,&quot;version&quot;:null,&quot;lang&quot;:&quot;en&quot;},&quot;defaults&quot;:{&quot;child&quot;:null,&quot;lang&quot;:&quot;en&quot;,&quot;version&quot;:null}},&quot;urlManagerOpts&quot;:{&quot;lang&quot;:&quot;en&quot;,&quot;parent&quot;:{&quot;childrenProjects&quot;:[]},&quot;project&quot;:{&quot;subdomain&quot;:&quot;trunkio&quot;},&quot;version&quot;:&quot;1.2.0&quot;}},&quot;sidebars&quot;:{&quot;docs&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;title&quot;:&quot;General&quot;,&quot;slug&quot;:&quot;general&quot;,&quot;order&quot;:0,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:45.809Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;What is Trunk?&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;what-is-trunk&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-12-09T04:52:30.647Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3238&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Get Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;get-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:40:06.724Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3239&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Community&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;community&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:42:24.087Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;64664925c646d616bc4165cc&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Integration for Slack&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;trunk-app-for-slack&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;slack-integration-1&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322c&quot;,&quot;createdAt&quot;:&quot;2023-05-18T15:49:57.772Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;title&quot;:&quot;CLI&quot;,&quot;slug&quot;:&quot;cli&quot;,&quot;order&quot;:1,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:04:56.683Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;overview&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:23:23.743Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3252&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Install Trunk&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;install&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-15T19:53:40.607Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3253&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Init in a git repo&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;initialize-trunk-in-a-git-repo&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-16T17:41:40.728Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Compatibility&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;compatibility&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-11-07T22:29:46.535Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63ffcc409ca44702ba4045d9&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Codespaces&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;github-codespaces&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;createdAt&quot;:&quot;2023-03-01T22:05:52.565Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3235&quot;,&quot;title&quot;:&quot;VS Code&quot;,&quot;slug&quot;:&quot;vscode-1&quot;,&quot;order&quot;:2,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-09-27T19:53:39.191Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;vscode&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;actions&quot;,&quot;createdAt&quot;:&quot;2022-09-27T19:54:03.179Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3235&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;title&quot;:&quot;Merge&quot;,&quot;slug&quot;:&quot;merge&quot;,&quot;order&quot;:3,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:54.587Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;check&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:54:16.239Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3255&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Getting Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-getting-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;getting-started&quot;,&quot;createdAt&quot;:&quot;2022-09-12T04:06:29.564Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3256&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Reference&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-reference&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;reference&quot;,&quot;createdAt&quot;:&quot;2022-09-12T05:50:39.214Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3257&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Using the Webapp&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-using-the-webapp&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;using-the-webapp&quot;,&quot;createdAt&quot;:&quot;2022-09-12T06:47:03.927Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3258&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Integration for Slack&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;merge-integration-for-slack&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;integration-for-slack&quot;,&quot;createdAt&quot;:&quot;2022-09-12T06:47:34.914Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322e&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;title&quot;:&quot;Check&quot;,&quot;slug&quot;:&quot;check&quot;,&quot;order&quot;:4,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:51.594Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd3243&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;merge&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:49.870Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3254&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Get Started&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-get-started&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;checkget-started&quot;,&quot;createdAt&quot;:&quot;2022-08-31T15:33:37.131Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3240&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Continuous Integration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:49:49.086Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3241&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Command Line&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-cli&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;cli&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:04.015Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3242&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Configuration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-config&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;config&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:50:18.879Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3244&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Custom Linters&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-custom-linters&quot;,&quot;order&quot;:5,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;custom-linters&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:13.324Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3245&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Custom Parsers&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;custom-parsers&quot;,&quot;order&quot;:6,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:27.360Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3246&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Debugging&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-debugging&quot;,&quot;order&quot;:7,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;debugging&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:51:47.891Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3247&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Supported Linters&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-supported-linters&quot;,&quot;order&quot;:8,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;supported-linters&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:05.476Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3248&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Ignoring Issues&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ignoring-issues&quot;,&quot;order&quot;:9,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;supressing-issues&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:19.809Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3249&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Under the Hood&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-under-the-hood&quot;,&quot;order&quot;:10,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;under-the-hood&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:52:36.749Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;647e9eb0fa85620023ae0f24&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Integration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;check-github-integration&quot;,&quot;order&quot;:999,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;github-integration&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322d&quot;,&quot;createdAt&quot;:&quot;2023-06-06T02:49:20.591Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;title&quot;:&quot;Actions&quot;,&quot;slug&quot;:&quot;actions&quot;,&quot;order&quot;:5,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:37:59.431Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd323e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;overview&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:48:40.182Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Configuration&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-config&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:47:37.479Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Git Hooks&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-git-hooks&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;git-hooks&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:47:58.606Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Notifications&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-notifications&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;notifications&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:48:21.266Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd323f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Logging and Troubleshooting&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;actions-troubleshooting&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;troubleshooting&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:49:07.409Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd322f&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;title&quot;:&quot;Runtimes&quot;,&quot;slug&quot;:&quot;runtimes&quot;,&quot;order&quot;:6,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:21:52.136Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd325a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;runtimes&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;merge&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:23:11.842Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Prevent Duplicate Runtimes&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;prevent-duplicate-runtimes&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-09-22T13:45:20.921Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3234&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;title&quot;:&quot;Plugins&quot;,&quot;slug&quot;:&quot;plugins&quot;,&quot;order&quot;:7,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:46:26.358Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd323a&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;plugins&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:46:43.549Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;643dd926624892002767fa62&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Exported Configs&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;exported-configs&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;63c7408c98071300a4fd3232&quot;,&quot;createdAt&quot;:&quot;2023-04-17T23:41:26.128Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;title&quot;:&quot;Web App&quot;,&quot;slug&quot;:&quot;web-app&quot;,&quot;order&quot;:8,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:38:09.927Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;webapp&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;actions&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:57:20.672Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324f&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Upload Trunk Check Results&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;upload-check-results&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:57:42.257Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3259&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub App Permissions&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;github-app-permissions&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-09-12T17:05:09.212Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3231&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;title&quot;:&quot;CI DEBUGGER&quot;,&quot;slug&quot;:&quot;ci-debugger&quot;,&quot;order&quot;:9,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2023-06-05T17:59:06.530Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;647e2285a87f7a002a26b63d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci-debugger&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;overview-copy-1&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;createdAt&quot;:&quot;2023-06-05T17:59:33.940Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;647e2fa0f2dc57007448af47&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;GitHub Actions&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;ci-debugger-getting-started&quot;,&quot;order&quot;:999,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;getting-started-1&quot;,&quot;category&quot;:&quot;647e226a03e2a40018145efb&quot;,&quot;createdAt&quot;:&quot;2023-06-05T18:55:28.814Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;title&quot;:&quot;Reference&quot;,&quot;slug&quot;:&quot;reference&quot;,&quot;order&quot;:10,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:38:03.291Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c7408c98071300a4fd324b&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Glob Path Pattern&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-glob-path-pattern&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;glob-path-pattern&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:55:15.206Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324c&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Trunk YAML&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-trunk-yaml&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;trunk-yaml&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:55:28.601Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd324d&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;User YAML&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;reference-user-trunk-yaml&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;user-trunk-yaml&quot;,&quot;createdAt&quot;:&quot;2022-08-05T13:56:01.108Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63c7408c98071300a4fd325e&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Components&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;components&quot;,&quot;order&quot;:3,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;createdAt&quot;:&quot;2022-11-07T23:22:59.135Z&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;63e6b42721802d0075057993&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Usage Data&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;usage-data&quot;,&quot;order&quot;:4,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3230&quot;,&quot;createdAt&quot;:&quot;2023-02-10T21:16:23.549Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]},{&quot;_id&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;title&quot;:&quot;Administration&quot;,&quot;slug&quot;:&quot;administration&quot;,&quot;order&quot;:11,&quot;reference&quot;:false,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;createdAt&quot;:&quot;2023-01-18T00:43:22.721Z&quot;,&quot;__v&quot;:0,&quot;pages&quot;:[{&quot;_id&quot;:&quot;63c740b95a7c3100693caf66&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Billing&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;admin-billing&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;billing&quot;,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-01-18T00:43:37.693Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;64515e663f49d100296b8daa&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;title&quot;:&quot;Single Sign-On (SAML)&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;admin-saml&quot;,&quot;order&quot;:1,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;saml&quot;,&quot;parentDoc&quot;:null,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-05-02T19:03:02.363Z&quot;,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false},{&quot;_id&quot;:&quot;6451a352c4647800189b8132&quot;,&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;params&quot;:[]},&quot;title&quot;:&quot;Support&quot;,&quot;icon&quot;:&quot;&quot;,&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;support&quot;,&quot;order&quot;:2,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;admin-support&quot;,&quot;category&quot;:&quot;63c740aa289377000fc4de73&quot;,&quot;createdAt&quot;:&quot;2023-05-02T23:57:06.892Z&quot;,&quot;parentDoc&quot;:null,&quot;tutorials&quot;:[],&quot;children&quot;:[],&quot;isBodyEmpty&quot;:false}]}],&quot;refs&quot;:[]},&quot;activeDoc&quot;:&quot;overview&quot;,&quot;rdmd&quot;:{&quot;baseUrl&quot;:&quot;/&quot;,&quot;body&quot;:&quot;## Getting Started\n\nTo use `trunk` locally, install via:\n\n```bash\ncurl https://get.trunk.io -fsSL | bash\n```\n\nFor other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](../cli/install-trunk.md) doc.\n\nAlso check out the other ways to use Trunk:\n- [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)\n- [GitHub Action](https://github.com/marketplace/actions/trunk-check)\n- [Web App (app.trunk.io)](https://app.trunk.io)\n\n## What can it do?\n\nThe Trunk CLI can be used for:\n\n- [Trunk Merge](../merge/overview.md): a merge queue to make merging code in github safer and easier\n- [Trunk Check](../check/overview.md): a pluginable superlinter with a builtin language server and pre-existing issue detection\n- [Trunk Actions](../actions/overview.md): workflow automation for software engineers\n\n[Trunk Check](../check/overview.md) and [Trunk Actions](../actions/overview.md) can be used entirely locally without depending on hosted services or even having a Trunk account\n\n## Initialize Trunk in your repo\n\nWhether you aim to use [Trunk Check](../check/overview.md), [Trunk Merge](../merge/overview.md), [Trunk Actions](../actions/overview.md), or all of the above, the first step is to initialize Trunk in your git repo:\n\n```bash\ntrunk init\n```\n\nNote: for an extra layer of security you can optionally run `trunk init --lock` instead of `trunk init` which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the `trunk` binary.\n\n`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailored to your repo (it may also generate linter-specific config files, such as `.shellcheckrc`). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.\n\nIf you only want to use [Trunk Merge](../merge/overview.md), you can safely ignore the linter setup, or even strip enabled linters from `.trunk/trunk.yaml`. You will additionally need to login to use [Trunk Merge](../merge/overview.md) via `trunk login`.\n\n## Next Steps\n\nCheck out the docs for [Trunk Merge](../merge/overview.md), [Trunk Check](../check/overview.md), and [Trunk Actions](../actions/overview.md).&quot;,&quot;opts&quot;:{&quot;alwaysThrow&quot;:false,&quot;compatibilityMode&quot;:false,&quot;copyButtons&quot;:true,&quot;correctnewlines&quot;:false,&quot;markdownOptions&quot;:{&quot;fences&quot;:true,&quot;commonmark&quot;:true,&quot;gfm&quot;:true,&quot;ruleSpaces&quot;:false,&quot;listItemIndent&quot;:&quot;1&quot;,&quot;spacedTable&quot;:true,&quot;paddedTable&quot;:true},&quot;lazyImages&quot;:true,&quot;normalize&quot;:true,&quot;safeMode&quot;:false,&quot;settings&quot;:{&quot;position&quot;:false},&quot;theme&quot;:&quot;light&quot;},&quot;terms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;variables&quot;:{&quot;user&quot;:{},&quot;defaults&quot;:[]},&quot;dehydrated&quot;:{&quot;toc&quot;:&quot;&lt;nav&gt;&lt;ul class=\&quot;toc-list\&quot;&gt;&lt;li&gt;&lt;a class=\&quot;tocHeader\&quot; href=\&quot;#\&quot;&gt;&lt;i class=\&quot;icon icon-text-align-left\&quot;&gt;&lt;/i&gt;Table of Contents&lt;/a&gt;&lt;/li&gt;&lt;li class=\&quot;toc-children\&quot;&gt;&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;#getting-started\&quot;&gt;Getting Started&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#what-can-it-do\&quot;&gt;What can it do?&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#initialize-trunk-in-your-repo\&quot;&gt;Initialize Trunk in your repo&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;#next-steps\&quot;&gt;Next Steps&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/nav&gt;&quot;,&quot;body&quot;:&quot;&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;getting-started\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-getting-started\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Getting Started&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Getting Started\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#getting-started\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;To use &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk&lt;/code&gt; locally, install via:&lt;/p&gt;\n&lt;div class=\&quot;CodeTabs CodeTabs_initial theme-undefined\&quot;&gt;&lt;div class=\&quot;CodeTabs-toolbar\&quot;&gt;&lt;button type=\&quot;button\&quot;&gt;Bash&lt;/button&gt;&lt;/div&gt;&lt;div class=\&quot;CodeTabs-inner\&quot;&gt;&lt;pre&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang-bash theme-light\&quot; data-lang=\&quot;bash\&quot; name=\&quot;\&quot;&gt;curl https://get.trunk.io -fsSL | bash\n&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;\n&lt;p&gt;For other installation options (&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;npm&lt;/code&gt;, &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;brew&lt;/code&gt;, direct download, etc) and details on exactly what we install or how to uninstall, see the &lt;a href=\&quot;/docs/install\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;install\&quot;&gt;Install Trunk&lt;/a&gt; doc.&lt;/p&gt;\n&lt;p&gt;Also check out the other ways to use Trunk:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;https://marketplace.visualstudio.com/items?itemName=trunk.io\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;VSCode Extension&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;https://github.com/marketplace/actions/trunk-check\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;GitHub Action&lt;/a&gt;&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;https://app.trunk.io\&quot; target=\&quot;\&quot; title=\&quot;\&quot;&gt;Web App (app.trunk.io)&lt;/a&gt;&lt;/li&gt;\n&lt;/ul&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;what-can-it-do\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-what-can-it-do\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;What can it do?&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to What can it do?\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#what-can-it-do\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;The Trunk CLI can be used for:&lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;: a merge queue to make merging code in github safer and easier&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;: a pluginable superlinter with a builtin language server and pre-existing issue detection&lt;/li&gt;\n&lt;li&gt;&lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;: workflow automation for software engineers&lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;&lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt; and &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt; can be used entirely locally without depending on hosted services or even having a Trunk account&lt;/p&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;initialize-trunk-in-your-repo\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-initialize-trunk-in-your-repo\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Initialize Trunk in your repo&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Initialize Trunk in your repo\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#initialize-trunk-in-your-repo\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;Whether you aim to use &lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;, &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;, or all of the above, the first step is to initialize Trunk in your git repo:&lt;/p&gt;\n&lt;div class=\&quot;CodeTabs CodeTabs_initial theme-undefined\&quot;&gt;&lt;div class=\&quot;CodeTabs-toolbar\&quot;&gt;&lt;button type=\&quot;button\&quot;&gt;Bash&lt;/button&gt;&lt;/div&gt;&lt;div class=\&quot;CodeTabs-inner\&quot;&gt;&lt;pre&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang-bash theme-light\&quot; data-lang=\&quot;bash\&quot; name=\&quot;\&quot;&gt;trunk init\n&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;\n&lt;p&gt;Note: for an extra layer of security you can optionally run &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk init --lock&lt;/code&gt; instead of &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk init&lt;/code&gt; which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk&lt;/code&gt; binary.&lt;/p&gt;\n&lt;p&gt;&lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;init&lt;/code&gt; scans the files in your repo and generates a &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.trunk/trunk.yaml&lt;/code&gt; configuration file tailored to your repo (it may also generate linter-specific config files, such as &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.shellcheckrc&lt;/code&gt;). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.&lt;/p&gt;\n&lt;p&gt;If you only want to use &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, you can safely ignore the linter setup, or even strip enabled linters from &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;.trunk/trunk.yaml&lt;/code&gt;. You will additionally need to login to use &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt; via &lt;button aria-label=\&quot;Copy Code\&quot; class=\&quot;rdmd-code-copy fa\&quot;&gt;&lt;/button&gt;&lt;code class=\&quot;rdmd-code lang- theme-light\&quot; data-lang=\&quot;\&quot; name=\&quot;\&quot;&gt;trunk login&lt;/code&gt;.&lt;/p&gt;\n&lt;h2 class=\&quot;heading heading-2 header-scroll\&quot; align=\&quot;\&quot;&gt;&lt;div class=\&quot;heading-anchor anchor waypoint\&quot; id=\&quot;next-steps\&quot;&gt;&lt;/div&gt;&lt;div class=\&quot;heading-text\&quot;&gt;&lt;div id=\&quot;section-next-steps\&quot; class=\&quot;heading-anchor_backwardsCompatibility\&quot;&gt;&lt;/div&gt;Next Steps&lt;/div&gt;&lt;a aria-label=\&quot;Skip link to Next Steps\&quot; class=\&quot;heading-anchor-icon fa fa-anchor\&quot; href=\&quot;#next-steps\&quot;&gt;&lt;/a&gt;&lt;/h2&gt;\n&lt;p&gt;Check out the docs for &lt;a href=\&quot;/docs/merge\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;merge\&quot;&gt;Trunk Merge&lt;/a&gt;, &lt;a href=\&quot;/docs/check\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;check\&quot;&gt;Trunk Check&lt;/a&gt;, and &lt;a href=\&quot;/docs/actions\&quot; target=\&quot;\&quot; title=\&quot;\&quot; class=\&quot;doc-link\&quot; data-sidebar=\&quot;actions\&quot;&gt;Trunk Actions&lt;/a&gt;.&lt;/p&gt;&quot;}},&quot;doc&quot;:{&quot;metadata&quot;:{&quot;image&quot;:[],&quot;title&quot;:&quot;&quot;,&quot;description&quot;:&quot;&quot;},&quot;api&quot;:{&quot;method&quot;:&quot;get&quot;,&quot;url&quot;:&quot;&quot;,&quot;auth&quot;:&quot;required&quot;,&quot;results&quot;:{&quot;codes&quot;:[{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:200},{&quot;name&quot;:&quot;&quot;,&quot;code&quot;:&quot;{}&quot;,&quot;language&quot;:&quot;json&quot;,&quot;status&quot;:400}]},&quot;params&quot;:[]},&quot;next&quot;:{&quot;description&quot;:&quot;&quot;,&quot;pages&quot;:[]},&quot;algolia&quot;:{&quot;recordCount&quot;:4,&quot;publishPending&quot;:false,&quot;updatedAt&quot;:&quot;2023-01-18T00:45:41.182Z&quot;},&quot;title&quot;:&quot;Overview&quot;,&quot;icon&quot;:&quot;&quot;,&quot;updates&quot;:[],&quot;type&quot;:&quot;basic&quot;,&quot;slug&quot;:&quot;overview&quot;,&quot;excerpt&quot;:&quot;&quot;,&quot;body&quot;:&quot;## Getting Started\n\nTo use `trunk` locally, install via:\n\n```bash\ncurl https://get.trunk.io -fsSL | bash\n```\n\nFor other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](../cli/install-trunk.md) doc.\n\nAlso check out the other ways to use Trunk:\n- [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)\n- [GitHub Action](https://github.com/marketplace/actions/trunk-check)\n- [Web App (app.trunk.io)](https://app.trunk.io)\n\n## What can it do?\n\nThe Trunk CLI can be used for:\n\n- [Trunk Merge](../merge/overview.md): a merge queue to make merging code in github safer and easier\n- [Trunk Check](../check/overview.md): a pluginable superlinter with a builtin language server and pre-existing issue detection\n- [Trunk Actions](../actions/overview.md): workflow automation for software engineers\n\n[Trunk Check](../check/overview.md) and [Trunk Actions](../actions/overview.md) can be used entirely locally without depending on hosted services or even having a Trunk account\n\n## Initialize Trunk in your repo\n\nWhether you aim to use [Trunk Check](../check/overview.md), [Trunk Merge](../merge/overview.md), [Trunk Actions](../actions/overview.md), or all of the above, the first step is to initialize Trunk in your git repo:\n\n```bash\ntrunk init\n```\n\nNote: for an extra layer of security you can optionally run `trunk init --lock` instead of `trunk init` which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the `trunk` binary.\n\n`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailored to your repo (it may also generate linter-specific config files, such as `.shellcheckrc`). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.\n\nIf you only want to use [Trunk Merge](../merge/overview.md), you can safely ignore the linter setup, or even strip enabled linters from `.trunk/trunk.yaml`. You will additionally need to login to use [Trunk Merge](../merge/overview.md) via `trunk login`.\n\n## Next Steps\n\nCheck out the docs for [Trunk Merge](../merge/overview.md), [Trunk Check](../check/overview.md), and [Trunk Actions](../actions/overview.md).&quot;,&quot;order&quot;:0,&quot;isReference&quot;:false,&quot;deprecated&quot;:false,&quot;hidden&quot;:false,&quot;sync_unique&quot;:&quot;&quot;,&quot;link_url&quot;:&quot;&quot;,&quot;link_external&quot;:false,&quot;previousSlug&quot;:&quot;&quot;,&quot;slugUpdatedAt&quot;:&quot;2022-08-14T20:50:02.644Z&quot;,&quot;revision&quot;:1,&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;pendingAlgoliaPublish&quot;:false,&quot;createdAt&quot;:&quot;2022-08-15T19:23:23.743Z&quot;,&quot;updatedAt&quot;:&quot;2022-08-16T20:40:31.167Z&quot;,&quot;user&quot;:&quot;62e99eb3906c8101aa410d2a&quot;,&quot;category&quot;:&quot;63c7408c98071300a4fd3233&quot;,&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;version&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;__v&quot;:0,&quot;parentDoc&quot;:null,&quot;isApi&quot;:false,&quot;id&quot;:&quot;63c7408c98071300a4fd3251&quot;},&quot;hideTOC&quot;:false,&quot;meta&quot;:{&quot;slug&quot;:&quot;overview&quot;,&quot;type&quot;:&quot;docs&quot;,&quot;parent&quot;:null,&quot;image&quot;:[],&quot;title&quot;:&quot;Overview&quot;,&quot;title_seo&quot;:&quot;Overview&quot;,&quot;description&quot;:&quot;Getting StartedTo use trunk locally, install via:Bashcurl https://get.trunk.io -fsSL | bash For other installation options (npm, brew, direct download, etc) and details on exactly what we install or how to uninstall, see the Install Trunk doc.Also check out the other ways to use Trunk: VSCode Extens...&quot;,&quot;_id&quot;:&quot;63c7408c98071300a4fd3251&quot;,&quot;hidden&quot;:false},&quot;slugUrl&quot;:&quot;/docs/overview&quot;,&quot;config&quot;:{&quot;algoliaIndex&quot;:&quot;readme_search_v2&quot;,&quot;amplitude&quot;:&quot;dc8065a65ef83d6ad23e37aaf014fc84&quot;,&quot;asset_url&quot;:&quot;https://cdn.readme.io&quot;,&quot;domain&quot;:&quot;readme.io&quot;,&quot;domainFull&quot;:&quot;https://dash.readme.com&quot;,&quot;dashMetricsUrl&quot;:&quot;https://m.readme.io&quot;,&quot;metricsUrl&quot;:&quot;https://metrics.readme.io&quot;,&quot;wsMetricsUrl&quot;:&quot;wss://m.readme.io&quot;,&quot;releaseVersion&quot;:&quot;4.435.1&quot;,&quot;sentry&quot;:{&quot;dsn&quot;:&quot;https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166&quot;,&quot;enabled&quot;:true,&quot;tracesSampleRate&quot;:0},&quot;sslGenerationService&quot;:&quot;ssl.readmessl.com&quot;},&quot;context&quot;:{&quot;user&quot;:{},&quot;terms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;variables&quot;:{&quot;user&quot;:{},&quot;defaults&quot;:[]},&quot;project&quot;:{&quot;_id&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;appearance&quot;:{&quot;rdmd&quot;:{&quot;callouts&quot;:{&quot;useIconFont&quot;:false},&quot;theme&quot;:{&quot;background&quot;:&quot;&quot;,&quot;border&quot;:&quot;&quot;,&quot;markdownEdge&quot;:&quot;&quot;,&quot;markdownFont&quot;:&quot;&quot;,&quot;markdownFontSize&quot;:&quot;&quot;,&quot;markdownLineHeight&quot;:&quot;&quot;,&quot;markdownRadius&quot;:&quot;&quot;,&quot;markdownText&quot;:&quot;&quot;,&quot;markdownTitle&quot;:&quot;&quot;,&quot;markdownTitleFont&quot;:&quot;&quot;,&quot;mdCodeBackground&quot;:&quot;&quot;,&quot;mdCodeFont&quot;:&quot;&quot;,&quot;mdCodeRadius&quot;:&quot;&quot;,&quot;mdCodeTabs&quot;:&quot;&quot;,&quot;mdCodeText&quot;:&quot;&quot;,&quot;tableEdges&quot;:&quot;&quot;,&quot;tableHead&quot;:&quot;&quot;,&quot;tableHeadText&quot;:&quot;&quot;,&quot;tableRow&quot;:&quot;&quot;,&quot;tableStripe&quot;:&quot;&quot;,&quot;tableText&quot;:&quot;&quot;,&quot;text&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;}},&quot;main_body&quot;:{&quot;type&quot;:&quot;links&quot;},&quot;colors&quot;:{&quot;highlight&quot;:&quot;&quot;,&quot;main&quot;:&quot;#242526&quot;,&quot;main_alt&quot;:&quot;&quot;,&quot;header_text&quot;:&quot;&quot;,&quot;body_highlight&quot;:&quot;&quot;,&quot;custom_login_link_color&quot;:&quot;&quot;},&quot;typography&quot;:{&quot;headline&quot;:&quot;Open+Sans:400:sans-serif&quot;,&quot;body&quot;:&quot;Open+Sans:400:sans-serif&quot;,&quot;typekit&quot;:false,&quot;tk_key&quot;:&quot;&quot;,&quot;tk_headline&quot;:&quot;&quot;,&quot;tk_body&quot;:&quot;&quot;},&quot;header&quot;:{&quot;style&quot;:&quot;solid&quot;,&quot;img&quot;:[],&quot;img_size&quot;:&quot;auto&quot;,&quot;img_pos&quot;:&quot;tl&quot;},&quot;body&quot;:{&quot;style&quot;:&quot;none&quot;},&quot;global_landing_page&quot;:{&quot;html&quot;:&quot;&quot;,&quot;redirect&quot;:&quot;&quot;},&quot;referenceSimpleMode&quot;:true,&quot;referenceLayout&quot;:&quot;row&quot;,&quot;link_logo_to_url&quot;:false,&quot;theme&quot;:&quot;solid&quot;,&quot;overlay&quot;:&quot;triangles&quot;,&quot;landing&quot;:true,&quot;sticky&quot;:false,&quot;hide_logo&quot;:false,&quot;childrenAsPills&quot;:false,&quot;subheaderStyle&quot;:&quot;links&quot;,&quot;splitReferenceDocs&quot;:false,&quot;showMetricsInReference&quot;:true,&quot;logo&quot;:[&quot;https://files.readme.io/6070550-docs-logo.svg&quot;,&quot;docs-logo.svg&quot;,198,42,&quot;#c1c5c8&quot;],&quot;loginLogo&quot;:[],&quot;logo_white&quot;:[&quot;https://files.readme.io/1c2f0ce-WhiteLogo.svg&quot;,&quot;WhiteLogo.svg&quot;,104,102,&quot;#fafafa&quot;],&quot;logo_white_use&quot;:false,&quot;favicon&quot;:[&quot;https://files.readme.io/75de105-small-favicon-readme-64.png&quot;,&quot;favicon-readme-64.png&quot;,32,32,&quot;#000000&quot;,&quot;https://files.readme.io/1e4846f-favicon-readme-64.png&quot;],&quot;stylesheet&quot;:&quot;&quot;,&quot;stylesheet_hub2&quot;:&quot;&quot;,&quot;stylesheet_hub3&quot;:&quot;&quot;,&quot;javascript&quot;:&quot;&quot;,&quot;javascript_hub2&quot;:&quot;&quot;,&quot;html_promo&quot;:&quot;&quot;,&quot;html_body&quot;:&quot;&quot;,&quot;html_footer&quot;:&quot;&quot;,&quot;html_head&quot;:&quot;&quot;,&quot;html_footer_meta&quot;:&quot;&quot;,&quot;html_hidelinks&quot;:false,&quot;showVersion&quot;:false,&quot;hideTableOfContents&quot;:false,&quot;nextStepsLabel&quot;:&quot;&quot;,&quot;promos&quot;:[{&quot;extras&quot;:{&quot;type&quot;:&quot;buttons&quot;,&quot;buttonPrimary&quot;:&quot;get-started&quot;,&quot;buttonSecondary&quot;:&quot;none&quot;},&quot;title&quot;:&quot;The trunkio Developer Hub&quot;,&quot;text&quot;:&quot;Welcome to the trunkio developer hub. You'll find comprehensive guides and documentation to help you start working with trunkio as quickly as possible, as well as support if you get stuck. Let's jump right in!&quot;,&quot;_id&quot;:&quot;62d99dfa4ce124002ee05225&quot;}],&quot;colorScheme&quot;:&quot;auto&quot;,&quot;logo_large&quot;:false},&quot;custom_domain&quot;:&quot;docs.trunk.io&quot;,&quot;childrenProjects&quot;:[],&quot;description&quot;:&quot;&quot;,&quot;error404&quot;:&quot;&quot;,&quot;first_page&quot;:&quot;docs&quot;,&quot;flags&quot;:{&quot;allow_hub2&quot;:false,&quot;enterprise&quot;:false,&quot;alwaysShowDocPublishStatus&quot;:false,&quot;hub2&quot;:true,&quot;migrationRun&quot;:false,&quot;migrationSwaggerRun&quot;:false,&quot;oauth&quot;:false,&quot;swagger&quot;:false,&quot;correctnewlines&quot;:false,&quot;rdmdCompatibilityMode&quot;:false,&quot;speedyRender&quot;:false,&quot;allowXFrame&quot;:false,&quot;newEditor&quot;:true,&quot;newEditorDash&quot;:true,&quot;reviewWorkflow&quot;:true,&quot;oldMarkdown&quot;:false,&quot;newMarkdownBetaProgram&quot;:true,&quot;useReactApp&quot;:true,&quot;disableAnonForum&quot;:false,&quot;directGoogleToStableVersion&quot;:false,&quot;translation&quot;:false,&quot;staging&quot;:false,&quot;newSearch&quot;:true,&quot;graphql&quot;:false,&quot;allowApiExplorerJsonEditor&quot;:false,&quot;singleProjectEnterprise&quot;:false,&quot;dashReact&quot;:false,&quot;useReactGLP&quot;:false,&quot;star&quot;:false,&quot;allowDarkMode&quot;:false,&quot;forceDarkMode&quot;:false,&quot;disablePasswordlessLogin&quot;:false,&quot;personalizedDocs&quot;:false,&quot;myDevelopers&quot;:false,&quot;superHub&quot;:false,&quot;allowReusableOTPs&quot;:false,&quot;owlbotAi&quot;:false},&quot;fullBaseUrl&quot;:&quot;https://docs.trunk.io/&quot;,&quot;glossaryTerms&quot;:[{&quot;_id&quot;:&quot;62fbd95a8a4d220045bfc491&quot;,&quot;term&quot;:&quot;Trunk Launcher&quot;,&quot;definition&quot;:&quot;The 'trunk' command really runs the Trunk Launcher, which reads a repo's pinned version of Trunk from '.trunk/trunk.yaml', then downloads, caches, and runs that version of Trunk. This ensures all users of Trunk in a repo are using the same version.&quot;}],&quot;graphqlSchema&quot;:&quot;&quot;,&quot;hasOneChild&quot;:false,&quot;healthCheck&quot;:{&quot;provider&quot;:&quot;&quot;,&quot;settings&quot;:{}},&quot;intercom_secure_emailonly&quot;:false,&quot;intercom&quot;:&quot;&quot;,&quot;is_active&quot;:true,&quot;internal&quot;:&quot;&quot;,&quot;landing_bottom&quot;:[],&quot;metrics&quot;:{&quot;realtime&quot;:{&quot;dashEnabled&quot;:false,&quot;hubEnabled&quot;:false},&quot;monthlyLimit&quot;:0,&quot;planLimit&quot;:2000000,&quot;thumbsEnabled&quot;:true},&quot;modules&quot;:{&quot;landing&quot;:false,&quot;docs&quot;:true,&quot;examples&quot;:true,&quot;reference&quot;:false,&quot;graphql&quot;:false,&quot;changelog&quot;:false,&quot;discuss&quot;:false,&quot;suggested_edits&quot;:true,&quot;logs&quot;:false,&quot;custompages&quot;:false,&quot;tutorials&quot;:true},&quot;name&quot;:&quot;trunkio&quot;,&quot;nav_names&quot;:{&quot;docs&quot;:&quot;Docs&quot;,&quot;reference&quot;:&quot;Config&quot;,&quot;changelog&quot;:&quot;&quot;,&quot;discuss&quot;:&quot;&quot;,&quot;tutorials&quot;:&quot;&quot;,&quot;recipes&quot;:&quot;&quot;},&quot;oauth_url&quot;:&quot;&quot;,&quot;onboardingCompleted&quot;:{&quot;documentation&quot;:true,&quot;appearance&quot;:false,&quot;jwt&quot;:true,&quot;api&quot;:false,&quot;logs&quot;:false,&quot;domain&quot;:false},&quot;owlbot&quot;:{&quot;enabled&quot;:false,&quot;isPaying&quot;:false},&quot;owner&quot;:&quot;62d9961fce6e7b017dc8b303&quot;,&quot;plan&quot;:&quot;startup2018&quot;,&quot;planOverride&quot;:&quot;&quot;,&quot;planTrial&quot;:&quot;startup2018&quot;,&quot;readmeScore&quot;:{&quot;components&quot;:{&quot;newDesign&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:25},&quot;reference&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:50},&quot;tryItNow&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:35},&quot;syncingOAS&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:10},&quot;customLogin&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:25},&quot;metrics&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:40},&quot;recipes&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:15},&quot;pageVoting&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:1},&quot;suggestedEdits&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:10},&quot;support&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;htmlLanding&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;guides&quot;:{&quot;enabled&quot;:true,&quot;points&quot;:10},&quot;changelog&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:5},&quot;glossary&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:1},&quot;variables&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:1},&quot;integrations&quot;:{&quot;enabled&quot;:false,&quot;points&quot;:2}},&quot;totalScore&quot;:86},&quot;reCaptchaSiteKey&quot;:&quot;&quot;,&quot;stable&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;},&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;subpath&quot;:&quot;&quot;,&quot;topnav&quot;:{&quot;left&quot;:[],&quot;right&quot;:[],&quot;bottom&quot;:[{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Community Slack&quot;,&quot;url&quot;:&quot;https://slack.trunk.io&quot;,&quot;enabled&quot;:true},{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Feature Requests&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/check&quot;,&quot;enabled&quot;:true},{&quot;type&quot;:&quot;url&quot;,&quot;text&quot;:&quot;Changelog&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/changelog&quot;,&quot;enabled&quot;:true}],&quot;edited&quot;:true},&quot;translate&quot;:{&quot;provider&quot;:&quot;transifex&quot;,&quot;show_widget&quot;:false,&quot;key_public&quot;:&quot;&quot;,&quot;key_secret&quot;:&quot;&quot;,&quot;org_name&quot;:&quot;&quot;,&quot;project_name&quot;:&quot;&quot;,&quot;languages&quot;:[]},&quot;url&quot;:&quot;https://trunk.io&quot;,&quot;versions&quot;:[{&quot;_id&quot;:&quot;62fa9a7d3180a6005cbcc827&quot;,&quot;version&quot;:&quot;0.16.1-beta&quot;,&quot;version_clean&quot;:&quot;0.16.1-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;62fa9a7d3180a6005cbcc800&quot;,&quot;62fa9a7d3180a6005cbcc801&quot;,&quot;62fa9a7d3180a6005cbcc802&quot;,&quot;62fa9a7d3180a6005cbcc803&quot;,&quot;62fa9a7d3180a6005cbcc804&quot;,&quot;62fa9a7d3180a6005cbcc805&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;62fa9a7d3180a6005cbcc806&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;62fa9a7d3180a6005cbcc807&quot;,&quot;6376bf69127d9900031750e7&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;62f40960373cad00215f8af2&quot;},{&quot;_id&quot;:&quot;63090235d1a8d000866dff12&quot;,&quot;version&quot;:&quot;0.17.0-beta&quot;,&quot;version_clean&quot;:&quot;0.17.0-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63090235d1a8d000866dfeeb&quot;,&quot;63090235d1a8d000866dfeec&quot;,&quot;63090235d1a8d000866dfeed&quot;,&quot;63090235d1a8d000866dfeee&quot;,&quot;63090235d1a8d000866dfeef&quot;,&quot;63090235d1a8d000866dfef0&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63090235d1a8d000866dfef1&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63090235d1a8d000866dfef2&quot;,&quot;6376bf69127d9900031750e8&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;62fa9a7d3180a6005cbcc827&quot;},{&quot;_id&quot;:&quot;632b566502717a00a4d27145&quot;,&quot;version&quot;:&quot;0.18.0-beta&quot;,&quot;version_clean&quot;:&quot;0.18.0-beta&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;632b566502717a00a4d27119&quot;,&quot;632b566502717a00a4d2711a&quot;,&quot;632b566502717a00a4d2711b&quot;,&quot;632b566502717a00a4d2711c&quot;,&quot;632b566502717a00a4d2711d&quot;,&quot;632b566502717a00a4d2711e&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;632b566502717a00a4d2711f&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;632b566502717a00a4d27120&quot;,&quot;632c617037ccdb08f97b3928&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;633354c34e89780010cd796e&quot;,&quot;6376bf69127d9900031750ea&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;63090235d1a8d000866dff12&quot;},{&quot;_id&quot;:&quot;6351a0d6787f820029419c45&quot;,&quot;version&quot;:&quot;1.0.0&quot;,&quot;version_clean&quot;:&quot;1.0.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;6351a0d6787f820029419c14&quot;,&quot;6351a0d6787f820029419c15&quot;,&quot;6351a0d6787f820029419c16&quot;,&quot;6351a0d6787f820029419c17&quot;,&quot;6351a0d6787f820029419c18&quot;,&quot;6351a0d6787f820029419c19&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;6351a0d6787f820029419c1a&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;6351a0d6787f820029419c1b&quot;,&quot;6351a0d6787f820029419c1c&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;6351a0d6787f820029419c1d&quot;,&quot;6376bf69127d9900031750e6&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;632b566502717a00a4d27145&quot;},{&quot;_id&quot;:&quot;636c4be56398c1003a15a81c&quot;,&quot;version&quot;:&quot;1.1.0&quot;,&quot;version_clean&quot;:&quot;1.1.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:false,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:true,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;636c4be56398c1003a15a7e9&quot;,&quot;636c4be56398c1003a15a7ea&quot;,&quot;636c4be56398c1003a15a7eb&quot;,&quot;636c4be56398c1003a15a7ec&quot;,&quot;636c4be56398c1003a15a7ed&quot;,&quot;636c4be56398c1003a15a7ee&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;636c4be56398c1003a15a7ef&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;636c4be56398c1003a15a7f0&quot;,&quot;636c4be56398c1003a15a7f1&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;636c4be56398c1003a15a7f2&quot;,&quot;6376bf69127d9900031750e9&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:0,&quot;forked_from&quot;:&quot;6351a0d6787f820029419c45&quot;},{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;}],&quot;variableDefaults&quot;:[],&quot;webhookEnabled&quot;:false,&quot;isHubEditable&quot;:true},&quot;projectStore&quot;:{&quot;data&quot;:{&quot;allow_crawlers&quot;:&quot;disabled&quot;,&quot;canonical_url&quot;:null,&quot;description&quot;:null,&quot;homepage_url&quot;:&quot;https://trunk.io&quot;,&quot;name&quot;:&quot;trunkio&quot;,&quot;redirects&quot;:[],&quot;sitemap&quot;:&quot;disabled&quot;,&quot;subdomain&quot;:&quot;trunkio&quot;,&quot;suggested_edits&quot;:&quot;enabled&quot;,&quot;uri&quot;:&quot;/projects/me&quot;,&quot;custom_login&quot;:{&quot;login_url&quot;:null,&quot;logout_url&quot;:null},&quot;pages&quot;:{&quot;not_found&quot;:null},&quot;privacy&quot;:{&quot;view&quot;:&quot;public&quot;,&quot;password&quot;:null},&quot;health_check&quot;:{&quot;provider&quot;:&quot;none&quot;,&quot;settings&quot;:{&quot;manual&quot;:{&quot;status&quot;:&quot;down&quot;,&quot;url&quot;:null},&quot;statuspage&quot;:{&quot;id&quot;:null}}},&quot;integrations&quot;:{&quot;bing&quot;:{&quot;verify&quot;:null},&quot;google&quot;:{&quot;analytics&quot;:null,&quot;site_verification&quot;:null},&quot;heap&quot;:{&quot;id&quot;:null},&quot;koala&quot;:{&quot;key&quot;:null},&quot;localize&quot;:{&quot;key&quot;:null},&quot;recaptcha&quot;:{&quot;site_key&quot;:null,&quot;secret_key&quot;:null},&quot;segment&quot;:{&quot;key&quot;:null,&quot;domain&quot;:null},&quot;typekit&quot;:{&quot;key&quot;:null},&quot;zendesk&quot;:{&quot;subdomain&quot;:null},&quot;intercom&quot;:{&quot;app_id&quot;:null,&quot;secure_mode&quot;:{&quot;key&quot;:null,&quot;email_only&quot;:false}}},&quot;permissions&quot;:{&quot;appearance&quot;:{&quot;private_label&quot;:&quot;disabled&quot;,&quot;custom_code&quot;:{&quot;css&quot;:&quot;disabled&quot;,&quot;html&quot;:&quot;enabled&quot;,&quot;js&quot;:&quot;disabled&quot;}}},&quot;appearance&quot;:{&quot;table_of_contents&quot;:&quot;enabled&quot;,&quot;whats_next_label&quot;:null,&quot;brand&quot;:{&quot;primary_color&quot;:&quot;#242526&quot;,&quot;link_color&quot;:null,&quot;theme&quot;:&quot;system&quot;},&quot;footer&quot;:{&quot;readme_logo&quot;:&quot;show&quot;},&quot;custom_code&quot;:{&quot;css&quot;:null,&quot;js&quot;:null,&quot;html&quot;:{&quot;header&quot;:null,&quot;home_footer&quot;:null,&quot;page_footer&quot;:null}},&quot;markdown&quot;:{&quot;callouts&quot;:{&quot;icon_font&quot;:&quot;emojis&quot;}},&quot;logo&quot;:{&quot;size&quot;:&quot;default&quot;,&quot;dark_mode&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/1c2f0ce-WhiteLogo.svg&quot;,&quot;name&quot;:&quot;WhiteLogo.svg&quot;,&quot;width&quot;:104,&quot;height&quot;:102,&quot;color&quot;:&quot;#fafafa&quot;,&quot;links&quot;:{&quot;original_url&quot;:null}},&quot;main&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/6070550-docs-logo.svg&quot;,&quot;name&quot;:&quot;docs-logo.svg&quot;,&quot;width&quot;:198,&quot;height&quot;:42,&quot;color&quot;:&quot;#c1c5c8&quot;,&quot;links&quot;:{&quot;original_url&quot;:null}},&quot;favicon&quot;:{&quot;uri&quot;:null,&quot;url&quot;:&quot;https://files.readme.io/75de105-small-favicon-readme-64.png&quot;,&quot;name&quot;:&quot;favicon-readme-64.png&quot;,&quot;width&quot;:32,&quot;height&quot;:32,&quot;color&quot;:&quot;#000000&quot;,&quot;links&quot;:{&quot;original_url&quot;:&quot;https://files.readme.io/1e4846f-favicon-readme-64.png&quot;}}},&quot;navigation&quot;:{&quot;first_page&quot;:&quot;documentation&quot;,&quot;left&quot;:[],&quot;logo_link&quot;:&quot;landing_page&quot;,&quot;right&quot;:[],&quot;sub_nav&quot;:[{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Community Slack&quot;,&quot;url&quot;:&quot;https://slack.trunk.io&quot;,&quot;custom_page&quot;:null},{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Feature Requests&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/check&quot;,&quot;custom_page&quot;:null},{&quot;type&quot;:&quot;link_url&quot;,&quot;title&quot;:&quot;Changelog&quot;,&quot;url&quot;:&quot;https://changelog.trunk.io/changelog&quot;,&quot;custom_page&quot;:null}],&quot;subheader_layout&quot;:&quot;links&quot;,&quot;version&quot;:&quot;disabled&quot;,&quot;links&quot;:{&quot;home&quot;:{&quot;label&quot;:&quot;Home&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;guides&quot;:{&quot;label&quot;:&quot;Guides&quot;,&quot;alias&quot;:&quot;Docs&quot;,&quot;visibility&quot;:&quot;enabled&quot;},&quot;reference&quot;:{&quot;label&quot;:&quot;API Reference&quot;,&quot;alias&quot;:&quot;Config&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;recipes&quot;:{&quot;label&quot;:&quot;Recipes&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;enabled&quot;},&quot;api_logs&quot;:{&quot;label&quot;:&quot;API Logs&quot;,&quot;visibility&quot;:&quot;disabled&quot;},&quot;changelog&quot;:{&quot;label&quot;:&quot;Changelog&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;disabled&quot;},&quot;discussions&quot;:{&quot;label&quot;:&quot;Discussions&quot;,&quot;alias&quot;:null,&quot;visibility&quot;:&quot;disabled&quot;}}},&quot;header&quot;:{&quot;type&quot;:&quot;solid&quot;,&quot;gradient_color&quot;:null,&quot;overlay&quot;:{&quot;fill&quot;:&quot;auto&quot;,&quot;type&quot;:&quot;triangles&quot;,&quot;position&quot;:&quot;top-left&quot;,&quot;image&quot;:{&quot;uri&quot;:null,&quot;url&quot;:null,&quot;name&quot;:null,&quot;width&quot;:null,&quot;height&quot;:null,&quot;color&quot;:null,&quot;links&quot;:{&quot;original_url&quot;:null}}}}}}},&quot;version&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;}},&quot;reqUrl&quot;:&quot;/docs/overview&quot;,&quot;version&quot;:{&quot;_id&quot;:&quot;63c7408c98071300a4fd3260&quot;,&quot;version&quot;:&quot;1.2.0&quot;,&quot;version_clean&quot;:&quot;1.2.0&quot;,&quot;codename&quot;:&quot;&quot;,&quot;is_stable&quot;:true,&quot;is_beta&quot;:false,&quot;is_hidden&quot;:false,&quot;is_deprecated&quot;:false,&quot;categories&quot;:[&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ead7c2ad214502bdf9d90b&quot;,&quot;62ed135aa0e43e05fb196fd3&quot;,&quot;62ed1ce95e87ff00739155e0&quot;,&quot;62ed1cfb3b7a3106e9802a95&quot;,&quot;63c7408c98071300a4fd322c&quot;,&quot;63c7408c98071300a4fd322d&quot;,&quot;63c7408c98071300a4fd322e&quot;,&quot;63c7408c98071300a4fd322f&quot;,&quot;63c7408c98071300a4fd3230&quot;,&quot;63c7408c98071300a4fd3231&quot;,&quot;62ed1ddfb830b707c39ab089&quot;,&quot;63c7408c98071300a4fd3232&quot;,&quot;62f2a40e53da9b0cf38d66bc&quot;,&quot;63c7408c98071300a4fd3233&quot;,&quot;63c7408c98071300a4fd3234&quot;,&quot;63333e89419e3c003b809600&quot;,&quot;63c7408c98071300a4fd3235&quot;,&quot;6376bf69127d9900031750e9&quot;,&quot;63c7408c98071300a4fd329e&quot;,&quot;63c740aa289377000fc4de73&quot;,&quot;647e226a03e2a40018145efb&quot;],&quot;project&quot;:&quot;62d99dfa4ce124002ee05223&quot;,&quot;releaseDate&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;createdAt&quot;:&quot;2022-07-21T18:42:08.791Z&quot;,&quot;__v&quot;:1,&quot;forked_from&quot;:&quot;636c4be56398c1003a15a81c&quot;},&quot;lang&quot;:&quot;en&quot;,&quot;langFull&quot;:&quot;Default&quot;,&quot;isDetachedProductionSite&quot;:false,&quot;rdmdOpts&quot;:{&quot;normalize&quot;:true,&quot;correctnewlines&quot;:false,&quot;compatibilityMode&quot;:false}}"></script></div><div ng-class="{active:contentLoadingSection || contentLoading}" class="hub-loading-indicator"></div><div id="hub-container" ng-class="{loading:contentLoadingSection}"><div class="hub-container"><div state-container ng-attr-id="{{state.current().root !== 'docs' &amp;&amp; 'react-app-content-container'}}"><div id="replace-view" ng-non-bindable><meta ng-non-bindable name="meta:slug" content="overview"><meta ng-non-bindable name="meta:type" content="docs"><meta ng-non-bindable name="meta:parent"><meta ng-non-bindable name="meta:image" content=""><meta ng-non-bindable name="meta:title" content="Overview"><meta ng-non-bindable name="meta:title_seo" content="Overview"><meta ng-non-bindable name="meta:description" content="Getting StartedTo use trunk locally, install via:Bashcurl https://get.trunk.io -fsSL | bash For other installation options (npm, brew, direct download, etc) and details on exactly what we install or how to uninstall, see the Install Trunk doc.Also check out the other ways to use Trunk: VSCode Extens..."><meta ng-non-bindable name="meta:_id" content="63c7408c98071300a4fd3251"><meta ng-non-bindable name="meta:hidden"><div ng-if="!suggestedEdits.isEnabled" class="templateBlock--docs"></div></div></div></div></div><footer></footer><script>var is_hub = true;
 var is_hub2 = true;
 var is_hub_edit = true;
 </script><div id="ssr-end"><script id="__LOADABLE_REQUIRED_CHUNKS__" type="application/json">[9847,2831,1560,7714,7579,7675,5833,4314,3257,7552,9351,9010,1730,6683,2926,428,6116,9097,2680,4184,6230,9509,2053,4923,6215,788,295,4670,4196,3879,7667,748,8011,1665,5237,3393,5691,8196,6952,3337,4022,7815,9556,1414,4141,439,4372,5079,5858,2332,6842,2652,5443,6605,6115,2647]</script><script id="__LOADABLE_REQUIRED_CHUNKS___ext" type="application/json">{"namedChunks":["SuperHub","Header","routes-Landing","Footer","routes-Reference","core-icons-more-vertical-svg","routes-PageNotFound","routes-CustomPage","routes-Doc","core-icons-arrow-right-svg","core-icons-chevron-down-svg","CustomPage","Editor","core-icons-x-circle-svg","core-icons-suggested-edits-svg","core-icons-arrow-up-right-svg","routes-Tutorials","routes-Discuss","Page","core-icons-menu-svg","routes-Changelog","Post","List","core-icons-inbox-svg","core-icons-trending-up-svg","core-icons-callout-info-svg","core-icons-save-svg","core-icons-star-svg"]}</script>
diff --git a/.gitbook/assets/pest.png b/.gitbook/assets/pest.png
new file mode 100644
index 00000000..c2142205
Binary files /dev/null and b/.gitbook/assets/pest.png differ
diff --git a/.gitbook/assets/phpunit.png b/.gitbook/assets/phpunit.png
new file mode 100644
index 00000000..fda04861
Binary files /dev/null and b/.gitbook/assets/phpunit.png differ
diff --git a/.gitbook/assets/pika-1715033198689-2x.png b/.gitbook/assets/pika-1715033198689-2x.png
new file mode 100644
index 00000000..2409fdf7
Binary files /dev/null and b/.gitbook/assets/pika-1715033198689-2x.png differ
diff --git a/.gitbook/assets/pika-1715033350907-2x.png b/.gitbook/assets/pika-1715033350907-2x.png
new file mode 100644
index 00000000..a865f6d2
Binary files /dev/null and b/.gitbook/assets/pika-1715033350907-2x.png differ
diff --git a/.gitbook/assets/playwright.png b/.gitbook/assets/playwright.png
new file mode 100644
index 00000000..d40b144e
Binary files /dev/null and b/.gitbook/assets/playwright.png differ
diff --git a/.gitbook/assets/pmd.gif b/.gitbook/assets/pmd.gif
new file mode 100644
index 00000000..621dc8f6
Binary files /dev/null and b/.gitbook/assets/pmd.gif differ
diff --git a/.gitbook/assets/pr-restart-menu.png b/.gitbook/assets/pr-restart-menu.png
new file mode 100644
index 00000000..ff612d31
Binary files /dev/null and b/.gitbook/assets/pr-restart-menu.png differ
diff --git a/.gitbook/assets/pr-test-summary (1).png b/.gitbook/assets/pr-test-summary (1).png
new file mode 100644
index 00000000..fd481423
Binary files /dev/null and b/.gitbook/assets/pr-test-summary (1).png differ
diff --git a/.gitbook/assets/pr-test-summary.png b/.gitbook/assets/pr-test-summary.png
new file mode 100644
index 00000000..8b6c3021
Binary files /dev/null and b/.gitbook/assets/pr-test-summary.png differ
diff --git a/.gitbook/assets/pragma-once.gif b/.gitbook/assets/pragma-once.gif
new file mode 100644
index 00000000..5cfdaaf7
Binary files /dev/null and b/.gitbook/assets/pragma-once.gif differ
diff --git a/.gitbook/assets/prettier.gif b/.gitbook/assets/prettier.gif
new file mode 100644
index 00000000..ac83ac88
Binary files /dev/null and b/.gitbook/assets/prettier.gif differ
diff --git a/.gitbook/assets/prs impacted (1).png b/.gitbook/assets/prs impacted (1).png
new file mode 100644
index 00000000..bd15095f
Binary files /dev/null and b/.gitbook/assets/prs impacted (1).png differ
diff --git a/.gitbook/assets/prs-impacted-dark (1).png b/.gitbook/assets/prs-impacted-dark (1).png
new file mode 100644
index 00000000..d12f9b47
Binary files /dev/null and b/.gitbook/assets/prs-impacted-dark (1).png differ
diff --git a/.gitbook/assets/prs-impacted-dark.png b/.gitbook/assets/prs-impacted-dark.png
new file mode 100644
index 00000000..7e37835f
Binary files /dev/null and b/.gitbook/assets/prs-impacted-dark.png differ
diff --git a/.gitbook/assets/prs-impacted-light (1).png b/.gitbook/assets/prs-impacted-light (1).png
new file mode 100644
index 00000000..321bee8f
Binary files /dev/null and b/.gitbook/assets/prs-impacted-light (1).png differ
diff --git a/.gitbook/assets/prs-impacted-light.png b/.gitbook/assets/prs-impacted-light.png
new file mode 100644
index 00000000..76392d04
Binary files /dev/null and b/.gitbook/assets/prs-impacted-light.png differ
diff --git a/.gitbook/assets/pylint.gif b/.gitbook/assets/pylint.gif
new file mode 100644
index 00000000..097542a5
Binary files /dev/null and b/.gitbook/assets/pylint.gif differ
diff --git a/.gitbook/assets/pytest.png b/.gitbook/assets/pytest.png
new file mode 100644
index 00000000..524d9460
Binary files /dev/null and b/.gitbook/assets/pytest.png differ
diff --git a/.gitbook/assets/robot.png b/.gitbook/assets/robot.png
new file mode 100644
index 00000000..271325bb
Binary files /dev/null and b/.gitbook/assets/robot.png differ
diff --git a/.gitbook/assets/rspec.png b/.gitbook/assets/rspec.png
new file mode 100644
index 00000000..e1eba0bd
Binary files /dev/null and b/.gitbook/assets/rspec.png differ
diff --git a/.gitbook/assets/run-details-dark.png b/.gitbook/assets/run-details-dark.png
new file mode 100644
index 00000000..3e71a5bd
Binary files /dev/null and b/.gitbook/assets/run-details-dark.png differ
diff --git a/.gitbook/assets/run-details-light.png b/.gitbook/assets/run-details-light.png
new file mode 100644
index 00000000..1c59710e
Binary files /dev/null and b/.gitbook/assets/run-details-light.png differ
diff --git a/.gitbook/assets/runs-view-table.png b/.gitbook/assets/runs-view-table.png
new file mode 100644
index 00000000..ffebd041
Binary files /dev/null and b/.gitbook/assets/runs-view-table.png differ
diff --git a/.gitbook/assets/scaffoldhub.png b/.gitbook/assets/scaffoldhub.png
new file mode 100644
index 00000000..1f43f8e2
Binary files /dev/null and b/.gitbook/assets/scaffoldhub.png differ
diff --git a/.gitbook/assets/semaphore-logo.png b/.gitbook/assets/semaphore-logo.png
new file mode 100644
index 00000000..1d24e8ce
Binary files /dev/null and b/.gitbook/assets/semaphore-logo.png differ
diff --git a/.gitbook/assets/semaphore.png b/.gitbook/assets/semaphore.png
new file mode 100644
index 00000000..f86249ac
Binary files /dev/null and b/.gitbook/assets/semaphore.png differ
diff --git a/.gitbook/assets/shellcheck.gif b/.gitbook/assets/shellcheck.gif
new file mode 100644
index 00000000..ffb4823c
Binary files /dev/null and b/.gitbook/assets/shellcheck.gif differ
diff --git a/.gitbook/assets/slack.png b/.gitbook/assets/slack.png
new file mode 100644
index 00000000..53ae325e
Binary files /dev/null and b/.gitbook/assets/slack.png differ
diff --git a/.gitbook/assets/status history.png b/.gitbook/assets/status history.png
new file mode 100644
index 00000000..84bb4b2f
Binary files /dev/null and b/.gitbook/assets/status history.png differ
diff --git a/.gitbook/assets/swift-testing.png b/.gitbook/assets/swift-testing.png
new file mode 100644
index 00000000..8b3e4dcf
Binary files /dev/null and b/.gitbook/assets/swift-testing.png differ
diff --git a/.gitbook/assets/teamcity.png b/.gitbook/assets/teamcity.png
new file mode 100644
index 00000000..b3d36f21
Binary files /dev/null and b/.gitbook/assets/teamcity.png differ
diff --git a/.gitbook/assets/terminal-icon (1).svg b/.gitbook/assets/terminal-icon (1).svg
new file mode 100644
index 00000000..0ebb5644
--- /dev/null
+++ b/.gitbook/assets/terminal-icon (1).svg	
@@ -0,0 +1,10 @@
+<svg
+    width="500px"
+    height="500px"
+    viewBox="0 0 24 24"
+    fill="black"
+    xmlns="http://www.w3.org/2000/svg"
+>
+  <path d="M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm0 14H4V8h16v10zm-2-1h-6v-2h6v2zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4-4 4z">
+  </path>
+</svg>
\ No newline at end of file
diff --git a/.gitbook/assets/terminal-icon (2).svg b/.gitbook/assets/terminal-icon (2).svg
new file mode 100644
index 00000000..049c74d4
--- /dev/null
+++ b/.gitbook/assets/terminal-icon (2).svg	
@@ -0,0 +1,10 @@
+<svg
+    width="339px"
+    height="180px"
+    viewBox="0 0 24 24"
+    fill="black"
+    xmlns="http://www.w3.org/2000/svg"
+>
+  <path d="M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm0 14H4V8h16v10zm-2-1h-6v-2h6v2zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4-4 4z">
+  </path>
+</svg>
diff --git a/.gitbook/assets/terminal-icon.svg b/.gitbook/assets/terminal-icon.svg
new file mode 100644
index 00000000..37814031
--- /dev/null
+++ b/.gitbook/assets/terminal-icon.svg
@@ -0,0 +1 @@
+<svg class="MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="TerminalIcon"><path d="M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm0 14H4V8h16v10zm-2-1h-6v-2h6v2zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4-4 4z"></path></svg>
\ No newline at end of file
diff --git a/.gitbook/assets/test-analtyics-pr-comment-screenshot.png b/.gitbook/assets/test-analtyics-pr-comment-screenshot.png
new file mode 100644
index 00000000..c217f061
Binary files /dev/null and b/.gitbook/assets/test-analtyics-pr-comment-screenshot.png differ
diff --git a/.gitbook/assets/test-history-dark.png b/.gitbook/assets/test-history-dark.png
new file mode 100644
index 00000000..0c46aeab
Binary files /dev/null and b/.gitbook/assets/test-history-dark.png differ
diff --git a/.gitbook/assets/test-history-light.png b/.gitbook/assets/test-history-light.png
new file mode 100644
index 00000000..2453ce00
Binary files /dev/null and b/.gitbook/assets/test-history-light.png differ
diff --git a/.gitbook/assets/test-run-detail-dark.png b/.gitbook/assets/test-run-detail-dark.png
new file mode 100644
index 00000000..926ac9e0
Binary files /dev/null and b/.gitbook/assets/test-run-detail-dark.png differ
diff --git a/.gitbook/assets/test-run-detail-light.png b/.gitbook/assets/test-run-detail-light.png
new file mode 100644
index 00000000..a3060bd7
Binary files /dev/null and b/.gitbook/assets/test-run-detail-light.png differ
diff --git a/.gitbook/assets/testtrunkintegration.slack.com_oauth_client_id=1523871431059.3961451315218&scope=incoming-webhook%2Cchannels%3Ajoin%2Cchannels%3Amanage&user_scope=&redirect_uri=https%3A%2F%2Fapp.trunk.io%2Fslack%2F07e100e0-5053-42ed-8d13-cd953bba3b42%3Frep.png b/.gitbook/assets/testtrunkintegration.slack.com_oauth_client_id=1523871431059.3961451315218&scope=incoming-webhook%2Cchannels%3Ajoin%2Cchannels%3Amanage&user_scope=&redirect_uri=https%3A%2F%2Fapp.trunk.io%2Fslack%2F07e100e0-5053-42ed-8d13-cd953bba3b42%3Frep.png
new file mode 100644
index 00000000..9ca2bcaf
Binary files /dev/null and b/.gitbook/assets/testtrunkintegration.slack.com_oauth_client_id=1523871431059.3961451315218&scope=incoming-webhook%2Cchannels%3Ajoin%2Cchannels%3Amanage&user_scope=&redirect_uri=https%3A%2F%2Fapp.trunk.io%2Fslack%2F07e100e0-5053-42ed-8d13-cd953bba3b42%3Frep.png differ
diff --git a/.gitbook/assets/travis-ci-logo.png b/.gitbook/assets/travis-ci-logo.png
new file mode 100644
index 00000000..cddb59b1
Binary files /dev/null and b/.gitbook/assets/travis-ci-logo.png differ
diff --git a/.gitbook/assets/travis.png b/.gitbook/assets/travis.png
new file mode 100644
index 00000000..4d1125ee
Binary files /dev/null and b/.gitbook/assets/travis.png differ
diff --git a/.gitbook/assets/trivy.gif b/.gitbook/assets/trivy.gif
new file mode 100644
index 00000000..17e924ea
Binary files /dev/null and b/.gitbook/assets/trivy.gif differ
diff --git a/.gitbook/assets/unique failure reasons (1) (1).png b/.gitbook/assets/unique failure reasons (1) (1).png
new file mode 100644
index 00000000..e1a7b76a
Binary files /dev/null and b/.gitbook/assets/unique failure reasons (1) (1).png differ
diff --git a/.gitbook/assets/unique failure reasons (1).png b/.gitbook/assets/unique failure reasons (1).png
new file mode 100644
index 00000000..e1a7b76a
Binary files /dev/null and b/.gitbook/assets/unique failure reasons (1).png differ
diff --git a/.gitbook/assets/unique failure reasons.png b/.gitbook/assets/unique failure reasons.png
new file mode 100644
index 00000000..cb8b4a01
Binary files /dev/null and b/.gitbook/assets/unique failure reasons.png differ
diff --git a/.gitbook/assets/unique-failure-reason-dark.png b/.gitbook/assets/unique-failure-reason-dark.png
new file mode 100644
index 00000000..9df677c6
Binary files /dev/null and b/.gitbook/assets/unique-failure-reason-dark.png differ
diff --git a/.gitbook/assets/unique-failure-reason-light.png b/.gitbook/assets/unique-failure-reason-light.png
new file mode 100644
index 00000000..f2f29935
Binary files /dev/null and b/.gitbook/assets/unique-failure-reason-light.png differ
diff --git a/.gitbook/assets/unittest.png b/.gitbook/assets/unittest.png
new file mode 100644
index 00000000..c6037afa
Binary files /dev/null and b/.gitbook/assets/unittest.png differ
diff --git a/.gitbook/assets/variants-dark-border.png b/.gitbook/assets/variants-dark-border.png
new file mode 100644
index 00000000..52d4e3d1
Binary files /dev/null and b/.gitbook/assets/variants-dark-border.png differ
diff --git a/.gitbook/assets/variants-light-border.png b/.gitbook/assets/variants-light-border.png
new file mode 100644
index 00000000..bb209aaf
Binary files /dev/null and b/.gitbook/assets/variants-light-border.png differ
diff --git a/.gitbook/assets/vitest.png b/.gitbook/assets/vitest.png
new file mode 100644
index 00000000..3badfac3
Binary files /dev/null and b/.gitbook/assets/vitest.png differ
diff --git a/.gitbook/assets/webhook-event-catalog (1).png b/.gitbook/assets/webhook-event-catalog (1).png
new file mode 100644
index 00000000..3d4d69ab
Binary files /dev/null and b/.gitbook/assets/webhook-event-catalog (1).png differ
diff --git a/.gitbook/assets/webhook-event-catalog.png b/.gitbook/assets/webhook-event-catalog.png
new file mode 100644
index 00000000..3d4d69ab
Binary files /dev/null and b/.gitbook/assets/webhook-event-catalog.png differ
diff --git a/.gitbook/assets/webhooks-settings.png b/.gitbook/assets/webhooks-settings.png
new file mode 100644
index 00000000..9557de32
Binary files /dev/null and b/.gitbook/assets/webhooks-settings.png differ
diff --git a/.gitbook/assets/wordmark-dark.png b/.gitbook/assets/wordmark-dark.png
new file mode 100644
index 00000000..1c976d69
Binary files /dev/null and b/.gitbook/assets/wordmark-dark.png differ
diff --git a/.gitbook/assets/workflow-details-barchart-popup.png b/.gitbook/assets/workflow-details-barchart-popup.png
new file mode 100644
index 00000000..6ef32785
Binary files /dev/null and b/.gitbook/assets/workflow-details-barchart-popup.png differ
diff --git a/.gitbook/assets/workflow-jobs-overview.png b/.gitbook/assets/workflow-jobs-overview.png
new file mode 100644
index 00000000..e2b02c97
Binary files /dev/null and b/.gitbook/assets/workflow-jobs-overview.png differ
diff --git a/.gitbook/assets/xctest-logo.png b/.gitbook/assets/xctest-logo.png
new file mode 100644
index 00000000..3333c748
Binary files /dev/null and b/.gitbook/assets/xctest-logo.png differ
diff --git a/.gitbook/assets/xctest.png b/.gitbook/assets/xctest.png
new file mode 100644
index 00000000..bb885251
Binary files /dev/null and b/.gitbook/assets/xctest.png differ
diff --git a/.gitbook/includes/checklist.md b/.gitbook/includes/checklist.md
new file mode 100644
index 00000000..980a3338
--- /dev/null
+++ b/.gitbook/includes/checklist.md
@@ -0,0 +1,14 @@
+---
+title: Checklist
+---
+
+## Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](broken-reference) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../../flaky-tests/get-started/ci-providers/).
diff --git a/.gitbook/includes/ci-provider-checklist.md b/.gitbook/includes/ci-provider-checklist.md
new file mode 100644
index 00000000..1781538c
--- /dev/null
+++ b/.gitbook/includes/ci-provider-checklist.md
@@ -0,0 +1,10 @@
+---
+title: Checklist
+---
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.
diff --git a/.gitbook/includes/ci-providers.md b/.gitbook/includes/ci-providers.md
new file mode 100644
index 00000000..8b222a7d
--- /dev/null
+++ b/.gitbook/includes/ci-providers.md
@@ -0,0 +1,5 @@
+---
+title: CI Providers
+---
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/circleci.md">circleci.md</a></td><td><a href="../assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/droneci.md">droneci.md</a></td><td><a href="../assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/travisci.md">travisci.md</a></td><td><a href="../assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../../flaky-tests/get-started/ci-providers/otherci.md">otherci.md</a></td><td><a href="../assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/.gitbook/includes/configure-a-new-webhook.md b/.gitbook/includes/configure-a-new-webhook.md
new file mode 100644
index 00000000..33b95793
--- /dev/null
+++ b/.gitbook/includes/configure-a-new-webhook.md
@@ -0,0 +1,7 @@
+---
+title: Configure a new webhook
+---
+
+## Configure a New Webhook
+
+To integrate with a third-party service such as Slack or GitHub Issues, you need to configure webhooks to send requests to their APIs. In the **Endpoints** tab, you can configure sending webhooks to a predetermined endpoint by clicking the **Add Endpoint** button. You can find docs about adding endpoints from [the Svix docs](https://docs.svix.com/receiving/using-app-portal/adding-endpoints).
diff --git a/.gitbook/includes/curl-https-get.trunk.io-....md b/.gitbook/includes/curl-https-get.trunk.io-....md
new file mode 100644
index 00000000..00dc3506
--- /dev/null
+++ b/.gitbook/includes/curl-https-get.trunk.io-....md
@@ -0,0 +1,17 @@
+---
+title: curl https://get.trunk.io -...
+---
+
+{% tabs %}
+{% tab title="bash" %}
+```bash
+curl https://get.trunk.io -fsSL | bash
+```
+{% endtab %}
+
+{% tab title="bash (no prompts)" %}
+```bash
+curl https://get.trunk.io -fsSL | bash -s -- -y
+```
+{% endtab %}
+{% endtabs %}
diff --git a/.gitbook/includes/have-a-question.md b/.gitbook/includes/have-a-question.md
new file mode 100644
index 00000000..313da8e6
--- /dev/null
+++ b/.gitbook/includes/have-a-question.md
@@ -0,0 +1,11 @@
+---
+title: Have a question?
+---
+
+
+
+{% hint style="info" %}
+### Have a question?&#x20;
+
+Hi, I'm Vincent, DevRel at Trunk. Our team is active in our Slack community. If you have a question about how a feature works in Trunk Merge Queue, [join us on Slack](https://slack.trunk.io/) to start a discussion.
+{% endhint %}
diff --git a/.gitbook/includes/have-questions-join-us-and-....md b/.gitbook/includes/have-questions-join-us-and-....md
new file mode 100644
index 00000000..c34f818a
--- /dev/null
+++ b/.gitbook/includes/have-questions-join-us-and-....md
@@ -0,0 +1,9 @@
+---
+title: Have questions?Join us and ...
+---
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/.gitbook/includes/monitoring-webhooks (1).md b/.gitbook/includes/monitoring-webhooks (1).md
new file mode 100644
index 00000000..09c1bd59
--- /dev/null
+++ b/.gitbook/includes/monitoring-webhooks (1).md	
@@ -0,0 +1,13 @@
+---
+title: Monitoring Webhooks
+---
+
+You can monitor the events and the webhook's delivery logs in the **Overview** tab of an endpoint configuration view.
+
+You can see an overview of how many webhook deliveries have been attempted, how many are successful, how many are in flight, and how many fail in the **Attempt Delivery Status** modal.
+
+<figure><img src="../assets/example-webhook-delivery-status.png" alt=""><figcaption></figcaption></figure>
+
+You can see a list of past delivery attempts in the **Message Attempts** modal. You can filter this list by **Succeeded** and **Failed** status, and you can click on each message to see the **Message content**, response code, and error message of each attempt. You can learn more about [replaying messages](https://docs.svix.com/receiving/using-app-portal/replaying-messages) and [filtering logs](https://docs.svix.com/receiving/using-app-portal/filtering-logs) in the Svix docs.
+
+<figure><img src="../assets/example-webhook-logs.png" alt=""><figcaption></figcaption></figure>
diff --git a/.gitbook/includes/monitoring-webhooks.md b/.gitbook/includes/monitoring-webhooks.md
new file mode 100644
index 00000000..99a7753f
--- /dev/null
+++ b/.gitbook/includes/monitoring-webhooks.md
@@ -0,0 +1,7 @@
+---
+title: Monitoring Webhooks
+---
+
+## Monitoring and Testing Webhooks
+
+From the "Logs" and "Activity" tabs, it's possible to view all emitted webhooks and their payloads and [search](https://docs.svix.com/receiving/using-app-portal/filtering-logs) them, examine the responses returned to us after processing a webhook and which ones failed, and [resend](https://docs.svix.com/receiving/using-app-portal/replaying-messages) webhook events. This allows you to have full insight into how your system is handling webhooks from Trunk.
diff --git a/.gitbook/includes/not-using-github-for-source....md b/.gitbook/includes/not-using-github-for-source....md
new file mode 100644
index 00000000..134c02bb
--- /dev/null
+++ b/.gitbook/includes/not-using-github-for-source....md
@@ -0,0 +1,9 @@
+---
+title: Not using GitHub for source...
+---
+
+{% hint style="warning" %}
+**Not using GitHub for source control?**
+
+Flaky Test support for source control providers like GitLab and BitBucket is still experimental. If you're using a source control provider other than GitHub, [**contact us**](mailto:support@trunk.io) **to get started**.&#x20;
+{% endhint %}
diff --git a/.gitbook/includes/retries.md b/.gitbook/includes/retries.md
new file mode 100644
index 00000000..e2af91c0
--- /dev/null
+++ b/.gitbook/includes/retries.md
@@ -0,0 +1,9 @@
+---
+title: Retries
+---
+
+{% hint style="warning" %}
+### Retries
+
+Retries negatively impact the accuracy of detection and reporting because they mask flaky failures. When adopting Trunk Flaky Tests, disable retried when testing in CI and prefer detecting then [quarantining](../../flaky-tests/quarantining.md) tests.
+{% endhint %}
diff --git a/.gitbook/includes/slack-callout.md b/.gitbook/includes/slack-callout.md
new file mode 100644
index 00000000..107d82b4
--- /dev/null
+++ b/.gitbook/includes/slack-callout.md
@@ -0,0 +1,7 @@
+---
+title: Slack callout
+---
+
+{% hint style="success" %}
+Want to chat with Trunk's engineers? Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/).
+{% endhint %}
diff --git a/.gitbook/includes/test-frameworks.md b/.gitbook/includes/test-frameworks.md
new file mode 100644
index 00000000..7c19451c
--- /dev/null
+++ b/.gitbook/includes/test-frameworks.md
@@ -0,0 +1,5 @@
+---
+title: Test Frameworks
+---
+
+<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td align="center"><strong>Android</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/android.md">android.md</a></td><td><a href="../assets/android.png">android.png</a></td></tr><tr><td align="center"><strong>Bazel</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/bazel.md">bazel.md</a></td><td><a href="../assets/bazel.png">bazel.png</a></td></tr><tr><td align="center"><strong>Behave</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/behave.md">behave.md</a></td><td><a href="../assets/unittest.png">unittest.png</a></td></tr><tr><td align="center"><strong>cargo-nextest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/rust.md">rust.md</a></td><td><a href="../assets/cargo-next.png">cargo-next.png</a></td></tr><tr><td align="center"><strong>Cypress</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/cypress.md">cypress.md</a></td><td><a href="../assets/cypress.png">cypress.png</a></td></tr><tr><td align="center"><strong>Dart Test</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/dart-test.md">dart-test.md</a></td><td><a href="../assets/dart.png">dart.png</a></td></tr><tr><td align="center"><strong>Go</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/gotestsum.md">gotestsum.md</a></td><td><a href="../assets/gotestsum.png">gotestsum.png</a></td></tr><tr><td align="center"><strong>GoogleTest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/googletest.md">googletest.md</a></td><td><a href="../assets/googletest.png">googletest.png</a></td></tr><tr><td align="center"><strong>Gradle</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/gradle.md">gradle.md</a></td><td><a href="../assets/gradle.png">gradle.png</a></td></tr><tr><td align="center"><strong>Jasmine</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/jasmine.md">jasmine.md</a></td><td><a href="../assets/jasmine.png">jasmine.png</a></td></tr><tr><td align="center"><strong>Jest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/jest.md">jest.md</a></td><td><a href="../assets/jest.png">jest.png</a></td></tr><tr><td align="center"><strong>Karma</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/karma.md">karma.md</a></td><td><a href="../assets/karma.png">karma.png</a></td></tr><tr><td align="center"><strong>Maven</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/maven.md">maven.md</a></td><td><a href="../assets/maven.png">maven.png</a></td></tr><tr><td align="center"><strong>minitest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/minitest.md">minitest.md</a></td><td><a href="../assets/minitest.png">minitest.png</a></td></tr><tr><td align="center"><strong>Mocha</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/mocha.md">mocha.md</a></td><td><a href="../assets/mocha.png">mocha.png</a></td></tr><tr><td align="center"><strong>Nightwatch</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/nightwatch.md">nightwatch.md</a></td><td><a href="../assets/nightwatch.png">nightwatch.png</a></td></tr><tr><td align="center">NUnit</td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/nunit.md">nunit.md</a></td><td><a href="../assets/nunit.png">nunit.png</a></td></tr><tr><td align="center"><strong>PEST</strong></td><td></td><td></td><td></td><td><a href="../assets/pest.png">pest.png</a></td></tr><tr><td align="center"><strong>PHPUnit</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/phpunit.md">phpunit.md</a></td><td><a href="../assets/phpunit.png">phpunit.png</a></td></tr><tr><td align="center"><strong>Playwright</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/playwright.md">playwright.md</a></td><td><a href="../assets/playwright.png">playwright.png</a></td></tr><tr><td align="center"><strong>pytest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/pytest.md">pytest.md</a></td><td><a href="../assets/pytest.png">pytest.png</a></td></tr><tr><td align="center"><strong>Robot Framework</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/robot-framework.md">robot-framework.md</a></td><td><a href="../assets/robot.png">robot.png</a></td></tr><tr><td align="center"><strong>RSpec</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/rspec/manual-uploads.md">manual-uploads.md</a></td><td><a href="../assets/rspec.png">rspec.png</a></td></tr><tr><td align="center"><strong>Swift Testing</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/swift-testing.md">swift-testing.md</a></td><td><a href="../assets/swift-testing.png">swift-testing.png</a></td></tr><tr><td align="center"><strong>Vitest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/vitest.md">vitest.md</a></td><td><a href="../assets/vitest.png">vitest.png</a></td></tr><tr><td align="center"><strong>XCTest</strong></td><td></td><td></td><td><a href="../../flaky-tests/get-started/frameworks/xctest.md">xctest.md</a></td><td><a href="../assets/xctest.png">xctest.png</a></td></tr></tbody></table>
diff --git a/.gitbook/includes/trunk-organization-slug-and....md b/.gitbook/includes/trunk-organization-slug-and....md
new file mode 100644
index 00000000..d662271a
--- /dev/null
+++ b/.gitbook/includes/trunk-organization-slug-and....md
@@ -0,0 +1,15 @@
+---
+title: Trunk Organization Slug and...
+---
+
+## Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
diff --git a/.gitbook/includes/verifying-webhooks.md b/.gitbook/includes/verifying-webhooks.md
new file mode 100644
index 00000000..3d3d475e
--- /dev/null
+++ b/.gitbook/includes/verifying-webhooks.md
@@ -0,0 +1,9 @@
+---
+title: Verifying Webhooks
+---
+
+## Verifying Webhooks
+
+If you're building custom apps to receive webhooks sent from Trunk, you should verify Webhooks to prevent malicious attacks from impersonation.&#x20;
+
+Svix provides a library in order to allow easy verification of these webhook signatures. Docs on how to set this up can be found [here](https://docs.svix.com/receiving/verifying-payloads/how). If you wish to verify webhooks manually instead, you can find Svix docs on how to do that [here](https://docs.svix.com/receiving/verifying-payloads/how-manual).
diff --git a/.gitbook/includes/webhooks-settings.md b/.gitbook/includes/webhooks-settings.md
new file mode 100644
index 00000000..1b964472
--- /dev/null
+++ b/.gitbook/includes/webhooks-settings.md
@@ -0,0 +1,9 @@
+---
+title: Webhooks Settings
+---
+
+## Configuring Webhooks
+
+You can configure webhooks, view the supported events, and see past webhook requests in the [Trunk Web App](https://app.trunk.io/login?intent=flaky%20tests) under **Settings** > **Organization** > **Webhooks**.
+
+<figure><img src="../assets/webhooks-settings.png" alt=""><figcaption></figcaption></figure>
diff --git a/.gitbook/includes/you-can-find-your-trunk-org....md b/.gitbook/includes/you-can-find-your-trunk-org....md
new file mode 100644
index 00000000..fde8da7e
--- /dev/null
+++ b/.gitbook/includes/you-can-find-your-trunk-org....md
@@ -0,0 +1,7 @@
+---
+title: You can find your Trunk org...
+---
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
diff --git a/.gitbook/includes/you-can-validate-your-test-....md b/.gitbook/includes/you-can-validate-your-test-....md
new file mode 100644
index 00000000..63266354
--- /dev/null
+++ b/.gitbook/includes/you-can-validate-your-test-....md
@@ -0,0 +1,12 @@
+---
+title: You can validate your test ...
+---
+
+You can validate your test reports using the [Trunk CLI](../../flaky-tests/uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
diff --git a/.gitbook/includes/you-must-upload-tests-from-....md b/.gitbook/includes/you-must-upload-tests-from-....md
new file mode 100644
index 00000000..29cb2fee
--- /dev/null
+++ b/.gitbook/includes/you-must-upload-tests-from-....md
@@ -0,0 +1,4 @@
+---
+title: upload branches
+---
+
diff --git a/.github/workflows/linter-gen.yml b/.github/workflows/linter-gen.yml
new file mode 100644
index 00000000..c37bd5b9
--- /dev/null
+++ b/.github/workflows/linter-gen.yml
@@ -0,0 +1,43 @@
+# generate the linter pages
+
+name: CI
+
+# Controls when the workflow will run
+on:
+  # Triggers the workflow on push or pull request events but only for the "main" branch
+  push:
+    branches: ["main"]
+  pull_request:
+    branches: ["main"]
+
+  # Allows you to run this workflow manually from the Actions tab
+  workflow_dispatch:
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  # This workflow contains a single job called "build"
+  build:
+    # The type of runner that the job will run on
+    runs-on: ubuntu-latest
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      - uses: actions/setup-node@v1
+        with:
+          node-version: v20.x
+      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+      - uses: actions/checkout@v3
+
+      # Runs a single command using the runners shell
+      - name: npm install
+        run: echo "we are modifying files"
+      - name: Git Prep
+        run: |
+          git config --local user.email "docsbot@trunk.io"
+          git config --local user.name "docsbot[bot]"
+          git diff
+
+#          git diff-index HEAD
+#          git diff-index --quiet HEAD || git commit -am "docs(footer): ensure footer exists on all docs pages"
+#      - name: Git Push
+#        run: "git push origin $(git branch --show-current) || true"
diff --git a/.github/workflows/trunk-check.yaml b/.github/workflows/trunk-check.yaml
new file mode 100644
index 00000000..2d63022f
--- /dev/null
+++ b/.github/workflows/trunk-check.yaml
@@ -0,0 +1,26 @@
+name: Trunk check
+on: [pull_request]
+
+concurrency:
+  group: ${{ github.head_ref || github.run_id }}
+  cancel-in-progress: true
+
+permissions:
+  contents: read
+
+jobs:
+  trunk_check:
+    name: Trunk Code Quality Runner
+    runs-on: ubuntu-latest
+    permissions:
+      checks: write # For trunk to post annotations
+      contents: read # For repo checkout
+
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+        with:
+          check-run-id: 1
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..b534937b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+# Mac
+.DS_Store
+/.idea/workspace.xml
diff --git a/.idea/docs.iml b/.idea/docs.iml
new file mode 100644
index 00000000..24643cc3
--- /dev/null
+++ b/.idea/docs.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
+      <excludeFolder url="file://$MODULE_DIR$/temp" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.idea/markdown.xml b/.idea/markdown.xml
new file mode 100644
index 00000000..a655f62c
--- /dev/null
+++ b/.idea/markdown.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="MarkdownSettings">
+    <option name="customStylesheetText" value="body {&#10; font-size: 110% !important;&#10;}" />
+    <option name="useCustomStylesheetText" value="true" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..6049cfe0
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/docs.iml" filepath="$PROJECT_DIR$/.idea/docs.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.trunk/.gitignore b/.trunk/.gitignore
index 695b5190..15966d08 100644
--- a/.trunk/.gitignore
+++ b/.trunk/.gitignore
@@ -2,7 +2,8 @@
 *logs
 *actions
 *notifications
+*tools
 plugins
 user_trunk.yaml
 user.yaml
-tools
+tmp
diff --git a/.trunk/configs/.markdown-link-check.json b/.trunk/configs/.markdown-link-check.json
new file mode 100644
index 00000000..3ee3cebe
--- /dev/null
+++ b/.trunk/configs/.markdown-link-check.json
@@ -0,0 +1,14 @@
+{
+  "ignorePatterns": [
+    {
+      "pattern": "https://api.trunk.io/v1/metrics"
+    }
+  ],
+  "replacementPatterns": [],
+  "httpHeaders": [],
+  "timeout": "20s",
+  "retryOn429": true,
+  "retryCount": 5,
+  "fallbackRetryDelay": "30s",
+  "aliveStatusCodes": [200, 206]
+}
diff --git a/.trunk/configs/.markdownlint.yaml b/.trunk/configs/.markdownlint.yaml
deleted file mode 100644
index fb940393..00000000
--- a/.trunk/configs/.markdownlint.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-# Autoformatter friendly markdownlint config (all formatting rules disabled)
-default: true
-blank_lines: false
-bullet: false
-html: false
-indentation: false
-line_length: false
-spaces: false
-url: false
-whitespace: false
diff --git a/.trunk/configs/.vale.ini b/.trunk/configs/.vale.ini
new file mode 100644
index 00000000..fc44250d
--- /dev/null
+++ b/.trunk/configs/.vale.ini
@@ -0,0 +1,12 @@
+StylesPath = .trunk/configs/vale/styles
+Vocab = docs
+
+[formats]
+markdoc = md
+
+
+[*.md]
+BasedOnStyles = Vale, docs
+
+TokenIgnores = {%.*?%}
+
diff --git a/.trunk/configs/.yamllint.yaml b/.trunk/configs/.yamllint.yaml
deleted file mode 100644
index 4d444662..00000000
--- a/.trunk/configs/.yamllint.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-rules:
-  quoted-strings:
-    required: only-when-needed
-    extra-allowed: ["{|}"]
-  empty-values:
-    forbid-in-block-mappings: true
-    forbid-in-flow-mappings: true
-  key-duplicates: {}
-  octal-values:
-    forbid-implicit-octal: true
diff --git a/.trunk/configs/svgo.config.js b/.trunk/configs/svgo.config.js
deleted file mode 100644
index b257d134..00000000
--- a/.trunk/configs/svgo.config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
-  plugins: [
-    {
-      name: "preset-default",
-      params: {
-        overrides: {
-          removeViewBox: false, // https://github.com/svg/svgo/issues/1128
-          sortAttrs: true,
-          removeOffCanvasPaths: true,
-        },
-      },
-    },
-  ],
-};
diff --git a/.trunk/configs/vale/styles/config/vocabularies/docs/accept.txt b/.trunk/configs/vale/styles/config/vocabularies/docs/accept.txt
new file mode 100644
index 00000000..6fc1ccb7
--- /dev/null
+++ b/.trunk/configs/vale/styles/config/vocabularies/docs/accept.txt
@@ -0,0 +1,28 @@
+API
+Bazel
+Buildkite
+classname
+classnames
+Config
+config
+Configs
+configs
+ESLint
+JavaScript
+JUnit
+gitignored
+JUnit
+Linter
+linter
+metalinter
+markdownlint-cli2
+PHPUnit
+repo
+repos
+RSpec
+runtimes
+Uploader
+Vitest
+VSCode
+worktree
+XCTest
diff --git a/.trunk/configs/vale/styles/docs/title-case.yml b/.trunk/configs/vale/styles/docs/title-case.yml
new file mode 100644
index 00000000..78b30c7b
--- /dev/null
+++ b/.trunk/configs/vale/styles/docs/title-case.yml
@@ -0,0 +1,10 @@
+extends: capitalization
+message: "'%s' should be in title case"
+level: warning
+scope: heading
+# $title, $sentence, $lower, $upper, or a pattern.
+match: $title
+style: AP # AP or Chicago; only applies when match is set to $title.
+#exceptions:
+#  - ABC
+#  - add
diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml
index b20d2aae..1712a509 100644
--- a/.trunk/trunk.yaml
+++ b/.trunk/trunk.yaml
@@ -1,31 +1,43 @@
 version: 0.1
+
 cli:
-  version: 1.13.0
+  version: 1.24.0
+
 plugins:
   sources:
     - id: trunk
-      ref: v1.1.0
+      ref: v1.7.0
       uri: https://github.com/trunk-io/plugins
+    - id: configs
+      uri: https://github.com/trunk-io/configs
+      ref: v1.1.0
+
 lint:
-  disabled:
-    - prettier
-    - markdownlint
+  # See inherited enabled linters and other config here:
+  #   https://github.com/trunk-io/configs/blob/main/plugin.yaml
   enabled:
-    - checkov@2.3.356
-    - git-diff-check
-    - oxipng@8.0.0
-    - svgo@3.0.2
-    - trivy@0.44.0
-    - trufflehog@3.46.3
-    - yamllint@1.32.0
-runtimes:
-  enabled:
-    - node@18.12.1
-    - python@3.10.8
-actions:
+    - non-relative-link-check
+    - vale@3.11.2
+  definitions:
+    - name: markdown-link-check
+      commands:
+        - name: lint
+          run: markdown-link-check -q "${target}" -c "${workspace}/.markdown-link-check.json"
+    - name: non-relative-link-check
+      description: Uses grep to look for docs.trunk.io links that should be relative
+      files: [markdown]
+      commands:
+        - name: lint
+          run: bash ${workspace}/find_nonrelative.sh ${target}
+          output: regex
+          parse_regex:
+            "((?P<path>.*):(?P<line>-?\\d+):(?P<col>-?\\d+): \\[(?P<severity>.*)\\] (?P<message>.*)
+            \\((?P<code>.*)\\))"
+          success_codes: [0, 1]
   disabled:
-    - trunk-announce
-    - trunk-check-pre-push
-    - trunk-fmt-pre-commit
-  enabled:
-    - trunk-upgrade-available
+    - markdownlint
+    - trivy
+  ignore:
+    - linters: [prettier]
+      paths:
+        - "**/*.md"
diff --git a/BUILD b/BUILD
new file mode 100644
index 00000000..9230e5c5
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,5 @@
+load("@trunk_pnpm//:defs.bzl", "trunk_pnpm_workspace")
+
+trunk_pnpm_workspace(
+    scripts = [] # Has no build targets
+)
diff --git a/README.md b/README.md
deleted file mode 100644
index 11982caa..00000000
--- a/README.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout:
-  title:
-    visible: true
-  description:
-    visible: false
-  tableOfContents:
-    visible: true
-  outline:
-    visible: false
-  pagination:
-    visible: false
----
-
-# General
-
-Trunk is a developer experience (DevEx) toolkit that enables you to ship code quickly while maintaining the guardrails necessary for a large team. Use Trunk for checking, testing, merging, and monitoring your code.
-
-<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Check</strong></td><td></td><td>An extendable superlinter with a builtin language server and preexisting issue detection</td><td><a href="check/">check</a></td><td><a href=".gitbook/assets/Check.svg">Check.svg</a></td></tr><tr><td><strong>Merge</strong></td><td></td><td>A merge queue to make merging code in GitHub safer and easier</td><td><a href="merge/">merge</a></td><td><a href=".gitbook/assets/Merge.svg">Merge.svg</a></td></tr><tr><td><strong>CI Analytics</strong></td><td></td><td>See live and trend data about the performance and flakiness of your CI system</td><td><a href="https://trunk.io/products/ci-analytics">https://trunk.io/products/ci-analytics</a></td><td><a href=".gitbook/assets/CI Analytics.svg">CI Analytics.svg</a></td></tr><tr><td><strong>CI Debugger</strong></td><td></td><td>A real-time debugger for your CI jobs</td><td><a href="ci-debugger/">ci-debugger</a></td><td><a href=".gitbook/assets/CI Debugger.svg">CI Debugger.svg</a></td></tr></tbody></table>
-
-Use all our tools by logging in to [trunk.io](https://app.trunk.io/). Also, use Trunk Check via:
-
-* [Trunk CLI](overview/)
-* [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)
-* [GitHub Action](https://github.com/marketplace/actions/trunk-check)
-
-***
diff --git a/SUMMARY.md b/SUMMARY.md
deleted file mode 100644
index cf5435ca..00000000
--- a/SUMMARY.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Table of contents
-
-* [General](README.md)
-* [Get Started](get-started.md)
-* [CLI](cli/README.md)
-  * [Install Trunk](cli/install-trunk.md)
-  * [Init in a git repo](cli/init-in-a-git-repo.md)
-  * [Compatibility](cli/compatibility.md)
-  * [GitHub Codespaces](cli/github-codespaces.md)
-* [Merge](merge/README.md)
-  * [Getting Started](merge/getting-started.md)
-  * [Reference](merge/reference.md)
-  * [Using the Webapp](merge/using-the-webapp.md)
-  * [Integration for Slack](merge/integration-for-slack.md)
-* [Check](check/README.md)
-  * [Get Started](check/get-started.md)
-  * [Continuous Integration](check/continuous-integration.md)
-  * [Command Line](check/command-line.md)
-  * [Configuration](check/configuration.md)
-  * [Custom Linters](check/custom-linters.md)
-  * [Custom Parsers](check/custom-parsers.md)
-  * [Debugging](check/debugging.md)
-  * [Supported Linters](check/supported-linters.md)
-  * [Ignoring Issues](check/ignoring-issues.md)
-  * [Under the Hood](check/under-the-hood.md)
-  * [GitHub Integration](check/github-integration.md)
-* [Actions](actions/README.md)
-  * [Configuration](actions/configuration.md)
-  * [Git Hooks](actions/git-hooks.md)
-  * [Notifications](actions/notifications.md)
-  * [Logging and Troubleshooting](actions/logging-and-troubleshooting.md)
-* [Runtimes](runtimes/README.md)
-  * [Prevent Duplicate Runtimes](runtimes/prevent-duplicate-runtimes.md)
-* [Plugins](plugins/README.md)
-  * [Exported Configs](plugins/exported-configs.md)
-  * [External Repositories](plugins/external-repositories.md)
-* [Web App](web-app/README.md)
-  * [Upload Trunk Check Results](web-app/upload-trunk-check-results.md)
-  * [GitHub App Permissions](web-app/github-app-permissions.md)
-* [CI Debugger](ci-debugger/README.md)
-  * [GitHub Actions Quickstart](ci-debugger/github-actions-quickstart.md)
-  * [GitLab Quickstart](ci-debugger/gitlab-quickstart.md)
-  * [Jenkins Quickstart](ci-debugger/jenkins-quickstart.md)
-  * [Buildkite Quickstart](ci-debugger/buildkite-quickstart.md)
-  * [Command Line Example](ci-debugger/commandline.md)
-  * [FAQ](ci-debugger/faq.md)
-* [Reference](reference/README.md)
-  * [Trunk YAML](reference/trunk-yaml.md)
-  * [User YAML](reference/user-yaml.md)
-  * [Components](reference/components.md)
-  * [Usage Data](reference/usage-data.md)
-  * [Integration for Slack](reference/integration-for-slack.md)
-  * [VS Code](reference/vs-code.md)
-  * [Glob Path Pattern](reference/glob-path-pattern.md)
-* [Adminstration](adminstration/README.md)
-  * [Billing](adminstration/billing.md)
-  * [Single Sign-On (SAML)](adminstration/single-sign-on-saml.md)
-  * [Community](adminstration/community.md)
-  * [Contact Support](adminstration/support.md)
-* [Community Slack](https://slack.trunk.io)
-* [Feature Requests](https://features.trunk.io)
-* [Changelog](https://changelog.trunk.io/changelog)
diff --git a/actions/README.md b/actions/README.md
deleted file mode 100644
index 593036c7..00000000
--- a/actions/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-description: Enabling and Writing your own Actions
----
-
-# Actions
-
-**You can think of Trunk Actions as IFTTT for your repository. An action is a command that is run in reaction to a specified** [**trigger**](./#triggers)
-
-#### Triggers
-
-<table><thead><tr><th width="186">trigger</th><th>description</th></tr></thead><tbody><tr><td>time based</td><td>run on a schedule (once an hour, once per day, once per week)</td></tr><tr><td>file modification</td><td>run whenever a file or directory in your repo changes.</td></tr><tr><td><a href="git-hooks.md">githooks</a></td><td>run whenever a listed githook event fires (e.g. pre-commit, on-push)</td></tr><tr><td>manual</td><td>run from the command line trunk run</td></tr></tbody></table>
-
-**Command Line**
-
-<table><thead><tr><th width="253">trunk actions &#x3C;command></th><th>description</th></tr></thead><tbody><tr><td>list</td><td>list all available actions in the repository</td></tr><tr><td>history <code>&#x3C;action-name></code></td><td>print the history for execution of the provided action</td></tr><tr><td>enable <code>&#x3C;action-name></code></td><td>enable the provided action</td></tr><tr><td>disable <code>&#x3C;action-name></code></td><td>disable the provided action</td></tr><tr><td>run <code>&#x3C;action-name></code></td><td>manually trigger the provided action</td></tr></tbody></table>
-
-#### Discovering Actions
-
-The trunk [plugins](https://github.com/trunk-io/plugins) repo ships with a collection of actions that can help supercharge your repository and provide examples for how to write your own actions. To see a list of actions that you can enable in your own repo run:
-
-```bash
-trunk actions list
-```
-
-<figure><img src="../.gitbook/assets/image (8).png" alt=""><figcaption><p>List of actions reported by <code>trunk actions list</code></p></figcaption></figure>
-
-#### Enable/Disable Actions
-
-Trunk only runs actions listed in the `enabled` section of your `trunk.yaml`. Some built-in actions are enabled by default and can be disabled explicitly by adding them to the disabled list. You can always run `trunk actions list` to check the enabled status of an action.
-
-```yaml
-actions:
-  enabled:
-    - trunk-announce
-    - git-lfs
-    - trunk-check-pre-push
-    - trunk-fmt-pre-commit
-    - trunk-cache-prune
-    - trunk-upgrade-available
-```
diff --git a/web-app/README.md b/administration/organizations.md
similarity index 92%
rename from web-app/README.md
rename to administration/organizations.md
index 92585c93..192c423e 100644
--- a/web-app/README.md
+++ b/administration/organizations.md
@@ -6,7 +6,7 @@ The Trunk App is available at [app.trunk.io](https://app.trunk.io). This is wher
 
 Trunk Organizations are how you organize your repositories and your collaborators on app.trunk.io. You'll need to create a Trunk Organization to get started with any of the Trunk services.
 
-1. Create or log in to your Trunk account at [app.trunk.io](https://app.trunk.io).
+1. Create or log in to your Trunk account at [app.trunk.io](https://app.trunk.io/signup).
 2. If you are creating a new account, you will be prompted to create an organization when you log\
    in. Otherwise, select your organization at the bottom left-hand corner, hover over\
    "Organization", and then click "Create Organization".
@@ -16,7 +16,7 @@ Trunk Organizations are how you organize your repositories and your collaborator
 
 ### Adding your Github Repositories to your Trunk Organization (optional)
 
-1. Create or log in to your Trunk account at [app.trunk.io](https://app.trunk.io).
+1. Log in to your Trunk account at [app.trunk.io](https://app.trunk.io/login).
 2. Navigate to the organization to which you'd like to add your Github repositories using the\
    Organization selector UI in the top left-hand corner.
 3. Click the "Connect to Github" button
@@ -24,7 +24,7 @@ Trunk Organizations are how you organize your repositories and your collaborator
       or account you'd like to connect with Trunk.
    2. Select all the repositories you'd like to be able to connect to Trunk.
    3. On a successful installation, you'll be redirected back to\
-      [app.trunk.io](https://app.trunk.io) and Trunk can import your Github repository\
+      [app.trunk.io](https://app.trunk.io/) and Trunk can import your Github repository\
       data.
 
 ### Inviting teammates to your Trunk Organization
diff --git a/adminstration/README.md b/adminstration/README.md
deleted file mode 100644
index 3c2bb337..00000000
--- a/adminstration/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout:
-  title:
-    visible: true
-  description:
-    visible: false
-  tableOfContents:
-    visible: false
-  outline:
-    visible: false
-  pagination:
-    visible: false
----
-
-# Adminstration
-
-
-
-<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-type="checkbox"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Billing</td><td></td><td></td><td><a href="../.gitbook/assets/Billing.svg">Billing.svg</a></td><td>false</td><td><a href="billing.md">billing.md</a></td></tr><tr><td>Single Sign-ON</td><td></td><td></td><td><a href="../.gitbook/assets/Sign Sign-ON.svg">Sign Sign-ON.svg</a></td><td>false</td><td><a href="single-sign-on-saml.md">single-sign-on-saml.md</a></td></tr><tr><td>Community</td><td></td><td></td><td><a href="../.gitbook/assets/Community.svg">Community.svg</a></td><td>false</td><td><a href="community.md">community.md</a></td></tr><tr><td></td><td>Contact Support</td><td></td><td><a href="../.gitbook/assets/Contact Support.svg">Contact Support.svg</a></td><td>false</td><td><a href="support.md">support.md</a></td></tr></tbody></table>
diff --git a/adminstration/billing.md b/adminstration/billing.md
deleted file mode 100644
index a1f6c773..00000000
--- a/adminstration/billing.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Billing
-
-### Pricing Overview
-
-Trunk offers a monthly subscription plan using a per-seat model. We calculate the number of users using Trunk at the end of every billing period, and update the next month’s invoice to reflect the latest user count.
-
-If you are the admin of your organization, you can view your current billing settings by navigating to Settings > Billing.
-
-### Calculating User Counts
-
-A user is defined as someone who has contributed to the main branch of your private repositories in the last 90 days. Specifically, we look at their username; if someone changes their username on Git, we would consider that a separate user.
-
-For example, consider Alice, Bob, and Charlie are all in the same organization, which owns two private repos: `abc/repo1` and `abc/repo2`. Given the following timeline of events:
-
-| Day 1                              | Day 35                           | Day 42                               |
-| ---------------------------------- | -------------------------------- | ------------------------------------ |
-| Alice commits code to `abc/repo1`. | Bob commits code to `abc/repo2`. | Charlie commits code to `abc/repo1`. |
-
-On Day 30, the user count would be 1: just Alice.\
-On Day 40, the user count would be two: Alice and Bob, since the same organization owns both private repos.\
-On Day 50, the user count would be three: Alice, Bob, and Charlie.\
-On Day 90, the user count would be three. We consider days 1 thru 90 (inclusive), which includes Alice's, Bob's, and Charlie's commits.\
-On Day 91, the user count would be two. We consider days 2 thru 91 (inclusive), which only includes Bob's and Charlie's commits.
-
-### Calculating an Invoice
-
-At the end of every billing cycle, Trunk calculates what the next invoice should be. Trunk determines which products are billing eligible, then charges you for the number of users using that product. A product is billing eligible if you are already paying for that product, or if you have exceeded your [free tier usage limits](billing.md#free-plans-and-trials) . See our section on [calculating user counts](billing.md#calculating-user-counts) to determine how much we charge per product.
-
-For example, consider a team of 19 that owns many repositories. Assume that they are currently paying for Merge and Check, but are trying out CI Analytics.
-
-For the first billing cycle, their invoice would look something like this:
-
-![](https://files.readme.io/63bc876-Screen\_Shot\_2023-01-17\_at\_8.01.43\_PM.png)
-
-At the beginning of the next billing cycle, they have exceeded their [free tier usage](billing.md#free-plans-and-trials) of CI Analytics. In that case, we would see three invoice line items; one for Merge, one for Check, and another for CI Analytics. The quantity per product would also be reflected with the [latest user counts](billing.md#calculating-user-counts).
-
-### Free Plans and Trials
-
-**Free Plans**
-
-Trunk offers a free plan to experiment with each of our products. Each product has a free-tier limit; after exceeding this limit, the product is automatically added to any ongoing subscription, and will be billed on the next cycle. If there is no ongoing subscription, we prompt you to upgrade to a paying subscription.
-
-For example, this user is already paying for 19 users for Check and Merge, but was not paying for CI Analytics. On the next billing cycle, the user will start to be charged for CI Analytics.
-
-![](https://files.readme.io/f12daf8-Screen\_Shot\_2023-01-17\_at\_8.04.29\_PM.png)
-
-**Free Tier Limits**
-
-Similar to \[calculating user counts]../administration/billing.md#calculating-user-counts), our free tier limits are calculated based on a 30 day rolling window.
-
-| Product      | Free Tier Limit         |
-| ------------ | ----------------------- |
-| Check        | 100,000 Files Checked   |
-| Merge        | 100 PRs Merged          |
-| CI Analytics | 14 Days of CI Analytics |
-
-CI Analytics is calculated slightly differently; we ingest 14 days of data for free.
-
-**Trials**
-
-Trunk offers you to trial products, either standalone or alongside a paying subscription. To enable a trial, please contact [sales@trunk.io](mailto:sales@trunk.io). At the end of a trial, the product will be automatically added to any ongoing paying subscription; to extend or cancel the trial, please contact [sales@trunk.io](mailto:sales@trunk.io).
-
-### Editing Payment Details
-
-You can edit your payment details by navigating to Settings > Billing, and clicking on the pencil icon of the credit card. Trunk accepts both Credit Card and ACH; if you have a different preferred payment method, please contact us at sales@trunk.io
-
-![](https://files.readme.io/d7adf4f-Screen\_Shot\_2023-01-17\_at\_8.08.17\_PM.png)
-
-### Cancelling a Plan
-
-You can cancel an active Trunk subscription by navigating to Settings > Billing and clicking the “Cancel Subscription” button. Your plan will transition back into the [free tier](billing.md#free-plans-and-trials); if you want to re-enable this plan, please contact us at sales@trunk.io.
-
-> 🚧
->
-> Cancelling a Trunk Plan may result in a degraded product experience. Please contact us at sales@trunk.io to re-enable any canceled plan.
-
-### A Note on Security
-
-Your security is important to us. We do not store your credit card information anywhere in our systems. Online payments are processed using Stripe, which is PCI compliant in accordance with industry standards.
diff --git a/adminstration/community.md b/adminstration/community.md
deleted file mode 100644
index a740977a..00000000
--- a/adminstration/community.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Community
-
-## Asking for help
-
-If you run into any issues using Trunk, you can reach out to us directly on [Slack](https://slack.trunk.io/). You can also reach us at [support@trunk.io](mailto:support@trunk.io) and we will get back to you as soon as possible.
-
-To help us get you the right answer, as quickly as possible, please include the version of `trunk` you are using and a brief description of the problem you are hitting.
-
-```bash
-trunk version
-```
-
-## Feature Requests
-
-We're just getting started building what you need to land code faster. If there's something you want us to build, whether it's that one magical feature you really, _really_ want, or a linter that we haven't gotten to yet, just drop us a line! You can add a feature request on our [feature Board](https://features.trunk.io), or reach out on the [Trunk community slack](https://slack.trunk.io/), [email us](mailto:support@trunk.io), tweet [@trunkio](https://twitter.com/trunkio), or [carrier pigeon](https://datatracker.ietf.org/doc/html/rfc1149).
diff --git a/adminstration/single-sign-on-saml.md b/adminstration/single-sign-on-saml.md
deleted file mode 100644
index f8e98257..00000000
--- a/adminstration/single-sign-on-saml.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Single Sign-On (SAML)
-
-> 📘 Enterprise Tier Required
->
-> Contact sales@trunk.io for more information
-
-### Overview
-
-Configuring SAML (Security Assertion Markup Language) for your Trunk account lets you and all your team log in to Trunk using the credentials stored in your organization’s identity store that has been configured with a SAML Identity Provider.
-
-#### Prerequisites
-
-* Trunk Enterpise Account with SAML enabled on the account. If SAML is not enabled for your organization in Trunk please reach out to support@trunk.io to enable it.
-* An Identitiy Provider (IdP) that support SAML 2.0 protocols.
-
-#### Configuring SAML
-
-Configuring SSO in trunk is not currently self service. Please reach out to your support contact for help onboarding your organization onto our SSO solution.
-
-#### Just in time (JIT) user provisioning
-
-With JIT provisioning, a user is created within Trunk the first time they try to log in. This eliminates the need for administrators to manually create user accounts one at a time.
-
-Some organizations might not want to invite all of their users to Trunk. If you would like to make changes to how SAML works for your account, contact Trunk support. It is up to the organization to configure their IdP to not send assertions to Trunk if they don’t want a particular user to access Trunk.
-
-#### SAML strict
-
-If you would like to enforce SAML Strict mode so other login methods are denied please reach out to your enterprise support contact at Trunk.
diff --git a/adminstration/support.md b/adminstration/support.md
deleted file mode 100644
index ee02cbc3..00000000
--- a/adminstration/support.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Support
-
-#### Email
-
-Please email [support@trunk.io](mailto:support@trunk.io) for any questions you might have. We aim to respond to all inquiries withn 24 hours.
-
-#### Slack
-
-We offer near realtime support in our [Slack community](https://slack.trunk.io). Our community of 800+ and growing trunk users are happy to answer questions you might have.
diff --git a/ai-devops-assistant/overview.md b/ai-devops-assistant/overview.md
new file mode 100644
index 00000000..f20f8a2c
--- /dev/null
+++ b/ai-devops-assistant/overview.md
@@ -0,0 +1,63 @@
+---
+description: Schedule and automates repetitive, asynchronous DevOps tasks
+---
+
+# Overview
+
+### Your AI DevOps Assistant
+
+Trunk's AI DevOps Assistant connects to your codebase, CI provider, and existing tools like Slack and Linear to schedule and automate repetitive DevOps tasks.
+
+It can answer questions about your CI pipeline and tests, send notifications on a schedule or when a webhook is fired, and help you take action on CI failures by providing detailed root cause analysis in your PRs.
+
+{% hint style="success" %}
+## The AI DevOps Assistant is upcoming
+
+Sign up for the [waitlist](https://trunk.io/agent), and we'll reach out when we're ready to onboard you.
+{% endhint %}
+
+{% code title="How the assistant works" %}
+```
+                                           ╔═ trunk ═══════════════════════════════════╗ 
+╔════════════╗      ╔═══════════╗          ║                         ┏━━━━━━━━━━━━━━┓  ║░
+║            ║░     ║           ║░         ║  ┏━━━━━━━━━━━━━━━━┓     ┃   GitHub     ┃  ║░
+║   CI Jobs  ║░────▶║   Tests   ║░───API──▶║  ┃  AI Root Cause ┃────▶┃   Slack      ┃  ║░
+║            ║░     ║           ║░         ║  ┃    Analysis    ┃     ┃   Linear     ┃  ║░
+╚════════════╝░     ╚═══════════╝░         ║  ┗━━━━━━━━━━━━━━━━┛     ┃   MCP        ┃  ║░
+ ░░░░░░░░░░░░░░      ░░░░░░░░░░░░░         ║                         ┃   Webhooks   ┃  ║░
+      │                                    ║                         ┃   Dashboard  ┃  ║░
+      └─────────────── API ───────────────▶║                         ┗━━━━━━━━━━━━━━┛  ║░
+                                           ╚═══════════════════════════════════════════╝░
+                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+```
+{% endcode %}
+
+### Features
+
+The AI DevOps Assistant connects your codebase, CI data, and existing chat and ticketing tools to answer questions and automate tasks. Some sample use cases include:
+
+#### Schedule async tasks
+
+The assistant can run repetitive async tasks using cron jobs and webhooks as triggers. Some examples of tasks you can schedule include:
+
+* Create weekly reports and send them to the product team.
+* Run daily checks and send a notification to developers if any issues are found.
+* Review pull requests to ensure they follow specific contribution guidelines.
+
+#### Debug CI failures and slowdowns
+
+Instead of manually digging through CI logs and stack trace info, the assistant can root cause CI and test failures and tell you exactly what is wrong and how to fix it.
+
+#### Ask questions about your pipelines
+
+Dig into CI trends and analytics without hunting through dashboards. Find out what CI job is slowing down the pipeline over the past two weeks, or how the current CI process could be parallelized to improve time to merge.
+
+{% embed url="https://play.vidyard.com/tkbBdXyHJR98Ek9ZWg3aef.jpg" %}
+Some of the capabilities of the AI DevOps Assistant
+{% endembed %}
+
+{% hint style="success" %}
+## The AI DevOps Assistant is currently in beta
+
+Sign up for the [waitlist](https://trunk.io/agent), and we'll reach out when we're ready to onboard you.
+{% endhint %}
diff --git a/billing.md b/billing.md
new file mode 100644
index 00000000..a101d4d2
--- /dev/null
+++ b/billing.md
@@ -0,0 +1,80 @@
+---
+description: Trunk Subscription Plans
+---
+
+# Billing
+
+### Plans
+
+#### **Free Plans**
+
+Trunk offers a free tier for small teams and open-source projects to experiment with each of our features. You can use Trunk at no cost if:
+
+* You have 5 or fewer monthly active committers on private repositories, **and**
+* Your monthly test span usage is under the greater of 5 million or 1 million per private committer.
+
+Public repositories are always free for up to 5 million test spans per month.
+
+If you exceed these limits, you'll be prompted to upgrade based on the number of private committers and additional test span usage.
+
+Similar to [calculating user counts](billing.md#calculating-user-counts), our free tier limits are calculated based on a 30-day rolling window.
+
+<table><thead><tr><th width="155">Feature</th><th width="257">Metric</th><th>Free Tier Limit</th></tr></thead><tbody><tr><td>All</td><td>Users</td><td>Up to 5 private repo committers; unlimited on public repos</td></tr><tr><td>Flaky Tests</td><td>Number of <a data-footnote-ref href="#user-content-fn-1">test spans</a></td><td>5 committers and 5M test spans per month</td></tr><tr><td>Merge Queue</td><td>PRs merged per month</td><td>Unlimited usage; pricing begins if >5 private repo committers</td></tr><tr><td>Code Quality</td><td>Quality &#x26; security metrics</td><td>Unlimited usage</td></tr><tr><td></td><td>Data backfilling</td><td>Up to 30 days</td></tr></tbody></table>
+
+#### Team Plans
+
+Trunk Team Plans offers a monthly subscription plan using a per-seat model. At the end of every billing period, we calculate the number of users using Trunk and update the next month’s invoice to reflect the latest user count. Each seat has access to all of Trunk's features.
+
+<table><thead><tr><th width="155">Feature</th><th width="257">Metric</th><th>Limits</th></tr></thead><tbody><tr><td>Code Quality</td><td>Quality &#x26; security metrics</td><td>Unlimited</td></tr><tr><td>Merge Queue</td><td>PRs merged per month</td><td>Unlimited</td></tr><tr><td>Flaky Tests</td><td>Number of <a data-footnote-ref href="#user-content-fn-1">test spans</a></td><td><p>1 million test spans per seat per month.</p><p>$3 for each additional 1 million test spans.</p></td></tr></tbody></table>
+
+#### **Enterprise Plans**
+
+Trunk Enterprise offers powerful admin controls, dedicated support, access to custom billing or terms, and features like SSO. If your team is interested in an enterprise plan, please contact [sales@trunk.io](mailto:sales@trunk.io).
+
+**Trials**
+
+You and your team can trial Trunk before signing up for an Enterprise or Team plan. To try Trunk, please contact [sales@trunk.io](mailto:sales@trunk.io). To extend or cancel the trial, please contact [sales@trunk.io](mailto:sales@trunk.io).
+
+### Calculating User Counts
+
+A user is a non-bot user who has made a commit to a private repo with Trunk enabled in the last 30 days. Specifically, we look at their username; if someone changes their username on Git, _we would consider that a separate user_. We do not count contributions to public (open source) repos. Contributor counts are displayed on **Settings** > **Billing**.
+
+{% hint style="danger" %}
+Trunk requires the [Trunk GitHub App](https://github.com/apps/trunk-io) to be installed in your repo to count seats.
+{% endhint %}
+
+For example, consider Alice, Bob, and Charlie are all in the same organization, which owns two private repos: `abc/repo1` and `abc/repo2`. Given the following timeline of events:
+
+| Day 1                              | Day 15                           | Day 22                               |
+| ---------------------------------- | -------------------------------- | ------------------------------------ |
+| Alice commits code to `abc/repo1`. | Bob commits code to `abc/repo2`. | Charlie commits code to `abc/repo1`. |
+
+On Day 1, the user count would be **one**: just Alice.\
+On Day 15, the user count would be **two**: Alice and Bob, since the same organization owns both private repos.\
+On Day 22, the user count would be **three**: Alice, Bob, and Charlie.\
+On Day 30, the user count would be **three**. We consider days 1 through 30 (inclusive), which include Alice's, Bob's, and Charlie's commits.\
+On Day 31, the user count would be **two**. We consider days 2 through 31 (inclusive), which only includes Bob's and Charlie's commits.
+
+### Calculating an Invoice
+
+At the end of every billing cycle, Trunk calculates what the next invoice should be. Trunk determines feature usage and the number of seats used over the [free tier usage limits](billing.md#free-plans-and-trials) . See our section on [calculating user counts](billing.md#calculating-user-counts) to determine how much we charge per feature usage.
+
+### Editing Payment Details
+
+You can edit your payment details by navigating to **Settings** > **Billing** and clicking on the pencil icon on the credit card. Trunk accepts both credit card and ACH; if you require a different payment method, please contact us at [sales@trunk.io](mailto:sales@trunk.io).
+
+![](https://files.readme.io/d7adf4f-Screen_Shot_2023-01-17_at_8.08.17_PM.png)
+
+### Cancelling a Plan
+
+You can cancel an active Trunk subscription by navigating to **Settings** > **Billing** and clicking the **Cancel Subscription** button. Your plan will transition back into the [free tier](billing.md#free-plans-and-trials); if you want to re-enable this plan, please contact us at [sales@trunk.io](mailto:sales@trunk.io).
+
+{% hint style="danger" %}
+Cancelling a Trunk Plan may result in a degraded product experience. Please contact us at [sales@trunk.io](mailto:sales@trunk.io) to re-enable any canceled plan.
+{% endhint %}
+
+### A Note on Security
+
+Your security is important to us. We do not store your credit card information anywhere in our systems. Online payments are processed using Stripe, which is PCI-compliant in accordance with industry standards.
+
+[^1]: The number of test case results uploaded.
diff --git a/check/README.md b/check/README.md
deleted file mode 100644
index 404b67a2..00000000
--- a/check/README.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Check
-
-Trunk Check manages, downloads, and runs dozens of linters, formatters, static analyzers, and security tools. It's also a platform to write your own custom checks and integrate them to run as part of your repo's check suite.
-
-Use it via:
-
-* [Trunk CLI](../overview/)
-* [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)
-* [GitHub Action](https://github.com/marketplace/actions/trunk-check)
-* [Web App (app.trunk.io)](https://app.trunk.io)
-
-We currently support over 75 unique linters and we are adding new and updating old linters every sprint.
-
-### Hold-the-line
-
-Trunk Check distinguishes new from existing issues, which allows you to introduce new linters and checks without any hassle.
-
-This is traditionally a very painful process, because running a new linter or check in your CI means that you have to either fix all existing issues, which requires a huge upfront time investment, or only run the check on modified files, which adds unpredictable overhead to PRs and discourages engineers from making simple changes like typo fixes.
-
-By integrating with Git, Trunk Check can hold-the-line: that is, it allows you to leave existing issues alone, and simply enforces that you never introduce _new_ lint issues in a pull request.
-
-Formatting linters behave slightly differently under hold-the-line than other tools. Since formatters apply to entire files they will be run across the entirety of any changed file and their recommendations must be applied before landing.
-
-#### A short story
-
-*   `src/adder.js`, which has 12 pre-existing issues, has a typo in a comment:
-
-    ```javascript
-    // Thsi method adds too numbers together
-    ```
-*   Engineer sees this typo and corrects it:
-
-    ```javascript
-    // This method adds two numbers together
-    ```
-* Engineer pushes this super-simple, no-code-change Pull Request (PR)
-* PR is checked for formatting/lint issues on CI
-
-**Without `trunk`**
-
-* Engineer receives fail-mail and fail-slacks about their PR
-* Engineer wonders what in the world could've failed in a PR that fixes a typo in a comment
-* Engineer opens the failure notifications and starts going down the rabbit hole
-* 2 hours later, engineer finally understands how much work it would be to fix all the pre-existing issues
-* Engineer abandons PR
-* Not only has a good chunk of the day been blown, but now the engineer is significantly less inclined to ever do this in the future
-
-**With `trunk`**
-
-* `trunk check` CI succeeds on their PR
-* Engineer merges their PR
-
-### Issue severity
-
-Trunk Check currently supports over 75 linters, each of which has it own issue severity classification system. We surface these as either Low, Medium, or High priority. This is not always a 1-to-1 translation of the linter's natively defined severity - many have more than 3 severity levels - but we've found that this provides the best signal for the end user.
-
-By default, all issues reported by a linter are considered when evaluating if a pull request is `passing`. We have taken this approach because `trunk` is presenting a holistic view of a codebase, across all its languages and technologies, and we don't believe `trunk` should be in the business of making severity recommendations for individual linters.
-
-If a linter believes an issue is worth reporting, we consider it worth blocking for. If that issue is not interesting for your repo - we suggest you completely disable that rule for that linter in its configuration.
diff --git a/check/command-line.md b/check/command-line.md
deleted file mode 100644
index 852d8519..00000000
--- a/check/command-line.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# Command Line
-
-The following commands are available when using `trunk` from the command line
-
-```bash
-$ trunk check       # runs the universal linter on all applicable files
-$ trunk fmt         # runs all the enabled formatters and auto-applies changes
-```
-
-You can always find this list using `trunk check --help`.
-
-### check
-
-`trunk check` runs linters & formatters on your changed files, prompting you to apply fixes. Without additional args, `trunk check` will run all applicable linters on all files changed in the current branch.
-
-### fmt
-
-Run all applicable formatters as configured in `trunk.yaml`. `trunk fmt` is short-hand for running\
-`trunk check` with a `--fix --filter` set to all formatters enabled in your repository.
-
-| options              |                                                                                                                                       |
-| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
-| `--all`              | Run on all the files in the repository. Useful if trying to assess a new linter in the system, or to find and fix pre-existing issues |
-| `--fix`              | Auto-apply all suggested fixes                                                                                                        |
-| `--no-fix`           | Surface, but do not prompt for autofixes                                                                                              |
-| `--filter`           | List of comma-separated linters to run. Specify `--filter=-linter` to disable a linter.                                               |
-| `--sample=N`         | Run check on a [sampling](command-line.md#sample) of all files in the repo                                                            |
-| `--ci`               | Run in Continuous Integration mode                                                                                                    |
-| `--no-progress`      | Do not show progress while running                                                                                                    |
-| `--ci-progress`      | Only show progress every 30s while running (useful for CI jobs). Implied by `--ci`.                                                   |
-| `--output`           | Output results in specified format: text (default) or json                                                                            |
-| `--output-file=FILE` | Write json results to specified file                                                                                                  |
-| `--show-fixed`       | Include fixed issues in the output                                                                                                    |
-| `--help`             | Output help information                                                                                                               |
-
-### Recipes
-
-| Check                                        | Command                                    |
-| -------------------------------------------- | ------------------------------------------ |
-| all files                                    | trunk check --all --no-fix                 |
-| a specific file                              | trunk check some/file.py                   |
-| all applicable files with flake8             | trunk check --all --no-fix --filter=flake8 |
-| the behavior of all linters                  | trunk check --sample 5                     |
-| the behavior of a specific linter            | trunk check --sample 5 --filter=flake8     |
-| the formatting of the whole repo             | trunk fmt --all                            |
-| the formatting of a specific file            | trunk fmt some/file.py                     |
-| the formatting of all python code with black | trunk fmt --all --filter=black             |
-
-### Options
-
-#### --filter
-
-`--filter` argument allows you to restrict `trunk check` to a subset of the linters enabled in your repository.
-
-For example, to run `eslint` and `isort` on the entire repo:
-
-```bash
-trunk check --all --filter=eslint,isort
-```
-
-Alternatively, to run every linter _except_ `clang-tidy` and `shellcheck`:
-
-```bash
-trunk check --all --filter=-clang-tidy,-shellcheck
-```
-
-#### --sample
-
-`--sample=N` will attempt to run every enabled linter against the requested number of files. The goal of the `sample` flag is to test the setup of the linters in your repository as well as any specific configuration they might honor.
-
-The sample command will attempt to run each linter N times, but may run fewer if not enough applicable files exist in your set of files to lint. `--sample=N` can be combined with any other set of options for `trunk check`.
-
-For example, to run `prettier` against 10 different prettier supported files:
-
-```bash
-trunk check --sample=10 --filter=prettier
-```
-
-Alternatively, to run every linter at most 5 times against its supported files:
-
-```bash
-trunk check --sample=5
-```
-
-### Discover new tools and available upgrades
-
-`trunk upgrade` will upgrade the Trunk CLI, along with all plugins and linters in your trunk.yaml. We highly recommend running on the latest validated versions of tools as updates will frequently include important security fixes and additional valuable checks. Trunk only auto-suggests linter upgrades to versions that we support, so you may see a slight lag time when a new linter version is released.
-
-Upgrade will also recommend new tools that have become applicable since the last time your repository was scanned. This can be a result of using new technologies in your repository or trunk itself increasing support for more tools. If you don't like a particular recommendation you can run `trunk check disable {tool-name}` to teach trunk not to recommend it.
-
-#### Pinned System Versions
-
-When you enable a packaged or downloaded linter in your `trunk.yaml` and don't specify a version, trunk will attempt to use the version of that tool installed on your system. Trunk will not automatically suggest upgrades for this tool. If you wish to upgrade to the latest version, you will first have to specify a base version in your `trunk.yaml`.
-
-### Advanced Features
-
-| Options & Flags | Explanation                                                                                                                                                              |
-| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| --root          | Explicitly set the root of the repository to run against                                                                                                                 |
-| --upstream      | Specify the upstream branch used to calculate new vs existing issued.                                                                                                    |
-| --trigger       | Supports running trunk check from inside a git hook. Options are manual (default), git-push, git-commit. Controls whether the check returns early and its interactivity. |
diff --git a/check/configuration.md b/check/configuration.md
deleted file mode 100644
index 7953b50c..00000000
--- a/check/configuration.md
+++ /dev/null
@@ -1,238 +0,0 @@
-# Configuration
-
-The configurations for `trunk check` and `trunk fmt` are governed by the `lint` section of [`trunk.yaml`](../reference/trunk-yaml.md). Here's an example of what a fully-featured `lint` section looks like:
-
-```yaml
-lint:
-  # list of linters to run using trunk
-  enabled:
-    - ansible-lint@5.3.2
-    - bandit@1.7.0
-    - black@21.6b0
-    - buf-lint@1.0.0-rc3
-    - buildifier@5.1.0
-    - cfnlint@0.51.0
-    - eslint@7.30.0
-    - gitleaks@7.6.1
-    - gofmt@1.16.7
-    - golangci-lint@1.41.1
-    - hadolint@2.6.0
-    - isort@5.8.0
-    - markdownlint@0.28.1
-    - mypy@0.910
-    - prettier@2.3.2
-    - pylint@2.8.1
-    - rustfmt@1.55.0
-    - semgrep@0.104.0
-    - shellcheck@0.7.2
-    - shfmt@3.3.1
-  disabled:
-    - rufo
-    - tflint
-  ignore:
-    - linters: [ALL]
-      paths:
-        # Generated files
-        - a/proto/code_pb*
-        # Test data
-        - b/test_data/**
-    - linters: [eslint]
-      paths:
-        - c/run.ts
-  threshold:
-    - linters: [clang-tidy]
-      level: high
-  triggers:
-    - linters:
-        - ansible-lint
-      paths:
-        - ansible # A directory
-      targets:
-        - ansible # A directory
-```
-
-### Test your config changes
-
-Normally when you run `trunk check` or `trunk fmt` it runs only on files you've changed. We've made it easy to test how a linter will behave in your repo. As you're tuning your linter configuration simply run check with the `--sample` flag. When sampling trunk will find applicable files for the linters you've enabled and show you how the linter will behave against of sampling of inputs.
-
-| Sample                         | Command                                  |
-| ------------------------------ | ---------------------------------------- |
-| all linters on 5 files         | `trunk check --sample 5`                 |
-| a specific linter with 7 files | `trunk check --sample=7 --filter=clippy` |
-| all linters on a specific file | `trunk check foo.file`                   |
-
-When sampling, `trunk` may run multiple linters on a single file, and may not run each linter on the full number of requested samples (if not enough applicable files can be found).
-
-### Tuning your linters
-
-Most linters offer some form of configuration. Trunk uses the native configuration setup of all the tools it runs. No need to learn a new config language or hunt for specific ways to tune a linter inside trunk. Whether it's `clang-tidy`, `eslint`, or any other linter, all the documentation you'll find online about it is still applicable. We're proud to stand on the shoulders of giants and believe that the open source communities building these tools know best how they should work. Our goal is simply to make it as easy as possible for you to adopt these tools.
-
-Check out our [configs](https://github.com/trunk-io/configs) repository for always-up-to-date linter configs and some tips on how to structure your linters and repo.
-
-If you'd like, trunk also supports migrating any linter configurations from the root of your repository into a `.trunk/configs` folder. These config files will be symlinked in during any `trunk check` run. Note that if you're using an IDE Extension like clangd with an LSP that relies on those configs being in the root, you will need to create an additional symlink from the hidden config to the workspace root.
-
-If you find that you want to tweak how trunk runs a given linter, you may want to consult the documentation on [overriding defaults](../reference/trunk-yaml.md#overriding-defaults) and [the various linter settings](custom-linters.md); for example, hold-the-line is enabled by default for most linters, but can be disabled like so:
-
-```yaml
-lint:
-  definitions:
-    - name: pylint
-      hold_the_line: false
-      disable_upstream: true
-```
-
-Disabling hold-the-line for a linter will require that all issues found by said linter be fixed before changes to that file can be landed.
-
-Disabling the upstream for a linter will elide the execution of the linter on the upstream.
-
-### Enable Linters
-
-Trunk only runs linters listed in the `enabled` section; linters which are defined in `linters` but are not listed in `enabled` are not run.
-
-When enabling a linter, you must specify a version for the linter:
-
-```yaml
-lint:
-  enabled:
-    # enabling a version with a linter
-    - gitleaks@7.6.1
-    - gofmt@1.16.7
-    - golangci-lint@1.41.1
-    - hadolint@2.6.0
-```
-
-Custom linters are slightly different; see [those docs](custom-linters.md) to learn more.
-
-> Note:You can also ask trunk to detect new linters and upgrade existing linters to their latest respective\
-> versions by running `trunk upgrade check`.
-
-### Disable Linters
-
-Trunk will continuously monitor your repository and make recommendations of additional new tools to run on your codebase. You can tell trunk not to recommend a specific linter by adding it to the disabled list.
-
-```yaml
-lint:
-  disabled:
-    # disabled a linter tells trunk not to recommend it during upgrade scans
-    - rufo
-    - tflint
-```
-
-#### Installing additional packages
-
-We support installing additional packages along with your linter. For example, Pylint supports adding plugins which are installable as pip packages. For example, if you want to run the plugin `pylint-django` as part of your setup, you need to tell trunk to install the package:
-
-```yaml
-lint:
-  enabled:
-    - pylint@2.11.0:
-        packages:
-          - pylint-django@2.4.4
-        ...
-```
-
-#### Runtime versioning
-
-By default trunk will install hermetic versions of runtimes required by the linters you have chosen. If you need to peg to a specific runtime version or you want to use the version installed on your system, consult the [runtimes documentation](../reference/trunk-yaml.md#runtimes).
-
-### Ignoring files
-
-Some files are never meant to be checked, such as generated code. To ignore them, use the `ignore` key:
-
-```yaml
-lint:
-  ignore:
-    - linters: [ALL]
-      paths:
-        # Ignore generated files
-        - src/generated/**
-        # Except for files ending in .foo
-        - !src/generated/**/*.foo # Test data
-
-
-        - test/test_data
-```
-
-Every entry in `ignore` defines both a set of linters and a set of paths to ignore.
-
-| Key     | Value                                                                                                                                                                                                                                                                    |
-| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| linters | List of linters (i.e. `[black, eslint]`) or the special `[ALL]` tag                                                                                                                                                                                                      |
-| paths   | List of [glob paths](../reference/glob-path-pattern.md), relative to the root of the repo, to ignore. If a path begins with a `!` then it represents an inverse ignore. This means that any file matching that glob will not be ignored, even if matched by other globs. |
-
-> Note:`trunk` is `git`-aware, which means it ignores `gitignore`d files by default.
-
-### Blocking Thresholds
-
-All [issue severities](./#issue-severity) are considered blocking by default. In cases where you might want to slowly try out a new linter, we provide a mechanism to set specific thresholds for each linter.
-
-```yaml
-lint:
-  threshold:
-    - linters: [clang-tidy]
-      level: high
-```
-
-Every entry in `threshold` defines a set of linters and the severity threshold that is considered blocking. In this example, we're saying that only `high` lint issues should be considered blocking for `clang-tidy`.
-
-| Key     | Value                                                                                                                                                  |
-| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| linters | List of linters (e.g. `[black, eslint]`) or the special `[ALL]` tag                                                                                    |
-| level   | Threshold at which issues are considered blocking. One of : `low`, `medium`, `high`, or `none` (this last option will result in issues never blocking) |
-
-### Trigger rules
-
-Some linters do not operate on individual files. Instead you must lint your entire repo at once. The way this is handled in trunk is to set up a trigger rule.
-
-Trigger rules work on 3 principles:
-
-1. Input(s) that trigger the linters. These can be files, directories, or extended globs.
-2. Linter(s) to run when a triggered file is modified.
-3. Targets(s) to pass to the linters (can be files or directories).
-
-An example for ansible-lint:
-
-```yaml
-lint:
-  enabled:
-    - ansible-lint@5.3.2
-
-  triggers:
-    - linters:
-        - ansible-lint
-      paths:
-        - ansible # A directory
-      targets:
-        - ansible # A directory
-```
-
-Triggered linters will also be run when executing trunk check with --everything so long as a file exists that matches one of the listed paths.
-
-You may use "." as a target to run on the entire repo instead of an isolated directory.
-
-### File Size
-
-By default, trunk only lints files up to 4 MiB in size. To override this globally, specify a `default_max_file_size` in `lint`:
-
-```yaml
-lint:
-  default_max_file_size: 1048576 # Bytes
-```
-
-To override this for a specific linter, specify a `max_file_size` in its definition:
-
-```yaml
-lint:
-  definitions:
-    - name: prettier
-      max_file_size: 2097152 # Bytes
-```
-
-### Hold the line mode
-
-Trunk supports two values here: `line` and `word`. When using `line` mode, any modified line will result in all issues on that line showing up as `new` issues. When using `word` mode, Trunk will then run further analysis on modified sections of files to try to find more issues that should be `existing` rather than `new`.
-
-```yaml
-lint:
-  hold_the_line_mode: word
-```
diff --git a/check/continuous-integration.md b/check/continuous-integration.md
deleted file mode 100644
index 4879c535..00000000
--- a/check/continuous-integration.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Continuous Integration
-
-Once setup in your repo, Trunk can run on any CI system and post inline annotations on your GitHub Pull Requests.
-
-### Running `trunk check` on GitHub Pull Requests
-
-Running on CI differs a bit depending on your CI system:
-
-#### On GitHub Actions
-
-Use our GitHub Action as a step in one of your workflows triggered on pull requests: [https://github.com/marketplace/actions/trunk-check](https://github.com/marketplace/actions/trunk-check)
-
-#### On Gitlab CI
-
-Gitlab performs a shallow clone by default which limits trunk's ability to detect the upstream commit to compute changes from. This is easily solved by simply fetching your main branch before running `trunk`:
-
-```bash
-git fetch origin main
-trunk check --ci
-```
-
-> Note: if your default branch is named something else (such as `master`), you should fetch that instead of `main`.
-
-#### On other CI systems
-
-**Without inline annotations**
-
-You can always run `trunk check` directly on CI. We recommend running with these flags:
-
-```bash
-trunk check --ci
-```
-
-You can additionally pass a `--upstream` branch if needed (for example, if your PR is not merging to your main branch, your CI system may have an environment variable indicating what the upstream branch should be).
-
-**With inline annotations**
-
-Trunk is capable of posting inline annotations to GitHub from any CI system, if you provide your own `GITHUB_TOKEN` from your own GitHub app. This requires passing trunk some additional information:
-
-```bash
-trunk check \
-  --ci \
-  --github-repository <your_owner/your_repo> \
-  --github-commit "$(git rev-parse HEAD)" \
-  --github-annotate
-```
-
-`--github-repository` should be set to the owner/repo of the repo you're running trunk on. For example, if your github repository is `https://github.com/some_org/some_repo/`, then this should be set to `some_org/some_repo`.
-
-We also we require the `GITHUB_TOKEN` environment variable to be set to a valid GitHub token that has read/write permissions for check runs on your repository.
-
-By default, the details URL for your annotation will point to `https://trunk.io/check/ci` (this page). You can override this value with the flag `--github-annotate-details-url`, if you prefer.
-
-**Jenkins**
-
-Jenkins now supports [GitHub App authentication](https://www.jenkins.io/blog/2020/04/16/github-app-authentication/) via the [GitHub Branch Source Plugin](https://github.com/jenkinsci/github-branch-source-plugin)(installed by default, so you likely already have it).
-
-Please follow [this Jenkins guide](https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc) to get a `GITHUB_TOKEN` in a Jenkins step. Refer to the Jenkins guide for full details, but here's an overview of the process:
-
-1. Create a GitHub App (or use an existing one). It needs `Read and Write` access to `Checks`.
-2. Install it in your GitHub org, and give it permissions to your repo(s).
-3. Create & download a `Private Key` for your GitHub App (bottom of the [GitHub App](https://github.com/settings/apps) settings page)
-4. Add credentials to Jenkins in the Jenkins UI, of type `GitHub App`, using the `Private Key` you downloaded (convert the key to pkcs8 first - [docs](https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc))
-5. Use your GitHub app credentials in a Jenkins step to run `trunk check` via:
-
-```bash
-withCredentials([usernamePassword(credentialsId: 'githubapp-jenkins',
-                                  usernameVariable: 'GITHUB_APP',
-                                  passwordVariable: 'GITHUB_TOKEN')]) {
-  sh '''
-  trunk check \
-    --ci \
-    --github-repository <your_owner/your_repo> \
-    --github-commit "$(git rev-parse HEAD)" \
-    --github-annotate
-  '''
-}
-```
-
-#### Caching / Persistence
-
-* Trunk caches the version of trunk itself, linters, formatters, and lint results, in `~/.cache/trunk`
-* If your build machines are persistent, make sure this directory is not wiped out between CI jobs for best performance. If Trunk has to re-download every linter for every job because this directory is wiped out, it will be very slow.
-* If your build machines are ephemeral, there are a few options for caching:
-  * CI systems have support for caching between CI jobs on ephemeral runners:
-    * [GitHub Actions](https://github.com/actions/cache)
-    * [CircleCI](https://circleci.com/docs/2.0/guides/caching/)
-    * [Travis CI](https://docs.travis-ci.com/user/caching/)
-  * You can include a seeded trunk cache in a regularly updated image used for CI by running `trunk check download`, which will download all requirements to `~/.cache/trunk`
-
-### Bypass `trunk check` on a Pull Request
-
-Sometimes you need to bypass a failing `trunk check` job on an individual pull request. To bypass the failing pull request add `/trunk skip-check` as a comment or in the description of the pull request before Trunk Check runs (if it has already run, restart it).
-
-> Note:`trunk check` will still run in this case and report issues, but the job will always return a passing exit code.
-
-### Running `trunk check` on hourly/nightly builds
-
-If you'd like to setup `trunk check` to run on a hourly/nightly CI run or release branch we recommend running with the following command:
-
-```bash
-trunk check --ci-progress --monitor=false
-```
-
-`--ci-progress` will print out the tool's progress every 30 seconds, whereas `--no-progress` will suppress any progress reporting.
-
-You can also explicitly set the upstream branch if needed via `--upstream`, but we do detect your main branch by default.
diff --git a/check/custom-linters.md b/check/custom-linters.md
deleted file mode 100644
index d758e6cb..00000000
--- a/check/custom-linters.md
+++ /dev/null
@@ -1,493 +0,0 @@
-# Custom Linters
-
-The beautiful thing about `trunk` is that you can leverage our caching and hold-the-line solution with your own custom linters; you just need to tell us how to interpret the results from your linter.
-
-Trunk currently supports the following types of additional/proprietary linters:
-
-| Linter Type                                        | <p>Autofix<br>support</p> | Description                                                                                                                              |
-| -------------------------------------------------- | :-----------------------: | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| [`sarif`](custom-linters.md#sarif)                 |             ✓             | Produces diagnostics as [Static Analysis Results Interchange Format](https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html) JSON. |
-| [`lsp_json`](custom-linters.md#lsp-json)           |                           | Produces diagnostics as [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) JSON.                          |
-| [`pass_fail`](custom-linters.md#pass-fail-linters) |                           | Writes a single file-level diagnostic to `stdout`.                                                                                       |
-| [`regex`](custom-linters.md#regex)                 |                           | Produces diagnostics using a custom regex format.                                                                                        |
-| [`arcanist`](custom-linters.md#arcanist)           |             ✓             | Produces diagnostics as Arcanist JSON.                                                                                                   |
-| [`rewrite`](custom-linters.md#formatters)          |             ✓             | Writes the formatted version of a file to `stdout`.                                                                                      |
-
-If your linter produces a different output type, you can also write a [parser](custom-parsers.md) to transform the linter's output into something trunk can understand.
-
-To set up a custom linter, add it to `trunk.yaml` under `lint > definitions` and enable it:
-
-```yaml
-lint:
-  definitions:
-    - name: foo
-      files: [ALL]
-      commands:
-        - output: sarif
-          success_codes: [0, 1]
-          run: ${workspace}/bin/foo --file ${target}
-          read_output_from: stdout
-          run_linter_from: workspace
-  enabled:
-    # ...
-    - foo@SYSTEM
-```
-
-The `@SYSTEM` is a special identifier that indicates that we will forward the `PATH` environment variable to the custom linter when we invoke it.
-
-Every custom linter must specify a name, the types of files it will run on, at least one command, and `success_codes` or `error_codes`.
-
-> Info: Entries in `enabled` must specify both a linter name and a version. If you commit your linter into\
-> your repository, you should simply use `@SYSTEM`, which will run the linter with your shell's\
-> `PATH`. If you have a versioned release pipeline for your linter, though, you'll want to define your\
-> custom linter using a [`download`](custom-linters.md#downloads) and specify the download version to use.
-
-### Execution Model
-
-Running `trunk check` tells `trunk` to do the following:
-
-* compute the set of modified files (by comparing the current working tree and `upstream-ref`,\
-  usually your `main` or `master` branch)
-* compute the set of lint actions to run based on the modified files
-  * each enabled linter is invoked once per applicable modified file ([details](custom-linters.md)); for\
-    example, if `pylint` and `flake8` are enabled, they will both be run on every modified `python`\
-    file but not on any modified `markdown` files
-  * every lint action also will have a corresponding _upstream_ lint action, i.e. the linter will\
-    also be run on the upstream version of the file, so that we can determine which issues already\
-    exist in your repository
-* execute uncached lint actions
-* determine which lint issues are new, existing, or fixed
-
-### Linter Types
-
-#### SARIF
-
-`output: sarif` linters produce diagnostics in the [Static Analysis Results Interchange Format](https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html):
-
-```json
-{
-  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
-  "version": "2.1.0",
-  "runs": [
-    {
-      "results": [
-        {
-          "level": "warning",
-          "locations": [
-            {
-              "physicalLocation": {
-                "artifactLocation": {
-                  "uri": "/dev/shm/sandbox/detekt_test_repo/example.kt"
-                },
-                "region": {
-                  "startColumn": 12,
-                  "startLine": 18
-                }
-              }
-            }
-          ],
-          "message": {
-            "text": "A class should always override hashCode when overriding equals and the other way around."
-          },
-          "ruleId": "detekt.potential-bugs.EqualsWithHashCodeExist"
-        }
-      ],
-      "tool": {
-        "driver": {
-          "downloadUri": "https://github.com/detekt/detekt/releases/download/v1.19.0/detekt",
-          "fullName": "detekt",
-          "guid": "022ca8c2-f6a2-4c95-b107-bb72c43263f3",
-          "informationUri": "https://detekt.github.io/detekt",
-          "language": "en",
-          "name": "detekt",
-          "organization": "detekt",
-          "semanticVersion": "1.19.0",
-          "version": "1.19.0"
-        }
-      }
-    }
-  ]
-}
-```
-
-#### LSP JSON
-
-`output: lsp_json` linters output issues as [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specification#diagnostic) JSON.
-
-```json
-[
-  {
-    "message": "Not formatted correctly. Missing owner",
-    "code": "missing-owner",
-    "severity": "Error",
-    "range": {
-      "start": {
-        "line": 12,
-        "character": 8
-      },
-      "end": {
-        "line": 12,
-        "character": 12
-      }
-    }
-  },
-  {
-    "message": "TODO is assigned to someone not listed in this project",
-    "code": "unknown-user",
-    "severity": "Warning",
-    "range": {
-      "start": {
-        "line": 37,
-        "character": 0
-      },
-      "end": {
-        "line": 37,
-        "character": 14
-      }
-    }
-  }
-]
-```
-
-#### Pass/Fail Linters
-
-`output: pass_fail` linters find either:
-
-* no issues in a file, indicated by exiting with `exit_code=0`, or
-* a single file-level issue in a file, whose message is the linter's `stdout`, indicated by exiting\
-  with `exit_code=1`.
-
-> Note: Exiting with `exit_code=1` but writing nothing to `stdout` is considered to be a linter tool failure.
->
-> Note: `pass_fail` linters are required to have `success_codes: [0, 1]`
-
-#### Regex
-
-`output: regex` linters produce output that can be parsed with custom regular expressions and named capture groups. The regular expression is specified in the `parse_regex` field.
-
-`regex` supports capturing strings from a linter output for the following named capture groups:
-
-* `path`: file path (required)
-* `line`: line number
-* `col`: column number
-* `severity`: one of `allow`, `deny`, `disabled`, `error`, `info`, `warning`
-* `code`: linter diagnostic code
-* `message`: description
-
-For example, the output
-
-```
-.trunk/trunk.yaml:7:81: [error] line too long (82 > 80 characters) (line-length)
-```
-
-can be parsed with the regular expression
-
-```
-((?P<path>.*):(?P<line>\d+):(?P<col>\d+): \[(?P<severity>.*)\] (?P<message>.*) \((?P<code>.*)\))
-```
-
-and would result in a `trunk` diagnostic that looks like this:
-
-```
-7:81  high    line too long (82 > 80 characters)      regex-linter/line-length
-```
-
-In the event that multiple capture groups of the same name are specified, the nonempty capture will be preferred. If there are multiple non-empty captures, a linter error will be thrown. Adjust your regular expression accordingly to match the specifics of your output.
-
-> Note: For additional information on building custom regular expressions, see [re2](https://github.com/google/re2/wiki/Syntax). More complicated regex may require additional escape characters in yaml configuration.
-
-#### Arcanist
-
-You can also output JSON using the Arcanist format.
-
-```json
-[
-  {
-    "Char": 1,
-    "Code": "missing_copyright",
-    "Description": "Message about things\nMaybe contain multiple lines and web\nlinks\nhttps://website.com/notice-about-stuff\n",
-    "Line": 1,
-    "Name": "Incorrect (or missing) copyright notice",
-    "OriginalText": "",
-    "Path": "somefile.py"
-  }
-]
-```
-
-#### Formatters
-
-`output: rewrite` linters write the formatted version of a file to `stdout`; this becomes an autofix which `trunk` can prompt you to apply (which is what `trunk check` does by default) or automatically apply for you (if you `trunk check --fix` or `trunk fmt`).
-
-For example, if you wanted a linter to normalize your line endings, you could do this:
-
-```yaml
-lint:
-  definitions:
-    - name: no-carriage-returns
-      files: [ALL]
-      commands:
-        - output: rewrite
-          formatter: true
-          command: sed s/\r// ${target}
-          success_codes: [0]
-```
-
-Setting `formatter: true` will cause `trunk fmt` to run this linter.
-
-### Configuration Options
-
-When defining a custom linter, `trunk` not only needs to know the output of the linter command but also details such as how to invoke it, how to specify the file to check, and more; the next few sections explain what options you use to configure these and how:
-
-For even more details, you can refer to [the JSON schema for `trunk.yaml`](https://static.trunk.io/pub/trunk-yaml-schema.json).
-
-#### Applicable filetypes
-
-To determine which linters to run on which files (i.e. compute the set of lint actions), `trunk` requires that every linter define the set of filetypes it applies to in `files`.
-
-We have a number of pre-defined filetypes (e.g. `c++-header`, `gemspec`, `rust`; see our [configuration schema](https://static.trunk.io/pub/trunk-yaml-schema.json) for an up-to-date list), but you can also define your own filetypes. Here's how we define the `python` filetype:
-
-```yaml
-lint:
-  files:
-    - name: python
-      extensions:
-        - py
-        - py2
-        - py3
-      shebangs:
-        - python
-        - python3
-```
-
-This tells `trunk` that files matching either of the following criteria should be considered `python` files:
-
-* the extension is any of `.py`, `.py2`, or `.py3` (e.g. `lib.py`)
-* the shebang is any of `python` or `python3` (e.g. `#!/usr/bin/env python3`)
-
-#### Command
-
-Once `trunk` has figured out which linters it will run on which files, `trunk` expands the template provided in the `run` field to determine the arguments it will invoke the linter with. Here's what that looks like for `detekt`, one of our Kotlin linters:
-
-```yaml
-lint:
-  definitions:
-    - name: detekt
-      # ...
-      commands:
-        - output: sarif
-          run:
-            detekt-cli --build-upon-default-config --config .detekt.yaml --input ${target} --report
-            sarif:${tmpfile}
-```
-
-This command template contains all the information `trunk` needs to execute `detekt` in a way where `trunk` will be able to understand `detekt`'s output.
-
-Note that some of the fields in this command template contain `${}` tokens: these tokens are why `command` is a template and are replaced at execution time with the value of that variable within the context of the lint action being executed.
-
-| Variable          | Description                                                                   |
-| ----------------- | ----------------------------------------------------------------------------- |
-| `${workspace}`    | Path to the root of the repository                                            |
-| `${target}`       | Path to the file to check, relative to `${workspace}`                         |
-| `${linter}`       | Path to the directory the linter was downloaded to                            |
-| `${runtime}`      | Path to the directory the runtime (e.g. `node`) was downloaded to             |
-| `${upstream-ref}` | Upstream git commit that is being used to calculate new/existing/fixed issues |
-
-#### Input
-
-The `target` field specifies what paths this linter will run on given an input file. It may be a\
-literal such a `.` which will run the linter on the whole repository. It also supports various\
-substitutions:
-
-| Variable                        | Description                                                                                                                                      |
-| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `${file}`                       | The input file.                                                                                                                                  |
-| `${parent}`                     | The folder containing the file.                                                                                                                  |
-| `${parent_with <name>}`         | Walks up toward the repository root looking for the first folder containing `<name>`. If `<name>` is not found, do not run any linter.           |
-| `${root_or_parent_with <name>}` | Walks up toward the repository root looking for the first folder containing `<name>`. If `<name>` is not found, evaluate to the repository root. |
-
-If `target` is not specified it will default to `${file}`.
-
-This target may be referenced in the `run` field as `${target}`.
-
-```yaml
-lint:
-  definitions:
-    - name: noop
-      files: [ALL]
-      commands:
-        - output: rewrite
-          formatter: true
-          run: cat ${target}
-```
-
-or via `stdin`, by specifying `stdin: true`:
-
-```yaml
-lint:
-  definitions:
-    - name: noop
-      files: [ALL]
-      commands:
-        - output: rewrite
-          formatter: true
-          run: cat -
-          stdin: true
-```
-
-> Info: Linters that take their input via `stdin` may still want to know the file's path so that they can, say, generate >diagnostics with the file's path. In these cases you can still use `${target}` in `run`.
-
-#### Output
-
-The output format that `trunk` expects from a linter is determined by its [`type`](broken-reference/).
-
-**`stdout`, `stderr` or `tmp_file`**
-
-`trunk` generally expects a linter to output its findings to `stdout`, but does support other output mechanisms:
-
-| `read_output_from` | Description                                                                       |
-| ------------------ | --------------------------------------------------------------------------------- |
-| `stdout`           | Standard output.                                                                  |
-| `stderr`           | Standard error.                                                                   |
-| `tmp_file`         | If `${tmpfile}` was specified in `command`, the path of the created `${tmpfile}`. |
-
-> Caution: This is currently only supported for SARIF linters.
-
-**Exit codes**
-
-Linters often use different exit codes to categorize the outcome. For instance, [`markdownlint`](https://github.com/igorshubovych/markdownlint-cli#exit-codes) uses `0` to indicate that no issues were found, `1` to indicate that the tool ran successfully but issues were found, and `2`, `3`, and `4` for tool execution failures.
-
-`trunk` supports specifying either `success_codes` or `error_codes` for a linter:
-
-* if `success_codes` are specified, `trunk` expects a successful linter invocation (which may or may\
-  not find issues) to return one of the specified `success_codes`;
-* if `error_codes` are specified, `trunk` expects a successful linter invocation to return any exit\
-  code which is _not_ one of the specified `error_codes`.
-
-`markdownlint`, for example, has `success_codes: [0, 1]` in its configuration.
-
-#### Environment
-
-**Working directory**
-
-`run_linter_from` allows specifying the directory the linter should run from.
-
-| `run_linter_from`     | Description                                                                |
-| --------------------- | -------------------------------------------------------------------------- |
-| `workspace` (default) | Root of the workspace                                                      |
-| `parent_directory`    | Parent of the target file; e.g. would be `foo/bar` for `foo/bar/hello.txt` |
-| `root_file`           | Nearest parent directory containing a file matching `run_from_root_target` |
-| `root_directory`      | Nearest parent directory matching `run_from_root_target`                   |
-
-**Environment variables**
-
-`trunk` by default runs linters _without_ environment variables from the parent shell; however, most linters need at least some such variables to be set, so `trunk` allows specifying them using `environment`; for example, the `environment` for `ktlint` looks like this:
-
-```yaml
-lint:
-  definitions:
-    name: ktlint
-    # ...
-    environment:
-      - name: PATH
-        list: ["${linter}"]
-      - name: LANG
-        value: en_US.UTF-8
-```
-
-Most `environment` entries are maps with `name` and `value` keys; these become `name=value` environment variables. For `PATH`, we allow specifying `list`, in which case we concatenate the entries with `:`.
-
-We use the same template syntax for `environment` as we do for [`command`](broken-reference/).
-
-#### Downloads
-
-If your custom linter has a separate release process (i.e. is not committed in your repo), then you can tell `trunk` how to download it like so:
-
-```yaml
-lint:
-  downloads:
-    - name: lorem-linter
-      # the default version to download; overridden by the version in `enabled`
-      version: 4.0.1
-      executable: true
-      downloads:
-        - os: linux
-          cpu: x86_64
-          url: https://github.com/my-org/my-repo/releases/download/${version}/lorem-darwin-x86-64
-        - os: macos
-          cpu: x86_64
-          url: https://github.com/my-org/my-repo/releases/download/${version}/lorem-linux-x86-64
-    - name: ipsum-linter
-      # the default version to download; overridden by the version in `enabled`
-      version: 0.1.1
-      downloads:
-        - os: linux
-          cpu: x86_64
-          url: https://github.com/my-org/my-repo/releases/download/${version}/ipsum-darwin-x86-64.tar.gz
-          strip_components: 2
-        - os: macos
-          cpu: x86_64
-          url: https://github.com/my-org/my-repo/releases/download/${version}/ipsum-linux-x86-64.tar.gz
-          strip_components: 2
-  definitions:
-    - name: lorem-linter
-      files: [javascript, typescript]
-      download: lorem-linter
-    - name: ipsum-linter
-      files: [rust]
-      download: ipsum-linter
-  enabled:
-    - lorem-linter@4.0.2
-    - ipsum-linter@0.1.6
-```
-
-This tells `trunk` that, for `lorem-linter`:
-
-* you want to run version `4.0.2` on `javascript` and `typescript` files,
-* it is available for macOS and Linux at the specified URLs (expanded by replacing `${version}` with\
-  `4.0.2`), and
-* the download consists of a single executable binary, since `executable: true` is set;
-
-for `ipsum-linter`:
-
-* you want to run version `0.1.6` on `rust` files,
-* it is available for macOS and Linux at the specified URLs (expanded by replacing `${version}` with\
-  `0.1.6`), and
-* the download is a compressed archive, the linter binary is `strip_components: 2` directories deep\
-  inside the uncompressed archive, and `trunk` should automatically extract and unpack the linter\
-  from the archive.
-
-#### Download via package manager
-
-If your linter can be downloaded via `gem install`, `go get`, `npm install`, or `pip install`, you can specify a `runtime` and the `package` key:
-
-```yaml
-lint:
-  definitions:
-    - name: fizz-buzz
-      files: [javascript]
-      # npm install fizz-buzz
-      runtime: node
-      package: fizz-buzz
-```
-
-This will now create a hermetic directory in `~/.cache/trunk/linters/fizz-buzz` and `npm install fizz-buzz` there. You can refer to different versions of your package in `trunk.yaml` as normal, via `fizz-buzz@1.2.3`.
-
-> Note: Such downloads will use the _hermetic_ version of the specified runtime that `trunk` installs, not the one >you've installed on your machine.
-
-#### `run_when`
-
-Lint sessions are always associated with exactly one of the following session types:
-
-* `ci`: triggered by a `CI` run, i.e. `trunk check --ci` or when running inside the GitHub action,
-* `cli`: triggered by a human or script running `trunk check`,
-* `lsp`: triggered by VSCode, or
-* `monitor`: triggered by background linting.
-
-You can use `run_when` to specify which session types you want to run a linter in; for example, to always disable a linter during CI:
-
-```yaml
-lint:
-  definitions:
-    - name: fizz-buzz
-      run_when: [cli, lsp, monitor]
-```
diff --git a/check/debugging.md b/check/debugging.md
deleted file mode 100644
index a4d01d02..00000000
--- a/check/debugging.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Debugging
-
-Sometimes you need to get under-the-hood to diagnose why a linter is failing on a particular file or to more easily reproduce an issue you are seeing with a tool.
-
-### Analyzing Linter Failures
-
-When a linter fails, `trunk` will generate a linter failure report that contains all the information needed to understand what went wrong and why. `prettier`, for example, will fail on improperly formatted HTML; let's see what that looks like:
-
-```shell
-trunk/hello_world.html:0:0
- 0:0  failure  prettier error (details: .trunk/out/lYa9w.yaml)  prettier
-```
-
-This tells us that `prettier` failed when `trunk` ran it on `trunk/hello_world.html` and that we can find a full report of the invocation in `.trunk/out/lYa9w.yaml`. This report will include:
-
-1. the command that was run,
-2. the environment (e.g. `cwd`, environment variables),
-3. the invocation's `stdout`, `stderr`, and exit code, and
-4. repro instructions.
-
-All of this combined is generally sufficient to fix either the file or tool to get useful results out of the linter.
-
-```yaml
-title: "prettier error"
-report:
-  - command: |
-      /home/horton/.cache/trunk/linters/prettier/2.3.2-368f87d0e434ae207c0a3622371f91cc/node_modules/.bin/prettier --stdin-filepath trunk/hello_world.html
-    environment:
-      HOME: /home/horton
-      PATH: /home/horton/.cache/trunk/linters/node/16.14.2/bin:/home/horton/.cache/trunk/linters/prettier/2.3.2-368f87d0e434ae207c0a3622371f91cc/node_modules/.bin
-    run_from: /tmp/trunk-Bi6hWP
-    rerun:
-      env -i -C /tmp/trunk-Bi6hWP HOME=/home/horton
-      PATH=/home/horton/.cache/trunk/linters/node/16.14.2/bin:/home/horton/.cache/trunk/linters/prettier/2.3.2-368f87d0e434ae207c0a3622371f91cc/node_modules/.bin
-      /home/horton/.cache/trunk/linters/prettier/2.3.2-368f87d0e434ae207c0a3622371f91cc/node_modules/.bin/prettier
-      --stdin-filepath trunk/hello_world.html
-    exit_code: 2
-    stdout: (none)
-    stderr: |
-      [error] trunk/hello_world.html: SyntaxError: Unexpected closing tag "head". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags (3:2)
-      [error]   1 | <html>
-      [error]   2 |  head>
-      [error] > 3 |  </head>
-      [error]     |  ^^^^^^^
-      [error]   4 |  <body>
-      [error]   5 |    <h1>Hello World<h1>
-      [error]   6 |  </body>
-```
-
-### Actions
-
-When `trunk check` is run, a dynamic set of check actions are generated and executed in parallel. An engineer developing custom integrations may find it helpful to examine in detail exactly what `trunk check` does and sees when it runs a given tool. The output of the `check` run will include an `ACTIONS` section with a execution report for each action that was run as well as cache hit information.
-
-For example, to run a report on all actions taken on hello.py:
-
-```bash
-trunk check --verbose hello.py
-```
diff --git a/check/get-started.md b/check/get-started.md
deleted file mode 100644
index dc2aacf3..00000000
--- a/check/get-started.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Get Started
-
-### Step 1: Install Trunk
-
-To use `trunk` locally, run:
-
-```bash
-curl https://get.trunk.io -fsSL | bash
-```
-
-For other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](../overview/install-trunk.md) doc.
-
-### Step 2: Initialize `trunk`
-
-From the root of a git repo, run:
-
-```bash
-trunk init
-```
-
-This will bring you into a flow to start getting results from [Trunk Check](./). For more details, see [here](doc:initialize-trunk-in-a-git-repo).
-
-### Step 3: Run `trunk check` against a sampling of files in your repo
-
-Normally when you run `trunk check` we will only scan changed files, so in a repo without any changes `trunk check` is going come back empty. To get a sense of the issues `trunk` can detect in your repo we suggest you run:
-
-```bash
-trunk check --sample 5
-```
-
-For more information on the sample flag see [here](command-line.md#sample)
diff --git a/check/github-integration.md b/check/github-integration.md
deleted file mode 100644
index d01cad60..00000000
--- a/check/github-integration.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# GitHub Integration
-
-Trunk Check integrates with GitHub to automatically identify linter issues, unformatted files, and vulnerabilities in your repositories without ever sending your code to Trunk.
-
-## How it works
-
-Trunk Check's GitHub integrations rely on the following:
-
-* An installation of the Trunk.io GitHub app in your GitHub organization, and
-* A `.trunk` repository in your GitHub organization.
-
-### What is a `.trunk` repository?
-
-The `.trunk` repository contains the workflows run to scan your codebase and pull requests. We recommend creating a `.trunk` repository in your GitHub organization using [this template repository](https://github.com/trunk-io/.trunk-template).
-
-Your `.trunk` repository must be added to your Trunk GitHub app installation. You can verify this by navigating to: `https://github.com/organizations/<your_organization>/settings/installations`, clicking "configure" next to Trunk-io, and verifying that the repository access is either "All repositories" or that your `.trunk` repository is selected.
-
-To find Check issues in your repositories and pull requests, we dispatch GitHub Actions workflows in your `.trunk` repository, which check out your repositories and pull requests and then run `trunk check` in them. This strategy allows you to:
-
-* start using Trunk Check in all your repositories without any configuration, and
-* be in full control over the environment where we analyze your code, since we're running on your GitHub Actions runners.
-
-> 🚧 `.trunk` should have private visibility
->
-> Since we use workflow runs in `.trunk` to analyze any repository in your organization and record Check findings, you should think carefully about who has permissions to view workflow runs in your `.trunk` repository. For most organizations, simply making your `.trunk` repository private will be sufficient.
-
-If you want to version the linter configuration for a given repo or enable linters that require more manual configuration, you can always [create and commit your Trunk configuration in said repository](docs:check-get-started).
-
-## Checking pull requests
-
-Trunk Check can automatically detect new Check issues on your pull requests and flag them so that you can prevent pull requests from introducing any new issues in your repository.
-
-When running on a pull request, Trunk Check will only flag _new_ issues, not existing ones, so that your engineers don't have to fix pre-existing linter issues in every file they touch - this is the same [hold-the-line technology](docs:check#hold-the-line) that our VSCode extension and CLI use.
-
-> 📘 Skipping Trunk Check
->
-> You can include `/trunk skip-check` in the body of a PR description (i.e. the first comment on a given PR) to mark Trunk Check as "skipped". This will allow the PR to pass a GitHub required status check on `Trunk Check`.
->
-> This can be helpful if Check is flagging known issues in a given PR which you don't want to [ignore](docs:ignoring-issues), which if you're doing a large refactor, can come in very handy.
-
-If you don't want Trunk Check to run on pull requests, turn it off in your repository's settings.
-
-## Scanning your repository
-
-Trunk Check can scan your repository for Check issues on a daily cadence, upload them to Trunk for you to review at your convenience, and notify you via Slack whenever new issues are discovered in your repository.
-
-This allows you to build confidence in the code health of your repositories:
-
-* You will be alerted quickly in a Heartbleed-type event, giving you assurances about whether or not a newly discovered vulnerability affects any of your repositories, and
-* You can monitor how many Check issues exist in each of your repositories and make data-driven decisions about prioritizing efforts to reduce tech debt
-
-If you don't want Trunk Check to scan your repository on a daily cadence or notify you, you can turn it off in your repository's settings.
-
-## Hooking into Trunk invocations
-
-If you need to do some setup before `trunk check` runs in `your-org/your-repo`, you can [define a GitHub composite action](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) in `.trunk/setup-ci/action.yaml` in `your-repo`. This can be important if, for example, a linter needs some generated code to be present before it can run:
-
-```yaml
-name: Trunk Check setup
-description: Set up dependencies for Trunk Check
-
-runs:
-  using: composite
-  steps:
-    - name: Build required trunk check inputs
-      shell: bash
-      run: bazel build ... --build_tag_filters=pre-lint
-      
-    - name: Install eslint dependencies
-      shell: bash
-      run: npm install
-```
-
-Read more in the documentation for [our GitHub Action](https://github.com/trunk-io/trunk-action#custom-setup).
diff --git a/check/ignoring-issues.md b/check/ignoring-issues.md
deleted file mode 100644
index eb452507..00000000
--- a/check/ignoring-issues.md
+++ /dev/null
@@ -1,102 +0,0 @@
-# Ignoring Issues
-
-\[block:callout] { "type": "info", "body": "If you're only looking to ignore issues in a single file, read on. If you want to ignore issues across multiple files, you probably want the docs for [`lint.ignore`](https://docs.trunk.io/docs/check-config#ignoring-files) in `.trunk/trunk.yaml` (note that Check also ignores issues in `gitignore`-d files)." } \[/block] Sometimes we want to deliberately tell a linter that, yes, I know what I'm doing, and yes, in any other situation I should _not_ do this, but in this specific case it's fine. Maybe there's a dummy private key you're using for a test stack, or fixing the lint issue will actually make your code less readable: whatever it is, you now need to figure out how to suppress a given lint issue.
-
-`trunk` provides a simple, standardized mechanism to do this, saving you from having to look up the linter-specific syntax for doing so:
-
-```cpp
-struct FooBar {
-  // trunk-ignore(clang-tidy/modernize-use-nullptr): load-bearing NULL, see ISSUE-832
-  void *ptr = NULL;
-};
-```
-
-This tells `trunk` that the `clang-tidy` linter found a `modernize-use-nullptr` issue on the highlighted line and that `trunk` should suppress this linter issue.
-
-Comments may be omitted:
-
-```cpp
-struct FooBar {
-  // trunk-ignore(clang-tidy/modernize-use-nullptr)
-  void *ptr = NULL;
-};
-```
-
-You can also omit the name of the check to simply tell `trunk` that all issues from a given linter on a specific line should be suppressed:
-
-```cpp
-struct FooBar {
-  // trunk-ignore(clang-tidy)
-  void *ptr = NULL;
-};
-```
-
-`trunk-ignore` directives can also be placed at the end of the line on which they're suppressing lint issues:
-
-```cpp
-struct FooBar {
-  void *ptr1 = NULL;  // trunk-ignore(clang-tidy/modernize-use-nullptr)
-  void *ptr2 = NULL;  // trunk-ignore(clang-tidy)
-};
-```
-
-If you need to suppress issues from multiple linters, `trunk-ignore` supports that too:
-
-```cpp
-struct FooBar {
-  // trunk-ignore(clang-tidy): ISSUE-914 explains why the `void *` type is needed
-  // trunk-ignore(gitleaks,my-custom-linter/do-not-hardcode-passwords): see ISSUE-915
-  void *super_secret_password = (void *)("915dr~S$Pzqod~oR*CrQ$/SQ@hbtQBked:CL@z!y]");
-};
-```
-
-Notice that a `trunk-ignore` directive applies not to the next line, but the next non-`trunk-ignore` line (this only works for _preceding_ directives, not _trailing_ directives), and that you can use a single directive for suppressing multiple checks.
-
-#### Ignoring all issues in a file
-
-You can also ignore all issues in a file:
-
-```cpp
-// trunk-ignore-all(clang-tidy)
-struct FooBar {
-  void *ptr1 = NULL;
-  void *ptr2 = NULL;
-};
-```
-
-\[block:callout] { "type": "info", "body": " `trunk-ignore-all` is not required to be the first line of a file, because we recognize that other constructs (shebangs, front matter, docstrings) may need to take precedence." } \[/block]
-
-#### Ignoring all issues in a code block
-
-Alternatively, you can ignore all matching issues in a code block:
-
-```cpp
-struct FooBar {
-  // trunk-ignore-begin(clang-tidy)
-  void *ptr1 = NULL;
-  void *ptr2 = NULL;
-  // trunk-ignore-end(clang-tidy)
-};
-```
-
-### Specification
-
-The syntax of a trunk-ignore directive is as follows:
-
-```
-<trunk-ignore>      ::= <trunk-ignore-type> "(" <check-ids> ")" <optional-comment>
-<trunk-ignore-type> ::= "trunk-ignore" | "trunk-ignore-begin" | "trunk-ignore-end" | "trunk-ignore-all"
-<check-ids>         ::= <check-id> <optional-check-id>
-<optional-check-id> ::= "," <check-id>
-<check-id>          ::= <linter-id> <optional-rule-id>
-<optional-rule-id>  ::= "/" <rule-id>
-<optional-comment>  ::= ": " <comment>
-```
-
-### Known Issues
-
-`trunk-ignore` does not currently support:
-
-* suppressing findings on lines 0 or 1 using inline/block directives
-
-If you need any of these to be supported, or you have another edge case, please reach out to us on the [Trunk community slack](https://slack.trunk.io).
diff --git a/check/supported-linters.md b/check/supported-linters.md
deleted file mode 100644
index 27371564..00000000
--- a/check/supported-linters.md
+++ /dev/null
@@ -1,283 +0,0 @@
-# Supported Linters
-
-> 📘 Our linter integrations are open-source!
->
-> You can find them at [`trunk-io/plugins`](https://github.com/trunk-io/plugins).
-
-We currently support the following linters:
-
-| Language                           | Linters                                                                                      |
-| ---------------------------------- | -------------------------------------------------------------------------------------------- |
-| All                                | `codespell`, `cspell`, `gitleaks`, `git-diff-check`                                          |
-| Ansible                            | `ansible-lint`                                                                               |
-| Bash                               | `shellcheck`, `shfmt`                                                                        |
-| Bazel, Starlark                    | `buildifier`                                                                                 |
-| C, C++, Protobuf                   | `clang-format`, `clang-tidy`, `include-what-you-use`                                         |
-| Cloudformation                     | `cfnlint`                                                                                    |
-| CSS, SCSS                          | `stylelint`                                                                                  |
-| Cue                                | `cue-fmt`                                                                                    |
-| Docker                             | `hadolint`                                                                                   |
-| Dotenv                             | `dotenv-linter`                                                                              |
-| GitHub                             | `actionlint`                                                                                 |
-| Go                                 | `gofmt`, `gokart`, `golangci-lint`, `semgrep`, `goimports`                                   |
-| HAML                               | `haml-lint`                                                                                  |
-| Java                               | `semgrep`                                                                                    |
-| JavaScript, TypeScript, YAML, JSON | `eslint`, `prettier`, `semgrep`                                                              |
-| Kotlin                             | `detekt`, `detekt-explicit`, `detekt-gradle`, `ktlint`                                       |
-| Markdown                           | `markdownlint`                                                                               |
-| Protobuf                           | `buf-breaking`, `buf-lint`                                                                   |
-| Python                             | `autopep8`, `bandit`, `black`, `flake8`, `isort`, `mypy`, `pylint`, `ruff`,`semgrep`, `yapf` |
-| Ruby                               | `brakeman`, `rubocop`, `rufo`, `semgrep`, `standardrb`                                       |
-| Rust                               | `clippy`, `rustfmt`                                                                          |
-| Scala                              | `scalafmt`                                                                                   |
-| SQL                                | `sql-formatter`, `sqlfluff`                                                                  |
-| SVG                                | `svgo`                                                                                       |
-| Terraform                          | `terraform` (`validate` and `fmt`), `tflint`                                                 |
-| TOML                               | `taplo`                                                                                      |
-| YAML                               | `prettier`, `semgrep`, `yamllint`                                                            |
-
-### Caching
-
-Caching is currently enabled for about half the linters/formatters. Since Trunk needs to know all the inputs to a linter for a file/directory in order to cache the results, we don't yet cache every linter, but we are building out the functionality to do so. You can see which linters are currently configured to be cached by running `trunk print-config` and seeing which linter configurations have `cache_results: true` set. That's also how you can enable/disable caching for any custom linters you integrate.
-
-### Linter-specific Configuration
-
-Most linters provide some mechanism to tweak their configuration, e.g. `.eslintrc` or `Cargo.toml`. `trunk` is aware of all the ways individual tools are configured and supports them. This means that all the linters you've already configured will continue to work exactly the same, just now supercharged by `trunk`.
-
-Check out our open source [`plugins`](https://github.com/trunk-io/plugins/blob/main/linters/isort/.isort.cfg) repo for our always up to date collection of sane linter configurations.
-
-### Ansible-lint
-
-Ansible-lint must be configured with a trigger. See the [trigger rules](configuration.md#trigger-rules) documentation for more information.
-
-In case your ansible setup is not contained within a single folder you would list all files and directories belonging to your ansible setup.
-
-### Clang-format
-
-We currently only support versions 12.0.0, 12.0.1, and 13.0.0 (`clang-format@13.0.0` in `trunk.yaml`)
-
-By default trunk uses clang-format to additionally format `.proto` files. However, for this to work, you need to have enabled `clang-format` to do so in your `.clang-format` config file. You can do that by adding the following to the end of your `.clang-format`:
-
-```yaml
----
-Language: Proto
-```
-
-For example, you might have this for your entire `.clang-format` file:
-
-```yaml
-BasedOnStyle: Google
-ColumnLimit: 100
----
-Language: Cpp
-DerivePointerAlignment: false
----
-Language: Proto
-```
-
-### Clang-tidy
-
-We currently only support versions 12.0.0, 12.0.1, and 13.0.0 (`clang-tidy@13.0.0` in `trunk.yaml`), and we only support using `clang-tidy` from Bazel and CMake projects.
-
-In order to only see issues in your own code, not from library header files your code includes, add this to your `.clang-tidy` file:
-
-```yaml
-HeaderFilterRegex: \./.+
-```
-
-You may have to build your project first if you depend on any generated header files.
-
-#### Linter Failures
-
-If a file you're linting does not compile, clang-tidy may fail to process it. In `trunk`, this will show up as a "Linter Failure". The output you'll see will look like a compilation error. This can also happen if the pre-reqs to running clang-tidy haven't been met (see below).
-
-#### Using Bazel
-
-By default `trunk` will query bazel for compile commands used to run clang-tidy. This requires no configuration.
-
-Trunk will build needed compilation pre-requisites before invoking clang-tidy on each file (e.g. generated protobuf headers).
-
-**Finding the bazel binary**
-
-Trunk will search for the bazel binary in two ways.
-
-1. Paths relative to the workspace root.
-2. Binaries in any of the directories in the PATH environment variable.
-
-First trunk will search all workspace root relative paths and then all system directories. If you override anything in lint.bazel.paths then we only search the paths you specify. By default the configuration is as follows.
-
-```yaml
-lint:
-  bazel:
-    paths:
-      workspace:
-        - tools/bazel
-        - bazelisk
-      system:
-        - bazel
-        - bazelisk
-```
-
-#### Using compile\_commands.json generated by CMake
-
-Trunk supports using the `compile_commands.json` file generated by CMake. If you run `cmake` from a directory called `build` in the root of your project then trunk will find the compile commands automatically. If you run it in some other directory then you will have to symlink the `compile_commands.json` in that directory to the root of your repo for trunk to find them. Note that trunk does not currently support CMake out of tree builds.
-
-#### Another tool claims I have clang-tidy issues, but not trunk- what gives?
-
-Trunk runs clang-tidy with a compile commands database so that we can guarantee clang-tidy produces the correct diagnostics about your code. Other tools, such as clangd, may use best-effort heuristics to guess a compile command for a given clang-tidy input file (for example, see [this discussion](https://github.com/clangd/clangd/issues/519)) and consequently produce incorrect clang-tidy findings because they guessed the compile command wrong.
-
-### Clippy
-
-Clippy is distributed with rust itself, so specify your rust version for your clippy version (for example `clippy@1.61.0`).
-
-### Detekt
-
-Detekt is usually invoked through gradle, which allows specifying additional configuration in `build.gradle`. We do not yet automatically parse your Gradle scripts to infer your `detekt` configuration; instead, what we do is this:
-
-* `detekt` invokes [`detekt-cli`](https://detekt.github.io/detekt/cli.html) with the\
-  `--build-upon-default-config` flag (this appears to be\
-  [more common](https://cs.github.com/?q=%2FbuildUponDefaultConfig.\*%28true%29%2F+detekt) than the\
-  alternative)
-* `detekt-explicit` invokes [`detekt-cli`](https://detekt.github.io/detekt/cli.html) without the\
-  `--build-upon-default-config` flag
-
-You will also need to provide a valid detekt config as `.detekt.yaml` (an empty `.detekt.yaml` is valid, if you don't want to configure `detekt`); if you already have a detekt config, then you can symlink it like so:
-
-```bash
-ln -s path/to/existing/detekt-config.yml .detekt-config.yaml
-```
-
-To use `./gradlew detekt` to invoke Detekt, you can add `detekt-gradle@SYSTEM` to your `enabled` list. Note that since you're running Detekt via Gradle, you should also add the paths to your Detekt configurations to `direct_configs`, e.g.
-
-```gradle
-direct_configs: ["lib/detekt.yaml"]
-```
-
-### Eslint
-
-Most eslint users use a number of plugins, custom parsers, etc. Trunk has the ability to turn sandboxing and caching on or off for each linter, and we've turned it off for eslint so it can use your repo's installed packages for eslint plugins and other required eslint packages. Trunk does control the eslint version itself, but otherwise eslint looks for all plugins, configs, etc based on the path of source file its linting. This all means you do need to have `npm/yarn install`d in your repo as a prerequisite before running eslint via trunk.
-
-We recommend you disable all prettier rules in your eslint config and let trunk run prettier automatically on your files. It's much nicer to just autoformat a file than to see a lint error for every missing space.
-
-You can easily do this by adding the `eslint-config-prettier` package and in your eslint config's `extends` section adding `prettier` as the last element. For example, your `extends` list might look like:
-
-```yaml
-extends:
-  # Order matters, later configs purposefully override settings from earlier configs
-  - eslint:recommended
-  - airbnb
-  - plugin:@typescript-eslint/recommended
-  - plugin:import/recommended
-  - plugin:import/typescript
-  - plugin:node/recommended
-  - plugin:mocha/recommended
-  - plugin:react/recommended
-  - prettier # this actually turns OFF all prettier rules running via eslint
-```
-
-### Python linters (flake8, pylint, black, etc)
-
-Trunk uses hermetic runtime versions, which you can override if needed. If you're using a newer version of python that our default (3.10.3 at the time of writing) you can override it in `trunk.yaml` via:
-
-```yaml
-runtimes:
-  enabled:
-    - python@3.10.3
-```
-
-As always, you can view the defaults and configuration of everything trunk runs via `trunk print-config`.
-
-### Flake8
-
-Flake8 has a plugin architecture where if you install a plugin, it gets used. You can enable Flake8 plugins via:
-
-```yaml
-enabled:
-  - flake8@3.9.2:
-      packages:
-        - flake8-bugbear@21.4.3
-```
-
-flake8-bugbear is probably the most popular flake8 plugin, we recommend it!
-
-### Prettier
-
-By default trunk uses prettier to autoformat many languages/config formats, including markdown. To line wrap within markdown, you need to set the following in your prettier config (`.prettierrc.yaml` or similar):
-
-```yaml
-proseWrap: always
-```
-
-You may also want to configure `printWidth:` to your liking.
-
-### Gitleaks
-
-Gitleaks v7 only works with go 1.16, not go 1.18 while Gitleaks v8 works with 1.18. We recommend using v8, but if you specifically need to use v7 you can override the go runtime version like so:
-
-```yaml
-runtimes:
-  enabled:
-    - go@1.16.7
-```
-
-Again, this is not recommended. Just use Gitleaks v8 or later with go 1.18 or later.
-
-### Golangci-lint
-
-Make sure your go version in `go.mod` matches Trunk's go runtime version. At the time you writing, Trunk's default go runtime version is 1.18.3. You can find out what it is via `trunk print-config`, and look for the `runtime` section, and you can override the default version in your `trunk.yaml` via:
-
-```yaml
-runtimes:
-  enabled:
-    - go@1.18.3
-```
-
-### Pylint
-
-You may specify additional pylint plugins in your `.pylintrc`, using the line `load-plugins=...`
-
-if you want to run the plugin `pylint-django` as part of your setup, you would add the line
-
-`load-plugins=pylint_django` to your `.pylintrc`, but you **also** need to tell trunk to install the package:
-
-```yaml
-- pylint@2.11.0:
-    packages:
-      - pylint-django@2.4.4
-      ...
-```
-
-### Markdownlint
-
-Older versions of markdownlint had a bug where it printed plaintext output even when run with `--json`. We rely on JSON output so we can parse and ingest the results from markdownlint. The package we use for markdownlint is actually [markdownlint-cli](https://www.npmjs.com/package/markdownlint-cli); `>= 0.29.0` is verified to work.
-
-### Rustfmt
-
-We currently use the version of `rustfmt` packaged with rust, so for `rustfmt` version, specify your rust version (for example `rustfmt@1.61.0`).
-
-If you have `edition` in your `cargo.toml`, `rustfmt` also needs the same information in `.rustfmt.toml` in your repo root. For example, your `.rustfmt.toml` might contain:
-
-```toml
-edition = "2021"
-```
-
-### Sqlfluff
-
-`sqlfluff` is only configured as a linter because its formatting capabilities are very subpar compared to `sql-formatter`.
-
-### Terraform
-
-We currently support `terraform validate` and `terraform fmt`, but only `fmt` is enabled by default when you add `terraform` to your enabled list in `trunk.yaml`. To enable `validate`, add this to your `trunk.yaml`:
-
-```yaml
-lint:
-  linters:
-    - name: terraform
-      commands:
-        - name: validate
-          enabled: true
-  enabled:
-    - ...
-```
-
-Note: you must run `terraform init` before running `trunk check` with `terraform validate` enabled (both locally, or on CI).
diff --git a/check/under-the-hood.md b/check/under-the-hood.md
deleted file mode 100644
index ffafbb5a..00000000
--- a/check/under-the-hood.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Under the Hood
-
-`trunk check` does a lot of cool stuff under the hood so that you have a good experience with it.
-
-## Holding the Line
-
-Linters usually operate only on source code and have no awareness of your commit history, which makes introducing a linter into an existing codebase a nightmarish exercise. Sure, this new linter may be flagging all sorts of potential existing bugs in your code, but you've got features to ship and you know your code works as is, so clearly those potential bugs aren't showstoppers. Trunk's ability to [hold-the-line](./#hold-the-line) suppresses pre-existing issues, which means only new issues are flagged. We achieve this by checking both your mainline and in-progress code and comparing the results and source code to determine which issues you actually care about.
-
-## Caching and Reproducibility
-
-Constantly re-running linters on all source code, the default mode of operation for most linters, is very time-consuming and gets frustrating fast when you know that you've only modified a few functions in these files, but the linters are re-linting all these other hundreds of files that you haven't modified. `trunk check` caches results so that you don't have to wait for linter work that's already been done, which is a surprisingly difficult thing to do:
-
-* We need to guarantee that results are _reproducible_, which we achieve by sandboxing linter runs, similar to how Google's [Bazel](https://bazel.build/) project sandboxes compiler actions.
-* We need to intelligently invalidate/ignore cache entries: if `fileA` is modified and check results for `fileB` depend on the contents of `fileA`, then check results for `fileB` from prior to `fileA`'s modification cannot be reused. We solve this by keying cache entries on the linter configuration, the actual linter target file, and all dependencies of said target file.
-
-## Discarding Invalidated Results
-
-Over the course of a `trunk check` run, changes made to the filesystem outside of Trunk may render linter results outdated or otherwise incorrect. For example, switching branches or merging from one's main branch might invalidate analysis in progress. Trunk will recognize these conditions, such as modified, missing, or read-only files requiring modification, and simply discard them from the results. The summary will include a notice of these discards along with their reason, and the client will exit with a non-zero status code to indicate the incomplete result.
-
-## Why does trunk only work in a git repo?
-
-`trunk` uses git to detect your changes so we only check the code you've changed. Additionally we use it to accurately detect errors _caused_ by your changes, even if the errors aren't on lines you changed. You'll read more about [hold-the-line](./#hold-the-lineld-the-line) later in the docs.
diff --git a/ci-autopilot/overview.md b/ci-autopilot/overview.md
new file mode 100644
index 00000000..5dcd97f8
--- /dev/null
+++ b/ci-autopilot/overview.md
@@ -0,0 +1,76 @@
+---
+description: AI root cause analysis and fixes for test and CI failures
+---
+
+# Overview
+
+{% hint style="success" %}
+## CI Autopilot is currently invite-only in private beta.
+
+Sign up for the [waitlist](https://trunk.io/insights) to be the next to get access. We'll reach out when we're ready to onboard you.
+{% endhint %}
+
+### How CI Autopilot works
+
+Trunk's CI Autopilot monitors your CI jobs and tests, rapidly identifying root causes of failures and providing fixes far quicker than manual debugging.
+
+It integrates seamlessly with GitHub Actions and your [test execution framework](../flaky-tests/get-started/frameworks/). Whenever a failure occurs, Trunk's specialized [AI DevOps Assistant](broken-reference):
+
+* Investigates the failure and identifies the root cause
+* Posts detailed explanations and fixes directly as GitHub comments
+* Opens stacked PRs with fixes
+
+If you like the suggested fixes, simply merge them into your PR. You can also further modify them by checking out the stacked PR branch before merging.
+
+When failures happen on your `main` branch, CI Autopilot detects these immediately and proactively opens PRs to resolve the root issues.
+
+```
+                                           ╔═ trunk ═══════════════════════════════════╗ 
+╔════════════╗      ╔═══════════╗          ║                         ┏━━━━━━━━━━━━━━┓  ║░
+║            ║░     ║           ║░         ║  ┏━━━━━━━━━━━━━━━━┓     ┃   GitHub     ┃  ║░
+║   CI Jobs  ║░────▶║   Tests   ║░───API──▶║  ┃  AI Root Cause ┃────▶┃   Slack      ┃  ║░
+║            ║░     ║           ║░         ║  ┃    Analysis    ┃     ┃   Linear     ┃  ║░
+╚════════════╝░     ╚═══════════╝░         ║  ┗━━━━━━━━━━━━━━━━┛     ┃   MCP        ┃  ║░
+ ░░░░░░░░░░░░░░      ░░░░░░░░░░░░░         ║                         ┃   Webhooks   ┃  ║░
+      │                                    ║                         ┃   Dashboard  ┃  ║░
+      └─────────────── API ───────────────▶║                         ┗━━━━━━━━━━━━━━┛  ║░
+                                           ╚═══════════════════════════════════════════╝░
+                                            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+```
+
+### Features
+
+Trunk integrates directly into your existing developer workflow, enhancing efficiency, accuracy, and speed in resolving CI and test failures.
+
+#### AI-Powered Debugging and Fixes
+
+The CI Autopilot continuously loops, analyzing:
+
+* Your repository files (search and read capabilities).
+* CI output and historical data.
+* Test results and historical data.
+* PR details and diffs.
+* Git history.
+* Web searches for external outages.
+
+This extensive analysis accurately determines the true root causes of CI and test failures.
+
+#### GitHub Comments
+
+Receive clear GitHub comments pinpointing exactly why tests and CI jobs failed and how to fix them.
+
+#### Stacked PRs
+
+Automatically opened PRs stacked on your existing PR, containing ready-to-merge fixes for your failing tests.
+
+#### Main Branch Protection
+
+Immediate detection and automated PR creation to swiftly fix CI job failures occurring on your `main` branch.
+
+
+
+{% hint style="success" %}
+## CI Autopilot is currently invite-only in private beta.
+
+Sign up for the [waitlist](https://trunk.io/insights) to be the next to get access. We'll reach out when we're ready to onboard you.
+{% endhint %}
diff --git a/ci-debugger/README.md b/ci-debugger/README.md
deleted file mode 100644
index e7ca935d..00000000
--- a/ci-debugger/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# CI Debugger
-
-Trunk CI Debugger (beta invite required) is available at [app.trunk.io](https://app.trunk.io). With a sprinkling of code you can enable live debugging of your CI actions enabling real-time diagnosis, troubleshooting, and of course debugging of your otherwise ephemeral CI job.
-
-### What is it?
-
-Similar to any traditional debugger, the Trunk CI Debugger, operates on breakpoints configured through the trunk web app. Each breakpoint is tracked with a unique id and is configured through a set of conditional rules. For example, you can specify that breakpoint 'foo' always triggers when the exit code of its command is non-zero (or failing).
-
-{% embed url="https://youtube.com/watch?t=17s&v=S_l-h-qg3YA" %}
-
-### How does it work?
-
-At its most basic - the trunk ci debugger wraps the execution of whatever command you give it. This allows the debugger to break `on_enter` before running your command and `on_exit` after your command completes. This wrapper connects to the Trunk Service to determine in real time based on the conditional rules whether to trigger a breakpoint or continue execution.
-
-#### What happens a breakpoint is triggered?
-
-Upon triggering, the execution of your CI run will be paused and the system will attempt to notify someone that a breakpoint has been triggered. In practice, when working with a pull request for example, this can be a Slack notification to the author of the PR, or a posting of a comment to the PR thread on GitHub.
-
-The notification will include a link to connect to the debugging session and provides authenticated users with direct access to the machine that is being held.
-
-#### What can I do during a debug session?
-
-Anything! When connected over a debug session, you have live access to the terminal running your CI job; you are connecting to the live instance being used to run your job.
-
-Besides running any normal shell command from the session, the debugger provides a set of command line tooling to assist your debugging session further.
-
-| command         | what does it do                                                                                                                                             |
-| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| retry           | runs the provided command again. upon retry the exit code of the breakpoint will be overwritten.                                                            |
-| getexit         | returns the current exit code that will be returned when the debugging session terminates (by default this is the exit code of the user provided command)   |
-| setexit {value} | overwrites the current exit code of the session with a user provided value. use this to change a failing execution into a passing execution (or vice versa) |
-| download {file} | downloads the provided file to your local machine                                                                                                           |
-| continue        | resumes execution; returns the current exit code, and allows CI process execution to proceed                                                                |
diff --git a/ci-debugger/buildkite-quickstart.md b/ci-debugger/buildkite-quickstart.md
deleted file mode 100644
index 54cddfc8..00000000
--- a/ci-debugger/buildkite-quickstart.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# Buildkite Quickstart
-
-### Requirements
-
-Your CI machine needs to have the following tools installed:
-
-* Bash,
-* Curl
-
-You will need to have ports open for:
-
-* api.trunk.io:443
-* api.trunk.io:8443
-
-### Create a trunk organization
-
-To use the CI Debugger, you must first create a trunk organization. See this [document](../web-app/) for detailed instructions.
-
-### Create a breakpoint in the trunk app
-
-{% embed url="https://app.supademo.com/demo/PEuiLCcC1etLxXgcOf-cu" %}
-
-### Setup your Organization API Token
-
-In order for the CI Debugger to communicate with the trunk web app, it needs to be able to authenticate from the GitHub Action instance to the trunk web application.
-
-{% embed url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
-
-### Setup Your Buildkite Workflow
-
-Here is an a Buildkite workflow. Replace the three values in the example with the ones specific to your setup.
-
-Here the TRUNK\_TOKEN is pasted directly. In a real environment, it should be managed as a [secret](https://buildkite.com/docs/pipelines/secrets).
-
-{% code overflow="wrap" %}
-```yaml
-steps:
-  - label: "Installing Trunk"
-    command: "curl https://get.trunk.io -fsSL | bash -s -- -y"
-    key: build
-
-  - label: "Running test"
-    env:
-      TRUNK_TOKEN: <INSERT YOUR TRUNK TOKEN HERE [1]>
-    command: "trunk breakpoint --org=<INSERT YOUR ORG NAME HERE [2]> --id=<Breakpoint Name [3]> -- /bin/false"
-    key: test
-    depends_on: build
-```
-{% endcode %}
diff --git a/ci-debugger/commandline.md b/ci-debugger/commandline.md
deleted file mode 100644
index da81e2cb..00000000
--- a/ci-debugger/commandline.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-description: >-
-  The CI Debugger can be used from non-CI machines. For example your local
-  terminal or any machine under your control.
----
-
-# Command Line Example
-
-### Requirements
-
-Your machine needs to have the following tools installed:
-
-* Bash,
-* Curl
-
-You will need to have ports open for:
-
-* api.trunk.io:443
-* api.trunk.io:8443
-
-### Create a trunk organization
-
-To use the CI Debugger, you must first create a trunk organization. See this [document](../web-app/) for detailed instructions.
-
-### Create a breakpoint in the trunk app
-
-{% embed url="https://app.supademo.com/demo/PEuiLCcC1etLxXgcOf-cu" %}
-
-### Setup your Organization API Token
-
-In order for the CI Debugger to communicate with the trunk web app, it needs to be able to authenticate from the GitHub Action instance to the trunk web application.
-
-{% embed url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
-
-### Setup Your Buildkite Workflow
-
-Here is an example command of running the debugger directly from any command line. Replace the three values in the example with the ones specific to your setup.\
-\
-In this example we are downloading the trunk tool and then running the '/bin/false' command which will immediately fail and trigger a breakpoint.
-
-{% code overflow="wrap" %}
-```yaml
-curl https://get.trunk.io -fsSL | bash -s -- -y
-export TRUNK_TOKEN=<Insert your API key [1]>
-trunk breakpoint --org=<INSERT YOUR ORG NAME HERE [2]> --id=<Breakpoint Name [3]> -- /bin/false
-```
-{% endcode %}
diff --git a/ci-debugger/faq.md b/ci-debugger/faq.md
deleted file mode 100644
index a39c1bc0..00000000
--- a/ci-debugger/faq.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# FAQ
-
diff --git a/ci-debugger/github-actions-quickstart.md b/ci-debugger/github-actions-quickstart.md
deleted file mode 100644
index 1bec6816..00000000
--- a/ci-debugger/github-actions-quickstart.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# GitHub Actions Quickstart
-
-### Requirements
-
-Your CI machine needs to have the following tools installed:
-
-* Bash,
-* Curl
-
-You will need to have ports open for:
-
-* api.trunk.io:443
-* api.trunk.io:8443
-
-### Create a trunk organization
-
-To use the CI Debugger, you must first create a trunk organization. See this [document](../web-app/) for detailed instructions.
-
-### Create a breakpoint in the trunk app
-
-{% @supademo/embed demoId="PEuiLCcC1etLxXgcOf-cu" url="https://app.supademo.com/demo/PEuiLCcC1etLxXgcOf-cu" %}
-
-### Setup your Organization API Token
-
-In order for the CI Debugger to communicate with the trunk web app, it needs to be able to authenticate from the GitHub Action instance to the trunk web application.
-
-{% @supademo/embed demoId="LPJsDyJYAsyvUabvkphHK" url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
-
-### Store your Organization Token as a GitHub Secret
-
-{% @supademo/embed demoId="2UWXR9ccwhP4ng5-orZPG" url="https://app.supademo.com/demo/2UWXR9ccwhP4ng5-orZPG" %}
-
-### Wrap one of your GitHub steps in a `trunk breakpoint`
-
-Now for the magic 🪄. Open an existing GitHub Action and wrap one of your existing steps with a `trunk breakpoint` like this [(example here)](https://github.com/trunk-io/debugger-demo/blob/main/.github/workflows/pr.yml):
-
-```yaml
-name: Pull Request
-on:
-  - pull_request
-
-jobs:
-  test:
-    name: Test
-    runs-on: ubuntu-latest
-
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-
-      - name: Testing
-        uses: trunk-io/breakpoint@v1
-        with:
-          breakpoint-id: {INSERT_YOUR_BREAKPOINT_ID} [1]
-          run: ./run_tests.sh
-          trunk-token: ${{ secrets.TRUNK_TOKEN }} [3]
-          org: {INSERT_YOUR_TRUNK_ORGANIZATION} [2]
-```
diff --git a/ci-debugger/gitlab-quickstart.md b/ci-debugger/gitlab-quickstart.md
deleted file mode 100644
index 2155a319..00000000
--- a/ci-debugger/gitlab-quickstart.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# GitLab Quickstart
-
-### Requirements
-
-Your CI machine needs to have the following tools installed:
-
-* Bash,
-* Curl
-
-You will need to have ports open for:
-
-* api.trunk.io:443
-* api.trunk.io:8443
-
-### Create a trunk organization
-
-To use the CI Debugger, you must first create a trunk organization. See this [document](../web-app/) for detailed instructions.
-
-### Create a breakpoint in the trunk app
-
-{% @supademo/embed demoId="PEuiLCcC1etLxXgcOf-cu" url="https://app.supademo.com/demo/PEuiLCcC1etLxXgcOf-cu" %}
-
-### Setup your Organization API Token
-
-In order for the CI Debugger to communicate with the trunk web app, it needs to be able to authenticate from the GitHub Action instance to the trunk web application.
-
-{% @supademo/embed demoId="LPJsDyJYAsyvUabvkphHK" url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
-
-### Setup Your GitLab Workflow
-
-Here is an example GitLab workflow. Replace the three values in the example with the ones specific to your setup.
-
-Here the TRUNK\_TOKEN is pasted directly. In a real environment, it should be managed as a secret.
-
-{% code overflow="wrap" %}
-```yaml
-stages:          # List of stages for jobs, and their order of execution
-  - test
-
-unit-test-job:   # This job runs in the test stage.
-  stage: test    # It only starts when the job in the build stage completes successfully.
-  variables:
-    TRUNK_TOKEN: <INSERT YOUR TRUNK TOKEN HERE [1]>
-  script:
-    - echo "Installing Trunk"
-    - curl https://get.trunk.io -fsSL | bash -s -- -y
-    - echo "Done"
-    - echo "Testing"
-    - trunk breakpoint --org=<INSERT YOUR ORG NAME HERE [2]> --id=<Breakpoint Name [3]> -- /bin/false
-    - echo "Done"
-```
-{% endcode %}
diff --git a/ci-debugger/jenkins-quickstart.md b/ci-debugger/jenkins-quickstart.md
deleted file mode 100644
index 83c75d24..00000000
--- a/ci-debugger/jenkins-quickstart.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Jenkins Quickstart
-
-### Requirements
-
-Your CI machine needs to have the following tools installed:
-
-* Bash,
-* Curl
-
-You will need to have ports open for:
-
-* api.trunk.io:443
-* api.trunk.io:8443
-
-### Create a trunk organization
-
-To use the CI Debugger, you must first create a trunk organization. See this [document](../web-app/) for detailed instructions.
-
-### Create a breakpoint in the trunk app
-
-{% @supademo/embed demoId="PEuiLCcC1etLxXgcOf-cu" url="https://app.supademo.com/demo/PEuiLCcC1etLxXgcOf-cu" %}
-
-### Setup your Organization API Token
-
-In order for the CI Debugger to communicate with the trunk web app, it needs to be able to authenticate from the GitHub Action instance to the trunk web application.
-
-{% @supademo/embed demoId="LPJsDyJYAsyvUabvkphHK" url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
-
-### Setup Your Jenkins Workflow
-
-Here is an example Jenkins workflow. Replace the three values in the example with the ones specific to your setup.
-
-Here the TRUNK\_TOKEN is pasted directly. In a real environment, it should be managed as a secret.
-
-{% code overflow="wrap" %}
-```yaml
-pipeline {
-    environment {
-        TRUNK_TOKEN = '<INSERT YOUR TRUNK TOKEN HERE [1]>'
-    }
-    stages {
-        stage('Install Trunk') {
-            steps {
-                echo "Installing Trunk"
-                curl https://get.trunk.io -fsSL | bash -s -- -y
-            }
-        }
-        stage('Test') {
-            steps {
-                echo "Testing"
-                trunk breakpoint --org=<INSERT YOUR ORG NAME HERE [2]> --id=<Breakpoint Name [3]> -- /bin/false
-            }
-        }
-    }
-}
-```
-{% endcode %}
diff --git a/cli/README.md b/cli/README.md
deleted file mode 100644
index b78dcf16..00000000
--- a/cli/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# CLI
-
-### Getting Started
-
-To use `trunk` locally, install via:
-
-```bash
-curl https://get.trunk.io -fsSL | bash
-```
-
-For other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](install-trunk.md) doc.
-
-Also check out the other ways to use Trunk:
-
-* [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)
-* [GitHub Action](https://github.com/marketplace/actions/trunk-check)
-* [Web App (app.trunk.io)](https://app.trunk.io)
-
-### What can it do?
-
-The Trunk CLI can be used for:
-
-* [Trunk Merge](../merge/): a merge queue to make merging code in github safer and easier
-* [Trunk Check](../check/): a pluginable superlinter with a builtin language server and preexisting issue detection
-* [Trunk Actions](../actions/): workflow automation for software engineers
-
-[Trunk Check](../check/) and [Trunk Actions](../actions/) can be used entirely locally without depending on hosted services or even having a Trunk account
-
-### Initialize Trunk in your repo
-
-Whether you aim to use [Trunk Check](../check/), [Trunk Merge](../merge/), [Trunk Actions](../actions/), or all of the above, the first step is to initialize Trunk in your git repo:
-
-```bash
-trunk init
-```
-
-Note: for an extra layer of security you can optionally run `trunk init --lock` instead of `trunk init` which adds sha256s of the trunk cli to the trunk config file. This is then used by the Trunk Launcher when it downloads the `trunk` binary.
-
-`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailored to your repo (it may also generate linter-specific config files, such as `.shellcheckrc`). The scan will identify all the particular languages and technologies you use and automatically configure the correct set of linters / formatters to run.
-
-If you only want to use [Trunk Merge](../merge/), you can safely ignore the linter setup, or even strip enabled linters from `.trunk/trunk.yaml`. You will additionally need to login to use [Trunk Merge](../merge/) via `trunk login`.
-
-### Next Steps
-
-Check out the docs for [Trunk Merge](../merge/), [Trunk Check](../check/), and [Trunk Actions](../actions/).
diff --git a/cli/compatibility.md b/cli/compatibility.md
deleted file mode 100644
index 371259b6..00000000
--- a/cli/compatibility.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Compatibility
-
-#### Linux
-
-Trunk will run on most unix flavors including Ubuntu, Arch and others. We do require glibc version 2.19 or later. Alpine linux is not supported.
-
-#### macOS
-
-Trunk will run on macOS version 10.15 or later. On ARM based machines trunk requires rosetta.
-
-#### Windows
-
-Trunk will run under windows from inside WSL. Future support for native windows support is planned.
-
-### Backwards Compatibility
-
-We generally strive to maintain backward compatibility between the <\<glossary:Trunk Launcher>> and the Trunk binary, but you may need to occasionally upgrade the launcher to support the versions of Trunk.
diff --git a/cli/configuration/github-codespaces.md b/cli/configuration/github-codespaces.md
new file mode 100644
index 00000000..918a312a
--- /dev/null
+++ b/cli/configuration/github-codespaces.md
@@ -0,0 +1,47 @@
+# GitHub Codespaces
+
+We provide support for running `trunk` in GitHub Codespaces.
+
+[Github Codespaces](https://github.com/features/codespaces) are fully configured virtual containers for developing your GitHub repositories.
+
+## Installing the Trunk Feature
+
+You can install the Trunk Launcher in your codespace by including the following line in your `devcontainer.json` file under `features`:
+
+```json
+    "features": {
+      "ghcr.io/trunk-io/devcontainer-feature/trunk": "latest",
+    },
+```
+
+The feature is defined [here](https://www.github.com/trunk-io/devcontainer-feature).
+
+To have the launcher binary install the CLI tool and associated linters, you can add `trunk install` to `updateContentCommand` in `devcontainer.json`:
+
+```json
+"updateContentCommand": "trunk install",
+```
+
+Read the [GitHub docs](https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds#configuring-time-consuming-tasks-to-be-included-in-the-prebuild) to learn more about `updateContentCommand` .
+
+Note: You should only add `trunk install` if you have a Trunk-configured repository.
+
+You can then [configure pre-builds](https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds) to run from GitHub workflows, ensuring the `trunk` CLI and needed linters are available and ready to go when you need to boot up your codespace.
+
+## Installing the Trunk Extension
+
+If you are using the Trunk feature, we will automatically install the Trunk extension on your behalf.&#x20;
+
+Note: We highly recommend turning off auto-save in your VSCode settings in your codespace (or set autosave to a longer timeout). Saving files triggers the extension to re-lint, which can quickly overload the extension for anything but the fastest linters. The auto-save setting is detailed [here](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save).
+
+Otherwise, You can add `trunk` to your list of extensions in `devcontainer.json` -
+
+```json
+    "customizations": {
+      "vscode": {
+        "extensions": [..., "trunk.io"]
+      }
+    },
+```
+
+Then you're all set to run `trunk` in your Codespace!
diff --git a/cli/github-codespaces.md b/cli/github-codespaces.md
deleted file mode 100644
index 1ab8a6f9..00000000
--- a/cli/github-codespaces.md
+++ /dev/null
@@ -1,49 +0,0 @@
-# GitHub Codespaces
-
-We provide support for `trunk` in GitHub Codespaces.
-
-[Github Codespaces](https://github.com/features/codespaces) are fully configured virtual containers for developing your GitHub repositories.
-
-## Installing the Trunk Feature
-
-You can install the trunk launcher in your codespace by including the following line in your `devcontainer.json` file under `features`:
-
-```json
-    "features": {
-      "ghcr.io/trunk-io/devcontainer-feature/trunk": "latest",
-    },
-```
-
-The feature is defined [here](https://www.github.com/trunk-io/devcontainer-feature).
-
-To have the launcher binary install the CLI tool and associated linters, you can add `trunk install` to `onCreateCommand` or `updateContentCommand` in `devcontainer.json`:
-
-```json
-"onCreateCommand": "trunk install",
-```
-
-From the [GitHub documentation](https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds):
-
-> You can use the onCreateCommand and updateContentCommand commands in your devcontainer.json to include time-consuming processes as part of the prebuild creation. For more information, see the Visual Studio Code documentation, "devcontainer.json reference."
->
-> onCreateCommand is run only once, when the prebuild is created, whereas updateContentCommand is run at > creation of the prebuild and at subsequent updates to it. Incremental builds should be included in updateContentCommand since they represent the source of your project and need to be included for every prebuild update.
-
-Note: You should only add `trunk install` if you have a trunk-configured repository.
-
-You can then [configure pre-builds](https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds) to run from GitHub workflows, ensuring the trunk CLI and needed linters are available and ready to go when you need to boot up your codespace.
-
-## Installing the Trunk Extension
-
-If you are using the trunk feature, we will automatically install the trunk extension on your behalf. Note: We highly recommend turning off auto-save in your VSCode settings in your codespace (or to a longer timeout). Saving files triggers the extension to re-lint, which can quickly overload the extension for anything but the fastest linters. The auto-save setting is detailed [here](https://code.visualstudio.com/docs/editor/codebasics#\_save-auto-save).
-
-Otherwise, You can add `trunk` to your list of extensions in `devcontainer.json` -
-
-```json
-    "customizations": {
-      "vscode": {
-        "extensions": [..., "trunk.io"]
-      }
-    },
-```
-
-Then you're all set to use `trunk` in your Codespace!
diff --git a/cli/init-in-a-git-repo.md b/cli/init-in-a-git-repo.md
deleted file mode 100644
index 919656ec..00000000
--- a/cli/init-in-a-git-repo.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Init in a git repo
-
-Initializing `trunk` in a git repo is as simple as running:
-
-```bash
-trunk init
-```
-
-#### Security
-
-When initializing you can secure your trunk installation which will write the sha256 signatures of the trunk binary to the `trunk.yaml` file. These signatures are verified by the <\<glossary:Trunk Launcher>> to guarantee the binary has not been tampered with. To add this extra layer of protection to your `trunk` setup init like this:
-
-```bash
-trunk init --lock
-```
-
-#### Code Scanning
-
-`init` scans the files in your repo and generates a `.trunk/trunk.yaml` configuration file tailoring the `trunk check` product to your repo. The scan will identify all the particular languages and technologies you use and automatically configure the correct set of static-analyzers, code security tools, linters and formatters to run.
-
-The `init` flow will also generate linter-specific config files for tools that require configuration and no configuration file already exists.
-
-#### Tweak the Configuration
-
-`trunk` is completely control through the `trunk.yaml` file. If for example you are not using the `check` tool you can safely remove the `lint` section from the file.
-
-#### Single-player Mode
-
-If you want to run `trunk` inside your repository but are not ready to roll it out team-wide, you can run `trunk` in what we call single-play mode. When in single-player mode, the `.trunk` directory will be listed in `.git/info/exclude`, which will cause git to ignore its contents. When trunk is automatically initialized by the vscode extension, you will be started in this mode. You can also initialize this way explicitly with the `trunk init --single-player-mode` command. If at any time you wish to toggle single-player mode on or off, it can be done with the following two commands:
-
-```bash
-# Turn single-player mode on.
-trunk config hide
-```
-
-```bash
-# Turn single-player mode off.
-trunk config share
-```
diff --git a/cli/install-trunk.md b/cli/install-trunk.md
deleted file mode 100644
index f470003e..00000000
--- a/cli/install-trunk.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Install Trunk
-
-To install `trunk` run:
-
-```bash
-curl https://get.trunk.io -fsSL | bash
-```
-
-To install without prompting:
-
-```bash
-curl https://get.trunk.io -fsSL | bash -s -- -y
-```
-
-#### Commit the <\<glossary:Trunk Launcher>> directly into your repo
-
-To allow your teammates to use `trunk` without installing anything, the launcher can be committed directly into your repo; Once committed, anyone working in your repository can use `trunk` without any additional installation. Fewer steps == less friction.
-
-From your repo:
-
-```bash
-curl -LO https://trunk.io/releases/trunk
-chmod +x trunk
-```
-
-#### With node package manager
-
-| Package Manager | Command                         |
-| --------------- | ------------------------------- |
-| npm             | `npm i -D @trunkio/launcher`    |
-| pnpm            | `pnpm add -D @trunkio/launcher` |
-| yarn            | `yarn add -D @trunkio/launcher` |
-
-#### With [homebrew](https://formulae.brew.sh/cask/trunk-io) (macOS only)
-
-```bash
-brew install trunk-io
-```
-
-### Uninstalling
-
-Trunk has a very minimal installation, and therefore there's not much to uninstall. The two system paths we use are:
-
-* `/usr/local/bin/trunk`: the <\<glossary:Trunk Launcher>>
-* `~/.cache/trunk`: cached versions of the trunk cli, linters, formatters, etc.
-
-To cleanly uninstall:
-
-```bash
-trunk deinit
-```
-
-To uninstall the Trunk VS Code extension, do so as you would any extension ([docs](https://code.visualstudio.com/docs/editor/extension-marketplace)).
-
-#### Binary download (not recommended)
-
-You can directly download the trunk binary. \*\*We don't recommend this mode of operation because your ability to version the tool through `trunk.yaml` will not function when launching `trunk` directly from a downloaded binary. Regardless you can bypass the launcher support by downloading the prebuilt binaries here:
-
-| variable | options                                       |
-| -------- | --------------------------------------------- |
-| version  | the semver of the binary you want to download |
-| platform | 'darwin', 'linux'                             |
-
-```bash
-# for example https://trunk.io/releases/1.0.0/trunk-1.0.0-linux-x86_64.tar.gz
-https://trunk.io/releases/${version}/trunk-${version}-${platform}-x86_64.tar.gz
-```
-
-### Next Steps
-
-Check out:
-
-* [Trunk Merge](broken-reference/): a merge queue to make merging code in github safer and easier
-* [Trunk Check](broken-reference/): an extendable superlinter with a builtin language server and preexisting issue detection
-* [Trunk Actions](broken-reference/): workflow automation for software engineers
-
-<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Check</strong></td><td></td><td>An extendable superlinter with a builtin language server and preexisting issue detection</td><td><a href="check/">check</a></td><td><a href="../.gitbook/assets/Check.svg">Check.svg</a></td></tr><tr><td><strong>Merge</strong></td><td></td><td>A merge queue to make merging code in GitHub safer and easier</td><td><a href="broken-reference/">broken-reference</a></td><td><a href="../.gitbook/assets/Merge.svg">Merge.svg</a></td></tr><tr><td>Actions</td><td></td><td>workflow automation for your repository</td><td><a href="https://trunk.io/products/ci-analytics">https://trunk.io/products/ci-analytics</a></td><td></td></tr></tbody></table>
-
-As well as the other ways to use Trunk:
-
-* [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=trunk.io)
-* [Web App (app.trunk.io)](https://app.trunk.io)
diff --git a/cli/upgrades.md b/cli/upgrades.md
new file mode 100644
index 00000000..a73b1976
--- /dev/null
+++ b/cli/upgrades.md
@@ -0,0 +1,65 @@
+# Upgrades
+
+Run `trunk upgrade` to update the Trunk CLI and all your plugins, linters, tools, and runtimes.
+
+#### Upgrade Scopes
+
+Upgrades can be filtered to different scopes by adding them to `trunk upgrade <scopes>`. The scopes available are:
+
+<table><thead><tr><th width="133">Scope</th><th>Description</th></tr></thead><tbody><tr><td>cli</td><td>Only upgrade the Trunk CLI to the latest version.</td></tr><tr><td>plugins</td><td>Upgrade any that you have sourced to their latest public release. The latest version must be compatible with your current <code>cli</code> version in order for the upgrade to be applied.</td></tr><tr><td>check</td><td>Upgrade any linters that you have enabled. Linters will be upgraded to the latest validated version that have passed tests in our <a href="https://github.com/trunk-io/plugins">plugins</a> repo. Additional recommended linters can also be enabled by running with <code>-y</code>.</td></tr><tr><td>tools</td><td>Upgrade any that you have enabled. Tools will be upgraded to their latest public release. Note that any enabled linters that share a name with an enabled tool must keep their versions synced.</td></tr><tr><td>runtimes</td><td>Upgrade any that you have enabled. Runtimes will be upgraded to their recommended version for running linters, as specified by Trunk.</td></tr></tbody></table>
+
+#### Automatic Upgrades
+
+When running locally, Trunk automatically checks for upgrades in the background on a regular cadence. You'll see notifications for these upgrades appear in the VSCode Extension or at the end of a `trunk check` run. To stop seeing these notifications, you can run `trunk actions disable trunk-upgrade-available`.
+
+When running in single-player mode, Trunk will automatically upgrade itself in the background and stay up to date.
+
+#### Automatic Upgrades with GitHub Actions
+
+You can configure a GitHub workflow to create PRs with the latest Trunk and tool versions automatically. Here's a sample GitHub Action:
+
+```
+name: Nightly
+on:
+  schedule:
+    - cron: 0 8 * * 1-5
+  workflow_dispatch: {}
+permissions: read-all
+jobs:
+  trunk_upgrade:
+    name: Upgrade Trunk
+    runs-on: ubuntu-latest
+    permissions:
+      contents: write # For trunk to create PRs
+      pull-requests: write # For trunk to create PRs
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+      # >>> Install your own deps here (npm install, etc) <<<
+      - name: Trunk Upgrade
+        uses: trunk-io/trunk-action/upgrade@v1
+```
+
+Then, provide permissions for this GitHub Action to [create and approve pull requests](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#preventing-github-actions-from-creating-or-approving-pull-requests) by navigating to your repo's **Settings** > **Actions** > **General** > **Workflow permissions** > **Allow GitHub Actions to create and approve pull requests**.\
+\
+You can also set the `arguments` field to filter particular scopes to upgrade and set `base` to define the branch to create a PR against (default `main`).
+
+{% hint style="warning" %}
+**Triggering further workflow runs**
+
+PRs created with this GitHub Action will not trigger further workflows by default. If you need the PRs created to trigger further GitHub Action Workflows, [follow the workarounds described here](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs).
+{% endhint %}
+
+#### Pinning Versions
+
+If you don't want a linter, tool, or runtime to be upgraded, you can pin its version by appending `!` to the version in your `.trunk/trunk.yaml`. For example:
+
+```yaml
+lint:
+  enabled:
+    - pylint@2.17.5!
+```
+
+#### Plugin Repos and user.yaml
+
+By default, upgrades are only applied to your repo's `.trunk/trunk.yaml`. If you're using a plugin repo that enables linters/tools, or if you would like upgrades to be applied to your `.trunk/user.yaml` file, you can run `trunk upgrade --apply-to <path>` to see upgrades applied there.
diff --git a/code-quality/ci-setup/general.md b/code-quality/ci-setup/general.md
new file mode 100644
index 00000000..e7df413e
--- /dev/null
+++ b/code-quality/ci-setup/general.md
@@ -0,0 +1,142 @@
+---
+description: >-
+  How to integrate Trunk Code Quality into CI for GitLab and other non-GitHub
+  providers, or for GitHub without using the Trunk GitHub App
+layout:
+  title:
+    visible: true
+  description:
+    visible: true
+  tableOfContents:
+    visible: true
+  outline:
+    visible: true
+  pagination:
+    visible: true
+---
+
+# Manual Setup
+
+{% hint style="info" %}
+If you use GitHub, we recommend you follow the [GitHub Integration](get-started.md) guide.
+{% endhint %}
+
+{% tabs %}
+{% tab title="GitHub Actions" %}
+If you're using GitHub but wish to setup up your own GitHub Actions Workflows, you can use the provided [Trunk GitHub Action](https://github.com/marketplace/actions/trunk-check).
+
+```yaml
+name: Linter
+on:
+  push:
+    branches: main
+  pull_request:
+    branches: main
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Check
+        uses: trunk-io/trunk-action@v1
+        with:
+          post-annotations: true 
+      # ... other CI steps
+```
+{% endtab %}
+
+{% tab title="GitLab" %}
+GitLab performs a shallow clone by default which limits trunk's ability to detect the upstream commit to compute changes from. This is easily solved by simply fetching your main branch before running `trunk`:
+
+```bash
+git fetch origin main
+trunk check --ci
+```
+
+{% hint style="info" %}
+If your default branch is named something else (e.g. `master`), you should `fetch` that branch inst
+{% endhint %}
+{% endtab %}
+
+{% tab title="Other Providers" %}
+`trunk check --ci` will work on any CI provider.
+
+You may also want to specify `--upstream` if, for example, your PRs are not merged into your default branch, but into a `develop` branch.
+{% endtab %}
+{% endtabs %}
+
+## Caching and Persistence
+
+* Trunk caches the version of `trunk` itself, linters, formatters, and lint results, in `~/.cache/trunk`
+* If your build machines are persistent, make sure this directory is not wiped out between CI jobs for best performance. If Trunk has to re-download every linter for every job because this directory is wiped out, it will be very slow.
+* If your build machines are ephemeral, there are a few options for caching:
+  * CI systems have support for caching between CI jobs on ephemeral runners:
+    * [GitHub Actions](https://github.com/actions/cache)
+    * [CircleCI](https://circleci.com/docs/caching/)
+    * [Travis CI](https://docs.travis-ci.com/user/caching/)
+  * You can include a seeded trunk cache in a regularly updated image used for CI by running `trunk check download`, which will download all requirements to `~/.cache/trunk`
+
+## Running `trunk check` on Hourly/Nightly Builds
+
+If you'd like to setup `trunk check` to run on a hourly/nightly CI run or release branch we recommend running with the following command:
+
+```bash
+trunk check --all --ci-progress --monitor=false
+```
+
+`--ci-progress` will print out the tool's progress every 30 seconds, whereas `--no-progress` will suppress any progress reporting.
+
+You can also explicitly set the upstream branch if needed via `--upstream`, but we do detect your main branch by default.
+
+### Uploading Results From Hourly/Nightly Builds
+
+Trunk Code Quality has the ability to post its results to [app.trunk.io](https://app.trunk.io/login?intent=code%20quality). This will enable you to view your repository's Code Quality history over time so you can track the trend of issues in your code, as well as browse the issues in your repository to help you understand which issues should be prioritized to fix.
+
+In order to keep the data up-to-date, you should upload Trunk Code Quality results regularly in an automated fashion. Depending on the size of your repository and the linters you have configured to run, running Trunk Code Quality on your whole repository may take a while. Because this run may take a while, we recommend uploading Trunk Code Quality results once daily. However, the system supports uploading results for every commit, so the granularity of upload is up to you.
+
+### Running `trunk check --upload`
+
+{% hint style="info" %}
+Before running `trunk check --upload` you must have [connected your Github repository to your Trunk account](get-started.md).
+{% endhint %}
+
+#### CI Setup for nightly uploads
+
+You can use the [Trunk GitHub Action](https://github.com/marketplace/actions/trunk-check) to upload results nightly for your main branch. You can provide it with a `trunk-token` by navigating to Settings → Repositories → {your repository} and clicking "View Api Token".
+
+Example nightly workflow to upload results: [`nightly.yaml`](https://github.com/trunk-io/trunk-action/blob/main/.github/workflows/nightly.yaml)
+
+#### Running `trunk check --upload` locally
+
+1. `trunk check --upload` is different than a normal `trunk check` invocation because we explicitly want the Trunk CLI to find all of the issues in the repository. Because of this, we recommend adding the `--all` flag to your `trunk check --upload` invocation. Keep in mind, this won't override the ignore settings in your `trunk.yaml` file. Any linter or file-level ignores you have configured will be honored by `trunk check --upload`.
+2. `trunk check --upload` accepts the same flags and filters as `trunk check` that you run locally and for CI, and it also has the same runtime dependencies.
+3. You should run your `trunk check --upload` command locally without the `--upload` flag to verify that it is working as expected. If you have a large repository or many checks enabled, `--all` may take a long time. In this case, remember to use `--sample`.
+4. Required command line parameters
+   1. `--token`: The Trunk API token for this repository. You can find this by navigating to Settings → Repositories → {your repository} and clicking "View Api Token".
+   2. `--series`: This is the name of the time-series this upload run is a part of. We recommend using the name of the branch you are running `trunk check` on. For example, we run `trunk check --upload` regularly on our `main` branch, so we use `--series main`. You may instead prefer to track specific releases or tags, or create an experimental series. The series name does not need to match any git object, it is available as a way to organize your upload data. If you're unsure of what to use for `--series`, just use the name of your main branch (typically `main` or `master`)
+
+```bash
+trunk check --all --upload --series main --token REDACTED
+```
+
+#### Troubleshooting
+
+Normally we infer repo information from the `origin` remote, however if you don't have an `origin` or for another git configuration reason it can't be inferred, it can be explicitly defined in `trunk.yaml`:
+
+1. Add a `repo` section to your Trunk config. This allows the Trunk CLI to connect with the appropriate repository in the Trunk system.
+   1. `host`: Where your repository is hosted. Currently only Github is supported, so this value should be `github.com`,
+   2. `owner`: The Github Owner of the repository, typically the first path section of your repository URL. For example, if we were connecting with [https://github.com/google/googletest](https://github.com/google/googletest), the `owner` would be `google`.
+   3. `name`: The name of the repository. Continuing with our example above, the `name` would be `googletest`.
+
+This is what the `repo` section of your config would look like if your repository was hosted at [https://github.com/google/googletest](https://github.com/google/googletest)
+
+```yaml
+repo:
+  repo:
+    host: github.com
+    owner: google
+    name: googletest
+```
+
+Note the repo/repo nested structure.
diff --git a/code-quality/ci-setup/get-started.md b/code-quality/ci-setup/get-started.md
new file mode 100644
index 00000000..6a1ff393
--- /dev/null
+++ b/code-quality/ci-setup/get-started.md
@@ -0,0 +1,142 @@
+---
+description: Automate your code quality enforcement with just a few clicks.
+---
+
+# GitHub Integration
+
+Trunk Code Quality has the ability to post its results to the [Trunk Code Quality web app](https://app.trunk.io/login?intent=code%20quality). This will enable you to view your repository's Code Quality history over time so you can track the trend of issues in your code, as well as browse the issues in your repository to help you understand which issues should be prioritized to fix.
+
+## Connect your Trunk organization to GitHub
+
+Sign up at [app.trunk.io](https://app.trunk.io/signup?intent=code%20quality), create a Trunk organization, and connect it to your repositories. You will need to grant the following [GitHub App permissions](../../administration/github-app-permissions.md).
+
+{% @supademo/embed demoId="HXyBmoBn0_OX9Xite2fqd" url="https://app.supademo.com/demo/HXyBmoBn0_OX9Xite2fqd" %}
+
+## Set Up Trunk Code Quality
+
+Once your Trunk organization is connected to GitHub, create a .trunk repo in your account or organization and grant Trunk permissions to access the repo. The .trunk repo will hold the workflows to scan your codebase and pull requests. [Learn more about the .trunk repo](https://docs.trunk.io/code-quality/setup-and-installation/github-integration#what-is-a-.trunk-repository).
+
+{% @supademo/embed demoId="pRr_eDzh-klIQdK_yW3se" url="https://app.supademo.com/demo/pRr_eDzh-klIQdK_yW3se" %}
+
+## Configure Slack Notifications (optional)
+
+If you would like to receive notifications for new issues Trunk finds in your repo, you can configure Trunk to be connected to Slack.
+
+{% @supademo/embed demoId="cllpdjqhy1jf1051a1nff1a3y" url="https://app.supademo.com/demo/cllpdjqhy1jf1051a1nff1a3y" %}
+
+## Use it!
+
+### Ensure that PRs are free of issues
+
+Check out [this example](https://github.com/trunk-io/plugins/pull/424/checks?check\_run\_id=15730277425) in our `plugins` repository!
+
+<div data-full-width="true">
+
+<figure><img src="../../.gitbook/assets/image (35).png" alt=""><figcaption><p>Trunk Code Quality identifying a security issue in one of Trunk's own repositories</p></figcaption></figure>
+
+</div>
+
+## Scanning your repository
+
+Trunk Code Quality can scan your repository for Code Quality issues on a daily cadence, upload them to Trunk for you to review at your convenience, and notify you via Slack whenever new issues are discovered in your repository.
+
+This allows you to build confidence in the code health of your repositories:
+
+* You will be alerted quickly in a [Heartbleed-type](https://heartbleed.com/) event, giving you assurances about whether or not a newly discovered vulnerability affects any of your repositories, and
+* You can monitor how many Code Quality issues exist in each of your repositories and make data-driven decisions about prioritizing efforts to reduce tech debt
+
+If you don't want Trunk Code Quality to scan your repository on a daily cadence or notify you, you can turn it off in [your repository's settings](https://app.trunk.io/signup?intent=code%20quality).
+
+<figure><img src="../../.gitbook/assets/Screenshot 2023-08-23 173119.png" alt=""><figcaption><p>Trunk Code Quality showing all the issues present in trunk-demo1/sass</p></figcaption></figure>
+
+### Get Slack notifications about new issues in your repository
+
+Not only do our daily scans allow you to browse and triage the issues in your repository, but they can also notify you when new security issues are discovered in packages you already depend on.
+
+<div data-full-width="true">
+
+<figure><img src="../../.gitbook/assets/Screenshot 2023-08-23 173252.png" alt=""><figcaption><p>Slack notification showing newly discovered issues with rustls-webpki in trunk-io/trunk</p></figcaption></figure>
+
+</div>
+
+## Checking pull requests
+
+Trunk Code Quality can automatically detect new Code Quality issues on your pull requests and flag them so that you can prevent pull requests from introducing any new issues in your repository.
+
+When running on a pull request, Trunk Code Quality will only flag _new_ issues, not existing ones, so that your engineers don't have to fix pre-existing linter issues in every file they touch - this is the same [hold-the-line technology](../overview/how-does-it-work.md#hold-the-line) that our VSCode extension and CLI use.
+
+<details>
+
+<summary>Fixing issues in pull requests</summary>
+
+To confirm that you've fixed issues identified by Trunk Code Quality before pushing your pull request, just run `trunk check`.
+
+If Trunk continues to identify new Code Quality issues on your PR, first try merging the latest changes from your base branch. When Trunk runs on a PR, it runs on a commit that merges your PR into its base branch, just like GitHub workflows.
+
+If this continues to fail, then run `git checkout refs/pull/<PR number>/merge && trunk check`. This is a reference to the merge commit GitHub creates.
+
+</details>
+
+<details>
+
+<summary>Skipping Trunk Code Quality</summary>
+
+You can include `/trunk skip-check` in the body of a PR description (i.e. the first comment on a given PR) to mark Trunk Code Quality as "skipped". Trunk Code Quality will still run on your PR and report issues, but this will allow the PR to pass a GitHub required status check on `Trunk Check`.
+
+This can be helpful if Code Quality is flagging known issues in a given PR that you don't want to [ignore](../linters/ignoring-issues-and-files.md), which can come in handy if you're doing a large refactor.
+
+</details>
+
+If you don't want Trunk Code Quality to run on pull requests, turn it off in [your repository's settings](https://app.trunk.io/login?intent=code%20quality).
+
+### Uploading Results
+
+The upload feature of Trunk Code Quality will upload all of the issues found by Trunk to the Trunk services. In order to get an accurate picture of the state of your repository, you'll want to upload all of the Trunk Code Quality issues for your whole repository.&#x20;
+
+Generally this should be done within your Continuous Integration system (CI) automatically whenever **pull requests are filed or pushed to a specific branch** in your repo. Trunk Code Quality can also **run periodically** to check for new vulnerabilities in your dependencies.
+
+### How Does It Work?
+
+Under the hood, the GitHub integration does the following to your organization to enable Trunk Code Quality in GitHub Actions Workflows:
+
+* An installation of the Trunk.io GitHub app in your GitHub organization
+* A `.trunk` repository in your GitHub organization.
+
+### What is a `.trunk` repository?
+
+The `.trunk` repository contains the workflows run to scan your codebase and pull requests. We recommend creating a `.trunk` repository in your GitHub organization using [this template repository](https://github.com/trunk-io/.trunk-template).
+
+Your `.trunk` repository must be added to your Trunk GitHub app installation. You can verify this by navigating to: `https://github.com/organizations/<your_organization>/settings/installations`, clicking "configure" next to Trunk-io, and verifying that the repository access is either "All repositories" or that your `.trunk` repository is selected.
+
+To find Code Quality issues in your repositories and pull requests, we dispatch GitHub Actions workflows in your `.trunk` repository, which check out your repositories and pull requests and then run `trunk check` in them. This strategy allows you to:
+
+* start using Trunk Code Quality in all your repositories without any configuration, and
+* be in full control over the environment where we analyze your code, since we're running on your GitHub Actions runners.
+
+{% hint style="info" %}
+🚧 `.trunk` should have private visibility
+
+Since we use workflow runs in `.trunk` to analyze any repository in your organization and record Code Quality findings, you should think carefully about who has permissions to view workflow runs in your `.trunk` repository. For most organizations, simply making your `.trunk` repository private will be sufficient.
+{% endhint %}
+
+## (optional) Custom setup logic
+
+If you need to do some setup before `trunk check` runs in `your-org/your-repo`, you can [define a GitHub composite action](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) in `.trunk/setup-ci/action.yaml` in `your-repo`. This can be important if, for example, a linter needs some generated code to be present before it can run:
+
+```yaml
+name: Trunk Code Quality setup
+description: Set up dependencies for Trunk Code Quality
+
+runs:
+  using: composite
+  steps:
+    - name: Build required trunk check inputs
+      shell: bash
+      run: bazel build ... --build_tag_filters=pre-lint
+      
+    - name: Install eslint dependencies
+      shell: bash
+      run: npm install
+```
+
+Read more in the documentation for [our GitHub Action](https://github.com/trunk-io/trunk-action#custom-setup).
diff --git a/code-quality/ci-setup/github-integration.md b/code-quality/ci-setup/github-integration.md
new file mode 100644
index 00000000..62e7a6a2
--- /dev/null
+++ b/code-quality/ci-setup/github-integration.md
@@ -0,0 +1,78 @@
+# Nightly Report (Deprecated)
+
+{% hint style="danger" %}
+**Deprecation Warning**\
+The Trunk Code Quality web app, Code Quality on PRs, and Code Quality Nightly will soon be deprecated. Follow our [migration guide](../setup-and-installation/prevent-new-issues/migration-guide.md) to migrate off these features.
+{% endhint %}
+
+Trunk Code Quality can post its results to the [Trunk Code Quality web app](https://app.trunk.io/login?intent=code%20quality). This allows you to view your repository's Code Quality history over time, track quality trends, and browse issues to help prioritize fixes.
+
+### Connect your Trunk organization to GitHub
+
+Sign up at [app.trunk.io](https://app.trunk.io/signup?intent=code%20quality), create a Trunk organization, and connect it to your repositories. You will need to grant the following GitHub App permissions.
+
+{% @supademo/embed demoid="HXyBmoBn0_OX9Xite2fqd" url="https://app.supademo.com/demo/HXyBmoBn0_OX9Xite2fqd" %}
+
+### Set Up Trunk Code Quality
+
+Once your Trunk organization is connected to GitHub, create a .trunk repo in your account or organization and grant Trunk permissions to access the repo. The .trunk repo will hold the workflows to scan your codebase and pull requests. [Learn more about the .trunk repo](github-integration.md#uploading-results).
+
+{% @supademo/embed demoid="pRr_eDzh-klIQdK_yW3se" url="https://app.supademo.com/demo/pRr_eDzh-klIQdK_yW3se" %}
+
+### Configure Slack Notifications (optional)
+
+If you would like to receive notifications for new issues Trunk finds in your repo, you can configure Trunk to be connected to Slack.
+
+{% @supademo/embed demoid="cllpdjqhy1jf1051a1nff1a3y" url="https://app.supademo.com/demo/cllpdjqhy1jf1051a1nff1a3y" %}
+
+### **How Trunk Uploads Results**
+
+The upload feature of Trunk Code Quality will upload all of the issues found by Trunk to the Trunk services. To get an accurate picture of the state of your repository, you'll want to upload all of the Trunk Code Quality issues for your whole repository.
+
+Generally, this is done within your Continuous Integration system (CI) automatically whenever **pull requests are filed or pushed to a specific branch** in your repo. Trunk Code Quality can also **run periodically** to check for new vulnerabilities in your dependencies.
+
+#### **How Does It Work?**
+
+Under the hood, the GitHub integration does the following for your organization to enable Trunk Code Quality in GitHub Actions Workflows:
+
+* An installation of the Trunk.io GitHub app in your GitHub organization
+* A `.trunk` repository in your GitHub organization.
+
+#### **What is a `.trunk` repository?**
+
+The `.trunk` repository contains the workflows run to scan your codebase and pull requests. We recommend creating a `.trunk` repository in your GitHub organization using [this template repository](https://github.com/trunk-io/.trunk-template).
+
+Your `.trunk` repository must be added to your Trunk GitHub app installation. You can verify this by navigating to: `https://github.com/organizations/<your_organization>/settings/installations`, clicking "configure" next to Trunk-io, and verifying that the repository access is either "All repositories" or that your `.trunk` repository is selected.
+
+To find Code Quality issues in your repositories and pull requests, we dispatch GitHub Actions workflows in your `.trunk` repository, which checks out your repositories and pull requests and then run `trunk check` in them. This strategy allows you to:
+
+* start using Trunk Code Quality in all your repositories without any configuration, and
+* be in full control over the environment where we analyze your code, since we're running on your GitHub Actions runners.
+
+{% hint style="info" %}
+🚧 `.trunk` should have private visibility
+
+Since we use workflow runs in `.trunk` to analyze any repository in your organization and record Code Quality findings, you should think carefully about who has permission to view workflow runs in your `.trunk` repository. For most organizations, simply making your `.trunk` repository private will be sufficient.
+{% endhint %}
+
+#### (optional) Custom setup logic
+
+If you need to do some setup before `trunk check` runs in `your-org/your-repo`, you can [define a GitHub composite action](https://docs.github.com/en/actions/creating-actions/creating-a-composite-action) in `.trunk/setup-ci/action.yaml` in `your-repo`. This can be important if, for example, a linter needs some generated code to be present before it can run:
+
+```yaml
+name: Trunk Code Quality setup
+description: Set up dependencies for Trunk Code Quality
+
+runs:
+  using: composite
+  steps:
+    - name: Build required trunk check inputs
+      shell: bash
+      run: bazel build ... --build_tag_filters=pre-lint
+      
+    - name: Install eslint dependencies
+      shell: bash
+      run: npm install
+```
+
+Read more in the documentation for [our GitHub Action](https://github.com/trunk-io/trunk-action#custom-setup).
diff --git a/code-quality/code-quality.md b/code-quality/code-quality.md
new file mode 100644
index 00000000..9da9ee05
--- /dev/null
+++ b/code-quality/code-quality.md
@@ -0,0 +1,31 @@
+---
+description: Metalinter for over 100 code checking tools.
+---
+
+# Overview
+
+<figure><img src="../.gitbook/assets/check.png" alt=""><figcaption></figcaption></figure>
+
+Trunk Code Quality is a **metalinter** that lets you lint every language and every file in your project with a single tool using 100+ supported idiomatic code-checking tools, such as ESLint, Prettier, Ruff, and more for every language and project.
+
+Trunk Code Quality is trusted by popular open-source projects like [**ESLint**](https://eslint.org/) to improve their developer experience. [Learn more about how ESLint leverages Code Quality in their repos](https://trunk.io/blog/improving-linting-experience-in-eslint-s-open-source-repo-with-trunk-code-quality).
+
+{% hint style="success" %}
+**Trunk Code Quality is free for Open-Source.**
+
+Maintaining consistency in open-source repos is hard. That's why Trunk Code Quality is free for repos like [ESLint](https://github.com/eslint/eslint), which leverages Code Quality to overcome linting challenges in their repos. [Learn more about pricing](https://trunk.io/pricing)
+{% endhint %}
+
+### What is Code Quality?
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Why Metalinters?</strong></td><td>A tour of Code Quality, what it does, its key features, and its components.</td><td></td><td><a href="overview/">overview</a></td></tr><tr><td><strong>How does it work?</strong></td><td>How Code Quality works under the hood to level up your linting experience.</td><td></td><td><a href="overview/how-does-it-work.md">how-does-it-work.md</a></td></tr><tr><td><strong>Why Code Quality?</strong></td><td>What makes Trunk Code Quality different from other metalinters.</td><td></td><td><a href="overview/why-code-quality.md">why-code-quality.md</a></td></tr><tr><td><strong>Supported Linters</strong></td><td>Browse the 100+ supported static analysis tools to lint, format, and secure your projects.</td><td></td><td><a href="linters/supported/">supported</a></td></tr></tbody></table>
+
+### How do I get started?
+
+{% hint style="danger" %}
+**Deprecation Warning**\
+The Trunk Code Quality web app, Code Quality on PRs, and Code Quality Nightly will soon be deprecated. Follow the instructions on the [Linting in CI](setup-and-installation/prevent-new-issues.md) page to migrate off these features.
+{% endhint %}
+
+<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Trunk CLI</strong></td><td>Initialize Code Quality in your projects using the Trunk CLI.</td><td></td><td><a href="setup-and-installation/initialize-trunk.md">initialize-trunk.md</a></td></tr><tr><td><strong>IDE Integration</strong></td><td>Initialize Code Quality in your projects using a VSCode extension.</td><td></td><td><a href="ide-integration/">ide-integration</a></td></tr></tbody></table>
+
diff --git a/code-quality/debugging.md b/code-quality/debugging.md
new file mode 100644
index 00000000..38e6d7d0
--- /dev/null
+++ b/code-quality/debugging.md
@@ -0,0 +1,132 @@
+# Debugging
+
+## Why Aren't Issues Showing up Anymore?
+
+If you aren’t seeing any issues the likely cause is that your local repo is clean. By default Trunk Code Quality only processes new changes to your codebase (read about [hold-the-line](overview/how-does-it-work.md#hold-the-line)).
+
+You can use `trunk check` to scan for older, pre-existing lint issues.
+
+For example, to look at a sampling of each linter's issues for 5 random files:
+
+```sh
+trunk check --samples=5 
+```
+
+You can also scan all files using `--all`:
+
+```sh
+trunk check --all
+```
+
+[Read our docs for more information on CLI options](setup-and-installation/deal-with-existing-issues.md#fixing-existing-issues).
+
+## My Linters Are Failing or Not Running as Expected
+
+When your linters aren’t working the way you expect, first check their configuration. Trunk’s [list of supported linters](linters/supported/) provides some specific tips for certain linters. You can see the full default configuration of every linter in [Trunk’s public plugin repo](https://github.com/trunk-io/plugins/tree/main).
+
+You can also try running `trunk check --verbose` to see what’s going on under the hood. If that still doesn’t work then please reach out to us on [our community Slack](https://trunkcommunity.slack.com/ssb/redirect) with the output of `trunk check --verbose`.
+
+## Why Does Trunk Take up So Much Disk Space?
+
+Trunk Code Quality uses hermetically versioned tools, which means it downloads a separate copy of the tools and runtime for each tool version. Over time, as tools are upgraded, this can leave a lot of unnecessary files in the cache directory. Trunk is working on a way to automatically remove unneeded files from the cache. In the meantime, you can safely clear your cache with
+
+```
+trunk cache clean --all
+```
+
+then run `trunk install` again in your repos.
+
+## How do I Make a Linter Work with a Different File Type?
+
+Every linter defines a set of file types that it wants to work with in a section of the YAML called `files`. To change this you need to override the files section of that linter’s definition. [More linter application file types](../references/cli/configuration/lint/files-and-caching.md#applicable-filetypes).
+
+Suppose you are using the **foo-linter** which normally runs on `foo` files. The config might look like this:
+
+```yaml
+lint:
+  files:
+    - name: foo
+      extensions: [foo]
+  definitions:
+    - name: foo-linter
+      files: [foo]
+      commands:
+        - name: lint
+          output: pass_fail
+          run: echo “foo”
+          success_codes: [0, 1]
+```
+
+To add support for `bar` files add this to your `trunk.yaml` file. The first part defines the `bar` file type, and the second says that `foo-linter` uses both `foo` and `bar` files.
+
+```yaml
+lint:
+  files:
+    - name: bar
+      extensions: [bar]
+...
+      
+  definitions:
+    - name: foo-linter
+        files:
+          - foo
+          - bar
+```
+
+## How can I Disable Trunk on a Commit for just Me, but Keep it on for the Rest of my Team?
+
+If you prefer to never run Trunk on commit and push you can disable it just for you. Edit or create the `.trunk/user.yaml` file and change the `actions.disabled` section to look like this:
+
+```yaml
+version: 0.1
+actions:
+  disabled:
+    - trunk-check-pre-push
+    - trunk-fmt-pre-commit
+  
+```
+
+This will disable the checks for just the current user. The `.trunk/user.yaml` file is specifically gitignored but will be loaded locally if present.
+
+## What Should I do if a Linter Process Seems to Take Longer than Expected During a Trunk Check?
+
+There are two main strategies to address this issue: **configuring timeouts** and **ignoring certain files**.
+
+**Timeout Configuration**
+
+Each linter integrated with Trunk Code Quality has a default timeout of 10 minutes to prevent processes from running indefinitely. If a linter exceeds this time frame, Trunk Code Quality will automatically terminate the process and notify you of the timeout.
+
+To adjust the timeout duration for a specific linter, you can modify its `run_timeout` setting in your configuration. For example:
+
+```
+lint:
+    definitions:
+    - name: clang-tidy
+      run_timeout: 5m
+```
+
+Timeouts can be specified using `s` for seconds, `m` for minutes, or `h` for hours, allowing you to tailor the behavior to your project's needs. More on [linter timeouts](linters/configure-linters.md#timeout).
+
+**Ignoring Files**
+
+Certain files, particularly those that are auto-generated, may not require linting and can significantly extend the duration of checks. To exclude these from being checked, use the `ignore` key in your configuration:
+
+```
+lint:
+  ignore:
+    - linters: [ALL]
+      paths:
+        # Ignore generated files
+        - src/generated/**
+        # Except for files ending in .foo
+        - !src/generated/**/*.foo # Test data
+        - test/test_data
+```
+
+This approach lets you specify which linters to ignore for particular paths, optimizing the check process and focusing on relevant files. [More details on ignoring files](linters/).
+
+## `trunk init` says "Trunk can only init if it's run at the root of a git repo"
+
+Trunk requires that you run `trunk init` from the root of a git repository. Trunk is git-aware, and relies on git to understand which files are modified, gitignored, and more.
+
+If you see this message, it means that you are not in the root directory of a git repository. If you are in a git worktree, Trunk _does_ support worktrees. Your worktree may be in a broken state, try running `git worktree repair` and then `trunk init` again.
diff --git a/code-quality/ide-integration/README.md b/code-quality/ide-integration/README.md
new file mode 100644
index 00000000..e14549cb
--- /dev/null
+++ b/code-quality/ide-integration/README.md
@@ -0,0 +1,11 @@
+# IDE Integration
+
+Code Quality helps you shorten the feedback loop by integrating with your favorite IDEs and code editors.&#x20;
+
+### How it works
+
+Code Quality runs [a daemon](../overview/how-does-it-work.md#daemon) that looks for files that change in real time and lints the changes using the same tools and configuration as running `trunk check`. With LSP support, you will get instant feedback on your code changes as you write.
+
+### Supported IDEs
+
+<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-type="checkbox"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>VS Code</td><td></td><td></td><td><a href="../../.gitbook/assets/VSCode (1).svg">VSCode (1).svg</a></td><td>false</td><td><a href="vscode.md">vscode.md</a></td></tr><tr><td>Neovim</td><td></td><td></td><td><a href="../../.gitbook/assets/neo_vim.svg">neo_vim.svg</a></td><td>false</td><td><a href="neovim.md">neovim.md</a></td></tr><tr><td>GitHub Codespaces</td><td></td><td></td><td><a href="../../.gitbook/assets/github-logo (2).svg">github-logo (2).svg</a></td><td>false</td><td><a href="../../cli/configuration/github-codespaces.md">github-codespaces.md</a></td></tr></tbody></table>
diff --git a/code-quality/ide-integration/neovim.md b/code-quality/ide-integration/neovim.md
new file mode 100644
index 00000000..13e5c20d
--- /dev/null
+++ b/code-quality/ide-integration/neovim.md
@@ -0,0 +1,58 @@
+# Neovim
+
+{% hint style="info" %}
+📘 The Trunk Code Quality Neovim Plugin is available for beta!
+
+Try it out by following the instructions below.
+{% endhint %}
+
+### Prerequisites
+
+The Neovim Plugin needs the following prerequisites:
+
+| Tool   | Minimum Required Version |
+| ------ | ------------------------ |
+| CLI    | 1.17.0                   |
+| Neovim | v0.9.2                   |
+
+### Get Started
+
+Using the [lazy.nvim](https://github.com/folke/lazy.nvim#readme) plugin manager:
+
+```lua
+require("lazy").setup({
+	{
+		"trunk-io/neovim-trunk",
+		lazy = false,
+		-- optionally pin a version
+		tag = "v0.1.3",
+		-- these are optional config arguments (defaults shown)
+		config = {
+			-- trunkPath = "trunk",
+			-- lspArgs = {},
+			-- formatOnSave = true,
+                        -- formatOnSaveTimeout = 10, -- seconds
+			-- logLevel = "info"
+		},
+		main = "trunk",
+		dependencies = {"nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim"}
+	}
+})
+```
+
+For other plugin managers and installation methods, see our [Neovim Plugin repo](https://github.com/trunk-io/neovim-trunk#installation).
+
+### Features
+
+The Neovim Plugin is designed to mirror the [VSCode extension](vscode.md). Supported features include:
+
+* Provide inline diagnostics and auto-fixes
+* Format files on save
+* Run [Trunk Actions](../../references/cli/getting-started/actions/) notifications
+* Display the linters that Trunk runs on a file
+
+### Limitations
+
+The Trunk Code Quality Neovim Plugin is in beta with limited support. If you encounter any issues, feel free to reach out on [Slack](https://slack.trunk.io).
+
+For other notes and configuration, see the [Neovim Plugins repo](https://github.com/trunk-io/neovim-trunk#trunk-check-neovim-plugin).
diff --git a/code-quality/ide-integration/vscode.md b/code-quality/ide-integration/vscode.md
new file mode 100644
index 00000000..17544ad7
--- /dev/null
+++ b/code-quality/ide-integration/vscode.md
@@ -0,0 +1,80 @@
+# VSCode
+
+Trunk Code Quality is available as a [VSCode extension](https://marketplace.visualstudio.com/items?itemName=trunk.io) that you can use to streamline your linting and formatting experience.
+
+### Get Started
+
+By default, Trunk will try to automatically initialize itself in single-player mode. This means that it'll create a Trunk configuration that is hidden from git, which allows you to try it out [without Trunk's versioning powers](vscode.md#single-player-mode).
+
+If Trunk has not initialized itself in single-player mode, then you will need to initialize it manually, either by pressing the 'Initialize Trunk' button in the Trunk side panel:
+
+![initialize trunk](https://static.trunk.io/assets/vscode_init_trunk.png)
+
+### Features
+
+#### Discovery
+
+Trunk will suggest tools that will supercharge your development, from `actionlint`, for your GitHub Actions, to`sql-formatter` and `sqlfluff` for your SQL, to`yamllint`, for your YAML files.
+
+We believe that everything in your repository not only can be, but should be, automatically formatted and linted. We recognize that part of this is making it easy for developers to discover tools that apply to their codebases. When Trunk is initialized, we turn on as many additional tools as we can, and periodically follow up with additional suggestions.
+
+#### Seamless user experience
+
+On the sidebar to the left, you'll see the Trunk icon which you can use to open the side panel to view issues. By default, issues are populated for every file you open as well as any modified files.
+
+![side panel](https://static.trunk.io/assets/vscode_side_panel.png)
+
+Trunk also shows Trunk Code Quality Issues in a panel in the File Explorer, but you can hide it if you wish:
+
+![hide explorer panel](https://static.trunk.io/assets/vscode_hide_explorer_panel.jpg)
+
+#### Single-player Mode
+
+In single-player mode, Trunk creates a [configuration file](../linters/configure-linters.md) and hides it from Git, so that you can test out Trunk on your own and get familiar with how it works, without committing this file.
+
+Users normally check this file into your repository so that you can run Trunk reproducibly. It pins the version of trunk, as well as that of every runtime and linter that you've enabled, allowing your team to guarantee that everyone and your CI runners are always running the same checks on your code.
+
+To check it into your repository, all you have to do is run
+
+```bash
+trunk config share
+```
+
+or click on the notification to "Share trunk config", which will commit `.trunk/trunk.yaml`, the Trunk configuration file.
+
+### Trunk as default formatter
+
+You can use Trunk as your default formatter in VSCode if you have Trunk configured for the project.
+
+You can set `trunk.io` as the default formatter for just one language as in the example, or as a default for all languages.
+
+In your `settings.json` like this:
+
+```json
+"[markdown]": {
+  "editor.defaultFormatter": "trunk.io"
+}
+```
+
+For manual formatting, open the command palette and use `Format Document With...` and select `Trunk` there.
+
+### Learn more
+
+Check out how to [install the CLI](../setup-and-installation/), [set it up in CI](../setup-and-installation/initialize-trunk.md), [ignore issues](../linters/ignoring-issues-and-files.md), and set up [Custom Linters](../linters/custom-linters.md).
+
+![linter code docs](https://static.trunk.io/assets/vscode_doc_links.png)
+
+![trunk-ignore](https://static.trunk.io/assets/vscode_ignore_issue.gif)
+
+### Configuration
+
+* `trunk.inlineDecorators` – allows you to disable inline decorators for diagnostics.
+* `trunk.inlineDecoratorsForAllExtensions` – allows you to only render inline decorators for diagnostics that were generated by Trunk.
+
+### Debugging
+
+If you look at the "Window" output for the extension, you may find useful error logs.
+
+### Feature Requests & Bug Reports
+
+Looking for another feature? Hit a bug? 🐛 [Let us know!](https://slack.trunk.io/)
diff --git a/code-quality/licensing.md b/code-quality/licensing.md
new file mode 100644
index 00000000..9852fb4a
--- /dev/null
+++ b/code-quality/licensing.md
@@ -0,0 +1,117 @@
+# Licensing
+
+### Introduction
+
+Trunk Code Quality is a powerful metalinter that simplifies linting, formatting, and static analysis across your entire codebase. By integrating over 100 supported tools like ESLint, Prettier, Ruff, and more, it enables you to manage code quality with unified configuration and consistent reporting. Trunk Code Quality helps you install tools hermetically, run them efficiently, and integrate seamlessly with pull requests and CI pipelines.
+
+### Licensing Overview
+
+Trunk Code Quality is composed of a closed-source core complemented by open-source components that enhance extensibility and integration. Understanding the licensing terms for each part ensures compliance and optimal use.
+
+#### Closed-Source Components
+
+* Trunk CLI: The core command-line tool is closed-source but free to use under specific conditions.
+* VS Code Extension: Integrates Trunk Code Quality directly into your development environment. Under the hood, all code-checking by the VS Code extension is completed via the Trunk CLI, which drives the VS Code extension.
+
+#### Open-Source Components
+
+* Plugin System and Configurations: An extensible plugin system that allows you to define, extend, and share linter configurations. These plugins are open-source under the MIT License, enabling you to modify them or create new ones to integrate additional tools or customize behavior.
+* GitHub Action:  Scripts that automate Trunk Code Quality checks in your GitHub workflows. GitHub Actions require the source code to be visible for transparency and security. Our GitHub Action is open-source under the MIT License, allowing you to review, modify, and ensure it meets your needs.
+
+By open-sourcing these components, we promote transparency, extensibility, and community collaboration. This approach encourages our community and customers to contribute to the ecosystem, enhancing Trunk Code Quality for everyone.
+
+#### Free Usage
+
+You can use the Trunk CLI and access core functionalities for free under the following conditions:
+
+* Open-Source and Public Projects: Unlimited use in public repositories.
+* Private Repositories
+  * Free for teams with up to 5 active non-bot committers.
+  * An active committer is a non-bot user who has committed in the last 30 days.
+
+#### Paid Licensing
+
+For private repositories with over 5 active committers, a paid license is required to comply with Trunk Code Quality’s licensing agreement. While all features remain accessible, payment is necessary to meet licensing obligations and support the continued development of the product.
+
+Compliance and Support
+
+* Licensing Compliance: Payment ensures your use of Trunk Code Quality aligns with the licensing terms for larger teams.
+* Dedicated Support: Paid customers receive prioritized support to help with integration, troubleshooting, and maximizing the benefits of Trunk Code Quality.
+
+#### How Billing Works
+
+Trunk Code Quality offers two billing options for paid licenses:
+
+**1. Team Plan - Monthly Self-Serve Billing**
+
+* Per-Seat Model: Billing is based on the monthly active committers in your private repositories.
+* User Count Calculation:
+  * Counts non-bot users who have made commits in the last 30 days.
+  * Calculated at the end of each billing period to adjust the next invoice.
+* Integration with GitHub App: Install the Trunk GitHub App to allow us to measure active monthly users.
+* Billing Cycle: Month-to-month billing with invoices reflecting the latest user count.
+
+**2. Enterprise Plan - Annual Site License**
+
+* Fixed User Count: Based on the number of active committers at the beginning of the licensing term.
+* Organization-Wide License: Provides a license for all users in the organization during the entire term without the need to purchase additional licenses for new employees.
+* Simplified Billing: One annual payment covers all users for the year.
+* Discount: Incentives available with annual plans for logo usage, case study, and/or scale.&#x20;
+
+**Choosing the Right Option**
+
+* Team Plan: Appropriate for small teams that prefer flexibility and want to pay monthly with a credit card.
+* Enterprise Plan: Best for organizations that prefer predictable costs, to avoid the administrative overhead of tracking monthly user counts, and wish to benefit from the discounted rate.
+
+### FAQs
+
+**What are the benefits of paying for Trunk Code Quality?**
+
+Paying for Trunk Code Quality offers several important benefits:
+
+* Licensing Compliance: For private repositories with 5 or more active committers, purchasing a license is required to comply with Trunk Code Quality’s licensing terms and continue using the product legally and effectively.
+* Dedicated Support: Receive prioritized assistance to help integrate, troubleshoot, and maximize the product’s benefits in your production environment.
+* Priority Feature Requests: Your requests for new features and plugin integrations receive high priority, allowing you to influence the product’s development to suit your needs better.
+* Expert Consultation: Access advisory services from our team to optimize your code quality setup and linting processes.
+* Onboarding Assistance: Receive support and best practices guidance during the integration of Trunk Code Quality into your workflows.
+
+Importantly, all features are available regardless of licensing status; you do not unlock additional features by purchasing a license. However, buying a license ensures compliance with the licensing terms, supports the continued development of Trunk Code Quality, and provides access to the dedicated support and benefits listed above.
+
+**Do you provide free Proofs of Concept (POCs)?**
+
+Yes, we are happy to provide 2–4 week free POCs for teams that want to evaluate our product's capabilities with their team and as part of their CI. We also provide dedicated support and guidance throughout the POC period. Email us to get started at: [sales@trunk.io](mailto:sales@trunk.io).
+
+**What happens if I exceed the free usage limits?**
+
+If you exceed the free tier limits (e.g., more than 5 active committers in a private repository), you must obtain a paid license to continue using Trunk Code Quality in compliance with the licensing agreement.
+
+**Is the Trunk CLI free to use?**
+
+The Trunk CLI is free for public repositories and private repositories with fewer than 5 active committers. For private repositories with 5 or more active committers, a paid license is required to comply with the licensing agreement.
+
+**Can I use Trunk Code Quality in CI/CD pipelines for free?**
+
+Yes, you can integrate the Trunk CLI into your CI/CD pipelines for free if you’re within the free usage limits (public repositories or private repositories with fewer than 5 active committers). Exceeding these limits requires a paid license.
+
+**Is support provided for free users?**
+
+Yes, free users can seek help through our community Slack channel at [slack.trunk.io](https://slack.trunk.io) or participate in discussions on our [GitHub page](https://github.com/orgs/trunk-io/discussions). Our community members and developer relations engineers regularly participate in discussions and answer questions.
+
+**Why are some components open-source while the core is closed-source?**
+
+* Core Functionality: The Trunk CLI provides the core functionality and is closed-source to protect proprietary technology and ensure a consistent, reliable experience.
+* Open-Source Components: The plugin system and GitHub Action are open-source to promote transparency, security, and community-driven extensibility. This allows you to customize integrations and contribute to the development of plugins and workflows.
+
+**Do I need the Trunk CLI to use the open-source components?**
+
+Yes, the open-source components are designed to work with the Trunk CLI. They enhance and extend the functionality provided by the core tool but are not standalone applications.
+
+**How to Contribute to the Open-Source Components?**
+
+* Plugin Development: You can develop new plugins or improve existing ones by visiting our public GitHub repository at [github.com/trunk-io/plugins](https://github.com/trunk-io/plugins).
+* GitHub Action: Modify or fork our GitHub Action to better suit your CI workflows. The source code is available at [github.com/trunk-io/trunk-action](https://github.com/trunk-io/trunk-action).
+* Community Engagement: Join our community Slack channel at [slack.trunk.io](https://slack.trunk.io) to collaborate with other users and our development team.
+
+#### Contact Us
+
+For licensing inquiries, to obtain a paid license, or to discuss which billing option is best for your organization, please contact [sales@trunk.io](mailto:sales@trunk.io). We’re here to help you ensure compliance and get the most out of Trunk Code Quality.
diff --git a/code-quality/linters/README.md b/code-quality/linters/README.md
new file mode 100644
index 00000000..3391341c
--- /dev/null
+++ b/code-quality/linters/README.md
@@ -0,0 +1,43 @@
+# Linters
+
+Trunk Code Quality supports over [100 different linters](supported/) and formatters out of the box. This section covers how to run, manage, and configure these linters.
+
+### Supported Linters
+
+Trunk supports 100+ different linters and formatters. See the [Supported Linters](supported/) page to find the linters you need to maintain code quality in your repos.
+
+### Run Linters
+
+Trunk Code Quality supports many flexible ways to run your installed linters, for every project and every occasion.[ ](run-linters.md)
+
+[Learn the commands available ](run-linters.md)for the Trunk CLI.
+
+### Manage Linters
+
+Find and enable the linters you need to keep your code base healthy. Trunk helps you manage your long list of static analysis tools and runtimes through hermetic installs.
+
+[Learn how to discover, install, and upgrade linters](./#manage-linters) in your projects.
+
+### Configure Linters
+
+Trunk Code Quality's linter integrations are fully configurable. This means that you can easily tune existing linters or leverage our caching and [hold-the-line](../overview/how-does-it-work.md#hold-the-line) solution with your custom linters.&#x20;
+
+[Learn to configure your linters](configure-linters.md) to get the most out of Trunk Code Quality.
+
+### Ignoring Issues and Files <a href="#linter-integration" id="linter-integration"></a>
+
+Trunk Code Quality lets you configure flexible ignore for your linters. You can ignore issues by line, by files, by path, by issue type, by severity level, by file extension, and more.&#x20;
+
+[Learn to ignore irrelevant issues.](ignoring-issues-and-files.md)
+
+### Custom Linters
+
+Trunk lets you turn simple scripts into fully-powered linters by running these linters and giving them support for features like ignores, [hold-the-line,](../overview/how-does-it-work.md#hold-the-line) and other powerful configurable features,
+
+[Learn to create your own Custom Linters.](custom-linters.md)&#x20;
+
+### Shared Configs
+
+If your team has many repositories, many teams, and many languages, you would want to share a common set of config files to keep your **entire organization consistent**.
+
+[Learn to share configurations](shared-configs.md) across your org.
diff --git a/code-quality/linters/configure-linters.md b/code-quality/linters/configure-linters.md
new file mode 100644
index 00000000..49841803
--- /dev/null
+++ b/code-quality/linters/configure-linters.md
@@ -0,0 +1,280 @@
+# Configure Linters
+
+Trunk Code Quality's linter integrations are fully configurable. This means that you can easily tune existing linters or leverage our caching and [hold-the-line](../overview/how-does-it-work.md#hold-the-line) solution with your own custom linters.
+
+Here's an overview of the ways you can configure linters.
+
+### Config Hierarchy
+
+Linters can be configured at different places:
+
+1. The source plugin repo usually `https://github.com/trunk-io/plugins`.
+2. The repo-wide Trunk config file overrides the definitions in the plugin repos, `.trunk/trunk.yaml`
+3. Local, per-user configuration in `.trunk/user.yaml` which is used for local overrides of `.trunk/trunk.yaml` and doesn't
+4. Per linter configuration in linter config files such as `eslint.config.js` or `.prettierrc`.
+
+### Plugin system <a href="#lint-config-definitions" id="lint-config-definitions"></a>
+
+Trunk defines linter configuration in a plugin system. By default, it'll point to the [Trunk plugin repo on GitHub](https://github.com/trunk-io/plugins). You can check if other custom plugin sources are specified in your `trunk.yaml` file for [shared-configs.md](shared-configs.md "mention").
+
+```yaml
+version: 0.1
+cli:
+  version: 1.22.2
+# Trunk provides extensibility via plugins. (https://docs.trunk.io/cli/configuration/plugins)
+plugins:
+  sources:
+    - id: trunk
+      ref: v1.6.1
+      uri: https://github.com/trunk-io/plugins
+```
+
+### Linter Definitions <a href="#lint-config-definitions" id="lint-config-definitions"></a>
+
+Each linter implemented in the Plugin Repo has its own linter definition. Let's take clang-tidy as an example, which ships with the following default configuration:
+
+```yaml
+definitions:
+  ...
+  - name: clang-tidy
+    files: [c/c++-source]
+    type: llvm
+    commands:
+      - output: llvm
+        run: clang-tidy --export-fixes=- ${target}
+        success_codes: [0]
+    download: clang-tidy
+    direct_configs: [.clang-tidy]
+    disable_upstream: true
+    include_scanner_type: compile_command
+    environment:
+      - name: PATH
+        list: ["${linter}/bin"]
+  ...
+```
+
+#### Linter Definition Reference
+
+You can find the default definitions for linters in the [Plugin Repo](https://github.com/trunk-io/plugins/tree/main/linters) and find references for these fields on the [Linter Definitions](../../references/cli/configuration/lint/definitions.md) page.
+
+### Overriding Default Linter Definitions
+
+You may find while using Trunk that you want to modify one of these defaults: perhaps you want `clang-tidy` to not run on the upstream, or maybe you want the `node` runtime to include another environment variable. In these cases, you can specify the field in your `trunk.yaml` to override the default value.
+
+If you wanted to flip the value of `disable_upstream` to `false`, you could, in your own `trunk.yaml`, specify:
+
+<pre class="language-yaml"><code class="lang-yaml"><strong>definitions:
+</strong>  ...
+  - name: clang-tidy
+    disable_upstream: false
+  ...
+</code></pre>
+
+{% hint style="info" %}
+Overriding definitions in your `trunk.yaml` file doesn't require you to specify the entire definition again. You only need to specify what's being overridden.
+{% endhint %}
+
+#### Configure Linter Commands
+
+Some linters have multiple commands, such as [Ruff](supported/ruff.md), which can run in different ways. By default, Ruff is configured to only run as a linter:
+
+```yaml
+lint:
+  enabled:
+    - ruff@<version>:
+        commands: [lint]
+```
+
+You can configure ruff to also run the format command by adding it to the commands tuple:
+
+```yaml
+lint:
+  enabled:
+    - ruff@<version>:
+        commands: [lint, format]
+```
+
+#### Configure Linter Platforms
+
+Similarly, some linters are configured to run differently on different platforms or at different versions. When overriding a command definition, overrides are applied on the tuple `[name, version, platforms]`.
+
+For example, if you wanted to disable batching when running [ktlint](https://github.com/trunk-io/plugins/blob/main/linters/ktlint/plugin.yaml) on Windows, you could consider its default configuration:
+
+```yaml
+definitions:
+  ...
+  - name: ktlint
+    ...
+    commands:
+      - name: format
+        platforms: [windows]
+        run: java -jar ${linter}/ktlint.exe -F "${target}"
+        output: rewrite
+        cache_results: true
+        formatter: true
+        in_place: true
+        batch: true
+        success_codes: [0, 1]
+      - name: format
+        run: ktlint -F "${target}"
+        output: rewrite
+        cache_results: true
+        formatter: true
+        in_place: true
+        batch: true
+        success_codes: [0, 1]
+  ...
+```
+
+And override it as such:
+
+```yaml
+definitions:
+  ...
+  - name: ktlint
+    ...
+    commands:
+      - name: format
+        platforms: [windows]
+        batch: false
+  ...
+```
+
+When executing linters, Trunk will execute the first matching command based on its compatible platforms and linter version. Note when overriding that new commands that don't match an existing tuple are prepended to the resulting commands list.
+
+Alternatively, consider the default `node` runtime:
+
+```yaml
+runtimes:
+  definitions:
+    - type: node
+      download: node
+      runtime_environment:
+        - name: HOME
+          value: ${home}
+        - name: PATH
+          list: ["${runtime}/bin"]
+      linter_environment:
+        - name: PATH
+          list: ["${linter}/node_modules/.bin"]
+      version: 16.14.2
+      version_commands:
+        - run: "node --version"
+          parse_regex: ${semver}
+```
+
+If you want to add `${home}/my/special/node/path` to `PATH`, you could specify the following:
+
+```yaml
+runtimes:
+  - type: node
+    runtime_environment:
+      - name: HOME
+        value: ${home}
+      - name: PATH
+        list: ["${home}/my/special/node/path", "${runtime}/bin"]
+```
+
+### Blocking Thresholds
+
+All issue severities low-high are considered blocking by default. In cases where you might want to slowly try out a new linter, we provide a mechanism to set specific thresholds for each linter.
+
+```yaml
+lint:
+  threshold:
+    - linters: [clang-tidy]
+      level: high
+```
+
+Every entry in `threshold` defines a set of linters and the severity threshold that is considered blocking. In this example, we're saying that only `high` lint issues should be considered blocking for `clang-tidy`.
+
+<table><thead><tr><th width="97">Key</th><th>Value</th></tr></thead><tbody><tr><td>linters</td><td>List of linters (e.g. <code>[black, eslint]</code>) or the special <code>[ALL]</code> tag</td></tr><tr><td>level</td><td>Default <code>low</code>. Threshold at which issues are considered blocking. One of: <code>note</code>, <code>low</code>, <code>medium</code>, <code>high</code>, or <code>none</code> (this last option will result in issues never blocking)</td></tr></tbody></table>
+
+### Trigger rules
+
+Some linters do not operate on individual files. Instead, you must lint your entire repo at once. The way this is handled in Trunk is to set up a trigger rule. Most linters will not require the use of a trigger rule.
+
+Trigger rules work on 3 principles:
+
+1. Input(s) that trigger the linters. These can be files, directories, or extended globs.
+2. Linter(s) to run when a triggered file is modified.
+3. Targets(s) to pass to the linters (can be files or directories).
+
+An example for ansible-lint:
+
+```yaml
+lint:
+  enabled:
+    - ansible-lint@5.3.2
+
+  triggers:
+    - linters:
+        - ansible-lint
+      paths:
+        - ansible # A directory
+      targets:
+        - ansible # A directory
+```
+
+Triggered linters will also be run when executing trunk check with `--all` so long as a file exists that matches one of the listed paths.
+
+You may use `.` as a target to run on the entire repo instead of an isolated directory.
+
+### File Size
+
+By default, Trunk only lints files up to 4 MiB in size. To override this globally, specify a `default_max_file_size` in `lint`:
+
+```yaml
+lint:
+  default_max_file_size: 1048576 # Bytes
+```
+
+To override this for a specific linter, specify a `max_file_size` in its definition:
+
+```yaml
+lint:
+  definitions:
+    - name: prettier
+      max_file_size: 2097152 # Bytes
+```
+
+### Timeout
+
+Each linter has a default timeout of 10 minutes. If its execution takes longer than this amount of time, Trunk Code Quality will terminate the process and return an error to the user.
+
+To override the timeout for a specific linter, specify a `run_timeout` in its definition:
+
+```
+lint:
+    definitions:
+    - name: clang-tidy
+      run_timeout: 5m
+```
+
+The `run_timeout` value can be specified in seconds (`s`), minutes (`m`), or hours (`h`).
+
+### Local Linter Overrides
+
+Trunk can also be managed by the `.trunk/user.yaml` file in your repository. This file is optional, but it allows individual developers to customize how they want `trunk` to run on their machines.
+
+Simply configure `.trunk/user.yaml` as you would for `.trunk/trunk.yaml`. Be mindful that `.trunk/user.yaml` takes precedence over `.trunk/trunk.yaml`, so substantial modifications could violate hermeticity.
+
+### Per Linter Definitions
+
+Trunk allows you to keep using your existing linter configs, and new linters recommended by Trunk will have their configs added in the `.trunk/configs` folder. These config files will be symlinked in during any `trunk check` run.
+
+{% hint style="info" %}
+If you're using an IDE Extension like clangd with an LSP that relies on those configs being in the root, you will need to create an additional symlink from the hidden config to the workspace root.
+{% endhint %}
+
+#### Moving Linters
+
+You can move existing linter config files into the `.trunk/config` folder. You can check which files are automatically symlinked by looking for the `direct_configs` of [each plugin's definition](https://github.com/trunk-io/plugins/). If there are config files not listed, you can add them by overriding the definition like this:
+
+```yaml
+lint:
+  definitions:
+    - name: some_linter_name
+      direct_configs:
+        - .custom_config.file
+```
diff --git a/code-quality/linters/custom-linters.md b/code-quality/linters/custom-linters.md
new file mode 100644
index 00000000..c466d7ad
--- /dev/null
+++ b/code-quality/linters/custom-linters.md
@@ -0,0 +1,61 @@
+# Custom Linters
+
+Trunk Code Quality allows you to define custom linters. If a linter is not within the [list of supported linters](supported/) or you have a bespoke solution, you can define a custom linter.
+
+### Defining a Custom Linter
+
+You can define linters right in your `.trunk/trunk.yaml` file in your repo. These definitions have the same configurable parameters as in our [public plugins repo](https://github.com/trunk-io/plugins/blob/main/CONTRIBUTING.md) or [your own plugins repo](../../references/cli/configuration/plugins/external-repositories.md).
+
+#### Pass-Fail Linter Script Example
+
+For example, you can define a simple [pass-fail linter](custom-linters.md#pass-fail-linter-script-example) that runs a custom script file. The linter passes or fails based on the status code returned.
+
+```yaml
+version: 0.1
+cli:
+  version: 1.22.1
+lint:
+  enabled:
+    - SampleLinter
+  definitions:
+    - name: SampleLinter
+      files: [javascript, typescript]
+      commands:
+        - name: lint
+          run: sh ${workspace}/.trunk/myscript.sh ${target}
+          output: pass_fail
+          success_codes: [0, 1]
+```
+
+#### Inline Grep Command Example
+
+You can also define simple linters inline using tools like `grep`. This linter will grep against your custom regex pattern, format the output using sed, and then parse the output into pattern groups using a [regex output](../../references/cli/configuration/lint/output.md#regex) for Trunk Code Quality to report.
+
+```yaml
+# This file controls the behavior of Trunk: https://docs.trunk.io/cli
+# To learn more about the format of this file, see https://docs.trunk.io/cli/configuration
+version: 0.1
+cli:
+  version: 1.22.1
+lint:
+  enabled:
+    - SampleGrepLinter
+  definitions:
+    - name: SampleGrepLinter
+      files: [ALL]
+      commands:
+        - name: lint
+          run: bash -c "grep -o -E '<YOUR_PATTERN>' --line-number --with-filename ${target}"
+          success_codes: [0, 1]
+          read_output_from: stdout
+          parser:
+            run: 'sed -E "s/([^:]*):([0-9]+):(.*)/\1:\2:0: [error] Found \3 in line (numeric-\3)/"'
+          output: regex
+          parse_regex: "(?P<path>.*):(?P<line>-?\\d+):(?P<col>-?\\d+): \\[(?P<severity>[^\\]]*)\\] (?P<message>[^\\(]*) \\((?P<code>[^\\)]*)\\)"
+```
+
+To see the configurable fields available [Linter Definition Reference](../../references/cli/configuration/lint/definitions.md).
+
+### Contributing a New Linter
+
+The [Trunk Code Quality plugins repo](https://github.com/trunk-io/plugins/blob/main/CONTRIBUTING.md) is public and welcomes contributions. Feel free to open a PR if the new custom linter you defined could be useful to others. You can reach out to us [on Slack](https://slack.trunk.io/) if you need a hand.
diff --git a/code-quality/linters/ignoring-issues-and-files.md b/code-quality/linters/ignoring-issues-and-files.md
new file mode 100644
index 00000000..9fd87a43
--- /dev/null
+++ b/code-quality/linters/ignoring-issues-and-files.md
@@ -0,0 +1,155 @@
+# Ignoring Issues and Files
+
+## Ignoring parts of a file
+
+Sometimes we want to deliberately tell a linter that, yes, I know what I'm doing, and yes, in any other situation I should _not_ do this, but in this specific case it's fine. Maybe there's a dummy private key you're using for a test stack, or fixing the lint issue will actually make your code less readable: whatever it is, you now need to figure out how to suppress a given lint issue.
+
+Trunk provides a simple, standardized mechanism to do this, saving you from having to look up the linter-specific syntax for doing so:
+
+```cpp
+struct FooBar {
+  // trunk-ignore(clang-tidy/modernize-use-nullptr): load-bearing NULL, see ISSUE-832
+  void *ptr = NULL;
+};
+```
+
+This tells Trunk that the `clang-tidy` linter found a `modernize-use-nullptr` issue on the highlighted line and that Trunk should suppress this linter issue.
+
+Comments may be omitted:
+
+```cpp
+struct FooBar {
+  // trunk-ignore(clang-tidy/modernize-use-nullptr)
+  void *ptr = NULL;
+};
+```
+
+You can also omit the name of the check to simply tell Trunk that all issues from a given linter on a specific line should be suppressed:
+
+```cpp
+struct FooBar {
+  // trunk-ignore(clang-tidy)
+  void *ptr = NULL;
+};
+```
+
+`trunk-ignore` directives can also be placed at the end of the line on which they're suppressing lint issues:
+
+```cpp
+struct FooBar {
+  void *ptr1 = NULL;  // trunk-ignore(clang-tidy/modernize-use-nullptr)
+  void *ptr2 = NULL;  // trunk-ignore(clang-tidy)
+};
+```
+
+If you need to suppress issues from multiple linters, `trunk-ignore` supports that too:
+
+```cpp
+struct FooBar {
+  // trunk-ignore(clang-tidy): ISSUE-914 explains why the `void *` type is needed
+  // trunk-ignore(gitleaks,my-custom-linter/do-not-hardcode-passwords): see ISSUE-915
+  void *super_secret_password = (void *)("915dr~S$Pzqod~oR*CrQ$/SQ@hbtQBked:CL@z!y]");
+};
+```
+
+`trunk-ignore` directives can also apply to other `trunk-ignore`s if need be:
+
+```ts
+// trunk-ignore(eslint/max-line-length)
+// trunk-ignore(eslint/@typescript-eslint/no-unsafe-member-access,eslint/@typescript-eslint/no-unsafe-assignment)
+const version = parsedConfig.version;
+```
+
+### Ignoring all issues/formatting in a file
+
+You can also ignore all issues or formatting in a file:
+
+```cpp
+// trunk-ignore-all(clang-tidy)
+struct FooBar {
+  void *ptr1 = NULL;
+  void *ptr2 = NULL;
+};
+```
+
+{% hint style="info" %}
+`trunk-ignore-all` is not required to be the first line of a file, because we recognize that other constructs (shebangs, front matter, docstrings) may need to take precedence.
+{% endhint %}
+
+### Ignoring all issues in a code block
+
+Alternatively, you can ignore all matching issues in a code block:
+
+```cpp
+struct FooBar {
+  // trunk-ignore-begin(clang-tidy)
+  void *ptr1 = NULL;
+  void *ptr2 = NULL;
+  // trunk-ignore-end(clang-tidy)
+};
+```
+
+### Tracking unused ignores
+
+Trunk will alert you if your `trunk-ignore` directives are unused. This can happen due to user error or even innocuously over time, for example, if your internal APIs change or if a linter's output changes.
+
+```
+app/parse.ts:18:3
+ 18:3  note  trunk-ignore(eslint/@typescript-eslint/no-unsafe-member-access)   trunk/ignore-does-nothing
+             is not suppressing a lint issue
+```
+
+Hold the Line will continue to only surface ignore issues that you have introduced, and these issues will have a `note` [severity](configure-linters.md#blocking-thresholds), indicating they are non-blocking by default.
+
+If you need to, you can ignore issues from unused `trunk-ignore` directives, using `trunk-ignore(trunk)`:
+
+```
+// trunk-ignore(trunk): This error will resurface after our API migration.
+// trunk-ignore(eslint/@typescript-eslint/no-unsafe-member-access)
+```
+
+### Specification
+
+The syntax of a trunk-ignore directive is as follows:
+
+```
+<trunk-ignore>      ::= <trunk-ignore-type> "(" <check-ids> ")" <optional-comment>
+<trunk-ignore-type> ::= "trunk-ignore" | "trunk-ignore-begin" | "trunk-ignore-end" | "trunk-ignore-all"
+<check-ids>         ::= <check-id> <optional-check-id>
+<optional-check-id> ::= "," <check-id>
+<check-id>          ::= <linter-id> <optional-rule-id>
+<optional-rule-id>  ::= "/" <rule-id>
+<optional-comment>  ::= ": " <comment>
+```
+
+## Ignoring Multiple Files
+
+Some files are never meant to be checked, such as generated code. To ignore them, use the `ignore` key to your `.trunk/trunk.yaml` file:
+
+```yaml
+lint:
+  ignore:
+    - linters: [ALL]
+      paths:
+        # Ignore generated files
+        - src/generated/**
+        # Except for files ending in .foo
+        - !src/generated/**/*.foo # Test data
+        - test/test_data
+```
+
+Every entry in `ignore` defines both a set of linters and a set of paths to ignore.
+
+<table><thead><tr><th width="101">Key</th><th>Value</th></tr></thead><tbody><tr><td>linters</td><td>List of linters (i.e. <code>[black, eslint]</code>) or the special <code>[ALL]</code> tag</td></tr><tr><td>paths</td><td>List of <a href="https://en.wikipedia.org/wiki/Glob_(programming)">glob paths</a>, relative to the root of the repo, to ignore. If a path begins with a <code>!</code> then it represents an inverse ignore. This means that any file matching that glob will not be ignored, even if matched by other globs.</td></tr></tbody></table>
+
+{% hint style="info" %}
+Trunk is `git`-aware, which means it ignores `gitignore'd` files by default.
+{% endhint %}
+
+### Known Issues
+
+`trunk-ignore` does not currently support:
+
+* suppressing findings on lines 0 or 1 using inline/block directives
+
+If you need any of these to be supported, or you have another edge case, please reach out to us on the [Trunk community slack](https://slack.trunk.io).
diff --git a/code-quality/linters/manage-linters.md b/code-quality/linters/manage-linters.md
new file mode 100644
index 00000000..9e5a9c20
--- /dev/null
+++ b/code-quality/linters/manage-linters.md
@@ -0,0 +1,55 @@
+# Manage Linters
+
+### Using the CLI
+
+List all of the available linters
+
+```sh
+trunk check list
+```
+
+Enable a single linter
+
+```sh
+trunk check enable <linter name>
+```
+
+Disable a single linter
+
+```sh
+trunk check disable <linter name>
+```
+
+### Using Trunk Config Files
+
+Trunk only runs linters listed in the `enabled` section; linters which are defined in `lint.definitions` but are not listed in `enabled` are not run.
+
+When enabling a linter, you must specify a version for the linter:
+
+```yaml
+lint:
+  enabled:
+    # enabling a version with a linter
+    - gitleaks@7.6.1
+    - gofmt@1.16.7
+    - golangci-lint@1.41.1
+    - hadolint@2.6.0
+```
+
+Custom linters are slightly different; see [those docs](custom-linters.md) to learn more.
+
+### Disable Linters
+
+Trunk will continuously monitor your repository and make recommendations of additional new tools to run on your codebase. You can tell Trunk not to recommend a specific linter by adding it to the disabled list.
+
+```yaml
+lint:
+  disabled:
+    # disabled a linter tells trunk not to recommend it during upgrade scans
+    - rufo
+    - tflint
+```
+
+### Upgrading Linters
+
+Run `trunk upgrade` to update the Trunk CLI and all your plugins, linters, tools, and runtimes.
diff --git a/code-quality/linters/run-linters.md b/code-quality/linters/run-linters.md
new file mode 100644
index 00000000..0e02ba7b
--- /dev/null
+++ b/code-quality/linters/run-linters.md
@@ -0,0 +1,41 @@
+# Run Linters
+
+The main commands when running `trunk` from the command line are:
+
+```bash
+trunk check       # runs the universal linter on all applicable files
+trunk fmt         # runs all the enabled formatters and auto-applies changes
+```
+
+You can always find this list using `trunk check --help`.
+
+{% hint style="info" %}
+Trunk is git-aware. When you run `trunk check` it will **only run on files you've modified according to git**. To run on a sampling in your repo, run: `trunk check --sample 5`
+{% endhint %}
+
+### check
+
+`trunk check` runs linters & formatters on your changed files, prompting you to apply fixes. Without additional args, `trunk check` will run all applicable linters on all files changed in the current branch.
+
+### fmt
+
+Run all applicable formatters as configured in `trunk.yaml`. `trunk fmt` is short-hand for running\
+`trunk check` with a `--fix --filter` set to all formatters enabled in your repository.
+
+## Options
+
+<table><thead><tr><th width="238">options</th><th></th></tr></thead><tbody><tr><td><code>--all</code></td><td>Run on all the files in the repository. Useful if trying to assess a new linter in the system, or to find and fix pre-existing issues</td></tr><tr><td><code>--fix</code></td><td>Auto-apply all suggested fixes</td></tr><tr><td><code>--no-fix</code></td><td>Surface, but do not prompt for autofixes</td></tr><tr><td><code>--filter</code></td><td>List of comma-separated linters to run. Specify <code>--filter=-linter</code> to disable a linter.</td></tr><tr><td><code>--sample=N</code></td><td>Run check on a <a href="run-linters.md#sample">sampling</a> of all files in the repo</td></tr><tr><td><code>--help</code></td><td>Output help information</td></tr></tbody></table>
+
+### Recipes
+
+| Check                                                        | Command                                      |
+| ------------------------------------------------------------ | -------------------------------------------- |
+| all files                                                    | `trunk check --all --no-fix`                 |
+| a specific file                                              | `trunk check some/file.py`                   |
+| all applicable files with flake8                             | `trunk check --all --no-fix --filter=flake8` |
+| a selection of five files in the repo                        | `trunk check --sample 5`                     |
+| a selection of five files in the repo with a specific linter | `trunk check --sample 5 --filter=flake8`     |
+| format the whole repo                                        | `trunk fmt --all`                            |
+| format a specific file                                       | `trunk fmt some/file.py`                     |
+| format all python code with `black`                          | `trunk fmt --all --filter=black`             |
+
diff --git a/code-quality/linters/shared-configs.md b/code-quality/linters/shared-configs.md
new file mode 100644
index 00000000..1ba2bb10
--- /dev/null
+++ b/code-quality/linters/shared-configs.md
@@ -0,0 +1,13 @@
+# Shared Configs
+
+## Single Repo
+
+Linters are automatically shared with all developers for a repository using the [`.trunk/trunk.yaml` file](../../references/cli/configuration/).  This file is committed to the repo, so whenever anyone checks out the code, they will get the same configuration and linters. See the [Trunk YAML guide](../../references/cli/configuration/) for more details.
+
+## Per User Config
+
+If you wish to customize a linter for just one developer (say, disable a slow linter on a slow machine), you can create a per-user config in the `.trunk/user.yaml` file, which should **not** be committed to the repo.&#x20;
+
+## Multiple Repos
+
+If you wish to share linters between different repos, copy the config manually or create a shared Plugin repo. This is a set of configuration and code that is imported into the `plugins` section of a project's `./trunk/trunk.yaml` .
diff --git a/code-quality/linters/supported/README.md b/code-quality/linters/supported/README.md
new file mode 100644
index 00000000..f878635f
--- /dev/null
+++ b/code-quality/linters/supported/README.md
@@ -0,0 +1,81 @@
+---
+description: Trunk Code Quality supports over 100 linters and formatters
+---
+
+# Supported Linters
+
+{% hint style="info" %}
+#### 📘 Our linter integrations are open-source!
+
+You can find them at [`trunk-io/plugins`](https://github.com/trunk-io/plugins), contributions are welcome!
+{% endhint %}
+
+Enable any of the following tools with:
+
+```
+trunk check enable <linter>
+```
+
+| Technology      | Linters                                                                                                                                                                                                                                                   |
+| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| All             | [codespell](codespell.md), [cspell](cspell.md), [git-diff-check](git-diff-check.md), [gitleaks](gitleaks.md), [pre-commit-hooks](pre-commit-hooks.md)                                                                                                     |
+| Ansible         | [ansible-lint](ansible-lint.md)                                                                                                                                                                                                                           |
+| Apex            | [pmd](pmd.md)                                                                                                                                                                                                                                             |
+| Bash            | [shellcheck](shellcheck.md), [shfmt](shfmt.md)                                                                                                                                                                                                            |
+| Bazel, Starlark | [buildifier](buildifier.md)                                                                                                                                                                                                                               |
+| C#              | [dotnet-format](dotnet-format.md)                                                                                                                                                                                                                         |
+| C, C++          | [clang-format](clang-format.md), [clang-tidy](clang-tidy.md), [cmake-format](cmake-format.md), [iwyu](iwyu.md), [pragma-once](pragma-once.md)                                                                                                             |
+| CircleCI Config | [circleci](circleci.md)                                                                                                                                                                                                                                   |
+| Cloudformation  | [cfnlint](cfnlint.md), [checkov](checkov.md)                                                                                                                                                                                                              |
+| CSS, SCSS       | [prettier](prettier.md), [stylelint](stylelint.md)                                                                                                                                                                                                        |
+| Cue             | [cue-fmt](cue-fmt.md)                                                                                                                                                                                                                                     |
+| Dart            | [dart](dart.md)                                                                                                                                                                                                                                           |
+| Docker          | [checkov](checkov.md), [hadolint](hadolint.md)                                                                                                                                                                                                            |
+| Dotenv          | [dotenv-linter](dotenv-linter.md)                                                                                                                                                                                                                         |
+| GitHub          | [actionlint](actionlint.md)                                                                                                                                                                                                                               |
+| Go              | [gofmt](gofmt.md), [gofumpt](gofumpt.md), [goimports](goimports.md), [gokart](gokart.md), [golangci-lint](golangci-lint.md), [golines](golines.md), [semgrep](semgrep.md)                                                                                 |
+| GraphQL         | [graphql-schema-linter](graphql-schema-linter.md), [prettier](prettier.md)                                                                                                                                                                                |
+| HAML            | [haml-lint](haml-lint.md)                                                                                                                                                                                                                                 |
+| HTML Templates  | [djlint](djlint.md)                                                                                                                                                                                                                                       |
+| Java            | [google-java-format](google-java-format.md), [pmd](pmd.md), [semgrep](semgrep.md)                                                                                                                                                                         |
+| JavaScript      | [biome](biome.md), [deno](deno.md), [eslint](eslint.md), [prettier](prettier.md), [rome](rome.md), [semgrep](semgrep.md)                                                                                                                                  |
+| JSON            | [deno](deno.md), [eslint](eslint.md), [prettier](prettier.md), [semgrep](semgrep.md)                                                                                                                                                                      |
+| json            | [biome](biome.md)                                                                                                                                                                                                                                         |
+| jsx             | [biome](biome.md)                                                                                                                                                                                                                                         |
+| Kotlin          | [detekt](detekt.md), [ktlint](ktlint.md)                                                                                                                                                                                                                  |
+| Kubernetes      | [kube-linter](kube-linter.md)                                                                                                                                                                                                                             |
+| Lua             | [stylua](stylua.md)                                                                                                                                                                                                                                       |
+| Markdown        | [deno](deno.md), [markdown-link-check](markdown-link-check.md), [markdown-table-prettify](markdown-table-prettify.md), [markdownlint](markdownlint.md), [markdownlint-cli2](markdownlint-cli2.md), [prettier](prettier.md), [remark-lint](remark-lint.md) |
+| Nix             | [nixpkgs-fmt](nixpkgs-fmt.md)                                                                                                                                                                                                                             |
+| package.json    | [sort-package-json](sort-package-json.md)                                                                                                                                                                                                                 |
+| Perl            | [perlcritic](perlcritic.md), [perltidy](perltidy.md)                                                                                                                                                                                                      |
+| PHP             | [php-cs-fixer](php-cs-fixer.md), [phpstan](phpstan.md)                                                                                                                                                                                                    |
+| PNG             | [oxipng](oxipng.md)                                                                                                                                                                                                                                       |
+| PowerShell      | [psscriptanalyzer](psscriptanalyzer.md)                                                                                                                                                                                                                   |
+| Prisma          | [prisma](prisma.md)                                                                                                                                                                                                                                       |
+| prose           | [vale](vale.md)                                                                                                                                                                                                                                           |
+| Protobuf        | [buf](buf.md), [clang-format](clang-format.md), [clang-tidy](clang-tidy.md)                                                                                                                                                                               |
+| Python          | [autopep8](autopep8.md), [bandit](bandit.md), [black](black.md), [flake8](flake8.md), [isort](isort.md), [mypy](mypy.md), [pylint](pylint.md), [pyright](pyright.md), [ruff](ruff.md), [semgrep](semgrep.md), [sourcery](sourcery.md), [yapf](yapf.md)    |
+| Rego            | [opa](opa.md), [regal](regal.md)                                                                                                                                                                                                                          |
+| Renovate        | [renovate](renovate.md)                                                                                                                                                                                                                                   |
+| Ruby            | [brakeman](brakeman.md), [rubocop](rubocop.md), [rufo](rufo.md), [semgrep](semgrep.md), [standardrb](standardrb.md)                                                                                                                                       |
+| Rust            | [clippy](clippy.md), [rustfmt](rustfmt.md)                                                                                                                                                                                                                |
+| Scala           | [scalafmt](scalafmt.md)                                                                                                                                                                                                                                   |
+| Security        | [checkov](checkov.md), [dustilock](dustilock.md), [nancy](nancy.md), [osv-scanner](osv-scanner.md), [terrascan](terrascan.md), [tfsec](tfsec.md), [trivy](trivy.md), [trufflehog](trufflehog.md)                                                          |
+| SQL             | [sql-formatter](sql-formatter.md), [sqlfluff](sqlfluff.md), [sqlfmt](sqlfmt.md), [squawk](squawk.md)                                                                                                                                                      |
+| SVG             | [svgo](svgo.md)                                                                                                                                                                                                                                           |
+| Swift           | [stringslint](stringslint.md), [swiftformat](swiftformat.md), [swiftlint](swiftlint.md)                                                                                                                                                                   |
+| Terraform       | [checkov](checkov.md), [terraform](terraform.md), [terrascan](terrascan.md), [tflint](tflint.md), [tfsec](tfsec.md), [tofu](tofu.md)                                                                                                                      |
+| Terragrunt      | [terragrunt](terragrunt.md)                                                                                                                                                                                                                               |
+| Terrascan       | [terrascan](terrascan.md)                                                                                                                                                                                                                                 |
+| Textproto       | [txtpbfmt](txtpbfmt.md)                                                                                                                                                                                                                                   |
+| TOML            | [taplo](taplo.md)                                                                                                                                                                                                                                         |
+| TypeScript      | [biome](biome.md), [deno](deno.md), [eslint](eslint.md), [prettier](prettier.md), [rome](rome.md), [semgrep](semgrep.md)                                                                                                                                  |
+| YAML            | [prettier](prettier.md), [semgrep](semgrep.md), [yamllint](yamllint.md)                                                                                                                                                                                   |
+
+{% hint style="success" %}
+#### Can't find a linter you need?
+
+Chat with Trunk's engineers and suggest your ideas. Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/).
+{% endhint %}
+
diff --git a/code-quality/linters/supported/actionlint.md b/code-quality/linters/supported/actionlint.md
new file mode 100644
index 00000000..523518e4
--- /dev/null
+++ b/code-quality/linters/supported/actionlint.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run Actionlint
+description: >-
+  Explore our guide on Actionlint, the linter for Github Actions. Learn about
+  its features, installation, and configuration.
+---
+
+# Actionlint
+
+[**Actionlint**](https://github.com/rhysd/actionlint) is a linter for GitHub.
+
+You can enable the Actionlint linter with:
+
+```shell
+trunk check enable actionlint
+```
+
+## Auto Enabling
+
+Actionlint will be auto-enabled if any _Github-workflow_ files are present.
+
+## Settings
+
+Actionlint supports the following config files:
+
+* `.github/actionlint.yaml`
+* `.github/actionlint.yml`
+
+Unlike with most tools under `trunk check`, these files cannot be moved.
+
+## Links
+
+* [Actionlint site](https://github.com/rhysd/actionlint)
+* Actionlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/actionlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/ansible-lint.md b/code-quality/linters/supported/ansible-lint.md
new file mode 100644
index 00000000..58066e3e
--- /dev/null
+++ b/code-quality/linters/supported/ansible-lint.md
@@ -0,0 +1,40 @@
+---
+title: Trunk | How to run Ansible-lint
+description: >-
+  Checks playbooks for practices and behavior that could potentially be improved
+  and can fix some of the most common ones for you
+---
+
+# Ansible-lint
+
+[**Ansible-lint**](https://github.com/ansible/ansible-lint) is a linter for Ansible.
+
+You can enable the Ansible-lint linter with:
+
+```shell
+trunk check enable ansible-lint
+```
+
+## Auto Enabling
+
+Ansible-lint will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+Ansible-lint supports the following config files:
+
+* `.ansible-lint`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+**Ansible-lint** must be configured with a trigger. See the [trigger rules](../#trigger-rules) documentation for more information.
+
+If your ansible setup is not contained within a single folder you would list all files and directories belonging to your ansible setup.
+
+## Links
+
+* [Ansible-lint site](https://github.com/ansible/ansible-lint)
+* Ansible-lint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/ansible-lint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/autopep8.gif b/code-quality/linters/supported/autopep8.gif
new file mode 100644
index 00000000..b115090c
Binary files /dev/null and b/code-quality/linters/supported/autopep8.gif differ
diff --git a/code-quality/linters/supported/autopep8.md b/code-quality/linters/supported/autopep8.md
new file mode 100644
index 00000000..29b8e36e
--- /dev/null
+++ b/code-quality/linters/supported/autopep8.md
@@ -0,0 +1,36 @@
+---
+title: Trunk | How to run Autopep8
+description: >-
+  Autopep8 automatically formats Python code to meet PEP 8 standards, using
+  pycodestyle to identify and correct formatting issues for cleaner code.
+---
+
+# Autopep8
+
+[**Autopep8**](https://github.com/hhatto/autopep8#readme) is a formatter for Python.
+
+You can enable the Autopep8 formatter with:
+
+```shell
+trunk check enable autopep8
+```
+
+![autopep8 example output](../../../.gitbook/assets/autopep8.gif)
+
+## Auto Enabling
+
+Autopep8 will be auto-enabled if a `.pep8` config file is present.
+
+## Settings
+
+Autopep8 supports the following config files:
+
+* `.pep8`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Autopep8 site](https://github.com/hhatto/autopep8#readme)
+* Autopep8 Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/autopep8)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/bandit.gif b/code-quality/linters/supported/bandit.gif
new file mode 100644
index 00000000..96c838e2
Binary files /dev/null and b/code-quality/linters/supported/bandit.gif differ
diff --git a/code-quality/linters/supported/bandit.md b/code-quality/linters/supported/bandit.md
new file mode 100644
index 00000000..29fda3e4
--- /dev/null
+++ b/code-quality/linters/supported/bandit.md
@@ -0,0 +1,37 @@
+---
+title: Trunk | How to run Bandit
+description: >-
+  Bandit is a security linter for Python codebases. Bandit flags problems like
+  hard-coded passwords, injection vulnerabilities, and the use of insecure
+  libraries.
+---
+
+# Bandit
+
+[**Bandit**](https://github.com/PyCQA/bandit) is a linter for Python.
+
+You can enable the Bandit linter with:
+
+```shell
+trunk check enable bandit
+```
+
+![bandit example output](../../../.gitbook/assets/bandit.gif)
+
+## Auto Enabling
+
+Bandit will be auto-enabled if any _Python_ files are present.
+
+## Settings
+
+Bandit supports the following config files:
+
+* `.bandit`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Bandit site](https://github.com/PyCQA/bandit)
+* Bandit Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/bandit)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/biome.md b/code-quality/linters/supported/biome.md
new file mode 100644
index 00000000..22760aae
--- /dev/null
+++ b/code-quality/linters/supported/biome.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run Biome
+description: >-
+  Biome is a linter for JavaScript and TypeScript, improving code quality by
+  automatically fixing issues, enforcing standards, and ensuring consistency.
+---
+
+# Biome
+
+[**Biome**](https://biomejs.dev/) is a linter for JavaScript, TypeScript, jsx and json.
+
+You can enable the Biome linter with:
+
+```shell
+trunk check enable biome
+```
+
+## Auto Enabling
+
+Biome will be auto-enabled if any of its config files are present: _`biome.json`, `rome.json`_.
+
+## Settings
+
+Biome supports the following config files:
+
+* `biome.json`
+* `rome.json`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Biome site](https://biomejs.dev/)
+* Biome Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/biome)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/black.gif b/code-quality/linters/supported/black.gif
new file mode 100644
index 00000000..93d600a5
Binary files /dev/null and b/code-quality/linters/supported/black.gif differ
diff --git a/code-quality/linters/supported/black.md b/code-quality/linters/supported/black.md
new file mode 100644
index 00000000..b7fb159e
--- /dev/null
+++ b/code-quality/linters/supported/black.md
@@ -0,0 +1,28 @@
+---
+title: Trunk | How to run Black
+description: >-
+  Discover Black, the Python code formatter.  Learn how to integrate it with
+  Trunk Check for seamless coding style enforcement.
+---
+
+# Black
+
+[**Black**](https://pypi.org/project/black/) is a formatter for Python.
+
+You can enable the Black formatter with:
+
+```shell
+trunk check enable black
+```
+
+![black example output](../../../.gitbook/assets/black.gif)
+
+## Auto Enabling
+
+Black will be auto-enabled if any _Python, Jupyter or Python-interface_ files are present.
+
+## Links
+
+* [Black site](https://pypi.org/project/black/)
+* Black Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/black)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/brakeman.md b/code-quality/linters/supported/brakeman.md
new file mode 100644
index 00000000..4a8b20a8
--- /dev/null
+++ b/code-quality/linters/supported/brakeman.md
@@ -0,0 +1,34 @@
+---
+title: Trunk | How to run Brakeman
+description: >-
+  Brakeman is a static analysis tool designed for Ruby on Rails applications. It
+  statically analyzes Rails application code to find security issues.
+---
+
+# Brakeman
+
+[**Brakeman**](https://github.com/presidentbeef/brakeman) is a linter for Ruby.
+
+You can enable the Brakeman linter with:
+
+```shell
+trunk check enable brakeman
+```
+
+## Auto Enabling
+
+Brakeman will be auto-enabled if any _Ruby_ files are present.
+
+## Settings
+
+Brakeman supports the following config files:
+
+* `brakeman.ignore`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Brakeman site](https://github.com/presidentbeef/brakeman)
+* Brakeman Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/brakeman)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/buf.md b/code-quality/linters/supported/buf.md
new file mode 100644
index 00000000..8239673d
--- /dev/null
+++ b/code-quality/linters/supported/buf.md
@@ -0,0 +1,52 @@
+---
+title: Trunk | How to run buf
+description: buf is a linter for Protobuf
+---
+
+# buf
+
+[**buf**](https://github.com/bufbuild/buf#readme) is a linter for Protobuf.
+
+buf is composed of several linter commands.
+
+`buf-format` only runs the reformatting, not lint checking.
+
+You can enable the `buf-format` linter with:
+
+```shell
+trunk check enable buf-format
+```
+
+`buf-lint` only runs the lint checking, not reformatting.
+
+You can enable the `buf-lint` linter with:
+
+```shell
+trunk check enable buf-lint
+```
+
+`buf-breaking` only checks for breaking proto changes.
+
+You can enable the `buf-breaking` linter with:
+
+```shell
+trunk check enable buf-breaking
+```
+
+## Auto Enabling
+
+buf will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+buf supports the following config files:
+
+* `buf.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [buf site](https://github.com/bufbuild/buf#readme)
+* buf Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/buf)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/buildifier.gif b/code-quality/linters/supported/buildifier.gif
new file mode 100644
index 00000000..260ea343
Binary files /dev/null and b/code-quality/linters/supported/buildifier.gif differ
diff --git a/code-quality/linters/supported/buildifier.md b/code-quality/linters/supported/buildifier.md
new file mode 100644
index 00000000..d3f6d3a3
--- /dev/null
+++ b/code-quality/linters/supported/buildifier.md
@@ -0,0 +1,37 @@
+---
+title: Trunk | How to run Buildifier
+description: >-
+  Learn how to install, configure, and use buildifier effectively for Bazel
+  build scripts.
+---
+
+# Buildifier
+
+[**Buildifier**](https://github.com/rhysd/actionlint) is a linter for Bazel, Starlark.
+
+You can enable the Buildifier linter with:
+
+```shell
+trunk check enable buildifier
+```
+
+![buildifier example output](../../../.gitbook/assets/buildifier.gif)
+
+## Auto Enabling
+
+Buildifier will be auto-enabled if any _Bazel or Starlark_ files are present.
+
+## Settings
+
+Buildifier supports the following config files:
+
+* `.buildifier.json`
+* `.buildifier-tables.json`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Buildifier site](https://github.com/rhysd/actionlint)
+* Buildifier Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/buildifier)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/cfnlint.md b/code-quality/linters/supported/cfnlint.md
new file mode 100644
index 00000000..8e7d4868
--- /dev/null
+++ b/code-quality/linters/supported/cfnlint.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run cfnlint
+description: cfnlint is a linter for Cloudformation
+---
+
+# cfnlint
+
+[**cfnlint**](https://github.com/aws-cloudformation/cfn-lint#readme) is a linter for Cloudformation.
+
+You can enable the cfnlint linter with:
+
+```shell
+trunk check enable cfnlint
+```
+
+## Auto Enabling
+
+cfnlint will be auto-enabled if any _Cloudformation_ files are present.
+
+## Links
+
+* [cfnlint site](https://github.com/aws-cloudformation/cfn-lint#readme)
+* cfnlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/cfnlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/checkov.gif b/code-quality/linters/supported/checkov.gif
new file mode 100644
index 00000000..0b8cc0da
Binary files /dev/null and b/code-quality/linters/supported/checkov.gif differ
diff --git a/code-quality/linters/supported/checkov.md b/code-quality/linters/supported/checkov.md
new file mode 100644
index 00000000..8d24a2ea
--- /dev/null
+++ b/code-quality/linters/supported/checkov.md
@@ -0,0 +1,38 @@
+---
+title: Trunk | How to run Checkov
+description: >-
+  Checkov is a static code analysis tool for scanning infrastructure as code. It
+  identifies misconfigurations in IaC files that could lead to security
+  breaches.
+---
+
+# Checkov
+
+[**Checkov**](https://github.com/bridgecrewio/checkov) is a linter for Cloudformation, Security, Terraform and Docker.
+
+You can enable the Checkov linter with:
+
+```shell
+trunk check enable checkov
+```
+
+![checkov example output](../../../.gitbook/assets/checkov.gif)
+
+## Auto Enabling
+
+Checkov will be auto-enabled if any _Terraform, Cloudformation, Docker, Yaml or Json_ files are present.
+
+## Settings
+
+Checkov supports the following config files:
+
+* `.checkov.yml`
+* `.checkov.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Checkov site](https://github.com/bridgecrewio/checkov)
+* Checkov Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/checkov)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/circleci.md b/code-quality/linters/supported/circleci.md
new file mode 100644
index 00000000..fe81a2e3
--- /dev/null
+++ b/code-quality/linters/supported/circleci.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run circleci
+description: circleci is a linter for CircleCI Config
+---
+
+# circleci
+
+[**circleci**](https://github.com/CircleCI-Public/circleci-cli#readme) is a linter for CircleCI Config.
+
+You can enable the circleci linter with:
+
+```shell
+trunk check enable circleci
+```
+
+## Auto Enabling
+
+circleci will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [circleci site](https://github.com/CircleCI-Public/circleci-cli#readme)
+* circleci Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/circleci)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/clang-format.md b/code-quality/linters/supported/clang-format.md
new file mode 100644
index 00000000..7c7b702b
--- /dev/null
+++ b/code-quality/linters/supported/clang-format.md
@@ -0,0 +1,55 @@
+---
+title: Trunk | How to run ClangFormat
+description: >-
+  Clang Format is a set of tools to format code that is processed by the Clang
+  compiler suite.
+---
+
+# ClangFormat
+
+[**ClangFormat**](https://clang.llvm.org/docs/ClangFormat.html) is a formatter for Protobuf and C, C++.
+
+You can enable the ClangFormat formatter with:
+
+```shell
+trunk check enable clang-format
+```
+
+## Auto Enabling
+
+ClangFormat will be auto-enabled if a `.clang-format` config file is present.
+
+## Settings
+
+ClangFormat supports the following config files:
+
+* `.clang-format`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+By default, Trunk uses ClangFormat to additionally format `.proto` files. However, for this to work, you need to have told `clang-format` to do so in your `.clang-format` config file. You can do that by adding the following to the end of your `.clang-format file`:
+
+```yaml
+---
+Language: Proto
+```
+
+For example, you might have this for your entire `.clang-format` file:
+
+```yaml
+BasedOnStyle: Google
+ColumnLimit: 100
+---
+Language: Cpp
+DerivePointerAlignment: false
+---
+Language: Proto
+```
+
+## Links
+
+* [ClangFormat site](https://clang.llvm.org/docs/ClangFormat.html)
+* ClangFormat Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/clang-format)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/clang-tidy.md b/code-quality/linters/supported/clang-tidy.md
new file mode 100644
index 00000000..1f50919b
--- /dev/null
+++ b/code-quality/linters/supported/clang-tidy.md
@@ -0,0 +1,90 @@
+---
+title: Trunk | How to run clang-tidy
+description: >-
+  A clang-based C++ linter tool to provide an extensible framework for
+  diagnosing and fixing programming errors that can be deduced via static
+  analysis.
+---
+
+# clang-tidy
+
+## clang-tidy
+
+[**clang-tidy**](https://clang.llvm.org/extra/clang-tidy/) is a linter for Protobuf and C, C++.
+
+You can enable the clang-tidy linter with:
+
+```shell
+trunk check enable clang-tidy
+```
+
+### Auto Enabling
+
+clang-tidy will be auto-enabled if a `.clang-tidy` config file is present.
+
+### Settings
+
+clang-tidy supports the following config files:
+
+* `.clang-tidy`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.clang-tidy` if your project does not already have one.
+
+### Usage Notes
+
+We only support using clang-tidy from Bazel and CMake projects.
+
+In order to only see issues in your own code, not from library header files your code includes, add this to your `.clang-tidy` file:
+
+```yaml
+HeaderFilterRegex: \./.+
+```
+
+You may have to build your project first if you depend on any generated header files.
+
+## Linter Failures
+
+If a file you're linting does not compile, clang-tidy may fail to process it. In `trunk`, this will show up as a _Linter Failure_. The output you'll see will look like a compilation error. This can also happen if the pre-reqs to running clang-tidy haven't been met (see below).
+
+## Using Bazel
+
+By default Trunk will query `bazel` for compile commands used to run `clang-tidy`. This requires no configuration.
+
+Trunk will build needed compilation pre-requisites before invoking `clang-tidy` on each file (e.g. generated protobuf headers).
+
+You can generate a local compilation database by running `trunk generate-compile-commands`.
+
+**Finding the bazel binary**
+
+Trunk will search for the `bazel` binary in two ways.
+
+* Paths relative to the workspace root.
+* Binaries in any of the directories in the PATH environment variable.
+
+First trunk will search all workspace root relative paths and then all system directories. If you override anything in `lint.bazel.paths` then we only search the paths you specify. By default the configuration is as follows.
+
+```yaml
+lint:
+  bazel:
+    paths:
+      workspace:
+        - tools/bazel
+        - bazelisk
+      system:
+        - bazel
+        - bazelisk
+```
+
+## Using `compile_commands.json` generated by CMake
+
+Trunk supports using the `compile_commands.json` file generated by CMake. If you run `cmake` from a directory called `build` in the root of your project then Trunk will find the compile commands automatically. If you run it in some other directory then you will have to symlink the `compile_commands.json` in that directory to the root of your repo for trunk to find them. Note that Trunk does not currently support CMake out of tree builds.
+
+## Another tool claims I have clang-tidy issues, but not Trunk. What gives?
+
+Trunk runs `clang-tidy` with a compile commands database so that we can guarantee clang-tidy produces the correct diagnostics about your code. Other tools, such as `clangd`, may use best-effort heuristics to guess a compile command for a given clang-tidy input file (for example, see [this discussion)](https://github.com/clangd/clangd/issues/519) and consequently produce incorrect clang-tidy findings because they guessed the compile command wrong.
+
+### Links
+
+* [clang-tidy site](https://clang.llvm.org/extra/clang-tidy/)
+* clang-tidy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/clang-tidy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/clippy.md b/code-quality/linters/supported/clippy.md
new file mode 100644
index 00000000..06ccc7c8
--- /dev/null
+++ b/code-quality/linters/supported/clippy.md
@@ -0,0 +1,37 @@
+---
+title: Trunk | How to run Clippy
+description: A collection of lints to catch common mistakes and improve your Rust code.
+---
+
+# Clippy
+
+[**Clippy**](https://doc.rust-lang.org/clippy/) is a linter for Rust.
+
+You can enable the Clippy linter with:
+
+```shell
+trunk check enable clippy
+```
+
+## Auto Enabling
+
+Clippy will be auto-enabled if any _Rust_ files are present.
+
+## Settings
+
+Clippy supports the following config files:
+
+* `clippy.toml`
+* `.clippy.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+Clippy is distributed with rust itself, so specify your rust version for your clippy version (for example `clippy@1.61.0`).
+
+## Links
+
+* [Clippy site](https://doc.rust-lang.org/clippy/)
+* Clippy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/clippy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/cmake-format.md b/code-quality/linters/supported/cmake-format.md
new file mode 100644
index 00000000..ea5bb14f
--- /dev/null
+++ b/code-quality/linters/supported/cmake-format.md
@@ -0,0 +1,39 @@
+---
+title: Trunk | How to run cmake-format
+description: >-
+  Learn how to install, configure, and run CMake-Format with Trunk Check to
+  ensure consistent formatting and best practices for your CMake scripts.
+---
+
+# cmake-format
+
+[**cmake-format**](https://github.com/cheshirekow/cmake_format) is a formatter for C, C++.
+
+You can enable the cmake-format formatter with:
+
+```shell
+trunk check enable cmake-format
+```
+
+## Auto Enabling
+
+cmake-format will be auto-enabled if any of its config files are present: _`.cmake-format.json`, `.cmake-format.py`, `.cmake-format.yaml`_.
+
+## Settings
+
+cmake-format supports the following config files:
+
+* `.cmake-format.json`
+* `.cmake-format.py`
+* `.cmake-format.yaml`
+* `cmake-format.json`
+* `cmake-format.py`
+* `cmake-format.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [cmake-format site](https://github.com/cheshirekow/cmake_format)
+* cmake-format Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/cmake-format)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/codespell.gif b/code-quality/linters/supported/codespell.gif
new file mode 100644
index 00000000..326290a0
Binary files /dev/null and b/code-quality/linters/supported/codespell.gif differ
diff --git a/code-quality/linters/supported/codespell.md b/code-quality/linters/supported/codespell.md
new file mode 100644
index 00000000..5885d104
--- /dev/null
+++ b/code-quality/linters/supported/codespell.md
@@ -0,0 +1,36 @@
+---
+title: Trunk | How to run codespell
+description: >-
+  Codespell fixes common misspellings in text files. It's designed primarily to
+  check misspelled words in source code.
+---
+
+# codespell
+
+[**codespell**](https://github.com/codespell-project/codespell#readme) is a linter for All.
+
+You can enable the codespell linter with:
+
+```shell
+trunk check enable codespell
+```
+
+![codespell example output](../../../.gitbook/assets/codespell.gif)
+
+## Auto Enabling
+
+codespell will be auto-enabled if a `.codespellrc` config file is present.
+
+## Settings
+
+codespell supports the following config files:
+
+* `.codespellrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [codespell site](https://github.com/codespell-project/codespell#readme)
+* codespell Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/codespell)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/cspell.gif b/code-quality/linters/supported/cspell.gif
new file mode 100644
index 00000000..d3bc5b64
Binary files /dev/null and b/code-quality/linters/supported/cspell.gif differ
diff --git a/code-quality/linters/supported/cspell.md b/code-quality/linters/supported/cspell.md
new file mode 100644
index 00000000..85b2b11e
--- /dev/null
+++ b/code-quality/linters/supported/cspell.md
@@ -0,0 +1,46 @@
+---
+title: Trunk | How to run cspell
+description: >-
+  CSpell is a linter for identifying and fixing spelling errors in source code,
+  documentation, and configuration files, enhancing overall project quality.
+---
+
+# cspell
+
+[**cspell**](https://github.com/streetsidesoftware/cspell#readme) is a linter for All.
+
+You can enable the cspell linter with:
+
+```shell
+trunk check enable cspell
+```
+
+![cspell example output](../../../.gitbook/assets/cspell.gif)
+
+## Auto Enabling
+
+cspell will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+cspell supports the following config files:
+
+* `.cspell.json`
+* `cspell.json`
+* `.cSpell.json`
+* `cSpell.json`
+* `cspell.config.js`
+* `cspell.config.cjs`
+* `cspell.config.json`
+* `cspell.config.yaml`
+* `cspell.config.yml`
+* `cspell.yaml`
+* `cspell.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `cspell.yaml` if your project does not already have one.
+
+## Links
+
+* [cspell site](https://github.com/streetsidesoftware/cspell#readme)
+* cspell Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/cspell)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/cue-fmt.md b/code-quality/linters/supported/cue-fmt.md
new file mode 100644
index 00000000..675c4b8e
--- /dev/null
+++ b/code-quality/linters/supported/cue-fmt.md
@@ -0,0 +1,26 @@
+---
+title: Trunk | How to run cue-fmt
+description: >-
+  cue-fmt is a formatter for CUE files that improves consistency and
+  readability. Learn how to install, configure, and run cue-fmt.
+---
+
+# cue-fmt
+
+[**cue-fmt**](https://cuelang.org) is a formatter for Cue.
+
+You can enable the cue-fmt formatter with:
+
+```shell
+trunk check enable cue-fmt
+```
+
+## Auto Enabling
+
+cue-fmt will be auto-enabled if any _Cue_ files are present.
+
+## Links
+
+* [cue-fmt site](https://cuelang.org)
+* cue-fmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/cue-fmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/dart.md b/code-quality/linters/supported/dart.md
new file mode 100644
index 00000000..fea5ba21
--- /dev/null
+++ b/code-quality/linters/supported/dart.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run dart
+description: dart is a linter for Dart
+---
+
+# dart
+
+[**dart**](https://dart.dev/tools/dart-format) is a linter for Dart.
+
+You can enable the dart linter with:
+
+```shell
+trunk check enable dart
+```
+
+## Auto Enabling
+
+dart will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [dart site](https://dart.dev/tools/dart-format)
+* dart Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/dart)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/deno.md b/code-quality/linters/supported/deno.md
new file mode 100644
index 00000000..f294c21d
--- /dev/null
+++ b/code-quality/linters/supported/deno.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run deno
+description: deno is a linter for JavaScript, JSON, TypeScript and Markdown
+---
+
+# deno
+
+[**deno**](https://deno.land/manual) is a linter for JavaScript, JSON, TypeScript and Markdown.
+
+You can enable the deno linter with:
+
+```shell
+trunk check enable deno
+```
+
+## Auto Enabling
+
+deno will be auto-enabled if any of its config files are present: _`deno.json`, `deno.jsonc`_.
+
+## Settings
+
+deno supports the following config files:
+
+* `deno.json`
+* `deno.jsonc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [deno site](https://deno.land/manual)
+* deno Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/deno)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/detekt.md b/code-quality/linters/supported/detekt.md
new file mode 100644
index 00000000..a0008bb5
--- /dev/null
+++ b/code-quality/linters/supported/detekt.md
@@ -0,0 +1,71 @@
+---
+title: Trunk | How to run Detekt
+description: Static code analysis for Kotlin
+---
+
+# Detekt
+
+[**Detekt**](https://github.com/detekt/detekt) is a linter for Kotlin.
+
+detekt is composed of several linter commands.
+
+`detekt` runs detekt with the built-in default config and any overrides in `.detekt.yaml`.
+
+You can enable the `detekt` linter with:
+
+```shell
+trunk check enable detekt
+```
+
+`detekt-explicit` disables the default config and uses `.detekt.yaml` as the source of truth.
+
+You can enable the `detekt-explicit` linter with:
+
+```shell
+trunk check enable detekt-explicit
+```
+
+`detekt-gradle` runs detekt using Gradle. Only use if you already are using Gradle for the rest of your build setup.
+
+You can enable the `detekt-gradle` linter with:
+
+```shell
+trunk check enable detekt-gradle
+```
+
+## Auto Enabling
+
+Detekt will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+Detekt supports the following config files:
+
+* `.detekt.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+Detekt is usually invoked through gradle, which allows specifying additional configuration in `build.gradle`. We do not yet automatically parse your Gradle scripts to infer your `detekt` configuration; instead, what we do is this:
+
+* `detekt` invokes [`detekt-cli`](https://detekt.github.io/detekt/cli.html) with the `--build-upon-default-config` flag (this appears to be [more common](https://cs.github.com/?q=%2FbuildUponDefaultConfig.*%28true%29%2F+detekt) than the alternative).
+* `detekt-explicit` invokes [`detekt-cli`](https://detekt.github.io/detekt/cli.html) without the `--build-upon-default-config` flag.
+
+You will also need to provide a valid detekt config as `.detekt.yaml` (an empty `.detekt.yaml` is valid, if you don't want to configure `detekt`). If you already have a detekt config, then you can symlink it like so:
+
+```bash
+ln -s path/to/existing/detekt-config.yml .detekt-config.yaml
+```
+
+To use `./gradlew detekt` to invoke Detekt, you can add `detekt-gradle@SYSTEM` to your `enabled` list. Note that since you're running Detekt via Gradle, you should also add the paths to your Detekt configurations to `direct_configs`, e.g.
+
+```undefined
+direct_configs: ["lib/detekt.yaml"]
+```
+
+## Links
+
+* [Detekt site](https://github.com/detekt/detekt)
+* Detekt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/detekt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/djlint.md b/code-quality/linters/supported/djlint.md
new file mode 100644
index 00000000..f366cdbb
--- /dev/null
+++ b/code-quality/linters/supported/djlint.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run djlint
+description: djlint is a linter for HTML Templates
+---
+
+# djlint
+
+[**djlint**](https://github.com/Riverside-Healthcare/djlint#readme) is a linter for HTML Templates.
+
+You can enable the djlint linter with:
+
+```shell
+trunk check enable djlint
+```
+
+## Auto Enabling
+
+djlint will be auto-enabled if a `.djlintrc` config file is present.
+
+## Settings
+
+djlint supports the following config files:
+
+* `.djlintrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.djlintrc` if your project does not already have one.
+
+## Links
+
+* [djlint site](https://github.com/Riverside-Healthcare/djlint#readme)
+* djlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/djlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/dotenv-linter.md b/code-quality/linters/supported/dotenv-linter.md
new file mode 100644
index 00000000..a623098e
--- /dev/null
+++ b/code-quality/linters/supported/dotenv-linter.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run dotenv-linter
+description: dotenv-linter is a linter for Dotenv
+---
+
+# dotenv-linter
+
+[**dotenv-linter**](https://github.com/dotenv-linter/dotenv-linter#readme) is a linter for Dotenv.
+
+You can enable the dotenv-linter linter with:
+
+```shell
+trunk check enable dotenv-linter
+```
+
+## Auto Enabling
+
+dotenv-linter will be auto-enabled if any _Dotenv_ files are present.
+
+## Links
+
+* [dotenv-linter site](https://github.com/dotenv-linter/dotenv-linter#readme)
+* dotenv-linter Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/dotenv-linter)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/dotnet-format.md b/code-quality/linters/supported/dotnet-format.md
new file mode 100644
index 00000000..77ca2f95
--- /dev/null
+++ b/code-quality/linters/supported/dotnet-format.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run dotnet-format
+description: dotnet-format is a linter for C#
+---
+
+# dotnet-format
+
+[**dotnet-format**](https://github.com/dotnet/format#readme) is a linter for C#.
+
+You can enable the dotnet-format linter with:
+
+```shell
+trunk check enable dotnet-format
+```
+
+## Auto Enabling
+
+dotnet-format will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [dotnet-format site](https://github.com/dotnet/format#readme)
+* dotnet-format Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/dotnet-format)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/dustilock.md b/code-quality/linters/supported/dustilock.md
new file mode 100644
index 00000000..a56e0fc1
--- /dev/null
+++ b/code-quality/linters/supported/dustilock.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run dustilock
+description: dustilock is a linter for Security
+---
+
+# dustilock
+
+[**dustilock**](https://github.com/Checkmarx/dustilock) is a linter for Security.
+
+You can enable the dustilock linter with:
+
+```shell
+trunk check enable dustilock
+```
+
+## Auto Enabling
+
+dustilock will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [dustilock site](https://github.com/Checkmarx/dustilock)
+* dustilock Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/dustilock)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/eslint.md b/code-quality/linters/supported/eslint.md
new file mode 100644
index 00000000..1461c9de
--- /dev/null
+++ b/code-quality/linters/supported/eslint.md
@@ -0,0 +1,76 @@
+---
+title: Trunk | How to run ESLint
+description: ESLint statically analyzes your code to quickly find problems.
+---
+
+# ESLint
+
+## ESLint
+
+[**ESLint**](https://eslint.org/) is a linter for JavaScript, JSON and TypeScript.
+
+You can enable the ESLint linter with:
+
+```shell
+trunk check enable eslint
+```
+
+### Auto Enabling
+
+ESLint will be auto-enabled if any of its config files are present: _`eslint.config.js`, `eslint.config.mjs`, `eslint.config.cjs`_.
+
+### Settings
+
+ESLint supports the following config files:
+
+* `eslint.config.js`
+* `eslint.config.mjs`
+* `eslint.config.cjs`
+* `.eslintrc`
+* `.eslintrc.cjs`
+* `.eslintrc.js`
+* `.eslintrc.json`
+* `.eslintrc.mjs`
+* `.eslintrc.yaml`
+* `.eslintrc.yml`
+
+Unlike with most tools under `trunk check`, these files cannot be moved.
+
+### Usage Notes
+
+## ESLint >= 9.x
+
+As of ESLint v9, all of the formatters have been removed. We suggest using [prettier](https://docs.trunk.io/code-quality/linters/supported/prettier) to format Javascript and Typescript code. The extra package mentioned below is no longer needed for ESLint v9 and higher.
+
+## ESlint < 8.x
+
+Most ESLint users use several plugins, custom parsers, etc. Trunk has turned off sandboxing and caching for ESLint so it can use your repo's installed packages for ESLint plugins, and other required ESLint packages. Trunk controls the ESLint version, but otherwise, ESLint looks for all plugins, configs, etc. based on the path of the source file it is linting. **This all means you do need to have npm/yarn installed in your repo as a prerequisite before running ESLint via trunk**.
+
+We recommend you disable all Prettier rules in your ESLint config and let Trunk run Prettier automatically on your files. It's much nicer to just autoformat a file than to see a lint error for every missing space.
+
+You can easily do this by:
+
+* adding the `eslint-config-prettier` package
+* adding `prettier` as the last element to the `extends` property in your ESLint config
+
+For example, your `extends` list might look like:
+
+```yaml
+extends:
+  # Order matters, later configs purposefully override settings from earlier configs
+  - eslint:recommended
+  - airbnb
+  - plugin:@typescript-eslint/recommended
+  - plugin:import/recommended
+  - plugin:import/typescript
+  - plugin:node/recommended
+  - plugin:mocha/recommended
+  - plugin:react/recommended
+  - prettier # this actually turns OFF all Prettier rules running via ESLint
+```
+
+### Links
+
+* [ESLint site](https://eslint.org/)
+* ESLint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/eslint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/flake8.gif b/code-quality/linters/supported/flake8.gif
new file mode 100644
index 00000000..ab801377
Binary files /dev/null and b/code-quality/linters/supported/flake8.gif differ
diff --git a/code-quality/linters/supported/flake8.md b/code-quality/linters/supported/flake8.md
new file mode 100644
index 00000000..9dc39ea3
--- /dev/null
+++ b/code-quality/linters/supported/flake8.md
@@ -0,0 +1,66 @@
+---
+title: Trunk | How to run Flake8
+description: >-
+  Uncover Flake8, a versatile Python linter for code style and error checking.
+  Flake 8 checks against PEP 8 and more, with plugin support for broader
+  analysis.
+---
+
+# Flake8
+
+[**Flake8**](https://flake8.pycqa.org/en/latest/) is a linter for Python.
+
+You can enable the Flake8 linter with:
+
+```shell
+trunk check enable flake8
+```
+
+![flake8 example output](../../../.gitbook/assets/flake8.gif)
+
+## Auto Enabling
+
+Flake8 will be auto-enabled if a `.flake8` config file is present.
+
+## Settings
+
+Flake8 supports the following config files:
+
+* `.flake8`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.flake8` if your project does not already have one.
+
+## Usage Notes
+
+Flake8 has a plugin architecture where if you install a plugin, it gets used. You can enable Flake8 plugins via:
+
+```yaml
+enabled:
+  - flake8@3.9.2:
+      packages:
+        - flake8-bugbear@21.4.3
+```
+
+`flake8-bugbear` is probably the most popular **flake8** plugin, we recommend it!. Here are a few other popular flake8 plugins you should consider.
+
+* **flake8-comprehensions**: Helps in identifying unnecessary comprehensions in your code.
+* **flake8-docstrings**: Checks for compliance with Python docstring conventions.
+* **flake8-import-order**: Checks the order of your imports according to various configurable ordering styles.
+
+Here's an updated code snippet with the above Plugins enabled:
+
+```undefined
+enabled:
+  - flake8@3.9.2:
+      packages:
+        - flake8-bugbear@21.4.3
+        - flake8-docstrings@1.7.0
+        - flake8-import-order@0.18.2
+        - flake8-comprehensions@3.14.0
+```
+
+## Links
+
+* [Flake8 site](https://flake8.pycqa.org/en/latest/)
+* Flake8 Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/flake8)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/git-diff-check.md b/code-quality/linters/supported/git-diff-check.md
new file mode 100644
index 00000000..6070264c
--- /dev/null
+++ b/code-quality/linters/supported/git-diff-check.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run git-diff-check
+description: git-diff-check is a linter for All
+---
+
+# git-diff-check
+
+[**git-diff-check**](https://git-scm.com/docs/git-diff) is a linter for All.
+
+You can enable the git-diff-check linter with:
+
+```shell
+trunk check enable git-diff-check
+```
+
+## Auto Enabling
+
+git-diff-check will be auto-enabled if any _all_ files are present.
+
+## Links
+
+* [git-diff-check site](https://git-scm.com/docs/git-diff)
+* git-diff-check Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/git-diff-check)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/gitleaks.gif b/code-quality/linters/supported/gitleaks.gif
new file mode 100644
index 00000000..240b16e3
Binary files /dev/null and b/code-quality/linters/supported/gitleaks.gif differ
diff --git a/code-quality/linters/supported/gitleaks.md b/code-quality/linters/supported/gitleaks.md
new file mode 100644
index 00000000..60408a16
--- /dev/null
+++ b/code-quality/linters/supported/gitleaks.md
@@ -0,0 +1,50 @@
+---
+title: Trunk | How to run Gitleaks
+description: >-
+  Explore Gitleaks, an open-source tool for identifying secrets in codebases.
+  Learn about its file type support and integration with Trunk.
+---
+
+# Gitleaks
+
+[**Gitleaks**](https://gitleaks.io/) is a linter for All.
+
+You can enable the Gitleaks linter with:
+
+```shell
+trunk check enable gitleaks
+```
+
+![gitleaks example output](../../../.gitbook/assets/gitleaks.gif)
+
+## Auto Enabling
+
+Gitleaks will be auto-enabled if any of its config files are present: _`.gitleaks.config`, `.gitleaks.toml`, `.gitleaksignore`_.
+
+## Settings
+
+Gitleaks supports the following config files:
+
+* `.gitleaks.config`
+* `.gitleaks.toml`
+* `.gitleaksignore`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+Gitleaks v7 only works with Go 1.16, not Go 1.18 while Gitleaks v8 works with 1.18. We recommend using v8, but if you specifically need to use v7 you can override the go runtime version like so:
+
+```yaml
+yaruntimes:
+  enabled:
+    - go@1.16.7
+```
+
+Again, this is not recommended. Just use Gitleaks v8 or later with go 1.18 or later.
+
+## Links
+
+* [Gitleaks site](https://gitleaks.io/)
+* Gitleaks Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/gitleaks)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/gofmt.md b/code-quality/linters/supported/gofmt.md
new file mode 100644
index 00000000..f424b39f
--- /dev/null
+++ b/code-quality/linters/supported/gofmt.md
@@ -0,0 +1,27 @@
+---
+title: Trunk | How to run Gofmt
+description: >-
+  Gofmt simplifies Go coding by automatically formatting code to match Go's
+  style guidelines, enhancing readability and teamwork without the manual
+  hassle.
+---
+
+# Gofmt
+
+[**Gofmt**](https://github.com/rhysd/actionlint) is a formatter for Go.
+
+You can enable the Gofmt formatter with:
+
+```shell
+trunk check enable gofmt
+```
+
+## Auto Enabling
+
+Gofmt will be auto-enabled if any _Go_ files are present.
+
+## Links
+
+* [Gofmt site](https://github.com/rhysd/actionlint)
+* Gofmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/gofmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/gofumpt.md b/code-quality/linters/supported/gofumpt.md
new file mode 100644
index 00000000..599e75a1
--- /dev/null
+++ b/code-quality/linters/supported/gofumpt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run gofumpt
+description: gofumpt is a linter for Go
+---
+
+# gofumpt
+
+[**gofumpt**](https://pkg.go.dev/mvdan.cc/gofumpt) is a linter for Go.
+
+You can enable the gofumpt linter with:
+
+```shell
+trunk check enable gofumpt
+```
+
+## Auto Enabling
+
+gofumpt will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [gofumpt site](https://pkg.go.dev/mvdan.cc/gofumpt)
+* gofumpt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/gofumpt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/goimports.md b/code-quality/linters/supported/goimports.md
new file mode 100644
index 00000000..367d0cdb
--- /dev/null
+++ b/code-quality/linters/supported/goimports.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run goimports
+description: goimports is a linter for Go
+---
+
+# goimports
+
+[**goimports**](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) is a linter for Go.
+
+You can enable the goimports linter with:
+
+```shell
+trunk check enable goimports
+```
+
+## Auto Enabling
+
+goimports will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [goimports site](https://pkg.go.dev/golang.org/x/tools/cmd/goimports)
+* goimports Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/goimports)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/gokart.md b/code-quality/linters/supported/gokart.md
new file mode 100644
index 00000000..4f215075
--- /dev/null
+++ b/code-quality/linters/supported/gokart.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run gokart
+description: gokart is a linter for Go
+---
+
+# gokart
+
+[**gokart**](https://github.com/praetorian-inc/gokart) is a linter for Go.
+
+You can enable the gokart linter with:
+
+```shell
+trunk check enable gokart
+```
+
+## Auto Enabling
+
+gokart will be auto-enabled if a `analyzers.yml` config file is present.
+
+## Settings
+
+gokart supports the following config files:
+
+* `analyzers.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `analyzers.yml` if your project does not already have one.
+
+## Links
+
+* [gokart site](https://github.com/praetorian-inc/gokart)
+* gokart Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/gokart)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/golangci-lint.md b/code-quality/linters/supported/golangci-lint.md
new file mode 100644
index 00000000..dc976011
--- /dev/null
+++ b/code-quality/linters/supported/golangci-lint.md
@@ -0,0 +1,47 @@
+---
+title: Trunk | How to run golangci-lint
+description: >-
+  Golangci-lint is a fast Go linters runner. Learn how to install, configure,
+  and use golangci-lint effectively for Go projects.
+---
+
+# golangci-lint
+
+[**golangci-lint**](https://github.com/golangci/golangci-lint) is a linter for Go.
+
+You can enable the golangci-lint linter with:
+
+```shell
+trunk check enable golangci-lint
+```
+
+## Auto Enabling
+
+golangci-lint will be auto-enabled if any _Go_ files are present.
+
+## Settings
+
+golangci-lint supports the following config files:
+
+* `.golangci.json`
+* `.golangci.toml`
+* `.golangci.yaml`
+* `.golangci.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+Make sure your go version in `go.mod` matches Trunk's go runtime version. At the time of this writing, Trunk's default go runtime version is `1.21.0`. You can find out what it is via `trunk print-config`, and look for the `runtime` section, and you can override the default version in your `trunk.yaml` via:
+
+```yaml
+runtimes:
+  enabled:
+    - go@1.21.0
+```
+
+## Links
+
+* [golangci-lint site](https://github.com/golangci/golangci-lint)
+* golangci-lint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/golangci-lint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/golines.md b/code-quality/linters/supported/golines.md
new file mode 100644
index 00000000..fcfa3357
--- /dev/null
+++ b/code-quality/linters/supported/golines.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run golines
+description: golines is a linter for Go
+---
+
+# golines
+
+[**golines**](https://pkg.go.dev/github.com/segmentio/golines) is a linter for Go.
+
+You can enable the golines linter with:
+
+```shell
+trunk check enable golines
+```
+
+## Auto Enabling
+
+golines will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [golines site](https://pkg.go.dev/github.com/segmentio/golines)
+* golines Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/golines)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/google-java-format.md b/code-quality/linters/supported/google-java-format.md
new file mode 100644
index 00000000..4c1af321
--- /dev/null
+++ b/code-quality/linters/supported/google-java-format.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run google-java-format
+description: google-java-format is a linter for Java
+---
+
+# google-java-format
+
+[**google-java-format**](https://github.com/google/google-java-format#readme) is a linter for Java.
+
+You can enable the google-java-format linter with:
+
+```shell
+trunk check enable google-java-format
+```
+
+## Auto Enabling
+
+google-java-format will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [google-java-format site](https://github.com/google/google-java-format#readme)
+* google-java-format Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/google-java-format)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/graphql-schema-linter.md b/code-quality/linters/supported/graphql-schema-linter.md
new file mode 100644
index 00000000..1ef796ee
--- /dev/null
+++ b/code-quality/linters/supported/graphql-schema-linter.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run graphql-schema-linter
+description: graphql-schema-linter is a linter for GraphQL
+---
+
+# graphql-schema-linter
+
+[**graphql-schema-linter**](https://github.com/cjoudrey/graphql-schema-linter#readme) is a linter for GraphQL.
+
+You can enable the graphql-schema-linter linter with:
+
+```shell
+trunk check enable graphql-schema-linter
+```
+
+## Auto Enabling
+
+graphql-schema-linter will be auto-enabled if any of its config files are present: _`.graphql-schema-linter.config.js`, `.graphql-schema-linterrc`_.
+
+## Settings
+
+graphql-schema-linter supports the following config files:
+
+* `.graphql-schema-linter.config.js`
+* `.graphql-schema-linterrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [graphql-schema-linter site](https://github.com/cjoudrey/graphql-schema-linter#readme)
+* graphql-schema-linter Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/graphql-schema-linter)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/hadolint.md b/code-quality/linters/supported/hadolint.md
new file mode 100644
index 00000000..d3c9c6a5
--- /dev/null
+++ b/code-quality/linters/supported/hadolint.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run hadolint
+description: hadolint is a linter for Docker
+---
+
+# hadolint
+
+[**hadolint**](https://github.com/hadolint/hadolint#readme) is a linter for Docker.
+
+You can enable the hadolint linter with:
+
+```shell
+trunk check enable hadolint
+```
+
+## Auto Enabling
+
+hadolint will be auto-enabled if any _Docker_ files are present.
+
+## Settings
+
+hadolint supports the following config files:
+
+* `.hadolint.yaml`
+* `.hadolint.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.hadolint.yaml` if your project does not already have one.
+
+## Links
+
+* [hadolint site](https://github.com/hadolint/hadolint#readme)
+* hadolint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/hadolint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/haml-lint.md b/code-quality/linters/supported/haml-lint.md
new file mode 100644
index 00000000..33c2304e
--- /dev/null
+++ b/code-quality/linters/supported/haml-lint.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run haml-lint
+description: haml-lint is a linter for HAML
+---
+
+# haml-lint
+
+[**haml-lint**](https://github.com/sds/haml-lint#readme) is a linter for HAML.
+
+You can enable the haml-lint linter with:
+
+```shell
+trunk check enable haml-lint
+```
+
+## Auto Enabling
+
+haml-lint will be auto-enabled if any _Haml_ files are present.
+
+## Settings
+
+haml-lint supports the following config files:
+
+* `.haml-lint.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [haml-lint site](https://github.com/sds/haml-lint#readme)
+* haml-lint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/haml-lint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/isort.gif b/code-quality/linters/supported/isort.gif
new file mode 100644
index 00000000..1f1fe18e
Binary files /dev/null and b/code-quality/linters/supported/isort.gif differ
diff --git a/code-quality/linters/supported/isort.md b/code-quality/linters/supported/isort.md
new file mode 100644
index 00000000..0f071205
--- /dev/null
+++ b/code-quality/linters/supported/isort.md
@@ -0,0 +1,36 @@
+---
+title: Trunk | How to run isort
+description: >-
+  isort is a Python utility for sorting imports alphabetically and automatically
+  separating them into sections and by type.
+---
+
+# isort
+
+[**isort**](https://pycqa.github.io/isort/) is a formatter for Python.
+
+You can enable the isort formatter with:
+
+```shell
+trunk check enable isort
+```
+
+![isort example output](../../../.gitbook/assets/isort.gif)
+
+## Auto Enabling
+
+isort will be auto-enabled if any _Python_ files are present.
+
+## Settings
+
+isort supports the following config files:
+
+* `.isort.cfg`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.isort.cfg` if your project does not already have one.
+
+## Links
+
+* [isort site](https://pycqa.github.io/isort/)
+* isort Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/isort)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/iwyu.md b/code-quality/linters/supported/iwyu.md
new file mode 100644
index 00000000..9920b318
--- /dev/null
+++ b/code-quality/linters/supported/iwyu.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run iwyu
+description: iwyu is a linter for C, C++
+---
+
+# iwyu
+
+[**iwyu**](https://github.com/include-what-you-use/include-what-you-use#readme) is a linter for C, C++.
+
+You can enable the iwyu linter with:
+
+```shell
+trunk check enable iwyu
+```
+
+## Auto Enabling
+
+iwyu will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [iwyu site](https://github.com/include-what-you-use/include-what-you-use#readme)
+* iwyu Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/iwyu)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/ktlint.md b/code-quality/linters/supported/ktlint.md
new file mode 100644
index 00000000..80b106ae
--- /dev/null
+++ b/code-quality/linters/supported/ktlint.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run ktlint
+description: ktlint is a linter for Kotlin
+---
+
+# ktlint
+
+[**ktlint**](https://github.com/pinterest/ktlint#readme) is a linter for Kotlin.
+
+You can enable the ktlint linter with:
+
+```shell
+trunk check enable ktlint
+```
+
+## Auto Enabling
+
+ktlint will be auto-enabled if any _Kotlin_ files are present.
+
+## Links
+
+* [ktlint site](https://github.com/pinterest/ktlint#readme)
+* ktlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/ktlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/kube-linter.md b/code-quality/linters/supported/kube-linter.md
new file mode 100644
index 00000000..2336b4ed
--- /dev/null
+++ b/code-quality/linters/supported/kube-linter.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run kube-linter
+description: kube-linter is a linter for Kubernetes
+---
+
+# kube-linter
+
+[**kube-linter**](https://github.com/stackrox/kube-linter#readme) is a linter for Kubernetes.
+
+You can enable the kube-linter linter with:
+
+```shell
+trunk check enable kube-linter
+```
+
+## Auto Enabling
+
+kube-linter will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [kube-linter site](https://github.com/stackrox/kube-linter#readme)
+* kube-linter Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/kube-linter)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/markdown-link-check.md b/code-quality/linters/supported/markdown-link-check.md
new file mode 100644
index 00000000..bb54488b
--- /dev/null
+++ b/code-quality/linters/supported/markdown-link-check.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run markdown-link-check
+description: markdown-link-check is a linter for Markdown
+---
+
+# markdown-link-check
+
+[**markdown-link-check**](https://github.com/tcort/markdown-link-check#readme) is a linter for Markdown.
+
+You can enable the markdown-link-check linter with:
+
+```shell
+trunk check enable markdown-link-check
+```
+
+## Auto Enabling
+
+markdown-link-check will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [markdown-link-check site](https://github.com/tcort/markdown-link-check#readme)
+* markdown-link-check Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/markdown-link-check)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/markdown-table-prettify.md b/code-quality/linters/supported/markdown-table-prettify.md
new file mode 100644
index 00000000..0acf1e4b
--- /dev/null
+++ b/code-quality/linters/supported/markdown-table-prettify.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run markdown-table-prettify
+description: markdown-table-prettify is a linter for Markdown
+---
+
+# markdown-table-prettify
+
+[**markdown-table-prettify**](https://github.com/darkriszty/MarkdownTablePrettify-VSCodeExt#readme) is a linter for Markdown.
+
+You can enable the markdown-table-prettify linter with:
+
+```shell
+trunk check enable markdown-table-prettify
+```
+
+## Auto Enabling
+
+markdown-table-prettify will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [markdown-table-prettify site](https://github.com/darkriszty/MarkdownTablePrettify-VSCodeExt#readme)
+* markdown-table-prettify Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/markdown-table-prettify)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/markdownlint-cli2.md b/code-quality/linters/supported/markdownlint-cli2.md
new file mode 100644
index 00000000..66ac44f8
--- /dev/null
+++ b/code-quality/linters/supported/markdownlint-cli2.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run markdownlint-cli2
+description: markdownlint-cli2 is a linter for Markdown
+---
+
+# markdownlint-cli2
+
+[**markdownlint-cli2**](https://github.com/DavidAnson/markdownlint-cli2) is a linter for Markdown.
+
+You can enable the markdownlint-cli2 linter with:
+
+```shell
+trunk check enable markdownlint-cli2
+```
+
+## Auto Enabling
+
+markdownlint-cli2 will be auto-enabled if any of its config files are present: _`.markdownlint-cli2.jsonc`, `.markdownlint-cli2.yaml`, `.markdownlint-cli2.cjs`_.
+
+## Settings
+
+markdownlint-cli2 supports the following config files:
+
+* `.markdownlint-cli2.jsonc`
+* `.markdownlint-cli2.yaml`
+* `.markdownlint-cli2.cjs`
+* `.markdownlint-cli2.mjs`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [markdownlint-cli2 site](https://github.com/DavidAnson/markdownlint-cli2)
+* markdownlint-cli2 Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/markdownlint-cli2)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/markdownlint.md b/code-quality/linters/supported/markdownlint.md
new file mode 100644
index 00000000..10cb4592
--- /dev/null
+++ b/code-quality/linters/supported/markdownlint.md
@@ -0,0 +1,41 @@
+---
+title: Trunk | How to run Markdownlint
+description: >-
+  Markdownlint is a tool designed to enforce consistency for Markdown files. It
+  can include checks for headings, lists, line length, and syntax preferences.
+---
+
+# Markdownlint
+
+[**Markdownlint**](https://github.com/DavidAnson/markdownlint) is a linter for Markdown.
+
+You can enable the Markdownlint linter with:
+
+```shell
+trunk check enable markdownlint
+```
+
+## Auto Enabling
+
+Markdownlint will be auto-enabled if any _Markdown_ files are present.
+
+## Settings
+
+Markdownlint supports the following config files:
+
+* `.markdownlint.json`
+* `.markdownlint.yaml`
+* `.markdownlint.yml`
+* `.markdownlintrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.markdownlint.yaml` if your project does not already have one.
+
+## Usage Notes
+
+Older versions of `markdownlint` had a bug where it printed plaintext output even when run with `--json`. We rely on JSON output so we can parse and ingest the results from markdownlint. The package we use for markdownlint is actually [markdownlint-cli ](https://www.npmjs.com/package/markdownlint-cli)`>= 0.29.0` is verified to work.
+
+## Links
+
+* [Markdownlint site](https://github.com/DavidAnson/markdownlint)
+* Markdownlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/markdownlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/mypy.gif b/code-quality/linters/supported/mypy.gif
new file mode 100644
index 00000000..6cfbf1a2
Binary files /dev/null and b/code-quality/linters/supported/mypy.gif differ
diff --git a/code-quality/linters/supported/mypy.md b/code-quality/linters/supported/mypy.md
new file mode 100644
index 00000000..35fd8ef3
--- /dev/null
+++ b/code-quality/linters/supported/mypy.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run mypy
+description: mypy is a linter for Python
+---
+
+# mypy
+
+[**mypy**](https://github.com/python/mypy#readme) is a linter for Python.
+
+You can enable the mypy linter with:
+
+```shell
+trunk check enable mypy
+```
+
+![mypy example output](../../../.gitbook/assets/mypy.gif)
+
+## Auto Enabling
+
+mypy will be auto-enabled if any of its config files are present: _`mypy.ini`, `.mypy.ini`_.
+
+## Settings
+
+mypy supports the following config files:
+
+* `mypy.ini`
+* `.mypy.ini`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [mypy site](https://github.com/python/mypy#readme)
+* mypy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/mypy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/nancy.md b/code-quality/linters/supported/nancy.md
new file mode 100644
index 00000000..38e4fff2
--- /dev/null
+++ b/code-quality/linters/supported/nancy.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run nancy
+description: nancy is a linter for Security
+---
+
+# nancy
+
+[**nancy**](https://github.com/sonatype-nexus-community/nancy#readme) is a linter for Security.
+
+You can enable the nancy linter with:
+
+```shell
+trunk check enable nancy
+```
+
+## Auto Enabling
+
+nancy will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [nancy site](https://github.com/sonatype-nexus-community/nancy#readme)
+* nancy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/nancy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/nixpkgs-fmt.md b/code-quality/linters/supported/nixpkgs-fmt.md
new file mode 100644
index 00000000..d235e4e9
--- /dev/null
+++ b/code-quality/linters/supported/nixpkgs-fmt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run nixpkgs-fmt
+description: nixpkgs-fmt is a linter for Nix
+---
+
+# nixpkgs-fmt
+
+[**nixpkgs-fmt**](https://github.com/nix-community/nixpkgs-fmt) is a linter for Nix.
+
+You can enable the nixpkgs-fmt linter with:
+
+```shell
+trunk check enable nixpkgs-fmt
+```
+
+## Auto Enabling
+
+nixpkgs-fmt will be auto-enabled if any _Nix_ files are present.
+
+## Links
+
+* [nixpkgs-fmt site](https://github.com/nix-community/nixpkgs-fmt)
+* nixpkgs-fmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/nixpkgs-fmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/opa.md b/code-quality/linters/supported/opa.md
new file mode 100644
index 00000000..a42e2d93
--- /dev/null
+++ b/code-quality/linters/supported/opa.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run opa
+description: opa is a linter for Rego
+---
+
+# opa
+
+[**opa**](https://www.openpolicyagent.org/docs/latest/cli/#opa-fmt) is a linter for Rego.
+
+You can enable the opa linter with:
+
+```shell
+trunk check enable opa
+```
+
+## Auto Enabling
+
+opa will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [opa site](https://www.openpolicyagent.org/docs/latest/cli/#opa-fmt)
+* opa Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/opa)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/osv-scanner.md b/code-quality/linters/supported/osv-scanner.md
new file mode 100644
index 00000000..2e1aede0
--- /dev/null
+++ b/code-quality/linters/supported/osv-scanner.md
@@ -0,0 +1,53 @@
+---
+title: Trunk | How to run OSV-Scanner
+description: >-
+  OSV-Scanner is an open-source tool created by Google to detect vulnerabilities
+  in projects by scanning dependencies against the OSV database.
+---
+
+# OSV-Scanner
+
+[**OSV-Scanner**](https://github.com/google/osv-scanner) is a linter for Security.
+
+You can enable the OSV-Scanner linter with:
+
+```shell
+trunk check enable osv-scanner
+```
+
+## Auto Enabling
+
+OSV-Scanner will be auto-enabled if any _Lockfile_ files are present.
+
+## Settings
+
+OSV-Scanner supports the following config files:
+
+* `osv-scanner.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+{% hint style="warning" %}
+Moving `osv-scanner.toml` to `.trunk/configs` can cause issues because `osv-scanner.toml` is only applied to projects in the root folder by default. This can cause issues with any projects in subfolders, such as in a multi-module repository.
+{% endhint %}
+
+To properly configure OSV scanner if you decide to move its config file, you can specify the path to `osv-scanner.toml` using the `--config` flag.\
+\
+Example override to add to `trunk.yaml` : &#x20;
+
+```yaml
+commands:
+  - name: scan
+    run: |
+      osv-scanner \
+        --lockfile=${target} \
+        --format json \
+        --config=.trunk/configs/osv-scanner.toml
+```
+
+## Links
+
+* [OSV-Scanner site](https://github.com/google/osv-scanner)
+* [OSV-Scanner Configuration](https://google.github.io/osv-scanner/configuration/)
+* OSV-Scanner Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/osv-scanner)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/oxipng.md b/code-quality/linters/supported/oxipng.md
new file mode 100644
index 00000000..d4cf9e3a
--- /dev/null
+++ b/code-quality/linters/supported/oxipng.md
@@ -0,0 +1,26 @@
+---
+title: Trunk | How to run Oxipng
+description: >-
+  Oxipng is an open-source, CLI utility designed for optimizing PNG files. It
+  applies lossless compression techniques to reduce file size.
+---
+
+# Oxipng
+
+[**Oxipng**](https://github.com/shssoichiro/oxipng) is a formatter for PNG.
+
+You can enable the Oxipng formatter with:
+
+```shell
+trunk check enable oxipng
+```
+
+## Auto Enabling
+
+Oxipng will be auto-enabled if any _Png_ files are present.
+
+## Links
+
+* [Oxipng site](https://github.com/shssoichiro/oxipng)
+* Oxipng Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/oxipng)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/perlcritic.md b/code-quality/linters/supported/perlcritic.md
new file mode 100644
index 00000000..318cfe42
--- /dev/null
+++ b/code-quality/linters/supported/perlcritic.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run perlcritic
+description: perlcritic is a linter for Perl
+---
+
+# perlcritic
+
+[**perlcritic**](https://metacpan.org/pod/Perl::Critic) is a linter for Perl.
+
+You can enable the perlcritic linter with:
+
+```shell
+trunk check enable perlcritic
+```
+
+## Auto Enabling
+
+perlcritic will be auto-enabled if a `.perlcriticrc` config file is present.
+
+## Settings
+
+perlcritic supports the following config files:
+
+* `.perlcriticrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.perlcriticrc` if your project does not already have one.
+
+## Links
+
+* [perlcritic site](https://metacpan.org/pod/Perl::Critic)
+* perlcritic Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/perlcritic)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/perltidy.md b/code-quality/linters/supported/perltidy.md
new file mode 100644
index 00000000..1bcd3ec3
--- /dev/null
+++ b/code-quality/linters/supported/perltidy.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run perltidy
+description: perltidy is a linter for Perl
+---
+
+# perltidy
+
+[**perltidy**](https://metacpan.org/dist/Perl-Tidy/view/bin/perltidy) is a linter for Perl.
+
+You can enable the perltidy linter with:
+
+```shell
+trunk check enable perltidy
+```
+
+## Auto Enabling
+
+perltidy will be auto-enabled if a `.perltidyrc` config file is present.
+
+## Settings
+
+perltidy supports the following config files:
+
+* `.perltidyrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.perltidyrc` if your project does not already have one.
+
+## Links
+
+* [perltidy site](https://metacpan.org/dist/Perl-Tidy/view/bin/perltidy)
+* perltidy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/perltidy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/php-cs-fixer.md b/code-quality/linters/supported/php-cs-fixer.md
new file mode 100644
index 00000000..43cbdd06
--- /dev/null
+++ b/code-quality/linters/supported/php-cs-fixer.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run php-cs-fixer
+description: php-cs-fixer is a linter for PHP
+---
+
+# php-cs-fixer
+
+[**php-cs-fixer**](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) is a linter for PHP.
+
+You can enable the php-cs-fixer linter with:
+
+```shell
+trunk check enable php-cs-fixer
+```
+
+## Auto Enabling
+
+php-cs-fixer will be auto-enabled if a `.php-cs-fixer.dist.php` config file is present.
+
+## Settings
+
+php-cs-fixer supports the following config files:
+
+* `.php-cs-fixer.dist.php`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [php-cs-fixer site](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)
+* php-cs-fixer Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/php-cs-fixer)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/phpstan.md b/code-quality/linters/supported/phpstan.md
new file mode 100644
index 00000000..65ec6c6a
--- /dev/null
+++ b/code-quality/linters/supported/phpstan.md
@@ -0,0 +1,34 @@
+---
+title: Trunk | How to run phpstan
+description: phpstan is a linter for PHP
+---
+
+# phpstan
+
+[**phpstan**](https://phpstan.org/) is a linter for PHP.
+
+You can enable the phpstan linter with:
+
+```shell
+trunk check enable phpstan
+```
+
+## Auto Enabling
+
+phpstan will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+phpstan supports the following config files:
+
+* `phpstan.neon`
+* `phpstan.neon.dist`
+* `phpstan.dist.neon`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [phpstan site](https://phpstan.org/)
+* phpstan Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/phpstan)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/pmd.gif b/code-quality/linters/supported/pmd.gif
new file mode 100644
index 00000000..703a27a7
Binary files /dev/null and b/code-quality/linters/supported/pmd.gif differ
diff --git a/code-quality/linters/supported/pmd.md b/code-quality/linters/supported/pmd.md
new file mode 100644
index 00000000..ed017c91
--- /dev/null
+++ b/code-quality/linters/supported/pmd.md
@@ -0,0 +1,26 @@
+---
+title: Trunk | How to run pmd
+description: pmd is a linter for Apex and Java
+---
+
+# pmd
+
+[**pmd**](https://pmd.github.io/) is a linter for Apex and Java.
+
+You can enable the pmd linter with:
+
+```shell
+trunk check enable pmd
+```
+
+![pmd example output](../../../.gitbook/assets/pmd.gif)
+
+## Auto Enabling
+
+pmd will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [pmd site](https://pmd.github.io/)
+* pmd Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/pmd)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/pragma-once.gif b/code-quality/linters/supported/pragma-once.gif
new file mode 100644
index 00000000..156885c6
Binary files /dev/null and b/code-quality/linters/supported/pragma-once.gif differ
diff --git a/code-quality/linters/supported/pragma-once.md b/code-quality/linters/supported/pragma-once.md
new file mode 100644
index 00000000..3c12fc2e
--- /dev/null
+++ b/code-quality/linters/supported/pragma-once.md
@@ -0,0 +1,26 @@
+---
+title: Trunk | How to run pragma-once
+description: pragma-once is a linter for C, C++
+---
+
+# pragma-once
+
+[**pragma-once**](https://github.com/trunk-io/plugins/blob/main/linters/pragma-once/README.md) is a linter for C, C++.
+
+You can enable the pragma-once linter with:
+
+```shell
+trunk check enable pragma-once
+```
+
+![pragma-once example output](../../../.gitbook/assets/pragma-once.gif)
+
+## Auto Enabling
+
+pragma-once will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [pragma-once site](https://github.com/trunk-io/plugins/blob/main/linters/pragma-once/README.md)
+* pragma-once Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/pragma-once)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/pre-commit-hooks.md b/code-quality/linters/supported/pre-commit-hooks.md
new file mode 100644
index 00000000..37e9e8f2
--- /dev/null
+++ b/code-quality/linters/supported/pre-commit-hooks.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run pre-commit-hooks
+description: pre-commit-hooks is a linter for All
+---
+
+# pre-commit-hooks
+
+[**pre-commit-hooks**](https://pre-commit.com/hooks.html) is a linter for All.
+
+You can enable the pre-commit-hooks linter with:
+
+```shell
+trunk check enable pre-commit-hooks
+```
+
+## Auto Enabling
+
+pre-commit-hooks will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [pre-commit-hooks site](https://pre-commit.com/hooks.html)
+* pre-commit-hooks Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/pre-commit-hooks)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/prettier.gif b/code-quality/linters/supported/prettier.gif
new file mode 100644
index 00000000..cae1baac
Binary files /dev/null and b/code-quality/linters/supported/prettier.gif differ
diff --git a/code-quality/linters/supported/prettier.md b/code-quality/linters/supported/prettier.md
new file mode 100644
index 00000000..c0c301d6
--- /dev/null
+++ b/code-quality/linters/supported/prettier.md
@@ -0,0 +1,58 @@
+---
+title: Trunk | How to run Prettier
+description: >-
+  Explore  Prettier, the powerful code formatter. Learn how to install,
+  configure, and effectively use Prettier to enhance your coding workflow.
+---
+
+# Prettier
+
+[**Prettier**](https://prettier.io/) is a formatter for CSS, SCSS, JavaScript, JSON, Markdown, TypeScript, GraphQL and YAML.
+
+You can enable the Prettier formatter with:
+
+```shell
+trunk check enable prettier
+```
+
+![prettier example output](../../../.gitbook/assets/prettier.gif)
+
+## Auto Enabling
+
+Prettier will be auto-enabled if any _TypeScript, Yaml, Css, Postcss, Sass, Html, Markdown, Json, JavaScript, Graphql or Prettier\_supported\_configs_ files are present.
+
+## Settings
+
+Prettier supports the following config files:
+
+* `.prettierrc`
+* `.prettierrc.json`
+* `.prettierrc.yml`
+* `.prettierrc.yaml`
+* `.prettierrc.json5`
+* `.prettierrc.js`
+* `.prettierrc.cjs`
+* `.prettierrc.mjs`
+* `prettier.config.js`
+* `prettier.config.cjs`
+* `prettier.config.mjs`
+* `.prettierrc.toml`
+* `.prettierignore`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+By default, Trunk uses Prettier to autoformat many languages/config formats, including markdown. To line wrap within markdown, you need to set the following in your [Prettier config](https://prettier.io/docs/en/configuration.html) `.prettierrc.yaml`, etc.
+
+```yaml
+proseWrap: always
+```
+
+You may also want to configure `printWidth` to your liking.
+
+## Links
+
+* [Prettier site](https://prettier.io/)
+* Prettier Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/prettier)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/prisma.md b/code-quality/linters/supported/prisma.md
new file mode 100644
index 00000000..5bc28ec3
--- /dev/null
+++ b/code-quality/linters/supported/prisma.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run prisma
+description: prisma is a linter for Prisma
+---
+
+# prisma
+
+[**prisma**](https://github.com/prisma/prisma#readme) is a linter for Prisma.
+
+You can enable the prisma linter with:
+
+```shell
+trunk check enable prisma
+```
+
+## Auto Enabling
+
+prisma will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [prisma site](https://github.com/prisma/prisma#readme)
+* prisma Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/prisma)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/psscriptanalyzer.md b/code-quality/linters/supported/psscriptanalyzer.md
new file mode 100644
index 00000000..0c811bb7
--- /dev/null
+++ b/code-quality/linters/supported/psscriptanalyzer.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run psscriptanalyzer
+description: psscriptanalyzer is a linter for PowerShell
+---
+
+# psscriptanalyzer
+
+[**psscriptanalyzer**](https://github.com/PowerShell/PSScriptAnalyzer) is a linter for PowerShell.
+
+You can enable the psscriptanalyzer linter with:
+
+```shell
+trunk check enable psscriptanalyzer
+```
+
+## Auto Enabling
+
+psscriptanalyzer will be auto-enabled if a `PSScriptAnalyzerSettings.psd1` config file is present.
+
+## Settings
+
+psscriptanalyzer supports the following config files:
+
+* `PSScriptAnalyzerSettings.psd1`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [psscriptanalyzer site](https://github.com/PowerShell/PSScriptAnalyzer)
+* psscriptanalyzer Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/psscriptanalyzer)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/pylint.gif b/code-quality/linters/supported/pylint.gif
new file mode 100644
index 00000000..ba9c04bc
Binary files /dev/null and b/code-quality/linters/supported/pylint.gif differ
diff --git a/code-quality/linters/supported/pylint.md b/code-quality/linters/supported/pylint.md
new file mode 100644
index 00000000..725a8ce1
--- /dev/null
+++ b/code-quality/linters/supported/pylint.md
@@ -0,0 +1,50 @@
+---
+title: Trunk | How to run Pylint
+description: >-
+  Learn about Pylint, the versatile Python linter for error detection, code
+  smell elimination, and PEP 8 enforcement.
+---
+
+# Pylint
+
+[**Pylint**](https://pypi.org/project/pylint/) is a linter for Python.
+
+You can enable the Pylint linter with:
+
+```shell
+trunk check enable pylint
+```
+
+![pylint example output](../../../.gitbook/assets/pylint.gif)
+
+## Auto Enabling
+
+Pylint will be auto-enabled if any of its config files are present: _`pylintrc`, `.pylintrc`_.
+
+## Settings
+
+Pylint supports the following config files:
+
+* `pylintrc`
+* `.pylintrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+You may specify additional pylint plugins in your `.pylintrc`, using the line `load-plugins=...`
+
+If you want to run the plugin `pylint-django` as part of your setup, you would add the line `load-plugins=pylint_django` to your `.pylintrc`, but you **also** need to tell trunk to install the package:
+
+```yaml
+- pylint@2.11.0:
+    packages:
+      - pylint-django@2.4.4
+
+```
+
+## Links
+
+* [Pylint site](https://pypi.org/project/pylint/)
+* Pylint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/pylint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/pyright.md b/code-quality/linters/supported/pyright.md
new file mode 100644
index 00000000..35bdfc05
--- /dev/null
+++ b/code-quality/linters/supported/pyright.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run pyright
+description: pyright is a linter for Python
+---
+
+# pyright
+
+[**pyright**](https://github.com/microsoft/pyright) is a linter for Python.
+
+You can enable the pyright linter with:
+
+```shell
+trunk check enable pyright
+```
+
+## Auto Enabling
+
+pyright will be auto-enabled if a `pyrightconfig.json` config file is present.
+
+## Settings
+
+pyright supports the following config files:
+
+* `pyrightconfig.json`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [pyright site](https://github.com/microsoft/pyright)
+* pyright Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/pyright)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/regal.md b/code-quality/linters/supported/regal.md
new file mode 100644
index 00000000..1678ccce
--- /dev/null
+++ b/code-quality/linters/supported/regal.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run regal
+description: regal is a linter for Rego
+---
+
+# regal
+
+[**regal**](https://github.com/StyraInc/regal) is a linter for Rego.
+
+You can enable the regal linter with:
+
+```shell
+trunk check enable regal
+```
+
+## Auto Enabling
+
+regal will be auto-enabled if a `.regal/config.yaml` config file is present.
+
+## Settings
+
+regal supports the following config files:
+
+* `.regal/config.yaml`
+
+Unlike with most tools under `trunk check`, these files cannot be moved.
+
+## Links
+
+* [regal site](https://github.com/StyraInc/regal)
+* regal Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/regal)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/remark-lint.md b/code-quality/linters/supported/remark-lint.md
new file mode 100644
index 00000000..46f89a9a
--- /dev/null
+++ b/code-quality/linters/supported/remark-lint.md
@@ -0,0 +1,38 @@
+---
+title: Trunk | How to run remark-lint
+description: remark-lint is a linter for Markdown
+---
+
+# remark-lint
+
+[**remark-lint**](https://github.com/remarkjs/remark-lint#readme) is a linter for Markdown.
+
+You can enable the remark-lint linter with:
+
+```shell
+trunk check enable remark-lint
+```
+
+## Auto Enabling
+
+remark-lint will be auto-enabled if any of its config files are present: _`.remarkrc`, `.remarkrc.json`, `.remarkrc.cjs`_.
+
+## Settings
+
+remark-lint supports the following config files:
+
+* `.remarkrc`
+* `.remarkrc.json`
+* `.remarkrc.cjs`
+* `.remarkrc.mjs`
+* `.remarkrc.js`
+* `.remarkrc.yaml`
+* `.remarkrc.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.remarkrc.yaml` if your project does not already have one.
+
+## Links
+
+* [remark-lint site](https://github.com/remarkjs/remark-lint#readme)
+* remark-lint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/remark-lint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/renovate.md b/code-quality/linters/supported/renovate.md
new file mode 100644
index 00000000..f7fac817
--- /dev/null
+++ b/code-quality/linters/supported/renovate.md
@@ -0,0 +1,40 @@
+---
+title: Trunk | How to run renovate
+description: renovate is a linter for Renovate
+---
+
+# renovate
+
+[**renovate**](https://github.com/renovatebot/renovate#readme) is a linter for Renovate.
+
+You can enable the renovate linter with:
+
+```shell
+trunk check enable renovate
+```
+
+## Auto Enabling
+
+renovate will be auto-enabled if any of its config files are present: _`renovate.json`, `renovate.json5`, `.github/renovate.json`_.
+
+## Settings
+
+renovate supports the following config files:
+
+* `renovate.json`
+* `renovate.json5`
+* `.github/renovate.json`
+* `.github/renovate.json5`
+* `.gitlab/renovate.json`
+* `.gitlab/renovate.json5`
+* `.renovaterc`
+* `.renovaterc.json`
+* `.renovaterc.json5`
+
+Unlike with most tools under `trunk check`, these files cannot be moved.
+
+## Links
+
+* [renovate site](https://github.com/renovatebot/renovate#readme)
+* renovate Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/renovate)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/rome.md b/code-quality/linters/supported/rome.md
new file mode 100644
index 00000000..f07578af
--- /dev/null
+++ b/code-quality/linters/supported/rome.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run rome
+description: rome is a linter for JavaScript and TypeScript
+---
+
+# rome
+
+[**rome**](https://github.com/rome/tools#readme) is a linter for JavaScript and TypeScript.
+
+You can enable the rome linter with:
+
+```shell
+trunk check enable rome
+```
+
+## Auto Enabling
+
+rome will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+rome supports the following config files:
+
+* `rome.json`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [rome site](https://github.com/rome/tools#readme)
+* rome Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/rome)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/rubocop.md b/code-quality/linters/supported/rubocop.md
new file mode 100644
index 00000000..cf0bdf1f
--- /dev/null
+++ b/code-quality/linters/supported/rubocop.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run rubocop
+description: rubocop is a linter for Ruby
+---
+
+# rubocop
+
+[**rubocop**](https://github.com/rubocop/rubocop#readme) is a linter for Ruby.
+
+You can enable the rubocop linter with:
+
+```shell
+trunk check enable rubocop
+```
+
+## Auto Enabling
+
+rubocop will be auto-enabled if a `.rubocop.yml` config file is present.
+
+## Settings
+
+rubocop supports the following config files:
+
+* `.rubocop.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [rubocop site](https://github.com/rubocop/rubocop#readme)
+* rubocop Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/rubocop)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/ruff.md b/code-quality/linters/supported/ruff.md
new file mode 100644
index 00000000..21beccee
--- /dev/null
+++ b/code-quality/linters/supported/ruff.md
@@ -0,0 +1,46 @@
+---
+title: Trunk | How to run Ruff
+description: >-
+  Discover Ruff, a speedy Python linter for large codebases. Integrates with
+  CI/IDEs and supports .py, .pyi, and Jupyter Notebooks.
+---
+
+# Ruff
+
+[**Ruff**](https://github.com/astral-sh/ruff) is a linter for Python.
+
+ruff is composed of several linter commands.
+
+`ruff` is for formatting general python code.
+
+You can enable the `ruff` linter with:
+
+```shell
+trunk check enable ruff
+```
+
+`ruff-nbqa` is for extra support for Jupyter notebooks.
+
+You can enable the `ruff-nbqa` linter with:
+
+```shell
+trunk check enable ruff-nbqa
+```
+
+## Auto Enabling
+
+Ruff will be auto-enabled if any _Python, Python-interface, Jupyter, Python, Python-interface, Python, Python-interface, Python, Python-interface, Python or Python-interface_ files are present.
+
+## Settings
+
+Ruff supports the following config files:
+
+* `ruff.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `ruff.toml` if your project does not already have one.
+
+## Links
+
+* [Ruff site](https://github.com/astral-sh/ruff)
+* Ruff Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/ruff)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/rufo.md b/code-quality/linters/supported/rufo.md
new file mode 100644
index 00000000..1aa95fe2
--- /dev/null
+++ b/code-quality/linters/supported/rufo.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run rufo
+description: rufo is a linter for Ruby
+---
+
+# rufo
+
+[**rufo**](https://github.com/ruby-formatter/rufo#readme) is a linter for Ruby.
+
+You can enable the rufo linter with:
+
+```shell
+trunk check enable rufo
+```
+
+## Auto Enabling
+
+rufo will be auto-enabled if a `.rufo` config file is present.
+
+## Settings
+
+rufo supports the following config files:
+
+* `.rufo`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [rufo site](https://github.com/ruby-formatter/rufo#readme)
+* rufo Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/rufo)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/rustfmt.md b/code-quality/linters/supported/rustfmt.md
new file mode 100644
index 00000000..af1f8f9e
--- /dev/null
+++ b/code-quality/linters/supported/rustfmt.md
@@ -0,0 +1,45 @@
+---
+title: Trunk | How to run rustfmt
+description: >-
+  Rustfmt is a code formatting tool for Rust that helps ensure your code adheres
+  to the community-driven coding standards and style guidelines.
+---
+
+# rustfmt
+
+[**rustfmt**](https://github.com/rust-lang/rustfmt) is a formatter for Rust.
+
+You can enable the rustfmt formatter with:
+
+```shell
+trunk check enable rustfmt
+```
+
+## Auto Enabling
+
+rustfmt will be auto-enabled if any _Rust_ files are present.
+
+## Settings
+
+rustfmt supports the following config files:
+
+* `rustfmt.toml`
+* `.rustfmt.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.rustfmt.toml` if your project does not already have one.
+
+## Usage Notes
+
+We currently use the version of `rustfmt` packaged with rust, so for `rustfmt` version, specify your Rust version (for example `rustfmt@1.61.0`).
+
+If you have `edition` in your `cargo.toml`, `rustfmt` also needs the same information in `.rustfmt.toml` in your repo root. For example, your `.rustfmt.toml` might contain:
+
+```toml
+edition = "2021"
+```
+
+## Links
+
+* [rustfmt site](https://github.com/rust-lang/rustfmt)
+* rustfmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/rustfmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/scalafmt.md b/code-quality/linters/supported/scalafmt.md
new file mode 100644
index 00000000..4bc3edad
--- /dev/null
+++ b/code-quality/linters/supported/scalafmt.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run scalafmt
+description: scalafmt is a linter for Scala
+---
+
+# scalafmt
+
+[**scalafmt**](https://github.com/scalameta/scalafmt#readme) is a linter for Scala.
+
+You can enable the scalafmt linter with:
+
+```shell
+trunk check enable scalafmt
+```
+
+## Auto Enabling
+
+scalafmt will be auto-enabled if a `.scalafmt.conf` config file is present.
+
+## Settings
+
+scalafmt supports the following config files:
+
+* `.scalafmt.conf`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [scalafmt site](https://github.com/scalameta/scalafmt#readme)
+* scalafmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/scalafmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/semgrep.md b/code-quality/linters/supported/semgrep.md
new file mode 100644
index 00000000..45af127c
--- /dev/null
+++ b/code-quality/linters/supported/semgrep.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run semgrep
+description: >-
+  semgrep is a linter for Go, Java, JavaScript, JSON, Python, Ruby, TypeScript
+  and YAML
+---
+
+# semgrep
+
+[**semgrep**](https://github.com/returntocorp/semgrep#readme) is a linter for Go, Java, JavaScript, JSON, Python, Ruby, TypeScript and YAML.
+
+You can enable the semgrep linter with:
+
+```shell
+trunk check enable semgrep
+```
+
+## Auto Enabling
+
+semgrep will be auto-enabled if any of its config files are present: _`.semgrep.yaml`, `.semgrep.yml`_.
+
+## Settings
+
+semgrep supports the following config files:
+
+* `.semgrep.yaml`
+* `.semgrep.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [semgrep site](https://github.com/returntocorp/semgrep#readme)
+* semgrep Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/semgrep)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/shellcheck.gif b/code-quality/linters/supported/shellcheck.gif
new file mode 100644
index 00000000..004a4204
Binary files /dev/null and b/code-quality/linters/supported/shellcheck.gif differ
diff --git a/code-quality/linters/supported/shellcheck.md b/code-quality/linters/supported/shellcheck.md
new file mode 100644
index 00000000..59067748
--- /dev/null
+++ b/code-quality/linters/supported/shellcheck.md
@@ -0,0 +1,37 @@
+---
+title: Trunk | How to run ShellCheck
+description: >-
+  ShellCheck is a static analysis tool designed to identify and report syntax
+  errors and potential issues in shell scripts
+---
+
+# ShellCheck
+
+[**ShellCheck**](https://www.shellcheck.net/) is a linter for Bash.
+
+You can enable the ShellCheck linter with:
+
+```shell
+trunk check enable shellcheck
+```
+
+![shellcheck example output](../../../.gitbook/assets/shellcheck.gif)
+
+## Auto Enabling
+
+ShellCheck will be auto-enabled if any _Shell_ files are present.
+
+## Settings
+
+ShellCheck supports the following config files:
+
+* `.shellcheckrc`
+* `shellcheckrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.shellcheckrc` if your project does not already have one.
+
+## Links
+
+* [ShellCheck site](https://www.shellcheck.net/)
+* ShellCheck Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/shellcheck)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/shfmt.md b/code-quality/linters/supported/shfmt.md
new file mode 100644
index 00000000..e27c20e1
--- /dev/null
+++ b/code-quality/linters/supported/shfmt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run shfmt
+description: shfmt is a linter for Bash
+---
+
+# shfmt
+
+[**shfmt**](https://github.com/mvdan/sh#readme) is a linter for Bash.
+
+You can enable the shfmt linter with:
+
+```shell
+trunk check enable shfmt
+```
+
+## Auto Enabling
+
+shfmt will be auto-enabled if any _Shell_ files are present.
+
+## Links
+
+* [shfmt site](https://github.com/mvdan/sh#readme)
+* shfmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/shfmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/sort-package-json.md b/code-quality/linters/supported/sort-package-json.md
new file mode 100644
index 00000000..f082b8d7
--- /dev/null
+++ b/code-quality/linters/supported/sort-package-json.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run sort-package-json
+description: sort-package-json is a linter for package.json
+---
+
+# sort-package-json
+
+[**sort-package-json**](https://github.com/keithamus/sort-package-json#readme) is a linter for package.json.
+
+You can enable the sort-package-json linter with:
+
+```shell
+trunk check enable sort-package-json
+```
+
+## Auto Enabling
+
+sort-package-json will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [sort-package-json site](https://github.com/keithamus/sort-package-json#readme)
+* sort-package-json Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/sort-package-json)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/sourcery.md b/code-quality/linters/supported/sourcery.md
new file mode 100644
index 00000000..45013608
--- /dev/null
+++ b/code-quality/linters/supported/sourcery.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run sourcery
+description: sourcery is a linter for Python
+---
+
+# sourcery
+
+[**sourcery**](https://sourcery.ai/) is a linter for Python.
+
+You can enable the sourcery linter with:
+
+```shell
+trunk check enable sourcery
+```
+
+## Auto Enabling
+
+sourcery will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+sourcery supports the following config files:
+
+* `.sourcery.yaml`
+* `sourcery.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [sourcery site](https://sourcery.ai/)
+* sourcery Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/sourcery)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/sql-formatter.md b/code-quality/linters/supported/sql-formatter.md
new file mode 100644
index 00000000..10ca0c51
--- /dev/null
+++ b/code-quality/linters/supported/sql-formatter.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run sql-formatter
+description: sql-formatter is a linter for SQL
+---
+
+# sql-formatter
+
+[**sql-formatter**](https://github.com/sql-formatter-org/sql-formatter#readme) is a linter for SQL.
+
+You can enable the sql-formatter linter with:
+
+```shell
+trunk check enable sql-formatter
+```
+
+## Auto Enabling
+
+sql-formatter will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [sql-formatter site](https://github.com/sql-formatter-org/sql-formatter#readme)
+* sql-formatter Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/sql-formatter)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/sqlfluff.md b/code-quality/linters/supported/sqlfluff.md
new file mode 100644
index 00000000..bfb35066
--- /dev/null
+++ b/code-quality/linters/supported/sqlfluff.md
@@ -0,0 +1,43 @@
+---
+title: Trunk | How to run SQLFluff
+description: SQLFluff is a dialect-flexible and configurable SQL linter.
+---
+
+# SQLFluff
+
+[**SQLFluff**](https://github.com/sqlfluff/sqlfluff) is a linter for SQL.
+
+You can enable the SQLFluff linter with:
+
+```shell
+trunk check enable sqlfluff
+```
+
+## Auto Enabling
+
+SQLFluff will be auto-enabled if a `.sqlfluff` config file is present.
+
+## Settings
+
+SQLFluff supports the following config files:
+
+* `.sqlfluff`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.sqlfluff` if your project does not already have one.
+
+## Usage Notes
+
+Sqlfluff is only configured as a linter by default because its formatting capabilities are limited. To turn sqlfluff formatting on, enable its subcommand:
+
+```yaml
+lint:
+  enabled:
+    - sqlfluff@<version>:
+      commands: [lint, fix]
+```
+
+## Links
+
+* [SQLFluff site](https://github.com/sqlfluff/sqlfluff)
+* SQLFluff Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/sqlfluff)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/sqlfmt.md b/code-quality/linters/supported/sqlfmt.md
new file mode 100644
index 00000000..331fda9e
--- /dev/null
+++ b/code-quality/linters/supported/sqlfmt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run sqlfmt
+description: sqlfmt is a linter for SQL
+---
+
+# sqlfmt
+
+[**sqlfmt**](https://github.com/tconbeer/sqlfmt#readme) is a linter for SQL.
+
+You can enable the sqlfmt linter with:
+
+```shell
+trunk check enable sqlfmt
+```
+
+## Auto Enabling
+
+sqlfmt will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [sqlfmt site](https://github.com/tconbeer/sqlfmt#readme)
+* sqlfmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/sqlfmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/squawk.md b/code-quality/linters/supported/squawk.md
new file mode 100644
index 00000000..b1c64a4b
--- /dev/null
+++ b/code-quality/linters/supported/squawk.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run Squawk
+description: squawk is a linter for SQL
+---
+
+# squawk
+
+[**Squawk**](https://github.com/sbdchd/squawk) is a linter for SQL.
+
+You can enable the Squawk linter with:
+
+```shell
+trunk check enable squawk
+```
+
+## Auto Enabling
+
+Squawk will be auto-enabled if a `.squawk.toml` config file is present.
+
+## Settings
+
+Squawk supports the following config files:
+
+* `.squawk.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [Squawk site](https://github.com/sbdchd/squawk)
+* Squawk Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/squawk)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/standardrb.md b/code-quality/linters/supported/standardrb.md
new file mode 100644
index 00000000..772ff5ab
--- /dev/null
+++ b/code-quality/linters/supported/standardrb.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run standardrb
+description: standardrb is a linter for Ruby
+---
+
+# standardrb
+
+[**standardrb**](https://github.com/testdouble/standard#readme) is a linter for Ruby.
+
+You can enable the standardrb linter with:
+
+```shell
+trunk check enable standardrb
+```
+
+## Auto Enabling
+
+standardrb will be auto-enabled if a `.standard.yml` config file is present.
+
+## Settings
+
+standardrb supports the following config files:
+
+* `.standard.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [standardrb site](https://github.com/testdouble/standard#readme)
+* standardrb Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/standardrb)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/stringslint.md b/code-quality/linters/supported/stringslint.md
new file mode 100644
index 00000000..8e83b586
--- /dev/null
+++ b/code-quality/linters/supported/stringslint.md
@@ -0,0 +1,34 @@
+---
+title: Trunk | How to run stringslint
+description: stringslint is a linter for Swift
+---
+
+# stringslint
+
+[**stringslint**](https://github.com/dral3x/StringsLint#readme) is a linter for Swift.
+
+You can enable the stringslint linter with:
+
+```shell
+trunk check enable stringslint
+```
+
+## Auto Enabling
+
+stringslint will be auto-enabled if any of its config files are present: _`.stringslint.yml`, `.stringslint.yaml`, `.stringslint`_.
+
+## Settings
+
+stringslint supports the following config files:
+
+* `.stringslint.yml`
+* `.stringslint.yaml`
+* `.stringslint`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [stringslint site](https://github.com/dral3x/StringsLint#readme)
+* stringslint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/stringslint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/stylelint.md b/code-quality/linters/supported/stylelint.md
new file mode 100644
index 00000000..868caa46
--- /dev/null
+++ b/code-quality/linters/supported/stylelint.md
@@ -0,0 +1,41 @@
+---
+title: Trunk | How to run stylelint
+description: stylelint is a linter for CSS, SCSS
+---
+
+# stylelint
+
+[**stylelint**](https://github.com/stylelint/stylelint#readme) is a linter for CSS, SCSS.
+
+You can enable the stylelint linter with:
+
+```shell
+trunk check enable stylelint
+```
+
+## Auto Enabling
+
+stylelint will be auto-enabled if any of its config files are present: _`stylelint.config.js`, `.stylelintrc.js`, `stylelint.config.mjs`_.
+
+## Settings
+
+stylelint supports the following config files:
+
+* `stylelint.config.js`
+* `.stylelintrc.js`
+* `stylelint.config.mjs`
+* `.stylelintrc.mjs`
+* `stylelint.config.cjs`
+* `.stylelintrc.cjs`
+* `.stylelintrc.json`
+* `.stylelintrc.yml`
+* `.stylelintrc.yaml`
+* `.stylelintrc`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [stylelint site](https://github.com/stylelint/stylelint#readme)
+* stylelint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/stylelint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/stylua.md b/code-quality/linters/supported/stylua.md
new file mode 100644
index 00000000..7dac378e
--- /dev/null
+++ b/code-quality/linters/supported/stylua.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run stylua
+description: stylua is a linter for Lua
+---
+
+# stylua
+
+[**stylua**](https://github.com/JohnnyMorganz/StyLua/tree/main) is a linter for Lua.
+
+You can enable the stylua linter with:
+
+```shell
+trunk check enable stylua
+```
+
+## Auto Enabling
+
+stylua will be auto-enabled if any of its config files are present: _`stylua.toml`, `.stylua.toml`_.
+
+## Settings
+
+stylua supports the following config files:
+
+* `stylua.toml`
+* `.stylua.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `stylua.toml` if your project does not already have one.
+
+## Links
+
+* [stylua site](https://github.com/JohnnyMorganz/StyLua/tree/main)
+* stylua Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/stylua)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/svgo.md b/code-quality/linters/supported/svgo.md
new file mode 100644
index 00000000..b9458c88
--- /dev/null
+++ b/code-quality/linters/supported/svgo.md
@@ -0,0 +1,37 @@
+---
+title: Trunk | How to run SVGO
+description: >-
+  SVGO, or Scalable Vector Graphics Optimizer, is a tool designed to optimize
+  SVG files, making them smaller and more efficient without compromising on
+  quality.
+---
+
+# SVGO
+
+[**SVGO**](https://github.com/svg/svgo) is a linter for SVG.
+
+You can enable the SVGO linter with:
+
+```shell
+trunk check enable svgo
+```
+
+## Auto Enabling
+
+SVGO will be auto-enabled if any _Svg_ files are present.
+
+## Settings
+
+SVGO supports the following config files:
+
+* `svgo.config.js`
+* `svgo.config.mjs`
+* `svgo.config.cjs`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `svgo.config.js` if your project does not already have one.
+
+## Links
+
+* [SVGO site](https://github.com/svg/svgo)
+* SVGO Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/svgo)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/swiftformat.md b/code-quality/linters/supported/swiftformat.md
new file mode 100644
index 00000000..fb89d878
--- /dev/null
+++ b/code-quality/linters/supported/swiftformat.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run swiftformat
+description: swiftformat is a linter for Swift
+---
+
+# swiftformat
+
+[**swiftformat**](https://github.com/nicklockwood/SwiftFormat#readme) is a linter for Swift.
+
+You can enable the swiftformat linter with:
+
+```shell
+trunk check enable swiftformat
+```
+
+## Auto Enabling
+
+swiftformat will be auto-enabled if a `.swiftformat` config file is present.
+
+## Settings
+
+swiftformat supports the following config files:
+
+* `.swiftformat`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [swiftformat site](https://github.com/nicklockwood/SwiftFormat#readme)
+* swiftformat Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/swiftformat)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/swiftlint.md b/code-quality/linters/supported/swiftlint.md
new file mode 100644
index 00000000..d82685db
--- /dev/null
+++ b/code-quality/linters/supported/swiftlint.md
@@ -0,0 +1,34 @@
+---
+title: Trunk | How to run swiftlint
+description: swiftlint is a linter for Swift
+---
+
+# swiftlint
+
+[**swiftlint**](https://github.com/realm/SwiftLint#readme) is a linter for Swift.
+
+You can enable the swiftlint linter with:
+
+```shell
+trunk check enable swiftlint
+```
+
+## Auto Enabling
+
+swiftlint will be auto-enabled if any of its config files are present: _`.swiftlint.yml`, `.swiftlint.yaml`, `.swiftlint`_.
+
+## Settings
+
+swiftlint supports the following config files:
+
+* `.swiftlint.yml`
+* `.swiftlint.yaml`
+* `.swiftlint`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [swiftlint site](https://github.com/realm/SwiftLint#readme)
+* swiftlint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/swiftlint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/taplo.md b/code-quality/linters/supported/taplo.md
new file mode 100644
index 00000000..ee01923d
--- /dev/null
+++ b/code-quality/linters/supported/taplo.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run taplo
+description: taplo is a linter for TOML
+---
+
+# taplo
+
+[**taplo**](https://github.com/tamasfe/taplo#readme) is a linter for TOML.
+
+You can enable the taplo linter with:
+
+```shell
+trunk check enable taplo
+```
+
+## Auto Enabling
+
+taplo will be auto-enabled if any _Toml_ files are present.
+
+## Settings
+
+taplo supports the following config files:
+
+* `.taplo.toml`
+* `taplo.toml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [taplo site](https://github.com/tamasfe/taplo#readme)
+* taplo Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/taplo)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/terraform.md b/code-quality/linters/supported/terraform.md
new file mode 100644
index 00000000..ec08936c
--- /dev/null
+++ b/code-quality/linters/supported/terraform.md
@@ -0,0 +1,39 @@
+---
+title: Trunk | How to run Terraform
+description: >-
+  The command line interface to Terraform is the terraform command, which
+  accepts a variety of subcommands such as terraform validate or terraform fmt
+---
+
+# Terraform
+
+[**Terraform**](https://developer.hashicorp.com/terraform/cli/commands) is a formatter for Terraform.
+
+You can enable the Terraform formatter with:
+
+```shell
+trunk check enable terraform
+```
+
+## Auto Enabling
+
+Terraform will never be auto-enabled. It must be enabled manually.
+
+## Usage Notes
+
+We currently support `terraform validate` and `terraform fmt`, but only `fmt` is enabled by default when you add `terraform` to your enabled list in `trunk.yaml`. To enable `validate`, add this to your `trunk.yaml`:
+
+```yaml
+lint:
+  enabled:
+    - terraform@<version>:
+        commands: [validate, fmt]
+```
+
+Note: you must run `terraform init` before running `trunk check` with `terraform validate` enabled (both locally, or on CI).
+
+## Links
+
+* [Terraform site](https://developer.hashicorp.com/terraform/cli/commands)
+* Terraform Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/terraform)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/terragrunt.md b/code-quality/linters/supported/terragrunt.md
new file mode 100644
index 00000000..a710e83f
--- /dev/null
+++ b/code-quality/linters/supported/terragrunt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run terragrunt
+description: terragrunt is a linter for Terragrunt
+---
+
+# terragrunt
+
+[**terragrunt**](https://terragrunt.gruntwork.io/docs/getting-started/quick-start/) is a linter for Terragrunt.
+
+You can enable the terragrunt linter with:
+
+```shell
+trunk check enable terragrunt
+```
+
+## Auto Enabling
+
+terragrunt will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [terragrunt site](https://terragrunt.gruntwork.io/docs/getting-started/quick-start/)
+* terragrunt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/terragrunt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/terrascan.md b/code-quality/linters/supported/terrascan.md
new file mode 100644
index 00000000..163dc74c
--- /dev/null
+++ b/code-quality/linters/supported/terrascan.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run terrascan
+description: terrascan is a linter for Terrascan, Security and Terraform
+---
+
+# terrascan
+
+[**terrascan**](https://github.com/tenable/terrascan#readme) is a linter for Terrascan, Security and Terraform.
+
+You can enable the terrascan linter with:
+
+```shell
+trunk check enable terrascan
+```
+
+## Auto Enabling
+
+terrascan will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [terrascan site](https://github.com/tenable/terrascan#readme)
+* terrascan Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/terrascan)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/tflint.md b/code-quality/linters/supported/tflint.md
new file mode 100644
index 00000000..4a73ea58
--- /dev/null
+++ b/code-quality/linters/supported/tflint.md
@@ -0,0 +1,35 @@
+---
+title: Trunk | How to run TFLint
+description: >-
+  TFLint is an essential linter designed for Terraform. It helps improve code
+  quality, maintainability, and security in infrastructure as code (IaC)
+  projects.
+---
+
+# TFLint
+
+[**TFLint**](https://github.com/rhysd/actionlint) is a linter for Terraform.
+
+You can enable the TFLint linter with:
+
+```shell
+trunk check enable tflint
+```
+
+## Auto Enabling
+
+TFLint will be auto-enabled if any _Terraform_ files are present.
+
+## Settings
+
+TFLint supports the following config files:
+
+* `.tflint.hcl`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [TFLint site](https://github.com/rhysd/actionlint)
+* TFLint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/tflint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/tfsec.md b/code-quality/linters/supported/tfsec.md
new file mode 100644
index 00000000..b81bb8cd
--- /dev/null
+++ b/code-quality/linters/supported/tfsec.md
@@ -0,0 +1,36 @@
+---
+title: Trunk | How to run tfsec
+description: tfsec is a linter for Security and Terraform
+---
+
+# tfsec
+
+[**tfsec**](https://github.com/aquasecurity/tfsec) is a linter for Security and Terraform.
+
+You can enable the tfsec linter with:
+
+```shell
+trunk check enable tfsec
+```
+
+## Auto Enabling
+
+tfsec will never be auto-enabled. It must be enabled manually.
+
+## Settings
+
+tfsec supports the following config files:
+
+* `tfsec.yml`
+* `tfsec.yaml`
+* `.tfsec/config.json`
+* `.tfsec/config.yml`
+* `.tfsec/config.yaml`
+
+Unlike with most tools under `trunk check`, these files cannot be moved.
+
+## Links
+
+* [tfsec site](https://github.com/aquasecurity/tfsec)
+* tfsec Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/tfsec)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/tofu.md b/code-quality/linters/supported/tofu.md
new file mode 100644
index 00000000..8677226c
--- /dev/null
+++ b/code-quality/linters/supported/tofu.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run tofu
+description: tofu is a linter for Terraform
+---
+
+# tofu
+
+[**tofu**](https://github.com/opentofu/opentofu) is a linter for Terraform.
+
+You can enable the tofu linter with:
+
+```shell
+trunk check enable tofu
+```
+
+## Auto Enabling
+
+tofu will never be auto-enabled. It must be enabled manually.
+
+## Links
+
+* [tofu site](https://github.com/opentofu/opentofu)
+* tofu Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/tofu)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/trivy.gif b/code-quality/linters/supported/trivy.gif
new file mode 100644
index 00000000..4cb44ef3
Binary files /dev/null and b/code-quality/linters/supported/trivy.gif differ
diff --git a/code-quality/linters/supported/trivy.md b/code-quality/linters/supported/trivy.md
new file mode 100644
index 00000000..f91f4a4c
--- /dev/null
+++ b/code-quality/linters/supported/trivy.md
@@ -0,0 +1,59 @@
+---
+title: Trunk | How to run Trivy
+description: >-
+  Explore our guide on Trivy, the comprehensive vulnerability scanner. Learn
+  about its features, installation, and configuration.
+---
+
+# Trivy
+
+[**Trivy**](https://github.com/aquasecurity/trivy) is a linter for Security.
+
+You can enable the Trivy linter with:
+
+```shell
+trunk check enable trivy
+```
+
+![trivy example output](../../../.gitbook/assets/trivy.gif)
+
+## Auto Enabling
+
+Trivy will be auto-enabled if any of its config files are present: _`trivy.yaml`, `.trivyignore`, `.trivyignore.yaml`_.
+
+## Settings
+
+Trivy supports the following config files:
+
+* `trivy.yaml`
+* `.trivyignore`
+* `.trivyignore.yaml`
+* `trivy-secret.yaml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Usage Notes
+
+Trivy has the following subcommands:
+
+* `config`
+* Runs `trivy config` ([docs) ](https://aquasecurity.github.io/trivy/latest/docs/scanner/misconfiguration/))to scan for misconfigurations in infrastructure-as-code files. Enabled by default
+* `fx-vuln`
+* Runs `trivy fs --scanners vuln` ([docs](https://aquasecurity.github.io/trivy/latest/docs/target/filesystem/)) to scan for security vulnerabilities. Disabled by default.
+* `fs-secret`
+* Runs `trivy fs --scanners secret` ([docs](https://aquasecurity.github.io/trivy/latest/docs/target/filesystem/)) to scan for secrets. Disabled by default.
+
+To enable/disable these, add the subcommands you want enabled in your `.trunk/trunk.yaml` as such:
+
+```yaml
+lint:
+  enabled:
+    - trivy@0.45.1:
+        commands: [config, fs-vuln]
+```
+
+## Links
+
+* [Trivy site](https://github.com/aquasecurity/trivy)
+* Trivy Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/trivy)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/trufflehog.md b/code-quality/linters/supported/trufflehog.md
new file mode 100644
index 00000000..c953ffb2
--- /dev/null
+++ b/code-quality/linters/supported/trufflehog.md
@@ -0,0 +1,39 @@
+---
+title: Trunk | How to run Trufflehog
+description: >-
+  Discover Trufflehog with our detailed guide. Learn installation,
+  configuration, usage, and how to integrate it with other linters for optimal
+  code security.
+---
+
+# Trufflehog
+
+[**Trufflehog**](https://github.com/trufflesecurity/trufflehog) is a linter for Security.
+
+trufflehog is composed of several linter commands.
+
+`trufflehog` runs trufflehog normally.
+
+You can enable the `trufflehog` linter with:
+
+```shell
+trunk check enable trufflehog
+```
+
+`trufflehog-git` also runs trufflehog on the git history.
+
+You can enable the `trufflehog-git` linter with:
+
+```shell
+trunk check enable trufflehog-git
+```
+
+## Auto Enabling
+
+Trufflehog will be auto-enabled if any _all_ files are present.
+
+## Links
+
+* [Trufflehog site](https://github.com/trufflesecurity/trufflehog)
+* Trufflehog Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/trufflehog)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/txtpbfmt.md b/code-quality/linters/supported/txtpbfmt.md
new file mode 100644
index 00000000..01fe6fa7
--- /dev/null
+++ b/code-quality/linters/supported/txtpbfmt.md
@@ -0,0 +1,24 @@
+---
+title: Trunk | How to run txtpbfmt
+description: txtpbfmt is a linter for Textproto
+---
+
+# txtpbfmt
+
+[**txtpbfmt**](https://github.com/protocolbuffers/txtpbfmt/) is a linter for Textproto.
+
+You can enable the txtpbfmt linter with:
+
+```shell
+trunk check enable txtpbfmt
+```
+
+## Auto Enabling
+
+txtpbfmt will be auto-enabled if any _Textproto_ files are present.
+
+## Links
+
+* [txtpbfmt site](https://github.com/protocolbuffers/txtpbfmt/)
+* txtpbfmt Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/txtpbfmt)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/vale.md b/code-quality/linters/supported/vale.md
new file mode 100644
index 00000000..4a20d30d
--- /dev/null
+++ b/code-quality/linters/supported/vale.md
@@ -0,0 +1,32 @@
+---
+title: Trunk | How to run vale
+description: vale is a linter for prose
+---
+
+# vale
+
+[**vale**](https://vale.sh/) is a linter for prose.
+
+You can enable the vale linter with:
+
+```shell
+trunk check enable vale
+```
+
+## Auto Enabling
+
+vale will be auto-enabled if a `.vale.ini` config file is present.
+
+## Settings
+
+vale supports the following config files:
+
+* `.vale.ini`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.vale.ini` if your project does not already have one.
+
+## Links
+
+* [vale site](https://vale.sh/)
+* vale Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/vale)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/yamllint.md b/code-quality/linters/supported/yamllint.md
new file mode 100644
index 00000000..26851208
--- /dev/null
+++ b/code-quality/linters/supported/yamllint.md
@@ -0,0 +1,36 @@
+---
+title: Trunk | How to run Yamllint
+description: >-
+  Yamllint is a linter that checks for formatting discrepancies, key-value pair
+  issues, and syntax errors, ensuring your YAML files are syntactically correct.
+---
+
+# Yamllint
+
+[**Yamllint**](https://github.com/adrienverge/yamllint) is a linter for YAML.
+
+You can enable the Yamllint linter with:
+
+```shell
+trunk check enable yamllint
+```
+
+## Auto Enabling
+
+Yamllint will be auto-enabled if any _Yaml_ files are present.
+
+## Settings
+
+Yamllint supports the following config files:
+
+* `.yamllint`
+* `.yamllint.yaml`
+* `.yamllint.yml`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info. Trunk Code Quality provides a default `.yamllint.yaml` if your project does not already have one.
+
+## Links
+
+* [Yamllint site](https://github.com/adrienverge/yamllint)
+* Yamllint Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/yamllint)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/linters/supported/yapf.md b/code-quality/linters/supported/yapf.md
new file mode 100644
index 00000000..69232a98
--- /dev/null
+++ b/code-quality/linters/supported/yapf.md
@@ -0,0 +1,33 @@
+---
+title: Trunk | How to run yapf
+description: yapf is a linter for Python
+---
+
+# yapf
+
+[**yapf**](https://github.com/google/yapf#readme) is a linter for Python.
+
+You can enable the yapf linter with:
+
+```shell
+trunk check enable yapf
+```
+
+## Auto Enabling
+
+yapf will be auto-enabled if any of its config files are present: _`.style.yapf`, `.yapfignore`_.
+
+## Settings
+
+yapf supports the following config files:
+
+* `.style.yapf`
+* `.yapfignore`
+
+You can move these files to `.trunk/configs` and `trunk check` will still find them. See [Moving Linters](../configure-linters.md#moving-linters) for more info.
+
+## Links
+
+* [yapf site](https://github.com/google/yapf#readme)
+* yapf Trunk Code Quality [integration source](https://github.com/trunk-io/plugins/tree/main/linters/yapf)
+* Trunk Code Quality's [open source plugins repo](https://github.com/trunk-io/plugins/tree/main)
diff --git a/code-quality/overview/README.md b/code-quality/overview/README.md
new file mode 100644
index 00000000..4fb5eee6
--- /dev/null
+++ b/code-quality/overview/README.md
@@ -0,0 +1,70 @@
+# Why Metalinters?
+
+### Why metalinters?
+
+Real-world code bases are complicated. Every project has many different types of files. There are your main programming language files, Markdown docs, infrastructure as code (IaC), dependency files, YAML config files, images, and so much more. All of these files need to be linted, formatted, optimized, and scanned.
+
+A metalinter helps you lint **every file** in a modern code base by installing, managing, running, and reporting from individual static analysis tools with a **single tool**.
+
+### Use Cases
+
+There are many reasons for you to want to use a metalinter like Trunk Code Quality.
+
+#### You don't want to think about linting
+
+Trunk Code Quality is easy to adopt. [Running `trunk init`](../setup-and-installation/initialize-trunk.md) will [recommend linters and formatters](../linters/supported/) for your project with reasonable default configuration. Hold off on fixing existing issues using [hold-the-line](how-does-it-work.md#hold-the-line) and only get warnings for new issues introduced in each commit or PR.
+
+Use Trunk Code Quality [GitHub Integrations](../ci-setup/github-integration.md) to set up nightly runs and linter checks on PRs.
+
+#### Run and manage a long list of linters
+
+Trunk will install, manage, and run tools like linters and formatters for you. Trunk uses [hermetic installs](how-does-it-work.md#hermetic-tools-and-runtime-management) to manage both the static analysis [tools](../../references/cli/getting-started/tools.md) themselves and the [runtimes they depend](../../references/cli/configuration/runtimes.md) on. No more conflicts because a linter requires `python 3.11` while your projects require `python 3.7`.
+
+#### Incrementally adopt new linters
+
+[Adopting new linters is a pain](https://trunk.io/blog/reasons-developers-hate-linters) because of the large amount of upfront configuration and fixes needed. Enabling a new linter or formatter in an old repo will yield thousands of issues, most of which might not have auto fixes.
+
+Trunk supports [hold-the-line](how-does-it-work.md#hold-the-line) to lint only new issues introduced with a commit or PR, to let developers adopt new linters fast, focus on preventing new issues first, and[ report on existing issues nightly](../ci-setup/github-integration.md) to fix later. Waiting will only accumulate debt; stop debt accumulation immediately and fix as you code.
+
+#### Linters take too long to run
+
+Do you have a giant code base? Maybe even a giant monorepo with many languages to lint? Most linters are not Git-aware, which makes them slow to run on large repos. Trunk Code Quality [can lint what's changed](how-does-it-work.md#hold-the-line), so you won't be stuck linting 20 million lines of code when you've changed just 1 word.
+
+#### Installing many linters individually on everyone's machine
+
+Many linters don't install neatly through a package manager, and for those that do, they depend on your system's runtime environment. Dodge repetitive setup by using a single tool to lint **every language in your organization** using any of the [100+ supported linters](../linters/supported/).
+
+#### Consistent linter configs and versions
+
+Trunk Code Quality uses an extensible [plugin system](../../references/cli/configuration/plugins/), so you can define linters to [auto-enable](../../references/cli/configuration/lint/auto-enable.md) and [share linter configurations](../linters/shared-configs.md) to standardize across code bases.
+
+### Features
+
+Trunk Code Quality helps address these issues by:
+
+#### Hold-the-line
+
+Linters are slow to run for large codebases with numerous issues and many linters. Trunk Code Quality solves this problem by _**only scanning new code**_ by default, allowing you to handle the backlog when you are ready while preventing new issues. This is the #1 reason people use Trunk Code Quality.
+
+#### **Inconsistent tooling for different file types**
+
+Trunk Code Quality provides a single way to check _everything_ in your codebase, including config and script files, as well as the main language(s) for your codebase. If you are already using ESLint for a JavaScript repo, you probably also have some bash scripts, CI yaml, Kube config, and other files for your workflow.
+
+These all have linters you could be running, but they don't all install through npm. Trunk Code Quality simplifies this process by detecting and configuring the right tools for the files in your repo.
+
+#### **Slow static analysis affecting development speed**
+
+Trunk Code Quality speeds up static analysis by using a background daemon to check code as you modify files in your repo, run linters in batches, and cache the results. Since Code Quality is git-aware, it knows what you've changed, and by adding batched execution and caching, you end up with a much faster and smoother way to run these tools.
+
+#### **Time-consuming PR iteration and triage**
+
+Trunk Code Quality speeds up PR iteration by showing the _same_ results locally and [on CI](../setup-and-installation/prevent-new-issues.md), improving PR triage. It can optionally also function as a [githooks manager](../../references/cli/getting-started/actions/git-hooks.md) to reject `git push`es unless they're passing `trunk check`.
+
+### Components
+
+Trunk Code Quality has many components that fit into different stages of your development workflow.
+
+* **During local development:** Get realtime annotations using the [Trunk CLI](../setup-and-installation/initialize-trunk.md), [VSCode Extension](../ide-integration/vscode.md), or [Neovim plugin](../ide-integration/neovim.md).
+* **In cloud development environments:** Trunk can be used in [GitHub Codespaces](../../cli/configuration/github-codespaces.md).
+* **Before committing and pushing,** Trunk can automatically run linters and formatters using Git hooks.
+* **On PRs and in CI:** Using our GitHub integration, setting up your own GitHub workflows, or in your own CI environments.
diff --git a/code-quality/overview/how-does-it-work.md b/code-quality/overview/how-does-it-work.md
new file mode 100644
index 00000000..b255720d
--- /dev/null
+++ b/code-quality/overview/how-does-it-work.md
@@ -0,0 +1,57 @@
+# How does it work?
+
+### The CLI Tool
+
+Trunk Code Quality still runs your favorite open-source linting, formatting, and static analysis tools and uses the same config files.
+
+Trunk gives superpowers to these tools by installing, managing, running, and re-throwing consistent output from them with the **Trunk CLI.** The Trunk CLI written in C++ is free, fully configurable, extensible, lightweight, and fast. It runs the tools according to Trunk's config files and can run these tools only on the lines or files change, which makes it **practical for large code bases**.
+
+[Learn more about the Trunk CLI.](../../references/cli/)
+
+### Hold-the-line
+
+**Hold The Line** (HTL) is the principle that Trunk Code Quality will _only run on new changes_ in your codebase rather than every file in the whole repo. This allows you to use Check to improve your codebase **incrementally** rather than having to address all of the issues at once. HTL also runs checks much faster than scanning the entire codebase would.
+
+_Hold The Line_ **works at the line level** of your source code. For example, if a single line has multiple pre-existing issues and a new linter is added, which reports the new issue, then Trunk Code Quality will report just the new issue and not the previous ones.
+
+By default, Trunk runs in hold-the-line mode:
+
+```
+trunk check foo.file
+```
+
+You can still run on all files.
+
+```
+trunk check --all
+```
+
+_**Hold the Line**_ is built into Trunk Code Quality itself. This means existing linters that do not support line-by-line functionality will still work with _Hold the Line_. Even [custom linters](../linters/custom-linters.md) you write yourself.
+
+### Daemon
+
+The Trunk CLI, specifically `trunk check`, runs a daemon that monitors relevant file changes and triggers jobs to precompute in the background while you work. The daemon is used both to support real-time background checking in supported extensions such as [VSCode](../ide-integration/vscode.md) and [Neovim](../ide-integration/neovim.md), and to precompute check results for faster commits/pushes.
+
+Some native linters are more compute/memory intensive and `check` allows you to disable background linting for those tools. By default, linters run whenever a file is modified in the background. You can override this behavior by editing the [`run_when`](../../references/cli/configuration/lint/commands.md#run_when) configuration for a tool.
+
+### Hermetic tools and runtime management
+
+Trunk hermetically installs the static analysis tools you run and their required runtimes. This means these tools are installed and managed by the Trunk CLI, and are unaffected by your systems environment.
+
+If a tool requires `python 3.10` but the projects you're working on require `python 3.7`, Trunk will manage that tool and its `python 3.10` runtime automatically and not affect the `python 3.7` environment. This means Trunk will not modify or pollute your machine.
+
+Trunk manages the hermetic installation of all required runtimes. You can also specifically pin a version of a runtime you'd like Trunk to use, or tell Trunk to re-use an already-installed runtime on the system.
+
+### Plugin system
+
+Trunk is fully extensible and configurable through the [Trunk Plugins Repo](https://github.com/trunk-io/plugins/). When installing a plugin through Trunk, the definition of a plugin's behavior, including install, run, and report instructions, is defined in the Plugins Repo.
+
+This can be overridden by defining your own plugin repo to import, overriding individual linter definitions locally, and even writing your own custom linters.
+
+[Learn more about the plugin system.](../../references/cli/configuration/plugins/)
+
+### Run on every PR
+
+Trunk works in CI. Trunk Code Quality provides [GitHub integration](../ci-setup/github-integration.md) and can run in any other CI environment. This lets you check Code Quality in every PR with consistent config and consistent results.
+
+[Learn more about Code Quality in CI.](../setup-and-installation/prevent-new-issues.md)
diff --git a/code-quality/overview/why-code-quality.md b/code-quality/overview/why-code-quality.md
new file mode 100644
index 00000000..dfe81787
--- /dev/null
+++ b/code-quality/overview/why-code-quality.md
@@ -0,0 +1,39 @@
+# Why Code Quality?
+
+### Why you need to lint everything
+
+Most projects will run linters and formatters for their primary language but neglect to run any static analysis on the build scripts, IaC (infrastructure-as-code), CI (continuous integration) config, and docs files. These are the "hard to clean corners" of your code base, where coding standards fall apart and vulnerabilities accumulate unnoticed.
+
+These bits of unlinted code accumulate unused dependencies, deprecated method calls, poorly formatted code, and known antipatterns, which will spread as your project ages from copy-pasting. They become bits of code that no one wants to touch or own.
+
+Worse is the accumulation of [unnoticed security vulnerabilities](https://trunk.io/blog/shifting-security-left-with-trunk-check). A 2017 study by Northeastern University aptly named [Thou Shalt Not Depend on Me](https://arxiv.org/pdf/1811.00918.pdf)_:_ Analysing the Use of Outdated JavaScript Libraries on the Web revealed that **37% of 133,000 websites used a JavaScript library with known vulnerabilities.** More recently, [in a study by Synopsys](https://www.synopsys.com/content/dam/synopsys/sig-assets/reports/rep-ossra-2023.pdf), **84% of 1,703 reviewed codebases had at least one such vulnerability.**
+
+Now factor in your IaC files, CI config, and build scripts; these are the places that you should lint regularly because of the likelihood of newly discovered vulnerabilities in your dependency chain. This is why you **need a metalinter** that can lint all of your files.
+
+### Why it's hard to lint everything
+
+Having good linter coverage in any modern project is difficult because there isn't just one language and technology. There are tons of scripts, images, config files, docs, and IaC files to lint.
+
+The tools required to lint everything install, run, output, upgrade, and configure differently. Now consider the tools that require dependencies and runtimes, such as [nancy](../linters/supported/nancy.md) and [actionlint](../linters/supported/actionlint.md) that depend on Go, or [Bandit](../linters/supported/bandit.md) and [sqlfmt](../linters/supported/sqlfmt.md) that depend on Python. You have to maintain **version pinned tools** and their **runtimes**.
+
+These tools are also prone to tool-rot, where dependencies become old, deprecated, or known vulnerabilities are discovered. In fact, [82% of open-source projects suffer from tool-rot](https://trunk.io/blog/82-of-open-source-projects-suffer-from-tool-rot). Keeping these tools up to date is a Sisyphean task. It's better to have a metalinter handle all of it.
+
+### Why it's hard to lint giant code bases
+
+Giant code bases are hard to lint without good tooling. Imagine introducing a new Python linter to lint over 1 million lines of code. No one will wait tens of minutes or hours for linters to run. Now, considering a polyglot mono repo with millions of lines of code and many languages, the problem only grows.
+
+Trunk Code Quality solves this by being [Git aware](how-does-it-work.md#hold-the-line) and linting only the lines and files that have changed in your repo on commit or PR.
+
+### **Why not just write a script?**
+
+[ESLint](https://github.com/eslint/eslint) adopted Trunk Code Quality to replace their [linter script](https://github.com/eslint/eslint/pull/18643/files#diff-3fc6364bd19a0e4ee8d1e0fe312541201418d80f9d1b08015db4d11e7dbde39e) because it's difficult to maintain. Writing a script that can do everything a metalinter does is not trivial. You need to handle per-line and file ignores properly, adapt to the many config and output formats of different tools, support different OS and architectures, lint in a way that's [git-aware](how-does-it-work.md#hold-the-line) so it can run on large code bases quickly, and adapt to breaking changes or newly added linters.
+
+That code is outside of a project's core goals and is bound to become debt. Code Quality is free to run locally and in CI, and reporting to the [Web App](../ci-setup/github-integration.md) is free for open-source teams.
+
+### Who uses Trunk Code Quality?
+
+Popular open-source repos like [ESLint](https://github.com/eslint/eslint) and[ Realm.js](https://github.com/realm/realm-js) use Trunk Code Quality to lint their source code. They use Trunk Code Quality as their metalinter because it's difficult to maintain and run the many linters they run, especially when open-source maintainers need to run and install them individually.
+
+Trunk Code Quality lets them easily manage consistent config and tooling for their repo and achieve full linter coverage.
+
+[Learn more about how ESLint leverages Code Quality in their repos](https://trunk.io/blog/improving-linting-experience-in-eslint-s-open-source-repo-with-trunk-code-quality).
diff --git a/code-quality/setup-and-installation/README.md b/code-quality/setup-and-installation/README.md
new file mode 100644
index 00000000..055bd8d3
--- /dev/null
+++ b/code-quality/setup-and-installation/README.md
@@ -0,0 +1,12 @@
+# Setup & Installation
+
+{% hint style="danger" %}
+**Deprecation Warning**\
+The Trunk Code Quality web app, Code Quality on PRs, and Code Quality Nightly will soon be deprecated. Follow the instructions on the [Linting in CI](prevent-new-issues.md) page to migrate off these features.
+{% endhint %}
+
+Trunk Code Quality is easy to adopt for new and legacy projects alike. You can run Trunk Code Quality using your existing linter configurations, incrementally address existing problems, and prevent new issues from being committed to your repo.
+
+You can start using Code Quality in your repos in 4 steps.
+
+<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Step 1: Initialize Trunk</strong></td><td>Initialize Trunk in your repo to generate Trunk config files and get linter recommendations based on your project's files.</td><td></td><td><a href="initialize-trunk.md">initialize-trunk.md</a></td></tr><tr><td><strong>Step 2: Check for issues</strong></td><td>Check for existing issues in your project. You can address problems up front, use <strong>hold-the-line</strong> to fix them incrementally, and configure ignores for irrelevant issues.     </td><td></td><td><a href="deal-with-existing-issues.md">deal-with-existing-issues.md</a></td></tr><tr><td><strong>Step 3: Prevent New Issues</strong></td><td>Set up automated runs on commits, before pushes, and on PRs to prevent new issues from appearing in your repo.</td><td></td><td><a href="prevent-new-issues.md">prevent-new-issues.md</a></td></tr></tbody></table>
diff --git a/code-quality/setup-and-installation/deal-with-existing-issues.md b/code-quality/setup-and-installation/deal-with-existing-issues.md
new file mode 100644
index 00000000..af70553d
--- /dev/null
+++ b/code-quality/setup-and-installation/deal-with-existing-issues.md
@@ -0,0 +1,148 @@
+# Local Linting
+
+After initializing Trunk, you can begin scanning for issues in your repo, and decide whether to fix them up front, fix them incrementally as you code, or ignore irrelevant suggestions. This page walks through the process of linting locally and fixing existing issues.
+
+### Running for the First Time
+
+After initializing Trunk Code Quality, you can run **all tools** on **all files** to look for existing issues. You can run Trunk on **all files** in your repo with this command. This will output all issues detected by every linter enabled in your project.
+
+{% hint style="info" %}
+**Hold-the-line**
+
+You don't need to fix all issues upfront. Trunk lets you fix linter errors incrementally with hold-the-line.
+
+Learn more about [hold-the-line](deal-with-existing-issues.md#hold-the-line).
+{% endhint %}
+
+#### Issues in PRs
+
+You can reproduce issues discovered in CI by running `trunk check` and addressing issues.
+
+If `trunk check` continues to identify new Code Quality issues on your PR, first try merging the latest changes from your base branch. Trunk will rebase your changes on top of the current `HEAD` in main to ensure it catches all issues before merging.
+
+If this continues to fail, then run `git checkout refs/pull/<PR number>/merge && trunk check`. This is a reference to the merge commit GitHub creates.
+
+### Hold-the-line
+
+After initializing Trunk, you can begin scanning for issues in your repo, and decide whether to fix them up front, fix them incrementally as you code, or ignore irrelevant suggestions. This page walks through the process of linting locally and fixing existing issues.
+
+If you **only want to prevent new issues** from new code changes, skip to [prevent-new-issues.md](prevent-new-issues.md "mention").
+
+### Running for the First Time
+
+After initializing Trunk Code Quality, you can run **all tools** on **all files** to look for existing issues. You can run Trunk on **all files** in your repo with this command. This will output all issues detected by every linter enabled in your project.
+
+```bash
+trunk check --all
+```
+
+{% hint style="info" %}
+**Trunk is Git aware**
+
+When you run `trunk check` without specifying `--all`, it will **only run on files you've modified according to git**. Remember to [specify a base branch](initialize-trunk.md#initializing-trunk) if you're using something other than `main` or `master`.
+{% endhint %}
+
+### Fixing Existing Issues
+
+There are different approaches to dealing with existing issues, such as running `format` and applying automatic fixes, ignoring irrelevant issues, and sampling linters/files. This section walks you through the process to make fixing issues easier.
+
+{% hint style="info" %}
+**Hold-the-line**
+
+You don't need to fix all issues upfront. Trunk lets you fix linter errors incrementally with hold-the-line.
+
+Learn more about [hold-the-line](deal-with-existing-issues.md#hold-the-line).
+{% endhint %}
+
+#### Running Formatters and Applying Fixes
+
+Some issues can be fixed automatically. You can apply fixes by running the following command.
+
+```bash
+trunk check --all --fix
+```
+
+#### Overwhelmed by Existing Issues?
+
+You can also focus on the issues revealed by 1 linter at a time.
+
+```bash
+trunk check --all --filter=<linter>
+```
+
+If that still produces too many issues, you can sample your files, such as 1/5 files.
+
+```bash
+trunk check --all --filter=<linter> --sample=5
+```
+
+You can drill down further and run only one single file.
+
+```bash
+trunk check --all --filter=<linter> --sample=5 <dir/filename>
+```
+
+If you're still overwhelmed by the results, you can fix them incrementally as you change files. See the [hold-the-line](deal-with-existing-issues.md#hold-the-line) section.
+
+#### Disabling Linters
+
+Some recommended linters could be unnecessary for your project. You can disable and enable linters with these commands:
+
+```bash
+trunk check enable <linter>
+trunk check disable <linter>
+```
+
+#### Ignore Issues
+
+If there are warnings that don't apply to your project, you can ignore them by line, by file, or by class of warnings in each linter's config file.
+
+You can tell Trunk Code Quality to ignore a line in your source code with a special comment like this:
+
+```cpp
+struct FooBar {
+  // trunk-ignore(clang-tidy)
+  void *ptr = NULL;
+};
+```
+
+The comment should contain the name of the linter you want to ignore the following line, in this case `clang-tidy` For more complex ignore commands, see [Ignoring Issues](../linters/ignoring-issues-and-files.md).
+
+Sometimes you may want to ignore entire files or groups of files, such as generated code. To ignore them, use the `ignore` key to your `.trunk/trunk.yaml` file:
+
+```yaml
+lint:
+  ignore:
+    - linters: [ALL]
+      paths:
+        # Ignore generated files
+        - src/generated/**
+```
+
+You can also ignore an entire class of warnings using the config file of your linter, either at the project root or in `.trunk/configs`
+
+For example, these are the ignores for Markdownlint in `.trunk/configs/.markdownlint.yaml`:
+
+```yaml
+# Prettier friendly markdownlint config (all formatting rules disabled)
+extends: markdownlint/style/prettier
+MD024: false
+MD033: false
+MD034: false
+```
+
+#### Issues in PRs
+
+You can reproduce issues discovered in CI by running `trunk check` and addressing issues.
+
+If `trunk check` continues to identify new Code Quality issues on your PR, first try merging the latest changes from your base branch. Trunk will rebase your changes on top of the current `HEAD` in main to ensure it catches all issues before merging.
+
+If this continues to fail, then run `git checkout refs/pull/<PR number>/merge && trunk check`. This is a reference to the merge commit GitHub creates.
+
+### Hold-the-line
+
+You don't need to fix all the issues. Trunk Code Quality has the ability to _**Hold The Line**_, which means it only lints your git diffs; only what you changed on your branch gets linted. The pre-existing issues can be managed later.
+
+This allows you to clean up as you go, preventing new issues and letting your team leave each file with better code quality than before.
+
+When you've fixed the existing issues you want to fix, you can skip to [prevent-new-issues.md](prevent-new-issues.md "mention") directly.
diff --git a/code-quality/setup-and-installation/initialize-trunk.md b/code-quality/setup-and-installation/initialize-trunk.md
new file mode 100644
index 00000000..32fb3de6
--- /dev/null
+++ b/code-quality/setup-and-installation/initialize-trunk.md
@@ -0,0 +1,210 @@
+# Initialize Trunk
+
+Before you can start using Trunk Code Quality, you need to install and initialize Trunk in your repo. This page covers the initialization process.
+
+### Install the CLI
+
+The Trunk CLI can be installed in many different ways depending on your use case.
+
+{% hint style="info" %}
+We recommend installing the CLI via **NPM** if you’re already using NPM, or using **cURL** and **committing the launcher to Git** for all other projects. Both methods allow your teammates to use Trunk without needing an additional install step.
+{% endhint %}
+
+#### The Trunk Launcher
+
+The easiest way to give everyone access to Trunk is to use the Trunk launcher. The Trunk launcher is a small script that will automatically install and run Trunk when invoked for the first time, similar to other command line tools like the [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html).
+
+You can install the [Trunk Launcher](../../references/cli/install.md#the-trunk-launcher) script directly by downloading it through cURL. The launcher script supports both macOS and Linux environments.
+
+{% tabs %}
+{% tab title="bash" %}
+```bash
+curl https://get.trunk.io -fsSL | bash
+```
+{% endtab %}
+
+{% tab title="bash (no prompts)" %}
+```bash
+curl https://get.trunk.io -fsSL | bash -s -- -y
+```
+{% endtab %}
+{% endtabs %}
+
+To allow your teammates to use `trunk` without installing anything, the launcher can be committed directly into your repo:
+
+```
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+chmod +x ./trunk
+git commit ./trunk -m "Commit Trunk to our repo"
+```
+
+#### Other ways to install
+
+<details>
+
+<summary>NPM</summary>
+
+If your project uses a `package.json`, you can specify the Trunk Launcher as a dependency so your developers can start using Trunk after installing Node dependencies.
+
+```sh
+# npm
+npm install -D @trunkio/launcher
+# pnpm
+pnpm add -D @trunkio/launcher
+# yarn
+yarn add -D @trunkio/launcher
+# bun
+bun install -D @trunkio/launcher
+```
+
+Then add Trunk Launcher in your `package.json` as a script:
+
+```json
+{
+  "scripts": {
+    "trunk": "trunk",
+    "lint": "trunk check",
+    "fmt": "trunk fmt"
+  }
+}
+```
+
+</details>
+
+<details>
+
+<summary>macOS (using homebrew)</summary>
+
+You can run the following command if you prefer to install this tool via [homebrew](https://brew.sh/). Keep in mind that other developers on your team will also have to install manually.
+
+```bash
+brew install trunk-io
+```
+
+</details>
+
+<details>
+
+<summary>Windows</summary>
+
+From **`git-bash` or `msys2`**, download the Bash launcher and add it to your `PATH`:
+
+```bash
+curl https://get.trunk.io -fsSL | bash
+```
+
+From **`powershell`**, download the powershell launcher:
+
+```Text
+Invoke-RestMethod -Uri https://trunk.io/releases/trunk.ps1 -OutFile trunk.ps1
+```
+
+Ensure you can execute powershell scripts:
+
+```Text
+Set-ExecutionPolicy Bypass -Scope CurrentUser
+```
+
+You can then execute trunk as `.\trunk.ps1`.
+
+**Compatibility**
+
+Only some versions of Trunk are compatible with Windows. See the compatibility page for [Windows](../../references/cli/compatibility.md) to learn more.
+
+You will also need to install [C and C++ runtime libraries](https://aka.ms/vs/17/release/vc_redist.x64.exe) in order to run some linters.
+
+</details>
+
+### Initializing Trunk
+
+Before you can use Trunk, you need to initialize Trunk in your repo. Initializing Trunk will generate the necessary config files, recommend linters based on your project files, and configure githooks.
+
+Initialize Trunk by running the `init` command.
+
+```bash
+./trunk init
+```
+
+Follow the wizard. You'll be prompted with the following options:
+
+1. `Sign up or log in`: Connect the CLI with your Trunk account to enable all of Trunk's features.
+2. Trunk will automatically [enable the most useful linters](https://docs.trunk.io/code-quality/setup-and-installation/initialize-trunk#recommended-linters) based on the files in your repo.
+3. `Trunk will manage your git hooks and enable some built-in hooks.`: This sets up Trunk to run automatically on commit and before you push, saving you time waiting for CI only to have it fail.
+4. `Trunk will now run a local, one-time scan of your code and report any issues it finds`: This initial scan will give you a good overview of the problem areas in your code. Subsequent scans will only run on changed lines using hold-the-line.
+
+{% hint style="info" %}
+**Trunk is Git aware**
+
+Trunk speeds up your linting process by running on only the files that have changed in your branch compared to upstream. This means if you're using a base/trunk branch that's not `master` or `main`, you will need to specify it in your `.trunk/trunk.yaml`
+
+```yaml
+version: 0.1
+cli:
+  version: 1.22.2
+repo:
+  # develop is the branch that everyone's work is merged into
+  trunk_branch: develop
+... rest of configs
+```
+{% endhint %}
+
+### Run Linters
+
+After initialization, you can run the [recommended set of linters](initialize-trunk.md#recommended-linters) by running:
+
+```
+./trunk check
+```
+
+:tada: And just like that, you're ready to start using Trunk Code Quality.
+
+### The .trunk Directory
+
+After initialization, a new folder `.trunk` will be generated with the following content.
+
+```
+.trunk
+├── actions/ 
+├── configs/ # This is where linter configs live
+├── logs/ # Logs for debugging
+├── notifications/
+├── out/
+├── plugins/
+├── tools/ 
+└── trunk.yaml # Top-level Trunk config
+```
+
+You will spend most of your time configuring Trunk Code Quality's linter definitions `trunk.yaml` and individual linter configurations in `configs`.
+
+### Recommended Linters
+
+During initialization, Trunk Code Quality will recommend some linters based on files found in your project. Trunk Code Quality will recommend common linters for your language, but the [full list of supported linters can be found here](../linters/supported/).
+
+You can enable and disable individual linters by running:
+
+```bash
+trunk check enable <linter>
+trunk check disable <linter>
+```
+
+You can also see all linters and whether they're enabled by running:
+
+```bash
+trunk check list
+```
+
+### IDE Integration
+
+Trunk Code Quality supports [VSCode](../ide-integration/vscode.md) and [Neovim](../ide-integration/neovim.md) through extensions. Using VSCode and Neovim will provide inline linter annotations as you code.
+
+### Move Existing Configs
+
+If you have existing linter configs in your repo, you can move them into the `.trunk/configs` folder. These config files will be symlinked in during any `trunk check` run.
+
+{% hint style="warning" %}
+If you're using an IDE Extension like `clangd` with an LSP that relies on those configs being in the root, you must create an additional symlink from the hidden config to the workspace root.
+{% endhint %}
+
+### Next Steps
+
+After initializing Trunk Code Quality, you can check for issues and configure Code Quality. The [next steps](deal-with-existing-issues.md) in Setup & Installation will walk you through this process.
diff --git a/code-quality/setup-and-installation/openai-codex-support.md b/code-quality/setup-and-installation/openai-codex-support.md
new file mode 100644
index 00000000..9680e842
--- /dev/null
+++ b/code-quality/setup-and-installation/openai-codex-support.md
@@ -0,0 +1,60 @@
+---
+description: Trunk Code Quality for OpenAI Codex
+---
+
+# OpenAI Codex Support
+
+This document provides guidance for integrating Trunk Code Quality into OpenAI Codex environments.
+
+### Requirements
+
+Ensure you’re running the following minimum versions in your `.trunk/trunk.yaml` file:
+
+* Trunk CLI: v1.24.0 or later
+* Trunk Plugins: v1.7.0 or later
+
+### Installation
+
+In your Codex environment setup script, include:
+
+```
+# Install Trunk CLI and dependent tools
+curl https://get.trunk.io -fsSL | bash
+trunk install
+```
+
+It's important to pre-install all trunk dependencies during the setup because codex environments are network-isolated post-setup.
+
+#### Debugging Installation
+
+If the environment setup is slow, run the following to diagnose:
+
+```
+trunk install --debug
+```
+
+This command will detail installation timings and potential bottlenecks.
+
+### Handling Network Isolation
+
+Codex environments are network-isolated post-setup. Linters requiring network access must be excluded from running explicitly:
+
+Example:
+
+```
+trunk check --filter=-trufflehog,-semgrep
+```
+
+### Teaching Codex how to use Trunk
+
+Codex can automatically run trunk commands for you, by informing it to do so in your AGENTS.md file:
+
+```
+## AGENTS Instructions
+
+### Formatting and Linting
+- Run `trunk check -y --filter=-trufflehog,-semgrep` after modifying code to format and fix linting issues.
+- Review and verify changes before committing.
+- If only formatting is required, run `trunk fmt`.
+- Exclude linters requiring network access by adding them to the negative filter list as shown above.
+```
diff --git a/code-quality/setup-and-installation/prevent-new-issues.md b/code-quality/setup-and-installation/prevent-new-issues.md
new file mode 100644
index 00000000..568b980e
--- /dev/null
+++ b/code-quality/setup-and-installation/prevent-new-issues.md
@@ -0,0 +1,179 @@
+# Linting in CI
+
+Trunk Code Quality can be run in CI to prevent new issues form being introduced by PRs and on a nightly/scheduled cadence to report on existing issues.
+
+### Configuring Base Branch
+
+Trunk operates in **hold-the-line** mode by default. This means Trunk will run linters only on the **files that have changed** according to Git, by comparing it to the appropriate upstream branch.
+
+If you're not using `main` or `master` as the base branch, make sure it's specified in `.trunk/trunk.yaml`.
+
+```yaml
+version: 0.1
+cli:
+  version: 1.22.2
+repo:
+  # specify the base branch for hold-the-line
+  trunk_branch: develop
+```
+
+### Linting on PRs
+
+```yaml
+name: Trunk Code Quality
+on:
+  push:
+    branches: main
+  pull_request:
+    branches: main
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+        with:
+          post-annotations: true 
+      # ... other CI steps
+```
+
+This step will automatically run Trunk Code Quality to reveal problems found when comparing the branch to `main` or another base branch you configured.
+
+If you want to run the `trunk check` command directly in your workflow, or you're not using GitHub, you can run the following commands:
+
+<pre><code><strong>curl -fsSLO --retry 3 https://trunk.io/releases/trunk \
+</strong>chmod +x trunk \
+./trunk check --ci
+</code></pre>
+
+Trunk Code Quality can be run in CI to prevent new issues form being introduced by PRs and on a nightly/scheduled cadence to report on existing issues.
+
+### Configuring Base Branch
+
+Trunk operates in **hold-the-line** mode by default. This means Trunk will run linters only on the **files that have changed** according to Git, by comparing it to the appropriate upstream branch.
+
+If you're not using `main` or `master` as the base branch, make sure it's specified in `.trunk/trunk.yaml`.
+
+```yaml
+version: 0.1
+cli:
+  version: 1.22.2
+repo:
+  # specify the base branch for hold-the-line
+  trunk_branch: develop
+```
+
+### Linting on PRs
+
+#### GitHub Actions Workflows
+
+If you're already running linters on your PRs, you can replace your lint step with the [Trunk Code Quality action](https://github.com/trunk-io/trunk-action) step. For example:
+
+```yaml
+name: Trunk Code Quality
+on:
+  push:
+    branches: main
+  pull_request:
+    branches: main
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+        with:
+          post-annotations: true 
+      # ... other CI steps
+```
+
+This step will automatically run Trunk Code Quality to reveal problems found when comparing the branch to `main` or another base branch you configured.
+
+When `post-annotations` is set to `true` Code Quality will also **annotate** the PR with comments for where lint issues are found.
+
+<figure><img src="../../.gitbook/assets/Annotations.png" alt=""><figcaption><p>Example of inline annotations</p></figcaption></figure>
+
+#### Manual Configuration and Non-GitHub CI
+
+If you want to run the `trunk check` command directly in your workflow, or you're not using GitHub, you can run the following commands:
+
+```
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk \
+chmod +x trunk \
+./trunk check --ci
+```
+
+#### Skipping Trunk Code Quality on PRs
+
+You can include `/trunk skip-check` in the body of a PR description (i.e. the first comment on a given PR) to mark Trunk Code Quality as "skipped". Trunk Code Quality will still run on your PR and report issues, but this will allow the PR to pass a GitHub-required status check on `Trunk Check`.
+
+This can be helpful if Code Quality is flagging known issues in a given PR that you don't want to ignore, which can come in handy if you're doing a large refactor.
+
+{% hint style="warning" %}
+If you use GitHub, we recommend you follow the GitHub Integration guide. If you don't use GitHub or cannot install the Trunk GitHub app, you can still run Trunk Code Quality using these manual setup steps.
+{% endhint %}
+
+### Caching and Persistence
+
+* Trunk caches the version of `trunk` itself, linters, formatters, and lint results in `~/.cache/trunk`
+* If your build machines are persistent, make sure this directory is not wiped out between CI jobs for best performance. If Trunk has to re-download every linter for every job because this directory is wiped out, it will be very slow.
+* If your build machines are ephemeral, there are a few options for caching:
+  * CI systems have support for caching between CI jobs on ephemeral runners:
+    * [GitHub Actions](https://github.com/actions/cache)
+    * [CircleCI](https://circleci.com/docs/caching/)
+    * [Travis CI](https://docs.travis-ci.com/user/caching/)
+  * You can include a seeded trunk cache in a regularly updated image used for CI by running `trunk check download`, which will download all requirements to `~/.cache/trunk`
+
+{% hint style="warning" %}
+If you use GitHub, we recommend you follow the GitHub Integration guide. If you don't use GitHub or cannot install the Trunk GitHub app, you can still run Trunk Code Quality using these manual setup steps.
+{% endhint %}
+
+### Hourly/Nightly Builds
+
+If you'd like to set Code Quality to run on an hourly/nightly CI, you can run
+
+<pre class="language-yaml"><code class="lang-yaml"><strong>name: Trunk Code Quality
+</strong>on:
+  schedule:
+    # Run at 4 PM UTC daily (cron uses UTC time)
+    - cron: '0 16 * * *'
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+        with:
+          check-mode: all
+      # ... other CI steps
+</code></pre>
+
+You can do the same without Trunk's GitHub Action using the following command:
+
+```bash
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk \
+chmod +x trunk \
+./trunk check --all --ci-progress --monitor=false
+```
+
+`--ci-progress` will print out the tool's progress every 30 seconds, whereas `--no-progress` will suppress any progress reporting.
+
+You can also explicitly set the upstream branch if needed via `--upstream`, but we do detect your main branch by default.
+
+### Caching and Persistence
+
+* Trunk caches the version of `trunk` itself, linters, formatters, and lint results in `~/.cache/trunk`
+* If your build machines are persistent, make sure this directory is not wiped out between CI jobs for best performance. If Trunk has to re-download every linter for every job because this directory is wiped out, it will be very slow.
+* If your build machines are ephemeral, there are a few options for caching:
+  * CI systems have support for caching between CI jobs on ephemeral runners:
+    * [GitHub Actions](https://github.com/actions/cache)
+    * [CircleCI](https://circleci.com/docs/caching/)
+    * [Travis CI](https://docs.travis-ci.com/user/caching/)
+  * You can include a seeded trunk cache in a regularly updated image used for CI by running `trunk check download`, which will download all requirements to `~/.cache/trunk`
diff --git a/code-quality/setup-and-installation/prevent-new-issues/migration-guide.md b/code-quality/setup-and-installation/prevent-new-issues/migration-guide.md
new file mode 100644
index 00000000..02f66eb2
--- /dev/null
+++ b/code-quality/setup-and-installation/prevent-new-issues/migration-guide.md
@@ -0,0 +1,174 @@
+---
+hidden: true
+---
+
+# Migration Guide
+
+### What's deprecated
+
+The Code Quality dashboard in the Trunk web app has been deprecated, along with the ability to configure and manage CI workflows in the web app.
+
+This means the Code Quality tab in the Trunk web app has been deprecated.
+
+<figure><img src="../../../.gitbook/assets/CQ Deprecation (2).png" alt=""><figcaption><p>The Code Quality tab in the Trunk Web App.</p></figcaption></figure>
+
+This deprecation impacts the following Code Quality features configured in the web app:
+
+* Checking for issues nightly.
+* Checking for issues on pull requests.
+
+**You can still run Code Quality in CI and on PRs.** See the [guide below](migration-guide.md#migrating-nightly-and-pr-jobs) for step-by-step migration instructions.
+
+You only need to migrate if you have configured these features with the web app. You can check if you use these features through the web app in the Code Quality section of your repo settings.
+
+<figure><img src="../../../.gitbook/assets/CQ Nightly Deprecation.png" alt=""><figcaption><p>You can check in the Code Quality settings of your repo to see if you're currently using deprecated features.</p></figcaption></figure>
+
+Lastly, Trunk will no longer collect your linting issues. You will also stop receiving Slack notifications about new issues discovered by linters.
+
+If you're using the `--upload` flag on your `trunk check` command, it will no longer work:
+
+```
+trunk check --upload --series=main
+```
+
+### Why we’re deprecating these features
+
+From both usage data and community feedback, we know the core value of Code Quality is in the CLI, IDE, and native CI integrations. We’ve deprecated some features to better support these key integrations with limited resources.&#x20;
+
+### Migrating nightly and PR jobs
+
+Nightly and PR jobs configured through the Trunk web app will no longer be supported. However, you can still run these checks by migrating these workflows to run as a step in your existing CI pipelines.
+
+#### Run on PRs on GitHub Actions
+
+Trunk provides a [GitHub action](https://github.com/trunk-io/trunk-action) to help you lint your code in CI. You add it as a step to your workflows. To run on pull requests or on a schedule, you can configure the appropriate triggers for your workflow.&#x20;
+
+```yaml
+name: Trunk Code Quality
+on:
+  push:
+    branches: main
+  pull_request:
+    branches: main
+	
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+      # ... other CI steps
+```
+
+You will still receive inline comments about your errors if you run the action with the `post-annotations` argument.
+
+<figure><img src="../../../.gitbook/assets/CQ Deprecation (1).png" alt=""><figcaption><p>Inline linter errors and warnings as you review PRs. </p></figcaption></figure>
+
+#### Run on PRs using other CI providers
+
+You can also set up checks on PR without using the provided GitHub action. Download the CLI in line and run the Code Quality CLI in CI mode to check a PR. Note that you will not receive inline arguments with this approach.
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk 
+chmod +x trunk 
+./trunk check --ci
+```
+
+Here’s an example of the commands in a GitHub Actions workflow, but you can do the same in virtually any CI pipeline.
+
+```yaml
+name: Trunk Code Quality
+on:
+  push:
+    branches: main
+  pull_request:
+    branches: main
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - run: |
+              curl -fsSLO --retry 3 https://trunk.io/releases/trunk 
+              chmod +x trunk 
+              ./trunk check --ci --ci-progress
+      # ... other CI steps
+```
+
+#### Run nightly on GitHub Actions
+
+To run Trunk’s [GitHub action](https://github.com/trunk-io/trunk-action) to lint your entire code base nightly or on a schedule, you can specify the \`check-mode: all\` argument when running the action.
+
+```yaml
+name: Trunk Code Quality
+on:
+  schedule:
+    # Run at 4 PM UTC daily (cron uses UTC time)
+    - cron: '0 16 * * *'
+	
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - name: Trunk Code Quality
+        uses: trunk-io/trunk-action@v1
+        with:
+    		check-mode: all
+      # ... other CI steps
+```
+
+#### Run nightly using other CI providers
+
+Specify the `--all` flag on your `trunk check` command to run on your entire codebase. Trunk is Git aware and checks only files changed in a PR by default. Specifying `--all` will instead check the whole code base.
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk 
+chmod +x trunk 
+./trunk check --all --ci --ci-progress
+```
+
+Here’s an example of the command in a GitHub Actions workflow. This command will also work in any other CI provider.
+
+```yaml
+name: Trunk Code Quality
+on:
+  schedule:
+    # Run at 4 PM UTC daily (cron uses UTC time)
+    - cron: '0 16 * * *'
+	
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      # ... other setup steps
+      - run: |
+              curl -fsSLO --retry 3 https://trunk.io/releases/trunk 
+              chmod +x trunk 
+              ./trunk check --all --ci --ci-progress
+      # ... other CI steps
+```
+
+#### Turn off web app services after migrating
+
+After you have migrated off the web app, you can manually turn off **Check for issues in pull requests** in your repo settings in the web app.
+
+If you do not turn these off, you will continue to get warnings in your PRs until the services are shut down.
+
+### Caching
+
+You can cache Trunk’s binary and install tools to speed up your CI runs. Trunk caches the version of `trunk` itself, linters, formatters, and lint results in the `~/.cache/trunk` folder. Consult the documentation for your CI provider to learn about caching this folder.
+
+### Limitations
+
+Uploads and web reports based on Code Quality issues are no longer supported after this deprecation. These less-used features are deprecated so we can better maintain the core metalinter features of Code Quality. While an online report is no longer available, Trunk still produces standardized output by reformatting each linter’s output.
+
+You will also stop receiving Slack notifications about new issues in your repo. Since Trunk no longer ingests uploads about your linter runs, it can’t send Slack notifications about them.
+
+If you have additional questions or concerns, please reach out to us on [Slack](https://slack.trunk.io/).
diff --git a/community.md b/community.md
new file mode 100644
index 00000000..a4dd4700
--- /dev/null
+++ b/community.md
@@ -0,0 +1,11 @@
+# Community & Support
+
+## Need help with Trunk?
+
+&#x20;We're here for you! Here's how to reach us:
+
+<table><thead><tr><th width="239">Contact Method</th><th>Description</th></tr></thead><tbody><tr><td><a href="https://slack.trunk.io">Slack</a></td><td>We offer near real-time support in our <a href="https://slack.trunk.io">Slack community</a>. Post your questions in #getting-started, #bugs, or #general for quick answers. Want to discuss something privately? Simply drop a note in any channel and we'll continue in DMs.</td></tr><tr><td><a href="https://calendly.com/trunk/demo">Meeting or Demo</a></td><td>For sales-related matters, you can email us at <a href="mailto:sales@trunk.io">sales@trunk.io</a> or <a href="https://calendly.com/trunk/demo">schedule a meeting here</a>.</td></tr><tr><td><a href="https://github.com/orgs/trunk-io/discussions/">GitHub Discussions</a></td><td>If there's something you want us to build, you can post on Slack in #feature-requests or start a discussion on <a href="https://github.com/orgs/trunk-io/discussions/">GitHub Discussions</a>.</td></tr><tr><td><a href="mailto:support@trunk.io">Email</a></td><td>Email us at <a href="mailto:support@trunk.io">support@trunk.io</a>. We'll get back to you within 48 hours, though for fastest support, we recommend our <a href="https://slack.trunk.io/">Slack community</a>!</td></tr></tbody></table>
+
+To help us get you the right answer as quickly as possible, please include relevant information for each feature:
+
+<table><thead><tr><th width="165">Feature</th><th>Information</th></tr></thead><tbody><tr><td>Flaky Tests</td><td>A short description of your question, your test framework, and the CI provider you use to run your tests. </td></tr><tr><td>Code Quality</td><td>The version of your Trunk CLI and your OS. You can find you CLI version with <code>trunk -v</code>.</td></tr><tr><td>Merge Queue</td><td>A short description of your question and a link to your repo if it's public.</td></tr></tbody></table>
diff --git a/find_nonrelative.sh b/find_nonrelative.sh
new file mode 100644
index 00000000..73080c83
--- /dev/null
+++ b/find_nonrelative.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -euo pipefail
+LINT_TARGET="${1}"
+TODO_REGEX="docs.trunk.io"
+GREP_FORMAT="([^:]*):([0-9]+):(.*)"
+PARSER_FORMAT="\1:\2:0: [error] Found docs.trunk.io in line (LINK)"
+
+grep -o -E "${TODO_REGEX}" --line-number --with-filename "${LINT_TARGET}" | sed -E "s/${GREP_FORMAT}/${PARSER_FORMAT}/"
diff --git a/flaky-tests/dashboard.md b/flaky-tests/dashboard.md
new file mode 100644
index 00000000..427381ab
--- /dev/null
+++ b/flaky-tests/dashboard.md
@@ -0,0 +1,79 @@
+---
+description: >-
+  Learn to find flaky tests and understand their impact using the Flaky Tests
+  dashboard
+---
+
+# Dashboard
+
+Trunk Flaky Tests detect flaky tests by analyzing test results. The health of your tests is displayed in the Flaky Tests dashboard.
+
+### Key Repo Metrics
+
+<figure><picture><source srcset="../.gitbook/assets/key-metrics-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/key-metrics-light.png" alt=""></picture><figcaption><p>Key repo metrics</p></figcaption></figure>
+
+Trunk Flaky Test provides key repo metrics based on the detected health status of your tests. You'll find metrics for the following information at the top of the Flaky Test dashboard.
+
+<table><thead><tr><th width="209">Metric</th><th>Description</th></tr></thead><tbody><tr><td>Flaky tests</td><td>Number of flaky test cases in your repo.</td></tr><tr><td>Broken tests</td><td>Number of broken test cases in your repo.</td></tr><tr><td>PRs blocked by failed tests</td><td>PRs that have been blocked by failed tests in CI.</td></tr></tbody></table>
+
+These numbers are important for understanding the overall health of your repo’s tests, how flaky and broken tests impact your developer productivity, and the developer hours saved from quarantining tests. You can also view the trends in these numbers in the trend charts.
+
+### Tests Cases Overview
+
+<figure><picture><source srcset="../.gitbook/assets/flaky-tests-overview-table-v2-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/flaky-tests-overview-table-v2-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+You can view a table of all your test cases and their current status in Trunk Flaky Tests.
+
+Filters can also be set on the table to narrow test results down by test status, quarantine setting, ticket status, or by the name, file, or suite name of the test case.&#x20;
+
+The table is sorted by default by the number of PRs impacted by the case, which is the best way to measure the impact of a flaky test. You can click on each test case to view [the test case’s details](dashboard.md#test-case-details).
+
+<table><thead><tr><th width="188">Column</th><th>Description</th></tr></thead><tbody><tr><td>Tests</td><td>The variant, file path, and name of the test case.</td></tr><tr><td>Status</td><td>The health status of the test case.</td></tr><tr><td>Failure Rate</td><td>The percentage of CI runs failed due to this broken or flaky test case.</td></tr><tr><td>PRs Impacted</td><td>The number of PRs that have been affected by this test case failing in CI.</td></tr><tr><td>Last Run</td><td>The most recent timestamp for an upload test run.</td></tr></tbody></table>
+
+### Test Case Details
+
+<figure><picture><source srcset="../.gitbook/assets/flaky-tests-failure-details-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/flaky-tests-failure-details-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+You can _click_ on any of the test cases listed on the Flaky Test dashboard to access the test case’s details. On a test's details page, you can find:
+
+* The test's current status
+* Visualizations and a timeline detailing the test's health history
+* A table of unique failure types for this test
+
+This is in addition to information like ticket status and the current codeowner.
+
+### **Code Owners**
+
+If you have a codeowners file configured in your repos, you will see who owns each flaky test in the test details view. We support code owners for [GitHub](https://docs.gitlab.com/ee/user/project/codeowners/) and [GitLabs](https://docs.gitlab.com/ee/user/project/codeowners/) repos.
+
+<figure><picture><source srcset="../.gitbook/assets/details-code-owners-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/details-code-owners-light.png" alt=""></picture><figcaption><p>You can find the code owners of each test on the top right of the test details screen.</p></figcaption></figure>
+
+This information will also be provided when creating a ticket with the [Jira integration](ticketing-integrations/jira-integration.md) or [webhooks](webhooks/).
+
+### **Failure Types**
+
+<figure><picture><source srcset="../.gitbook/assets/unique-failure-reason-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/unique-failure-reason-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+The Failure Types table shows the history of past test runs grouped by unique failure types.
+
+The Failure Type is a summary of the stack trace of the test run. You can click on the failure type to see a list of test runs labeled by branch, PR, Author, CI Job link, duration, and time.&#x20;
+
+### Failure Details
+
+You can click on any of these test runs to see the detailed stack trace:
+
+<figure><picture><source srcset="../.gitbook/assets/run-details-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/run-details-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+You can flip through the stack traces of similar failures across different test runs by clicking the left and right arrow buttons. You can also see other similar failures on this and other tests.
+
+#### Go to the CI Job Logs
+
+If you want to see full logging of the original CI job for an individual test failure, you can click **Logs** in the expanded failure details panel to go to the job's page in your CI provider.
+
+<figure><picture><source srcset="../.gitbook/assets/failure-logs-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/failure-logs-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### **Test History**
+
+<figure><picture><source srcset="../.gitbook/assets/test-history-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/test-history-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Tests may transition between flaky, broken, and healthy states multiple times over their lifetime. You can see previous changes in the detected health status of a test in Test History, as well as an explanation for why it was detected to have a new state.
diff --git a/flaky-tests/detection.md b/flaky-tests/detection.md
new file mode 100644
index 00000000..d9b61fa0
--- /dev/null
+++ b/flaky-tests/detection.md
@@ -0,0 +1,114 @@
+---
+description: Learn how Trunk detects and labels flaky tests
+---
+
+# Flaky Test Detection
+
+Trunk detects flaky tests by analyzing test results uploaded from your CI jobs. This page covers how flaky tests are detected and how they're labeled after Trunk receives uploaded test results.&#x20;
+
+<figure><picture><source srcset="../.gitbook/assets/unique-failure-reason-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/unique-failure-reason-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Trunk Flaky Tests detects flaky tests by analyzing test results. The health of your tests is displayed in the Flaky Tests dashboard. This page covers how flaky tests are detected and how to analyze your test suite’s health using the dashboard.
+
+You can learn more about how tests are uploaded to Trunk before they're labeled in the [Get Started docs](get-started/). You can learn more about how detection results are displayed in the [Dashboard docs](dashboard.md).
+
+{% hint style="info" %}
+Trunk typically requires 10+ runs per test on CI to start accurately detecting flaky tests. For example, detecting a flaky test that fails 25% of the time takes 9 runs to achieve 90% confidence in having seen it flake. Depending on the repository’s velocity, this could take hours or days.
+{% endhint %}
+
+Trunk detects flaky tests by analyzing the test results uploaded from your CI jobs. Each new upload is processed and compared with historical test results to detect flaky tests. Trunk emphasizes each result differently depending on which branch it's run on. \
+\
+**This is an asynchronous process, and it may take up to an hour for an upload's results to be reflected in** [**the dashboard**](get-started/#id-4.-confirm-your-configuration-analyze-your-dashboard)**.**
+
+<figure><picture><source srcset="../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption><p>The uploads tab contains results received from past CI jobs.</p></figcaption></figure>
+
+### How We Detect Flakiness
+
+Trunk analyzes test failures based on the context in which they are run. A test failing on `main` has a different impact on flake detection than a test failing on a pull request. After tests are uploaded to Trunk, they're analyzed based on different rules depending on which branch they were run on.
+
+{% hint style="warning" %}
+Uploading all test results from your repository will result in the fastest and most accurate detection. Trunk relies on test results from `main`, pull requests, and (if you use one) merge queues.
+{% endhint %}
+
+### Stable Branches
+
+Trunk detects flaky tests with the assumption that automated tests should be passing before being merged into stable branches like `main`. This means failures on `main` are unexpected and indicate flakiness or a broken test.&#x20;
+
+{% hint style="info" %}
+Stable branches are sometimes referred to as _protected_ or _default_ branches.
+{% endhint %}
+
+Flaky Tests will use `main` as a stable branch by default. You can override the default selection and set a custom stable branch, for example, `master` or`develop`.
+
+#### Overriding Stable Branch Defaults
+
+It is important to set your stable branch correctly to ensure fast and accurate detection of flaky tests.
+
+Flaky Test users with the administrator role can update the current stable branch in the repository settings:
+
+1. Click on your profile and open **Settings.**
+2. Click on your repository in the left nav.
+3. Update the **Override Default Stable Branch** setting with the name of your stable branch.
+
+{% hint style="warning" %}
+Changing the stable branch will not rebuild your test history, a stable branch change will only be applied to new test runs.&#x20;
+
+Flaky Tests will require additional CI runs on the updated stable branch to detect test flakes.
+{% endhint %}
+
+#### Pull Requests
+
+Flaky tests are only detected on pull requests (PRs) when a test produces different results on the same git commit. This often occurs when a PR is opened, the tests initially fail, and then pass when re-run.
+
+Tests failing on different git commits in PRs are not used as a signal of flakiness. This is because code changes in PRs can lead to expected test failures that will be fixed before the PR is merged.
+
+#### Merge Queue
+
+Merge queues use temporary branches to test changes again before merging into `main`. Failures on merge queue branches are unexpected and are used as a signal when detecting flaky tests. Trunk currently auto-detects merge queue CI jobs from Trunk Merge Queues, GitHub Merge Queues, GitLab Merge Trains, and Graphite Merge Queues.
+
+#### Examples
+
+To help illustrate the implications of these rules, consider the following scenarios.
+
+* Scenario 1: A test fails on a CI job run on the `main` branch, which is a protected branch. It will be marked as **flaky** because we expect PRs to pass automated tests before being merged, which means its results are inconsistent. If it continues to fail consistently on `main`, it will be marked as broken.
+* Scenario 2: A test fails on a PR branch. A new commit is pushed, which fixes the test. Later, another commit breaks the test again, and it fails consistently for the next 3 commits and fails on reruns. It is **not marked flaky or broken** because it's displaying consistent behavior on the same commit, and it's failing on a development/PR branch, which is expected to fail and be fixed during development to catch regressions.
+* Scenario 3: A test fails on a PR. A developer reruns the tests, and they pass. This test will be marked as **flaky** because it demonstrates inconsistent results on the same commit, which means it's flaky because the results changed without code changes.
+
+{% hint style="info" %}
+Expect test results for individual PRs to be up-to-date for [PR Test Summaries](github-pull-request-comments.md) within 15 minutes post-upload and all other metrics to be up-to-date within an hour.
+{% endhint %}
+
+### Use Variants to Track Environment-Specific Flakes
+
+If you run the same tests across different environments or architectures, you can use variants to separate these runs into distinct test cases. This allows Flaky Tests to detect environment-specific flakes.
+
+For example, a test for a mobile app might be flaky on iOS but stable on Android. Using variants, Flaky Tests can isolate flakes on the iOS variant instead of marking the test as flaky across all environments.
+
+You can specify a variant during upload using the [`--variant` option](uploader.md#full-command-reference):
+
+{% code title="Upload an iOS variant " %}
+```
+./trunk flakytests upload --junit-paths "test_output.xml" \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN \
+   --variant ios
+```
+{% endcode %}
+
+Variant names are displayed in brackets next to test names in your dashboard:
+
+<figure><picture><source srcset="../.gitbook/assets/variants-dark-border.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/variants-light-border.png" alt=""></picture><figcaption><p>The same test, but the first is a macOS variant.</p></figcaption></figure>
+
+### Test Status
+
+Trunk classifies all tests into one of three categories based on the history of each test:
+
+<table><thead><tr><th width="178">Test Status</th><th>Description</th></tr></thead><tbody><tr><td>Flaky</td><td>This test is not deterministic. Given the same inputs, the test will occasionally produce different outputs. This means you <strong>cannot trust the results</strong> of these tests.</td></tr><tr><td>Broken</td><td>This test is reproducible but is always failing. These tests that always fail are not useful and should be fixed.</td></tr><tr><td>Healthy</td><td>This test is reproducible. Given the same inputs, the test will produce the same outputs.</td></tr></tbody></table>
+
+### Next Steps
+
+If you have not set up your CI jobs to upload results to Trunk, follow the [Get Started docs](get-started/) to start uploading test results to Trunk.
+
+If you're curious about why certain tests are labeled as flaky, you can visit each test's status history. [Learn more about Status History.](dashboard.md#status-history)
+
+<figure><picture><source srcset="../.gitbook/assets/test-history-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/test-history-light.png" alt=""></picture><figcaption></figcaption></figure>
diff --git a/flaky-tests/get-started/README.md b/flaky-tests/get-started/README.md
new file mode 100644
index 00000000..07f42cb6
--- /dev/null
+++ b/flaky-tests/get-started/README.md
@@ -0,0 +1,69 @@
+# Get Started
+
+### Introduction
+
+Trunk Flaky Tests works by changing all of your CI jobs that run tests to upload their test results to Trunk. This setup looks slightly different depending on which CI system and test framework(s) you use, but we have guides for all the popular systems.
+
+If you prefer to see an example onboarding flow, watch a video here:
+
+{% embed url="https://youtu.be/p6YC4vow804" %}
+
+### 1. Sign up for [app.trunk.io](https://app.trunk.io/signup?intent=flaky%20tests)
+
+You must [create an account ](https://app.trunk.io/signup?intent=flaky%20tests)and Trunk organization to complete the steps below.
+
+### 2. Configure your test framework to output compatible test results
+
+For Trunk to start detecting flaky tests, it needs to ingest the results from all of your CI test runs. To get started, configure your test framework (Jest, Pytest, JUnit, etc.) to output results. You'll do this only for CI jobs, _not_ for running tests locally.
+
+<figure><picture><source srcset="../../.gitbook/assets/add-test-framework-step-1-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/add-test-framework-step-1-light.png" alt=""></picture><figcaption><p>Step 1 of the in-app onboarding wizard</p></figcaption></figure>
+
+You can follow along using the in-app onboarding wizard or read about it in our docs.
+
+{% embed url="https://docs.trunk.io/flaky-tests/get-started/frameworks" %}
+
+### 3. Configure your CI jobs to upload test results to Trunk
+
+After you've set your test framework to output test results, you're ready to update your CI jobs to upload test results to Trunk.
+
+<figure><picture><source srcset="../../.gitbook/assets/add-test-framework-step-4-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/add-test-framework-step-4-light.png" alt=""></picture><figcaption><p>Step 4 of the in-app onboarding wizard</p></figcaption></figure>
+
+You can follow along using the in-app onboarding wizard or read about it in our docs.
+
+If you run the same tests on different environments or architectures, for example, running tests for a mobile app on iOS and Android, use the [variants option](../detection.md#use-variants-to-track-environment-specific-flakes) during upload to detect flakes on each environment independently.
+
+{% embed url="https://docs.trunk.io/flaky-tests/get-started/ci-providers" %}
+
+Once you've updated your CI configuration to upload to Trunk, run a test job and ensure it completes without errors.
+
+### 4. Confirm your configuration, analyze your dashboard
+
+In [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests), select the repo you've just updated and navigate to **Flaky Tests** > **Uploads**. Confirm that you see the upload(s) from the previous step.
+
+<figure><picture><source srcset="../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption><p>The uploads tab</p></figcaption></figure>
+
+Trunk needs to ingest a large amount of test data from many different pull request branches and [stable branches](../detection.md#stable-branches), `main` for example, before it can detect flaky tests accurately. This may happen quickly if you have a very high-velocity repo and run test jobs hundreds of times a day.
+
+Once you've confirmed data is flowing properly into Trunk, let data accumulate for several days and check back to analyze the results. We'll also email you when your first flaky test is detected.
+
+You can learn more about how Trunk detects flaky tests in our documentation:
+
+{% embed url="https://docs.trunk.io/flaky-tests/detection" %}
+
+### 5. Enable test summary comments on PRs
+
+Flaky Tests can post comments on GitHub pull requests to provide a summary of all the tests run on this PR, across multiple CI jobs or even CI systems, as well as whether those failures are due to flakiness, the history of the failures of that test, and more.
+
+<figure><picture><source srcset="../../.gitbook/assets/github-comment-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/github-comment-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+To enable PR Comments, see our documentation:
+
+{% embed url="https://docs.trunk.io/flaky-tests/github-pull-request-comments" %}
+
+### 6. (Optional) Enable Quarantining
+
+Quarantining is an advanced feature that allows your CI test jobs to pass even if a flaky test is failing. This eliminates the pain developers feel from dealing with flaky tests.
+
+To enable Quarantining, see our documentation:
+
+{% embed url="https://docs.trunk.io/flaky-tests/quarantining" %}
diff --git a/flaky-tests/get-started/ci-providers/README.md b/flaky-tests/get-started/ci-providers/README.md
new file mode 100644
index 00000000..ad9fcc4e
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/README.md
@@ -0,0 +1,13 @@
+---
+description: You can easily integrate Flaky Tests from any CI Provider
+---
+
+# CI Providers
+
+Trunk Flaky Tests integrates with your CI by adding a `Upload Test Results` step in each of your testing CI jobs via the [Trunk CLI](../../uploader.md). See the [Test Frameworks](../frameworks/) docs for instructions on producing test reports for your test runner, which Trunk can ingest.
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+### Quickstart
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/flaky-tests/get-started/ci-providers/azure-devops-pipelines.md b/flaky-tests/get-started/ci-providers/azure-devops-pipelines.md
new file mode 100644
index 00000000..8e2f2654
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/azure-devops-pipelines.md
@@ -0,0 +1,154 @@
+# Azure DevOps Pipelines
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Azure DevOps Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your Azure DevOps Pipelines as new variables named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an upload step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Add Uploader to Testing Pipelines
+
+The following is an example of a workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+trigger:
+- main
+
+pool:
+  vmImage: ubuntu-latest
+
+steps:
+# ... Omitted steps
+
+- script: |
+    curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+    chmod +x ./trunk
+    ./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" \
+    --org-url-slug $(TRUNK_ORG_SLUG) \
+    --token $(TRUNK_TOKEN)
+  condition: always() # this should always run
+  displayName: Upload test results to Trunk.io
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+trigger:
+- main
+
+pool:
+  vmImage: ubuntu-latest
+
+steps:
+# ... Omitted steps
+
+- script: |
+    curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+    chmod +x ./trunk
+    ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> \
+    --org-url-slug $(TRUNK_ORG_SLUG) \
+    --token $(TRUNK_TOKEN)
+  condition: always() # this should always run
+  displayName: Upload test results to Trunk.io
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+trigger:
+- main
+
+pool:
+  vmImage: ubuntu-latest
+
+steps:
+# ... Omitted steps
+
+- script: |
+    curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+    chmod +x ./trunk
+    ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> \
+    --org-url-slug $(TRUNK_ORG_SLUG) \
+    --token $(TRUNK_TOKEN)
+  condition: always() # this should always run
+  displayName: Upload test results to Trunk.io
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+trigger:
+- main
+
+pool:
+  vmImage: ubuntu-latest
+
+steps:
+# ... Omitted steps
+
+- script: |
+    TRUNK_ORG_URL_SLUG=$(TRUNK_ORG_SLUG) \
+    TRUNK_API_TOKEN=$(TRUNK_TOKEN) \
+    bundle exec rspec
+  displayName: Run RSpec tests and upload results to Trunk.io
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+[Learn more about cleaning up artifacts in Azure DevOps Pipelines](https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/pipeline-options-for-git?view=azure-devops\&tabs=yaml#clean-the-local-repo-on-the-agent)
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
+
diff --git a/flaky-tests/get-started/ci-providers/bitbucket-pipelines.md b/flaky-tests/get-started/ci-providers/bitbucket-pipelines.md
new file mode 100644
index 00000000..7284152d
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/bitbucket-pipelines.md
@@ -0,0 +1,154 @@
+# BitBucket Pipelines
+
+Trunk Flaky Tests integrates with your CI by adding a step in your BitBucket Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your BitBucket as a new variable named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `after-script` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Add Uploader to Testing Pipelines
+
+The following is an example of a workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the JUnit XML files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+<pre class="language-yaml"><code class="lang-yaml"><strong>image: &#x3C;BITBUCKET_IMAGE>
+</strong>
+pipelines:
+  default:
+    - step:
+       # ... omitted setup and build steps 
+    - step:
+        name: Run Tests and Upload Results
+        script:
+          - &#x3C;COMMAND TO RUN TESTS>
+        after-script:
+          # This ensures trunk upload runs even if the test script fails
+          - |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+            chmod +x ./trunk
+            ./trunk flakytests upload --junit-paths "**/junit.xml" \
+              --org-url-slug $TRUNK_ORG_SLUG \
+              --token $TRUNK_TOKEN
+</code></pre>
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+image: <BITBUCKET_IMAGE>
+
+pipelines:
+  default:
+    - step:
+       # ... omitted setup and build steps 
+    - step:
+        name: Run Tests and Upload Results
+        script:
+          - <COMMAND TO RUN TESTS>
+        after-script:
+          # This ensures trunk upload runs even if the test script fails
+          - |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+            chmod +x ./trunk
+            ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> \
+              --org-url-slug $TRUNK_ORG_SLUG \
+              --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+image: <BITBUCKET_IMAGE>
+
+pipelines:
+  default:
+    - step:
+       # ... omitted setup and build steps 
+    - step:
+        name: Run Tests and Upload Results
+        script:
+          - <COMMAND TO RUN TESTS>
+        after-script:
+          # This ensures trunk upload runs even if the test script fails
+          - |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+            chmod +x ./trunk
+            ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> \
+              --org-url-slug $TRUNK_ORG_SLUG \
+              --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+image: <BITBUCKET_IMAGE>
+
+pipelines:
+  default:
+    - step:
+       # ... omitted setup and build steps 
+    - step:
+        name: Run Tests and Upload Results
+        script:
+          - |
+            TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG \
+            TRUNK_API_TOKEN=$TRUNK_TOKEN \
+            bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+You can do this by omitting the `artifacts` definitions in the test steps of your configuration. [Learn more about artifacts in BitBucket Pipelines](https://support.atlassian.com/bitbucket-cloud/docs/use-artifacts-in-steps/).
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/buildkite.md b/flaky-tests/get-started/ci-providers/buildkite.md
new file mode 100644
index 00000000..503133a9
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/buildkite.md
@@ -0,0 +1,130 @@
+---
+description: Configure Buildkite jobs to upload test results to Trunk Flaky Tests
+---
+
+# Buildkite
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Buildkite Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your as a new [Buildkite CI secret](https://buildkite.com/docs/pipelines/security/secrets/managing) named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `Upload Test Results` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example Buildkite Pipeline
+
+The following is an example of a Buildkite step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [frameworks](../frameworks/ "mention") docs.&#x20;
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+steps:
+  - label: Run Tests
+    command: ...
+    key: tests
+    
+  - label: Upload Test Results to Trunk.io
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+    key: upload
+    depends_on:
+      - tests
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+steps:
+  - label: Run Tests
+    command: ...
+    key: tests
+    
+  - label: Upload Test Results to Trunk.io
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+    key: upload
+    depends_on:
+      - tests
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+steps:
+  - label: Run Tests
+    command: ...
+    key: tests
+    
+  - label: Upload Test Results to Trunk.io
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+    key: upload
+    depends_on:
+      - tests
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+steps:
+  - label: Run Tests and Upload Results to Trunk.io
+    command: TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG TRUNK_API_TOKEN=$TRUNK_TOKEN bundle exec rspec
+    key: tests
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/circleci.md b/flaky-tests/get-started/ci-providers/circleci.md
new file mode 100644
index 00000000..35c877cf
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/circleci.md
@@ -0,0 +1,140 @@
+---
+description: Configure CircleCI jobs to upload test results to Trunk Flaky Tests
+---
+
+# CircleCI
+
+Trunk Flaky Tests integrates with your CI by adding a step in your CircleCI Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store your Trunk slug and API token in your CircleCI project settings under **Environment Variables** as new variables named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `Upload Test Results` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example CircleCI workflow
+
+The following is an example of a workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+jobs:
+  test-node:
+    # Install node dependencies and run tests
+    executor: node/default
+    steps:
+      - run:
+          name: Run Tests
+          command: ...
+
+      - run:
+          name: Upload Test Results to Trunk.io
+          command: |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+            ./trunk flakytests upload --junit-paths "**/junit.xml" --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+jobs:
+  test-node:
+    # Install node dependencies and run tests
+    executor: node/default
+    steps:
+      - run:
+          name: Run Tests
+          command: ...
+
+      - run:
+          name: Upload Test Results to Trunk.io
+          command: |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+            ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+jobs:
+  test-node:
+    # Install node dependencies and run tests
+    executor: node/default
+    steps:
+      - run:
+          name: Run Tests
+          command: ...
+
+      - run:
+          name: Upload Test Results to Trunk.io
+          command: |
+            curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+            ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+jobs:
+  test-node:
+    # Install node dependencies and run tests
+    executor: node/default
+    steps:
+      - run:
+          name: Run Tests and Upload Results to Trunk.io
+          command: TRUNK_ORG_URL_SLUG=${TRUNK_ORG_SLUG} TRUNK_API_TOKEN=${TRUNK_TOKEN} bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [Uploader CLI Reference](https://docs.trunk.io/flaky-tests/uploader) for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/droneci.md b/flaky-tests/get-started/ci-providers/droneci.md
new file mode 100644
index 00000000..4a47c385
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/droneci.md
@@ -0,0 +1,154 @@
+---
+description: Configure Flaky Tests using Drone CI
+---
+
+# Drone CI
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Drone CI Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store your Trunk slug and API token in your Drone CI project settings as new variables named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an upload step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Add Uploader to Testing Pipelines
+
+The following is an example of a workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+kind: pipeline
+type: docker
+name: test
+
+steps:
+  - name: Run Tests
+    commands: ...
+
+  - name: Upload Test Results to Trunk.io
+    environment:
+      TRUNK_ORG_SLUG:
+        from_secret: TRUNK_ORG_SLUG
+      TRUNK_API_TOKEN:
+        from_secret: TRUNK_API_TOKEN
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --junit-paths <XML_GLOB_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+kind: pipeline
+type: docker
+name: test
+
+steps:
+  - name: Run Tests
+    commands: ...
+
+  - name: Upload Test Results to Trunk.io
+    environment:
+      TRUNK_ORG_SLUG:
+        from_secret: TRUNK_ORG_SLUG
+      TRUNK_API_TOKEN:
+        from_secret: TRUNK_API_TOKEN
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+kind: pipeline
+type: docker
+name: test
+
+steps:
+  - name: Run Tests
+    commands: ...
+
+  - name: Upload Test Results to Trunk.io
+    environment:
+      TRUNK_ORG_SLUG:
+        from_secret: TRUNK_ORG_SLUG
+      TRUNK_API_TOKEN:
+        from_secret: TRUNK_API_TOKEN
+    commands:
+      - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+      - ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+kind: pipeline
+type: docker
+name: test
+
+steps:
+  - name: Run Tests and Upload Results to Trunk.io
+    environment:
+      TRUNK_ORG_SLUG:
+        from_secret: TRUNK_ORG_SLUG
+      TRUNK_TOKEN:
+        from_secret: TRUNK_TOKEN
+    commands:
+      - TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG TRUNK_API_TOKEN=$TRUNK_TOKEN bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/github-actions.md b/flaky-tests/get-started/ci-providers/github-actions.md
new file mode 100644
index 00000000..f5392443
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/github-actions.md
@@ -0,0 +1,151 @@
+---
+description: Configure Flaky Tests detection using a GitHub Action
+---
+
+# GitHub Actions
+
+Before you start these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing Trunk-compatible reports for your test runner.
+
+Trunk Flaky Tests integrates with your CI by adding a step in your GitHub Action workflow to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as secrets in GitHub Actions
+* [ ] Configure GitHub Actions to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add Your Trunk Token and Organization Slug as Secrets
+
+Store the Trunk slug and API token obtained in the previous step in your repo as [GitHub secrets](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) named `TRUNK_ORG_URL_SLUG` and `TRUNK_API_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `Upload Test Results` step after running tests in each of your CI jobs that run tests. This should minimally include all jobs that run on pull requests, as well as jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example GitHub Actions Workflow
+
+The following is an example of a GitHub Actions workflow step to upload test results after your tests using Trunk's [**Analytics Uploader Action**](https://github.com/trunk-io/analytics-uploader).
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [**Test Frameworks**](../frameworks/) docs.
+
+{% tabs %}
+{% tab title="JUnit XML" %}
+```yaml
+jobs:
+  test:
+    name: Upload Tests
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Run Tests
+        run: ...
+
+      - name: Upload Test Results to Trunk.io
+        if: "!cancelled()" # Upload the results even if the tests fail
+        continue-on-error: true # don't fail this job if the upload fails
+        uses: trunk-io/analytics-uploader@v1
+        with:
+          junit-paths: "**/junit.xml"        
+          org-slug: <TRUNK_ORG_SLUG>
+          token: ${{ secrets.TRUNK_TOKEN }}
+
+```
+{% endtab %}
+
+{% tab title="XCResult Path" %}
+```yaml
+jobs:
+  test:
+    name: Upload Tests
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Run Tests
+        run: ...
+
+      - name: Upload Test Results to Trunk.io
+        if: "!cancelled()" # Upload the results even if the tests fail
+        continue-on-error: true # don't fail this job if the upload fails
+        uses: trunk-io/analytics-uploader@v1
+        with:
+          xcresult-path: "./test-results.xcresult"        
+          org-slug: <TRUNK_ORG_SLUG>
+          token: ${{ secrets.TRUNK_TOKEN }}
+```
+{% endtab %}
+
+{% tab title="Bazel BEP JSON" %}
+```yaml
+jobs:
+  test:
+    name: Upload Tests
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Run Tests
+        run: ...
+
+      - name: Upload Test Results to Trunk.io
+        if: "!cancelled()" # Upload the results even if the tests fail
+        continue-on-error: true # don't fail this job if the upload fails
+        uses: trunk-io/analytics-uploader@v1
+        with:
+          bazel-bep-path: "./build_events.json"        
+          org-slug: <TRUNK_ORG_SLUG>
+          token: ${{ secrets.TRUNK_TOKEN }}
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+jobs:
+  test:
+    name: Run and Upload Tests
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Run Tests and Upload Results to Trunk.io
+        run: TRUNK_ORG_URL_SLUG=${{ secrets.TRUNK_ORG_SLUG }} TRUNK_API_TOKEN=${{ secrets.TRUNK_TOKEN }} bundle exec rspec
+
+```
+{% endtab %}
+{% endtabs %}
+
+See the [GitHub Actions Reference page](https://github.com/trunk-io/analytics-uploader) for all available CLI arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/gitlab.md b/flaky-tests/get-started/ci-providers/gitlab.md
new file mode 100644
index 00000000..5f596a36
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/gitlab.md
@@ -0,0 +1,146 @@
+---
+description: Configure Flaky Tests using GitLab CI
+---
+
+# GitLab
+
+Trunk Flaky Tests integrates with your CI by adding a step in your GitLab CI/CD pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your GitLab CI/CD pipelines as new [GitLab Variables](https://docs.gitlab.com/ee/ci/variables/index.html#for-a-project) named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `upload_test_results` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example GitLab Pipeline
+
+The following is an example of a GitLab pipeline step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [frameworks](../frameworks/ "mention") docs.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+image: node:latest
+
+stages:         # List of stages for jobs, and their order of execution
+  - test
+  - flaky-tests
+
+unit_test_job:   # This job runs the tests
+  stage: test    
+  script: ...
+
+upload_test_results: # This job uploads tests results run in the last stage to Trunk.io
+  stage: flaky-tests
+  script:
+    - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+    - ./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+image: node:latest
+
+stages:         # List of stages for jobs, and their order of execution
+  - test
+  - flaky-tests
+
+unit_test_job:   # This job runs the tests
+  stage: test    
+  script: ...
+
+upload_test_results: # This job uploads tests results run in the last stage to Trunk.io
+  stage: flaky-tests
+  script:
+    - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+    - ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+image: node:latest
+
+stages:         # List of stages for jobs, and their order of execution
+  - test
+  - flaky-tests
+
+unit_test_job:   # This job runs the tests
+  stage: test    
+  script: ...
+
+upload_test_results: # This job uploads tests results run in the last stage to Trunk.io
+  stage: flaky-tests
+  script:
+    - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+    - ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+image: node:latest
+
+stages:         # List of stages for jobs, and their order of execution
+  - test
+
+unit_test_job:   # This job runs the tests and uploads the results to Trunk.io
+  stage: test    
+  script:
+    - TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG TRUNK_API_TOKEN=$TRUNK_TOKEN bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/jenkins.md b/flaky-tests/get-started/ci-providers/jenkins.md
new file mode 100644
index 00000000..38995b5a
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/jenkins.md
@@ -0,0 +1,143 @@
+---
+description: Configure Flaky Tests using Jenkins
+---
+
+# Jenkins
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Jenkins Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.&#x20;
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your Jenkins as new credentials named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `Upload Test Results` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example Jenkins Pipeline
+
+The following is an example of a Jenkins pipeline step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](../frameworks/) docs
+
+{% tabs %}
+{% tab title="XML" %}
+```groovy
+pipeline {
+  environment {
+    TRUNK_TOKEN = credentials('TRUNK_TOKEN')
+  }
+  stages {
+    stage('Run Tests'){
+      ...
+    }
+    stage('Upload Test Results'){
+      sh 'curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk'
+      sh './trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN'
+    }
+  }
+}
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+pipeline {
+  environment {
+    TRUNK_TOKEN = credentials('TRUNK_TOKEN')
+  }
+  stages {
+    stage('Run Tests'){
+      ...
+    }
+    stage('Upload Test Results'){
+      sh 'curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk'
+      sh './trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN'
+    }
+  }
+}
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+pipeline {
+  environment {
+    TRUNK_TOKEN = credentials('TRUNK_TOKEN')
+  }
+  stages {
+    stage('Run Tests'){
+      ...
+    }
+    stage('Upload Test Results'){
+      sh 'curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk'
+      sh './trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN'
+    }
+  }
+}
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```groovy
+pipeline {
+  environment {
+    TRUNK_ORG_SLUG = credentials('TRUNK_ORG_SLUG')
+    TRUNK_TOKEN = credentials('TRUNK_TOKEN')
+  }
+  stages {
+    stage('Run Tests and Upload Results to Trunk.io'){
+      sh 'TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG TRUNK_API_TOKEN=$TRUNK_TOKEN bundle exec rspec'
+    }
+  }
+}
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/otherci.md b/flaky-tests/get-started/ci-providers/otherci.md
new file mode 100644
index 00000000..7cac628c
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/otherci.md
@@ -0,0 +1,73 @@
+---
+description: Configure Flaky Tests using any CI Provider
+---
+
+# Other CI Providers
+
+Trunk Flaky Tests integrates with your CI provider by adding an upload step in each of your testing CI jobs via the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing JUnit XML output for your test runner, supported by virtually all test frameworks, which is what Trunk ingests.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your CI provider as a secret, environment variable, or an equivalent concept and name them `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an `Upload Test Results` step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example,`main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example Upload Script
+
+The following is an example of a script to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [frameworks](../frameworks/ "mention") docs.
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "**/report.xml" --org-url-slug <TRUNK_ORG_SLUG> --token "${TRUNK_TOKEN}"
+```
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/semaphoreci.md b/flaky-tests/get-started/ci-providers/semaphoreci.md
new file mode 100644
index 00000000..a084548d
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/semaphoreci.md
@@ -0,0 +1,194 @@
+---
+description: Configure Flaky Tests using Semaphore CI
+---
+
+# Semaphore CI
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Semaphore CI Pipeline to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your Semaphore CI Pipelines as new secrets named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an upload step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example Semaphore CI Workflow
+
+The following is an example of a Semaphore CI workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+version: v1.0
+name: Semaphore JavaScript Example Pipeline
+blocks:
+  - name: Tests
+    task:
+      secrets:
+        - name: TRUNK_TOKEN
+      env_vars:
+        - name: NODE_ENV
+          value: test
+        - name: CI
+          value: "true"
+      prologue:
+        commands:
+          - checkout
+          - nvm use
+          - node --version
+          - npm --version
+      jobs:
+        - name: Run Tests
+          commands: ...
+      epilogue:
+        always:
+          commands:
+            # Upload results to trunk.io
+            - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+            - ./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+version: v1.0
+name: Semaphore JavaScript Example Pipeline
+blocks:
+  - name: Tests
+    task:
+      secrets:
+        - name: TRUNK_TOKEN
+      env_vars:
+        - name: NODE_ENV
+          value: test
+        - name: CI
+          value: "true"
+      prologue:
+        commands:
+          - checkout
+          - nvm use
+          - node --version
+          - npm --version
+      jobs:
+        - name: Run Tests
+          commands: ...
+      epilogue:
+        always:
+          commands:
+            # Upload results to trunk.io
+            - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+            - ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+version: v1.0
+name: Semaphore JavaScript Example Pipeline
+blocks:
+  - name: Tests
+    task:
+      secrets:
+        - name: TRUNK_TOKEN
+      env_vars:
+        - name: NODE_ENV
+          value: test
+        - name: CI
+          value: "true"
+      prologue:
+        commands:
+          - checkout
+          - nvm use
+          - node --version
+          - npm --version
+      jobs:
+        - name: Run Tests
+          commands: ...
+      epilogue:
+        always:
+          commands:
+            # Upload results to trunk.io
+            - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+            - ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token ${TRUNK_TOKEN}
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```
+version: v1.0
+name: Semaphore JavaScript Example Pipeline
+blocks:
+  - name: Tests
+    task:
+      secrets:
+        - name: TRUNK_TOKEN
+        - name: TRUNK_ORG_SLUG
+      env_vars:
+        - name: NODE_ENV
+          value: test
+        - name: CI
+          value: "true"
+      prologue:
+        commands:
+          - checkout
+          - nvm use
+          - node --version
+          - npm --version
+      jobs:
+        - name: Run Tests
+          commands: 
+            - TRUNK_ORG_URL_SLUG=${TRUNK_ORG_SLUG} TRUNK_API_TOKEN=${TRUNK_TOKEN} bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/teamcity.md b/flaky-tests/get-started/ci-providers/teamcity.md
new file mode 100644
index 00000000..1e960fb6
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/teamcity.md
@@ -0,0 +1,108 @@
+# TeamCity
+
+Trunk Flaky Tests integrates with your CI by adding a step in your TeamCity Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step in your TeamCity project by navigating to **Admin > Build > Parameters > Add new parameter** and adding new environment variables as `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add an upload step after running tests in each of your CI jobs that run tests. This should be minimally all jobs that run on pull requests, as well as from jobs that run on your [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Add Uploader to a Build Step
+
+Add the following command as a build step after your test run to upload test results. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+{% tabs %}
+{% tab title="XML" %}
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+chmod +x ./trunk
+./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+chmod +x ./trunk
+./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk
+chmod +x ./trunk
+./trunk flakytests upload --xcresult-path <XCRESULT_PATH> \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG \
+TRUNK_API_TOKEN=$TRUNK_TOKEN \
+bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+In your build step settings under the **Show advanced options** toggle, find the **Execute step settings** and select `Always, even if build stop command was issued` to ensure that the Upload step will still run if tests have failed.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+You can do this in TeamCity by omitting your JUnit XML path in the saved artifacts. [Learn more about artifacts in TeamCity](https://www.jetbrains.com/help/teamcity/cloud/configure-and-run-your-first-build.html#Artifacts).
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/ci-providers/travisci.md b/flaky-tests/get-started/ci-providers/travisci.md
new file mode 100644
index 00000000..db6dec89
--- /dev/null
+++ b/flaky-tests/get-started/ci-providers/travisci.md
@@ -0,0 +1,121 @@
+---
+description: Configure Flaky Tests using Travis CI
+---
+
+# Travis CI
+
+Trunk Flaky Tests integrates with your CI by adding a step in your Travis CI Pipelines to upload tests with the [Trunk Uploader CLI](../../uploader.md).
+
+{% include "../../../.gitbook/includes/not-using-github-for-source....md" %}
+
+Before you start on these steps, see the [Test Frameworks](../frameworks/) docs for instructions on producing a Trunk-compatible output for your test framework.
+
+### Checklist
+
+By the end of this guide, you should achieve the following.
+
+* [ ] Get your Trunk organization slug and token
+* [ ] Set your slug and token as a variable in CI
+* [ ] Configure your CI to upload to Trunk
+* [ ] Validate your uploads in Trunk
+
+After completing these checklist items, you'll be integrated with Trunk.&#x20;
+
+### Trunk Organization Slug and Token
+
+Before setting up uploads to Trunk, you must sign in to [app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests) and obtain your Trunk organization slug and token.
+
+#### Trunk Slug
+
+You can find your organization slug under **Settings > Organization > Manage > Organization Name > Slug**. You'll save this as a variable in CI in a later step.
+
+#### Trunk Token
+
+You can find your token under **Settings > Organization > Manage > Organization API Token > View Organization API Token > View**. Since this is a secret, do not leak it publicly. Ensure you get your _organization token_, not your project/repo token.
+
+### Add the Trunk Token as a Secret
+
+Store the Trunk slug and API token obtained in the previous step as new secrets named `TRUNK_ORG_SLUG` and `TRUNK_TOKEN` respectively.
+
+### Upload to Trunk
+
+Add a script step after running tests in each of your CI jobs that run tests. This should be run on pull requests, as well as from jobs that run on your main or [stable branches](../../detection.md#stable-branches), for example, `main`, `master`, or `develop`.
+
+{% hint style="danger" %}
+It is important to upload test results from CI runs on [**stable branches**](../../detection.md#stable-branches), such as `main`, `master`, or `develop`. This will give you a stronger signal about the health of your code and tests.
+
+Trunk can also detect test flakes on PR and merge branches. To best detect flaky tests, it is recommended to upload test results from stable, PR, and merge branch CI runs.
+
+[Learn more about detection](../../detection.md)
+{% endhint %}
+
+#### Example Travis CI Workflow
+
+The following is an example of a Travis CI workflow step to upload test results after your tests run. Note: you must either run `trunk` from the repo root when uploading test results or pass a `--repo-root` argument.
+
+To find out how to produce the report files the uploader needs, see the instructions for your test framework in the [Test Frameworks](https://docs.trunk.io/flaky-tests/frameworks) docs.
+
+{% hint style="info" %}
+Note that TravisCI requires a recent version of Linux to use the current NodeJS runtimes. You may need to set the `dist` to `jammy` or later. See this [forum note](https://travis-ci.community/t/node-lib-x86-64-linux-gnu-libm-so-6-version-glibc-2-27-not-found-required-by-node/13655/2) for more details.
+{% endhint %}
+
+{% tabs %}
+{% tab title="XML" %}
+```yaml
+language: node_js
+dist: jammy
+node_js:
+  - 20
+script:
+  - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+  - ./trunk flakytests upload --junit-paths "<XML_GLOB_PATH>" --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+```yaml
+language: node_js
+dist: jammy
+node_js:
+  - 20
+script:
+  - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+  - ./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+```yaml
+language: node_js
+dist: jammy
+node_js:
+  - 20
+script:
+  - curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x ./trunk
+  - ./trunk flakytests upload --xcresult-path <XCRESULT_PATH> --org-url-slug <TRUNK_ORG_SLUG> --token $TRUNK_TOKEN
+```
+{% endtab %}
+
+{% tab title="RSpec plugin" %}
+```yaml
+language: node_js
+dist: jammy
+node_js:
+  - 20
+script:
+  - TRUNK_ORG_URL_SLUG=$TRUNK_ORG_SLUG TRUNK_API_TOKEN=$TRUNK_TOKEN bundle exec rspec
+```
+{% endtab %}
+{% endtabs %}
+
+See the [uploader.md](../../uploader.md "mention") for all available command line arguments and usage.
+
+#### Stale files
+
+Ensure you report every test run in CI and **clean up stale files** produced by your test framework. If you're reusing test runners and using a glob like `**/junit.xml` to upload tests, stale files not cleaned up will be included in the current test run, throwing off detection of flakiness. You should clean up all your results files after every upload step.
+
+{% hint style="success" %}
+**Have questions?**
+
+Join us and 1500+ fellow engineers [on Slack](https://slack.trunk.io/) to get help with Trunk.
+{% endhint %}
diff --git a/flaky-tests/get-started/frameworks/README.md b/flaky-tests/get-started/frameworks/README.md
new file mode 100644
index 00000000..a2badb39
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/README.md
@@ -0,0 +1,14 @@
+---
+description: >-
+  Guides for generating Trunk-compatible test results from various test
+  frameworks
+---
+
+# Test Frameworks
+
+Trunk Flaky Tests uses test results uploaded from your CI jobs to detect flaky tests.&#x20;
+
+Follow one of the guides below to configure your test framework to output compatible test reports and integrate with Trunk.
+
+<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td align="center"><strong>Android</strong></td><td></td><td></td><td><a href="android.md">android.md</a></td><td><a href="../../../.gitbook/assets/android.png">android.png</a></td></tr><tr><td align="center"><strong>Bazel</strong></td><td></td><td></td><td><a href="bazel.md">bazel.md</a></td><td><a href="../../../.gitbook/assets/bazel.png">bazel.png</a></td></tr><tr><td align="center"><strong>Behave</strong></td><td></td><td></td><td><a href="behave.md">behave.md</a></td><td><a href="../../../.gitbook/assets/unittest.png">unittest.png</a></td></tr><tr><td align="center"><strong>cargo-nextest</strong></td><td></td><td></td><td><a href="rust.md">rust.md</a></td><td><a href="../../../.gitbook/assets/cargo-next.png">cargo-next.png</a></td></tr><tr><td align="center"><strong>Cypress</strong></td><td></td><td></td><td><a href="cypress.md">cypress.md</a></td><td><a href="../../../.gitbook/assets/cypress.png">cypress.png</a></td></tr><tr><td align="center"><strong>Dart Test</strong></td><td></td><td></td><td><a href="dart-test.md">dart-test.md</a></td><td><a href="../../../.gitbook/assets/dart.png">dart.png</a></td></tr><tr><td align="center"><strong>Go</strong></td><td></td><td></td><td><a href="gotestsum.md">gotestsum.md</a></td><td><a href="../../../.gitbook/assets/gotestsum.png">gotestsum.png</a></td></tr><tr><td align="center"><strong>GoogleTest</strong></td><td></td><td></td><td><a href="googletest.md">googletest.md</a></td><td><a href="../../../.gitbook/assets/googletest.png">googletest.png</a></td></tr><tr><td align="center"><strong>Gradle</strong></td><td></td><td></td><td><a href="gradle.md">gradle.md</a></td><td><a href="../../../.gitbook/assets/gradle.png">gradle.png</a></td></tr><tr><td align="center"><strong>Jasmine</strong></td><td></td><td></td><td><a href="jasmine.md">jasmine.md</a></td><td><a href="../../../.gitbook/assets/jasmine.png">jasmine.png</a></td></tr><tr><td align="center"><strong>Jest</strong></td><td></td><td></td><td><a href="jest.md">jest.md</a></td><td><a href="../../../.gitbook/assets/jest.png">jest.png</a></td></tr><tr><td align="center"><strong>Karma</strong></td><td></td><td></td><td><a href="karma.md">karma.md</a></td><td><a href="../../../.gitbook/assets/karma.png">karma.png</a></td></tr><tr><td align="center"><strong>Kotest</strong></td><td></td><td></td><td><a href="kotest.md">kotest.md</a></td><td><a href="../../../.gitbook/assets/kotest.png">kotest.png</a></td></tr><tr><td align="center"><strong>Maven</strong></td><td></td><td></td><td><a href="maven.md">maven.md</a></td><td><a href="../../../.gitbook/assets/maven.png">maven.png</a></td></tr><tr><td align="center"><strong>minitest</strong></td><td></td><td></td><td><a href="minitest.md">minitest.md</a></td><td><a href="../../../.gitbook/assets/minitest.png">minitest.png</a></td></tr><tr><td align="center"><strong>Mocha</strong></td><td></td><td></td><td><a href="mocha.md">mocha.md</a></td><td><a href="../../../.gitbook/assets/mocha.png">mocha.png</a></td></tr><tr><td align="center"><strong>Nightwatch</strong></td><td></td><td></td><td><a href="nightwatch.md">nightwatch.md</a></td><td><a href="../../../.gitbook/assets/nightwatch.png">nightwatch.png</a></td></tr><tr><td align="center">NUnit</td><td></td><td></td><td><a href="nunit.md">nunit.md</a></td><td><a href="../../../.gitbook/assets/nunit.png">nunit.png</a></td></tr><tr><td align="center"><strong>PEST</strong></td><td></td><td></td><td></td><td><a href="../../../.gitbook/assets/pest.png">pest.png</a></td></tr><tr><td align="center"><strong>PHPUnit</strong></td><td></td><td></td><td><a href="phpunit.md">phpunit.md</a></td><td><a href="../../../.gitbook/assets/phpunit.png">phpunit.png</a></td></tr><tr><td align="center"><strong>Playwright</strong></td><td></td><td></td><td><a href="playwright.md">playwright.md</a></td><td><a href="../../../.gitbook/assets/playwright.png">playwright.png</a></td></tr><tr><td align="center"><strong>pytest</strong></td><td></td><td></td><td><a href="pytest.md">pytest.md</a></td><td><a href="../../../.gitbook/assets/pytest.png">pytest.png</a></td></tr><tr><td align="center"><strong>Robot Framework</strong></td><td></td><td></td><td><a href="robot-framework.md">robot-framework.md</a></td><td><a href="../../../.gitbook/assets/robot.png">robot.png</a></td></tr><tr><td align="center"><strong>RSpec</strong></td><td></td><td></td><td><a href="rspec/">rspec</a></td><td><a href="../../../.gitbook/assets/rspec.png">rspec.png</a></td></tr><tr><td align="center"><strong>Swift Testing</strong></td><td></td><td></td><td><a href="swift-testing.md">swift-testing.md</a></td><td><a href="../../../.gitbook/assets/swift-testing.png">swift-testing.png</a></td></tr><tr><td align="center"><strong>Vitest</strong></td><td></td><td></td><td><a href="vitest.md">vitest.md</a></td><td><a href="../../../.gitbook/assets/vitest.png">vitest.png</a></td></tr><tr><td align="center"><strong>XCTest</strong></td><td></td><td></td><td><a href="xctest.md">xctest.md</a></td><td><a href="../../../.gitbook/assets/xctest.png">xctest.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/android.md b/flaky-tests/get-started/frameworks/android.md
new file mode 100644
index 00000000..ea085c27
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/android.md
@@ -0,0 +1,106 @@
+---
+title: Configuring android
+description: A guide for generating Trunk-compatible test reports for Android projects
+---
+
+# Android
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Android projects by integrating with Trunk. This document explains how to configure Android to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](android.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Android tests run with Gradle, typically using  `./gradlew test` in CI. This will generate JUnit XML output by default, which you can further configure in your `build.gradle.kts` or `build.gradle`.
+
+#### Report File Path
+
+By default, Android projects will produce a directory with JUnit XML reports under `./app/build/test-results`.&#x20;
+
+You can customize the report output location in your `build.gradle.kts` or `build.gradle`, for example, writing the reports to `./app/junit-reports`.&#x20;
+
+{% tabs %}
+{% tab title="Groovy" %}
+```groovy
+android {
+    testOptions {
+        unitTests {
+            all {
+                reports {
+                    junitXml {
+                        outputLocation = file("./junit-reports")
+                    }
+                }
+            }
+        }
+    }
+}
+```
+{% endtab %}
+
+{% tab title="Kotlin" %}
+```kotlin
+android {
+    testOptions {
+        unitTests {
+            all {
+                reports {
+                    junitXml.outputLocation.set(file(./junit-reports"))
+                }
+            }
+        }
+    }
+}
+```
+{% endtab %}
+{% endtabs %}
+
+When you configure your CI provider to upload reports in later steps, you will be uploading the reports using a glob such as `./junit-reports/*.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+If you've enabled retries using a plugin like the [test-retry-gradle-plugin](https://github.com/gradle/test-retry-gradle-plugin), disable it when running tests for Trunk flaky tests.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./app/junit-reports/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./app/junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/bazel.md b/flaky-tests/get-started/frameworks/bazel.md
new file mode 100644
index 00000000..1c96f415
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/bazel.md
@@ -0,0 +1,79 @@
+---
+title: Configuring bazel
+description: A guide for generating Trunk-compatible test reports with Bazel
+---
+
+# Bazel
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Bazel projects by integrating with Trunk. This document explains how to configure Bazel to output compatible reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](bazel.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk can parse JSON serialized [Build Event Protocol (BEP) ](https://bazel.build/remote/bep)files to detect flaky tests. You can run tests with Bazel in CI with the `nobuild_event_json_file_path_conversion` option to produce a serialized BEP file:
+
+```sh
+bazel test <TARGETS> \
+    --nobuild_event_json_file_path_conversion
+```
+
+#### Report File Path
+
+You can specify the path of the generated report through the `build_event_json_file` option:
+
+```sh
+bazel test <TARGETS> \
+    --nobuild_event_json_file_path_conversion
+    --build_event_json_file=build_events.json
+```
+
+Trunk can parse the `build_events.json` file to locate your test reports. You will still need to **configure your test runners to output compatible reports**, and you can refer to the guides for [individual test frameworks](./).
+
+#### Build Without the Bytes
+
+If your CI environment is set up to [build without the bytes](https://blog.bazel.build/2023/10/06/bwob-in-bazel-7.html), you will need the following flag to pull the reports from the remote execution engine:
+
+```sh
+--remote_download_regex='.*/test.xml'
+```
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them for more accurate detection results.
+
+Disable retries if you're retrying tests using the `--flaky_test_attempts` command line option or retrying in your test runner.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --bazel-bep-path=build_events.json \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/flaky-tests/get-started/frameworks/behave.md b/flaky-tests/get-started/frameworks/behave.md
new file mode 100644
index 00000000..6372cd70
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/behave.md
@@ -0,0 +1,79 @@
+---
+description: A guide for generating Trunk-compatible test reports for Behave
+---
+
+# Behave
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your projects running Behave by integrating with Trunk. This document explains how to configure Behave to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](behave.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. Behave can output JUnit XML reports which are compatible with Trunk. You can do so with the `--junit` option:
+
+```sh
+behave --junit
+```
+
+#### Report File Path
+
+You can customize the file path of the reports using the `--junit-directory` option.
+
+```sh
+behave --junit --junit-directory ./junit-reports
+```
+
+Behave outputs multiple XML reports under the JUnit directory. You can locate these when uploading the reports in CI with the `"./junit-reports/*.xml"` glob.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+You must remove the [rerun formatter](https://behave.readthedocs.io/en/latest/formatters/#formatters) from your `behave.ini` file if it is being used to automatically rerun failed tests.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit-reports/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make a upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
diff --git a/flaky-tests/get-started/frameworks/cypress.md b/flaky-tests/get-started/frameworks/cypress.md
new file mode 100644
index 00000000..e823114d
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/cypress.md
@@ -0,0 +1,87 @@
+---
+title: Configuring cypress
+description: A guide for generating Trunk-compatible test reports for Cypress tests
+---
+
+# Cypress
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Cypress projects by integrating with Trunk. This document explains how to configure Cypress to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](cypress.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Cypress has a built-in XML reporter which you can use to output a Trunk-compatible report.
+
+Update your Cypress config, such as you `cypress.config.js` or `cypress.config.ts` file to output XML reports:
+
+{% code title="cypress.config.js" %}
+```javascript
+const { defineConfig } = require('cypress')
+
+module.exports = defineConfig({
+  reporter: 'junit',
+  reporterOptions: {
+    mochaFile: './junit.xml',
+    toConsole: true,
+  },
+})
+```
+{% endcode %}
+
+#### Report File Path
+
+The JUnit report location is specified by the `mochaFile` property in your Cypress config. In the above example, the file will be at `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+You can disable retries by setting `retries: 0` in your Cypress config file.
+
+{% code title="cypress.config.js" %}
+```javascript
+module.exports = defineConfig({
+  retries: 0,
+})
+```
+{% endcode %}
+
+### Try It Locally
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make a upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+## Next Step
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/dart-test.md b/flaky-tests/get-started/frameworks/dart-test.md
new file mode 100644
index 00000000..6721155f
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/dart-test.md
@@ -0,0 +1,67 @@
+---
+description: A guide for generating Trunk-compatible test reports for Dart tests
+---
+
+# Dart Test
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Dart projects by integrating with Trunk. This document explains how to configure Dart to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](dart-test.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Before you can upload to Trunk, you need to output a Trunk-compatible report. Dart supports JUnit outputs by using the `tojunit` library. You can install the `tojunit` library using the following command:
+
+```sh
+dart pub global activate junitreport
+```
+
+Then, you can convert test reports to a JUnit format by piping it to `tojunit`and piping the output to a file like this:&#x20;
+
+<pre class="language-sh"><code class="lang-sh"><strong>dart test &#x3C;TEST_PATH> --reporter json | tojunit > junit.xml
+</strong></code></pre>
+
+#### Report File Path
+
+The JUnit report is written to the location specified by the `tojunit >` pipe. In the example above, the test results will be written to `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Dart provides retries through the [retry class annotations](https://pub.dev/documentation/test/latest/test/Retry-class.html). Disable retry, use Trunk to [detect](../../detection.md)[ flaky tests](../../detection.md), and use Quarantining to isolate flaky tests dynamically at run time.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/googletest.md b/flaky-tests/get-started/frameworks/googletest.md
new file mode 100644
index 00000000..6e6349a7
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/googletest.md
@@ -0,0 +1,74 @@
+---
+description: A guide for generating Trunk-compatible test reports for GoogleTest
+---
+
+# GoogleTest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your GoogleTest projects by integrating with Trunk. This document explains how to configure GoogleTest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](googletest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Before you can integrate with Trunk, you need to generate a Trunk-compatible report. For GoogleTest, the built in XML reporter will work. You can use the [`--gtest_output=xml`](https://google.github.io/googletest/advanced.html#generating-an-xml-report) argument when you run your built test project:
+
+```shell
+./build/run_test --gtest_output=xml
+```
+
+#### Report File Path
+
+By default, the JUnit report will be written to a `test_detail.xml` file.
+
+You can specify a custom directory and filename with:
+
+```bash
+--gtest_output=xml:<path/to/file.xml>
+```
+
+For example, the following argument writes a JUnit report to `./junit.xml`:
+
+```bash
+--gtest_output=xml:junit.xml
+```
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.&#x20;
+
+Omit the[ ](https://docs.pytest.org/en/stable/how-to/cache.html)[`--gtest_repeat`](https://google.github.io/googletest/advanced.html#repeating-the-tests) argument if you've previously configured your CI with these options to disable retries.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/gotestsum.md b/flaky-tests/get-started/frameworks/gotestsum.md
new file mode 100644
index 00000000..68380c7f
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/gotestsum.md
@@ -0,0 +1,91 @@
+---
+title: Configuring gotestsum
+description: A guide for generating Trunk-compatible test reports for Go tests
+---
+
+# Go
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Go projects by integrating with Trunk. This document explains how to configure Go to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](gotestsum.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports&#x20;
+
+Before integrating with Trunk, you need to generate a Trunk-compatible report. For Go, `go test`  does not output JUnit XML by default, so you must use secondary tools to generate them.&#x20;
+
+{% tabs %}
+{% tab title="go test + go-junit-report" %}
+Update your existing `go test` usage to generate json and use [**go-junit-report**](https://github.com/jstemmer/go-junit-report) to convert your standard Go testing output into JUnit XML.
+
+```
+go install github.com/jstemmer/go-junit-report/v2@latest
+```
+
+Then pipe `go test` into the `go-junit-report`:
+
+```
+go test -json 2>&1 | go-junit-report -parser gojson -out junit_report.xml
+```
+{% endtab %}
+
+{% tab title="gotestsum" %}
+Install gotestsum into your project:\
+\
+`go install gotest.tools/gotestsum@latest` \
+\
+Call `gotestsum` to both execute your tests and generate the junit.xml file
+
+```
+gotestsum [path-to-tests-to-run] --junitfile ./junit.xml
+```
+{% endtab %}
+{% endtabs %}
+
+#### Report File Path
+
+In the examples above, the JUnit report would be written to `junit.xml`. You'll need this path later when configuring automatic uploads to Trunk.
+
+#### Disable Retries
+
+If you have automatic retries enabled, disable them. Retries negatively impact the detection accuracy of flaky tests. If you're using a package like [**retry**](https://pkg.go.dev/github.com/hashicorp/consul/sdk/testutil/retry), disable it to get more accurate results from Trunk.
+
+### Try It Locally
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/gradle.md b/flaky-tests/get-started/frameworks/gradle.md
new file mode 100644
index 00000000..1b3900a4
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/gradle.md
@@ -0,0 +1,91 @@
+---
+description: A guide for generating Trunk-compatible test reports for Gradle
+---
+
+# Gradle
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Gradle projects by integrating with Trunk. This document explains how to configure Gradle to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](gradle.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Tests run with Gradle will generate JUnit XML reports by default and are compatible with Trunk. You can further [configure reporting behavior](https://docs.gradle.org/8.10.2/userguide/java_testing.html#test_reporting) in your `build.gradle.kts` or `build.gradle`.
+
+#### Report File Path
+
+By default, Android projects will produce a directory with JUnit XML reports under `./app/build/test-results/test`. You can locate these files with the glob `"./app/build/test-results/test/*.xml"`.  &#x20;
+
+If you wish to override the default test result path, you can do so in the `build.gradle.kts` or `build.gradle` files:
+
+{% tabs %}
+{% tab title="Groovy" %}
+{% code title="build.gradle" %}
+```groovy
+java.testResultsDir = layout.buildDirectory.dir("junit-reports")
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Kotlin" %}
+{% code title="build.gradle.kts" %}
+```kotlin
+java.testResultsDir = layout.buildDirectory.dir("junit-reports")
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+This example will write report files to `"./app/build/junit-reports/test/*.xml"`
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+If you've enabled retries using a plugin like the [test-retry-gradle-plugin](https://github.com/gradle/test-retry-gradle-plugin), disable it when running tests for Trunk flaky tests.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./app/build/junit-reports/test/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./app/build/junit-reports/test/" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/jasmine.md b/flaky-tests/get-started/frameworks/jasmine.md
new file mode 100644
index 00000000..7aff2b0a
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/jasmine.md
@@ -0,0 +1,106 @@
+---
+title: Configuring jasmine
+description: A guide for generating Trunk-compatible test reports for Jasmine tests
+---
+
+# Jasmine
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Jasmine projects by integrating with Trunk. This document explains how to configure Jasmine to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](jasmine.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Before integrating with Trunk, you need to generate Trunk-compatible reports. For Jasmine, the easiest approach is to generate XML reports.
+
+First, install the [`jasmine-reporters`](https://www.npmjs.com/package/jasmine-reporters) package:
+
+```shell
+npm install --save-dev jasmine-reporters
+```
+
+#### In-Browser tests
+
+When used for in-browser tests, the reporters are registered on a `jasmineReporters` object in the global scope (i.e. `window.jasmineReporters`). You can register it like this in your Jasmine config under `/spec/support/jasmine.mjs`:
+
+{% code title="/spec/support/jasmine.mjs" %}
+```javascript
+import jasmineReporters from 'jasmine-reporters';
+
+var junitReporter = new jasmineReporters.JUnitXmlReporter({
+    savePath: "test-reports",
+    consolidateAll: false
+});
+jasmine.getEnv().addReporter(junitReporter);
+```
+{% endcode %}
+
+#### NodeJS
+
+In Node.js, `jasmine-reporters` exports an object with all the reporters. You can register it like this in your Jasmine config under `/spec/support/jasmine.mjs`:
+
+```javascript
+var reporters = require('jasmine-reporters');
+var junitReporter = new reporters.JUnitXmlReporter({
+    savePath: "test-reports",
+    consolidateAll: false
+});
+jasmine.getEnv().addReporter(junitReporter)
+
+```
+
+#### Report File Path
+
+Jasmine will generate an XML report at the location specified by the `savePath` property. In the examples above, the XML report can be located with the glob `test_reports/*.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+If you're using a package like [protractor-flake](https://www.npmjs.com/package/protractor-flake), disable it to get more accurate results from Trunk. Instead, you can mitigate flaky tests using the [Quarantining](../../quarantining.md) feature in Trunk.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit-reports/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/jest.md b/flaky-tests/get-started/frameworks/jest.md
new file mode 100644
index 00000000..eea90156
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/jest.md
@@ -0,0 +1,90 @@
+---
+title: Configuring jest
+description: A guide for generating Trunk-compatible test reports for Jest tests
+---
+
+# Jest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Jest projects by integrating with Trunk. This document explains how to configure Jest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](jest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating XML reports from your test runs.
+
+To generate a Trunk-compatible XML report, install the `jest-junit` package:
+
+```bash
+npm install --save-dev jest-junit
+```
+
+Update your Jest config to add `jest-junit` as a reporter:
+
+{% code title="jest.config.json" %}
+```json
+{
+  "reporters": [
+    [
+      "jest-junit",
+      {
+        "outputDirectory": "./",
+        "outputName": "junit.xml",
+        "addFileAttribute": "true"
+      }
+    ]
+  ]
+}
+```
+{% endcode %}
+
+#### Report File Path
+
+The `outputDirectory` and `outputName` options specify the path of the XML report. You'll need this path later when configuring automatic uploads to Trunk.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+If you have retries configured using the [jest.retryTimes method](https://jestjs.io/docs/jest-object#jestretrytimesnumretries-options), disable them for more accurate results.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/karma.md b/flaky-tests/get-started/frameworks/karma.md
new file mode 100644
index 00000000..ec5cfdb5
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/karma.md
@@ -0,0 +1,93 @@
+---
+title: Configuring karma
+description: A guide for generating Trunk-compatible test reports for Karma tests
+---
+
+# Karma
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Karma projects by integrating with Trunk. This document explains how to configure Karma to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](karma.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating XML reports from your test runs.
+
+To generate a Trunk-compatible XML report, install the `karma-junit-reporter` package:
+
+```shell
+npm install --save-dev karma-junit-reporter
+```
+
+Add the `junit` reporter to your karma config file:
+
+{% code title="karma.conf.js" %}
+```javascript
+module.exports = function(config) {
+  config.set(
+    {
+      reporters: ['junit'],
+      junitReporter: {
+        outputDir: 'test-reports',
+      }
+    }
+  )
+}
+```
+{% endcode %}
+
+#### Report File Path
+
+The `outputDir` and `outputFile` specify the location of the JUnit test report. In the example above, the JUnit would be at `./test-reports/{$browserName}.xml`. You can locate the reports during uploads with the glob `./test-reports/*.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Karma doesn't support retries out of the box, but if you implemented retries, remember to disable them.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit-reports/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
diff --git a/flaky-tests/get-started/frameworks/kotest.md b/flaky-tests/get-started/frameworks/kotest.md
new file mode 100644
index 00000000..e8f13c76
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/kotest.md
@@ -0,0 +1,163 @@
+---
+description: A guide for generating Trunk-compatible test reports for Kotest
+---
+
+# Kotest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Kotest projects by integrating with Trunk. This document explains how to configure Kotest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](kotest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Steps for generating JUnit XML reports for Kotest depend on the build system you use for your project:
+
+{% tabs %}
+{% tab title="Gradle" %}
+Tests run with Gradle will generate Trunk-compatible JUnit XML reports by default. You can further [configure reporting behavior](https://docs.gradle.org/8.10.2/userguide/java_testing.html#test_reporting) in your `build.gradle.kts` or `build.gradle`.
+{% endtab %}
+
+{% tab title="Maven" %}
+Kotest projects using Maven require the following to be added to a project's `pom.xml` so JUnit XML reports can be generated:
+
+* the `maven-surefire-plugin` must be added to the `plugins` section of `pom.xml`
+
+{% code title="pom.xml" %}
+```xml
+<project>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>3.2.2</version>
+            </plugin>
+            
+            <!-- other plugins -->
+        </plugins>
+    </build>
+</project>
+```
+{% endcode %}
+
+* the `kotest-extensions-junitxml` must be added to the `dependencies` section of `pom.xml`
+
+{% code title="pom.xml" %}
+```xml
+<dependencies>
+    <dependency>
+        <groupId>io.kotest</groupId>
+        <artifactId>kotest-extensions-junitxml-jvm</artifactId>
+        <version>5.9.0</version>
+        <scope>test</scope>
+    </dependency>
+    
+    <!-- other dependencies -->
+</dependencies>
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+#### Report File Path
+
+You can configure the path for generated JUnit XML files:&#x20;
+
+{% tabs %}
+{% tab title="Gradle" %}
+By default, Kotlin projects will produce a directory with JUnit XML reports under `./app/build/test-results/test`. You can locate these files with the glob `"./app/build/test-results/test/*.xml"`.
+
+If you wish to override the default test result path, you can do so in the `build.gradle.kts` or `build.gradle` files:
+
+{% code title="build.gradle.kts (Kotlin) or build.gradle (Groovy)" %}
+```kotlin
+java.testResultsDir = layout.buildDirectory.dir("junit-reports")
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Maven" %}
+You can change the report file path by configuring the `reportsDirectory` in your `maven-surefire-plugin` in your `pom.xml` file:
+
+{% code title="pom.xml" %}
+```xml
+<plugin>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-surefire-plugin</artifactId>
+    <version>3.2.2</version>
+    <configuration>
+        <reportsDirectory>${project.build.directory}/junit/</reportsDirectory>
+    </configuration>
+</plugin>
+```
+{% endcode %}
+
+The example above will output JUnit XML reports that can be located with the `/target/junit/*.xml` glob.
+{% endtab %}
+{% endtabs %}
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+{% tabs %}
+{% tab title="Gradle" %}
+If you've enabled retries using a plugin like the [test-retry-gradle-plugin](https://github.com/gradle/test-retry-gradle-plugin), disable it when running tests for Trunk flaky tests.
+{% endtab %}
+
+{% tab title="Maven" %}
+Maven uses the `maven-surefire-plugin` to run tests, which allows you to control the test retry behavior. You can disable retries by specifying 0 retries:
+
+```
+mvn -Dsurefire.rerunFailingTestsCount=0 test
+```
+{% endtab %}
+{% endtabs %}
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./app/junit-reports/*.xml"
+```
+
+Make sure to specify the path to your JUnit XML test reports.
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./app/junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
diff --git a/flaky-tests/get-started/frameworks/maven.md b/flaky-tests/get-started/frameworks/maven.md
new file mode 100644
index 00000000..515bb293
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/maven.md
@@ -0,0 +1,110 @@
+---
+title: Configuring maven
+description: A guide for generating Trunk-compatible test reports for Maven
+---
+
+# Maven
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Maven projects by integrating with Trunk. This document explains how to configure Maven to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](maven.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Maven uses the `maven-surefire-plugin` by default to output JUnit XML reports, which is Trunk compatible. You can configure the plugin in your project's `pom.xml`.&#x20;
+
+#### Report File Path
+
+You can change the report file path by configuring the `maven-surefire-plugin` plugin in your `pom.xml` file:
+
+{% code title="pom.xml" %}
+```xml
+<project>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>3.2.2</version>
+                <configuration>
+                    <reportsDirectory>${project.build.directory}/junit/</reportsDirectory>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+```
+{% endcode %}
+
+The example above will output JUnit XML reports that can be located with the `/target/junit/*.xml` glob.
+
+#### Using Kotlin and Kotest
+
+If you have a Kotlin project and are using the Kotest test framework, you also need to include `kotest-extensions-junitxml` in your project's `pom.xml`. This allows Kotest to generate JUnit XML reports.
+
+{% code title="pom.xml" %}
+```xml
+<dependency>
+    <groupId>io.kotest</groupId>
+    <artifactId>kotest-extensions-junitxml-jvm</artifactId>
+    <version>5.9.0</version>
+    <scope>test</scope>
+</dependency>
+```
+{% endcode %}
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+Maven uses the `maven-surefire-plugin` to run tests, which allows you to control the test retry behavior. You can disable retries by specifying 0 retries:
+
+```
+mvn -Dsurefire.rerunFailingTestsCount=0 test
+```
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./app/junit-reports/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./app/junit-reports/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
diff --git a/flaky-tests/get-started/frameworks/minitest.md b/flaky-tests/get-started/frameworks/minitest.md
new file mode 100644
index 00000000..893354e3
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/minitest.md
@@ -0,0 +1,91 @@
+---
+title: Configuring minitest
+description: A guide for generating Trunk-compatible test reports for minitest
+---
+
+# minitest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your minitest projects by integrating with Trunk. This document explains how to configure minitest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](minitest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+To generate XML reports, install the `minitest-reporters` gem:
+
+```shell
+gem install minitest-reporters
+```
+
+Configure the `JUnitReporter` reporter in your `test_helper.rb` file:
+
+{% code title="test_helper.rb" %}
+```ruby
+require "minitest/reporters"
+Minitest::Reporters.use! Minitest::Reporters::JUnitReporter.new
+```
+{% endcode %}
+
+#### Report File Path
+
+You can specify a file path for your minitest results with the `MINITEST_REPORTERS_REPORTS_DIR` environment variable:
+
+```sh
+MINITEST_REPORTERS_REPORTS_DIR="./junit.xml" ruby -Ilib:test <FILES>
+```
+
+This will automatically write all test results to JUnit XML files in the `results` directory.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Minitest doesn't support retries out of the box, but if you implemented retries or imported a package, remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/mocha.md b/flaky-tests/get-started/frameworks/mocha.md
new file mode 100644
index 00000000..c30a90d0
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/mocha.md
@@ -0,0 +1,93 @@
+---
+title: Configuring mocha
+description: A guide for generating Trunk-compatible test reports for Mocha
+---
+
+# Mocha
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Mocha projects by integrating with Trunk. This document explains how to configure Mocha to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](mocha.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Before integrating with Trunk, you need to generate Trunk-compatible reports. For Mocha, the easiest approach is to generate XML reports.
+
+First, install the `mocha-junit-reporter` package:
+
+```shell
+npm install --save-dev mocha-junit-reporter
+```
+
+You can then generate reports when you run your tests by providing the `--reporter` and `--reporter-options` options when you run your tests:
+
+```sh
+mocha --reporter mocha-junit-reporter --reporter-options mochaFile=./junit.xml
+```
+
+You can configure your Mocha runner to use the reporter programmatically as well:&#x20;
+
+```javascript
+var mocha = new Mocha({
+    reporter: 'mocha-junit-reporter',
+    reporterOptions: {
+        mochaFile: './junit.xml'
+    }
+});
+```
+
+#### Report File Path
+
+The resulting JUnit XML file will be written to the location specified by the `mochaFile` property in `reporterOptions`. In the examples above, the results would be at `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+You can disable retry by omitting the `--retries` CLI option and [removing retries for individual tests](https://mochajs.org/#retry-tests).
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/nightwatch.md b/flaky-tests/get-started/frameworks/nightwatch.md
new file mode 100644
index 00000000..0f3f55cc
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/nightwatch.md
@@ -0,0 +1,90 @@
+---
+description: A guide for generating Trunk-compatible test reports for Nightwatch
+---
+
+# Nightwatch
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Nightwatch projects by integrating with Trunk. This document explains how to configure Nightwatch to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](nightwatch.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Nightwatch will automatically report test results in multiple formats. You can configure the output location by updating the `nightwatch.conf.cjs` config file.
+
+```javascript
+module.exports = {
+  output_folder: 'test-reports',
+  ...
+}
+```
+
+You can also specify output at runtime with the command line option `--output <OUTPUT_FOLDER>`:
+
+```sh
+nightwatch --output ./test-reports
+```
+
+#### Report File Path
+
+Nightwatch outputs multiple reports for each test suite under the specified output folder.
+
+If you configured your output folder to be under `./test-reports`, the JUnit XML files will be found under `./test-reports/**`. You can upload multiple JUnit reports by using a glob like `./test-reports/**/*.xml`.
+
+{% hint style="warning" %}
+**Duplicate Uploads**
+
+When using globs, it's important to clean up old test reports between test runs. If your glob path contains old JUnit files, uploading old test results can cause tests to be mislabeled.
+{% endhint %}
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Nightwatch doesn't implement any form of automatic retry for failed or flaky tests by default. If you have a custom implementation of retries, remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./test-reports/**/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/nunit.md b/flaky-tests/get-started/frameworks/nunit.md
new file mode 100644
index 00000000..053efe9c
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/nunit.md
@@ -0,0 +1,76 @@
+---
+description: A guide for generating Trunk-compatible test reports for NUnit
+---
+
+# NUnit
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your NUnit projects by integrating with Trunk. This document explains how to configure NUnit to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](nunit.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+You can do this in dotnet with the NUnit's built-in JUnit reporter:&#x20;
+
+```sh
+dotnet test -o build  -- NUnit.TestOutputXml="junit"
+```
+
+#### Report File Path
+
+.NET will output each build to the path specified by `-o <BUILD_PATH>` and test results under a sub-folder of `<BUILD PATH>/test-reports`, specified by the `-- NUnit.TestOutputXml="<XML PATH>"` option.
+
+In the example command from the [Generating Reports step](nunit.md#generating-reports), the XMLs will be located under `./build/test-reports/junit/*.xml`. This is also the glob you'll use to locate the results when uploading test results.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously included them. Retries compromise the accurate detection of flaky tests.&#x20;
+
+Omit `[Retry(n)]` from tests to disable retries.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./build/test-reports/junit/*.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./build/test-reports/junit/*.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/flaky-tests/get-started/frameworks/other-test-frameworks.md b/flaky-tests/get-started/frameworks/other-test-frameworks.md
new file mode 100644
index 00000000..92105bbb
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/other-test-frameworks.md
@@ -0,0 +1,38 @@
+---
+description: >-
+  A guide for generating Trunk-compatible test reports with other test
+  frameworks
+---
+
+# Other Test Frameworks
+
+Trunk Flaky Tests is designed to be test framework agnostic. If you don't see a guide for your test framework, you can still use Flaky Tests. To use Flaky Tests, you will need to report test results in a format that Trunk understands and upload them to Trunk in CI. This guide will explain how to integrate your test framework with Trunk.
+
+## 1. Generate JUnit
+
+Trunk detects flaky tests by analyzing each test case's results over time. Trunk currently supports the JUnit XML and XCResult report formats. You will need to configure your test runner to report in one of these formats using a plugin or your own test result reporter.
+
+Make sure your tests reports accurately report the file name, test name, and stack trace of each test result. Make sure the test names are not randomized. These details help Trunk better detect and display your test cases' health status.
+
+## 2. Output Location
+
+You'll need to validate and upload the generated JUnit files to Trunk later during the setup process. Make sure the reports are generated with a **consistent name** and aren't **cached or committed** to Git.
+
+## 3. Validate Your Reports
+
+Since you'll be generating JUnit reports using a new plugin or custom reporter, you should use the Trunk CLI to validate your results and fix any warnings or errors.
+
+You can install the Trunk CLI locally like this:
+
+Then, you can validate the results using the `trunk flakytests validate` command like this:
+
+```bash
+trunk flakytests validate --junit-paths <PATH_TO_REPORTS>
+```
+
+## Next Step
+
+You'll need to upload the JUnit reports generated by your CI jobs to Trunk so Trunk can [detect flaky tests](../../detection.md) and [report them to the dashboard](../../dashboard.md). See [CI Providers](../ci-providers/) for a guide on how to upload test results to Trunk.
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/pest.md b/flaky-tests/get-started/frameworks/pest.md
new file mode 100644
index 00000000..0d162762
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/pest.md
@@ -0,0 +1,75 @@
+---
+description: A guide for generating Trunk-compatible test reports for Pest
+---
+
+# Pest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your PHP projects by integrating with Trunk. This document explains how to configure Pest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](pest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+To generate XML reports, append `--log-junit junit.xml` to your `pest` test command:
+
+```undefined
+pest --log-junit junit.xml
+```
+
+#### Report File Path
+
+The JUnit report is written to the location specified by `--log-junit`. In the example above, the test results will be written to `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Pest doesn't support retries out of the box, but if you implemented retries, remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/phpunit.md b/flaky-tests/get-started/frameworks/phpunit.md
new file mode 100644
index 00000000..0c0fc8ff
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/phpunit.md
@@ -0,0 +1,76 @@
+---
+title: Configuring phpunit
+description: A guide for generating Trunk-compatible test reports for PHPUnit
+---
+
+# PHPUnit
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your PHP projects by integrating with Trunk. This document explains how to configure PHPUnit to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](phpunit.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+To generate XML reports, append `--log-junit junit.xml` to your `phpunit` test command:
+
+```undefined
+phpunit ./tests --log-junit junit.xml
+```
+
+#### Report File Path
+
+The JUnit report is written to the location specified by `--log-junit`. In the example above, the test results will be written to `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+PHPUnit doesn't support retries out of the box, but if you implemented retries, remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/playwright.md b/flaky-tests/get-started/frameworks/playwright.md
new file mode 100644
index 00000000..d5c5572d
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/playwright.md
@@ -0,0 +1,102 @@
+---
+title: Configuring playwright
+description: A guide for generating Trunk-compatible test reports for Playwright
+---
+
+# Playwright
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Playwright projects by integrating with Trunk. This document explains how to configure Playwright to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](playwright.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Playwright has multiple built-in reporters, including JUnit XML which Trunk can ingest. To get XML reports, add the following to your Playwright config:
+
+{% code title="playwright.config.ts" %}
+```typescript
+import { defineConfig } from '@playwright/test';
+
+export default defineConfig({
+  reporter: [
+    ['junit', { outputFile: 'junit.xml' }]
+  ],
+});
+```
+{% endcode %}
+
+Alternatively, you can specify reporting behavior inline in your CI:
+
+```sh
+npx playwright test --reporter=junit
+```
+
+#### Report File Path
+
+You can specify the report's output location with the `PLAYWRIGHT_JUNIT_OUTPUT_FILE` environment variable:
+
+```sh
+export PLAYWRIGHT_JUNIT_OUTPUT_FILE=junit.xml
+```
+
+You can also specify the report's location in your `playwright.config.ts` file:
+
+```typescript
+export default defineConfig({
+  reporter: [
+    ['junit', { outputFile: 'junit.xml' }]
+  ],
+});
+```
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+You can disable retries in Playwright by omitting the `--retries` command line option and [removing retries in your `playwright.config.ts` file](https://playwright.dev/docs/test-retries#retries).
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make a upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+## Next Step
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/pytest.md b/flaky-tests/get-started/frameworks/pytest.md
new file mode 100644
index 00000000..8cc24c4b
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/pytest.md
@@ -0,0 +1,80 @@
+---
+title: Configuring pytest
+description: A guide for generating Trunk-compatible test reports for Pytest
+---
+
+# Pytest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Pytest projects by integrating with Trunk. This document explains how to configure Pytest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](pytest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating JUnit XML reports from your test runs.
+
+In your CI job, update your `pytest` command to include the `--junit-xml` and `junit_family=xunit1` arguments to generate XML reports:
+
+```shell
+pytest --junit-xml=junit.xml -o junit_family=xunit1
+```
+
+The `junit_family=xunit1` is necessary so that the generated XML report includes file paths for each test case. File paths for test cases are used for features that use code owners like the [Jira integration](../../ticketing-integrations/jira-integration.md) and [webhooks](../../webhooks/).
+
+#### Report File Path
+
+The `--junit-xml` argument specifies the path of the JUnit report. You'll need this path later when configuring automatic uploads to Trunk.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+Omit the [ `--lf` or `--ff` options](https://docs.pytest.org/en/stable/how-to/cache.html) if you've previously configured your CI with these options to disable retries.
+
+### Try It Locally
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### **The Validate Command**
+
+{% include "../../../.gitbook/includes/you-can-validate-your-test-....md" %}
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make a upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/robot-framework.md b/flaky-tests/get-started/frameworks/robot-framework.md
new file mode 100644
index 00000000..26d11ab4
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/robot-framework.md
@@ -0,0 +1,77 @@
+---
+description: A guide for generating Trunk-compatible test reports for Robot Framework
+---
+
+# Robot Framework
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your projects running tests with Robot by integrating with Trunk. This document explains how to configure Robot to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](robot-framework.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+To output compatible repports, add the `--xunit` argument to your `robot` command:
+
+```shell
+robot --xunit=junit.xml TestSuite.robot
+```
+
+#### Report File Path
+
+The JUnit report will be written to the location specified by the `--xunit` argument. In the example above, it would be at `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable them and prefer using the [Quarantine](../../quarantining.md) feature to mitigate the negative impact of Flaky Tests.
+
+Omit the [`--rerunfailed`](https://docs.robotframework.org/docs/flaky_tests#re-execute-failed-tests-and-merge-results) flag and remove any [RetryFailed Listeners](https://docs.robotframework.org/docs/flaky_tests#retryfailed-listener) previously configured to run as part of your CI pipeline to disable retries.&#x20;
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../.gitbook/includes/ci-providers.md" %}
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/rspec/README.md b/flaky-tests/get-started/frameworks/rspec/README.md
new file mode 100644
index 00000000..4126eb8b
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/rspec/README.md
@@ -0,0 +1,84 @@
+---
+description: >-
+  A guide for generating Trunk-compatible test reports for RSpec using Trunk's
+  RSpec plugin
+---
+
+# RSpec
+
+You can automatically [detect and manage flaky tests](../../../detection.md) in your projects running RSpec by integrating with Trunk. This document explains how to use Trunk's RSpec plugin to upload test results to Trunk.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](./#next-step) to configure your CI provider.
+
+* [ ] Set up and installed Trunk's RSpec plugin
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+{% hint style="info" %}
+Using the plugin is the best way to accurately detect flaky RSpec tests.&#x20;
+
+You can also [manually generate and upload](manual-uploads.md) test results in RSpec, however, **manual RSpec uploads are not recommended.**&#x20;
+{% endhint %}
+
+### Installing the plugin
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this for your Rspec tests using Trunk's RSpec plugin.
+
+To install the plugin in your project, add the `rspec_trunk_flaky_tests` gem to your `Gemfile`:
+
+{% code title="Gemfile" %}
+```shell
+gem "rspec_trunk_flaky_tests"
+```
+{% endcode %}
+
+Install the plugin:
+
+```sh
+bundle install
+```
+
+Then, load the plugin in `spec_helper.rb`:
+
+{% code title="spec/spec_helper.rb" %}
+```shell
+require "trunk_spec_helper"
+```
+{% endcode %}
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.&#x20;
+
+If you have a step in CI to rerun failed tests with the `--only-failures` option, or you're using a package like [rspec-retry](https://github.com/NoRedInk/rspec-retry), remember to disable them.
+
+### Try It Locally
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+TRUNK_ORG_URL_SLUG=<TRUNK_ORG_URL_SLUG> \
+TRUNK_API_TOKEN=<TRUNK_ORG_TOKEN> \
+bundle exec rspec
+```
+
+You can find your Trunk organization URL slug and token in the **Settings** or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system).
+
+After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the test report uploaded by the plugin has issues.
+
+<figure><picture><source srcset="../../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../../.gitbook/includes/ci-providers.md" %}
+
+
+
diff --git a/flaky-tests/get-started/frameworks/rspec/manual-uploads.md b/flaky-tests/get-started/frameworks/rspec/manual-uploads.md
new file mode 100644
index 00000000..02b7beef
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/rspec/manual-uploads.md
@@ -0,0 +1,90 @@
+---
+title: Configuring rspec
+description: >-
+  A guide for generating Trunk-compatible test reports for RSpec without using
+  Trunk's RSpec plugin
+---
+
+# RSpec (Manual Uploads)
+
+You can automatically [detect and manage flaky tests](../../../detection.md) in your projects running RSpec by integrating with Trunk. This document explains how to configure RSpec to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+{% hint style="warning" %}
+We highly recommend using [Trunk's RSpec plugin](./) to upload test results for the best accuracy when detecting flaky tests.
+{% endhint %}
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](manual-uploads.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this for your Rspec tests by generating JUnit XML reports from your test runs.
+
+To generate Trunk-compatible reports, install the `rspec_junit_formatter`:
+
+```shell
+gem install rspec_junit_formatter
+```
+
+You can use `rspec_junit_formatter` like this:
+
+```shell
+rspec --format RspecJunitFormatter --out junit.xml
+```
+
+#### Report File Path
+
+The JUnit report will be written to the location specified by the `--out` argument. In the example above, the report would be at `./junit.xml`. You will need this when you update your CI config to integrate with Trunk.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.&#x20;
+
+If you have a step in CI to rerun failed tests with the `--only-failures` option, or you're using a package like [rspec-retry](https://github.com/NoRedInk/rspec-retry), remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+{% include "../../../../.gitbook/includes/ci-providers.md" %}
+
+
+
diff --git a/flaky-tests/get-started/frameworks/rust.md b/flaky-tests/get-started/frameworks/rust.md
new file mode 100644
index 00000000..9adf1cf3
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/rust.md
@@ -0,0 +1,79 @@
+---
+title: Configuring cargo-nextest
+description: A guide for generating Trunk-compatible test reports for Rust
+---
+
+# cargo-nextest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Rust projects by integrating with Trunk. This document explains how to configure cargo-nextest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](rust.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+`cargo-nextest` has built-in reporting for JUnit XML reports, which is trunk-compatible. You can enable JUnit reporting by adding the following to your nextest config:
+
+{% code title=".config/nextest.toml" %}
+```toml
+[profile.ci.junit]
+path = "junit.xml"
+```
+{% endcode %}
+
+You can invoke this profile when running tests with:
+
+```sh
+cargo nextest run --profile ci
+```
+
+#### Report File Path
+
+`cargo-nextest` outputs artifacts at `target/nextest` by default. When you provide a profile and a file name via the config example above, it produces a report at `target/nextest/ci/junit.xml`.&#x20;
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.&#x20;
+
+Omit the `--retries` option.
+
+### Try It Locally
+
+#### The Validate Command
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./target/nextest/ci/junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./target/nextest/ci/junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/get-started/frameworks/swift-testing.md b/flaky-tests/get-started/frameworks/swift-testing.md
new file mode 100644
index 00000000..716af242
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/swift-testing.md
@@ -0,0 +1,77 @@
+---
+title: Configuring swift-testing
+description: A guide for generating Trunk-compatible test reports with Swift Testing
+---
+
+# Swift Testing
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Swift projects by integrating with Trunk. This document explains how to configure Swift Testing to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](swift-testing.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+To output a compatible report, add the `--xunit-output` argument to your Swift test command:
+
+```shell
+swift test --xunit-output junit.xml --parallel
+```
+
+Due to a [known bug](https://github.com/swiftlang/swift-package-manager/issues/4752) with Swift, you must include the `--parallel` flag for the XML report to output properly.
+
+#### Report File Path
+
+The test report will be written to the location specified by the `--xunit-output` argument. In the example above, it would be at `./junit.xml`.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests.
+
+Swift Testing doesn't support retries out of the box, but if you implemented retries or imported a package, remember to disable them.
+
+### Try It Locally
+
+#### **The Validate Command**
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/flaky-tests/get-started/frameworks/vitest.md b/flaky-tests/get-started/frameworks/vitest.md
new file mode 100644
index 00000000..e4b0ab32
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/vitest.md
@@ -0,0 +1,131 @@
+---
+title: Configuring vitest
+description: A guide for generating Trunk-compatible test reports with Vitest
+---
+
+# Vitest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your Vitest projects by integrating with Trunk. This document explains how to configure Vitest to output JUnit XML reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](vitest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Trunk detects flaky tests by analyzing test reports automatically uploaded from your CI jobs. You can do this by generating Trunk-compatible XML reports from your test runs.
+
+You can configure Vitest to produce a Trunk-compatible JUnitXML report by updating your `vitest.config.ts`.
+
+{% code title="vitest.config.ts" %}
+```javascript
+import { defineConfig } from 'vitest/config';
+
+export default defineConfig({
+  test: {
+    reporters: [
+      ['junit', { outputFile: './junit.xml' }],
+    ],
+  },
+});
+```
+{% endcode %}
+
+#### Report File Path
+
+The `outputFile: './junit.xml'` option specifies the path of the JUnit report. You'll need this path later when configuring automatic uploads to Trunk.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+If you've enabled retries, you can disable them following the [Vitest docs](https://vitest.dev/api/) for more accurate results.
+
+{% hint style="info" %}
+**Note**: Configuration errors can sometimes mask themselves as consistent test failures. If you're seeing file-level test entries instead of individual test cases, resolve configuration issues first before adjusting retry settings. A properly configured test suite should show individual test case names in the JUnit output, not file names.
+{% endhint %}
+
+### Troubleshooting
+
+**Configuration Errors and File-Level Test Failures**
+
+**Issue**: You might see Trunk identifying flaky tests with names that match your test file names (e.g., `auth.test.ts` instead of `should login successfully`) rather than individual test case names.
+
+**Root Cause**: This typically occurs when Vitest encounters configuration errors that prevent it from properly parsing or running the tests in a file. Common scenarios include:
+
+* TypeScript configuration errors in `tsconfig.json`
+* Missing dependencies or import resolution failures
+* Syntax errors in test setup files
+* Invalid Vitest configuration options
+
+**What Happens**: When Vitest cannot execute the individual tests within a file due to configuration issues, it generates a single JUnit test case entry named after the file itself, regardless of how many actual test cases exist in that file.
+
+**How to Diagnose**:
+
+1. Run your tests locally with verbose output: `vitest --reporter=verbose`
+2. Check for configuration warnings or errors in the test output
+3. Look for test files that show as single entries in your JUnit report when they should contain multiple test cases
+
+**How to Fix**:
+
+1. **Check TypeScript Configuration**: Ensure your `tsconfig.json` is valid and includes all necessary paths
+2. **Verify Dependencies**: Make sure all imported modules are properly installed and accessible
+3. **Review Setup Files**: Check any test setup files referenced in your Vitest config for errors
+4. **Validate Vitest Config**: Ensure your `vitest.config.ts` doesn't contain invalid options
+
+### Try It Locally
+
+#### Validate Test Execution First
+
+Before validating your JUnit reports with Trunk, ensure Vitest can properly execute your tests:
+
+```bash
+# Run tests with detailed output to catch configuration issues
+vitest run --reporter=verbose
+
+# Check that individual test cases appear in output, not just file names
+vitest run --reporter=json | jq '.testResults[].assertionResults'
+```
+
+If you see test files listed as single entries rather than individual test cases, you likely have configuration issues that need to be resolved before proceeding.
+
+You can validate your test reports using the [Trunk CLI](../../uploader.md). If you don't have it installed already, you can install and run the `validate` command like this:
+
+#### **The Validate Command**
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests validate --junit-paths "./junit.xml"
+```
+
+**This will not upload anything to Trunk**. To improve detection accuracy, you should **address all errors and warnings** before proceeding to the next steps.
+
+#### Test Upload
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --junit-paths "./junit.xml" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Step
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
diff --git a/flaky-tests/get-started/frameworks/xctest.md b/flaky-tests/get-started/frameworks/xctest.md
new file mode 100644
index 00000000..0020a356
--- /dev/null
+++ b/flaky-tests/get-started/frameworks/xctest.md
@@ -0,0 +1,68 @@
+---
+title: Configuring xctest
+description: A guide for generating Trunk-compatible test reports for XCode and xcodebuild
+---
+
+# XCTest
+
+You can automatically [detect and manage flaky tests](../../detection.md) in your XCTest projects by integrating with Trunk. This document explains how to configure XCTest to output XCResult reports that can be uploaded to Trunk for analysis.
+
+### Checklist
+
+By the end of this guide, you should achieve the following before proceeding to the [next steps](xctest.md#next-step) to configure your CI provider.
+
+* [ ] Generate a compatible test report
+* [ ] Configure the report file path or glob
+* [ ] Disable retries for better detection accuracy
+* [ ] Test uploads locally
+
+After correctly generating reports following the above steps, you'll be ready to move on to the next steps to [configure uploads in CI](../ci-providers/).
+
+### Generating Reports
+
+Running XCTests from `xcodebuild` produces a `.xcresult` in an obscure directory by default. You can specify a `-resultBundlePath` option to generate the results locally:
+
+```sh
+xcodebuild test -scheme <YOUR_SCHEME> \
+  -resultBundlePath ./test-results.xcresult
+```
+
+You can upload `.xcresult` directories directly to Trunk Flaky Tests.&#x20;
+
+{% hint style="warning" %}
+Only XCode versions 16 or higher are supported.
+{% endhint %}
+
+#### Report File Path
+
+The test reports will be written to the `./test-results.xcresult` directory when running tests with the `-resultBundlePath ./test-results.xcresult`option. You will need this path when uploading results to Trunk in CI.
+
+#### Disable Retries
+
+You need to disable automatic retries if you previously enabled them. Retries compromise the accurate detection of flaky tests. You should disable retries for accurate detection and use the [Quarantining](../../quarantining.md) feature to stop flaky tests from failing your CI jobs.
+
+If you run tests in CI with [the `-retry-tests-on-failure` option](https://keith.github.io/xcode-man-pages/xcodebuild.1.html#retry-tests-on-failure), disable it for more accurate results.
+
+### Try It Locally
+
+Before modifying your CI jobs to automatically upload test results to Trunk, try uploading a single test run manually.
+
+You make an upload to Trunk using the following command:
+
+```sh
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+./trunk flakytests upload --xcresult-path "./test-results.xcresult" \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token <TRUNK_ORG_TOKEN>
+```
+
+You can find your Trunk organization slug and token in the settings or by following these [instructions](https://docs.trunk.io/flaky-tests/get-started/ci-providers/otherci#id-1.-store-a-trunk_token-secret-in-your-ci-system). After your upload, you can verify that Trunk has received and processed it successfully in the **Uploads** tab. Warnings will be displayed if the report has issues.
+
+<figure><picture><source srcset="../../../.gitbook/assets/data-uploads-dark.png" media="(prefers-color-scheme: dark)"><img src="../../../.gitbook/assets/data-uploads-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Step
+
+Configure your CI to upload test runs to Trunk. Find the guides for your CI framework below:
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Azure DevOps Pipelines</strong></td><td></td><td><a href="../ci-providers/azure-devops-pipelines.md">azure-devops-pipelines.md</a></td><td><a href="../../../.gitbook/assets/azure.png">azure.png</a></td></tr><tr><td><strong>BitBucket Pipelines</strong></td><td></td><td><a href="../ci-providers/bitbucket-pipelines.md">bitbucket-pipelines.md</a></td><td><a href="../../../.gitbook/assets/bitbucket.png">bitbucket.png</a></td></tr><tr><td><strong>BuildKite</strong></td><td></td><td><a href="../ci-providers/buildkite.md">buildkite.md</a></td><td><a href="../../../.gitbook/assets/buildkite.png">buildkite.png</a></td></tr><tr><td><strong>CircleCI</strong></td><td></td><td><a href="../ci-providers/circleci.md">circleci.md</a></td><td><a href="../../../.gitbook/assets/circle-ci.png">circle-ci.png</a></td></tr><tr><td><strong>Drone CI</strong></td><td></td><td><a href="../ci-providers/droneci.md">droneci.md</a></td><td><a href="../../../.gitbook/assets/drone.png">drone.png</a></td></tr><tr><td><strong>GitHub Actions</strong></td><td></td><td><a href="../ci-providers/github-actions.md">github-actions.md</a></td><td><a href="../../../.gitbook/assets/github.png">github.png</a></td></tr><tr><td><strong>Gitlab</strong></td><td></td><td><a href="../ci-providers/gitlab.md">gitlab.md</a></td><td><a href="../../../.gitbook/assets/gitlab.png">gitlab.png</a></td></tr><tr><td><strong>Jenkins</strong></td><td></td><td><a href="../ci-providers/jenkins.md">jenkins.md</a></td><td><a href="../../../.gitbook/assets/jenkins.png">jenkins.png</a></td></tr><tr><td><strong>Semaphore</strong></td><td></td><td><a href="../ci-providers/semaphoreci.md">semaphoreci.md</a></td><td><a href="../../../.gitbook/assets/semaphore.png">semaphore.png</a></td></tr><tr><td><strong>TeamCity</strong></td><td></td><td><a href="../ci-providers/teamcity.md">teamcity.md</a></td><td><a href="../../../.gitbook/assets/teamcity.png">teamcity.png</a></td></tr><tr><td><strong>Travis CI</strong></td><td></td><td><a href="../ci-providers/travisci.md">travisci.md</a></td><td><a href="../../../.gitbook/assets/travis.png">travis.png</a></td></tr><tr><td><strong>Other CI Providers</strong></td><td></td><td><a href="../ci-providers/otherci.md">otherci.md</a></td><td><a href="../../../.gitbook/assets/other.png">other.png</a></td></tr></tbody></table>
+
diff --git a/flaky-tests/github-pull-request-comments.md b/flaky-tests/github-pull-request-comments.md
new file mode 100644
index 00000000..76daef40
--- /dev/null
+++ b/flaky-tests/github-pull-request-comments.md
@@ -0,0 +1,55 @@
+---
+description: Flaky Tests provides summary analytics about tests running on Pull Requests
+---
+
+# PR Comments
+
+Flaky Tests can post comments on GitHub pull requests to provide a summary of all the tests run on this PR, across multiple CI jobs or even CI systems, as well as whether those failures are due to flakiness, the history of the failures of that test, and more.
+
+<figure><picture><source srcset="../.gitbook/assets/github-comment-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/github-comment-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Each GitHub comment has a full summary report, containing all tests that passed, failed, flaked, skipped, and quarantined on this PR.
+
+<figure><picture><source srcset="../.gitbook/assets/pr-test-summary (1).png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/pr-test-summary.png" alt=""></picture><figcaption></figcaption></figure>
+
+Each test case also contains the full stack trace attached when opened. You can also click on the **Job run** link which will take you to the full CI logs.
+
+## Configuration
+
+If you have the [Trunk GitHub App installed](https://docs.trunk.io/administration/github-app-permissions) and are [uploading JUnit XML](get-started/frameworks/) test results on pull requests, expect to start seeing comments on your Pull Requests soon. If you prefer not to use the Trunk GitHub App, you can still set up comments on your Pull Requests by providing Trunk with a GitHub access token.
+
+<details>
+
+<summary>Without Trunk GitHub App</summary>
+
+It's recommended that the Trunk GitHub App be used to manage GitHub comments. If you need to generate comments without the Trunk GitHub app, you can do so with a service account and an API token.
+
+1. Create a dedicated GitHub SVC account (Service Account) with access to the repositories in your GitHub Organization that Flaky Tests will comment on e.g., `trunk-analytics-user`.
+2. On [github.com](https://github.com/), for `trunk-analytics-user` (or whichever user you wish to use), generate a [_Personal access token_](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) by navigating to **Settings** > **Developer settings** > **Personal access token** > **Fine-grained tokens** > **Generate new token**.
+3. Name the new token something memorable. ex: `trunk-flaky-tests-token`.
+4. The expiry time is up to you - however long you wish to try out Flaky Tests comments/how often you are willing to rotate the token. For a longer-term solution, consider installing the Trunk GitHub App.
+5. The resource owner should be the GitHub Organization or user that owns the appropriate repositories. [See note on GitHub Org Ownership settings.](github-pull-request-comments.md#github-org-ownership)
+6. Select the repositories you wish to enable comments on.
+7. **Permissions** - you must enable **Issues (Read and write)** and **Pull requests (Read and write)**. Note: It is expected that metadata permissions automatically change.
+8.  If everything looks good, scroll down to double check that your Overview for permissions looks something like the image below. If so, create the token.
+
+    <figure><img src="../.gitbook/assets/Screenshot 2024-06-12 at 9.52.28 AM.png" alt=""><figcaption></figcaption></figure>
+9. Once the token is generated, go back to the Trunk App ([app.trunk.io](https://app.trunk.io/login?intent=flaky%20tests)) > click on your profile > **Settings** > **Manage** (under _Organization_) > **Organization GitHub Token** and enter the copied token into the text field, then finally press **Submit**.
+
+You should see comments posted by your service account on your next PR.
+
+</details>
+
+## Disable commenting
+
+Pull Request comments are enabled by default. If you wish to disable the comments, you can do so by navigating to the Trunk App > click on your profile > **Settings** > **RepoName**. In the **Flaky Tests** heading, toggle the **Summary Flaky Tests Reports** setting.
+
+## Troubleshooting
+
+#### **GitHub Org Ownership**
+
+If you wish to set the resource owner to be a GitHub Organization, you should double check that this is allowed by navigating to your **GitHub Organization** > **Settings** > **Personal access tokens** > **Settings**. Make sure under "_Fine-grained personal access tokens_", you have _"Allow access via fine-grained personal access tokens"_ selected.
+
+Once the token is created, the Organization admin may need to approve the request for the token. This can be done by going to **Github Organization** > **Settings** > **Personal access tokens** > **Pending requests**. To confirm that the token was set, you should be able to see it under **Active tokens**.
+
+At any point, feel free to reach out to our team [through Slack](https://slack.trunk.io).
diff --git a/flaky-tests/managing-detected-flaky-tests.md b/flaky-tests/managing-detected-flaky-tests.md
new file mode 100644
index 00000000..d77bc6ea
--- /dev/null
+++ b/flaky-tests/managing-detected-flaky-tests.md
@@ -0,0 +1,73 @@
+---
+description: >-
+  A step-by-step guide for building an automated process to manage detected
+  flaky tests.
+---
+
+# Managing Detected Flaky Tests
+
+It is important to have a follow-up process in place to manage detected flaky tests. A good process ensures that flaky tests do not slow down CI for your development team and prevents flakes from accumulating over time.&#x20;
+
+This guide walks through Trunk's recommended best practices for building a process around detected flaky tests in your organization.
+
+{% hint style="info" %}
+Flaky tests will be [automatically detected](detection.md) by Trunk after you:
+
+* [Set up your test framework](get-started/frameworks/) to produce test reports
+* [Integrated with your CI provider](get-started/ci-providers/) to upload those reports on CI runs.
+
+Go through these guides first to start detecting flaky tests.
+{% endhint %}
+
+### Step 1: Create tickets for Flaky Tests
+
+Creating Linear or Jira tickets for detected flaky tests helps to integrate flaky test fixes into your existing workflows.
+
+* Start by [connecting to Linear or Jira](ticketing-integrations/). You can also set default labels or teams for flaky test tickets.
+* Once connected, you can click **Create Ticket** on a test detail page in Trunk. Trunk will create the ticket with context, including the test ID, flake rate, and the last failure stack trace and reason.
+* The ticket status and assignee will be visible on the test details page in Trunk, and these details will stay in sync with changes to the ticket.
+
+### Step 2: Broadcast Flakes
+
+It is important to keep the team informed on all status changes for flaky tests . This allows for fast follow-up when a test is marked as flaky.
+
+* Use the [built-in Slack or Microsoft Teams webhook integrations](webhooks/) to transform webhook payloads into messages.
+* Trunk's built-in templates help you get started and test the connection.
+* You can then customize the transformation to update the message format and content, including @-mentioning test owners so they can follow up right away.
+
+### Step 3: Start Quarantining Manually
+
+Flaky tests slow down CI and have a high negative impact on merge queue throughput. You can minimize or eliminate this CI slowdown by [quarantining](quarantining.md) flaky tests at runtime.
+
+* Enable quarantining for your repo at **Settings > your repo > Enable Test Quarantining**.
+* Manually quarantine flaky tests by going to the test details page, clicking **Quarantine**, and setting the status to **Always**. Leave a comment detailing why you are quarantining this test to keep your team informed. The comment and quarantine status change will appear in the timeline on the test details page.
+
+After quarantining a test, Trunk will ignore the test result (pass/fail) on CI runs, preventing this flaky test from failing CI.
+
+### Step 4: Automation
+
+Trunk has [webhooks](webhooks/) and [Flaky Tests APIs](../references/apis/flaky-tests.md) that can be used to build custom workflows around ticket creation, linking existing tickets to Trunk, sending notifications, and dealing with quarantined tests.
+
+There is also built-in automation support that handles tasks such as assigning flaky test ownership, ticket creation, and quarantining (so that unblocking CI is not a manual process).&#x20;
+
+* [`CODEOWNERS` files](dashboard.md#code-owners) can automatically assign ownership of test flakes.
+* Tickets can be [auto-created using webhooks](webhooks/) as triggers, similar to Slack or MS Teams notifications.
+* Automatically quarantine flaky tests by enabling **Settings > your repo > Auto-Quarantine Flaky Tests**.
+
+You can customize how flaky and quarantined tests are handled to suit your team and organization best.
+
+### Step 5: Review Existing Flakes
+
+It is important to track and triage existing flaky tests over time. Trunk collects historical failure logs and stack traces for flaky tests, providing developers as much information as possible for debugging high-impact flaky tests.
+
+* Review all new flaky tests to determine their impact and the urgency of a fix.
+* Review existing quarantined tests regularly to decide which tests should be fixed and which tests should be deleted from your test suite.
+* Trunk can send weekly email reports with information such as your total number of flaky tests and the number of PRs blocked, and how those numbers have changed week over week. Frequently failing tests will also be highlighted in the report. Reach out on [Slack](https://slack.trunk.io/) to ask about enabling weekly reports for your organization.
+
+## In Summary: Build a Process Around Managing Flaky Tests
+
+Building processes for dealing with flaky tests helps decrease or eliminate their impact on CI and reduce the amount of developer time lost to debugging flakes and CI reruns.
+
+Trunk allows you to customize this process to fit into your existing tooling and workflows, and automates manual tasks such as notifications and ticket creation.
+
+Reach out to us on our [community Slack](https://slack.trunk.io/) to chat about how to structure a process for managing flaky tests across your team or organization.
diff --git a/flaky-tests/overview.md b/flaky-tests/overview.md
new file mode 100644
index 00000000..3da49f5a
--- /dev/null
+++ b/flaky-tests/overview.md
@@ -0,0 +1,71 @@
+---
+description: Detect, quarantine, and eliminates flaky tests from your codebase
+---
+
+# Overview
+
+Trunk Flaky Tests lets your teams detect, track, quarantine, and fix **flaky tests** in your codebase. Flaky Tests is language, environment, and framework-agnostic.
+
+Let's explore how Trunk Flaky Tests' features help you tackle Flaky Tests. If you can't wait to try Trunk, follow our [getting started guide](https://docs.trunk.io/flaky-tests/get-started).
+
+You can see a tour of Trunk Flaky Tests in this video.
+
+{% embed url="https://youtu.be/F2lyu9s-rxs" %}
+
+### Understand The Impact
+
+Your dashboard shows a comprehensive overview of your test suite's health at a glance. It lets you see important impact metrics like the number of flaky tests, broken tests, PRs impacted by flaky tests, and PRs rescued by quarantining flaky tests.
+
+<figure><picture><source srcset="../.gitbook/assets/key-metrics-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/key-metrics-light.png" alt=""></picture><figcaption><p>Key repo metrics</p></figcaption></figure>
+
+To learn more, [see how Flaky Tests does detection](https://docs.trunk.io/flaky-tests/detection).
+
+### Track Every Flaky Test
+
+You can find a list of known flaky tests complete with important information like their impact on PRs and if someone's working on a fix. For more granularity, you can also inspect individual tests for their execution history, results, and status changes.
+
+<figure><picture><source srcset="../.gitbook/assets/flaky-tests-overview-table-v2-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/flaky-tests-overview-table-v2-light.png" alt=""></picture><figcaption><p>List of flaky tests</p></figcaption></figure>
+
+To learn more, [see how Flaky Tests does detection](https://docs.trunk.io/flaky-tests/detection).
+
+### Stay in Sync
+
+<figure><picture><source srcset="../.gitbook/assets/github-comment-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/github-comment-light.png" alt="PR comment linking to PR Test Summary"></picture><figcaption><p>PR comment linking to PR Test Summary</p></figcaption></figure>
+
+Flaky Tests helps everyone in your team stay in sync about flaky test failures with [GitHub PR comments](https://docs.trunk.io/flaky-tests/github-pull-request-comments), so no time is wasted debugging failures from known flaky tests.
+
+To learn more, [see our docs about GitHub Comments and Test Summaries](github-pull-request-comments.md).
+
+### Investigate Flaky Failures
+
+Flaky Tests creates detailed reports for individual test failures so you can debug faster.
+
+<figure><picture><source srcset="../.gitbook/assets/unique-failure-reason-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/unique-failure-reason-light.png" alt=""></picture><figcaption><p>Summary of unique failure types</p></figcaption></figure>
+
+Test details will summarize all the unique ways a flaky test fails and let you flip through the relevant stack traces in the Trunk app.
+
+<figure><picture><source srcset="../.gitbook/assets/run-details-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/run-details-light.png" alt=""></picture><figcaption><p>Full failure stack traces</p></figcaption></figure>
+
+To learn more, [see our docs about the detection of flaky tests](detection.md#test-case-details).
+
+### **Quarantine Flaky Failures**
+
+Flaky Tests allows you to [quarantine](https://docs.trunk.io/flaky-tests/quarantining) detected flaky tests, stopping them from failing your CI jobs. This prevents failed flaky tests from impacting your CI pipelines, so you won’t have to disable tests and won’t be slowed down by flaky CI jobs.
+
+<figure><picture><source srcset="../.gitbook/assets/override-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/override-light.png" alt=""></picture><figcaption><p>flaky tests can be quarantined automatically or manually</p></figcaption></figure>
+
+To learn more, [see our docs about quarantining tests](quarantining.md).
+
+### Manage Tickets
+
+<figure><picture><source srcset="../.gitbook/assets/jira-ticket-creation-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/jira-ticket-creation-light.png" alt=""></picture><figcaption><p>Creating a Jira ticket for a flaky test</p></figcaption></figure>
+
+Trunk enables the automation of quickly creating and assigning tickets through integrations with platforms like Jira and Linear, as well as custom workflows with webhooks. The status of tickets created will be reflected in real-time in the Trunk web app. This helps you track efforts to fix high-impact, flaky tests.
+
+To learn more, [learn about our ticketing integrations](ticketing-integrations/jira-integration.md).
+
+### **Next Steps**
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Getting Started</strong></td><td></td><td><a href="get-started/">get-started</a></td></tr><tr><td><strong>Join Trunk</strong></td><td></td><td><a href="https://app.trunk.io/signup?intent=flaky+tests">https://app.trunk.io/signup?intent=flaky+tests</a></td></tr></tbody></table>
+
+Start finding flaky tests today by [signing up for Trunk](https://app.trunk.io/signup?intent=flaky%20tests) or reading our [Getting Started guides](get-started/).
diff --git a/flaky-tests/quarantining.md b/flaky-tests/quarantining.md
new file mode 100644
index 00000000..49680419
--- /dev/null
+++ b/flaky-tests/quarantining.md
@@ -0,0 +1,157 @@
+---
+description: Mitigate impact of known flaky tests by isolating them at run time
+---
+
+# Quarantining
+
+<figure><picture><source srcset="../.gitbook/assets/dashboard-quarantined-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/dashboard-quarantined-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Quarantining lets you isolate failures for known flaky tests so they don't fail your CI jobs while continuing to run them. Quarantine looks for known flaky tests and determines which tests should be isolated at runtime, so you can avoid code changes usually required to disable flaky tests.
+
+Quarantining flaky tests lets you mitigate the negative effects of flaky tests without disabling any tests. Quarantined failures will still be uploaded to Trunk Flaky Tests and displayed in PRs through a [PR Test Summary](github-pull-request-comments.md), allowing you to easily triage failures and identify real issues surfaced by flaky tests.
+
+### What Does Quarantined Mean?
+
+When a test is quarantined, it will still be run in your CI jobs, and results will be uploaded to Trunk Flaky Tests. This allows you to track any changes to flaky tests as CI jobs are run. The [Flaky Tests Uploader](uploader.md) will check if the test is a known flaky or broken test. If the test has been failing on other PRs before yours, the results will be overridden. If all failures in a CI job are overridden by quarantining because they're known flaky or broken tests, the CI job will be overridden as passing.&#x20;
+
+### What's Affected?
+
+When quarantining is enabled, tests that are _known_ to be flaky or broken will be quarantined. This means tests that have already been failing and not broken by your PR will be quarantined. You can see which tests are flaky or broken by seeing the tests's status in the overview dashboard, or each test's status history.
+
+<figure><picture><source srcset="../.gitbook/assets/labelled-flaky-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/labelled-flaky-light.png" alt=""></picture><figcaption><p>Status history showing a test to be flaky.</p></figcaption></figure>
+
+Tests that are overridden to always quarantine will also be quarantined, even if the test breaks for the first time. [Learn more about overriding.](quarantining.md#overriding-individual-tests)
+
+### Enable Quarantining
+
+{% hint style="warning" %}
+Enabling quarantining will drastically affect the results of CI jobs. Only new test failures introduced by your PR will fail CI jobs, known **flaky and broken** tests will no longer fail CI jobs. [Learn more about the effects of quarantining](quarantining.md#whats-affected).
+{% endhint %}
+
+Before tests can be quarantined on a CI job, quarantining needs to be enabled for your Analytics Uploader.
+
+With quarantining enabled, the Analytics Uploader will compare failed test cases against known flaky tests. If a test is known to be flaky or broken, it will be quarantined. If all failed tests are flaky, the exit code of the test command will be overridden to return 0 and the CI job will pass.
+
+#### Update Flaky Test Settings
+
+You can enable quarantining by navigating to **Settings** > **Repositories** > **Flaky Tests** > **Quarantine Flaky Tests** and selecting enabled in the drop-down.
+
+<figure><picture><source srcset="../.gitbook/assets/enable-flaky-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/enable-flaky-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Here's what each of these options does when enabled:
+
+<table><thead><tr><th width="256">Setting</th><th>Description</th></tr></thead><tbody><tr><td>Enable Test Quarantining</td><td>When enabled, tests will be quarantined if the <a href="quarantining.md#updates-in-ci">necessary configurations</a> are made in CI.</td></tr><tr><td>Auto-Quarantine</td><td>When enabled, flaky and broken tests are automatically quarantined.</td></tr><tr><td>Summary Test Reports</td><td>When enabled, PRs will generate a report covering test results, test health, and quarantine status. This will be accessible in the web app and as a GitHub comment. Learn more about <a href="github-pull-request-comments.md">PR Test Summaries</a>.</td></tr><tr><td>Public Dashboard Access</td><td>When enabled, unauthenticated users will get read-only access to your Flaky Tests dashboard, which is particularly useful for open-source projects.</td></tr></tbody></table>
+
+#### Updates In CI
+
+If you're using the provided GitHub Actions workflow to upload test results to Trunk, you can quarantine flaky tests by wrapping the test command or quarantining as a follow-up step.
+
+If you're using the Trunk CLI directly or other CI providers, check the instructions in the **Using The Trunk CLI Directly** tab.
+
+{% tabs %}
+{% tab title="GitHub Actions Workflow" %}
+If you're using the Trunk Analytics Uploader Action in your GitHub Actions Workflow files, you may need to modify your workflow files to support quarantining.&#x20;
+
+If you upload your test results as a second step after you run your tests,  **you need to add** `continue-on-error: true` **on your test step so your CI** job will continue even on failures. Here's an example file.
+
+<pre class="language-yaml" data-line-numbers><code class="lang-yaml"><strong>name: Run Tests And Upload Results
+</strong>on:
+  workflow_dispatch:
+jobs:
+  upload-test-results:
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    steps:   
+<strong>    - name: Run Tests
+</strong>      id: unit_tests
+      shell: bash
+      run: &#x3C;COMMAND TO RUN TESTS>
+      continue-on-error: true
+        
+    - name: Upload test results
+      if: always()
+      uses: trunk-io/analytics-uploader@v1
+      with:
+        junit-paths: &#x3C;TEST OUTPUT PATH>
+        org-slug: my-trunk-org-slug
+        token: ${{ secrets.TRUNK_API_TOKEN }}
+</code></pre>
+
+If you want to run the test command and upload in a single step, the test command must be **run via the Analytics Uploader** through the `run: <COMMAND TO RUN TESTS>` parameter. This will override the response code of the test command. Make sure to set `continue-on-error: false` so unquarantined tests are blocking.
+
+{% code lineNumbers="true" %}
+```yaml
+name: Run Tests And Upload Results
+on:
+  workflow_dispatch:
+jobs:
+  upload-test-results:
+    runs-on: ubuntu-latest
+    timeout-minutes: 60
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Run tests and upload results
+        uses: trunk-io/analytics-uploader@v1
+        with:
+          junit-paths: <TEST OUTPUT PATH>
+          run: <COMMAND TO RUN TESTS>
+          token: ${{ secrets.TRUNK_API_TOKEN }}
+          org-slug: my-trunk-org-slug
+```
+{% endcode %}
+{% endtab %}
+
+{% tab title="Using The Trunk CLI Directly" %}
+#### Using Flaky Tests as a separate step
+
+If you upload your test results as a second step after you run your tests,  you need to ensure your test step **continues on errors** so the upload step that's run after can quarantine failed tests. When quarantining is enabled, the `flakytests upload` command will **return an error** if there are unquarantined failures and return a status code 0 if all tests are quarantined.
+
+```bash
+<run my tests> || true # doesn't fail job on failure
+|
+    ./trunk flakytests upload \
+        --org-url-slug $TRUNK_ORG_SLUG \
+        --token $TRUNK_API_TOKEN \
+        --junit-paths $JUNIT_PATH
+```
+
+#### Using Flaky Tests as a single step
+
+You can also wrap the test command with the Trunk CLI. When wrapping the command with the Trunk CLI, if there are unquarantined tests, the command will return an error. If there are no unquarantined tests, the command will return a status code 0.
+
+{% code overflow="wrap" %}
+```bash
+./trunk flakytests test \
+    --org-url-slug <TRUNK_ORG_SLUG> \
+    --token $TRUNK_API_TOKEN \
+    --junit-paths $JUNIT_PATH \
+    --allow-empty-test-results \
+    <Test Command>
+```
+{% endcode %}
+{% endtab %}
+{% endtabs %}
+
+#### Overriding Individual Tests
+
+If you have tests that should never be quarantined or should always be quarantined regardless of their current health status, you can do this by overriding individual tests.
+
+<figure><picture><source srcset="../.gitbook/assets/override-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/override-light.png" alt=""></picture><figcaption><p>overriding</p></figcaption></figure>
+
+You can update the overriding settings on each test by navigating to the details page for a specific test and clicking the **Override** button.
+
+You can choose to Always Quarantine or Never Quarantine:
+
+<table><thead><tr><th width="244">Setting</th><th>Behavior</th></tr></thead><tbody><tr><td>Always Quarantine</td><td>Quarantine a test failure even if the health status is healthy.</td></tr><tr><td>Never Quarantine</td><td>Never quarantine failures, even if the health status is flaky or broken, and quarantining is enabled for the repo.</td></tr></tbody></table>
+
+Any comments added will appear in the Test History timeline on that test's details page.
+
+To remove an override and return to the repo's default quarantine setting, click on the **Clear Status** button.
+
+#### Audit Logs
+
+Trunk provides audit logs for all setting changes and overwrites for individual tests. You can access the audit log by navigating to **Settings** > **Repositories** > **Flaky Tests** > **Quarantine Flaky Tests** > **Audit logs**.
+
+You will also see a record of changes in the override settings in the **Status History** tab in each test's details screen.
diff --git a/flaky-tests/ticketing-integrations/README.md b/flaky-tests/ticketing-integrations/README.md
new file mode 100644
index 00000000..de73b0f0
--- /dev/null
+++ b/flaky-tests/ticketing-integrations/README.md
@@ -0,0 +1,32 @@
+---
+description: >-
+  Triage your flaky tests faster by creating automatically assigned and labeled
+  tickets in your ticketing system
+---
+
+# Ticketing Integrations
+
+You can integrate directly with your ticketing systems to automatically create tickets when Trunk [detects a broken or flaky test](../detection.md).
+
+### Ticket Content
+
+Flaky Tests automatically generates tickets complete with a title and description. If you’re connected to Linear or Jira, you can also assign default issue types, teams, or assignees.
+
+The ticket description contains the following information:
+
+* Identifier of the test
+* Since when has the test been labeled flaky
+* The last time this test failed
+* The impact when run on PRs
+* The impact when run on branches
+* Quarantine status
+* Most common failure reasons
+* Code owners, according to the [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) file in your repository
+
+### Integration Setup
+
+Currently, Ticket Creation supports integrations with Linear and Jira. However, the automatically generated ticket content is formatted in Markdown and can be copied to other platforms like Asana or GitHub issues.
+
+<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><a data-footnote-ref href="#user-content-fn-1"><strong>Linear</strong></a></td><td><a href="../../.gitbook/assets/linear-v2.png">linear-v2.png</a></td><td><a href="linear-integration.md">linear-integration.md</a></td></tr><tr><td align="center"><strong>Jira</strong></td><td><a href="../../.gitbook/assets/jira.png">jira.png</a></td><td><a href="jira-integration.md">jira-integration.md</a></td></tr></tbody></table>
+
+[^1]: 
diff --git a/flaky-tests/ticketing-integrations/jira-integration.md b/flaky-tests/ticketing-integrations/jira-integration.md
new file mode 100644
index 00000000..e380105c
--- /dev/null
+++ b/flaky-tests/ticketing-integrations/jira-integration.md
@@ -0,0 +1,91 @@
+---
+description: >-
+  Triage your flaky tests faster by creating automatically assigned and labeled
+  tickets with the Jira integration
+---
+
+# Jira Integration
+
+When Trunk Flaky Tests [detects a broken or flaky test](../detection.md), you can create an automatically generated Jira ticket for your team to pick up and fix the test.
+
+Webhook payloads will also contain ticket information when a Jira ticket is created with the integration or when [existing tickets are linked](jira-integration.md#link-existing-tickets-to-tests).
+
+### Connecting to Jira
+
+<figure><picture><source srcset="../../.gitbook/assets/jira-connect-form-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/jira-connect-form-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+To connect a Jira Cloud project, navigate to **Settings** -> **Repositories** -> **Ticketing Integration** and select **Jira** as your Ticketing System.
+
+Then complete the form and click Connect to Jira Cloud with the following information.
+
+<table data-full-width="false"><thead><tr><th width="176">Field Name</th><th width="266">Description</th><th>Examples</th></tr></thead><tbody><tr><td>Jira URL</td><td>The URL to your Jira Cloud project.</td><td><code>https://trunk-io.atlassian.net</code></td></tr><tr><td>Project Key</td><td>The project key for your Jira project.</td><td><code>KAN</code></td></tr><tr><td>Email</td><td>The email associated with your Jira API token.</td><td><code>johndoe@example.com</code></td></tr><tr><td><a href="jira-integration.md#api-token-permissions">Jira API token</a></td><td><a href="https://id.atlassian.com/manage-profile/security/api-tokens">Create your Jira API token here.</a></td><td><code>ATATT*****19FNY5Q</code></td></tr><tr><td>Default label(s) for new tickets</td><td>Labels applied to new Jira tickets created through Trunk Flaky Tests</td><td><code>flaky-test, debt</code></td></tr></tbody></table>
+
+After connecting to Jira, you can specify a default issue type for new tickets and a default assignee for new tickets.
+
+#### API Token Permissions
+
+Your Jira user account must have the following project permissions to create a Jira API token that allows Trunk to read, create, and assign tickets automatically:&#x20;
+
+* _Create issues_
+* _Assign issues_ OR _Browse users and groups_ (global permission)
+* _Browse projects_
+  * If issue-level security is configured, issue-level security permissions must be granted to read issues.&#x20;
+
+You need to create an API token with the following scopes:
+
+* Required scopes (classic)
+  * `read:jira-work`
+  * `write:jira-work`&#x20;
+  * `read:jira-user`
+* Required scopes (granular):&#x20;
+  * `read:issue:jira`
+  * `read:issue-meta:jira`
+  * `read:issue-security-level:jira`
+  * `read:issue.vote:jira`
+  * `read:issue.changelog:jira`
+  * `read:avatar:jira`
+  * `read:status:jira`
+  * `read:user:jira`
+  * `read:field-configuration:jira`
+  * `read:application-role:jira`
+  * `read:group:jira`
+  * `read:issue-type:jira`
+  * `read:project:jira`
+  * `read:project.property:jira`
+  * `read:issue-type-hierarchy:jira`
+  * `read:project-category:jira`
+  * `read:project-version:jira`
+  * `read:project.component:jira`
+  * `read:permission:jira`
+  * `write:issue:jira`
+  * `write:comment:jira`
+  * `write:comment.property:jira`
+  * `write:attachment:jira`
+
+{% hint style="info" %}
+Jira tokens cannot last longer than 365 days. Once the token expires, you will need to generate a new API token.
+{% endhint %}
+
+### Create a New Ticket
+
+You can create a new ticket for any test listed in Trunk Flaky Tests.&#x20;
+
+There are 2 ways to create a new ticket in the Flaky Test dashboard:
+
+* Click on the options menu for any test case on the repo overview dashboard
+
+<figure><picture><source srcset="../../.gitbook/assets/create-ticket-button-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/create-ticket-button-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+* Use the Create ticket button in the top left corner of the [test case details](../detection.md#test-case-details) page.
+
+Before you create the ticket, you will have a preview of the title and description.
+
+<figure><picture><source srcset="../../.gitbook/assets/jira-ticket-creation-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/jira-ticket-creation-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+#### Create with Jira
+
+If you are connected to Jira, you can click the **Create Jira Ticket** button at the end of the modal, which will automatically create a ticket with the configured labels and assignees.
+
+#### Link existing tickets to tests
+
+If you already have a ticket in Jira that you want to link to a test in the dashboard, you can use the [Link Ticket to Test Case API](../../references/apis/flaky-tests.md#post-flaky-tests-link-ticket-to-test-case).
diff --git a/flaky-tests/ticketing-integrations/linear-integration.md b/flaky-tests/ticketing-integrations/linear-integration.md
new file mode 100644
index 00000000..9ce3b657
--- /dev/null
+++ b/flaky-tests/ticketing-integrations/linear-integration.md
@@ -0,0 +1,59 @@
+---
+description: >-
+  Triage your flaky tests faster by creating automatically assigned and labeled
+  tickets with the Linear integration
+---
+
+# Linear Integration
+
+When Trunk Flaky Tests [detects a broken or flaky test](../detection.md), you can create an automatically generated Linear ticket for your team to pick up and fix the test.
+
+Webhook payloads will also contain ticket information when a Jira ticket is created with the integration or when [existing tickets are linked](linear-integration.md#link-existing-tickets-to-tests).
+
+### Connecting to Linear
+
+<figure><picture><source srcset="../../.gitbook/assets/linear-integration-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/linear-integration-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+To connect a Linear project:
+
+1. Navigate to **Settings** > **Repositories** > **Ticketing Integration.**
+2. Select **Linear** as your Ticketing System.
+3. Add a [Linear API key](linear-integration.md#api-token-permissions)
+4. Select a Team and **Connect to Linear**.
+
+After connecting to Linear, you can specify a default project and a default assignee for new tickets.
+
+#### API Key Permissions
+
+The following project permissions must be granted to your Linear API key so Trunk can read, create, and assign tickets automatically:
+
+* _Read_
+* _Create issues_
+
+Selecting _Full Access_ will also grant the required permissions.
+
+### Create a New Ticket
+
+You can create a new ticket for any test listed in Flaky Tests.&#x20;
+
+There are 2 ways to create a new ticket in the Flaky Test dashboard:
+
+* Click on the options menu for any test case on the repo overview dashboard
+
+<figure><picture><source srcset="../../.gitbook/assets/create-ticket-button-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/create-ticket-button-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+* Use the Create ticket button in the top left corner of the [test case details](../detection.md#test-case-details) page.
+
+Before you create the ticket, you get a preview of the title and description.
+
+<figure><picture><source srcset="../../.gitbook/assets/jira-ticket-creation-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/jira-ticket-creation-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+#### Create with Linear
+
+If you are connected to Linear, you can click the **Create Linear Ticket** button at the end of the modal to automatically create a ticket with the configured team and assignees.
+
+Note: You can use [Flaky Tests webhooks](../webhooks/linear-integration.md) to automate ticket creation, or if you need more control over how tickets are created in Linear. This integration is not required when using webhooks.
+
+#### Link existing tickets to tests
+
+If you already have a ticket in Linear that you want to link to a test in the dashboard, you can use the [Link Ticket to Test Case API](../../references/apis/flaky-tests.md#post-flaky-tests-link-ticket-to-test-case).
diff --git a/flaky-tests/ticketing-integrations/other-ticketing-platforms.md b/flaky-tests/ticketing-integrations/other-ticketing-platforms.md
new file mode 100644
index 00000000..10d38c84
--- /dev/null
+++ b/flaky-tests/ticketing-integrations/other-ticketing-platforms.md
@@ -0,0 +1,27 @@
+---
+description: >-
+  Triage your flaky tests faster by manually creating tickets from generated
+  markdown
+---
+
+# Other Ticketing Platforms
+
+If you have not set up an integration, Trunk Flaky Tests can still generate a ticket title and description so you can copy and paste the details into your project management software.
+
+### Create a New Ticket
+
+You can create a new ticket for any test listed in Trunk Flaky Tests.&#x20;
+
+There are 2 ways to create a new ticket in the Flaky Test dashboard:
+
+* Click on the options menu for any test case on the repo overview dashboard
+
+<figure><picture><source srcset="../../.gitbook/assets/create-ticket-button-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/create-ticket-button-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+* Use the Create ticket button in the top left corner of the [test case details](../detection.md#test-case-details) page.
+
+Before you create the ticket, you will have a preview of the title and description.
+
+<figure><picture><source srcset="../../.gitbook/assets/manual-ticket-creation-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/manual-ticket-creation-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+Now you can copy and paste the ticket title and description into your project management or ticketing platform.
diff --git a/flaky-tests/uploader.md b/flaky-tests/uploader.md
new file mode 100644
index 00000000..343c0c5b
--- /dev/null
+++ b/flaky-tests/uploader.md
@@ -0,0 +1,185 @@
+# Uploader CLI Reference
+
+Trunk detects and tracks flaky tests in your repos by receiving uploads from your test runs in CI, uploaded from the Uploader CLI. These uploads happen in the CI jobs used to run tests in your nightly CI, post-commit jobs, and PR checks.&#x20;
+
+### Guides
+
+If you're setting up Trunk Flaky Tests for the first time, you can follow the guides for your CI provider and test framework.
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Guides by Test Frameworks</td><td></td><td></td><td><a href="get-started/frameworks/">frameworks</a></td></tr><tr><td>Guides by CI Provider</td><td></td><td></td><td><a href="get-started/ci-providers/">ci-providers</a></td></tr></tbody></table>
+
+### Installing the CLI
+
+The CLI should be **downloaded as part of your test workflow** in your CI system. The launcher is platform agnostic and will download the latest version of the uploader for your platform.&#x20;
+
+{% hint style="success" %}
+You should **always use the latest version** of the uploader CLI by downloading it fresh in your CI jobs for the best detection results.
+{% endhint %}
+
+You can download the uploader CLI and mark it executable with the following command:
+
+```bash
+curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk
+```
+
+And you can verify that it's been downloaded properly by running:
+
+```sh
+./trunk flakytests -V
+```
+
+Under-the-hood, this downloads the [Trunk CLI Launcher](../references/cli/install.md#the-trunk-launcher) which will download the appropriate binaries for your environment.&#x20;
+
+### Organization Slug and Token
+
+The CLI requires your Trunk organization slug and token passed through `--org-url-slug` and `--token` to upload results to the correct organzation.&#x20;
+
+You can find your organization slug and token by going to **Settings** > **Manage** > **Organization**.&#x20;
+
+{% tabs %}
+{% tab title="Slug" %}
+<figure><picture><source srcset="../.gitbook/assets/org-slug-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/org-slug-light.png" alt=""></picture><figcaption><p>Make sure you are getting your <em>Organization Slug</em>, not the Organization Name.</p></figcaption></figure>
+{% endtab %}
+
+{% tab title="Token" %}
+<figure><picture><source srcset="../.gitbook/assets/org-token-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/org-token-light.png" alt=""></picture><figcaption><p>Ensure you get your <em>Organization API Token</em>, <em><strong>not your repo token</strong></em>.</p></figcaption></figure>
+
+
+{% endtab %}
+{% endtabs %}
+
+### Uploading Using the CLI
+
+{% hint style="info" %}
+The uploaded tests are processed by Trunk periodically, not in real-time. Wait for at least an hour after the initial upload before they’re displayed in the [Uploads tab](get-started/#id-4.-confirm-your-configuration-analyze-your-dashboard). Multiple uploads are required before a test can be accurately detected as broken or flaky.
+{% endhint %}
+
+Trunk accepts uploads in three main report formats, [XML](https://github.com/testmoapp/junitxml), [Bazel Event Protocol JSONs](https://bazel.build/remote/bep#consuming-bep-text-json), and XCode XCResult paths. You can upload each of these test report formats using the `./trunk flakytest upload` command like this:
+
+{% tabs %}
+{% tab title="XML" %}
+Trunk can accept JUnit XMLs through the `--junit-paths` argument:
+
+```
+./trunk flakytests upload --junit-paths "test_output.xml" \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+Trunk can accept Bazel through the `--bazel-bep-path` argument:
+
+```
+./trunk flakytests upload --bazel-bep-path <BEP_JSON_PATH> \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+Trunk can accept XCode through the `--xcresult-path` argument:
+
+```
+./trunk flakytests upload --xcresult-path <XCRESULT_PATH> \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN
+```
+{% endtab %}
+{% endtabs %}
+
+### Testing Using the CLI
+
+You can also execute tests and upload results to Trunk in a single step using the `./trunk flakytest test` command to **wrap** your test command.&#x20;
+
+This is especially useful for [Quarantining](quarantining.md), where the Trunk CLI will **override the exit code** of the test command if all failures can be quarantined, **preventing** flaky tests from failing your builds in CI.
+
+{% tabs %}
+{% tab title="XML" %}
+Trunk can accept JUnit XMLs through the `--junit-paths` argument:
+
+```
+./trunk flakytests test --junit-paths "test_output.xml" \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN \
+   <YOUR_TEST_COMMAND>
+```
+{% endtab %}
+
+{% tab title="Bazel" %}
+Trunk can accept Bazel through the `--bazel-bep-path` argument:
+
+```
+./trunk flakytests test --bazel-bep-path <BEP_JSON_PATH> \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN \
+   <YOUR_TEST_COMMAND>
+```
+{% endtab %}
+
+{% tab title="XCode" %}
+Trunk can accept XCode through the `--xcresult-path` argument:
+
+```
+./trunk flakytests test --xcresult-path <XCRESULT_PATH> \
+   --org-url-slug <TRUNK_ORG_SLUG> \
+   --token $TRUNK_API_TOKEN \
+   <YOUR_TEST_COMMAND>
+```
+{% endtab %}
+{% endtabs %}
+
+#### Upload failure vs test failure
+
+We use the `SOFTWARE` exit code (70) if the upload fails.
+
+If you use the `test` command and tests fail without the failures being quarantined, we return the provided exit code from the wrapped execution.
+
+If you use the `upload` command, we return exit code `FAILURE` or the exit code provided with the `--test_process_exit_code` argument.
+
+### Validating Reports Locally
+
+You can validate the test reports produced by your test frameworks before you set up Trunk in your CI jobs. This is currently **only available for XML reports**.
+
+You can run the validate command like this:
+
+```
+./trunk flakytests validate --junit-paths "test_output.xml"
+```
+
+The `./trunk flakytests validate` command will output any problems with your reports so you can address them before setting up Trunk in CI.
+
+```sh
+Validating the following 1 files:
+  File set matching junit.xml:
+    junit.xml
+
+junit.xml - 1 test suites, 0 test cases, 0 validation errors
+
+All 1 files are valid! ✅
+Navigate to https://app.trunk.io/onboarding?intent=flaky+tests to continue using Trunk Flaky Tests! 🚀🧪
+```
+
+### Upgrade
+
+If you installed the CLI in your CI jobs following the instructions in the [Installing the CLI step](uploader.md#installing-the-cli), the CI job will automatically install the latest version of the CLI. You should **always download a fresh copy of the latest CLI in CI**.
+
+If you're using the `flakytests` CLI subcommand with the Trunk CLI locally, you can upgrade with this command:
+
+<pre class="language-bash"><code class="lang-bash"><strong>./trunk flakytests --upgrade
+</strong></code></pre>
+
+### Full Command Reference
+
+The `trunk` command-line tool can upload and analyze test results. The `trunk flakytests` command accepts the following subcommands:
+
+| Command                           | Description                                                                                                                                                                                         |
+| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `trunk flakytests upload`         | Upload data to Trunk Flaky Tests.                                                                                                                                                                   |
+| `trunk flakytests validate`       | Validates if the provided JUnit XML files and prints any errors.                                                                                                                                    |
+| `trunk flakytests test <COMMAND>` | Runs tests using the provided command, uploads results, checks whether the failures are [quarantined](quarantining.md#using-the-trunk-cli-directly) tests, and correct the exit code based on that. |
+
+The `upload` and `test` commands accept the following options:
+
+<table><thead><tr><th width="265">Argument</th><th>Description</th></tr></thead><tbody><tr><td><code>--junit-paths &#x3C;JUNIT_PATHS></code></td><td>Path to the test output files. File globs are supported. Remember to wrap globs in <code>""</code> quotes</td></tr><tr><td><code>--bazel-bep-path &#x3C;BEP_JSON_PATH></code></td><td>Path to a JSON serialized <a href="https://bazel.build/remote/bep">Bazel Build Event Protocol</a>. Trunk will use the BEP file to locate test reports. Your test frameworks must still output <a href="get-started/frameworks/">compatible report formats</a>.</td></tr><tr><td><code>--xcresult-path &#x3C;XCRESULT_PATH></code></td><td>Path to a <code>.xcresult</code> directory, which contains test reports from <code>xcodebuild</code>.</td></tr><tr><td><code>--org-url-slug &#x3C;ORG_URL_SLUG></code></td><td>Trunk Organization slug, from the Settings page.</td></tr><tr><td><code>--token &#x3C;TOKEN></code></td><td>Trunk Organization (not repo) token, from the Settings page. Defaults to the <code>TRUNK_API_TOKEN</code> variable.</td></tr><tr><td><code>-h, --help</code></td><td>Additional detailed description of the <code>upload</code> command.</td></tr><tr><td><code>--repo-root</code></td><td>Path to the repository root. Defaults to the current directory.</td></tr><tr><td><code>--repo-url &#x3C;REPO_URL></code></td><td>Value to override URL of repository. <strong>Optional</strong>.</td></tr><tr><td><code>--repo-head-sha</code> <code>&#x3C;REPO_HEAD_SHA></code></td><td>Value to override SHA of repository head. <strong>Optional</strong>.</td></tr><tr><td><code>--repo-head-branch &#x3C;REPO_HEAD_BRANCH></code></td><td>Value to override branch of repository head. <strong>Optional</strong>.</td></tr><tr><td><code>--repo-head-commit-epoch &#x3C;REPO_HEAD_COMMIT_EPOCH></code></td><td>Value to override commit epoch of repository head. <strong>Optional</strong>.</td></tr><tr><td><code>--codeowners-path &#x3C;CODEOWNERS_PATH></code></td><td>Value to override CODEOWNERS file or directory path. <strong>Optional</strong>.</td></tr><tr><td><code>--allow-empty-test-results</code></td><td>Don't fail commands if test results are empty or missing. Use it when you sometimes skip all tests for certain CI jobs. Defaults to <code>true</code>.</td></tr><tr><td><code>--variant &#x3C;VARIANT_NAME></code></td><td>Upload tests to a specific variant group. <strong>Optional</strong>.</td></tr><tr><td><code>--test-process-exit-code</code> <code>&#x3C;EXIT_CODE></code></td><td>Specify the exit code of the test previously run. This is used by the upload command to identify errors that happen outside of the context of the test execution (such as build errors).</td></tr></tbody></table>
+
diff --git a/flaky-tests/webhooks/README.md b/flaky-tests/webhooks/README.md
new file mode 100644
index 00000000..3d8c7777
--- /dev/null
+++ b/flaky-tests/webhooks/README.md
@@ -0,0 +1,19 @@
+---
+description: Use webhooks to automate custom flaky test workflows
+---
+
+# Webhooks
+
+Trunk provides webhooks for you to build custom integrations to automate workflows, like notifying your team when a test becomes flaky or automatically creating tickets to investigate flaky tests. Trunk already provides a Jira integration, and more are planned. Webhooks lets you build custom integrations for use cases that are not supported out of the box.
+
+[Svix](https://docs.svix.com/) powers webhooks for Trunk. You'll be using Svix to configure webhooks and you should familiarize yourself with the [Svix App Portal docs](https://docs.svix.com/app-portal) to learn more.
+
+### Supported Events
+
+Trunk lets you create custom workflows with **event-triggered webhooks**. Flaky Test events are named with a `test_case` prefix. You can find all the events that Trunk supports in the event catalog:
+
+{% embed url="https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed" %}
+
+You can also find guides for specific examples here:
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Send a Slack Message</td><td></td><td></td><td></td><td><a href="slack-integration.md">slack-integration.md</a></td></tr><tr><td>Create a GitHub Issue</td><td></td><td></td><td></td><td><a href="github-issues-integration.md">github-issues-integration.md</a></td></tr><tr><td>Send a Microsoft Teams Message</td><td></td><td></td><td></td><td><a href="microsoft-teams-integration.md">microsoft-teams-integration.md</a></td></tr><tr><td>Create a Linear Issue</td><td></td><td></td><td></td><td><a href="linear-integration.md">linear-integration.md</a></td></tr></tbody></table>
diff --git a/flaky-tests/webhooks/github-issues-integration.md b/flaky-tests/webhooks/github-issues-integration.md
new file mode 100644
index 00000000..a17613dd
--- /dev/null
+++ b/flaky-tests/webhooks/github-issues-integration.md
@@ -0,0 +1,207 @@
+---
+description: Learn how to automatically create GitHub Issues with Flaky Test webhooks
+---
+
+# GitHub Issues Integration
+
+Trunk allows you to automate GitHub Issue creation through webhooks. This will allow you to create GitHub issues and auto-assign them to [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) using Webhooks.
+
+<figure><img src="../../.gitbook/assets/example-webhook-github-issue-light.png" alt=""><figcaption><p>GitHub Issue created automatically with webhooks.</p></figcaption></figure>
+
+This guide will walk you through integrating Trunk Flaky Tests with GitHub Issues through webhooks. You will be able to automatically generate GitHub issues for new flaky or broken tests. This guide should take 15 minutes to complete.
+
+### 1. Create a GitHub Token
+
+Before you can create a webhook to automate GitHub Issue creation, you need to create an API token to authorize your requests.
+
+1. Navigate to GitHub Developer Settings under **Settings** > **Developer settings**
+2. Under **Personal access token** > **Fine-grained tokens** > Click **Generate new token**
+3. Name the token something like `Trunk Flaky Tests` so you can recognize your token and set it never to expire.
+4. Select the repositories you need to create issues to under **Repository access**
+5.  Under **Permissions** > **Repository Permissions**, select **Read and Write** access for **Issues.**
+
+    <figure><picture><source srcset="../../.gitbook/assets/example-webhook-github-permissions-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-webhook-github-permissions-light.png" alt=""></picture><figcaption></figcaption></figure>
+6. Click **Generate Token** and copy your API token.
+
+### 2. Add a New Webhook
+
+Trunk uses Svix to integrate with other services, such as GitHub Issues through webhooks.
+
+You can create a new endpoint by:
+
+1. Login to [Trunk Flaky Tests](https://app.trunk.io/login?intent=flaky%20tests)
+2. From your profile on the top right, navigate to **Settings**
+3.  Under **Organization > Webhooks**, click **Automate GitHub Issue Creation**
+
+    <figure><picture><source srcset="../../.gitbook/assets/example-webhook-connector-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-webhook-connector-light.png" alt=""></picture><figcaption></figcaption></figure>
+4. Paste your GitHub repo's Issues endpoint into **Endpoint URL.** Your **Endpoint URL** should be formatted as: `https://api.github.com/repos/{OWNER}/{REPO}/issues`. You can verify the URL by visiting it in your browser, such as [https://api.github.com/repos/trunk-io/docs/issues](https://api.github.com/repos/trunk-io/docs/issues).
+5. Review the transformation code automatically generated for GitHub issues. You can customize this transformation at any time. Learn more about [customizing transformations](github-issues-integration.md#id-5.-customize-your-transformation).
+6. Create the new endpoint. You will be redirected to the endpoint configuration view.
+
+If you're having trouble adding a new webhook endpoint with Svix, please see the [Adding Endpoint docs from Svix](https://docs.svix.com/receiving/using-app-portal/adding-endpoints).
+
+### **3. Add Custom Headers**
+
+The GitHub Issues API requires some custom headers. You can configure custom headers in the endpoint configuration:
+
+1. You can add custom headers under **Webhooks > Advanced > Custom Headers.**
+2. Fill in the **Key** and **Value** referencing the table below, and click the **+** button to add each header.
+
+You'll need to configure the following headers.
+
+| Key                    | Value                         |
+| ---------------------- | ----------------------------- |
+| `Accept`               | `application/vnd.github+json` |
+| `Authorization`        | `Bearer <YOUR_API_TOKEN>`     |
+| `X-GitHub-Api-Version` | `2022-11-28`                  |
+
+### 4. Customize Your Transformation
+
+Transformations are custom code snippets you can write to customize the GitHub issues created by the webhook. A working template transformation will be added automatically for your webhook, but you can further customize the behavior of this webhook.
+
+1. In the endpoint configuration view, navigate to the **Advanced** tab. Under **Transformation**, toggle the **Enabled** switch.
+2. Click **Edit transformation** to update your transformation code, and click **Save** to update the transformation.
+3. You can test the transformation by selecting the `test_case.status_changed` payload and clicking **Run Test**. This will test the transformation but not send a message. You will learn to send a test message in [step 5](github-issues-integration.md#id-5.-test-your-webhook).
+
+The generated webhook template contains several configurable constants out of the box:
+
+<table><thead><tr><th width="346">Constant</th><th>Description</th></tr></thead><tbody><tr><td><code>GITHUB_ISSUE_LABEL_IDS</code></td><td><strong>(Optional)</strong> GitHub labels that will be assigned to issues created by Trunk.</td></tr><tr><td><code>PRS_IMPACTED_THRESHOLD</code></td><td>Issues will be created only for flaky tests that have impacted more PRs than the <code>PRS_IMPACTED_THRESHOLD</code>.<br><br>You can adjust this value if you see many issues about low-impact flaky tests.</td></tr></tbody></table>
+
+Here is the provided transformation for context. You can customize your GitHub Issues integration by following the [GitHub](https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#create-an-issue) and [Svix transformations](https://docs.svix.com/transformations#using-transformations) documentation.
+
+{% code lineNumbers="true" %}
+```javascript
+/**
+ * @param webhook the webhook object
+ * @param webhook.method destination method. Allowed values: "POST", "PUT"
+ * @param webhook.url current destination address
+ * @param webhook.eventType current webhook Event Type
+ * @param webhook.payload JSON payload
+ * @param webhook.cancel whether to cancel dispatch of the given webhook
+ */
+// IDs of any labels you want added to the GitHub issue.
+const GITHUB_ISSUE_LABEL_IDS = [];
+
+// Below are various configs to fine-tune when an issue is created.
+
+// At least this many PRs need to be impacted for an issue to be created.
+const PRS_IMPACTED_THRESHOLD = 2;
+
+function handler(webhook) {
+  const impacted_prs = webhook.payload.test_case.pull_requests_impacted_last_7d;
+  const newStatus = webhook.payload.status_change.current_status.value;
+
+  // Filter for only flaky tests that impact more than the provided threshold
+  if (newStatus !== "flaky" || impacted_prs < PRS_IMPACTED_THRESHOLD) {
+    webhook.payload = "canceled";
+    webhook.cancel = true;
+    return webhook;
+  }
+  webhook.payload = {
+    "title":`Flaky Test: ${webhook.payload.test_case.name.substring(0, 25)} transitioned to ${webhook.payload.status_change.current_status.value}`,
+    "body": summarizeTestCase(webhook.payload),
+    "labels": GITHUB_ISSUE_LABEL_IDS,
+    // Uncomment this function for auto asignment
+    // "assignees": webhook.payload.test_case.codeowners.map((assignee)=>{
+    //     // Strip the `@` symbol from codeowners
+    //     return assignee.slice(1)
+    // })
+  }
+  return webhook
+}
+
+function summarizeTestCase(payload) {
+    const {
+        status_change: {
+            previous_status
+        },
+        test_case: {
+            name,
+            file_path,
+            status,
+            quarantine,
+            repository,
+            codeowners,
+            failure_rate_last_7d,
+            most_common_failures,
+            pull_requests_impacted_last_7d,
+            ticket,
+            html_url
+        }
+    } = payload;
+    // Construct a comprehensive issue body with key details
+    const issueBody = `See all details on the [Trunk Test Detail page](${html_url})
+ 
+Transition time: ${status.timestamp}
+ 
+Latest failure: Dec 9, 2024
+ 
+Severity (last 7 days): ${(failure_rate_last_7d * 100).toFixed(2)}% failure rate; impacting ${pull_requests_impacted_last_7d} PRs
+ 
+Ownership: this test is owned by ${(codeowners || ['@unassigned']).join(', ')}
+
+___
+__The  most common failure reason (out of ${most_common_failures.length} identified failure reason) are:__
+
+${
+  // most_common_failures is a beta feature currently being tested
+  // If you are not on the beta it will be an empty array
+  // Want to try it out? Ask in slack.trunk.io
+  most_common_failures.map((failure, index) => {
+    return `**Reason #${index + 1}**: "${failure.summary}" \n`
+  })
+}
+    `
+    return issueBody
+}
+```
+{% endcode %}
+
+#### Automatically Assign Issues with CODEOWNERS
+
+If you have [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) configured for your GitHub repo, you can create issues with assignees using CODEOWNERS.\
+\
+You can uncomment the code block on lines 31-35 or use a snippet similar to:
+
+```javascript
+"assignees": webhook.payload.test_case.codeowners.map((assignee)=>{
+         // Strip the `@` symbol from codeowners
+         return assignee.slice(1)
+     })
+```
+
+#### Limitations of CODEOWNERS
+
+1. CODEOWNERS supports assigning files to teams, but GitHub doesn't support assigning issues to teams. **If you have team owners in your CODEOWNERS file, the requests will fail**.
+2. If your code owners do not map 1:1 with GitHub users, you will need to provide your own mapping, or webhooks will fail.
+3. The example payload provided for testing has the CODEOWNERS assigned to `@backend`. If you're testing following the instructions in [step 5](github-issues-integration.md#id-5.-test-your-webhook), the delivery attempt can fail.
+
+### 5. Test Your Webhook
+
+You can create test issues by delivering a mock webhook. You can do this by:
+
+1. In the endpoint configuration view, navigate to the **Testing** tab and select a **Send event**
+2. Under **Subscribed events,** select `test_case.status_changed`as the event type to send.
+3. Click **Send Example** to test your webhook
+
+### 6. Monitoring Webhooks
+
+You can monitor the events and the webhook's delivery logs in the **Overview** tab of an endpoint configuration view.
+
+You can see an overview of how many webhook deliveries have been attempted, how many are successful, how many are in flight, and how many fail in the **Attempt Delivery Status** modal.
+
+<figure><img src="../../.gitbook/assets/example-webhook-delivery-status.png" alt=""><figcaption></figcaption></figure>
+
+You can see a list of past delivery attempts in the **Message Attempts** modal. You can filter this list by **Succeeded** and **Failed** status, and you can click on each message to see the **Message content**, response code, and error message of each attempt. You can learn more about [replaying messages](https://docs.svix.com/receiving/using-app-portal/replaying-messages) and [filtering logs](https://docs.svix.com/receiving/using-app-portal/filtering-logs) in the Svix docs.
+
+<figure><img src="../../.gitbook/assets/example-webhook-logs.png" alt=""><figcaption></figcaption></figure>
+
+### Congratulations!
+
+A GitHub Issue will now be created when a test's health status changes. You can further modify your transformation script to customize your issues.
+
+[See the Trunk webhook event catalog](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed)
+
+[Learn more about consuming webhooks in the Svix docs](https://docs.svix.com/receiving/introduction)
+
+[Learn more about the GitHub Issues API](https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#create-an-issue)
diff --git a/flaky-tests/webhooks/linear-integration.md b/flaky-tests/webhooks/linear-integration.md
new file mode 100644
index 00000000..6ee7d9f5
--- /dev/null
+++ b/flaky-tests/webhooks/linear-integration.md
@@ -0,0 +1,345 @@
+---
+description: Learn how to automatically create Linear issues with Flaky Test webhooks
+---
+
+# Linear Integration
+
+Trunk allows you to automate Linear Issue creation through webhooks. This will allow you to create Linear issues and auto-assign according to [CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners).
+
+<figure><picture><source srcset="../../.gitbook/assets/example-webhook-linear-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-webhook-linear-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+This guide will walk you through integrating Trunk Flaky Tests with Linear Issues through webhooks. You will be able to automatically generate Linear issues for **new flaky tests** found in your repo that **impact more than 2 PRs**. This guide should take 15 minutes to complete.
+
+Trunk also has a [built-in Linear integration](linear-integration.md) for ticket creation. You only need to use webhooks if you want to automate ticket creation or need additional customization.
+
+### 1. Create a Linear Personal Access Token
+
+Before you can create a webhook to automate GitHub Issue creation, you need to create an API token to authorize your requests.
+
+1. In the Linear app, navigate to settings by holding `G` and pressing `S`, or by clicking on your profile on the top left and clicking **Settings**.
+2. Under **Account** > **Security & Access** > **Personal API Keys**, Click **New API Key** to create a new access token.
+3. Copy the new API key and save it in a secure location. You'll need to use this later.
+
+### 2. Add a New Webhook In Trunk <a href="#id-2.-add-a-webhook-url-to-the-github-issues-api-in-trunk" id="id-2.-add-a-webhook-url-to-the-github-issues-api-in-trunk"></a>
+
+Trunk uses Svix to integrate with other services, such as creating Linear Issues through webhooks.
+
+You can create a new endpoint by:
+
+1. Login to [Trunk Flaky Tests](https://app.trunk.io/login?intent=flaky%20tests)
+2. From your profile on the top right, navigate to **Settings**
+3.  Under **Organization > Webhooks**, click **Automate Linear Issues Creation.**
+
+    <figure><picture><source srcset="../../.gitbook/assets/example-webhook-connector-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-webhook-connector-light.png" alt=""></picture><figcaption></figcaption></figure>
+4. Paste the Linear GraphQL API endpoint into **Endpoint URL**, which is: `https://api.linear.app/graphql`.
+5. Review the transformation code automatically generated for Linear issues, you can customize this transformation at any time. Learn more about [customizing transformations](linear-integration.md#id-5.-customize-your-transformation).
+6. Create the new endpoint. You will be redirected to the endpoint configuration view.
+
+If you're having trouble adding a new webhook endpoint with Svix, please see the [Adding Endpoint docs from Svix](https://docs.svix.com/receiving/using-app-portal/adding-endpoints).
+
+### **3. Add Custom Headers**
+
+The Linear GraphQL API requires some custom headers. You can configure custom headers in the endpoint configuration:
+
+1. You can add custom headers under **Webhooks > Advanced > Custom Headers.**
+2. Fill in the **Key** and **Value** referencing the table below, and click the **+** button to add each header.
+
+You'll need to configure the following headers.
+
+| Key             | Value              |
+| --------------- | ------------------ |
+| `Authorization` | `<YOUR_API_TOKEN>` |
+
+### 4. Find Your Linear Team, Project, and Label IDs
+
+You need to find your Linear team, project, and label IDs to create issues with the appropriate labeling. You can do this by querying your Linear project using cURL.
+
+#### Team ID
+
+First, you'll need to find your team ID so you can create Linear issues under the correct team. You can make a request in your terminal using cURL, or a similar tool.
+
+You'll need your Linear API key from [step 1](linear-integration.md#id-1.-create-a-linear-personal-access-token).
+
+```bash
+curl \
+  -X POST \
+  -H "Content-Type: application/json" \
+  -H "Authorization: <LINEAR_API_KEY>" \
+  --data '{
+    "query": "query Teams { teams { nodes { id name } }}"
+  }' \
+  https://api.linear.app/graphql
+```
+
+You will receive a response that contains your team UID, for example:
+
+```json
+{
+  "data": {
+    "teams": {
+      "nodes": [
+        {
+          "id": "9bd0672b-7766-4a7c-3233-8ce37fdbb790",
+          "name": "Your Linear Team"
+        }
+      ]
+    }
+  }
+}
+```
+
+#### Project ID
+
+If you want to create issues under a specific project, you'll need to find its project ID. You can use a query like this:
+
+```bash
+curl \
+  -X POST \
+  -H "Content-Type: application/json" \
+  -H "Authorization: lin_api_vw3gMdb2NJN9TQ66JCgBKLqNSNY6I8cH5qxwM6EW" \
+  --data '{
+    "query": "query Projects { projects { nodes { id name } }}"
+  }' \
+  https://api.linear.app/graphql
+```
+
+You'll receive a response that contains your projects and their IDs, for example:
+
+```json
+{
+  "data": {
+    "projects": {
+      "nodes": [
+        {
+          "id": "ef19b35e-ce4f-4132-9705-811d4d6c8c08",
+          "name": "Flaky Tests"
+        }
+      ]
+    }
+  }
+}
+```
+
+#### Label ID
+
+If you want to create issues with a specific label, you'll need to find its label ID. You can use a query like this:
+
+```bash
+curl \
+  -X POST \
+  -H "Content-Type: application/json" \
+  -H "Authorization: lin_api_vw3gMdb2NJN9TQ66JCgBKLqNSNY6I8cH5qxwM6EW" \
+  --data '{
+    "query": "query OrgLabels { organization { labels { nodes { id name } } }}"
+  }' \
+  https://api.linear.app/graphql
+```
+
+You'll receive a response that contains your labels and their IDs, for example:
+
+```json
+{
+  "data": {
+    "organization": {
+      "labels": {
+        "nodes": [
+          {
+            "id": "e0e9f98e-c90c-40cd-939e-06ff7bd57b45",
+            "name": "Feature"
+          },
+          {
+            "id": "ce07d3bd-dee8-4bf6-979e-778dd94f15af",
+            "name": "Bug"
+          },
+          {
+            "id": "536dd774-dc33-4e70-aecc-8b00d1f04a9d",
+            "name": "Improvement"
+          },
+          ...
+        ]
+      }
+    }
+  }
+}
+```
+
+### 5. Customize Your Transformation
+
+Transformations are custom code snippets you can write to customize the Linear issues created by the webhook. A working template transformation will be added automatically for your webhook, but you can further customize the behavior of this webhook.
+
+1. In the endpoint configuration view, navigate to the **Advanced** tab. Under **Transformation**, toggle the **Enabled** switch.
+2. Click **Edit transformation** to update your transformation code, and click **Save** to update the transformation.
+3. You can test the transformation by selecting the `test_case.status_changed` payload and clicking **Run Test**. This will test the transformation but not send a message. You will learn to send a test message[ in step 6](linear-integration.md#id-6.-test-your-webhook).
+
+The generated webhook template contains several configurable constants out of the box:
+
+<table><thead><tr><th width="346">Constant</th><th>Description</th></tr></thead><tbody><tr><td><code>LINEAR_TEAM_ID</code></td><td>(<strong>Required)</strong> Your Linear team ID. <a href="linear-integration.md#team-id">Learn about finding your team ID</a>.</td></tr><tr><td><code>LINEAR_PROJECT_ID</code></td><td><strong>(Optional)</strong> The Linear project ID assigned to new issues. <a href="linear-integration.md#project-id">Learn more about finding your project ID</a>.</td></tr><tr><td><code>LINEAR_LABEL_IDS</code></td><td>(<strong>Optional)</strong> Array of label IDs assigned to new issues. <a href="linear-integration.md#team-id">Learn about finding your l</a><a href="linear-integration.md#label-id">abel IDs</a>.</td></tr><tr><td><code>PRS_IMPACTED_THRESHOLD</code></td><td>Issues will be created only for flaky tests that have impacted more PRs than the <code>PRS_IMPACTED_THRESHOLD</code>.<br><br>You can adjust this value if you see many issues about low-impact flaky tests.</td></tr></tbody></table>
+
+Here is the provided transformation for context. You can customize your Linear Issues integration by following the[ Linear API](https://studio.apollographql.com/public/Linear-API/variant/current/schema/reference) and [Svix transformations](https://docs.svix.com/transformations#using-transformations) documentation.
+
+```javascript
+/**
+ * @param webhook the webhook object
+ * @param webhook.method destination method. Allowed values: "POST", "PUT"
+ * @param webhook.url current destination address
+ * @param webhook.eventType current webhook Event Type
+ * @param webhook.payload JSON payload
+ * @param webhook.cancel whether to cancel dispatch of the given webhook
+ */
+
+// Your Linear Team ID from step 3 above. This is required!
+const LINEAR_TEAM_ID = "";
+// The Linear project ID you want issues assigned to from step 3 above. Optional.
+const LINEAR_PROJECT_ID = "";
+// IDs of any labels you want added to the linear issue. Optional.
+const LINEAR_LABEL_IDS = [];
+
+// Below are various configs to fine-tune when an issue is created.
+
+// At least many PRs need to be impacted for an issue to be created.
+const PRS_IMPACTED_THRESHOLD = 2;
+
+function handler(webhook) {
+  const impacted_prs = webhook.payload.test_case.pull_requests_impacted_last_7d;
+  const newStatus = webhook.payload.status_change.current_status.value;
+
+  const resolvedProjectId = LINEAR_PROJECT_ID ? `"${LINEAR_PROJECT_ID}"` : undefined;
+  const resolvedLinearLabels = LINEAR_LABEL_IDS.map((id) => `"${id}"`).join(",");
+
+  // Filter for only flaky tests that impact more than the provided threshold
+  if (newStatus !== "flaky" || impacted_prs < PRS_IMPACTED_THRESHOLD) {
+    webhook.payload = "canceled";
+    webhook.cancel = true;
+    return webhook;
+  }
+
+  const description = summarizeTestCase(webhook.payload);
+
+  // modify the webhook object...
+  webhook.payload = {query: `mutation IssueCreate {
+    issueCreate(
+      input: {
+        title: "Flaky Test: ${webhook.payload.test_case.name}"
+        description: """${description}"""
+        teamId: "${LINEAR_TEAM_ID}"
+        projectId: ${resolvedProjectId}
+        labelIds: [${resolvedLinearLabels}]
+      }
+    ) {
+      success
+      issue {
+        id
+        title
+      }
+    }
+  } ` };
+  return webhook;
+}
+
+function summarizeTestCase(payload) {
+    const {
+        status_change: {
+            previous_status
+        },
+        test_case: {
+            name,
+            file_path,
+            status,
+            quarantine,
+            repository,
+            codeowners,
+            failure_rate_last_7d,
+            most_common_failures,
+            pull_requests_impacted_last_7d,
+            ticket,
+            html_url
+        }
+    } = payload;
+    // Construct a comprehensive issue body with key details
+    const issueBody = `See all details on the [Trunk Test Detail page](${html_url})
+ 
+Transition time: ${status.timestamp}
+ 
+Latest failure: Dec 9, 2024
+ 
+Severity (last 7 days): ${(failure_rate_last_7d * 100).toFixed(2)}% failure rate; impacting ${pull_requests_impacted_last_7d} PRs
+ 
+Ownership: this test is owned by ${(codeowners || ['@unassigned']).join(', ')}
+
+___
+__The  most common failure reason (out of ${most_common_failures.length} identified failure reason) are:__
+
+${
+  // most_common_failures is a beta feature currently being tested
+  // If you are not on the beta it will be an empty array
+  // Want to try it out? Ask in slack.trunk.io
+  most_common_failures.map((failure, index) => {
+    return `**Reason #${index + 1}**: "${failure.summary}" \n`
+  })
+}
+
+View the full stack trace on the [Test Detail page](${html_url})
+    `
+    return issueBody
+}
+```
+
+#### (Optional) Automatic Issue Assignment
+
+If you have CODEOWNERS configured in your repo, it will be reported by Trunk in the webhook payload. You can use this to map different CODEOWNERS to Linear assignees. You can access CODEOWNERS in the payload like this: `webhook.payload.test_case.codeowners`.
+
+Since the way your owners map to your Linear user is unique to your team, you'll need to provide your own mapping to convert code owners to their **Linear ID**.
+
+You can modify your issue create payload like this to include an assignee:
+
+```javascript
+webhook.payload = {query: `mutation IssueCreate {
+    issueCreate(
+      input: {
+        title: "Flaky Test: ${webhook.payload.test_case.name}"
+        description: """${description}"""
+        teamId: "<YOUR_TEAM_ID>"
+        projectId: "<YOUR_PROJECT_ID>"
+        labelIds: ["<YOUR_LABEL_ID>"]
+        // Add you assignee here:
+        assigneeId: "<ASSIGNEE_ID>"
+      }
+    ) {
+      success
+      issue {
+        id
+        title
+      }
+    }
+  } ` };
+```
+
+### 6. Test Your Webhook
+
+You can create test issues by delivering a mock webhook. You can do this by:
+
+1. In the endpoint configuration view, navigate to the **Testing** tab and select a **Send event**
+2. Under **Subscribed events,** select `test_case.status_changed`as the event type to send
+3. Click **Send Example** to test your webhook
+
+### 7. Monitoring Webhooks
+
+You can monitor the events and the webhook's delivery logs in the **Overview** tab of an endpoint configuration view.
+
+You can see an overview of how many webhook deliveries have been attempted, how many are successful, how many are in flight, and how many fail in the **Attempt Delivery Status** modal.
+
+<figure><img src="../../.gitbook/assets/example-webhook-delivery-status.png" alt=""><figcaption></figcaption></figure>
+
+You can see a list of past delivery attempts in the **Message Attempts** modal. You can filter this list by **Succeeded** and **Failed** status, and you can click on each message to see the **Message content**, response code, and error message of each attempt. You can learn more about [replaying messages](https://docs.svix.com/receiving/using-app-portal/replaying-messages) and [filtering logs](https://docs.svix.com/receiving/using-app-portal/filtering-logs) in the Svix docs.
+
+<figure><img src="../../.gitbook/assets/example-webhook-logs.png" alt=""><figcaption></figcaption></figure>
+
+### Congratulations!
+
+A Linear Issue will now be created when a test's health status changes to **flaky** and **impacts more than 2 PRs**. You can further modify your transformation script to customize your issues.
+
+[See the Trunk webhook event catalog](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed)
+
+[Learn more about consuming webhooks in the Svix docs](https://docs.svix.com/receiving/introduction)
+
+[Learn more about Linear's API](https://developers.linear.app/docs/graphql/working-with-the-graphql-api)
diff --git a/flaky-tests/webhooks/microsoft-teams-integration.md b/flaky-tests/webhooks/microsoft-teams-integration.md
new file mode 100644
index 00000000..1b477b43
--- /dev/null
+++ b/flaky-tests/webhooks/microsoft-teams-integration.md
@@ -0,0 +1,226 @@
+# Microsoft Teams Integration
+
+Trunk allows you to create custom workflows to send customized messages to Microsoft Teams channels through webhooks.
+
+<figure><picture><source srcset="../../.gitbook/assets/example-slack-message-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-slack-message-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+This guide will walk you through sending Microsoft Teams messages using event-triggered webhooks. By the end of this tutorial, you'll receive Microsoft Teams messages for test status changes. This guide should take 10 minutes to complete.
+
+### 1. Configure Incoming Webhooks For Your Team
+
+Microsoft has two different concepts for accepting incoming webhooks. **Connectors** that are being deprecated and **Workflows** that are for newly created teams. This guide is for the newer **Workflows**. The workflow for configuring webhooks is similar, but you may see small differences. You can find more about the soon to be deprecated connectors in [Microsoft's documentation](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=newteams%2Cdotnet).
+
+1. Open the team in which you want to add the webhook and select the kebab menu (•••) from the upper-right corner.
+2. Select **Workflows** from the dropdown menu.
+3. Search for `Post to a channel when a webhook request is received`, select the workflow, then click **Next**.
+4. Configure the workflow's **Microsoft Teams Team** and **Microsoft Teams Channel**, then click **Add workflow**.
+5. When the workflow is added correctly, you can copy the URL displayed, then click **Done.**
+
+### 2. Add a New Webhook
+
+Trunk uses Svix to integrate with other services, such as Microsoft Teams messages through webhooks.
+
+You can create a new endpoint by:
+
+1. Login to [Trunk Flaky Tests](https://app.trunk.io/login?intent=flaky%20tests)
+2. From your profile on the top right, navigate to **Settings**
+3.  Under **Organization > Webhooks**, click **Teams**
+
+    <figure><picture><source srcset="../../.gitbook/assets/example-webhook-connector-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-webhook-connector-light.png" alt=""></picture><figcaption></figcaption></figure>
+4. Paste your Microsoft Teams Workflow URL from [the previous step ](microsoft-teams-integration.md#id-1.-configure-incoming-webhooks-for-your-team)into **Endpoint URL**.
+5. Review the transformation code automatically generated for Teams messages. You can customize this transformation at any time. Learn more about [customizing transformations](microsoft-teams-integration.md#id-3.-customize-your-transformation).
+6. Create the new endpoint. You will be redirected to the endpoint configuration view.
+
+### 3. Customize Your Transformation
+
+Transformations are custom code snippets you can write to customize the Microsoft Teams messages created by the webhook. A working template transformation will be added automatically for your webhook, but you can further customize the behavior of this webhook.
+
+1. In the endpoint configuration view, navigate to the **Advanced** tab. Under **Transformation**, toggle the **Enabled** switch.
+2. Click **Edit transformation** to update your transformation code, and click **Save** to update the transformation.
+3. You can test the transformation by selecting the `test_case.status_changed` payload and clicking **Run Test**. This will test the transformation but not send a message. You will learn to send a test message in [step 4](microsoft-teams-integration.md#id-4.-test-your-webhook).
+
+Below is an example of a webhook transformation to format the messages as [Actionable Messages](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using?tabs=cURL%2Ctext1). If you're having trouble adding a new webhook endpoint with Svix, please see the [Adding Endpoint docs from Svix](https://docs.svix.com/receiving/using-app-portal/adding-endpoints).
+
+```javascript
+/**
+ * @param webhook the webhook object
+ * @param webhook.method destination method. Allowed values: "POST", "PUT"
+ * @param webhook.url current destination address
+ * @param webhook.eventType current webhook Event Type
+ * @param webhook.payload JSON payload
+ * @param webhook.cancel whether to cancel dispatch of the given webhook
+ */
+function handler(webhook) {
+  // See https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#send-adaptive-cards-using-an-incoming-webhook
+  webhook.payload = summarizeTestCase(webhook.payload);
+
+  return webhook;
+}
+
+function summarizeTestCase(payload) {
+    if (!payload || typeof payload !== 'object' || !payload.test_case) {
+        return {
+            type: "message",
+            attachments: [{
+                contentType: "application/vnd.microsoft.card.adaptive",
+                contentUrl: null,
+                content: {
+                    $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
+                    type: "AdaptiveCard",
+                    version: "1.2",
+                    body: [{
+                        type: "TextBlock",
+                        text: "Error: Invalid or missing payload received by Trunk Flaky Test Webhook Transformation.",
+                        color: "attention"
+                    }]
+                }
+            }]
+        };
+    }
+
+    const {
+        test_case: {
+            name = "N/A",
+            file_path = "N/A",
+            status = {},
+            quarantine = false,
+            repository = {},
+            codeowners = [],
+            failure_rate_last_7d = 0,
+            most_common_failures = [],
+            pull_requests_impacted_last_7d = 0,
+            ticket = {},
+            html_url = "N/A"
+        }
+    } = payload;
+
+    const statusTimestamp = status.timestamp 
+        ? new Date(status.timestamp).toLocaleString()
+        : "Unknown";
+
+    // most_common_failures is a beta feature currently being tested
+    // If you are not on the beta it will be an empty array
+    // Want to try it out? Ask in slack.trunk.io
+    const failureBlocks = most_common_failures.map(failure => ({
+        type: "TextBlock",
+        text: `• ${failure.summary}`,
+        wrap: true,
+        spacing: "small"
+    }));
+
+    return {
+        type: "message",
+        attachments: [{
+            contentType: "application/vnd.microsoft.card.adaptive",
+            contentUrl: null,
+            content: {
+                $schema: "http://adaptivecards.io/schemas/adaptive-card.json",
+                type: "AdaptiveCard",
+                version: "1.2",
+                body: [
+                    {
+                        type: "TextBlock",
+                        text: name,
+                        size: "large",
+                        weight: "bolder"
+                    },
+                    {
+                        type: "TextBlock",
+                        text: file_path,
+                        isSubtle: true,
+                        spacing: "none"
+                    },
+                    {
+                        type: "FactSet",
+                        facts: [
+                            {
+                                title: "Status",
+                                value: `${status.value || "Unknown"} (${status.reason?.trim() || "N/A"})`
+                            },
+                            {
+                                title: "Last Updated",
+                                value: statusTimestamp
+                            },
+                            {
+                                title: "Quarantine Status",
+                                value: quarantine ? "Quarantined" : "Not Quarantined"
+                            },
+                            {
+                                title: "Failure Rate (7d)",
+                                value: `${(failure_rate_last_7d * 100).toFixed(1)}%`
+                            },
+                            {
+                                title: "PRs Impacted (7d)",
+                                value: pull_requests_impacted_last_7d.toString()
+                            },
+                            {
+                                title: "Codeowners",
+                                value: codeowners.join(", ") || "None"
+                            }
+                        ]
+                    },
+                    {
+                        type: "TextBlock",
+                        text: "Most Common Failures",
+                        weight: "bolder",
+                        spacing: "medium"
+                    },
+                    ...failureBlocks,
+                    {
+                        type: "ActionSet",
+                        actions: [
+                            {
+                                type: "Action.OpenUrl",
+                                title: "View Repository",
+                                url: repository.html_url || "#"
+                            },
+                            {
+                                type: "Action.OpenUrl",
+                                title: "View Test Details",
+                                url: html_url || "#"
+                            },
+                            {
+                                type: "Action.OpenUrl",
+                                title: "View Related Ticket",
+                                url: ticket.html_url || "#"
+                            }
+                        ]
+                    }
+                ]
+            }
+        }]
+    };
+}
+```
+
+### 4. Test Your Webhook
+
+You can send test messages to your Microsoft Teams channels as you make updates. You can do this by:
+
+1. In the endpoint configuration view, navigate to the **Testing** tab and select a **Send event**
+2. Under **Subscribed events,** select `test_case.status_changed`as the event type to send.
+3. Click **Send Example** to test your webhook
+
+### 5. Monitoring Webhooks
+
+You can monitor the events and the webhook's delivery logs in the **Overview** tab of an endpoint configuration view.
+
+You can see an overview of how many webhook deliveries have been attempted, how many are successful, how many are in flight, and how many fail in the **Attempt Delivery Status** modal.
+
+<figure><img src="../../.gitbook/assets/example-webhook-delivery-status.png" alt=""><figcaption></figcaption></figure>
+
+You can see a list of past delivery attempts in the **Message Attempts** modal. You can filter this list by **Succeeded** and **Failed** status, and you can click on each message to see the **Message content**, response code, and error message of each attempt. You can learn more about [replaying messages](https://docs.svix.com/receiving/using-app-portal/replaying-messages) and [filtering logs](https://docs.svix.com/receiving/using-app-portal/filtering-logs) in the Svix docs.
+
+<figure><img src="../../.gitbook/assets/example-webhook-logs.png" alt=""><figcaption></figcaption></figure>
+
+### Congratulations!
+
+You should now receive notifications in your Teams channel when a test's status changes. You can further modify your transformation script to customize your messages.
+
+<figure><picture><source srcset="../../.gitbook/assets/example-slack-message-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-slack-message-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+[See the Trunk webhook event catalog](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed)
+
+[Learn more about consuming webhooks in the Svix docs](https://docs.svix.com/receiving/introduction)
+
+[Learn more about Microsoft Teams Workflow Webhooks](https://support.microsoft.com/en-us/office/create-incoming-webhooks-with-workflows-for-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498)
diff --git a/flaky-tests/webhooks/slack-integration.md b/flaky-tests/webhooks/slack-integration.md
new file mode 100644
index 00000000..f4f5f92f
--- /dev/null
+++ b/flaky-tests/webhooks/slack-integration.md
@@ -0,0 +1,164 @@
+---
+description: Learn how to use flaky test webhooks to power Slack notifications
+---
+
+# Slack Integration
+
+Trunk allows you to create custom workflows to send customized messages to Slack through webhooks.
+
+<figure><picture><source srcset="../../.gitbook/assets/example-slack-message (1).png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-slack-message.png" alt=""></picture><figcaption></figcaption></figure>
+
+This guide will walk you through sending Slack messages using event-triggered webhooks. By the end of this tutorial, you'll receive Slack messages for test status changes. This guide should take 10 minutes to complete.
+
+### 1. Configure Slack Webhooks
+
+Trunk uses Svix to integrate with other services, such as Slack, through webhooks.
+
+You can add the new Slack Webhook URL to Svix by following these steps:
+
+1. Login to [Trunk Flaky Tests](https://app.trunk.io/login?intent=flaky%20tests)
+2. From your profile on the top right, navigate to **Settings**
+3.  Under **Organization > Webhooks**, click **Slack**
+
+    <figure><img src="../../.gitbook/assets/example-webhook-connector-light.png" alt=""><figcaption></figcaption></figure>
+4.  Click **Connect to Slack** and select the server and channel to connect to.
+
+    <figure><img src="../../.gitbook/assets/example-webhook-connector-slack (1).png" alt=""><figcaption></figcaption></figure>
+5. Review the transformation code automatically generated for GitHub issues. You can customize this transformation at any time. Learn more about [customizing transformations](slack-integration.md#id-2.-customize-your-transformation).
+6. By default, this connection will send messages about Trunk Merge and Flaky Tests events. If you only want Flaky Test events, unselect all events other than `test_case.status_changed`.
+7. Create the new endpoint. You will be redirected to the endpoint configuration view.
+
+If you're having trouble adding a new webhook endpoint with Svix, please see the [Adding Endpoint docs from Svix](https://docs.svix.com/receiving/using-app-portal/adding-endpoints).
+
+### 2. Customize Your Transformation
+
+Transformations are custom code snippets you can write to customize the Slack messages sent by the webhook. A working template transformation will be added automatically for your webhook, but you can further customize the behavior of this webhook.
+
+1. In the endpoint configuration view, navigate to the **Advanced** tab. Under **Transformation**, toggle the **Enabled** switch.
+2. Click **Edit transformation** to update your transformation code, and click **Save** to update the transformation.
+3. You can test the transformation by selecting the `test_case.status_changed` payload and clicking **Run Test**. This will test the transformation but not send a message. You will learn to send a test message in [step 3](slack-integration.md#id-3.-test-your-webhook).
+
+An example transformation script is provided below and you can customize your Slack integration by following the [Slack](https://api.slack.com/messaging/webhooks) and [Svix transformations](https://docs.svix.com/transformations#using-transformations) documentation.
+
+```javascript
+/**
+ * @param webhook the webhook object
+ * @param webhook.method destination method. Allowed values: "POST", "PUT"
+ * @param webhook.url current destination address
+ * @param webhook.eventType current webhook Event Type
+ * @param webhook.payload JSON payload
+ * @param webhook.cancel whether to cancel dispatch of the given webhook
+ */
+function handler(webhook) {
+  const payload = summarizeTestCase(webhook.payload)
+
+  webhook.payload = payload
+  return webhook
+}
+
+function summarizeTestCase(payload) {
+    if (!payload || typeof payload !== 'object' || !payload.test_case) {
+        return "Error: Invalid or missing payload.";
+    }
+
+    const {
+        test_case: {
+            name = "N/A",
+            file_path = "N/A",
+            status = {},
+            quarantine = false,
+            repository = {},
+            codeowners = [],
+            failure_rate_last_7d = 0,
+            most_common_failures = [],
+            pull_requests_impacted_last_7d = 0,
+            ticket = {},
+            html_url = "N/A"
+        }
+    } = payload;
+
+    const statusSummary = `Status: ${status.value || "Unknown"} `
+        + `(Reason: ${status.reason?.trim() || "N/A"}, `
+        + `Updated: ${status.timestamp ? new Date(status.timestamp).toLocaleString() : "Unknown"})`;
+
+    const quarantineStatus = quarantine
+        ? "This test is currently quarantined."
+        : "This test is not quarantined.";
+
+    // most_common_failures is a beta feature currently being tested
+    // If you are not on the beta it will be an empty array
+    // Want to try it out? Ask in slack.trunk.io
+    const failureSummary = most_common_failures.map(failure =>
+        `- ${failure.summary} (${failure.occurrence_count || 0} occurrences, `
+        + `last seen: ${failure.last_occurrence ? new Date(failure.last_occurrence).toLocaleString() : "Unknown"})`
+    ).join("\n");
+
+    const repoLink = `Repository: ${repository.html_url || "N/A"}`;
+    const testLink = `Test Details: ${html_url}`;
+    const ticketLink = `Related Ticket: ${ticket.html_url || "N/A"}`;
+    const ownerSummary = `Codeowners: \`${codeowners.join(", ") || "None"}\``;
+    const statsSummary = `Failure rate (last 7 days): ${(failure_rate_last_7d * 100).toFixed(1)}% `
+        + `| PRs Impacted: ${pull_requests_impacted_last_7d}`;
+
+  return {
+    blocks: [
+      {
+        type: "header",
+        text: {
+          type: "plain_text",
+          text: `Test Name: ${name}`
+        }
+      },
+      {
+        type: "section",
+        text: {
+          type: "mrkdwn",
+          text: [
+              `File Path: \`${file_path}\``,
+              statusSummary,
+              quarantineStatus,
+              `Most Common Failures:\n${failureSummary}`,
+              ownerSummary,
+              statsSummary,
+              repoLink,
+              testLink,
+              ticketLink
+          ].join("\n"),
+        },
+      },
+    ],
+  };
+};
+```
+
+### 3. Test Your Webhook
+
+You can send test messages to your Slack channels as you make updates. You can do this by:
+
+1. In the endpoint configuration view, navigate to the **Testing** tab and select a **Send event**
+2. Under **Subscribed events,** select `test_case.status_changed`as the event type to send.
+3. Click **Send Example** to test your webhook
+
+### 4. Monitoring Webhooks
+
+You can monitor the events and the webhook's delivery logs in the **Overview** tab of an endpoint configuration view.
+
+You can see an overview of how many webhook deliveries have been attempted, how many are successful, how many are in flight, and how many fail in the **Attempt Delivery Status** modal.
+
+<figure><img src="../../.gitbook/assets/example-webhook-delivery-status.png" alt=""><figcaption></figcaption></figure>
+
+You can see a list of past delivery attempts in the **Message Attempts** modal. You can filter this list by **Succeeded** and **Failed** status, and you can click on each message to see the **Message content**, response code, and error message of each attempt. You can learn more about [replaying messages](https://docs.svix.com/receiving/using-app-portal/replaying-messages) and [filtering logs](https://docs.svix.com/receiving/using-app-portal/filtering-logs) in the Svix docs.
+
+<figure><img src="../../.gitbook/assets/example-webhook-logs.png" alt=""><figcaption></figcaption></figure>
+
+### Congratulations!
+
+<figure><picture><source srcset="../../.gitbook/assets/example-slack-message (1).png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/example-slack-message.png" alt=""></picture><figcaption></figcaption></figure>
+
+You should now receive notifications in your Slack workspace when a test's status changes. You can further modify your transformation script to customize your messages.
+
+[See the Trunk webhook event catalog](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed)
+
+[Learn more about consuming webhooks in the Svix docs](https://docs.svix.com/receiving/introduction)
+
+[Learn more about the Slack API](https://api.slack.com/messaging/webhooks)
diff --git a/get-started.md b/get-started.md
deleted file mode 100644
index ee70a775..00000000
--- a/get-started.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Get Started
-
-### Step 1: Install Trunk
-
-To use `trunk` locally, run:
-
-```bash
-curl https://get.trunk.io -fsSL | bash
-```
-
-For other installation options (`npm`, `brew`, direct download, etc) and details on exactly what we install or how to uninstall, see the [Install Trunk](overview/install-trunk.md) doc.
-
-### Step 2: Initialize Trunk in a git repo
-
-From the root of a git repo, run:
-
-```bash
-trunk init
-```
-
-This will bring you into a flow to start getting results from [Trunk Check](check/). For more details, see [here](overview/init-in-a-git-repo.md).
-
-### Step 3: Sign up for a Trunk account (optional)
-
-[Sign up for a Trunk account](https://app.trunk.io/signup), then run:
-
-```bash
-trunk login
-```
-
-To use [Trunk Merge](merge/) and certain other Trunk features, you'll need an account on [trunk.io](https://app.trunk.io), but [Trunk Check](check/) and [Trunk Actions](actions/) can be used entirely locally without depending on hosted services or having a Trunk account.
-
-### Help & Feedback
-
-Join the [Trunk Slack Community](https://slack.trunk.io) for help and to give feedback ([more info](administration/community.md)).
diff --git a/integration-for-slack.md b/integration-for-slack.md
new file mode 100644
index 00000000..de0445f2
--- /dev/null
+++ b/integration-for-slack.md
@@ -0,0 +1,35 @@
+---
+description: >-
+  Trunk Check, Trunk Merge, and other Trunk features can communicate directly
+  with your developer team through Slack.
+---
+
+# Integration with Slack
+
+With the Slack integration, you can easily get notifications from Trunk. This includes notifications around security issues detected by `trunk check` and workflow notifications for your pull requests as they queue and land with `trunk merge`. In this guide, we'll cover how to connect Slack with Trunk on the repository and user level, as well as the different ways you can use Trunk in Slack.
+
+## Add Trunk to your Slack Workspace (admin privileges required)
+
+To receive notifications and/or interact with Trunk from Slack, an admin needs to add Trunk to your organization's Slack workspace. To do this:
+
+1.  Navigate to [https://app.trunk.io](https://app.trunk.io). Click **Settings** > **Repositories** > find **Connect with Slack** under the feature you'd like to connect > click **Connect**
+
+    <figure><img src="https://files.readme.io/14d4355-image.png" alt=""><figcaption></figcaption></figure>
+2. This will open a window where you can sign in to your Slack workspace.
+3. Once you press **Allow**, Trunk will connect to your Slack automatically and begin pushing updates to the channel you have selected.
+
+## Set repo-level notification preferences
+
+Now that you've connected your Slack account with Trunk, you will choose the type of notifications you want to receive from Trunk in Slack. You can manage your repository notifications under **Settings** > **Repositories >** find **Notifications** under the feature you'd like to manage.
+
+{% tabs %}
+{% tab title="Merge" %}
+<figure><img src=".gitbook/assets/Screenshot 2024-06-04 at 6.35.18 PM.png" alt=""><figcaption><p>Configure Slack notifications for Trunk Merge</p></figcaption></figure>
+{% endtab %}
+
+{% tab title="Code Quality" %}
+<figure><img src=".gitbook/assets/Screenshot 2024-06-04 at 6.29.22 PM.png" alt=""><figcaption><p>Configure notifications for Trunk Check</p></figcaption></figure>
+{% endtab %}
+{% endtabs %}
+
+[Privacy Policy](https://trunk.io/privacy)
diff --git a/license b/license
new file mode 100644
index 00000000..f780c7a1
--- /dev/null
+++ b/license
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Trunk Technologies, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/merge-queue/concepts-and-optimizations/README.md b/merge-queue/concepts-and-optimizations/README.md
new file mode 100644
index 00000000..bd3c1baf
--- /dev/null
+++ b/merge-queue/concepts-and-optimizations/README.md
@@ -0,0 +1,5 @@
+# Concepts and Optimizations
+
+Merge Queue scales to meet the demands of any team through unique optimizations. You can merge code safely without compromising performance, even for teams of hundreds and code bases with millions of lines of code.
+
+<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Predictive Testing</strong></td><td><a href="../concepts/predictive-testing.md">predictive-testing.md</a></td></tr><tr><td><strong>Optimistic Merging</strong></td><td><a href="../concepts/optimistic-merging.md">optimistic-merging.md</a></td></tr><tr><td><strong>Pending Failure Depth</strong></td><td><a href="../concepts/pending-failure-depth.md">pending-failure-depth.md</a></td></tr><tr><td><strong>Anti-Flake Protection</strong></td><td><a href="../concepts/anti-flake-protection.md">anti-flake-protection.md</a></td></tr><tr><td><strong>Batching</strong></td><td><a href="../concepts/batching.md">batching.md</a></td></tr><tr><td><strong>Parallel Queues</strong></td><td><a href="parallel-queues/">parallel-queues</a></td></tr><tr><td><strong>FAQs</strong></td><td><a href="../concepts/common-problems.md">common-problems.md</a></td></tr></tbody></table>
diff --git a/merge-queue/concepts-and-optimizations/parallel-queues/README.md b/merge-queue/concepts-and-optimizations/parallel-queues/README.md
new file mode 100644
index 00000000..0055004d
--- /dev/null
+++ b/merge-queue/concepts-and-optimizations/parallel-queues/README.md
@@ -0,0 +1,57 @@
+---
+description: Create dynamic parallel queues to reduce queue time
+---
+
+# Parallel Queues
+
+Normally, a merge queue behaves by enqueueing all submitted pull requests into a single line. Under this mode of operation, every pull request is [predictively tested ](../../concepts/predictive-testing.md)against the pull requests ahead of it. While this guarantees the correctness of the protected branch at all times, under a high submission load, the wait time for an item in the queue can be negatively impacted.\
+\
+A regular merge queue operates like a grocery store with only a single checkout lane. When a lot of folks are trying to checkout at the same time - the line will grow (sometimes intolerably). With a dynamic parallel queue, trunk merge creates additional checkout lanes in real-time while still guaranteeing that the protected branch doesn't break.​ &#x20;
+
+{% embed url="https://share.vidyard.com/watch/XeTFxCCLuDUU3kip2RnykW" %}
+track impacted code of each pull request to create dynamic queues
+{% endembed %}
+
+For example, the following four pull requests:
+
+* PR A with impacted target list `[ frontend ]`
+* PR B with impacted target list `[ backend ]`
+* PR C with impacted target list `[ frontend, backend]`
+* PR D with impacted target list `[ docs]`
+
+Without parallelization, the PRs **A**, **B**, **C**, and **D** would all be tested in a single predictive path **A** <- **B** <- **C** <- **D**. Using the impacted target information we can instead build three dynamically provisioned queues and the predictive testing can yield higher throughput - which means your pull request spends less time in the queue stuck testing with unrelated code changes.
+
+<img src="../../../.gitbook/assets/file.excalidraw.svg" alt="Three Dynamic Parallel Queues" class="gitbook-drawing">
+
+#### **How does it work?**
+
+To run in parallel mode, each pull request needs to be inspected for its impacted targets. This is a fancy way of saying that each pull request needs to report what parts of the codebase are changing.\
+\
+In the example above, the pull requests **A**, **B**, and **D** can be tested in isolation since they affect distinct targets - `backend`, `frontend` and `docs`. The **C** pull request affects both `frontend` and `backend` and would be tested predictively with the changes in both **A** and **B**.\
+\
+To understand the interactions or dependent changes between pull requests, Trunk Merge Queue provides an API for posting the list of **impacted targets** that result from code changes in every PR. When Trunk Merge Queue is running in parallel mode, pull requests will not be processed until the list of impacted targets are uploaded.
+
+#### **What are Impacted Targets?**
+
+Impacted targets are metadata that describe the logical changes of a pull request. An impacted target is a string that can be as expressive as a Bazel target or the name of a file folder. Calculating impacted targets with a purpose-built build system will provide absolute correctness for the merge queue, but more lightweight glob or folder-based approaches can also work with fewer guarantees around correctness.
+
+#### **Posting impacted targets from your pull requests**
+
+We ship several pre-built solutions for popular build systems to automatically calculate and post the impacted targets of a pull request. If you are using another build system, we would be happy to work with you to add support for your specific build system.
+
+<table data-column-title-hidden data-view="cards"><thead><tr><th></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Bazel</strong></td><td></td><td></td><td><a href="../../../.gitbook/assets/bazel-dark.png">bazel-dark.png</a></td><td><a href="bazel.md">bazel.md</a></td></tr><tr><td><strong>Nx</strong></td><td></td><td></td><td><a href="../../../.gitbook/assets/NX.png">NX.png</a></td><td><a href="nx.md">nx.md</a></td></tr><tr><td><strong>Other</strong></td><td></td><td></td><td><a href="../../../.gitbook/assets/Group 1277.png">Group 1277.png</a></td><td><a href="api.md">api.md</a></td></tr></tbody></table>
+
+**Enable Parallel Modes**\
+Merge can be swapped between `Single` and `Parallel` mode at any time. If there are no PRs in the merge queue when switching, the switch will be immediate. If there are PRs in the queue, then Merge will go into the `Switching Modes` state, where it'll wait for all currently testing PRs to merge before switching modes. During this time, PRs will not be able to enter the queue.
+
+Switching modes can be done from the `Merge Queue Mode` section of the `Settings > Repositories > repo name > Merge` panel
+
+<figure><img src="../../../.gitbook/assets/enable-parallel-mode" alt=""><figcaption><p>enabling parallel mode</p></figcaption></figure>
+
+**Find your Trunk API Token**
+
+{% @supademo/embed demoId="LPJsDyJYAsyvUabvkphHK" url="https://app.supademo.com/demo/LPJsDyJYAsyvUabvkphHK" %}
+
+#### Store your Organization Token as a GitHub Secret
+
+{% @supademo/embed demoId="2UWXR9ccwhP4ng5-orZPG" url="https://app.supademo.com/demo/2UWXR9ccwhP4ng5-orZPG" %}
diff --git a/merge-queue/concepts-and-optimizations/parallel-queues/api.md b/merge-queue/concepts-and-optimizations/parallel-queues/api.md
new file mode 100644
index 00000000..d7522740
--- /dev/null
+++ b/merge-queue/concepts-and-optimizations/parallel-queues/api.md
@@ -0,0 +1,43 @@
+---
+description: Upload custom list of impacted targets
+---
+
+# API
+
+Impacted Targets should be computed for every PR. The list of impacted targets should be computed by comparing two different SHAs: the **head of the target branch**, and the **merge commit of the pr**.
+
+{% hint style="info" %}
+Our [reference implementation](https://github.com/trunk-io/bazel-action/tree/main/src/scripts) may be useful in guiding your implementation.
+{% endhint %}
+
+**POST** the list of impacted targets here:`https://api.trunk.io:443/v1/setImpactedTargets`.
+
+```ssml
+HEADERS:
+	Content-Type: application/json,
+	x-api-token: <organization API token>, <!-- only for non forked PRs -->
+	x-forked-workflow-run-id: ${{github.run_id}}, <!-- only for forked PRs -->
+
+BODY: {
+	repo: {
+		host: "github.com",
+		owner: <repo owner>, <!--- For example, "trunk-io" --->
+		name: <repo name>, <!--- For example, "merge-action" --->
+	},
+	pr: {
+		number: <pr number>, <!-- For example, 5 -->
+		sha: <pr sha>, <!-- For example, "07fc773f16c0353bc3820fed65d89afddb9f81c3" -->
+	},
+	targetBranch: <merge instance branch>, <!-- For example, "main" -->
+	impactedTargets: ["target-1", "target-2", ...] OR "ALL" <!--- see notes on "ALL" below --->
+      }
+```
+
+`impactedTargets` allows specifying either an array of strings representing the impacted targets from the PR or the string "ALL" (note that this is explicitly not in an array and is just the string "ALL"). Specifying "ALL" is the equivalent of saying that everything that comes into the graph after this PR should be based on this one, which is useful when your PR contains changes that affect the whole repo (such as editing `trunk.yaml` or a GitHub workflow).
+
+**Handling Forked Pull Requests**\
+The HTTP POST must contain the `x-api-token` to prove that it is a valid request from a workflow your org controls. _Workflows that come from forked PRs most likely will not have access to the Trunk org token_ required for the HTTP POST above. In this case, you should provide the **run ID** of the workflow as the `x-forked-workflow-run-id` header in place of the `x-api-token`. This ID can be obtained from [the GitHub context](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context) as `${{ github.run_id }}`. Trunk Merge Queue will verify that the ID belongs to a currently running workflow originating from a forked PR with a SHA that matches the one provided in the request and allow it through.
+
+{% hint style="info" %}
+We do not recommend using an event trigger like `pull_request_target.` This would allow workflows from forked PRs to get secrets, which is a security risk and would open your repo to attackers making forks, adding malicious code, and then running it against your repo to exfiltrate information. (see[ Keeping your GitHub Actions and workflows secure](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)).
+{% endhint %}
diff --git a/merge-queue/concepts-and-optimizations/parallel-queues/bazel.md b/merge-queue/concepts-and-optimizations/parallel-queues/bazel.md
new file mode 100644
index 00000000..eee55abc
--- /dev/null
+++ b/merge-queue/concepts-and-optimizations/parallel-queues/bazel.md
@@ -0,0 +1,37 @@
+---
+description: Instructions for enabled dynamic parallel queues powered by your bazel graph
+---
+
+# Bazel
+
+Leveraging [parallel mode](../../merge-queue.md#single-mode-vs.-parallel-mode) for Trunk Merge Queue is easy for Bazel-enabled repos because Bazel already knows the structure of your code and can automatically generate a dependency graph. Merge can use this information in parallel mode to create dynamic parallel queues enabling your pull requests to run through your Merge Queue faster.\
+\
+**How do we create parallel queues?**\
+By understanding which Bazel targets a pull request affects, we can build a real-time graph and detect intersection points and where distinct non-overlapping graphs exist. This information is essentially a list of unique target names, which can then be used in real time to understand along which targets pull requests might overlap.
+
+**Calculating impacted targets in GitHub Actions**\
+Trunk ships a [GitHub action](https://github.com/trunk-io/bazel-action) that will generate the list of impacted targets for a pull request and post that information to the Trunk Merge Queue service.
+
+```yaml
+name: Upload and Test Impacted Targets
+on: pull_request
+
+jobs:
+  impacted_targets:
+    name: Impacted Targets
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: Upload and Test Impacted Targets
+        uses: trunk-io/bazel-action@v1
+        with:
+          upload-targets: "true"
+          ### store your trunk api token to authenticate with merge service
+          trunk-token: ${{ secrets.TRUNK_API_TOKEN }}
+          ### (optional if your bazel setup is not in the root of your repo)
+          # workspace-path: {your bazel workspace path}
+```
+
+The above sample GitHub action code will calculate the impacted targets of your pull request and post that information to the trunk merge service. That data will be used to run your trunk merge queue in parallel mode.
diff --git a/merge-queue/concepts-and-optimizations/parallel-queues/nx.md b/merge-queue/concepts-and-optimizations/parallel-queues/nx.md
new file mode 100644
index 00000000..98607416
--- /dev/null
+++ b/merge-queue/concepts-and-optimizations/parallel-queues/nx.md
@@ -0,0 +1,34 @@
+---
+description: Instructions for enabled dynamic parallel queues powered by your Nx graph
+---
+
+# Nx
+
+Leveraging [parallel mode](../../merge-queue.md#single-mode-vs.-parallel-mode) for Trunk Merge Queue is easy for Nx-enabled repos because Nx already knows the structure of your code and can automatically generate a dependency graph. Merge can use this information in parallel mode to create dynamic parallel queues enabling your pull requests to run through your Merge Queue faster.\
+\
+**How do we create parallel queues?**\
+By understanding which Nx targets a pull request affects, we can build a real-time graph and detect intersection points and where distinct non-overlapping graphs exist. This information is essentially a list of unique target names, which can then be used in real time to understand along which targets pull requests might overlap.
+
+**Calculating impacted targets in GitHub Actions**\
+Trunk ships a [GitHub action](https://github.com/trunk-io/nx-action) that will generate the list of impacted targets for a pull request and post that information to the Trunk Merge Queue service.
+
+```yaml
+name: Upload and Test Impacted Targets
+on: pull_request
+
+jobs:
+  impacted_targets:
+    name: Impacted Targets
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+      - name: compute impacted targets
+        uses: trunk-io/nx-action@v1
+        with:
+          ### store your trunk api token to authenticate with merge service
+          trunk-token: ${{ secrets.TRUNK_API_TOKEN }}
+```
+
+The above sample GitHub action code will calculate the impacted targets of your pull request and post that information to the trunk merge service. That data will be used to run your trunk merge queue in parallel mode.
diff --git a/merge-queue/concepts/anti-flake-protection.md b/merge-queue/concepts/anti-flake-protection.md
new file mode 100644
index 00000000..b32889c4
--- /dev/null
+++ b/merge-queue/concepts/anti-flake-protection.md
@@ -0,0 +1,35 @@
+---
+description: >-
+  Using optimistic merging and pending-failure-depth to protect your Merge Queue
+  from flaky failures
+---
+
+# Anti-Flake Protection
+
+Some CI jobs fail for reasons unrelated to a PR's code change, such as due to [flaky tests](https://trunk.io/blog/the-ultimate-guide-to-flaky-tests) or a CI runner disconnecting. These failures are usually cleared when the CI job is rerun. If a second PR that depends on the first **does** pass, it is very likely that the first PR was good and simply experienced a transient failure. Trunk Merge Queue can use the combination of [**Optimistic Merging** ](optimistic-merging.md)and [**Pending Failure Depth**](anti-flake-protection.md#pending-failure-depth) to merge pull requests that would otherwise be rejected from the queue.&#x20;
+
+{% hint style="success" %}
+If you have a lot of flaky tests in your projects, you should track and fix them with [Trunk Flaky Tests](../../flaky-tests/overview.md). Anti-flake protection helps reduce the impact of flaky tests but doesn't help you detect, track, and eliminate them.
+{% endhint %}
+
+In the video below, you can see an example of this anti-flake protection:
+
+{% embed url="https://share.vidyard.com/watch/5YxXzJ5Szy7vP4F7awgTsc" %}
+Anti-flake protection with optimistic merging + pending failure depth
+{% endembed %}
+
+<table><thead><tr><th width="331">what's happening?</th><th>queue</th></tr></thead><tbody><tr><td><strong>A</strong>, <strong>B</strong>, <strong>C</strong> begin predictive testing</td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <strong>B</strong>+a &#x3C;- <strong>C</strong>+ba</td></tr><tr><td><strong>B</strong> fails testing</td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <mark style="color:red;"><strong>B</strong>+a</mark> &#x3C;- <strong>C</strong>+ba</td></tr><tr><td>predictive failure depth keeps <strong>B</strong> from being evicted while <strong>C</strong> tests</td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <mark style="color:red;"><strong>B</strong>+a</mark> (hold) &#x3C;- <strong>C</strong>+ba</td></tr><tr><td><strong>C</strong> passes</td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <mark style="color:red;"><strong>B</strong>+a</mark> &#x3C;- <mark style="color:green;"><strong>C</strong>+ba</mark></td></tr><tr><td>optimistic merging allows <strong>A</strong>, <strong>B</strong>, <strong>C</strong> to merge</td><td><code>merge</code> <strong>A B C</strong></td></tr></tbody></table>
+
+{% hint style="info" %}
+Optimistic Merging only works when the [Pending Failure Depth](anti-flake-protection.md#pending-failure-depth) is set to **a value greater than zero**. When zero or disabled, Merge will not hold any failed tests in the queue.
+{% endhint %}
+
+#### Enabling anti-flake protection
+
+To protect your merge queue from flakes, enable anti-flake protection by enabling [**Optimistic Merge**](optimistic-merging.md) and setting [**Pending Failure Depth**](pending-failure-depth.md) to an integer greater than 0 in the [Merge UI](../managing-merge-queue/using-the-webapp.md) settings:
+
+<figure><img src="../../.gitbook/assets/pika-1715033350907-2x.png" alt=""><figcaption><p>Setting to enable anti-flake protection</p></figcaption></figure>
+
+#### What are the tradeoffs?
+
+When optimistic merging is used, there is a small tradeoff to be made. You can get into a situation where an actually broken test in, say, change 'B' is corrected by a change in 'C'. In this case, if you later reverted to 'C', your build would be broken.
diff --git a/merge-queue/concepts/batching.md b/merge-queue/concepts/batching.md
new file mode 100644
index 00000000..d4f1b566
--- /dev/null
+++ b/merge-queue/concepts/batching.md
@@ -0,0 +1,47 @@
+---
+description: Speed up your testing and merging workflow with Merge Batching
+---
+
+# Batching
+
+Batching allows multiple pull requests in the queue to be tested as a single unit. Given the same CI resources, a system with batching enabled can achieve higher throughput while also reducing the net amount of CI time spent per pull request.\
+\
+By enabling batching, the cost per pull request in the Merge Queue can be reduced by almost 90%. For example, in the table below, you can see how batching affects the amount spent testing pull requests in the queue.
+
+{% embed url="https://share.vidyard.com/watch/BsPi6f1KHvsa6wE18ySAJf" %}
+example of testing pull requests in batches of 3
+{% endembed %}
+
+<table><thead><tr><th data-type="number">Batch Size</th><th width="323">Pull Requests</th><th>Testing Cost</th><th>Savings</th></tr></thead><tbody><tr><td>1</td><td><strong>A</strong>, <strong>B</strong>, <strong>C</strong>, <strong>D</strong>, <strong>E</strong>, <strong>F</strong>, <strong>G</strong>, <strong>H, I, J, K, L</strong></td><td><code>12x</code></td><td>0%</td></tr><tr><td>2</td><td><strong>AB, CD, EF, GH, IJ</strong></td><td><code>6x</code></td><td>50%</td></tr><tr><td>4</td><td><strong>ABCD</strong>, <strong>EFGH, IJKL</strong></td><td><code>3x</code></td><td>75%</td></tr><tr><td>8</td><td><strong>ABCDEFGH, IJKL</strong></td><td><code>1.5x</code></td><td>87.5%</td></tr><tr><td>12</td><td><strong>ABCDEFGHIJKL</strong></td><td><code>1x</code></td><td>92%</td></tr></tbody></table>
+
+## Enable Batching
+
+Batching is enabled in the Merge Settings of your repo in the [Trunk web app](https://app.trunk.io/login?intent=merge%20queue).
+
+<figure><img src="../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
+
+### Configuring Batching
+
+The behavior of batching is controlled by two settings in the Merge Queue:\
+\
+**Target Batch Size:** The largest number of entries in the queue that will be tested in a single batch. A larger target batch size will help reduce CI cost per pull request but require more work to be performed when progressive failures necessitate bisection.\
+\
+**Maximum Wait Time:** The maximum amount of time the Merge Queue should wait to fill the target batch size before beginning testing. A higher maximum wait time will cause the Time-In-Queue metric to increase but have the net effect of reducing CI costs per pull request.
+
+<table><thead><tr><th>Time (mm:ss)</th><th width="323">Batching 4; Maximum Wait 5 minutes</th><th>Testing</th></tr></thead><tbody><tr><td>00:00</td><td><strong>enqueue A</strong></td><td><code>----</code></td></tr><tr><td>01:00</td><td><strong>enqueue B</strong></td><td><code>----</code></td></tr><tr><td>02:30</td><td><strong>enqueue C</strong></td><td><code>----</code></td></tr><tr><td>05:00</td><td>5 min maximum wait time reached</td><td><code>Begin testing ABC</code></td></tr></tbody></table>
+
+### What happens when a batch fails testing?
+
+If a batch fails, Trunk Merge Queue will move it to a separate queue for bisection analysis. In this queue, the batch will be split in various ways and tested in isolation to determine the PRs in the batch that introduced the failure. PRs that pass this way will be moved back to the main queue for re-testing. PRs that are believed to have caused the failure are kicked from the queue.
+
+### Batching + Optimistic Merging and Pending Failure Depth
+
+Enabling batching along with Pending Failure Depth and Optimistic Merging can help you realize the major cost savings of batching while still reaping the [anti-flake ](anti-flake-protection.md)protection of optimistic merging and pending failure depth.
+
+<table><thead><tr><th width="331">event</th><th>queue</th></tr></thead><tbody><tr><td>Enqueue <strong>A</strong>, <strong>B</strong>, <strong>C, D, E, F, G</strong></td><td><code>main</code> &#x3C;- <strong>ABC</strong> &#x3C;- <strong>DEF</strong> +abc</td></tr><tr><td>Batch ABC fails</td><td><code>main</code> &#x3C;- <mark style="color:red;"><strong>ABC</strong></mark></td></tr><tr><td>pending failure depth keeps <strong>ABC</strong> from being evicted while <strong>DEF</strong></td><td><code>main</code> &#x3C;- <mark style="color:red;"><strong>ABC</strong></mark> (hold) &#x3C;- <strong>DEF</strong>+abc</td></tr><tr><td><strong>DEF</strong> passes</td><td><code>main</code> &#x3C;- <mark style="color:red;"><strong>ABC</strong></mark> &#x3C;- <mark style="color:green;"><strong>DEF</strong>+abc</mark></td></tr><tr><td>optimistic merging allows <strong>ABC</strong> and <strong>DEF</strong> to merge</td><td><code>merge</code> <strong>ABC</strong>, <strong>DEF</strong></td></tr></tbody></table>
+
+Combined, Pending Failure Depth, Optimistic Merging, and Batching can greatly improve your CI performance because now Merge can optimistically merge whole batches of PRs with far less wasted testing.
+
+### **What are the risks of batching?**
+
+The downsides here are very limited. Since batching combines multiple pull requests into one, you essentially give up the proof that every pull request in complete isolation can safely be merged into your protected branch. In the unlikely case that you have to revert a change from your protected branch or do a rollback, you will need to retest that revert or submit it to the queue to ensure nothing has broken. In practice, this re-testing is required in almost any case, regardless of how it was originally merged, and the downsides are fairly limited.
diff --git a/merge-queue/concepts/common-problems.md b/merge-queue/concepts/common-problems.md
new file mode 100644
index 00000000..5c7634dc
--- /dev/null
+++ b/merge-queue/concepts/common-problems.md
@@ -0,0 +1,40 @@
+---
+description: Troubleshooting and FAQ
+---
+
+# FAQ
+
+## My PR is testing in my Merge Queue, but it doesn't look like my required status checks are being triggered.
+
+Most likely, you did not set up the required status checks to trigger for `trunk-merge/` branches. It is also possible that your CI provider just randomly never started testing on the Trunk Merge Queue branch, even after setting the required status checks to trigger. To assist with this, you can [configure a testing timeout](../set-up-trunk-merge/advanced-settings.md#timeout-for-tests-to-complete).
+
+## My PR appears to be ready but isn't entering the Merge Queue.
+
+First, check the Trunk web app to see what Trunk is waiting on before putting your PR into the merge queue.&#x20;
+
+Next, if something on that page doesn't look right, for example, it says that GitHub is still checking the mergeability of the PR, comment `/trunk merge` again in the PR.
+
+## My PR is constantly failing when it starts testing because of "GitHub errors".
+
+Most likely, you have a branch protection rule that affects merge branches. For example, the wild card rule `*/*` applies to `trunk-merge/...`. The Trunk GitHub app does not have admin privileges, so it fails to do some actions on protected branches. To resolve this, you must remove this rule or reach out to Trunk on our community Slack if that is not possible.
+
+## My PR is constantly failing when attempting to merge it
+
+The two most likely problems are that you are restricting **who can merge** or that you have **disabled squash merges** into your repo. Trunk Merge Queue needs to use squash merges. To fix this, turn on `'allow squash merges'` for this repo in your GitHub setup.
+
+## How do I know if I'm running a legacy merge queue?
+
+Look for the 'Graph' tab in the UI. If you can see it, then you are using the new version.
+
+## Why do Dependabot and Renovate PRs keep getting kicked from the Merge Queue?
+
+By default, both [dependabot](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates#changing-the-rebase-strategy-for-dependabot-pull-requests) and [renovate](https://docs.renovatebot.com/updating-rebasing/#updating-and-rebasing-branches) both will rebase their PRs whenever other PRs merge into their base branch. If that rebase happens when those PRs are in the queue, they will get kicked since they were updated. There are two ways to mitigate this:
+
+1. Both dependabot and renovate can be configured to not automatically rebase, while renovate can specifically be configured to only rebase if there's a merge conflict ([dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#rebase-strategy), [renovate](https://docs.renovatebot.com/configuration-options/#rebasewhen))
+2. Their PRs can be manually merged, and anything currently in the merge queue will restart with those merged changes
+
+## I have an emergency PR that needs to merge right now. How can I do that?
+
+To merge a PR in an emergency, you can just merge the PR directly through GitHub as you normally would. The merge queue will restart everything it is currently testing to account for the new head of the merge branch.
+
+We currently have other features planned to help with this, so stay tuned!
diff --git a/merge-queue/concepts/optimistic-merging.md b/merge-queue/concepts/optimistic-merging.md
new file mode 100644
index 00000000..98b2ec31
--- /dev/null
+++ b/merge-queue/concepts/optimistic-merging.md
@@ -0,0 +1,21 @@
+---
+description: Leverage results of pull requests behind you in the queue to merge faster
+---
+
+# Optimistic Merging
+
+The foundation of our merge queue starts with [predictive testing](predictive-testing.md). When a predictive test is being run, concurrent tests sometimes finish before the work ahead of it. This creates a situation where the system knows that all code ahead of it collectively `passes` tests, and it is safe to merge all those changes into your protected branch (`main)`.\
+\
+With optimistic merging enabled, we can leverage results from pull requests later in the queue to merge faster. In the illustration below you can see that pull request 'c' includes the verified testing results of pull requests 'b' and 'a'. As soon as 'c' passes testing, we can safely merge 'a', 'b', and 'c' and know they will all work correctly together.
+
+{% embed url="https://share.vidyard.com/watch/5iy2KdNFKHM1Nc13zDv8g8?" %}
+Optimistic merging to merge faster
+{% endembed %}
+
+You can enable optimistic merging through the [Merge UI](../managing-merge-queue/using-the-webapp.md) settings as shown below:
+
+<figure><img src="../../.gitbook/assets/pika-1715033350907-2x.png" alt=""><figcaption><p>Setting to enable anti-flake protection</p></figcaption></figure>
+
+**What are the risks of optimistic merging?**
+
+The downsides here are very limited. You essentially give up the proof that every pull request in complete isolation can safely be merged into your protected branch. In the unlikely case that you have to revert a change from your protected branch, you will need to retest that revert or submit it to the queue to ensure nothing has broken. In practice, this re-testing is required in almost any case, regardless of how it was originally merged, and the downsides are fairly limited.
diff --git a/merge-queue/concepts/pending-failure-depth.md b/merge-queue/concepts/pending-failure-depth.md
new file mode 100644
index 00000000..a4c7d1a1
--- /dev/null
+++ b/merge-queue/concepts/pending-failure-depth.md
@@ -0,0 +1,18 @@
+# Pending Failure Depth
+
+By default, a PR that fails testing will be evicted from the queue. The **Pending Failure Depth** feature allows a failed PR to remain in the queue for pull requests behind it so that testing can be finished before this eviction occurs. The number of PRs that the queue will wait for is the _Pending Failure Depth._ This depth is configurable and reflects the number of pull requests behind this one that should complete testing before eviction is assessed. \
+\
+Let's take the example queue below:\
+\
+`main` <- **A** <- **B** <- **C**\
+\
+If _pending failure depth_ is set to 2 and **A** fails, Trunk Merge Queue will wait until both **B** and **C** complete testing before retrying or kicking **A** out of the queue.\
+\
+**Why does this matter?**\
+Since Trunk Merge Queue performs predictive testing when the queue above is tested, it is actually testing the code like this:\
+\
+`main` <- <mark style="color:red;">**A**</mark> <- **B**+a <- **C**+ba\
+\
+The code in A is actually being tested when both **B** and **C** are being tested. We can take advantage of this feature of [predictive testing](predictive-testing.md) to give pull request **A** a second and third chance to pass tests.\
+\
+That means that if pull request **A** fails because of a flaky test, it doesn't have to be immediately rejected and can leverage the test coverage it receives during the testing of **B** and **C**. By combining pending failure depth with optimistic merging - we can create a merge queue better [protected from flaky failures](anti-flake-protection.md).&#x20;
diff --git a/merge-queue/concepts/predictive-testing.md b/merge-queue/concepts/predictive-testing.md
new file mode 100644
index 00000000..e707713d
--- /dev/null
+++ b/merge-queue/concepts/predictive-testing.md
@@ -0,0 +1,27 @@
+---
+description: >-
+  Test pull requests with a predicted view of your stable branch by including
+  all the changes in the pull requests ahead of it.
+---
+
+# Predictive Testing
+
+The core concept of any merge queue solution is predictive testing. The idea here is to test your pull request against the head of your protected branch `main` and all the pull requests ahead of your own in the queue.  \
+
+
+{% embed url="https://share.vidyard.com/watch/31gaLwGNSYTn2ec2BSQjkn" %}
+Test your pull request with the changes ahead of it in the queue
+{% endembed %}
+
+
+
+<table><thead><tr><th width="331">What's Happening?</th><th>Queue</th></tr></thead><tbody><tr><td><strong>A</strong> begins testing</td><td><code>main</code> &#x3C;- <mark style="background-color:orange;"><strong>A</strong></mark></td></tr><tr><td><strong>B</strong> begins predictive testing by including the changes in <strong>A</strong></td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <mark style="background-color:orange;"><strong>B</strong>+a</mark> &#x3C;- <strong>C</strong>+ba</td></tr><tr><td><strong>C</strong> begins predictive testing by including the changes in both <strong>A</strong> and B</td><td><code>main</code> &#x3C;- <strong>A</strong> &#x3C;- <strong>B+a</strong>  &#x3C;- <mark style="background-color:orange;"><strong>C</strong>+ba</mark></td></tr><tr><td>as testing completes - pull requests can merge safely</td><td><code>merge</code> <strong>A</strong>, <strong>B</strong>, <strong>C</strong></td></tr></tbody></table>
+
+**What's the point of predictive testing?**
+
+Normally, pull requests are tested against a snapshot of the head of `main` when the pull request is posted to your source control provider. This can mean that by the time the pull request is actually merged - the results of the automated testing are stale. \
+\
+When you merge a pull request with stale results, you are effectively merging in un-tested code. The changes to the protected branch since the test was run create a blind spot in your testing regimen. With predictive testing, you no longer have a blind spot because the merge queue ensures that the pull request is tested against the state of `main` that will exist when your pull request is merged. \
+\
+No blind spots === no build breakages.
+
diff --git a/merge-queue/how-does-it-work.md b/merge-queue/how-does-it-work.md
new file mode 100644
index 00000000..00b19e75
--- /dev/null
+++ b/merge-queue/how-does-it-work.md
@@ -0,0 +1,40 @@
+---
+description: >-
+  Merge Queue creates predictive branches to verify that the future state of
+  your protected branch will remain green when the contents of the queue merge
+  into it.
+---
+
+# How does it work?
+
+### **How does a merge queue work?**
+
+1. Instead of merging your pull requests directly through GitHub, engineers submit their pull requests to the merge queues service. A pull request can be submitted to the queue before passing CI or code review is complete. Once the prerequisites for the queue have been met, the pull request will formally enter the queue.
+2. Trunk Merge Queue will test your pull request against the changes ahead of it in the queue so that the changes are tested against the predicted view of the branch, assuming everything ahead of it merges successfully. This process is called [**predictive testing** ](concepts/predictive-testing.md)and is illustrated in the video below.
+3. When all the required tests are passed, Trunk will **squash merge** your pull request into the protected branch automatically.
+4. If your pull requests fail tests, they will either be retested or removed from the queue for further inspection by the author.
+
+{% embed url="https://share.vidyard.com/watch/31gaLwGNSYTn2ec2BSQjkn" %}
+predictive testing // test pull requests ahead of you in the queue with your changes
+{% endembed %}
+
+\
+**What happens under the hood when I submit a pull request to the queue?**
+
+1. Trunk Merge Queue will wait until all the normal gating tests for a pull request are passing. By default, this is the list of required status checks and code review requirements you have configured for pull requests to pass before they can be merged onto `main`
+2. Once the pre-requisites are met, Trunk Merge Queue will create a temporary branch with the naming convention `trunk-merge/***`. This branch will be based on the head of `main` and will include the changes in your pull request and the changes from pull requests ahead of your pull request in the queue. This is the predictive branch described above and is used to guarantee the correctness of your system.
+3. The same tests that are required for your pull request will now be run on this predictive branch. When those tests pass - your original pull request will be merged into `main`.
+
+### Key Concepts
+
+<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">Batching</td><td><a href="concepts/batching.md">batching.md</a></td></tr><tr><td align="center">Dynamic Parallel Queues</td><td><a href="concepts-and-optimizations/parallel-queues/">parallel-queues</a></td></tr><tr><td align="center">Optimistic Merging</td><td><a href="concepts/optimistic-merging.md">optimistic-merging.md</a></td></tr><tr><td align="center">Pending Failure Depth</td><td><a href="concepts/pending-failure-depth.md">pending-failure-depth.md</a></td></tr><tr><td align="center">Prioritization</td><td><a href="pr-prioritization.md">pr-prioritization.md</a></td></tr><tr><td align="center">Flaky Test Protection</td><td><a href="concepts/anti-flake-protection.md">anti-flake-protection.md</a></td></tr></tbody></table>
+
+{% embed url="https://youtu.be/V74t41-uV7I" %}
+
+### **Requirements**
+
+Trunk Merge Queue works with any CI provider as long as you use GitHub for your repo hosting.
+
+### **Next Steps**
+
+<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>Talk to a developer</td><td></td><td><a href="https://calendly.com/trunk/demo">https://calendly.com/trunk/demo</a></td></tr><tr><td></td><td>Get started on your own</td><td></td><td><a href="set-up-trunk-merge/">set-up-trunk-merge</a></td></tr></tbody></table>
diff --git a/merge-queue/managing-merge-queue/README.md b/merge-queue/managing-merge-queue/README.md
new file mode 100644
index 00000000..71ef04a0
--- /dev/null
+++ b/merge-queue/managing-merge-queue/README.md
@@ -0,0 +1,5 @@
+# Managing Merge Queue
+
+While most every-day interactions with Merge Queue will happen right in your PR, the Trunk CLI and Web App provide more options to monitor and manage the queue.
+
+<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Using the Merge UI</strong></td><td><a href="using-the-webapp.md">using-the-webapp.md</a></td></tr><tr><td><strong>Metrics</strong></td><td><a href="metrics.md">metrics.md</a></td></tr><tr><td><strong>Command Line</strong></td><td><a href="command-line.md">command-line.md</a></td></tr></tbody></table>
diff --git a/merge-queue/managing-merge-queue/command-line.md b/merge-queue/managing-merge-queue/command-line.md
new file mode 100644
index 00000000..37216c6d
--- /dev/null
+++ b/merge-queue/managing-merge-queue/command-line.md
@@ -0,0 +1,12 @@
+---
+description: Interacting with your merge queue from the command line
+---
+
+# Command Line
+
+The Trunk CLI allows you to insert and remove PRs into the Merge Queue. You can also pause and resume the queue from the CLI.
+
+Before you can use the CLI, install it following the [CLI Installation docs](../../references/cli/install.md).
+
+<table><thead><tr><th width="271">trunk merge &#x3C;command></th><th>Description</th></tr></thead><tbody><tr><td><code>status</code></td><td>display snapshot of activity in the merge queue including recently merged, currently testing, and enqueued pull requests</td></tr><tr><td><code>status &#x3C;pr-number></code></td><td>display merge queue history for the pull request</td></tr><tr><td><code>&#x3C;pr-number></code></td><td>insert the specified pull request into the merge queue</td></tr><tr><td><code>cancel &#x3C;pr-number></code> </td><td>remove a pull request from the merge queue</td></tr><tr><td><code>pause</code></td><td>[admin only] pause the merge queue processing</td></tr><tr><td><code>resume</code></td><td>[admin only] resume merge queue processing</td></tr></tbody></table>
+
diff --git a/merge-queue/managing-merge-queue/metrics.md b/merge-queue/managing-merge-queue/metrics.md
new file mode 100644
index 00000000..b557abd4
--- /dev/null
+++ b/merge-queue/managing-merge-queue/metrics.md
@@ -0,0 +1,81 @@
+# Metrics
+
+Your merge experience directly impacts the velocity and productivity of your development team. Merge Queue Metrics provides observability for the **health** of your Trunk Merge Queue, so you can discover issues early and make informed optimizations.
+
+<figure><img src="../../.gitbook/assets/Trunk Merge Queue Metrics.png" alt=""><figcaption><p>The Health tab showing metrics in the Trunk Web App.</p></figcaption></figure>
+
+### Access Metrics
+
+You can access the metrics in your Trunk Merge Queue by navigating to the Trunk Web App > **Merge Queue** > **Health**.&#x20;
+
+{% hint style="info" %}
+CI Time and CI Jobs Triggered charts are only available for **GitHub Actions**.
+{% endhint %}
+
+### Time Buckets
+
+The date ranges selector at the top left of the dashboard allows you to filter the data displayed by date and time. You can display time buckets by the day or hour in the day/hour dropdown.
+
+The metrics displayed only include data that have **completed within the time range**, jobs started but not completed during the selected time **will not be displayed**.&#x20;
+
+{% hint style="info" %}
+When working across multiple time zones, enable **Time in UTC** to ensure everyone sees the same data.&#x20;
+{% endhint %}
+
+### Conclusion Count
+
+Conclusion count displays the number of pull requests that exited the merge queue during each time bucket. This includes passes, failures, and cancellations. Passes and failures signal a PR that was tested in the queue to completion, while canceled signals that the request to merge terminated before testing finished or before testing began.
+
+Conclusion counts are an important signal to potential bottlenecks or underlying issues with your merging process, as a failure or cancellation in the merge queue can force other PRs to **restart their testing**. A spike in the number of failures or passes can indicate a potential problem to investigate.
+
+Conclusions are tagged with a reason to give further insights into how merges pass or fail in the queue. You can show or hide conclusions of a particular reason by using the **+ Add** button.
+
+<table><thead><tr><th width="167">Category</th><th width="248">Reason</th><th>Description</th></tr></thead><tbody><tr><td>✅ Pass</td><td>Merged by Trunk</td><td>Passed all tests in Merge Queue and merged by Trunk</td></tr><tr><td>✅ Pass</td><td>Merged manually</td><td>User manually merged the PR in Git</td></tr><tr><td>❌ Failure</td><td>Test run timeout</td><td>User-defined timeout for tests exceeded</td></tr><tr><td>❌ Failure</td><td>Failed Tests</td><td>Required test failed while testing the PR in the merge queue</td></tr><tr><td>❌ Failure</td><td>Merge conflict</td><td>A (git) merge conflict encountered</td></tr><tr><td>❌ Failure</td><td>Config parsing failure</td><td>Malformed <code>trunk.yaml</code> that couldn't be parsed</td></tr><tr><td>❌ Failure</td><td>Config bad version</td><td>Invalid version field in <code>trunk.yaml</code></td></tr><tr><td>❌ Failure</td><td>Config bad required statuses</td><td>Failed to parse required statuses in <code>trunk.yaml</code></td></tr><tr><td>❌ Failure</td><td>No required statuses</td><td>No source for required tests was found in <code>trunk.yaml</code> or branch protection settings</td></tr><tr><td>❌ Failure</td><td>GitHub API Failed</td><td>GitHub returned an error to us that could not be resolved while processing the PR</td></tr><tr><td>❌ Failure</td><td>PR updated at merge time</td><td>PR updated as Trunk was attempting to merge it</td></tr><tr><td>🚫 Cancel</td><td>Canceled by user</td><td>PR explicitly canceled by user</td></tr><tr><td>🚫 Cancel</td><td>PR closed</td><td>PR closed (not merged)</td></tr><tr><td>🚫 Cancel</td><td>PR pushed to</td><td>New commits pushed to the PR branch while in the merge queue</td></tr><tr><td>🚫 Cancel</td><td>PR draft</td><td>PR was converted to a draft, which cannot be merged</td></tr><tr><td>🚫 Cancel</td><td>PR base branch changed</td><td>Base branch of PR in the merge queue changed</td></tr><tr><td>🚫 Cancel</td><td>Admin requested</td><td>Trunk employee canceled PR during a support session (extreme cases)</td></tr></tbody></table>
+
+### Time in Queue
+
+Time in queue shows how long each PR spends in the Merge Queue from the moment the PR enters the queue to the moment when it exits the queue, either from merging, failing, or being canceled.&#x20;
+
+Understanding the amount of time a pull request spends in the queue is important for ensuring your merge process continues to ship code quickly. A spike in the time to merge indicates a slowdown somewhere that's impacting all developers. For example, it's taking longer to run tests on PRs, PRs are waiting too long to start testing, or constant failures in the queue are causing PRs to take longer to merge
+
+The time in queue can be displayed as different statistical measures. You can show or hide them by using the **+ Add** button.
+
+| Measure | Explanation                                         |
+| ------- | --------------------------------------------------- |
+| Average | Average of all time in queue during the time bucket |
+| Minimum | The shortest time in queue in the time bucket.      |
+| Maximum | The longest time in queue in the time bucket.       |
+| Sum     | The total of all time in queue added together.      |
+| P50     | The value below 50% of the time in queue falls.     |
+| P95     | The value below 95% of the time in queue falls.     |
+| P99     | The value below 99% of the time in queue falls.     |
+
+### CI Time to Test PRs
+
+CI Time measures the time it takes to test each pull request in the merge queue. Specifically, how long CI jobs have to run to test PRs. This measures **only CI steps relevant to the merge queue**, other CI steps like build or deploy or any workflows outside of the merge queue will not be measured.
+
+{% hint style="info" %}
+CI Time and CI Jobs Triggered charts are only available for **GitHub Actions**.
+{% endhint %}
+
+Monitoring the amount of time it takes for CI workflows to test PRs is important for making sure PRs can move through the queue quickly. The more time it takes to test PRs, the more time a PR will be in the queue. Large spikes signal that work should be devoted to reducing the length of bottlenecking CI jobs, or more CI resources are needed.
+
+\
+CI Time to Test PRs can be shown as different statistical measures by pressing the **+ Add** button
+
+| Measure                    | Explanation                                                                                                                                                                                                                                                                     |
+| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Sum                        | The total time it has taken to run all CI jobs for all PRs in the queue                                                                                                                                                                                                         |
+| Average Per Test Run       | The average amount of total CI time it takes to test a PR or batch of PRs in the queue.                                                                                                                                                                                         |
+| Average Per Individual PR  | <p>The average amount of total CI time it takes to test an individual PR. This specifically accounts for <strong>batching</strong>.</p><p></p><p>For example, if a batch of 5 PRs takes 50 minutes of CI time to test, this would be 50 / 5 = 10 minutes on average per PR.</p> |
+| Average Per Individual Job | The average amount of time it takes for an individual job to complete when testing a PR. There are usually multiple jobs launched when testing a PR.                                                                                                                            |
+
+### **CI Jobs Triggered To Test PRs**
+
+The count of Individual CI jobs that are triggered to test PRs in the merge queue. There could be multiple jobs triggered per PR - this metric captures all of them.
+
+Each job will require a CI runner. A spike or large number of requested jobs can result in PRs waiting longer to begin testing.&#x20;
+
+{% hint style="info" %}
+CI Time and CI Jobs Triggered charts are only available for **GitHub Actions**.
+{% endhint %}
diff --git a/merge-queue/managing-merge-queue/using-the-webapp.md b/merge-queue/managing-merge-queue/using-the-webapp.md
new file mode 100644
index 00000000..c5713e96
--- /dev/null
+++ b/merge-queue/managing-merge-queue/using-the-webapp.md
@@ -0,0 +1,69 @@
+---
+description: >-
+  The web app offers detailed information about pull requests, the state of the
+  merge queue, and more.
+---
+
+# Using the Merge UI
+
+The web app can be found at [app.trunk.io](https://app.trunk.io/login?intent=merge%20queue).
+
+## Queue Overview
+
+The queue tab provides an overview of the work done by Merge. Merged, testing, and pending PRs should all appear here. Clicking on a row will show the history of that item: click "view more history" to get a better understanding of the item.
+
+<figure><img src="../../.gitbook/assets/image (13).png" alt=""><figcaption><p>The "view more history" link navigates you to the details page.</p></figcaption></figure>
+
+### Pull Request Details
+
+The PR details show information about a PR, including a link to the PR in GitHub, the history of the PR within Trunk Merge Queue, and what must be done before a PR can be admitted to the queue for PRs that have not entered the queue yet.
+
+When a PR has not been admitted to the queue yet, Trunk Merge Queue waits for:
+
+1. Impacted targets to be uploaded for the PRs current SHA (`Parallel` mode only)
+2. The PR to be mergeable according to GitHub. If the PR is not mergeable yet, this most likely means that the PR is not meeting all branch protection rules you have set (for example, not all required status checks have passed yet) or has a merge conflict with the target branch
+3. The target branch of the pull request to match the branch that merge queue merges into
+
+<figure><img src="../../.gitbook/assets/image (2) (2).png" alt="" width="510"><figcaption><p>PR readiness details for a PR that has been submitted but has not yet entered the merge queue. In this example, the queue is waiting for impacted targets to be uploaded for the PR and is also waiting for the PR to be mergeable according to GitHub.</p></figcaption></figure>
+
+In the screenshot above the PR's base branch matches the Merge branch, but the impacted targets are not yet uploaded, but it is not mergable on GitHub yet.
+
+The PR Details panel has a dropdown menu (labeled "**..."**) with actions. From this menu, you can:
+
+1. Remove a PR from the queue. If the PR is "Not Ready", then it will cancel it, preventing it from going into the queue until it is re-queued. If the PR is currently in the queue, it will be removed from the queue, which will restart all PRs that depended on it
+2. Re-queue a PR if it is currently not in the queue
+3. Download any impacted targets that have been uploaded for the PR (uploading impacted targets is only required for [Parallel](../concepts-and-optimizations/parallel-queues/) mode, but this option will still show regardless of mode if impacted targets have been uploaded for the PR)
+
+<figure><img src="../../.gitbook/assets/image (3) (1).png" alt=""><figcaption></figcaption></figure>
+
+The "Remove from queue" action will remove the PR from the merge queue. If the PR is "Not Ready", then it will cancel it, preventing it from going into the queue until it is re-queued. If the PR is currently in the queue, it will be removed from the queue, which will restart all PRs that depended on it:
+
+1. **PR Details**
+
+A PR details page will display a complete history of a PR - state transitions, associated test runs, a visual of what's currently in the Merge Queue, etc. The same dropdown menu described above (labeled "...") is on this page as well.
+
+<figure><img src="../../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
+
+## Failures
+
+A tabulated view of all the items that have failed in the Merge Queue, e.g. due to testing.
+
+<figure><img src="../../.gitbook/assets/image (15).png" alt=""><figcaption></figcaption></figure>
+
+## Manually Restarting Failed PRs
+
+Trunk Merge Queue will automatically restart failed PRs when it can under certain conditions (see PR states). Since the restart is usually from a failed PR being removed from the queue, other PRs behind it will also be restarted. If you want to manually restart a PR, you can restart it _**in place**_ using the **Restart tests** option of the PR dropdown (labeled "...")
+
+<figure><img src="../../.gitbook/assets/pr-restart-menu.png" alt=""><figcaption><p>PR actions menu</p></figcaption></figure>
+
+There are a couple of reasons you might want to manually restart a PR. First, if a PR ends up in the PENDING\_FAILURE state because of something transient like a CI runner disconnecting or flakey tests, you can restart the PR right away instead of waiting for PRs in front of it to pass or fail.
+
+Another reason to restart a PR is if the proper tests don't get kicked off due to a failure in the CI system. For example, if GitHub has an outage and is not triggering workflows or actions properly.
+
+## Queue Visualization
+
+The view of all current PRs being tested by Trunk Merge Queue and their respective queues. Each node shown is a pull request, and each edge indicates that the pull request is testing with the item above and depends on it. All edges point towards the target branch; as items merge, the affected queues restructure. If running in `Single` mode, this will be a single line showing the testing and merging process.
+
+<figure><img src="../../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
+
+You can click on any shown PR to navigate to the details page for that PR.
diff --git a/merge-queue/merge-queue.md b/merge-queue/merge-queue.md
new file mode 100644
index 00000000..9042a891
--- /dev/null
+++ b/merge-queue/merge-queue.md
@@ -0,0 +1,41 @@
+---
+description: >-
+  Enterprise-scale merge queue to merge pull requests quickly while protecting
+  your main branch.
+---
+
+# Overview
+
+**Trunk Merge Queue** is a hosted merge queue service. It manages and controls the order in which enqueued pull requests are merged into the `main` branch of your repository. Trunk Merge Queue enables large teams working in a monorepo to reduce merge conflicts and maintain a green, healthy main branch.
+
+{% embed url="https://youtu.be/qFCXVkx3pbo" %}
+
+### **Why use a merge queue?**
+
+Merge queues automate PR merges into your repo's `main` branch, ensuring incompatible changes never break the branch. They are a best practice for trunk-based development in repos with 10-1000+ active engineers.
+
+### **Why do teams adopt a merge queue?**
+
+As the number of concurrent changes to a repository grows, the likelihood that your pull request has stale/invalid test results increases. The only way to guarantee that your `main` branch does not become "broken" is to make sure that all code changes are tested against the head of `main`.
+
+As an example:
+
+1. Jack opens pull request **A**, which renames the function `foo()` to `bar()` and updates all the call sites to the new name.
+2. Jill opens pull request **B**, which adds a new file that uses the existing function `foo().`
+3. Jack and Jill are unaware of each other's PRs, and the automated build and tests for each of these independent pull requests both pass.
+4. Regardless of order, when pull requests **A** and **B** both merge, there is code in the system calling the function `foo()` that no longer exists.
+5. The build is now broken.
+
+A merge queue's purpose is to give you the guarantee of all code being tested against `main` without needing to do that work serially or in reaction to code merging into main. The merge queue service predicts the future state of `main` and tests against that. ([see predictive testing](concepts/predictive-testing.md)). Returning to our example - pull requests A and B would both be submitted to the merge queue, which would then perform the predictive testing to ensure that A and B, when combined, do not break the build.
+
+### **What is unique about Trunk Merge Queue?**
+
+<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">Batching</td><td><a href="concepts/batching.md">batching.md</a></td></tr><tr><td align="center">Dynamic Parallel Queues</td><td><a href="concepts-and-optimizations/parallel-queues/">parallel-queues</a></td></tr><tr><td align="center">Optimistic Merging</td><td><a href="concepts/optimistic-merging.md">optimistic-merging.md</a></td></tr><tr><td align="center">Pending Failure Depth</td><td><a href="concepts/pending-failure-depth.md">pending-failure-depth.md</a></td></tr><tr><td align="center">Prioritization</td><td><a href="pr-prioritization.md">pr-prioritization.md</a></td></tr><tr><td align="center">Flaky Test Protection</td><td><a href="concepts/anti-flake-protection.md">anti-flake-protection.md</a></td></tr></tbody></table>
+
+### **Requirements**
+
+Trunk Merge Queue works with any CI provider as long as you use GitHub for your repo hosting.
+
+### **Next Steps**
+
+<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>Talk to a Developer</td><td></td><td><a href="https://calendly.com/trunk/demo">https://calendly.com/trunk/demo</a></td></tr><tr><td></td><td>Get Started on Your Own</td><td></td><td><a href="set-up-trunk-merge/">set-up-trunk-merge</a></td></tr></tbody></table>
diff --git a/merge-queue/pr-prioritization.md b/merge-queue/pr-prioritization.md
new file mode 100644
index 00000000..b449181c
--- /dev/null
+++ b/merge-queue/pr-prioritization.md
@@ -0,0 +1,67 @@
+---
+description: Control the order pull requests are tested and merged in the Merge Queue
+---
+
+# Priority
+
+When a high-priority change must be merged quickly but still validated by the Merge queue, you can use **PR Prioritization** to create a PR that goes through the queue faster than others.
+
+## Setting Priorities
+
+You specify a custom priority for a pull request at the time of insertion into the queue:
+
+{% tabs %}
+{% tab title="GitHub comment" %}
+```
+/trunk merge --priority=<level>
+```
+
+or
+
+```
+/trunk merge -p <level>
+```
+{% endtab %}
+
+{% tab title="Command Line" %}
+```shell
+trunk merge <pr-number> --priority=<level>
+```
+
+or
+
+```
+trunk merge <pr-number> -p <level>
+```
+{% endtab %}
+
+{% tab title="Web UI" %}
+The priority can also be specified from the [Merge Web UI](managing-merge-queue/using-the-webapp.md).
+{% endtab %}
+{% endtabs %}
+
+Valid values for the priority level:
+
+<table><thead><tr><th width="151">label</th><th width="109">number</th><th>note</th></tr></thead><tbody><tr><td>urgent</td><td>0</td><td>urgent items will interrupt running jobs and begin testing immediately</td></tr><tr><td>high</td><td>10</td><td></td></tr><tr><td>medium</td><td>100</td><td>default priority</td></tr><tr><td>low</td><td>200</td><td></td></tr><tr><td></td><td>255</td><td>lowest possible priority</td></tr></tbody></table>
+
+## How Priority Affects PR Order
+
+PRs with a higher priority will always begin testing before any other PR that isn't currently being tested, ensuring that prioritized PRs move into the queue as soon as they can. A PR without a priority will use the default `medium` (100) priority. If there is already a PR in the queue with the same priority, then the new one will be behind it.&#x20;
+
+When prioritizing a PR, Merge will explicitly **not interrupt** any currently testing PR, as restarting testing on PRs is usually costly, even if you want another PR to be sooner. Because of this, if a PR is submitted with a priority and there is still room in the queue to begin testing PRs, it will begin testing as normal without interrupting other PRs.
+
+**There is an exception to this rule.** Sometimes, when there is a PR urgent enough to get in that it is worth the cost of restarting a currently testing PR, you can move the new PR to the front using the `"urgent"` priority. This is the only time Merge will reschedule a PR that is already in testing.
+
+#### Example:
+
+Say you have a queue that is configured to test two PRs at once. The queue currently looks like this:
+
+<img src="../.gitbook/assets/file.excalidraw (1).svg" alt="Queue with two testing PRs and one pending" class="gitbook-drawing">
+
+If you submit a PR D with a `"high"` priority it will be put in front of C (since it is a higher priority than C and C is not testing). D will begin as soon as either A or B finishes, like this:
+
+<img src="../.gitbook/assets/file.excalidraw (1) (1).svg" alt="Queue with two testing PRs and a new higher priority pending PR" class="gitbook-drawing">
+
+Instead, if you submit PR D with an `"urgent"` priority, then D would be tested immediately,  A would be restarted, and B would be bumped back to pending, like this:
+
+<img src="../.gitbook/assets/file.excalidraw (2).svg" alt="Queue with an urgent PR moved to the front and a normal PR restarting" class="gitbook-drawing">
diff --git a/merge-queue/reference.md b/merge-queue/reference.md
new file mode 100644
index 00000000..7f59efe8
--- /dev/null
+++ b/merge-queue/reference.md
@@ -0,0 +1,60 @@
+---
+description: Common reference points about Trunk Merge Queue
+---
+
+# Reference
+
+## Submitting and Cancelling Pull Requests
+
+We offer a few mechanisms for submitting a PR to the Merge Graph:
+
+* Posting a GitHub comment `/trunk merge` on a pull request.
+* Ticking the checkbox in the Trunk comment on a pull request.
+* Clicking the "Retry" button on the WebApp.
+* Using the `trunk` CLI:
+
+```
+trunk login
+trunk merge <pr-number>
+```
+
+We offer similar commands for cancellation.
+
+* Posting a GitHub comment `/trunk cancel` on a pull request.
+* Cancellation from the WebApp:
+
+<figure><img src="../.gitbook/assets/image (16).png" alt=""><figcaption></figcaption></figure>
+
+* Using the `trunk` CLI:
+
+```
+trunk login
+trunk merge cancel <pr-number>
+```
+
+## Pull Request Processing
+
+Once a PR is submitted to the merge queue it goes through several states. First, it starts as _Not Ready_ until all of the required conditions to submit it are met. Once ready, the PR moves to the _Pending_ state, waiting for a Merge Queue to pick it up, and then enters the _Testing_ state. Once the tests pass the PR may still need to wait for upstream PRs. Once any upstream PRs are complete the PR will be merged and then removed from the Merge Queue. If a PR fails or is canceled then it will go to the failed or canceled state.
+
+## PR States
+
+A PR's lifecycle in the Merge Queue goes through the following states:
+
+| State           | Description                                                                                                                                                                                                                                                                                                                                                                                         |
+| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Not Ready       | The PR was submitted to Trunk Merge Queue, but the PR isn't eligible for merging yet. Impacted targets may not be uploaded, or readiness checks may not have passed.                                                                                                                                                                                                                                |
+| Pending         | The MergeGraph created a node for the PR. Testing will begin if the graph has capacity.                                                                                                                                                                                                                                                                                                             |
+| Testing         | The PR is testing. Required status checks that Trunk Merge Queue must gate on before merging PRs can be specified with in `.trunk/trunk.yaml` or through GitHub branch protection rules as the "Status checks that are required" before merging on your merge branch                                                                                                                                |
+| Tests Passed    | The PR successfully passed tests. It may have to wait for upstream PRs to complete tests before merging.                                                                                                                                                                                                                                                                                            |
+| Pending Failure | The PR failed tests. The cause of failures is still indeterminate - it may be due to an upstream PR, or due to the current PR. It will wait until the root cause of tests has been determined, and restart testing on your PR if due to an upstream PR. If you want to manually restart a failed PR, see [manually restarting PRs](managing-merge-queue/using-the-webapp.md#restarting-failed-prs). |
+| Merged          | The PR successfully merged into the target branch. It will be removed from the queue.                                                                                                                                                                                                                                                                                                               |
+| Failed          | The PR caused a testing failure. It will be removed from the queue.                                                                                                                                                                                                                                                                                                                                 |
+| Cancelled       | The PR was cancelled, e.g. `/trunk cancel`. It will be removed from the queue.                                                                                                                                                                                                                                                                                                                      |
+
+## Stacked PR Support
+
+Trunk Merge Queue supports workflows that use stacked pull requests with minimal configuration required.
+
+Merge Queue operates by merging pull requests into the specific target branch `main`. If a pull request is enqueued with a different target branch (as is common in stacked PR workflows), Trunk will defer merging until the pull request’s target branch becomes `main`. This happens automatically in GitHub when the parent pull request in the stack is merged.
+
+As a result, you can enqueue all PRs in a stack at once, and Merge Queue will handle them in the correct order. Each pull request will wait until its dependency PRs have merged before proceeding. This ensures that stacked pull requests are merged in order, even if they were enqueued out of order.
diff --git a/merge-queue/set-up-trunk-merge/advanced-settings.md b/merge-queue/set-up-trunk-merge/advanced-settings.md
new file mode 100644
index 00000000..2875bb1d
--- /dev/null
+++ b/merge-queue/set-up-trunk-merge/advanced-settings.md
@@ -0,0 +1,141 @@
+---
+description: >-
+  Explanation of settings for states, timeouts, concurrency, and branch
+  protection.
+---
+
+# Settings
+
+We offer some knobs and dials when configuring Merge. All of the following settings are specific to individual Merge Queues and can be applied at [app.trunk.io](https://app.trunk.io/login?intent=merge%20queue) in the `Settings > Repositories > Repo-Name` page.
+
+## Merge Queue States
+
+You can change the state of your Merge Queue, which will affect behavior around PRs entering the queue and merging. PRs will always continue testing no matter what state the Merge Queue is in. Below are the possible different states:
+
+<table><thead><tr><th width="110.44140625">State</th><th>Will PRs Enter the Queue?</th><th>Will PRs Merge After Testing?</th><th>Example use case</th></tr></thead><tbody><tr><td><code>Running</code></td><td>Yes <span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Yes <span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td>Everyday merging: Protect your mainline and merges successful PRs.</td></tr><tr><td><code>Paused</code></td><td>No <span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td>No <span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td><strong>CI failure recovery</strong>: stop merges and testing in the queue until failure is resolved.</td></tr><tr><td><code>Draining</code></td><td>No <span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span></td><td>Yes <span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span></td><td><strong>Code freeze</strong>: merge PRs currently in the queue but don't start testing additional PRs.</td></tr></tbody></table>
+
+There is an additional state `Switching Modes` that functions exactly like `Draining`. The Merge Queue enters this state when you switch the queue mode while PRs are still being tested.
+
+### When to change merge queue state?
+
+The `Running` state is the default state of your merge queue, and will be the normal, day-to-day state of your queue.
+
+`Paused` is useful for CI incident response and failure recovery. For example, if there is a test infrastructure outage, a queue can be `Paused` until recovery is complete. The ordering of PRs in the queue is preserved, but no PRs are tested or merged.
+
+`Draining` is useful for managing events like code freezes. PRs currently in the queue will be tested and merged, but no new PRs will start testing.
+
+## Timeout for Tests to Complete
+
+Configure how long a PR's test can run before auto-cancelling while testing in the Merge Queue. If a long-running test is detected, Merge will automatically cancel the test.
+
+For example, assuming a timeout of 4 hours:
+
+* At 3:00, Bob submits PR 456 to the Merge Queue.
+* At 3:05, PR 456 starts testing using Bob's CI system.
+* At 7:05, Trunk cancels PR 456 since PR 456 is still testing.
+
+## Concurrency
+
+Configure how many PRs may be tested in parallel. A larger number may increase throughput since more PRs are tested in parallel, but at the expense of CI since more jobs are running in parallel. When the queue is at capacity, PRs will still be submitted to it, but they will not begin testing until a PR leaves the queue.
+
+{% hint style="info" %}
+If your testing workload contains some flaky tests, a deeper queue (i.e., a higher concurrency) may struggle. Running Merge in Parallel mode can help with this, as it will reduce the average depth of your merge queue since all PRs won't be queued directly behind each other.
+{% endhint %}
+
+For example, assuming a concurrency of 3:
+
+* At 12:00, Alice submits PR 1000 to the Merge Queue, and it starts testing.
+* At 12:05, Bob submits PR 888 to the Merge Queue, and it starts testing.
+* At 12:10, Charlie submits PR 777 to the Merge Queue, and it starts testing.
+* At 12:15, Alice submits PR 1001 to the Merge Queue. Tests do not start because the Merge Queue is at its concurrency limit.
+
+## Branch Protection
+
+Trunk Merge Queue, since it will eventually merge your PR on GitHub, is still **bound by any protection rules set in GitHub** that affect the branch Trunk Merge Queue will merge into or that affect your Trunk Merge Queue branch. For example, if a PR requires at least one review to merge, then Trunk Merge Queue would display `'not mergable GitHub yet'` until that PR has a review.
+
+If you have trouble with merge queueing PRs, check if there is any kind of additional branch protection set up on your repo. Existing branch protection rules must be changed in order to **not** protect branches in the form of `trunk-temp/*` and `trunk-merge/*` . If either of those branches is considered protected in any way according to GitHub (e.g., if there is a `*/*` branch protection rule), then Merge will not be able to run tests properly due to GitHub permission errors.
+
+If there are any questions or help is needed, reach out on our questions or help is needed, reach out on our [community Slack](https://slack.trunk.io/)!
+
+### Draft PRs
+
+In some cases, you might not want every check that gets triggered when a PR gets created to run when testing PRs in the merge queue (e.g., you deploy your frontend on every PR so that reviewers can interact with it). In that case, if you prefer to use Trunk Merge Queue without Draft PRs, you can disable it by navigating to **Settings > Repositories >** selecting your repository **> Merge >** toggle **Trunk Draft PR Creation.**\
+\
+When draft PR creation is disabled, you will need to configure push-triggered workflows to run on branches to test each merge request. You can also configure custom gating for your PRs if you want to gate on a different set of checks for Trunk Merge Queue.
+
+#### Configure a Push Triggered Workflow For Required Status Checks
+
+When creating Draft PRs is disabled, Trunk Merge Queue creates branches with the prefix `trunk-merge/` in order to test PRs. To ensure the required statuses Merge should gate on get triggered when it tests PRs, your CI provider must be configured to run the status checks you care about whenever a branch with that prefix is pushed to.
+
+{% hint style="info" %}
+If you already have tests that trigger on new PRs, you can use the [Draft PR Creation](https://docs.trunk.io/merge-queue/set-up-trunk-merge/advanced-settings#draft-prs) feature to let Trunk Merge Queue create draft PRs instead of setting up a push-triggered workflow.
+{% endhint %}
+
+For GitHub Actions, that'll mean setting up a `push`-triggered workflow, filtered to `trunk-merge/**` branches, like so:
+
+```yaml
+name: Run Required Checks
+run-name: PR Checks for ${{ github.ref_name }}
+
+# Trigger jobs whenever Trunk Merge Queue tests a PR using a `trunk-merge/` branch
+on:
+  push:
+    branches:
+      - trunk-merge/**
+
+jobs:
+  trunk_check:
+    runs-on: ubuntu-latest
+    # "Trunk Check" is specified in merge.required_status above
+    name: Trunk Check
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+  unit_tests:
+    runs-on: ubuntu-latest
+    # "Unit tests & test coverage" is specified in merge.required_status above
+    name: Unit tests & test coverage
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+    # Add more steps here..    
+```
+
+#### Define Required Status Checks For Testing
+
+Trunk needs to know which _status checks_ must pass while testing pull requests in the queue before it can merge a PR into your branch. Merge can pick up this list of required statuses in one of two ways:
+
+{% tabs %}
+{% tab title="Automatic (default)" %}
+In automatic mode, the status checks specified in your branch's [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging) rule will be used.
+
+Trunk Merge Queue does not work with GitHub's new Rulesets. Make sure to click the **Add classic branch protection rule** link when configuring new rules.
+
+<figure><img src="../../.gitbook/assets/cubesGreen (3).png" alt=""><figcaption></figcaption></figure>
+
+See GitHub's doc for more information on configuring [required status checks](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging).
+{% endtab %}
+
+{% tab title="Custom (trunk.yaml)" %}
+```
+version: 0.1 
+```
+
+```
+cli:
+  version: 1.16.0
+merge: 
+  required_statuses:
+    - Trunk Check 
+    - Unit tests & test coverage
+    # Add more required statuses here
+```
+
+\
+Use custom when the status checks you want to enforce before merging do not match 1:1 with your GitHub branch protection rules. The names of the required\_statuses must match as specified on your [GitHub status checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks) or [jobs](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions#jobs)\
+\
+Custom `required_statuses` defined in the `.trunk/trunk.yaml` file take precedence over the GitHub required status checks from branch protection.
+{% endtab %}
+{% endtabs %}
diff --git a/merge-queue/set-up-trunk-merge/integration-for-slack.md b/merge-queue/set-up-trunk-merge/integration-for-slack.md
new file mode 100644
index 00000000..8cd5b3fc
--- /dev/null
+++ b/merge-queue/set-up-trunk-merge/integration-for-slack.md
@@ -0,0 +1,38 @@
+---
+description: Push updates about your queue status to Slack to keep your team informed.
+---
+
+# Integration for Slack
+
+Trunk Merge Queue integrates with Slack to push relevant information to your team so you can stay up to date with the status of your pull requests.
+
+## Setup Integration with Slack
+
+After you have Merge set up and running in your repository you can set up Slack notifications. There are two ways to configure where notifications are delivered: per queue and per user. You can have all notifications from a specific Merge Queue sent to a Slack channel. You can also have notifications for PRs authored by you, regardless of which queue they are going through, sent as a DM to you.
+
+### Merge Queue Specific Notifications
+
+After you have Merge set up and running in your repository, you can set up your integration with Slack in `Settings > Repositories > the specific repository` with the Merge Queue.
+
+<figure><img src="../../.gitbook/assets/enable-parallel-mode" alt=""><figcaption></figcaption></figure>
+
+Click **Connect** to install the Trunk Slack application and receive Merge notifications in a specific channel. Once you have authorized the app to post to a channel, you will be redirected to your settings page.
+
+<figure><img src="../../.gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
+
+## Configuring Your Integration with Slack
+
+After you have connected to a Slack channel, you can select which notifications you would like to receive. By default, all Merge notifications are enabled.
+
+| Notification                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Merge is updated                                  | The merge queue's configuration was changed. This covers anything that changes how the queue acts, including: pausing or draining the queue, changing its mode, changing testing concurrency, and so on.                                                                                                                                                                                                                                                                      |
+| Pull request is submitted for merging             | A pull request has been [submitted to the queue](https://docs.trunk.io/merge-queue/set-up-trunk-merge#submit-pull-requests)                                                                                                                                                                                                                                                                                                                                                   |
+| Pull request is ready for testing                 | A pull request has been admitted to the queue and will begin testing as soon as it can                                                                                                                                                                                                                                                                                                                                                                                        |
+| Pull request is testing                           | Trunk merge has begun testing a pull request                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+| Pull request has passed tests                     | Testing has passed on a pull request. The PR will be merged when it reached the top of the queue                                                                                                                                                                                                                                                                                                                                                                              |
+| Pull request is merged                            | A pull request submitted to the queue has successfully been merged into its target branch                                                                                                                                                                                                                                                                                                                                                                                     |
+| Pull request fails                                | Testing failed on a pull request and it was removed from the queue or Trunk failed to merge the PR into its target branch                                                                                                                                                                                                                                                                                                                                                     |
+| Pull request is canceled                          | A pull request has been canceled, either manually or due to it [reaching a configured testing timeout](https://docs.trunk.io/merge-queue/set-up-trunk-merge/advanced-settings#timeout-for-tests-to-complete)                                                                                                                                                                                                                                                                  |
+| Pull request is waiting for earlier pull requests | <p>A pull request failed testing, but the pull request is currently waiting before being kicked. This can happen for one of two reasons:<br>1. The pull request is not at the head of the queue, so it is waiting to determine if it is the source of the failure or if a PR it depends on is<br>2. <a href="https://docs.trunk.io/merge-queue/pending-failure-depth">Pending Failure Depth is enabled</a> and the PR is waiting for other PRs below it to finish testing</p> |
+|                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
diff --git a/merge-queue/set-up-trunk-merge/readme.md b/merge-queue/set-up-trunk-merge/readme.md
new file mode 100644
index 00000000..08879434
--- /dev/null
+++ b/merge-queue/set-up-trunk-merge/readme.md
@@ -0,0 +1,80 @@
+---
+description: How to set up Trunk Merge Queue for your project
+---
+
+# Setup
+
+Minimal set up is required to get started with Trunk Merge Queue, as it syncs with GitHub in order to run the same tests you're already running on PRs and require the same Status Checks to pass before merging.
+
+### Connect your Trunk Organization to GitHub
+
+{% hint style="info" %}
+You must be a GitHub admin to complete the following steps. If you are not a GitHub admin in your organization, go to `Settings` → `Team Members` to invite a GitHub admin to your Trunk organization so they can complete the following.
+{% endhint %}
+
+Sign up at [app.trunk.io](https://app.trunk.io/signup?intent=merge%20queue\&tr_s=mergesetup\&tr_l=1), create a Trunk organization, and connect it to your GitHub repositories. If your repository is already connected to your Trunk organization, you can skip this step.
+
+Select the repository you would like to use and click **Get Started.**
+
+<figure><img src="../../.gitbook/assets/image (23).png" alt=""><figcaption></figcaption></figure>
+
+### Set Up Trunk Merge Queue
+
+Go to the Merge tab. You will see the "Set Up Trunk Merge Queue" page. From there, you can specify:
+
+1. The name of the branch that Trunk Merge Queue should help manage merging PRs into.
+2. The [number](advanced-settings.md#concurrency) of Pull Requests that Merge can test at the same time.
+3. The [mode](../concepts-and-optimizations/parallel-queues/) that Trunk Merge Queue Queues will start in.
+
+<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1).png" alt="" width="414"><figcaption></figcaption></figure>
+
+### Testing PRs In the Queue
+
+Trunk will automatically create Draft PRs when PRs begin testing in the queue. The draft PR will contain the tip of the branch you're merging into, the change in the PR, and changes in any PRs in front of this one in the queue
+
+By using draft PRs, Trunk will leverage your existing status checks that gate your PRs already with tests and linters. When the new draft PRs are created, Trunk will wait for your existing status checks to run, and merge PRs when they pass.
+
+{% hint style="info" %}
+If you do not want every check that runs when a PR is opened to also run when Trunk Merge Queue tests PRs, you can disable draft PR creation and run tests on branches instead. See [#draft-prs](advanced-settings.md#draft-prs "mention").
+{% endhint %}
+
+Trunk Merge Queue syncs with GitHub's branch protection rules, and will require the same status checks that need to pass in order to merge a PR to also pass when testing the PR in the queue.
+
+### Submit Pull Requests
+
+Try making a simple change on a branch and submit it as PR in GitHub.
+
+Now trigger Trunk Merge Queue to process this PR using either a comment on the PR in GitHub or using the Trunk CLI.
+
+{% tabs %}
+{% tab title="GitHub Pull Request View" %}
+Comment `/trunk merge` on a pull request
+
+<figure><img src="../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
+{% endtab %}
+
+{% tab title="Trunk CLI" %}
+```bash
+# Authenticate with trunk service
+$ trunk login
+# Queue pull request for merge
+$ trunk merge {pr-number}
+```
+{% endtab %}
+{% endtabs %}
+
+If you have any problems with merge queueing PRs, take a look at the [branch protection](advanced-settings.md#branch-protection) docs.
+
+### Pull Request Processing
+
+Once a PR is submitted to the Merge queue, it will start as _Not Ready_ until all of the required conditions to submit it are met. Once ready, the Merge Queue will pick it up and run the tests. Once the tests pass, the PR may still need to wait for upstream PRs in the queue to finish their testing. Once the remaining upstream PRs are complete, the PR will be merged and then removed from the Merge Queue. If a PR fails or is canceled then it will go to the failed or canceled state. Read more about [PR States](../reference.md#pr-states).
+
+## Success!
+
+Now Trunk Merge Queue is setup with your repo. Whenever a PR is pushed to your merge branch it will be safely tested and automatically merged when all tests pass, regardless of the order they were pushed in.
+
+### Next Steps
+
+Now that you have the Merge Queue setup and running you can explore the knobs you can enable that will give you the most performant Merge solution. Explore the features powering Trunk Merge Queue here:
+
+<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center">Batching</td><td><a href="../concepts/batching.md">batching.md</a></td></tr><tr><td align="center">Dynamic Parallel Queues</td><td><a href="../concepts-and-optimizations/parallel-queues/">parallel-queues</a></td></tr><tr><td align="center">Optimistic Merging</td><td><a href="../concepts/optimistic-merging.md">optimistic-merging.md</a></td></tr><tr><td align="center">Pending Failure Depth</td><td><a href="../concepts/pending-failure-depth.md">pending-failure-depth.md</a></td></tr><tr><td align="center">Prioritization</td><td><a href="../pr-prioritization.md">pr-prioritization.md</a></td></tr><tr><td align="center">Flaky Test Protection</td><td><a href="../concepts/anti-flake-protection.md">anti-flake-protection.md</a></td></tr></tbody></table>
diff --git a/merge-queue/webhooks.md b/merge-queue/webhooks.md
new file mode 100644
index 00000000..9870de85
--- /dev/null
+++ b/merge-queue/webhooks.md
@@ -0,0 +1,16 @@
+# Webhooks
+
+Trunk provides a variety of webhooks to allow responding to various events from Trunk. Each event corresponds to a Trunk feature and an action within that feature (for example, a Pull Request being submitted to Trunk Merge).
+
+### Supported Events
+
+Trunk provides various webhooks to respond to events from Trunk Flaky Tests. Flaky Test events are named with a `pull_request` prefix, you can find the events you can respond to in the Webhook Events reference from Svix.&#x20;
+
+{% embed url="https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H" %}
+
+You can learn about the Svix event catalog in the [Svix docs](https://docs.svix.com/receiving/using-app-portal/event-catalog).
+
+{% hint style="info" %}
+If you don't currently have an endpoint ready to receive webhooks, you can quickly set up a URL for testing by clicking the "use Svix Play" link - you'll be able to inspect all webhook events sent there.
+{% endhint %}
+
diff --git a/merge/README.md b/merge/README.md
deleted file mode 100644
index 55c65875..00000000
--- a/merge/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Overview
-
-Trunk Merge is a service that enables your repository to adhere to The “Not Rocket Science Rule Of Software Engineering”: **Automatically maintain a repository of code that always passes all the tests.**
-
-## How It Works
-
-Trunk Merge adds an additional test pass before merging pull requests. For example, a typical developer workflow for authoring a feature and merging the code to a repository might look like this:
-
-1. Create a feature branch from the main branch
-2. Author a Change
-3. Open a Pull Request
-4. Tests are Run
-5. Code Review
-6. When tests & code review pass, Author merges request
-
-In a repository with many contributors, the state of the main branch will have advanced significantly after step 1. Because of this, the results of the tests run in step 4 are out of date. Merge solves for this by adding another test pass to ensure no broken code lands on your main branch. A developer workflow with Merge integrated might look like this:
-
-1. Create a feature branch from the main branch
-2. Author a Change
-3. Open a Pull Request
-4. Tests are Run
-5. Code Review
-6. When tests & code review pass, Author submits pull request to Merge
-7. Tests are run on a branch consisting of head of main + the pull request changes
-8. If the tests pass, the pull request is merged automatically
-
-## Demo
-
-Watch this 5 minute demo to see how it works in practice
-
-{% embed url="https://youtu.be/0iC_fK6arXI" %}
diff --git a/merge/configuration.md b/merge/configuration.md
new file mode 100644
index 00000000..0343c295
--- /dev/null
+++ b/merge/configuration.md
@@ -0,0 +1,51 @@
+---
+description: Merge Queue can be configured in single or parallel mode depending on your needs.
+layout:
+  title:
+    visible: true
+  description:
+    visible: true
+  tableOfContents:
+    visible: true
+  outline:
+    visible: true
+  pagination:
+    visible: true
+---
+
+# Parallel Mode
+
+## Single / Parallel Mode <a href="#single-parallel-mode" id="single-parallel-mode"></a>
+
+Merge can support two different modes - `Single` and `Parallel` mode. The mode affects how PRs are enqueued when they enter the queue and what is required for a PR to begin testing.
+
+#### Parallel Mode
+
+In this mode, Trunk Merge Queue will dynamically create new merge queues for PRs that affect different parts of your code base. To support this, you will be required to provide a list of impacted targets that result from code changes in the PR (see [impacted-targets.md](set-up-trunk-merge/impacted-targets.md "mention") for more details as well as how to generate the list of impacted targets). Trunk Merge will then examine the provided list of impacted targets for all PRs in the existing merge queues and only make your PR depend in the other PRs it actually affects.
+
+For example, the following PRs:
+
+* PR 1 with impacted target list `[src/protos/]`
+* PR 2 with impacted target list `[src/user_service/, src/protos/]`
+* PR 3 with impacted target list `[docs/]`
+
+would be split into two different queues in `Parallel` mode
+
+<figure><img src="../.gitbook/assets/image (19).png" alt="" width="332"><figcaption></figcaption></figure>
+
+#### Single Mode
+
+In this mode, PRs will always be queued directly behind one another in a first-in first-out fashion, regardless of what parts of code your PR actually affects. Uploading impacted targets is not required in this mode.
+
+For example, the above 3 PRs would look like this in the Merge Queue in `Single` mode
+
+<figure><img src="../.gitbook/assets/image (20).png" alt=""><figcaption></figcaption></figure>
+
+#### Switching Modes
+
+Merge can be swapped between `Single` and `Parallel` mode at any time. If there are no PRs in the merge queue when switching, the switch will be immediate. If there are PRs in the queue, then Merge will go into the `Switching Modes` state, where it'll wait for all currently testing PRs to merge before switching modes. During this time, PRs will not be able to enter the queue.
+
+Switching modes can be done from the `Merge Queue Mode` section of the `Settings > Repositories > repo name > Merge` panel
+
+<figure><img src="../.gitbook/assets/enable-parallel-mode" alt=""><figcaption><p>enabling parallel mode</p></figcaption></figure>
+
diff --git a/merge/getting-started.md b/merge/getting-started.md
deleted file mode 100644
index 238a7cee..00000000
--- a/merge/getting-started.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Getting Started
-
-This setup guide will walk you through the initial setup for Trunk Merge.
-
-1. Create a Trunk Account [here](https://app.trunk.io/signup).
-2. Follow the onboarding flow to create an Organization and install the [Trunk Github app](https://github.com/apps/trunk-io).
-3.  Select the repository you would like to use and click Get Started. \
-
-
-    <figure><img src="../.gitbook/assets/image (4).png" alt=""><figcaption></figcaption></figure>
-4. Navigate to Merge using the navigation pane on the left side of the screen.
-5.  Enter the name of the target branch and the number of pull requests that can be tested in parallel.\
-
-
-    <figure><img src="../.gitbook/assets/image (5).png" alt=""><figcaption></figcaption></figure>
-
-
-6.  Merge uses [GitHub status checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks) to determine whether a pull request can be merged. Configure these checks by adding them to the `trunk.yaml` configuration file in your repository:\
-
-
-    ```yaml
-    version: 0.1
-    cli:
-      version: 1.13.0
-    merge:
-      required_statuses:
-        - Trunk Check
-        - Unit tests & test coverage
-        - Integration tests
-    ```
-
-
-7. Set up the required checks by configuring your CI provider to run the required jobs whenever a branch is pushed to your GitHub repository with the special prefix `trunk-merge/`.
-8. Submit a pull request, either using the Trunk CLI or in the GitHub Pull Request UI\
-
-
-{% tabs %}
-{% tab title="GitHub Pull Request View" %}
-Comment `/trunk merge` on a pull request
-
-<figure><img src="../.gitbook/assets/image (7).png" alt=""><figcaption></figcaption></figure>
-{% endtab %}
-
-{% tab title="Trunk CLI" %}
-```bash
-# Authenticate with trunk service
-$ trunk login
-# Queue pull request for merge
-$ trunk merge {pr-number}
-```
-{% endtab %}
-{% endtabs %}
diff --git a/merge/integration-for-slack.md b/merge/integration-for-slack.md
deleted file mode 100644
index 0614faae..00000000
--- a/merge/integration-for-slack.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Integration for Slack
-
-Trunk Merge integrates with Slack to push relevant information to your team so you can stay up to date with the status of your pull requests.
-
-## Setup Integration with Slack
-
-After you have Merge set up and running in your repository, you can set up your integration with Slack in Settings > Repositories.
-
-![](https://files.readme.io/9fd48c3-Screen\_Shot\_2022-09-13\_at\_2.19.48\_PM.png)
-
-Click "Connect" to install the Trunk Slack application and receive Merge notifications in a specific channel. Once you have authorized the app to post to a channel, you will be redirected to your settings page.
-
-## Configuring Your Integration with Slack
-
-After you have connected to a Slack channel, you can select which notifications you would like to receive. By default, all Merge notifications are enabled.
-
-![](https://files.readme.io/8171abe-Screen\_Shot\_2022-09-13\_at\_2.47.00\_PM.png)
-
-| Notification                                     | Description                                                                                                                                                                                                                                              |
-| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Merge is paused or resumed                       | Receive a notification when merging has been paused or resumed.                                                                                                                                                                                          |
-| Pull request is merged                           | Receive a notification when a pull request is merged into the target branch.                                                                                                                                                                             |
-| Pull request is canceled                         | Receive a notification when a pull request is canceled.                                                                                                                                                                                                  |
-| Pull request fails                               | Receive a notification when a pull request fails tests or otherwise fails to merge into the target branch.                                                                                                                                               |
-| Pull request is merged without using Trunk Merge | Receive a notification when a user merges directly to the target branch without submitting to Trunk Merge. This will cause any in-progress pull requests to be restarted, and typically should only be done in emergencies by designated administrators. |
diff --git a/merge/reference.md b/merge/reference.md
deleted file mode 100644
index 5440b7f7..00000000
--- a/merge/reference.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Reference
-
-## Submitting Pull Requests
-
-Users can submit pull requests to Merge in two ways: using the Trunk CLI or via a comment in the GitHub pull request UI.
-
-### Submitting with Trunk CLI
-
-To submit a pull request to Merge with the Trunk CLI, a user must first be logged in. Run `trunk login` and follow the prompts to log in. After logging in, pull requests can be submitted by PR number: `trunk merge {pr-number}`.
-
-![](https://files.readme.io/3ba842c-Screen\_Shot\_2022-09-11\_at\_10.43.28\_PM.png)
-
-### Submitting via a comment in the GitHub pull request UI
-
-Checking the checkbox in Trunk Merge's GitHub comment or commenting `/trunk merge` in your own comment, will submit it to be merged.
-
-![](https://files.readme.io/b6513d0-image.png)
-
-### Stacked PR Support
-
-You can `/trunk merge` any PRs in a stack, in any order, and they will wait to proceed until their parent PR has merged.
-
-## Cancelling Pull Requests
-
-### Cancelling with the Trunk CLI
-
-Similar to submitting new pull requests, a user can remove an existing pull request from the queue by running `trunk cancel {pr-number`
-
-### Cancelling a comment in the GitHub pull request UI
-
-A pull request can be removed from the queue by commenting `/trunk cancel`
-
-## Parallelism
-
-To keep pull request throughput high, Merge can test multiple pull requests simultaneously. This is done by creating a branch for a pull request from the `HEAD` of the target branch along with the changes from the pull request and any that are ahead of it. This branch is the predicted state of the repository if the pull requests ahead of this one pass all the required checks.
-
-To configure how many pull requests are tested in parallel, navigate to Settings > Repositories > Repo-Name and update the value.
-
-![](https://files.readme.io/d2bc2dc-Screen\_Shot\_2022-09-11\_at\_11.08.36\_PM.png)
-
-## Required Status Checks
-
-Merge uses [GitHub status checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks) to determine whether a pull request can be merged. Whenever a pull request passes branch protection rules, Merge will wait for the required status checks to be posted to the test branch. You can configure these checks by adding them to the `trunk.yaml` configuration file in your repository. For example:
-
-```yaml
-version: 0.1
-cli:
-  version: 0.17.0-beta
-merge:
-  required_statuses:
-    - Trunk Check
-    - Unit tests & test coverage
-    - Integration tests
-```
-
-If no required checks are specified for your repository, Merge will merge pull requests once they have passed branch protection rules.
-
-## Running Required Checks
-
-In order to merge a pull request, the test branch created by Merge must be passing all required [status checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks). When a pull request is ready to be tested, Merge creates a temporary test branch with the name prefix `trunk-merge/` You should configure your CI jobs to run when a branch is created with the prefix `trunk-merge/`. Once those jobs post the status checks to GitHub, Merge will either pass or fail the pull request.
-
-## GitHub Branch Protection Rules
-
-Merge monitors [GitHub's branch protection rules](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-rules) and doesn't push a test branch for a pull request until it has passed all rules and is mergeable. You can find more information about why a pull request hasn't entered the queue by clicking on it in the Merge UI at [app.trunk.io](https://app.trunk.io).
-
-![](https://files.readme.io/a2ccbf1-Screen\_Shot\_2022-09-11\_at\_11.15.15\_PM.png)
-
-Most repository maintainers will want to use the GitHub branch protection settings to limit who can merge pull requests. By restricting who can merge to admins and the Github Trunk App, you can prevent contributors from circumventing Merge and merging code directly.\
-Merge does account for admins needing to merge pull requests directly, effectively skipping Merge entirely. If a pull request is submitted without using Trunk Merge, the service will restart tests on all pull requests with the updated target branch.
-
-## Pausing your queue
-
-You may occasionally need to prohibit pull requests from merging for some maintenance or emergency intervention. Admins can pause the queue by running `trunk merge pause` or toggling the state in the application settings. Running `trunk merge resume` or toggling the setting back to running will allow Merge to pick up where it left off. Keep in mind, if any pull requests were merged while the service was paused, pull requests in the queue will be restarted.
-
-## Canceling a queue item’s job
-
-When Merge creates a branch, it triggers a job within your specified CI provider. Merge cleans up after itself and deletes the created `trunk-merge/` branch when the queue item has been merged, is canceled, or fails. When this occurs, just like you monitor for the branch being pushed to, you may also want to monitor for branch deletion in order to cancel those jobs (if applicable). If the results of these jobs for a failed queue item are unnecessary for your team, canceling these jobs can help cut down on costs.
-
-It is important to note that branch deletion will trigger a new `on_push` event from GitHub. You can configure your systems to either handle the case where `on_push` is triggered and `deleted: true` is marked within the payload or explicitly monitor for a branch deletion event for Merge branches.
-
-Each CI system will handle this slightly differently, but below are a few references of how to handle it. These are meant as a reference point and are by no means the only way to handle job cancellations.
-
-### GitHub
-
-We handle this one for you. When the job is canceled by a Merge user, we automatically cancel the triggered workflow for you.
-
-### Buildkite
-
-Buildkite does not support currently [responding to branch deletion events](https://forum.buildkite.community/t/trigger-pipeline-on-branch-deletion/1567/2) directly and recommends that users create a lightweight github action that handles it. This action should be configured such that it responds to unsupported events and forwards that request to buildkite. This job should use the Buildkite API to trigger on the Merge branch deletion. It will then list the build for the Merge branch being deleted and then cancel the build.
-
-### Jenkins
-
-Jenkins can be configured in various ways to handle job cancellation. One way is to have a separate pipeline that is configured on GitHub to trigger on Merge branch deletion. Once triggered, it can list all running jobs and cancel any that reference the same Merge branch that triggered the pipeline.
diff --git a/merge/set-up-trunk-merge.md b/merge/set-up-trunk-merge.md
new file mode 100644
index 00000000..fcd2f42c
--- /dev/null
+++ b/merge/set-up-trunk-merge.md
@@ -0,0 +1,124 @@
+---
+description: How to set up Trunk Merge for your project
+---
+
+# Setup
+
+### Connect your Trunk Organization to GitHub
+
+Sign up at [app.trunk.io](https://app.trunk.io/signup?intent=merge%20queue), create a Trunk organization, and connect it to your GitHub repositories. If your repository is already connected to your Trunk organization, you can skip this step.
+
+Select the repository you would like to use and click **Get Started.**
+
+<figure><img src="../.gitbook/assets/image (4) (1) (1).png" alt=""><figcaption></figcaption></figure>
+
+### Set Up Trunk Merge
+
+Go to the Merge tab. You will see the "Set Up Trunk Merge" page. From there, you can specify:
+
+1. The name of the branch that Trunk Merge should help manage merging PRs into.
+2. The [number](set-up-trunk-merge/advanced-settings.md#concurrency) of Pull Requests that Merge can test at the same time.
+3. The [mode](configuration.md#single-parallel-mode) that Trunk Merge Queues will start in.
+
+<figure><img src="../.gitbook/assets/image.png" alt="" width="414"><figcaption></figcaption></figure>
+
+### Define Required Status Checks For Testing
+
+Trunk needs to know which _status checks_ must pass while testing pull requests in the queue before it can merge a PR into your branch. Merge can pick up this list of required statuses in one of two ways:
+
+1. from the list of "Require status checks to pass before merging" specified in the [GitHub branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging) rule for your merge branch (which is particularly useful if you want Merge to track the same status checks that must pass before GitHub can merge a PR), or
+2. from the `merge.required_statuses` section of your `.trunk/trunk.yaml` (if you want the list of status checks that must pass before Merge can merge a PR to be different from the required status checks that must pass as a part of GitHub branch protection).
+
+To specify using the `.trunk/trunk.yaml` file, set the `merge.required_statuses` to the name(s) of the [GitHub status checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks) or [jobs](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions#jobs) that must pass:
+
+```yaml
+version: 0.1 
+cli:
+  version: 1.16.0
+merge: 
+  required_statuses:
+    - Trunk Check 
+    - Unit tests & test coverage
+    # Add more required statuses here
+```
+
+To use GitHub branch protection instead follow GitHub's instructions for [requiring status checks](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging).
+
+{% hint style="info" %}
+Required statuses defined in the `.trunk/trunk.yaml` file take precedence over the GitHub required status checks from branch protection, as Trunk Merge will only pull the list of required statuses from one or the other - it will not combine them. If neither is defined the merge process will fail.
+{% endhint %}
+
+### Configure a Push Triggered Workflow For Required Status Checks
+
+Trunk Merge creates branches with the prefix `trunk-merge/` in order to test PRs. To ensure the required statuses Merge should gate on get triggered when it tests PRs, your CI provider must be configured to run the status checks you care about whenever a branch with that prefix is pushed to.
+
+For GitHub Actions, that'll mean setting up a `push`-triggered workflow, filtered to `trunk-merge/**` branches, like so:
+
+```yaml
+name: Run Required Checks
+run-name: PR Checks for ${{ github.ref_name }}
+
+# Trigger jobs whenever Trunk Merge tests a PR using a `trunk-merge/` branch
+on:
+  push:
+    branches:
+      - trunk-merge/**
+
+jobs:
+  trunk_check:
+    runs-on: ubuntu-latest
+    # "Trunk Check" is specified in merge.required_status above
+    name: Trunk Check
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+  unit_tests:
+    runs-on: ubuntu-latest
+    # "Unit tests & test coverage" is specified in merge.required_status above
+    name: Unit tests & test coverage
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v3
+
+    # Add more steps here..    
+```
+
+Now you are ready to submit your first PR. Let's go!
+
+### Submit Pull Requests
+
+Try making a simple change on a branch and submit it as PR in GitHub.
+
+Now trigger Trunk Merge to process this PR using either a comment on the PR  in GitHub or using the Trunk CLI.
+
+{% tabs %}
+{% tab title="GitHub Pull Request View" %}
+Comment `/trunk merge` on a pull request
+
+<figure><img src="../.gitbook/assets/image (7) (1) (1).png" alt=""><figcaption></figcaption></figure>
+{% endtab %}
+
+{% tab title="Trunk CLI" %}
+```bash
+# Authenticate with trunk service
+$ trunk login
+# Queue pull request for merge
+$ trunk merge {pr-number}
+```
+{% endtab %}
+{% endtabs %}
+
+If you have any problems with merge queueing PRs, take a look at the [branch protection](set-up-trunk-merge/advanced-settings.md#branch-protection) docs.
+
+### Pull Request Processing
+
+Once a PR is submitted to the Merge queue, it will start as _Not Ready_ until all of the required conditions to submit it are met. Once ready, the Merge Queue will pick it up and run the tests. Once the tests pass, the PR may still need to wait for upstream PRs in the queue to finish their testing. Once the remaining upstream PRs are complete, the PR will be merged and then removed from the Merge Queue. If a PR fails or is canceled then it will go to the failed or canceled state. Read more about [PR States](reference.md#pr-states).
+
+## Success!
+
+Now Trunk Merge is setup with your repo. Whenever a PR is pushed to your merge branch it will be safely tested and automatically merged when all tests pass, regardless of the order they were pushed in.
+
+### Next Steps
+
+You can configure [parallel mode](configuration.md) for potential performance gains, read how to [cancel pull requests](reference.md#submitting-and-cancelling-pull-requests), and setup a [Slack Integration](set-up-trunk-merge/integration-for-slack.md).  If you are using Bazel you may want to [further customize](set-up-trunk-merge/merge-+-bazel.md) it for parallel mode.
diff --git a/merge/using-the-webapp.md b/merge/using-the-webapp.md
deleted file mode 100644
index f327d900..00000000
--- a/merge/using-the-webapp.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Using the Webapp
-
-The Trunk web app has a UI for inspecting the status of pull requests or your queue health.
-
-## Queue Overview
-
-The queue overview shows you which pull requests are currently in flight. \
-
-
-<figure><img src="../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
-
-In this view, you can see all the pull requests currently being tested, along with their progress. Merge waits for all [required status checks](https://docs.trunk.io/docs/reference#required-status-checks) to pass before merging a pull request. You can also see any pull requests that have not begun to merge, along with which statuses they are waiting on.
-
-## Failures View
-
-<figure><img src="../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
-
-Pull requests that fail to merge, or are canceled, do not show in the Queue Overview. Instead, they are viewable by clicking the Failures tab.
-
-## Pull Request Details
-
-Clicking on a pull request in the queue overview will open a sidebar pane with relevant details for the status of that pull request.\
-
-
-<figure><img src="../.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
-
-Clicking "View History" will give you a full audit trail for a pull request.
-
-<figure><img src="../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
-
-This view displays a timeline for a pull request, including when it was submitted, when it began testing, and details about any time it had to restart tests. For pull requests that failed and had to be resubmitted, you'll also be able to view the timeline of each submission.
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..ab5da0b1
--- /dev/null
+++ b/package.json
@@ -0,0 +1,6 @@
+{
+  "name": "@trunkio/docs",
+  "version": "0.0.1",
+  "private": true,
+  "type": "module"
+}
diff --git a/plugins/README.md b/plugins/README.md
deleted file mode 100644
index 968b541f..00000000
--- a/plugins/README.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Overview
-
-A plugins repository provides users the ability to expand the core capabilities of trunk check and trunk actions. A plugin repo contains a set of custom linter and action definitions.
-
-#### Importing a plugin repository
-
-By default trunk imports the trunk-io/plugins repository. To import a repo add it to the `plugins` list. Each repo requires a URI and ref.
-
-```yaml
-plugins:
-  sources:
-    - id: trunk
-      uri: https://github.com/trunk-io/plugins
-      ref: v0.0.15
-      import_to_global: true
-```
-
-<table><thead><tr><th width="174">field</th><th>description</th></tr></thead><tbody><tr><td>id</td><td>unique identifier for this repository</td></tr><tr><td>uri</td><td>address used to clone the target repository</td></tr><tr><td>ref</td><td>commit id or tag to checkout</td></tr><tr><td>local</td><td>path to local (on-disk) repository</td></tr><tr><td>import_to_global (default: true)</td><td>import content into the global namespace. If set to false actions and linters defined in the plugin must be referenced by {plugin_id}.{name}</td></tr></tbody></table>
-
-#### Custom linters and actions
-
-The root of a plugin repository can have any number of `plugin.yaml` files where linters and actions are defined. The `plugin.yaml` files look a lot like a standard `trunk.yaml` file with the addition of a special field `required_trunk_version` at the root level `plugin.yaml`, which indicates the minimum trunk version required to use that repo. All configuration is then merged into one composite plugin configuration.
-
-Beyond the `required_trunk_version` the definition of an action or linter is no different in a plugin repository.
-
-#### Add a plugin to your `trunk.yaml` file
-
-To add a plugin from GitHub:
-
-```
-trunk plugins add https://github.com/trunk-io/plugins --id=trunk
-```
-
-To add a plugin from GitHub at a specific version:
-
-```
-trunk plugins add https://github.com/trunk-io/plugins v0.0.16 --id=trunk
-```
-
-To add a plugin from a local repository:
-
-```
-trunk plugins add /home/user/self/hello-world --id=hello-world
-```
-
-#### Contributing to a published plugin repository
-
-Let's quickly walk through how to modify/add to an existing remote repository. In this case we'll make an edit to the trunk-io/plugins repository.
-
-1. Clone the plugins repository to your local disk - `git clone git@github.com:trunk-io/plugins.git`
-2. Make sure the `local` field in your `trunk.yaml` file points to your local instance. If a plugin source includes a `local` field, it will supercede the remote uri/ref values.
-
-```yaml
-plugins:
-  sources:
-    - id: trunk
-      uri: https://github.com/trunk-io/plugins
-      ref: v0.0.15
-      local: .
-```
-
-3. Edit the entries in the local version of the plugin repository.
-4. Push your changes to the remote version of the plugin repo.
-
-#### Plugins scope
-
-Plugins are merged serially, in the order that they are sourced, and can override almost any Trunk\
-configuration. This allows organizations to provide a set of overrides and definitions in one\
-central place.
-
-For instance, you can create your own `my-plugins` repository with `plugin.yaml`:
-
-```yaml
-version: 0.1
-lint:
-  definitions:
-    - name: trufflehog
-      commands:
-        - name: lint
-          # override trufflehog to use '--only-verified'
-          run: trufflehog filesystem --json --fail --only-verified ${target}
-  enabled:
-    - ruff@0.0.256
-```
-
-sourced in a `.trunk/trunk.yaml` file from another repository as follows:
-
-```yaml
-version: 0.1
-plugins:
-  sources:
-    - id: trunk
-      uri: https://github.com/trunk-io/plugins
-      ref: v0.0.15
-    - id: my-plugins
-      local: ../my-plugins
-```
-
-When a user runs `trunk` in the sourcing repository, they will already have ruff enabled, along with\
-any overrides and definitions enumerated in the `my-plugins` repository.
-
-Note that private GitHub plugin repositories are not currently supported.
-
-#### Excluded fields
-
-Plugin `sources`, as well as the `cli` `version`, are not merged from plugin repositories to ensure\
-that config merging occurs in a predictable, stable fashion.
diff --git a/pricing-and-security/security.md b/pricing-and-security/security.md
new file mode 100644
index 00000000..4511effa
--- /dev/null
+++ b/pricing-and-security/security.md
@@ -0,0 +1,32 @@
+---
+description: The properties of code access and security of using Trunk Code Quality
+---
+
+# Security
+
+At Trunk, we prioritize the security and privacy of your source code. Our primary commitment is that we do not clone or store your entire codebase. Here's a detailed breakdown of how we handle your code:
+
+### CLI
+
+Whether invoked directly by developers on their local machines, triggered automatically by git hooks during commits or pushes, or run in CI, it's the same tool operating in different contexts. In all these scenarios:
+
+* Your code is processed entirely locally; by default, we never transmit, store, or share your source code on our servers.
+* All linting, formatting, and analysis occur within your own environment, ensuring your code never leaves your control.
+* Limited usage telemetry data is collected. This data never includes your source code, and it is possible to opt out. For more details on telemetry, please refer to our[ telemetry documentation](https://docs.trunk.io/cli/configuration/telemetry).
+* See below for the properties of setting up uploads to the Trunk web application.
+
+### VS Code Extension
+
+The Trunk VS Code extension has the same privacy properties as the Trunk CLI. Under the hood, all code-checking by the VS Code extension is completed via the Trunk CLI, which drives the VS Code extension.
+
+### Web App ([app.trunk.io](https://app.trunk.io/signup?intent=code%20quality))
+
+The Trunk Code Quality web app is powered via running nightly scans in your repo’s own CI system which uploads results to the Trunk backend. This feature is optional, but it enables you to audit the issues in your repo and prioritize fixes. Here's how it works:
+
+* Whole-repo scans are performed nightly in your CI environment
+* Results are uploaded to Trunk’s backend, using an API token specific to your organization
+* Five-line code snippets around each issue Trunk Code Quality detects are uploaded along with the actual issues for better viewing in the Trunk Code Quality web app
+* This process ensures that only necessary, limited data is shared, without transmitting or storing your full source code
+* You have full control over when and how often these scans and uploads occur
+
+For more information on setting up and configuring result uploads, including how to obtain and use the Trunk access token, please refer to our [upload documentation](https://docs.trunk.io/code-quality/setup-and-installation/github-integration).
diff --git a/readme.md b/readme.md
new file mode 100644
index 00000000..c1ef8e52
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,21 @@
+# Trunk.io documentation ([docs.trunk.io][docs])
+
+[![docs](https://img.shields.io/badge/-docs-darkgreen?logo=readthedocs&logoColor=ffffff)][docs]
+[![slack](https://img.shields.io/badge/-community-611f69?logo=slack)][slack]
+[![vscode](https://img.shields.io/visual-studio-marketplace/i/trunk.io?color=0078d7&label=vscode&logo=visualstudiocode)][vscode]
+
+This repository is the official repo for [docs.trunk.io][docs]. If you see any mistakes or any improvements that can be made, we'd love your contributions!
+
+## Contributing
+
+If you see any mistakes or any improvements that can be made, we'd love your contributions! Just fork the repo and open a PR with your changes. While you're browsing [docs.trunk.io][docs], you can get to the GitHub source for that page via the `...` menu → `Edit on GitHub`:
+
+![Screenshot 2023-11-29 at 11 37 32 AM](https://github.com/trunk-io/docs/assets/3904462/ce706890-84c3-44c7-9e5f-9bc85aaca99f)
+
+## Feedback, Advice, and Help
+
+Come chat with us in our [Slack Community][slack] ❤️
+
+[slack]: https://slack.trunk.io
+[docs]: https://docs.trunk.io
+[vscode]: https://marketplace.visualstudio.com/items?itemName=Trunk.io
diff --git a/reference.md b/reference.md
deleted file mode 100644
index 6e75828b..00000000
--- a/reference.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout:
-  title:
-    visible: true
-  description:
-    visible: false
-  tableOfContents:
-    visible: false
-  outline:
-    visible: false
-  pagination:
-    visible: false
----
-
-# Reference
-
-<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td></td><td>User YAML</td><td><a href=".gitbook/assets/Components.svg">Components.svg</a></td><td></td></tr><tr><td></td><td></td><td>Components</td><td><a href=".gitbook/assets/Components.svg">Components.svg</a></td><td></td></tr><tr><td></td><td></td><td>Usage Data</td><td></td><td><a href="reference/usage-data.md">usage-data.md</a></td></tr><tr><td>Integration for Slack</td><td></td><td></td><td><a href=".gitbook/assets/Slack.svg">Slack.svg</a></td><td><a href="reference/integration-for-slack.md">integration-for-slack.md</a></td></tr><tr><td>VS Code</td><td></td><td></td><td><a href=".gitbook/assets/VSCode.svg">VSCode.svg</a></td><td><a href="reference/vs-code.md">vs-code.md</a></td></tr></tbody></table>
diff --git a/reference/README.md b/reference/README.md
deleted file mode 100644
index 318b5719..00000000
--- a/reference/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# \[Reference]
-
----
-layout:
-  title:
-    visible: true
-  description:
-    visible: false
-  tableOfContents:
-    visible: false
-  outline:
-    visible: false
-  pagination:
-    visible: false
----
-
-# Reference
-
-<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-type="checkbox"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Trunk YAML</td><td></td><td></td><td><a href="../.gitbook/assets/TrunkYaml (1).svg">TrunkYaml (1).svg</a></td><td>false</td><td><a href="../adminstration/billing.md">billing.md</a></td></tr><tr><td>User YAML</td><td></td><td></td><td><a href="../.gitbook/assets/UserYaml.svg">UserYaml.svg</a></td><td>false</td><td><a href="../adminstration/single-sign-on-saml.md">single-sign-on-saml.md</a></td></tr><tr><td>Integration for Slack</td><td></td><td></td><td><a href="../.gitbook/assets/Slack (1).svg">Slack (1).svg</a></td><td>false</td><td><a href="integration-for-slack.md">integration-for-slack.md</a></td></tr><tr><td>VS Code</td><td></td><td></td><td><a href="../.gitbook/assets/VSCode (1).svg">VSCode (1).svg</a></td><td>false</td><td><a href="vs-code.md">vs-code.md</a></td></tr><tr><td>Usage Data</td><td></td><td></td><td><a href="../.gitbook/assets/Usage Data.svg">Usage Data.svg</a></td><td>false</td><td><a href="usage-data.md">usage-data.md</a></td></tr><tr><td>Components</td><td></td><td></td><td><a href="../.gitbook/assets/Components (1).svg">Components (1).svg</a></td><td>false</td><td><a href="components.md">components.md</a></td></tr></tbody></table>
diff --git a/reference/components.md b/reference/components.md
deleted file mode 100644
index 941b1ac4..00000000
--- a/reference/components.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Components
-
-### Trunk Binary
-
-The trunk binary is a native executable that contains all the client-side code required to run `trunk check`, `trunk actions`, and local `trunk merge` commands.
-
-### Trunk Launcher
-
-The trunk launcher is a bash script that enables users to easily switch between multiple versions of `trunk`. The trunk launcher will read a repo's pinned version of `trunk` from `.trunk/trunk.yaml`, download the matching binary to cache and run that executable. This ensures that all users of `trunk` in a repo are using the same version.
-
-The launcher can be installed on a machine (`/usr/local/bin`) or committed in your repository (e.g. in a `tools/` directory).
-
-### Cache
-
-As needed `trunk` will download and cache components onto a machine for use. The cache will contain the `trunk` binary itself (including multiple versions as needed by the machine), the linters/actions enabled in trunk-managed repositories, and the requisite runtimes needed to run those tools. The location of the trunk cache is user configurable and honors the following environment variables:
-
-* `$TRUNK_CACHE`
-* `$XDG_CACHE_HOME/trunk`
-* `$HOME/.cache/trunk`
diff --git a/reference/glob-path-pattern.md b/reference/glob-path-pattern.md
deleted file mode 100644
index 81a0f72b..00000000
--- a/reference/glob-path-pattern.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# Glob Path Pattern
-
-Path patterns in trunk configuration are always relative to the repo root. Every pattern may contain one or more path segments. Each path segment is separated by a `/`. A single `*` is treated as a segment level wildcard. It will match any substring in the segment (including the empty string) and excluding the directory separator `/`. The `*` wildcard may appear multiple times in a single path segment. A double `**` is even broader; it will match zero or more complete path segments and must appear exclusively in it's own segment (i.e. `**/foo` is legal syntax whereas `foo**/bar` is not).
-
-```none
-/hello_world
-├── bar
-│   ├── hello.cpp
-│   ├── h.cpp
-│   ├── h.zip
-│   ├── zap
-│   │    ├── hi.png
-├── foo
-│   ├── file.txt
-```
-
-Some examples:
-
-* `bar` non-recursively matches every file in the directory `bar/`, including `bar/hello.cpp`, `bar/h.cpp`, and `bar/h.zip`, but not `bar/zap/hi.png`
-* `foo/bar.txt` matches only a single file named `bar.txt` in the `foo` subdirectory
-* `foo/*.txt` matches every file in the foo subdirectory that ends with `.txt`
-* `bar/h*.c*` matches every files in the bar subdirectory that starts with an `h` and also contains the substring `.c`, including `bar/hello.cpp` and `bar/h.cpp`, but not `bar/h.zip`
-* `bar/**` recursively matches every file in the directory `bar`, including `bar/hello.cp` as well as `bar/zap/hi.png`
diff --git a/reference/integration-for-slack.md b/reference/integration-for-slack.md
deleted file mode 100644
index 93f0102d..00000000
--- a/reference/integration-for-slack.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Integration for Slack
-
-With the Trunk app for Slack, you can easily get notifications from all of your trunk-enabled products. This includes notifications around security issues detected by `trunk check` and workflow notifications for your pull requests as they queue and land with `trunk merge`. In this guide, we'll cover how to connect Slack with Trunk on the repository and user level, as well as the different ways you can use Trunk in Slack.
-
-## Add Trunk to your Slack Workspace (admin privileges required)
-
-To receive notifications and/or interact with Trunk from Slack, an admin needs to add Trunk to your organization's Slack workspace. To do this:
-
-1.  Navigate to [https://app.trunk.io](https://app.trunk.io). Select the repo you would like to Manage. Click "Settings" > "Connect"\\
-
-    <figure><img src="https://files.readme.io/14d4355-image.png" alt=""><figcaption></figcaption></figure>
-2. This will open a window where you can sign in to your Slack team.
-
-<figure><img src="../.gitbook/assets/PermissinoPage.png" alt="" width="375"><figcaption></figcaption></figure>
-
-3. Once you press "Allow," Trunk will connect to your Slack automatically and begin pushing updates to the channel you have selected.
-
-## Set repo-level notification preferences
-
-Now that you've connected your Slack account with Trunk, you will choose the type of notifications you want to receive from Trunk in Slack. You can manage your repository notifications under your repo settings.
-
-{% tabs %}
-{% tab title="trunk merge" %}
-<figure><img src="../.gitbook/assets/MergeOptions.png" alt=""><figcaption><p>Configure notifications for <code>trunk merge</code></p></figcaption></figure>
-{% endtab %}
-
-{% tab title="trunk check" %}
-<figure><img src="../.gitbook/assets/CheckOptions.png" alt=""><figcaption><p>Configure notifications for <code>trunk check</code></p></figcaption></figure>
-{% endtab %}
-{% endtabs %}
-
-## Set your user-level notification preferences
-
-To set your individual user Slack notifications go to Settings > Account > Connect
-
-![](https://files.readme.io/3491658-SCR-20230605-efb-2.png)
-
-[Privacy Policy](https://trunk.io/privacy)
diff --git a/reference/usage-data.md b/reference/usage-data.md
deleted file mode 100644
index 0ec9ddc3..00000000
--- a/reference/usage-data.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Usage Data
-
-Trunk sends certain metrics to our analytics system and we want you to better understand what is being sent and why it's important for our ability to continue to improve the product and provide our users with a better experience over time.
-
-## Why we collect usage data?
-
-Our product team is constantly working on feature enhancement and new areas to invest in. Usage data allows us to best understand the ergonomics and performance of our existing tools. For example, if we add a new subcommand to the command line interface - how often is it actually used? Additionally usage data is gathered in order to track usage and compliance against with our free and paid product offerings.
-
-To give a concrete example, we track the client version and operating systems of our users in order to understand backwards compatibility requirements and understand the time it takes our user base to upgrade onto our latest releases.
-
-## Example usage data
-
-```json
-{
-          "anonymous_id": <GUID>,
-          "command":  "check --all",
-          "launcher_version": "1.2.3",
-          "os": "macOS",
-          "release": 1.4.1,
-          "source": "client",
-          "time": <UTC_TIMESTAMP>,
-          "exit_code": 0,
-          "duration_ms": 232,
-          "repository":<REPO_IDENTIFIER>
-}
-```
-
-## Can I disable usage data?
-
-Yes. You can disable usage telemetry by setting the environment variable TRUNK\_MIXPANEL to "off."
diff --git a/reference/user-yaml.md b/reference/user-yaml.md
deleted file mode 100644
index db3e298f..00000000
--- a/reference/user-yaml.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# User YAML
-
-## Per-User Customization
-
-`trunk` can also be managed by the `.trunk/user.yaml` file in your repository. This file is optional, but it allows individual developers to customize how they want `trunk` to run on their machines.
-
-Simply configure `.trunk/user.yaml` as you would for `.trunk/trunk.yaml`. Now you can add additional linters, enable [actions](../actions/), or specify [default command options](broken-reference), without impacting the way other developers run `trunk`.
-
-Be mindful that `.trunk/user.yaml` takes precedence over `.trunk/trunk.yaml`, so substantial modifications could violate hermeticity.
-
-## Identity Config
-
-Trunk also saves a user config in `$HOME/.cache/trunk/user.yaml`. This is initially auto-generated, but some fields can be user-configured.
diff --git a/reference/vs-code.md b/reference/vs-code.md
deleted file mode 100644
index fee1a19b..00000000
--- a/reference/vs-code.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# VS Code
-
-Trunk is also available as a [VSCode extension](https://marketplace.visualstudio.com/items?itemName=Trunk.io) that you can use to streamline your linting and formatting experiences.
-
-### Get Started
-
-By default, Trunk will try to automatically initialize itself in single-player mode. This means that it'll create a Trunk configuration that is hidden from git, which allows you to try it out [without Trunk's versioning powers](vs-code.md#single-player-mode).
-
-If Trunk has not initialized itself in single-player mode, then you will need to initialize it manually, either by pressing the 'Initialize Trunk' button in the Trunk side panel:
-
-![initialize trunk](https://static.trunk.io/assets/vscode\_init\_trunk.png)
-
-or via the command line: just install the CLI and run `trunk init` in your repo.
-
-* Install Trunk → `curl https://get.trunk.io -fsSL | bash`
-* Setup Trunk in your repo → `trunk init`
-* See and fix issues as you code in VSCode → **You're in the right place 👍**
-
-### Features
-
-#### Discovery
-
-Trunk will suggest tools that will supercharge your development, from `actionlint`, for your GitHub Actions, to`sql-formatter` and `sqlfluff` for your SQL, to`yamllint`, for your YAML files.
-
-We believe that everything in your repository not only can be, but also should be, automatically formatted and automatically linted. We also recognize that a big part of this is making it easy for our users to discover tools that are newly applicable to them, so when Trunk is initialized, we turn on as much as we can, and then periodically follow up with suggestions for new tools.
-
-#### Seamless user experience
-
-On the side bar to the left you'll see the Trunk icon, which you can use to open the side panel to view issues. By default, issues are populated for every file you open as well as any modified files.
-
-![side panel](https://static.trunk.io/assets/vscode\_side\_panel.png)
-
-Trunk also shows Trunk Check Issues in a panel in the File Explorer, but you can hide it if you wish:
-
-![hide explorer panel](https://static.trunk.io/assets/vscode\_hide\_explorer\_panel.jpg)
-
-#### Single-player Mode
-
-In single-player mode, Trunk creates a [configuration file](https://docs.trunk.io/docs/reference-trunk-yaml) and hides it from Git, so that you can test out Trunk on your own and get familiar with how it works, without committing this file.
-
-Users normally check this file in to your repository so that you can run Trunk reproducibly: it pins the version of trunk, as well as that of every runtime and linter that you've enabled, allowing your team to guarantee that everyone and your CI runners are always running the exact same checks on your code.
-
-To check it in to your repository, all you have to do is run
-
-```bash
-trunk config share
-```
-
-which will commit `.trunk/trunk.yaml`, the Trunk configuration file.
-
-### Learn more
-
-Check out how to [install the CLI](docs:install), [set it up in CI](docs:ci), [ignore issues](docs:ignoring-issues), and set up [Custom Linters](../check/custom-linters.md).
-
-![linter code docs](https://static.trunk.io/assets/vscode\_doc\_links.png)
-
-![trunk-ignore](https://static.trunk.io/assets/vscode\_ignore\_issue.gif)
-
-### Configuration
-
-* `trunk.inlineDecorators` – allows to disable inline decorators for diagnostics.
-* `trunk.inlineDecoratorsForAllExtensions` – allows to render inline decorators only for diagnostics that was generated by Trunk.
-
-### Debugging
-
-If you look at the "Window" output for the extension, you may find useful error logs.
-
-### Feature Requests & Bug Reports
-
-Looking for another feature? Hit a bug? 🐛 [Let us know!](https://slack.trunk.io/)
diff --git a/references/apis/README.md b/references/apis/README.md
new file mode 100644
index 00000000..c92ba655
--- /dev/null
+++ b/references/apis/README.md
@@ -0,0 +1,45 @@
+---
+description: Trunk APIs for building custom integrations.
+---
+
+# API Reference
+
+## REST API Overview
+
+Trunk provides HTTP REST APIs for each of our features. The APIs use status codes to indicate the success or failure of requests, return JSON from all requests, and use standard HTTP response codes. All API requests must be authenticated.
+
+## Available APIs
+
+* [Flaky Tests](flaky-tests.md): for accessing information like quarantined tests in your repo.
+* [Merge API](merge.md) : for controlling the Trunk Merge Queue.
+
+## Authentication
+
+Authenticate to the API with an API key using the header `x-api-token`.
+
+### Finding your API token
+
+You can find your API token in the [Trunk App](https://app.trunk.io).
+
+{% @supademo/embed demoId="BILCaBxa05Hkol0Ck4Z-y" url="https://app.supademo.com/demo/BILCaBxa05Hkol0Ck4Z-y" %}
+
+### Example
+
+To submit an empty list of events to be tracked, do the following from the command line.
+
+```sh
+curl \
+    -i \
+    -X POST https://api.trunk.io/v1/metrics/trackEvents \
+    -H "Content-Type: application/json" \
+    -H "x-source: curl-sample" \
+    -H "x-api-token: {REDACTED}" \
+    -d '{
+	"repo": {
+		"host": "github.com",
+		"owner": "trunk-io",
+		"name": "jenkins-plugin"
+	},
+	"events":[]
+	}'
+```
diff --git a/references/apis/flaky-tests.md b/references/apis/flaky-tests.md
new file mode 100644
index 00000000..e407cef4
--- /dev/null
+++ b/references/apis/flaky-tests.md
@@ -0,0 +1,17 @@
+# Flaky Tests
+
+The Trunk Flaky Tests API provides access to check the status of Trunk services and fetch [quarantined](../../flaky-tests/quarantining.md) tests in your project. The API is an HTTP REST API, returns JSON from all requests, and uses standard HTTP response codes.
+
+All requests must be [authenticated](./#authentication) by providing the `x-api-token` header.
+
+{% openapi-operation spec="trunk-api" path="/flaky-tests/list-quarantined-tests" method="post" %}
+[Broken link](broken-reference)
+{% endopenapi-operation %}
+
+{% openapi-operation spec="trunk-api" path="/flaky-tests/list-quarantined-tests" method="post" %}
+[Broken link](broken-reference)
+{% endopenapi-operation %}
+
+{% openapi-operation spec="trunk-api" path="/flaky-tests/link-ticket-to-test-case" method="post" %}
+[Broken link](broken-reference)
+{% endopenapi-operation %}
diff --git a/references/apis/merge.md b/references/apis/merge.md
new file mode 100644
index 00000000..fb987bb0
--- /dev/null
+++ b/references/apis/merge.md
@@ -0,0 +1,40 @@
+---
+description: Public Trunk Merge Queue API. All requests should be authenticated.
+---
+
+# Merge Queue
+
+The Trunk Merge Queue API provides access to submit PRs for testing and merging, canceling PRs, and providing extra information to optimize the queue. The API is an HTTP REST API, returns JSON from all requests, and uses standard HTTP response codes.
+
+All requests must be [authenticated](./#authentication) by providing the `x-api-token` header.
+
+
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/submitPullRequest" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/getSubmittedPullRequest" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/restartTestsOnPullRequest" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/cancelPullRequest" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/getQueue" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi src="../../.gitbook/assets/mergeapi.json" path="/setImpactedTargets" method="post" %}
+[mergeapi.json](../../.gitbook/assets/mergeapi.json)
+{% endopenapi %}
+
+{% openapi-operation spec="manual-merge-api" path="/updateQueue" method="post" %}
+[Broken link](broken-reference)
+{% endopenapi-operation %}
+
diff --git a/references/apis/webhooks.md b/references/apis/webhooks.md
new file mode 100644
index 00000000..55aa38c9
--- /dev/null
+++ b/references/apis/webhooks.md
@@ -0,0 +1,20 @@
+---
+description: Documentation on the various webhooks that are provided by Trunk
+---
+
+# Webhooks Reference
+
+<figure><img src="../../.gitbook/assets/webhook-event-catalog (1).png" alt=""><figcaption></figcaption></figure>
+
+Svix generates a reference for all the exposed webhook events. You can find all possible webhooks from Trunk can be viewed in the [Webhook Events Catalog](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/):
+
+{% embed url="https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H" %}
+
+### Guides and Examples
+
+The documentation of each Trunk product contains guides and examples for using webhooks.
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Webhooks for Flaky Tests</td><td></td><td></td><td><a href="../../flaky-tests/webhooks/">webhooks</a></td></tr><tr><td>Merge Queue Webhooks</td><td></td><td></td><td><a href="../../merge-queue/webhooks.md">webhooks.md</a></td></tr></tbody></table>
+
+
+
diff --git a/references/cli/README.md b/references/cli/README.md
new file mode 100644
index 00000000..afdb535a
--- /dev/null
+++ b/references/cli/README.md
@@ -0,0 +1,17 @@
+# CLI Reference
+
+You can use the Trunk CLI to interact with Trunk during local development and automate tasks in CI.
+
+### What can it do?
+
+The Trunk CLI can be used for:
+
+* [Trunk Code Quality](../../code-quality/code-quality.md): a pluggable metalinter/superlinter with a builtin language server and pre-existing issue detection
+* [Trunk Tools:](getting-started/tools.md) hermetic runtime and CLI tool manager
+* [Trunk Actions](getting-started/actions/): local workflow automation and githooks manager
+* [Trunk Merge](../../merge-queue/merge-queue.md): a merge queue to make merging code in GitHub safer and easier
+* [Trunk Flaky Tests](../../flaky-tests/overview.md): upload test results to Trunk Flaky Tests to detect, quarantine, and eliminates flaky tests.
+
+[Trunk Quality](../../code-quality/code-quality.md) and [Trunk Actions](getting-started/actions/) can be used entirely locally without depending on hosted services or even having a Trunk account.
+
+<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Install</strong></td><td>Install the Trunk CLI for your system.</td><td></td><td><a href="install.md">install.md</a></td></tr><tr><td><strong>Compatibility</strong></td><td>System compatibility information.</td><td></td><td><a href="compatibility.md">compatibility.md</a></td></tr><tr><td><strong>Commands</strong></td><td>A reference of all CLI commands.</td><td></td><td><a href="commands-reference/">commands-reference</a></td></tr><tr><td><strong>Configuration</strong></td><td>A reference of all configurable CLI options.</td><td></td><td><a href="configuration/">configuration</a></td></tr></tbody></table>
diff --git a/references/cli/caching.md b/references/cli/caching.md
new file mode 100644
index 00000000..6e56108d
--- /dev/null
+++ b/references/cli/caching.md
@@ -0,0 +1,33 @@
+# Caching
+
+Trunk hermetically manages all the tools that it runs. To do this, it will download and install them into its cache folder only when needed. On Linux and macOS you may find the cache folder at `$HOME/.cache/trunk`.
+
+### Viewing your repo's cache
+
+If you need to debug your repo's cache, you can find its location by running the cache command.
+
+```
+trunk cache
+```
+
+### Cleaning cache
+
+Trunk will automatically clean up downloads that have not been used in a while, such as old versions of tools and linters.
+
+If you want to manually prune files in your cache directory that are no longer needed, you can run this command:
+
+```
+trunk cache prune
+```
+
+If you need to clean your entire cache manually, you can use the command:
+
+```sh
+trunk cache clean --all
+```
+
+Remember to rerun the install command to reinstall the necessary tools and linters.
+
+```
+trunk install
+```
diff --git a/references/cli/commands-reference/README.md b/references/cli/commands-reference/README.md
new file mode 100644
index 00000000..6ab6f30d
--- /dev/null
+++ b/references/cli/commands-reference/README.md
@@ -0,0 +1,215 @@
+# Commands Reference
+
+### trunk init
+
+`trunk init`: Set up trunk in this repo.
+
+#### **Usage** Example
+
+```
+trunk init
+```
+
+### trunk version
+
+`trunk version`: Output the version.
+
+#### **Usage** Example
+
+```
+trunk version
+```
+
+### trunk upgrade
+
+`trunk upgrade`: Upgrade Trunk and its linters to the latest releases.
+
+#### **Usage** **example**
+
+```
+trunk upgrade [options]
+```
+
+#### **Options**
+
+* `-y, --yes-to-all`: Answer yes to all upgrade prompts
+* `-n, --no-to-all`: Answer no to all upgrade prompts
+* `--apply-to`: Apply upgrades to a specified file
+* `--filter`: Filter the upgraded linters
+* `--dry-run`: Detect available upgrades, but do not apply changes
+
+### trunk login
+
+`trunk login`: Login to trunk.io.
+
+#### **Usage** Example
+
+```
+trunk login
+```
+
+### trunk logout
+
+`trunk logout`: Logout from trunk.io.
+
+#### **Usage** Example
+
+```
+trunk logout
+```
+
+### trunk plugins add
+
+`trunk plugins add`: Add a plugin by URI.
+
+#### **Usage** Example
+
+```
+trunk plugins [uri] [ref] [options]
+```
+
+### trunk tools
+
+`trunk tools`: Universal tool manager.
+
+#### **Usage** Example
+
+```
+trunk tools [options]
+```
+
+### trunk daemon status
+
+Report the status of the daemon.
+
+#### **Usage Example**
+
+```
+trunk daemon status
+```
+
+### trunk daemon start
+
+Start the trunk daemon in the background if it’s not already running.
+
+#### **Usage Example**
+
+<pre><code><strong>trunk daemon start
+</strong></code></pre>
+
+### **trunk daemon shutdown**
+
+`trunk daemon shutdown`: Shutdown the trunk daemon if it is running.
+
+#### **Usage Example**
+
+```
+trunk daemon shutdown
+```
+
+### **trunk daemon launch**
+
+`trunk daemon launch`: Start the trunk daemon in the foreground if it’s not already running.
+
+#### **Usage Example**
+
+```
+trunk daemon launch
+```
+
+### trunk whoami
+
+`trunk whoami`: print who you're logged in as
+
+#### **Usage** Example
+
+```
+trunk whoami
+```
+
+### trunk deinit
+
+`trunk deinit`: Deinitialize Trunk in your repo
+
+#### **Usage** Example
+
+```
+trunk deinit [options]
+```
+
+#### **Options**
+
+* `-y`, `--yes`: Proceed unconditionally
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### trunk config share
+
+`trunk config share`: Remove Trunk config files from your local git ignores.
+
+#### **Usage Example**
+
+```
+trunk config share 
+```
+
+### trunk config hide
+
+`trunk config hide`: Add Trunk config files to your local git ignores.
+
+#### **Usage Example**
+
+```
+trunk config hide
+```
+
+### trunk config print
+
+`trunk config print`: Print the resolved trunk config.
+
+#### **Usage Example**
+
+```
+trunk config print
+```
+
+### trunk cache clean
+
+`trunk cache clean`: Clean cached files used by Trunk.
+
+#### **Usage** Example
+
+```
+trunk cache clean
+```
+
+### trunk cache prune
+
+`trunk cache prune`: Prune unused cached files.
+
+#### **Usage** Example
+
+```
+trunk cache clean
+```
+
+### trunk install
+
+`trunk install`: Download & install enabled runtimes/linters.
+
+#### **Usage** Example
+
+```
+trunk install [options]
+```
+
+#### **Options**
+
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
diff --git a/references/cli/commands-reference/actions.md b/references/cli/commands-reference/actions.md
new file mode 100644
index 00000000..70bf330b
--- /dev/null
+++ b/references/cli/commands-reference/actions.md
@@ -0,0 +1,201 @@
+# Actions
+
+### Trunk Actions
+
+`trunk actions`: Workflow automation for your repo.
+
+#### **Usage** **example**
+
+```
+trunk actions [options] [subcommand]
+```
+
+#### Options
+
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Actions Run
+
+`trunk actions run`: Run a specified trunk action. **Usage** **bash**
+
+```
+trunk actions run [options]
+```
+
+#### **Options**
+
+* `--nolog`: Don't create a log file for the action run
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+* `--name <action_name>`: Specify the name of the Trunk action to be executed
+* `--branch <branch_name>`: Run the action on a specific branch
+* `--retry <number>`: Number of times to retry the action on failure
+
+### Trunk Actions History
+
+`trunk actions history`: View the history of Trunk actions.
+
+#### **Usage** Example
+
+```
+trunk actions history [options]
+```
+
+#### **Options**
+
+* `--count`: Number of logs to show
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Actions List
+
+`trunk actions list`: List all Trunk actions.
+
+#### **Usage** Example
+
+```
+trunk actions list [options]
+```
+
+#### **Options**
+
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Actions Enable
+
+`trunk actions enable`: Enable a specified Trunk action.
+
+#### **Usage** Example
+
+```
+trunk actions enable [options]
+```
+
+#### **Options**
+
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Actions Disable
+
+`trunk actions disable`: Disable a specified Trunk action.
+
+#### **Usage** Example
+
+```
+trunk actions disable [options]
+```
+
+#### **Options**
+
+* `--version`: The version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Shellhooks
+
+`trunk shellhooks`: Let Trunk manage your shell hooks similar to `direnvs` trunk shellhooks install \<shell\_name>
+
+#### **Usage** Example
+
+```
+trunk shellhooks install <shell_name> [options]
+```
+
+### Trunk Git Hooks
+
+`trunk git-hooks sync`: Sync githooks with what's defined in `trunk.yaml`
+
+#### **Usage** Example
+
+```
+trunk git-hook sync [options]
+```
+
+### Trunk show announcements since a commit
+
+**`trunk show-announcements since`**: Show announcements since a specified commit
+
+#### **Example Usage**:
+
+```sh
+trunk show-announcements since --commit abc123
+```
+
+#### **Options**:
+
+* `--color`: Enable/disable color output
+* `-v`, `--verbose`: Output details about what's happening under the hood
+* `--action_timeout`: Timeout for downloads, lint runs, etc.
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by `--ci`)
+* `--no-progress`: Don't show progress updates
+* `--ci`: Run in continuous integration mode
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--version`: The version
+
+### **Trunk show announcements post-merge**
+
+**`trunk show-announcements post-merge`**: Run on git pull/merge, usually run by a git-hook and not directly.
+
+**Example Usage**:
+
+```sh
+trunk show-announcements post-merge --verbose
+```
+
+### **Trunk show announcements pre-rebase**
+
+**`trunk show-announcements pre-rebase`**: Run on git pre-rebase, usually run by a git-hook and not directly.
+
+#### **Example Usage**:
+
+```sh
+trunk show-announcements pre-rebase [options] [branch-refs...]
+```
+
+### **Trunk show announcements post-checkout**
+
+**`trunk show-announcements post-checkout`**: Run on git checkout/switch, usually run by a git-hook and not directly.
+
+#### **Example Usage**:
+
+```sh
+trunk show-announcements post-checkout [options] [branch-refs...]
+```
diff --git a/references/cli/commands-reference/code-quality.md b/references/cli/commands-reference/code-quality.md
new file mode 100644
index 00000000..a2c86d16
--- /dev/null
+++ b/references/cli/commands-reference/code-quality.md
@@ -0,0 +1,171 @@
+# Code Quality
+
+### trunk check
+
+`trunk check`: Universal code checker.
+
+#### **Usage** **example**
+
+```
+trunk check [options]
+```
+
+#### Filtering Options
+
+* `-a, --all`: Check all files instead of only changed files
+* `--sample`: Run each linter on N files
+* `--filter`: Comma-separated list of linters and/or issue codes to include or exclude
+* `--exclude`: Shorthand for an inverse --filter
+* `--scope`: Scope of checks to run {all | security}
+* `--ignore`: Glob pattern to exclude files from linting
+* `--force`: Run on all files, even if ignored
+* `--include-existing-autofixes`: Include existing issues that can be autofixed
+
+#### **CI** Options
+
+* `--ci`: Run in non-interactive mode designed for CI environments
+* `-j`, `--jobs`: Number of concurrent jobs
+
+#### Git Hooks Options
+
+* `--index`: Run linter on git-indexed files
+* `--index-file`: Run linter on git-indexed files based on specified index
+* `--commit-ref`: Commit ref to lint (instead of current working tree)
+* `--commit-ref-from-pre-push`: Commit ref to lint from the stdin of a pre-push git hook (instead of the current working tree)
+
+#### Output Options
+
+* `--show-existing`: Show existing issues otherwise hidden by
+* `--print-failures`: Print any failures that occur
+* `--diff`: Diff printing mode {none | compact | full}
+* `-v, --verbose`: Show verbose output for debugging purposes
+* `--debug`: Show debug output
+
+#### Behavior Options
+
+* `-y, --fix`: Automatically apply all fixes without prompting
+* `-n, --no-fix`: Don't automatically apply fixes
+* `--cache`: Disable to skip cache for all check actions
+* `--ignore-git-state`: Run linters even if a merge, rebase, or revert is in progress
+* `--upstream`: Upstream branch used to compute changed files
+
+### Trunk Check Enable Linter
+
+`trunk check enable`: Enable linters for trunk check.
+
+#### **Usage** **example**
+
+```
+trunk check enable [options]
+```
+
+### Trunk Check Disable Linter
+
+`trunk check disable`: Disable linters for trunk check.
+
+#### **Usage** **example**
+
+```
+trunk check disable [options]
+```
+
+### Trunk Check List Linters
+
+`trunk check list`: List linters for trunk check.
+
+#### **Usage** **example**
+
+```
+trunk check list [options]
+```
+
+### Trunk Check Run Format
+
+`trunk fmt`: List linters for trunk check.
+
+#### **Usage** **example**
+
+```
+trunk fmt [options]
+```
+
+#### **Options**
+
+#### Filtering Options
+
+* `-a, --all`: Check all files instead of only changed files
+* `--filter`: Comma-separated list of linters and/or issue codes to include or exclude
+* `--exclude`: Shorthand for an inverse --filter
+* `--scope`: Scope of checks to run {all | security}
+* `--ignore`: Glob pattern to exclude files from linting
+* `--force`: Run on all files, even if ignored
+* `--show-existing`: Show existing issues otherwise hidden by [hold-the-line](../../../code-quality/overview/how-does-it-work.md#hold-the-line)
+* `--ignore-git-state`: Run linters even if a merge, rebase, or revert is in progress
+
+#### Git Hooks Options
+
+* `--index`: Run linter on git-indexed files
+* `--index-file`: Run linter on git-indexed files based on specified index
+* `--commit-ref`: Commit ref to lint (instead of current working tree)
+* `--commit-ref-from-pre-push`: Commit ref to lint from the stdin of a pre-push git hook (instead of the current working tree)
+
+#### Output Options
+
+* `--show-existing`: Show existing issues otherwise hidden by
+* `--print-failures`: Print any failures that occur
+* `--diff`: Diff printing mode {none | compact | full}
+* `-v, --verbose`: Show verbose output for debugging purposes
+* `--debug`: Show debug output
+
+#### Behavior Options
+
+* `-y, --fix`: Automatically apply all fixes without prompting
+* `-n, --no-fix`: Don't automatically apply fixes
+* `--cache`: Disable to skip cache for all check actions
+* `--ignore-git-state`: Run linters even if a merge, rebase, or revert is in progress
+* `--upstream`: Upstream branch used to compute changed files
+* `-j`, `--jobs`: Number of concurrent jobs
+
+## Advanced Trunk Check Features
+
+| Options & Flags      | Explanation                                                                                                                                                              |
+| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `--root`             | Explicitly set the root of the repository to run against                                                                                                                 |
+| `--upstream`         | Specify the upstream branch used to calculate new vs existing issued.                                                                                                    |
+| `--trigger`          | Supports running trunk check from inside a git hook. Options are manual (default), git-push, git-commit. Controls whether the check returns early and its interactivity. |
+| `--output=format`    | Output results in specified format: `text` (default) or `json`                                                                                                           |
+| `--output-file=FILE` | Write json results to specified file                                                                                                                                     |
+
+#### --filter
+
+`--filter` argument allows you to restrict `trunk check` to a subset of the linters enabled in your repository.
+
+For example, to run `eslint` and `isort` on the entire repo:
+
+```bash
+trunk check --all --filter=eslint,isort
+```
+
+Alternatively, to run every linter _except_ `clang-tidy` and `shellcheck`:
+
+```bash
+trunk check --all --filter=-clang-tidy,-shellcheck
+```
+
+#### --sample
+
+`--sample=N` will attempt to run every enabled linter against the requested number of files. The goal of the `sample` flag is to test the setup of the linters in your repository as well as any specific configuration they might honor.
+
+The sample command will attempt to run each linter N times, but may run fewer if not enough applicable files exist in your set of files to lint. `--sample=N` can be combined with any other set of options for `trunk check`.
+
+For example, to run `prettier` against 10 different prettier supported files:
+
+```bash
+trunk check --sample=10 --filter=prettier
+```
+
+Alternatively, to run every linter at most 5 times against its supported files:
+
+```bash
+trunk check --sample=5
+```
diff --git a/references/cli/commands-reference/merge.md b/references/cli/commands-reference/merge.md
new file mode 100644
index 00000000..061e0575
--- /dev/null
+++ b/references/cli/commands-reference/merge.md
@@ -0,0 +1,64 @@
+# Merge
+
+### Trunk Merge
+
+`trunk merge`: Submit a pull request to merge at `https://app.trunk.io/merge`.&#x20;
+
+#### **Usage** **example**
+
+```
+trunk merge [options] [subcommand]
+```
+
+#### **Options**
+
+* `--skip-the-line`: Whether this item should be inserted ahead of all pull requests already waiting to merge
+* `-p, --priority`: The priority this item should be enqueued with (0-255, 0 is highest)
+* `--version`: Display the version
+* `--monitor`: Enable the trunk daemon to monitor file changes in your repo
+* `--ci`: Run in continuous integration mode
+* `--no-progress`: Don't show progress updates
+* `--ci-progress`: Rate limit progress updates to every 30s (implied by --ci)
+* `--action_timeout`: Timeout for downloads, lint runs, etc
+* `-v, --verbose`: Output details about what's happening under the hood
+* `--color`: Enable/disable color output
+
+### Trunk Merge Status
+
+`trunk merge status`: Check the status of a submitted merge request.&#x20;
+
+#### **Usage** **example**
+
+```
+trunk merge status [pr] [options]
+```
+
+### Trunk Merge Cancel
+
+`trunk merge cancel`: Cancel a pull request from merging.&#x20;
+
+#### **Usage** **example**
+
+```
+trunk merge cancel [pr] [options]
+```
+
+### Trunk Merge Pause
+
+`trunk merge pause`: \[admin only] Pauses the queue from merging pull requests.&#x20;
+
+#### **Usage** **example**
+
+```
+trunk merge cancel [pr] [options]
+```
+
+### Trunk Merge Resume
+
+`trunk merge resume`: \[admin only] Resumes merging pull requests in the queue.&#x20;
+
+#### **Usage** **example**
+
+```
+trunk merge resume [pr] [options]
+```
diff --git a/references/cli/compatibility.md b/references/cli/compatibility.md
new file mode 100644
index 00000000..2fb042b5
--- /dev/null
+++ b/references/cli/compatibility.md
@@ -0,0 +1,45 @@
+# Compatibility
+
+### Linux
+
+Trunk will run on most Linux flavors, including Ubuntu, Arch, and others. We do require glibc version 2.19 or later. Alpine Linux is not supported.
+
+### macOS
+
+Trunk will run on macOS version 10.15 or later.
+
+### Windows
+
+Trunk only supports Windows with the following versions and above:
+
+<table><thead><tr><th width="112.33333333333331">Tool</th><th width="397">Where to Modify</th><th>Minimum Required Version</th></tr></thead><tbody><tr><td>CLI</td><td><code>cli</code> <code>version</code> in <code>.trunk/trunk.yaml</code></td><td><code>1.13.0</code></td></tr><tr><td>Plugins</td><td><code>ref</code> for the <code>trunk</code> plugin in <code>.trunk/trunk.yaml</code></td><td><code>v1.0.0</code></td></tr><tr><td>VSCode</td><td>Reload VSCode to update</td><td><code>3.4.4</code></td></tr></tbody></table>
+
+You will also need to install [C and C++ runtime libraries](https://aka.ms/vs/17/release/vc_redist.x64.exe) to run some linters.
+
+#### Getting in touch
+
+Thank you for being a beta tester of Trunk Check on Windows! We are actively working to improve the experience. If you have any feedback or questions, please contact us directly on [Slack](https://slack.trunk.io/).
+
+If you want to override a repo-wide setting just for your Windows machine, you can modify your [`.trunk/user.yaml`](configuration/per-user-overrides.md).
+
+#### Supported Features
+
+We intend to bring full feature support to Windows for Trunk. Currently, the following features are supported:
+
+* [Trunk Code Quality](../../code-quality/code-quality.md)
+* Non-interactive [Trunk Actions](getting-started/actions/) and [git-hooks](getting-started/actions/git-hooks.md)
+* [VSCode](../../code-quality/ide-integration/vscode.md)
+
+### Plugin Compatibility
+
+{% hint style="info" %}
+This section was last updated for Plugins v1.2.0
+{% endhint %}
+
+Trunk runs most linters on all platforms. However, some linters are not yet supported on Windows. For a full list of all linters, see our [Plugins repo](https://github.com/trunk-io/plugins).
+
+<table data-full-width="false"><thead><tr><th>Linter</th><th>Plans for Support</th></tr></thead><tbody><tr><td>ansible-lint</td><td>Only supported on WSL</td></tr><tr><td>clang-format</td><td>Long-term plans for LLVM linter support</td></tr><tr><td>clang-tidy</td><td>Long-term plans for LLVM linter support</td></tr><tr><td>detekt-gradle</td><td>Long-term plans for support</td></tr><tr><td>include-what-you-use</td><td>Long-term plans for LLVM linter support</td></tr><tr><td>nixpkgs-fmt</td><td>Long-term plans for support</td></tr><tr><td>perlcritic</td><td>No immediate plans for support</td></tr><tr><td>perltidy</td><td>No immediate plans for support</td></tr><tr><td>scalafmt</td><td>No download available for Windows</td></tr><tr><td>semgrep</td><td>No download available for Windows</td></tr><tr><td>shellcheck</td><td>No download available for Windows</td></tr><tr><td>stringslint</td><td>Only supported on MacOS</td></tr><tr><td>swiftformat</td><td>Only supported on MacOS</td></tr><tr><td>swiftlint</td><td>Only supported on MacOS</td></tr><tr><td>taplo</td><td>No download available for Windows</td></tr></tbody></table>
+
+### Backward Compatibility
+
+We generally strive to maintain backward compatibility between the [Trunk Launcher](install.md#the-trunk-launcher) and the Trunk binary, but you may need to occasionally upgrade the launcher to support the newest version of Trunk.
diff --git a/reference/trunk-yaml.md b/references/cli/configuration/README.md
similarity index 55%
rename from reference/trunk-yaml.md
rename to references/cli/configuration/README.md
index d36c9d79..2dbc0bec 100644
--- a/reference/trunk-yaml.md
+++ b/references/cli/configuration/README.md
@@ -1,6 +1,6 @@
-# Trunk YAML
+# Configuration
 
-`trunk` is controlled by the `.trunk/trunk.yaml` file in your repository.
+The Trunk CLI has its top-level config defined in `.trunk/trunk.yaml`.
 
 ```
 /your_repo
@@ -11,9 +11,11 @@
     └── foo
 ```
 
-This is initially generated by `trunk init` and is the central source of truth for how `trunk` operates inside your repository. As we build new services and features, we'll extend `trunk.yaml` to include configuration sections for them. We believe strongly in configuration as code and being able to guarantee that `trunk` can be run reproducibly.
+This is initially generated by `trunk init` and is the central source of truth for how Trunk operates inside your repository. As we build new services and features, we'll extend `trunk.yaml` to include configuration sections for them. We believe strongly in "configuration as code" and being able to guarantee that `trunk` can be run reproducibly.
 
-The trunk configuration file is written in YAML and our hope is that it is self-descriptive. We've included below a sample config file in its entirety to help you understand how the pieces all come together. Alternatively, you can also refer to [the `trunk.yaml` in our GitHub Action](https://github.com/trunk-io/trunk-action/blob/main/.trunk/trunk.yaml) as an example or [`trunk-yaml-schema.json`](https://static.trunk.io/pub/trunk-yaml-schema.json).
+### Config Format
+
+The Trunk configuration file is written in YAML and is meant to be self-descriptive. Below is a sample config file to help you understand how the pieces come together. Alternatively, you can also refer to [the `trunk.yaml` in our GitHub Action](https://github.com/trunk-io/trunk-action/blob/main/.trunk/trunk.yaml) as an example or [`trunk-yaml-schema.json`](https://static.trunk.io/pub/trunk-yaml-schema.json).
 
 ```yaml
 version: 0.1 # the version of this config file.
@@ -23,6 +25,10 @@ runtimes:
   enabled:
     - ruby@>=2.7.1
     - python@3.9.1
+repo:
+  # main is the branch that everyone's work is merged into
+  # (this is usually inferred and not required to be set)
+  trunk_branch: main
 lint:
   definitions:
     - name: my_custom_linter
@@ -76,9 +82,11 @@ lint:
         - ansible # A directory
 ```
 
-The first two sections of this file are self-explanatory: `version` is the schema version of `trunk.yaml` and `cli.version` is the version of the `trunk` CLI that we have pinned.
+### `version`
+
+The `version field` is the schema version of `trunk.yaml.`
 
-## `cli`
+### `cli`
 
 ```yaml
 cli:
@@ -98,7 +106,7 @@ Some examples using the configuration above:
 * `trunk check -n` resolves to `trunk check -n --monitor=true`
 * `trunk fmt` resolves to `trunk fmt -y --monitor=true`
 
-## `repo`
+### `repo`
 
 ```yaml
 repo:
@@ -107,13 +115,13 @@ repo:
   trunk_branch: main
 ```
 
-Some `trunk` features require `trunk` to be aware of the canonical repository your organization uses, i.e. the repository which everyone pulls from and makes pull requests into. `trunk` can infer this from your `origin` remote, but if you don't want your `origin` to be used for this purpose, you can explicitly specify your canonical repository.
+Some Trunk features require Trunk to be aware of the canonical repository your organization uses, such as the repository that everyone pulls from and makes pull requests into. The Trunk CLI can infer this from your `origin` remote, but if you don't want your `origin` to be used for this purpose, you can explicitly specify your canonical repository.
 
 Other features - namely `trunk check` - need to be aware of the primary upstream branch that everyone branches from. If you use `main` or `master`, `trunk` can infer this; however, if you use some other primary branch, then you may want to consider setting this.
 
 The above configuration is how you would specify that [https://github.com/github/gitignore](https://github.com/github/gitignore) is your canonical repository and that `main` is the branch which `trunk` should always think of as your upstream branch.
 
-## `api`
+### `api`
 
 ```yaml
 api:
@@ -121,35 +129,25 @@ api:
   org: { your-org-name }
 ```
 
-Some `trunk` features, like the CI Debugger, require knowledge of the trunk organization your repository is using. This information can be provided on the command-line or hard-coded in the `trunk.yaml` file.
+Some Trunk features, like the CI Debugger, require knowledge of the Trunk organization your repository is using. This information can be provided on the command line or hard-coded in the `trunk.yaml` file.
 
-### Stacked PR support
+### `trunk_remote_hint`
 
 ```yaml
 repo:
-  use_branch_upstream: true
+  trunk_remote_hint: github.com/organization/my_repo
 ```
 
-By default, `trunk` will auto-detect all changed files relative to your main branch. If you would instead like it to compare against the upstream of your current git branch, you can enable this feature by setting `use_branch_upstream` to `true`.
-
-## `runtimes`
-
-`trunk` manages the hermetic installation of all required runtimes. You can also specifically pin a version of a runtime you'd like `trunk` to use, or tell `trunk` to re-use an already-installed runtime on the system.
+If this hint is set, Trunk will search all local remotes looking for the one that best matches `<remote_host>/<organization>/<repo_name>` instead of defaulting to `origin`. It will then use this remote as the default upstream for computing changed files.
 
-By default, `trunk` will use its own hermetic runtime installations. To specify that `trunk` is allowed to use the version of a runtime available in your `PATH`, you can specify a range-based version constraint, e.g. `>=0.1.2`.
-
-In the example config below, if there is a version of `ruby` which is at least `2.7.1` already installed on the system, `trunk` will use that system version of `ruby`; similarly, if there is a version of `python` which is exactly `3.9.1`, `trunk` will use that system version of `python`. If there is no pre-installed runtime available that satisfies the specified constraint, then `trunk` will instead install its own instance of said runtime to use.
+### Stacked PR support
 
 ```yaml
-runtimes:
-  enabled:
-    - ruby@>=2.7.1 # Use system installed ruby if it matches version 2.7.1 or greater
-    - python@3.9.1 # Use system python if it matches 3.9.1 exactly
+repo:
+  use_branch_upstream: true
 ```
 
-## `lint`
-
-See the [check configuration](../check/configuration.md) and [custom linter](../check/custom-linters.md) documentation.
+By default, `trunk` will auto-detect all changed files relative to your main branch. If you would instead like it to compare against the upstream of your current git branch, you can enable this feature by setting `use_branch_upstream` to `true`.
 
 ### Disable upgrade notifications
 
@@ -163,9 +161,9 @@ actions:
 
 ### Overriding defaults
 
-`trunk` ships with a default configuration which `trunk.yaml` is merged into to produce the actual configuration that `trunk` runs with. You can view this merged configuration using `trunk print-config`.
+Trunk ships with a default configuration which `trunk.yaml` is merged into to produce the actual configuration that Trunk runs with. You can view this merged configuration using `trunk print-config`.
 
-You may find while using `trunk` that you want to modify one of these defaults: perhaps you want `clang-tidy` to not run on the upstream, or maybe you want the `node` runtime to include another environment variable. In these cases, you can specify the field in your `trunk.yaml` to override the default value.
+You may find while using Trunk that you want to modify one of these defaults: perhaps you want `clang-tidy` to not run on the upstream, or maybe you want the `node` runtime to include another environment variable. In these cases, you can specify the field in your `trunk.yaml` to override the default value.
 
 Let's take `clang-tidy` as an example, which ships with the following default configuration:
 
@@ -191,14 +189,57 @@ definitions:
 
 If you wanted to flip the value of `disable_upstream` to `false`, you could, in your own `trunk.yaml`, specify:
 
+<pre class="language-yaml"><code class="lang-yaml"><strong>definitions:
+</strong>  ...
+  - name: clang-tidy
+    disable_upstream: false
+  ...
+</code></pre>
+
+Some linters have multiple commands, such as [trivy](https://github.com/trunk-io/plugins/blob/main/linters/trivy/plugin.yaml), which can run in different ways. Similarly, some linters are configured to run differently on different platforms or at different versions. When overriding a command definition, overrides are applied on the tuple `[name, version, platforms]`. For example, if you wanted to disable batching when running [ktlint](https://github.com/trunk-io/plugins/blob/main/linters/ktlint/plugin.yaml) on Windows, you could consider its default configuration:
+
 ```yaml
 definitions:
   ...
-  - name: clang-tidy
-    disable_upstream: false
+  - name: ktlint
+    ...
+    commands:
+      - name: format
+        platforms: [windows]
+        run: java -jar ${linter}/ktlint.exe -F "${target}"
+        output: rewrite
+        cache_results: true
+        formatter: true
+        in_place: true
+        batch: true
+        success_codes: [0, 1]
+      - name: format
+        run: ktlint -F "${target}"
+        output: rewrite
+        cache_results: true
+        formatter: true
+        in_place: true
+        batch: true
+        success_codes: [0, 1]
+  ...
+```
+
+and override it as such:
+
+```yaml
+definitions:
+  ...
+  - name: ktlint
+    ...
+    commands:
+      - name: format
+        platforms: [windows]
+        batch: false
   ...
 ```
 
+When executing linters, Trunk will execute the first matching command based on its compatible platforms and linter version. Note when overriding that new commands that don't match an existing tuple are prepended to the resulting commands list.
+
 Alternatively, consider the default `node` runtime:
 
 ```yaml
@@ -232,16 +273,18 @@ runtimes:
         list: ["${home}/my/special/node/path", "${runtime}/bin"]
 ```
 
-Notes:
+### Validation
+
+Custom linter, download, and runtime configs must be defined in full and will be validated. Overrides of existing linter, download, and runtime configs can be partial overrides. They do not have to be full definitions.
+
+Merged configurations are subject to the same validation that custom linters are - they must all have a name, type, command, and either `success_codes` or `error_codes` set.
+
+### Known limitations
 
-1. Custom linter/download/runtime configs are subject to validation - they must be fully defined -\
-   but configs that have a matching name to a built-in linter/download/runtime can have as few or\
-   many values specified as desired.
-2. Scalar values are overridden in a straightforward manner - the value specified in the override\
+1. Scalar values are overridden in a straightforward manner - the value specified in the override\
    takes the place of the default, and otherwise, default values are retained.
-3. To override a sequence value in the default (ex. `environment` in the `node` runtime), it is\
+2. To override a sequence value in the default (ex. `environment` in the `node` runtime), it is\
    necessary to fully specify the new sequence. This is why the `environment` override above also defines `HOME`. If you just wanted to add a new value, you would have to copy in the existing\
    sequence to your overriding config, and add your new value to the end of the list.
-4. It is not possible to set sequences of non-zero length to zero length. For example, if the\
+3. It is not possible to set sequences of non-zero length to zero length. For example, if the\
    default config has `success_codes: [0]`, you may override this to `success_codes: [0, 1]`, but you cannot clear its value.
-5. Merged configurations are subject to the same validation that custom linters are - they must all have a name, type, command, and either `success_codes` or `error_codes` set.
diff --git a/actions/configuration.md b/references/cli/configuration/actions/README.md
similarity index 65%
rename from actions/configuration.md
rename to references/cli/configuration/actions/README.md
index 6cff121a..d2f9b8de 100644
--- a/actions/configuration.md
+++ b/references/cli/configuration/actions/README.md
@@ -1,10 +1,6 @@
----
-description: enabling and writing your own actions
----
+# Actions
 
-# Configuration
-
-Actions are defined and enabled in the `actions` section of [`trunk.yaml`](../reference/trunk-yaml.md).
+Actions are defined and enabled in the `actions` section of `trunk.yaml`.
 
 Here is an example of the actions section of `trunk.yaml`. If you are curious what your resolved configuration for actions looks like, run `trunk config print`.
 
@@ -50,13 +46,24 @@ The command will implicitly run relative to your workspace, but you can also spe
 
 We sandbox action executions and allow you to control the runtime. You can do this by specifying a `runtime` and `packages_file`.
 
-You can specify one of our built-in runtimes (`node`, `python`, ...) or a system runtime that you define. See the [runtimes documentation](../reference/trunk-yaml.md#runtimes)for more information.
+You can specify one of our built-in runtimes (`node`, `python`, ...) or a system runtime that you define. See the [runtimes documentation](../runtimes.md) for more information.
 
 For the `python` and `node` runtimes, we additionally provide the ability to install a requirements file like `requirements.txt` or `package.json`.
 
 ### Triggers
 
-You may run an action manually by running `trunk run <action_id> <args>` or `trunk actions run <action_id> <args>`. However, you can also provide a set of triggers so that actions run in response to some event. They are documented below.
+You can run actions manually, or you can also provide a set of triggers so that actions run in response to some event. They are documented below.
+
+#### Manual runs
+
+You may run an action manually by running `trunk run <action_id> <args>` or `trunk actions run <action_id> <args>`.
+
+For manually triggered runs, we support the `${@}` and `${pwd}` variables for template resolution in the `run` declaration. `${@}` will be replaced with the arguments passed to the action, and `${pwd}` will be replaced with the directory the action is triggered from.
+
+```yaml
+id: my-action
+run: echo "The action was run from ${pwd} with arguments ${@}"
+```
 
 #### Time-based triggers
 
@@ -72,7 +79,7 @@ triggers:
 
 The `schedule` entry should be in the Duration format specified [here](https://pkg.go.dev/time#ParseDuration). The action will be run once per `duration`.
 
-This is a short-hand for specifying schedule as an object. You can also write -
+This is a short-hand for specifying schedule as an object. You can also write:
 
 ```yaml
 id: my-action
@@ -83,7 +90,7 @@ triggers:
 
 The action may occasionally run more often than the specified duration depending on the Trunk daemon's lifetime.
 
-If you wish to stagger the execution of an action from others on a similar schedule, you may use the `delay` field -
+If you wish to stagger the execution of an action from others on a similar schedule, you may use the `delay` field:
 
 ```yaml
 id: my-action
@@ -96,7 +103,7 @@ triggers:
 You may also use cron syntax:
 
 ```yaml
-id: my-action
+nid: my-action
  triggers:
     # run every 2 hours
     - schedule: "0 0 */2 * * ?"
@@ -105,7 +112,7 @@ id: my-action
 or equivalently:
 
 ```yaml
-id: my-action
+ id: my-action
  triggers:
     # run every 2 hours
     - schedule:
@@ -126,12 +133,23 @@ triggers:
 
 In this case `my-action` will execute if either `foo.txt` is edited (or created), or if a file inside `bar` is edited or created.
 
-Note: We only provide file triggers for files inside of your workspace.
+In case you need to know which file triggered the action, you can use the `${target}` variable in the `run` command.
+
+```yaml
+id: my-action
+triggers:
+  - files: [foo.txt, bar/**]
+run: echo "The file ${target} was edited"
+```
+
+If you do a bulk file modification, the `${target}` template may resolve to a space-separated list of files that were simultaneously edited.
+
+> Note: We only provide file triggers for files inside of your workspace.
 
 #### Git hooks
 
-You can also configure trunk to manage your git hooks. More detail is provided on this in our [git hooks reference](git-hooks.md).
+You can also configure Trunk to manage your git hooks. More detail is provided on this in our [git hooks reference](../../getting-started/actions/git-hooks.md).
 
 ### Interactivity
 
-Actions can read from `stdin` if they are marked as interactive (define `interactive: true` on the action). Note - this feature is only available for git hooks and manually run actions - since file-triggered and scheduled actions run in the background, you cannot interact with their execution.
+Actions can read from `stdin` if they are marked as interactive (define `interactive: true` on the action). Note: this feature is only available for git hooks and manually run actions - since file-triggered and scheduled actions run in the background, you cannot interact with their execution.
diff --git a/actions/logging-and-troubleshooting.md b/references/cli/configuration/actions/logging-and-troubleshooting.md
similarity index 69%
rename from actions/logging-and-troubleshooting.md
rename to references/cli/configuration/actions/logging-and-troubleshooting.md
index 36c620f3..ad440fa3 100644
--- a/actions/logging-and-troubleshooting.md
+++ b/references/cli/configuration/actions/logging-and-troubleshooting.md
@@ -1,3 +1,7 @@
+---
+description: Diagnosing problems with actions
+---
+
 # Logging and Troubleshooting
 
 We provide a number of tools for inspecting the results of actions that run in the background and wouldn't otherwise surface their errors.
@@ -8,13 +12,13 @@ Every action execution is logged. We consider an action execution to have failed
 
 Failed action executions will also produce a notification so that background failures are periodically surfaced to the user.
 
-You can inspect also inspect action logs at `.trunk/out/actions/<action_id>/`.
+You can also inspect action logs at `.trunk/out/actions/<action_id>/`.
 
-We recommend running actions manually when you develop them in order to verify that they work correctly.
+We recommend running actions manually when you develop them to verify that they work correctly.
 
 ### Output Level
 
-In order to see a more verbose output when running trunk actions, particularly from git-hooks, you can add the following to your `trunk.yaml`:
+To see a more verbose output when running trunk actions, particularly from git-hooks, you can add the following to your `trunk.yaml`:
 
 ```yaml
 actions:
diff --git a/actions/notifications.md b/references/cli/configuration/actions/notifications.md
similarity index 82%
rename from actions/notifications.md
rename to references/cli/configuration/actions/notifications.md
index 00f8b70b..2d247136 100644
--- a/actions/notifications.md
+++ b/references/cli/configuration/actions/notifications.md
@@ -1,10 +1,14 @@
-# Notifications
+---
+description: >-
+  Trunk Actions can also produce notifications to display in your terminal or in
+  the VSCode extension!
+---
 
-One of the useful things you can do with actions is produce notifications.
+# Notifications
 
 ### Defining actions that produce notifications
 
-Typically, whatever actions write to stdout is stored in the log file and perhaps shown to the user. However, actions can also produce structured output if `output_type` is set on the Action Definition to be `notification_v1`.
+Typically, whatever actions write to stdout are stored in the log file and perhaps shown to the user. However, actions can also produce structured output if `output_type` is set on the Action Definition to be `notification_v1`.
 
 In this case, the action should print yaml to output with the following structure:
 
@@ -25,10 +29,10 @@ notifications:
 
 Some notes:
 
-1. The ID can be whatever you want it to, but generally should be made to match the action ID.
+1. The ID can be whatever you want it to be, but generally should be made to match the action ID.
 2. You may emit multiple notifications per action.
 3. `icon` and `commands` are used to control notifications display in VSCode.
-4. High priority notifications are immediately shown to the user in terminal. Low priority notifications are only shown every 24 hours (These are configurable).
+4. High-priority notifications are immediately shown to the user in terminal. Low-priority notifications are only shown every 24 hours (These are configurable).
 
 ### Deleting notifications
 
@@ -74,4 +78,4 @@ If there are no upgrades available, `trunk upgrade --notify` will produce:
 notifications_to_delete: [trunk-upgrade-available]
 ```
 
-So in this scenario, the `trunk-upgrade-available` action runs in the background periodically and produces a notification. The user takes action by running `trunk upgrade`. Since `trunk upgrade` modifies `.trunk/trunk.yaml`, this will again trigger the `trunk-upgrade-available` action (due to the file trigger). Since there is nothing else to upgrade, `trunk upgrade --notify` will produce output telling trunk to delete its notification. Now, the user is no longer shown a notification about available upgrades!
+So in this scenario, the `trunk-upgrade-available` action runs in the background periodically and produces a notification. The user takes action by running `trunk upgrade`. Since `trunk upgrade` modifies `.trunk/trunk.yaml`, this will again trigger the `trunk-upgrade-available` action (due to the file trigger). Since there is nothing else to upgrade, `trunk upgrade --notify` will produce output telling Trunk to delete its notification. Now, the user is no longer shown a notification about available upgrades!
diff --git a/references/cli/configuration/lint/README.md b/references/cli/configuration/lint/README.md
new file mode 100644
index 00000000..fd68c806
--- /dev/null
+++ b/references/cli/configuration/lint/README.md
@@ -0,0 +1,124 @@
+# Lint
+
+### Lint Config
+
+The `lint` section of `.trunk/trunk.yaml` represents the configuration of all linters. This is where you can:
+
+* Define the linters (`lint.definitions`),
+* List linters to enable and disable (`lint.enabled` and `lint.disabled`)
+* Define file categories (`lint.files`)
+* List required `runtimes` and `downloads`.
+* And additional cross-linter settings.
+
+### `bazel`
+
+`bazel`: bazel configuration
+
+* `paths` locations to look for Bazel binary. [Example](../../../../code-quality/linters/supported/clang-tidy.md#using-bazel).
+
+### `comment_formats`
+
+`comment_formats`: Definitions of comment formats. Reused in linter definitions. Trunk Quality already defines many common comment format such as `hash` (`# comment`), `slashes-block` (`/* comment */`), and `slashes-inline` (`// comment`). For the full list [see the linters plugin.yaml](https://github.com/trunk-io/plugins/blob/main/linters/plugin.yaml).
+
+To create a new comment format provide the name and delimiters like this:
+
+```yaml
+lint:
+  comment_formats:
+    - name: dashes-block
+      leading_delimiter: --[[
+      trailing_delimiter: --]
+```
+
+### `compile_commands`
+
+`compile_commands`: compile commands for clang-tidy. Must be one of `json` or `bazel`.
+
+### `compile_commands_roots`
+
+`compile_commands_roots`: Directories to search for `compile_commands.json`. The default is `build/`.
+
+### `default_max_file_size`
+
+`default_max_file_size`: Default maximum filesize in bytes. Trunk Code Quality will not run linters on any files larger than this. Default value is 4 megabytes.
+
+### `definitions`
+
+`definitions`: Where you define or override linter settings. See [Linter Definition Config](definitions.md).
+
+### `disabled`
+
+`disabled`: The list of linters to disable. Adding a linter here will prevent trunk from suggesting it as a new linter each time you upgrade. Linter names can be in the form of `<name>` or `<name>@<version>`, the same format as the [enabled](./#enabled) property.
+
+### `downloads`
+
+`downloads`: Locations to download binary artifacts from. Using [tool definitions](../tools.md) instead is preferred.
+
+### `enabled`
+
+`enabled`: The list of linters to enable. Linter names can be in the form of `<name>` or `<name>@<version>`. Examples:
+
+```yaml
+lint:
+  enabled:
+    # Mutually exclusive, choose one:
+    - eslint # Use the system version of markdownlint
+    - eslint@9.0.0 # Use a hermetically managed version of eslint
+    - eslint@node # Use eslint from node_modules/.bin
+```
+
+### `exported_configs`
+
+`exported_configs`: Linter configs to export when another project is [importing this plugin](../../../../code-quality/linters/shared-configs.md)
+
+### `extra_compilation_flags`
+
+`extra_compilation_flags`: When running clang-tidy, this list will be appended to the compile command.
+
+### `files`
+
+`files`: Definitions of filetypes
+
+Every linter must define the set of filetypes it applies to in the `lint.files` section.
+
+New filetypes are defined with the name and extensions properties. They may also include the comments properties to describe what style of comments are used in these files.
+
+This is how the C++ source filetype is defined. See also [Files and Caching](files-and-caching.md).
+
+```yaml
+lint:
+  files:
+    - name: c++-source
+      extensions:
+        - C
+        - cc
+        - cpp
+        - cxx
+      comments:
+        - slashes-block
+        - slashes-inline
+```
+
+### `ignore`
+
+`ignore`: files to be ignored by linters.
+
+### `reuse_upstream`
+
+`reuse_upstream`: If enabled, Trunk will cache upstream sandboxes instead of creating a new one each time. Options are `true`, or `false`.
+
+### `runtimes`
+
+`runtimes`: Node, python, cargo, etc. Used to define or override a runtime environment for package management. [See Runtimes](../runtimes.md).
+
+### `skip_missing_compile_command`
+
+`skip_missing_compile_command`: For linters that depend on compile commands, setting this will cause Trunk to skip files without a compile command rather than report an error.
+
+### `threshold`
+
+`threshold`: where you specify the blocking behavior of linters. The [threshold](../../../../code-quality/linters/configure-linters.md#blocking-thresholds) for whether an error from a linter should block commits or not.
+
+### `upstream_mode`
+
+`upstream_mode`: How to generate the upstream sandbox used for generating lint results for revisions not currently checked out. Options are`symlink` (default), `hardlink`, or `copy`. If using `copy`, it can be slow without also enabling `reuse_upstream: true`.
diff --git a/references/cli/configuration/lint/auto-enable.md b/references/cli/configuration/lint/auto-enable.md
new file mode 100644
index 00000000..3a6d50f8
--- /dev/null
+++ b/references/cli/configuration/lint/auto-enable.md
@@ -0,0 +1,54 @@
+# Auto-Enable
+
+Simply defining a linter does not enable it. Trunk needs to know when to auto-enable the linter for certain projects (ex: all python projects) or if certain files are already present (ex: `.eslintrc`).
+
+## Auto Enabling
+
+The `direct_configs` property contains a list of config files that the underlying linter uses. The `suggest_if` property determines when `trunk check` should suggest this linter. If `suggest_if` is set to `config_present`, then trunk will search for the listed config files. If found, the linter will be enabled automatically when the user does `trunk init` or `trunk update`.
+
+For example: in the following yaml, the **flake8** linter sets `suggest_if` to `config_preset` and sets `direct_configs` to `[.flake8]`. If any `*.flake8` files are found, then trunk check will automatically enable flake8.
+
+**Flake8** linter definition. [full source](https://github.com/trunk-io/plugins/blob/main/linters/flake8/plugin.yaml)
+
+```yaml
+version: 0.1
+tools:
+  definitions:
+    - name: flake8
+      runtime: python
+      package: flake8
+      shims: [flake8]
+      known_good_version: 4.0.1
+lint:
+  definitions:
+    - name: flake8
+      files: [python]
+      tools: [flake8]
+      direct_configs: [.flake8]
+      suggest_if: config_present
+      affects_cache:
+        - setup.cfg
+        - tox.ini
+        # In case the user installs https://pypi.org/project/Flake8-pyproject/
+        - pyproject.toml
+      issue_url_format: https://flake8.pycqa.org/en/latest/user/error-codes.html
+      known_good_version: 4.0.1
+      version_command:
+        parse_regex: ${semver}
+        run: flake8 --version
+
+```
+
+The **suggest\_if** field can be one of the following:
+
+* `config_present` will auto-enable a linter if Trunk sees any `direct_config` for it .
+* `files_present` will auto-enable a linter if Trunk sees any file type that it operates on.
+* `never` will never auto-enable this linter.
+
+Trunk curates the values of `suggest_if` for all linters in the [plugins](https://github.com/trunk-io/plugins) repo.
+
+## Manually enabling and disabling
+
+Setting the `lint.definitions[*].enabled` property to true will force the linter to be enabled. Setting the `lint.definitions[*].disabled` property to true will force the linter to never be enabled, even if the `enabled` property is true, and will never suggest this linter, even if `suggest_if` says it should.
+
+For additional information on the properties of Linters, see the [Linter Definition Reference](definitions.md).
diff --git a/references/cli/configuration/lint/commands.md b/references/cli/configuration/lint/commands.md
new file mode 100644
index 00000000..da9bc427
--- /dev/null
+++ b/references/cli/configuration/lint/commands.md
@@ -0,0 +1,442 @@
+# Commands
+
+A command is the fundamental unit of linters. It defines specifically _what binary and arguments_ are used to run the linter. A linter can have multiple commands in case it has multiple behaviors (ex: lint and format), but it must have at least one.
+
+## How Code Qualit Runs Linters
+
+The `run` property is the command to actually run a linter. This command can use [variables](commands.md#template-variables) provided by the runtime such as `${plugin}` and `${target}`.
+
+For example: this is the `run` field for **black**, one of our Python linters. The `run` field is set to `black -q ${target}`.
+
+```yaml
+version: 0.1
+tools:
+  definitions:
+    - name: black
+      runtime: python
+      package: black[python2,jupyter]
+      shims: [black]
+      known_good_version: 22.3.0
+lint:
+  definitions:
+    - name: black
+      files: [python, jupyter, python-interface]
+      commands:
+        - name: format
+          output: rewrite
+          run: black -q ${target}
+          success_codes: [0]
+          batch: true
+          in_place: true
+          allow_empty_files: false
+          cache_results: true
+          formatter: true
+      tools: [black]
+      suggest_if: files_present
+      affects_cache: [pyproject.toml]
+      known_good_version: 22.3.0
+      version_command:
+        parse_regex: black, version (.*)
+        run: black --version
+```
+
+This command template contains all the information Trunk needs to execute `black` in a way where Trunk will be able to understand `blacks`'s output.
+
+## Input Target
+
+The `target` field specifies what paths this linter will run on given an input file. It may be a string literal such as `.`, which will run the linter on the whole repository. It also supports various substitutions:
+
+| Variable                         | Description                                                                                                                                      |
+| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `${file}`                        | The input file.                                                                                                                                  |
+| `${parent}`                      | The folder containing the file.                                                                                                                  |
+| `${parent_with(<name>)}`         | Walks up toward the repository root looking for the first folder containing `<name>`. If `<name>` is not found, do not run any linter.           |
+| `${root_or_parent_with(<name>)}` | Walks up toward the repository root looking for the first folder containing `<name>`. If `<name>` is not found, evaluate to the repository root. |
+
+If `target` is not specified it will default to `${file}`.
+
+This target may be referenced in the `run` field as `${target}`, as in the example above for **black**, or this simple example.
+
+```yaml
+lint:
+  definitions:
+    - name: noop
+      files: [ALL]
+      commands:
+        - name: format
+          output: rewrite
+          formatter: true
+          run: cat ${target}
+```
+
+or via `stdin`, by specifying `stdin: true`:
+
+```yaml
+lint:
+  definitions:
+    - name: noop
+      files: [ALL]
+      commands:
+        - name: format
+          output: rewrite
+          formatter: true
+          run: cat -
+          stdin: true
+```
+
+> Note: Linters that take their input via `stdin` may still want to know the file's path so that they can, say, generate diagnostics with the file's path. In these cases you can still use `${target}` in `run`.
+
+## Exit codes
+
+Linters often use different exit codes to categorize the outcome. For instance, [`markdownlint`](https://github.com/igorshubovych/markdownlint-cli#exit-codes) uses `0` to indicate that no issues were found, `1` to indicate that the tool ran successfully but issues were found, and `2`, `3`, and `4` for tool execution failures.
+
+Trunk supports specifying either `success_codes` or `error_codes` for a linter:
+
+* if `success_codes` are specified, Trunk expects a successful linter invocation (which may or may not find issues) to return one of the specified `success_codes`;
+* if `error_codes` are specified, Trunk expects a successful linter invocation to return any exit\
+  code which is _not_ one of the specified `error_codes`.
+
+`markdownlint`, for example, has `success_codes: [0, 1]` in its configuration.
+
+**Note:** A linter command should set either success codes or error codes, but not both\*\*.\*\*
+
+## Working directory
+
+`run_from` determines what directory a linter command is run from.
+
+<table><thead><tr><th width="415">run_from</th><th>Description</th></tr></thead><tbody><tr><td><code>&#x3C;path></code> (<code>.</code> by default)</td><td>Explicit path to run from</td></tr><tr><td><code>${parent}</code></td><td>Parent of the target file; e.g. would be <code>foo/bar</code> for <code>foo/bar/hello.txt</code></td></tr><tr><td><code>${root_or_parent_with(&#x3C;file>)}</code></td><td>Nearest parent directory containing the specified file</td></tr><tr><td><code>${root_or_parent_with_dir(&#x3C;dir>)}</code></td><td>Nearest parent directory containing the specified directory</td></tr><tr><td><code>${root_or_parent_with_regex(&#x3C;regex>)}</code></td><td>Nearest parent directory containing a file or directory matching specified regex</td></tr><tr><td><code>${root_or_parent_with_direct_config}</code></td><td>Nearest parent directory containing a file from <code>direct_configs</code></td></tr><tr><td><code>${root_or_parent_with_any_config}</code></td><td>Nearest parent directory containing a file from <code>affects_cache</code> or <code>direct_configs</code></td></tr><tr><td><code>${target_directory}</code></td><td>Run the linter from the same directory as the target file, and change the target to be <code>.</code></td></tr><tr><td><code>${compile_command}</code></td><td>Run from the directory where <code>compile_commands.json</code> is located</td></tr></tbody></table>
+
+## Template Variables
+
+Note that some of the fields in this command template contain `${}` tokens: these tokens are why `command` is a template and are replaced at execution time with the value of that variable within the context of the lint action being executed.
+
+| Variable          | Description                                                                   |
+| ----------------- | ----------------------------------------------------------------------------- |
+| `${workspace}`    | Path to the root of the repository                                            |
+| `${target}`       | Path to the file to check, relative to `${workspace}`                         |
+| `${linter}`       | Path to the directory the linter was downloaded to                            |
+| `${runtime}`      | Path to the directory the runtime (e.g. `node`) was downloaded to             |
+| `${upstream-ref}` | Upstream git commit that is being used to calculate new/existing/fixed issues |
+| `${plugin}`       | Path to the root of the plugin's repository                                   |
+
+## Limiting concurrency
+
+If you would like to limit the number of times trunk will invoke a linter concurrently, then you can use the `maximum_concurrency` option. For example, setting `maximum_concurrency: 1` will limit Trunk from running more than one instance of the linter simultaneously.
+
+## Environment variables
+
+Trunk by default runs linters _without_ environment variables from the parent shell; however, most linters need at least some such variables to be set, so Trunk allows specifying them using `environment`; for example, the `environment` for `ktlint` looks like this:
+
+```yaml
+lint:
+  definitions:
+    name: ktlint
+    # ...
+    environment:
+      - name: PATH
+        list: ["${linter}"]
+      - name: LANG
+        value: en_US.UTF-8
+```
+
+Most `environment` entries are maps with `name` and `value` keys; these become `name=value` environment variables. For `PATH`, we allow specifying `list`, in which case we concatenate the entries with `:`.
+
+We use the same template syntax for `environment` as we do for [`command`](commands.md#commands).
+
+## Output Types and Parsing
+
+The output of a command should be in one of the supported output types like [SARIF](output.md#sarif) or something that can be parsed with a [regex](output.md#regex). See [See Output Types](commands.md#output-types-and-parsing) for more details. If the standard output types do not meet your needs, you can also create a [custom parser](output-parsing.md).
+
+## Full Reference
+
+The linter command definitions are defined in `lint.definitions.commands`. A single linter can have multiple commands if it is used in different ways.
+
+_Note:_. If you define the executable to run here (the command definition), then you should _not_ define it also in the linter definition. Defining it here as a command is preferred.
+
+## `allow_empty_files`
+
+`allow_empty_files`: _optional boolean_. Skip linting empty files for this linter. Trunk will assume there are no linters if the file is empty.
+
+## `batch`
+
+`batch`: _optional boolean_. Combine multiple files into the same execution. If true, the `${target}` template substitution in the `run` field may expand into multiple files.
+
+## `cache_ttl`
+
+`cache_ttl`, _duration string_. If this linter is not [idempotent](commands.md#idempotent), this is how long cached results are kept before they expire. Defaults to 24hrs. See [Output Caching](../../caching.md) for more details.
+
+## `cache_results`
+
+`cache_results`: _optional boolean_. Indicates if this linter wants to cache results. See [Caching](files-and-caching.md) for more details.
+
+## `disable_upstream`
+
+`disable_upstream`: _optional boolean_, Whether this linter supports comparing against the upstream version of this file.
+
+## `error_codes`
+
+`error_codes`: List of exit codes this linter will return when it hit an internal failure and couldn't generate results. **A linter should set either success codes or error codes, but not both.** See also [`success_codes`](commands.md#success_codes).
+
+## `enabled`
+
+`enabled`: _optional boolean_. Whether the command is enabled to run when the linter is run. Allows some commands of a linter to be run by default without others.
+
+## `files`
+
+`files` is a list of file types listed in the `lint.files` section that this linter applies to.
+
+Example: **prettier** [full source](https://github.com/trunk-io/plugins/blob/main/linters/prettier/plugin.yaml)
+
+```yaml
+lint:
+  definitions:
+    - name: prettier
+      files:
+        - typescript
+        - yaml
+        - css
+        - sass
+        - html
+        - markdown
+        - json
+        - javascript
+        - graphql
+        - prettier_supported_configs
+```
+
+## `fix_prompt`
+
+`fix_prompt`, _optional string._ e.g. 'Incorrect formatting' or 'Unoptimized image'. This string is used when prompting the user to use the linter interactively.
+
+## `fix_verb`
+
+`fix_verb`: _optional string_. This string is used when prompting the user to use the linter interactively. Example: `optimize`, `autoformat`, or `compress`.
+
+## `formatter`
+
+`formatter`: _optional boolean_. Whether this command is a formatter and should be included in `trunk fmt`.
+
+## `in_place`
+
+`in_place`: _optional boolean_. Indicates that this formatter will rewrite the file in place. **Only applies to formatters**.
+
+## `idempotent`
+
+`idempotent`: _optional boolean_. Indicates whether a linter is idempotent with config and source code inputs. For example, `semgrep` fetches rules from the Internet, so it is not idempotent . If set, will only cache results a duration of `cache_ttl`. See [Output Caching](files-and-caching.md) for more details.
+
+## `is_security`
+
+`is_security`: _optional boolean_. Whether findings from this command should be considered "security" or not. Allows this linter to be run with `--scope==security`. [See Command Line Options](../../../../merge-queue/reference.md)
+
+## `maximum_file_size`
+
+`maximum_file_size`: _optional number_. The maximum file size in bytes for input files to the linter. If not specified, the [lint.default\_max\_file\_size](./#default_max_file_size) will be used.
+
+## `max_concurrency`
+
+`max_concurrency`: _optional integer_, The maximum number of processes that Trunk Code Quality will run concurrently for this linter. [See Limiting Concurrency](commands.md#limiting-concurrency)
+
+## `name`
+
+`name`: _string_. A unique name for this command (some tools expose multiple commands, format, lint, analyze, etc.).
+
+## `no_issues_codes`
+
+`no_issues_codes`: List of exit codes that Trunk will use to assume there were no issues without parsing the output.
+
+## `output`
+
+`output`: _string_. which type of output this linter produces. [See Output Types](commands.md#output-types-and-parsing).
+
+## `parser`
+
+`parser`: The definition of a parser that will transform the output of the linter into SARIF. Not needed if linter is already output SARIF. [See Output Types](commands.md#output-types-and-parsing)
+
+## `parse_regex`
+
+`parse_regex`: _string_. A regular expression used to support regex parsing. [See Regex output type](output.md#regex)
+
+## `platforms`
+
+`platforms`: A list of platforms this linter supports. (ex: `windows`, `macos`, `linux`). Linters using managed runtimes (node, python, etc.) can generally run cross-platform and do not need the `platforms` property set. For tools which _are_ platform specific or which have different configuration for each platform, this property can be used to distinguish between them. When multiple command definitions have the same name, Trunk Check will pick the first one that matches the `platforms` setting.
+
+For example, the `detekt` plugin has different exit codes for Windows than MacOS or Linux, and has two command definitions with different `success_codes` fields. [Full Source](https://github.com/trunk-io/plugins/blob/main/linters/detekt/plugin.yaml).
+
+```yaml
+lint:
+  definitions:
+    - name: detekt
+      files: [kotlin]
+      download: detekt
+      commands:
+        - name: lint
+          platforms: [windows]
+          output: sarif
+          run:
+            detekt-cli --build-upon-default-config --config 
+                .detekt.yaml --input ${target,} --report
+            sarif:${tmpfile}
+          success_codes: [0, 1, 2]
+          read_output_from: tmp_file
+          batch: true
+          cache_results: true
+        - name: lint
+          output: sarif
+          run:
+            detekt-cli --build-upon-default-config --config 
+                .detekt.yaml --input ${target,} --report
+            sarif:${tmpfile}
+          success_codes: [0, 2]
+          read_output_from: tmp_file
+          batch: true
+          cache_results: true
+```
+
+## `prepare_run`
+
+`prepare_run`: An extra command to run before running a linter.
+
+## `read_output_from`
+
+`read_output_from`: Tell parser where to expect output from for reading. Should be one of `stdout`, `stderr`, and `tmp_file`. [See Output Sources](output.md#output-sources)
+
+## `run`
+
+`run`: The command to run a linter. This command can use variables provided at runtime such as `$plugin}` and `$target}`. [Full list of variables](commands.md#template-variables). See [Run](commands.md#how-code-qualit-runs-linters) for more details.
+
+`dart` `format` command: [full source](https://github.com/trunk-io/plugins/blob/main/linters/dart/plugin.yaml)
+
+```yaml
+lint:
+  files:
+    - name: dart
+      extensions: [dart]
+  definitions:
+    - name: dart
+      main_tool: dart
+      commands:
+        - name: format
+          output: rewrite
+          run: dart format ${target}
+```
+
+## `run_from`
+
+`run_from`: What current working directory to run the linter from. See [Working Directory](commands.md#working-directory) for more details.
+
+## `run_when`
+
+`run_when`: When this command should be run. One of `cli`, `lsp`, `monitor`, or `ci`.
+
+## `std_in`
+
+`std_in`: _optional boolean_. Should the command be fed the file on standard input?
+
+## `success_codes`
+
+`success_codes:` List of exit codes that indicates linter ran successfully. **This is unrelated to whether or not there were issues reported by the linter**.
+
+**Note:** a linter should set either success codes or error codes, but not both. See also [`error_codes`](commands.md#error_codes).
+
+## `target`
+
+`target`, _optional string_, What target does this run on. By default, the target is the modified source code file, `${file}`. Some linters operate on a whole repo or directory. See [Input Target](commands.md#input-target) for more details.
+
+Examples:
+
+**nancy** uses `.` as the target. [full source](https://github.com/trunk-io/plugins/blob/main/linters/nancy/plugin.yaml)
+
+```yaml
+# nancy uses .
+definitions:
+  - name: nancy
+    files: [go-lockfile]
+    download: nancy
+    runtime: go
+    commands:
+      - output: sarif
+        run: sh ${plugin}/linters/nancy/run.sh
+        success_codes: [0, 1, 2]
+        target: .
+        read_output_from: stdout
+        is_security: true
+```
+
+**tflint** uses `${parent}` as the target. [full source](https://github.com/trunk-io/plugins/blob/main/linters/tflint/plugin.yaml)
+
+```yaml
+lint:
+  definitions:
+    - name: tflint
+      files: [terraform]
+      commands:
+        - name: lint
+          output: sarif
+          prepare_run: tflint --init
+          run: tflint --format=sarif --force
+          success_codes: [0, 1, 2]
+          read_output_from: stdout
+          # tflint can only run on the current directory unless --recursive is passed
+          target: ${parent}
+          run_from: ${target_directory}
+          version: ">=0.47.0"
+```
+
+**Clippy** uses `${parent_with(Cargo.toml)}` as the target. [full source](https://github.com/trunk-io/plugins/blob/main/linters/clippy/plugin.yaml)
+
+```yaml
+version: 0.1
+lint:
+  definitions:
+    # clippy has 3 lint severities: deny, warn, and allow. Unfortunately deny causes rustc to
+    # fail eagerly due to its implementation (https://github.com/rust-lang/rust/pull/87337),
+    # We use --cap-lints to downgrade "deny" severity lints to warn. So rustc will find all
+    # issues instead of hard stopping. There are currently only 70 of them, so we could hardcode
+    # the list to fix their severity levels correctly.
+    - name: clippy
+      files: [rust]
+      download: rust
+      commands:
+        - name: lint
+          # Custom parser type defined in the trunk cli to handle clippy's JSON output.
+          output: clippy
+          target: ${parent_with(Cargo.toml)}
+          run: cargo clippy --message-format json --locked -- --cap-lints=warn --no-deps
+          success_codes: [0, 101, 383]
+          run_from: ${target_directory}
+          disable_upstream: true
+```
+
+## `version`
+
+`version`: _optional string_, Version constraint. When a linter has multiple commands with the same name, Trunk Code Quality will select the first command that matches the version constraint. This is useful for when multiple incompatible versions of a tool need to be supported.
+
+Example: the `ruff` linter changed a command line argument from `--format` to `--output-format` in version `v0.1.0`. To handle both versions, the linter defines two commands with different version attributes. The first is for version `>=0.1.0`. If the first is not matched (because the install version of run is less that 0.1.0) then Trunk Code Quality will move on to the next command until it finds a match. [Full source](https://github.com/trunk-io/plugins/blob/main/linters/ruff/plugin.yaml).
+
+```yaml
+lint:
+  definitions:
+    - name: ruff
+      files: [python]
+      commands:
+        - name: lint
+          # As of ruff v0.1.0, --format is replaced with --output-format
+          version: ">=0.1.0"
+          run: ruff check --cache-dir ${cachedir} --output-format json ${target}
+          output: sarif
+          parser:
+            runtime: python
+            run: python3 ${cwd}/ruff_to_sarif.py 0
+          batch: true
+          success_codes: [0, 1]
+        - name: lint
+          run: ruff check --cache-dir ${cachedir} --format json ${target}
+          output: sarif
+          parser:
+            runtime: python
+            run: python3 ${cwd}/ruff_to_sarif.py 1
+          batch: true
+          success_codes: [0, 1]
+
+
+```
diff --git a/references/cli/configuration/lint/definitions.md b/references/cli/configuration/lint/definitions.md
new file mode 100644
index 00000000..0dbf9055
--- /dev/null
+++ b/references/cli/configuration/lint/definitions.md
@@ -0,0 +1,135 @@
+# Definitions
+
+The definition of a particular linter is put under `lint.definitions`. The following properties define the settings of a _particular linter_, not for all linters. For global linter settings, see [Lint Config](./).
+
+## `affects_cache`
+
+`affects_cache`: The list of files that affect the cache results of this linter. [See Caching](../../caching.md).
+
+## `allow_empty_files`
+
+`allow_empty_files`: _optional boolean_. Indicates to skip linting empty files for this linter.
+
+## `batch`
+
+`batch`: _optional boolean_. Combine multiple files into the same execution.
+
+## `commands`
+
+`commands`: The list of commands exposed by this linter. See [Linter Command Definition](commands.md).
+
+## `deprecated`
+
+`deprecated`: _string_. Indicates the linter is deprecated and should not be used.
+
+## `direct_configs`
+
+`direct_configs`: _string list_. Indicates config files used to auto-enable the linter. See [Auto Enabling](auto-enable.md).
+
+## `disabled`
+
+`disabled`: _optional boolean_: Whether linter is actively disabled (and will not be recommended) and will not run (overrides enabled).
+
+## `download`
+
+`download`: _string_. The download URL. You must provide either runtime + packages or download, not both. Using runtimes is preferred. See [Runtimes](../runtimes.md).
+
+## `enabled`
+
+`enabled`: _optional boolean_. Whether this linter is enabled.
+
+## `environment`
+
+`environment`: a list of runtime variables used when running the linter. See [Command Environment Variables](commands.md#environment-variables).
+
+## `extra_packages`
+
+`extra_packages`: list of strings, Extra packages to install, versions are optional. See [Linter Dependencies](dependencies.md).
+
+## `formatter`
+
+`formatter`: _boolean_. Indicates whether this is a formatter and should be included in `trunk fmt`.
+
+## `good_without_config`
+
+`good_without_config`: _optional boolean_. Indicates whether this linter is recommended without the user tuning its configuration. Prefer [`suggest_if`](definitions.md#suggest_if).
+
+## `hold_the_line`
+
+`hold_the_line`: _optional boolean_. Whether [hold-the-line will](../../../../code-quality/overview/how-does-it-work.md#hold-the-line) be done for this linter or not.
+
+## `include_lfs`
+
+`include_lfs`: _boolean_. Allow this linter to operate on files tracked using [git LFS](https://git-lfs.com/).
+
+## `include_scanner_type`
+
+`include_scanner_type`: which include scanner to use, if any.
+
+## `issue_url_format`
+
+`issue_url_format`: _string_, a format string that accepts issue codes for links to issues docs.
+
+## `known_good_version`
+
+`known_good_version`: _string_. A version to be used when Trunk cannot query the latest version. Currently, Trunk can query the latest version for all package managers and downloads hosted on GitHub.
+
+## `known_bad_versions`
+
+`known_bad_versions`: _string list_. Versions of a linter that are known to be broken and should not be run with Trunk. We will fall back to a `known_good_version` if init or upgrade chooses something in this set.
+
+## `main_tool`
+
+`main_tool`, _string_. If your linter depends on more than a single tool, and none of the tools has the same name as the linter, then you will need to specify which is the main tool here. It will be used to version the tool from the linter's enabled version.
+
+## `name`
+
+`name` _required string._ The name of the linter. This property will be used to refer to the linter in other parts of the config, for example, in the list of enabled linters.
+
+## `package`
+
+`package`: string, What primary package to install, if using a package manager runtime. The enabled version of the runtime for this linter will apply to this package. See [Linter Dependencies](dependencies.md).
+
+## `path_format`
+
+`path_format`, Whether to use the platform-specific paths or generic "/". Default native.
+
+## `plugin_url`
+
+`plugin_url`: _string_, a plugin url for reporting issues.
+
+## `prepare_command`
+
+`prepare_command`. A command that is run once per session before linting any number of files using this linter. ex. `[tflint, --init]`.
+
+## `query_compile_commands`
+
+`query_compile_commands`, _optional boolean_.
+
+## `runtime`
+
+`runtime`: RuntimeType, Which package manager runtime, if any, to require to be setup for this linter. Ex: `node`, `ruby`, `python`. See [Linter Dependencies](dependencies.md).
+
+## `run_timeout`
+
+`run_timeout`: _duration string_. Describes how long a linter can run before timing out. [See timeouts](../../../../code-quality/linters/configure-linters.md#timeout).
+
+## `suggest_if`
+
+How to determine if this linter should be auto-enabled/recommended. Possible values are `never`, `config_present`, and `files_present`. [See auto-enabling](auto-enable.md) for more details.
+
+## `supported_platforms`
+
+Platform constraint. If incompatible, renders a notice. See also [Command `platforms`](commands.md#platforms).
+
+## `tools`
+
+`tools`, _string list_. The list of tools used by this linter. See [Linter Dependencies](dependencies.md).
+
+## `version_command`
+
+`version_command`: Version check commands.
+
+## `verbatim_message`
+
+`verbatim_message`: Do not try to truncate or reflow the output of this linter.
diff --git a/references/cli/configuration/lint/dependencies.md b/references/cli/configuration/lint/dependencies.md
new file mode 100644
index 00000000..06aaec4c
--- /dev/null
+++ b/references/cli/configuration/lint/dependencies.md
@@ -0,0 +1,108 @@
+# Dependencies
+
+Linters use the `tools` section of the `.trunk/trunk.yaml` to specify Trunk configured binaries that the linter uses to run. The `linter.definitions.tools` key specifies a list of tool names. There are two ways for a linter to depend on a tool: [Eponymous Tools](dependencies.md#eponymous-tool-dependencies) and [Additional Tools](dependencies.md#additional-tool-dependencies)
+
+## Eponymous Tool Dependencies
+
+When the name of the tool matches the name of a linter, it is called an _eponymous tool dependency_.
+
+In the example below the `pylint` linter depends on the `pylint` tool, which is defined as the package `pylint` running with the `python` runtime.
+
+Eponymous tools need to be defined _separately_ from the linter but implicitly enabled with the linter's version. You may explicitly enable the eponymous tool if you wish, but note that its version needs to be synced to that of the linter. See the [Tools Configuration](../tools.md) page for more details on how to set up Tools.
+
+```yaml
+tools:
+  definitions:
+    - name: pylint
+      runtime: python
+      package: pylint
+      shims: [pylint]
+      known_good_version: 2.11.1
+lint:
+  definitions:
+    - name: pylint
+      files: [python]
+      commands:
+        - name: lint
+          # Custom parser type defined in the trunk cli to 
+          # handle pylint's JSON output.
+          output: pylint
+          run: pylint --exit-zero --output 
+               ${tmpfile} --output-format json ${target}
+          success_codes: [0]
+          read_output_from: tmp_file
+          batch: true
+          cache_results: true
+      tools: [pylint]
+      suggest_if: config_present
+      direct_configs:
+        - pylintrc
+        - .pylintrc
+      affects_cache:
+        - pyproject.toml
+        - setup.cfg
+      issue_url_format: http://pylint-messages.wikidot.com/messages:{}
+      known_good_version: 2.11.1
+      version_command:
+        parse_regex: pylint ${semver}
+        run: pylint --version
+```
+
+## Additional Tool Dependencies
+
+You can also have a scenario where a linter depends on a tool that is not identically named - an _additional tool dependency_. We give an example below:
+
+```yaml
+tools:
+  definitions:
+    - name: terragrunt
+      known_good_version: 0.45.8
+      download: terragrunt
+      shims:
+        - name: terragrunt
+          target: terragrunt
+lint:
+  definitions:
+    - name: terragrunt
+      tools: [terragrunt, terraform]
+      known_good_version: 0.45.8
+      files: [hcl]
+      suggest_if: never
+      environment:
+        - name: PATH
+          list: ["${linter}"]
+      commands:
+        - name: format
+          output: rewrite
+          run: terragrunt hclfmt ${target}
+          success_codes: [0]
+          sandbox_type: copy_targets
+          in_place: true
+          formatter: true
+          batch: true
+      version_command:
+        parse_regex: terragrunt v${semver}
+        run: terragrunt -version
+```
+
+In this scenario, `terraform` is an additional tool dependency - `terragrunt` requires it to be in `$PATH`. If the tool is an additional dependency, it must be enabled explicitly and versioned independently of the linter - that is, it must be listed in the `tools.enabled` section.
+
+## Download via package manager
+
+If your linter can be downloaded via `gem install`, `go get`, `npm install`, or `pip install`, you can specify a `runtime` and the `package` key:
+
+```yaml
+lint:
+  definitions:
+    - name: fizz-buzz
+      files: [javascript]
+      # npm install fizz-buzz
+      runtime: node
+      package: fizz-buzz
+```
+
+This will now create a hermetic directory in `~/.cache/trunk/linters/fizz-buzz` and `npm install fizz-buzz` there. You can refer to different versions of your package in `trunk.yaml` as normal, via `fizz-buzz@1.2.3`.
+
+> Note: Such downloads will use the _hermetic_ version of the specified runtime that `trunk` installs, not the one you've installed on your machine.
+
+See [Package-based Tools](../tools.md#package-based-tools) for more information.
diff --git a/references/cli/configuration/lint/files-and-caching.md b/references/cli/configuration/lint/files-and-caching.md
new file mode 100644
index 00000000..644d2bd5
--- /dev/null
+++ b/references/cli/configuration/lint/files-and-caching.md
@@ -0,0 +1,73 @@
+# Files and Caching
+
+## Applicable filetypes
+
+To determine which linters to run on which files (i.e. compute the set of lint actions), Trunk requires that every linter define the set of filetypes it applies to in `lint.files`, then reference those files from `lint.definitions[*].files`.
+
+We have a number of pre-defined filetypes (e.g. `c++-header`, `gemspec`, `rust`; see our [plugins repo](https://github.com/trunk-io/plugins/blob/main/linters/plugin.yaml) for an up-to-date list), but you can also define your own filetypes. Here's how we define the `python` filetype:
+
+```yaml
+lint:
+  files:
+    - name: python
+      extensions:
+        - py
+        - py2
+        - py3
+      shebangs:
+        - python
+        - python3
+```
+
+This tells Trunk that files matching either of the following criteria should be considered `python` files:
+
+* the extension is any of `.py`, `.py2`, or `.py3` (e.g. `lib.py`)
+* the shebang is any of `python` or `python3` (e.g. `#!/usr/bin/env python3`)
+
+The **flake8** linter definition uses python files, so it references the filetype above in its definition.
+
+```yaml
+lint:
+  definitions:
+    - name: flake8
+      files: [python]
+      commands:
+        ...
+      affects_cache:
+        - setup.cfg
+        - tox.ini
+        # In case the user uses https://pypi.org/project/Flake8-pyproject/
+        - pyproject.toml
+```
+
+## Caching
+
+Trunk Code Quality automatically caches results from previous runs of linters to speed up development. To do this Trunk needs to know which files could potentially affect the cache, besides the source code files themselves.
+
+### Enabling caching
+
+If a linter wishes Trunk to cache the results it should set `cache_results` to true.
+
+## Files which affect caching
+
+The `lint.definitions[*].affects_cache` property is a list of files which could affect the cache. General these are files which would change the configuration of the linter, and therefore invalidate the current cached results. For example, the **flake8** tool tells trunk to invalidate the cache whenever the `setup.cfg`, `tox.ini`, or `pyproject.toml` files are changed.
+
+```yaml
+lint:
+  definitions:
+    - name: flake8
+      files: [python]
+      commands:
+        ...
+      affects_cache:
+        - setup.cfg
+        - tox.ini
+        # In case the user uses https://pypi.org/project/Flake8-pyproject/
+        - pyproject.toml
+```
+
+### Idempotency
+
+Trunk Code Quality also needs to know if the linter command itself is idempotent, meaning the command will return the exact same results given the exact same inputs. Most linters are, however semgrep, for example, fetches rules from the internet so the output could be different each time.
+
+Setting the `linter.definitions[*].commands.idempotent` property to true will tell trunk to only cache the result for a duration of `cache_ttl`, which is set to 24hrs by default.
diff --git a/check/custom-parsers.md b/references/cli/configuration/lint/output-parsing.md
similarity index 68%
rename from check/custom-parsers.md
rename to references/cli/configuration/lint/output-parsing.md
index fc2c6bdd..0441ed26 100644
--- a/check/custom-parsers.md
+++ b/references/cli/configuration/lint/output-parsing.md
@@ -1,6 +1,6 @@
-# Custom Parsers
+# Output Parsing
 
-If you have a command or utility that you want to run pretty much as-is, but trunk doesn't natively understand how to parse it, you can inject your own custom parser to translate its output into a format that `trunk` does understand!
+If you have a command or utility that you want to run pretty much as-is, but Trunk doesn't natively understand how to parse it, you can inject your own custom parser to translate its output into a format that Trunk does understand!
 
 For example, let's say that we want to use `grep` as a linter, but we want to add more context to the matches. We could define a custom linter like so:
 
@@ -11,13 +11,16 @@ lint:
       files: [ALL]
       commands:
         - output: regex
-          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" # matches the parser run output
+          # matches the parser run output
+          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): 
+              \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" 
           run: grep --with-filename --line-number --ignore-case todo ${target}
           success_codes: [0, 1]
           read_output_from: stdout
           parser:
             run:
-              "sed -E 's/(.*):([0-9]+):(.*)/\\1:\\2:0: [error] Found todo in \"\\3\" (found-todo)/'"
+              "sed -E 's/(.*):([0-9]+):(.*)/\\1:\\2:0: 
+                 [error] Found todo in \"\\3\" (found-todo)/'"
 ```
 
 The execution model that `trunk` follows for a parser is that it will:
@@ -30,9 +33,11 @@ The execution model that `trunk` follows for a parser is that it will:
   * assert that the exit code of the parser is 0, and then
 * use `output` to determine how it should parse the parser's `stdout`.
 
-Note that you can also set `parser.runtime` to [`node`](custom-parsers.md#node) or [`python`](custom-parsers.md#python) so that you can write your parser in Javascript or Python instead, if you so prefer!
+Note that you can also set `parser.runtime` to [`node`](output-parsing.md#node) or [`python`](output-parsing.md#python) so that you can write your parser in Javascript or Python instead, if you so prefer! You can find plenty of examples of python parsers in our [plugins repo](https://github.com/trunk-io/plugins).
 
-### Node
+{% tabs %}
+{% tab title="node" %}
+**Node**
 
 ```yaml
 lint:
@@ -41,7 +46,9 @@ lint:
       files: [ALL]
       commands:
         - output: parsable
-          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" # matches the parser run output
+          # parse_regex matches the parser run output
+          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): 
+              \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" 
           run: grep --with-filename --line-number --ignore-case todo ${target}
           success_codes: [0, 1]
           read_output_from: stdout
@@ -61,13 +68,16 @@ rl.on('line', function(line){
 
   if (match) {
     let [_, path, line_number, line_contents] = match;
-    console.log(`${path}:${line_number}:0: [error] Found todo in "${line_contents}" (found-todo)`);
+    console.log(`${path}:${line_number}:0: [error]`
+            +` Found todo in "${line_contents}" (found-todo)`);
   }
 ```
 
 Remember to run `chmod u+x todo-finder-parser.js` so that `trunk` can run it!
+{% endtab %}
 
-### Python
+{% tab title="python" %}
+**Python**
 
 ```yaml
 lint:
@@ -76,7 +86,9 @@ lint:
       files: [ALL]
       commands:
         - output: parsable
-          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" # matches the parser run output
+          # parse_regex matches the parser run output
+          parse_regex: "((?P<path>.*):(?P<line>\\d+):(?P<col>\\d+): 
+              \\[(?P<severity>.*)\\] (?P<message>.*) \\((?P<code>.*)\\))" 
           run: grep --with-filename --line-number --ignore-case todo ${target}
           success_codes: [0, 1]
           read_output_from: stdout
@@ -93,8 +105,11 @@ for line in sys.stdin.readlines():
   match = re.match("(.*):([0-9]+):(.*)", line)
   if match:
     path, line_number, line_contents = match.groups()
-    print(f"{path}:{line_number}:0: [error] Found todo in \"{line_contents}\" (found-todo)")
+    print(f"{path}:{line_number}:0: [error] "
+           "Found todo in \"{line_contents}\" (found-todo)")
 
 ```
 
 Remember to run `chmod u+x todo-finder-parser.py` so that `trunk` can run it!
+{% endtab %}
+{% endtabs %}
diff --git a/references/cli/configuration/lint/output.md b/references/cli/configuration/lint/output.md
new file mode 100644
index 00000000..d759a012
--- /dev/null
+++ b/references/cli/configuration/lint/output.md
@@ -0,0 +1,199 @@
+# Output
+
+## Output Sources
+
+The output format that Trunk expects from a linter is determined by its [`output`](output.md#output-types) type.
+
+**`stdout`, `stderr` or `tmp_file`**
+
+`trunk` generally expects a linter to output its findings to `stdout`, but does support other output mechanisms:
+
+| `read_output_from` | Description                                                                       |
+| ------------------ | --------------------------------------------------------------------------------- |
+| `stdout`           | Standard output.                                                                  |
+| `stderr`           | Standard error.                                                                   |
+| `tmp_file`         | If `${tmpfile}` was specified in `command`, the path of the created `${tmpfile}`. |
+
+## Output Types
+
+Trunk supports several different generic output types. Most linters will use one of these output types, but if your linter doesn't conform well to any of these specifications, you can also write a [custom parser](output-parsing.md). In general, SARIF should be preferred over other formats because it is the most flexible and battle tested.
+
+Trunk currently supports the following linter output types.
+
+<table data-header-hidden><thead><tr><th width="173.33333333333331"></th><th width="131" align="center"></th><th></th></tr></thead><tbody><tr><td>Linter Type</td><td align="center">Autofix<br>support</td><td>Description</td></tr><tr><td><a href="output.md#sarif"><code>sarif</code></a></td><td align="center">✓</td><td>Produces diagnostics as <a href="https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html">Static Analysis Results Interchange Format</a> JSON.</td></tr><tr><td><a href="output.md#lsp-json"><code>lsp_json</code></a></td><td align="center"></td><td>Produces diagnostics as <a href="https://microsoft.github.io/language-server-protocol/">Language Server Protocol</a> JSON.</td></tr><tr><td><a href="output.md#pass-fail-linters"><code>pass_fail</code></a></td><td align="center"></td><td>Writes a single file-level diagnostic to <code>stdout</code>.</td></tr><tr><td><a href="output.md#regex"><code>regex</code></a></td><td align="center"></td><td>Produces diagnostics using a custom regex format.</td></tr><tr><td><a href="output.md#arcanist"><code>arcanist</code></a></td><td align="center">✓</td><td>Produces diagnostics as Arcanist JSON.</td></tr><tr><td><a href="output.md#formatters"><code>rewrite</code></a></td><td align="center">✓</td><td>Writes the formatted version of a file to <code>stdout</code>.</td></tr></tbody></table>
+
+If your linter produces a different output type, you can also write a [parser](output-parsing.md) to transform the linter's output into something Trunk can understand.
+
+### SARIF
+
+`output: sarif` linters produce diagnostics in the [Static Analysis Results Interchange Format](https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html):
+
+```json
+{
+  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
+  "version": "2.1.0",
+  "runs": [
+    {
+      "results": [
+        {
+          "level": "warning",
+          "locations": [
+            {
+              "physicalLocation": {
+                "artifactLocation": {
+                  "uri": "/dev/shm/sandbox/detekt_test_repo/example.kt"
+                },
+                "region": {
+                  "startColumn": 12,
+                  "startLine": 18
+                }
+              }
+            }
+          ],
+          "message": {
+            "text": "A class should always override hashCode when overriding equals and the other way around."
+          },
+          "ruleId": "detekt.potential-bugs.EqualsWithHashCodeExist"
+        }
+      ],
+      "tool": {
+        "driver": {
+          "downloadUri": "https://github.com/detekt/detekt/releases/download/v1.19.0/detekt",
+          "fullName": "detekt",
+          "guid": "022ca8c2-f6a2-4c95-b107-bb72c43263f3",
+          "informationUri": "https://detekt.github.io/detekt",
+          "language": "en",
+          "name": "detekt",
+          "organization": "detekt",
+          "semanticVersion": "1.19.0",
+          "version": "1.19.0"
+        }
+      }
+    }
+  ]
+}
+```
+
+### LSP JSON
+
+`output: lsp_json` linters output issues as [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specification#diagnostic) JSON.
+
+```json
+[
+  {
+    "message": "Not formatted correctly. Missing owner",
+    "code": "missing-owner",
+    "severity": "Error",
+    "range": {
+      "start": {
+        "line": 12,
+        "character": 8
+      },
+      "end": {
+        "line": 12,
+        "character": 12
+      }
+    }
+  },
+  {
+    "message": "TODO is assigned to someone not listed in this project",
+    "code": "unknown-user",
+    "severity": "Warning",
+    "range": {
+      "start": {
+        "line": 37,
+        "character": 0
+      },
+      "end": {
+        "line": 37,
+        "character": 14
+      }
+    }
+  }
+]
+```
+
+### Pass/Fail Linters
+
+`output: pass_fail` linters find either:
+
+* no issues in a file, indicated by exiting with `exit_code=0`, or
+* a single file-level issue in a file, whose message is the linter's `stdout`, indicated by exiting\
+  with `exit_code=1`.
+
+> Note: Exiting with `exit_code=1` but writing nothing to `stdout` is considered to be a linter tool failure.
+>
+> Note: `pass_fail` linters are required to have `success_codes: [0, 1]`
+
+### Regex
+
+`output: regex` linters produce output that can be parsed with custom regular expressions and named capture groups. The regular expression is specified in the `parse_regex` field.
+
+`regex` supports capturing strings from a linter output for the following named capture groups:
+
+* `path`: file path (required)
+* `line`: line number
+* `col`: column number
+* `severity`: one of `note`, `notice`, `allow`, `deny`, `disabled`, `error`, `info`, `warning`
+* `code`: linter diagnostic code
+* `message`: description
+
+For example, the output
+
+```
+.trunk/trunk.yaml:7:81: [error] line too long (82 > 80 characters) (line-length)
+```
+
+can be parsed with the regular expression
+
+```
+((?P<path>.*):(?P<line>\d+):(?P<col>\d+): \[(?P<severity>.*)\] (?P<message>.*) \((?P<code>.*)\))
+```
+
+and would result in a `trunk` diagnostic that looks like this:
+
+```
+7:81  high    line too long (82 > 80 characters)      regex-linter/line-length
+```
+
+In the event that multiple capture groups of the same name are specified, the nonempty capture will be preferred. If there are multiple non-empty captures, a linter error will be thrown. Adjust your regular expression accordingly to match the specifics of your output.
+
+> Note: For additional information on building custom regular expressions, see [re2](https://github.com/google/re2/wiki/Syntax). More complicated regex may require additional escape characters in yaml configuration.
+
+### Arcanist
+
+You can also output JSON using the Arcanist format.
+
+```json
+[
+  {
+    "Char": 1,
+    "Code": "missing_copyright",
+    "Description": "Message about things\nMaybe contain multiple lines and web\nlinks\nhttps://website.com/notice-about-stuff\n",
+    "Line": 1,
+    "Name": "Incorrect (or missing) copyright notice",
+    "OriginalText": "",
+    "Path": "somefile.py"
+  }
+]
+```
+
+### Formatters
+
+`output: rewrite` linters write the formatted version of a file to `stdout`; this becomes an autofix which `trunk` can prompt you to apply (which is what `trunk check` does by default) or automatically apply for you (if you `trunk check --fix` or `trunk fmt`).
+
+For example, if you wanted a linter to normalize your line endings, you could do this:
+
+```yaml
+lint:
+  definitions:
+    - name: no-carriage-returns
+      files: [ALL]
+      commands:
+        - output: rewrite
+          formatter: true
+          command: sed s/\r// ${target}
+          success_codes: [0]
+```
+
+Setting `formatter: true` will cause `trunk fmt` to run this linter.
diff --git a/references/cli/configuration/merge.md b/references/cli/configuration/merge.md
new file mode 100644
index 00000000..0e922069
--- /dev/null
+++ b/references/cli/configuration/merge.md
@@ -0,0 +1,19 @@
+# Merge
+
+Custom `required_statuses` defined in the `.trunk/trunk.yaml` file take precedence over the GitHub required status checks from branch protection.
+
+Use custom `required_statuses` when your checks don't match what you configure on GitHub one-to-one.
+
+```
+version: 0.1 
+```
+
+```
+cli:
+  version: 1.16.0
+merge: 
+  required_statuses:
+    - Trunk Check 
+    - Unit tests & test coverage
+    # Add more required statuses here
+```
diff --git a/references/cli/configuration/per-user-overrides.md b/references/cli/configuration/per-user-overrides.md
new file mode 100644
index 00000000..0c2632ed
--- /dev/null
+++ b/references/cli/configuration/per-user-overrides.md
@@ -0,0 +1,13 @@
+# Per User Overrides
+
+## Per-User Customization
+
+Trunk can also be managed by the `.trunk/user.yaml` file in your repository. This file is optional, but it allows individual developers to customize how they want `trunk` to run on their machines.
+
+Simply configure `.trunk/user.yaml` as you would for `.trunk/trunk.yaml`. Now you can add additional linters, enable [actions](../getting-started/actions/), or specify [default command options](./#cli), without impacting the way other developers run `trunk`.
+
+Be mindful that `.trunk/user.yaml` takes precedence over `.trunk/trunk.yaml`, so substantial modifications could violate hermeticity.
+
+## Identity Config
+
+Trunk also saves a user config in `$HOME/.cache/trunk/user.yaml`. This is auto-generated in order to manage [anonymous usage data](telemetry.md) and persist login sessions.
diff --git a/references/cli/configuration/plugins/README.md b/references/cli/configuration/plugins/README.md
new file mode 100644
index 00000000..d2657436
--- /dev/null
+++ b/references/cli/configuration/plugins/README.md
@@ -0,0 +1,104 @@
+# Plugins
+
+### Plugin Config Merging
+
+Trunk uses a plugin system where a root configuration is defined in the [trunk-io/plugin repository](https://github.com/trunk-io/plugins). You can import many plugin config sources, and fields defined at each level override the level above.
+
+{% hint style="info" %}
+When plugin configs are merged, only fields defined in a config file are merged into the level above. You can define just the fields you wish to override in `.trunk/trunk.yaml and .trunk/user.yaml.`
+{% endhint %}
+
+When using trunk, you can merge several sets of configuration files with a `trunk.yaml` schema. Config merging proceeds as follows:
+
+1. Remote plugins sourced in `.trunk/trunk.yaml` (and `.trunk/user.yaml`). Plugins are sourced in the order they're defined, with later plugins overriding those defined before it. The [`trunk`](https://github.com/trunk-io/plugins) plugin is implicitly sourced first.
+2. Your repo level `.trunk/trunk.yaml` file, complete with a CLI version and any definitions or enables. Configurations defined here override what's defined in the remote plugins.
+3. Optionally, `.trunk/user.yaml`, a local **git-ignored** file where users can provide their own overrides.
+
+Additionally, any files enumerated in the lint `exported_configs` section are symlinked from their relevant plugin into the root of the workspace when an applicable linter is run with `trunk check`.
+
+### Importing a Plugin Repository
+
+By default, trunk imports the trunk-io/plugins repository. To import a repo add it to the `plugins.sources` list. Each repo requires a URI and ref.
+
+```yaml
+plugins:
+  sources:
+    - id: trunk
+      uri: https://github.com/trunk-io/plugins
+      ref: v1.2.6
+```
+
+<table><thead><tr><th width="174">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td>unique identifier for this repository</td></tr><tr><td><code>uri</code></td><td>address used to clone the target repository</td></tr><tr><td><code>ref</code></td><td>commit id or tag to checkout. <strong>Do not use branch names, as these can be unstable</strong></td></tr><tr><td><code>local</code></td><td>path to local (on-disk) repository. Takes precedence over uri/ref if defined</td></tr><tr><td><code>import_to_global</code> (default: <code>true</code>)</td><td>import content into the global namespace. If set to false actions and linters defined in the plugin must be referenced by <code>&#x3C;plugin_id>.&#x3C;name></code></td></tr></tbody></table>
+
+### Plugin Capabilities
+
+Any configuration used in `trunk.yaml` can also be used in a plugin repository, with [some exceptions](./#excluded-fields). A plugin repository must have one root level `plugin.yaml` and can have any number of other `plugin.yaml` files in other subdirectories. These configuration files are then merged into one composite plugin configuration.
+
+The most common use for a plugin repository is to define custom linters, actions, or tools. But they can also be used to define a common set of shared tools across an organization. For more info, see [organization configs](external-repositories.md).
+
+The root `plugin.yaml` file may also have a `required_trunk_version` field which governs compatibility when [upgrading](../../../../cli/upgrades.md) between CLI versions.
+
+#### Add a plugin to your `trunk.yaml` file
+
+To add a plugin from GitHub:
+
+```
+trunk plugins add https://github.com/trunk-io/plugins --id=trunk
+```
+
+To add a plugin from GitHub at a specific version:
+
+```
+trunk plugins add https://github.com/trunk-io/plugins v1.2.6 --id=trunk
+```
+
+To add a plugin from a local repository:
+
+```
+trunk plugins add /home/user/self/hello-world --id=hello-world
+```
+
+Note that when specifying a remote plugin, the `ref` field must be a tag or SHA.
+
+### Plugins Scope
+
+Plugins are merged serially, in the order that they are sourced, and can override almost any Trunk\
+configuration. This allows organizations to provide a set of overrides and definitions in one\
+central place.
+
+For instance, you can create your own `my-plugins` repository with `plugin.yaml`:
+
+```yaml
+version: 0.1
+lint:
+  definitions:
+    - name: trufflehog
+      commands:
+        - name: lint
+          # override trufflehog to use '--only-verified'
+          run: trufflehog filesystem --json --fail --only-verified ${target}
+  enabled:
+    - ruff@0.0.256
+```
+
+sourced in a `.trunk/trunk.yaml` file from another repository as follows:
+
+```yaml
+version: 0.1
+plugins:
+  sources:
+    - id: trunk
+      uri: https://github.com/trunk-io/plugins
+      ref: v1.2.6
+    - id: my-plugins
+      local: ../my-plugins
+```
+
+When a user runs `trunk` in the sourcing repository, they will already have `ruff` enabled, along with the `trufflehog` override from the `my-plugins` repository.
+
+Note that private GitHub plugin repositories are not currently supported.
+
+### Excluded Fields
+
+Plugin `sources`, as well as the `cli` `version`, are not merged from plugin repositories to ensure\
+that config merging occurs in a predictable, stable fashion.
diff --git a/plugins/exported-configs.md b/references/cli/configuration/plugins/exported-configs.md
similarity index 54%
rename from plugins/exported-configs.md
rename to references/cli/configuration/plugins/exported-configs.md
index 0e2101db..dca1d066 100644
--- a/plugins/exported-configs.md
+++ b/references/cli/configuration/plugins/exported-configs.md
@@ -1,7 +1,10 @@
-# Exported Configs
+---
+description: Reusing linter configs across projects.
+---
 
-Plugin repositories can also export their own linter config files in order to keep configuration synced across an organization. Simply add an `exported_configs` section to a `plugin.yaml`, with paths\
-to all of the config files you want to export, relative to the repository root. For example:
+# Exporting Linter Configs
+
+Plugin repositories can also export their own linter config files to keep configuration synced across an organization. Simply add an `exported_configs` section to a `plugin.yaml`, with paths to all of the config files you want to export, relative to the repository root. For example:
 
 ```yaml
 lint:
@@ -11,19 +14,18 @@ lint:
         - .trunk/configs/.shellcheckrc
 ```
 
-These config files will be available for linters that enumerate them in `affects_cache`\
-or `direct_configs` to reference. These files are automatically symlinked into the repository root during linter\
-execution. The set of applicable config files can be viewed in the details yaml file listed when\
-running `trunk check --verbose`.
+These config files will be available for linters that enumerate them in `affects_cache`or `direct_configs` to reference. These files are automatically symlinked into the repository root during linter execution. The set of applicable config files can be viewed in the details yaml file listed when running `trunk check --verbose`.
 
 Plugin-exported configs are sourced in lockstep with the plugin itself, so you will need to update\
-the `ref` field in order to use the latest configs.
+the `ref` field to use the latest configs.
 
 Note that if you're using an IDE Extension like clangd with an LSP that relies on those configs being in the root, you will need to manually create a symlink to the plugin's config. You can do this by running `ln -s .trunk/plugins/<plugin-id>/<path-to-config> <name-of-config>`.
 
+For an example of a plugin repo with config files, see our own [configs](https://github.com/trunk-io/configs) repo.
+
 ### Importing Configs
 
-This process can also be reversed in order to import config files from a plugins repository which\
+This process can also be reversed to import config files from a plugins repository which\
 does not explicitly export them. Given a plugin sourced with id `trunk`, the sourcing repository can\
 achieve the same effect by including the following in its `.trunk/trunk.yaml`.
 
diff --git a/plugins/external-repositories.md b/references/cli/configuration/plugins/external-repositories.md
similarity index 64%
rename from plugins/external-repositories.md
rename to references/cli/configuration/plugins/external-repositories.md
index c5a6888c..6b949334 100644
--- a/plugins/external-repositories.md
+++ b/references/cli/configuration/plugins/external-repositories.md
@@ -1,6 +1,14 @@
-# External Repositories
+---
+description: Sharing configuration between codebases using public config repos
+---
 
-To create and share your own Trunk superpowers, you can publish a plugins repo: a Git repository which contains linter definitions that can be merged into your `.trunk/trunk.yaml`.
+# Share Config Between Codebases
+
+To standardize Trunk configuration across an organization, you can create and publish a public plugins repository. This repo can define new linter definitions, specify enabled linters and actions, and even [export linter configs](exported-configs.md).
+
+Once you've created your plugin repository, you can source it in other repositories to adopt shared configuration across your organization. For an example of how we do this in our own org, check out our [configs repo](https://github.com/trunk-io/configs).
+
+Note that in order to keep linters and tools up to date in your plugin configs repo, you'll need to run `trunk upgrade --apply-to=plugin.yaml` to apply [upgrades](../../../../cli/upgrades.md). After making a public GitHub release with your plugin changes, other dependent repos will pick up these changes automatically when running `trunk upgrade`.
 
 ### Get started
 
@@ -17,7 +25,7 @@ git init
 And then create a linter that can find TODOs in your codebase using `grep` and `sed`:
 
 ```bash
-cat >trunk.yaml <<EOF
+cat >plugin.yaml <<EOF
 version: 0.1
 lint:
   definitions:
@@ -36,8 +44,8 @@ EOF
 Now we can turn this linter on in a repository where we have `trunk` set up:
 
 ```bash
-trunk plugins add my-first-plugin "${PLUGIN_PATH}"
-trunk check enable my-first-plugin.todo-finder@SYSTEM
+trunk plugins add my-first-plugin <plugin-path>
+trunk check enable todo-finder
 ```
 
 And now, to demonstrate how this works, let's `trunk check` some files where we know we have TODOs:
@@ -56,7 +64,7 @@ which will show you something like this:
 
 ### Organizing your code
 
-In the example we gave above, we put the linter's source code in `trunk.yaml`, which is fine for an example, but not really great for anything more than that. We can take the `sed` command from the plugin we created earlier and push that into the shell script:
+In the example we gave above, we put the linter's source code in `plugin.yaml`, which is fine for an example, but not really great for anything more than that. We can take the `sed` command from the plugin we created earlier and push that into the shell script:
 
 ```bash
 #!/bin/bash
@@ -102,7 +110,7 @@ lint:
           success_codes: [0]
 ```
 
-See our documentation on [custom linters](../check/custom-linters.md) and [custom parsers](../check/custom-parsers.md) for more on what you can do, such as writing your parser in Javascript or Python!
+See our documentation on [custom linters](../../../../code-quality/linters/custom-linters.md) and [custom parsers](../lint/output-parsing.md) for more on what you can do, such as writing your parser in Javascript or Python!
 
 ### Publishing your plugin
 
@@ -112,12 +120,12 @@ To share your plugin with the world, all you have to do is tag a release and pus
 git add .
 git commit "Create a TODO finder"
 git tag -a v0.0.0 --message "Initial TODO finder release"
-git remote add origin ${repo_url}
+git remote add origin <repo-url>
 git push origin main v0.0.0
 ```
 
 Now that it's available on the Internet, everyone else can just use your plugin by running:
 
 ```bash
-trunk plugins add their-first-plugin ${repo_url} v0.0.0
+trunk plugins add --id=their-first-plugin <repo-url> v0.0.0
 ```
diff --git a/runtimes/README.md b/references/cli/configuration/runtimes.md
similarity index 65%
rename from runtimes/README.md
rename to references/cli/configuration/runtimes.md
index 79bc2e01..618b3941 100644
--- a/runtimes/README.md
+++ b/references/cli/configuration/runtimes.md
@@ -1,8 +1,10 @@
-# Overview
+# Runtimes
 
-Trunk makes it easy for you to run tools (such as linters and actions) because, under the hood, Trunk actually downloads everything a given tool depends on, and then executes said tool in the context of its dependencies. In other words, you can run tools like `golangci-lint` and `rubocop` without wasting hours figuring out how to install Go and Ruby on your machine, because Trunk will install a `go` and `ruby` runtime for those tools to depend on.
+Trunk manages the hermetic installation of all required runtimes. You can also specifically pin a version of a runtime you'd like Trunk to use, or tell Trunk to re-use an already-installed runtime on the system.
 
-Importantly, just like how Trunk by design requires you to version your tools, i.e. specify which version of `golangci-lint` and `rubocop` is enabled in your repository at a given commit, Trunk also versions your runtimes. This means that you can stop asking questions like "wait, which version of Go are you using?" and "how do I choose a Ruby version to install on this new Jenkins runner?"; instead, all you have to do is look at the `runtimes` section in your `.trunk/trunk.yaml`, and you know which version of which runtime Trunk will use for a tool at any given moment:
+Trunk makes it easy for you to run tools (such as linters and actions) because, under the hood, Trunk actually downloads everything a given tool depends on, and then executes said tool in the context of its dependencies. In other words, you can run tools like `golangci-lint` and `rubocop` without wasting hours figuring out how to install the right Go and Ruby versions on your machine, because Trunk will install a `go` and `ruby` runtime for those tools to depend on.
+
+Importantly, just like how Trunk by design requires you to version your tools, i.e. specify which version of `golangci-lint` and `rubocop` is enabled in your repository at a given commit, Trunk also versions your runtimes. This means that you can stop asking questions like "Wait, which version of Go are you using?" and "How do I choose a Ruby version to install on this new Jenkins runner?"; instead, all you have to do is look at the `runtimes` section in your `.trunk/trunk.yaml`, and you know which version of which runtime Trunk will use for a tool at any given moment:
 
 ```
 runtimes:
@@ -23,10 +25,12 @@ lint:
     - name: prettier
       runtime: node
       package: prettier
-      command: [prettier, -w, "${target}"]
+      commands:
+        - run: prettier -w ${target}
+          ...
 ```
 
-Since `prettier` uses the `node` runtime, let's also look at that definition; specifically, the `runtime_environment` and `linter_environment`:
+Since Prettier uses the `node` runtime, let's also look at that definition; specifically, the `runtime_environment` and `linter_environment`:
 
 ```yaml
 runtimes:
@@ -56,3 +60,22 @@ For most runtimes, this is as simple as executing the runtime's package manager
 
 Once `prettier` is installed, we combine its runtime's `linter_environment` with any other environment variables that might be defined in a given `lint.definitions` entry (in this case there are none), and then use that as the environment when we execute the command for a given linter.
 
+## Specifying a Runtime Version
+
+If you would like to use the system-installed runtime instead of the Trunk managed version you can always use the `runtimes.definitions.system_version` property in your `trunk.yaml` file.
+
+```yaml
+runtimes: 
+  enabled: 
+    - go@x.y.z
+
+# or
+runtimes:
+  enabled:
+    - go@>=x.y.z
+  definitions: 
+    - type: go
+      system_version: allowed
+```
+
+If you choose to use a system-managed version, you will also need to specify a runtime version constraint in your enabled section, e.g. `python@>=3.0.0`.
diff --git a/references/cli/configuration/telemetry.md b/references/cli/configuration/telemetry.md
new file mode 100644
index 00000000..00d7f4f2
--- /dev/null
+++ b/references/cli/configuration/telemetry.md
@@ -0,0 +1,33 @@
+# Telemetry
+
+Trunk sends basic usage metrics from our local tools ([CLI](../) & [VS Code Extension](../../../code-quality/ide-integration/vscode.md)) to our analytics system to help us understand our usage and improve our tools over time. We do not send your code or codebase to our backend.
+
+## Why we collect usage data
+
+Our product team constantly works on feature enhancement and new areas to invest in. Usage data allows us best to understand the ergonomics and performance of our tools. For example, if we add a new subcommand to the command line interface - how often is it used? Additionally, usage data is gathered to track usage and compliance against our free and paid product offerings.
+
+To give concrete examples: we track our users' client version and operating system to understand backward compatibility requirements, and the time it takes our user base to upgrade to our latest releases.
+
+## Example usage data
+
+<pre class="language-json"><code class="lang-json"><strong>{
+</strong>  "anonymous_id": &#x3C;GUID>,
+  "command":  "check --all",
+  "launcher_version": "1.2.3",
+  "os": "macOS",
+  "release": 1.4.1,
+  "source": "client",
+  "time": &#x3C;UTC_TIMESTAMP>,
+  "exit_code": 0,
+  "duration_ms": 232,
+  "repository":&#x3C;REPO_IDENTIFIER>
+}
+</code></pre>
+
+## Can I disable usage data?
+
+Yes. You can disable usage telemetry by setting the following environment variable:
+
+```bash
+TRUNK_TELEMETRY=off
+```
diff --git a/references/cli/configuration/tools.md b/references/cli/configuration/tools.md
new file mode 100644
index 00000000..8902d383
--- /dev/null
+++ b/references/cli/configuration/tools.md
@@ -0,0 +1,115 @@
+# Tools
+
+Tool definitions
+
+Each tool definition shares a set of attributes:
+
+<table><thead><tr><th width="237">Field</th><th></th></tr></thead><tbody><tr><td><code>name</code></td><td>The name of the tool. Must be unique.</td></tr><tr><td><code>known_good_version</code></td><td>The default version to initialize the tool at (required).</td></tr><tr><td><code>shims</code></td><td>A list of binaries exposed by the tool. Each of these will correspond to one identically named executable installed in <code>.trunk/tools.</code>In the most common case, there is exactly one shim matching the name of the tool. We'll discuss other cases below.</td></tr><tr><td><code>environment</code></td><td>You can specify an environment for the tool. We provide the <code>${tool}</code> template argument that resolves to the installation directory of the tool. By default, we prepend this to <code>$PATH</code> within the shim script, so this is used to locate the binary. For legacy reasons, <code>${linter}</code> also resolves to this directory.</td></tr></tbody></table>
+
+> Note: If the tool has a `runtime` attribute, the runtime's environment is merged in to its environment (discussed in the examples below).
+
+Broadly speaking, there are 3 kinds of tools - download, package, and runtime-based tools. We'll look at each one in turn:
+
+#### Download-based tools
+
+Download-based tools are straightforward: They reference a named download configuration in the global `downloads` section. Here is an example:
+
+```yaml
+downloads:
+  - name: gh
+    downloads:
+      - os:
+          linux: linux
+        cpu:
+          x86_64: amd64
+          arm_64: arm64
+        url: https://github.com/cli/cli/releases/download/v${version}/gh_${version}_${os}_${cpu}.tar.gz
+        strip_components: 1
+      - os:
+          windows: windows
+        cpu:
+          x86_64: amd64
+          arm_64: arm64
+        url: https://github.com/cli/cli/releases/download/v${version}/gh_${version}_${os}_${cpu}.zip
+        strip_components: 1
+      # macOS releases since 2.28.0 started using .zip instead of .tar.gz
+      - os:
+          macos: macOS
+        cpu:
+          x86_64: amd64
+          arm_64: arm64
+        url: https://github.com/cli/cli/releases/download/v${version}/gh_${version}_${os}_${cpu}.zip
+        strip_components: 1
+        version: ">=2.28.0"
+      - os:
+          macos: macOS
+        cpu:
+          x86_64: amd64
+          arm_64: arm64
+        url: https://github.com/cli/cli/releases/download/v${version}/gh_${version}_${os}_${cpu}.tar.gz
+        strip_components: 1
+tools:
+  definitions:
+    - name: gh
+      download: gh
+      known_good_version: 2.27.0
+      environment:
+        - name: PATH
+          list: ["${tool}/bin"]
+      shims: [gh]
+```
+
+Note that for the downloaded archive, the binary named `gh` is inside the `bin` directory, so we use the environment to point the `$PATH` there.
+
+#### Download fields
+
+`strip_components`: This number of leading directory components to remove from all files in an archive when extracting.
+
+`rename_single_file`: If an archive contains a single file, this will cause that file to be renamed to the name of the tool. This is most useful for downloads of gzip'd binaries with the platform name in the binary.
+
+#### Package-based tools
+
+Package-based tools depend on specified `package` and `runtime` attributes. Here is an example of configuring `mypy` as a tool:
+
+```yaml
+tools:
+  definitions:
+    - name: mypy
+      runtime: python
+      package: mypy
+      shims: [mypy]
+      known_good_version: 0.931
+      extra_packages:
+      	- types-six@1.16.21
+        - types-request
+```
+
+`extra_packages` behaves equivalently to a package file like `requirements.txt` for Python or `package.json` for Node. They can be optionally pinned at versions.
+
+The version of the primary package (in this case, `mypy`) is specified in the `tools.enabled`. So to enable the `mypy` tool at `1.4.0`, list it as `- mypy@1.4.0`.
+
+If you don't want to include additional packages in the tool definition, you can instead make them explicit in the enabled section of your `.trunk/trunk.yaml` as you would for [linters](../../../code-quality/linters/), for example:
+
+```yaml
+tools:
+  enabled:
+    - mypy@1.4.0:
+        packages:
+          - types-six@1.16.21
+```
+
+#### Runtime-based tools
+
+Runtime-based tools are a special case that are not explicitly defined. Rather, each runtime object exposes a set of `shims` (just like `tool` definitions).
+
+If the runtime is enabled and listed in `tools.runtimes`, then shims exposed by that runtime are automatically installed in the `.trunk/tools` directory alongside those of other tools (`trunk tools enable <runtime_tool>` does that for you). Thus you can run `python`, `pip`, etc as `trunk`-managed tools.
+
+Example:
+
+```yaml
+tools:
+  runtimes:
+    - python
+```
+
+If this is disruptive to your workflow, simply remove the runtime's name `(go, node, python,...)` from `tools.runtimes` section or run `trunk tools disable <runtime_name>` which will handle it for you. Runtimes cannot be enabled or versioned via the `tools.enabled` section, however, and runtimes must be enabled in the `runtimes` section to be available to have their shims installed.
diff --git a/references/cli/getting-started/README.md b/references/cli/getting-started/README.md
new file mode 100644
index 00000000..321f9bd8
--- /dev/null
+++ b/references/cli/getting-started/README.md
@@ -0,0 +1,51 @@
+# Getting Started
+
+Initializing Trunk in a git repo is as simple as running:
+
+```bash
+trunk init
+```
+
+This will scan your repository and create a `.trunk/trunk.yaml` file which enables all the linters, formatters, and security analyzers that [Trunk C](../../../code-quality/code-quality.md)[ode Quality ](../../../code-quality/code-quality.md)recommends.
+
+{% hint style="info" %}
+Security-conscious users may want to also record the signature of the CLI, which the [Trunk Launcher](../install.md#the-trunk-launcher) will use to verify the CLI's provenance:
+
+```
+trunk init --lock
+```
+{% endhint %}
+
+### Discover CLI Use Cases
+
+<table data-view="cards"><thead><tr><th data-card-target data-type="content-ref"></th><th data-hidden></th><th data-hidden></th><th data-hidden></th></tr></thead><tbody><tr><td><a href="../../../code-quality/code-quality.md">code-quality.md</a></td><td></td><td></td><td></td></tr><tr><td><a href="../../../merge-queue/managing-merge-queue/command-line.md">command-line.md</a></td><td></td><td></td><td></td></tr><tr><td><a href="tools.md">tools.md</a></td><td></td><td></td><td></td></tr><tr><td><a href="actions/">actions</a></td><td></td><td></td><td></td></tr><tr><td><a href="announce.md">announce.md</a></td><td></td><td></td><td></td></tr></tbody></table>
+
+### Tweak the Configuration
+
+Trunk is completely controlled through the `trunk.yaml` file. If for example you are not using the `check` tool you can safely remove the `lint` section from the file.
+
+[Learn more about CLI configuration](../configuration/)
+
+### Single-player Mode
+
+If you want to run `trunk` inside your repository but are not ready to roll it out team-wide, you can run `trunk` in what we call single-player mode.
+
+When in single-player mode, the `.trunk` directory will be listed in `.git/info/exclude`, which will cause git to ignore its contents. When trunk is automatically initialized by the vscode extension, you will be started in this mode. You can also initialize this way explicitly with the `trunk init --single-player-mode` command. If at any time you wish to toggle single-player mode on or off, it can be done with the following two commands:
+
+```bash
+# Turn single-player mode on.
+trunk config hide
+```
+
+```bash
+# Turn single-player mode off.
+trunk config share
+```
+
+### Only enabling detected tools
+
+`trunk init` supports the flags `--only-detected-formatters` and `--only-detected-linters`. Each of these flags limits `trunk init` to only enable tools that we detect you are already using.
+
+We provide support for running `trunk` in GitHub Codespaces.
+
+[Github Codespaces](https://github.com/features/codespaces) are fully configured virtual containers for developing your GitHub repositories.
diff --git a/references/cli/getting-started/actions/README.md b/references/cli/getting-started/actions/README.md
new file mode 100644
index 00000000..c3b4a4a2
--- /dev/null
+++ b/references/cli/getting-started/actions/README.md
@@ -0,0 +1,38 @@
+# Actions
+
+The most common Trunk Actions are provided out of the box with trunk, and are triggered to invisibly autoformat (`trunk fmt`) your commits every time you `git commit`, and run `trunk check` when you `git push`.
+
+### Triggers
+
+There are several different types of Trunk Actions, based on when they are triggered:
+
+<table><thead><tr><th width="186">Trigger</th><th>Description</th></tr></thead><tbody><tr><td>time-based</td><td>run on a schedule (once per hour, once per day, once per week)</td></tr><tr><td>file modification</td><td>run whenever a file or directory in your repo changes.</td></tr><tr><td><a href="git-hooks.md">githooks</a></td><td>run whenever a listed githook event fires (e.g. pre-commit, on-push)</td></tr><tr><td>manual</td><td><code>trunk run &#x3C;action-name></code></td></tr></tbody></table>
+
+### **Command Line**
+
+<table><thead><tr><th width="276.757174392936">trunk actions &#x3C;command></th><th>Description</th></tr></thead><tbody><tr><td><code>list</code></td><td>list all available actions in the repository</td></tr><tr><td><code>history &#x3C;action-name></code></td><td>print the history for execution of the provided action</td></tr><tr><td><code>enable &#x3C;action-name></code></td><td>enable the provided action</td></tr><tr><td><code>disable &#x3C;action-name></code></td><td>disable the provided action</td></tr><tr><td><code>run &#x3C;action-name></code></td><td>manually trigger the provided action<br>alias: <code>trunk run &#x3C;action-name></code></td></tr></tbody></table>
+
+### Discovering Actions
+
+The trunk [plugins](https://github.com/trunk-io/plugins) repo ships with a collection of actions that can help supercharge your repository and provide examples of how to write your own actions. To see a list of actions that you can enable in your repo run:
+
+```bash
+trunk actions list
+```
+
+<figure><img src="../../../../.gitbook/assets/image (27).png" alt=""><figcaption><p>List of actions reported by <code>trunk actions list</code></p></figcaption></figure>
+
+### Enable/Disable Actions
+
+Trunk only runs actions listed in the `enabled` section of your `trunk.yaml`. Some built-in actions are enabled by default and can be disabled explicitly by adding them to the disabled list. You can always run `trunk actions list` to check the enabled status of an action.
+
+```yaml
+actions:
+  enabled:
+    - trunk-announce
+    - git-lfs
+    - trunk-check-pre-push
+    - trunk-fmt-pre-commit
+    - trunk-cache-prune
+    - trunk-upgrade-available
+```
diff --git a/actions/git-hooks.md b/references/cli/getting-started/actions/git-hooks.md
similarity index 65%
rename from actions/git-hooks.md
rename to references/cli/getting-started/actions/git-hooks.md
index d9903f06..c93d4d1b 100644
--- a/actions/git-hooks.md
+++ b/references/cli/getting-started/actions/git-hooks.md
@@ -1,10 +1,12 @@
-# Git Hooks
+---
+description: Trunk supports triggering actions on all githooks
+---
 
-Trunk supports triggering actions on all [githooks](https://git-scm.com/docs/githooks)
+# Git Hooks
 
 ### Features
 
-* Seamlessly bring `git` hooks under version control. `git` hooks can be a major headache for organizations - they require manual installation and are not easily versioned along with the rest of your code.
+* Seamlessly bring `git-hooks` under version control. `git-hooks` can be a major headache for organizations - they require manual installation and are not easily versioned along with the rest of your code.
 * Take advantage of Trunk's powerful sandboxing and environment management to write and execute hooks using the programming language and runtime of your choice, as opposed to dealing with complicated bash scripts.
 
 ### Manual Installation
@@ -62,7 +64,7 @@ The following command will simulate a githook event and execute all of the enabl
 trunk git-hooks callback <hook> -- <args>
 ```
 
-Alternatively, once an action is enabled you can call `git` and debug with the actual `git` provided data. This is sometimes easier since some git parameters point to txt files etc...and fabricating those formats through manual testing can be tricky.
+Alternatively, once an action is enabled you can call `git` and debug with the actual `git` provided data. This is sometimes easier since some git parameters point to txt files and fabricating those formats through manual testing can be tricky.
 
 #### Debugging a `githook` action
 
@@ -72,10 +74,9 @@ You can observe the actions that are triggered by a `git` event by calling:
 trunk actions history <action-name>
 ```
 
-Which will print out the last 10 executions including timestamps of the specified action \
+Which will print out the last 10 executions including timestamps of the specified action \\
 
-
-<figure><img src="../.gitbook/assets/image.png" alt=""><figcaption><p>trunk actions history for git-lfs action</p></figcaption></figure>
+<figure><img src="../../../../.gitbook/assets/image (18).png" alt=""><figcaption><p>trunk actions history for git-lfs action</p></figcaption></figure>
 
 ### Uninstalling
 
@@ -84,11 +85,3 @@ Remove all actions that are triggered by githooks from `trunk.yaml` and run
 ```bash
 git config --unset core.hooksPath
 ```
-
-### Trunk Announce
-
-Does your commit carry some important information to share with the rest of your organization? Now you can easily share it with the rest of the org by including `/trunk announce` at the beginning of one of the lines of your commit message (if your org squashes commit messages, you should put it in your PR description). Any additional text on that line will form an optional title, and the remaining text of the commit message will form the commit body (both are optional, but either a title or body is required). These will then be displayed to other users when they pull or rebase.
-
-If you want to see what your announcement would look like locally, just create a commit with the desired message and then run `trunk show-announcements since HEAD~1` (`trunk show-announcements since <ref>` will show all trunk announcements since the provided ref).
-
-Just run `trunk actions enable trunk-announce` to start using Trunk Announce.
diff --git a/references/cli/getting-started/announce.md b/references/cli/getting-started/announce.md
new file mode 100644
index 00000000..4e27861d
--- /dev/null
+++ b/references/cli/getting-started/announce.md
@@ -0,0 +1,31 @@
+# Announce
+
+### Trunk Announce
+
+Does your Git commit carry some important information to share with the rest of your organization? Now you can easily share it with the rest of the org by including `/trunk announce` at the beginning of one of the lines of your commit message.
+
+{% hint style="info" %}
+If your org squashes commit messages, you should put it in your PR description
+{% endhint %}
+
+Any additional text on that line will form an optional title, and the remaining text of the commit message will form the commit body (both are optional, but either a title or body is required). These will then be displayed to other users when they pull or rebase.
+
+### Enable Trunk Announce
+
+Trunk Announce is a githook-triggered Trunk Action. You can enable this Trunk Action by running this command:
+
+```
+trunk actions enable trunk-announce
+```
+
+### Viewing Announcements
+
+When you pull new changes, new announcements are automatically shown.
+
+If you would like to see changes since some commit, use `trunk show-announcements since <ref>`.
+
+For example:
+
+```
+ trunk show-announcements since HEAD~1
+```
diff --git a/references/cli/getting-started/tools.md b/references/cli/getting-started/tools.md
new file mode 100644
index 00000000..f3540b32
--- /dev/null
+++ b/references/cli/getting-started/tools.md
@@ -0,0 +1,107 @@
+# Tools
+
+You can use the Trunk CLI to manage tools used by your repo. Trunk CLI can install the tools needed for a project according to what's configured in the `trunk.yaml` config file and let your teammates easily install the same versions of the tools. Trunk will also help you expose those installed tools by dynamically adding them to your `PATH` when you enter the project directory, but will not pollute your `PATH` outside of the project.
+
+### Command Line
+
+| trunk tools \<command>           | Description                                                                    |
+| -------------------------------- | ------------------------------------------------------------------------------ |
+| `list`                           | list all available tools in the repository and whether they are enabled or not |
+| `install`                        | install your enabled tools into `.trunk/tools`                                 |
+| `enable` `<tool-name>[@version]` | enable the provided tool, optionally at a specified version                    |
+| `disable` `<tool-name>`          | disable the provided tool                                                      |
+
+### Discovering Tools
+
+The Trunk [plugins repo](https://github.com/trunk-io/plugins) ships with a collection of tools that can help supercharge your repository and provide examples for how to write your own. To see a list of tools that you can enable in your own repo run:
+
+```shell
+trunk tools list
+```
+
+<figure><img src="../../../.gitbook/assets/image (17).png" alt=""><figcaption><p>list of available and enabled tools</p></figcaption></figure>
+
+### Configuring Shell Hooks
+
+Before running any tools managed by Trunk, enable shell hooks. With shell hooks, Trunk can manage your path variable dynamically, which lets you install tools used only in specific repos without polluting your shell by installing global tools. This is especially useful if you work on two repos using the same tool, but locked to different versions.
+
+You can enable shell hooks by running `trunk shellhooks install`, which will install the Trunk hooks to the config file of your $SHELL. You can also run `trunk shellhooks install <shell_name>` to install a specific shell hook.
+
+Supported shells:
+
+* bash
+* zsh
+* tcsh
+* fish
+* elvish
+
+For organizations that want to require the use of the hooks, they can add to the config file:
+
+```yaml
+# .trunk/trunk.yaml:
+version: 0.1
+cli:
+  shell_hooks:
+    enforce: true
+```
+
+On the next Trunk command (like check or fmt), it will update your shell RC file to load our hooks.
+
+After reloading your shell, whenever you're inside your repo at the command line, you can just run shims installed by `trunk tools` directly by name.
+
+N.B. There is a known incompatibility with direnv when using PATH\_ADD. To use our hooks, remove PATH\_ADD from your .envrc and add them to your Trunk config as such:
+
+```yaml
+version: 0.1
+cli:
+  shell_hooks:
+    path_add:
+      - "${workspace}/tools"
+```
+
+Paths can either be absolute, or relative to the workspace using the special `${workspace}` variable.
+
+### Running Tools
+
+With shell hooks enabled, you can just run your tools by their name. For example, if you have run `trunk tools install grpcui` to install the GRPC UI tool, you can run it with:
+
+<pre><code><strong>grpcui 
+</strong></code></pre>
+
+#### Running tools without shell hooks
+
+Trunk installs your enabled tools into the `.trunk/tools` directory. Each tool exposes a list of **shims** (these may or may not be identically named to the tool - most typically a tool has one shim matching the name of the tool). Each shim is installed into the `.trunk/tools` directory.
+
+You can run your tools by referring to the path `<path-to-workspace>/.trunk/tools/<shim-name>` but this is unwieldy. We highly recommend using our shell hooks to manage your PATH.
+
+### Troubleshooting Linters
+
+Tools enable you to run your linter binaries on the command line independent of `trunk check` and test and troubleshoot your integrations more easily.
+
+Tools are configured in the `tools` section of `trunk.yaml`. As with other settings, you can override these values in your [User YAML](../configuration/per-user-overrides.md).
+
+```yaml
+tools:
+  auto_sync: false # whether shims should be hot-reloaded off config changes.
+  enabled:
+    - bazel@6.0.0
+    - mypy@1.4.1
+    - ibazel@0.22.0
+    - helm@3.9.4
+    - eksctl@0.74.0
+    - asciinema@2.1.0
+  disabled:
+    - gt
+  definitions:
+    - name: gh
+      download: gh
+      known_good_version: 2.27.0
+      environment:
+        - name: PATH
+          list: ["${tool}/bin"]
+      shims: [gh]
+```
+
+Like with actions and linters, we have a (versioned) `enabled` section and a `disabled` section, which can be manipulated using `trunk tools enable/disable`. There is also a list of `definitions`, which are merged across your `trunk.yaml`, `user.yaml`, as well as any plugins that you use.
+
+`auto_sync` controls whether or not Trunk automatically installs your tools for you when your config changes. This defaults to `true`. Note that the daemon must be running with the monitor in order for this to function properly.
diff --git a/references/cli/install.md b/references/cli/install.md
new file mode 100644
index 00000000..e097d7e5
--- /dev/null
+++ b/references/cli/install.md
@@ -0,0 +1,141 @@
+# Install
+
+### The Trunk Launcher
+
+Trunk uses a launcher to automatically install the appropriate CLI for your platform. The launcher is a bash script that downloads the appropriate Trunk CLI version and runs it. The launcher invisibly runs the Trunk CLI version specified in a project's `.trunk/trunk.yaml` file. The actual Trunk CLI is a single binary that is cached locally in `~/.cache/trunk` and is updated automatically.
+
+### Install the Launcher
+
+The Trunk CLI can be installed in many different ways, depending on your use case.
+
+#### Using NPM
+
+If your project uses a `package.json`, you can specify the Trunk Launcher as a dependency so your developers can start using Trunk after installing Node dependencies.
+
+{% tabs %}
+{% tab title="npm" %}
+```sh
+npm install -D @trunkio/launcher
+```
+{% endtab %}
+
+{% tab title="pnpm" %}
+```sh
+pnpm add -D @trunkio/launcher
+```
+{% endtab %}
+
+{% tab title="yarn" %}
+```sh
+yarn add -D @trunkio/launcher
+```
+{% endtab %}
+
+{% tab title="bun" %}
+```sh
+bun install -D @trunkio/launcher
+```
+{% endtab %}
+{% endtabs %}
+
+Then add Trunk Launcher in your `package.json` as a script:
+
+```json
+{
+  "scripts": {
+    "trunk": "trunk",
+    "lint": "trunk check",
+    "fmt": "trunk fmt"
+  }
+}
+```
+
+#### Using cURL
+
+You can install the Trunk Launcher script directly by downloading it through cURL. The launcher script supports both macOS and Linux environments.
+
+To allow your teammates to use `trunk` without installing anything, the launcher can be committed directly into your repo:
+
+```
+curl -LO https://trunk.io/releases/trunk
+chmod +x trunk
+git commit ./trunk -m "Commit Trunk to our repo"
+```
+
+When the launcher is called for the first time by your teammates, the Trunk Launcher will download, manage, and run the appropriate binary for the environment.
+
+#### Using Homebrew
+
+You can run the following command if you prefer to install this tool via homebrew. Keep in mind that other developers on your team will also have to install manually.
+
+```bash
+brew install trunk-io
+```
+
+#### Using Windows
+
+From **`git-bash` or `msys2`**, download the Bash launcher and add it to your `PATH`:
+
+```bash
+curl https://get.trunk.io -fsSL | bash
+```
+
+From **`powershell`**, download the powershell launcher:
+
+```Text
+Invoke-RestMethod -Uri https://trunk.io/releases/trunk.ps1 -OutFile trunk.ps1
+```
+
+Ensure you can execute powershell scripts:
+
+```Text
+Set-ExecutionPolicy Bypass -Scope CurrentUser
+```
+
+You can then execute trunk as `.\trunk.ps1`.
+
+#### Compatibility
+
+Trunk only supports Windows with the following versions and above:
+
+<table><thead><tr><th width="112.33333333333331">Tool</th><th width="397">Where to Modify</th><th>Minimum Required Version</th></tr></thead><tbody><tr><td>CLI</td><td><code>cli</code> <code>version</code> in <code>.trunk/trunk.yaml</code></td><td><code>1.13.0</code></td></tr><tr><td>Plugins</td><td><code>ref</code> for the <code>trunk</code> plugin in <code>.trunk/trunk.yaml</code></td><td><code>v1.0.0</code></td></tr><tr><td>VSCode</td><td>Reload VSCode to update</td><td><code>3.4.4</code></td></tr></tbody></table>
+
+You will also need to install [C and C++ runtime libraries](https://aka.ms/vs/17/release/vc_redist.x64.exe) in order to run some linters.
+
+### Uninstall instructions
+
+#### From your system
+
+Trunk has a very minimal installation, and therefore, there's not much to uninstall. The two system paths we use are:
+
+* `/usr/local/bin/trunk`: the [Trunk Launcher](install.md#the-trunk-launcher)
+* `~/.cache/trunk`: cached versions of the trunk cli, linters, formatters, etc.
+
+You can delete those two paths to uninstall.
+
+#### From a repo
+
+To cleanly remove Trunk from a particular repo, run:
+
+```bash
+trunk deinit
+```
+
+#### VS Code extension
+
+To uninstall the Trunk VS Code extension, do so as you would any extension ([docs](https://code.visualstudio.com/docs/editor/extension-marketplace)). Then reload VS Code.
+
+### Binary download (not recommended)
+
+You can directly download the `trunk` binary. _We don't recommend this mode of operation because your ability to version the tool through_ `trunk.yaml` _will not function when launching_ `trunk` _directly from a downloaded binary._ Regardless you can bypass the launcher support by downloading the prebuilt binaries here:
+
+<table><thead><tr><th width="178">variable</th><th>options</th></tr></thead><tbody><tr><td>version</td><td>the semver of the binary you want to download</td></tr><tr><td>platform</td><td>'darwin`, 'linux'</td></tr></tbody></table>
+
+```bash
+# for example https://trunk.io/releases/1.0.0/trunk-1.0.0-linux-x86_64.tar.gz
+https://trunk.io/releases/${version}/trunk-${version}-${platform}-x86_64.tar.gz
+```
+
+### Pre-installing tools
+
+Trunk hermetically manages all the tools that it runs. To do this, it will download and install them into its cache folder only when they are needed. If you would like to ensure that all tools are installed ahead of time, then you can use the `trunk install` command. This may be useful if you want to prepare to work offline or if you would like to include the tools in a docker image. On Linux and macOS you may find the cache folder at `$HOME/.cache/trunk`.
diff --git a/runtimes/prevent-duplicate-runtimes.md b/runtimes/prevent-duplicate-runtimes.md
deleted file mode 100644
index f8ae2a58..00000000
--- a/runtimes/prevent-duplicate-runtimes.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Prevent Duplicate Runtimes
-
-If you would like to avoid having two copies of a specific runtime; For example, the system-managed version, and the Trunk-managed version, then you can always format your `trunk.yaml` file accordingly.&#x20;
-
-```yaml
-runtimes: 
-  enabled: 
-    - go@x.y.z
-
-# or
-runtimes: 
-  definitions: 
-    - type: go
-      system_version: allowed
-```
-
diff --git a/setup-and-configuration/connecting-to-trunk.md b/setup-and-configuration/connecting-to-trunk.md
new file mode 100644
index 00000000..87a2c2f7
--- /dev/null
+++ b/setup-and-configuration/connecting-to-trunk.md
@@ -0,0 +1,38 @@
+# Connecting to Trunk
+
+### Create a Trunk Account
+
+Welcome to Trunk! Before you can access Trunk's toolkit to ship faster, you must [create a Trunk account](https://app.trunk.io/signup). You can connect to Trunk in two ways:
+
+* Connect with OAuth using your Google, GitHub, or Microsoft account.
+* Connect with SSO through your organization's email. To configure SSO for your organization, please [contact us](mailto:support@trunk.io) or [join us on Slack](https://slack.trunk.io/).
+
+### Create an Organization
+
+After creating a Trunk Account, you'll be invited to [create an organization](https://app.trunk.io/onboarding). Organizations are shared workspaces for your team, and **individual repositories** connected to Trunk will fall under your team's organization.
+
+<figure><picture><source srcset="../.gitbook/assets/onboarding-create-org-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/onboarding-create-org-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+To create your organization, you need the following:
+
+* Workspace Name: This is the display name of your organization. This can be changed later.
+* Workspace URL: This is the link to access your workspace and also your [Organization Slug](managing-your-organization/#slug). This cannot be changed.
+* Users to Invite: Invite your team to your organization by email. You can[ invite and manage members](managing-your-organization/#inviting-team-members) later in your organization's settings.
+
+{% hint style="success" %}
+**Trying to join your team?**
+
+If your team is already on Trunk and you're looking to join an existing organization, see the docs on[ inviting team members](managing-your-organization/#inviting-team-members) and contact an organization admin.&#x20;
+{% endhint %}
+
+### Start Using Trunk
+
+After connecting to Trunk, you're ready to get started. Following the [guided onboarding](https://app.trunk.io/onboarding) experience for the feature you'd like to try first.
+
+<figure><picture><source srcset="../.gitbook/assets/onboarding-pick-product-dark.png" media="(prefers-color-scheme: dark)"><img src="../.gitbook/assets/onboarding-pick-product-light.png" alt=""></picture><figcaption></figcaption></figure>
+
+### Next Steps
+
+<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4>Flaky Tests</h4></td><td><a href="../.gitbook/assets/FlakyTests.png">FlakyTests.png</a></td><td><a href="../flaky-tests/overview.md">overview.md</a></td></tr><tr><td><h4>Code Quality</h4></td><td><a href="../.gitbook/assets/CodeQuality.png">CodeQuality.png</a></td><td><a href="../code-quality/overview/">overview</a></td></tr><tr><td><h4>Merge Queue</h4></td><td><a href="../.gitbook/assets/Merge.png">Merge.png</a></td><td><a href="../merge-queue/merge-queue.md">merge-queue.md</a></td></tr></tbody></table>
+
+<table data-view="cards"><thead><tr><th></th><th data-hidden data-type="content-ref"></th><th data-hidden data-type="content-ref"></th></tr></thead><tbody><tr><td>Manage your Organization</td><td><a href="managing-your-organization/">managing-your-organization</a></td><td></td></tr><tr><td>Install the CLI</td><td></td><td><a href="../references/cli/">cli</a></td></tr></tbody></table>
diff --git a/setup-and-configuration/managing-your-organization/README.md b/setup-and-configuration/managing-your-organization/README.md
new file mode 100644
index 00000000..0fd3a61e
--- /dev/null
+++ b/setup-and-configuration/managing-your-organization/README.md
@@ -0,0 +1,43 @@
+# Managing Your Organization
+
+### Organization Slug and Token
+
+Integrating with Trunk through [Webhooks](../../flaky-tests/webhooks/), [APIs](../../references/apis/), or [CLI](../../references/cli/) will require authentication using your organization's Trunk organization slug and token.
+
+You can find your organization slug and token by going to **Settings** > **Manage** > **Organization**.&#x20;
+
+{% tabs %}
+{% tab title="Slug" %}
+<figure><picture><source srcset="../../.gitbook/assets/org-slug-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/org-slug-light.png" alt=""></picture><figcaption><p>Make sure you are getting your <em>Organization Slug</em>, not the Organization Name.</p></figcaption></figure>
+{% endtab %}
+
+{% tab title="Token" %}
+<figure><picture><source srcset="../../.gitbook/assets/org-token-dark.png" media="(prefers-color-scheme: dark)"><img src="../../.gitbook/assets/org-token-light.png" alt=""></picture><figcaption><p>Ensure you get your <em>Organization API Token</em>, <em><strong>not your repo token</strong></em>.</p></figcaption></figure>
+{% endtab %}
+{% endtabs %}
+
+### Trunk GitHub App
+
+The Trunk GitHub app lets you integrate various Code Quality, Merge Queue, and Flaky Test features with your GitHub repos. It can help you[ lint commits and PRs](../../code-quality/ci-setup/github-integration.md), manage [merge queue branches](../../merge-queue/set-up-trunk-merge/), and post [PR comments about your test results](../../flaky-tests/github-pull-request-comments.md).
+
+You can install the Trunk GitHub App by going to **Settings** > **Manage** > **Connect GitHub** and clicking **Connect**. You'll be redirected to GitHub to select the repositories where the GitHub app will be installed.
+
+You can also [read more about the required permissions for the Trunk GitHub App](github-app-permissions.md).
+
+### Team Domains
+
+If your team uses emails managed by Google or Microsoft under a common domain, you can grant access to your team using **Team Domains**. When a team member creates a Trunk account with an email under you configured team domain, they will be granted access to your Trunk organization and repositories.
+
+You can enable team domains under **Settings** > **Team Members** > **Team Domains** and clicking **Add**.
+
+{% hint style="success" %}
+Trunk also supports SSO login. If you wish to use SSO, please contact us at support@trunk.io.
+{% endhint %}
+
+### Inviting Team Members
+
+You can invite individual members manually by navigating to **Settings** > **Team Members** > **Team Members** and clicking the :heavy\_plus\_sign: plus icon. An email will be sent to the invitee's inbox.
+
+### Managing Team Members
+
+You can manage a team member's role and remove team members by navigating to **Settings** > **Team Members** > **Team Members** and clicking on the name of a team member. You can change the role of a team member between user and admin, as well as removing the user from your organization.
diff --git a/setup-and-configuration/managing-your-organization/github-app-permissions.md b/setup-and-configuration/managing-your-organization/github-app-permissions.md
new file mode 100644
index 00000000..2b1b733d
--- /dev/null
+++ b/setup-and-configuration/managing-your-organization/github-app-permissions.md
@@ -0,0 +1,83 @@
+---
+description: >-
+  Learn more about which permissions the Trunk GitHub app requests and why Trunk
+  needs them.
+---
+
+# GitHub App Permissions
+
+The Trunk GitHub App enables functionality for all of Trunk's tools. Not every permission is required for every feature of Trunk, and if you have only enabled one of our tools, we will only access the permissions pertaining to that tool. For complete documentation of the individual permissions the Trunk GitHub App requires, see the [GitHub developer docs](https://docs.github.com/en/rest/authentication/permissions-required-for-github-apps). Below, find an explanation of every permission the Trunk GitHub App requires and what Trunk uses it for.
+
+## **Repository permissions**
+
+Repository permissions permit access to repositories and related resources.
+
+### Actions (Read and write)
+
+This permission allows access to the results of workflow and job runs.
+
+Trunk uses this permission to read the results of workflow and job runs, and to dispatch or cancel workflow runs triggered by Trunk Merge.
+
+### Administration (Read-only)
+
+This permission includes read-only access to repository settings, teams, and collaborators.
+
+Trunk uses this permission to access a repository’s branch protection rules. Trunk cannot edit any administration settings on your GitHub organization or repository.
+
+### Checks (Read and write)
+
+This permission includes access to checks on code (such as GitHub actions and other integrations like BuildKite, CircleCI).
+
+Trunk uses this permission to examine the status of your commits, branches, and pull requests. Trunk uses this information to determine when pull requests are ready to merge. Trunk also uses this permission to post the results of code analysis.
+
+### Commit statuses (Read-only)
+
+This permission includes access to statuses on code. Some CI providers use this integration with GitHub to post the results of a job run.
+
+Trunk uses this permission to examine the status of your commits, branches, and pull requests. Trunk uses this information to determine when pull requests are ready to merge.
+
+### Contents (Read and write)
+
+This permission includes access to repository contents, commits, branches, downloads, releases, and merges.&#x20;
+
+Trunk uses this permission to read the `trunk.yaml` configuration file if you’ve added it to your repository. Trunk also uses write permissions to create, update, and delete the branches created and managed by Merge.
+
+### Issues (Read and write)
+
+This permission includes access to issues and related comments, assignees, labels, and milestones.
+
+Trunk uses this permission to read and write comments on pull requests.
+
+### Metadata (Read-only)
+
+This permission includes access to search repositories, list collaborators, and access repository metadata.
+
+This permission is required by all GitHub applications that access repository information.
+
+### Pull requests (Read and write)
+
+This permission includes access to pull requests and merges.
+
+Trunk uses this permission to view and merge pull requests managed by Merge.
+
+### Workflows (Read and write)
+
+This permission includes access to update GitHub Action workflow files.
+
+Trunk uses this permission to facilitate onboarding to running Trunk Check on CI, for users who use Github Actions.
+
+## **Organization permissions**
+
+Organization permissions permit access to organization-related resources.
+
+### **Events (Read-only)**
+
+This permission includes access to view events triggered by an activity in an organization.
+
+Trunk uses this permission to get organization events to keep app install information up to date.
+
+### **Members (Read-only)**
+
+This permission includes access to organization members and teams.
+
+Trunk uses this permission to subscribe to organization rename events to keep app install information current.
diff --git a/summary.md b/summary.md
new file mode 100644
index 00000000..87e4d31e
--- /dev/null
+++ b/summary.md
@@ -0,0 +1,305 @@
+# Table of contents
+
+## Overview
+
+* [Welcome](welcome.md)
+
+## Setup & Configuration
+
+* [Connecting to Trunk](setup-and-configuration/connecting-to-trunk.md)
+* [Managing Your Organization](setup-and-configuration/managing-your-organization/README.md)
+  * [GitHub App Permissions](setup-and-configuration/managing-your-organization/github-app-permissions.md)
+
+***
+
+* [Integration with Slack](integration-for-slack.md)
+
+## Flaky Tests
+
+* [Overview](flaky-tests/overview.md)
+* [Get Started](flaky-tests/get-started/README.md)
+  * [Test Frameworks](flaky-tests/get-started/frameworks/README.md)
+    * [Android](flaky-tests/get-started/frameworks/android.md)
+    * [Bazel](flaky-tests/get-started/frameworks/bazel.md)
+    * [Behave](flaky-tests/get-started/frameworks/behave.md)
+    * [cargo-nextest](flaky-tests/get-started/frameworks/rust.md)
+    * [Cypress](flaky-tests/get-started/frameworks/cypress.md)
+    * [Dart Test](flaky-tests/get-started/frameworks/dart-test.md)
+    * [Go](flaky-tests/get-started/frameworks/gotestsum.md)
+    * [GoogleTest](flaky-tests/get-started/frameworks/googletest.md)
+    * [Gradle](flaky-tests/get-started/frameworks/gradle.md)
+    * [Jasmine](flaky-tests/get-started/frameworks/jasmine.md)
+    * [Jest](flaky-tests/get-started/frameworks/jest.md)
+    * [Karma](flaky-tests/get-started/frameworks/karma.md)
+    * [Kotest](flaky-tests/get-started/frameworks/kotest.md)
+    * [Maven](flaky-tests/get-started/frameworks/maven.md)
+    * [minitest](flaky-tests/get-started/frameworks/minitest.md)
+    * [Mocha](flaky-tests/get-started/frameworks/mocha.md)
+    * [Nightwatch](flaky-tests/get-started/frameworks/nightwatch.md)
+    * [NUnit](flaky-tests/get-started/frameworks/nunit.md)
+    * [Pest](flaky-tests/get-started/frameworks/pest.md)
+    * [PHPUnit](flaky-tests/get-started/frameworks/phpunit.md)
+    * [Playwright](flaky-tests/get-started/frameworks/playwright.md)
+    * [Pytest](flaky-tests/get-started/frameworks/pytest.md)
+    * [Robot Framework](flaky-tests/get-started/frameworks/robot-framework.md)
+    * [RSpec](flaky-tests/get-started/frameworks/rspec/README.md)
+      * [RSpec (Manual Uploads)](flaky-tests/get-started/frameworks/rspec/manual-uploads.md)
+    * [Swift Testing](flaky-tests/get-started/frameworks/swift-testing.md)
+    * [Vitest](flaky-tests/get-started/frameworks/vitest.md)
+    * [XCTest](flaky-tests/get-started/frameworks/xctest.md)
+    * [Other Test Frameworks](flaky-tests/get-started/frameworks/other-test-frameworks.md)
+  * [CI Providers](flaky-tests/get-started/ci-providers/README.md)
+    * [Azure DevOps Pipelines](flaky-tests/get-started/ci-providers/azure-devops-pipelines.md)
+    * [BitBucket Pipelines](flaky-tests/get-started/ci-providers/bitbucket-pipelines.md)
+    * [Buildkite](flaky-tests/get-started/ci-providers/buildkite.md)
+    * [CircleCI](flaky-tests/get-started/ci-providers/circleci.md)
+    * [Drone CI](flaky-tests/get-started/ci-providers/droneci.md)
+    * [GitHub Actions](flaky-tests/get-started/ci-providers/github-actions.md)
+    * [GitLab](flaky-tests/get-started/ci-providers/gitlab.md)
+    * [Jenkins](flaky-tests/get-started/ci-providers/jenkins.md)
+    * [Semaphore CI](flaky-tests/get-started/ci-providers/semaphoreci.md)
+    * [TeamCity](flaky-tests/get-started/ci-providers/teamcity.md)
+    * [Travis CI](flaky-tests/get-started/ci-providers/travisci.md)
+    * [Other CI Providers](flaky-tests/get-started/ci-providers/otherci.md)
+* [Managing Detected Flaky Tests](flaky-tests/managing-detected-flaky-tests.md)
+* [Dashboard](flaky-tests/dashboard.md)
+* [Flaky Test Detection](flaky-tests/detection.md)
+* [Quarantining](flaky-tests/quarantining.md)
+* [PR Comments](flaky-tests/github-pull-request-comments.md)
+* [Ticketing Integrations](flaky-tests/ticketing-integrations/README.md)
+  * [Jira Integration](flaky-tests/ticketing-integrations/jira-integration.md)
+  * [Linear Integration](flaky-tests/ticketing-integrations/linear-integration.md)
+  * [Other Ticketing Platforms](flaky-tests/ticketing-integrations/other-ticketing-platforms.md)
+* [Webhooks](flaky-tests/webhooks/README.md)
+  * [Slack Integration](flaky-tests/webhooks/slack-integration.md)
+  * [Microsoft Teams Integration](flaky-tests/webhooks/microsoft-teams-integration.md)
+  * [GitHub Issues Integration](flaky-tests/webhooks/github-issues-integration.md)
+  * [Linear Integration](flaky-tests/webhooks/linear-integration.md)
+* [Uploader CLI Reference](flaky-tests/uploader.md)
+
+## CI Autopilot (private beta) <a href="#ci-autopilot" id="ci-autopilot"></a>
+
+* [Overview](ci-autopilot/overview.md)
+
+## AI DevOps Assistant (upcoming) <a href="#ai-devops-assistant" id="ai-devops-assistant"></a>
+
+* [Overview](ai-devops-assistant/overview.md)
+
+## Merge Queue
+
+* [Overview](merge-queue/merge-queue.md)
+* [How does it work?](merge-queue/how-does-it-work.md)
+* [Setup](merge-queue/set-up-trunk-merge/readme.md)
+  * [Quick Start](merge-queue/set-up-trunk-merge/readme.md)
+  * [Settings](merge-queue/set-up-trunk-merge/advanced-settings.md)
+  * [Integration for Slack](merge-queue/set-up-trunk-merge/integration-for-slack.md)
+* [Concepts and Optimizations](merge-queue/concepts-and-optimizations/README.md)
+  * [Predictive Testing](merge-queue/concepts/predictive-testing.md)
+  * [Optimistic Merging](merge-queue/concepts/optimistic-merging.md)
+  * [Pending Failure Depth](merge-queue/concepts/pending-failure-depth.md)
+  * [Anti-Flake Protection](merge-queue/concepts/anti-flake-protection.md)
+  * [Batching](merge-queue/concepts/batching.md)
+  * [Parallel Queues](merge-queue/concepts-and-optimizations/parallel-queues/README.md)
+    * [Bazel](merge-queue/concepts-and-optimizations/parallel-queues/bazel.md)
+    * [Nx](merge-queue/concepts-and-optimizations/parallel-queues/nx.md)
+    * [API](merge-queue/concepts-and-optimizations/parallel-queues/api.md)
+  * [FAQ](merge-queue/concepts/common-problems.md)
+* [Priority](merge-queue/pr-prioritization.md)
+* [Managing Merge Queue](merge-queue/managing-merge-queue/README.md)
+  * [Using the Merge UI](merge-queue/managing-merge-queue/using-the-webapp.md)
+  * [Metrics](merge-queue/managing-merge-queue/metrics.md)
+  * [Command Line](merge-queue/managing-merge-queue/command-line.md)
+* [Webhooks](merge-queue/webhooks.md)
+* [Reference](merge-queue/reference.md)
+
+## Code Quality
+
+* [Overview](code-quality/code-quality.md)
+* [Why Metalinters?](code-quality/overview/README.md)
+  * [How does it work?](code-quality/overview/how-does-it-work.md)
+  * [Why Code Quality?](code-quality/overview/why-code-quality.md)
+* [Setup & Installation](code-quality/setup-and-installation/README.md)
+  * [Initialize Trunk](code-quality/setup-and-installation/initialize-trunk.md)
+  * [Local Linting](code-quality/setup-and-installation/deal-with-existing-issues.md)
+  * [Linting in CI](code-quality/setup-and-installation/prevent-new-issues.md)
+    * [Migration Guide](code-quality/setup-and-installation/prevent-new-issues/migration-guide.md)
+  * [Nightly Report (Deprecated)](code-quality/ci-setup/github-integration.md)
+  * [OpenAI Codex Support](code-quality/setup-and-installation/openai-codex-support.md)
+* [IDE Integration](code-quality/ide-integration/README.md)
+  * [VSCode](code-quality/ide-integration/vscode.md)
+  * [Neovim](code-quality/ide-integration/neovim.md)
+  * [GitHub Codespaces](cli/configuration/github-codespaces.md)
+* [Linters](code-quality/linters/README.md)
+  * [Supported Linters](code-quality/linters/supported/README.md)
+    * [Actionlint](code-quality/linters/supported/actionlint.md)
+    * [Ansible-lint](code-quality/linters/supported/ansible-lint.md)
+    * [Autopep8](code-quality/linters/supported/autopep8.md)
+    * [Bandit](code-quality/linters/supported/bandit.md)
+    * [Biome](code-quality/linters/supported/biome.md)
+    * [Black](code-quality/linters/supported/black.md)
+    * [Brakeman](code-quality/linters/supported/brakeman.md)
+    * [buf](code-quality/linters/supported/buf.md)
+    * [Buildifier](code-quality/linters/supported/buildifier.md)
+    * [cfnlint](code-quality/linters/supported/cfnlint.md)
+    * [Checkov](code-quality/linters/supported/checkov.md)
+    * [circleci](code-quality/linters/supported/circleci.md)
+    * [ClangFormat](code-quality/linters/supported/clang-format.md)
+    * [clang-tidy](code-quality/linters/supported/clang-tidy.md)
+    * [Clippy](code-quality/linters/supported/clippy.md)
+    * [cmake-format](code-quality/linters/supported/cmake-format.md)
+    * [codespell](code-quality/linters/supported/codespell.md)
+    * [cspell](code-quality/linters/supported/cspell.md)
+    * [cue-fmt](code-quality/linters/supported/cue-fmt.md)
+    * [dart](code-quality/linters/supported/dart.md)
+    * [deno](code-quality/linters/supported/deno.md)
+    * [Detekt](code-quality/linters/supported/detekt.md)
+    * [djlint](code-quality/linters/supported/djlint.md)
+    * [dotenv-linter](code-quality/linters/supported/dotenv-linter.md)
+    * [dotnet-format](code-quality/linters/supported/dotnet-format.md)
+    * [dustilock](code-quality/linters/supported/dustilock.md)
+    * [ESLint](code-quality/linters/supported/eslint.md)
+    * [Flake8](code-quality/linters/supported/flake8.md)
+    * [git-diff-check](code-quality/linters/supported/git-diff-check.md)
+    * [Gitleaks](code-quality/linters/supported/gitleaks.md)
+    * [Gofmt](code-quality/linters/supported/gofmt.md)
+    * [gofumpt](code-quality/linters/supported/gofumpt.md)
+    * [goimports](code-quality/linters/supported/goimports.md)
+    * [gokart](code-quality/linters/supported/gokart.md)
+    * [golangci-lint](code-quality/linters/supported/golangci-lint.md)
+    * [golines](code-quality/linters/supported/golines.md)
+    * [google-java-format](code-quality/linters/supported/google-java-format.md)
+    * [graphql-schema-linter](code-quality/linters/supported/graphql-schema-linter.md)
+    * [hadolint](code-quality/linters/supported/hadolint.md)
+    * [haml-lint](code-quality/linters/supported/haml-lint.md)
+    * [isort](code-quality/linters/supported/isort.md)
+    * [iwyu](code-quality/linters/supported/iwyu.md)
+    * [ktlint](code-quality/linters/supported/ktlint.md)
+    * [kube-linter](code-quality/linters/supported/kube-linter.md)
+    * [markdown-link-check](code-quality/linters/supported/markdown-link-check.md)
+    * [markdown-table-prettify](code-quality/linters/supported/markdown-table-prettify.md)
+    * [Markdownlint](code-quality/linters/supported/markdownlint.md)
+    * [markdownlint-cli2](code-quality/linters/supported/markdownlint-cli2.md)
+    * [mypy](code-quality/linters/supported/mypy.md)
+    * [nancy](code-quality/linters/supported/nancy.md)
+    * [nixpkgs-fmt](code-quality/linters/supported/nixpkgs-fmt.md)
+    * [opa](code-quality/linters/supported/opa.md)
+    * [OSV-Scanner](code-quality/linters/supported/osv-scanner.md)
+    * [Oxipng](code-quality/linters/supported/oxipng.md)
+    * [perlcritic](code-quality/linters/supported/perlcritic.md)
+    * [perltidy](code-quality/linters/supported/perltidy.md)
+    * [php-cs-fixer](code-quality/linters/supported/php-cs-fixer.md)
+    * [phpstan](code-quality/linters/supported/phpstan.md)
+    * [pmd](code-quality/linters/supported/pmd.md)
+    * [pragma-once](code-quality/linters/supported/pragma-once.md)
+    * [pre-commit-hooks](code-quality/linters/supported/pre-commit-hooks.md)
+    * [Prettier](code-quality/linters/supported/prettier.md)
+    * [prisma](code-quality/linters/supported/prisma.md)
+    * [psscriptanalyzer](code-quality/linters/supported/psscriptanalyzer.md)
+    * [Pylint](code-quality/linters/supported/pylint.md)
+    * [pyright](code-quality/linters/supported/pyright.md)
+    * [regal](code-quality/linters/supported/regal.md)
+    * [remark-lint](code-quality/linters/supported/remark-lint.md)
+    * [renovate](code-quality/linters/supported/renovate.md)
+    * [rome](code-quality/linters/supported/rome.md)
+    * [rubocop](code-quality/linters/supported/rubocop.md)
+    * [Ruff](code-quality/linters/supported/ruff.md)
+    * [rufo](code-quality/linters/supported/rufo.md)
+    * [rustfmt](code-quality/linters/supported/rustfmt.md)
+    * [scalafmt](code-quality/linters/supported/scalafmt.md)
+    * [semgrep](code-quality/linters/supported/semgrep.md)
+    * [ShellCheck](code-quality/linters/supported/shellcheck.md)
+    * [shfmt](code-quality/linters/supported/shfmt.md)
+    * [sort-package-json](code-quality/linters/supported/sort-package-json.md)
+    * [sourcery](code-quality/linters/supported/sourcery.md)
+    * [sql-formatter](code-quality/linters/supported/sql-formatter.md)
+    * [SQLFluff](code-quality/linters/supported/sqlfluff.md)
+    * [sqlfmt](code-quality/linters/supported/sqlfmt.md)
+    * [squawk](code-quality/linters/supported/squawk.md)
+    * [standardrb](code-quality/linters/supported/standardrb.md)
+    * [stringslint](code-quality/linters/supported/stringslint.md)
+    * [stylelint](code-quality/linters/supported/stylelint.md)
+    * [stylua](code-quality/linters/supported/stylua.md)
+    * [SVGO](code-quality/linters/supported/svgo.md)
+    * [swiftformat](code-quality/linters/supported/swiftformat.md)
+    * [swiftlint](code-quality/linters/supported/swiftlint.md)
+    * [taplo](code-quality/linters/supported/taplo.md)
+    * [Terraform](code-quality/linters/supported/terraform.md)
+    * [terragrunt](code-quality/linters/supported/terragrunt.md)
+    * [terrascan](code-quality/linters/supported/terrascan.md)
+    * [TFLint](code-quality/linters/supported/tflint.md)
+    * [tfsec](code-quality/linters/supported/tfsec.md)
+    * [tofu](code-quality/linters/supported/tofu.md)
+    * [Trivy](code-quality/linters/supported/trivy.md)
+    * [Trufflehog](code-quality/linters/supported/trufflehog.md)
+    * [txtpbfmt](code-quality/linters/supported/txtpbfmt.md)
+    * [vale](code-quality/linters/supported/vale.md)
+    * [Yamllint](code-quality/linters/supported/yamllint.md)
+    * [yapf](code-quality/linters/supported/yapf.md)
+  * [Run Linters](code-quality/linters/run-linters.md)
+  * [Manage Linters](code-quality/linters/manage-linters.md)
+  * [Configure Linters](code-quality/linters/configure-linters.md)
+  * [Ignoring Issues and Files](code-quality/linters/ignoring-issues-and-files.md)
+  * [Custom Linters](code-quality/linters/custom-linters.md)
+  * [Shared Configs](code-quality/linters/shared-configs.md)
+  * [Upgrades](cli/upgrades.md)
+* [Debugging](code-quality/debugging.md)
+* [Licensing](code-quality/licensing.md)
+
+## CLI & API References <a href="#references" id="references"></a>
+
+* [CLI Reference](references/cli/README.md)
+  * [Install](references/cli/install.md)
+  * [Getting Started](references/cli/getting-started/README.md)
+    * [Code Quality](code-quality/code-quality.md)
+    * [Merge Queue](merge-queue/managing-merge-queue/command-line.md)
+    * [Flaky Tests](flaky-tests/get-started/README.md)
+    * [Tools](references/cli/getting-started/tools.md)
+    * [Actions](references/cli/getting-started/actions/README.md)
+      * [Git Hooks](references/cli/getting-started/actions/git-hooks.md)
+    * [Announce](references/cli/getting-started/announce.md)
+  * [Compatibility](references/cli/compatibility.md)
+  * [Caching](references/cli/caching.md)
+  * [Commands Reference](references/cli/commands-reference/README.md)
+    * [Code Quality](references/cli/commands-reference/code-quality.md)
+    * [Actions](references/cli/commands-reference/actions.md)
+    * [Merge](references/cli/commands-reference/merge.md)
+  * [Configuration](references/cli/configuration/README.md)
+    * [Plugins](references/cli/configuration/plugins/README.md)
+      * [Share Config Between Codebases](references/cli/configuration/plugins/external-repositories.md)
+      * [Exporting Linter Configs](references/cli/configuration/plugins/exported-configs.md)
+    * [Runtimes](references/cli/configuration/runtimes.md)
+    * [Tools](references/cli/configuration/tools.md)
+    * [Lint](references/cli/configuration/lint/README.md)
+      * [Definitions](references/cli/configuration/lint/definitions.md)
+      * [Commands](references/cli/configuration/lint/commands.md)
+      * [Output](references/cli/configuration/lint/output.md)
+      * [Output Parsing](references/cli/configuration/lint/output-parsing.md)
+      * [Files and Caching](references/cli/configuration/lint/files-and-caching.md)
+      * [Dependencies](references/cli/configuration/lint/dependencies.md)
+      * [Auto-Enable](references/cli/configuration/lint/auto-enable.md)
+    * [Actions](references/cli/configuration/actions/README.md)
+      * [Notifications](references/cli/configuration/actions/notifications.md)
+      * [Logging and Troubleshooting](references/cli/configuration/actions/logging-and-troubleshooting.md)
+    * [Merge](references/cli/configuration/merge.md)
+    * [Telemetry](references/cli/configuration/telemetry.md)
+    * [Per User Overrides](references/cli/configuration/per-user-overrides.md)
+* [API Reference](references/apis/README.md)
+  * [Flaky Tests](references/apis/flaky-tests.md)
+  * [Merge Queue](references/apis/merge.md)
+  * [Webhooks Reference](references/apis/webhooks.md)
+
+## Pricing & Security
+
+* [Security](pricing-and-security/security.md)
+
+***
+
+* [Billing](billing.md)
+* [Community & Support](community.md)
+
+## Links
+
+* [Open App](https://app.trunk.io)
+* [Slack Community](https://slack.trunk.io)
+* [Changelog](https://trunk.io/changelog)
+* [Feature Requests](https://features.trunk.io)
diff --git a/web-app/github-app-permissions.md b/web-app/github-app-permissions.md
deleted file mode 100644
index a81e352b..00000000
--- a/web-app/github-app-permissions.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# GitHub App Permissions
-
-The Trunk GitHub App requests permissions to access the repositories you choose to connect to Trunk. We're committed to your privacy and security, so we will only request the permissions necessary to enable Trunk to function.
-
-## Actions (Read and write)
-
-This permission allows access to the results of workflow and job runs.
-
-Trunk uses this permission to read the results of workflow and job runs, and to dispatch or cancel workflow runs triggered by Trunk Merge.
-
-## Administration (Read-only)
-
-This permission includes read-only access to repository settings, teams, and collaborators.
-
-Trunk uses this permission to access a repository’s branch protection rules. Trunk and cannot edit any administration settings on your GitHub organization or repository.
-
-## Checks (Read and write)
-
-This permission includes access to checks on code (such as GitHub actions and other integrations like BuildKite, CircleCI).
-
-Trunk uses this permission to examine the status of your commits, branches, and pull requests. Trunk uses this information to determine when pull requests are ready to merge. Trunk also uses this permission to post the results of code analysis.
-
-## Commit statuses (Read-only)
-
-This permission includes access to statuses on code. Some CI providers use this integration with GitHub to post the results of a job run.
-
-Trunk uses this permission to examine the status of your commits, branches, and pull requests. Trunk uses this information to determine when pull requests are ready to merge.
-
-## Code contents (Read and write)
-
-This permission includes access to repository contents, commits, branches, downloads, releases, and merges. Trunk uses this permission to download the trunk.yaml configuration file if you’ve added it to your repository
-
-Trunk also uses write permissions to create, update, and delete the branches created and managed by Merge.
-
-## Issues (Read-only)
-
-This permission includes access to issues and related comments, assignees, labels, and milestones.
-
-Trunk uses this permission to read and write comments on pull requests.
-
-## Pull requests (Read and write)
-
-This permission includes access to pull requests and merges.
-
-Trunk uses this permission to view and merge pull requests managed by Merge.
diff --git a/web-app/upload-trunk-check-results.md b/web-app/upload-trunk-check-results.md
deleted file mode 100644
index be30b266..00000000
--- a/web-app/upload-trunk-check-results.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Upload Trunk Check Results
-
-Trunk Check has the ability to post its results to app.trunk.io. This will enable you to view your repository's Check history over time so you can track the trend of issues in your code, as well as browse the issues in your repository to help you understand which issues should be prioritized to fix. The upload feature of Trunk Check will upload all of the issues found by Trunk to the Trunk services. In order to get an accurate picture of the state of your repository, you'll want to upload all of the Trunk Check issues for your whole repository.
-
-In order to keep the data up-to-date, you should upload Trunk Check results regularly in an automated fashion. Depending on the size of your repository and the linters you have configured to run, running Trunk Check on your whole repository may take a while. Because this run may take a while, we recommend uploading Trunk Check results once daily. However, the system supports uploading results for every commit, so the granularity of upload is up to you.
-
-### Running `trunk check --upload`
-
-{% hint style="info" %}
-Before running `trunk check --upload` you must have [connected your Github repository to your Trunk account](upload-trunk-check-results.md).
-{% endhint %}
-
-#### CI Setup for nightly uploads
-
-You can use the [Trunk GitHub Action](https://github.com/marketplace/actions/trunk-check) to upload results nightly for your main branch. You can provide it with a `trunk-token` by navigating to Settings → Repositories → {your repository} and clicking "View Api Token".
-
-Example nightly workflow to upload results: [`nightly.yaml`](https://github.com/trunk-io/trunk-action/blob/main/.github/workflows/nightly.yaml)
-
-#### Running `trunk check --upload` locally
-
-1. `trunk check --upload` is different than a normal `trunk check` invocation because we explicitly want the Trunk CLI to find all of the issues in the repository. Because of this, we recommend adding the `--all` flag to your `trunk check --upload` invocation. Keep in mind, this won't override the ignore settings in your `trunk.yaml` file. Any linter or file-level ignores you have configured will be honored by `trunk check --upload`.
-2. `trunk check --upload` accepts the same flags and filters as `trunk check` that you run locally and for CI, and it also has the same runtime dependencies.
-3. You should run your `trunk check --upload` command locally without the `--upload` flag to verify that it is working as expected. If you have a large repository or many checks enabled, `--all` may take a long time. In this case, remember to use `--sample`.
-4. Required command line parameters
-   1. `--token`: The Trunk API token for this repository. You can find this by navigating to Settings → Repositories → {your repository} and clicking "View Api Token".
-   2. `--series`: This is the name of the time-series this upload run is a part of. We recommend using the name of the branch you are running `trunk check` on. For example, we run `trunk check --upload` regularly on our `main` branch, so we use `--series main`. You may instead prefer to track specific releases or tags, or create an experimental series. The series name does not need to match any git object, it is available as a way to organize your upload data. If you're unsure of what to use for `--series`, just use the name of your main branch (typically `main` or `master`)
-
-```bash
-trunk check --all --upload --series main --token REDACTED
-```
-
-#### Troubleshooting
-
-Normally we infer repo information from the `origin` remote, however if you don't have an `origin` or for another git configuration reason it can't be inferred, it can be explicitly defined in `trunk.yaml`:
-
-1. Add a `repo` section to your Trunk config. This allows the Trunk CLI to connect with the appropriate repository in the Trunk system.
-   1. `host`: Where your repository is hosted. Currently only Github is supported, so this value should be `github.com`,
-   2. `owner`: The Github Owner of the repository, typically the first path section of your repository URL. For example, if we were connecting with [https://github.com/google/googletest](https://github.com/google/googletest), the `owner` would be `google`.
-   3. `name`: The name of the repository. Continuing with our example above, the `name` would be `googletest`.
-
-This is what the `repo` section of your config would look like if your repository was hosted at [https://github.com/google/googletest](https://github.com/google/googletest)
-
-```yaml
-repo:
-  repo:
-    host: github.com
-    owner: google
-    name: googletest
-```
-
-Note the repo/repo nested structure.
diff --git a/welcome.md b/welcome.md
new file mode 100644
index 00000000..22ca85e6
--- /dev/null
+++ b/welcome.md
@@ -0,0 +1,49 @@
+---
+description: Trunk is a DevEx platform to check, test, merge, and monitor your code.
+---
+
+# Welcome
+
+### Your AI DevOps Agent
+
+Trunk is a DevOps/DevEx (Developer Operations/Developer Experience) platform that uses autonomous AI agents to help you detect and root cause problems before they block your team.
+
+By collecting insights from your CI jobs and test results, Trunk can automatically detect problems in your CI, detect the root cause, alert developers, and help you take action through the Trunk MCP server.
+
+{% hint style="success" %}
+Sign up for [the waitlist](https://trunk.io/agent), and we'll reach out when we're ready to onboard you.
+{% endhint %}
+
+<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Connect to Trunk</strong></td><td><a href="setup-and-configuration/connecting-to-trunk.md">connecting-to-trunk.md</a></td></tr><tr><td><strong>Configure Flaky Tests</strong></td><td><a href="flaky-tests/get-started/">get-started</a></td></tr><tr><td><strong>Install the CLI</strong></td><td><a href="references/cli/install.md">install.md</a></td></tr></tbody></table>
+
+### Features
+
+#### Flaky & broken test detection
+
+An autonomous agent continuously detects and quarantines flaky or broken tests before they block developers.
+
+[Learn more about Detection](https://docs.trunk.io/flaky-tests/detection)
+
+#### Root-cause analysis
+
+Finds and explains the root cause of failed tests or CI jobs using AI, in GitHub, Slack, and even Cursor via the Trunk MCP Server.
+
+[Sign up for the waitlist](https://trunk.io/insights)
+
+#### Automated developer notifications
+
+Slack DMs, GitHub comments, and GitHub PR annotations with root cause analysis, classification, impact, and suggestions of CI and test failures.
+
+[Learn more about Automated Notifications](flaky-tests/webhooks/)
+
+#### CI health dashboard
+
+Unified dashboard showing current and historical CI and test suite health with status classification.
+
+[Learn more about CI health dashboard](flaky-tests/dashboard.md)
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><strong>Flaky Tests</strong></td><td>Detect, quarantine, and eliminates flaky tests from your codebase</td><td></td><td><a href="flaky-tests/overview.md">overview.md</a></td><td><a href=".gitbook/assets/FlakyTests.png">FlakyTests.png</a></td></tr><tr><td><strong>CI Autopilot (beta)</strong></td><td>AI root cause analysis and fixes for test and CI failures</td><td></td><td><a href="broken-reference">Broken link</a></td><td><a href=".gitbook/assets/CIAnalytics.png">CIAnalytics.png</a></td></tr><tr><td><strong>Merge Queue</strong></td><td>A merge queue to make merging code in GitHub safer and easier</td><td></td><td><a href="merge-queue/merge-queue.md">merge-queue.md</a></td><td><a href=".gitbook/assets/Merge.png">Merge.png</a></td></tr><tr><td><strong>Code Quality</strong></td><td>An extensible superlinter with a builtin language server and pre-existing issue detection</td><td></td><td><a href="code-quality/code-quality.md">code-quality.md</a></td><td><a href=".gitbook/assets/CodeQuality.png">CodeQuality.png</a></td></tr></tbody></table>
+
+### Join Our Community
+
+<table data-view="cards" data-full-width="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Slack</strong></td><td>Join the Trunk Community Slack to get help, give feedback, and talk dev-experience best practices</td><td></td><td></td><td><a href="https://slack.trunk.io">https://slack.trunk.io</a></td></tr><tr><td><strong>GitHub</strong></td><td>Browse or contribute to Trunk's open source integrations</td><td></td><td></td><td><a href="https://github.com/orgs/trunk-io">https://github.com/orgs/trunk-io</a></td></tr><tr><td><strong>Feature Requests</strong></td><td>Request features you'd like to see Trunk tackle next</td><td></td><td></td><td><a href="https://github.com/orgs/trunk-io/discussions">https://github.com/orgs/trunk-io/discussions</a></td></tr></tbody></table>
