From 836a0838508c0ceb3af336e8a1f50fefc46e15e7 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Wed, 29 Apr 2026 18:00:15 -0700 Subject: [PATCH 01/13] docs: replace instances of 'Starter Pack' --- ...starter-pack.yml => test-sphinx-stack.yml} | 8 +- CONTRIBUTING.md | 308 ----- LICENSE | 1053 ++++++----------- README.md | 10 +- docs/.sphinx/update_sp.py | 23 +- docs/conf.py | 50 +- docs/contribute/test-ulwazi-theme.md | 2 +- ...arter-pack.png => python-sphinx-stack.png} | Bin docs/explanation/build.rst | 16 +- docs/explanation/components.rst | 37 +- docs/explanation/index.rst | 6 +- docs/explanation/sitemaps.rst | 112 +- docs/how-to/build-and-preview.rst | 160 ++- docs/how-to/configure-your-project.rst | 166 ++- docs/how-to/contributing-myst.md | 228 ---- docs/how-to/contributing.rst | 330 ------ docs/how-to/index.rst | 24 +- .../add-documentation-testing.rst | 133 +-- .../bridge-project-and-docs-builds.rst | 25 +- .../custom-html-templates.md | 60 +- .../optional-customisation/customise-pdf.rst | 290 +++-- .../enable-google-analytics.rst | 16 +- .../interactive-tables.rst | 31 +- .../mermaid-diagrams.md | 51 +- .../python-docstrings.md | 43 +- .../optional-customisation/redirect-pages.md | 38 +- docs/how-to/publish-on-rtd.rst | 75 +- docs/how-to/run-documentation-checks.rst | 115 +- docs/how-to/troubleshooting.rst | 5 +- docs/how-to/update-sphinx-stack/index.rst | 55 + .../legacy-sphinx-stack.rst | 257 ++++ .../update-sphinx-stack/new-sphinx-stack.rst | 181 +++ docs/how-to/update-starter-packs/index.rst | 47 - .../legacy-starter-pack.rst | 216 ---- .../update-starter-packs/new-starter-pack.rst | 164 --- docs/index.rst | 15 +- docs/redirects.txt | 6 +- docs/reference/default-extensions.rst | 6 +- docs/reference/github-workflows.rst | 29 +- docs/reference/index.rst | 5 +- docs/reference/myst-syntax.md | 172 ++- docs/reference/rst-syntax.rst | 554 +++++---- docs/release-notes/1.5.rst | 11 +- docs/release-notes/1.6.rst | 6 +- docs/release-notes/index.rst | 6 +- docs/reuse/components.yaml | 2 +- docs/reuse/links.txt | 8 +- docs/reuse/mermaid.txt | 8 +- docs/set-up-a-new-project.rst | 159 +-- 49 files changed, 2337 insertions(+), 2985 deletions(-) rename .github/workflows/{test-starter-pack.yml => test-sphinx-stack.yml} (85%) delete mode 100644 CONTRIBUTING.md rename docs/explanation/assets/{python-starter-pack.png => python-sphinx-stack.png} (100%) delete mode 100644 docs/how-to/contributing-myst.md delete mode 100644 docs/how-to/contributing.rst create mode 100644 docs/how-to/update-sphinx-stack/index.rst create mode 100644 docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst create mode 100644 docs/how-to/update-sphinx-stack/new-sphinx-stack.rst delete mode 100644 docs/how-to/update-starter-packs/index.rst delete mode 100644 docs/how-to/update-starter-packs/legacy-starter-pack.rst delete mode 100644 docs/how-to/update-starter-packs/new-starter-pack.rst diff --git a/.github/workflows/test-starter-pack.yml b/.github/workflows/test-sphinx-stack.yml similarity index 85% rename from .github/workflows/test-starter-pack.yml rename to .github/workflows/test-sphinx-stack.yml index e50e4d8..bfbf503 100644 --- a/.github/workflows/test-starter-pack.yml +++ b/.github/workflows/test-sphinx-stack.yml @@ -1,7 +1,7 @@ -# This workflow tests the starter pack. -# Don't run this workflow on any repos that use the starter pack. +# This workflow tests the Sphinx Stack. +# Don't run this workflow on any repos that use the Sphinx Stack. -name: Test starter pack +name: Test Sphinx Stack on: push: @@ -10,7 +10,7 @@ on: jobs: test-docs: - name: Test on docs folder + name: Test on docs directory runs-on: ubuntu-latest steps: - name: Check out repo diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index a17d8e2..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,308 +0,0 @@ -# Contributing to the Starter Pack - -The Starter Pack provides a shared foundation for Sphinx documentation projects, and contributions help improve the documentation of all its users. The Documentation Practice team performs most of the work, but all contributors are welcome. - -Common contributions include: - -- Bug fixes: Build errors, broken links, configuration issues -- Documentation: How-to guides on Starter Pack features and usage, syntax references, troubleshooting information -- Improvements: Better defaults, new extensions, workflow enhancements, new or improved style rules -- Dependency updates: Security patches, compatibility fixes, better tooling - -If you run into any problems or see room for improvement, we encourage you to open an issue or even contribute a fix. - -## Review the project expectations - -Review these three documents before contributing: - -### Ubuntu Code of Conduct - -When contributing, you must abide by the [Ubuntu Code of Conduct](https://ubuntu.com/community/ethos/code-of-conduct). Projects governed by Canonical expect good conduct and excellence from every member. - -### Canonical Contributor License Agreement - -Code contributions can only be accepted from contributors who have signed our [Contributor License Agreement (CLA)](https://ubuntu.com/legal/contributors). Signing the agreement grants Canonical permission to use your contributions, and you remain the copyright owner of your work (no copyright assignment occurs). - -Review the terms of the agreement before signing it or committing anything. If you agree and choose to sign it, your work can be incorporated into the repository. - -### Open source license - -The Starter Pack is licensed under [GPL-3.0](LICENSE). Documentation for this project is licensed under CC-BY-SA 3.0. - -## Report an issue or open a request - -If you find a bug or feature gap in the Starter Pack, look for it in the [project's GitHub issues](https://github.com/canonical/sphinx-docs-starter-pack/issues) first. Add your voice to the thread if you have fresh input. - -If the bug or feature doesn't have an issue, [open one](https://github.com/canonical/sphinx-docs-starter-pack/issues/new/choose). - -## What belongs in the Starter Pack - -The Starter Pack is designed to be a minimal, flexible foundation for diverse documentation projects. - -**Belongs in the Starter Pack:** -- Bug fixes for core functionality -- Improvements to default configuration that benefit all users -- Documentation about existing features -- Dependency updates for security or compatibility - -**May not belong in the Starter Pack:** -- Optional tooling or features (these should be opt-in and implemented by projects using the Starter Pack) -- Opinionated formatting or linting rules that would cause a sizable portion of existing doc sets to fail checks suddenly -- Changes that conflict with existing workflows -- Features that are project-specific rather than general-purpose -- UI-related changes may be better suited for the ongoing alternative theme update project (ask maintainers) - -When in doubt, open an issue first to discuss whether the change aligns with the project's goals. - -## Development setup - -Create a [personal fork](https://github.com/canonical/sphinx-docs-starter-pack/fork) of the repository, then clone it and add the upstream remote: - -With [SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account): - -```bash -git clone git@github.com:/sphinx-docs-starter-pack -cd sphinx-docs-starter-pack -git remote add upstream git@github.com:canonical/sphinx-docs-starter-pack -git fetch upstream -``` - -With [HTTPS](https://docs.github.com/en/get-started/git-basics/about-remote-repositories#cloning-with-https-urls): - -```bash -git clone https://github.com//sphinx-docs-starter-pack -cd sphinx-docs-starter-pack -git remote add upstream https://github.com/canonical/sphinx-docs-starter-pack -git fetch upstream -``` - -Install dependencies and verify the build: - -```bash -cd docs -make install -make html -``` - -## Contribute a change - -### Research the topic - -All significant work should be tied to an existing issue. Before starting, comment on the issue to have it assigned to you. - -#### Minor changes - -Check [GitHub issues](https://github.com/canonical/sphinx-docs-starter-pack/issues) for existing reports. If none exist, [open one](https://github.com/canonical/sphinx-docs-starter-pack/issues/new/choose) and state your interest in working on it. - -#### Major changes - -Describe your proposal in the issue thread, including the plan, tests, and documentation. For new documentation pages, propose a [Diátaxis](https://diataxis.fr) category. - -### Create a development branch - -Sync and create a new branch: - -```bash -git fetch upstream -git checkout -b -``` - -Name your branch `-` (e.g., `issue-235-add-string-sanitizer`), keeping it under 80 characters. - -### Make your changes - -Follow these guidelines: - -- Use separate commits for each logical change, and for changes to different components -- Keep the Starter Pack minimal by default; optional features are best implemented - by the projects using the Starter Pack rather than the Starter Pack itself - -### Commit a change - -```bash -git add -A -git commit -``` - -Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format: - -``` -feat: add text sanitizer -``` - -To determine the commit type, check the file history with `git log --oneline `. - -> **Tip** -> -> If you're unsure which type to use, the commit may be doing too much, so split it into smaller commits instead. Select the highest-ranked type that fits: -> -> - `ci` -> - `build` -> - `feat` -> - `fix` -> - `perf` -> - `refactor` -> - `style` -> - `test` -> - `docs` -> - `chore` - -### Sign your commits - -All commits require cryptographic signatures ([DCO 1.1](https://developercertificate.org/)). You can sign commits by adding `-S` to the `git commit` command from the previous section, for example: - -```bash -git commit -S -m "docs: updated configuration guide" -``` - -Signed commits display a "Verified" badge in GitHub. Set up signing via [GitHub Docs - About commit signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). - -> **Tip** -> -> You can configure your Git client to sign commits by default for any local repository by running `git config --global commit.gpgsign true`. Once you have done this, you no longer need to add `-S` to your commits explicitly. -> -> See [GitHub Docs - Signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) for more information. - -If you've made an unsigned commit and encounter the "Commits must have verified signatures" error when pushing your changes to the remote: - -1. Amend the most recent commit by signing it without changing the commit message, and push again: - - ```bash - git commit --amend --no-edit -n -S - git push - ``` - -2. If you still encounter the same error, confirm that your GitHub account has been set up properly to sign commits as described in the [GitHub Docs - About commit signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). - - > **Tip** - > - > If you use SSH keys to sign your commits, make sure to add a "Signing Key" type in your GitHub account. See [GitHub Docs - Adding a new SSH key to your account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account) for more information. - -### Test the change - -Build and run the checks locally before submitting: - -```bash -cd docs -make html -``` - -```bash -make spelling # Check spelling -make linkcheck # Validate links -make woke # Check inclusive language -make lint-md # Check Markdown style -make vale # Check style guide compliance (optional) -``` - -To preview locally with live reload at `http://127.0.0.1:8000`, run: - -```bash -make run -``` - -### Document the change - -This documentation uses [Diátaxis](https://diataxis.fr). For small changes, update existing how-to guides and references. For major changes or new flows, create new pages in the appropriate category. - -Run the same basic checks locally that GitHub runs on PRs; see [Test the change](#test-the-change). - -#### Changelog guidance - -Doc-only changes generally do not require changelog entries. However, reviewers may request one for notable additions such as significant new how-to guides or reference documentation. - -For non-documentation changes, ensure that feature changes and fixes are documented in the relevant release notes. - -### Push the branch and open a PR - -```bash -git push -u origin -``` - -Next, open a PR on GitHub. Format its title as a conventional commit (GitHub may do this automatically for single-commit branches). - -### Describing PRs - -Your PR should include the following details: - -- Title: Short, descriptive summary -- Description: Problem solved, features added, or bugs fixed -- Relevant issues: [Link related issues and PRs](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls) -- Testing: How reviewers can verify the change or test the fix -- Reversibility: For costly-to-reverse decisions, explain reasoning and reversal steps - -Make sure to peek at the preview for documentation changes (find the `Read the Docs build` check and click `...` - `View details`). If your PR adds or changes specific documentation pages, include links to the preview pages in the PR description. - -## CI/CD pipeline - -The repository configures multiple automated checks. Some are conditional based on target branch or changed files. - -If a check fails, review the logs for remediation guidance. For failures unrelated to your changes, rebase against the latest base branch. - -### Checks on all PRs - -These run on every PR and on pushes to `main`: - -- Documentation build: Builds the documentation and checks for errors -- Spelling check: Verifies spelling using Vale -- Link check: Validates all links in the documentation -- Inclusive language check: Runs woke to check for non-inclusive language -- Python dependency build: Verifies dependencies can be built from source - -### Checks on PRs to `main` only - -- CLA check: Verifies you have signed the Canonical Contributor License Agreement -- Removed URLs check: Detects if any URLs were removed without redirects - -#### CLA check in CI - -When you open a pull request (PR) against the `main` branch, a mandatory automated check verifies that you have signed the CLA. It uses the [canonical/has-signed-canonical-cla](https://github.com/canonical/has-signed-canonical-cla) GitHub Action. - -If you haven't signed the CLA: -1. The check will fail with a message indicating the CLA requirement -2. Visit to review and sign the agreement -3. Once signed, re-run the check if you have permissions, or ask a maintainer to do so. Pushing a new commit also triggers re-evaluation. - -The CLA check only runs on PRs to `main`. Internal team members working on other branches should ensure they have signed the CLA before their changes are merged to `main`. - -### Checks on changes to `docs/` only - -- Markdown style check: Runs `pymarkdownlnt` on Markdown files -- Automatic documentation checks: Runs upstream documentation workflow checks. - The project uses [canonical/documentation-workflows](https://github.com/canonical/documentation-workflows) for automatic documentation checks. To modify this part of CI behavior, pass inputs to upstream workflows rather than creating or customizing local copies. - -### Optional checks (allowed to fail) - -- Style guide check (`vale`): Checks compliance with the Canonical style guide -- Accessibility check (`pa11y`): Checks accessibility of generated HTML - -## Review process - -PRs are typically reviewed within a week. - -### Responding to feedback - -Push additional commits to address feedback (commit locally rather than via GitHub UI to avoid sync conflicts). - -Rebase your branch before requesting a review to keep your commits clean. Once review has started, avoid rebasing to maintain the review history and make it easier for reviewers to see what changed. - -### Common feedback themes - -Reviewers may request: - -- Wording, terminology, or formatting changes -- Consistency with existing documentation patterns -- Proper reST or MyST markup style -- Minimal examples before listing options -- Terminology: Align naming with existing documentation and code -- Cross-references: Use proper reST or MyST syntax -- Examples: Start minimal, then show options; include verification steps -- Theme compatibility: Test in both light and dark modes - -## Release process - - - -## Branch management policy - - diff --git a/LICENSE b/LICENSE index 31081ad..604209a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,694 +1,359 @@ -License for Canonical Starter Pack -================================== - -Unless otherwise stated, all code in this repository is licensed under -the following GPL license. -Documentation for this project is licensed under CC-BY-SA 3.0. - -Starter Pack code ------------------ - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - -Starter Pack documentation --------------------------- - -Copyright 2024 Canonical Ltd. - -This work is licensed under the Creative Commons Attribution-Share Alike 3.0 -Unported License. To view a copy of this license, visit -http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative -Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. \ No newline at end of file +Creative Commons Legal Code + +Attribution-ShareAlike 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + c. "Creative Commons Compatible License" means a license that is listed + at https://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + d. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + e. "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + f. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + g. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + h. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + i. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + j. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + k. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + b. You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License with + the same License Elements as this License; (iii) a Creative Commons + jurisdiction license (either this or a later license version) that + contains the same License Elements as this License (e.g., + Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible + License. If you license the Adaptation under one of the licenses + mentioned in (iv), you must comply with the terms of that license. If + you license the Adaptation under the terms of any of the licenses + mentioned in (i), (ii) or (iii) (the "Applicable License"), you must + comply with the terms of the Applicable License generally and the + following provisions: (I) You must include a copy of, or the URI for, + the Applicable License with every copy of each Adaptation You + Distribute or Publicly Perform; (II) You may not offer or impose any + terms on the Adaptation that restrict the terms of the Applicable + License or the ability of the recipient of the Adaptation to exercise + the rights granted to that recipient under the terms of the Applicable + License; (III) You must keep intact all notices that refer to the + Applicable License and to the disclaimer of warranties with every copy + of the Work as included in the Adaptation You Distribute or Publicly + Perform; (IV) when You Distribute or Publicly Perform the Adaptation, + You may not impose any effective technological measures on the + Adaptation that restrict the ability of a recipient of the Adaptation + from You to exercise the rights granted to that recipient under the + terms of the Applicable License. This Section 4(b) applies to the + Adaptation as incorporated in a Collection, but this does not require + the Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + c. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Ssection 3(b), in the case of an + Adaptation, a credit identifying the use of the Work in the Adaptation + (e.g., "French translation of the Work by Original Author," or + "Screenplay based on original Work by Original Author"). The credit + required by this Section 4(c) may be implemented in any reasonable + manner; provided, however, that in the case of a Adaptation or + Collection, at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then as + part of these credits and in a manner at least as prominent as the + credits for the other contributing authors. For the avoidance of + doubt, You may only use the credit required by this Section for the + purpose of attribution in the manner set out above and, by exercising + Your rights under this License, You may not implicitly or explicitly + assert or imply any connection with, sponsorship or endorsement by the + Original Author, Licensor and/or Attribution Parties, as appropriate, + of You or Your use of the Work, without the separate, express prior + written permission of the Original Author, Licensor and/or Attribution + Parties. + d. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of the License. + + Creative Commons may be contacted at https://creativecommons.org/. diff --git a/README.md b/README.md index 526c7d5..825f56a 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ -# Canonical's Sphinx Starter Pack +# Sphinx Stack *A pre-configured repository to build and publish documentation with Sphinx.* ## Description -The Documentation Starter Pack includes: +The Sphinx Stack includes: * A bundled [Sphinx] theme, configuration, and extensions * Support for both reStructuredText (reST) and MyST Markdown * Build checks for links, spelling, and inclusive language * Customisation support layered over a core configuration -See the full documentation: https://canonical-starter-pack.readthedocs-hosted.com/ +See the full documentation: https://canonical-sphinx-stack.readthedocs-hosted.com/ ## Structure @@ -19,7 +19,7 @@ This section outlines the structure of this repository, and some key files. ### `docs/` -This directory contains the documentation for the Starter Pack itself. +This directory contains the documentation for the Sphinx Stack itself. To view it in your browser, navigate to this directory and type `make run`. @@ -27,7 +27,7 @@ To view it in your browser, navigate to this directory and type `make run`. This directory contains files used for documentation build checks via GitHub's CI. -The file `test-starter-pack.yml` tests the functionality of the Starter Pack project. +The file `test-sphinx-stack.yml` tests the functionality of the Sphinx Stack project. ## Contributing diff --git a/docs/.sphinx/update_sp.py b/docs/.sphinx/update_sp.py index a9259d0..1be1e0a 100755 --- a/docs/.sphinx/update_sp.py +++ b/docs/.sphinx/update_sp.py @@ -1,28 +1,29 @@ #! /usr/bin/env python -# Initial update script for the starter pack. +# Initial update script for the Sphinx Stack. # # Requires some manual intervention, but makes identifying updates and differences easier. # # For debugging, please run this script with DEBUGGING=1 -# e.g. user@device:~/git/Canonical/sphinx-docs-starter-pack/docs$ DEBUGGING=1 python .sphinx/update_sp.py +# e.g. user@device:~/git/Canonical/sphinx-stack/docs$ DEBUGGING=1 python .sphinx/update_sp.py import glob import logging import os -import requests import re import subprocess import sys -from requests.exceptions import RequestException + +import requests from packaging.version import parse as parse_version +from requests.exceptions import RequestException SPHINX_DIR = os.path.abspath(os.path.dirname(__file__)) -DOCS_DIR = os.path.abspath(os.path.join(SPHINX_DIR, '..')) +DOCS_DIR = os.path.abspath(os.path.join(SPHINX_DIR, "..")) REQUIREMENTS = os.path.join(DOCS_DIR, "requirements.txt") SPHINX_UPDATE_DIR = os.path.join(SPHINX_DIR, "update") -GITHUB_REPO = "canonical/sphinx-docs-starter-pack" +GITHUB_REPO = "canonical/sphinx-stack" GITHUB_API_BASE = f"https://api.github.com/repos/{GITHUB_REPO}" GITHUB_API_SPHINX_DIR = f"{GITHUB_API_BASE}/contents/docs/.sphinx" GITHUB_RAW_BASE = f"https://raw.githubusercontent.com/{GITHUB_REPO}/main" @@ -43,7 +44,7 @@ def main(): except FileNotFoundError: print("WARNING\nWARNING\nWARNING") print( - "You need to update to at least version 1.0.0 of the starter pack to start using the update function." + "You need to update to at least version 1.0.0 of the Sphinx Stack to start using the update function." ) print("You may experience issues using this functionality.") logging.debug("No local version found. Setting version to None") @@ -61,7 +62,7 @@ def main(): logging.debug("Comparing versions") if parse_version(local_version) < parse_version(latest_release): logging.debug("Local version is older than the release version.") - print("Starter pack is out of date.\n") + print("Sphinx Stack is out of date.\n") # Identify and download '.sphinx' dir files to '.sphinx/update' files_updated, new_files = update_static_files() @@ -130,7 +131,7 @@ def main(): except FileNotFoundError: print("requirements.txt not found") print( - "The updated starter pack has moved requirements.txt out of the '.sphinx' dir" + "The updated Sphinx Stack has moved requirements.txt out of the '.sphinx' dir" ) print("requirements.txt not checked, please update your requirements manually") @@ -142,7 +143,7 @@ def update_static_files(): for item in query_api(GITHUB_API_SPHINX_DIR).json(): logging.debug(f"Checking {item['name']}") - # Checks existing files in '.sphinx' starter pack static root for changed SHA + # Checks existing files in '.sphinx' Sphinx Stack static root for changed SHA if item["name"] in files and item["type"] == "file": index = files.index(item["name"]) if item["sha"] != get_git_revision_hash(paths[index]): @@ -189,7 +190,7 @@ def update_static_files(): SPHINX_UPDATE_DIR, item["name"], nested_item["name"] ), ) - # Downloads NEW files in '.sphinx' starter pack static root + # Downloads NEW files in '.sphinx' Sphinx Stack static root else: if item["type"] == "file": logging.debug(f"No local version found of {item['name']}") diff --git a/docs/conf.py b/docs/conf.py index 22dc620..b87f011 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,6 @@ import datetime import os + import yaml # Configuration for the Sphinx documentation builder. @@ -11,7 +12,7 @@ # A complete list of built-in Sphinx configuration values: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -# Our Starter Pack uses the custom Canonical Sphinx extension +# The Sphinx Stack uses the custom Canonical Sphinx extension # to keep all documentation based on it consistent and on brand: # https://github.com/canonical/canonical-sphinx @@ -24,12 +25,12 @@ # # TODO: Update with the official name of your project or product -project = "Documentation Starter Pack" +project = "Sphinx Stack" author = "Canonical Ltd." # The year in the copyright statement defaults to the current year, so # individual document versions show when they were built. -# TODO: If the date must be a range, like in a software license, replace +# TODO: If the date must be a range, like in a software license, replace # 2026 with the starting year of development and use: # # copyright = f"2026-{datetime.date.today().year}" @@ -52,7 +53,7 @@ # NOTE: The Open Graph Protocol (OGP) enhances page display in a social graph # and is used by social media platforms; see https://ogp.me/ -ogp_site_url = "https://canonical-starter-pack.readthedocs-hosted.com/" +ogp_site_url = "https://canonical-sphinx-stack.readthedocs-hosted.com/" # Preview name of the documentation website @@ -114,15 +115,13 @@ # # NOTE: If set, links for viewing the documentation source files # and creating GitHub issues are added at the bottom of each page. - "github_url": "https://github.com/canonical/sphinx-docs-starter-pack", + "github_url": "https://github.com/canonical/sphinx-stack", # Docs branch in the repo; used in links for viewing the source files # # TODO: To customise the branch, uncomment and update as needed. - 'repo_default_branch': 'main', + "repo_default_branch": "main", # Docs location in the repo; used in links for viewing the source files # - - # TODO: To customise the directory, uncomment and update as needed. "repo_folder": "/docs/", # TODO: To enable or disable the Previous / Next buttons at the bottom of pages @@ -130,14 +129,11 @@ # "sequential_nav": "both", # TODO: To enable listing contributors on individual pages, set to True "display_contributors": False, - - # Required for feedback button - 'github_issues': 'enabled', - + # Required for feedback button + "github_issues": "enabled", # Inherit the author value "author": author, - - # The Starter Pack uses CC-BY-SA as the license + # The Sphinx Stack documentation is licensed under CC-BY-SA 3.0. # # TODO: If your docs need another license, specify it instead of 'CC-BY-SA'. # For the name, we recommend using the standard shorthand identifier from @@ -148,10 +144,9 @@ # # TODO: If your documentation is a part of the code repository of your project, # it inherits the code license instead; specify it instead of 'CC-BY-SA'. - "license": { "name": "CC-BY-SA-3.0", - "url": "https://github.com/canonical/sphinx-docs-starter-pack/blob/main/LICENSE", + "url": "https://github.com/canonical/sphinx-stack/blob/main/LICENSE", }, } @@ -170,7 +165,7 @@ # - https://git.launchpad.net/example # # html_theme_options = { -# 'source_edit_link': 'https://github.com/canonical/sphinx-docs-starter-pack', +# 'source_edit_link': 'https://github.com/canonical/sphinx-stack-docs', # } # Project slug; see https://meta.discourse.org/t/what-is-category-slug/87897 @@ -190,7 +185,7 @@ # sphinx-sitemap uses html_baseurl to generate the full URL for each page: -sitemap_url_scheme = '{link}' +sitemap_url_scheme = "{link}" # Include `lastmod` dates in the sitemap: @@ -199,9 +194,9 @@ # Exclude generated pages from the sitemap: sitemap_excludes = [ - '404/', - 'genindex/', - 'search/', + "404/", + "genindex/", + "search/", ] # TODO: Add more pages to sitemap_excludes if needed. Wildcards are supported. @@ -246,7 +241,7 @@ "https://example.com", # SourceForge domains often block linkcheck r"https://.*\.sourceforge\.(net|io)/.*", - ] +] # A regex list of URLs where anchors are ignored by 'make linkcheck' @@ -273,7 +268,7 @@ # Custom Sphinx extensions; see # https://www.sphinx-doc.org/en/master/usage/extensions/index.html -# NOTE: The canonical_sphinx extension is required for the Starter Pack. +# NOTE: The canonical_sphinx extension is required for the Sphinx Stack. extensions = [ "canonical_sphinx", @@ -368,12 +363,15 @@ # Workaround for substitutions.yaml -if os.path.exists('./reuse/substitutions.yaml'): - with open('./reuse/substitutions.yaml', 'r') as fd: +if os.path.exists("./reuse/substitutions.yaml"): + with open("./reuse/substitutions.yaml", "r") as fd: myst_substitutions = yaml.safe_load(fd.read()) # Add configuration for intersphinx mapping # Map only the Sphinx documentation sets that you need to link to from your docs set. intersphinx_mapping = { - 'sphinxcontrib-mermaid': ('https://sphinxcontrib-mermaid-demo.readthedocs.io/en/latest', None) + "sphinxcontrib-mermaid": ( + "https://sphinxcontrib-mermaid-demo.readthedocs.io/en/latest", + None, + ) } diff --git a/docs/contribute/test-ulwazi-theme.md b/docs/contribute/test-ulwazi-theme.md index 3d2e744..e2e93ff 100644 --- a/docs/contribute/test-ulwazi-theme.md +++ b/docs/contribute/test-ulwazi-theme.md @@ -1,7 +1,7 @@ --- myst: html_meta: - description: How to test the Ulwazi theme in a documentation project based on Canonical's Sphinx Starter Pack. + description: How to test the Ulwazi theme in a documentation project based on the Sphinx Stack. relatedlinks: "[Ulwazi on PyPI](https://pypi.org/project/ulwazi), [Vanilla](https://vanillaframework.org), [sphinx-basic-ng](https://github.com/pradyunsg/sphinx-basic-ng)" --- diff --git a/docs/explanation/assets/python-starter-pack.png b/docs/explanation/assets/python-sphinx-stack.png similarity index 100% rename from docs/explanation/assets/python-starter-pack.png rename to docs/explanation/assets/python-sphinx-stack.png diff --git a/docs/explanation/build.rst b/docs/explanation/build.rst index 1fb8ce7..0652f31 100644 --- a/docs/explanation/build.rst +++ b/docs/explanation/build.rst @@ -1,5 +1,5 @@ .. meta:: - :description: Learn about the function, structure, and design of the build process in Canonical's Starter Pack. + :description: Learn about the function, structure, and design of the build process in the Sphinx Stack. :relatedlinks: [GNU Make](https://www.gnu.org/software/make/) @@ -9,7 +9,7 @@ Build ====== -Canonical's Starter Pack uses Make as its build system. Make was chosen because it's +The Sphinx Stack uses Make as its build system. Make was chosen because it's well-tested and available on all platforms. The majority of the build configuration is defined in ``docs/Makefile``. @@ -22,7 +22,7 @@ different locations without changing the docs ``Makefile``. Being primarily a Python project, all dependencies are stored in a virtual environment, ``docs/.venv`` by default. The environment is ephemeral and subject to frequent change. -Installing the Starter Pack initializes it, while cleaning and updating tears it +Installing the Sphinx Stack initializes it, while cleaning and updating tears it down and rebuilds it. @@ -31,7 +31,7 @@ down and rebuilds it. Parent projects and the build ----------------------------- -The Starter Pack is arranged as a standalone project. When it's used in a larger +The Sphinx Stack is arranged as a standalone project. When it's used in a larger project, the docs are a subsystem among other components. If the parent project uses a build system, Make or otherwise, the doc build exists in @@ -60,17 +60,17 @@ difficulty: or manually calling the docs Makefile with ``make -C docs ``. - Storing multiple virtual environments bloats the host system. It's reasonable for project maintainers to prefer a shared build environment. -- The Starter Pack's update process can make changes to many files in the ``docs`` +- The update process in the Sphinx Stack can make changes to many files in the ``docs`` directory. Updating is potentially much simpler if the parent project modifies only a minimum of files in the directory. - With quality assurance and continuous integration, it's simpler if the project can use the same interface to run local and remote checks. More specifically, the parent build - system and CI need a way to call the Starter Pack's ``links``, ``spelling``, and - ``vale`` checks. + system and CI need a way to call the ``links``, ``spelling``, and ``vale`` checks in + the Sphinx Stack. One possible resolution is for the parent build to manually recreate the docs build, tightly coupling the parent build to the existing docs configuration. But this poses -another challenge, because the docs ``Makefile`` might change during a Starter Pack +another challenge, because the docs ``Makefile`` might change during a Sphinx Stack update, requiring a rewrite of the parent build recipes. The solution to these complications is to create a bridge between the two builds, from diff --git a/docs/explanation/components.rst b/docs/explanation/components.rst index 79b402e..51c8cd6 100644 --- a/docs/explanation/components.rst +++ b/docs/explanation/components.rst @@ -1,12 +1,12 @@ .. meta:: - :description: A breakdown of Canonical's Sphinx Starter Pack that covers its constituent elements and their purpose. + :description: A breakdown of the constituent elements of the Sphinx Stack. .. _explanation-structure: -Starter Pack structure -======================= +Sphinx Stack structure +====================== -The Starter Pack is a template `Sphinx `__ +The Sphinx Stack is a template `Sphinx `__ project. It provides a default file structure, a theme, and dependencies for Canonical documentation. @@ -15,10 +15,10 @@ Sphinx ------ Sphinx is a documentation static site generator that converts reStructuredText or -Markdown files into HTML. It's the core software in the Starter Pack. +Markdown files into HTML. It's the core software in the Sphinx Stack. -``docs/conf.py`` is a configuration file that defines the properties of the Sphinx -project such as project metadata and extensions. +The ``docs/conf.py`` file is a configuration file that defines the properties of the +Sphinx project such as project metadata and extensions. .. figure:: assets/sphinx.png :class: with-border @@ -29,17 +29,18 @@ project such as project metadata and extensions. Python ------ -Because Sphinx is a Python application, the Starter Pack depends on Python and a Python +Because Sphinx is a Python application, the Sphinx Stack depends on Python and a Python package manager. Most of its dependencies are Python packages. Local builds of the -Starter Pack require a Python virtual environment to isolate the project from the host +Sphinx Stack require a Python virtual environment to isolate the project from the host system. -To be able to work on a Starter Pack project, your host needs Python 3.11, pip, and venv. +To be able to work on a Sphinx Stack project, your host needs Python 3.11, pip, and +venv. -.. figure:: assets/python-starter-pack.png +.. figure:: assets/python-sphinx-stack.png :class: with-border - Python's role in the Starter Pack + Python's role in the Sphinx Stack Sphinx extensions @@ -48,7 +49,7 @@ Sphinx extensions The syntax and behavior of Sphinx can be modified with extensions. These can be used to create diagrams, test code, and more. -The Starter Pack includes a curated and tested set of extensions. +The Sphinx Stack includes a curated and tested set of extensions. .. figure:: assets/extensions.png :class: with-border @@ -60,8 +61,8 @@ Built-in extensions ~~~~~~~~~~~~~~~~~~~ Built-in extensions do not need to be installed separately from Sphinx and can be -enabled through the configuration file. The ``conf.py`` file has already been -configured to enabled typical extensions necessary for documentation work. +enabled through the configuration file. The ``conf.py`` file has already been configured +to enabled typical extensions necessary for documentation work. Third-party extensions @@ -70,7 +71,7 @@ Third-party extensions If an extension is not built into Sphinx, you must include it in the ``requirements.txt`` file before enabling it in the Sphinx configuration file. -Extensions are Python packages, and the Starter Pack manages them with a +Extensions are Python packages, and the Sphinx Stack manages them with a `requirements.txt `__ file. @@ -99,7 +100,7 @@ The Canonical theme is packaged as a standalone `canonical-sphinx Command-line tools ------------------ -The Starter Pack uses Make as its local build system. The Starter Pack's Makefile +The Sphinx Stack uses Make as its local build system. The Makefile in the Sphinx Stack provides a command-line interface for setting up the virtual environment, installing dependencies, building the documentation, and more. @@ -125,7 +126,7 @@ Read The Docs is a documentation building and hosting platform. It takes the documentation created using Sphinx (or other tools) and builds and publishes it online. If you are publishing your documentation through Read the Docs, the Read the Docs build -logic is declared in ``.readthedocs.yaml``. The Starter Pack comes with a pre-configured +logic is declared in ``.readthedocs.yaml``. The Sphinx Stack comes with a pre-configured ``.readthedocs.yaml`` with default values that should work for the majority of projects. See :ref:`publish-on-rtd` to learn how configure your Read the Docs instance. diff --git a/docs/explanation/index.rst b/docs/explanation/index.rst index e4a1112..10d3db2 100644 --- a/docs/explanation/index.rst +++ b/docs/explanation/index.rst @@ -1,5 +1,5 @@ .. meta:: - :description: Explore topics about the concepts and ideas in Canonical's Starter Pack. + :description: Explore topics about the concepts and ideas in the Sphinx Stack. .. _explanation: @@ -7,9 +7,9 @@ Explanation =========== -Explore topics about the concepts and ideas in Canonical's Starter Pack. +Explore topics about the concepts and ideas in the Sphinx Stack. -The Starter Pack is built using standard Python tools, and is both deep and flexible. +The Sphinx Stack is built using standard Python tools, and is both deep and flexible. .. toctree:: :maxdepth: 1 diff --git a/docs/explanation/sitemaps.rst b/docs/explanation/sitemaps.rst index d588d2c..76768ea 100644 --- a/docs/explanation/sitemaps.rst +++ b/docs/explanation/sitemaps.rst @@ -1,79 +1,84 @@ .. meta:: - :description: An in-depth look at the sitemaps feature in the Starter Pack, including configuration, validation, and versioning. + :description: An in-depth look at the sitemaps feature in the Sphinx Stack, including configuration, validation, and versioning. .. _sitemaps: Sitemaps ========= -The latest version of the Starter Pack generates a sitemap for your documentation +The latest version of the Sphinx Stack generates a sitemap for your documentation using the `sphinx-sitemap `_ extension. -This page goes over the nuances of configuring sitemaps, as well as how the -extension must be configured in your Starter Pack project. +This page goes over the nuances of configuring sitemaps, as well as how the extension +must be configured in your Sphinx Stack project. + Read the Docs-generated sitemaps --------------------------------- -RTD generates a basic sitemap pointing to the index page, and relies on -crawlers to index the site. This is sufficient for some projects, but RTD -does not generate sitemaps for subprojects. +RTD generates a basic sitemap pointing to the index page, and relies on crawlers to +index the site. This is sufficient for some projects, but RTD does not generate sitemaps +for subprojects. + +This means any project under the Ubuntu documentation library project must generate its +own sitemap. -This means any project under the Ubuntu documentation library project must -generate its own sitemap. ``sphinx-sitemap``-generated sitemaps -------------------------------------- -The standard Starter Pack uses the ``dirhtml`` builder for Sphinx recipes in the +The standard Sphinx Stack uses the ``dirhtml`` builder for Sphinx recipes in the project's Makefile. -If your project uses an older version of the Starter Pack or -changes the builder, the links generated by the sitemap will be malformed. Either -:ref:`update to the latest version of the Starter Pack ` or -ensure your project's recipes use the ``dirhtml`` builder, not ``html``. +If your project uses an older version of the Sphinx Stack or changes the builder, the +links generated by the sitemap will be malformed. Either :ref:`update to the latest +version of the Sphinx Stack ` or ensure your project's recipes use +the ``dirhtml`` builder, not ``html``. Ensure ``sphinx-sitemap`` has been added to your ``docs/requirements.txt`` file. -Add ``sphinx_sitemap`` to ``extensions`` in your configuration file (:file:`docs/conf.py`): +Add ``sphinx_sitemap`` to ``extensions`` in your configuration file (``docs/conf.py``): .. code-block:: extensions = ['sphinx_sitemap'] + Sitemap configuration ^^^^^^^^^^^^^^^^^^^^^ -The Starter Pack's configuration file (:file:`docs/conf.py`) includes default sitemap configuration. +The build configuration file (``docs/conf.py``) in the Sphinx Stackincludes default +sitemap configuration. The ``sphinx-sitemap`` extension requires a ``html_baseurl`` variable to be configured. -This is set by default as follows: +By default, this is set as: .. code-block:: python html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "/") -When building on Read the Docs, this sets ``html_baseurl`` dynamically to the value of the -``READTHEDOCS_CANONICAL_URL`` environment variable, which resolves to the full URL of the documentation -including the version and language (if applicable). +When building on Read the Docs, this sets ``html_baseurl`` dynamically to the value of +the ``READTHEDOCS_CANONICAL_URL`` environment variable, which resolves to the full URL +of the documentation including the version and language (if applicable). In local builds and builds on other hosts, ``html_baseurl`` defaults to ``/``. -The ``sitemap_url_scheme`` variable is set to ``'{link}'`` by default. This uses the value of ``html_baseurl`` to generate -the full URL for each page for the sitemap. +The ``sitemap_url_scheme`` variable is set to ``'{link}'`` by default. This uses the +value of ``html_baseurl`` to generate the full URL for each page for the sitemap. .. note:: - If you are implementing a sitemap on an RTD instance that is not a subproject, - and it uses ``{link}`` for the ``sitemap_url_scheme``, RTD will replace your - sitemap with their own. + If you are implementing a sitemap on an RTD instance that is not a subproject, and + it uses ``{link}`` for the ``sitemap_url_scheme``, RTD will replace your sitemap + with their own. - This is a known bug. The only current workaround is to use a different - `sitemap name `_ + This is a known bug. The only current workaround is to use a different `sitemap name + `_ and a custom ``robots.txt`` pointing to it. + ``lastmod`` configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -82,10 +87,13 @@ Make sure that your configuration file has:: sitemap_show_lastmod = True + Exclude pages ------------- -Pages can be excluded from the sitemap by adding them to `sitemap_excludes` in :file:`docs/conf.py`:: +Pages can be excluded from the sitemap by adding them to `sitemap_excludes` in ``docs/conf.py``: + +.. code-block:: python sitemap_excludes = [ '404/', @@ -93,31 +101,37 @@ Pages can be excluded from the sitemap by adding them to `sitemap_excludes` in : 'search/', ] -Wildcards are supported. For example, ``_modules/*`` excludes the path ``_modules/`` and all paths such as ``_modules/foo/bar/``. For details, see `Excluding Pages `_. +Wildcards are supported. For example, ``_modules/*`` excludes the path ``_modules/`` and +all paths such as ``_modules/foo/bar/``. For details, see `Excluding Pages +`_. + Validate your sitemap --------------------- -A sitemap will be available at different locations, depending on how it is -generated. +A sitemap will be available at different locations, depending on how it is generated. -Read the Docs generated sitemaps are available at the base domain of a project, -while sitemaps generated with this extension will be placed in the base of the URL -schema used. +Read the Docs generated sitemaps are available at the base domain of a project, while +sitemaps generated with this extension will be placed in the base of the URL schema +used. -For example, two sitemaps are generated for the Sphinx sitemap's documentation -as it is hosted on RTD: +For example, two sitemaps are generated for the Sphinx sitemap's documentation as it is +hosted on RTD: -* The first is generated by RTD and is available at the root of the domain: https://sphinx-sitemap.readthedocs.io/sitemap.xml -* The second is generated by the `sphinx-sitemap` extension and is available at the base of the URL schema used by the RTD instance: https://sphinx-sitemap.readthedocs.io/en/latest/sitemap.xml +* The first is generated by RTD and is available at the root of the domain: + https://sphinx-sitemap.readthedocs.io/sitemap.xml +* The second is generated by the sphinx-sitemap extension and is available at the base + of the URL schema used by the RTD instance: + https://sphinx-sitemap.readthedocs.io/en/latest/sitemap.xml .. dropdown:: How to specify a sitemap - A `robots.txt` file dictates which sitemap is used to index a website. You - can use a custom `robots.txt` file by creating your own and adding it to - `html_static_path` in your configuration file. An example can be found in the - `Ubuntu documentation library `_ - project. + A ``robots.txt`` file dictates which sitemap is used to index a website. You can use + a custom ``robots.txt`` file by creating your own and adding it to + ``html_static_path`` in your configuration file. An example can be found in the + `Ubuntu documentation library + `_ project. + Support multiple versions ------------------------- @@ -131,7 +145,7 @@ If you want sitemaps for all your documentation's versions, you need to deploy y documentation with LTS releases, as it makes past versions more prominent to search engines. -For this task, we'll use the Starter Pack as an example. Let's assume it has three +For this task, we'll use the Sphinx Stack as an example. Let's assume it has three versions, 1.0, 2.0, and 3.0, and uses the URL schema of ``/``. First, ensure each version of your documentation has a sitemap generated by this @@ -145,16 +159,16 @@ file, and point to the sitemap files of each of your documentation sets: - https://canonical-starter-pack.readthedocs-hosted.com/stable/sitemap.xml + https://canonical-sphinx-stack.readthedocs-hosted.com/stable/sitemap.xml - https://canonical-starter-pack.readthedocs-hosted.com/3.0/sitemap.xml + https://canonical-sphinx-stack.readthedocs-hosted.com/3.0/sitemap.xml - https://canonical-starter-pack.readthedocs-hosted.com/2.0/sitemap.xml + https://canonical-sphinx-stack.readthedocs-hosted.com/2.0/sitemap.xml - https://canonical-starter-pack.readthedocs-hosted.com/1.0/sitemap.xml + https://canonical-sphinx-stack.readthedocs-hosted.com/1.0/sitemap.xml @@ -169,7 +183,7 @@ At the end of ``robots.txt``, point to the future path of ``sitemapindex.xml``: .. code-block:: :caption: robots.txt - Sitemap: https://canonical-starter-pack.readthedocs-hosted.com/stable/sitemapindex.xml + Sitemap: https://canonical-sphinx-stack.readthedocs-hosted.com/stable/sitemapindex.xml Lastly, add both new files to the configuration file: diff --git a/docs/how-to/build-and-preview.rst b/docs/how-to/build-and-preview.rst index 83d68a8..c4e8e0e 100644 --- a/docs/how-to/build-and-preview.rst +++ b/docs/how-to/build-and-preview.rst @@ -6,132 +6,184 @@ Build and preview ================= -The Starter Pack provides a :file:`Makefile` that defines :command:`make` commands to build and view the documentation. +The Sphinx Stack provides a ``Makefile`` that defines ``make`` commands to build and +view the documentation. -This guide describes how to set up your environment and use these commands to build and preview the documentation locally. +This guide describes how to set up your environment and use these commands to build and +preview the documentation locally. -For more advanced information, including how to embed your docs build with your project build, see: +For more advanced information, including how to embed your docs build with your project +build, see: - :ref:`build` - :ref:`bridge-project-and-docs-builds` + Install prerequisite software ----------------------------- -The documentation framework that the Starter Pack uses bundles most prerequisites in a Python virtual environment, so you don't need to worry about installing them. -There are only a few packages that you need to install on your host system. +The documentation framework that the Sphinx Stack uses bundles most prerequisites in a +Python virtual environment, so you don't need to worry about installing them. There are +only a few packages that you need to install on your host system. + +Before you start, make sure that you have ``make``, ``python3``, ``python3-venv``, and +``python3-pip`` on your system: + +.. code-block:: bash -Before you start, make sure that you have ``make``, ``python3``, ``python3-venv``, and ``python3-pip`` on your system:: + sudo apt update + sudo apt install make python3 python3-venv python3-pip - sudo apt update - sudo apt install make python3 python3-venv python3-pip Python environment ------------------ -The Python prerequisites from the :file:`docs/requirements.txt` file are automatically installed when you build the documentation. +The Python prerequisites from the ``docs/requirements.txt`` file are automatically +installed when you build the documentation. + +If you want to install them manually, you can run the following command in your +documentation directory: + +.. code-block:: bash -If you want to install them manually, you can run the following command from within your documentation folder:: + make install - make install +This command creates a virtual environment (``.sphinx/venv/``) and installs dependency +software within it. -This command creates a virtual environment (:file:`.sphinx/venv/`) and installs dependency software within it. +If you want to remove the installed Python packages (for example, to enforce a +re-installation), run the following command in your documentation directory: -If you want to remove the installed Python packages (for example, to enforce a re-installation), run the following command from within your documentation folder:: +.. code-block:: bash - make clean + make clean .. note:: - - By default, the Starter Pack uses the latest compatible version of all tools and does not pin its requirements. - This might change temporarily if there is an incompatibility with a new tool version. - There is therefore no need to use a tool like Renovate to automatically update the requirements. - - If you encounter the error ``locale.Error: unsupported locale setting`` when activating the Python virtual environment, include the environment variable in the command and try again: ``LC_ALL=en_US.UTF-8 make run`` + - By default, the Sphinx Stack uses the latest compatible version of all tools and + does not pin its requirements. This might change temporarily if there is an + incompatibility with a new tool version. There is therefore no need to use a tool + like Renovate to automatically update the requirements. + - If you encounter the error ``locale.Error: unsupported locale setting`` when + activating the Python virtual environment, include the environment variable in the + command and try again: ``LC_ALL=en_US.UTF-8 make run`` .. important:: - Run these commands from within your documentation folder. + + Run these commands in your documentation directory. + .. _build-docs: Build the documentation ----------------------- -To build the documentation, run the following command:: +To build the documentation, run the following command: + +.. code-block:: bash - make html + make html -This command installs the required tools and renders the output to the :file:`_build/` folder in your documentation folder. +This command installs the required tools and renders the output to the ``docs/_build/`` +directory. .. important:: - When you run :command:`make html` again, it updates the documentation for changed files only. - This speeds up the build, but it can cause you to miss warnings or errors that were displayed before. - To force a clean build, see :ref:`build-clean`. + When you run ``make html`` again, it updates the documentation for changed files + only. + + This speeds up the build, but it can cause you to miss warnings or errors that were + displayed before. To force a clean build, see ``build-clean``. + +Make sure that the documentation builds without any warnings (warnings are treated as +errors). -Make sure that the documentation builds without any warnings (warnings are treated as errors). .. _build-clean: Run a clean build ----------------- -To delete all existing output files and build all files again, run the following command:: +To delete all existing output files and build all files again, run the following command: - make clean-doc html +.. code-block:: bash -To delete both the existing output files and the Python environment and build the full documentation again, run the following command:: + make clean-doc && make html + +To delete both the existing output files and the Python environment and build the full +documentation again, run the following command: + +.. code-block:: bash + + make clean && make html - make clean html View the documentation ---------------------- -To view the documentation output, run the following command:: +To view the documentation output, run the following command: - make serve +.. code-block:: bash -This command builds the documentation and serves it on :literalref:`http://127.0.0.1:8000/`. + make serve + +This command builds the documentation and serves it at +:literalref:`http://127.0.0.1:8000/`. Live view --------- -Instead of building the documentation for each change and then serving it, you can run a live preview of the documentation:: +Instead of building the documentation for each change and then serving it, you can run a +live preview of the documentation: + +.. code-block:: bash - make run + make run -This command builds the documentation and serves it on :literalref:`http://127.0.0.1:8000/`. -When you change a documentation file and save it, the documentation will be automatically rebuilt and refreshed in the browser. +This command builds the documentation and serves it at +:literalref:`http://127.0.0.1:8000/`. When you change a documentation file and save it, +the documentation will be automatically rebuilt and refreshed in the browser. -If you need project-specific options for ``sphinx-autobuild`` such as ``--ignore`` or ``--watch``, pass them through ``SPHINX_AUTOBUILD_OPTS``:: +If you need project-specific options for ``sphinx-autobuild`` such as ``--ignore`` or +``--watch``, pass them through ``SPHINX_AUTOBUILD_OPTS``: - make run SPHINX_AUTOBUILD_OPTS="--ignore '**/*.gen.rst' --watch ../data/" +.. code-block:: bash -If you call ``make run`` from a :ref:`parent project's build `, pass the variable explicitly to the sub-Make call to ensure it reaches the docs Makefile:: + make run SPHINX_AUTOBUILD_OPTS="--ignore '**/*.gen.rst' --watch ../data/" - $(MAKE) -C docs run SPHINX_AUTOBUILD_OPTS="$(SPHINX_AUTOBUILD_OPTS)" +If you call ``make run`` from a :ref:`parent project's build +`, pass the variable explicitly to the sub-Make call to +ensure it reaches the docs Makefile: + +.. code-block:: bash + + $(MAKE) -C docs run SPHINX_AUTOBUILD_OPTS="$(SPHINX_AUTOBUILD_OPTS)" This approach allows command-line overrides to work intuitively from the parent context. .. important:: - The :command:`run` target is very convenient while working on documentation updates. - However, it is quite error-prone because it displays warnings or errors only when they occur. - If you save other files later, you might miss these messages. + The ``run`` target is very convenient while working on documentation updates. + + However, it is quite error-prone because it displays warnings or errors only when + they occur. If you save other files later, you might miss these messages. + + Therefore, you should always run ``make clean`` before finalizing your changes. - Therefore, you should always :ref:`build-clean` before finalising your changes. Build a PDF ----------- Build a PDF locally with the following command: -.. code-block:: none +.. code-block:: bash make pdf -PDF generation requires specific software packages. If these files are not found, a prompt will be presented and the generation will stop. +PDF generation requires specific software packages. If these files are not found, a +prompt will be presented and the generation will stop. Required software packages include: @@ -156,12 +208,16 @@ On Linux, required packages can be installed with: .. note:: - When generating a PDF, the index page is considered a 'foreword' and will not be labelled with a chapter. + When generating a PDF, the index page is considered a 'foreword' and will not be + labelled with a chapter. .. important:: - When generating a PDF, it is important to not use additional headings before a ``toctree``. Documents referenced by the - ``toctree`` will be nested under any provided headings. + When generating a PDF, it is important to not use additional headings before a + ``toctree``. Documents referenced by the ``toctree`` will be nested under any + provided headings. - A ``rubric`` directive can be combined with the ``h2`` class to provide a heading-styled rubric in the HTML output. See the default ``index.rst`` for an example. - Rubric-based headings aren't included as entries in the table of contents or the navigation sidebar. + A ``rubric`` directive can be combined with the ``h2`` class to provide a + heading-styled rubric in the HTML output. See the default ``index.rst`` for an + example. Rubric-based headings aren't included as entries in the table of contents + or the navigation sidebar. diff --git a/docs/how-to/configure-your-project.rst b/docs/how-to/configure-your-project.rst index b597afb..707c510 100644 --- a/docs/how-to/configure-your-project.rst +++ b/docs/how-to/configure-your-project.rst @@ -6,86 +6,104 @@ Configure your project ====================== -While the Starter Pack provides default configuration values for most settings, you'll need to set project-specific parameters like the project name to ensure the documentation reflects your project accurately. +While the Sphinx Stack provides default configuration values for most settings, you'll +need to set project-specific parameters like the project name to ensure the +documentation reflects your project accurately. .. important:: - After setting up your repository with the Starter Pack, you should track the changes made to the Starter Pack. + After setting up your repository with the Sphinx Stack, you should track the changes + made to the Sphinx Stack. - Changes to the look and feel, as well as common functionality, will be automatically available through updates to the `Canonical Sphinx`_ extension. + Changes to the look and feel, as well as common functionality, will be automatically + available through updates to the `Canonical Sphinx`_ extension. - Changes to files that are part of the Starter Pack, for example changes made during steps in :ref:`run-documentation-checks`, might require you to manually update your repository with the required files. - See the Starter Pack's `change log`_ for the most relevant (and of course all breaking) changes. + Changes to files that are part of the Sphinx Stack, for example changes made during + steps in :ref:`run-documentation-checks`, might require you to manually update your + repository with the required files. See the Sphinx Stack's `change log`_ for the + most relevant (and of course all breaking) changes. -Configuration for a Starter Pack based documentation is set in the :file:`docs/conf.py` Sphinx configuration file. +Configuration for a Sphinx Stack based documentation is set in the ``docs/conf.py`` +Sphinx configuration file. -The Starter Pack's default configuration is prepared in a way that makes sense for most projects. -However, you must set some critical parameters that are unique for your project, like the project's name. +The default configuration in the Sphinx Stack is prepared in a way that makes sense for +most projects. However, you must set some critical parameters that are unique for your +project, like the project's name. + +In addition, you can find some optional parameters or add your own configuration +parameters to the file. -In addition, you can find some optional parameters or add your own configuration parameters to the file. Required customisation ---------------------- -You must check and update some of the parameters specific to your project. -Mandatory parameters are commented with the `TODO` keyword. +You must check and update some of the parameters specific to your project. Mandatory +parameters are commented with the ``TODO`` keyword. The following are some highlights of the available configuration parameters. + Update the project information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Edit the :file:`docs/conf.py` file and update the configuration in the ``Project information`` section. -See the comments in the file for more information about each setting. +Edit the ``docs/conf.py`` file and update the configuration in the ``Project +information`` section. See the comments in the file for more information about each +setting. + Open Graph configuration ^^^^^^^^^^^^^^^^^^^^^^^^ -When you post a link to your documentation somewhere (for example, on Mattermost or Discourse), it might be shown with a preview. -This preview is configured through the Open Graph Protocol (:spellexception:`OGP`) configuration. +When you post a link to your documentation somewhere (for example, on Mattermost or +Discourse), it might be shown with a preview. This preview is configured through the +Open Graph Protocol (:vale-ignore:`OGP`) configuration. + +If you don't know yet where your documentation will be hosted, you can leave the URL +empty. If you do, specify the hosting URL. You can leave the defaults for the website +name and the preview image or specify your own. -If you don't know yet where your documentation will be hosted, you can leave the URL empty. -If you do, specify the hosting URL. -You can leave the defaults for the website name and the preview image or specify your own. Optional customisation ---------------------- -The Starter Pack contains several features that you can configure, or turn off if they aren't suitable for your documentation. +The Sphinx Stack contains several features that you can configure or turn off if they +aren't suitable for your documentation. + Modify the template ~~~~~~~~~~~~~~~~~~~ -The default Starter Pack templates provide an initial configuration for your documentation set, including: +The default Sphinx Stack templates provide an initial configuration for your +documentation set, including: -- Header template - The top section of the page that contains your product's tag image and name, a link to your product's page (if available), and a drop-down menu for "More resources". -- Footer template - The bottom section of the page that contains sequential navigation controls, copyright information, licensing details, and other relevant links. +- Header template - The top section of the page that contains your product's tag image + and name, a link to your product's page (if available), and a drop-down menu for "More + resources". +- Footer template - The bottom section of the page that contains sequential navigation + controls, copyright information, licensing details, and other relevant links. -These project settings are configured in :file:`docs/conf.py` and are generally sufficient for most cases. -However, if you have additional requirements -- such as adding links to announcements or videos that are not part of the documentation -- you can override the default templates to customize them as needed. +These are configured in ``docs/conf.py`` and are sufficient for most cases. However, if +you have additional requirements -- such as adding links to announcements or videos that +are not part of the documentation -- you can override the default templates to customize +them as needed. See the :ref:`custom-html-templates` guide for details on how to do so. + Deactivate the feedback button ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -By default, the Starter Pack includes a feedback button at the top of each page. -This button redirects users to your GitHub issues page, and populates an issue for them with details of the page they were on when they clicked the button. - -If your project does not use GitHub issues, set the ``github_issues`` variable in the :file:`docs/conf.py` file to an empty value to disable both the feedback button and the issue link in the footer. - -If you want to deactivate the feedback button, but keep the link in the footer, set ``disable_feedback_button`` in the :file:`docs/conf.py` file to ``True``. - -Configure the contributor display -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By default, the Sphinx Stack includes a feedback button at the top of each page. This +button redirects users to your GitHub issues page, and populates an issue for them with +details of the page they were on when they clicked the button. -By default, the Starter Pack will display a list of contributors at the bottom of each page. -This requires the GitHub URL and folder to be configured. +If your project does not use GitHub issues, set the ``github_issues`` variable in the +``docs/conf.py`` file to an empty value to disable both the feedback button and the +issue link in the footer. -If you want to turn this contributor listing off, you can do so by setting the ``display_contributors`` variable in the :file:`docs/conf.py` file to ``False``. +If you want to deactivate the feedback button, but keep the link in the footer, set +``disable_feedback_button`` in the ``docs/conf.py`` file to ``True``. -To configure that only recent contributors are displayed, you can set the ``display_contributors_since`` variable. -It takes any Linux date format (for example, a full date, or an expression like "3 months"). Add redirects ~~~~~~~~~~~~~ @@ -106,63 +124,78 @@ Destination paths can also be external URLs. "path/to/old/page" "https://example.com/new-page" + Configure included extensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The Starter Pack includes a set of extensions that are useful for all documentation sets. -Some extensions are :ref:`enabled by default ` within the Starter Pack, but you can customize the selection in the :file:`docs/conf.py` file. +The Sphinx Stack includes a set of extensions that are useful for all documentation +sets. Some extensions are :ref:`enabled by default +` within the Sphinx Stack, but you can customize +the selection in the ``docs/conf.py`` file. -The ``canonical_sphinx`` extension is required for the Starter Pack and provides the Furo-based theme and custom templates. +The canonical-sphinx extension is required for the Sphinx Stack and provides the +Furo-based theme and custom templates. -To add new extensions needed for your documentation set, add them to the ``extensions`` parameter in :file:`docs/conf.py`. +To add new extensions needed for your documentation set, add them to the ``extensions`` parameter in ``docs/conf.py``. .. note:: - If any additional extensions need specific Python packages, ensure they are installed alongside the other requirements by adding them to the :file:`docs/requirements.txt` file. + If any additional extensions need specific Python packages, ensure they are installed alongside the other requirements by adding them to the ``docs/requirements.txt`` file. + Add page-specific configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can override some global configuration for specific pages. -For example, you can configure whether to display Previous/Next buttons at the bottom of pages by setting the ``sequential_nav`` variable in the :file:`docs/conf.py` file. +For example, you can configure whether to display Previous/Next buttons at the bottom of +pages by setting the ``sequential_nav`` variable in the ``docs/conf.py`` file. .. code:: python - html_context = { - ... - "sequential_nav": "both" - } + html_context = { + ... + "sequential_nav": "both" + } -You can then override this default setting for a specific page (for example, to turn off the Previous/Next buttons by default, but display them in a multi-page tutorial). +You can then override this default setting for a specific page (for example, to turn off +the Previous/Next buttons by default, but display them in a multi-page tutorial). To do so, add `file-wide metadata`_ at the top of a page. See the following examples for how to enable Previous/Next buttons for one page: -|RST|:: +|RST|: - :sequential_nav: both +.. code-block:: - [Page contents] + :sequential_nav: both -MyST:: + [Page contents] - --- - sequential_nav: both - --- +MyST: + +.. code-block:: - [Page contents] + --- + sequential_nav: both + --- -Possible values for the ``sequential_nav`` field are ``none``, ``prev``, ``next``, and ``both``. -See the :file:`docs/conf.py` file for more information. + [Page contents] + +Possible values for the ``sequential_nav`` field are ``none``, ``prev``, ``next``, and +``both``. See the ``docs/conf.py`` file for more information. + +Another example for page-specific configuration is the ``hide-toc`` field (provided by +`Furo `_), which can be used to hide the page-internal table of +content. See `Hiding Contents sidebar`_. -Another example for page-specific configuration is the ``hide-toc`` field (provided by `Furo `_), which can be used to hide the page-internal table of content. -See `Hiding Contents sidebar`_. Add your own configuration -------------------------- -Custom configuration parameters for your project can be used to extend or override the common configuration, or to define additional configuration that is not covered by the common ``conf.py`` file. +Custom configuration parameters for your project can be used to extend or override the +common configuration, or to define additional configuration that is not covered by the +common ``conf.py`` file. The following links can help you with additional configuration: @@ -170,10 +203,13 @@ The following links can help you with additional configuration: - `Sphinx extensions`_ - `Furo documentation`_ (Furo is the Sphinx theme we use as our base) -If you need additional Python packages for any custom processing you do in your documentation, add them to the :file:`docs/requirements.txt` file. +If you need additional Python packages for any custom processing you do in your +documentation, add them to the ``docs/requirements.txt`` file. + Disable failure on warning -------------------------- -The docs build (``make html``) is, by default, set to fail when a warning (``WARNING`` in the build log) is encountered. To disable this setting, remove the ``--failure-on-warning`` option from the command specified in the ``html`` target in the ``Makefile``. - +The docs build is, by default, set to fail when a warning (``WARNING`` in the build log) +is encountered. To disable this setting, remove the ``--failure-on-warning`` option from +the command specified in the ``html`` target in the ``Makefile``. diff --git a/docs/how-to/contributing-myst.md b/docs/how-to/contributing-myst.md deleted file mode 100644 index f870722..0000000 --- a/docs/how-to/contributing-myst.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -orphan: true ---- - - - - -# How to contribute - -We believe that everyone has something valuable to contribute, whether you're a coder, a writer, or a tester. Here's how and why you can get involved: - -- **Why join us?** Work with like-minded people, develop your skills, connect with diverse professionals, and make a difference. -- **What do you get?** Personal growth, recognition for your contributions, early access to new features, and the joy of seeing your work appreciated. -- **Start early, start easy**: Dive into code contributions, improve documentation, or be among the first testers. Your presence matters, regardless of experience or the size of your contribution. - -The guidelines below will help keep your contributions effective and meaningful. - -## Code of conduct - -When contributing, you must abide by the [Ubuntu Code of Conduct](https://ubuntu.com/community/docs/ethos/code-of-conduct). - -## Licence and copyright - - - -By default, all contributions to ACME are made under the AGPLv3 licence. See the [licence](https://github.com/canonical/ACME/blob/main/COPYING) in the ACME GitHub repository for details. - -All contributors must sign the [Canonical contributor licence agreement](https://canonical.com/legal/contributors), which grants Canonical permission to use the contributions. The author of a change remains the copyright owner of their code (no copyright assignment occurs). - -## Releases and versions - - - -ACME uses [semantic versioning](https://semver.org/); major releases occur once or twice a year. - -The release notes can be found [TODO: here](https://example.com). - -## Environment setup - - - -To work on the project, you need the following prerequisites: - -- [TODO: Prerequisite 1](http://example.com) -- [TODO: Prerequisite 2](http://example.com) - -To install and configure these tools: - -```bash -TODO: prerequisite command 1 -TODO: prerequisite command 2 -``` - -## Submissions - - - -If you want to address an issue or a bug in ACME, notify in advance the people involved to avoid confusion; also, reference the issue or bug number when you submit the changes. - -- Fork [our GitHub repository](https://github.com/canonical/ACME) and add the changes to your fork, properly structuring your commits, providing detailed commit messages, and signing your commits. - -- Make sure the updated project builds and runs without warnings or errors; this includes linting, documentation, code, and tests. - -- Submit the changes as a [pull request (PR)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). - -Your changes will be reviewed in due time; if approved, they will eventually be merged. - -### Describing pull requests - - - -To be properly considered, reviewed, and merged, your pull request must provide the following details: - -- **Title**: Summarise the change in a short, descriptive title. -- **Description**: Explain the problem that your pull request solves. Mention any new features, bug fixes, or refactoring. -- **Relevant issues**: Reference any [related issues, pull requests, and repositories](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls). -- **Testing**: Explain whether new or updated tests are included. -- **Reversibility**: If you propose decisions that may be costly to reverse, list the reasons and suggest steps to reverse the changes if necessary. - -### Commit structure and messages - - - -Use separate commits for each logical change, and for changes to different components. Prefix your commit messages with the names of components they affect, using the code tree structure. For example, start a commit that updates the ACME service with `ACME/service:`. - -Use [conventional commits](https://www.conventionalcommits.org/) to ensure consistency across the project: - -```none -Ensure correct permissions and ownership for the content mounts - -* Work around an ACME issue regarding empty dirs: https://github.com/canonical/ACME/issues/12345 - -* Ensure the source directory is owned by the user running a container. - -Links: -- ... -- ... -``` - -Such structure makes it easier to review contributions and simplifies porting fixes to other branches. - -### Signing commits - - - -To improve contribution tracking, we use the developer certificate of origin -([DCO 1.1](https://developercertificate.org/) and require signed commits (using -the `-S` or `---gpg-sign` option) for all changes that go into the ACME project. - -```{code-block} none -git commit -S -m "acme/component: updated life cycle diagram" -``` - -Signed commits will have a GPG, SSH, or S/MIME signature that is -cryptographically verifiable, and will be marked with a "Verified" or -"Partially verified" badge in GitHub. This verifies that you made the changes or -have the right to commit it as an open-source contribution. - -To set up locally signed commits and tags, see [GitHub Docs - About commit -signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). - -````{tip} -You can configure your Git client to sign commits by default for any local -repository by running: - -```{code-block} none -git config --global commit.gpgsign true -``` - -Once you have configured this, you no longer need to add ``-S`` to your -commits explicitly. - -See [GitHub Docs - Signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) for more information. -```` - -If you've made an unsigned commit and encounter the "Commits must have verified -signatures" error when pushing your changes to the remote: - -1. Amend the most recent commit by signing it without changing the commit -message, and push again: - - ```{code-block} none - git commit --amend --no-edit -n -S - git push - ``` - -1. If you still encounter the same error, confirm that your GitHub account has -been set up properly to sign commits as described in the [GitHub Docs - About -commit signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). - ```{tip} - If you use SSH keys to sign your commits, make sure to add a "Signing Key" - type in your GitHub account. See - [GitHub Docs - Adding a new SSH key to your account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account) - for more information. - ``` - -## Code - -### Formatting and linting - - - -ACME relies on these formatting and linting tools: - -- [TODO: Tool 1](http://example.com) -- [TODO: Tool 2](http://example.com) - -To configure and run them: - -```bash -TODO: lint command 1 -TODO: lint command 2 -``` - -### Structure - -- **Check linked code elements**: Ensure coupled code elements, files, and directories are adjacent. For instance, store test data close to the corresponding test code. -- **Group variable declaration and initialisation**: Declare and initialise variables together to improve code organisation and readability. -- **Split large expressions**: Break down large expressions into smaller self-explanatory parts. Use multiple variables where appropriate to make the code more understandable and choose names that reflect their purpose. -- **Use blank lines for logical separation**: Insert a blank line between two logically separate sections of code to improve its structure and readability. -- **Avoid nested conditions**: Avoid nesting conditions to improve readability and maintainability. -- **Remove dead code and redundant comments**: Drop unused or obsolete code and comments to promote a cleaner code base and reduce confusion. -- **Normalise symmetries**: Treat identical operations consistently, using a uniform approach to improve consistency and readability. - -### Best practices - - - -## Tests - - - -All code contributions must include tests. - -To run the tests locally before submitting your changes: - -```bash -TODO: test command 1 -TODO: test command 2 -``` - -## Documentation - -ACME's documentation is stored in the `DOCDIR` directory of the repository. It is based on the [Canonical Starter Pack](https://canonical-starter-pack.readthedocs-hosted.com/stable/) and hosted on [Read the Docs](https://about.readthedocs.com/). - -For general guidance, refer to the [Starter Pack guide](https://canonical-starter-pack.readthedocs-hosted.com/stable/). - -For syntax help and guidelines, refer to the syntax guides contained in the [rST](project:#rst-syntax) and [MyST](project:#myst-syntax) syntax guides. - -In structuring, the documentation employs the [Diátaxis](https://diataxis.fr/) approach. - -To run the documentation locally before submitting your changes: - -```bash -make run -``` - -### Automatic checks - -GitHub runs automatic checks on the documentation to verify spelling, validate links, and suggest inclusive language. - -You can (and should) run the same checks locally: - -```bash -make spelling -make linkcheck -make woke -``` diff --git a/docs/how-to/contributing.rst b/docs/how-to/contributing.rst deleted file mode 100644 index cc50b4e..0000000 --- a/docs/how-to/contributing.rst +++ /dev/null @@ -1,330 +0,0 @@ -.. meta:: - :description: How to contribute to the documentation project with code, writing, or testing. - -:orphan: - -.. TODO: Replace all mentions of ACME with your project name -.. TODO: Update all sections containing TODOs; make sure no TODOs are left - - -How to contribute -================= - -We believe that everyone has something valuable to contribute, -whether you're a coder, a writer or a tester. -Here's how and why you can get involved: - -- **Why join us?** Work with like-minded people, develop your skills, - connect with diverse professionals, and make a difference. - -- **What do you get?** Personal growth, recognition for your contributions, - early access to new features and the joy of seeing your work appreciated. - -- **Start early, start easy**: Dive into code contributions, - improve documentation, or be among the first testers. - Your presence matters, - regardless of experience or the size of your contribution. - - -The guidelines below will help keep your contributions effective and meaningful. - - -Code of conduct ---------------- - -When contributing, you must abide by the -`Ubuntu Code of Conduct `_. - - -Licence and copyright ---------------------- - -.. TODO: Update with your license details or drop if excessive - -By default, all contributions to ACME are made under the AGPLv3 licence. -See the `licence `_ -in the ACME GitHub repository for details. - -All contributors must sign the `Canonical contributor licence agreement -`_, -which grants Canonical permission to use the contributions. -The author of a change remains the copyright owner of their code -(no copyright assignment occurs). - - -Releases and versions ---------------------- - -.. TODO: Add your release and versioning details or drop if excessive - -ACME uses `semantic versioning `_; -major releases occur once or twice a year. - -The release notes can be found `TODO: here `_. - - -Environment setup ------------------ - -.. TODO: Update with your prerequisites or drop if excessive - -To work on the project, you need the following prerequisites: - -- `TODO: Prerequisite 1 `_ -- `TODO: Prerequisite 2 `_ - - -To install and configure these tools: - -.. code-block:: console - - TODO: prerequisite command 1 - TODO: prerequisite command 2 - - -Submissions ------------ - -.. TODO: Suggest your own PR process or drop if excessive - -If you want to address an issue or a bug in ACME, -notify in advance the people involved to avoid confusion; -also, reference the issue or bug number when you submit the changes. - -- `Fork - `_ - our `GitHub repository `_ - and add the changes to your fork, - properly structuring your commits, - providing detailed commit messages - and signing your commits. - -- Make sure the updated project builds and runs without warnings or errors; - this includes linting, documentation, code and tests. - -- Submit the changes as a `pull request (PR) - `_. - - -Your changes will be reviewed in due time; -if approved, they will be eventually merged. - - -Describing pull requests -~~~~~~~~~~~~~~~~~~~~~~~~ - -.. TODO: Update with your own checklist or drop if excessive - -To be properly considered, reviewed and merged, -your pull request must provide the following details: - -- **Title**: Summarise the change in a short, descriptive title. - -- **Description**: Explain the problem that your pull request solves. - Mention any new features, bug fixes or refactoring. - -- **Relevant issues**: Reference any - `related issues, pull requests and repositories `_. - -- **Testing**: Explain whether new or updated tests are included. - -- **Reversibility**: If you propose decisions that may be costly to reverse, - list the reasons and suggest steps to reverse the changes if necessary. - - -Commit structure and messages -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. TODO: Update with your own guidelines or drop if excessive - -Use separate commits for each logical change, -and for changes to different components. -Prefix your commit messages with names of components they affect, -using the code tree structure, -e.g. start a commit that updates the ACME service with ``ACME/service:``. - -Use `conventional commits `_ -to ensure consistency across the project: - -.. code-block:: none - - Ensure correct permissions and ownership for the content mounts - - * Work around an ACME issue regarding empty dirs: - https://github.com/canonical/ACME/issues/12345 - - * Ensure the source directory is owned by the user running a container. - - Links: - - ... - - ... - - -Such structure makes it easier to review contributions -and simplifies porting fixes to other branches. - - -Signing commits -~~~~~~~~~~~~~~~ - -.. TODO: Update with your suggestions or drop if excessive - -To improve contribution tracking, we use the developer certificate of origin -(`DCO 1.1 `_) and require signed commits -(using the ``-S`` or ``--gpg-sign`` option) for all changes that go into the -ACME project. - -.. code-block:: none - - git commit -S -m "acme/component: updated life cycle diagram" - -Signed commits will have a GPG, SSH, or S/MIME signature that is -cryptographically verifiable, and will be marked with a "Verified" or -"Partially verified" badge in GitHub. This verifies that you made the changes or -have the right to commit it as an open-source contribution. - -To set up locally signed commits and tags, see `GitHub Docs - About commit -signature verification `_. - -.. tip:: - - You can configure your Git client to sign commits by default for any local - repository by running ``git config --global commit.gpgsign true``. - Once you have configured this, you no longer need to add ``-S`` to your - commits explicitly. - - See `GitHub Docs - Signing commits `_ for more information. - -If you've made an unsigned commit and encounter the "Commits must have verified -signatures" error when pushing your changes to the remote: - -1. Amend the most recent commit by signing it without changing the commit - message, and push again: - - .. code-block:: none - - git commit --amend --no-edit -n -S - git push -#. If you still encounter the same error, confirm that your GitHub account has - been set up properly to sign commits as described in the `GitHub Docs - About - commit signature verification `_. - - .. tip:: - - If you use SSH keys to sign your commits, make sure to add a "Signing Key" - type in your GitHub account. See - [GitHub Docs - Adding a new SSH key to your account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account) - for more information. - -Code ----- - -Formatting and linting -~~~~~~~~~~~~~~~~~~~~~~ - -.. TODO: Update with your linting configuration setup or drop if excessive - -ACME relies on these formatting and linting tools: - -- `TODO: Tool 1 `_ -- `TODO: Tool 2 `_ - - -To configure and run them: - -.. code-block:: console - - TODO: lint command 1 - TODO: lint command 2 - - -Structure -~~~~~~~~~ - -- **Check linked code elements**: - Check that coupled code elements, files and directories are adjacent. - For instance, store test data close to the corresponding test code. - -- **Group variable declaration and initialisation**: - Declare and initialise variables together - to improve code organisation and readability. - -- **Split large expressions**: - Break down large expressions - into smaller self-explanatory parts. - Use multiple variables where appropriate - to make the code more understandable - and choose names that reflect their purpose. - -- **Use blank lines for logical separation**: - Insert a blank line between two logically separate sections of code. - This improves its structure and makes it easier to understand. - -- **Avoid nested conditions**: - Avoid nesting conditions to improve readability and maintainability. - -- **Remove dead code and redundant comments**: - Drop unused or obsolete code and comments. - This promotes a cleaner code base and reduces confusion. - -- **Normalise symmetries**: - Treat identical operations consistently, using a uniform approach. - This also improves consistency and readability. - - -Best practices -~~~~~~~~~~~~~~ - -.. TODO: Update with your best practices or drop if excessive - - -Tests ------ - -.. TODO: Update with your testing framework details or drop if excessive - -All code contributions must include tests. - -To run the tests locally before submitting your changes: - -.. code-block:: console - - TODO: test command 1 - TODO: test command 2 - - -Documentation -------------- - -ACME's documentation is stored in the ``DOCDIR`` directory of the repository. -It is based on the `Canonical Starter Pack -`_ -and hosted on `Read the Docs `_. - -For syntax help and guidelines, -refer to the Canonical syntax guides -(:ref:`reStructuredText ` and :ref:`MyST `). - -In structuring, -the documentation employs the `Diátaxis `_ approach. - -To run the documentation locally before submitting your changes: - -.. code-block:: console - - make run - - -Automatic checks -~~~~~~~~~~~~~~~~ - -GitHub runs automatic checks on the documentation -to verify spelling, validate links and suggest inclusive language. - -You can (and should) run the same checks locally: - -.. code-block:: console - - make spelling - make linkcheck - make woke diff --git a/docs/how-to/index.rst b/docs/how-to/index.rst index 7050375..94f7b6d 100644 --- a/docs/how-to/index.rst +++ b/docs/how-to/index.rst @@ -1,5 +1,5 @@ .. meta:: - :description: Explore the essential guides and procedures in Canonical's Starter Pack. + :description: Explore the essential guides and procedures in the Sphinx Stack. .. _how-to-guides: @@ -7,14 +7,15 @@ How-to guides ============= -These guides will walk you through the processes involving setting up, -maintaining, and contributing to the Starter Pack. +These guides will walk you through the processes involving setting up, maintaining, and +contributing to the Sphinx Stack. + Basic setup and maintenance --------------------------- -Set up, configure, update, and customize your project to keep it organized and aligned with -your documentation needs. +Set up, configure, update, and customize your project to keep it organized and aligned +with your documentation needs. .. toctree:: :maxdepth: 1 @@ -23,18 +24,19 @@ your documentation needs. build-and-preview run-documentation-checks publish-on-rtd - update-starter-packs/index.rst + update-sphinx-stack/index.rst troubleshooting + Optional features and customisation ----------------------------------- -As your documentation grows, you may need more advanced features to support richer content. This -can include customising the build system, adding diagrams as code, rendering API references, interactive -tables, and custom HTML. +As your documentation grows, you may need more advanced features to support richer +content. This can include customising the build system, adding diagrams as code, +rendering API references, interactive tables, and custom HTML. -While some of these features are available by default in the Starter Pack, others may require additional -extensions. +While some of these features are available by default in the Sphinx Stack, others may +require additional extensions. The following guides will help you get started: diff --git a/docs/how-to/optional-customisation/add-documentation-testing.rst b/docs/how-to/optional-customisation/add-documentation-testing.rst index d89b651..cf57ff1 100644 --- a/docs/how-to/optional-customisation/add-documentation-testing.rst +++ b/docs/how-to/optional-customisation/add-documentation-testing.rst @@ -10,8 +10,9 @@ It's challenging to keep documentation in sync with products as they evolve. Thi process is aided by *Spread*, a test distributor that can work through your documentation and report failures in GitHub workflows. -By using Spread tests, you can rely on the tests as the source of truth for commands -in your documentation, enabling fully tested documentation at build time. +By using Spread tests, you can rely on the tests as the source of truth for commands in +your documentation, enabling fully tested documentation at build time. + What you'll need ---------------- @@ -25,11 +26,12 @@ What you'll need `Go install method `_ recommended in the Spread README to install Spread. + Create a test suite ------------------- -From the root of your project, create the file ``spread.yaml`` and insert the -following contents: +From the root of your project, create the file ``spread.yaml`` and insert the following +contents: .. code-block:: yaml :caption: project_name/spread.yaml @@ -38,12 +40,11 @@ following contents: path: /project_name -Match the ``project`` name to your main directory's name. -The ``path`` designates the directory where the Spread -materials exist. +Match the ``project`` name to your main directory's name. The ``path`` designates the +directory where the Spread materials exist. -So that Spread knows about your tests, add the -following section to the end of ``spread.yaml``: +So that Spread knows about your tests, add the following section to the end of +``spread.yaml``: .. code-block:: yaml :caption: project_name/spread.yaml @@ -59,12 +60,12 @@ following section to the end of ``spread.yaml``: systems: - ubuntu-24.04-64 -The ``suites`` section is how you tell Spread about the various Spread tests in -your project along with the systems you want Spread to use. -In this example, Spread looks for tests in the ``project_name/tests/spread`` directory and -runs them on Ubuntu 24.04. -If you create a new ``task.yaml`` file in a different directory, -remember to add a corresponding suite for it in ``spread.yaml``. +The ``suites`` section is how you tell Spread about the various Spread tests in your +project along with the systems you want Spread to use. In this example, Spread looks for +tests in the ``project_name/tests/spread`` directory and runs them on Ubuntu 24.04. If +you create a new ``task.yaml`` file in a different directory, remember to add a +corresponding suite for it in ``spread.yaml``. + Set up the Multipass backend ---------------------------- @@ -131,28 +132,27 @@ Copy the following ``backends`` section of ``spread.yaml`` between the ``path`` The ``backends`` section contains the following pieces: -* The backend is designated as ``type: adhoc`` as you must explicitly - script the procedure to allocate and discard the Multipass VM. -* The ``allocate`` section defines the image and name of the VM, launches the - VM, and sets up the proper SSH permissions Spread then logs in to the VM with - root permissions and inserts the Spread test. The last two lines tell Spread the - IP address of the Multipass VM and set the environment variable ``ADDRESS``. -* The ``discard`` section deletes the Multipass VM once the Spread test - has finished running. -* The ``systems`` key notes which systems the backend uses. Note that this key - must match the ``systems`` used by at least one test under ``suites``. +* The backend is designated as ``type: adhoc`` as you must explicitly script the + procedure to allocate and discard the Multipass VM. +* The ``allocate`` section defines the image and name of the VM, launches the VM, and + sets up the proper SSH permissions Spread then logs in to the VM with root permissions + and inserts the Spread test. The last two lines tell Spread the IP address of the + Multipass VM and set the environment variable ``ADDRESS``. +* The ``discard`` section deletes the Multipass VM once the Spread test has finished + running. +* The ``systems`` key notes which systems the backend uses. Note that this key must + match the ``systems`` used by at least one test under ``suites``. + Create a Spread task -------------------- -Put your Spread files alongside your project's existing tests. -The rest of this guide assumes they're in a top-level -``tests/spread`` directory. +Put your Spread files alongside your project's existing tests. The rest of this guide +assumes they're in a top-level ``tests/spread`` directory. -Each Spread test requires a dedicated ``task.yaml`` file that contains -all the commands you want to test. A single ``task.yaml`` can help you -validate an entire assumed workflow, for instance, -an end-to-end tutorial. +Each Spread test requires a dedicated ``task.yaml`` file that contains all the commands +you want to test. A single ``task.yaml`` can help you validate an entire assumed +workflow, for instance, an end-to-end tutorial. An example ``task.yaml`` file is shown below: @@ -171,39 +171,40 @@ An example ``task.yaml`` file is shown below: echo "This is the second command that Spread will run" -The ``summary`` section contains a brief description of the documentation you're testing, -the ``prepare`` section contains any initial setup your test needs, -and the ``execute`` section contains your documentation's commands. -The ``kill-timeout`` option has a default of 10 minutes and doesn't need to be -included if you expect your test to complete in that time frame. +The ``summary`` section contains a brief description of the documentation you're +testing, the ``prepare`` section contains any initial setup your test needs, and the +``execute`` section contains your documentation's commands. The ``kill-timeout`` option +has a default of 10 minutes and doesn't need to be included if you expect your test to +complete in that time frame. .. note:: - For a real-world example, see ``task.yaml`` for - `the Rockcraft Go tutorial. `_ + For a real-world example, see ``task.yaml`` for + `the Rockcraft Go tutorial. `_ + Include the tested commands in documentation -------------------------------------------- -By using the ``literalinclude`` directive in Sphinx, you can insert the -exact commands from ``task.yaml`` in your documentation file. +By using the ``literalinclude`` directive in Sphinx, you can insert the exact commands +from ``task.yaml`` in your documentation file. For example, consider the following ``task.yaml`` file: .. code-block:: yaml :caption: task.yaml - summary: Clone and build the Starter Pack + summary: Clone and build the Sphinx STack kill-timeout: 5m execute: | - # [docs:clone-starter-pack] - git clone https://github.com/canonical/sphinx-docs-starter-pack.git - # [docs:clone-starter-pack-end] + # [docs:clone-sphinx-stack] + git clone https://github.com/canonical/sphinx-stack.git + # [docs:clone-sphinx-stack-end] # [docs:build-documentation] - cd sphinx-docs-starter-pack/docs + cd sphinx-stack/docs make run # [docs:build-documentation-end] @@ -217,15 +218,15 @@ Include the commands from ``task.yaml`` in your documentation with: .. code-block:: rst :caption: Example ``literalinclude`` blocks - Clone the Starter Pack: + Clone the Sphinx Stack: .. literalinclude:: relative-path-to/task.yaml :language: bash - :start-after: [docs:clone-starter-pack] - :end-before: [docs:clone-starter-pack-end] + :start-after: [docs:clone-sphinx-stack] + :end-before: [docs:clone-sphinx-stack-end] :dedent: 2 - Enter the ``docs`` folder and build the project: + Enter the ``docs`` directory and build the project: .. literalinclude:: relative-path-to/task.yaml :language: bash @@ -239,16 +240,16 @@ Include the commands from ``task.yaml`` in your documentation with: .. code-block:: md :caption: Example ``literalinclude`` blocks - Clone the Starter Pack: + Clone the Sphinx Stack: ```{literalinclude} relative-path-to/task.yaml :language: bash - :start-after: [docs:clone-starter-pack] - :end-before: [docs:clone-starter-pack-end] + :start-after: [docs:clone-sphinx-stack] + :end-before: [docs:clone-sphinx-stack-end] :dedent: 2 ``` - Enter the `docs` folder and build the project: + Enter the `docs` directory and build the project: ```{literalinclude} relative-path-to/task.yaml :language: bash @@ -258,8 +259,9 @@ Include the commands from ``task.yaml`` in your documentation with: ``` By using the options ``:start-after:`` and ``:end-before:``, the documentation file -sources and includes all commands appearing in ``task.yaml`` between the -specified lines. +sources and includes all commands appearing in ``task.yaml`` between the specified +lines. + Run tests locally ----------------- @@ -270,8 +272,7 @@ List all available Spread tests in the code repository: spread --list -The terminal should respond with all the tests defined in ``spread.yaml``. -For example: +The terminal should respond with all the tests defined in ``spread.yaml``. For example: .. terminal:: :dir: project_name @@ -280,8 +281,8 @@ For example: multipass:ubuntu-24.04-64:tests/spread/example_documentation_test -Run all Spread tests locally with ``spread``. You can also run a single -Spread test by specifying: +Run all Spread tests locally with ``spread``. You can also run a single Spread test by +specifying: .. code-block:: bash @@ -290,6 +291,7 @@ Spread test by specifying: Depending on the complexity of your test, Spread can take several minutes to complete. The ``-vv -debug`` flags provide useful debugging information as the test runs. + Check the results ----------------- @@ -304,9 +306,8 @@ If the test is successful, the terminal will output something similar to the fol 2025-02-04 16:17:10 Aborted tasks: 0 Another sign of a successful test is whether the Multipass VM was deleted as expected. -Check by running :code:`multipass list`, and if the Spread test was successful -(and you have no other Multipass VMs created at the time), the terminal should -respond with: +Check by running ``multipass list``, and if the Spread test was successful (and you have +no other Multipass VMs created at the time), the terminal should respond with: .. terminal:: :dir: project_name @@ -315,9 +316,9 @@ respond with: No instances found. -If the Spread test failed, then the ``-debug`` flag will open a shell into the -Multipass VM so that additional debugging can happen. In that case, the terminal -will output something similar to the following: +If the Spread test failed, then the ``-debug`` flag will open a shell into the Multipass +VM so that additional debugging can happen. In that case, the terminal will output +something similar to the following: .. terminal:: :output-only: diff --git a/docs/how-to/optional-customisation/bridge-project-and-docs-builds.rst b/docs/how-to/optional-customisation/bridge-project-and-docs-builds.rst index 469c3ea..1248f62 100644 --- a/docs/how-to/optional-customisation/bridge-project-and-docs-builds.rst +++ b/docs/how-to/optional-customisation/bridge-project-and-docs-builds.rst @@ -1,5 +1,5 @@ .. meta:: - :description: How to bridge the build of Canonical's Starter Pack and a parent project's build. + :description: How to bridge the build of the Sphinx Stack and a parent project's build. :relatedlinks: [pip and dependency groups](https://pip.pypa.io/en/stable/user_guide/#dependency-groups), [uv and dependency groups](https://docs.astral.sh/uv/concepts/projects/dependencies/#dependency-groups), [Poetry and dependency groups](https://python-poetry.org/docs/managing-dependencies#dependency-groups) @@ -12,7 +12,7 @@ Bridge project and documentation builds .. If more parent projects and build systems are tested, make the introduction general and add tabs to each of the steps -The Starter Pack can be used as a standalone docs repository, or embedded inside a +The Sphinx Stack can be used as a standalone docs repository, or embedded inside a parent project. This guide demonstrates how to bridge the docs build with a Python project's main build. Once bridged, project contributors can install, build, and check the docs from the root of the project with the main build system. @@ -34,7 +34,7 @@ capable of adding targets that call other systems. When shimmed, the docs target The bridge also **merges the virtual environments**, removing the need for a separate docs environment. This change is optional but recommended. To combine environments, your -project must provide **Python 3.11** or higher to the Starter Pack. Any Python +project must provide **Python 3.11** or higher to the Sphinx Stack. Any Python dependency manager will do, and this guide illustrates with three: - pip 25.1 and higher @@ -135,9 +135,9 @@ environment fed by three dependency groups in ``pyproject.toml``: - ``dev`` for development builds - ``docs`` for extra docs packages that your project needs -- ``docs-starter-pack`` for the core docs packages set by the Starter Pack +- ``docs-sphinx-stack`` for the core docs packages set by the Sphinx Stack -First, add the dependency groups. The docs group should depend on the Starter Pack +First, add the dependency groups. The docs group should depend on the Sphinx Stack group: .. code-block:: toml @@ -149,9 +149,9 @@ group: ] docs = [ # Packages for extra docs features - {include-group = "docs-starter-pack"}, + {include-group = "docs-sphinx-stack"}, ] - docs-starter-pack = [ + docs-sphinx-stack = [ # Core docs packages ] @@ -162,7 +162,7 @@ the ``dev`` dependency group. If your project needs extra docs features, like the Mermaid or LaTeX Sphinx extensions, add their packages to the ``docs`` group. -Copy the contents of ``docs/requirements.txt`` into the ``docs-starter-pack`` group. +Copy the contents of ``docs/requirements.txt`` into the ``docs-sphinx-stack`` group. In the main build, override the docs installation target to install the ``docs`` dependency group, then make the project's ``setup`` target depend on the docs target. In @@ -264,6 +264,7 @@ In the example project, the main build calls the targets like this: $(MAKE) -C docs $(@:docs-%=%) --no-print-directory .. admonition:: Variables and Makefiles + :class: note When calling another Makefile with ``$(MAKE) -C``, also known as a sub-Make call, variables with default values in the child Makefile won't be overridden. To override @@ -277,6 +278,7 @@ In the example project, the main build calls the targets like this: $(MAKE) -C docs run SPHINX_AUTOBUILD_OPTS="$(SPHINX_AUTOBUILD_OPTS)" + .. _how-to-bridge-project-builds-adjust-rtd-build: Adjust the Read the Docs build @@ -289,7 +291,8 @@ same build targets that developers use locally. If you use an uncommon system, you might need to install it during the workflow's ``create_environment`` job. -If you merged the virtual environments, make sure to set ``DOCS_VENVDIR=${READTHEDOCS_VIRTUALENV_PATH}`` in all commands. +If you merged the virtual environments, make sure to set +``DOCS_VENVDIR=${READTHEDOCS_VIRTUALENV_PATH}`` in all commands. Here's what it looks like in the example project: @@ -318,8 +321,8 @@ Here's what it looks like in the example project: Adjust the doc workflows ------------------------ -If your project uses the Starter Pack's docs workflows *and* Make, adjust the workflows -to use the bridged targets. +If your project uses the Sphinx Stack workflows *and* Make, adjust the workflows to use +the bridged targets. For the main checks, override the target names and paths through the `workflow inputs `_: diff --git a/docs/how-to/optional-customisation/custom-html-templates.md b/docs/how-to/optional-customisation/custom-html-templates.md index ec7c819..7d0ff86 100644 --- a/docs/how-to/optional-customisation/custom-html-templates.md +++ b/docs/how-to/optional-customisation/custom-html-templates.md @@ -8,21 +8,26 @@ myst: # Use custom HTML templates -If the default template in the Starter Pack doesn't fully meet your needs -- whether you want a unique layout, a custom header or footer, or a specialized sidebar for certain pages -- you can create and use a custom template for your project. +If the default template in the Sphinx Stack doesn't fully meet your needs -- whether you +want a unique layout, a custom header or footer, or a specialized sidebar for certain +pages -- you can create and use a custom template for your project. -This guide shows you how to extend or override the default templates in the Starter Pack to tailor the look and structure of your documentation. +This guide shows you how to extend or override the default templates in the Sphinx Stack +to tailor the look and structure of your documentation. ```{note} -Base template customizations can be made to your documentation. -However, they are not officially supported by the team maintaining the Starter Pack. -Use them at your own discretion. +Base template customizations can be made to your documentation. However, they are not +officially supported by the team maintaining the Spinx Stack. Use them at your own +discretion. ``` ## Setup -First, create the {file}`docs/_templates` directory; all your custom templates will need to be stored in this folder. +First, create the `docs/_templates` directory; all your custom templates will need to be +stored in this directory. -Then uncomment this line in {file}`docs/conf.py` so your project will use local templates (where available): +Then uncomment this line in `docs/conf.py` so your project will use local templates +(where available): ```{code-block} py :caption: conf\.py @@ -30,24 +35,29 @@ Then uncomment this line in {file}`docs/conf.py` so your project will use local templates_path = ["_templates"] ``` -In most cases, you will need to copy the default templates from the [canonical-sphinx theme] as a starting point and edit as needed. +In most cases, you will need to copy the default templates from the [canonical-sphinx +theme] as a starting point and edit as needed. ```{seealso} -Sphinx uses the Jinja templating engine for its HTML templates; see the [Jinja template syntax reference] for more details. +Sphinx uses the Jinja templating engine for its HTML templates; see the +[Jinja template syntax reference] for more details. ``` ## Use custom template for all pages -Sphinx looks for a template called {file}`page.html` as the entry point and main page template for documentation pages. -To customize your project's look and structure, check this file and determine which parts -- such as the header, footer, or sidebars -- need to be edited or overridden. +Sphinx looks for a template called `page.html` as the entry point and main page template +for documentation pages. To customize your project's look and structure, check this file +and determine which parts -- such as the header, footer, or sidebars -- need to be +edited or overridden. Here are some examples. ### Remove on-page TOC -To remove the on-page TOC in the right sidebar, make a copy of [page.html] in the {file}`docs/_templates` folder, and remove the applicable lines. -This will apply to all pages. +To remove the on-page TOC in the right sidebar, make a copy of [page.html] in the +`docs/_templates` directory, and remove the applicable lines. This will apply to all +pages. ```{code-block} html :caption: page.html @@ -75,7 +85,8 @@ This will apply to all pages. ### Add icon for GitHub link in header -To customize the default header by adding an icon for the GitHub link, first make a copy of [header.html] in the {file}`docs/_templates` folder. +To customize the default header by adding an icon for the GitHub link, first make a copy +of [header.html] in the `docs/_templates` directory. Then modify the conditional statement related to the GitHub URL with your code. @@ -105,16 +116,21 @@ Then modify the conditional statement related to the GitHub URL with your code. ## Use custom template for specific pages -If you want to use a custom template for specific pages in your project, you can do so by using conditional logic in {file}`page.html`. +If you want to use a custom template for specific pages in your project, you can do so +by using conditional logic in `page.html`. -First, create the base template with your modifications (e.g. {file}`special-header.html`, {file}`special-page.html`) and place it in the {file}`docs/_templates` folder. +First, create the base template with your modifications (e.g. `special-header.html`, +`special-page.html`) and place it in the `docs/_templates` directory. Next, make a copy of [page.html]. ### Partial template changes -To make partial changes (e.g. custom header) to specific pages, modify only the relevant parts of {file}`page.html` where you want the custom layout or behavior to apply. -For example, wrap the body block in a conditional statement so the custom header (e.g. {file}`special-header.html`) applies only to the "how-to/custom-templates" and "how-to/build" page. +To make partial changes (e.g. custom header) to specific pages, modify only the relevant +parts of `page.html` where you want the custom layout or behavior to apply. For example, +wrap the body block in a conditional statement so the custom header (e.g. +`special-header.html`) applies only to the "how-to/custom-templates" and "how-to/build" +page. ```{code-block} html :emphasize-lines: 2-6 @@ -132,8 +148,10 @@ For example, wrap the body block in a conditional statement so the custom header ### Whole template changes -To make changes to the whole template (e.g. a custom layout for a landing page or marketing page), modify the `extends` statement in {file}`page.html` to specify the pages that will use different templates. -For example, the {file}`special-page.html` template applies only to the "how-to/customise" and "how-to/diagrams-as-code" page. +To make changes to the whole template (e.g. a custom layout for a landing page or +marketing page), modify the `extends` statement in `page.html` to specify the pages that +will use different templates. For example, the `special-page.html` template applies only +to the "how-to/customise" and "how-to/diagrams-as-code" page. ```{code-block} html :caption: _templates/page.html @@ -146,7 +164,7 @@ For example, the {file}`special-page.html` template applies only to the "how-to/ ``` ```{note} -The pages "how-to/customise" and "how-to/diagrams-as-code" will use {file}`special-page.html` as the base template, but all other blocks (e.g. footer, body, etc) will follow the default {file}`page.html`. +The pages "how-to/customise" and "how-to/diagrams-as-code" will use `special-page.html` as the base template, but all other blocks (e.g. footer, body, etc) will follow the default `page.html`. ``` % LINKS diff --git a/docs/how-to/optional-customisation/customise-pdf.rst b/docs/how-to/optional-customisation/customise-pdf.rst index ed90eb0..82c23ac 100644 --- a/docs/how-to/optional-customisation/customise-pdf.rst +++ b/docs/how-to/optional-customisation/customise-pdf.rst @@ -9,134 +9,185 @@ Customise PDF output Overview -------- -The Starter Pack supports PDF output via LaTeX using the ``make pdf`` command. This build process relies on system packages, Sphinx configurations, and a LaTeX template from the ``canonical-sphinx`` extension. +The Sphinx Stack supports PDF output via LaTeX using the ``make pdf`` command. This +build process relies on system packages, Sphinx configurations, and a LaTeX template +from the ``canonical-sphinx`` extension. Customising PDF output involves two levels of configuration: -* **Sphinx configuration**: built-in options for configuring LaTeX build process in :file:`conf.py`, for example: the engine used to generate the PDF, output file name, and input file paths. -* **LaTeX configuration**: the LaTeX packages, styling, and configuration for the PDF output, set through the :literalref:`latex_elements ` dictionary in the project :file:`conf.py`. In the starter-pack, a default set of LaTeX elements is provided by the ``canonical-sphinx`` extension. Changing the LaTeX configuration requires overriding the default values loaded from the extension. +* **Sphinx configuration**: built-in options for configuring LaTeX build process in + ``conf.py``, for example: the engine used to generate the PDF, output file name, and + input file paths. +* **LaTeX configuration**: the LaTeX packages, styling, and configuration for the PDF + output, set through the :literalref:`latex_elements + ` + dictionary in the project ``conf.py``. In the Sphinx Stack, a default set of LaTeX + elements is provided by the ``canonical-sphinx`` extension. Changing the LaTeX + configuration requires overriding the default values loaded from the extension. -This guide covers common practices and tips for customising PDF output from your project using the Starter Pack and the ``canonical-sphinx`` extension. +This guide covers common practices and tips for customising PDF output from your project +using the Sphinx Stack and the ``canonical-sphinx`` extension. For basic instructions about building the PDF, see :ref:`build-and-preview`. + Configure document properties ----------------------------- -The :literalref:`latex_documents ` variable in the Sphinx :file:`conf.py` file controls properties of the intermediate LaTeX file and the final PDF output. The values are defined in a tuple of six elements: +The :literalref:`latex_documents +` +variable in the Sphinx ``conf.py`` file controls properties of the intermediate LaTeX +file and the final PDF output. The values are defined in a tuple of six elements: .. code-block:: python - latex_documents = [ - ( - 'startdocname', # Root document (e.g., 'index' or 'pdf-index') - 'targetname.tex', # Output LaTeX file name (no spaces) - 'title', # Document title (can be empty to use the root doc's title) - 'author', # Author name(s). - 'theme', # Document type: 'manual' or 'howto' - True, # toctree_only: if True, only include docs in toctree - ), - ] - -* ``startdocname``: The root document for the PDF (without the .rst extension). -* ``targetname``: The filename for the generated LaTeX source file. The PDF file name is derived from this filename with the ``.pdf`` extension. Blank space characters are not allowed. + latex_documents = [ + ( + 'startdocname', # Root document (e.g., 'index' or 'pdf-index') + 'targetname.tex', # Output LaTeX file name (no spaces) + 'title', # Document title (can be empty to use the root doc's title) + 'author', # Author name(s). + 'theme', # Document type: 'manual' or 'howto' + True, # toctree_only: if True, only include docs in toctree + ), + ] + +* ``startdocname``: The root document for the PDF (without the ``.rst`` extension). +* ``targetname``: The filename for the generated LaTeX source file. The PDF file name is + derived from this filename with the ``.pdf`` extension. Blank space characters are not + allowed. * ``title``: The title for the PDF document on the cover page. * ``author``: The author(s) of the document. Use ``\\and`` to separate multiple authors. * ``theme``: Either ``manual`` or ``howto``. - * ``manual``: This is the default and is intended for comprehensive, book-style documentation. It produces a PDF with chapters, sections, and a table of contents. Use this for user guides, reference manuals, or any documentation that should be structured as a book. - * ``howto``: This type is for shorter, task-oriented documents. It produces a simpler PDF without chapters, and is best for single-topic guides or tutorials. + * ``manual``: This is the default and is intended for comprehensive, book-style + documentation. It produces a PDF with chapters, sections, and a table of contents. + Use this for user guides, reference manuals, or any documentation that should be + structured as a book. + * ``howto``: This type is for shorter, task-oriented documents. It produces a simpler + PDF without chapters, and is best for single-topic guides or tutorials. -* ``toctree_only``: Boolean. If set to True, the ``startdocname`` document itself is not included in the output, only the documents referenced by the ``toctree`` directive are included. This is useful for creating a PDF-specific index file. +* ``toctree_only``: Boolean. If set to True, the ``startdocname`` document itself is not + included in the output, only the documents referenced by the ``toctree`` directive are + included. This is useful for creating a PDF-specific index file. -For more details, see `latex_documents `_ in the Sphinx documentation. +For more details, see `latex_documents +`_ +in the Sphinx documentation. Change PDF document filename ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -By default, the PDF output filename is derived from the ``project`` name in the :file:`conf.py` file: lowercase characters with blank spaces removed. +By default, the PDF output filename is derived from the ``project`` name in the +``conf.py`` file: lowercase characters with blank spaces removed. -To override the filename, update the second element (``targetname``) of the ``latex_documents`` tuple in :file:`conf.py`. The following example shows how to replace blank spaces in the project name with underscores: +To override the filename, update the second element (``targetname``) of the +``latex_documents`` tuple in ``conf.py``. The following example shows how to replace +blank spaces in the project name with underscores: .. code-block:: python - latex_documents = [ - ( - 'index', - f"{project.replace(' ', '_')}.tex", - '', - 'Author Name', - 'manual', - True, - ), - ] + latex_documents = [ + ( + 'index', + f"{project.replace(' ', '_')}.tex", + '', + 'Author Name', + 'manual', + True, + ), + ] + Change PDF document title ~~~~~~~~~~~~~~~~~~~~~~~~~ -By default, the PDF title on the cover page comes from the title of the main index document. To override it, update the third element (title) of the ``latex_documents`` tuple in :file:`conf.py`. Use an empty string (``''``) to keep the default behaviour. +By default, the PDF title on the cover page comes from the title of the main index +document. To override it, update the third element (title) of the ``latex_documents`` +tuple in ``conf.py``. Use an empty string (``''``) to keep the default behaviour. + Use a different index document for PDF builds ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Because the PDF output has a different usage and structure from the HTML output, it is sometimes useful to create a PDF-specific index document. For example, you may want to create a PDF-specific index file that includes only a subset of the pages in the HTML index. +Because the PDF output has a different usage and structure from the HTML output, it is +sometimes useful to create a PDF-specific index document. For example, you may want to +create a PDF-specific index file that includes only a subset of the pages in the HTML +index. To use a different index document for PDF builds: -1. Create a PDF-specific index document, for example, :file:`pdf-index.rst`. -2. Update the first element (``startdocname``) of the ``latex_documents`` tuple in :file:`conf.py` to point to the new index document. -3. Set the last element (``toctree_only``) of the ``latex_documents`` tuple in :file:`conf.py` to ``False`` to ensure only referenced documents are included in the PDF output. -4. Exclude the PDF-specific index document from the HTML build. This is done by changing the ``exclude_patterns`` list in :file:`conf.py`: +#. Create a PDF-specific index document, for example, ``pdf-index.rst``. +#. Update the first element (``startdocname``) of the ``latex_documents`` tuple in + ``conf.py`` to point to the new index document. +#. Set the last element (``toctree_only``) of the ``latex_documents`` tuple in + ``conf.py`` to ``False`` to ensure only referenced documents are included in the PDF + output. +#. Exclude the PDF-specific index document from the HTML build. This is done by changing + the ``exclude_patterns`` list in ``conf.py``: .. code-block:: python # Identify the Sphinx builder being used if '-b' in sys.argv: - builder = sys.argv[sys.argv.index('-b') + 1] + builder = sys.argv[sys.argv.index('-b') + 1] elif '-M' in sys.argv: - builder = sys.argv[sys.argv.index('-M') + 1] + builder = sys.argv[sys.argv.index('-M') + 1] else: - builder = 'html' # default builder + builder = 'html' # default builder # Exclude the PDF-specific index from the HTML build if builder in ['html', 'dirhtml']: - exclude_patterns.append('pdf-index.rst') + exclude_patterns.append('pdf-index.rst') -Check both the HTML and PDF outputs to confirm that different index documents are used for each output. +Check both the HTML and PDF outputs to confirm that different index documents are used +for each output. .. note:: - The order and hierarchy of your ``toctree`` entries determine the chapters and sections in the PDF. - Any headings placed before the main ``toctree`` in your root document will cause all referenced documents to be nested under that heading in the PDF. To avoid this, do not add extra headings before the ``toctree``. + The order and hierarchy of your ``toctree`` entries determine the chapters and + sections in the PDF. + + Any headings placed before the main ``toctree`` in your root document will cause all + referenced documents to be nested under that heading in the PDF. To avoid this, do + not add extra headings before the ``toctree``. Override the LaTeX template ----------------------------- -The LaTeX template is a text file in the ``canonical-sphinx`` extension that provides the default styling and layout of the PDF document. The template contains a Python dictionary of LaTeX elements, which will be imported by Sphinx when the PDF is built. +The LaTeX template is a text file in the ``canonical-sphinx`` extension that provides +the default styling and layout of the PDF document. The template contains a Python +dictionary of LaTeX elements, which will be imported by Sphinx when the PDF is built. -Any additions or changes to the default settings of LaTeX elements in the PDF document requires overriding the default template. +Any additions or changes to the default settings of LaTeX elements in the PDF document +requires overriding the default template. -1. Download the default template file `latex_elements_template.txt `_ from the ``canonical/canonical-sphinx`` GitHub repository, and save it to your project directory. For example, at :file:`.sphinx/latex_elements_custom.txt`. - -2. In the Python dictionary, add or modify the LaTeX elements you want to change. Details of changing the dictionary are covered in the sub-sections below. - -3. In your project :file:`conf.py`, add or update the ``latex_elements`` dictionary to load the local override of the LaTeX template. Change the file path to the location of your local override file. +#. Download the default template file `latex_elements_template.txt + `_ + from the ``canonical/canonical-sphinx`` GitHub repository, and save it to your + project directory. For example, at ``.sphinx/latex_elements_custom.txt``. +#. In the Python dictionary, add or modify the LaTeX elements you want to change. + Details of changing the dictionary are covered in the sub-sections below. +#. In your project's ``conf.py`` file, add or update the ``latex_elements`` dictionary + to load the local override of the LaTeX template. Change the file path to the + location of your local override file. .. code-block:: python - # Replace with the path to your local override file - latex_elements_file = ".sphinx/latex_elements_custom.txt" - - with open(latex_elements_file, "rt") as file: - latex_config = file.read() - if latex_elements == {}: - latex_elements = ast.literal_eval(latex_config) + # Replace with the path to your local override file + latex_elements_file = ".sphinx/latex_elements_custom.txt" + + with open(latex_elements_file, "rt") as file: + latex_config = file.read() + if latex_elements == {}: + latex_elements = ast.literal_eval(latex_config) .. warning:: - Defining other settings directly in ``latex_elements`` will override the values loaded from the template file or your local file. + Defining other settings directly in ``latex_elements`` will override the values + loaded from the template file or your local file. Add more LaTeX packages to the preamble @@ -147,89 +198,111 @@ You can use two methods to add additional LaTeX packages to the preamble: * Add the ``extrapackages`` key in your local template file: .. code-block:: python - :class: vale-ignore - :emphasize-lines: 3 + :class: vale-ignore + :emphasize-lines: 3 - { - ... - 'extrapackages': r'\usepackage{packagename}', - ... - } + { + ... + 'extrapackages': r'\usepackage{packagename}', + ... + } * Modify the values of the ``preamble`` key in your local template file. This is more flexible for adding LaTeX configurations and commands to the preamble. .. note:: - The format of the element values is a multi-line string, so use a raw string with the ``r`` prefix. + + The format of the element values is a multi-line string, so use a raw string with + the ``r`` prefix. Remove the table of contents ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For a short, compact document where navigation is not needed, you may want to remove the table of contents from the PDF output. +For a short, compact document where navigation is not needed, you may want to remove the +table of contents from the PDF output. -To do this, provide a local copy of the default template file, and add a new key ``tableofcontents`` with an empty string as the value: +To do this, provide a local copy of the default template file, and add a new key +``tableofcontents`` with an empty string as the value: .. code-block:: python - :emphasize-lines: 3 + :emphasize-lines: 3 - { - ... - 'tableofcontents': '', - ... - } + { + ... + 'tableofcontents': '', + ... + } Include images or other assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If the local template requires additional images or other assets, for example, a custom title page or header, the file paths must be added to the Sphinx :file:`conf.py` file to be included in the PDF build. +If the local template requires additional images or other assets, for example, a custom +title page or header, the file paths must be added to the Sphinx ``conf.py`` file to +be included in the PDF build. -Provide a ``latex_additional_files`` variable in :file:`conf.py` as a list of file paths to the additional assets. If the variable already exists, add the new file paths to the list. The paths should be relative to the :file:`conf.py` file. +Provide a ``latex_additional_files`` variable in your ``conf.py`` file as a list of file +paths to the additional assets. If the variable already exists, add the new file paths +to the list. The paths should be relative to the ``conf.py`` file. .. code-block:: python - # path relative to the conf.py file - latex_additional_files = [ - 'path/to/image.svg', - 'path/to/other-asset.pdf', - ] + # path relative to the conf.py file + latex_additional_files = [ + 'path/to/image.svg', + 'path/to/other-asset.pdf', + ] .. note:: - For better quality in the PDF output, it is recommended to use vector images (like SVG or PDF) rather than raster images (like PNG or JPEG). Raster images may lose quality when scaled up in the PDF. - Do not use ``.tex`` as suffix, otherwise the file is processed as source files for the PDF build process. Instead, use ``.tex.txt`` or ``.sty`` to avoid conflicts with the LaTeX build process. + For better quality in the PDF output, it is recommended to use vector images (like + SVG or PDF) rather than raster images (like PNG or JPEG). Raster images may lose + quality when scaled up in the PDF. + + Do not use ``.tex`` as suffix, otherwise the file is processed as source files for + the PDF build process. Instead, use ``.tex.txt`` or ``.sty`` to avoid conflicts + with the LaTeX build process. Use landscape layout ~~~~~~~~~~~~~~~~~~~~ -The PDF output uses portrait orientation by default. To use landscape orientation, you need to add more packages to the LaTeX preamble and use a specific LaTeX environment to rotate the content. +The PDF output uses portrait orientation by default. To use landscape orientation, you +need to add more packages to the LaTeX preamble and use a specific LaTeX environment to +rotate the content. -1. Add the ``extrapackages`` key to your local template file, and set the value to the ``pdflscape`` package: +#. Add the ``extrapackages`` key to your local template file, and set the value to the + ``pdflscape`` package: .. code-block:: python :emphasize-lines: 3 { - ... - 'extrapackages': r'\usepackage{pdflscape}', - ... + ... + 'extrapackages': r'\usepackage{pdflscape}', + ... } .. note:: - The format of the element values is a multi-line string, so use a raw string with the ``r`` prefix. -2. Use the landscape environment in your documentation source file, and only in the PDF output. + The format of the element values is a multi-line string, so use a raw string with + the ``r`` prefix. - Wherever you want a section (such as a wide table or figure) to appear in the landscape view, use the ``.. raw:: latex`` directive to include raw LaTeX code that opens and closes the landscape environment. Only the content between ``\begin{landscape}`` and ``\end{landscape}`` will be rotated: +#. Use the landscape environment in your documentation source file, and only in the PDF + output. + + Wherever you want a section (such as a wide table or figure) to appear in the + landscape view, use the ``.. raw:: latex`` directive to include raw LaTeX code that + opens and closes the landscape environment. Only the content between + ``\begin{landscape}`` and ``\end{landscape}`` will be rotated: .. code-block:: rst .. only:: latex - .. raw:: latex + .. raw:: latex - \begin{landscape} + \begin{landscape} .. list-table:: Example of a landscape table :header-rows: 1 @@ -243,28 +316,35 @@ The PDF output uses portrait orientation by default. To use landscape orientatio .. only:: latex - .. raw:: latex + .. raw:: latex - \end{landscape} + \end{landscape} Check PDF build log files ------------------------- -If you encounter an issue that requires further debugging, check the PDF build logs for more detailed error messages. The full logs are generated in the :file:`_build/latex` output directory, and then cleaned up after the build completes. +If you encounter an issue that requires further debugging, check the PDF build logs for +more detailed error messages. The full logs are generated in the ``_build/latex`` +output directory, and then cleaned up after the build completes. To temporarily save the log files for debugging: -1. Open the ``Makefile`` and locate the ``pdf`` target. Disable the cleanup step by commenting out the ``@rm -r $(BUILDDIR)/latex`` line. -2. Run the ``make pdf`` again. -3. Navigate to the output directory :file:`_build/latex` and check the ``*.log`` and ``*.tex`` files. -4. After debugging, restore the cleanup step by uncommenting the same line. +#. Open the ``Makefile`` and locate the ``pdf`` target. Disable the cleanup step by + commenting out the ``@rm -r $(BUILDDIR)/latex`` line. +#. Run the ``make pdf`` again. +#. Navigate to the output directory ``_build/latex`` and check the ``*.log`` and + ``*.tex`` files. +#. After debugging, restore the cleanup step by uncommenting the same line. .. warning:: - Keeping the build log files from the previous build might cause conflicts with the current build + Keeping the build log files from the previous build might cause conflicts with the + current build + Related ------- + - :ref:`build-and-preview` - :ref:`configure-your-project` diff --git a/docs/how-to/optional-customisation/enable-google-analytics.rst b/docs/how-to/optional-customisation/enable-google-analytics.rst index 269e0e7..9dbb13e 100644 --- a/docs/how-to/optional-customisation/enable-google-analytics.rst +++ b/docs/how-to/optional-customisation/enable-google-analytics.rst @@ -23,27 +23,27 @@ page interaction. The footer template provides a link for users to change their data collection preferences. -The process for sourcing these files depends on your Starter Pack version. Check which +The process for sourcing these files depends on your Sphinx Stack version. Check which version is listed in your project's ``docs/.sphinx/version`` file. -On Starter Pack 1.6 or higher +On Sphinx Stack 1.6 or higher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Starting in version 1.6 of the Starter Pack, these templates are available by default. +Starting in version 1.6 of the Sphinx Stack, these templates are available by default. If you're on one of these versions, skip ahead to :ref:`update-your-configuration-file`. -On Starter Pack 1.5 or lower +On Sphinx Stack 1.5 or lower ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In version 1.5 of the Starter Pack and lower, the templates were sourced from a separate +In version 1.5 of the Sphinx Stack and lower, the templates were sourced from a separate repository. Download the latest version of the templates: -- :literalref:`header.html ` -- :literalref:`footer.html ` +- :literalref:`header.html ` +- :literalref:`footer.html ` Next, create a ``docs/_templates`` directory and move the templates into it. @@ -89,7 +89,7 @@ Update your configuration file Now that the templates are in place, you need to make Sphinx aware of them in your project's configuration file. -If you're on version 1.6 of the Starter Pack or higher, these lines already exist +If you're on version 1.6 of the Sphinx Stack or higher, these lines already exist in your configuration file. You only need to uncomment them in the following steps. In lower versions, you need to add them yourself. diff --git a/docs/how-to/optional-customisation/interactive-tables.rst b/docs/how-to/optional-customisation/interactive-tables.rst index b6e3a8f..aef634c 100644 --- a/docs/how-to/optional-customisation/interactive-tables.rst +++ b/docs/how-to/optional-customisation/interactive-tables.rst @@ -6,16 +6,21 @@ Add interactive data tables =========================== -Data-heavy documentation often benefits from tables that users can explore interactively. -The `Sphinx DataTables`_ extension provides interactive tables where users can sort columns and filter rows, making large datasets more navigable and useful. +Data-heavy documentation often benefits from tables that users can explore +interactively. The `Sphinx DataTables`_ extension provides interactive tables where +users can sort columns and filter rows, making large datasets more navigable and useful. For examples, see the extension's documentation. -The extension isn't available by default in the Starter Pack. To read more about table functionality that is available out of the box, see :ref:`Tables (MyST) ` and :ref:`Tables (reST) `. +The extension isn't available by default in the Sphinx Stack. To read more about table +functionality that is available out of the box, see :ref:`Tables (MyST) +` and :ref:`Tables (reST) `. + Include the ``sphinx-datatables`` extension ------------------------------------------- -To include the extension in your documentation, add ``sphinx-datatables`` to ``docs/requirements.txt``. +To include the extension in your documentation, add ``sphinx-datatables`` to +``docs/requirements.txt``. Then, add ``sphinx_datatables`` to the ``extensions`` list in ``docs/conf.py``. @@ -27,17 +32,17 @@ Make a table interactive by adding a special CSS class to the directive: .. code-block:: rst - .. csv-table:: - :class: sphinx-datatable - :file: /reuse/animals.csv - :header-rows: 1 + .. csv-table:: + :class: sphinx-datatable + :file: /reuse/animals.csv + :header-rows: 1 .. tab-item:: MyST .. code-block:: none - ```{csv-table} - :class: sphinx-datatable - :file: /reuse/animals.csv - :header-rows: 1 - ``` + ```{csv-table} + :class: sphinx-datatable + :file: /reuse/animals.csv + :header-rows: 1 + ``` diff --git a/docs/how-to/optional-customisation/mermaid-diagrams.md b/docs/how-to/optional-customisation/mermaid-diagrams.md index f9565e4..a3dd039 100644 --- a/docs/how-to/optional-customisation/mermaid-diagrams.md +++ b/docs/how-to/optional-customisation/mermaid-diagrams.md @@ -9,22 +9,29 @@ relatedlinks: https://mermaid.js.org/intro/, https://mermaid.live/ # Create diagrams as code using Mermaid -Diagrams help users quickly understand and visualize complex ideas, but they can easily become outdated and difficult to maintain. -Creating diagrams as code solves this by keeping them alongside the software source, making updates and reviews simpler. +Diagrams help users quickly understand and visualize complex ideas, but they can easily +become outdated and difficult to maintain. Creating diagrams as code solves this by +keeping them alongside the software source, making updates and reviews simpler. -Mermaid is a popular choice that allows diagrams to be created, maintained, and updated directly in the documentation. -This guide explains how to set up the {doc}`sphinxcontrib-mermaid ` extension and use Mermaid diagrams in your documentation, with examples included. +Mermaid is a popular choice that allows diagrams to be created, maintained, and updated +directly in the documentation. This guide explains how to set up the +{doc}`sphinxcontrib-mermaid ` extension and use Mermaid +diagrams in your documentation, with examples included. ```{note} -While there are many other tools and/or approaches for creating diagrams in visualizations in your documentation (e.g. [C4 model], [Dia], [PlantUML], [Structurizr], etc), we only provide support for `sphinxcontrib-mermaid` in the Starter Pack. +While there are many other tools and/or approaches for creating diagrams in +visualizations in your documentation (e.g. [C4 model], [Dia], [PlantUML], [Structurizr], +etc), we only provide support for `sphinxcontrib-mermaid` in the Sphinx Stack. ``` ## Installation and setup -First, add the "sphinxcontrib-mermaid" extension to {file}`requirements.txt` so that it's installed as part of your Sphinx project dependencies: +First, add the sphinxcontrib-mermaid extension to your `requirements.txt` file so it's +installed as a dependency: ```{code-block} text :emphasize-lines: 6 + canonical-sphinx[full] packaging sphinxcontrib-svg2pdfconverter[CairoSVG] @@ -33,7 +40,7 @@ sphinx-sitemap sphinxcontrib-mermaid ``` -Then add "sphinxcontrib.mermaid" in the "extensions" list in `conf.py`: +Then add `sphinxcontrib.mermaid` to the `extensions` list in your `conf.py` file: ```{code-block} python extensions = [ @@ -42,24 +49,29 @@ extensions = [ ] ``` -You are now ready embed Mermaid diagrams and visualization in your documentation using the `mermaid` directive. +You are now ready embed Mermaid diagrams and visualization in your documentation using +the `mermaid` directive. ### Optional configuration -You can further configure Mermaid's default settings in your project's {file}`conf.py`, such as specifying the image output format (e.g., "png", "raw"), enabling zoom on diagrams, or pinning the [Mermaid version] used for rendering. +You can further configure Mermaid's default settings in your project's `conf.py`, such +as specifying the image output format (e.g., "png", "raw"), enabling zoom on diagrams, +or pinning the [Mermaid version] used for rendering. See [Mermaid configuration values] for more information. ## Add a new diagram -Use the `mermaid` directive to embed a Mermaid diagram into your documentation. -You start by declaring the type of diagram (e.g. "flowchart", "sequenceDiagram", "timeline", etc), followed by definition and contents. -It is also possible to specify additional configuration or custom styles, depending on the diagram type. +Use the `mermaid` directive to embed a Mermaid diagram into your documentation. You +start by declaring the type of diagram (e.g. `flowchart`, `sequenceDiagram`, `timeline`, +etc), followed by definition and contents. It is also possible to specify additional +configuration or custom styles, depending on the diagram type. Some examples will be covered below. ```{seealso} -See the [Mermaid - Diagram syntax] reference for details on the syntax and customization options for each diagram type. +See the [Mermaid - Diagram syntax] reference for details on the syntax and customization +options for each diagram type. ``` ### Flowchart diagram with default settings @@ -82,9 +94,10 @@ The timeline diagram below uses a [pre-defined Mermaid theme]. ### Sequence diagram with global custom CSS -The sequence diagram below has custom styling applied using a global CSS file. -A global CSS file enables the styles to be easily applied to all sequence diagrams, based on the classes defined in your stylesheet. -You can also use the global CSS file to customize the diagrams in dark mode. +The sequence diagram below has custom styling applied using a global CSS file. A global +CSS file enables the styles to be easily applied to all sequence diagrams, based on the +classes defined in your stylesheet. You can also use the global CSS file to customize +the diagrams in dark mode. ```{include} /reuse/mermaid.txt :start-after: mermaid-diagram-sequence-start @@ -93,7 +106,8 @@ You can also use the global CSS file to customize the diagrams in dark mode. ### State diagram with image-specific styles -The state diagram below has image-specific custom styling applied using the [`classDef` keyword]. +The state diagram below has image-specific custom styling applied using the [`classDef` +keyword]. ```{include} /reuse/mermaid.txt :start-after: mermaid-diagram-state-start @@ -102,7 +116,8 @@ The state diagram below has image-specific custom styling applied using the [`cl ## Projects using Mermaid -Here are some Canonical projects that use Mermaid for diagramming in their documentation: +Here are some Canonical projects that use Mermaid for diagramming in their +documentation: - [Checkbox](https://canonical-checkbox.readthedocs-hosted.com/stable/explanation/remote/) - [cloud-init](https://docs.cloud-init.io/en/latest/explanation/boot.html) diff --git a/docs/how-to/optional-customisation/python-docstrings.md b/docs/how-to/optional-customisation/python-docstrings.md index d548c6c..730d103 100644 --- a/docs/how-to/optional-customisation/python-docstrings.md +++ b/docs/how-to/optional-customisation/python-docstrings.md @@ -8,24 +8,33 @@ myst: # Import docstrings with Sphinx `autodoc` -Module and function details are useful reference material to have in documentation, but the process of manually pulling all the necessary details over can become tedious. The [Sphinx `autodoc` extension](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) provides the capability to automatically pull in docstrings and module information for Python code. +Module and function details are useful reference material to have in documentation, but +the process of manually pulling all the necessary details over can become tedious. The +[Sphinx `autodoc` +extension](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) provides +the capability to automatically pull in docstrings and module information for Python +code. ## Prerequisites -To use the Sphinx `autodoc` extension with the Starter Pack, you need: +To use the Sphinx `autodoc` extension with the Sphinx Stack, you need: * Python module files located within the same repository as your documentation OR -* The code repository added as a [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) into the documentation repository +* The code repository added as a [Git + submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) into the documentation + repository ## Setup -In the {file}`conf.py` file in your docs directory, update the `sys.path` so that Sphinx can find your module files. At the top of the file, add a `sys.path.insert` that adds your `` directory: +In the `conf.py` file in your docs directory, update the `sys.path` so that Sphinx can +find your module files. At the top of the file, add a `sys.path.insert` that adds your +`` directory: ```{code-block} python -:caption: {file}`conf.py` +:caption: `conf.py` import sys from pathlib import Path @@ -36,10 +45,11 @@ absolute_code_path_str = str(absolute_code_path) sys.path.insert(0, absolute_code_path_str) # insert at index 0 so it occurs early in the list ``` -Then, further down in the {file}`conf.py`, add `sphinx.ext.autodoc` to the list of extensions: +Then, further down in the `conf.py` file, add `sphinx.ext.autodoc` to the list of +extensions: ```{code-block} python -:caption: {file}`conf.py` +:caption: `conf.py` extensions = [ ... @@ -49,7 +59,9 @@ extensions = [ ## Usage -See [Sphinx's `autodoc` instructions](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#usage) for details. +See [Sphinx's `autodoc` +instructions](https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#usage) +for details. ## Known issues and limitations @@ -57,13 +69,20 @@ There are a few issues and limitations that should be taken into consideration. ### Language -The extension's usage is limited to Python code. There are extensions for some other languages but they have not been tested with the Starter Pack, such as [sphinxcontrib-rust](https://sphinxcontrib-rust.readthedocs.io/en/stable/) for Rust. +The extension's usage is limited to Python code. There are extensions for some other +languages but they have not been tested with the Sphinx Stack, such as +[sphinxcontrib-rust](https://sphinxcontrib-rust.readthedocs.io/en/stable/) for Rust. ### Docstring format -The `autodoc` extension pulls the docstrings straight into the the reStructuredText (reST) document, which requires the docstrings to be in reST format. For docstrings in the Numpy or Google style, the [napoleon](https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html#module-sphinx.ext.napoleon) extension can convert the docstrings into reST prior to processing by `autodoc`. +The `autodoc` extension pulls the docstrings straight into the the reStructuredText +(reST) document, which requires the docstrings to be in reST format. For docstrings in +the Numpy or Google style, the +[napoleon](https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html#module-sphinx.ext.napoleon) +extension can convert the docstrings into reST prior to processing by `autodoc`. -For documentation that is written in MyST Markdown, wrap the `eval-rst` directive around the `autodoc` calls: +For documentation that is written in MyST Markdown, wrap the `eval-rst` directive around +the `autodoc` calls: ````{code-block} md @@ -83,7 +102,7 @@ For documentation that is written in MyST Markdown, wrap the `eval-rst` directiv :header-rows: 1 * - Product - - {file}`conf.py` + - `conf.py` - Raw Doc - Rendered Doc diff --git a/docs/how-to/optional-customisation/redirect-pages.md b/docs/how-to/optional-customisation/redirect-pages.md index 45bfe91..810c48b 100644 --- a/docs/how-to/optional-customisation/redirect-pages.md +++ b/docs/how-to/optional-customisation/redirect-pages.md @@ -7,19 +7,34 @@ relatedlinks: "[sphinx-rerediraffe](https://github.com/jahn-junior/sphinx-reredi # Redirect pages -If a file in your documentation set is moved, deleted or renamed, it can no longer be found at its original location and users will be shown a 404 Not Found page. This can be frustrating for users. - -To provide a better user experience, it is good practice to set up redirects to point to the new location, new file name, or to an alternative place where the information can be found. With documentation on Read the Docs, you can configure redirects [manually via the admin panel](https://docs.readthedocs.io/en/stable/guides/redirects.html). However, since this must be done separately, configuring redirects in RTD doesn't scale for complex and mature documentation where a lot of redirects must be maintained. - -The **best practice** is to define and track redirects in your project source, so that when a file is moved, renamed or deleted, you can create a redirect at the same time. In this way, redirects will always be in place when such changes go live. Redirects can either be **external**, meaning that they point to a URL outside your documentation, or **internal**, where you want to point to a new location within your documentation. - -To enable handling redirects in your project repository, the Starter Pack comes with the sphinx-rerediraffe extension. This extension allows you to store redirects in a separate file, `redirects.txt`. +If a file in your documentation set is moved, deleted or renamed, it can no longer be +found at its original location and users will be shown a 404 Not Found page. This can be +frustrating for users. + +To provide a better user experience, it is good practice to set up redirects to point to +the new location, new file name, or to an alternative place where the information can be +found. With documentation on Read the Docs, you can configure redirects [manually via +the admin panel](https://docs.readthedocs.io/en/stable/guides/redirects.html). However, +since this must be done separately, configuring redirects in RTD doesn't scale for +complex and mature documentation where a lot of redirects must be maintained. + +The **best practice** is to define and track redirects in your project source, so that +when a file is moved, renamed or deleted, you can create a redirect at the same time. In +this way, redirects will always be in place when such changes go live. Redirects can +either be **external**, meaning that they point to a URL outside your documentation, or +**internal**, where you want to point to a new location within your documentation. + +To enable handling redirects in your project repository, the Sphinx Stack comes with the +sphinx-rerediraffe extension. This extension allows you to store redirects in a separate +file, `redirects.txt`. ## Configure sphinx-rerediraffe -Create a file called `redirects.txt` in the same directory as your `conf.py` file. This file will host all of your redirects. +Create a file called `redirects.txt` in the same directory as your `conf.py` file. This +file will host all of your redirects. -Next, in your `conf.py` file, declare the `rediraffe_redirects` variable and assign it the path of the redirects file you just created relative to `conf.py`: +Next, in your `conf.py` file, declare the `rediraffe_redirects` variable and assign it +the path of the redirects file you just created relative to `conf.py`: ```{code-block} python :caption: conf\.py @@ -52,7 +67,10 @@ path/file-name/ new-path/file-name/ # To move a file path/old-name/ new-path/new-name/ # To move and rename a file ``` -Redirects are relative to the root of the `docs/` directory, so for simplicity, it’s best to put the redirects.txt file in the root directory. This is an [example of a working](https://github.com/canonical/ubuntu-server-documentation/blob/main/docs/redirects.txt) `redirect.txt` file. +Redirects are relative to the root of the `docs/` directory, so for simplicity, it’s +best to put the redirects.txt file in the root directory. This is an [example of a +working](https://github.com/canonical/ubuntu-server-documentation/blob/main/docs/redirects.txt) +`redirect.txt` file. ## Layer redirects diff --git a/docs/how-to/publish-on-rtd.rst b/docs/how-to/publish-on-rtd.rst index 417a276..35336a8 100644 --- a/docs/how-to/publish-on-rtd.rst +++ b/docs/how-to/publish-on-rtd.rst @@ -6,58 +6,83 @@ Publish on Read the Docs ======================== -Publishing your documentation on Read the Docs makes it available to a wider audience with automatic builds triggered by repository updates. -This guide walks you through the process of setting up your Starter Pack-based project on the Read the Docs platform. +Publishing your documentation on Read the Docs makes it available to a wider audience +with automatic builds triggered by repository updates. This guide walks you through the +process of setting up your Sphinx Stack project on Read the Docs. -For Canonical-specific information on how to set up your documentation on Read the Docs, see the `Read the Docs at Canonical `_ and `How to publish documentation on Read the Docs `_ guides. +For Canonical-specific information on how to set up your documentation on Read the Docs, +see the `Read the Docs at Canonical +`_ and `How to +publish documentation on Read the Docs +`_ guides. -In general, after enabling the Starter Pack for your documentation, follow these steps to build and publish your documentation on Read the Docs: +In general, after enabling the Sphinx Stack for your documentation, follow these steps +to build and publish your documentation on Read the Docs: -1. Make sure your documentation :ref:`builds without errors or warnings `. +#. Make sure your documentation :ref:`builds without errors or warnings `. #. Log into Read the Docs. -#. In your account settings, navigate to :guilabel:`Connected services` and check that your GitHub account is listed. - If it's not listed, add a connection to GitHub. See `How to connect your Read the Docs account to your Git provider`_. +#. In your account settings, navigate to :guilabel:`Connected services` and check that + your GitHub account is listed. If it's not listed, add a connection to GitHub. See + `How to connect your Read the Docs account to your Git provider`_. #. Use the `manual import`_ to create a project. -#. Specify the path to the :file:`.readthedocs.yaml` file for your build. - To do this, navigate to :guilabel:`Admin` > :guilabel:`Settings` and specify the path under "Path for ``.readthedocs.yaml``". +#. Specify the path to the ``.readthedocs.yaml`` file for your build. To do this, + navigate to :guilabel:`Admin` > :guilabel:`Settings` and specify the path under "Path + for ``.readthedocs.yaml``". - For example, if your documentation folder is :file:`docs/`, specify the path as ``docs/.readthedocs.yaml``. -#. Update the relative paths in the :file:`.readthedocs.yaml` file to match the structure of your project. You might need to update the file paths specified in the following fields: + For example, if your documentation is stored in the ``docs/`` directory, specify the + path as ``docs/.readthedocs.yaml``. +#. Update the relative paths in the ``.readthedocs.yaml`` file to match the structure of + your project. You might need to update the file paths specified in the following + fields: * ``job.post_checkout`` * ``sphinx.configuration`` * ``python.install.requirements`` -After this initial setup, your documentation should build successfully if your project is hosted from a public repository. -If you get any errors, check the build log for indications on what the problem is. +After this initial setup, your documentation should build successfully if your project +is hosted from a public repository. If you get any errors, check the build log for +indications on what the problem is. + +If your project was imported from a private repository, your initial build will fail +because Read the Docs won't have access to clone the repository. You need to copy your +project's public key from Read the Docs and add it as a deploy key to the repository, +then re-run the build in Read the Docs. -If your project was imported from a private repository, your initial build will fail because Read the Docs won't have access to clone the repository. -You need to copy your project's public key from Read the Docs and add it as a deploy key to the repository, then re-run the build in Read the Docs. Configure the webhook --------------------- -If you have administrator privileges for the GitHub repository that you are adding, the integration webhook (which is responsible for automatically building the documentation when the repository changes) is created automatically. +If you have administrator privileges for the GitHub repository that you are adding, the +integration webhook (which is responsible for automatically building the documentation +when the repository changes) is created automatically. + +If you don't have administrator privileges, the webhook must be set up by someone who +does. The person with administrator privileges must have connected their Read the Docs +account to GitHub. See `How to connect your Read the Docs account to your Git +provider`_. -If you don't have administrator privileges, the webhook must be set up by someone who does. -The person with administrator privileges must have connected their Read the Docs account to GitHub. -See `How to connect your Read the Docs account to your Git provider`_. +See `How to manually configure a Git repository integration`_ if you want to set up the +webhook manually. -See `How to manually configure a Git repository integration`_ if you want to set up the webhook manually. Make your documentation public ------------------------------ By default, Read the Docs publishes your documentation for logged-in users only. -To make the documentation public, you must configure the privacy level for each version of the documentation separately. -You can do this by navigating to the :guilabel:`Versions` tab and changing the :guilabel:`Privacy Level` for each version. +To make the documentation public, you must configure the privacy level for each version +of the documentation separately. You can do this by navigating to the +:guilabel:`Versions` tab and changing the :guilabel:`Privacy Level` for each version. + Enable PR previews ------------------ -To make Read the Docs automatically build your documentation when a pull request is opened or updated on GitHub, enable PR reviews for your project. +To make Read the Docs automatically build your documentation when a pull request is +opened or updated on GitHub, enable PR reviews for your project. -To do so, navigate to :guilabel:`Admin` > :guilabel:`Settings` and select :guilabel:`Build pull requests for this project`. +To do so, navigate to :guilabel:`Admin` > :guilabel:`Settings` and select +:guilabel:`Build pull requests for this project`. -Read the Docs will then automatically build the documentation for each pull request, and the link to the output will be available as one of the checks in the pull request. +Read the Docs will then automatically build the documentation for each pull request, and +the link to the output will be available as one of the checks in the pull request. diff --git a/docs/how-to/run-documentation-checks.rst b/docs/how-to/run-documentation-checks.rst index 7515e46..98d6b22 100644 --- a/docs/how-to/run-documentation-checks.rst +++ b/docs/how-to/run-documentation-checks.rst @@ -3,8 +3,8 @@ Run documentation checks ======================== -The starter pack comes with several tests and checks that you can (and should!) run on your documentation before committing and pushing changes: - +The Sphinx Stack comes with several tests and checks that you can (and should!) run on +your documentation before committing and pushing changes: - :ref:`accessibility_check` - :ref:`inclusive_lang_check` @@ -19,75 +19,99 @@ The starter pack comes with several tests and checks that you can (and should!) Accessibility check ------------------- -The Starter Pack checks the accessibility of the documentation with `Pa11y`_. It's configured to check for Level AA conformity to the `Web Content Accessibility Guidelines (WCAG) 2.2`_. +The Sphinx Stack checks the accessibility of the documentation with `Pa11y`_. It's +configured to check for Level AA conformity to the `Web Content Accessibility Guidelines +(WCAG) 2.2`_. -This check is only available locally; it is not part of the Starter Pack's :ref:`github-workflows`. +This check is only available locally; it is not part of the :ref:`github-workflows` in +the Sphinx Stack. -To run the check, you must have ``npm`` and ``Pa11y`` installed. To install ``npm``, refer to the `installation guide `__ for details. Then: +To run the check, you must have ``npm`` and ``Pa11y`` installed. To install ``npm``, +refer to the `installation guide +`__ for details. +Then: .. code-block:: bash npm install pa11y -To check the accessibility of the documentation, run the following command from within your ``/docs`` directory: +To check the accessibility of the documentation, run the following command in your +``/docs`` directory: .. code-block:: bash make pa11y + Configure ~~~~~~~~~ -The ``pa11y.json`` file in the ``.sphinx`` directory provides basic defaults expected to be used for all teams; refrain from removing any unless absolutely necessary. Additional settings and options are detailed in the ``Pa11y`` `README `__ on GitHub. +The ``pa11y.json`` file in the ``.sphinx`` directory provides basic defaults expected to +be used for all teams; refrain from removing any unless absolutely necessary. Additional +settings and options are detailed in the ``Pa11y`` `README +`__ on GitHub. + .. _inclusive_lang_check: Inclusive language check ------------------------ -The Starter Pack checks for inclusive language with a custom set of `Vale`_ rules. To check for inclusive language violations, run: +The Sphinx Stack checks for inclusive language with a custom set of `Vale`_ rules. To +check for inclusive language violations, run: .. code-block:: bash make woke + Configure ~~~~~~~~~ -If you need to exempt single words or sections, follow the process in :ref:`vale_exemptions`. +If you need to exempt single words or sections, follow the process in +:ref:`vale_exemptions`. + .. _link_check: Link check ---------- -The Starter Pack checks any links in your documentation with the Sphinx ``linkcheck`` builder. To validate the links, run: +The Sphinx Stack checks any links in your documentation with the Sphinx ``linkcheck`` +builder. To validate the links, run: .. code-block:: bash make linkcheck + Configure ~~~~~~~~~ -If you have links in the documentation that you don't want to check, add them to the ``linkcheck_ignore`` list in the ``conf.py`` file. +If you have links in the documentation that you don't want to check, add them to the +``linkcheck_ignore`` list in the ``conf.py`` file. + .. _markdown_lint_check: Markdown lint check ------------------- -The Starter Pack checks standards and consistency in Markdown files with the Markdown lint check. To check your Markdown files, run: +The Sphinx Stack checks standards and consistency in Markdown files with the Markdown +lint check. To check your Markdown files, run: .. code-block:: bash make lint-md + Configure ~~~~~~~~~ -You can update the linting rules in the ``.sphinx/.pymarkdown.json`` file. Refer to `the pymarkdown rules documentation `_ for all the available rules. +You can update the linting rules in the ``.sphinx/.pymarkdown.json`` file. Refer to `the +pymarkdown rules documentation `_ +for all the available rules. .. _spelling_check: @@ -95,47 +119,59 @@ You can update the linting rules in the ``.sphinx/.pymarkdown.json`` file. Refer Spelling check -------------- -The Starter Pack uses `Vale`_ to check the spelling in your documentation. It ignores inline code, code blocks, and URLs, but it does check the link text. To ensure there are no spelling errors in your documentation, run: +The Sphinx Stack uses `Vale`_ to check the spelling in your documentation. It ignores +inline code, code blocks, and URLs, but it does check the link text. To ensure there are +no spelling errors in your documentation, run: .. code-block:: bash make spelling + Configure ~~~~~~~~~ -If you need to exempt single words or sections, follow the process in :ref:`vale_exemptions`. +If you need to exempt single words or sections, follow the process in +:ref:`vale_exemptions`. + .. _style_guide_linting: Style guide linting ------------------- -The Starter Pack runs the `Vale`_ documentation linter configured with the rules of `style guide `__ To check your documentation with Vale, run: +The Sphinx Stack runs the `Vale`_ documentation linter configured with the rules of +`style guide `__ To check your +documentation with Vale, run: .. code-block:: bash make vale -Vale can run against individual files, directories, or globs. To check a specific target, run: +Vale can run against individual files, directories, or globs. To check a specific +target, run: .. code-block:: bash make vale TARGET=example.file make vale TARGET=example-directory -If you run the linter against a directory, its subdirectories ware also linted. +If you run the linter against a directory, its subdirectories were also linted. -You can use wildcards to lint globs of files. For example, to run against all Markdown files within a directory, you'd run: +You can use wildcards to lint globs of files. For example, to run against all Markdown +files within a directory, you'd run: .. code-block:: bash make vale TARGET=*.md + Configure ~~~~~~~~~ -If you need to exempt single words or sections, follow the process in :ref:`vale_exemptions`. +If you need to exempt single words or sections, follow the process in +:ref:`vale_exemptions`. + .. _vale_exemptions: .. _reference-automatic-checks-spelling-vale-ignore: @@ -143,12 +179,19 @@ If you need to exempt single words or sections, follow the process in :ref:`vale Vale exemptions --------------- -The :ref:`inclusive_lang_check`, :ref:`spelling_check`, and :ref:`style_guide_linting` all use `Vale`_. These checks share a common syntax for exemptions and pull from the same ``.custom_wordlist.txt`` file. The style guide repository `includes a common list of words `__ that will be excluded from the checks. +The :ref:`inclusive_lang_check`, :ref:`spelling_check`, and :ref:`style_guide_linting` +all use `Vale`_. These checks share a common syntax for exemptions and pull from the +same ``.custom_wordlist.txt`` file. The style guide repository `includes a common list +of words +`__ +that will be excluded from the checks. + A word ~~~~~~ -To ignore a single instance of a word, wrap it in the ``:vale-ignore:`` role. Ensure your ``conf.py`` file contains the appropriate class association in the ``rst_prolog``: +To ignore a single instance of a word, wrap it in the ``:vale-ignore:`` role. Ensure +your ``conf.py`` file contains the appropriate class association in the ``rst_prolog``: .. code-block:: text @@ -157,14 +200,16 @@ To ignore a single instance of a word, wrap it in the ``:vale-ignore:`` role. En :class: vale-ignore """ -To ignore a word across your documentation, add it to your project's ``.custom_wordlist.txt`` file. +To ignore a word across your documentation, add it to your project's +``.custom_wordlist.txt`` file. -.. note:: +.. admonition:: Case sensitivity + :class: note - Entries in ``.custom-wordlist`` are case-sensitive only when the word is capitalized. For instance: + Entries in ``.custom-wordlist`` are case-sensitive only when the word is capitalized. For instance: - - Adding ``kustom`` will cause all instances of ``Kustom`` and ``kustom`` to be ignored. - - Adding ``Kustom`` will cause only instances of ``Kustom`` to be ignored. + - Adding ``kustom`` will cause all instances of ``Kustom`` and ``kustom`` to be ignored. + - Adding ``Kustom`` will cause only instances of ``Kustom`` to be ignored. A section of text @@ -199,7 +244,8 @@ To disable Vale for a section of text, use the following markup: Directives ~~~~~~~~~~ -To disable Vale linting for Directives as a code block or admonitions, apply the `vale-ignore` class to the section: +To disable Vale linting for Directives as a code block or admonitions, apply the +``vale-ignore`` class to the section: .. tab-set:: @@ -223,10 +269,17 @@ To disable Vale linting for Directives as a code block or admonitions, apply the This content will be ignored by Vale. -The class process isn't be necessary for Markdown, as Vale has an expanded scope for ignoring Markdown content by default. Also, the `.. class::` directive for reST does not need to encapsulate content, it applies to the next logical block (which can be another directive or even a paragraph of content). The class option should only be used when other options aren't suitable. +The class process isn't be necessary for Markdown, as Vale has an expanded scope for +ignoring Markdown content by default. Also, the `.. class::` directive for reST does not +need to encapsulate content, it applies to the next logical block (which can be another +directive or even a paragraph of content). The class option should only be used when +other options aren't suitable. -.. note:: +.. admonition:: Hyphens and spaces + :class: note The checks may flag terms that contain hyphens or spaces. - For example, "Juju 3" wasn't ignored by default, and `needed to be added to be excepted with an upstream rule `_. + For example, "Juju 3" wasn't ignored by default, and `needed to be added to be + excepted with an upstream rule + `_. diff --git a/docs/how-to/troubleshooting.rst b/docs/how-to/troubleshooting.rst index bb91c07..ae6fc45 100644 --- a/docs/how-to/troubleshooting.rst +++ b/docs/how-to/troubleshooting.rst @@ -1,12 +1,12 @@ .. meta:: - :description: How to troubleshoot common issues with the Sphinx Starter Pack and Read the Docs. + :description: How to troubleshoot common issues with the Sphinx Stack and Read the Docs. .. _troubleshooting: Troubleshooting =================== -This page provides guidance to resolve issues with the Starter Pack and Read the Docs +This page provides guidance to resolve issues with the Sphinx Stack and Read the Docs that are difficult to identify or that we don't expect to be solved. @@ -45,6 +45,7 @@ GitHub page is a 404, then your project has a zombie version. .. image:: ../how-to/assets/troubleshoot-stable-zombie-version.png + Resolution ~~~~~~~~~~ diff --git a/docs/how-to/update-sphinx-stack/index.rst b/docs/how-to/update-sphinx-stack/index.rst new file mode 100644 index 0000000..cd3b2f8 --- /dev/null +++ b/docs/how-to/update-sphinx-stack/index.rst @@ -0,0 +1,55 @@ +.. meta:: + :description: Learn how to update your Sphinx Stack with the latest features and improvements. + +.. _update-sphinx-stacks: + +Update your Sphinx Stack +======================== + +The Sphinx Stack is updated frequently. After you copy its code and it becomes the +documentation system in your project, you must manually maintain it. + +There are special pathways to bring in the latest features and improvements from the +Sphinx Stack repository. + + +Determine your current version +------------------------------ + +There are two versions of the Sphinx Stack that entail different update processes: + +- the **new**, or **extension-based** Sphinx Stack +- the **legacy**, or **pre-extension** Sphinx Stack + + +New Sphinx Stack +^^^^^^^^^^^^^^^^ + +If your ``conf.py`` file includes ``canonical-sphinx`` under the ``extensions`` list, +you are using the new Sphinx Stack. + +To update a new Sphinx Stack project to the latest version, see: + +- :ref:`update-new-sphinx-stack` + +.. note:: + + New Sphinx Stack releases use a semantic versioning scheme for minor and patch + versions, which can be found in your project's ``.sphinx/version`` file. + + +Legacy Sphinx Stack +^^^^^^^^^^^^^^^^^^^^ + +If your ``conf.py`` file does _not_ include ``canonical-sphinx`` you are using the +legacy Sphinx Stack. + +To update a legacy Sphinx Stack project to the latest version of the new Sphinx Stack: + +- :ref:`update-legacy-sphinx-stack` + +.. toctree:: + :hidden: + + New Sphinx Stack + Legacy Sphinx Stack diff --git a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst new file mode 100644 index 0000000..65f80f4 --- /dev/null +++ b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst @@ -0,0 +1,257 @@ +.. meta:: + :description: Learn how to update Sphinx Stack projects that don't yet use the canonical-sphinx extension. + +.. _update-legacy-sphinx-stack: + +Update the legacy Sphinx Stack +============================== + +This guide outlines the steps required to migrate a documentation project from the +legacy Sphinx Stack (*pre-extension* version) to the latest version that adopts the +``canonical-sphinx`` Sphinx extension. + +The extension-based Sphinx Stack provides a set of features and configurations that are +common across Canonical documentation projects. Key components, such as configuration +and styling, are loaded as an add-on to your project. It can significantly reduce +maintenance concerns when managing your documentation. + +.. note:: + + If ``canonical-sphinx`` is included under ``extensions`` in your ``conf.py`` file, + you are already using an extension-based Sphinx Stack. Follow the guide on + :ref:`updating the new Sphinx Stack `. + + +Update to the last pre-extension version +---------------------------------------- + +Update your documentation project to use the last pre-extension version of the Sphinx +Stack. Doing so will minimize the changes required during the migration by including the +the latest features and configurations available in the pre-extension version. + +In your project repository, check out the `pre-extension release tag +`_: + +.. code-block:: bash + + git checkout tags/pre-extension + +.. admonition:: Repository in detached HEAD state + :class: note + + Checking out a tag leaves your repository in a `detached HEAD state + `_. Before proceeding, create + a new branch: + + .. code-block:: bash + + git checkout -b migrate-to-extension + + +Set up a new project +-------------------- + +#. Back up all existing files in your original documentation project. For example, you + can rename the original ``docs/`` directory to ``docs_backup/``. + + .. warning:: + + If you proceed in the same directory, the following steps will overwrite some of + the configuration files in the original project. +#. Follow the steps in the :ref:`initial-setup` guide to initialise an empty project + with the extension-based Sphinx Stack, at the original file path. +#. Ensure the following files are at the root of your repository: + + - ``.github/workflows/*`` +#. Ensure the following files are moved to their original paths in the project. These + files are defaulted to the repository root, but may have be changed upon project + needs: + + - ``.gitignore`` + - ``.readthedocs.yml`` +#. Validate the project setup locally by running ``make run`` in the new project + directory. + + +Migrate source files +-------------------- + +The Sphinx Stack has undergone breaking changes with the introduction of the +``canonical-sphinx`` extension. This section guides you through: + +- Configuration file changes +- Extension dependencies +- Documentation source migration + +For a complete list of the structural changes, refer to the +`directory-structure-change`_ section. + + +Sphinx configuration +~~~~~~~~~~~~~~~~~~~~~ + +A significant change in the new Sphinx Stack is the organisation of the configuration +files, summarised in the following table: + +.. list-table:: + :widths: 20 40 40 + :header-rows: 1 + + * - Configuration file + - Pre-extension + - Extension-based + * - ``conf.py`` + - Common configurations shared by all Sphinx Stack projects + - Project-specific configurations + * - ``custom_conf.py`` + - Project-specific configuration + - Merged into ``conf.py`` and removed + +In the new Sphinx Stack, many common configurations are provided by the extension and +are loaded automatically when building the documentation. ``docs/conf.py`` is the only +configuration file, and it contains all project-specific configuration. Sensible +defaults are set for general configuration by inclusion of the ``canonical-sphinx`` +extension. + +Ensure that all the previous changes in the original ``custom_conf.py`` file are copied +to the new ``conf.py`` file. + + +Dependencies +~~~~~~~~~~~~ + +If your project requires additional extensions beyond the default list, add the +extension list to the new project in ``docs/requirements.txt``. + + +Documentation source files +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Copy all documentation source files from your original project to the new project, + keeping their original structure. These file may include but are not limited to: + + - ``.md`` + - ``.rst`` + - ``.txt`` + - ``.json`` + - images + - scripts +#. Validate the migration by running ``make run``. + + +Apply customisation +------------------- + +If your projects have custom configurations or styles, ensure that you identify and +apply these changes to the new documentation project. + +For general information on customising the extension configuration, see +:ref:`configure-your-project`. + + +Static resources +~~~~~~~~~~~~~~~~ + +The extension provides a set of static resources, such as images, fonts, CSS files, and +HTML templates, that are used to style the documentation for Canonical-branded design. +These resources are bundled with the extension and are no longer provided as source +files in the new Sphinx Stack. + +If you have customised any of these resources in the original project, you need to +manually migrate these changes to the new project. + +For example, if you added customised styling in the original +``.sphinx/_static/custom.css`` file, follow the steps: + +#. Compare the changes between your customised file and the `default CSS file provided + by the extension + `_. + This comparison helps you identify the changes that need to be migrated to the new + project. +#. Create a new CSS file under ``docs/.sphinx/_static``. You can choose any other file + location in the project directory, but it's recommended to keep the file structure + similar to the original project. +#. Copy the additions and changes to the new empty file. +#. In the ``conf.py``, add the new files into the pre-defined ``html_css_files`` list + variable to overwrite the default settings. +#. Build the documentation to verify that the customised styling is applied correctly. + + +.. _directory-structure-change: + +Directory structure changes +---------------------------- + +After you migrate to the extension, some directories and files are either deleted from +the project or moved to a new location. + +Assuming that all previous documentation files were in the ``docs/`` sub-directory, the +following list illustrates the changes in the directory structure after the migration. + +.. code-block:: text + + . + ├── .github + │ └── workflows + │ ├── automatic-doc-checks.yml + │ └── markdown-style-checks.yml + ├── .sphinx # moved to `docs/.sphinx` + │ ├── fonts # removed, files are part of the extension + │ │ ├── Ubuntu-B.ttf + │ │ ├── ubuntu-font-licence-1.0.txt + │ │ ├── UbuntuMono-B.ttf + │ │ ├── UbuntuMono-RI.ttf + │ │ ├── UbuntuMono-R.ttf + │ │ ├── Ubuntu-RI.ttf + │ │ └── Ubuntu-R.ttf + │ ├── images # removed, files are part of the extension + │ │ ├── Canonical-logo-4x.png + │ │ ├── front-page-light.pdf + │ │ ├── front-page.png + │ │ └── normal-page-footer.pdf + │ ├── _static # removed, files are part of the extension + │ │ ├── 404.svg + │ │ ├── custom.css + │ │ ├── favicon.png + │ │ ├── footer.css + │ │ ├── footer.js + │ │ ├── furo_colors.css + │ │ ├── github_issue_links.css + │ │ ├── github_issue_links.js + │ │ ├── header.css + │ │ ├── header-nav.js + │ │ └── tag.png + │ ├── _templates # removed, files are part of the extension + │ │ ├── sidebar + │ │ │ └── search.html + │ │ ├── 404.html + │ │ ├── base.html + │ │ ├── footer.html + │ │ ├── header.html + │ │ └── page.html + │ ├── build_requirements.py # removed + │ ├── get_vale_conf.py + │ ├── latex_elements_template.txt # removed, now part of the extension + │ ├── pa11y-ci.json # renamed to `pa11y.json` + │ └── spellingcheck.yaml + ├── metrics # removed + │ └── scripts + │ ├── build_metrics.sh + │ └── source_metrics.sh + ├── reuse # moved to `docs/reuse` + │ └── links.txt + ├── .custom_wordlist.txt # moved to `docs/.custom_wordlist.txt` + ├── .gitignore + ├── .readthedocs.yaml + ├── .wordlist.txt # moved to `docs/.sphinx/.wordlist.txt` + ├── .wokeignore # removed, check replaced by Vale + ├── conf.py # removed, now part of the extension + ├── custom_conf.py # renamed and moved to `docs/conf.py` + ├── doc-cheat-sheet-myst.md # moved to `docs/doc-cheat-sheet-myst.md` + ├── doc-cheat-sheet.rst # moved to `docs/doc-cheat-sheet.rst` + ├── index.rst # moved to `docs/index.rst` + ├── init.sh # removed + ├── make.bat # removed + ├── Makefile # moved to `docs/Makefile` + ├── Makefile.sp # removed + └── readme.rst # renamed to `README.rst` diff --git a/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst new file mode 100644 index 0000000..60c1a20 --- /dev/null +++ b/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst @@ -0,0 +1,181 @@ +.. meta:: + :description: Learn how to update Sphinx Stack projects that use the canonical-sphinx extension. + +.. _update-new-sphinx-stack: + +Update the new Sphinx Stack +=========================== + +The Sphinx Stack is regularly updated to add features and address +bugs. You can transfer these improvements to your project by following these steps: + +- Clone the latest version of the Sphinx Stack +- Compare key files and directories in the Sphinx Stack to your project +- Transfer or delete relevant changes +- Confirm that your project builds correctly with the new changes + +This guide assumes your project has minimal customizations, and the repository structure +closely mirrors that of the Sphinx Stack. Depending on your customizations, you may need +to take extra steps when updating. + +.. note:: + + If ``canonical-sphinx`` is not included under ``extensions`` in your ``conf.py`` + file, your project is not on an extension-based Sphinx Stack. Follow the guide on + :ref:`updating a legacy Sphinx Stack project `. + + +Clone the Sphinx Stack repository +--------------------------------- +If you don't have a clean, local copy of the Sphinx Stack, clone it: + +.. code-block:: + + git clone https://github.com/canonical/sphinx-stack.git + +Confirm that the Sphinx Stack documentation and your project build with no errors. + +.. important:: + + Verify that your project still builds correctly after each key step. This + makes it easier to identify causes of build errors. + + +Update the configuration and build files +---------------------------------------- + +New Sphinx Stack versions often change the default configuration files. You'll +need to merge your project files with the config files from the new Sphinx Stack. +The recommended approach is to copy the customizations in your project to the Sphinx +Stack config files and then replace your project's config files with those from the +Sphinx Stack. + +The changes to be made vary between projects and updates. Therefore, this guide cannot +be overly prescriptive. + + +``conf.py`` +~~~~~~~~~~~ + +Rename your ``conf.py`` file to avoid overwriting it, and copy the Sphinx Stack version +to the same location. Use a graphical diff tool such as `Kompare +`_ or `meld `_ to compare the old +and new file and make the following changes: + +- Copy your standard project details to the new ``conf.py`` file. These include: + + - Project and author names + - Ignored links + - Social links, etc. +- Verify that the ``/static`` and ``/templates`` directories are located at the + locations specified by ``html_static_path`` and ``templates_path``, respectively, in + the new ``conf.py`` file. These should not be inside the ``/.sphinx`` directory. + +For other customizations, consider need and compatibility before copying them to the new +file. If it's not obvious whether you should copy over a customization or include a new +change, reach out to `Canonical's documentation team +`_. + + +``Makefile`` and ``.readthedocs.yaml`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Depending on the version of your project's Sphinx Stack, the new ``Makefile`` and +``.readthedocs.yaml`` files may have few or no changes. Apply the same approach you used +for ``conf.py`` to merge your customizations into the new files. + +If there are no project-specific customizations in your files but there are changes in +the new ones, you can just overwrite your existing files with the new ones. + + +Update the ``.sphinx`` directory +-------------------------------- + +In addition to the docs above, the ``/.sphinx`` directory is also likely to have some +changes in each update. These files are not intended to be modified by users. + +Unless you intentionally customized files in this directory, you can simply delete your +project's ``/.sphinx`` directory and replace it with the Sphinx Stack's. If there are +modifications in your project's ``/.sphinx`` directory, it is recommended that they +transfer them out. + + +Review the remaining files +-------------------------- + +Some files in the Sphinx Stack may be updated less frequently, but it's a good idea +to review them during each update and determine if there are relevant changes: + +- Review ``requirements.txt``: If there are any updates, and your project's file + has no repository-specific requirements, you can overwrite the existing file + with the new one. If you added requirements based on your customizations, be + sure to include them. + +- Review the workflows in the ``/.github`` directory: If there are changes in the + following workflows, replace the existing files with the new ones. The Sphinx + Stack will have other workflows as well, but you'll need to decide whether your + project needs them or not: + + - Automatic doc checks + - CLA (contributor license agreement) check + - Check for removed URLs + - Markdown style check (only required for docs using markdown) +- Review and transfer any necessary changes in the new ``.gitignore`` file to your + project. + + +Build and test +-------------- + +Try building the docs locally and check the terminal output for errors: + +.. code-block:: bash + + make run + +To ensure the updated docs will pass CI checks when you make a pull request, run +the following commands and fix any errors reported: + +- ``make spelling`` +- ``make linkcheck`` +- ``make woke`` +- ``make lint-md`` (if you included the ``markdown-style-checks`` workflow) + + +Troubleshooting errors +---------------------- + +There is always the possibility of encountering build errors. Common causes +include: + +- Incorrect file locations or file paths +- Incompatible requirements in the new requirements file +- Missing customizations +- Cached build files + +When troubleshooting use the ``make clean`` command to ensure cached versions of +build files are not reused. + + +Clean up +-------- + +There may be files that need to be deleted after the update such as Sphinx Stack files +or files that have been replaced with newer versions: + +- If you haven't done so already, delete the copies of ``conf.py``, ``Makefile``, and + ``/.readthedocs.yaml`` that were renamed and replaced. +- If you did not strictly follow this guide for this or previous updates, it's + possible that you have some Sphinx Stack files in your project. + These files can be safely deleted: + + - ``.github/pull_request_template.md`` + - ``.github/workflows/sphinx-python-dependency-build-checks.yml`` + - ``.github/CODEOWNERS`` + - ``.github/workflows/test-sphinx-stack.yml`` +- These files can be deleted as long as they are not being used in your docs: + + - ``docs/reuse/links.txt`` + - ``docs/reuse/mermaid.txt`` + - ``docs/reuse/substitutions.txt`` + - ``docs/reuse/substitutions.yaml`` diff --git a/docs/how-to/update-starter-packs/index.rst b/docs/how-to/update-starter-packs/index.rst deleted file mode 100644 index c1c785f..0000000 --- a/docs/how-to/update-starter-packs/index.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. meta:: - :description: Learn how to update your Sphinx Starter Pack with the latest features and improvements. - -.. _update-starter-packs: - -======================== -Update your Starter Pack -======================== - -The Starter Pack is updated frequently. After you copy its code and it becomes the documentation system in your project, you must manually maintain it. - -There are special pathways to bring in the latest features and improvements from the Starter Pack repository. - -Determine your current version ------------------------------- - -There are two versions of the Starter Pack that entail different update processes: - -- the **new**, or **extension-based** Starter Pack -- the **legacy**, or **pre-extension** Starter Pack - -New Starter Pack -^^^^^^^^^^^^^^^^^ - -If your :file:`conf.py` includes ``canonical-sphinx`` under the ``extensions`` list, you are using the new Starter Pack. - -To update a new Starter Pack project to the latest version, see: - -- :ref:`update-new-starter-pack` - -.. note:: - New Starter Pack releases use a semantic versioning scheme for minor and patch versions, which can be found in your project's :file:`.sphinx/version` file. - -Legacy Starter Pack -^^^^^^^^^^^^^^^^^^^^ - -If your :file:`conf.py` does _not_ include ``canonical-sphinx`` you are using the legacy Starter Pack. - -To update a legacy Starter Pack project to the latest version of the new Starter Pack: - -- :ref:`update-legacy-starter-pack` - -.. toctree:: - :hidden: - - New Starter Pack - Legacy Starter Pack diff --git a/docs/how-to/update-starter-packs/legacy-starter-pack.rst b/docs/how-to/update-starter-packs/legacy-starter-pack.rst deleted file mode 100644 index 07a299b..0000000 --- a/docs/how-to/update-starter-packs/legacy-starter-pack.rst +++ /dev/null @@ -1,216 +0,0 @@ -.. meta:: - :description: Learn how to update Sphinx Starter Pack projects that don't yet use the canonical-sphinx extension. - -.. _update-legacy-starter-pack: - -Update the legacy Starter Pack -============================== - -This guide outlines the steps required to migrate a documentation project from the legacy Sphinx Documentation Starter Pack (*pre-extension* version) to the latest version that adopts the ``canonical-sphinx`` Sphinx extension. - -The extension-based documentation Starter Pack provides a set of features and configurations that are common across Canonical documentation projects. Key components, such as configuration and styling, are loaded as an add-on to your project. It can significantly reduce maintenance concerns when managing your documentation. - -.. note:: - If ``canonical-sphinx`` is included under ``extensions`` in your `conf.py`, - you are already using an extension-based starter-pack. Follow the guide on - :ref:`updating the new Starter Pack `. - -Update to the last pre-extension version ----------------------------------------- - -Update your documentation project to use the last pre-extension version of the Sphinx Documentation Starter Pack. Doing so will minimize the changes required during the migration by including the the latest features and configurations available in the pre-extension version. - -In your project repository, check out the `pre-extension release tag `_: - -.. code-block:: bash - - git checkout tags/pre-extension - -.. admonition:: Repository in detached HEAD state - :class: note - - Checking out a tag leaves your repository in a `detached HEAD state `_. Before proceeding, create a new branch: - - .. code-block:: bash - - git checkout -b migrate-to-extension - - -Set up a new project --------------------- - -1. Back up all existing files in your original documentation project. For example, you can rename the original ``docs/`` folder to ``docs_backup/``. - - .. warning:: - - If you proceed in the same directory, the following steps will overwrite some of the configuration files in the original project. - -2. Follow the steps in the :ref:`initial-setup` guide to initialise an empty project with the extension-based Starter Pack, at the original file path. - -3. Ensure the following files are at the root of your repository: - - - ``.github/workflows/*`` - -4. Ensure the following files are moved to their original paths in the project. These files are defaulted to the repository root, but may have be changed upon project needs: - - - ``.gitignore`` - - ``.readthedocs.yml`` - -5. Validate the project setup locally by running ``make run`` in the new project directory. - - -Migrate source files --------------------- - -The documentation Starter Pack has undergone breaking changes with the introduction of the ``canonical-sphinx`` extension. This section guides you through: - -- Configuration file changes -- Extension dependencies -- Documentation source migration - -For a complete list of the structural changes, refer to the `directory-structure-change`_ section. - -Sphinx configuration -~~~~~~~~~~~~~~~~~~~~~ - -A significant change in the new Starter Pack is the organisation of the configuration files, summarised in the following table: - -.. list-table:: - :widths: 20 40 40 - :header-rows: 1 - - * - Configuration file - - Pre-extension - - Extension-based - * - ``conf.py`` - - Common configurations shared by all Starter Pack projects - - Project-specific configurations - * - ``custom_conf.py`` - - Project-specific configuration - - Merged into ``conf.py`` and removed - -In the new Starter Pack, many common configurations are provided by the extension and are loaded automatically when building the documentation. ``docs/conf.py`` is the only configuration file, and it contains all project-specific configuration. Sensible defaults are set for general configuration by inclusion of the `canonical-sphinx` extension. - -Ensure that all the previous changes in the original ``custom_conf.py`` file are copied to the new ``conf.py`` file. - -Dependencies -~~~~~~~~~~~~ - -If your project requires additional extensions beyond the default list, add the extension list to the new project in ``docs/requirements.txt``. - -Documentation source files -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -1. Remove the Starter Pack's documentation files (``index.rst`` and any files in the ``docs/**/*`` sub-directory). - -2. Copy all documentation source files from your original project to the new project, keeping their original structure. These file may include but are not limited to: - - - ``.md`` - - ``.rst`` - - ``.txt`` - - ``.json`` - - images - - scripts - -3. Validate the migration by running ``make run``. - -Apply customisation -------------------- - -If your projects have custom configurations or styles, ensure that you identify and apply these changes to the new documentation project. - -For general information on customising the extension configuration, see :ref:`configure-your-project`. - -Static resources -~~~~~~~~~~~~~~~~ - -The extension provides a set of static resources, such as images, fonts, CSS files, and HTML templates, that are used to style the documentation for Canonical-branded design. These resources are bundled with the extension and are no longer provided as source files in the new Starter Pack. - -If you have customised any of these resources in the original project, you need to manually migrate these changes to the new project. - -For example, if you added customised styling in the original ``.sphinx/_static/custom.css`` file, follow the steps: - -1. Compare the changes between your customised file and the `default CSS file provided by the extension `_. This comparison helps you identify the changes that need to be migrated to the new project. -2. Create a new CSS file under ``docs/.sphinx/_static``. You can choose any other file location in the project directory, but it's recommended to keep the file structure similar to the original project. -3. Copy the additions and changes to the new empty file. -4. In the ``conf.py``, add the new files into the pre-defined ``html_css_files`` list variable to overwrite the default settings. -5. Build the documentation to verify that the customised styling is applied correctly. - - -.. _directory-structure-change: - -Directory structure changes ----------------------------- - -After you migrate to the extension, some directories and files are either deleted from the project or moved to a new location. - -Assuming that all previous documentation files were in the ``docs/`` sub-directory, the following list illustrates the changes in the directory structure after the migration. - -.. code-block:: text - - . - ├── .github - │ └── workflows - │ ├── automatic-doc-checks.yml - │ └── markdown-style-checks.yml - ├── .sphinx # moved to `docs/.sphinx` - │ ├── fonts # removed, files are part of the extension - │ │ ├── Ubuntu-B.ttf - │ │ ├── ubuntu-font-licence-1.0.txt - │ │ ├── UbuntuMono-B.ttf - │ │ ├── UbuntuMono-RI.ttf - │ │ ├── UbuntuMono-R.ttf - │ │ ├── Ubuntu-RI.ttf - │ │ └── Ubuntu-R.ttf - │ ├── images # removed, files are part of the extension - │ │ ├── Canonical-logo-4x.png - │ │ ├── front-page-light.pdf - │ │ ├── front-page.png - │ │ └── normal-page-footer.pdf - │ ├── _static # removed, files are part of the extension - │ │ ├── 404.svg - │ │ ├── custom.css - │ │ ├── favicon.png - │ │ ├── footer.css - │ │ ├── footer.js - │ │ ├── furo_colors.css - │ │ ├── github_issue_links.css - │ │ ├── github_issue_links.js - │ │ ├── header.css - │ │ ├── header-nav.js - │ │ └── tag.png - │ ├── _templates # removed, files are part of the extension - │ │ ├── sidebar - │ │ │ └── search.html - │ │ ├── 404.html - │ │ ├── base.html - │ │ ├── footer.html - │ │ ├── header.html - │ │ └── page.html - │ ├── build_requirements.py # removed - │ ├── get_vale_conf.py - │ ├── latex_elements_template.txt # removed, now part of the extension - │ ├── pa11y-ci.json # renamed to `pa11y.json` - │ └── spellingcheck.yaml - ├── metrics # removed - │ └── scripts - │ ├── build_metrics.sh - │ └── source_metrics.sh - ├── reuse # moved to `docs/reuse` - │ └── links.txt - ├── .custom_wordlist.txt # moved to `docs/.custom_wordlist.txt` - ├── .gitignore - ├── .readthedocs.yaml - ├── .wordlist.txt # moved to `docs/.sphinx/.wordlist.txt` - ├── .wokeignore # removed, check replaced by Vale - ├── conf.py # removed, now part of the extension - ├── custom_conf.py # renamed and moved to `docs/conf.py` - ├── doc-cheat-sheet-myst.md # moved to `docs/doc-cheat-sheet-myst.md` - ├── doc-cheat-sheet.rst # moved to `docs/doc-cheat-sheet.rst` - ├── index.rst # moved to `docs/index.rst` - ├── init.sh # removed - ├── make.bat # removed - ├── Makefile # moved to `docs/Makefile` - ├── Makefile.sp # removed - └── readme.rst # renamed to `README.rst` - diff --git a/docs/how-to/update-starter-packs/new-starter-pack.rst b/docs/how-to/update-starter-packs/new-starter-pack.rst deleted file mode 100644 index 7f1e042..0000000 --- a/docs/how-to/update-starter-packs/new-starter-pack.rst +++ /dev/null @@ -1,164 +0,0 @@ -.. meta:: - :description: Learn how to update Sphinx Starter Pack projects that use the canonical-sphinx extension. - -.. _update-new-starter-pack: - -Update the new Starter Pack -=========================== - -The documentation Starter Pack is regularly updated to add features and address -bugs. You can transfer these improvements to your project by following these steps: - -- Clone the latest version of the Starter Pack -- Compare key files and directories in the Starter Pack to your project -- Transfer or delete relevant changes -- Confirm that your project builds correctly with the new changes - -This guide assumes your project has minimal customizations, and the repository -structure closely mirrors the Starter Pack's. Depending on your customizations, -you may need to take extra steps when updating. - -.. note:: - If ``canonical-sphinx`` is not included under ``extensions`` in your ``conf.py``, - your project is not on an extension-based starter-pack. Follow the guide on - :ref:`updating a legacy Starter Pack project `. - -Clone the Starter Pack repository ---------------------------------- -If you don't have a clean, local copy of the Starter Pack, clone it: - -.. code-block:: - - git clone https://github.com/canonical/sphinx-docs-starter-pack.git - -Confirm that both the Starter Pack's documentation and your project build with -no errors. - -.. important:: - Verify that your project still builds correctly after each key step. This - makes it easier to identify causes of build errors. - -Update the configuration and build files ----------------------------------------- -New Starter Pack versions often change the default configuration files. You'll -need to merge your project files with the config files from the new Starter Pack. -The recommended approach is to copy the customizations in your project to the starter -pack's config files and then replace your project's config files with the starter -pack's. - -The changes to be made vary between projects and updates. Therefore, this guide -cannot be overly prescriptive. - -``conf.py`` -~~~~~~~~~~~ -Rename your ``conf.py`` file to avoid overwriting it, and copy the Starter Pack's -version to the same location. Use a graphical diff tool such as `Kompare `_ -or `meld `_ to compare the old and new file and make the -following changes: - -- Copy your standard project details to the new ``conf.py`` file. These include: - - - Project and author names - - Ignored links - - Social links, etc. - -- Verify that the ``/static`` and ``/templates`` directories are located at the locations - specified by ``html_static_path`` and ``templates_path``, respectively, in the - new ``conf.py`` file. These should not be inside the ``/.sphinx`` directory. - -For other customizations, consider need and compatibility before copying them to -the new file. If it's not obvious whether you should copy over a customization -or include a new change, reach out to `Canonical's documentation team `_. - -``Makefile`` and ``.readthedocs.yaml`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Depending on the version of your project's Starter Pack, the new ``Makefile`` and ``.readthedocs.yaml`` -files may have few or no changes. Apply the same approach you used for ``conf.py`` -to merge your customizations into the new files. - -If there are no project-specific customizations in your files but there are changes -in the new ones, you can just overwrite your existing files with the new ones. - -Update the ``.sphinx`` directory --------------------------------- -In addition to the docs above, the ``/.sphinx`` directory is also likely to have some -changes in each update. These files are not intended to be modified by users. - -Unless you intentionally customized files in this directory, you can simply delete -your project's ``/.sphinx`` directory and replace it with the Starter Pack's. If there -are modifications in your project's ``/.sphinx`` directory, it is recommended that -they transfer them out. - -Review the remaining files --------------------------- -Some files in the Starter Pack may be updated less frequently, but it's a good idea -to review them during each update and determine if there are relevant changes: - -- Review ``requirements.txt``: If there are any updates, and your project's file - has no repository-specific requirements, you can overwrite the existing file - with the new one. If you added requirements based on your customizations be - sure to include them, e.g., ``sphinxext-rediraffe`` if you use rediraffe to - handle redirects. - -- Review the workflows in the ``/.github`` directory: If there are changes in the - following workflows, replace the existing files with the new ones. The starter - pack will have other workflows as well, but you'll need to decide whether your - project needs them or not: - - - Automatic doc checks - - CLA (contributor license agreement) check - - Check for removed URLs - - Markdown style check (only required for docs using markdown) - -- Review and transfer any necessary changes in the new ``.gitignore`` file to your - project. - -Build and test --------------- -Try building the docs locally and check the terminal output for errors:: - - make run - -To ensure the updated docs will pass CI checks when you make a pull request, run -the following commands and fix any errors reported: - -- ``make spelling`` -- ``make linkcheck`` -- ``make woke`` -- ``make lint-md`` (if you included the ``markdown-style-checks`` workflow) - -Troubleshooting errors ----------------------- -There is always the possibility of encountering build errors. Common causes -include: - -- Incorrect file locations or file paths -- Incompatible requirements in the new requirements file -- Missing customizations -- Cached build files - -When troubleshooting use the ``make clean`` command to ensure cached versions of -build files are not reused. - -Clean up --------- -There may be files that need to be deleted after the update such as starter-pack -specific files or files that have been replaced with newer versions: - -- If you haven't done so already, delete the copies of ``conf.py``, ``Makefile``, and - ``/.readthedocs.yaml`` that were renamed and replaced. -- If you did not strictly follow this guide for this or previous updates, it's - possible that you have some Starter Pack-specific files in your project. - These files can be safely deleted: - - - ``.github/pull_request_template.md`` - - ``.github/workflows/sphinx-python-dependency-build-checks.yml`` - - ``.github/CODEOWNERS`` - - ``.github/workflows/test-starter-pack.yml`` - -- These files can be deleted as long as they are not being used in your docs: - - - ``docs/reuse/links.txt`` - - ``docs/reuse/mermaid.txt`` - - ``docs/reuse/substitutions.txt`` - - ``docs/reuse/substitutions.yaml`` diff --git a/docs/index.rst b/docs/index.rst index 36a9737..656ec2c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,8 +1,8 @@ -Sphinx Starter Pack documentation -================================= +Sphinx Stack documentation +========================== -The documentation Starter Pack helps you to quickly set up, build, and publish -documentation with Sphinx. +The Sphinx Stack helps you to quickly set up, build, and publish documentation with +Sphinx. It contains common styling and configuration through the `Canonical Sphinx`_ extension, supports both |RST| and Markdown, and includes automatic documentation checks. @@ -17,7 +17,7 @@ In this documentation :link: /set-up-a-new-project :link-type: doc - Set up the Sphinx Starter Pack in your project for the first time. + Set up the Sphinx Stack in your project for the first time. .. grid-item-card:: How-to guides :link: /how-to/index @@ -37,13 +37,14 @@ In this documentation :link: /explanation/index :link-type: doc - **Concepts** - understand the design and architecture of the Starter Pack. + **Concepts** - understand the design and architecture of the Sphinx Stack. Project and community ---------------------- -The Canonical Sphinx Starter Pack is an open source project that warmly welcomes community contributions, suggestions, fixes and constructive feedback. +The Canonical Sphinx Stack is an open source project that warmly welcomes community +contributions, suggestions, fixes and constructive feedback. .. toctree:: diff --git a/docs/redirects.txt b/docs/redirects.txt index 3ba6791..24bf9e6 100644 --- a/docs/redirects.txt +++ b/docs/redirects.txt @@ -18,8 +18,10 @@ "how-to/build/" "how-to/build-and-preview" "how-to/edit/" "set-up-a-new-project" "how-to/guidance/" "how-to" -"how-to/migrate-from-pre-extension" "how-to/update-starter-packs/legacy-starter-pack" -"how-to/update-starter-packs/pre-extension" "how-to/update-starter-packs/legacy-starter-pack" +"how-to/migrate-from-pre-extension" "how-to/update-sphinx-stack/legacy-sphinx-stack" +"how-to/update-starter-packs/pre-extension" "how-to/update-sphinx-stack/legacy-sphinx-stack" +"how-to/update-starter-packs/legacy-starter-pack" "how-to/update-sphinx-stack/legacy-sphinx-stack" +"how-to/update-starter-packs/new-starter-pack" "how-to/update-sphinx-stack/new-sphinx-stack" "how-to/bridge-project-and-doc-builds/" "how-to/optional-customisation/bridge-project-and-docs-builds" "how-to/create-data-tables/" "how-to/optional-customisation/interactive-tables" "how-to/custom-templates/" "how-to/optional-customisation/custom-html-templates" diff --git a/docs/reference/default-extensions.rst b/docs/reference/default-extensions.rst index 0ab8e58..669cf89 100644 --- a/docs/reference/default-extensions.rst +++ b/docs/reference/default-extensions.rst @@ -1,12 +1,12 @@ .. meta:: - :description: A list of extensions included in the Starter Pack by default. + :description: A list of extensions included in the Sphinx Stack by default. .. _reference-default-sphinx-extensions: Default Sphinx extensions ========================= -These extensions are enabled in the Starter Pack by default. +These extensions are enabled in the Sphinx Stack by default. ``canonical_sphinx`` Contains the default Canonical branded theme. @@ -24,7 +24,7 @@ These extensions are enabled in the Starter Pack by default. Handles URL redirects for moved or deleted pages. Default Support for this extension will be dropped in an upcoming release of the - Starter Pack. Update your documentation to use ``sphinxext-rediraffe`` instead. + Sphinx Stack. Update your documentation to use ``sphinx-rerediraffe`` instead. Needed by ``canonical_sphinx``. diff --git a/docs/reference/github-workflows.rst b/docs/reference/github-workflows.rst index 00e4a3e..40d45db 100644 --- a/docs/reference/github-workflows.rst +++ b/docs/reference/github-workflows.rst @@ -3,10 +3,12 @@ GitHub workflows ================ -The primary documentation workflow checks spelling, links, and inclusive language in a documentation project; -these are the same checks as described in :ref:`run-documentation-checks`. +The primary documentation workflow checks spelling, links, and inclusive language in a +documentation project; these are the same checks as described in +:ref:`run-documentation-checks`. -The ``documentation-checks.yaml`` workflow covers these three checks and can be added to a new or existing workflow's jobs with: +The ``documentation-checks.yaml`` workflow covers these three checks and can be added to +a new or existing workflow's jobs with: .. code:: yaml @@ -18,8 +20,8 @@ The ``documentation-checks.yaml`` workflow covers these three checks and can be working-directory: 'docs' -Workflows are also available for each individual check so that projects may run a subset of -those defined in ``documentation-checks.yaml``: +Workflows are also available for each individual check so that projects may run a subset +of those defined in ``documentation-checks.yaml``: .. code:: yaml @@ -41,8 +43,9 @@ those defined in ``documentation-checks.yaml``: Input ----- -The table below lists the inputs for the ``documentation-checks.yaml`` workflow. If your project consumes the -Starter Pack in a non-traditional way, declare any of the following inputs to customize the workflow as needed: +The table below lists the inputs for the ``documentation-checks.yaml`` workflow. If your +project consumes the Sphinx Stack in a non-traditional way, declare any of the following +inputs to customize the workflow as needed: .. list-table:: :header-rows: 1 @@ -84,12 +87,12 @@ Check for removed URLs .. versionadded:: 1.2.0 -The Starter Pack includes a GitHub action to identify when pages have been removed. -This includes moving pages to another path, or removing them completely. +The Sphinx Stack includes a GitHub action to identify when pages have been removed. This +includes moving pages to another path, or removing them completely. -This does not cover higher-level changes to URL paths, such as changes to the project name or URL slug pattern on RTD. +This does not cover higher-level changes to URL paths, such as changes to the project +name or URL slug pattern on RTD. -This check ensures that redirects are implemented when pages are moved, or -appropriate information is provided when anything is removed. It only runs -on pull request builds. +This check ensures that redirects are implemented when pages are moved, or appropriate +information is provided when anything is removed. It only runs on pull request builds. diff --git a/docs/reference/index.rst b/docs/reference/index.rst index 99a0f4b..0385361 100644 --- a/docs/reference/index.rst +++ b/docs/reference/index.rst @@ -2,11 +2,12 @@ Reference ========= Syntax guides, list of enabled sphinx extensions, and reference information -for the Starter Pack's GitHub workflows. +for the Sphinx Stack GitHub workflows. Also see the following information: -- `Sphinx documentation Starter Pack repository`_ +- `Sphinx Stack repository `__ + Contents -------- diff --git a/docs/reference/myst-syntax.md b/docs/reference/myst-syntax.md index 024a74b..b28b2a3 100644 --- a/docs/reference/myst-syntax.md +++ b/docs/reference/myst-syntax.md @@ -2,7 +2,7 @@ relatedlinks: https://github.com/canonical/canonical-sphinx-extensions, [reStructuredText Primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html), [Canonical Documentation Style Guide](https://docs.ubuntu.com/styleguide/en) myst: html_meta: - description: MyST Markdown syntax for use in Starter Pack projects, including headings, links, code blocks, directives, and reusable content patterns. + description: MyST Markdown syntax for use in Sphinx Stack projects, including headings, links, code blocks, directives, and reusable content patterns. substitutions: advanced_reuse_key: "This is a substitution that includes a code block: ``` @@ -14,16 +14,19 @@ myst: # MyST syntax -The Starter Pack supports [Markdown](https://commonmark.org/) and [MyST](https://myst-parser.readthedocs.io/). +The Sphinx Stack supports [Markdown](https://commonmark.org/) and +[MyST](https://myst-parser.readthedocs.io/). See the following sections for syntax help and conventions. ```{note} -This guide assumes that you are using the [Sphinx documentation Starter Pack](https://github.com/canonical/sphinx-docs-starter-pack). -Some of the mentioned syntax requires Sphinx extensions (which are enabled in the Starter Pack). +This guide assumes that you are using the [Sphinx +Stack](https://github.com/canonical/sphinx-stack). Some of the mentioned syntax requires +Sphinx extensions (which are enabled in the Sphinx Stack). ``` -For general style conventions, see the [Canonical Documentation Style Guide](https://docs.ubuntu.com/styleguide/en). +For general style conventions, see the [Canonical Documentation Style +Guide](https://docs.ubuntu.com/styleguide/en). ## Headings @@ -76,8 +79,11 @@ Adhere to the following conventions: Adhere to the following conventions: -- Use italics sparingly. Common uses for italics are titles and names (for example, when referring to a section title that you cannot link to, or when introducing the name for a concept). -- Use bold sparingly. Avoid using bold for emphasis and rather rewrite the sentence to get your point across. +- Use italics sparingly. Common uses for italics are titles and names (for example, when + referring to a section title that you cannot link to, or when introducing the name for + a concept). +- Use bold sparingly. Avoid using bold for emphasis and rather rewrite the sentence to + get your point across. ## Code blocks @@ -85,7 +91,8 @@ Start and end a code block with three back ticks: ``` -You can specify the code language after the back ticks to enforce a specific lexer, but in many cases, the default lexer works just fine. +You can specify the code language after the back ticks to enforce a specific lexer, but +in many cases, the default lexer works just fine. `````{list-table} :header-rows: 1 @@ -252,18 +259,22 @@ To customize the prompt (`user@host:~$` by default), specify any of the followin The copy button for input commands is **opt-in**. You must include the `:copy:` flag in the directive's options for the button to be displayed. -To make the terminal scroll horizontally instead of wrapping long lines, include the `:scroll:` option. +To make the terminal scroll horizontally instead of wrapping long lines, include the +`:scroll:` option. -For more details, refer to the [`sphinx-terminal` README](https://github.com/canonical/sphinx-terminal/blob/main/README.md). +For more details, refer to the [`sphinx-terminal` +README](https://github.com/canonical/sphinx-terminal/blob/main/README.md). ## Links -How to link depends on if you are linking to an external URL or to another page in the documentation. +How to link depends on if you are linking to an external URL or to another page in the +documentation. ### External links -For external links, use Markdown syntax. -You can also use just the URL, but this will usually cause issues with the spelling check, so you should specify the link text as code in this case. +For external links, use Markdown syntax. You can also use just the URL, but this will +usually cause issues with the spelling check, so you should specify the link text as +code in this case. ```{list-table} :header-rows: 1 @@ -298,7 +309,9 @@ To add a link to a related website, add the following field at the top of the pa relatedlinks: https://github.com/canonical/canonical-sphinx-extensions, [RTFM](https://www.google.com) -To override the title, use Markdown syntax. Note that spaces are ignored; if you need spaces in the title, replace them with ` `, and include the value in quotes if Sphinx complains about the metadata value because it starts with `[`. +To override the title, use Markdown syntax. Note that spaces are ignored; if you need +spaces in the title, replace them with ` `, and include the value in quotes if +Sphinx complains about the metadata value because it starts with `[`. To add a link to a Discourse topic, configure the Discourse instance in the {file}`conf.py` file. Then add the following field at the top of the page (where `12345` is the ID of the Discourse topic): @@ -333,15 +346,19 @@ To override the title, add the `:title:` option. ### Internal references -For internal references, both Markdown and MyST syntax are supported. In most cases, you should use MyST syntax though, because it resolves the link text automatically and gives an indication of the link in GitHub rendering. +For internal references, both Markdown and MyST syntax are supported. In most cases, you +should use MyST syntax though, because it resolves the link text automatically and gives +an indication of the link in GitHub rendering. (a_section_target_myst)= #### Referencing a section -To reference a section within the documentation (either on the same page or on another page), add a target to that section and reference that target. +To reference a section within the documentation (either on the same page or on another +page), add a target to that section and reference that target. -You can add targets at any place in the documentation. However, if there is no heading or title for the targeted element, you must specify a link text. +You can add targets at any place in the documentation. However, if there is no heading +or title for the targeted element, you must specify a link text. (a_random_target_myst)= @@ -363,7 +380,9 @@ You can add targets at any place in the documentation. However, if there is no h - References a target and specifies a title. * - `` {ref}`project_key:an_external_target` `` - Default link text - - You can also reference targets in other Sphinx projects. `project-key` must be a key in the `intersphinx_mapping` dictionary in `conf.py`. The link text defaults to the target's title. + - You can also reference targets in other Sphinx projects. `project-key` must be a key + in the `intersphinx_mapping` dictionary in `conf.py`. The link text defaults to the + target's title. * - ``[`xyz`](a_random_target_myst)`` - [`xyz`](a_random_target_myst) - Use Markdown syntax if you need markup on the link text. @@ -371,14 +390,19 @@ You can add targets at any place in the documentation. However, if there is no h Adhere to the following conventions: -- Never use external links to reference a section in the same doc set or a doc set that is linked with Intersphinx. It would likely cause a broken link in the future. -- Override the link text only when it is necessary. If you can use the section title as link text, do so, because the text will then update automatically if the title changes. -- Never "override" the link text with the same text that would be generated automatically. +- Never use external links to reference a section in the same doc set or a doc set that + is linked with Intersphinx. It would likely cause a broken link in the future. +- Override the link text only when it is necessary. If you can use the section title as + link text, do so, because the text will then update automatically if the title + changes. +- Never "override" the link text with the same text that would be generated + automatically. #### Referencing a page -If a documentation page does not have a target, you can still reference it by using the `{doc}` role with the file name and path. -Use MyST syntax to automatically extract the link text. When overriding the link text, use Markdown syntax. +If a documentation page does not have a target, you can still reference it by using the +`{doc}` role with the file name and path. Use MyST syntax to automatically extract the +link text. When overriding the link text, use Markdown syntax. ```{list-table} :header-rows: 1 @@ -402,15 +426,23 @@ Use MyST syntax to automatically extract the link text. When overriding the link Adhere to the following conventions: -- Only use the `{doc}` role when you cannot use the `{ref}` role, thus only if there is no target at the top of the file and you cannot add it. When using the `{doc}` role, your reference will break when a file is renamed or moved. -- Override the link text only when it is necessary. If you can use the document title as link text, do so, because the text will then update automatically if the title changes. -- Never "override" the link text with the same text that would be generated automatically. +- Only use the `{doc}` role when you cannot use the `{ref}` role, thus only if there is + no target at the top of the file and you cannot add it. When using the `{doc}` role, + your reference will break when a file is renamed or moved. +- Override the link text only when it is necessary. If you can use the document title as + link text, do so, because the text will then update automatically if the title + changes. +- Never "override" the link text with the same text that would be generated + automatically. ## Navigation -Every documentation page must be included as a sub-page to another page in the navigation. +Every documentation page must be included as a sub-page to another page in the +navigation. -This is achieved with the [`toctree`](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-toctree) directive in the parent page: +This is achieved with the +[`toctree`](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-toctree) +directive in the parent page: ```` ```{toctree} @@ -421,7 +453,8 @@ sub-page2 ``` ```` -If a page should not be included in the navigation, you can suppress the resulting build warning by putting the following instruction at the top of the file: +If a page should not be included in the navigation, you can suppress the resulting build +warning by putting the following instruction at the top of the file: ``` --- @@ -432,10 +465,12 @@ orphan: true Use orphan pages sparingly and only if there is a clear reason for it. ```{tip} -Instead of hiding pages that you do not want to include in the documentation from the navigation, you can exclude them from being built. -This method will also prevent them from being found through the search. +Instead of hiding pages that you do not want to include in the documentation from the +navigation, you can exclude them from being built. This method will also prevent them +from being found through the search. -To exclude pages from the build, add them to the `custom_excludes` variable in the {file}`conf.py` file. +To exclude pages from the build, add them to the `custom_excludes` variable in the +`conf.py` file. ``` ## Lists @@ -510,8 +545,11 @@ Adhere to the following conventions: ## Tables -You can use standard Markdown tables. However, using the reST [list table](https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table) syntax is usually much easier. -See the [Sphinx documentation](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-directives) for all table syntax alternatives. +You can use standard Markdown tables. However, using the reST [list +table](https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table) syntax +is usually much easier. See the [Sphinx +documentation](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-directives) +for all table syntax alternatives. Both markups result in the following output: @@ -539,7 +577,9 @@ Both markups result in the following output: ### List tables -See [list tables](https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table) for reference. +See [list +tables](https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table) for +reference. ```` ```{list-table} @@ -576,8 +616,8 @@ For example: ``` ```` -If you have a large amount of CSV data, or the data is generated by an automated process, -you can include the data from a file. +If you have a large amount of CSV data, or the data is generated by an automated +process, you can include the data from a file. For example: @@ -605,7 +645,7 @@ Both markups result in the following output: Customize the column widths, character encoding, and so on, as described in the [`csv-table` reference](https://mystmd.org/guide/directives#directive-csv-table). -The Starter Pack can also render interactive tables. See: {ref}`interactive-tables`. +The Sphinx Stack can also render interactive tables. See: {ref}`interactive-tables`. ## Notes @@ -685,7 +725,9 @@ Adhere to the following conventions: - For local pictures, start the path with `/` (for example, `/images/image.png`). - Use `PNG` format for screenshots and `SVG` format for graphics. -- See [Five golden rules for compliant alt text](https://abilitynet.org.uk/resources/digital-accessibility/five-golden-rules-compliant-alt-text) for information about how to word the alt text. +- See [Five golden rules for compliant alt + text](https://abilitynet.org.uk/resources/digital-accessibility/five-golden-rules-compliant-alt-text) + for information about how to word the alt text. ## Reuse @@ -693,11 +735,14 @@ A big advantage of MyST in comparison to plain Markdown is that it allows to reu ### Substitution -To reuse sentences or paragraphs that have little markup and special formatting, use [substitutions](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#substitutions). +To reuse sentences or paragraphs that have little markup and special formatting, use +[substitutions](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#substitutions). Substitutions can be defined in the following locations: -- Globally, in a file named {file}`reuse/substitutions.yaml` that is loaded into the [`myst_substitutions`](https://myst-parser.readthedocs.io/en/v0.13.5/using/syntax-optional.html#substitutions-with-jinja2) variable in {file}`conf.py`: +- Globally, in a file named `reuse/substitutions.yaml` that is loaded into the + [`myst_substitutions`](https://myst-parser.readthedocs.io/en/v0.13.5/using/syntax-optional.html#substitutions-with-jinja2) + variable in `conf.py`: ```{code-block} python :caption: "{spellexception}`conf.py`" @@ -736,7 +781,8 @@ Substitutions can be defined in the following locations: --- ```` -You can combine both options by defining a default substitution in `reuse/substitutions.py` and overriding it at the top of a file. +You can combine both options by defining a default substitution in +`reuse/substitutions.py` and overriding it at the top of a file. The definitions from the above examples are rendered as follows: @@ -757,17 +803,25 @@ The definitions from the above examples are rendered as follows: Adhere to the following convention: -- Substitutions do not work on GitHub. Therefore, use substitution names that indicate the included content (for example, `note_not_supported` instead of `reuse_note`). +- Substitutions do not work on GitHub. Therefore, use substitution names that indicate + the included content (for example, `note_not_supported` instead of `reuse_note`). ### File inclusion -To reuse longer sections or text with more advanced markup, you can put the content in a separate file and include the file or parts of the file in several locations. +To reuse longer sections or text with more advanced markup, you can put the content in a +separate file and include the file or parts of the file in several locations. -To select parts of the text in a file, use `:start-after:` and `:end-before:` if possible. You can combine those with `:start-line:` and `:end-line:` if required (if the same text occurs more than once). Using only `:start-line:` and `:end-line:` is error-prone though. +To select parts of the text in a file, use `:start-after:` and `:end-before:` if +possible. You can combine those with `:start-line:` and `:end-line:` if required (if the +same text occurs more than once). Using only `:start-line:` and `:end-line:` is +error-prone though. -You cannot put any targets into the content that is being reused (because references to this target would be ambiguous then). You can, however, put a target right before including the file. +You cannot put any targets into the content that is being reused (because references to +this target would be ambiguous then). You can, however, put a target right before +including the file. -By combining file inclusion and substitutions, you can even replace parts of the included text. +By combining file inclusion and substitutions, you can even replace parts of the +included text. `````{list-table} :header-rows: 1 @@ -796,13 +850,18 @@ By combining file inclusion and substitutions, you can even replace parts of the Adhere to the following convention: -- File inclusion does not work on GitHub. Therefore, always add a comment linking to the included file. -- Files that only contain text that is reused somewhere else should be placed in the {file}`reuse` folder and end with the extension ``.txt`` to distinguish them from normal content files. -- To make sure inclusions don't break, consider adding HTML comments (``) to the source file as markers for starting and ending. +- File inclusion does not work on GitHub. Therefore, always add a comment linking to the + included file. +- Files that only contain text that is reused somewhere else should be placed in the + `reuse` directory and end with the extension ``.txt`` to distinguish them from + normal content files. +- To make sure inclusions don't break, consider adding HTML comments (``) to the source file as markers for starting and ending. ## Tabs -The recommended way of creating tabs is to use the tabs that the [Sphinx design](https://sphinx-design.readthedocs.io/en/latest/) extension provides. +The recommended way of creating tabs is to use the tabs that the [Sphinx +design](https://sphinx-design.readthedocs.io/en/latest/) extension provides. ``````{list-table} :header-rows: 1 @@ -845,7 +904,10 @@ The recommended way of creating tabs is to use the tabs that the [Sphinx design] ```` `````` -Alternatively, you can use the [Sphinx tabs](https://sphinx-tabs.readthedocs.io/en/latest/) extension, which is also enabled by default. This was previously recommended due to limitations in Sphinx Design that are now fixed. +Alternatively, you can use the [Sphinx +tabs](https://sphinx-tabs.readthedocs.io/en/latest/) extension, which is also enabled by +default. This was previously recommended due to limitations in Sphinx Design that are +now fixed. ``````{list-table} :header-rows: 1 @@ -886,7 +948,8 @@ Alternatively, you can use the [Sphinx tabs](https://sphinx-tabs.readthedocs.io/ ## Collapsible sections -There is no support for details sections in MyST, but you can insert HTML to create them. +There is no support for details sections in MyST, but you can insert HTML to create +them. ````{list-table} :header-rows: 1 @@ -911,7 +974,8 @@ There is no support for details sections in MyST, but you can insert HTML to cre ## Glossary -You can define glossary terms in any file. Ideally, all terms should be collected in one glossary file though, and they can then be referenced from any file. +You can define glossary terms in any file. Ideally, all terms should be collected in one +glossary file though, and they can then be referenced from any file. `````{list-table} :header-rows: 1 diff --git a/docs/reference/rst-syntax.rst b/docs/reference/rst-syntax.rst index caf801e..6be2eb1 100644 --- a/docs/reference/rst-syntax.rst +++ b/docs/reference/rst-syntax.rst @@ -1,5 +1,5 @@ .. meta:: - :description: reStructuredText syntax for use in Starter Pack projects, including headings, links, code blocks, and tables. + :description: reStructuredText syntax for use in Sphinx Stack projects, including headings, links, code blocks, and tables. :relatedlinks: https://github.com/canonical/lxd-sphinx-extensions, [reStructuredText Primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html), [Canonical Documentation Style Guide](https://docs.ubuntu.com/styleguide/en) @@ -8,13 +8,15 @@ reStructuredText syntax ======================= -The Starter Pack supports `reStructuredText`_ (reST). +The Sphinx Stack supports `reStructuredText`_ (reST). See the following sections for syntax help and conventions. .. note:: - This guide assumes that you are using the `Sphinx documentation starter pack`_. - Some of the mentioned syntax requires Sphinx extensions (which are enabled in the Starter Pack). + + This guide assumes that you are using the `Sphinx Stack + `__. Some of the mentioned syntax + requires Sphinx extensions (which are enabled in the Sphinx Stack). For general style conventions, see the `Canonical Documentation Style Guide`_. @@ -61,6 +63,7 @@ Adhere to the following conventions: Use the ones specified above. - Use sentence style for headings (capitalise only the first word). + Inline formatting ----------------- @@ -89,6 +92,7 @@ Adhere to the following conventions: - Use italics sparingly. Common uses for italics are titles and names (for example, when referring to a section title that you cannot link to, or when introducing the name for a concept). - Use bold sparingly. Avoid using bold for emphasis and rather rewrite the sentence to get your point across. + Code blocks ----------- @@ -139,6 +143,7 @@ For a list of supported languages and their respective lexers, see the official code: - example: true + Terminal output ~~~~~~~~~~~~~~~ @@ -237,6 +242,7 @@ To make the terminal scroll horizontally instead of wrapping long lines, include For more details, refer to the `sphinx-terminal README `_. + Links ----- @@ -330,6 +336,7 @@ Define the links in a shared file: * - ```Canonical website`_`` - `Canonical website`_ + Related links ^^^^^^^^^^^^^ @@ -346,6 +353,7 @@ Then add the following field at the top of the page (where ``12345`` is the ID o :discourse: 12345 + Manual-page links ^^^^^^^^^^^^^^^^^ @@ -391,11 +399,13 @@ To add a link to a YouTube video, use the following directive: The video title is extracted automatically and displayed when hovering over the link. To override the title, add the ``:title:`` option. + Internal references ~~~~~~~~~~~~~~~~~~~ You can reference pages and targets in this documentation set, and also in other documentation sets using Intersphinx. + .. _a_section_target: Referencing a section @@ -435,6 +445,7 @@ Adhere to the following conventions: - Override the link text only when it is necessary. If you can use the referenced title as link text, do so, because the text will then update automatically if the title changes. - Never "override" the link text with the same text that would be generated automatically. + Referencing a page ^^^^^^^^^^^^^^^^^^ @@ -462,6 +473,7 @@ Adhere to the following conventions: - Never "override" the link text with the same text that would be generated automatically. - When using an external target, ``project_key`` must be a key in the ``intersphinx_mapping`` dictionary in ``conf.py``. + Navigation ---------- @@ -479,72 +491,77 @@ If a page should not be included in the navigation, you can suppress the resulti Use orphan pages sparingly and only if there is a clear reason for it. .. tip:: - Instead of hiding pages that you do not want to include in the documentation from the navigation, you can exclude them from being built. - This method will also prevent them from being found through the search. - To exclude pages from the build, add them to the ``custom_excludes`` variable in the :file:`conf.py` file. + Instead of hiding pages that you do not want to include in the documentation from + the navigation, you can exclude them from being built. This method will also prevent + them from being found through the search. + + To exclude pages from the build, add them to the ``custom_excludes`` variable in the + ``conf.py`` file. + Lists ----- .. list-table:: - :header-rows: 1 - - * - Input - - Output - * - .. code:: - - - Item 1 - - Item 2 - - Item 3 - - - Item 1 - - Item 2 - - Item 3 - * - .. code:: + :header-rows: 1 - 1. Step 1 - #. Step 2 - #. Step 3 - - 1. Step 1 - #. Step 2 - #. Step 3 - * - .. code:: + * - Input + - Output + * - .. code:: - a. Step 1 - #. Step 2 - #. Step 3 - - a. Step 1 - #. Step 2 - #. Step 3 + - Item 1 + - Item 2 + - Item 3 + - - Item 1 + - Item 2 + - Item 3 + * - .. code:: + + 1. Step 1 + #. Step 2 + #. Step 3 + - 1. Step 1 + #. Step 2 + #. Step 3 + * - .. code:: + + a. Step 1 + #. Step 2 + #. Step 3 + - a. Step 1 + #. Step 2 + #. Step 3 You can also nest lists: .. tab-set:: - .. tab-item:: Input + .. tab-item:: Input - .. code:: + .. code:: - 1. Step 1 + 1. Step 1 - - Item 1 + - Item 1 - * Sub-item - - Item 2 + * Sub-item + - Item 2 - i. Sub-step 1 - #. Sub-step 2 - #. Step 2 + i. Sub-step 1 + #. Sub-step 2 - a. Sub-step 1 + #. Step 2 - - Item - #. Sub-step 2 - .. tab-item:: Output + a. Sub-step 1 + + - Item + #. Sub-step 2 + .. tab-item:: Output - 1. Step 1 + 1. Step 1 - Item 1 @@ -553,38 +570,42 @@ You can also nest lists: i. Sub-step 1 #. Sub-step 2 - #. Step 2 - a. Sub-step 1 + #. Step 2 - - Item - #. Sub-step 2 + a. Sub-step 1 + - Item + #. Sub-step 2 Adhere to the following conventions: -- In numbered lists, number the first item and use ``#.`` for all subsequent items to generate the step numbers automatically. -- Use ``-`` for unordered lists. When using nested lists, you can use ``*`` for the nested level. +- In numbered lists, number the first item and use ``#.`` for all subsequent items to + generate the step numbers automatically. +- Use ``-`` for unordered lists. When using nested lists, you can use ``*`` for the + nested level. + Definition lists ~~~~~~~~~~~~~~~~ .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - .. code:: + * - Input + - Output + * - .. code:: + + Term 1: + Definition + Term 2: + Definition + - Term 1: + Definition + Term 2: + Definition - Term 1: - Definition - Term 2: - Definition - - Term 1: - Definition - Term 2: - Definition .. _style-guide-tables: @@ -597,33 +618,35 @@ See the `Sphinx documentation `_ for all table syntax alternatives. Both markups result in the following output: .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Header 1 - - Header 2 - * - Cell 1 + * - Header 1 + - Header 2 + * - Cell 1 + + Second paragraph cell 1 + - Cell 2 + * - Cell 3 + - Cell 4 - Second paragraph cell 1 - - Cell 2 - * - Cell 3 - - Cell 4 Grid tables ~~~~~~~~~~~ See `grid tables`_ for reference. -.. code:: +.. code-block:: + + +----------------------+------------+ + | Header 1 | Header 2 | + +======================+============+ + | Cell 1 | Cell 2 | + | | | + | 2nd paragraph cell 1 | | + +----------------------+------------+ + | Cell 3 | Cell 4 | + +----------------------+------------+ - +----------------------+------------+ - | Header 1 | Header 2 | - +======================+============+ - | Cell 1 | Cell 2 | - | | | - | 2nd paragraph cell 1 | | - +----------------------+------------+ - | Cell 3 | Cell 4 | - +----------------------+------------+ List tables ~~~~~~~~~~~ @@ -632,17 +655,18 @@ See `list tables`_ for reference. .. code:: - .. list-table:: - :header-rows: 1 + .. list-table:: + :header-rows: 1 + + * - Header 1 + - Header 2 + * - Cell 1 - * - Header 1 - - Header 2 - * - Cell 1 + 2nd paragraph cell 1 + - Cell 2 + * - Cell 3 + - Cell 4 - 2nd paragraph cell 1 - - Cell 2 - * - Cell 3 - - Cell 4 Data tables ~~~~~~~~~~~ @@ -654,24 +678,24 @@ For example: .. code-block:: rst .. csv-table:: - :header: "Animal", "Number of legs", "Size" + :header: "Animal", "Number of legs", "Size" - "Worm", 0, "Small" - "Penguin", 2, "Medium" - "Horse", 4, "Large" - "Ant", 6, "Small" - "Octopus", 8, "Medium" + "Worm", 0, "Small" + "Penguin", 2, "Medium" + "Horse", 4, "Large" + "Ant", 6, "Small" + "Octopus", 8, "Medium" -If you have a large amount of CSV data, or the data is generated by an automated process, -you can include the data from a file. +If you have a large amount of CSV data, or the data is generated by an automated +process, you can include the data from a file. For example: .. code-block:: rst .. csv-table:: - :file: /reuse/animals.csv - :header-rows: 1 + :file: /reuse/animals.csv + :header-rows: 1 Both markups result in the following output: @@ -684,31 +708,33 @@ Both markups result in the following output: "Ant", 6, "Small" "Octopus", 8, "Medium" -Customize the column widths, character encoding, and so on, as described in the -`csv-table reference `_. +Customize the column widths, character encoding, and so on, as described in the +`csv-table reference +`_. + +The Sphinx Stack can also render interactive tables. See: :ref:`interactive-tables`. -The Starter Pack can also render interactive tables. See: :ref:`interactive-tables`. Notes ----- .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - .. code:: + * - Input + - Output + * - .. code:: - .. note:: - A note. - - .. note:: - A note. - * - .. code:: + .. note:: + A note. + - .. note:: + A note. + * - .. code:: - .. warning:: - This might damage your hardware! - - .. warning:: - This might damage your hardware! + .. warning:: + This might damage your hardware! + - .. warning:: + This might damage your hardware! Adhere to the following conventions: @@ -716,92 +742,95 @@ Adhere to the following conventions: - Only use the following note types: ``note``, ``warning`` - Only use a warning if there is a clear hazard of hardware damage or data loss. + Images ------ .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - ``.. image:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png`` - - .. image:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png - * - .. code:: + * - Input + - Output + * - ``.. image:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png`` + - .. image:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png + * - .. code:: - .. figure:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png - :width: 100px - :alt: Alt text + .. figure:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png + :width: 100px + :alt: Alt text - Figure caption - - .. figure:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png - :width: 100px - :alt: Alt text + Figure caption + - .. figure:: https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png + :width: 100px + :alt: Alt text - Figure caption + Figure caption Adhere to the following conventions: -- For local pictures, start the path with :file:`/` (for example, :file:`/images/image.png`). +- For local pictures, start the path with ``/`` (for example, ``/images/image.png``). - Use ``PNG`` format for screenshots and ``SVG`` format for graphics. - If producing multiple output formats, use ``*`` as the file extension to have Sphinx select the best image format for the output -- See `Five golden rules for compliant alt text`_ for information about how to word the alt text. +- See `Five golden rules for compliant alt text`_ for information about how to word the + alt text. + Reuse ----- -A big advantage of reST in comparison to plain Markdown is that it allows to reuse content. +A big advantage of reST in comparison to plain Markdown is that it allows to reuse +content. + Substitution ~~~~~~~~~~~~ -To reuse sentences and entire paragraphs -that have little markup or special formatting, +To reuse sentences and entire paragraphs that have little markup or special formatting, define `substitutions`_ for them in two possible ways. -**Globally**, in a file named :file:`reuse/substitutions.txt` -that is included in a custom ``rst_epilog`` directive -(see the `Sphinx documentation `_): +**Globally**, in a file named ``reuse/substitutions.txt`` that is included in a +custom ``rst_epilog`` directive (see the `Sphinx documentation `_): .. code-block:: python - :caption: :spellexception:`conf.py` + :caption: :spellexception:`conf.py` - rst_epilog = """ - .. include:: reuse/substitutions.txt - """ + rst_epilog = """ + .. include:: reuse/substitutions.txt + """ .. code-block:: rest - :caption: :spellexception:`reuse/substitutions.txt` + :caption: :spellexception:`reuse/substitutions.txt` - .. |version_number| replace:: 0.1.0 + .. |version_number| replace:: 0.1.0 - .. |rest_text| replace:: *Multi-line* text - that uses basic **markup**. + .. |rest_text| replace:: *Multi-line* text + that uses basic **markup**. - .. |site_link| replace:: Website link - .. _site_link: https://example.com + .. |site_link| replace:: Website link + .. _site_link: https://example.com **Locally**, putting the same directives in any reST file: .. code-block:: rest - :caption: :spellexception:`index.rst` + :caption: :spellexception:`index.rst` - .. |version_number| replace:: 0.1.0 + .. |version_number| replace:: 0.1.0 - .. |rest_text| replace:: *Multi-line* text - that uses basic **markup**. + .. |rest_text| replace:: *Multi-line* text + that uses basic **markup**. - .. And so on + .. And so on .. note:: - Mind that substitutions can't be redefined; - for instance, accidentally including a definition twice causes an error: + Mind that substitutions can't be redefined; for instance, accidentally including a + definition twice causes an error: - .. code-block:: none + .. code-block:: none ERROR: Duplicate substitution definition name: "rest_text". @@ -809,37 +838,44 @@ that is included in a custom ``rst_epilog`` directive The definitions from the above examples are rendered as follows: .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output + * - Input + - Output - * - ``|version_number|`` - - |version_number| + * - ``|version_number|`` + - |version_number| - * - ``|rest_text|`` - - |rest_text| + * - ``|rest_text|`` + - |rest_text| - * - ``|site_link|_`` - - |site_link|_ + * - ``|site_link|_`` + - |site_link|_ .. tip:: - Use substitution names that hint at the included content - (for example, ``note_not_supported`` instead of ``note_substitution``). + Use substitution names that hint at the included content (for example, + ``note_not_supported`` instead of ``note_substitution``). File inclusion ~~~~~~~~~~~~~~ -To reuse longer sections or text with more advanced markup, you can put the content in a separate file and include the file or parts of the file in several locations. +To reuse longer sections or text with more advanced markup, you can put the content in a +separate file and include the file or parts of the file in several locations. -To select parts of the text in a file, use ``:start-after:`` and ``:end-before:`` if possible. You can combine those with ``:start-line:`` and ``:end-line:`` if required (if the same text occurs more than once). Using only ``:start-line:`` and ``:end-line:`` is error-prone though. +To select parts of the text in a file, use ``:start-after:`` and ``:end-before:`` if +possible. You can combine those with ``:start-line:`` and ``:end-line:`` if required (if +the same text occurs more than once). Using only ``:start-line:`` and ``:end-line:`` is +error-prone though. -You cannot put any targets into the content that is being reused (because references to this target would be ambiguous then). You can, however, put a target right before including the file. +You cannot put any targets into the content that is being reused (because references to +this target would be ambiguous then). You can, however, put a target right before +including the file. -By combining file inclusion and substitutions defined directly in a file, you can even replace parts of the included text. +By combining file inclusion and substitutions defined directly in a file, you can even +replace parts of the included text. .. list-table:: :header-rows: 1 @@ -857,94 +893,104 @@ By combining file inclusion and substitutions defined directly in a file, you ca Adhere to the following conventions: -- Files that only contain text that is reused somewhere else should be placed in the :file:`reuse` folder and end with the extension ``.txt`` to distinguish them from normal content files. -- To make sure inclusions don't break, consider adding comments (``.. some comment``) to the source file as markers for starting and ending. +- Files that only contain text that is reused somewhere else should be placed in the + ``reuse`` directory and end with the extension ``.txt`` to distinguish them from + normal content files. +- To make sure inclusions don't break, consider adding comments (``.. some comment``) to + the source file as markers for starting and ending. + Tabs ---- -The recommended way of creating tabs is to use the tabs that the `Sphinx design`_ extension provides. +The recommended way of creating tabs is to use the tabs that the `Sphinx design`_ +extension provides. .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - .. code:: + * - Input + - Output + * - .. code:: - .. tab-set:: + .. tab-set:: - .. tab-item:: Tab 1 - :sync: key1 + .. tab-item:: Tab 1 + :sync: key1 - Content Tab 1 + Content Tab 1 - .. tab-item:: Tab 2 - :sync: key2 + .. tab-item:: Tab 2 + :sync: key2 - Content Tab 2 - - .. tab-set:: + Content Tab 2 + - .. tab-set:: - .. tab-item:: Tab 1 - :sync: key1 + .. tab-item:: Tab 1 + :sync: key1 - Content Tab 1 + Content Tab 1 - .. tab-item:: Tab 2 - :sync: key2 + .. tab-item:: Tab 2 + :sync: key2 - Content Tab 2 + Content Tab 2 -Alternatively, you can use the `Sphinx tabs`_ extension, which is also enabled by default. This was previously recommended due to limitations in Sphinx Design that are now fixed. +Alternatively, you can use the `Sphinx tabs`_ extension, which is also enabled by +default. This was previously recommended due to limitations in Sphinx Design that are +now fixed. .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - .. code:: + * - Input + - Output + * - .. code:: - .. tabs:: + .. tabs:: - .. group-tab:: Tab 1 + .. group-tab:: Tab 1 - Content Tab 1 + Content Tab 1 - .. group-tab:: Tab 2 + .. group-tab:: Tab 2 - Content Tab 2 - - .. tabs:: + Content Tab 2 + - .. tabs:: - .. group-tab:: Tab 1 + .. group-tab:: Tab 1 - Content Tab 1 + Content Tab 1 - .. group-tab:: Tab 2 + .. group-tab:: Tab 2 + + Content Tab 2 - Content Tab 2 Glossary -------- -You can define glossary terms in any file. Ideally, all terms should be collected in one glossary file though, and they can then be referenced from any file. +You can define glossary terms in any file. Ideally, all terms should be collected in one +glossary file though, and they can then be referenced from any file. .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Input - - Output - * - .. code:: + * - Input + - Output + * - .. code:: + + .. glossary:: - .. glossary:: + an example term + Definition of an example term. + - .. glossary:: - an example term - Definition of an example term. - - .. glossary:: + an example term + Definition of an example term. + * - ``:term:`an example term``` + - :term:`an example term` - an example term - Definition of an example term. - * - ``:term:`an example term``` - - :term:`an example term` .. _section_more_useful_markup: @@ -952,39 +998,39 @@ More useful markup ------------------ .. list-table:: - :header-rows: 1 - - * - Input - - Output - - Description - * - .. code:: - - .. versionadded:: X.Y - - .. versionadded:: X.Y - - Can be used to distinguish between different versions. - * - .. code:: - - | Line 1 - | Line 2 - | Line 3 - - | Line 1 - | Line 2 - | Line 3 - - Line breaks that are not paragraphs. Use this sparingly. - * - .. code:: + :header-rows: 1 - ---- - - A horizontal line - - Can be used to visually divide sections on a page. - * - ``.. This is a comment`` - - .. This is a comment - - Not visible in the output. - * - ``:abbr:`API (Application Programming Interface)``` - - :abbr:`API (Application Programming Interface)` - - Hover to display the full term. - * - ``:spellexception:`PurposelyWrong``` - - :spellexception:`PurposelyWrong` - - Explicitly exempt a term from the spelling check. + * - Input + - Output + - Description + * - .. code:: + + .. versionadded:: X.Y + - .. versionadded:: X.Y + - Can be used to distinguish between different versions. + * - .. code:: + + | Line 1 + | Line 2 + | Line 3 + - | Line 1 + | Line 2 + | Line 3 + - Line breaks that are not paragraphs. Use this sparingly. + * - .. code:: + + ---- + - A horizontal line + - Can be used to visually divide sections on a page. + * - ``.. This is a comment`` + - .. This is a comment + - Not visible in the output. + * - ``:abbr:`API (Application Programming Interface)``` + - :abbr:`API (Application Programming Interface)` + - Hover to display the full term. + * - ``:spellexception:`PurposelyWrong``` + - :spellexception:`PurposelyWrong` + - Explicitly exempt a term from the spelling check. .. LINKS diff --git a/docs/release-notes/1.5.rst b/docs/release-notes/1.5.rst index 45bf075..c3b8c81 100644 --- a/docs/release-notes/1.5.rst +++ b/docs/release-notes/1.5.rst @@ -11,13 +11,13 @@ Canonical's Sphinx Starter Pack 1.5 These release notes cover new features and changes in Canonical's Sphinx Starter Pack 1.5. The `full commit log -`__ is available +`__ is available on GitHub. Bring these changes into your docs: -- :ref:`Update starter pack 1.3.0 and higher ` -- :ref:`Update starter pack 1.2.0 and lower ` +- :ref:`Update starter pack 1.3.0 and higher ` +- :ref:`Update starter pack 1.2.0 and lower ` What's new in 1.5 @@ -48,8 +48,7 @@ to the latest minor version. New upgrade guide ~~~~~~~~~~~~~~~~~ -For docs based on starter pack 1.3 or higher, we published -:ref:`update-new-starter-pack`. +For docs based on starter pack 1.3 or higher, we published :ref:`update-new-sphinx-stack`. Contribution guide @@ -57,7 +56,7 @@ Contribution guide We've added a contribution guide for the project in ``CONTRIBUTING.md``. It's available in upgraded repositories and `on GitHub -`__. +`__. This guide is for developers of the starter pack. It's not meant for your project. After updating, remove it from your project. diff --git a/docs/release-notes/1.6.rst b/docs/release-notes/1.6.rst index 52feaad..8805191 100644 --- a/docs/release-notes/1.6.rst +++ b/docs/release-notes/1.6.rst @@ -11,13 +11,13 @@ Canonical's Sphinx Starter Pack 1.6 These release notes cover new features and changes in Canonical's Sphinx Starter Pack 1.6. The `full commit log -`__ is available +`__ is available on GitHub. Bring these changes into your docs: -- :ref:`Update starter pack 1.3.0 and higher ` -- :ref:`Update starter pack 1.2.0 and lower ` +- :ref:`Update starter pack 1.3.0 and higher ` +- :ref:`Update starter pack 1.2.0 and lower ` What's new in 1.6 diff --git a/docs/release-notes/index.rst b/docs/release-notes/index.rst index 71c070a..24d7262 100644 --- a/docs/release-notes/index.rst +++ b/docs/release-notes/index.rst @@ -3,9 +3,9 @@ Release notes ============= -This page lists the notes for past releases of Canonical's Sphinx Starter Pack, which +This page lists the notes for past releases of the Sphinx Stack, which summarize new features, bug fixes and breaking changes in each version. It also contains -the release and support policies for the starter pack. +the release and support policies for the Sphinx Stack. Latest release @@ -24,7 +24,7 @@ Past releases Release versioning ------------------ -Starter pack version naming follows the Semantic Versioning 2.0.0 scheme with +Sphinx Stack version naming follows the Semantic Versioning 2.0.0 scheme with modifications. It has numbers for major and minor version, but *not* patch versions. .. list-table:: diff --git a/docs/reuse/components.yaml b/docs/reuse/components.yaml index d975564..04cefd5 100644 --- a/docs/reuse/components.yaml +++ b/docs/reuse/components.yaml @@ -23,7 +23,7 @@ documentation_architecture: end Sphinx -->|builds| HTML[HTML] end - rendered_image: "../explanation/assets/python-starter-pack.png" + rendered_image: "../explanation/assets/python-sphinx-stack.png" - diagram_name: "Extensions" description: "How built-in and third-party extensions are integrated and activated via requirements and conf.py." diff --git a/docs/reuse/links.txt b/docs/reuse/links.txt index af3c3b5..b38c289 100644 --- a/docs/reuse/links.txt +++ b/docs/reuse/links.txt @@ -1,7 +1,7 @@ .. _Canonical Documentation Style Guide: https://docs.ubuntu.com/styleguide/en .. _Canonical Reference Library: https://library.canonical.com/ .. _Canonical Sphinx: https://github.com/canonical/canonical-sphinx -.. _change log: https://github.com/canonical/sphinx-docs-starter-pack/wiki/Change-log +.. _change log: https://github.com/canonical/sphinx-stack/blob/main/CHANGELOG.md .. _csv-table reference: https://docutils.sourceforge.io/docs/ref/rst/directives.html#csv-table .. _csv-table reference (MyST): https://mystmd.org/guide/directives#directive-csv-table .. _Diátaxis: https://diataxis.fr/ @@ -30,9 +30,9 @@ .. _`Sphinx configuration`: https://www.sphinx-doc.org/en/master/usage/configuration.html .. _Sphinx DataTables: https://sharm294.github.io/sphinx-datatables/ .. _Sphinx design: https://sphinx-design.readthedocs.io/en/latest/ -.. _Sphinx documentation starter pack: -.. _Sphinx documentation starter pack repository: https://github.com/canonical/sphinx-docs-starter-pack -.. _Sphinx documentation starter pack documentation: https://canonical-starter-pack.readthedocs-hosted.com/ +.. _Sphinx Stack: +.. _Sphinx Stack repository: https://github.com/canonical/sphinx-stack +.. _Sphinx Stack documentation: https://canonical-sphinx-stack.readthedocs-hosted.com/ .. _`Sphinx extensions`: https://www.sphinx-doc.org/en/master/usage/extensions/index.html .. _Sphinx tabs: https://sphinx-tabs.readthedocs.io/en/latest/ .. _tables: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-directives diff --git a/docs/reuse/mermaid.txt b/docs/reuse/mermaid.txt index 68ec1b5..4e62dc3 100644 --- a/docs/reuse/mermaid.txt +++ b/docs/reuse/mermaid.txt @@ -90,11 +90,11 @@ mermaid-diagram-sequence-start `````{tab-item} Custom CSS -First, create a Mermaid stylesheet in the {file}`_static` directory and -customize it as needed. For example, {file}`mermaid-sequence.css`. +First, create a Mermaid stylesheet in the `_static` directory and customize it as +needed. For example, `mermaid-sequence.css`. -Then, enable custom stylesheets in {file}`conf.py`. -Uncomment this line so Sphinx can use local stylesheets: +Then, enable custom stylesheets in `conf.py`. Uncomment this line so Sphinx can use +local stylesheets: ```{code-block} py :caption: conf\.py diff --git a/docs/set-up-a-new-project.rst b/docs/set-up-a-new-project.rst index 159e7cf..e503f2f 100644 --- a/docs/set-up-a-new-project.rst +++ b/docs/set-up-a-new-project.rst @@ -1,139 +1,164 @@ .. _set-up-a-new-project: -=================================== + Set up a new project -=================================== +==================== -This page contains a short guide on how to set up and use the starter pack. +This page contains a short guide on how to set up and use the Sphinx Stack. .. _initial-setup: -Copy the starter pack -===================== +Copy the Sphinx Stack +--------------------- -If you're starting a new project, `copy the starter pack as a template repository `__. +If you're starting a new project, `copy the Sphinx Stack as a template repository +`__. -If you're creating documentation for a Canonical project, set the owner to **canonical**. +If you're creating documentation for a Canonical project, set the owner to +**canonical**. -If you're adding documentation to an existing software project, copy the following files from the starter pack repository into your project: +If you're adding documentation to an existing software project, copy the following files +from the Sphinx Stack repository into your project: -* the entire :file:`docs` directory -* :file:`.readthedocs.yaml` (configuration for the building on Read the Docs) -* the entire :file:`.github/workflows` directory +* the entire ``docs`` directory +* ``.readthedocs.yaml`` (configuration for the building on Read the Docs) +* the entire ``.github/workflows`` directory .. _remove-unneeded-files: Remove the unneeded files -========================= +------------------------- -Next, review the starter pack files and remove those that could interfere with your project. +Next, review the Sphinx Stack files and remove those that could interfere with your +project. Remove the files that can't be reused: -- :file:`CONTRIBUTING.md` -- :file:`.github/CODEOWNERS` -- :file:`.github/workflows/test-starter-pack.yml` +- ``CONTRIBUTING.md`` +- ``.github/CODEOWNERS`` +- ``.github/workflows/test-sphinx-stack.yml`` -Review and remove the GitHub workflows in ``.github/workflows/`` that your project might not need: +Review and remove the GitHub workflows in ``.github/workflows/`` that your project might +not need: -- :file:`cla-check.yml` verifies whether contributors have signed the `Canonical License Agreement `_. All Canonical projects require this check, so if you're adding docs to an existing Canonical project that already has it, remove this workflow. -- :file:`sphinx-python-dependency-build-checks.yml` verifies Python dependencies for the documentation system. If your project has its own dependency checks, remove this workflow. -- :file:`markdown-style-checks.yml` runs the built-in Markdown linter. If your project already validates its Markdown files, remove this workflow. +- ``cla-check.yml`` verifies whether contributors have signed the `Canonical License + Agreement `_. All Canonical projects require + this check, so if you're adding docs to an existing Canonical project that already has + it, remove this workflow. +- ``sphinx-python-dependency-build-checks.yml`` verifies Python dependencies for the + documentation system. If your project has its own dependency checks, remove this + workflow. +- ``markdown-style-checks.yml`` runs the built-in Markdown linter. If your project + already validates its Markdown files, remove this workflow. Build and run the local server -============================== +------------------------------ + +Building the documentation requires ``make``, ``python3``, ``python3-venv``, +``python3-pip``. -Building the documentation requires ``make``, ``python3``, ``python3-venv``, ``python3-pip``. +In the ``docs`` directory, run: -In :file:`docs`, run:: +.. code-block:: bash make run -This creates and activates a virtual environment in :file:`docs/.venv`, builds the documentation and serves it at :literalref:`http://127.0.0.1:8000/`. +This creates and activates a virtual environment in ``docs/.venv``, builds the project, +and serves it at :literalref:`http://127.0.0.1:8000/`. -The server watches the source files, including :file:`docs/conf.py`, and rebuilds automatically on changes. +The server watches the source files, including the ``docs/conf.py`` file, and rebuilds +automatically on changes. Edit content -============== +------------ -Now that you've verified you can build and run the sample starter pack documentation, you can replace it with your own content. +The home page is ``docs/index.rst``. Other pages are under one of the sub-directories +under ``docs/``. -The landing page is :file:`docs/index.rst`. Other pages are under one of the sub-directories under :file:`docs/`. - -The navigation menu structure is set by ``.. toctree::`` directives. These directives define the hierarchy of included content throughout the documentation. -The :file:`index.rst` page's ``toctree`` block contains the top level navigation, which by default is the `Diátaxis`_ documentation structure. +The navigation menu structure is set by ``.. toctree::`` directives. These directives +define the hierarchy of included content throughout the documentation. The +``index.rst`` page's ``toctree`` block contains the top level navigation, which by +default is the `Diátaxis`_ documentation structure. To add a new page to the documentation: -1. Create a new file in the `docs/` folder. For example, to create a new **Reference** page, create a document under `docs/reference/` directory called :file:`settings.rst`, insert the following |RST|-formatted heading ``Settings`` at the beginning, and then save the file: +1. Create a new file in the ``docs/`` directory. For example, to create a new + **Reference** page, create a document under the ``docs/reference/`` directory called + ``settings.rst``, insert the following heading, and save the file: .. code-block:: rest :caption: reStructuredText title example - Settings - ======== + Settings + ======== - If you prefer to use Markdown (MyST) syntax instead of |RST|, you can create a Markdown file. For example, :file:`settings.md` file with the following Markdown-formatted heading at the beginning: + If you prefer to use Markdown (MyST) syntax instead of |RST|, you can create a + Markdown file. To create the equivalent ``settings.md`` file, add the following + Markdown-formatted heading at the beginning: .. code-block:: markdown :caption: Markdown title example - # Settings - -2. Add the new page to the Navigation Menu: open the :file:`docs/reference/index.rst` file or another file where you want to nest the new page; at the bottom of the file, locate the ``toctree`` directive and add a properly indented line containing the relative path (without a file extension) to the new file created in the first step. For example, ``settings``. + # Settings - The ``toctree`` block will now look like this: +2. Add the new page to the Navigation Menu: open the ``docs/reference/index.rst`` + file or another file where you want to nest the new page; at the bottom of the file, + add the following ``toctree`` directive: - .. code-block:: rest + .. code-block:: - .. toctree:: - :hidden: - :maxdepth: 2 + .. toctree:: + :hidden: + :maxdepth: 2 - Documentation checks - style-guide - style-guide-myst - settings + settings The documentation will now show the new page added to the navigation when rebuilt. -By default, the page's title (the first heading in the file) is used for the Navigation Menu entry. You can overwrite a name of a Menu element by specifying it explicitly in the ``toctree`` block, for example: ``Reference ``. +By default, the page's title (the first heading in the file) is shown in the global +navigation. You can overwrite a name of a menu element by specifying it explicitly in +the ``toctree`` block (e.g., ``Reference ``). -Configure settings -================== +Configure Sphinx +---------------- -Work through the settings in :file:`docs/conf.py`. Most parameters can be left with the default values as they can be changed later. :ref:`configure-your-project` contains further guidance. +Work through the settings in the build configuration file, ``docs/conf.py``. Most +parameters can be left with the default values as they can be changed later. +:ref:`configure-your-project` contains further guidance. -Pre-commit hooks (optional) -=========================== +Configure pre-commit (optional) +------------------------------- -Use `pre-commit `_ hooks with the starter pack -to automate checks like spelling and inclusive language. +Use `pre-commit `_ hooks with the Sphinx Stack to automate +checks like spelling and inclusive language. -The starter pack includes a ready-to-use :file:`.pre-commit-config.yaml` file -under :file:`docs/.sphinx/`: +The Sphinx Stack includes a ready-to-use ``.pre-commit-config.yaml`` file under +``docs/.sphinx/``: .. literalinclude:: /.sphinx/.pre-commit-config.yaml :language: yaml -For a new project, copy this file to your project's root directory; -for an existing project using ``pre-commit``, -add these hooks to your configuration. +For a new project, copy this file to your project's root directory. For an existing +project using pre-commit, add these hooks to your configuration. + +To apply the configuration, install the Sphinx Stack hooks, for instance: + +.. code-block:: bash -To apply the configuration, install the starter pack hooks, for instance:: + pre-commit install --config docs/.sphinx/.pre-commit-config.yaml - pre-commit install --config docs/.sphinx/.pre-commit-config.yaml +After that, you should see the checks running with every commit: -After that, you should see the checks running with every commit:: +.. terminal:: - git commit -m 'add spelling errors' + git commit -m 'add spelling errors' - Run make spelling.......................................................Failed - Run make linkcheck......................................................Passed - Run make woke...........................................................Passed + Run make spelling.......................................................Failed + Run make linkcheck......................................................Passed + Run make woke...........................................................Passed From a5352f0b0cfb0e7f2151513ab5993e9afd5dde16 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Wed, 29 Apr 2026 18:05:29 -0700 Subject: [PATCH 02/13] chore: tweak CODEOWNERS --- .github/CODEOWNERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c848415..2e1fad8 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,10 +6,10 @@ # Development reviewers # Adjust this once we establish a Sphinx development team. -* @akcano @dwilding @medubelko @minaelee @rkratky @SecondSkoll @tang-mm +* @a-velasco @dwilding @jahn-junior @medubelko @rkratky @SecondSkoll # Changes to CODEOWNERS must be reviewed by admins -/.github/CODEOWNERS @SecondSkoll +/.github/CODEOWNERS @jahn-junior @medubelko # Doc reviewers # /docs/ From 39507391dab3919ce04ac433c025b9a161ce497e Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Wed, 29 Apr 2026 18:14:34 -0700 Subject: [PATCH 03/13] docs: update README --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 825f56a..2d13dd4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Sphinx Stack +# Sphinx Stack documentation *A pre-configured repository to build and publish documentation with Sphinx.* @@ -31,9 +31,12 @@ The file `test-sphinx-stack.yml` tests the functionality of the Sphinx Stack pro ## Contributing -We welcome contributions to this project! If you have suggestions, bug fixes, or improvements, please open an issue or submit a pull request. +We welcome contributions to this project! If you have suggestions, bug fixes, or +improvements, please open an issue or submit a pull request. -Please read and sign our [Contributor Licence Agreement (CLA)] before submitting any changes. The agreement grants Canonical permission to use your contributions. The author of a change remains the copyright owner of their code (no copyright assignment occurs). +Please read and sign our [Contributor Licence Agreement (CLA)] before submitting any +changes. The agreement grants Canonical permission to use your contributions. The author +of a change remains the copyright owner of their code (no copyright assignment occurs). From 27bbac16576fe24eaac5bbcbd633bee561c46468 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Wed, 29 Apr 2026 18:49:58 -0700 Subject: [PATCH 04/13] docs: add docs-only CONTRIBUTING --- CONTRIBUTING.md | 307 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 307 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..c955ec5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,307 @@ +# Contributing to Sphinx Stack documentation + +The Sphinx Stack is a shared foundation for Sphinx documentation projects, and +contributions help improve the documentation of all its users. The Documentation +Practice team performs most of the work, but all contributors are welcome. + +Common contributions include: + +- Bug fixes: Build errors, broken links, configuration issues +- Improvements: Better defaults, new extensions, workflow enhancements, new or improved + style rules +- Dependency updates: Security patches, compatibility fixes, better tooling + +If you run into any problems or see room for improvement, we encourage you to open an +issue or even contribute a fix. + +> This guide only covers contributions to documentation. If you're interested in +> contributing to Sphinx Stack development, refer to the [main repository's +> guide](https://github.com/canonical/sphinx-stack/blob/main/CONTRIBUTING.md). + +## Review the project expectations + +Review these three documents before contributing: + +### Ubuntu Code of Conduct + +When contributing, you must abide by the [Ubuntu Code of +Conduct](https://ubuntu.com/community/ethos/code-of-conduct). Projects governed by +Canonical expect good conduct and excellence from every member. + +### Canonical Contributor License Agreement + +Code contributions can only be accepted from contributors who have signed our +[Contributor License Agreement (CLA)](https://ubuntu.com/legal/contributors). Signing +the agreement grants Canonical permission to use your contributions, and you remain the +copyright owner of your work (no copyright assignment occurs). + +Review the terms of the agreement before signing it or committing anything. If you agree +and choose to sign it, your work can be incorporated into the repository. + +### Open source license + +The Sphinx Stack is licensed under [CC-BY-SA-3.0](LICENSE). + +## Report an issue or open a request + +If you find a bug or feature gap in the Sphinx Stack docs, look for it in the [project's +GitHub issues](https://github.com/canonical/sphinx-stack-docs/issues) first. Add +your voice to the thread if you have fresh input. + +If the bug or feature doesn't have an issue, [open +one](https://github.com/canonical/sphinx-stack-docs/issues/new/choose). + +## Development setup + +Create a [personal fork](https://github.com/canonical/sphinx-stack-docs/fork) of +the repository, then clone it and add the upstream remote: + +With +[SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account): + +```bash +git clone git@github.com:/sphinx-stack-docs +cd sphinx-stack-docs +git remote add upstream git@github.com:canonical/sphinx-stack-docs +git fetch upstream +``` + +With +[HTTPS](https://docs.github.com/en/get-started/git-basics/about-remote-repositories#cloning-with-https-urls): + +```bash +git clone https://github.com//sphinx-stack-docs +cd sphinx-stack-docs +git remote add upstream https://github.com/canonical/sphinx-stack-docs +git fetch upstream +``` + +Install dependencies and verify the build: + +```bash +cd docs +make install +make html +``` + +## Contribute a change + +### Research the topic + +All significant work should be tied to an existing issue. Before starting, comment on +the issue to have it assigned to you. + +#### Minor changes + +Check [GitHub issues](https://github.com/canonical/sphinx-stack-docs/issues) for +existing reports. If none exist, [open +one](https://github.com/canonical/sphinx-stack-docs/issues/new/choose) and state +your interest in working on it. + +#### Major changes + +Describe your proposal in the issue thread, including page's +[Diátaxis](https://diataxis.fr) category and structure. + +### Create a development branch + +Sync and create a new branch: + +```bash +git fetch upstream +git checkout -b +``` + +Name your branch `-` (e.g., `issue-235-add-setup-guide`), +keeping it under 80 characters. + +### Make your changes + +Follow these guidelines: + +- Use separate commits for each logical change, and for changes to different components +- Keep the Sphinx Stack minimal by default; optional features are best implemented + by the projects using the Sphinx Stack rather than the Sphinx Stack itself + +### Commit a change + +```bash +git add -A +git commit +``` + +Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format: + +``` +docs: add initial setup guide +``` + +To determine the commit type, check the file history with `git log --oneline `. + +> **Tip** +> +> If you're unsure which type to use, the commit may be doing too much, so split it into +> smaller commits instead. Select the highest-ranked type that fits: +> +> - `ci` +> - `build` +> - `feat` +> - `fix` +> - `perf` +> - `refactor` +> - `style` +> - `test` +> - `docs` +> - `chore` + +### Sign your commits + +All commits require cryptographic signatures ([DCO +1.1](https://developercertificate.org/)). You can sign commits by adding `-S` to the +`git commit` command from the previous section, for example: + +```bash +git commit -S -m "docs: add initial setup guide" +``` + +Signed commits display a "Verified" badge in GitHub. Set up signing via [GitHub Docs - +About commit signature +verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). + +> **Tip** +> +> You can configure your Git client to sign commits by default for any local repository +> by running `git config --global commit.gpgsign true`. Once you have done this, you no +> longer need to add `-S` to your commits explicitly. +> +> See [GitHub Docs - Signing commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) for more information. + +If you've made an unsigned commit and encounter the "Commits must have verified +signatures" error when pushing your changes to the remote: + +1. Amend the most recent commit by signing it without changing the commit message, and + push again: + + ```bash + git commit --amend --no-edit -n -S + git push + ``` + +2. If you still encounter the same error, confirm that your GitHub account has been set + up properly to sign commits as described in the [GitHub Docs - About commit signature + verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). + + > **Tip** + > + > If you use SSH keys to sign your commits, make sure to add a "Signing Key" type in + > your GitHub account. See [GitHub Docs - Adding a new SSH key to your + > account](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account) + > for more information. + +### Test the change + +Build and run the checks locally before submitting: + +```bash +cd docs +make html +``` + +```bash +make spelling # Check spelling +make linkcheck # Validate links +make woke # Check inclusive language +make lint-md # Check Markdown style +make vale # Check style guide compliance (optional) +``` + +To preview locally with live reload at `http://127.0.0.1:8000`, run: + +```bash +make run +``` + +### Push the branch and open a PR + +```bash +git push -u origin +``` + +Next, open a PR on GitHub. Format its title as a conventional commit (GitHub may do this +automatically for single-commit branches). + +### Describing PRs + +Your PR should include the following details: + +- Title: Short, descriptive summary +- Description: Problem solved, features added, or bugs fixed +- Relevant issues: [Link related issues and PRs](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls) + +## CI/CD pipeline + +The repository configures multiple automated checks. Some are conditional based on +target branch or changed files. + +If a check fails, review the logs for remediation guidance. For failures unrelated to +your changes, rebase against the latest base branch. + +### Checks on all PRs + +These run on every PR and on pushes to `main`: + +- Documentation build: Builds the documentation and checks for errors +- Spelling check: Verifies spelling using Vale +- Link check: Validates all links in the documentation +- Inclusive language check: Runs woke to check for non-inclusive language +- Python dependency build: Verifies dependencies can be built from source + +### Checks on PRs to `main` only + +- CLA check: Verifies you have signed the Canonical Contributor License Agreement +- Removed URLs check: Detects if any URLs were removed without redirects + +#### CLA check in CI + +When you open a pull request (PR) against the `main` branch, a mandatory automated check +verifies that you have signed the CLA. It uses the +[canonical/has-signed-canonical-cla](https://github.com/canonical/has-signed-canonical-cla) +GitHub Action. + +If you haven't signed the CLA: +1. The check will fail with a message indicating the CLA requirement +2. Visit to review and sign the agreement +3. Once signed, re-run the check if you have permissions, or ask a maintainer to do so. + Pushing a new commit also triggers re-evaluation. + +The CLA check only runs on PRs to `main`. Internal team members working on other +branches should ensure they have signed the CLA before their changes are merged to +`main`. + +### Optional checks (allowed to fail) + +- Style guide check (`vale`): Checks compliance with the Canonical style guide +- Accessibility check (`pa11y`): Checks accessibility of generated HTML + +## Review process + +PRs are typically reviewed within a week. + +### Responding to feedback + +Push additional commits to address feedback (commit locally rather than via GitHub UI to +avoid sync conflicts). + +Rebase your branch before requesting a review to keep your commits clean. Once review +has started, avoid rebasing to maintain the review history and make it easier for +reviewers to see what changed. + +### Common feedback themes + +Reviewers may request: + +- Wording, terminology, or formatting changes +- Consistency with existing patterns +- Proper reST or MyST markup style +- Cross-references: Use proper reST or MyST syntax +- Examples: Start minimal, then show options; include verification steps From c0f9ad7db7c79ac71e316b4d81192ce5fd522352 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 08:09:47 -0700 Subject: [PATCH 05/13] docs: update README --- README.md | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 2d13dd4..b6801e7 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,11 @@ # Sphinx Stack documentation -*A pre-configured repository to build and publish documentation with Sphinx.* +User documentation for the [Sphinx +Stack](https://github.com/canonical/sphinx-docs-starter-pack) — a set of tools for +building and publishing Sphinx documentation. -## Description - -The Sphinx Stack includes: - -* A bundled [Sphinx] theme, configuration, and extensions -* Support for both reStructuredText (reST) and MyST Markdown -* Build checks for links, spelling, and inclusive language -* Customisation support layered over a core configuration - -See the full documentation: https://canonical-sphinx-stack.readthedocs-hosted.com/ - -## Structure - -This section outlines the structure of this repository, and some key files. - -### `docs/` - -This directory contains the documentation for the Sphinx Stack itself. - -To view it in your browser, navigate to this directory and type `make run`. - -### `.github/workflows/` - -This directory contains files used for documentation build checks via GitHub's CI. - -The file `test-sphinx-stack.yml` tests the functionality of the Sphinx Stack project. +The template itself can be found at +[canonical/sphinx-stack](https://github.com/canonical/sphinx-stack). ## Contributing From b488ee165f0ea31c1d7f13f9be52581e89c27089 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 11:49:27 -0700 Subject: [PATCH 06/13] docs: incorporate changes to 'Test the Ulwazi theme' --- docs/contribute/test-ulwazi-theme.md | 152 +++++++++++++++++++-------- 1 file changed, 106 insertions(+), 46 deletions(-) diff --git a/docs/contribute/test-ulwazi-theme.md b/docs/contribute/test-ulwazi-theme.md index e2e93ff..780a64b 100644 --- a/docs/contribute/test-ulwazi-theme.md +++ b/docs/contribute/test-ulwazi-theme.md @@ -1,7 +1,7 @@ --- myst: html_meta: - description: How to test the Ulwazi theme in a documentation project based on the Sphinx Stack. + description: How to test the Ulwazi theme in a documentation project based on Sphinx Stack. relatedlinks: "[Ulwazi on PyPI](https://pypi.org/project/ulwazi), [Vanilla](https://vanillaframework.org), [sphinx-basic-ng](https://github.com/pradyunsg/sphinx-basic-ng)" --- @@ -9,37 +9,81 @@ relatedlinks: "[Ulwazi on PyPI](https://pypi.org/project/ulwazi), [Vanil # Test the Ulwazi theme -Ulwazi is a Sphinx theme built on Vanilla, with the base layout and functionality derived from sphinx-basic-ng. +Ulwazi is a Sphinx theme built on Vanilla, with the base layout and functionality +derived from sphinx-basic-ng. -This guide outlines the steps required to use the Ulwazi theme in your Sphinx documentation project. +This guide outlines the steps required to use the Ulwazi theme in your Sphinx +documentation project. + +We recommend creating a new branch of your repository and testing Ulwazi in that branch. +You can build the Ulwazi-themed documentation locally from the branch or open a PR and +view the changes in its RTD preview. ## Update the dependencies -In your project's Python requirements, replace the canonical-sphinx package with Ulwazi and its dependencies. The minimum set is: +In your project's Python requirements (`requirements.txt`), replace the Canonical Sphinx +package with Ulwazi and its dependencies: -```{code-block} text +```{code-block} diff :caption: requirements.txt -sphinx -build -sphinx-autobuild -canonical-sphinx-config @ git+https://github.com/Canonical/canonical-sphinx-config.git@main -myst-parser~=4.0 -sphinx-basic-ng -sphinxcontrib-jquery -beautifulsoup4 -packaging -sphinxcontrib-svg2pdfconverter[CairoSVG] -sphinx-last-updated-by-git -sphinx-sitemap -ulwazi +- canonical-sphinx ++ sphinx ++ build ++ sphinx-autobuild ++ canonical-sphinx-config @ git+https://github.com/Canonical/canonical-sphinx-config.git@main ++ myst-parser~=4.0 ++ sphinx-basic-ng ++ sphinxcontrib-jquery ++ beautifulsoup4 ++ packaging ++ sphinxcontrib-svg2pdfconverter[CairoSVG] ++ sphinx-last-updated-by-git ++ sphinx-sitemap ++ sphinx-terminal ++ ulwazi ``` -## Update the configuration +Be ready to add any other missing extensions if you see errors about them. + +## Main configuration + +Updating the project configuration is the most critical step in this process. + +There are two main ways to do that: + +* Simple way -- Adapt the [Sample `conf.py` for + Ulwazi](https://github.com/canonical/ulwazi/blob/main/docs/default-conf.py) by + adjusting the values for your specific documentation. +* Hard way -- Adapt your existing configuration by adding all required values. -This is the most important and tricky part -- updating the project configuration. A reference `conf.py` with all the required configuration and TODO markers is provided in the Ulwazi repository as [`default-conf.py`](https://github.com/canonical/ulwazi/blob/main/docs/default-conf.py). Copy it as the starting point for a new documentation set, or use it as a checklist when migrating an existing one. +We strongly recommend trying the first option (the simple way) first as it proved to be +faster and less troublesome, yet enough for testing the theme. Choose the hard way if +your project already has significant `conf.py` customisation that would be difficult to +recreate from the Sample `conf.py` for Ulwazi. -### Set the theme +### The simple way + +Here is the simple way of trying Ulwazi: + +1. Copy the [Sample `conf.py` for + Ulwazi](https://github.com/canonical/ulwazi/blob/main/docs/default-conf.py) file + inside your documentation folder. +2. Rename the old `conf.py` to some other name, like `old-conf.py`. +3. Rename the sample configuration file to `conf.py`. +4. Open the old and new files side by side and update relevant values in the new + configuration file for your specific product and documentation. + +### The hard way + +The following instructions describe the modifications needed to support Ulwazi in an +existing `conf.py` file. Use this approach if you want to preserve as much of your +original `conf.py` as possible, for example in a heavily customised deployment or when +troubleshooting a configuration issue. + +For an example of all the changes, see the [Charmed Apache Kafka Ulwazi PR](https://github.com/canonical/kafka-operator/pull/444/files#diff-85933aa74a2d66c3e4dcdf7a9ad8397f5a7971080d34ef1108296a7c6b69e7e3). + +#### Set the theme Tell Sphinx to use Ulwazi as the theme: @@ -49,54 +93,53 @@ Tell Sphinx to use Ulwazi as the theme: html_theme = "ulwazi" ``` -### Update the extensions +#### Update the extensions -In the list of extensions, replace canonical-sphinx with Ulwazi, and its dependencies: +In the list of extensions, replace Canonical Sphinx with Ulwazi and its dependencies: ```{code-block} diff :caption: extensions in conf\.py --"canonical-sphinx~=0.6" -+"ulwazi" +-"canonical-sphinx~=0.6", ++"ulwazi", +"sphinx_terminal", +"canonical_sphinx_config", +"myst_parser", +"sphinxcontrib.jquery", ``` -If you need PDF output, add `sphinx_modern_pdf_style` to the list. +If you need **PDF output**, add `sphinx_modern_pdf_style` to the extensions list and `sphinx-modern-pdf-style` to `requirements.txt`. -This is only a partial list. Your project may require additional extensions beyond those listed here. +```{caution} +Your project may require additional extensions beyond those listed here. +``` -### Add the required variables +#### Add the required variables Add and fill the following variables immediately before `html_context = {`: ```python # TODO: Adjust to point to the repository where your documentation source files # are stored. - github_repo = # TODO: Select the default syntax for docs source files. # This is for a fallback view/edit source code buttons. - default_source_extension = ".md" # TODO: Change to your product website URL, # dropping the 'https://' prefix, e.g. 'ubuntu.com/lxd'. - product_page = ``` If your project is written in reST, set `default_source_extension` to `".rst"`. -### Update the HTML context +#### Update the HTML context You need to make several updates to the `html_context` dictionary. -For an example of all the changes, see the [Charmed Apache Kafka Ulwazi PR](https://github.com/canonical/kafka-operator/pull/444/files#diff-85933aa74a2d66c3e4dcdf7a9ad8397f5a7971080d34ef1108296a7c6b69e7e3). -The code snippets in this section might not match the exact layout of `html_context` in your `conf.py`. +The code snippets in this section might not match the exact layout of `html_context` in +your `conf.py` file. Add these new variables, including the top-level variables you declared earlier: @@ -108,7 +151,7 @@ Add these new variables, including the top-level variables you declared earlier: "license": { "name": "Apache-2.0", # TODO: set your license "url": github_repo + "/blob/main/LICENSE", -} +}, ``` Add these entries so the theme can display the project name and author without duplicating them: @@ -121,7 +164,8 @@ Add these entries so the theme can display the project name and author without d ``` Add these entries to configure the settings related to your GitHub repository. -`default_edit_url` and `default_view_url` serve as fallback URLs for the view/edit source buttons on pages that do not have a specific source file path set. +`default_edit_url` and `default_view_url` serve as fallback URLs for the view/edit +source buttons on pages that do not have a specific source file path set. ```{code-block} python :caption: html_context in conf\.py @@ -146,7 +190,8 @@ Add the horizontal navigation menu configuration: # "link2_name": "Second optional link", ``` -Uncomment and adjust the parameters for `link1` and `link2` if you want to add the links in the top navigation bar. +Uncomment and adjust the parameters for `link1` and `link2` if you want to add the links +in the top navigation bar. Add main logo parameters and adjust their values for your documentation: @@ -180,7 +225,7 @@ Add the following parameters for the footer. } ``` -### Add syntax highlighting +#### Add syntax highlighting Add these syntax highlighting settings after the list of extensions: @@ -191,7 +236,7 @@ highlight_language = "none" # default pygments_style = "autumn" # see https://pygments.org/styles for more ``` -### Configure the sitemap +#### Configure the sitemap Add the lastmod setting to the sitemap section: @@ -201,9 +246,10 @@ Add the lastmod setting to the sitemap section: sitemap_show_lastmod = True ``` -### Configure PDF output +#### Configure PDF output -If you need to render your docs to PDF, add the following at the end of the configuration: +If you need to render your docs to PDF, add the following at the end of the +configuration: ```{code-block} python :caption: conf\.py @@ -211,9 +257,10 @@ If you need to render your docs to PDF, add the following at the end of the conf set_modern_pdf_config = True ``` -### Update the copyright +#### Update the copyright -The Ulwazi theme expects a plain year string rather than the older {spellexception}`CC-BY-SA` format. +The Ulwazi theme expects a plain year string rather than the older +{spellexception}`CC-BY-SA` format. ```{code-block} python :caption: conf\.py @@ -225,7 +272,10 @@ The license information is now conveyed through the "license" key in "html_conte ## Test the documentation -Once configuration is complete, review everything again and build it from scratch (cleaning out the existing build files first): +Once configuration is complete, make sure the required extensions are listed in both the +`extensions` list in `conf.py` and the `requirements.txt` file. + +Build the documentation from scratch by first cleaning out any existing build files: ```shell cd docs @@ -233,6 +283,16 @@ make clean make run ``` -This will start a local server at http://127.0.0.1:8000. Open it in your browser to verify the pages render correctly. +If the build fails, check the build logs to identify the cause. +Common issues are: + +1. Missing extensions +2. Missing required values in `conf.py` + +Fix any issues and rebuild. + +Once the build succeeds, a local server starts at http://127.0.0.1:8000. Open that URL +in your browser to verify that the pages render correctly. -Report issues or feature requests in the [Ulwazi GitHub repository](https://github.com/canonical/ulwazi/issues/new). +Report issues or feature requests in the [Ulwazi GitHub +repository](https://github.com/canonical/ulwazi/issues/new). \ No newline at end of file From 7a26f356de4cc8bc3afd1db47cdab4292041b340 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 13:32:09 -0700 Subject: [PATCH 07/13] build(docs): update to Sphinx Stack 2.0 --- CHANGELOG.md | 233 ------------------ docs/.custom_wordlist.txt | 2 + docs/.gitignore | 14 +- docs/Makefile | 48 ++-- docs/_dev/.doctrees/contribute/index.doctree | Bin 0 -> 26790 bytes .../contribute/test-ulwazi-theme.doctree | Bin 0 -> 38780 bytes docs/_dev/.doctrees/environment.pickle | Bin 0 -> 206062 bytes docs/_dev/.doctrees/explanation/build.doctree | Bin 0 -> 38101 bytes .../.doctrees/explanation/components.doctree | Bin 0 -> 44623 bytes docs/_dev/.doctrees/explanation/index.doctree | Bin 0 -> 27270 bytes .../.doctrees/explanation/sitemaps.doctree | Bin 0 -> 57310 bytes .../how-to/build-and-preview.doctree | Bin 0 -> 54728 bytes .../how-to/configure-your-project.doctree | Bin 0 -> 57078 bytes docs/_dev/.doctrees/how-to/index.doctree | Bin 0 -> 29664 bytes .../add-documentation-testing.doctree | Bin 0 -> 66332 bytes .../bridge-project-and-docs-builds.doctree | Bin 0 -> 68836 bytes .../custom-html-templates.doctree | Bin 0 -> 25162 bytes .../customise-pdf.doctree | Bin 0 -> 80150 bytes .../enable-google-analytics.doctree | Bin 0 -> 40168 bytes .../external-referencing-intersphinx.doctree | Bin 0 -> 38459 bytes .../optional-customisation/index.doctree | Bin 0 -> 27712 bytes .../interactive-tables.doctree | Bin 0 -> 32016 bytes .../mermaid-diagrams.doctree | Bin 0 -> 39733 bytes .../openapi-specifications.doctree | Bin 0 -> 46030 bytes .../python-docstrings.doctree | Bin 0 -> 20984 bytes .../redirect-pages.doctree | Bin 0 -> 16123 bytes .../.doctrees/how-to/publish-on-rtd.doctree | Bin 0 -> 43863 bytes .../how-to/run-documentation-checks.doctree | Bin 0 -> 66069 bytes .../.doctrees/how-to/troubleshooting.doctree | Bin 0 -> 35282 bytes .../how-to/update-sphinx-stack/index.doctree | Bin 0 -> 34143 bytes .../legacy-sphinx-stack.doctree | Bin 0 -> 65470 bytes .../new-sphinx-stack.doctree | Bin 0 -> 56622 bytes docs/_dev/.doctrees/index.doctree | Bin 0 -> 35142 bytes .../reference/default-extensions.doctree | Bin 0 -> 43939 bytes .../reference/github-workflows.doctree | Bin 0 -> 41489 bytes docs/_dev/.doctrees/reference/index.doctree | Bin 0 -> 27288 bytes .../.doctrees/reference/myst-syntax.doctree | Bin 0 -> 143793 bytes .../.doctrees/reference/rst-syntax.doctree | Bin 0 -> 171707 bytes docs/_dev/.doctrees/release-notes/1.4.doctree | Bin 0 -> 38057 bytes docs/_dev/.doctrees/release-notes/1.5.doctree | Bin 0 -> 53619 bytes docs/_dev/.doctrees/release-notes/1.6.doctree | Bin 0 -> 44235 bytes .../.doctrees/release-notes/index.doctree | Bin 0 -> 32984 bytes .../.doctrees/set-up-a-new-project.doctree | Bin 0 -> 53550 bytes .../{.sphinx => _dev}/.pre-commit-config.yaml | 0 docs/{.sphinx => _dev}/.pymarkdown.json | 0 docs/{.sphinx => _dev}/get_vale_conf.py | 43 ++-- docs/{.sphinx => _dev}/pa11y.json | 0 docs/{.sphinx => _dev}/update_sp.py | 30 +-- docs/{.sphinx => _dev}/version | 0 docs/_dev/warnings.txt | 2 + docs/_templates/footer.html | 15 +- docs/conf.py | 213 ++++------------ .../assets}/components.yaml | 11 +- docs/{reuse => how-to/assets}/mermaid.txt | 0 docs/how-to/build-and-preview.rst | 2 +- docs/how-to/configure-your-project.rst | 20 +- .../optional-customisation/customise-pdf.rst | 4 +- .../enable-google-analytics.rst | 2 +- .../external-referencing-intersphinx.rst | 70 +++--- .../interactive-tables.rst | 4 +- .../mermaid-diagrams.md | 8 +- docs/how-to/publish-on-rtd.rst | 12 +- docs/how-to/run-documentation-checks.rst | 18 +- docs/how-to/update-sphinx-stack/index.rst | 2 +- .../legacy-sphinx-stack.rst | 8 +- .../update-sphinx-stack/new-sphinx-stack.rst | 20 +- docs/index.rst | 9 +- docs/reference/default-extensions.rst | 3 + docs/reference/github-workflows.rst | 4 + docs/reference/index.rst | 1 - docs/reference/myst-syntax.md | 81 +++--- docs/reference/rst-syntax.rst | 119 +++++---- docs/requirements.txt | 41 +-- docs/reuse/links.txt | 46 ---- docs/reuse/substitutions.txt | 7 - docs/reuse/substitutions.yaml | 4 - docs/set-up-a-new-project.rst | 8 +- 77 files changed, 365 insertions(+), 739 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 docs/_dev/.doctrees/contribute/index.doctree create mode 100644 docs/_dev/.doctrees/contribute/test-ulwazi-theme.doctree create mode 100644 docs/_dev/.doctrees/environment.pickle create mode 100644 docs/_dev/.doctrees/explanation/build.doctree create mode 100644 docs/_dev/.doctrees/explanation/components.doctree create mode 100644 docs/_dev/.doctrees/explanation/index.doctree create mode 100644 docs/_dev/.doctrees/explanation/sitemaps.doctree create mode 100644 docs/_dev/.doctrees/how-to/build-and-preview.doctree create mode 100644 docs/_dev/.doctrees/how-to/configure-your-project.doctree create mode 100644 docs/_dev/.doctrees/how-to/index.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/add-documentation-testing.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/bridge-project-and-docs-builds.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/custom-html-templates.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/customise-pdf.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/enable-google-analytics.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/external-referencing-intersphinx.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/index.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/interactive-tables.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/mermaid-diagrams.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/openapi-specifications.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/python-docstrings.doctree create mode 100644 docs/_dev/.doctrees/how-to/optional-customisation/redirect-pages.doctree create mode 100644 docs/_dev/.doctrees/how-to/publish-on-rtd.doctree create mode 100644 docs/_dev/.doctrees/how-to/run-documentation-checks.doctree create mode 100644 docs/_dev/.doctrees/how-to/troubleshooting.doctree create mode 100644 docs/_dev/.doctrees/how-to/update-sphinx-stack/index.doctree create mode 100644 docs/_dev/.doctrees/how-to/update-sphinx-stack/legacy-sphinx-stack.doctree create mode 100644 docs/_dev/.doctrees/how-to/update-sphinx-stack/new-sphinx-stack.doctree create mode 100644 docs/_dev/.doctrees/index.doctree create mode 100644 docs/_dev/.doctrees/reference/default-extensions.doctree create mode 100644 docs/_dev/.doctrees/reference/github-workflows.doctree create mode 100644 docs/_dev/.doctrees/reference/index.doctree create mode 100644 docs/_dev/.doctrees/reference/myst-syntax.doctree create mode 100644 docs/_dev/.doctrees/reference/rst-syntax.doctree create mode 100644 docs/_dev/.doctrees/release-notes/1.4.doctree create mode 100644 docs/_dev/.doctrees/release-notes/1.5.doctree create mode 100644 docs/_dev/.doctrees/release-notes/1.6.doctree create mode 100644 docs/_dev/.doctrees/release-notes/index.doctree create mode 100644 docs/_dev/.doctrees/set-up-a-new-project.doctree rename docs/{.sphinx => _dev}/.pre-commit-config.yaml (100%) rename docs/{.sphinx => _dev}/.pymarkdown.json (100%) rename docs/{.sphinx => _dev}/get_vale_conf.py (84%) rename docs/{.sphinx => _dev}/pa11y.json (100%) rename docs/{.sphinx => _dev}/update_sp.py (91%) rename docs/{.sphinx => _dev}/version (100%) create mode 100644 docs/_dev/warnings.txt rename docs/{reuse => explanation/assets}/components.yaml (89%) rename docs/{reuse => how-to/assets}/mermaid.txt (100%) delete mode 100644 docs/reuse/links.txt delete mode 100644 docs/reuse/substitutions.txt delete mode 100644 docs/reuse/substitutions.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 1ccbcfa..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,233 +0,0 @@ -# sphinx-docs-starter-pack changelog - -## Upcoming - -* Separate default configuration for copyright and license statements. -* Fix the handling of non-zero exit codes from pymarkdownlnt. -* Add a how-to guide about testing the Ulwazi theme. -* Move the Python virtual environment from `docs/.sphinx/venv` to `docs/.venv`. -* Make rediraffe the default extension for page redirects -* Add default templates for the Canonical cookie banner and Google Analytics. -* Add an `AUTOBUILD_EXTRA_OPTS` variable to extend sphinx-autobuild options for `make run`. - -### Changed - -* `docs/conf.py` [#562](https://github.com/canonical/sphinx-docs-starter-pack/pull/562) -* `.github/workflows/check-removed-urls.yml` [#552](https://github.com/canonical/sphinx-docs-starter-pack/pull/552) -* `.github/workflows/sphinx-python-dependency-build-checks.yml` [#552](https://github.com/canonical/sphinx-docs-starter-pack/pull/552) -* `docs/.gitignore` [#552](https://github.com/canonical/sphinx-docs-starter-pack/pull/552) -* `docs/.sphinx/.wordlist.txt` [#520](https://github.com/canonical/sphinx-docs-starter-pack/pull/520) -* `docs/conf.py` [#549](https://github.com/canonical/sphinx-docs-starter-pack/pull/549), [#558](https://github.com/canonical/sphinx-docs-starter-pack/pull/558), [#552](https://github.com/canonical/sphinx-docs-starter-pack/pull/552), [#558](https://github.com/canonical/sphinx-docs-starter-pack/pull/558) -* `docs/Makefile` [#551](https://github.com/canonical/sphinx-docs-starter-pack/pull/551), [#552](https://github.com/canonical/sphinx-docs-starter-pack/pull/552) -* `docs/redirects.txt` [#558](https://github.com/canonical/sphinx-docs-starter-pack/pull/558) -* `docs/_templates/header.html` [#549](https://github.com/canonical/sphinx-docs-starter-pack/pull/549) -* `docs/_templates/footer.html` [#549](https://github.com/canonical/sphinx-docs-starter-pack/pull/549) - -## 1.5 - -* Add `CONTRIBUTING.md`. -* Rename Makefile variables to avoid collisions in host environment. -* Rename `TARGET` variable for Vale checks to `CHECK_PATH`. -* Remove or replace docs use of archived example product documentation site. -* Revert the switch to a reusable `automatic-doc-checks.yml` workflow. -* Add `-q` flag to linkchecker to only report errors or broken links. -* Update dependency canonical-sphinx to 0.6.0 or higher. -* Update the default runner version for markdown linting. - -### Changed - -* `docs/Makefile` [#494](https://github.com/canonical/sphinx-docs-starter-pack/pull/494), [#536](https://github.com/canonical/sphinx-docs-starter-pack/pull/536), [#544](https://github.com/canonical/sphinx-docs-starter-pack/pull/544) -* `docs/conf.py` [#502](https://github.com/canonical/sphinx-docs-starter-pack/pull/502), [#545](https://github.com/canonical/sphinx-docs-starter-pack/pull/545) -* `docs/how-to/guidance.rst` [#502](https://github.com/canonical/sphinx-docs-starter-pack/pull/502) -* `docs/reference/index.rst` [#502](https://github.com/canonical/sphinx-docs-starter-pack/pull/502) -* `docs/reference/myst-syntax-reference.md` [#502](https://github.com/canonical/sphinx-docs-starter-pack/pull/502) -* `docs/reference/rst-syntax-reference.rst` [#502](https://github.com/canonical/sphinx-docs-starter-pack/pull/502) -* `.github/workflows/automatic-doc-checks.yml` [#514](https://github.com/canonical/sphinx-docs-starter-pack/pull/514) -* `.github/workflows/markdown-style-checks.yml [#535](https://github.com/canonical/sphinx-docs-starter-pack/pull/535) -* `docs/requirements.txt` [#543](https://github.com/canonical/sphinx-docs-starter-pack/pull/543) - -## 1.4.1 - -* Fix the version slug so the upgrade script has the right release tag. - -### Changed - -* `docs/.sphinx/version` [#516](https://github.com/canonical/sphinx-docs-starter-pack/pull/516) - -## 1.4.0 - -* Fix exclude paths issue for pymarkdown introduced in 0.9.35 and pin version. -* Add `install` dependency to `pymarkdownlnt-install` make target and use VENVDIR variable. -* Remove scripts and references to unused HTML metrics. -* Pin myst-parser package version to 4.0 to avoid conflicts. -* Make `BUILDDIR` in Makefile configurable from the calling environment. - -### Changed - -* `docs/requirements.txt` [#496](https://github.com/canonical/sphinx-docs-starter-pack/pull/496) -* `docs/Makefile` [#490](https://github.com/canonical/sphinx-docs-starter-pack/pull/490), [#504](https://github.com/canonical/sphinx-docs-starter-pack/pull/504), [#508](https://github.com/canonical/sphinx-docs-starter-pack/pull/508) -* `docs/.sphinx/update_sp.py` [#490](https://github.com/canonical/sphinx-docs-starter-pack/pull/490) - -### Removed - -* `docs/.sphinx/metrics/build_metrics.py` [#490](https://github.com/canonical/sphinx-docs-starter-pack/pull/490) -* `docs/.sphinx/metrics/source_metrics.sh` [#490](https://github.com/canonical/sphinx-docs-starter-pack/pull/490) - -## 1.3.1 - -* Switch doc links to `stable` slug. -* !!POTENTIAL CONFIGURATION ISSUE: Fixes duplicate version strings in sitemaps for versioned docs. This removes the `version` variable previously set in the sitemaps configuration section of `conf.py`. If you have any custom code that uses this variable elsewhere, do not remove it. -* Make `VALEDIR` in Makefile configurable from the calling environment. - -### Changed - -* `docs/conf.py` [#477](https://github.com/canonical/sphinx-docs-starter-pack/pull/477) -* `docs/Makefile` [#468](https://github.com/canonical/sphinx-docs-starter-pack/pull/468), [#472](https://github.com/canonical/sphinx-docs-starter-pack/pull/472) -* `.github/workflows/automatic-doc-checks.yml` [#466](https://github.com/canonical/sphinx-docs-starter-pack/pull/466) -* `.github/workflows/check-removed-urls.yml` [#466](https://github.com/canonical/sphinx-docs-starter-pack/pull/466) -* `.github/workflows/markdown-style-checks.yml` [#466](https://github.com/canonical/sphinx-docs-starter-pack/pull/466) -* `.github/workflows/sphinx-python-dependency-build-checks.yml` [#466](https://github.com/canonical/sphinx-docs-starter-pack/pull/466) -* `docs/Makefile` [#493](https://github.com/canonical/sphinx-docs-starter-pack/pull/493) - -## 1.3.0 - -* !!!BREAKING: Updated deps to use atomic extensions, not `canonical-sphinx[full]`. Updated `sphinx-terminal` uses backwards incompatible syntax -* Changed `html_baseurl` for better canonical URL support -* Changes metrics script to a less brittle Python script -* Introduce guidelines for adding diagrams-as-code -* Introduce guidelines for rendering CSV data as tables -* Introduce guidelines for pulling in docstrings using Sphinx `autodoc` extension -* Introduce guidelines for using custom base templates -* Dropped unused makefile variable `ALLFILES` -* Fix syntax error in Makefile that caused the fallback target to loop - infinitely. -* Add a step to the tutorial about removing `CODEOWNERS`. - -### Added - -* `docs/.sphinx/metrics/build_metrics.py` [#373](https://github.com/canonical/sphinx-docs-starter-pack/pull/373) - -## Changed - -* `docs/Makefile` [#373](https://github.com/canonical/sphinx-docs-starter-pack/pull/373), [#456](https://github.com/canonical/sphinx-docs-starter-pack/pull/456) -* `docs/requirements.txt` [#449](https://github.com/canonical/sphinx-docs-starter-pack/pull/449), [#456](https://github.com/canonical/sphinx-docs-starter-pack/pull/456), [#460](https://github.com/canonical/sphinx-docs-starter-pack/pull/460) -* `docs/conf.py` [#429](https://github.com/canonical/sphinx-docs-starter-pack/pull/429), [#449](https://github.com/canonical/sphinx-docs-starter-pack/pull/449), [#442](https://github.com/canonical/sphinx-docs-starter-pack/pull/442), [#460](https://github.com/canonical/sphinx-docs-starter-pack/pull/460) [#462](https://github.com/canonical/sphinx-docs-starter-pack/pull/462) -* `docs/.sphinx/get_vale_conf.py` [#448](https://github.com/canonical/sphinx-docs-starter-pack/pull/448) -* `docs/.sphinx/update_sp.py` [#425](https://github.com/canonical/sphinx-docs-starter-pack/pull/425) -* `docs/.sphinx/metrics/build_metrics.py` [#448](https://github.com/canonical/sphinx-docs-starter-pack/pull/448) -* `.github/workflows/check-removed-urls.yml` [#437](https://github.com/canonical/sphinx-docs-starter-pack/pull/437), [#445](https://github.com/canonical/sphinx-docs-starter-pack/pull/445) -* `.github/workflows/markdown-style-checks.yml` [#445](https://github.com/canonical/sphinx-docs-starter-pack/pull/445) -* `.github/workflows/sphinx-python-dependency-build-checks.yml` [#445](https://github.com/canonical/sphinx-docs-starter-pack/pull/445) -* `.github/workflows/test-starter-pack.yml` [#445](https://github.com/canonical/sphinx-docs-starter-pack/pull/445) -* `docs/Makefile` [#461](https://github.com/canonical/sphinx-docs-starter-pack/pull/461) - -### Removed - -* `docs/.sphinx/metrics/build_metrics.sh` [#373](https://github.com/canonical/sphinx-docs-starter-pack/pull/373) - -## 1.2.0 - -* Replaces spelling check with Vale. -* Fixes the Markdown linting GitHub action and adds a `make lint-md` check. -* Fixes the download branch name in the update script. -* Adds a check for removed URLs. - -### Added - -* `docs/.sphinx/.pymarkdown.json` [#379](https://github.com/canonical/sphinx-docs-starter-pack/pull/379) -* `.github/workflows/check-removed-urls.yml` [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) - -### Changed - -* `docs/.sphinx/update_sp.py` [#397](https://github.com/canonical/sphinx-docs-starter-pack/pull/397) [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) -* `.github/workflows/markdown-style-checks.yml` [#379](https://github.com/canonical/sphinx-docs-starter-pack/pull/379) -* `docs/Makefile` [#379](https://github.com/canonical/sphinx-docs-starter-pack/pull/379) [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) -* `docs/requirements.txt` [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) -* `docs/.sphinx/get_vale_conf.py` [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) - -### Removed - -* `docs/.sphinx/.markdownlint.json` [#379](https://github.com/canonical/sphinx-docs-starter-pack/pull/379) -* `docs/.sphinx/.wordlist.txt` [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) -* `docs/.sphinx/spellingcheck.yaml` [#410](https://github.com/canonical/sphinx-docs-starter-pack/pull/410) - - -## 1.1.0 - -* Adds sitemap support. -* Simplifies vale binary download & install. -* Leaves vale install output in STDOUT to reveal potential problems. -* Improves update logic. -* Update Makefile logic - -### Changed - -* `docs/conf.py` [#389](https://github.com/canonical/sphinx-docs-starter-pack/pull/389) -* `docs/requirements.txt`(https://github.com/canonical/sphinx-docs-starter-pack/pull/389) - -## 1.0.1 - -Fixes an issue with Vale implementation, and adds words to main wordlist. - -### Changed - -* `docs/Makefile` [852c19b](https://github.com/canonical/sphinx-docs-starter-pack/commit/852c19bf162e4697d7f36b49e8bc36ad71302216) -* `docs/.sphinx/.wordlist.txt` [#367](https://github.com/canonical/sphinx-docs-starter-pack/pull/367) -* `docs/.sphinx/get_vale_conf.py` [#358](https://github.com/canonical/sphinx-docs-starter-pack/pull/358) - -## 1.0.0 - -First versioned release. Adds an update command to better facilitate updates to -starter pack based documentation sets. - -### Added - -* `CHANGELOG.md` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `.github/pull_request_template.md` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/.sphinx/version` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/.sphinx/update_sp.py` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) - -### Changed - -* `.readthedocs.yaml` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `.github/workflows/sphinx-python-dependency-build-checks.yml` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/.sphinx/.markdownlint.json` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/Makefile` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/conf.py` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) -* `docs/requirements.txt` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) - -### Removed - -* `.wokeignore` [#363](https://github.com/canonical/sphinx-docs-starter-pack/pull/363) -* `docs/.sphinx/_static/project_specific.css` [#357](https://github.com/canonical/sphinx-docs-starter-pack/pull/357) - -## pre-version - -This version is the initial versioned release, supporting the implementation of -updates. - -### Added - -* All files - -## VERSION - -{Summary of features} - -### Added - -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} - -### Changed - -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} - -### Removed - -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} -* {File} {[Commit number](https://www.github.com) or [PR](https://www.github.com)} diff --git a/docs/.custom_wordlist.txt b/docs/.custom_wordlist.txt index 08e6477..529c24a 100644 --- a/docs/.custom_wordlist.txt +++ b/docs/.custom_wordlist.txt @@ -20,6 +20,7 @@ Kompare lang LaTeX latexmk +LLMs? Multipass npm otf @@ -27,6 +28,7 @@ plantuml PNG Pygments pymarkdown +pymarkdownlnt QEMU Rockcraft readthedocs diff --git a/docs/.gitignore b/docs/.gitignore index 46b2984..3006f13 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -3,15 +3,15 @@ .venv/ # Sphinx -.sphinx/warnings.txt -.sphinx/.wordlist.dic -.sphinx/.doctrees/ -.sphinx/update/ -.sphinx/node_modules/ +_dev/warnings.txt +_dev/.wordlist.dic +_dev/.doctrees/ +_dev/update/ +_dev/node_modules/ # Vale -.sphinx/styles/* -.sphinx/vale.ini +_dev/styles/* +_dev/vale.ini # Build outputs _build diff --git a/docs/Makefile b/docs/Makefile index 7415195..18d97e6 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,21 +5,21 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINX_DIR ?= .sphinx -SPHINX_OPTS ?= -c . -d $(SPHINX_DIR)/.doctrees -j auto +DEV_DIR ?= _dev +SPHINX_OPTS ?= -c . -d $(DEV_DIR)/.doctrees -j auto SPHINX_BUILD ?= $(DOCS_VENVDIR)/bin/sphinx-build SPHINX_HOST ?= 127.0.0.1 SPHINX_PORT ?= 8000 -SPHINX_AUTOBUILD_OPTS ?= +SPHINX_AUTOBUILD_OPTS ?= -D=llms_txt_enabled=0 DOCS_VENVDIR ?= .venv DOCS_VENV ?= $(DOCS_VENVDIR)/bin/activate DOCS_SOURCEDIR ?= . DOCS_BUILDDIR ?= _build DOCS_PDFPACKAGES ?= latexmk fonts-freefont-otf texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended texlive-font-utils texlive-lang-cjk texlive-xetex plantuml xindy tex-gyre dvipng -DOCS_VOCAB ?= $(SPHINX_DIR)/styles/config/vocabularies/Canonical +DOCS_VOCAB ?= $(DEV_DIR)/styles/config/vocabularies/Canonical VALE_DIR ?= $(DOCS_VENVDIR)/lib/python*/site-packages/vale -VALE_CONFIG ?= $(SPHINX_DIR)/vale.ini -PA11Y_CMD ?= $(SPHINX_DIR)/node_modules/pa11y/bin/pa11y.js --config $(SPHINX_DIR)/pa11y.json +VALE_CONFIG ?= $(DEV_DIR)/vale.ini +PA11Y_CMD ?= $(DEV_DIR)/node_modules/pa11y/bin/pa11y.js --config $(DEV_DIR)/pa11y.json CONFIRM_SUDO ?= N CHECK_PATH ?= $(filter-out $(DOCS_VENVDIR),$(wildcard *)) @@ -69,8 +69,8 @@ $(DOCS_VENVDIR): pa11y-install: @command -v $(PA11Y_CMD) >/dev/null || { \ echo "Installing \"pa11y\" from npm..."; echo; \ - mkdir -p $(SPHINX_DIR)/node_modules/ ; \ - npm install --prefix $(SPHINX_DIR) pa11y; \ + mkdir -p $(DEV_DIR)/node_modules/ ; \ + npm install --prefix $(DEV_DIR) pa11y; \ } pymarkdownlnt-install: install @@ -79,14 +79,14 @@ pymarkdownlnt-install: install install: $(DOCS_VENVDIR) run: install - . $(DOCS_VENV); $(DOCS_VENVDIR)/bin/sphinx-autobuild -b dirhtml --host $(SPHINX_HOST) --port $(SPHINX_PORT) "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" $(SPHINX_OPTS) $(SPHINX_AUTOBUILD_OPTS) + . $(DOCS_VENV); $(DOCS_VENVDIR)/bin/sphinx-autobuild -b dirhtml --host $(SPHINX_HOST) --port $(SPHINX_PORT) "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" $(SPHINX_OPTS) $(SPHINX_AUTOBUILD_OPTS) # Does not depend on $(DOCS_BUILDDIR) to rebuild properly at every run. html: install - . $(DOCS_VENV); $(SPHINX_BUILD) --fail-on-warning --keep-going -b dirhtml "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" -w $(SPHINX_DIR)/warnings.txt $(SPHINX_OPTS) + . $(DOCS_VENV); $(SPHINX_BUILD) --fail-on-warning --keep-going -b dirhtml "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" -w $(DEV_DIR)/warnings.txt $(SPHINX_OPTS) epub: install - . $(DOCS_VENV); $(SPHINX_BUILD) -b epub "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" -w $(SPHINX_DIR)/warnings.txt $(SPHINX_OPTS) + . $(DOCS_VENV); $(SPHINX_BUILD) -b epub "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" -w $(DEV_DIR)/warnings.txt $(SPHINX_OPTS) serve: html cd "$(DOCS_BUILDDIR)"; python3 -m http.server --bind $(SPHINX_HOST) $(SPHINX_PORT) @@ -94,13 +94,13 @@ serve: html clean: clean-doc @test ! -e "$(DOCS_VENVDIR)" -o -d "$(DOCS_VENVDIR)" -a "$(abspath $(DOCS_VENVDIR))" != "$(DOCS_VENVDIR)" rm -rf $(DOCS_VENVDIR) - rm -rf $(SPHINX_DIR)/node_modules/ - rm -rf $(SPHINX_DIR)/styles + rm -rf $(DEV_DIR)/node_modules/ + rm -rf $(DEV_DIR)/styles rm -rf $(VALE_CONFIG) clean-doc: git clean -fx "$(DOCS_BUILDDIR)" - rm -rf $(SPHINX_DIR)/.doctrees + rm -rf $(DEV_DIR)/.doctrees linkcheck: install . $(DOCS_VENV) ; $(SPHINX_BUILD) -b linkcheck -q "$(DOCS_SOURCEDIR)" "$(DOCS_BUILDDIR)" $(SPHINX_OPTS) || { grep --color -F "[broken]" "$(DOCS_BUILDDIR)/output.txt"; exit 1; } @@ -114,11 +114,11 @@ pa11y: pa11y-install html # which should not result in failure lint-md: pymarkdownlnt-install @. $(DOCS_VENV); pymarkdownlnt \ - --config $(SPHINX_DIR)/.pymarkdown.json \ + --config $(DEV_DIR)/.pymarkdown.json \ --return-code-scheme explicit \ scan \ --recurse \ - --exclude=$(SPHINX_DIR)/** \ + --exclude=$(DEV_DIR)/** \ --exclude=$(DOCS_VENVDIR)/** \ $(DOCS_SOURCEDIR); \ status=$$?; \ @@ -130,31 +130,31 @@ lint-md: pymarkdownlnt-install exit $$status; vale-install: install - @. $(DOCS_VENV); test -f $(VALE_CONFIG) || python3 $(SPHINX_DIR)/get_vale_conf.py - @echo '.Name=="Canonical.400-Enforce-inclusive-terms"' > $(SPHINX_DIR)/styles/woke.filter - @echo '.Level=="error" and .Name!="Canonical.500-Repeated-words" and .Name!="Canonical.000-US-spellcheck"' > $(SPHINX_DIR)/styles/error.filter - @echo '.Name=="Canonical.000-US-spellcheck"' > $(SPHINX_DIR)/styles/spelling.filter + @. $(DOCS_VENV); test -f $(VALE_CONFIG) || python3 $(DEV_DIR)/get_vale_conf.py + @echo '.Name=="Canonical.400-Enforce-inclusive-terms"' > $(DEV_DIR)/styles/woke.filter + @echo '.Level=="error" and .Name!="Canonical.500-Repeated-words" and .Name!="Canonical.000-US-spellcheck"' > $(DEV_DIR)/styles/error.filter + @echo '.Name=="Canonical.000-US-spellcheck"' > $(DEV_DIR)/styles/spelling.filter @. $(DOCS_VENV); find $(VALE_DIR)/vale_bin -size 195c -exec vale --version \; woke: vale-install @cat $(DOCS_VOCAB)/accept.txt > $(DOCS_VOCAB)/accept_backup.txt @cat $(DOCS_SOURCEDIR)/.custom_wordlist.txt >> $(DOCS_VOCAB)/accept.txt @echo "Running Vale acceptable term check against $(CHECK_PATH). To change target set CHECK_PATH= with make command" - @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(SPHINX_DIR)/styles/woke.filter' --glob='*.{md,rst}' $(CHECK_PATH) + @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(DEV_DIR)/styles/woke.filter' --glob='*.{md,rst}' $(CHECK_PATH) @cat $(DOCS_VOCAB)/accept_backup.txt > $(DOCS_VOCAB)/accept.txt && rm $(DOCS_VOCAB)/accept_backup.txt vale: vale-install @cat $(DOCS_VOCAB)/accept.txt > $(DOCS_VOCAB)/accept_backup.txt @cat $(DOCS_SOURCEDIR)/.custom_wordlist.txt >> $(DOCS_VOCAB)/accept.txt @echo "Running Vale against $(CHECK_PATH). To change target set CHECK_PATH= with make command" - @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(SPHINX_DIR)/styles/error.filter' --glob='*.{md,rst}' $(CHECK_PATH) + @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(DEV_DIR)/styles/error.filter' --glob='*.{md,rst}' $(CHECK_PATH) @cat $(DOCS_VOCAB)/accept_backup.txt > $(DOCS_VOCAB)/accept.txt && rm $(DOCS_VOCAB)/accept_backup.txt spelling: vale-install @cat $(DOCS_VOCAB)/accept.txt > $(DOCS_VOCAB)/accept_backup.txt @cat $(DOCS_SOURCEDIR)/.custom_wordlist.txt >> $(DOCS_VOCAB)/accept.txt @echo "Running Vale against $(CHECK_PATH). To change target set CHECK_PATH= with make command" - @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(SPHINX_DIR)/styles/spelling.filter' --glob='*.{md,rst}' $(CHECK_PATH) + @. $(DOCS_VENV); vale --config="$(VALE_CONFIG)" --filter='$(DEV_DIR)/styles/spelling.filter' --glob='*.{md,rst}' $(CHECK_PATH) @cat $(DOCS_VOCAB)/accept_backup.txt > $(DOCS_VOCAB)/accept.txt && rm $(DOCS_VOCAB)/accept_backup.txt spellcheck: spelling @@ -183,7 +183,7 @@ pdf: pdf-prep @echo update: install - @. $(DOCS_VENV); .sphinx/update_sp.py + @. $(DOCS_VENV); $(DEV_DIR)/update_sp.py # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINX_OPTS). diff --git a/docs/_dev/.doctrees/contribute/index.doctree b/docs/_dev/.doctrees/contribute/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..78032373f52351f876e15cee021689245c2d4981 GIT binary patch literal 26790 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 Mb&0NP;vc*Ce_}x}0RR91 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/contribute/test-ulwazi-theme.doctree b/docs/_dev/.doctrees/contribute/test-ulwazi-theme.doctree new file mode 100644 index 0000000000000000000000000000000000000000..43477c45760108a626d17640c2dde26e5d33a728 GIT binary patch literal 38780 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/environment.pickle b/docs/_dev/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..db069056f4d4e3245dfe183a9413cab71f7b3d53 GIT binary patch literal 206062 zcmeFa37lL$GR7jsBj zFCvhDk;F3yJe&zfLO2q_9Uvj$58+4%H%;>0;Geu3%Kk=}c_65HF`P>5-~8XLzt& zJcz666L|5`fvPt%mCrg=Z?==jXOd}@I9SZPPNH0@db4&vuFb z;Mq*|Gn{lzRK2+|Rd=acuHuc^rDB56NX_j}^`_>f=BE~<7N!=Z7R%E_J~x^kt9lC* zlKOh~E_vX8*{qUNuJE@xr^-&Ql+Nc$)nmYXaU!0}=hBIIW>{cUy`{N)c{E?iC1ZYB zzXo7gN{{7GNJ3#qENLcK5FHk>b%8F}w=bDyA8%K74OCS5A0b0Ekn^>8$uDHDdnWnpR6 zTd1C7GTB)96y!lM7+;c!mr*j4&K(Di^HsTGKI7nWk-7x5Y&sXunD;6pm0YdY3ui)Vxd{+;xV*C1SbPBiE&B93Pdh6cf&{ zlS|~2Ot-m}@@VwdD0mDCE-HEhD)jZ$zh^KHlM7X z@p=lOoKMEb>1-~a4UcBa&=;%G1}jCd zS`mI2Qs?C2qzzV16!ZD=>DYvRc6tIVJYDr7V@|n@)8Tj~gU=kTJo@PPaJd-Il^}&I z;Ag!n0@uSpeyr$}O2Y||qy$Mj>-Ar@-&Ly2w)KG<|rON1N`V_0RnXzJt z6dztM7b}S}a7|L(Rc}Ttn}nvy#*4?3`IEV7#ary0N@OZYhcq2vYb}8)qKT9fFGou$ z$0=_Dont4UR_SDTgcK@>csNzbqKzk^9_Pk(4?;uciJ?6)C9ICOIGwA5?p?NN6J&9I z(ix3cGUZ`va75I2G6}Ne5=0GPQv|KSCN8@(hi@ zch}e76}b|CXs@%A`D{E5USElKvcscb7lhY=Iv9oG$f0#Wz!MJ0J)Z?q#EZzkurNMG zQivu}9%r1F`oiqX0zO}T7zEHf)>;gbun-NmK&q$2y$dzb69d$j3`kEhp!<;l?nMTK zn1McI0L&>3Fgpg&Hw_fV(ExHc#kSlyKuswM^pBHn8mLwE10X1>@#`mzpf83;is>YD z$N_J`amOhPpNtoC&=B<9OG=djS}H`*zX_a|GIi9Q;qrKaMRX;&#Da-Nm(3C*L05<+ zUg(8T4m*W(CJ$Y+r#BXhDB-yM_Q*idsgxXi4OB5{>4r~Bl@VzBGCF2-W?V`EMN?s* zZ=u&noB%NaMmfdaNF;JQH=x@iacG@fRNXfPQ#Vo}zf_7#-xz>&GJo8O;#J6YsATZI z0e1qbw^8ZfeGrdj4}63al!r$%aS-|p1Pl@xFOH*ui-=xUKrgvi)H2$y?#CfS^Rw|> zftWm8DQ3X5Ik|MXkWL&QCplH;!-6!?etGy7gnbOU0}p2BDp|59&U(w_44OWHGxYlf z*gAVJ^%ki6qxoVsUS|E$gEGVfkbh9lBG*#O619jHa8G(H#e zLv#e45|nrEKIy>eNyWP|8$XrKqH;1h;-t2yH^l+A0gyT1EdmCqVIVXDEeJ(Q!pXOs zXF<%+mKntZ-aK87KJARTEIEa$cPYAt-g2fi46UCY9jE7Xl|Z8}!gzx@2vG$1F-Q=u z=9R#b^0O+?5v+Csm&0*Ih8fS=%^jI3Ijq!bi3v7W_XgY{U*^Wq^5(D>MaKg+z!C*N z(L1r0c0dWy7sJpLsdy<}f_lyXzZ5J@dIP%2DO5)23%K99cgGwyfG_cS`98OEfTIft zo4My(QxKs=d^?@QXQoHfWRdh#a>sMjEqL?zSqVJ=IPX~Kdv&9_ z8pAUOR|~ly8a?-k{JBz3Ay0yieva}oXH0<-YzYu4rw9sdr)|Tt-g1Tlv6frIC(}u4RhK9_u?j^4 zrpA-bk*uS8VA4PYhoyr@@5ex3h$o6^Hin4_a#NX?WDC>HC0z0(s0P(d9VX!Q!Z=Dl z3d@^p*j@&%#A9V`|1hi`EHb71E^2AuUZ68uR?ZiO^P?y>=D;o>Tag(&6N7|uHD1y+ zrpu%T`gb=qUf_>W+3U*A6A0M~j@#7o+hLX?%Xw`=txod15G6PA3Lb?Xdz4 zJ{B-SZcvyPh_FU;@e?tZ$$uhgBY zYUNGYBf8cHENT^7bU+PS)Myp<88NBqkNT#kgjjw?d>B z#=Aexqk#m56(Tt$=+2Qi^g7g@l!d*EHk`+}lUo))S;kPrG$7rOPH=}L6&5f|g@HpO z*)!g9E@^HJOGCNrqwj|`A+lA-q{~XdoK^SebB1LwfeuDsu!53%1RVEQ%KJR#pj*Rg z+~LiX(Y0Vn>I+&iS90RTM2fyt>LvB6-#DP|1)*TjDe!41XvSz~yw&Emzyy>m*-H3a z^-1)K8hD&hI)c~)MHqi#aJephEA^(F$VOmNR`Wl z((MBS{=HC9jL2xzltt%O_3qGR6RCJP<_kLkHKzCg9_DgRrbJeJP~pu6s3I(7FRH=F zjaWH9&^OQ*Dt&tp-Cm_o$Po0l>6hhZP2FlJ0azs(PtYiuM+TVZ9Nzp!}^2muq(A2?g$7j z1cR9}Q%246ckPPa{q*SI&gf0C8!$@cPr29XQwCsJjtmgq1N-jZwdcU#9vbBO+|%O` zZ@q@@KMF8*pbY=sO4Gh+FrF=xhgp~)%xmi(rAuN|7eIik0*~{#3=s%TOTmD+bGuy= zC{%Q^u%=WAYQez@_+=P^<#D!#>G5@ecL^SIAf2nQCt(;8R)l2=>kOz~87P{<0GFHx z;BzLO#ZZw;EDw}mr`9n1RCqOYSL!JtB8Yj-WAy67&+fhC5$oI}poo>PT> z_#9w;Y>Z6sXsHN4WHA?!n=uFy*|GftM`N3=f66njnK<3Q@!3a*jtvbR8yMRh*)TM8 z&2<|#-VqrXh+K1BBV)~UL%8E-y zh*6PIFf9^~9Do@VLn$h_18#tLHZno?PDjuJ;FaM5k#ar)>3=5 zXjfPyKN`sa4lvB?0`jtab15>h`+@y~OpVi#!#+ljNVShdPQq{%OojhRdV8SPr>fvX zFZRnTn{_psxM+B#awL(-=bXrP^*J%Vqz~+e^Tz=(iJDR-&bY$e5usuF=s43hlRn`@ zfGM*pJsRm(RMeHw=okEO19M4sBVu<((j}mQF|d=2 zMIK6LGLaD{QXtEnR@U{ zDWy_`sCxB%dk*cP84>OROIJUIArWMdkx(WifyGrsbRdc7F`%{>a|TZ>K{G;Af+Srif$DP3Nhlsxc^jVDzaescLvG^s zhK>EPO&d3CWU$aB;HXlLE#QUJDlxQHR5sQ@m#+rpp%+9DiI^l7M~@lq$(P?lb3S;& zGG-o*<;wvE)IT%?4?L3^iC6dL%OZ<`I!Pq@O%dIQh{tFKa2LZG?cXqz+psZ6X_hfS zA*eCF=ojJ(C5d>%Bq{dnXGemF%cVj!2$bFmf4;zskteR7sxr{2Z0M6>g-R*aA9y`n zmaq|>CKM<|uDdQ+SuGv}Kfok`&YyGi#$#d7bz(#B(qG;C^`9VmRf>#| z=#2RDi77$turYF7uuZZMYgqKb%pK*)E%gUmpn6j?A@n9e0KbeZU1hHPg6gBGma7_Q zz*=&)AVmOLjdBE+_$$aM+rKfgef##vh7Hq&F0I?wI`@-tz+g+NqemAck^@xH<)?=eJ8V!v6%N|-9>KS7-+4nUQA`5?B`KdGjL))Swp43#9c8uRE%5GAjTM}HzEot%=n3XIvK%4NIqJuE& zuVm`#q1@G>W*sO6^a5A05)BRdZ`d4(ZV~AZSp8*Unmb}%uHA>S%^T!TXzSlu$o46iHuY%x{B z!y|V!mK{{oNLk1nm|300Gpj(8N3IwHVp^umu*ia!VZQj<$(gN3(U-*{7+A?*m&eX# zV#yyH%l&{8PO8x3;shot*sxbab(#!LD*q#ha~!pc2WXHbfunDUjf~e!Y~IDk5q;7#BCiWha;{*A1dI&+eynNf&=1Y4qh-Cb(|>1a!z?5 zSIAEAqj@oVlmvTtAHz|Q@9B6sfDzw`cm zJ9h5geQ3|%;9c+$nYU!-9|O}k92d*??L2Vrk)8MAm3{kmWYV#GaSX-h(PZN(?c9Z* z0Ru(y1y0tfFUQQKORMs?TK&Y zEBI~-P;q6sJ9EpH0^BllMstaAn4bk24r5jUq@p>ghp)Kul1qB89m2<{3DXI(Q6b2u zLwAoVr$`B7(PNm_FXzM0C(!r7+{)ug{B-XS*4>aPIf`EN=n+g|VAa7rV#;oc9@-qa z8%`Ae`tHq<`{9;PC+N<0JimW)WRITagKmtK%cI98j_`UD1v;P0cO3M700nqMh@<4s zIyO<}8IzIxDLgDEM(`Z7%|-a!CPqNSW&!vU=~3$U!uOnV zKA(}w3?>t!(6r;JBzO{hpH~W{6NFfxEarwWz2qe7??NKOH;IO&LVeNWkA}-ZB64Gp zkJ@jF7mM-na8Z0_B@-{!;uN4^0M%1`I}8A$_%Q$>qV^6!=+KXGsflrimW*IA2uL<@ z=-#_ePi)z?b#vs#8@6qZY`XzKf`yp~s@N?zZ;ouaWpiZftu=)(lO8O$WeW=4h=R9l zsVSI=k2o1!>6Y67Y70Q#P+KYW#4PH%=q`k|AzF~7c zL`)K=^Qz2^H{H5f{jY%rIHuT^+iq+CDv#cJEC6iFZ8vYe^|sAhZm9t^lBonrZM|jl zty?#5A^P?Xq04hlqC0@2R|C8>r@yFNEvE|?Td85AfA)*YPqo5x3Ow}(QSP2EU$FvY?b zyHj6)^ht-hQ(CwH=T|;=k+V(Y^%u3pCg6d($k(QWmS0!{*eMqC#VNE_851`VYBhos zB{G$g7d5a}y#8;8H1I`!Hgr1t{I}0+{5X~rWE@)h$KE&c{_KFm4!+z+ogG1E&b9c& zA+))CaUyp5+DM9)uF!1wDGok7MNjEntfF&@JCaV~T1;&X3H&^KqyP`kQxKqxqS=Wi zvx%oC6#Sr@kloPQSG;dY)+Qxvwed7V5d)OrhuJ&8#l3d zr#Qq@61?I+x+R^94yE#=qxhESP(GQYCBIm{3ilqIi4F?3Jftygq*d3#8I;O>=9OXQ@%h4Cza`qzRs*hmK7QL8R%mAzA?f`tStLrip!+ zH#kT>cJ)r!-AW%-MC2b+^7Ou7UR7Y*GdQ=g`g>}-u7`O(QL2{*u*@(9LKwCYF zMw4IADp&*{dMDtV|LAYwLCP5##}x9!X)LD0j5mdXbHHo_3--i$Si&MFgg~9ZLOQS{ zB$}!L(Ks$Y>LW;u#adurAp8e-eTXlh^DuP_RfTytnqoW3^UT2dzRDP|6->G0>B!Is znhC{o4q*kPnpPmR)w_`xJKY_q9}S%%HZjLzz_XN?Lk$vYp3)$ZVkDYWt4ar}jVOSA zy&9saQsgxJ@f5%)Q>3QqeY6I(=_i{vCa>NAuEPKt2aDOU(5g70qnSWIP%hZYxGhRt z9q0(JIY^6%W972tR03WW@m{PiY2B(g&)G4*8OvG_`;#wXRY0^DPo^uS?P#Q%Bf9*F zbSaH#Ee@;QK7@d_99+v2r%eIOpVE>eCmDE(=vhcG)-hA`vt9wL{wM+`X+hxWqgcG83r}dh&N)_vZ3)^ov7Qy<`{zRn+>Xxzk zbj-ne9bHl{(iu|ArPMTL=_sofO^sZK71Xl9VneZo6k%UHGj%=;)d8ZMnHW;1S_Z_ip>U7 zCK+fxetKe3MR+=bC2vD1CKXdEGBhLt&=6KbwFzzA7zXL_ssD8chA_gXo?O=OfsLL( z8E2F_dTOnZ-qNj*xX`*K9-9!8L0TR4v9v%$IH(#PzzDUBCQ$|2{#MlOYneQCa^>;u zkoDll-n6ZO&N1&z;cK@hvd1QTTOdjcf}&etkxuC&p+>Ha?B>-9ydqke#w8x*_@jZq z^6%au44j6@Xs(oohJ$AB5Z3nRPx3pZ_$cTMslwDSt!JaIIe~K}e0E{rihygiFYxOnM-qY7Y=V-)I;{_~Fp>7V#U9jk189j1a z4TjWr*5NE&rW9?6b+AC~2Sf?==;>OdL-j|Zb%Dwc379E zZ^G0?DBlo;?!}NX1u>0M*f|wP>JLZ446o65W1EJ^NI+s9SjiY1#rm;C^4aP9Mta%7 zB0L{49i{HaO;8Glz;k947JI_4moCE67l4DX$f6IUG>oOeBSjN38KrmAvK41I>&!20Z6dG$VXSlxl1adPI&yq=ZQvs|{9S zl!^7B^UEnLXG9(_tnJO9y{%7xhm+?aS(PXhBzhXlhHKK?Ea7LhU$>m@Hu}D+=s~Oc z7E>Xt&900A%lvWVpFqAAbB{%V64>E(zZ*XhmrM~Y!LFh3#zG+53R!c=M^#Dz&{dLF zXc#U&w2x(VXAr(qs*7(Bwx&7I>T zDt}I(4vOG`@}QOR2fS6LtfV#4`V6a|%_Dd!u>`xAHJNHwnuq)zmiWt>_(cPiQgL7e z;mN5qr5HrKfhkH0_9*v_D!arls~;ebm?;fn(sEI1A4uGVC@f2j3S8~$&tzi z0(54UGLwge1B{-t8c928xlm$AFI+CzJwG3 z*1nRVf@T~{4+S+qpGfI_&U?%FeT`pf9H~$^_t7f8j~;-+9gdfLIs%8a{3v{T7>bb6 zWZ>~)ehdj2mJ~VEZT2G}BswOLZWeb?IKfhTgcMWCk{P4)1cB)MBIPO)#ZKvl1dUNn zJ%;W@x(vkRR$l_y;POhLk`N5D-;84ignm4@2Io}=4&>xM_2+Qq3~PBs&KaSjen3o- zSndOeiy&5T3`iDT2foHz%D1#n5qTk?D$$3B?{dHbC#t}+75t2K^f3Gw!)O$hvQypr zNd+s&A0gO6)lgMNCrB9#EJ^^dP~3%-osl|~su$a|pCS+7^~gD!IA*99p;K_RKs%Kp z2xLhoBAYgm6jchFHpQU(DH9s=wd(a9eaIQ1Yc?;A^=tbfV2y2r2`XX&EKPVkw9BOv z_J{6q5XN~}}@Kb8=DyYMMV(J3myAFrIIZc(Tne8i50hA$-%{sp5=(^+0h<}1|7 zX)uBCBq)BSvm}g!isv92ydrE@*M8DK?*8xO*_({`vMH%^c9KCpj1*|-^#f_I zy!A2|;^Z?Fv%~6)vO;C@EWH5Tun5563-cuiIEu^-nY(NCmB_Q7-;Pva^?-XFY^Buw z?gspvb^CEV<8I{RCO%$|BOY&-pQ!xYfFE}Y4&I7D%$ej$V66__Ha|Z`J*nzAyqmR< z`Ds8x2{#b>9!Dl92ZnqpnnJV%T24qcl%RU?-z9jZwx2Z-Ea9GEAw@meCFB|3{HZ z6zO6p<0Q?XJ$LGg77jMGThEvI`*Qb^N)^T>R+ z(OXORmBjJ=z_&uS7fQxh#-&tD1BWF!m9rKKLb55s#@l+s))*-<%9*DhlW&<+2r1}U z;wSbN9>j+rJQFD*$aBS}V-iN<)9*}exhwqa&H>!&?L7j!y;#ODq3mSFIn@jfG1gM5KwZ2#Gqab#^k@1yeBh&G5S;=SsF)>l}s5E!Sx8V0cR%Goy~*Hfs96jKl^PW79SCdu3BAQg0bCkJc1a~^6t%b9zZaA^@A1Q! z&!U79XrtlGWbD_XyUN!xh-g04!^vpjk3`=j;)p3Uq`XVh*sqs+DzdOjEFEZ?kxBt` zxcl&BP=0=XBhlJ5g`$|y&Ik2c zES(>4as%YOfqi!11?WQ`tCqY~!K#sTF{Q@oRFUCMBLXbpUjDgg_iWg%bFUCO1yqG>t9*xJd;1^>cHL>uExtfbHkQZYh z0}{cflQ*OPvq7yFV<0C9ApiMa3C?Ti0@LghGBmmv1F05|)U@(n)QGB!F_5$t@&8^# z)x{Xd7WU~ctOmXq1Nncm#a@h=`@hw*UgYO5C_gX8K&ptqi!qQFV;~V!c`*hO^T3=Q zj}{o!24d1UFcfem;fl4z5JOTETFNu_G+{20uz(^NAsfV(UW|df7z4@s@k#ue354XN ztadSwm>yL#tm4?g)P1EubE!JEvAtNx7Qv9_vBrXzLI*=43749fNL|(sjMVeIel*g> z$jI7A#EX%Usq)3h$RWglaU`Ef@+=#mLBTG^g~S7b7Dn zvb8ZS>LVlB{=iZ-*;Y5SUvBC{v?@LIM|}J^AOD1o2z&JRDMxrD!aR7ha_sbs)r5#D z@a6=t*;Gy!%%=+a^jWE* zE>QN1R{Ymbq)zIRr~I4asYmrY6RBtG=ciN8(Wk%UWB1(D^YqQ_2U7QgSihY575;s` z|9vkw%QqfNy^w#;q~!XXU*C)NUaEn3smJx{D|`U2^h>_VzxQe%h1aBhRlo9U{>|6= z1z+c%z21NNhSaa?SAHY)Mt%A=U5(m7nRX$Og_fY19&3u_Nz?K9Rw z4qU!H^$z}hXX;(_t9QPplm*q)-F!=Sv6j%zYHBy%lYO1_e%#g6EqqsPTP>?_Y4;Q< zteTz9ZeLB^L#0#iPQ8bJ->ZIqH}xLowEUbAyU%L^roOQE5?%6(sV4&;LTmPU9cuLqL;rJy=$F**U!=aw z_y02WS6T$WlKQGX{p-}%^y%NFzM)RdE~^|4%T(6SQs4At{_p*>Z>9c0L-~W$AL`S8 zOnqCQelPW}`t%2>|J0}d1y!PS%@0#Q(x?BO`msL!$r*k2Q~&ILQa{r-|4iR>FG0Y@ zS#{gJGGn zS9cFCd@9|83-?|+C|vKO^ZNrgo=WF?12+!P`2&F)hj6a(^*7|X(cfN2Lmmtia}VR< zjQe8lV%#IaiwALWRzG=&pGf!PK8y?Z>2y#xo7W1&(fP5!jXX8E0yR0%%UdK% zu=QGdUdWv~TcoU;OV6V}%nD{8@r7DrUd87`3YUvzLL_eOEXvEN)G<=;=!eHRD5 ze~PZg_0^+vHKDJbNmqm)m;5EVdak~D9$o#iy3#xFfHv%XK&$}2@+(y6`TCV}boC;A z<|ey)zi#6Lh+cPpfn~i%(yUQ~Bms;LLp`4t)RBboCm2 z^=mlsgZ%mVYjH>3d!0U`gi#b4t#?kj_$_SuEt~E;N*><~wGZ2lj{sC;xMj?TbK;#PL z)k9#Pi=+bx$=Z+XDA+qDop;)_4IG$6Z=|c=)K_o9i4g3~be|FnaH+T8 zL_Y4Veu>|r62DCc)d1f{=f4xU@phc+9?X3QJ$Pr}>AQkY-%StR6L|VwI{)3kjrY;{ z`vW&VjB{U&eS{wTQQ+xE>HK4X8y~0hPXuoKG0y$>{{$EEfuHox{xn$NQ*>K@>8FDi zp9vQGY~YEv!o+H;$n;i*jyKnT1tzikIR;$@yK(V(T)1DLgSzoWI)5^7BL9<-s)OtbZ+!^IkdBSqhcGIQskhd=sw3o)GJw*WBh7?Qi9mt?ztm`k z0uPUANbXw!?%&Zt_4(hR^KS-j{5{Tn(f<}M z{L!BK55Y(O7`*s)@Zz6v;r=rnl&bhHoqsQI<6m*^*YR(`i|AN*wKf{#|=@K#yE~SIQ@iLtI+G|GeVkR#3eo~j4Meod} zgL-iRoi7gDSb}pO($e6?vf#z?;Kd4D_-L;TK3RnecQqYUeQSb6FArXu_MLz8)vO?H37NTt(%srh}@Z59dCqt^?hSg}i|Ytc0f@7rqg?F?g{lcyT>041~?0 zD;0Dt0BI9?Etof;7>8l&8`l6S1Laym_c}T#TsDLr_u~poQ_nV1xlMt>*W=u8VViN` z6DCTfVu7LqI8WWJA>Dv0|HUo1*r=b}hzp+r-&$OVkcr_@c5C7e1rz=3=UjUAS;}(?Ric51ro=xN$F?--p8ibT{|oH+4Uq zJ(cdz$zGi7P14yuocZS&Ar?>$*L&sN z)Aal~bdb-eR7Si75~9i5%EG$Zdnq#VaL}f@L+M0{aSG#}jmq*OAmi=scFINPG$K)(KovN4z=cDaf`cA!$gz zce$VAX#kPhsme%{a&wKs9gBn(cctwKbpiBS*z?zfEV28d@ zY`=*x^W0c85Pw_swoVR!XCn*gC~dEZj6t$rD(YRX0XhRnCJ^WkOmcX^kSjz8Lk%cIV{Cj1<$z%dLw?u|9#5A4EA08c0Rd>yk|a zIAfEsQC#H<<*9 zj58KbjE4|Il(u?7MU6-ExoEMBGzNxc6P88`4oYDYxo2&W|8qpi+b!xsdguR5Wdz&Z6L1zfy zbe$kNG6;wmI|IlR6h{)7C`q`=Amj~94o$LFvB)4EJ_n1@+cxP8jF^B6r}UaJY@*;0D8KJctgjm5G^p|FsOtq78pxhF8Lq=%OW9~v=`64%td z9zcIJJzO1pU9(JH-bl}{P=u-z8Yy!fmAOilX{>Ig;36uxSQQK)v6=3#QTM~DNnTt@ z1vIalu}g{$P|?d3tQv(WC6-f(J5-4#V%=1g35YcWV#nklChtH5&SHXd^W<rP9mkwc94Iw23kj09O%!yITNgVGIbQc?4<0YgC1ey2}7X zmjsb(RJMT?A)mD(h+LyLYdd9m?FxDg8E%?)tx|41m0M@Z)mo!cs+US3caVk___9^> zXtjA1=mnWd*Va5YmZgARK+n;O2D`*9v90p(>V^-u$-}h`AKokvucwEr!e9efZ@^>Z z`qRA)bv&FV3^}N{r*UsY0hjs|_a-_}58`g619cMaHabv`;NDCJ(){i%bRaeF-bx2j z=P3+!D2U5B2b~=zob?>4BX-@YkbRY%j?w|vyFn1>%NFBL% z(}6UMyNeE_D%{<4pr-Ebp#!yI_Z~V>n{@A`12r=DJ~~iyaqp)CiNE_)I*>%Wd+9*( z>h7Zh$)CHQ4kS|U0XmS-xDU{Q1j9W@2a*H#X>=ftyNBpNymbfZK#X(`(}B3=9-#xV z$bFCw#0~c$9B9m#xnhwf)7#Vyim z_2~4LSi3R@w4;HJ%K6BNypRV_r8)C1Lw+f5L7H;Q`Dy>WnVh`LTTHugAk8qXU@4^> z@Zc;`@F6+i@nNKON@s@A!(*!&cndh=FsS@^4mC zcX|u)0(-WHPf=b=e8W=O1_qfX!*`dc&0&yMIWsD`E6;kp*ftCK+u%aTP=>6PoY6I% zqtwM1uKStHkkYG!^p|DcJf89=B9}3!f{a$YxFK>4 zZx4!E-(L z4Ska_pVpB2Tupm;$&cuQlg39)HCdB5c-vs&hTx`G4|-ja>%kdh)mZBYy&n&Y)$eTldZn$`{tV{?7H>S{3Xj_gkLp z`RpYEBc%Jphjp&!KkktFn>l`<9sf*9Ozyur*Yk?)@}+gIKL}-68r@{x;B!3#mx+6Z;HoJ#vG?K*utg zfl%J*7}9^Tqm-VIks(P*&%0-BUOH#<(u-_f@@!su+~%bh+r0D=o0nc{^U}*&zNFno zk^>p@9B_ja(y{S4rSC*L33J}}GSw6xCiD5c`-G}a`?XXlt6mpLc(K`Y_MCzhU#zZ`!={CiT*l z!7+l8Z#4ua8TPJj@En_t7L%CiDVE1s&?nLOkp{10&P*l(<>gHciYP-`5RrL7DO}f} zy{j6$Zl;=4LwvIhiQZ!K(pzm_`YrWRLuXtA-PyEpLc&}`qi9o<-)BWa=oNF&B;oeX%#gK8uG;zh)aK(IZ#UOCcGo@YW>0Rl&RiEls<(YJz zsykFYmFjz3=}lbeA6(J+?yt#vqRL%S&aS9iR}`qyc}k19Zu`ytvlq5Mi(mb?23dc3G%7h*mwp-k^7$amWpFh!#FL@@Kz3EZ`tD+c(uqYggu+E zHv%RqDf#;9;gdz$KmrfyAI_n~{N#>Oym>c1%A2W7VZ$V>Hz!LLKg1;b5R(9#cN!p{ z=j?oucHo7-3|nGJigI{%n29J&OvDc{5kJI4{16iXVlFM}ye#a zXbnuI#Jt8!#B2PJ{X}l>!YuhM;&=atE_F-z-Fq1fel%1hh)=R9PHRil-fr5!a!c%T z!+cONKY(3vYaVAX(>zeEuq@HnHO6uOflC8O*4KLPQKjICTWSXbvrUXlTJZK9ZakHX zy4VFRUmU1^1)IpQDTvP|;|@P$cj1RDDg2N$QOvQ zwukp)W!%w1x^P|JO*h_wMK1j752eQWl6Gk=l+0(LIJ}~TxJuJ6<|8(o!k!6Z6)d71 z=raJK^76*bk)xFp)2W1fg)!_sf!zvXrPM&>!~l$wgi|P&2Gj(83F|V!)67h(gq(|EwN$&e@L<5hZGBb$e6+pnMe2` z#WIQ1z4x+!)Xk`q^*0_p!b_c)p7|XA92`G*e}F~f7`KqiTG47i)r! zbQ3zrW*~Dash12HQwtwmbOy`C3UA?^Jd7toTll}7Vi;9L9f&DojO{A2kXEONc7XW^ zm=+LS1qabTwB0etSmI4)h`75nCS1Yp;HoLUGe{E`e0DE2DN{GMiwc4Q$`w{DJi{T) z&dCv_sJj7CsJp=r87%mrxvxp&?VUXVdF!o{xBs4$ls-}aPZG3J@n-X63(s7zhlr$z|&uSIky-;Da$Nr3Fn+d3VXF+IV6P)ya#=kHr}iRY||t0Bx+xy$_V%U?t4*_tRZ#Zk5jA~{s4Y}_y_Uh&D&!p zW8g3&B;60=f%`cefS~&k`~oreqxi*3AD5p$mY+|`&!_mO;(i9d?q_j8-DGgIsC&+! z?8j0HRs2=F-%iD3;A~R>}oG{o8F~Kqhbt47Tipvyt{_&SPb3v1U&p zcrQy4N+lGzAG=kl>;NGe{UD5?wbU@j^hQ`<8X0^oFkkrq@0=XZMD#KwUKSccZ_ey6 z3x5i9Av-^lpG)x+S2N^i7XK*O>A?liAcM078mso?$iWr4mzP#XcKS;zgN$4Oa6wU; zE*@m@w!mZgF123Ti5%R0PegXk3lZb$HjyBEyD1X=(u&vJk5!_@GRYCTD4Jat`5BZQ zz(e>9Fg~KTuq`G84Ex+_MHkWyJv2EFkfGOaRi8t;1l#SZ5+X=GIIT6T1(T=zv0LO^ ztU7=i#U7-dgIUh3GvHtnAekOGD0;Otu={~s2M=jWg_mmc0^I>3#dPOIc@Yt7KO$0P z#L?g3-i>R>>~8tFM}F>;pQrMVNN}Jn(I~em--K;zcVeUVz~Z(Djp!n3sccY?A4C;F zL7pl)?h(9*21UcK7Pzb;TpoZKyz}7wj1$&?&`e8+`H431pz&V|Jg(h^A#xdEtZMOb zBwoTMAxQ^&dqS=w`_&#~LFyFR#EM)GEwEa6NbR8>kyzni^{2ztTg!Z{GA36@3$#`r zs^n@q54FrWh~W7!g6<1&4Pkzv{G64a7s=1#{G-(IOK<_{q2X%_L>3*c31bM>|5|_v zO7C>*r*U(O`d1%RTju3+kweHh$vgG!h6)IY?{Bw>2#wrZAhPyI0gc$<`mtJ4Z{asc zF(e^eJ`l#GV^TwIg%&touDS(ADl9%B6h9S4(fu&4Avb>{KOd8yPsq=o@Q;$4Kg9*) zhFlvhP+1osmn>yyPO&coYEX=(iw?P1TA;I9p~I$okV+xC{C%5ZIHH9gbK=o zYo#)JFHVJv4Mb~nbx5ezwTT?Lq*@@ie2}*q#kQoRnZhGe8T4HrMxtZ#M2@l+$SpV| zi*INnUJQGK{l{HltlXP$4XN2CKex!wZSr#m|0t>1jtfW)`R7{H-iu*7?Qu$5ln1Nc z3kU(7(=mdOudoG5D-M(JV0ai2#~__%!`MADjGa5kAMYNKpNHh<>GE@we-vSk;R1vq zXI={|X7NxtM3duqIY5(X*Gg``7PYPn>fVU&bqk?!s!cS=?brg1HM=E9Q1?m3s~E!M z1z}7&CM4t$ZGqw3Lwaf|gwdI+a^}zJ#T^4y#3>YhZ{-Nzl7^OCxEXJ#}eN%hQ)GjUHtPNaHx3#B^yO#q*dh4P$sJ)1}dZnEYg@^Ms~LmNL(2 zx@4*Hbfrr+pcrywkMWF}OU4gRs<~u=@VuH!y}oqa)Cu$KnoAv?^jg#j@dT1f{Q%D) zxul1A8p$R7CrXSI5l<$$qzZT<#ieE@ZG}Xer&C-KC!SGpiMbVTW|;<$ZS=g!01?N(UVRCLaDb|nO#w892AuBT9;4Oijh{SSb1cwzV?z)g_ z^0FW^*I$&-tQhZi3Kk{ALj2WA74N-K^ zk-A@0mlyaB!DbP#saQ-rG$NotoXZg18Te^55z_C@Y5HVglPB)7W)Fnwhn#0s(pWt( ziIet4q)(0(V?OKZQYVrq1?j>D> zQ7kPZtu$~7pXeHq*YweHZ7eqd0%{$rMxc(orS{2Nums@+^u4sJtSzKa7bCEQ>1HaT zwVqJ4c>+iXi2au6xUca+NHcE>izs8!d4({Q8Oise?(QgpRgh7dC#g-HRIhB`Wy=Ml zY~L;9%jKH6x&Q1MC)Q(0oJNDWq0zv4c}Am78UMR2 zMUANct1XDGGi3qIl4dlSmOJpiZCmBp1R@Vw{v!$nL1vlG*=sHW*Q!Aj! zaI6rN)P9qgh{IiDN`%`*2#;2l;*c#(4O^aW3!;`S76z5E$;2A40Aa9bVUyYRTbGk? z@FZ&fWNs3s;xU)rtc8o$dw*vf(tr*ATd=5(A7Vq*ceL~t2*tXgNS z9K^IZ+7$9v7PcPFn?>V41Rh=wl7SY}yfVE1fY&T%#A8Tf)F9ae-EN#>=P_&*HeZ=F zlvRi~pKzDZZHzylEgj&qkYQ0 z%@%}dkZ%>{bk6hHv_1A9BCZUdaHt`ES@D4z;=D&5QDt-sbRWm_Y1mp~dxRR_pUVew z<6Ah1L{Pczw7Zpk>Z@8w#1|RW=?JCL@}{kQ&K5+iL|B+d#=?>oZvnz!(W0ZU?ZFr9 zImMp825}%u=5@pzYM>Gp_Bm3k+Q*=-Z(fM1t&Cd3_<6PZ4uCv>S3V`M=ecf=2$g*@Eag6Xxzi-ns~H*cP0ReP-9_-rGl+@}gX0oyI?EOD99> zhiyT0oz(MG<{wJd5>hhH>l(4=D=i<7(msfF<8t0#BW1186ev7u_SJQKR>bs@k6{QQqm>H@ajE3ys*THEYMsi zX@+}cmyr<)}o<6n8tF2Er?oXnEr37Sa=O$enc}) zAC_y-d6%tt?O{?#Eb)cwOQ#aVbF?$^=5IRNIB-Yr^xY_0)ioOWVOxnYLU%+c-IT~P z;kym5OPG8qS!;+P#h)g;NF?6wFXD$ojTl}yjiwP!Y;Z$br?hu!Q94oE8q zlJa8GVj{^uS)Kk434p~tk4{3U;|e&e7rQ#yZ8ry~D+$A3nnk@C`SdrxqxF;R+S`p+ zTK+N`r27IooT0;u=F|0SF3gI|e)suQ;S1?-jt-C0;XECl zpu;QZ@M=2z8V-(Hz}YJcIGj+v;!+wSxtgYID-t zrhP%P^)>yr6Aw*QYtRMtNqkcWjBZbO&|PG24OJ)CEbNGIH=yylKE$`^wUU(iGrA>uGtpdOQAg=nK*dUf89~0x z7K9lx{7jhDOx4)38lVLTgT>!=M=W$67hcq*BWu~#i%|SYsHr}qYl7kDap6$G5E@ZNqfRs)vgNB0 zjl;Gey3Ul9e$vTAK7TyzL`LE{#3+QAak^{FSk;GqsLY-osXnTzuVccawiGl>IB5%_ zmI)S(%d}6iKP*5PEIw@8O%oO{Jb9Oc3ukyX9)Aa|&i8djz@|5(4_QeKY|Z!Bii?rB zcQObIThq4Zo$~;eY1Yjvf2lL%bw3U`A*y+E`|`TNx)%Fn`}F&~EeO+AKEoiIPGwjd z^??KxdLacRSS~olGKFderTd3Kp#x*82ILPWsL)tYZZeHU9Z!B>OHd=z-xq>5Qy-m= z&ADP1_A4Bd-B$ERvcbS<1%rfMy{KD+z7jJ=gapm#({3ZYa)r$WMxu_+D}YIx=KWGz z5JvVFF^HzJZ>wb1G-3#c_lCs&j;?Xz@`l_H4C+{Mt1TUk$ZxX+(REftDf@gJ?%Yw{ zue1!OXVN+4uWgJVJ0b5<#LEuDTIrcxV^6HFQgX1!&c_PLbAVN#-C!6-4M|~D$Fifg z^foMe*cL=B%Pb5vW9x~ov;bkS=vM!=mMjHq=pY-H?28|E9`-#`p=SJe*W~01HXaBE z9srO}>Qr6cH#7fs&X%P{DqhGSE}%WOfn0ytJW{X-g^}*}I5H^tGwif)L>8G^LKJ^{ z*C^i4u0X;E>l}#M8XrB~?&DL}CV#tq>c7PnglP@GDGcnm!|ITeg&`|R4>@yAev|?~ zk#7u{*McU-7rMrqD-oejNXW7WLL!Ga+ zhc?WATE$13U$OxQxBeK9$HJO&PuFCD%zt2DOi1|j$9OQ-U`p$5TW*>b`4n3aU1voP zwopPp9!`*u>Kftapo^0F>e`)SOCv+(5nB+oWVUEDrrn9l&H{wN;&*JFEXqB5{z9d2 zv)D`a4J=&E66pB5!v;;Jwi5GoWheA<$*?#F!)pR@!~zXtvj45{PJvsu`ZuTlsZu-`{bLH}@T zd73K4XZK-eanz>NwW0L)EXfq0^uO4G_zqqaes_z+M@kqpgh;$%N%u%x;o9m*ycAUi zEz#CoRUnKoFR}$OWfEIYe_XLQM~QyZrBVgn42%gPnRGT?Rx3Ay>i^cRk^aiQ3fr{Tzr4B`SR>N)!`?NF%|=ZCvS)49kzr7EnW-;ws|cgPlmk?046 z1)X*QE#9qHGLzFBI}3&M$3)i%zN8P+NwS1Gsw%D{{3%Dri zNIRN7EZ3mZrOsoizlkHF1>;yLSu>gYwysISvc5z-m(QgW2uAa(u9Jng+A`9}!kcVC z)Dqu zrXTIla0KKUyYcI`qGP1*YeM^G>jye$aI4|%eC-XK@6vJFc zmHMb=BQKXQ;wGwjs(nUaobgjzku!SYzimMnZ6#7W9qKC0ZLs)CJ6M4GFT1eXY87cK z9hpV3RM?b{wml2Ap#7>5wCOCcjPweLslS5HNZ(W2m%e+YB}$zJPjE}pw1R?+o$iCEeO-Dk_@7Q{f0_RxF^Rm!PINe ziprWb(dSWX2m0s+99Y`taLvpCRdXHbAGf8O>4?wSg6KNwSMQ>&M~hi*1VRDcbv|q* zy|-%|SR-jWirD}QqO|RO1E1x)Y^i7%@pfAfU1!81PM(BqgJ=h#Lx*>VbkJXPjsA-z zffDMaZG(#CWW59P&unRC$o>Ue5Zx#H;bOi*qk>dEU#{J>=|^28d%33GI<@nkwlp(j z|94vuwPd$2#*95D{kjDRgT-#!4^gAfCoZf#ckM2$HG^T1Ow(TTSvYM=SmK2Bf0Yt7 zaFrP#)WWwc>qsBx#U_vLuFEkHvPc@(bur-8rfdCr24UgIwf2~=RH=9+;Eg=yGB*?S zl|QXB1b24;PKb!uAztO+NhqJ2`PXZmI=R$u!-w{8?Qjt;wAcs=iKp z=GrIiaa#~ZZ>4NO80{$xZcBUK$5=EK1?y(Egods0NDfI(m8J`+v^SvIPMGcWEo>>T zt&K-fv(A=MZ??SFmiDIqe2oz9!i`8b+=Gy5gufKanxc`D>2fNPbVlRY9Dvjq87X1o z{3BhXbAR8c#z)gRO87(-K2aZ^y7u>>_No6tTM(xGeLxu4=?Sb2htpXnlg{})yl@Fi zE{HO?pQPbbHasu>%`UR3tndkQDS!`+u7FP+o4#&KW79~!W(%VGY#KxwekYfxVH549 z7|%o`=~QIb;9y8=&0gLut<{eeB7#qtO@dEU@QEf$4Mx5*fK;1S*d?|gy3VHlK{)+u zc*Kjq&F0so@_6mU&Bm_rX=5LDP$;7*i}fxVFN{!BAyn6%uCt}GX-|E&AZi(9VKW%B zL%Kc-5C)4DW{2&X=#>YHdDlslOOuSI9`2fOtir-NsXoesxu_aZ)vMMcwtO_AaL5)! zEfXyGXhcEAZx$d77X7w;gc`qBFYNez;UOoPE<(l{Y(#dxMzmgl<*~=A?hEDTto*!4 zejewa#&dtyPJI#V<27Q?x=PVY&67i)V~7?*a@$6G1-qHYXoGY$sY#1sLF721X+!<* zySqhS4}s-s%;?Xo29Z#@{0*pIR!zLalI-qVd=PK51W~_4_N@%5=@`zIFH3f_y^2vB za|0qDV#b$HYj6nHTJokS?B3Eov6KZ9#kvFNz#=iS#mAkZ zPxtVc?uT6?{9>#+M7=)MeQVPQ{ts+vW(5EHwjgTBZn~Y;vZu6OgOtyr@1_sSHR!z1 z_KVi8-~}Zwzp!1{YTEWkXU`BnC`WRI#cT_3>p=VV)+?_w?f4U_G^#2Mc}RUXvk|!% z6Ui)InJTjbE&Y0-^YooH*8Z<$I}-_~R7#JeGwJepgg-T;KA+YZ^13?!CqzMSd0#wO zw~$%epoXjm+9&JY$;sOB9%-&`DTGM*tgex=*O&$M1kANhz~iS9ru3oqN%uip5T+@8z!rpQO2WXO%cj)3FP%Hy zpz(aKYs{X9-Oh5yn>Ckzv8A?YF8{rLEci7V3G@x4< z#Q%B&dS=&1Ne$?h`UZ5gebPN_3&J#@Beoz+0}=-QTsEMEg9Rr8`5kM}b{_8&@ovU85p3o7?J}&2P6)y0_SZFwN#SZ9$l3BMkhxY&OdV zX+ASDR-v4Lr2cCcp8j>$xV{{do2Wa=b#vE4b=P@b|H_vBrUCs0gZN)>KtJgkDQBSp zZP`*!yC1bryZ^KWVOr3?+k!AHNI3X&*@6~57)JwgPGNr)3X}?aHLqXQEnEEtWM$&) zuL&ewt(5bKT~8;Z6DrYa1?iMd0Jms*EQj2W_0rJ~n2>Pl ztG!(#a!+5JB0&5|1mn)UuYKC>u?1mT*4;w>PA@83vJ=bu5+uzLWW=o74>Z>`dSf*u z7V>e;lm;`n4X7dgaa+2X4k2X=qU)sZ-OaQ8Z~%rC$xFLN^Lc%;z<{f)>wRBrODRL_ z7ukZSCANk7H$8}GDhm(>3-LNzfG}9d%#Z~LgGIlsBa5&=K=CUs?Cjs7$)cLR)ETMv zR;o$A+DN9*OjU!qz9(%((@6K{8AQ__u&GnfdXC}-tWiXiSOkf@OQfMs=5yb8?yJix zE9Yo2F9DR4v9VM}o{6#08AQ`oU_Fzx8!KXS`BFMe@LRh^@Lu$iy2d(EZ?mP7Q6o3ng6KM_dk;CK ze5O*D1mbAdXgv=@8^6jrVn1w4DMRcdwjjDr?1lGJYQ0Fgh#doJJu%Pe8o?L!aWcKA zUu_-HCu}KZhqT|NM zy8ZFvPK5V24Xrqgu=piHyqLA7GbUj@FVzz|$lld`3BrWCz#uOW+2CWM6u`6avMhuB zB_@|yXFgR1xTky&&$a|nAJa3=kec?4*3PQ_KvU5nPbL+LY$QY5Z-;gBn}JPmfo*Hj zG;B8wIJL1)wIK)%?XoqRMj)6;j=~6q_mnXVd!r?_0}OkEkh$4{+m2d?w?Lt6d|vf* zwcq^!0{jpd$caRI=&NIeaMSoxMR3}z!<+ZWBdUzfW$N`Hs=z76GgW`ePn&{MW`g=t7#s?iUGFozT;YyZ<4d$Wk_oHwOr*UwS-A+T9rPR3*_W zVY-%LS`%ZcQo4>!bm9%CVhVh5l)t!6cK?k@+EyR& zU0V>fvO67u$cHpa0WTVG`mkJsPK&rG>!q=?5%^XfTCqm`#4GQa= zM;@U99h6T($E1ap$=h06M^K&)nWrklYl1x}J`A}jC_J4Is1x7qjA>iqd%G=&F3O8^ zq?aG!Q6-z7*uyiP&e7u2dSj-dq+#m1b*ijb3qLsxY}xMgQD|nq6m2PK`oX*{h^{kZ zA*U?mPKTyFL(TD3U1Pu^$ymzDoU5&C0WY_um?8ShY(aFL=qqcc_9NI@I$sQ%@_*1Z z;;-tfneC6N>g$;Bd$trbOn9Fyh^{kX&aR9T&qZoB7yFy8k$o=4x~MQ}_7^iFq_5gi z$q@Q4Z9&u$dOCfdl9-!Nw^-}q%CG=ouz1MU?jkJEy}$ax`m`<&c~CDYqL!h$po_Y-Ev|TJBx*5(xPWe{75C?06r@YxoChH)-rN}~y4M0u z*cG)B5yY?u(xq_ngL>QSruHd&gDnWtN}>#+>9E+^@3cZ?=33$PWn6UPSexjYQus<#YVMbmYZuYDGHy}R-xB_oxxQ}q_Zy{Iny z5{~N$NcW8d|IIi!?u&7J>d)}!z656n-19h|bzh3(8TVy;{sfMDFLA4U@p2rAxxay5 z_f0rxy51q%2fvc;^Y+0)9gF_mmn3mAmOAYB>%DRA;CgY676XT)DpOA|GB0jAHD&EgzujUSdO>jVPn8FlXz^eJ2Ey<1E|1^WR zfL4t^laptUM<$NN#gx_8IaPLYybxKf`wem6-#Wtq_v?TYHgwEPPM-ZAgb+=)8-(;i z9=<5uhCBUFf zvwop1h$%C`+W1_)KTW%)A-`n4Qbfw(gvO7|A{$tm$-I;QZZA!NIsammqsTs8Sy7 z8sQfpJ7=KMI)b0HrIr!ovMq?N6a4bs`9vj)(Sxj+XsSDcEEFStOsMY@?dbl zfHG<8*A5SMM$){9@~AfQT}*8b=Af;d70k6q!Fj4?N@%RYNkoPN;v)v4%X8oUm*xzBM55x=_Z+e zddOn>sZ}Qvn3?)4YP7OkjLje-(U#31P0|8{!9oA4#0mkLBm5^7AwKxwMC74jZq# z+%Wask(Qy#plG+QQWR$Mn5xALv8mzI`ObV6Ch%+4lHJlRLVB}ly1*F!%=0oBDc*osQp-}GU*2Ayu{#_O8tMr1Zkq(|YY6}1%X@ITizf!WYh zL27iGX~|F9a@+{bCmF;AGyzs0#HQbAY)h=Wf`*>Z?{&lwhh-Ps6)1bZ90Gl7{mqa09G8tifU#;5xc}AypvWSgo$724DsD0;Dkts zlv1>wTg68QYOk}$itST2Zwtb-v{3V09fO`JQK?jyLEmS>`E|x2>_?;Zi^0|6_|36(L@;XSmU=dYVL_=8A$^4Jo zr}PhPK^U3;fiSDnCjZ*~PI1ghwr0pxk!~sfEBdmG!xY)E4v4gA{I9hIQOgbso7tG% z()=ty7%aME3|u~#N=s6AKgk2~xr7c4U=VstJG&4UHRk7d~w(2u7AZ$sjDOPHVG%?cMPb z9QbTVvzLK#Cn1Osjua=PKEK-;nz~;DoDe0wEBZzV2kbS4(FFS%f;iMQ+3&PZ=5J3< z=E+wvH3-vhJ?~?}^!fXPVfqKWE0xnrM>DCs(IztgfVWx|kpXBtm!#-QN;g$~ta`v( zubvhwxp1ZlwFMm)YLbSX-fz7ul}a_+*9Qxs8U*#PxC)NkRdiTGhqZLLk`C)}2!;1w zI$3!C**3!a)k>=6vXW|-{Yt9Zc>Y=V1S>P!=xY(dw)FM4M2ee@daPAK-vi3|8X0xs zwD`Uxi94FcxI6{q=!Ea9UNv0P=R1NmE|SJ0giD=@xYL$DMibx0Aew68$yJ0q4{!Uq z99nA!cPW*p&v%#M>=+tb-{g*PopK}YUd1oC3H-#}J{lk{QexP>*Gp1{&A2DCFAw6ZO%WFoc0j}}K$wOmU8)5LV;FtHw#QM1 z(d#d)VYHd1>j%+4(8eA}5I{SRQQjN$8YNoZ0h8Fo5Qh5r7lY{?Xvp3zlM8P=nXKui z2uIpsCuA5jFtJ`_E0v~UpJ5P98+I4gIX#q$mnrZ88^d8OSeJ$XG z=;tlLq;b4V!46R@9pj4YROQ>+r|4U4L6{cyCI->*iJN7+&Ga-L{uYD$B=)srKVxXcWps*ogvHp_Mp3mcqzO|#;U8k z)gV@w22tX^2`)=iUdMptz`)AzFbr5?3!>``*nEF3k*OqQn+(zmm|d7!*L-`|7!$?B z8Y9I`M3BO63}P?P8qBc0P{*)anp6AbGcLLG68gh_2aVSFD_DkeTbsk097NYSx8zU- zi6p_XQY4d4U@3Muf8nvNv1e%?jq17PsIIw=2hXsjn<4!}wjjDs`duj}ah!ep7>h!M zhv)sD+eOkRsAlEXmzwKHf7+IAhV+lxf~Y0E#VE%Nl*BN$0Aa9rfo;#H21;+Zumh## z%07w1C_ky!yM^qM->Z?Wn>aMd-6lV`$j@!^a|i!44D)D`ax-MD>(NgA=1}je5s%hL zh>$i9WO@%nyntgM?2A|!=N8;F#QrOtA+`G_fD~6 z{07{(TnFEfL9Q_fCq^?I`LQKA104CGEr|cZiy{|YV#T_?_(N%rj;>Y^Hwh3%$fGvy$=3^KQ)#DkatOG7V3%#{$C=jNZthEKvb*9YUlT4Gl zjOM_?D?E31jRgz(98^j>pmC*j1m9^(Ekp3TY(aFL;EQ*u1cG|sz>wUJb&cpt0=wl( zw@}|9ByFi?2p_iv(RISFH-x85tu*3;Y4IFTZ$T{ zJl_^XEmMrOJXIywXd5mu$EFX)@B~66O*kDYH#z8gH-1r9Ui2L)l!JfvRvq?7R!agl&W1dv;&n`wNC1zWh5%{ z(Uzqk3ef_D!9uz?3lK&}e9%_2D|_WPW`ZQm`q-x0-dgnpcT5SY91koFx=9Ab6?jB` z9+ID@%g<5%Y3L?tun9}3x7C(Py>IYrjZC#hK-5-q-{4~mu{mug-NdGW3Tlm!Q9-|o zy1jr3@>U!s%Z5B7M=~elkEZDqp}pP}G**@!YzD~qiB|YA`S|eov1+_-L8AM9z>WuZ z73$iuL-&1DmC`1&MVs7fp-lqc`2V-}?O}3NRlWhzopg7)JN-&R0$5BF2wo}=ObDPT zA>k1rAtqrI2fj*m)#<5Q>Uu4t4^+enD5IuebzZ=?OngM_S);L{a8U$ z@(>G2MJn5a?1;U|#v@YTsx>c|S6?AtsirWcV%AA>^mfBqi6{9*@xbB}+NdLx%iq4g zgNk*beT#FWwk;F)qXcQ&zr`RNzf8r09*cis7LjeY`*WLC`ttv1nF0JDE?OHCi1sQy z{c$)mfkO8;oum6JQx;Eq0(wabsOwX9M|WY?K1D4fQgKYiCW0|!QO6tsy=ccZR_G^C zzTfp(sEzUI_UX*x1nTzCesnvPJTLq|oYsf?x5tL(@Fe=Mq%1Z`#fGrFv~w&kF=e4N z`C=)Ku50o#LOqu*XA?opr(?r>kTIu1nMd~A}?oWopo7JErK<%h)ZoGFG%49}Xfh+hoU zCMxqtTXiIn%g^Kr_|Jnv z-wJ&Q~Xp**kH;cb`gv#5$xG7-M5NC4NFqNfC~*OW#40`PfA8O#VQlPS`gz?)+ffRl8G^j{So62K8t z^ppTkAzG z-Qwf1spHB?j$4y5>cxi?@-I!bNh##VOj!hlU?4}O3Nkurz(UpH8>S&Rss*-EeQ@y! zjWGA{3{TC#{d;#b${w+f(AJ!saB_p(WvJh5f_K;shFpF>;ftSZbW`{W3qMPsN7mIIn)8vRk71mCjN9 zqA3fd(SIui6E$vOtkEm>=kgf)f|paBj}pQ2v55d*LaO+dQh3f3LZ#c!N(fKfINb7G z>GHvB>2NVosm;xm%6hnCcwJo9c?9F~vS4gIA`1@Lie)IhLqE08l!emjUS`qt&Tx2p zx>zdau~fgw5a{`_;l6w_D(wQObUn&*!VaVCo)Nl;pX5PVri$;PwDmr8UgsB=SO`KsC zk4O%nSJu4T+hYT=4|dckFa+Oiox^vlDGQ~%x0td}O-Kqc&L(6U07~$# z-urV_Vh1IhaK}(M?8VF0H8pr5HZ?dCD?t4FdTSNo)$8Hb_1C6?QLXE7Qx-}+q-`^h ztx^veEihoAYH^9F>qfOe;PzpoFp#O%ow~!CPGh4P?4p><7mq~w#4iTa?e-!Yct@2&hW?%1C<_y%ONxO*w`p zhX2@O0%Z+flhOkHsrHuZ3*&9o1q@C$)g-{_u%4-OHVv)~Y%9 z1Bwsh$8^E`v}}HwS#tYrpD};H6i{W%KgcX1jd}Nnae8(ZgHxuy*c~XvC&5R9%JFkd+- zw>(7gn83`%Cu?ODJ5YV;4@?nM>ie&zEP_HXFl@>~%SL3tLe=7a(;q^$fNgyA#M;J{ zWouuxT+2{yhwOfgxj55bm_L*;(XhD=gS-x*D43K7&&Irn5Z+P1U*y@T2Ii zsN|%tbz_5JOwfumunI&rn7o@?^OKr8yk*o5CZ3Co4jLha}4hG6^b)icZ@vi(GV zq!^o_q05gzm#GEGU*-Su`&Dch4kJ&yESARHnt}OJ=U~2Q3Z`i&oObHN{&LwSP_F(j zado9bwBHt$8inLa6m8-c`qXmVl!a>gBg~@f9l*%0bP@T#F&}3JI|7HSz$LN4K8mqU zujDA`FE+(Z^{87-S;P+g;Ps{2{@PSC*bl@8`_LpZG*wY*6y!IW;-w&eqbZ9Zn`javB`fN9}Z5(;VV1T72BpFR9aAH z76x6hY40(y*BL;=2XG>djmfe=a%%{{J*ZPO0@%rYwTs8(1b~++^c2 zV4-Rujhg`rRSW5D8?aEdX!Av5s)+r&(}(giJab1=z`^t4aw7*Oi>kZa zrYsf=w(&O*J|B^*N&|XhY(UfJBb64yIB5!yYTPep7Lk2c*S+uMnER72=Bb~8^Bu%+ zPiz>DOk(bjQ!pICrf}}+9M0F8vQR2}r6~(#rKC{fv{J?mr+0sNyP!XeP3lV~tFpLI z(|L<2%BtziGmFTk6CHUmHSq&imh;$uDGcBTVgqp5SAJHSh?ER-shbXnie{Q1~G?wg!(3k4W!8fo(%9zO+odzsaEmoOM%%ECe{_aOk?EKxe-qr@+ecQbicah@0D)#TN%85Pc z%)ta@>GDr|d2M&JtywZKZThJ@l~<@)V^^ALiE8CLn1zAMXY4JHy*`(&GP;x+9y`+n z0TtZ=R9p`}8iMxd8d#WDxC4j~(PYv(B6V#-2Ur<AB{~KYw(pwRls(5z6xN(9u)|+im#fYs08t(DT~+zG43XsLsmJO zv@%o6XZ5Jb&ten8#H5?XP8Ob&g@*+2Q&aSm0DfZ1B6b0+()<|T7MWU0Sh1ly-gCJ7 zJ$14o9Vuvk<{cBnaCW-3C}9ACpMA|2dFR83v6QMo@Vd>`fg z_&*n{*f1S)H?i~=9fEYKb4XLBER;&$V9G)@EGgJH8?TQ^=RmRw$gcwp7+_*r#Gce2}+8@d^#Kv`?6# zr2zl9DT^TB2F*mZG#Mi>V4-TU&D1G!!a#raTNnn~qPb1acSp~{VIbs!?@t#qxe}(( zBk^C8Fwk?RTA~!~S!NO0OGeLUGIu`0VIUpQ;f>w#L;o*+nucJLFwmB;1G)^wcj$oj zF$)7wO|9S%g@F!PWg26{7nY`<8)AcVm?J;FVndejyw0&a*OY~_L1#;GbUWBHLZH{? zX3A+S&<=mo?u`xiQO4aVIqHM}#=MPn*E1qNBhs znwyRCtU6~Ev)Jo&9_=w*#JoQ_x~98TKZ;E!R#QyJsR0@$*FcW4HF2+g zXev#m5Z^Opv0zacJGVnL07UzX@$jZDfWb|1`L)A5=!0S-QSV3D9Xhp3n8gWkYS)Ra zy^9u|dvoKhjdkKv*z)nlhWIp2cK_khK`TE~#9R!m)7j`i`#3!`bl`w`?7)GBc#5b? z3djyyP8S;Dv$!P23)z_D8q{MqZ-cp8F1Jof6l84@a+EWFNUse&Q<*v*Q_*}sr0@sK z#H9LVNmY2r>b{(7+0mv{=a{lkjqEImRk!`_HDTv3fyBQUQ>f~4NUo;j|`R zVA88YNE|nqVySH2^`;y50)bbg5H1f>lyV4-ReQzy7ghF+VP-FL^P1%poHl_!)m z>FVBPDl;Yaqoyq42i$9g!NBXsV+7p$_@Y8X?d-prqNM=;GgB5pzzrISYG*PkXTU<$ z;s>U&K_~F~*l%Irb+gv#KieHW3kO~|w++1hz*I|=qWvqgFmR`gebb3>;C1u*jT)qV z=Xb|N{Uv^!9(o-Q&A{87+!$`by{JHke(EXA!T?y);OppRSS>q46I+^R(LFadP{$^x zoT4c&mYzCSP4YUsb4({qStxsykYee!GdRNOpfLqfO)2pYx?d9;_M@ETFxz@E%T80= zl%2T3ltmDFgWg1SNU~8Guu!#F)LH?I&DwJ9lRIe9-W;0(jOZWTP0iU6Q{gH3*CcFF z*%iAUO&Z)~VLYAkLglQ?L9KUqe{5I|P0q?vqvE>vbPnX*rYw{SzsHn?YDiL?zm*MX zLViL`)n;T)_R4u-3 z`dLi1z?#3cCpP9Vuxozb{$_bPssU|!QKsbhg*^RIo_-}yzvff(z%l(E?K9Y$!!^3p z-M{swfbiRw<#dUI9*ZKgID!3H^ZXlk#f4gv{2L0tW1Zu7yD5t$o(OJ}BItI%)+X`B zyzhQx*$`-uSyRGV#VYV?(`Z;thrO|273n;r+juMWm_d`qyO3 z#2fz^8<3HSHx!t^=p4+SnX*vI`%_aECwrzxid6O63+_NvE!tQw<0jN3-^RMlx?A49 zwhQc9k=jm65uqf#7Df6U^Y%rCdf4A%7Lm;+hFQ|B@@-rd8-`K&HWZkbcMj%dreKrk|3+=(gk1BI(1sVuZYD(gy|kQB%BB2l@_E7D31j z47RfQvI!ZmP_=kXYrz}a{I*FSJ{_C>bIX39dTY}u5B zvQkp0aat+khSMzR!$)G1dNApOlJz5|D66LPAhU>UI^B2ohIe6e%WUazvDw!6PsRq~ zawIF1s9+${OSRBRXrlRqesQ>F+hkZ&+$v0#vm{hKDqAKnog$bsY!3gbUA z1xR81hs@#xdN zD4;JkMM-J;R#O(S1KlqB#(~%%Zaj=tl zMYXA#JzOniQpMVA3Y(^v^H>H#J7yfkeAcU%i8`H561UN5sd$$>*>qYgZkPAoO{ZRQ z2b~7RF*+?3chc!(@g8~aE;{vz2Avj*yXiC{{#f37uO!|>r+#rSolX(&lUMJT_wJ+9 zQgOc|{t2B<5g(Am57KFg_z;~Ii$A5)N#X%I4T%Tobh3DeP6Og$dG8TP{4kwP5s%X8 zG|oVRM`#C1{03SNjk?g3-m6cm*+Ya+#mWGpDeSukcqC~WyOSu=ay(TnTULrQU}YT` z3BMZw=V(7B0guyR1r8QtNAy1$1nC`gI7)|i(c#^6xRVYII=q(-@1w*0boc-c7UM+k z-@FE-Tj+2r9d4t;19W&82TKru^w>Y04$`-9umr(Jq=_>@T1kgf>9B?lr_&^mcKOJ6=gT*jopO(jQkro6fJ#_F~+@GaGi4Hg6VAbs9lohO!s+Lk^YpRwn zWLdiijyv$qFZ&iPI>xxDD*{Me5kPb$a6ZOJsVjm^T@iNbia=CXgr>S8Sk)EbtF8!W zbw!A)D}r8K5vFuCh4V26S6z`<=xQy_$5=kWU;!SMSI97)ze6UICFGV--+W zqzmebl)}5J*@H-KH3i+^hEr+W(XdBki?XsBwLe>$P3Mag&m;A*Ps;FVpj;|dQ=8yCYEEvngl&Zb*dl_6N-T=E5$MxBpU z{x>$kLhjUsm+Zdn{P#ZmeHWly=IrU2&StG_Lwphfy84FQyX}?Rh(LQ=IS*i)YcOBm zs5WkHr0rAQu>N`!v`+j8-Drr*#+NTzwCjaaz-A)E1}{n`&0i&>yQ^n$>sPIshsV-P zzAEJc#c-$q$sw|_9(1o@f~JX5vroy)%@Jhcf1vvI>Y(P#&3U>bzJ@1sy%EoVv|IcG z9qm5Wk!#D>&OuLx+%SJ9rlu74-O+Odm!$?aYa2iPSk_rL_Ii8)Pv(hJvdI( zgX2U!I8M}q<3v3;PSk_rL_Ii8)Pv(hJvdI(gX2U!I8M}q<0LyEK|MIGs0YVMc0t^O zLjQKc-Lz7$%5pzPJA1pMq6JpTgukZDf(rJx*%7K@1en5x{|VPsO~>nz4POR>&Etg{U3EW$cVu+9Rkv;68TzB)^< z&cds+?CLDKI!mt3f~&LK>MXW8ORdgAtFz4NEV4RFtj+?fv%KmIc%AXCGu(AXyRO>x z$#e5QIK++%2|7>pPbpW}{yC5;dZo$^hCMJ>F3ptY$Y3+h68d%aVivvF0(S3g2(nY+ z0{+{*^J;mAWG`OBf7k5ZLVC(7un_E}GZwa8rgkS%xSiW+4?5PPP|Bo9|3*^#%jseT zTa=;jJ>}Aoc^F#sJJ8U%T)ub&3IHCwKb_sPlUd!`n7XxLFNI!6)~Nn`(!0v-6jLY) zEJPM(Vc}pe+r>(h@H6PGSm|;m*AOMHS(CR0_VE))ayMf&WT{$F!Gi6vJ@eHZ_T3GX zW)ER^CiuTe7vc~Bz)WD{bs^_6u)%9zlR4qfjY?^xZJnN2SHQ8j()QUy)?vb zxQD)Ld+9#+7M>en7n2v2BlF0iymc7XW&kfVxnVo|iKL6!g!?d9^h*}#n^73Q>!;W& znuVxBXy6C*Ck?fJZwPGTj;0F@?Foa;QkXRx!OA?cs%Sos% zb^8r5iG?4LckLA}yjFr4Odp zRIAR_s#Kpda;3w`Y6+>V(g<`VXG$g5RbZMf%vZ5nL_>TXesJ5T?3I`E`-v<0{lqr! zeJVn3A}fEd`|}w`PG9C0(dH@pjO%zqT>1MoHk^o!e#~jkkD&!4NfIjd&4dkbnxgpf zGW?X*&)A!;q3w^Wr9=r*FY97Q7_eGN9L`sBXo-q13SJ@g9Vx+FK}bE}FPX@@_KIuS zXd#uE{u(%ra?R73DmI~XXAy}17{L!{cE?@=*9-m|DkWb@ko)XTG6B2OfefUa&8M-g zIl9LR^2lYaX{cf(5jX&2Peen;6d3@BvWCB}>I*89j%1dKJ|vK($xxk&h){2=`j)EN}j_ zgA4?CtSZ-vq*%%n$c;_VPA;7Qx9I!!Dl!M!t8yn6<~x?oWULClQ1aN#bRO;@ZP6lG z>bIPIRP3>B{ui7*T~NVsCnfhGD^Ry6mK2RwEz%shTPc|}QP+YsMI%%kNKp3$c+ShDb?@O4U%`{kC(;9f1)GL-cUSkrFRZV4@( zu-EM1tg3iD;k^!ZqSv`;u5^9?B}3I~Upf`FkGyTKabTgUtXu~01-by&F)zMm>+f~DD6I7z(I zxMr~nZyJKF6LCm{C#_359}dV&d;83Sl_Zz@Dil+fgSbH$Pq-AxE$|W zFil9uKC;006X?`)|kQ8~_+ z>@&78AFhSwAt*1uHPB8y0A=!UseEu60Z11WgBR^pzWRV?Lh%G56VkIx=Bl#=ZzpS% zb`E({5jX8q$uP(l6Iboub&a=-Z*}_Lp#Yz^Dj~J{df@}wfHm%L2hZ6E3)MT96 zMQtvb=49RO2aNdA@8Rv{_v~?M0JS-MMUeq@UjeT{XjC;1ciYi!W)dLMC+XZgODWhX zO+a}N1y0tG#u=epd@;@q+Fxe{rG-! zZ{z7zj-HaqO}dF}bFg0xaV`XN_vgTX{r%^6+KDr-%rYXxL~mp+A;sT_hl1(EHAJ!&J%2D5SdXCE6Bw|oX)d$lQl zJEf?36S}?p%6#>z+LYe>`VqTIR^|~mKn#f@P`009uPj^pT%RSoA4R*n7E#e@8iyp` zGbJsY!(e&Zoe|<#RDitK0R?6jjm3G5;2QP&yjA+d2RdAjW_N6NZ3o_5?G`?ZqztKA z#hR`aQsm!LZ^9hhClI`X$0eUgI#1ZmCKZ6|fNMLjb6!L6cEXC3#0Jf4x6{~29?`Y$ zzU|(MD-^hsWqjKrl$AM%v5C#})6{$Gw=@LjR8XWOlI$&r)s_IO3mSs+9Q#;Zus~K9 zFss>lpTsG$Xb<>FwzfGHe#S&l%qe=j!68!I49GgkH(LmNB|VVxe+0Qw=eqE1v_pLI zI3GgJZJ+3Cw6#^KsN$d;{B$Cq2&CpIE-5(bh${*|Ix$FGRq3kc-aA59^X}DK=!yn` z#ar8!2qTg(?hz&=VHFX`9TKNX!f8Yxr$(GE2?-*Qiy_XGgtI)tT1i;v z5zdu_^N2uhfJjQhMj}w(E;dQRW+G4zEw)I)g&yG|Nq7|zsGk&H92h#3)m{WL>!}sJd569JKGQ7>#q zM74$9H{0RpwRpy3M4fe1Y+C4Dc(Wj|_-Bt3b?QwY(YyI((O{u>{4FEBLiY*0rbAzY z%_FzsIjSRj5#%(qi^K}urDzvl6)zHZ&*2D1Qibk-9CtKS{F(~z{FUR0Y6{)6iHdv*hA=k zXsa-X&^^@XFWZ1S>ib?5x?dU*dJwv^y0GW~1sa6z)Gq8r3M&ZR`CZtH6hsiZlN<~g z2;F6F0h#U<`yi`{Ik?F*1C8c2i86W5dHSnDf3as-rN7=nwBLQQ|L&6=dVsGiy~hMW z?*c*4J2ns&lNxa+`MXbcf>5`fAn2wN1l=Hl@EAeJAN3!_Um*Pd`7jrcQ$6_8{Zq0Y zx_NmgQfJ6dVex6)$INR?rp(V`I!Oh=S{bBYU#sRZdw=;A7;m8|&es+5H|@w{`WsK0 zTqnMTcquIzpy1On`)vP22AVTKGt}Nxnw`p9NoS(^`Z>(j03>Va&* z8N<3A1bc7?_82OZ(pdt!;!H^$EtT^~XO}LdSSqPnIghxA-AA+5Q_gY=imFeiXe3mHG`T-JP^pb>!(cODfOb-2@7 zJ>g!kC*fXj@ZK$#1NZ&TI~=rkFR0fK7E!ZDXsVGjyE>IgLwU)>zcN>?&Q&hnutDl0 z^(E!}lsnZpnZ+!M^)%%Sfgzeqv_4T+cy=wQ+QnvFO_RbC}w!vKqvYt#ArdY_O7^tvX$gxhG1?liw`84Cm)+D_5#m!ncH^4sBtXJ4@mGMPJcL z(do&l5P4OHeI0Q#)Q|td9m#BBy literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/explanation/build.doctree b/docs/_dev/.doctrees/explanation/build.doctree new file mode 100644 index 0000000000000000000000000000000000000000..aa698916a92e2dbac4270c94014eaac2a3d1dbc1 GIT binary patch literal 38101 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 QM*F~mEmM?v+M6x?U&^8>C;$Ke literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/explanation/index.doctree b/docs/_dev/.doctrees/explanation/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..42346be85598731847779126547df49fad0f7b3d GIT binary patch literal 27270 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/explanation/sitemaps.doctree b/docs/_dev/.doctrees/explanation/sitemaps.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b6ede7e3a220a56b9bd565c5b62fa1377b182079 GIT binary patch literal 57310 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 bK7#+e?i;(NpDEL6ByraG2xTU=XLA1sB(F-K literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/build-and-preview.doctree b/docs/_dev/.doctrees/how-to/build-and-preview.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ba3c0db816d5210da7a611c757d26c888f21aeca GIT binary patch literal 54728 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/configure-your-project.doctree b/docs/_dev/.doctrees/how-to/configure-your-project.doctree new file mode 100644 index 0000000000000000000000000000000000000000..88ca6ac61c11f9a405ae478e97adb4df1777483a GIT binary patch literal 57078 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 Cs&-QV literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/index.doctree b/docs/_dev/.doctrees/how-to/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..cc48969a85286f9b86b64fd5554a88a971639eea GIT binary patch literal 29664 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Ξ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%0AHZAe3*s^5qx4!-Qk?I`PvZH4w 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 F{|Ed%qs0IK literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/custom-html-templates.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/custom-html-templates.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8a515cb4aeb32e67c52e0408e39f46ab87e92be9 GIT binary patch literal 25162 zcmeHQTZ|l4dbY90<7wMtdjNw8gmSaSV=`Sm_Ziz52h4(@!LVRhZyc*#-CZ+P?e4DL zx_CS|7G|~VGEzl~M59$AqA1F0S3=rcq+C|X3sEl0Q=a!BN+hJ@A<{}w9`cfl^8M#h z=T!A&dhD^H&9W>#bvbp;e?R~KpL2fhjC^vgvV;9EJ{Ytew{_FBYPFVEvx82&x8_x& zrrioVA9qfE(7D~2jK_RyE$|}0YIoutXi;_CM$NZdovU~`PVGat5tyQb-Ay~Rl8>E{ z*t+1Y8KGy`H$%HsGd$n$ZrHx>)@-9@uUJtdG%j3v{WT-Bo9%`b+5t7LMnUK`-S^N& zz+;83*D`|8kE&th+lGa{8rHfOg=WVYz1oR$Rv7wjB|;Aj>|Jgx0EqEuwP6JT9^!hW zWi|QL-dfaFHx;XT-M3dnd#?pZ!;Ui^@1`c5cppep_1!js(23&F&{}0LoLsy|QpPPh zUehkxRj*NVi*Nc~-L8f~@x?dJzxh^?lerLt7^eV?f+G8IytP8;6+PCm)hGz81BPpn z-xZv&*(fB$F`Kncyu0DH>`rM%yr*q}5dd{pJXV&J!d+Bx#^ODp<*(X`k>JI{J^N(z za}I&m&cxM@^AP?$f`1>yzmE~oKp7XK_W3w+o^*~o`O>IkILDl)oL$aW1OTG}NI)c$ zqU4M?dx%$)fNmso!-lQBijTe%*n;sHiQoW^#k(&-i15jvrXO~g)B=#x1c+l?bn+LY ziq#iCf`1wCj|un}68OhJU2E01+Kvw9zrV6#gpLwk$r{6LvFC3yl``HYUPF5ApmicN zR-#5@-Dui&Xh39rqh;H*z$g@qHOEG0K0VE?S*_5pjHu;)GqQznPvHS)n&H@14K1NS zE1nnH{uEtWM$opauGN69)QkXHRk5gnZ&YnRwA@y%ZLLD5FcgL`s#eRW`Zm;zDNqE8 zC;cag(ANygHkV?qV3W?d_{x@X|KiSX_QU>*J0I)lcNFJd(>aG>cjgAXeCNK9ZNPxN zpn>G)OFN);=i(PR!3n#2pm-l**aOA*RRFOsBgQ3e#i9JaamjH5V>Ken8^H7g3_e`+ zvCh4OJm@9mIT&n+S_5K3-!we$I+HGCti2U3P|`#(1E<95^8JEL<6?b~Ol4m#-7Q9n zZK*CdXWPLH+hFWkP;%Yy{P7DG)HTskFK=Aq+`nov|{sttPs3TVzSx)~YaYa2dFLGYzuY=&os4 z!m@d5tz6B;bZL|6=R9_l5dQ2ULH6&R`@#ZEO20EmO0zHD+J4pz0}7_r?*wG&_UU|9 zlAi)|bIE^DNdC7ro22ishWXM20FaaPytHo8u{b3k#3OIpVbtcX!#R1Up!|_e>CL@^ zM+KCh(PyypN}~OjTt5h>YevoW;R|{G`WXY7#q#qP&BZJ7 z3`l`1b`CDEj~nJ!z;Y*jD8o6?J+{WdztB;H%Qf0?;Wk(e-KZSQfGX+L^;}WzZ}e^l zQ|_-YAw4E2$Dm;|$$ZCRwY}uuq<5 zY$A*F_@MDLlKr#JH0Q4qE!ofbFF=yaPd`*t`l;T@=A3^*aGs6LIDc|zocn^F;dUCY zbMZtES}6oltv6@0L_o56EFJ@;XfCvUO^KxKfreEr9we%W2k|oa{i|TOr0%Gsb^=%Z zp`AN+3{Bhm1huAMD_=64r|JiB3+j%=2ZVl?D-fXT8i4VWiIFL{tz^tC{g{op)j39reV^PQ&KP<2>FzgF!h}+s=la-2PGbH+m z#yCJ@JmoMZOR}ac{I_3e8BH$;;bS3>FvZ;Fl&!9MZSF70ghoPcW5xHH%xk)W(93JN zQ0xNF2IR zi^WwpbfSt0vs_HTR9Au}#n89yBKf=ORhe_E$e<}EjAhdKDq)o`J-%VIV?15zPwEY(WEon zM8dQ0>m_`UOv6uZLfFJWZ`Mu;)13@J{pag?1x@2csVa364zmqE)eZyUn*>aA>{gLw zXhWq3MO_hoNhkv0%9LQDhdd|_L-+dLS~Nq-1kYGU@vd5p*1*csS$OGa8WB&k{qDlS8yrl=_Tt(QNcU%vm7LLMiOFkZVduIGeyfGWJVnX`jxHo8u{R%xP4cEF_-umMuSWJ zrG+xH!-@;FRq}GLKt0@B-jo1jX{@YO*2R$yfE0jUdLBP=frX8jjRUMrVFk{@5}PgO zVWuNUv84u$>QV)g&$p!2U;| zq?^R}N3c#l2ZijM29C^l`xKkV6_zPvMX$596LS5L-oBD(_*L;iZa@|Yt2!`d+IWan z8i)-L+p}ar0BcE!0~Te_JA@Y=Wsdl2jtU0O-6PnVL?6r$H0_{h_DaNx+7rc3uC zw_x1qs7R+{IR6}>U1d1`yqNGqcTi3X5sneb^5ALU4Ea~LX}YIN}LID zbv;)^GlwP`X+4?!o_L&BX|=nSue+jwW_Gb4jnzhTKsTG4G>M$j)A~46R{F{!+fsi} zdlqZLI7mFdwiQb2d6wsp^0LdTRkr% z*(lx-wL{7UOT4t@fse@=Ca;ZKw~X>+{yg8}5adr9w|W2g61xC&V{2P~n(&t_A+yelKewBp`8 zNzNQ==i3yk)R23<9-Ne2>SWX#6o#T__ZRu+#BBAYBye%*A*m3UpASjk79EzN3`>zs zj>ZRC9`vTYjvY!N_Qa&}lJ!~Gk@_6{%;RUHzJT9&H-%oE`Vy{hBZ=xX%CwL`o0KL? zyGpxDBc(m1(bC@1SSeT9SK41XP#U)b3VpS#sWM#3@KV-vmS;`tXVG~Ilx!AROOe*4 zMP{>TzVuuwoSxwBOhLF#*w|F%W3bp-yiFV{{x%b6OAk$RW(T;A`R8j`9D@mD;p@w8 zcp<8g_jH}+a~=aqS8|x9YCisOE3*WPw%-+g#ka(lDcADXQ-LpemoiN(cJyGe9UJf{ z4F}VmAVdu{q!7;1I-~A)V(H$v!uw!Ry7W8;tv@Q)@$&rwOPl;Z&QLPzNA-BW3rG#< zA?=m!)3BGkPCZjh{k;q*n|Y?S`{tSIFq5{5Eb?U`Ly{)UH{C0vj{zjn@(f*0=H|}l zpAJnI>3sGCbf0oQb?;9iBOPUBg!%=vviF{<^u{GxU2S@B68M4(v>z!PY&5}oDb`Ss zo~K1uF;7#>q-oJRZ@q?q3aei%_f*AxSCO1P7jJvNO78xCOZ24x`bw8E+1&q43B6!? z>X`!QpSA*!?gL-N%=QoXIO_vn-MwSS71K1YlAmfYZ9%MpHQs*r<&(%Brr{tb`o^k(^~)A~Xfgv>KU!N`GuP%!&tEOhPESu4 z(IO9Ns)f$k{LEq=^9`j3`1K9fUVFj2c{V?7OdB(c_zho?#3#ZI^a~gja3g!&|Gq6wDLJj?#hnDeI!vv^|8E#dFNT!BAWM6*-#XoA19^l+KqkeNYm7~5Q$rAvCgyoCP)p*gf&1Pat0>m4r^W-uBa&6rCV zX10JPfNA+u_i*gZoOx=&0FL-_j=ls@0Pie=bDDKv&Mi`pKzNy+&obhgix?EJU|6)b zmdwQkP!vC)JT909I4~*~+M8rHrqu|X9$ci2osU2`$=Iv*w z`#Fvr@Sii676`osT%B3~cg@)ab79_G0_UmE`5w%~VyPF_gI?f_UznTit^9VExfq6O{LS_P!MbvDAbfr7OSwg41p!&Bo;7Sp>%7wg``Y!H6B-&#F8QG-qK zeBoNgmBThyp7zmQTV0}xgzJAqe3{B4e1O9@bfScvcR^@F)aiYACyfAwkos~v-@t}l zP*|qN!e9>RhbW-zgC0yZyj2hYUtUWVQm(1o!Mpbd6fMX-k)d5SbI{}cFAhdzQ0Hp- zX2^wvr3`revk5Y4UK6a9fV1#^ryeWIH^axuvd^C4@>|_|!z-x+Bq|nW0X0Gp3Zw&L z(l%F3iavB*d3^^mwDNXl@S{M|v}Q z5Nb-V?jkew{`P>~Co`2Lvzny(Wu_!+durRUi#VD(Xjgy|`iFZq)yVk04C3jW=a3fa zcQT#y7hSdzUq4Qn9hHr|E#z3j(rvEf8!4xo6HxZ45pY0y|Is&TOSEO%U zZ5A<&mvASx`%L9%D?A&j;?>s0S~X^N_zpd@r#O~EaHTNe*eUC;<*={8EYR*1Y%S(E z@z3+(a69iNarS~dn=RzqN`zVhdA6%XDG04h+!qpSI`(%N!N~d-J>Em{1cL_kqfFkA ziu#ibB>fdtx)L7<5tT49-F$I7L}d_SnQ2N6&S1%x5N3dcuWXyB-5Vr|2|XuxVL*Dm zQ?}zjwudpV_STOt?tI!uL%z84+e}AP3#KJ_d~Za-AxP#o4CrNZ8!lx}na9l+CmvEq zjkIl9f(gA}DlQzw>cY@lpY`R6?;?ypf{!!H74g3yzsUFNFmqVon@#v$6QU1Q_8=$r zO4>$E8S=i%qFvP%HmILgwGrVIc3ygGnz77_rj+AsAbt}&U660rKkV~?wl@Y#Bsi>X z`;%+~&#mJH+Bu_Pb^NxRC4XMf335pn@5GCkxZcl=?AHk3$jhJ3txIAfF`rYLi#tuIblb>?s(XfDvv!S-3sOH_gblM zX)Ef>9I#Ks>~=wXnR39M*BmhEc){x-e`PHVDUV{4{D|I0eKILSwiW>kfZIax;PJ351m&(^PgMt-c>roAF`2;}RqXQ0KlaAK5ky4vm zzLDX4*2C)Y{_#PK7}T|z??(l@r1?wkl}Nf7z&3Zdz9&Rdg3NrK@w7k;2i}lA;jQff z@v;7*ISAa0rzf#i)(NaEZc(%cjiTFB!yPkpHE?ZKaht3;?FN(8sszXmM6o+g!P(t#aY5s z%6!Ve=3Q36#e-{r#0%9~kO^~n+K{4(DZ>t{C;9Q673}k;8e4!c4RO6B`aN0NH~$f!4%+Oq1?4`8UIB>=^#)(S7NqZc~ZW4!jt#nRi-4v+A= z#LzuHGOVE^d-fPwYl8~&^Mh1yc7#P8gF-XjLU|S{c*_K4GVW1*g}M z+_iX4U&tJ;j5*jwdHDsmn%x1SSc8@;=n9C*_^1X&x-4nOnYAUic{@2awM(!^f!RJ) zMD1*xD$8-Qa-#83`zFd$M;CQh9Q;zxS6LhVvyLuS!HXPtyr zj+<0+b&kakg}&7aaC`{sp*UCMt)hGlFDg3{dLasEq4a7_wy|rtjVL#}GaeTkJj3PRX;?X1yDStiK!?A;pI|A2 zHed&3T3as5!n+txd>|_Ef-JsGl?KaL`mjOH2jZM#HImzr_^^G`4a*d9M}cfK5|5y| zX|#&r#@8&L>Jg#^ikUX?WDM-6qV_539sxeL1)7ynzy@nAt<_FE7KJO=wivj$emwoM zj9SE=U&hiBcHR2m0D)Q!JMlqId99Zb)=MXTBJ(EGMg5x)$9SCgt6-2{Kc0S(`8YmA zI6(FS?1g4)>K&ZO5v7tq@fy`jLha@FK@^np{93tYw;?$g1`9Bt!yc^ZtN=|=#H~qz zaQ4LGRup<=^(cOTO8OqCMa_0O5lIl1JwOQ}+sBrA>hK_Y!i1f;uO77nJF0nQY?DT- zL(n`gu*>?FOiG}$H{8JGB73lm!+Uhd8HfldN2RJj?e+s19Fc4>y+fx5M6)uLe_*wl zkI)qcK`|+&n@HB8w;EW!4@IiMDt=qq86PHngXFYUA&3pP>4u%x51oj|+jd(S5kh7^ zJ)udPcBpsaN9C~(JPuH_D|ArAl6HN=a#2eL09qy~ZK`f%w+qLo=RwbLf2Eq~o}Q@g zpO)Q2c`Xvz>$Y#YcDTaEfI%pdy~JQ+p;dtvVSjn2v^RbNGTAIA%9&U}6epqrTO08q zUWo^1M@11WDiZCH=w@VQF+EPFPP0F?J&@QEQT=9m;>OrbNhdA4LXP8r>(F+ zS6GW4iyz50MX6N!Dly`yy}N6EVMcl->^kvD{-}>n5_b)yr*i9mKvN#7+W?ot3MN!W zVfD}Je~8yfjI?uB4vnj1;J@rQaF71_3?0Q2Dcos3?n9^g?_;>0pni@Q5iw*%ejZc# zE~?&6(>ChTov?yZm`}q zSWg>~GjSWq)mdkOfrdW>m-871iZ(@Zpy(_m2Z}aqa-hid<3Q1h00WBoy!A8GnCkr1 zLuyPX(d#>?37yBOpC&YDsjL1I`eEsl_<(LLh?MbxstcP#;tcZgCp0O@c3kZBC%hdB zBf+{fD_$efG1l~<%)_MhSgOY{IV$^TBGo_UcjzOm^~2e|#2dI-n6j9@(cHWb#q}Fd zRNw%oW%NAhA)bE>?CS4>gQbz+!_HeU!&owbL5DB~l#8dz{}ag!ray-Ejt8(Fc2hpp zl$IA7P@%cFKNp|501@%YilOW^mDo3Mu!sJ81({m?c>^Up=vaSZuTjP?(Z3yg1_vYL zQND`!gjvCT gV%ZXQdX)&4tC4>prea!vjdRSF291bUXRMh23(LSW{Qv*} literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/customise-pdf.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/customise-pdf.doctree new file mode 100644 index 0000000000000000000000000000000000000000..efcec47fc39b4d3168853607dbe27c0dfb47e017 GIT binary patch literal 80150 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/external-referencing-intersphinx.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/external-referencing-intersphinx.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c620c42c043d96cb80b088d23717979c76de76a5 GIT binary patch literal 38459 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/index.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..c863020f2fc2ec8bc27ea28515361536093e0e47 GIT binary patch literal 27712 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 Ye;)piAbK!uP#i@VazJrJ_}?G=A8?%c*8l(j literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/interactive-tables.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/interactive-tables.doctree new file mode 100644 index 0000000000000000000000000000000000000000..22f7cfdac705a5e186049d693f13e3a488eb123a GIT binary patch literal 32016 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/openapi-specifications.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/openapi-specifications.doctree new file mode 100644 index 0000000000000000000000000000000000000000..eed9a34b458ec60f31adf60c23560665130c8909 GIT binary patch literal 46030 zcmeHw36LDuc^*idJGcn&f=E$pE=XYkVrBsF5Vaxzf&fTDxM&-nqwtOEQzutN}@zv)O}0T;W$n?aV*(ISCo>IFqKsKh|5kSIdSs+ z|LfQNx@WehXE9`?3Q@HWJ>9S0`|tO^|Goe9Nky+*L||P^;f%(bti%`N1tDkiUwoV=C|V?(|Yx+ zW6Xs0?UqO21-tIE=QPjO0K2BQwBv1~weS8znuW)+j_z4@i=NH{aINjwb))K)y1_DP zwHvGku2sisQ?0Hatn~C*eqa`Y6>S~3d0lg9Fjk3(fnO^m4bGNLyJ?h-s@1qoud4qT4pA){Ir< zyKc#Gf#$M?)iS!r{AqJ6SmEi;tP!)uTpnCrDrptbdNFKfvP%><*MrRF23%Z@zbo-~ zHU3^jWCks*S~pmie68!7*PAz)Hy&PRYUWb&2KL2{-Uq$*_-s zpE?AhZ7Lw1F)mrML_(OPItj};t7d4r1}3&@x>K{>V$`%beV*h=N`!Xe;K@@O1kNoL zPMMag&HD6G&1l*!*Ms~St_J!>0;)Bwmetf7{pgaGQ_Xj+)~q&la!#L}H5~2qA?;4n z^V;rYx$KI2CCe^*w%u^$jiPUr_e@o`L;kA`zeext+O+OkRV{%ZRE5kkixDm4Ni1d zvH!y}=W|c%r<3fEbxp>5XJXVU5P5bppL_mGl;aDV2Y@grtT|=`xO?QQ%bv!azZ5zWk+H}OY zP2;&TQj39&j7f1QxD*9@LZu8edu7A&3`cLMdc8RZ9+Df^55QRI`d_GBFRa_dl=nbZ zo&Y2E274}&V6jXjFwZBl>j4JK20$4L)`q02OgHT6S%qL{{uYC&^gXm&N;^uo6s*>a zJz3B+_6;Vr`;11zrqL3&&KZsiUt&_*iJChKZQV0ns#-Rw5?yH;oE&kXX|CUF>dyS6 zb`k?HSK%6(M&mksO|&MfYFZJ)-=y}4Z#eT|EozNiyGbsUn{L%KntJ>yRrKcDsEFYk zvKUr%47ZID-B3Ci-?d}MxcZ_hqT2DpN+(s}tg4kYO>egwp^sOtyP$;f0zuIavKTsh znq1k`E1-r04nT=iK5T#KS&V%lE|p#(BNjZh$i5%*XB8ob5DfH;flT zEqFx$;@QOH|6c+i>%^$5<4!Pe8@E4_J|ZaX?=hvy_b8YV+E%xp1HsHro7!ol-x zTMY9c8=QsX_a8ilAz^B&|0HA1G~i*-OoTiG%vE?QkKQno(i?@Qeil=#lN`U$s&*T* zGxAl`88ppP=%(#^ZQlb>4lJjQp@HW>B5W`<6^>j0gC|3#?rC#I?4n?fgeIihBW5`w z5-=J2BL`2R&P9_%aTZ=w`DOm|$RS&;kWDgvWk^Wn^}kSGAM9(q$iBv-|1bHV0H1+- z#H$GR@J{@CeF-FVG3f6cn*VX9W&-BeP{^r}s_=3`uu19}i2u2W!Iv4VC0fYS-8&_w zy$_`At#1OxS?1ULp80*%rd_A>9Q*pWLWWzKW3b9ep?67#+E(?f=8NfmLcu}}fS-EH zB3_QkSAXqLJd+f>Ucn=#;CiwQng~Rg9!x$*!}bO}_apkoO@rHx< zorb&UF#*+p$*heC3+Ncyq%b}r4BX^ofgC!YUko{4D4epPkZkNRPog;yB2qAgh`&^A z_{6Q+c6faV<(;Q_RKo(&9s*HeTao-|{m3z)%<*nr47`%4w=Cjih41$*itjg>TKxdt zOeoIU1ob3*sk;%&9~hG5TjDNbjk#m79FowzZjlWr6s#?Zf?H#BV#Rq?w#-1wGipSX zb%vzu%@HV>X0v`bAu2*Cn`8Zp-w8GdWnrHz^o-(ARQOP6rEr@vy)bfmGQ6-&`|Z|@ z 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/python-docstrings.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/python-docstrings.doctree new file mode 100644 index 0000000000000000000000000000000000000000..15b9645dca2709708cf9ba01f35b54758d0cc42c GIT binary patch literal 20984 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 S$zS7jA-=Jn$~zUE=Kle*!#i{U literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/publish-on-rtd.doctree b/docs/_dev/.doctrees/how-to/publish-on-rtd.doctree new file mode 100644 index 0000000000000000000000000000000000000000..11d8067b1e8243135cd0a21a28d18180097f5ffc GIT binary patch literal 43863 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 JE(0Vl|9}5R_VfS% literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/troubleshooting.doctree b/docs/_dev/.doctrees/how-to/troubleshooting.doctree new file mode 100644 index 0000000000000000000000000000000000000000..355bf33a56609eebe9cbdd0cf5a0cf7d83da8cb9 GIT binary patch literal 35282 zcmd5_4Xhkjb&liT_iR7g`Ey8OGKphiKfJrn%fAz19Gm=L#}2j=Cn3(h+1+_Nv)x!!%9?sL3$f zHRFV3*7(a|x9S)B;TmeKA8rH>s-Dvc9Jk%?hU){f&L8aQa9zg)=Adt{4yVd7lkjVu z zxTfi}t^ToY#hwb+1*TWGlu+!o;T6TAQBD=y-zR3jUqHO7MHwz#u4O_&d`(2UgTK)7$P z7~@#EpaOFyKNwQCr!;k&0hl9__9v>VF1h641!EaDk~ECEyDo z-f3&mg1l`cgx0eYHNt#3Mk<(W<0 zFia~fvLmh&{Lw1v>J?=hB_CRH7MgJ&JSatk0qMeotx=GMG6f@UVJyOUtZZ`l^KYGqr z=b~d3q$TK^a@be-q&n&r1No#|Ah~D1%zi*P9cx&ve`Hmx)$1b@ph+>Qn?cNxTwUwa z`BZ>tQeCSfu^83=BeS!DQL!=|6gm8Dl_N*?@VDhr*Y_P70IOz~++p_P4uk{m6)|7W z&pjHxz9O>on0&Q9e1+dT*fzTDB@8VzBAIog<zVl+16nUK1LNI5e99TeL1r8Xl}CUH=F>@k>!(nL}R;0naFu! z&xsl%a(qlLn$y-f#}8Ca)V# zr5WGOuNhKJuaO#}YsM2d3CD&6kx&r0)23lVOCT{GRxwsXw_=-1d6m*4?#mu}|5_nv|wvu-A%hTuiJW>zqbp_v@)2&QS&$)j-zvlMi1FFDmC zYq+q0NgoY>ClRO#jLPz~+p*eYAriB~n(5mW*Ys)zrnuTL8IMx$V^T0syrIM>P9Kc< zmM1DBN0Xa1jwd+%ljCBNH#>VjO?&;>S=jf=UZd$&G5oXXY`GZ7X*_6S#;YdJJWUp( z13L$i?cQtHa6G(eO1LFyV&urXO^Ihq@IJJmOLBwtcs;(P$?HOVfSna>#K-4GZfd*vfJ=j;9z)F+Lwr zxprNj)J-c!#dbt+POIw4R8^U#x^bFv8{9q{>>ZgB(3%;bI5C_EM$XU2WQrGB`LpAY zNe;iF@o^D8n6≻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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/index.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..9d793f0621336df67931eb8598d49978b1796b94 GIT binary patch literal 34143 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/legacy-sphinx-stack.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/legacy-sphinx-stack.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8aac442cb14c079fb4e22f6d7f4b05c6ba5c78dc GIT binary patch literal 65470 zcmeHw3zQsJd8UP=k*4*2*s^6yZd-ngWOcVC%P$!`$dYXtS+bGj2iT^krn_dkTRq)P zSG7j7IK(&$X|Y9kxbay6BoNM$2T5Q98(_l*4#|>}WXVZ*1aBZLG32p4Vm9n4p z-~ZpbkE*V&t{SzC*~rH(_f*|`>wn+>{`bFsJ+b_qAN{`<@IT%VdvzYk8~(0vE*KVA^;%sB*V z4&9vsUw}`}Z59MRK479zp>EGwrG>z~eA@vjmes2byLYTJT^aYrT&q26YxY%^dza_) z*`hyS#2EW~#G%SMu%)sAKQ`gN3-R9;{C5el1+=f0d*0T;L-ab8%PUt`t~#=|lC3PQ zT!H_ttn6TTRybe*5l_mK6p0A{yWFk1b=!F4ZGS*8lK3NF4e(TeI_@ny30|S!(DrZa zu@D2S{Q|6Gm8(D~YaqIW$t`Gpqr?JOtzb;X!EbA}ZM7;Uz@I-^sXE!&PPJ@jn;n-p zK>}xI9oKF-*|z=KPPJ{9Nk-?Y=nWyYAd5oDETW8*)9g&UIY(VH5r}6ecD34ePD$vl z>}k7AqPmktW@=$*$CbBn3o>t&n=O`qJ2N#E7Wb(sNm?~(p6NSLne-|z6k0vap?ggZ zK{{62bFGTyR2`Gv>q2x85;5tm36RGa^+9vgc)p(m-|q#lC%x+>9g~vRcwrcg74@oX zx2?K~#pWn>NL1E`Ib{r9OO8!NVY4xU(F4eC$127vNUfm|<5EFDtRrHYs4Rc@rX?3# za1xTQ#3?szIS~D@Q9cb_ai9ebY;kiYJ7ZgJr%iVn#+qw28!*w%?yS=(RkD^796v*Eble3f?dUX!gi ztui1+Lklk}mveY0^lJgrpH$O)_8ym}j;vFiZB%D4e>B|s0u;U6DcPAht4i~e)hJ

~zY^Aub>1+_dsnOsGrJg+h28Iwz+=>{gHKfh-t z8>O&WSpI6GRPT_?bQ)#5jb=*v9T?bZL$DjYA=vrW0`ARJ>-O#pM2aQOs<&;cya14#e$KzVInE z_WlK6OEcV3Fx4=uPn%LxsY;{fE!tB5oH=0pyhE1yX`XjBMTk@aAlC-PPEI5lB}qYR}go`H^;6Zq}t zrgVZT@Ybsh_T3HV_!;)bC%tX43T?prwZUYZ@Rl*)-crYf2fqT>93f(x4nBFje+CKs z(>S--8$&-#T0JkHZiUjr`jL9l#MrC+wYLI)xeF~Ut(Fob-YQ(}Gp%~HRCRk@emswL z9ez?je=*~28DPG6;qfKkE7`2nXi46nPk^V%{2LnS9dYC!n!U|`?M5`_)dDnlpR^ld z**j6WRo?I>9`IK-(p`tM9`ISE%PBP`c?UK3)z-oV8!QfCu4A23TcvuiXSdb#=)52L zFth&?a9N}`#A|PVJ&l$80F=nhqiIQaf*D?(=d*{JG+jB(?0mIe$Lgq2ovZ#Ue`#K^ z8nbW-)$*y_Y0J4yETd@QG`-+Yzy6~Py`wJHL2+KCb=s=dt?9Z=MveMJ@!D@j(-(z&|Kkg|Yu{mebScjO0Z!0lGksk+Vf!tQLTVk3lu6*V(xD#)R>UAM8c z$RZk(d1=LUTh9JMVYcd4I@5W0{ROpv3Pf27emAFpeucn@w@(#C7=%27UCH6nW~R0) zL>w$&$%5I45g~G>4ZK%+0g#b40wj6DAWa2chX%GCCG&6ril7LT5B-5-ne zuJ$rYCd$1dOEgxK-je+WPr}laY~IQSRc+i`9X;~CVUJ1c;?DlE=Tt3sJ*z#F#WgSMpW6k2;GDHq4 zJ#THLI$NpZKevdeCPj`(99~1>AOaCP!U$)qGU5c)P{h&u%Y$T2Xqq5wEixPkFIuND z#qivwEe}lzR(7h4C^k$`IeYld1BVbJz@!oowwzO%V^f1!(IL~5V}pg!cNAscVg)NZ zSeAVD4jVYqG}A2EHu;mVZ&>zWOpBLl(`^I{D*H1TL~2V2#OIh@`}b#w44F(8{{+~T zo0h>u#ENxLka=eM99JAy7M1XlfEh?hHYaGQ=YiJ|131W=WFEN1=hd~~)ja8e5i|1s z-H!!he8Nt8g_PhL8htiIwAu~0p-kD)kxHE8>ZT};Yd*d`1k!NBA30#{5XSNL8RkB* zc9`a!2ox~yH!o7-1oq0DE0}YnkF=M9=#Dnz>T#AH3suKsx%;6^`1=VwGU2ro_{FB% zhj`N4nOMbR1R|M<-=(yuRs-QAn;*NCu)@ac238p#FRpPavCVldzD zqxVn-tzfi7kPO@)mwY}dOhw<*94OKz`D>eHJTG3oe zkxYt!iaE5|t|Go|)uUtb6uNAqt2Ng`_>+2MD2NX482ha3HrhL*fo zAewwJ&_!ZHRbPRK^y)1RRnivFKn*mF31TpGmiid523a- zBDTn|k1Ik($}ZC^m2FvW#SiG|ovs%xj1+~scn|>%BlC)oa8$mm=)XCN&cbMYRW_=f zr2drrgZzmAM~rto76GpYaQ2BwmVNjbwzxX|av&No5OAj8Jq0URDl{SRRWF#99mU&GxAo>_8x)}dYd9> zZD{BFQlUg{#(No+WT+oN`*#g*Z^|BZd3s0}Z%k0J=Pk)`1fWM)h&hG&3u?!zhxtlk z&>(UD;t&~}gUip!d6=52ZNr(ze8Ec_nzE#4pFLSY&@!WyrEJewojR6Oasg??5lMq~ zXOZ!W%%6p91+m8LG!_!Pv4w0AWG2aRGYtd<9YeK{ScGul)RfRQ$`1h)ale4eC><$_YWO9(gO9>F`QE&rLY z2~t4an)KF(2QcWcbZHvq5gjf-k2t5rTyfov_WzWQ4%9`^VX&#IeHvrdK0^azjyLQi z5m5-$;LahpfaGwHoqY9!R=vt8^oGHs3{Av*uyus6&jM|?w>u4rw!j6LvrgIcr$}<6 zPDX4iqk=66(u8E#d-(Z!6~BmF=X|<17&5XuBqMrG_EwuXOEb1olED~bUucYYJt8@y zx3W{ZT}G^;X=%J93}~znC|Bk%UN$jYs7+<1E?Q^?zXsXb2r!Dwo-riKPgjvEG=})= zO!Z8!GKNDDof-P+A-X|w`QK^X*cYq3DG<@!4Ef7-S~)96X^S#$szdkmyg#n0V)vw; z;Yck7L*pW~NBtaqafCxe`XsYAM?TcELnRgCDfz}$JvdT(6u>E4@4W@yMlgvJ$?zi0 zbQWpN*=g8H-qI941=5V=`WPw5?IzNZ`E-Fuy@}5MR}1MpTpJ{_`e!x7(ulW4u})|= zJF^v?9dUG|U>PEPS`ni!Ah_5h%-ZWiV-D9vf`WB%x6Z^(KpiawVKfG-49TbT5$-dj z0il$ke!|v+eGzHjw{$}Gw)SqKfmr0n_0kx;Hx;b$Qxe~UAjB>|6gd3j8yc0= z);C>lk8dxH)39cm3V*mLD&TBP?f24Afx2ia4Az5zJ`Tx;G?4+*I8A#=7ItN5GYPvj zv~4AG3>~)(%ZC#rb*T`$vCD)!EPsubnNrRP_JT!Q8`&F_a5zW2-7>VndP0}&(;d~AEvDv@W0@ie&9&8m!a*EiRWbuCJ3dl^dmNoT>IvH z-+iLSavYCqFZ4Y!+|Z5vo`%$5-GSc<2c<$jTzs6B{=K_*YcGrs>Ek`A%|M|!L9iu;cy)jmZ} z6UzXt;Xi>MNn=H`X#XFEx0f>h8{9M=)msmW1G0fh0t>nd_H@b=xuL|Jz)a&Wr+trl z(mRI{wER7jif+=f6aBtCT6$c5zo@o=!;W@|PU!|ycofz{+iBdMTNG|p;P&0LxFyo9 z5A&$$wPGVq=XD&nIaefM;WMeivS{Vluv{s}+F)D5&D=zdQt8M#^hl~BHPCJK@b*$i z#<^*{j%<&Y329!3HPaGNNJRlD?Wcg*?$Khlp2IpFLrtq7Rk{8Go-9y?_!0j&UR-J8L(nG)E9?b*_-=tH`iI)cJpX zzFLP1-u7anvZ0@E3hAez;eLLjW`?weoZl#K8)N-UXsqG7PH$&je=i+!=T+{Dkpni&f zFxOA!Q%QFHJ_YZcu(Fk!t*TwlU}~bF$ov@f0l1k~pBoqTc7tc12+`M&@qvyHa)JkX zIiCrQH(bsM0+#d3;z*DTpczIRlpiCR#U`GL1N&)0kMJoR3Ngln0aqXD+c|*y6S%3-{$HtRNMXOfQ$0BB zw-8XHw~7R7RW=AQXs!f?`KMgw^NE;t)J*CiH)x@W>5ZpJkyXS|ZA^M)zN>X#M7s@b z@~1!w0Q!mZ{=2A-pObgbxJax}?qBCe0+=E0OUHui217$H83@0ejxMA$C>-QwS}OdE z(N~2=AFi(i59@0n?>-Ermgu;=`_~y_5!lLJ9oWRuTiD_I{;{(GQcoflBkx-yw~9Dj zP0}x}iPnXDDk73DT&H@lE=6`N$c78T~Fnrg21q>;Pf*_DuUDY0>HwTl_)Gbt+LLb9IJ(3Dcij6(Y;Kf@q8C`fI+MgWW z-rR<#F0bS+!F;@xl#fT^9!B>xVGu-D-J0~4aZysume*11RB@s+!{Jwc?3)0*JG{M# zFLfD&FY9y|->3WWRksLVbTat+?$r4H+u`sle196i_lCDO@ueLS1%>>>@!@F3G8jPKyi z6dp4UosqqMsgGPZX=qO%@l)m049Z-MNKP%J9DzlNqN-O8?`R0s#uY)EX!yX1^Gvsf z#)zLEXda=r_ItWvSYkP$wDR9zytO=D?0ZelQ5Vg*!LO-3j6{;!tLXA-N@W?VJwm@9 z#f4cQUqTLGGKe!R1x1*Ibn zy9mgFOL_;1EnINdMoC@-X2n4?#F^;OK0?e5w>pCr0Y#M=JFJG`tIL>^;qM37D`UW7 zjSF3T5kaJ>UQ{$p6ZnSW7q7vrr9 zp|=L@SJDHm9gGsUmpSM_>rbIysspWq5TX!)JlWcVln^odjeD5H+GfRtF=#xg^YLbA zJ!&~(!w1nVVPnu96W__f;7#+L|A;4lvI zR5_|B_T+FRKv3R4mgooO!<&54Hl8OI2bYEsOUvp!iw9Ce z^EQk|vZ?3;0p1P`DnEP;CIjTc(YJY+o6>olw%vIfpJCuovcY`fA}1CQ>rsS{4|Hec zETD29GDxAL7Rn|EYSZ=ComCZR{c8IKRCJs!P!VihoVMso7ska`g8D>^Do0|Xz+O3> zbD$(|xONr0j<3oD++_kwV#(8!Zx`sexo;78rlNM37BWF2p#1prlyjv;O+-0b^i$5{ z;v~&byB~zqE_g8HZ7(*Nls08oa$PZy{XZdO2iq8VHf8X8D6A9E$)2c0Ib~F$d|ot@ z53u@&UWj`zfx0Mh=>@P1f(NR?r6f@f6B7qHX#K|SVQzXM2ND@2Vs-RG_R6A{*bkGv z`U$Jf)T;8%wN)#DIMyIWJxre#lip*`ui?^jN?3Q2%_$$mobnv=ZLs)-qK?$%yT0s( zqmI9OkZbv3u|Zz9nmXhMVX!W63MdMETDlRKv$L;4z=P@^mMYCAd^L9ez^FDeB10$c zc`@(1B)-Ykh3iCNk*a$wmB`2RfSqu1Y7ilz4N%q!p4imBXU4&vX5Es9;FOaSik+z0 z!2ACPDKgZT#j(gRPdNy+xmRVlS{M4c2|-RuYq+70%f_fThDME*I?jtFIM}gz=g36m z*(csLI$_Zo7^YY<4g3()X(!_tOA9l4OkDC`h(QjV0v zUj-?VuRTC)5>cc@4yeiUP%4(oU87$IjwjNQg}MwP%j@qED;gu+PURD^ts*i|l_Nj0 zO4V{PtK$=fWn>an+_`!Yb3>6^VZlSEY%{0fi1Md1&_|a`CDKcO0J*hP9o7lc*LyL5 zL&ji*PZmQ%8zFWXdY>=_?{sK{Sh;2$r+2cB?@Y{;WDq0IG0Zz@rq%`@7~^#p5C5L@ zlA#qPO!;K?1fjcNoou|!U6c0jUQ5Vgn!NQPik1!NA z{$RjS=g;B}K2Yx;oR&^@I9y)YQ~ROVkmL{F{x;w?-zL*jH3r^#vBJmqL}aL3`{MpH z9r^3uf0XffKLHjYaAWLEykC}+vdPY)&aw5xVs~)@=@Ns~uCUNie2WIfKRgRFTaHyF5Rpf2!^+S&ynB z>@0}Mkm5#mm0j^NKKw#yfb?Bn{qN>5q>+f!rBgw}7j8;FDn3 z#iV-m;;e{t<@^WrNozlKNFV$PF|7M#a!sNe@p`nR0}+{QHd!w@wMMh(YA+zowD5${)g~uw4=EHN?f$0%!V~yT#l!Dkb-@Ms%(K1sJllH$ z|7QL2rnvJYYVAMU>-qOpX<7dX9^$F&WyzCf^yPH%=^ZYP8E7nrLV=7^<>q_?z%0{O3V3}jzD+=jz$pc@9E7(J`?_bdGyoe6Y!|S{O-2TBLshdz znI<))Ach?H0qhOBo!lLH*PR*Aq$8RT2swOAkv=+>+mpYZauWyi5Q83VHkz>m8_ka2 z69a(RZfLVyej%~F|l{_sB zL+vDZBpfl1=_BuP&wbX%jNlVDqJ^X!DMs)e5;#6!Tnrot!l4qw<|?FQk6D!OK5f-) zS^l7}0i}AJDZ=^V^F@j|WJ;Mo23s2V7I(ZMmv3!Zd-g2kN>$FCHrPyq>B)s#iKJ`= zmZSkHS=8xE_57i^{DQ^&lEcs0Zo67?jDht}1#kb5rFOODN^zwgdWsc<^~cTQGjw8x z7L624oJ~;-w2~mTZRE&kC<4C*gCvwz%vy4!yf8pT_ylEg4izUb<__(Oi>W!PF-_HK zFjZdJycwuF93*W%>a{*LCLZbq^UYJXDBv8xnf_4iKuJzgvN;zK?#yizsL~@Bq4wlF;(jtK}^4gNk8A=vfP|gu~DCOZUGFLD>ImV%oxx( zW;{APqEH?-9v@FJNLIxz$eF+hYN&oeQH@P#=qnfycHPbRrI=^Dk?Q~Er?C)<_$R9U zQM4x?Frs-sgtD;-pu7i%wQmgbg;GOFu;=V(nrPM|&NX!$U%EVcCzI4)!k>56DLj7O zSwHWrL)G-s^t`j~yL5eyuAFc1(c|;ZdRn`2-dRVH5E%xNl62l#R}nG)7@$ugn*6m> zd)`@>;l%UKy6G(r@W0t}9Ohh0&pu|nfLl3iJoYRN*ID`B3{CLTHgf6<1|=$2dh0m4QBcu}9yV!o4(Mc%I>)K}JVoTQ_f~NdsJ)=6 zQWrP!3Sp*Ah#Z%yr`SC9heF($hcd{Zn_)>W->94UyS)Pa?GpU~07$$y1o5uzhlmAG zJs3n)6c*I@iGVC4rI64W@P2Z92;KFnrF?E|l&fc1kv$*gYfd7T?9CF-jl=M~pYRl$ zkT`=iI|M@k8+~iObjnEmKX~}SvAgfQ_rANSB1ll=Gh*x<#x_{$-=#N(5q)_qqDcUd zxNjPUdy#Q>PUpDbx)v@?1kzHsT6gjywE>6U5U;H^3#9a@)-+Rqp(=3nxzQ)Rdxd*<3jf0u_Yu z(^T1^ej<_ECw7Q57pn)FG(1lm^x3M~X!>L)=)F6`WV%_BDJ@izE*B1?%MPN;q3Z9v z-?i}7cuj_K)#5w(nRX$B<4XC=z-hcJhX|vvS)w3&@rV+>i-y5hBlzwVU!|v9X!>eW za1zllE7OB?dj5<(rP)&l+Jx4Vl=%s|T&0OqVdW^JzAbhT19#al8oV$)?w0g8S7;>( zw+tg;Whe9-Gzqj67}+(Q$#S{#&R%2fxXy=w@M}3 zLD^t#3HqJ3bK)I2eg|q<`s3#?evbX;kZkt%0bEi2v}-d#eUji3rvGas{hue)BuBOm z;|ROGQ+FZw7c`-U{I=Rwd7;yAX7f1mNMXVPDmj);!BJ|v;fY`)JrCN}fME8$CrlXS zb2`i@Xf@nP9SoyUR)GBC|`AEwN-}WI0V|+}C zLL$FsI6#s#mklG$5jI_it6b~*Ad+LK^e8@j#Q6uY{14=;7TjhjECyRDJSr8C=~O{ly{;KgC`?3U!|7l;TjB=XyaA^#L1e;BC%*hT{g4J3ezbH>N9`Nmo0hu{Zi zVO5&Q5>jhC}5mR;FK6G%MITJ#Y|J%&1FEP_Tdmzl&Qga{^!vDI`qhY9UO9{y z9K91p0;P*v&9>nvlZYajp6xOPY|EBYnQmI`azV7js)Opzgs1B@;&x6nGBEca`0okJ z{PmL8iC-%@zGE1YR};sN`bpqgrhyYactXkHEY~6S;mh74Yuv!VycdY3Zjr!;$CNN$ zH4Mfa!-!CkhL2)0$Ovvb$U8NOg0NZ$)@9VxfK&b*fN_U}F>YK5@72TLy`12^58vg@ z-rcrZ6%BQBwneUe2*OMgO>>w%TNMLNzMGYI1JJIM(8}>7WY-LXY#Tv#KV@5LphQ|F z#oR)0E$1f&Na{uanvD_~V;~98wZi~n*O&pqtV_vQ8ZOMlvOoooT;S^tk|HGIVaeXW zaRqo~N)m+rUEH_g{zm0c38K$fSR}#Cc*E&bKiW7G^nvHaK%@>|6eG zR=+yFzuTeO>0uUKB%2Lf391&s7lrY@T;eSU48K=mw{sYF9H%)hUEV|N+q=5jo5nE7 z{7o`pIN@$i1@1z!x;3Vyo>;k+;fmvPNwNxEm>?=hevV*Dy6qZ9w?|1T+V%-~Vyk>I z5Sdv__(<#vM?|&OhZnbodPF@7sEDG>If5i9bKNk?>?F!eiOn-(wH)#KkWh@NU9e4$ z^{7Obr|$$%x>QPk)R+>^-NWE~l>w((Q?O-dYjCD77pd5`8;?fdxDO2~}8 zEC!(juahX}hM~;fvEWSh5Q4EML!lq~#OB=ITle_~*=X0x-+ZIct?)6!Hf=*+3yrJi zKg{axVZ~K@oXOrTQOyrS^$y~$kE*CtsZE)LSQM}%QzU&uAPjnQeayZP-kLx+14;jZ zUl22lU_tUW&^_!08E=&+7KWj?!9ei@?amH8=IyQafk5b`bV|9_*AIKsUEwzwYi>;LEEn%)Ot9P%cg{6zQNr?C=bJhLg@T>wblSldH5}x~)MGX}IZPuwpx4!ZOHp1V*7?6#=EW1SX)V3=op$dp>$Fb2cp6r%rd%f2!Z@NfYy46 zmKsDta`P}qc=jYn#ICM}CvsW}nB72neM|+lKat6N)p`~ zO`>u7z%p=^`p9Z|Ldd739tVCqIkMbMD`t z-EU1#xA#wBxqC7@5nlA}oXQ9U#=X_l4qsOl@f`!#%ZH30DX@%Qp_71XLy-4Y!Qn!* zMZC|$S~$2K=i;UnL6b867xj??Zz+(~{3a?+Q;#bp>GB3aQ7*HDhl+<+5wTEJi+qz} zqcb;cw@tcTpGVmWpE~%~6#uEQdjm#_Vy(9}IARoV-WHLxYciBSkJ$sWO(_gRJVg-G z#EG-uXIvB5T}L~0x5|OKU7Tl<3FfgIe{lgZoQTG!J}n2IBG|QyBFvrEu3dS7?L_4P zMWfZ`z>?7!{W49EcMc$kv}2@ZC&7)kqaEaV(z{5&83sp>NG%lVS3&3Y2jb91iifRaL@>)~~sQVmgT1!b#*} zXvXSOH^$0H7HE=MHAlkP7CoAn**&lc3_o&gmB3HRrX#3c)u}6QAJ}v+1y_;dt3d{qDE5d zX$k*QQBam^m93EQKS#oPtpvWZ7r#w_B{!uOLl-$ktykIMZAMkBhJ$zu*-s>B%t9?3 znjgL8ZWGySy(1TR8QI1z`%v&w*&|Ka-=B<>qJ9{1#v=w`h zT)+nPg%MhWL)HPa0tAK~EuCuU>{v=4_-hr}#LlZ9M6EYaGNF zFozV+&^~mp>#c>fRa+?S!LEaY(JmEtR5=g&yh^cDw;Y&adYRur-B?Yj5pB1~8`!-g zFYz)JB>BldmwOxRGgXifp}mfy?=DB8Q)d?At(~{p4J72C1%hOAxHAr3lu(8R!6U#| zZGd1!90qAps#MP#@3=F$TaeR)-r z-nP(_&=9q4t3k@OVq6V_?0s4AL8!C0o^XKRIThc_>3M79whbs=wtL=7aFoZ}L?x-) zW%x?i^h0812^IE0hcOZKC5lwbQW`2_-dZZ=Rn)hoIRV+#QtIE}A`AN)Vhnjc;TLd0kg5<0EQVO>0ZZ(jB6X-ilkQ%?4sEyl0*!?2PqQy(FTg!@xni?3b43@8ITk~L*`18mT zZv!bCB&RV8LF7*j_l~Z=)?3@MTRK`s$gHM2R9&Y?df{Cx%{Oj4C=B9OP;rU(G`$O{ zB?Ew#s$fmeTZ#L*tFPY&daiBHltRPP9X?SN35_;2xNkt!-8wn3!bhIs?2r;FNYk6*kxlo7U(g}o zXXJ>nbM|As+V?R1S`L36pju`SDtoabb*;so0UFR`ZE-{we^BVx>Ub+?bia9xr^LOr zza`whLzgdO8n1nUF89&pUb=jUF26*VX`1hgbUA{${I$clc$>wX9^9Gg)qah_$P@Tx zXzgmc9HjOyr^{CXQ|%eLe334HOqUDkvXL(AW3XHCO#%@09=iN0U4EG^pQOug(&ck>`5n4^ zkuHBsmv7MJ&*}0#x_p~1|45g=r^^aLbs1eY(`5r)uAs|yy5#9{9bImt%Pn*{OqV<9 z@&H|q(`A}2MY=TUQm4z~bXlOwS-QN5E>F|tDY|@sF7Knur|9xYy8J#}K1UZ0_j54+ zFX+#&)8z+r`957PAj1BTeyyQj8Mkz#Wl1^9QgW6hP)7JnQAf^o#ZKYWl@`xtD&iUQW_4*2{b8 z7whG#=ojnd4E2*lZMw%A`uFsUHFO#28*AtW`o$W$oqn-~UPr%JLvNv9tf6<(FVfK3pWxE*)|g%c zO&Q*r5{}>SWQv(b+#%;swi6Skd51h2z6&p7Zn{}ljtJk}9J;Amj|WB^mv7}x8w2CR z&u_aucx@Mk$MTR>=J#WQ9%E!n3r)W3xI#`z@OPn|Mj>8?} z#6A?xbLh+#y%+(PwGQ(5>^XT?t+Oi2D`OnU)@815KGeYpCwwIa#g*wS5>UYQ6L}R` zGJgBBS4K^RSLS7GU9&bjEsF0#u z>9UAg-g1BWwZvOSh8#ZQJ;(04k6cGusUF#`7R2I2Is%Yg0>vy2E@P3~@j7p#S|&*9 z63r)SXVFVW-NHon|DN<-ei$IM$v2cVzH)E?;L0q%*oK8FLcwz9TT%?*eF*Q1ieF0f zX{AnN`lTUc>LXC?1L&csf+dSjskIo9X@j68=rC zx;Ztb5vF)>xr2Cw?@oyDp%Ef{VQPd6{j62B5aRK(65{uo5#o1IYWxoNghv(yoaU>xz4v&x+m!~GiiGjpOcH%pp z26jRkOplNT+0-=H-%kS$+Jp{u$D{g_2~mA~gs5JT8r28`Z=4{H$M9VVF?@Q27+#qg z!yEdUDb(6Ot{so#M-$@skrCp!BQ=isC>+Hh?|Ae+pAfx27$JIBrABX81bT=k$D{Vw z2~qpj2vNH_HEIz796C@gj*iD8xMW>2kK><5h~PD;5xlOScYL%v9=A&q;&w6Gjmn$4 zHZ^X02jB+xfKJ25qj+ON6!(r0#fj7?zBB^G$iwgP$ljL_*?UKb?9SB4MugyqlhJ3+ z;}NbVM0jR|2=7Xba72`xGLikPR<5xakLFJ$MDvLeqIq3vGbF# z{7ym~|7L_Z7EV;JEdh?C#($o+Ieny2Bc#Husi_c=2BD5h#^X1>A(?nR|ARfuHTIQn`nG z3}jWcQL1;!I0A%^y5M-r>X+iEM$v9n@%Qb$iDUT3?Y*gId6_buqY~$|k5QIoXFC7? E04JR>cmMzZ literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/new-sphinx-stack.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/new-sphinx-stack.doctree new file mode 100644 index 0000000000000000000000000000000000000000..87c94f9991f68a9a9cb2cb932e25983c6ffbc8e2 GIT binary patch literal 56622 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 F{|9~c8-@S? literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/reference/github-workflows.doctree b/docs/_dev/.doctrees/reference/github-workflows.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ef12b94e09e27d9fc66ae675c3e0360d87ff8ed4 GIT binary patch literal 41489 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 W^j_%c?o@>$PQ2g@I^PO=oc&+2(@}f? literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/reference/index.doctree b/docs/_dev/.doctrees/reference/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..13ceed00e679893ecd0991c2c85e1c96bcee6059 GIT binary patch literal 27288 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/reference/myst-syntax.doctree b/docs/_dev/.doctrees/reference/myst-syntax.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a71fb08e6d2b3e17af4ee1cc990c5294a40b3304 GIT binary patch literal 143793 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/reference/rst-syntax.doctree b/docs/_dev/.doctrees/reference/rst-syntax.doctree new file mode 100644 index 0000000000000000000000000000000000000000..81f9fc59b7628d745ab46a733eda4cae209773e4 GIT binary patch literal 171707 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¥Fa9xTPnl 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/release-notes/1.6.doctree b/docs/_dev/.doctrees/release-notes/1.6.doctree new file mode 100644 index 0000000000000000000000000000000000000000..17371069906dde43f5a62227b231e4d50c58a876 GIT binary patch literal 44235 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 literal 0 HcmV?d00001 diff --git a/docs/_dev/.doctrees/set-up-a-new-project.doctree b/docs/_dev/.doctrees/set-up-a-new-project.doctree new file mode 100644 index 0000000000000000000000000000000000000000..631f5cb79841e5c1dba5a4504cd0fd2c343a48c4 GIT binary patch literal 53550 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 SiMANA1AzT!xM;gIoBO|xg6f to temporary directory: %s", GITHUB_REPO, temp_dir) + logging.info( + "Cloning repository <%s> to temporary directory: %s", GITHUB_REPO, temp_dir + ) clone_cmd = ["git", "clone", "--depth", "1", GITHUB_CLONE_URL, temp_dir] try: - result = subprocess.run( - clone_cmd, - capture_output=True, - text=True, - check=True - ) + result = subprocess.run(clone_cmd, capture_output=True, text=True, check=True) logging.debug("Git clone output: %s", result.stdout) except subprocess.CalledProcessError as e: logging.error("Git clone failed: %s", e.stderr) @@ -82,6 +80,7 @@ def clone_repo_and_copy_paths(file_source_dest, overwrite=False): return is_copy_success + def copy_files_to_path(source_path, dest_path, overwrite=False): """ Copy a file or directory from source to destination @@ -109,9 +108,11 @@ def copy_files_to_path(source_path, dest_path, overwrite=False): else: os.remove(dest_path) else: - logging.info(" Destination exists, skip copying (use overwrite=True to replace): %s", - dest_path) - return True # Skip copying + logging.info( + " Destination exists, skip copying (use overwrite=True to replace): %s", + dest_path, + ) + return True # Skip copying # Copy the source to destination try: @@ -126,14 +127,18 @@ def copy_files_to_path(source_path, dest_path, overwrite=False): logging.error("Copy failed: %s", e) return False + def parse_arguments(): parser = argparse.ArgumentParser(description="Download Vale configuration files") - parser.add_argument("--no-overwrite", action="store_true", help="Don't overwrite existing files") + parser.add_argument( + "--no-overwrite", action="store_true", help="Don't overwrite existing files" + ) return parser.parse_args() + def main(): # Define local directory paths - vale_files_dict = {file: os.path.join(SPHINX_DIR, file) for file in VALE_FILE_LIST} + vale_files_dict = {file: os.path.join(DEV_DIR, file) for file in VALE_FILE_LIST} # Parse command line arguments, default to overwrite_enabled = True overwrite_enabled = not parse_arguments().no_overwrite diff --git a/docs/.sphinx/pa11y.json b/docs/_dev/pa11y.json similarity index 100% rename from docs/.sphinx/pa11y.json rename to docs/_dev/pa11y.json diff --git a/docs/.sphinx/update_sp.py b/docs/_dev/update_sp.py similarity index 91% rename from docs/.sphinx/update_sp.py rename to docs/_dev/update_sp.py index 1be1e0a..b07923a 100755 --- a/docs/.sphinx/update_sp.py +++ b/docs/_dev/update_sp.py @@ -5,7 +5,7 @@ # Requires some manual intervention, but makes identifying updates and differences easier. # # For debugging, please run this script with DEBUGGING=1 -# e.g. user@device:~/git/Canonical/sphinx-stack/docs$ DEBUGGING=1 python .sphinx/update_sp.py +# e.g. user@device:~/git/Canonical/sphinx-stack/docs$ DEBUGGING=1 python _dev/update_sp.py import glob @@ -25,7 +25,7 @@ SPHINX_UPDATE_DIR = os.path.join(SPHINX_DIR, "update") GITHUB_REPO = "canonical/sphinx-stack" GITHUB_API_BASE = f"https://api.github.com/repos/{GITHUB_REPO}" -GITHUB_API_SPHINX_DIR = f"{GITHUB_API_BASE}/contents/docs/.sphinx" +GITHUB_API_SPHINX_DIR = f"{GITHUB_API_BASE}/contents/docs/_dev" GITHUB_RAW_BASE = f"https://raw.githubusercontent.com/{GITHUB_REPO}/main" TIMEOUT = 10 # seconds @@ -64,13 +64,13 @@ def main(): logging.debug("Local version is older than the release version.") print("Sphinx Stack is out of date.\n") - # Identify and download '.sphinx' dir files to '.sphinx/update' + # Identify and download '_dev' dir files to '_dev/update' files_updated, new_files = update_static_files() - # Write new version to file to '.sphinx/update' + # Write new version to file to '_dev/update' download_file( - GITHUB_RAW_BASE + "/docs/.sphinx/version", + GITHUB_RAW_BASE + "/docs/_dev/version", os.path.join(SPHINX_UPDATE_DIR, "version"), ) @@ -85,8 +85,8 @@ def main(): if files_updated: logging.debug("Updated files found and downloaded") print("Differences have been identified in static files.") - print("Updated files have been downloaded to '.sphinx/update'.") - print("Validate and move these files into your '.sphinx/' directory.") + print("Updated files have been downloaded to '_dev/update'.") + print("Validate and move these files into your '_dev/' directory.") else: logging.debug("No files found to update") # Provide information on NEW files @@ -95,7 +95,7 @@ def main(): print( "NOTE: New files have been downloaded\n", "See 'NEWFILES.txt' for all downloaded files\n", - "Validate and merge these files into your '.sphinx/' directory", + "Validate and merge these files into your '_dev/' directory", ) else: logging.debug("No new files found to download") @@ -131,19 +131,19 @@ def main(): except FileNotFoundError: print("requirements.txt not found") print( - "The updated Sphinx Stack has moved requirements.txt out of the '.sphinx' dir" + "The updated Sphinx Stack has moved requirements.txt out of the '_dev' dir" ) print("requirements.txt not checked, please update your requirements manually") def update_static_files(): - """Checks local files against remote for new and different files, downloads to '.sphinx/updates'""" + """Checks local files against remote for new and different files, downloads to '_dev/updates'""" files, paths = get_local_files_and_paths() new_file_list = [] for item in query_api(GITHUB_API_SPHINX_DIR).json(): logging.debug(f"Checking {item['name']}") - # Checks existing files in '.sphinx' Sphinx Stack static root for changed SHA + # Checks existing files in '_dev' Sphinx Stack static root for changed SHA if item["name"] in files and item["type"] == "file": index = files.index(item["name"]) if item["sha"] != get_git_revision_hash(paths[index]): @@ -155,12 +155,12 @@ def update_static_files(): # Indicate update script needs to be updated and re-run print("WARNING") print( - "THIS UPDATE SCRIPT IS OUT OF DATE. YOU MAY NEED TO RUN ANOTHER UPDATE AFTER UPDATING TO THE FILE IN '.sphinx/updates'." + "THIS UPDATE SCRIPT IS OUT OF DATE. YOU MAY NEED TO RUN ANOTHER UPDATE AFTER UPDATING TO THE FILE IN '_dev/updates'." ) print("WARNING\n") else: logging.debug("File hashes are equal") - # Checks nested files '.sphinx/**/**.*' for changed SHA (single level of depth) + # Checks nested files '_dev/**/**.*' for changed SHA (single level of depth) elif item["type"] == "dir": logging.debug(item["name"] + " is a directory") for nested_item in query_api( @@ -190,7 +190,7 @@ def update_static_files(): SPHINX_UPDATE_DIR, item["name"], nested_item["name"] ), ) - # Downloads NEW files in '.sphinx' Sphinx Stack static root + # Downloads NEW files in '_dev' Sphinx Stack static root else: if item["type"] == "file": logging.debug(f"No local version found of {item['name']}") @@ -226,7 +226,7 @@ def get_git_revision_hash(file) -> str: # Examines local files def get_local_files_and_paths(): - """Identify '.sphinx' local files and paths""" + """Identify '_dev' local files and paths""" logging.debug("Checking local files and paths") try: files = [] diff --git a/docs/.sphinx/version b/docs/_dev/version similarity index 100% rename from docs/.sphinx/version rename to docs/_dev/version diff --git a/docs/_dev/warnings.txt b/docs/_dev/warnings.txt new file mode 100644 index 0000000..f5759ad --- /dev/null +++ b/docs/_dev/warnings.txt @@ -0,0 +1,2 @@ +/home/ecoldi/Projects/DOCPR/sphinx-stack-docs/docs/how-to/optional-customisation/mermaid-diagrams.md:102: CRITICAL: Directive "include": file not found: '/home/ecoldi/Projects/DOCPR/sphinx-stack-docs/docs/how-to/mermaid.txt' +/home/ecoldi/Projects/DOCPR/sphinx-stack-docs/docs/how-to/optional-customisation/mermaid-diagrams.md: WARNING: Dependency file PosixPath('/home/ecoldi/Projects/DOCPR/sphinx-stack-docs/docs/how-to/mermaid.txt'), doesn't exist, skipping diff --git a/docs/_templates/footer.html b/docs/_templates/footer.html index f4ccfe0..e1d1088 100644 --- a/docs/_templates/footer.html +++ b/docs/_templates/footer.html @@ -41,15 +41,26 @@

{%- endif %} + {%- if license and license.name -%} + {%- if license.url -%} +
+ This page is licensed under {{ license.name }} +
+ {%- else -%} +
+ This page is licensed under {{ license.name }} +
+ {%- endif -%} + {%- endif -%} {# mod: removed "Made with" #} diff --git a/docs/conf.py b/docs/conf.py index b87f011..06187ae 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,5 +1,6 @@ import datetime import os +import textwrap import yaml @@ -12,141 +13,63 @@ # A complete list of built-in Sphinx configuration values: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -# The Sphinx Stack uses the custom Canonical Sphinx extension -# to keep all documentation based on it consistent and on brand: +# The Sphinx Stack uses the Canonical Sphinx theme to keep all documentation consistent +# and on brand: # https://github.com/canonical/canonical-sphinx - ####################### # Project information # ####################### # Project name -# -# TODO: Update with the official name of your project or product +project = "Documentation Starter Pack" -project = "Sphinx Stack" +# Author name; used in the default copyright statement in the page footer author = "Canonical Ltd." -# The year in the copyright statement defaults to the current year, so -# individual document versions show when they were built. -# TODO: If the date must be a range, like in a software license, replace -# 2026 with the starting year of development and use: -# -# copyright = f"2026-{datetime.date.today().year}" - +# The year in the copyright statement copyright = f"{datetime.date.today().year}" -# Sidebar documentation title; best kept reasonably short -# -# TODO: To include a version number, add it here (hardcoded or automated). -# -# TODO: To disable the title, set to an empty string. - +# Sidebar documentation title +# To disable the title, set it to an empty string. html_title = project + " documentation" - # Documentation website URL -# -# TODO: Update with the official URL of your docs or leave empty if unsure. -# -# NOTE: The Open Graph Protocol (OGP) enhances page display in a social graph -# and is used by social media platforms; see https://ogp.me/ - -ogp_site_url = "https://canonical-sphinx-stack.readthedocs-hosted.com/" - +ogp_site_url = os.environ.get("READTHEDOCS_CANONICAL_URL", "/") # Preview name of the documentation website -# -# TODO: To use a different name for the project in previews, update as needed. - ogp_site_name = project - # Preview image URL -# -# TODO: To customise the preview image, update as needed. - ogp_image = "https://assets.ubuntu.com/v1/cc828679-docs_illustration.svg" - -# Product favicon; shown in bookmarks, browser tabs, etc. - -# TODO: To customise the favicon, uncomment and update as needed. - -# html_favicon = '.sphinx/_static/favicon.png' - - # Dictionary of values to pass into the Sphinx context for all pages: # https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_context html_context = { # Product page URL; can be different from product docs URL - # - # TODO: Change to your product website URL, - # dropping the 'https://' prefix, e.g. 'ubuntu.com/lxd'. - # - # TODO: If there's no such website, - # remove the {{ product_page }} link from the page header template - # (usually .sphinx/_templates/header.html; also, see README.rst). "product_page": "documentation.ubuntu.com", - # Product tag image; the orange part of your logo, shown in the page header - # - # TODO: To add a tag image, uncomment and update as needed. - # 'product_tag': '_static/tag.png', # Your Discourse instance URL - # - # TODO: Change to your Discourse instance URL or leave empty. - # - # NOTE: If set, adding ':discourse: 123' to an .rst file - # will add a link to Discourse topic 123 at the bottom of the page. "discourse": "https://discourse.ubuntu.com", # Your Mattermost channel URL - # - # TODO: Change to your Mattermost channel URL or leave empty. "mattermost": "https://chat.canonical.com/canonical/channels/documentation", # Your Matrix channel URL - # - # TODO: Change to your Matrix channel URL or leave empty. "matrix": "https://matrix.to/#/#documentation:ubuntu.com", # Your documentation GitHub repository URL - # - # TODO: Change to your documentation GitHub repository URL or leave empty. - # - # NOTE: If set, links for viewing the documentation source files - # and creating GitHub issues are added at the bottom of each page. - "github_url": "https://github.com/canonical/sphinx-stack", + "github_url": "https://github.com/canonical/sphinx-docs-starter-pack", # Docs branch in the repo; used in links for viewing the source files - # - # TODO: To customise the branch, uncomment and update as needed. "repo_default_branch": "main", # Docs location in the repo; used in links for viewing the source files - # - # TODO: To customise the directory, uncomment and update as needed. "repo_folder": "/docs/", - # TODO: To enable or disable the Previous / Next buttons at the bottom of pages - # Valid options: none, prev, next, both - # "sequential_nav": "both", - # TODO: To enable listing contributors on individual pages, set to True "display_contributors": False, # Required for feedback button "github_issues": "enabled", # Inherit the author value "author": author, - # The Sphinx Stack documentation is licensed under CC-BY-SA 3.0. - # - # TODO: If your docs need another license, specify it instead of 'CC-BY-SA'. - # For the name, we recommend using the standard shorthand identifier from - # https://spdx.org/licenses - # - # For the URL, link directly to the license statement, typically found on - # the product's home page or in its GitHub project. - # - # TODO: If your documentation is a part of the code repository of your project, - # it inherits the code license instead; specify it instead of 'CC-BY-SA'. + # The Starter Pack uses CC-BY-SA as the license "license": { "name": "CC-BY-SA-3.0", - "url": "https://github.com/canonical/sphinx-stack/blob/main/LICENSE", + "url": "https://github.com/canonical/sphinx-docs-starter-pack/blob/main/LICENSE", }, } @@ -157,51 +80,26 @@ tags.add("openapi") html_extra_path.append("how-to/assets/openapi.yaml") -# TODO: To enable the edit button on pages, uncomment and change the link to a -# public repository on GitHub or Launchpad. Any of the following link domains -# are accepted: -# - https://github.com/example-org/example" -# - https://launchpad.net/example -# - https://git.launchpad.net/example -# -# html_theme_options = { -# 'source_edit_link': 'https://github.com/canonical/sphinx-stack-docs', -# } - -# Project slug; see https://meta.discourse.org/t/what-is-category-slug/87897 -# -# TODO: If your documentation is hosted on https://docs.ubuntu.com/, -# uncomment and update as needed. - -# slug = '' - ####################### # Sitemap configuration: https://sphinx-sitemap.readthedocs.io/ ####################### # Use RTD canonical URL to ensure duplicate pages have a specific canonical URL - html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "/") # sphinx-sitemap uses html_baseurl to generate the full URL for each page: - sitemap_url_scheme = "{link}" # Include `lastmod` dates in the sitemap: - sitemap_show_lastmod = True # Exclude generated pages from the sitemap: - sitemap_excludes = [ "404/", "genindex/", "search/", ] -# TODO: Add more pages to sitemap_excludes if needed. Wildcards are supported. -# For example, to exclude module pages generated by autodoc, add '_modules/*'. - ################################ # Template and asset locations # ################################ @@ -226,14 +124,28 @@ rediraffe_dir_only = True +############################ +# sphinx-llm configuration # +############################ + +# This description is included in llms.txt to provide some initial context for your +# product docs. +llms_txt_description = textwrap.dedent( + """\ + This is the documentation for the Sphinx Starter Pack, a template repository + that helps you set up, build, and publish Sphinx documentation. + """ +) + +# The base URL for references built by sphinx-markdown-builder. +if os.environ.get("READTHEDOCS"): + markdown_http_base = html_baseurl + ########################### # Link checker exceptions # ########################### # A regex list of URLs that are ignored by 'make linkcheck' -# -# TODO: Remove or adjust the ACME entry after you update the contributing guide - linkcheck_ignore = [ "http://127.0.0.1:8000", "https://github.com", @@ -245,31 +157,17 @@ # A regex list of URLs where anchors are ignored by 'make linkcheck' - linkcheck_anchors_ignore_for_url = [r"https://github\.com/.*"] -# give linkcheck multiple tries on failure -# linkcheck_timeout = 30 +# Give linkcheck multiple tries on failure linkcheck_retries = 3 ######################## # Configuration extras # ######################## -# Custom MyST syntax extensions; see -# https://myst-parser.readthedocs.io/en/latest/syntax/optional.html -# -# NOTE: By default, the following MyST extensions are enabled: -# substitution, deflist, linkify - -# myst_enable_extensions = set() - - # Custom Sphinx extensions; see # https://www.sphinx-doc.org/en/master/usage/extensions/index.html - -# NOTE: The canonical_sphinx extension is required for the Sphinx Stack. - extensions = [ "canonical_sphinx", "notfound.extension", @@ -282,6 +180,7 @@ "sphinx_config_options", "sphinx_contributor_listing", "sphinx_filtered_toctree", + "sphinx_llm.txt", "sphinx_related_links", "sphinx_roles", "sphinx_terminal", @@ -294,57 +193,34 @@ ] # Excludes files or directories from processing - exclude_patterns = [ "doc-cheat-sheet*", ".venv*", ] -# Adds custom CSS files, located under 'html_static_path' - +# Adds custom CSS files, located remotely or in 'html_static_path' # html_css_files = [ # "https://assets.ubuntu.com/v1/d86746ef-cookie_banner.css", # ] - -# Adds custom JavaScript files, located under 'html_static_path' - +# Adds custom JavaScript files, located remotely or in 'html_static_path' # html_js_files = [ # "https://assets.ubuntu.com/v1/287a5e8f-bundle.js", # ] - # Specifies a reST snippet to be appended to each .rst file - rst_epilog = """ -.. include:: /reuse/links.txt -.. include:: /reuse/substitutions.txt +.. |RST| replace:: :abbr:`reST (reStructuredText)` +.. |version_number| replace:: 0.1.0 +.. |rest_text| replace:: *Multi-line* text + that uses basic **markup**. +.. |site_link| replace:: Website link +.. _site_link: https://example.com """ -# Feedback button at the top; enabled by default -# -# TODO: To disable the button, uncomment this. - -# disable_feedback_button = True - - -# Your manpage URL -# -# TODO: To enable manpage links, uncomment and replace {codename} with required -# release, preferably an LTS release (e.g. noble). Do *not* substitute -# {section} or {page}; these will be replaced by sphinx at build time -# -# NOTE: If set, adding ':manpage:' to an .rst file -# adds a link to the corresponding man section at the bottom of the page. - -# manpages_url = 'https://manpages.ubuntu.com/manpages/{codename}/en/' + \ -# 'man{section}/{page}.{section}.html' - - # Specifies a reST snippet to be prepended to each .rst file # This defines a :center: role that centers table cell content. # This defines a :h2: role that styles content for use with PDF generation. - rst_prolog = """ .. role:: center :class: align-center @@ -357,15 +233,20 @@ """ # Workaround for https://github.com/canonical/canonical-sphinx/issues/34 - if "discourse_prefix" not in html_context and "discourse" in html_context: html_context["discourse_prefix"] = f"{html_context['discourse']}/t/" -# Workaround for substitutions.yaml - +# If the user has a reuse/substitutions.yaml file, load from there. +# Otherwise, use the manual definitions below. if os.path.exists("./reuse/substitutions.yaml"): with open("./reuse/substitutions.yaml", "r") as fd: myst_substitutions = yaml.safe_load(fd.read()) +else: + myst_substitutions = { + "version_number": "0.1.0", + "formatted_text": "*Multi-line* text\n that uses basic **markup**.", + "site_link": "[Website link](https://example.com)", + } # Add configuration for intersphinx mapping # Map only the Sphinx documentation sets that you need to link to from your docs set. diff --git a/docs/reuse/components.yaml b/docs/explanation/assets/components.yaml similarity index 89% rename from docs/reuse/components.yaml rename to docs/explanation/assets/components.yaml index 04cefd5..4918b05 100644 --- a/docs/reuse/components.yaml +++ b/docs/explanation/assets/components.yaml @@ -1,3 +1,4 @@ +# This file contains the recipes for the Mermaid diagrams used in components.md documentation_architecture: - diagram_name: "Sphinx" description: "The core process of transforming source files into HTML using Sphinx." @@ -6,7 +7,7 @@ documentation_architecture: A["Source Files
(.rst or .md)"] -->|provides content to| C[Sphinx] B["Configuration
(docs/conf.py)"] -->|provides settings to| C C -->|generates| D[Built HTML Pages] - rendered_image: "../explanation/assets/sphinx.png" + rendered_image: "sphinx.png" - diagram_name: "Python environment" description: "The relationship between the host system and the virtual environment." @@ -23,7 +24,7 @@ documentation_architecture: end Sphinx -->|builds| HTML[HTML] end - rendered_image: "../explanation/assets/python-sphinx-stack.png" + rendered_image: "python-starter-pack.png" - diagram_name: "Extensions" description: "How built-in and third-party extensions are integrated and activated via requirements and conf.py." @@ -38,7 +39,7 @@ documentation_architecture: end BuiltIn -->|are activated in| Conf[/"Project configuration file (docs/conf.py)"\] ThirdParty -->|are activated in| Conf - rendered_image: "../explanation/assets/extensions.png" + rendered_image: "extensions.png" - diagram_name: "Read the Docs" description: "Details the declaration of build logic in the RTD configuration file for hosting." @@ -49,7 +50,7 @@ documentation_architecture: Python_Ver["Python version"] -->|is declared in| RTD_Conf RTD_Conf -->|defines the build logic for| RTD["Read the Docs (RTD)"] RTD -->|builds and hosts| HTML[/"HTML"\] - rendered_image: "../explanation/assets/rtd-build.png" + rendered_image: "rtd-build.png" - diagram_name: "Third-party extensions" description: "Focuses on the specific installation path for external dependencies via pip and requirements." @@ -64,4 +65,4 @@ documentation_architecture: end Python -->|installs the contents of| Reqs Reqs -->|specifies| ThirdParty - rendered_image: "../explanation/assets/third-party-extensions.png" \ No newline at end of file + rendered_image: "third-party-extensions.png" \ No newline at end of file diff --git a/docs/reuse/mermaid.txt b/docs/how-to/assets/mermaid.txt similarity index 100% rename from docs/reuse/mermaid.txt rename to docs/how-to/assets/mermaid.txt diff --git a/docs/how-to/build-and-preview.rst b/docs/how-to/build-and-preview.rst index c4e8e0e..2ee02bf 100644 --- a/docs/how-to/build-and-preview.rst +++ b/docs/how-to/build-and-preview.rst @@ -48,7 +48,7 @@ documentation directory: make install -This command creates a virtual environment (``.sphinx/venv/``) and installs dependency +This command creates a virtual environment (``.venv/``) and installs dependency software within it. If you want to remove the installed Python packages (for example, to enforce a diff --git a/docs/how-to/configure-your-project.rst b/docs/how-to/configure-your-project.rst index 707c510..2eda551 100644 --- a/docs/how-to/configure-your-project.rst +++ b/docs/how-to/configure-your-project.rst @@ -16,11 +16,13 @@ documentation reflects your project accurately. made to the Sphinx Stack. Changes to the look and feel, as well as common functionality, will be automatically - available through updates to the `Canonical Sphinx`_ extension. + available through updates to the `Canonical Sphinx + `__ extension. Changes to files that are part of the Sphinx Stack, for example changes made during steps in :ref:`run-documentation-checks`, might require you to manually update your - repository with the required files. See the Sphinx Stack's `change log`_ for the + repository with the required files. See the Sphinx Stack `changelog + `__ for the most relevant (and of course all breaking) changes. Configuration for a Sphinx Stack based documentation is set in the ``docs/conf.py`` @@ -161,8 +163,10 @@ pages by setting the ``sequential_nav`` variable in the ``docs/conf.py`` file. You can then override this default setting for a specific page (for example, to turn off the Previous/Next buttons by default, but display them in a multi-page tutorial). -To do so, add `file-wide metadata`_ at the top of a page. -See the following examples for how to enable Previous/Next buttons for one page: +To do so, add `file-wide metadata +`__ at the +top of a page. See the following examples for how to enable Previous/Next buttons for +one page: |RST|: @@ -187,7 +191,7 @@ Possible values for the ``sequential_nav`` field are ``none``, ``prev``, ``next` Another example for page-specific configuration is the ``hide-toc`` field (provided by `Furo `_), which can be used to hide the page-internal table of -content. See `Hiding Contents sidebar`_. +content. See `Hiding Contents sidebar `__. Add your own configuration @@ -199,9 +203,9 @@ common ``conf.py`` file. The following links can help you with additional configuration: -- `Sphinx configuration`_ -- `Sphinx extensions`_ -- `Furo documentation`_ (Furo is the Sphinx theme we use as our base) +- `Sphinx configuration `__ +- `Sphinx extensions `__ +- `Furo documentation `__ If you need additional Python packages for any custom processing you do in your documentation, add them to the ``docs/requirements.txt`` file. diff --git a/docs/how-to/optional-customisation/customise-pdf.rst b/docs/how-to/optional-customisation/customise-pdf.rst index 82c23ac..8405469 100644 --- a/docs/how-to/optional-customisation/customise-pdf.rst +++ b/docs/how-to/optional-customisation/customise-pdf.rst @@ -167,7 +167,7 @@ requires overriding the default template. #. Download the default template file `latex_elements_template.txt `_ from the ``canonical/canonical-sphinx`` GitHub repository, and save it to your - project directory. For example, at ``.sphinx/latex_elements_custom.txt``. + project directory. For example, at ``_dev/latex_elements_custom.txt``. #. In the Python dictionary, add or modify the LaTeX elements you want to change. Details of changing the dictionary are covered in the sub-sections below. #. In your project's ``conf.py`` file, add or update the ``latex_elements`` dictionary @@ -177,7 +177,7 @@ requires overriding the default template. .. code-block:: python # Replace with the path to your local override file - latex_elements_file = ".sphinx/latex_elements_custom.txt" + latex_elements_file = "_dev/latex_elements_custom.txt" with open(latex_elements_file, "rt") as file: latex_config = file.read() diff --git a/docs/how-to/optional-customisation/enable-google-analytics.rst b/docs/how-to/optional-customisation/enable-google-analytics.rst index 9dbb13e..36643e2 100644 --- a/docs/how-to/optional-customisation/enable-google-analytics.rst +++ b/docs/how-to/optional-customisation/enable-google-analytics.rst @@ -24,7 +24,7 @@ The footer template provides a link for users to change their data collection preferences. The process for sourcing these files depends on your Sphinx Stack version. Check which -version is listed in your project's ``docs/.sphinx/version`` file. +version is listed in your project's ``docs/_dev/version`` file. On Sphinx Stack 1.6 or higher diff --git a/docs/how-to/optional-customisation/external-referencing-intersphinx.rst b/docs/how-to/optional-customisation/external-referencing-intersphinx.rst index e872647..8154eac 100644 --- a/docs/how-to/optional-customisation/external-referencing-intersphinx.rst +++ b/docs/how-to/optional-customisation/external-referencing-intersphinx.rst @@ -1,21 +1,24 @@ .. meta:: - :description: Configure references to external Sphinx projects with the Intersphinx extension. + :description: Configure references to external Sphinx projects with the Intersphinx extension. .. _how-to-link-docs-intersphinx: Link to other documentation sets with Intersphinx ================================================= -This guide provides instructions on how to set up external references using the Intersphinx extension. -Linking to external Sphinx-based documentation sets via hyperlinks is difficult to maintain. -Intersphinx provides a more robust alternative, linking to sections of other Sphinx projects based on -labels mapped out in an inventory list as ``objects.inv``. To effectively use Intersphinx, sections in -the target documentation set must have labels. +This guide provides instructions on how to set up external references using the +Intersphinx extension. Linking to external Sphinx-based documentation sets via +hyperlinks is difficult to maintain. Intersphinx provides a more robust alternative, +linking to sections of other Sphinx projects based on labels mapped out in an inventory +list as ``objects.inv``. To effectively use Intersphinx, sections in the target +documentation set must have labels. + Configure the extension ----------------------- -In the ``conf.py`` file in your docs directory, add or enable ``sphinx.ext.intersphinx`` under ``extensions``: +In the ``conf.py`` file in your docs directory, add or enable ``sphinx.ext.intersphinx`` +under ``extensions``: .. code-block:: python :caption: conf.py @@ -29,31 +32,33 @@ Then, connect to the other project in the ``intersphinx_mapping`` setting: .. code-block:: python - :caption: conf.py + :caption: conf.py - # Add configuration for intersphinx mapping - # Map only the Sphinx documentation sets that you need to link to from your docs set. - intersphinx_mapping = { - 'project-key': ('https://example.com', None) - } + # Add configuration for intersphinx mapping + # Map only the Sphinx documentation sets that you need to link to from your docs set. + intersphinx_mapping = { + 'project-key': ('https://example.com', None) + } Replace ``project-key`` with the internal identifier for the project that you'll specify -in the document markup. For example, if the identifier were ``chisel``, an Intersphinx link to it would be ``:external+chisel:ref:`target```. +in the document markup. For example, if the identifier were ``chisel``, an Intersphinx +link to it would be ``:external+chisel:ref:`target```. + +The value after the URI points to a custom path location. If a project stores its +``objects.inv`` at a special location, replace ``None`` with the path to it. -The value after the URI points to a custom path location. If a project stores its ``objects.inv`` at a special location, replace ``None`` with the path to it. Check the external target labels -------------------------------- -To check external target page labels, either search the project source code -manually or inspect the ``objects.inv`` file. In this file, each section has a -unique label. +To check external target page labels, either search the project source code manually or +inspect the ``objects.inv`` file. In this file, each section has a unique label. To inspect the file manually, run: .. code-block:: bash - source .sphinx/venv/bin/activate + source .venv/bin/activate python -m sphinx.ext.intersphinx https://example.com/objects.inv The output lists the different pages and their labels: @@ -61,14 +66,6 @@ The output lists the different pages and their labels: .. terminal:: :output-only: - lrd:doc - explanation/faq FAQ : explanation/faq/ - explanation/index Explanation : explanation/ - explanation/mode-of-operation How Chisel works : explanation/mode-of-operation/ - lrd:label - chise_faq FAQ : explanation/faq/#chise-faq - chisel-releases_ref chisel-releases : reference/chisel-releases/#chisel-releases-ref - chisel_helloworld_tutorial Getting started with Chisel : tutorial/getting-started/#chisel-helloworld-tutorial std:doc explanation/faq FAQ : explanation/faq/ explanation/index Explanation : explanation/ @@ -80,18 +77,19 @@ The output lists the different pages and their labels: The appropriate labels are under ``std:label``. + Add references to the text -------------------------- To add in-line references, follow this structure: .. list-table:: - :header-rows: 1 - :widths: 20 80 - - * - Format - - Syntax - * - reST - - ``:external+project_key:ref:`an_external_target``` - * - MyST - - ``{ref}`project_key:an_external_target``` + :header-rows: 1 + :widths: 20 80 + + * - Format + - Syntax + * - reST + - ``:external+project_key:ref:`an_external_target``` + * - MyST + - ``{ref}`project_key:an_external_target``` diff --git a/docs/how-to/optional-customisation/interactive-tables.rst b/docs/how-to/optional-customisation/interactive-tables.rst index aef634c..70fb50a 100644 --- a/docs/how-to/optional-customisation/interactive-tables.rst +++ b/docs/how-to/optional-customisation/interactive-tables.rst @@ -34,7 +34,7 @@ Make a table interactive by adding a special CSS class to the directive: .. csv-table:: :class: sphinx-datatable - :file: /reuse/animals.csv + :file: /how-to/assets/animals.csv :header-rows: 1 .. tab-item:: MyST @@ -43,6 +43,6 @@ Make a table interactive by adding a special CSS class to the directive: ```{csv-table} :class: sphinx-datatable - :file: /reuse/animals.csv + :file: /how-to/assets/animals.csv :header-rows: 1 ``` diff --git a/docs/how-to/optional-customisation/mermaid-diagrams.md b/docs/how-to/optional-customisation/mermaid-diagrams.md index a3dd039..dce5761 100644 --- a/docs/how-to/optional-customisation/mermaid-diagrams.md +++ b/docs/how-to/optional-customisation/mermaid-diagrams.md @@ -78,7 +78,7 @@ options for each diagram type. The left-to-right flowchart below uses the default Mermaid settings. -```{include} /reuse/mermaid.txt +```{include} /how-to/assets/mermaid.txt :start-after: mermaid-diagram-flowchart-start :end-before: mermaid-diagram-flowchart-end ``` @@ -87,7 +87,7 @@ The left-to-right flowchart below uses the default Mermaid settings. The timeline diagram below uses a [pre-defined Mermaid theme]. -```{include} /reuse/mermaid.txt +```{include} /how-to/assets/mermaid.txt :start-after: mermaid-diagram-timeline-start :end-before: mermaid-diagram-timeline-end ``` @@ -99,7 +99,7 @@ CSS file enables the styles to be easily applied to all sequence diagrams, based classes defined in your stylesheet. You can also use the global CSS file to customize the diagrams in dark mode. -```{include} /reuse/mermaid.txt +```{include} /how-to/assets/mermaid.txt :start-after: mermaid-diagram-sequence-start :end-before: mermaid-diagram-sequence-end ``` @@ -109,7 +109,7 @@ the diagrams in dark mode. The state diagram below has image-specific custom styling applied using the [`classDef` keyword]. -```{include} /reuse/mermaid.txt +```{include} /how-to/assets/mermaid.txt :start-after: mermaid-diagram-state-start :end-before: mermaid-diagram-state-end ``` diff --git a/docs/how-to/publish-on-rtd.rst b/docs/how-to/publish-on-rtd.rst index 35336a8..3fcc8f1 100644 --- a/docs/how-to/publish-on-rtd.rst +++ b/docs/how-to/publish-on-rtd.rst @@ -19,12 +19,14 @@ publish documentation on Read the Docs In general, after enabling the Sphinx Stack for your documentation, follow these steps to build and publish your documentation on Read the Docs: -#. Make sure your documentation :ref:`builds without errors or warnings `. +1. Make sure your documentation :ref:`builds without errors or warnings `. #. Log into Read the Docs. #. In your account settings, navigate to :guilabel:`Connected services` and check that your GitHub account is listed. If it's not listed, add a connection to GitHub. See - `How to connect your Read the Docs account to your Git provider`_. -#. Use the `manual import`_ to create a project. + `How to connect your Read the Docs account to your Git provider + `__. +#. Use the `manual import `__ to + create a project. #. Specify the path to the ``.readthedocs.yaml`` file for your build. To do this, navigate to :guilabel:`Admin` > :guilabel:`Settings` and specify the path under "Path for ``.readthedocs.yaml``". @@ -61,7 +63,9 @@ does. The person with administrator privileges must have connected their Read th account to GitHub. See `How to connect your Read the Docs account to your Git provider`_. -See `How to manually configure a Git repository integration`_ if you want to set up the +See `How to manually configure a Git repository integration +`__ if +you want to set up the webhook manually. diff --git a/docs/how-to/run-documentation-checks.rst b/docs/how-to/run-documentation-checks.rst index 98d6b22..7f3d6cf 100644 --- a/docs/how-to/run-documentation-checks.rst +++ b/docs/how-to/run-documentation-checks.rst @@ -1,3 +1,6 @@ +.. meta:: + :description: How to verify your documentation's spelling, links, and language with built-in checks. + .. _run-documentation-checks : Run documentation checks @@ -19,9 +22,10 @@ your documentation before committing and pushing changes: Accessibility check ------------------- -The Sphinx Stack checks the accessibility of the documentation with `Pa11y`_. It's +The Sphinx Stack checks the accessibility of the documentation with `Pa11y +`__. It's configured to check for Level AA conformity to the `Web Content Accessibility Guidelines -(WCAG) 2.2`_. +(WCAG) 2.2 `__. This check is only available locally; it is not part of the :ref:`github-workflows` in the Sphinx Stack. @@ -47,8 +51,8 @@ To check the accessibility of the documentation, run the following command in yo Configure ~~~~~~~~~ -The ``pa11y.json`` file in the ``.sphinx`` directory provides basic defaults expected to -be used for all teams; refrain from removing any unless absolutely necessary. Additional +The ``pa11y.json`` file in the ``_dev`` directory provides basic defaults expected to be +used for all teams; refrain from removing any unless absolutely necessary. Additional settings and options are detailed in the ``Pa11y`` `README `__ on GitHub. @@ -58,8 +62,8 @@ settings and options are detailed in the ``Pa11y`` `README Inclusive language check ------------------------ -The Sphinx Stack checks for inclusive language with a custom set of `Vale`_ rules. To -check for inclusive language violations, run: +The Sphinx Stack checks for inclusive language with a custom set of `Vale +`__ rules. To check for inclusive language violations, run: .. code-block:: bash @@ -109,7 +113,7 @@ lint check. To check your Markdown files, run: Configure ~~~~~~~~~ -You can update the linting rules in the ``.sphinx/.pymarkdown.json`` file. Refer to `the +You can update the linting rules in the ``_dev/.pymarkdown.json`` file. Refer to `the pymarkdown rules documentation `_ for all the available rules. diff --git a/docs/how-to/update-sphinx-stack/index.rst b/docs/how-to/update-sphinx-stack/index.rst index cd3b2f8..7cb585f 100644 --- a/docs/how-to/update-sphinx-stack/index.rst +++ b/docs/how-to/update-sphinx-stack/index.rst @@ -35,7 +35,7 @@ To update a new Sphinx Stack project to the latest version, see: .. note:: New Sphinx Stack releases use a semantic versioning scheme for minor and patch - versions, which can be found in your project's ``.sphinx/version`` file. + versions, which can be found in your project's ``_dev/version`` file. Legacy Sphinx Stack diff --git a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst index 65f80f4..1eef940 100644 --- a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst +++ b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst @@ -168,7 +168,7 @@ For example, if you added customised styling in the original `_. This comparison helps you identify the changes that need to be migrated to the new project. -#. Create a new CSS file under ``docs/.sphinx/_static``. You can choose any other file +#. Create a new CSS file under ``docs/_dev/_static``. You can choose any other file location in the project directory, but it's recommended to keep the file structure similar to the original project. #. Copy the additions and changes to the new empty file. @@ -195,7 +195,7 @@ following list illustrates the changes in the directory structure after the migr │ └── workflows │ ├── automatic-doc-checks.yml │ └── markdown-style-checks.yml - ├── .sphinx # moved to `docs/.sphinx` + ├── .sphinx # renamed to `docs/_dev` │ ├── fonts # removed, files are part of the extension │ │ ├── Ubuntu-B.ttf │ │ ├── ubuntu-font-licence-1.0.txt @@ -238,12 +238,12 @@ following list illustrates the changes in the directory structure after the migr │ └── scripts │ ├── build_metrics.sh │ └── source_metrics.sh - ├── reuse # moved to `docs/reuse` + ├── reuse # removed │ └── links.txt ├── .custom_wordlist.txt # moved to `docs/.custom_wordlist.txt` ├── .gitignore ├── .readthedocs.yaml - ├── .wordlist.txt # moved to `docs/.sphinx/.wordlist.txt` + ├── .wordlist.txt # removed ├── .wokeignore # removed, check replaced by Vale ├── conf.py # removed, now part of the extension ├── custom_conf.py # renamed and moved to `docs/conf.py` diff --git a/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst index 60c1a20..442f3f9 100644 --- a/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst +++ b/docs/how-to/update-sphinx-stack/new-sphinx-stack.rst @@ -67,9 +67,9 @@ and new file and make the following changes: - Project and author names - Ignored links - Social links, etc. -- Verify that the ``/static`` and ``/templates`` directories are located at the +- Verify that the ``/_static`` and ``/_templates`` directories are located at the locations specified by ``html_static_path`` and ``templates_path``, respectively, in - the new ``conf.py`` file. These should not be inside the ``/.sphinx`` directory. + the new ``conf.py`` file. These should not be inside the ``/_dev`` directory. For other customizations, consider need and compatibility before copying them to the new file. If it's not obvious whether you should copy over a customization or include a new @@ -88,16 +88,16 @@ If there are no project-specific customizations in your files but there are chan the new ones, you can just overwrite your existing files with the new ones. -Update the ``.sphinx`` directory +Update the ``_dev`` directory -------------------------------- -In addition to the docs above, the ``/.sphinx`` directory is also likely to have some +In addition to the docs above, the ``/_dev`` directory is also likely to have some changes in each update. These files are not intended to be modified by users. Unless you intentionally customized files in this directory, you can simply delete your -project's ``/.sphinx`` directory and replace it with the Sphinx Stack's. If there are -modifications in your project's ``/.sphinx`` directory, it is recommended that they -transfer them out. +project's ``/_dev`` directory and replace it with the same directory from the Sphinx +Stack. If there are modifications in your project's ``/_dev`` directory, it is +recommended that they transfer them out. Review the remaining files @@ -173,9 +173,3 @@ or files that have been replaced with newer versions: - ``.github/workflows/sphinx-python-dependency-build-checks.yml`` - ``.github/CODEOWNERS`` - ``.github/workflows/test-sphinx-stack.yml`` -- These files can be deleted as long as they are not being used in your docs: - - - ``docs/reuse/links.txt`` - - ``docs/reuse/mermaid.txt`` - - ``docs/reuse/substitutions.txt`` - - ``docs/reuse/substitutions.yaml`` diff --git a/docs/index.rst b/docs/index.rst index 656ec2c..b83e044 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,8 +4,9 @@ Sphinx Stack documentation The Sphinx Stack helps you to quickly set up, build, and publish documentation with Sphinx. -It contains common styling and configuration through the `Canonical Sphinx`_ extension, -supports both |RST| and Markdown, and includes automatic documentation checks. +It contains common styling and configuration through the `Canonical Sphinx +`__ extension, supports both |RST| and +Markdown, and includes automatic documentation checks. In this documentation @@ -43,8 +44,8 @@ In this documentation Project and community ---------------------- -The Canonical Sphinx Stack is an open source project that warmly welcomes community -contributions, suggestions, fixes and constructive feedback. +The Sphinx Stack is an open source project that warmly welcomes community contributions, +suggestions, fixes and constructive feedback. .. toctree:: diff --git a/docs/reference/default-extensions.rst b/docs/reference/default-extensions.rst index 669cf89..66a18c0 100644 --- a/docs/reference/default-extensions.rst +++ b/docs/reference/default-extensions.rst @@ -62,6 +62,9 @@ These extensions are enabled in the Sphinx Stack by default. ``sphinx_last_updated_by_git`` Fetches and displays the accurate 'last updated' date for pages by reading Git commit metadata. +``sphinx_llm.txt`` + Generates Markdown artifacts that improve readability for LLMs. + ``sphinx_related_links`` Generates and injects a list of related links into documentation pages. diff --git a/docs/reference/github-workflows.rst b/docs/reference/github-workflows.rst index 40d45db..8694da8 100644 --- a/docs/reference/github-workflows.rst +++ b/docs/reference/github-workflows.rst @@ -1,3 +1,7 @@ +.. meta:: + :description: Reference for the built-in GitHub workflows that check your documentation's spelling, links, and language. + + .. _github-workflows: GitHub workflows diff --git a/docs/reference/index.rst b/docs/reference/index.rst index 0385361..3ee94fb 100644 --- a/docs/reference/index.rst +++ b/docs/reference/index.rst @@ -19,4 +19,3 @@ Contents default-extensions rst-syntax myst-syntax - diff --git a/docs/reference/myst-syntax.md b/docs/reference/myst-syntax.md index b28b2a3..b84313a 100644 --- a/docs/reference/myst-syntax.md +++ b/docs/reference/myst-syntax.md @@ -2,7 +2,7 @@ relatedlinks: https://github.com/canonical/canonical-sphinx-extensions, [reStructuredText Primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html), [Canonical Documentation Style Guide](https://docs.ubuntu.com/styleguide/en) myst: html_meta: - description: MyST Markdown syntax for use in Sphinx Stack projects, including headings, links, code blocks, directives, and reusable content patterns. + description: Reference for the MyST syntax conventions used by Canonical. substitutions: advanced_reuse_key: "This is a substitution that includes a code block: ``` @@ -740,46 +740,55 @@ To reuse sentences or paragraphs that have little markup and special formatting, Substitutions can be defined in the following locations: -- Globally, in a file named `reuse/substitutions.yaml` that is loaded into the - [`myst_substitutions`](https://myst-parser.readthedocs.io/en/v0.13.5/using/syntax-optional.html#substitutions-with-jinja2) - variable in `conf.py`: +**Globally**, in a file named {file}`reuse/substitutions.yaml` that is loaded into the +[`myst_substitutions`](https://myst-parser.readthedocs.io/en/v0.13.5/using/syntax-optional.html#substitutions-with-jinja2) +variable in `conf.py`. Or if you have a limited amount of substitutions, enter them +directly into the `myst_substitutions` variable in `conf.py`: - ```{code-block} python - :caption: "{spellexception}`conf.py`" +```{code-block} python +:caption: "{spellexception}`conf.py`" - import os - import yaml +import os +import yaml - ... - - if os.path.exists('./reuse/substitutions.yaml'): +if os.path.exists('./reuse/substitutions.yaml'): with open('./reuse/substitutions.yaml', 'r') as fd: myst_substitutions = yaml.safe_load(fd.read()) - ``` - - ```{code-block} yaml - :caption: "{spellexception}`reuse/substitutions.yaml`" - - # Key/value substitutions to use within the Sphinx doc. - {version_number: "0.1.0", - formatted_text: "*Multi-line* text\n that uses basic **markup**.", - site_link: "[Website link](https://example.com)"} -- Locally, putting the definitions at the top of a single file in the following format: - - ```` - --- - myst: - substitutions: - version_number: "0.1.0" - formatted_text: "*Multi-line* text - that uses basic **markup**." - advanced_reuse_key: "This is a substitution that includes a code block: - ``` - code block - ```" - - --- - ```` +else: + myst_substitutions = { + "version_number": "0.1.0", + "formatted_text": "*Multi-line* text\n that uses basic **markup**.", + "site_link": "[Website link](https://example.com)" + } +``` + +```{code-block} yaml +:caption: "{spellexception}`reuse/substitutions.yaml`" + +# Key/value substitutions to use within the Sphinx doc. +{version_number: "0.1.0", + formatted_text: "*Multi-line* text\n that uses basic **markup**.", + site_link: "[Website link](https://example.com)"} + +``` + +**Locally**, putting the definitions at the top of a single file in the following +format: + + +```` +--- +myst: + substitutions: + version_number: "0.1.0" + formatted_text: "*Multi-line* text + that uses basic **markup**." + advanced_reuse_key: "This is a substitution that includes a code block: + ``` + code block + ```" +--- +```` You can combine both options by defining a default substitution in `reuse/substitutions.py` and overriding it at the top of a file. diff --git a/docs/reference/rst-syntax.rst b/docs/reference/rst-syntax.rst index 6be2eb1..36b657f 100644 --- a/docs/reference/rst-syntax.rst +++ b/docs/reference/rst-syntax.rst @@ -1,5 +1,5 @@ .. meta:: - :description: reStructuredText syntax for use in Sphinx Stack projects, including headings, links, code blocks, and tables. + :description: Reference for the reStructuredText syntax conventions used by Canonical. :relatedlinks: https://github.com/canonical/lxd-sphinx-extensions, [reStructuredText Primer](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html), [Canonical Documentation Style Guide](https://docs.ubuntu.com/styleguide/en) @@ -8,7 +8,8 @@ reStructuredText syntax ======================= -The Sphinx Stack supports `reStructuredText`_ (reST). +The Sphinx Stack supports `reStructuredText +`__ (reST). See the following sections for syntax help and conventions. @@ -18,7 +19,9 @@ See the following sections for syntax help and conventions. `__. Some of the mentioned syntax requires Sphinx extensions (which are enabled in the Sphinx Stack). -For general style conventions, see the `Canonical Documentation Style Guide`_. +For general style conventions, see the `Canonical Documentation Style Guide +`__. + Headings -------- @@ -89,19 +92,25 @@ Inline formatting Adhere to the following conventions: -- Use italics sparingly. Common uses for italics are titles and names (for example, when referring to a section title that you cannot link to, or when introducing the name for a concept). -- Use bold sparingly. Avoid using bold for emphasis and rather rewrite the sentence to get your point across. +- Use italics sparingly. Common uses for italics are titles and names (for example, when + referring to a section title that you cannot link to, or when introducing the name for + a concept). +- Use bold sparingly. Avoid using bold for emphasis and rather rewrite the sentence to + get your point across. Code blocks ----------- -To start a code block, either end the introductory paragraph with two colons (``::``) and indent the following code block, or explicitly start a code block with ``.. code::``. -In both cases, the code block must be surrounded by empty lines. +To start a code block, either end the introductory paragraph with two colons (``::``) +and indent the following code block, or explicitly start a code block with ``.. +code::``. In both cases, the code block must be surrounded by empty lines. -When explicitly starting a code block, you can specify the code language to enforce a specific lexer, but in many cases, the default lexer works just fine. +When explicitly starting a code block, you can specify the code language to enforce a +specific lexer, but in many cases, the default lexer works just fine. -For a list of supported languages and their respective lexers, see the official `Pygments documentation`_. +For a list of supported languages and their respective lexers, see the official +`Pygments documentation `__. .. list-table:: :header-rows: 1 @@ -318,7 +327,8 @@ Define the links in a shared file: To keep the text readable and links maintainable, put all link definitions in a file named :file:`reuse/links.txt` to include it in a custom ``rst_epilog`` directive - (see the `Sphinx documentation `_). + (see the `rst_epilog documentation + `__). .. code-block:: python :caption: :spellexception:`conf.py` @@ -468,10 +478,16 @@ If a documentation page does not have a target, you can still reference it by us Adhere to the following conventions: -- Only use the ``:doc:`` role when you cannot use the ``:ref:`` role, thus only if there is no target at the top of the file and you cannot add it. When using the ``:doc:`` role, your reference will break when a file is renamed or moved. -- Override the link text only when it is necessary. If you can use the document title as link text, do so, because the text will then update automatically if the title changes. -- Never "override" the link text with the same text that would be generated automatically. -- When using an external target, ``project_key`` must be a key in the ``intersphinx_mapping`` dictionary in ``conf.py``. +- Only use the ``:doc:`` role when you cannot use the ``:ref:`` role, thus only if there + is no target at the top of the file and you cannot add it. When using the ``:doc:`` + role, your reference will break when a file is renamed or moved. +- Override the link text only when it is necessary. If you can use the document title as + link text, do so, because the text will then update automatically if the title + changes. +- Never "override" the link text with the same text that would be generated + automatically. +- When using an external target, ``project_key`` must be a key in the + ``intersphinx_mapping`` dictionary in ``conf.py``. Navigation @@ -479,7 +495,9 @@ Navigation Every documentation page must be included as a sub-page to another page in the navigation. -This is achieved with the `toctree`_ directive in the parent page:: +This is achieved with the `toctree +`__ +directive in the parent page:: .. toctree:: :hidden: @@ -487,8 +505,9 @@ This is achieved with the `toctree`_ directive in the parent page:: sub-page1 sub-page2 -If a page should not be included in the navigation, you can suppress the resulting build warning by putting ``:orphan:`` at the top of the file. -Use orphan pages sparingly and only if there is a clear reason for it. +If a page should not be included in the navigation, you can suppress the resulting build +warning by putting ``:orphan:`` at the top of the file. Use orphan pages sparingly and +only if there is a clear reason for it. .. tip:: @@ -612,8 +631,9 @@ Definition lists Tables ------ -reST supports different markup for tables. Grid tables are most similar to tables in Markdown, but list tables are usually much easier to use. -See the `Sphinx documentation `_ for all table syntax alternatives. +reST supports different markup for tables. Grid tables are most similar to tables in +Markdown, but list tables are usually much easier to use. See the `Sphinx documentation +`_ for all table syntax alternatives. Both markups result in the following output: @@ -633,7 +653,9 @@ Both markups result in the following output: Grid tables ~~~~~~~~~~~ -See `grid tables`_ for reference. +See `grid tables +`__ for +reference. .. code-block:: @@ -651,7 +673,9 @@ See `grid tables`_ for reference. List tables ~~~~~~~~~~~ -See `list tables`_ for reference. +See `list tables +`__ for +reference. .. code:: @@ -694,7 +718,7 @@ For example: .. code-block:: rst .. csv-table:: - :file: /reuse/animals.csv + :file: /assets/animals.csv :header-rows: 1 Both markups result in the following output: @@ -772,8 +796,9 @@ Adhere to the following conventions: - Use ``PNG`` format for screenshots and ``SVG`` format for graphics. - If producing multiple output formats, use ``*`` as the file extension to have Sphinx select the best image format for the output -- See `Five golden rules for compliant alt text`_ for information about how to word the - alt text. +- See `Five golden rules for compliant alt text + `__ + for information about how to word the alt text. Reuse @@ -787,10 +812,13 @@ Substitution ~~~~~~~~~~~~ To reuse sentences and entire paragraphs that have little markup or special formatting, -define `substitutions`_ for them in two possible ways. +define `substitutions +`__ +for them in two possible ways. **Globally**, in a file named ``reuse/substitutions.txt`` that is included in a -custom ``rst_epilog`` directive (see the `Sphinx documentation `_): +custom ``rst_epilog`` directive (see the `rst_epilog documentation +`_): .. code-block:: python :caption: :spellexception:`conf.py` @@ -903,8 +931,8 @@ Adhere to the following conventions: Tabs ---- -The recommended way of creating tabs is to use the tabs that the `Sphinx design`_ -extension provides. +The recommended way of creating tabs is to use the tabs that the `Sphinx design +`__ extension provides. .. list-table:: :header-rows: 1 @@ -936,36 +964,6 @@ extension provides. Content Tab 2 -Alternatively, you can use the `Sphinx tabs`_ extension, which is also enabled by -default. This was previously recommended due to limitations in Sphinx Design that are -now fixed. - -.. list-table:: - :header-rows: 1 - - * - Input - - Output - * - .. code:: - - .. tabs:: - - .. group-tab:: Tab 1 - - Content Tab 1 - - .. group-tab:: Tab 2 - - Content Tab 2 - - .. tabs:: - - .. group-tab:: Tab 1 - - Content Tab 1 - - .. group-tab:: Tab 2 - - Content Tab 2 - Glossary -------- @@ -1031,8 +1029,3 @@ More useful markup * - ``:spellexception:`PurposelyWrong``` - :spellexception:`PurposelyWrong` - Explicitly exempt a term from the spelling check. - -.. LINKS - -.. _substitutions: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#substitutions -.. _rst_epilog: https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-rst_epilog diff --git a/docs/requirements.txt b/docs/requirements.txt index 6016a35..69c0782 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,30 +4,31 @@ canonical-sphinx~=0.6 # Extensions previously auto-loaded by canonical-sphinx myst-parser~=4.0 # v5.0.0 causes version conflicts sphinx-autobuild -sphinx-design -sphinx-notfound-page -sphinx-reredirects -sphinx-tabs -sphinxcontrib-jquery -sphinxext-opengraph -sphinx-rerediraffe +sphinx-design==0.6.1 +sphinx-notfound-page~=1.1 +sphinx-reredirects==0.1.6 +sphinx-tabs~=3.5 +sphinxcontrib-jquery~=4.1 +sphinxext-opengraph~=0.13 +sphinx-rerediraffe>=0.0.3, <1.0.0 # Extra extensions, previously bundled as canonical-sphinx-extensions -sphinx-config-options>=0.1.0 -sphinx-contributor-listing>=0.1.0 -sphinx-filtered-toctree>=0.1.0 -sphinx-related-links>=0.1.2 -sphinx-roles>=0.1.0 -sphinx-terminal>=1.0.2 -sphinx-ubuntu-images>=0.1.0 -sphinx-youtube-links>=0.1.0 +sphinx-config-options~=0.1 +sphinx-contributor-listing~=0.1 +sphinx-filtered-toctree~=0.1 +sphinx-related-links~=0.1 +sphinx-roles~=0.1 +sphinx-terminal~=1.0 +sphinx-ubuntu-images~=0.1 +sphinx-youtube-links~=0.1 # Other dependencies -packaging -sphinxcontrib-svg2pdfconverter[CairoSVG] -sphinx-last-updated-by-git -sphinx-sitemap +packaging~=26.1 +sphinxcontrib-svg2pdfconverter[CairoSVG]~=2.1 +sphinx-last-updated-by-git~=0.3 +sphinx-sitemap~=2.9 +sphinx-llm~=0.4 # Vale dependencies rst2html -vale +vale~=3.13 \ No newline at end of file diff --git a/docs/reuse/links.txt b/docs/reuse/links.txt deleted file mode 100644 index b38c289..0000000 --- a/docs/reuse/links.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _Canonical Documentation Style Guide: https://docs.ubuntu.com/styleguide/en -.. _Canonical Reference Library: https://library.canonical.com/ -.. _Canonical Sphinx: https://github.com/canonical/canonical-sphinx -.. _change log: https://github.com/canonical/sphinx-stack/blob/main/CHANGELOG.md -.. _csv-table reference: https://docutils.sourceforge.io/docs/ref/rst/directives.html#csv-table -.. _csv-table reference (MyST): https://mystmd.org/guide/directives#directive-csv-table -.. _Diátaxis: https://diataxis.fr/ -.. _Example product documentation: https://canonical-example-product-documentation.readthedocs-hosted.com/ -.. _Example product documentation repository: https://github.com/canonical/example-product-documentation -.. _`file-wide metadata`: https://www.sphinx-doc.org/en/master/usage/restructuredtext/field-lists.html -.. _Five golden rules for compliant alt text: https://abilitynet.org.uk/resources/digital-accessibility/five-golden-rules-compliant-alt-text -.. _`Furo documentation`: https://pradyunsg.me/furo/quickstart/ -.. _grid tables: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#grid-tables -.. _`Hiding Contents sidebar`: https://pradyunsg.me/furo/customisation/toc/ -.. _How to connect your Read the Docs account to your Git provider: https://docs.readthedocs.com/platform/stable/guides/connecting-git-account.html -.. _How to manually configure a Git repository integration: https://docs.readthedocs.com/platform/stable/guides/setup/git-repo-manual.html -.. _How to publish documentation on Read the Docs: https://library.canonical.com/documentation/publish-on-read-the-docs -.. _Level AA conformance: https://www.w3.org/WAI/WCAG2AA-Conformance -.. _list tables: https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table -.. _manual import: https://readthedocs.com/dashboard/import/manual/ -.. _Markdown: https://commonmark.org/ -.. _MyST: https://myst-parser.readthedocs.io/ -.. _Open Graph: https://ogp.me/ -.. _Pa11y: https://pa11y.org/ -.. _Pa11y readme: https://github.com/pa11y/pa11y#command-line-configuration -.. _Pygments documentation: https://pygments.org/languages/ -.. _Read the Docs at Canonical: https://library.canonical.com/documentation/read-the-docs-at-canonical -.. _reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html -.. _`Sphinx`: https://www.sphinx-doc.org/ -.. _`Sphinx configuration`: https://www.sphinx-doc.org/en/master/usage/configuration.html -.. _Sphinx DataTables: https://sharm294.github.io/sphinx-datatables/ -.. _Sphinx design: https://sphinx-design.readthedocs.io/en/latest/ -.. _Sphinx Stack: -.. _Sphinx Stack repository: https://github.com/canonical/sphinx-stack -.. _Sphinx Stack documentation: https://canonical-sphinx-stack.readthedocs-hosted.com/ -.. _`Sphinx extensions`: https://www.sphinx-doc.org/en/master/usage/extensions/index.html -.. _Sphinx tabs: https://sphinx-tabs.readthedocs.io/en/latest/ -.. _tables: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-directives -.. _toctree: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-toctree -.. _Vale: https://vale.sh/ -.. _Vale rules: https://github.com/canonical/documentation-style-guide -.. _Web Content Accessibility Guidelines (WCAG) 2.2: https://www.w3.org/TR/WCAG22/ - - -.. SHORTCUTS -.. |RST| replace:: :abbr:`reST (reStructuredText)` diff --git a/docs/reuse/substitutions.txt b/docs/reuse/substitutions.txt deleted file mode 100644 index 307b5f2..0000000 --- a/docs/reuse/substitutions.txt +++ /dev/null @@ -1,7 +0,0 @@ -.. |version_number| replace:: 0.1.0 - -.. |rest_text| replace:: *Multi-line* text - that uses basic **markup**. - -.. |site_link| replace:: Website link -.. _site_link: https://example.com \ No newline at end of file diff --git a/docs/reuse/substitutions.yaml b/docs/reuse/substitutions.yaml deleted file mode 100644 index 0c2958d..0000000 --- a/docs/reuse/substitutions.yaml +++ /dev/null @@ -1,4 +0,0 @@ -# Key/value substitutions to use within the Sphinx doc. -{version_number: "0.1.0", - formatted_text: "*Multi-line* text\n that uses basic **markup**.", - site_link: "[Website link](https://example.com)"} \ No newline at end of file diff --git a/docs/set-up-a-new-project.rst b/docs/set-up-a-new-project.rst index e503f2f..9e01411 100644 --- a/docs/set-up-a-new-project.rst +++ b/docs/set-up-a-new-project.rst @@ -81,7 +81,7 @@ under ``docs/``. The navigation menu structure is set by ``.. toctree::`` directives. These directives define the hierarchy of included content throughout the documentation. The ``index.rst`` page's ``toctree`` block contains the top level navigation, which by -default is the `Diátaxis`_ documentation structure. +default is the `Diátaxis `__ documentation structure. To add a new page to the documentation: @@ -138,9 +138,9 @@ Use `pre-commit `_ hooks with the Sphinx Stack to autom checks like spelling and inclusive language. The Sphinx Stack includes a ready-to-use ``.pre-commit-config.yaml`` file under -``docs/.sphinx/``: +``docs/_dev/``: -.. literalinclude:: /.sphinx/.pre-commit-config.yaml +.. literalinclude:: /_dev/.pre-commit-config.yaml :language: yaml For a new project, copy this file to your project's root directory. For an existing @@ -150,7 +150,7 @@ To apply the configuration, install the Sphinx Stack hooks, for instance: .. code-block:: bash - pre-commit install --config docs/.sphinx/.pre-commit-config.yaml + pre-commit install --config docs/_dev/.pre-commit-config.yaml After that, you should see the checks running with every commit: From 523815c45b7bc6ac101f6c47cee5f217076a4d08 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 13:37:59 -0700 Subject: [PATCH 08/13] docs: fix links --- docs/_dev/.doctrees/contribute/index.doctree | Bin 26790 -> 5147 bytes docs/_dev/.doctrees/environment.pickle | Bin 206062 -> 203481 bytes docs/_dev/.doctrees/explanation/build.doctree | Bin 38101 -> 16307 bytes .../.doctrees/explanation/components.doctree | Bin 44623 -> 22234 bytes docs/_dev/.doctrees/explanation/index.doctree | Bin 27270 -> 5858 bytes .../.doctrees/explanation/sitemaps.doctree | Bin 57310 -> 35497 bytes .../how-to/build-and-preview.doctree | Bin 54728 -> 32755 bytes .../how-to/configure-your-project.doctree | Bin 57078 -> 35109 bytes docs/_dev/.doctrees/how-to/index.doctree | Bin 29664 -> 7856 bytes .../add-documentation-testing.doctree | Bin 66332 -> 44438 bytes .../bridge-project-and-docs-builds.doctree | Bin 68836 -> 46841 bytes .../customise-pdf.doctree | Bin 80150 -> 58133 bytes .../enable-google-analytics.doctree | Bin 40168 -> 18245 bytes .../external-referencing-intersphinx.doctree | Bin 38459 -> 16541 bytes .../optional-customisation/index.doctree | Bin 27712 -> 6300 bytes .../interactive-tables.doctree | Bin 32016 -> 10666 bytes .../openapi-specifications.doctree | Bin 46030 -> 24260 bytes .../.doctrees/how-to/publish-on-rtd.doctree | Bin 43863 -> 22336 bytes .../how-to/run-documentation-checks.doctree | Bin 66069 -> 44365 bytes .../.doctrees/how-to/troubleshooting.doctree | Bin 35282 -> 13468 bytes .../how-to/update-sphinx-stack/index.doctree | Bin 34143 -> 12206 bytes .../legacy-sphinx-stack.doctree | Bin 65470 -> 43151 bytes .../new-sphinx-stack.doctree | Bin 56622 -> 34698 bytes docs/_dev/.doctrees/index.doctree | Bin 35142 -> 13009 bytes .../reference/default-extensions.doctree | Bin 43939 -> 22131 bytes .../reference/github-workflows.doctree | Bin 41489 -> 19571 bytes docs/_dev/.doctrees/reference/index.doctree | Bin 27288 -> 5798 bytes .../.doctrees/reference/myst-syntax.doctree | Bin 143793 -> 143793 bytes .../.doctrees/reference/rst-syntax.doctree | Bin 171707 -> 149592 bytes docs/_dev/.doctrees/release-notes/1.4.doctree | Bin 38057 -> 16243 bytes docs/_dev/.doctrees/release-notes/1.5.doctree | Bin 53619 -> 31805 bytes docs/_dev/.doctrees/release-notes/1.6.doctree | Bin 44235 -> 22434 bytes .../.doctrees/release-notes/index.doctree | Bin 32984 -> 11047 bytes .../.doctrees/set-up-a-new-project.doctree | Bin 53550 -> 31989 bytes docs/_dev/warnings.txt | 2 -- docs/how-to/configure-your-project.rst | 5 +++-- .../interactive-tables.rst | 7 ++++--- docs/how-to/publish-on-rtd.rst | 4 ++-- docs/how-to/run-documentation-checks.rst | 19 +++++++++--------- 39 files changed, 19 insertions(+), 18 deletions(-) diff --git a/docs/_dev/.doctrees/contribute/index.doctree b/docs/_dev/.doctrees/contribute/index.doctree index 78032373f52351f876e15cee021689245c2d4981..ec084ef8a15e8480e14336a70a9291d43b0008a9 100644 GIT binary patch delta 709 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 Mb&0NP;vc*Ce_}x}0RR91 diff --git a/docs/_dev/.doctrees/environment.pickle b/docs/_dev/.doctrees/environment.pickle index db069056f4d4e3245dfe183a9413cab71f7b3d53..b9ab586038295915cdb22a0dfc0a652160c3a842 100644 GIT binary patch literal 203481 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%0D+aAQv^wC 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 diff --git a/docs/_dev/.doctrees/explanation/build.doctree b/docs/_dev/.doctrees/explanation/build.doctree index aa698916a92e2dbac4270c94014eaac2a3d1dbc1..62e7801af5523907b3bd9b5baf1b2d20a72c1a22 100644 GIT binary patch delta 878 zcmZ`%Ur19?7@y~Cu9X_2Wgs%0b2cm1n%IMc5)=eN6g@a~AroZw;;-g{$PcUA~2#o2_Z!fy-QG#LSXb11f6r2$sT(79S+~`&-d|tpB|&itYgk` z=h4uLgji6fcLSHoCT0}M*?PLoG64Bnsy!>^UO=mQ{sE~p> znZGv3Y4;3XcU4$}{-QGXk!&N!z-rXw6W6$pGIgT31=+H6Kr zG|&**3m4SQv6Jof!S=dfI6i&}eW^9s8av!<&<^&G4=={2TxO$2t{R%kAsq9zOzf&@ zmzV@%vAgj4Vux=Z7DH|7<`FVoAgQ7vBt#>*6iF+|8AVNVXo{!Y2L!9cnMab3>Z}=8 z=Hdl}&g04tvD&+ej?18VT(CMcg!x~w@myc zz%X5sUz{nBJw@3Plr8?E#Vs4uEpH-1`sgoBwrw2a|gCWM}1ID6d>Z*LxgCmBEbfW<}hpbZQkbK$_c$S@oA zyrHECr+(8eh9rF0EqAyqYT{D=>hqJA(YKoRtEENj7}~RKu6o*g7(m!=McC{z!dDkz Ro$hYRL@fp8c>t>1^9OS|9v}b! literal 38101 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 QM*F~mEmM?v+M6x?U&^8>C;$Ke diff --git a/docs/_dev/.doctrees/explanation/index.doctree b/docs/_dev/.doctrees/explanation/index.doctree index 42346be85598731847779126547df49fad0f7b3d..0f750a22ce1e7c8e69b47fdd780fb0655e98c356 100644 GIT binary patch delta 731 zcmZvZJ4_T&6o$EXAGkzKkPVAQU~yp=6!tO8Y63)XHSw|0#7Y}8vde`t~(k0uKX= zAKO;~6G42NiW3cYQX2NAZ%}xKnZj{=p6(68Q;5PMwq6M1m-LY#Ksdn$8EEvV-k^ zJpBK9AZD*p*z=P7%ytC#DeN3}u%)@>WE(h6-5yD$*z9DbUS`Qsts-3LhCUfK{(F!L zkL$xTSV(mDL`YK;By1jGvvpQ-bc;;bhwk67@4 z1s7V?PBqAxVU;rHwU~Z_Jrh6ZO@fhgYyQ_#!McCYA2nAAUZ3vrNf=M%vvir@?R=81 z5WIWsG;Zbx=zD@Y`8a*2xHR1+SU7(yw5(zjO^K~vj^Vs9Lci~0-#n~qTk1S$*IcW_ X1gvtu{COq{ak&yxS`3?gXqn+(o+SM^ literal 27270 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 diff --git a/docs/_dev/.doctrees/explanation/sitemaps.doctree b/docs/_dev/.doctrees/explanation/sitemaps.doctree index b6ede7e3a220a56b9bd565c5b62fa1377b182079..57f022995cdb4f0df44bbbefff7e5b043dd0117e 100644 GIT binary patch delta 828 zcmaJ<-%Aux6yCk-wsS@D$Eul%qpqulFl{3yNf<>B!BR<25!tfp;OtFzWoIW03GyK@ zxzLYug?uPt)wP0>&B`JoQlf|c0v}o{g6O3zB6{rH*|HxGy?itGp6~n4x#yhRQ_syQ z;yvq~x;B~hmW;w=y4kHmHm$?E^ilVBc$QG%_)L&~^SNARJ^SK=HxDY|`i#G0UEVbE zqTNX=6){F)Ly5s|VK#*c(mr`H)?j+dYGL|%g}H}&L)s24 zB+dyLMpcOdd()Mm&(^i&%~`R6K22fIe=H+#aW(?$vj<2}0rzr4Aqz-RJyR7h=2{7U zF3fe4T~1JCoxg%Em)(aoxV7K;ky@PDuKu07;NRTPo9Q7(@})k{Y^57?c%Qja7S8>_ zHyiN3ata$8wky*2L%79kT`jZiE9 zN+cYXph`F)0SlPB)7T}MeDf(IX~h!pNZcOoGm^qlahf!6Fezg+B^)uQRxD*ihGOxP z0zJUJP*Y{P6>4&RJ&15IV;Wv|Z3Z*L{qES#ER#QKf zQ)WM@AD{T)L#~DNFSQ&vg8NGc3ZO0mC(%CvN5)hErevtMzU=5u$=naRLh)q8|_xf>iQR;N6B`o<(5_NK8TxZsK4h_-CQuh zM9uQd@L_wIz1*IBuSj&+T2XE{)gLov z=~T;_4f;3g9)ah#_SFrio-JEV&o-)!#wo+}49~U<*YT{H*>sIr%kQHbopSKote1_`R?Ec=^vrer34*HYuLP}1 zEvHFObld)wU_!+g^-x|Yq_N1p}gIwS$V6}sFt1lJ*`H?DtT`H zz}@@rIhq#?$+`q&7LU7mZmcuSs##~K@)EyX%LN%Gs!rYN9%;|mQ~q+#Y|UAUb@noU zbuMQVkYnUQI`Btj&1MaepWsIkZPyr#Q5AF@6tn#!<3(7= z#a@3+l#Ci!_v&B`77D4O@qzs1K%?Dqy8iCPbA}b-I7IF+#Oy`FKtjuIIVWyMwX%l- zrqt6ucckV@-0V5lSU(f8tlT}cB!G9Xzfu>g0Svbi)$NsJ0H9`5Qtd#8Lm?gBc-(ee zqiN1r##{sH(}3}0<*2t!hz~BzhUS*^M%tO3hUpsfR<%n1w;S{POsD~wS{n*GV}*}e zWwPn4jk-}cn!=U}je)}atbn5^{YW|)CMHTsuhuAigQT>WRj2KnTL2e+)ML()?>N^nN1n2`;ykrBPf_L3as3>H4fpWB|DbxICqVYb>XW?Ly5?oIk!ywQo95zv9%bRwTs1m zuOK&({J6;~6su)c^?83o?-0_o#HU%Yk3GrZP%vRZm%qVRvO_&+QV%cetZ&obAf?xpz@g_47^ln)tr-`m& zsgVgR$2Qlv%RB|2x@sveZVP#FL*Ax&JzvtXwEstF?^kLNN%~I)FlvuKsXsp0X(CY~ z!heYge^YuCpLpaqbR-pbB5)^jN1B+cB$ssV+_!zn1sB{oD`xwEt_HKktQ%NCfe*n7 zt*A3-Rn8f=Ie4yR z?1p!>yV!1GnP_1m;-`cYpGksck9Z<0JzQGjxwjS#zzA2LR;ujMDB+P(1#~lbv7xbC za%d+{Va1{lO(kV-{TU;f63NO07^+L9eSyEKY1L^hUN{5F>c-~Ccu6f31q)@T&dX-C zoT;oMsAzS(*S~gD&T7bQj3F0QxoLlbG4z+Z9@g2DXtRW|r7y#wiA+ecl}}pX3DQOF**g~x(2|@sPMkF9j4HSyras-M`uE%>3{LM{ZrE6Y%~)35 zKu{11Etog9O0YffNAfM}wQZ+mQH0RVd1pLKhtcV6G8kC{+>8-Go5dF6OjMlMcu^gT zsS-_V6@q}p^3p-*r33e}fmD#p-_(~%+UO509{A+}sl!Q@@zP~Iok(o!D-tL7mCKl6 z#N;GHhF~uQpjZso;x4YpwRa?N%CH&J0fFdNuDMVwZWl2}3SUjo3p7f+Jw}OsVxi!W z1P**mc|#lTw_@WB7Yl-b#bSc6)P_m`ZB3LI5-b&1akX(iuy~NJNF=lNjs#fO#knD& zUByxwFi9Kh&leBxh2XRj%s5c#1arG4m{b1hVDV9ysWwWdbg$qlC62}|#;dnQWp*1T zaWRn(?I!?+f%r!t?j}T<{i!px>Tb7b(k94?X3KJ|)@l4)2G05;gK zwNmA&@CjZnT^E@-71aV&h01qc>Ja;e1oFJkuvPI*A9jC8sq7%F%6%H(%y zlJ{H)x|seot1_}WOkOyuD?x8(i?V0?xuC6h7e^zg+*c1?|v)V0M_?|XfjyY51HBTfQs~9ywFVNU=Rg8ohI~FzfZ;OpL+{hCI z%#w@yW0?+E$PT%6iWpM+R_T|uv2I>GpqD2RT8T!SwCP0S#zCTS`70KrHq!DKaa0PW zS{_33!M@>MKe3O3>{TP-E|>qh;c3rQJ_l6_qaAy7D#PYC+?-WE?X<8xh7Hf@%|~zB zci{LPw_y+USYiLZBX=LUbN{}>g%d{)Z{BHa&Trl>xpmIt2qZzn0&q;4F)CjH{FSd# z^EEVQD_=*8-Qfk##-?fIN&M9_9qb;&n`chiaLC!_Qj{EV@JO^j;1`(X_9|_80bA2f z$*fip-Vm`0Y;m_OgiC^;!a(AYVGvX%e?OGUoyNTFlx&y^w^2P!krgrQY#RX+&^#0D zslv(NR01(Os10`yCPKzZD7r7FPGj1cHOwY0M#;)-S5{?5di*sNY{bM+vpplL^L%Wq z;dY1K&UWW&V;Bq4!F)xrn7}D1;g=2UqrK(q;<5P;&$CD#rvoV=xAnXs+AhfW&| zbUSd4l}yFGtk1;AstL=*@b>zkCAqVq_ol|K$716S7aW3w1!rS8T}VFyNNYnUfV`?$ zRP>dAu8^0sF}}HY@UBV2H|6v*434>58r)6N5IhV=EyaCfVRi}OD znf4s1GCZU@e5O*nMG1Yze4};BY&Ed6O|XIu&~t!Wc4j#_$}^;%8I%f`89DvSET1N7 zl(W$#Fgd!Hd^M3R*1MzYn3uu{%On*f`&5R+m{5$aM?&)AlK3PUdsfN9imb8 z-t;d$v56w}2^$I6zr=A1uhuBTi;DOe%!FxedP9Cu*i~|9GPt7A@qHt+=eJ3gD7|Y< z3XLq2lj4T&3ZLK&i(`0!nj0S4$BD->r5(Z#gF*G>U&bM73vwBPGv16&qo& z<&-K#?_{3s8l40Qpet?Ym$WD2!Y4HT#^b`5%jK(!tnor1o`?@0Z?!EcwTXR%(BTbV z0E+42xv@RG`y${el>AKrID-{j!W$8uWCe$0Yp=Lkrjm&jzRH)BTRW638l3X+2X>Zf zFeJ50;WJrT8V$hBR|XQm32 zkJWS5WMXzk4-bRH$V_l!19ZYSs9+=gPKJw1$_E8|?Sv>@6 ziJoT=he_#%6ni}lSXz|VXwnq7D6fdqlQIl42L9W2!?ic$x9t?a5rg652jKFiVb{ib4s4r<1{k5bJ}BJy2ALNumA%yhxLNJ+4_Q@-jMlfpX` z2`|8#Xjd&azXLvn)FIZnrinm{)&chsugG903O2&C>7WK8ok%y+`ph;O`5CiC5p;f0 z8K+5cx^yRYBC&BTObpG-tc2rrp#|&|Wnl}3@QRF??Db!ijvAV_yecN)nrj9BS0|d( zqA)OJ#Ez2Egt5J`iP}Aau2*}4c+`{ORprw+L+d8;J!6AA>xc zbW97w1#}?QY61P4^Q--Wdg0P}Z5%G;SE*Zp>(gfe{Vvi;Z2=u%v)7O8YQ?1|-E3w@ zthjo{UoBv^ggw(dL3tw%FF_bTP(*H4g4eg{UU6JL8e^BDH{h=F0{=3#01|BE1^#*X z1bcz?h!=QbpY&zJ(;Mb#%paVzgiQt&tf!q`I=+sX1r-Fu=>y8Epu?xwaX^G$?y{7{ zEPw^;c^X|&FhHB|?o4MUq4mLXt*eW{(hvTxH7l!g)P9G(bmcOnIn} z(>|(}Ox4pU1Y+}+3aF+M$>i}F-htr*yW!wLeh5-U4Blonaf}|Gg_N3~JGd1Gzpy9{ zwgz! zk?w_xVoxrLVyB}NoAOuAAo{iDh8thi9DEL}DL(|Z42p?gjhhmbJn+xc_g!>PE3&yQHN2(yA z#`MUK0?oh*^#VK{ZpJ)HEJF2_h7e9=1R%5?-C`RcBS4x(9wg0V@MX@PvdOf+9iEBQ z_v_P&x~goV34JCm^&k6r#)gq0wR!#Xj)kUeJ0UH4_*~n_ds#Yd>&rShJ)hGUN&|0* zK{;4Alm^~NS`=s?VVPC~AA&kfbN|6_iD@7`qBKx>)p14lmy4OF>o3{C$2)!y)ne(d z!ZX7p1f@kh1J#AJNl496%UkW4mQ&L1`Ip{7)le|+H*vyz7QsvD0Z48P?x0Bhn$)Bw zB0NC7jmrJ>KVgk1oDj}a_Z>!XXkR?pgpyL=UY9&Bnwfvbe@jtgb#aQchbsDWRDk|051CK8K0r&ORQ6M|0g zV+ZWff~DCte@SBuO(h$}zZwvU3_m2iBpm zqBB=7z>+o_b);S5v}L)~XqI8^yZ-V9A~jYS$1NwghC$_j0|S2w8|?*AaIoV~IGAF) zM^IPNwoc=C5Pq%?C*6WpY;w{qXKORr>$|4ETI{@OH&@Lx$_rX=nifxzuK?yT-4_|LLKJZL3CwYTcqJh`jX3wk6wdw)=%6I(MGp2&kt z4lGY1lWUli3&)^|Dk@E!Rz!gonfFmM7ie!-RR`m$b7J2vW7X&2mSL%nMU^<}0T;z^ z7Z4_?VOyE1j!CBlg++tB{ARn=Y*2+DgaX*J0fb=`>xaWBfPl&Wr8H1-b;0uJVkFu9 zkY?joH2Koy>b{jK$$Z{KR(9ZH3ZBr;A`3`FED!|?L;%5F+&1bKBnQqY0>9P9f_MV< z1*Ws& zPkk*q-5G@J$>tS{djb)q_?`U zAKu#7H^#;uF5d(V%Xef$Fb-on+360Foin#nqGZ#XADe*h?bJTek*)BxL(~yxmAQR8RTiTfA*qFoRpP*p*UwHnArDP;dlXQCbn-LkQ z+z0C&!2exj51zW5!ivZ!VZj{Rk{=e8&JYT85d0=+eL=Xf?@tDI#*y|VN8 zL_-t1A*NonFJAep6NX>(po70|kJ|e5FbPAR>2nckr^3H$KkXQZS-E##*SXN(+?<=k#A%iQ_*nA7(#A_8C8?RweV;YLljGhX_maWrP6%oXio15b|i2WK0?O-i0zOy18 z&Z4koo_Cw9th%yATq(3D+Zh`;T6!>@MjnnRhkHgwRg*nPv#1VyB8xIHy{ zH0=I9hTUMvm!bU;UV}LQ3F(TARS?2G0Afz>3NFsFbQ<;HK^k@UKJkqsM3=+@TuFPe zxKo^Wl&gi=Hh=wyv+#MbuKRXkVWJiYYoY^dY}8F zX|T<4Yr0vS4BM>q4_CsoVCOteD5ln!#Z+M)71JBegP3|;wE|mnryY2AiP18VLd4;( zP=pbVitH#Biy5^92>8L9b9!V``R(iCZ`US{hhu`H&2o#LIDR=c=I|Mhpx_zr1+1V! zoy8~-(gD4w;;O&4cz~}-#R;XTae6D+OIm4sDq=CzO5?u$u)_CaIYE28>|rBfYPL}n ziI#t4{Q^0`i4U2#-7mJuR7dS6+Gn$9*?|g~wBVpT`Z^NDgMHtmTosu*A&X>60VQb< zL^Km5B+w3`s&*ysVi$(bI#KQd{c@}O2wYUDJPJQiLvdCF2p$d0~R>EkQ$VKJjps0*k4X)8#n zH*UqhBt^oT;I}J(oaV%siM*m`e5vSnZ#-w(6d*KW8MM+GY8w4 zy_J`b{028Ca@2y@Jvz-%AAHR1n0_+g`rev?vJ7= zG71!KeN{)HA{?|Bs_T00tJAaUUT|c%_mF~3?$A21v<2{6<_%0Y~{>}}-PCA|R zy)JDo-G9fvBL{CgeD}dztsFx*BgW2RY>kz{ReECt$(JW0nda>h?=K9&yTEw6r?b4h zrUXh6fV7f7=PkZg4UcEeqR$kQKH=j(vw0*Csv zw-qE2!rU$ibB<6+@;p9-JSPW`$C$or;n?x*ib^%)1=h;E2`UVoqR5u;XEww>MwUy% z8;UGh8d9Up3&K8%HpVn{+8!a%OC^a$1xeE6pNG(73(@3&^U3#k<{8ITBq$@dlCI=t zTlpA%E95;5pQ*AOA_D$K3BG)Uhm){v^Xefaju|B@;xzxeD+ZCLH3Z~>QJJJqGVrFoJhsT zq8MjRh{y$`lg$QB*wqlSvs(GKi^^3nt*+OC_@b&@nKm=?vyN3Q!yiDsc{Z{!0o)M2 zFe_iEQA^zo!HLl2uoShiKqe{mr6H8^iBh*?+Q7%b@!`(8!8>WZs-}GZszV9AW)(Xe zAb_HtIpbi{c%g22M7do16cG#Q_1IU$Oa#tiH`y%FE~6uQf_A6jOY%Fi{0@|03&zi4 z{49+hqvv$*Gno7OJ*Qk3ekKhr5!$~-(*8W*CAsmhL%6~2Z1MJXi#ArZBWjx5Hd|(S zpMcyWg+Cmsw&EgxjAv0LcogO?%FmxZAsGes}xXV7m&v@z>7h=2s1I6#E-745s> z!PC@>z~d1mcp9B)B-#UxAW9=~Ae5jt;)nva5YY%b?w0Hr7t)erUmL=)H)$NJne{e* zz6coc78Ygn5O0*HfSeG|nrpFmE{;>kmu)xm#3ULuE8f|UQ8xyRl28%H1XNj*S)!oI zYEWqmq7jHea)fYej_@K@s1bC$B8<^ZNNQqGc5ukoeXo`HX2N2iaTk5egj z^bbss4W!RY3DXjcnQhd;2Tk~6(=~EMSzBcH$RNEBE1OIY672`V9#NDC$qz_fI43+L zp}#SN&`tECcW3_O{(T2`?c0~#4|xpw#;CTj zO5SY{}-fCZS=$k_b!I3v%6zJocf)T(@zaSa4T{8F0*xt zj`J$q=(t>?Uc+^knhNWkL*O8CAt1imc8hft4#jlwFZpVz|o zUL$ipLSivECt?vC`L}{^i-a#}Pzmd|hroIj!Fo5&LmLN?Lu)ID8*@!^*JIFS=;(A7 zGi1}&q=2s)@~VP#t%Ot#CZT$I2vk=PRQH(IU8lthn)GKs&MxCS8aUwv1<3{pi8hJ^ z<~u`xVRx5-!HjB_YntiAEGr9k@W6R)w~*lA;2W0Rbt|0Ld18u@a~1dJDXOM#>xk>Y z>mpj!ugXBmS4({VZ3wM4g*=^v8F68}JHvu$#sS1u zkH?}qu5GqzyKcTA7ua>o&H-u^i4`%RxQSce(?i2NxJh5T2p*519d1jed$C0G*&%4Y zf*2p5DGH$|%O;`a`Y3T%1f)j%0U_i#lB*++X$S^4=#T~KtwfN^OP)raO?ah5?*~KB zTd$#aj5bq)1XLMEi)Vh>*WrsrLBbz(4;|?r4tde-@fT?;YDH1a2M8^;6dOcw@V>~l z#k7Bk4vfA{QTeT@3ofuE_+dwbN73HhmH3D|T}$SCU}d#kQhhjBlHNb+C4+yNbq1B< zJoOoga$#nnz~6g%UAOW+z*%`48rQ$1Z%3!xMK?l6bc-ZF+}lG|S{a3FcSYHdoT<)w zM#=2IAVTHH8#MV1dIcno_fiJ=MoHEYVUjfdaW9P{G>O=1Ot4nnrK-}S8EW-he&7@< z&6Vn_QA3)m$W29rFu|bDtQ5D>Y6u+`NsgZkA;+znh`{V>f%kx`bTPq{L^RG{sXe4& z8(gL}yY|T%=#VnY!fFh8nMCTjAxQB)DaMLyB%~l^+$rkGo8U3CDu5BwgyrI$8s_SX zV(tS{!p{pt0gdjufIj=CDn9k54e?$)HU>Nt6j7F79599SLExK*kCACoURJJ|c1aQH z!Eq9*7br=oCBrE70@4wb&DY3;vSC)vwd1q*1YOtIFaK6Jp{StOba6O896^F{;V>|G zk|Z$1Hmu@V-w7yUVI$dkQI(~SUgOXt9g)-k=d0p9xT?Spt@DWQlt?ZehU8JA^+{Cn zLQs@8os50@MzP3bq{Y5#OjG!DJ8IwTQj{R+4FaskkBa!}t~igfs1rt^0vbKK4K1=6 zdGzdj$(+mX$_A&PIRi9L1;&C0X+uWsUyHoP04#cv!HN*>3d#5WAWHg7^rz1h%Hwf~ zD!o*?KXvSmyN@22UuGc&E-MXYX*8`JSM?)G9(WO~Y9 zMg6SPNL7jrdex8-Bn2ku6+sR(@W>58-d_o?3PBa|J|9cp=<=I9*vd{plWF{~J=2@X z?k@$hirMtUi|C2XY;!@noJLTb!P|zL;px9?h*&{MpF+J|o3UCt-LB1{MnpiJz5X)( zQ(<=-M(TF}&R-K9u^({$B_elLXQ<0Lw18Nb!Z^f5f|zE?0%c|B!0xz<3L0`OZU?7? z@RzsfOI$tw@pl-xNEK?CJ0)Ys4hkB#n>%*o1h&%>T^118HI%eY`H*7J>N(H zR4oQnm^~gq>S|vUlxrA&Dr8ANZdZ=enAaRynjnf4?0=X}ykKvqeoAL7>@i(O7IQsV zW9{`a(izA$jg;s=>&w52a-F4v~wg(Qrp@Iv`X z#ePu054}iQXMH%x2QvAuxoe}Y4bW;LrCuG?zbyFHT2@vU%m(VGCfZwbN(J$j0X zqDrSaATVw3q64YdVIe9pT0wNJna#kl_VvFndyrS)RG)OIs4vfjKPT;Wr}76_GGgWU zVUmk&Zsia8PkR@B>o1hAkvaph=R~fqy~W>%BbId+VGNoIkk&8<33Ra$_cK!9_$na(!J`G8e zb{S=5;RUtfugHo_s59I4nr*Lp#J=f>KNXynYP2xY6aqr9RrvTF{#Z$$0RgC(w$7mZ zd%lYW3!}qAg$|kE&vvVdzgELfEzBUUKtcpimI3D0Lf7AbFO+%p1{6iz?D(tkg$EB7 zyl{p#b5R<14J?Gyq{_G)-^YNLiz}!j$yW;W6`rtYE#4PAfUk_Ad>{I+qP&6@zL7$^ zz}-U^`WYM9aPrS({(9?-11cio)ppg@Wys@c&*AYk^JWVlJ)A=i1jcK)G6i;&kUNA> z3E*?;pjpAHml~8`)b*#@-fZ?JBm&|03!^s+R;$%$6>RLaR8jqftsiQ~<5-NKyf(@* z9;NGF5xWx`qVh#Zp1($nt6-2%zc6|u_OQQ>aDeQ&D2K>CMi(_`%=%m#shOa7+3NZi z;w+1Q5!Lo=mEoz-C!_EhhY7n}1W<`0PFV_sz1&|zM-U6@l7AuMEB@+oyVfj(A_>Cs z10O$!90co7jKvads_3YMbZvZ{lv}Q}O;pvJR{zYDdT38_aB>UHh{(pJtCY-i4{;veL9qDqrE z!hD#hy~1nT&}tWix`_W4e-`M|V*zQez&R1X1I7z|1C^PC!8CssqJbr^x46*c5^R^C7j`9hU0H8ktD{SA@lDTFDegQYlv(&b@#98(@r_g#2o z-C5ulv^6XLo z{0uekpyoHIc`Y?{YM!R%DQZ53&w^C`jGFgT^FC^xM1{c0*Qog`YCb{D`-uSWqvi>m z%&I(2&9l@zL(Sw0G!xWpq-H%eS5tE(H92ZtOwG%vxrv%PsJV@r6Vx1~W`>#qH4SR2 z)I3bh0ySr;c_THyM$Ox)c`r5Zrsls;^8soerRF2l{0%k#otn>5^AFT~iJC7`^E5S2 zQS%dOen`zqiZHLB=2B`lQL~kr&D89oCQr>?YW7fbn3_AOxu2SQshOpwM2$;LlbT1U zc^x%xrshr5aM+uJ+P_PG{x&s#O3fcp^Hllvw@nm)V!OTccN+gQzR}_pk4?(`9vN2wH^B}&a$+eWl1^9Qqo}wIm^;@fEL8(7t0u63AW9p+YtIn`k(_yZ3m?ItLMu$1kVJ>tk z#DNY|zr&R8Fx5Lu@eWhF!<6nYl{-w~4pSFp;MT((gj4yF$_GJH`z268+kVu33+tc# zNuhjCQ9%|~K08#tchN6aKKh8bP`-DQ2D0)|DSx4SA0-WB<)cuiP`-Z*mG9g1iN zGyP)a`%U`A%J+Npi=oc&BC+HU|-`~C_vjZZ--RU2tbA+f z7c1Wj=@%>CcKXH2cO(5`<=aocSo!XuU#xr&(l1uN3jJc`o2Or_e7{V;Soz*TzgYSB z7c1Wf=^88FN9h+U-(S-&R=)p5zgYR6pkJ(f-=bfvd_SUJtb9{a`6|CozutoiIb7nj z@^WGn6)UQoriLrL_^b6fopjV+UBW36p6W0!h%4l}$$nxw)31=f!B^n})Mgsh&`scr z8)Fy4-cykgr{r7tp$(Do;f1%nE_|v@@v(wCSPa3jEvA!IKTb!%0j4gbXl+Bm3# zZ>OS!I31}03fPCCIo}|wx7(0)aoo+K@Cu?J`C-pI@yI*mvh#^Y-kA%+8`D_4-?b8Y zel?bxo6~&})u_A@PxK3`$t5S74%1&2EP|E1&C>N(;@b_LncL(N(7CB~;go=1na|CNb#5{vD z-}pRg7!^5%(fbAJB#yK$ekG`951~a56)Gh>(T4_WBn=R~ONH8i51A7w2YGJGGvS;G-!K{Kyy){K}{Z-qMSpI4CYNU&7<($;f^-C9?l8 zMr6M_DzfE1$ez|~leosuR`jgcl_8*rb5sPc?`5S>>EKLpGKy|W6q{p2@u^W!>=U4)omo1JoQ&O@ zQ)2g~F=F?vQL)?6hk-cloQ&D;rNr!a#)#RsN5!m9w1$p9i-XR|_H!zz|ea3^E4Rb4Guz3y zu3eMP<5`7%pr@!g&h-xrM$-|vlzZ=YZ|<8P8lTrN7DN+3WF{1c`QBmwOX9^T?P7BG7$r%2( zlo;R(TH z{63u$zfYYbess<+NGrn`KxKa{e`T0N$cHIbI`vYuU8chub99bk)gBypC|FGgf8W}j bK7#+e?i;(NpDEL6ByraG2xTU=XLA1sB(F-K diff --git a/docs/_dev/.doctrees/how-to/build-and-preview.doctree b/docs/_dev/.doctrees/how-to/build-and-preview.doctree index ba3c0db816d5210da7a611c757d26c888f21aeca..37853248ad2db2a79892f6c96f234fc0814f94a1 100644 GIT binary patch delta 872 zcmaKr&1(}u7{-%Hlk5f&lWH|WO!HOhN7E!)g<9*)uM`zT42XuLS>2sBN!`sR?Lo8$ zp~7C|9WhBGcnDQYElP8>s8A81H~k;{=)qP&FQPNM)Eb3e-W~RRe$O+r@9dj~oUi{U5>#}Ie}K~@Y3al#d47QVmFz@PP`1!%y!@^?R}rv3%|B$ zKvoJ#VN4p$UmYZ3Fpj9|t(EqCqD4*P&s4U1l3XXI-pwFwbwAmJV$+kamxmlN%&DoLZW&Cc{wmQeGcqlP$zbCuvG0v^zpqq zi1zDEFOIG?O(r!>_h1gM=Tm8Ey4Ty9-S%%bEKZ+AL&jEnYHt3I9M04xc+DmYS5#Rd zuvGK7;wyjAqMx1ze%2OHiJO0Ze;lD1ZvN1NhnA3yZVE5c4~09}%E8J>R@|&4SfPQI zy1$<(warCAR-}9`nNzcAK_)t-@v=Y%Q4q!pM29tAkqSa`RLYGI>H*365s#|bbE&K# zWfV3LT%vAb3>R5|!olnMxqUgd9$_WJN{SX$;~7+#7!%g9DN4b|nFBi*a9bBosiKpO zIVScox9FquPTh!I2Hgl>UL|jajsfr}OGUE*|bY?S+H0UVaPDrh=V3Og00s z@Twi=8aAlT`ccHt_AqTEw1?_6o03=MVS$JNt&JX1An^;T=*6ubm!AxvQwDo{L-yML q?2C8(C}XfGo%OZk>X&mZdd0w@_&&7Nkr9UTa;iWlL{1xjLHIZQJ`z{} literal 54728 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 diff --git a/docs/_dev/.doctrees/how-to/configure-your-project.doctree b/docs/_dev/.doctrees/how-to/configure-your-project.doctree index 88ca6ac61c11f9a405ae478e97adb4df1777483a..b58d350201a7600f87251197901b31223630b898 100644 GIT binary patch delta 1581 zcmaKsYfKzf6vy{oc4vo&6$<55ciCmxE?^7G7QPq)_0`m141N$lRJzQ6P0Py=3(~FaCrla>No!l_!`c#q(GNyqMH029X*Aw53k7QQ%b9!6 z{h#0c&z*DU)@<6?+te~>Ib58WvGfb100smB{%&`JH*AJmf}=1aB6Nwnf=WzO6(Qt^ z34xI42zNT5D&VFW^-Nm~j?S&gp+F|#y={BrYS@8UHw=a|;FI=2XzaAW*B#FPCT$U) z+(3e1v6}AT;QRgM(45UDm&6r96`b#cm8dzpn=_dtr<5j@N-n9aX)d{4`hdWVu573- z%!I2!4}FybLG_Xsph_+_76u$UEN3N$+zqeD6ZCy#)mknX39(zxn?|CwRhRlIhV&Qp za>*i3!+oJjdh)Id2!`6|3j~yv{x|P3 zoayn4N zp!=+M5C3uNro+FUG{>GMv?axj#69Eya!CuEi|=1c@9BM*L{`%$dmB>e2Ozu8PF`M3 z3w^FN^@n{GM8|YN3)?FmkQy~orN5@9zKla|L9ba0%qcudY8G!*O_g`m39FjJee$7l)c#-!E`Nc0lr^RO57H0Aqki~lbRYfJ3Wv@*Gvoy< za>&=L&^lI5+2i%G2D)M_mdeX(i}#*{QDHJg;bKpOeo|!+@1(itq2;AY}=v;JtDg%@@}3v_dxv-Tk@rk zLX>v!$(xgJrNPitq5E@YT%N*k1;ZQ$j_KKZvak(D%*|(0r30wcw)Bc>G#FO=O1vi^ zs=867rK=+QSTXTnOgD%Pz9XOPH>^6IZsAk2* zRIWT_*eCmN_i7A(5fdDm-p)zv!pb6?nBMtp8xC7BJc3ReF;t?~gTaZx&O%&EM{=w` zVr-pa4;$zNVoeG84Pd8qyLcdGJGd1{7U;#o`Wpci@8_0>>&x+MKPS`Ek-c*r^D zg70Q?fh>CH&6I8lbzbL>Orvqpa9nK{b)$zhGdp5YZ(5E^CGvS5Mi<@i!(!e)sFM>% literal 57078 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 Cs&-QV diff --git a/docs/_dev/.doctrees/how-to/index.doctree b/docs/_dev/.doctrees/how-to/index.doctree index cc48969a85286f9b86b64fd5554a88a971639eea..6dc3339b870665ce1ebf370edab5e181189a01db 100644 GIT binary patch delta 765 zcmZ`%OKTHR7|q-~WI_l?rCO9ElSdod(zGeX=4lHRrBSJyDuN7o+tbB4L!Ip;gy{qDE#(ub1&iT~Bx z$VdNp82YorQWieXW+9NfgF+JgSdPF}E+q#gkB7u)K!T~|K{(6}WPRc!ZikAxVXC;T zt+wu$8A((D90;YYa9^k?`EHki_{cuv@<*p>~=#OkWne89K|OkFwum}KuU zGEz0{Q_boc)*6Ob5p~jL>2uNNDF?Dg`m`(lb_8q**yLc@vXGe@ZTwHzb#y(l*K;I2 zhu*cwX|en)nQI{{zyJX&-)R|RKMS>Sa$V6-f~j+yh2Y#$#Mv&x)BqI49&Gb42-*ueFcUN!l3 Kv77GeocIHb`QaY` literal 29664 zcmd^IeT*Gfb+==Cy}SN)J`4#agPjlCc-~8#kPky*JL|*_Yp)%96DJ|g^Sn2+JM;Fv zH;?()^%5whBIqreq5_YK7D|9t6bV#XR7y)rTR=!fLV|wLR&9k;BqUI&XsdooNd292 z=g!=jeLJ3)Jj5ThxKnlysIbLwG$PN>lhj_IR;Xmg`w_&#ppdQ-<}i>q-n?502JMq|OV z=HmKpCm`~o+px^g!%wHf)h;qz?P7oy zEB$CA_0f;E;Dv_gbOXoj^uuU#V9fIadomj98bBKK?G4dHEny9QjY*D7Rc*IzRjr2G zGM(yq&uvH+B9(Rj^n0sXraB`&BM%cS#T2s?#y8s};`&n2jx`WA$gkx;+t% z1%@|or2?=wMY}5%ttQ^m1;C?yVynFaytH@W;(GkO5r6mK@2iQIV3=d}qivbD`k{TR zeY<_z^bT9IH`uSk-+lIe?sc;dx`_c&?oxCIK+>kb30ju&DB5eK=eO4uOdQ@~eW8Vg_#+vjKoe!Y;8zhaOd7SB-fJBUW&*<7JIm@%Q0;bUO2zZv_GU8+H$CZNupV_>13%NrxsIP&d|F zsu8#Yw20+!EczKzkaG7-dG5ZMBoD4mN-l%D_lgmpO8!B4Bf8}g!*?3QtFX(1i#cU= zj1J5~%!0x?DUp}U6GCZ&3imTK^OffoSh^N+~V=eL1TjQr**db%e(-ccaZ`f92 z!RJah#+ABZz2*3}?sjx9F!_-dKN32ktHxQ_Vy<;lTq}UpsJATNc3m=}eOzm=4W~ZFoL-8NS@%NjNU1<y*Ib_U)Eq!jIb39@>36MF5dQh_$JGc>03jG70PsIPQoaG$7OYVT&Gjh&!+Q~i+?^m z7w;Iz#VXu7ZO(1A+$GZE*tci*&bC@z9%*ouH8|K_V41N~d@LIJy_ELv4o~|*h4!~e z?D3 zZN>iBiv7~`I{V`*_9rg0voEKL*Mr6%<);e!Qv;_4#qQCH4%9WP5QAq$ZZ*uIoC3&hRwp)+iRM?PKOHI6%R*T^` zcdlQzE_$tmz6Jpj^TR3T=5D;0fjO0hDVEeJws|~!Uz?p*ae6?6Jb z6AoJ{Qvphspvv_uF&-b3Q~ni89+mg!#yJYF^3hDRdHMq z*MOc@5zeTZn4;Lb@GExEZtZW#7ISR4K6#L;xWbS0aY{*^F^@^cyh6exdrlOw=h7PN z(GHwlzBqd@LT?#VZss(3jvFX%rtvjLNu@>fX}QQYE(G&?`0@ zRtJ*^w9Bi8zA$W{I1nUeVJ#l1>wr;D($pEK_{W*q)Vm8p~)kspl0%c1s!rdliYbjZSE^TFWFlu@9sf8p$U06gcFG_$bB9UY?{l9$qDu zQmeY?bC96!iv=aAB8dsAbc2PQQl(QMHl|7u5Vb%8k}YI#ktos@R9tz%s3xSeUbu2sLG!kEpW|gi(Qx1GmY?`Q0C>- zCew?=`!#9L43s>}Ps*|Iil9hFpDkkaNn-RFYtd?HCr+@2z`D>TL&{I`+?MWPckKuSHuX8ya}VAIoP@N z6epO}GG3PQd}A8EU3U%7tcsdgO^}hyPs`iHZCzASP{$AAe)2NDOUk%(w^GvQivZqE zl0IvA3#PlIm}xlYZMW0Leb(ii*s$p;UQno4?`0yOdnDocHYI&e6w#+MeF*iWV~k=d zI*z3HmY13P5E9GLxiJ^Pk-sza?U(cwwJT}8P(f;2BAly92Rz@^mSsBIVR;yg@C#|7V33OU3nb(yaX}P--ZRPrK6{uMS zfw&)chx-{I4@w}z_b%~1S%mkE%>3nfI^O4JXXR8qy76-sNDC405a9lg zh-)dXbwGRjVxKF|j3k)-3dxi_yHv!p=SUko>tYgCqO*G`r(RCjM;vIRkbjO-JM$}M zWk?KqmKhcaS6(4Wk}FRaapfR!<;q1qC#tM?2Xvi-I3@yk3b6D}2F@)~;|H}VX?&)L z#%B~7leGa`p<;^jF-5sB;a3MOWp0Rrl9`GM!uWZXhP+ZgRDibxMUo@W7IB1~VIef_ zBx0+xe5fT=X5Tiv_K^qgt;CiUvvUlMBC+BKOy0!pT2(_q9zWF5*YmKGZOL+dOPFsd zg82vuK8A@i%Q&s5KxCEG#qGQ+0zM=DfDm#XBYL(cZy(bkv%L{%CKi5GpjsF%m`y(r7+l%2{HoS18=GorK1p2dM^ zk4lNUN74N4>(;HagOcUfrc5&X`5YUfS6f%Rh#kS| z$7jLJT79|3XWie?Z~h_ZY<>!bAMF`f5$DNKjo^rCnPUM@tzv6t&7E>KVQ1z5rm8yy z`)W65xSZ)hQQo*#%;J2lj5WSbvUNzZB#&!39%p!xG1Qn{<8xZWS?Tn>IALJG{3>l# zT36wQv{jjh873sB3kFO{c@v$sqLL%oaixeI4=XAHo2zUV$5N%6sv^+Af;COo7Ud-c zZG4*+?6iu{;7o0@FqYToPl7UvK=CFi8p2Lhs^ca2nD>ZQ9h%@a^)z~s_cuhJ3UcI) z5EXgQ&q)pcsSqW3R4?KY@59HZl1Iy=ggprMiR0=Svz(q{PyO-aV0%tEE{~E=tLc)A zY7{Z*W*Q++87*Zcx`i-=q!CGlSwscTkVJ*pfK4SfaO%mJ zSEM@O@LhaXFDr^kB0_ApDs=N*(NA7+6Vp6ow-TdOgz*A#`jS=G5Dle#GVO%ALoALl z(kkEA4p7|mpmwBkBxM8*r8u%WdqD(NkK`q!FIjbp5m4*d{b#`*Ze3q$81woO{fNSn zDqbX)n#sy+T#G}EFDt!B>zk`@r*0KrN|NHlTr^tlVOQ%}xb z6ej4HdPf|bwY8?c0ggjKMpra(wcR@EcMVD-97kFQB4&#gxopkXKfaIFwl5&cD2{AL&6%#bN&Nb?x} zS#@L=Nq*4=fK8=NEPROG*vE%8!Mcj%W>{}Nj3>zf-rI;%i#SY9%oG_XD%0+&++DdV zX3eo^6aP%1J%^SCNjTb`ZE+A~(H?PhR+XkWLJM-&uSM<^B9|u08lA{cDLr%+r{x`v z!yV$|Ad}i!e*)V;mKde{abk;h=nw^r!|tI&6#nrK|qW?5ANG@TJ5G+M9NYu>*YV)?~4Qol2qWo{ip)m`aI-Lbos<6j&AIFzF z3li4W%*|w+y|f0nXd-F3h`6zoIOTl%K2TOm-cQYad>)N9Rs>l|oR@neHC#Y%@?`oT z62w{M>!oQ{Ta*TQQPPBgOgzkFW$jPW0b~-1PJ!smfd_?zq`H!Gl4eB4NmPjgL=@z+ zv^2H*1NITh*uEQ!(ir3cnOPhsWvt3HPL{8-@g&_Cx-s7T6RaY!nEVFm%AJ1mEBwMyXVkM$Hn+bANHbcl)nv=Ub{-0yZv6Y9ah8X*5V1>M}xPB zJ66l$9e^6;xz=R)a1jBt&` z!e6xjwMyLU>HIO&ILvUVcWfQm3kM`!Cx`ylsn zw39GE_k26{IH3M=uLK-7;o@9}{Fdl?oP&2g6MhSJ*Kne-LCLT)(U=IR5=R_UDug{2 zZ8yTet);i3>o|qq4BOpWqLN@N-{2%ZB!E$aJNOO{2$Ft!tLs~#>DJ(Sq1H~g9s}1s?cQ7?*F4=xo4-Rg z&(U3|>;g7-9V?jQK41_K{%m6_9r|q4F^aJ9-k%SFdcy}5c6usQ%u&9AAh)~tIhM3}x zH2;hU{W=Q!bM|MOe@ef;OvN_jS2ZW8cnuY=rs5zKcTjO3757jvMa6L{&Qo!gipx|y zOGT54c`BBu2&i~B74M?r{Zzb-%`xdO(a$eZ@l7heLB-!u@f|9@PsR7B_;)IP zOvO49z)$FE8(mFOaWfTrsJN4g+o<>=6~Bujj3!95!EzT05Am~bdo0@(`*SNS))f|M zkHy(zQTAAjJr-e)#n)re^;m2@7FmzQ)nifhSWG<@QIEybW6|_jEIk%UkHyhrQS?|0 zJr+Ta+23Q<_n7THW_gd<-D6hwn9V(AagW*CW7hVVtvzOGuSx9eF)Mq_#vZe<$L#Ad z>w3(#9TZ8t==w%d9@h2i>56q-qbt^Rovv8d zkJ1(E`YF0%U7w{Z)^&rfSl2sr#k&3iU9qnB=!$jyLv+Qu{z))d**7YCL73=y>=!$iHl9Y#aeGgr+uHQyitm}8v73=!Lbj7+pO;@bz zPtz6axmFUPuD_G6Sl1)EVqO0gx?)}b9lBy&=PTCruhBi$^>5P^>-s;^73=yB z>56szzvzl}eIw~L>-sLbVqJf&)b-|XvBGatCp1#}Xj=m*6+E-U4vIVEx5#?JmaBJY zvgNy&0NZu9mCTWR^M>5br1nIn#R=IfzqC8kK3q^Qpl@#6m~Sh7f=_C|tKzfOGl4L{R{9E_+VEJAElxk9MN&&WU03)gs@$F zkU`!~RtNHHI_ZaN;?(eC(LJYONIaTpv0XvmeA4#C=TJJt#)wgz1cv$L183WFWMA4`0JyMWZCdFs>f#@J4ar&`05wDKJk63=^bdZ zX>fbZI{uM?r5Mq4?)S0i@zn^EjkfH;AT@2f827tM;{Lf|aW`MU8wqL-rb*xr4Ga84 z5%5HuGEuu2@JC7l{_qF^KRhhp`-%XIt-4~AUnq(4^CLugY*>_c4M3Tsi5KJhR!Mx{ z93j5r!{U2z06v+#om!z{pg$-H^!p@<8LY^5CGHs5mG0ugOIPDSQd~8^p1Efru$YrvMi_yPW68$fX5dEoP z(GQaHszl*poG+Ec`Oy*LJUuMVyH{(olAT-(@DEA?{JjwZe0*4d53L3$5`yJHha}Co z80=q`1pDm~f_?L_V9fzwUs1|!F;9L}k|#eLAy1}<<;inv@iy3Gl)Q0iGKc;D8{O7}9a>XfZ^$B*fMTA)X%=Vr8|q(vBNt zsTQMKDT(eqBSiPau;>mAK!>c>Vr0Kw64}Q`i0s0!$Oc4fD9u$Qv=-z0a!Gt&8X>-m z!{U4WYRPflX)(0FDGBYbMhIgUbZ^pDBs$sS#p(W>{uz1%tL}|`x zG0Yv~<$R&7s5dHK=*qA#2LuFSvEnr8HI957ED7+A5dt)Z1vtPh5SgjP!ka3I?f3|> z)rZBVubwR9#M5GMmrH_sc7)&>!-5+S2%wzJVq{Atkp&|}W)6#NKp=pSiM-QdeD5!b z?|mc0XAO(*$<=B(WD;pH6FyUt37;Mz6Xu3x!hjziE9Ujet1U@jq8mMx8TAlIunqfjYj)CIogdMMupWx7 z?n~TTCJ8|xArWB<6)4feu4~dmzt$@C5J*T*A_Nja_nRTJ9(p-*=YHoq=iK@3j9zx$ zTtKc1#W$`!a7?)FkI;^6tq`PIHb}>^UFexe53W|y9XY=^B|03+PW36@Iqad4oV)ok z?D)vWR!ui#+?(i5oo!=EO$Xw%(NbQkQi{x|`h?SVU1aB3y;4l7>788lHl~z>nbJ;* zn*w_SP3#hbGVhuLI}csSRW{h->U;30=_vY-q)bmt%XDJ;09t}}A1%*2(V|E_`FePS z@@?oR6so-H5Bm&@{9#79zYzH2&8g4xjo!a~o&WmMvYF$^BUv%~XSRxKbb4!MWK&pJ z$5(tjedf>$k3ervdaFVbKS`ZVw%~zY95ZAMpTQbV#&BGY4$6r*%k<195$cmNpI+W8 z^1tC3`N!t)1z--q%_UR_uliucV~oG@4FQvs^q>^&d?1^HHSzScbFdvP92MlI4 z6H!kXSnf_F&oN8GB&9q@GSY)}J^|w5FNruTl^`EbT|_4(P_*~zRqG5vwH@4B0geg| z+V%QmXg|E{0~mvNcL5#&JOl_pp@D-*M36HEdo4d(FwOPo^|viGAacbLNL$Tmt1)dV z6>xWgN;CJQ-`<__TSjohY@^XNqj6Y)k?NN+Wgl7uG$hd@A1Bdgm{=`ZkZ8qHBRyU4 ziUo)hRp%wzH(yP!es$BSLNi*mdEbH8gjOWlIluicYD92TA?u}~;WsO=u#Ppn zEC^v?&l+vFMf0t2L*mj?rWV7@y4S?X2Z32KAf#c?d9MGQVncFg{T G0>1z&p*8aW literal 66332 zcmeHw36LDuc^(g7fgRicDc)ua0EH!lnE}8{T#1BW03@NoL1V!~CaKxpncnT0or}{w zyI2v_Madc{En5|iF6(gQ$Y+U??MSv|M$Q5zxS5)@4e!RE3cscylqa)t~4&>%yPNWEL%>` z+gNUvI(4hz_MY$E{?^{Jy(w?9Z7w^_PP=6FyesfV$*$DOZL86H3JW?|I zwAi-h{r8&gw!w`p`7%b01kEwfC2nH{%TH{D9ftkqTw^yV6+X1#7U%8pTK z7!o_Y(QFvFYb;t;%W!S0PLG|HM#)&NxVEtZgpF3aS?-kFT+dra(Db}bpi!w^Y0=lc zj<>-z7x;ml@g`a(XyW$ltG&sh?1uiDkhE*$?PlG|Tcu{LT**J&ZdR?5>*SB0J@)Xq zykJDuae-?VpF4TJ*v;jv+srq)N3)hKbsXSVaTxwQ*hcR%zxYm;5Uw;9a%~3`T34$y ztlpW0U?N@Qsku6OabuqZpE!x+9U74BO#6_ z^H_jC>8(3&T_Eg7{Q4a|)&YP#EkHhF?*&24fdnBeUxnB2k{ANx4UFX^1jJlun=M;M z=0BZu_c=z%hPYad1+b2Um}N4=*syT=a_JbRL!!H4SWC^?l9e;g+Z88+rzOjQxZ`=H zY?Y0<6=T29ko^Y?Qz%8b;s||gw$X$MEioI$aMh%JDvnO} zjglZjK8|=3f~}L2s{8?D^V_AM;ZrtoRsnjkPE`d!yJ6{ z`&VE~Ndl!cg)MOokR@c{Xj?F-Fq#lJ79lBphOlo&bKY><9hlB}h?Hh?Gi*vjf^@*J z8s;3V(}FSIk#-t_8hXiqP|kJWY7Dnhw}ecA!Y_6(6=xdh1xRvci^iEdC1->OowDzh zH@xkSk;a0q`)W0#VOeD<#XIE#Xq|kd0D5zJfXIYh6tA<$>|_(RX%5`7++q#JL(?V+ z;G{Q6Pl^@Ss%wwEXJ$`#YHpWm>;uN?)c3**%+wY^l$*)Ypaar)# zh-#GE@yyE(s$|tVti*lz-WP{erhgN__&s0x|wlNQ_^h#5m#O`y+BWA()^E zrMlB6kzW(R@8?+zsrR&E_$8en>BR6_NY?MA6+?R27sJ7=dlSO$_q;3jGY#LZ2{C&K zU^MA%ST@@Y_;lT#{s&*4+t$;a3WbYS&02z4FB>hZjd6^FupcpO(`a`v9CM6zv+3px z3h)tTWM&_1N@X=LthAfuRIEDUnsfJ&hSaTWb16Gtsabn`2LYXdS)k~|YEWp5F(1V< zK9uK996f&e1cBqf?mzH@kHCv~|B}$6IQ_mgu}L|w>JB6pbdlAp#3Pr5o6?r-=o1wU zsv9Cu4Yw>Y&B4grpTfu_2%oe+Or?+sI=W`Lj##H13(ag0DY52gh6)b@0T*h8hf$kV zyΞ%$5ZDh%m>=dI$Jt2uryTT7#W!Y%0V44N&-+ag=8&_*;(P;aw}%N zHap9SGKiCffj_^~tYMrFQ=ch`Y@8#~L}W_xBX*^!>1=?4$g+@6sexu~v!?r$Z4u}s zNjGUQYpqrztqxXxkg{si+eVc@0R@kEd(z;p_!dP$$(@W{rK0Jw{c??e=oNz#qN|DF zOIt%+4YM|sOp$`rMlRR;%q&tu(vJ|CeUdzbUr^v*8i`i#q_>5t?F9yJ7c`snw)jjd z&efWwMGXUQzYpXzrB+Gw7}`vxWxDpXk=JiZut)hsAOcW62vD2^L*Y$csMn^QmPtA7 zjfkcp+DrJk9=QwLy5w!FnT>^xxqy4?NC$e}R=cub*YM9RB9lrg9j-~)`fD@bu;98PUzg13!j z8-r(V-wz#-bhp|SvxX4w0+IkK2bfWyXj=JMLW+~XLf5Mm+z3V#n>3)MAZ+l_&>H!* zNF%9Kn|fx|eq|ClIBls2qIH@K`9?`P3HCaor1tqAtO@27Vy-?MATtbF1)T)nCGQ5x?~~394{Ff}La&C898X<_jV@Q|W6trbNbrooby@){k)h+hCzXuk$o%BBOE>DgI?N?V8S_ z49Gc32W}=Bo##BZtC~N6NxHgKpR-_iF(VG6Ya&o@Bg$zt8)cexVdC;cO~oY=MGUTT z-s^}Nnl-vBqT*pINrsySInL~?RGSHLLu=x`NE69c!jH$PU$%`e{Iik=4eeyg-I6Fd zl9)I6Qrs_HT1RKsMBn?B7_CN1H8_$H-V%~$iQr@)<61-Jnh<(ejA+NFD;i|UD2^C2 zIBP=l%3K0m%5EoxcSk}ogZjqXCDH>~lb4rdS)+yRr?HEC98Pm2=1nL$k&rjJdB$>$ z4zJ2Ff>|3bn8 zFaZ8OhzAVJfSbm$i3Lbaqd7+-dHn6qNV3_5@uyU|7>J2BgeS?#7HK^OCB@+!q+|1& z$DDkvvdG!-<^n>QG;>9H3_9oXbrZ2pJ1^4Qxq5leLX%oRQoMK|Gy4N4PHQuI2~!~h z8hhHRcep8_k7W?#+^`yjr)^=hT?Z^Zp!lhL%sXEs^wbpS*0W`9{kvPwov)pCN5_4cOaY1fh3*=|}{-0|CaZ8B&sbL(NVcK~0D8uk5;np+% zQ$wRkiezSg$baLSAj(KqLIjl-MH!h+i_V6$=zEkGxoaf!wYe-JK1chg`xamBb&ua)kWjb z!3XgZgIZ*&jl=YtQ`x)sJ`)1r+1&En)0DGxJcc4?gRHRYD)3UUvf=<4ONj$~BdnhGQF9yl9ndtZl%Y+w|UN zW*(-%tN8HInVHAVo;&`maZ$WlvT0@9a(VX}J5vzsuFM-x7}>Isx7YwBBWoG^octU19EnFLw?7~MfPl;I(>@QwPTz&^hz|n5 z<|}L9C1<2cZVgEstZBrID|n}L=s^sP$k(65xK_^TN@4W-ue9#lI~C{v1}XDR2qIjIa>LE8mBevR@<324qfh)@JnX+ zB{NJCNB?Oy|0Of5dz+Wcu)pyAB{K|XqECpdeP%A04LgPyd5yDS)mLIHhsppo4_3$& zHWfA(wiLD&wiUJ)b`*9Nb``EETw8cq;kv^0g&PVt7H%rsT)3t1eT7>KM&ad!-Gx1c zy@lHfuPE#*O!dv8saRf(RA?6Mj@8Vf$wYv?J8l-uyXQR5Mai&V%K`Z7ig@Bl%NMjN z7D~p{JbQH7=gG(jW|c$wa-^A5Lwf3)hxGg8I1trEygF(S7HW_fg+$N z;mFLnwqE~jL};JPRBsn7m%)^qLsNEYbOk2h7ESBbQNxJ|#a69SLTTfQAu38KsuQJq zWz^O2#GOAB<9QfA-s0F#A3*gjO@6U}L~8+WNhFUpn13!J7-9KBRwhJ9nP}Lg-PIcV zSCPh2Nf|-FQugR&Vv`ceD6;8<@|_UMH#3ll_}H?*gx z%BbeWiU1Zf9`3X7@mQPc`ylO)p2qY857PbD=mw<>{S-gHgyaO)w$TVWw9en3EI~63 zqt;yD;!%I)&!eZsq&yG5wc3CT)tq8bfTgDbD%l1GM`EoS>c=r8T5e)egdx|~1`xa$ zC}9R1V=0F#6rp6g`Y?KcoT0WFOO7Cp0=IvkU7u1MQLA z+Th>O8u`LnnB|40zN7G@Gp?6lEPsZXpC~7Rai#a;jH~wqdA!+K-&=DWIpfb2N3GB0?<-C{|2o2|uzG^u0qOz2{W}`Jza42Lk?2x6 zsb}`kr!>u6J5iNij-r-Mblwe7_}U1fL+{6m&U=OE__;2K<E;Xf#P^mhB4i=5nnX zc{LexVv(AYGtS^G$Pm(dyjYDsq#!ecgkP`-T(ygDcuxqtUbDz~HXC9+q|rf5TpQvm z7jfk>ePyK2zX+jZNsANKUF*U#VSU0H5G4>+|BfcCH$@srC9Kpl3+w5zvQYzTEVyOY zgxkw$jbx%IrG_`7gif-ee;V<~nxGB2i755b>H3dAcegQT6NMmf6ZF2)^}&5qClPN{ zGq_+X+m_X}6v4}ZerHa7?cI!kHQQ-rVFs1#2BF?o|t$Rz`u03rOIu}{?uFd~>d_U| zVkab-UBa+}BQv>~4KK>(RpK;ga!-Z00uYAsIqESa@R8C_zqi3%4N ztH6OgbPIW794shzDsvO|>wz?Fp5{xY*Q;YO9oJy&@fo8sk13VO-c3 zj<6i}Z#ttyCn+zH}<`!9gmLJqiKyOJTyI zD=G^dEMRCZH?Tqp!m0AYo3zg~M*Mz+eyf(PKZ-PzO17wXmaS|3rQQ+X6%nIwrX%7< zLPQ+CW=LDa?iWvKcN8$+9tl@%RnU(Co^LYF;cBUG1w~FLe9menFq2uVpx&Lf(n3|< zv~gD*Rkzs74VxB_*RR^7nT@svDFq1jkL*)GaHv6Y8IRUTLhK+9pU zr=#8k?LkMma2lq}SFjPG+zd>NP<)t{0S&Eh=H&#UZ~a4bk5ZN7FQu#c{|;{73(dsUCkiNJRUBtEEeV86GUEZ&$2&npu$>Z~A%M z$Zm0%SwWb_i|FBz53u-AQ4NcDY|9X5q*z?|RY<#wdIKsHW53ROs$rQu<(?tN7@YWW z9@h?k723^=Hgxp&9F^tNy7HkBv7cu~R1F}%Xd*f%v<@9K>Xim}+eEDwl{g~aK+Gz#0?>La7ozfRR+_l6@^x5Km{^b< zFiGm&2LF!c2yTrulFEKl&uqVcAh0^CVn0X1VFA!U8;V~bDgl1}9j%c=Yr^lo82r); zp$5iKTmo?oaPjYGjT~DOF8B1~(ys_SrU|Qp20$_v7@35XMxwG=zpXX*$eQqZb|jqy zV&m0H6&6IPqU>+ot{xpid zJ2fF>nN(7{s1SNMv2`Q%soXU<#(JrY_J?4Ef8h?ot4&SF+eS7$CHRjMFO+3#9`wMp9`Qi ze-46i~Drx0j$KZVjEa`4z(g`ZnO;Ajf{9|I)f@|8RL0he^%8pcR# z@=qd7CX1e55JhmXvAl0hl+nOQ#%zQP+~2GTpPNZi2l7YBUld%Wc}aoDzt`k2B!Bmi zlMF%*1o)Jj$8Zb6sMjq95dkEUQc)`Rv^Pxy8o95U2)oEt``S#Tp;Y2Sy|egC_-H7? zMgdDl*k20~c5GRw+eSi8%R>DI;MvVchO$tPzXGHBAQ5#8lQ5L_#w4NG$sODlrp1^! zk9z*NtW+qaw8wY?R>YYuQA4ONqSH#mAsJM{gc@~&pBRZwTmLMFZ}8>db}8Zh6xG|v zR~Yi}F&or(sSLNGz~KNFx9jGjMR~2{2DlU7aJ@va^b`|H1j)Mtk~iMWmy&0tkCgek zYc-iK<%wh0XCKq!2+yLjW^#x!eKi0JvMt>H|hp;Xq8dS`1m$oUAA zl#Psnt9X*+eEx8_jeHK~DY~8;r{lCcNHdo7@$&YzHG}gkN-kDom-+A*KbhbEK!NQf z635%@P>?#8t(lltfn4c3KW?D2hl+HR&K8=D&PuVs(MkMd0jILGdfwIeo_C&nnz}No z4f>x5ltJMbw-9q{D!ljG%jI-Ie{5y&UX>18DjMl-l&@-%RYlEQxm0E{gx2!q8tSAofx3M_Jyc>t4^t3N=?Xn4G z3@1d9d5mPnyc^54z}tTU8aTSQznTs~^EW$;OmiuulGfXzuzE56vf9QY=|jDBr&ngq%Q3k4L)qQ0;LX8l%Icf& zIOGMZZ^IpLOC2@v$^lm2j+@nY;6mW}e(z85=Rd9A`!+!^a0la6`Mv)gX)-KRdbmK8 z@DmjT#~{BKg;7a+Oc(qBpmN`k1w$N7(KGI9 zvH9$*SeeqF8qbJh6ve_1KPykGm}^0*-Jk;lu*Wf$E+c~*P88@Hxj9%7Qkkz{btzXw zs+{|^v0!UMx#N)0!7gn_AA-{DZwVo;HFzr0U|7NiI5dKS9U5;%rf=Ss3?Ehugh?&I z+pOQ#pnJobpnGUsoYWvnMsS2Fg4UW)yCt+UU7tLu_$~@>SRW(&l}GuUUXR20g2^h~ zMtBE&!ROKjT48OKgE$c98HKa3!q8DC!FTB<<`OF(Xx1!Y3UJ3c?8!=yIjCUfL#Cya z#XM1jdVUms@MPY5f-h(?@ARfC0hgN1yXO?n*kJ2mE@A5?u2j}mdy2|xWF}~#1!AyP z6ALymo)=j|Byv{$y+Y|@0f1tnE>X7w-ftn^OWY#++Id_2iP~(IPZ;$RZjrlzNBtB4 z7=2W@j`AzGZz0j*ipO&H>s+E)+|tZ1CE~x$V8v+xJnF@aIGu zqxxSM+c;Qa?uD6gJ!CdD~(oXFg1L>hYl+_8kE>gM~)DgW}6@nB=P6K zi=hy(NUuoFkD;Z&NalcK)JS?;q$PuMEn8vAsFOp8Mtr`NkaNnm=+2rW?v1jga3h-F zNLw$GHQ`gL=E#|n;S9Mh->(X@Dy=7W-!NY9pG1yBru+j#W%ZTzJx;sNh=^qck+L$d zyNCCs8Peks`3s9PRjabd>*rkX4Xue&ktR}!F!jsk^X^rmt5hh8LRi8hDirwVnmD95OQP68$Mq4RPQVuf47gwkS#pFD20Fyy0g z8aD5z`5{W~)==B&uFxWXUVB6O9-Jmad;Pn#aKJ%rDNZ{KiU6?YUwrFYxeP@Jv$NTN z_84H!*G%l91Jk`kg|6@@^PL(>CBPVLu}Z^4ObB5U035PQyBZNF)Gw`1aMZByiOUGD zrVnmJAHpiNHH?`wg&Bpe*3`vFQ>j#o`e)U;Z*62#8WzPUordiR3y%88+X24t5gSfc zjxE$`MtT?-cqENu#DF1bAal&NN{cKLh;2}RB4&Bvm3Q<%Q8@qDD5U3s%!h+7cpx(s z8pu3;1ro}~ac(`N6$ny!niy6~zha<=2MD2w@a7Gzm?kDwNoL;Iv#Y$u;6oSYCm?d{yO4X7fz+URqs%|N$QKkIG6ukzoj%}NktV{z({xB>$ z9H@vHs4qJyS^UnOQHO>sskCgpN#_<`2sUq+ft<+=$D zcHM7(QLsdrs3?JyGmn{H4Pxv&Uj!!VyG+uUEX7pJy>O^DI58p53LTi*P?Xy>85XTn za}`@ml_;l34cMBLj$^~#dibN#@WZjdT4xXdBEP_e)7Uu_ z1>#N0`KnPBjn-_Mi);AjgVM1IrV|ZZwIC34d+CBeT4T944Pu%_eSJjo!pe$Ng(QJA z&J*H>)`S^pB9$^yzigC0#^b3MHEoriMyVCnB|RkoGZI+rBQFAry~6Yk2bG_W3l?YS z)DRwUu!KXtS$1=|TqgE)e>miCLye5V;G~YB&J|g0lJj;s-0}W-0v{N|F8HxZV@RwV zgE3Tp3Caq(Pa!MZV(!wSgTr-R~{<>lp^U$cVbbFSH5$XgA0C}f95)p=TaE*HJ? zR0zBDpq%uY=<_VCu~bQl>!Qzn81RZ;b%_ewSIc6Z)xbkqc^l?K&+8f~XlW~Y93gtp z!o=)pv%OfxPDY9fytoki-eCGAM`fdk)oCqQuF@oGV3jsVAWUU|wpfse1H`#04d1>8 z3d;i$%T)bIv>r)B>kOfF%xp9p*ut!49B-Dei5RxR=LFx3yMlel9_%0!sE}pML}nJp zGS%}Ay~G>b0oe$ad*Ika%i(!;)LY@BEPtipu3nE6dh+XH7rhYQZ<7>B21=6R2g9WB zwzVz9m3d4)Ejl?DvvhDi5soX;oU`~)Y;3K2sxsH+liy|UHE|;sV9SJw(Bh`xX|^q! z!t53|rO`mWhRI;rqk2tA!}ks8T_XKN80qS73MZ@ZJQfxKQF);F9eZl4!bNC*1lR3- z&y_-}XMVL?h@)AFRl05^l1~mp@?k=1hI2Zw%%79(`n6+BQsELhxS`+nfY$b{KF~0!~(qVWO&xin_4BPyj1Cq9HC{q=9RlGU75(zl9eG>=ubwKA`I z5tcS0f;)o_adfHZP$QRm8h{fb%qdBju|OtCRT@Srk4W_Z?E|ua1y4wov^%t)GK~v) zF1ljkcoY-+)zSDsk>VYy^=bDc#ROJElex&UsV7cFLi<^?kC{*ec@e4X{|0cyeWya0Df%W2E+OK-K@$Hm;U(Eo9>xwH%FI5{ zX=50#$NQS(w%TTS1ylM9xw@5~$D4WV&{R83QwdRSY)M{4r z8ON!+eNIWJh-Ct*tjSzfP@%dYfJ);KwLlz_ErjqQUZ@syyh5DOtw?HdOu$hxrZS8% z%Nk=^ojFWu+hHF<>(fGdrT7t_B_TT)WSsJTo7rX~EdCLFL5$A&B3}T@wQuHlRT^xogrQ->rRF;>YTTT+gb6FhPMB}?_66^j9 zIuNSkNI0a!S)3zsyD=tDuHREh(d#7S(FP@ejbQ+089=0dl%7$V1)HqIrS~I%u8U-J zz@DYa=Lg$n%T^#a7g`j#N5IR_Jarb1vSn+6z;_LKSAn`s zf+`!6V6}#Ubqj&@uzBdvih`&`f5tI)JwMUl32rD*c1lpRRwOh}4}*pyUxo&*)hyRF z3kr8@cjiP4NATsj{XHZ+Sb&95IChAW4xXcn2thaV`|PUfRP=!DGibio6Zie@LaKGI z#ANiYCBp4t2)~-izp_AX6-(802dnYJf6gqCTLn2$iFsMee{JCSE_fr{Q3&Z%+%u))0a?}vk0eWH z7+G#7vdoIv# zag4jhpYsa6sF^hXc^HO}T;G>~a0+lFNtTC^gd=0YHsd%FuID3p9>+G@^~3kxN&9k= zb;neej~k_DMOG+k=XUhHp`q?SG}PxIyn`vrbRA1PFAT%;`-$~Fo?=TUrLz)TizVYX!8(sa z*zHi;A2kT8-#DzN2ckV`V{AoJ%_9efTS^WRJ0<@#LYexT@~+dN;lzO`iSJd-O;=oD zN%(^o4Q@s28-apoLOkhN0je)}w@bPY2TM}?nHV~FH;DD=u>byIf^u5QCo`&`cQDvNk4wwS^ARo@nN6556-c~W1c1scJsc{mjA1Fzww+y4yjie-xn%JB^m}$Tf zpH|MXqYAK&?rZFqe=D4}OPqohBp7cU1_nDy0z=HuDqv!rP{_!Jmh^?ESTh8On2*%} z=ewexkj4fEdc-~@l5ZP^fM6s1&eHxB0xD@u^` z`bpRG=S0r+aFj>cWh>ZjGdx2rmOOIn+2xYCkUg9|tkEQo4=KWCutHPYV)3I77JbQJ zg$Q?xG}bXi1{Iw~&P&okUdCnRDC<&WnNDEb^{5Tri=7bq82@@!ZV$ixf=N zOeDppjcIdku01`Aaqf9zDmvP|eO46Zp#9DCp0$LPOlV(k^wuFQND8c@F8opl;PIUy z$a|X*SRuh8`tvXdj%)%B##H}a(Bzx=U$h#D6G~SDS;cJn;v4iuK)RepP*kY?Egl9u z+)Kp5CIA$M6dRrToYmIpb})A+chINK5pO;Jsj%C$Ii9uN)^Lk)zi~ktn1j^pJh*Wa-h(_J@m?n2jDn+Dq&FRs{0U@E zaKgAQlNklIgla;dp}xOkI7HP$ct-~+IJw@x>1c<+%W;c08L%LZyVV=1&Ao-I6GV@) z{TJzA*CH&}qRvRzU%HR7*hX;5`{vNiz`C3ofS)%Rw44OrL(i-c{NgMpUF8$DABBj0&j<=&kTPbjI5=`K&6jUT5 z9&)BpJ@oxQ^>Bx6*msE{+hBhLRg^U49e`F~ASRNUIKB&thAcOyyq*3n@$AFeNR~bg z&b~rL8$N}<5}#tWI+6qS41b;$MQ`DO8+VF=A~ocdfM2ZuFKno`V8}53Tq051=TzJL zr+pZ|b#h6Gl{yGb;$>nzdyjXG+cp~x?UWDehXoT0AencSNr0_93?YpK(2!yOj=w$6B)?y)*W!&UljxRs$QeU<*C8G>Oy_NNLtv_+wMM*>nM_HD9^V^RCR(j@*n6 zD-mAs_w_7x+BN*O1)*+n4(SP!OMtQ-Ft=BF-p+Y6Lq|4h54+e854%^u2^25T95Hqa z-wLBsY0+lkJY9eWZxVM<;m&u8bdW}|RKxl5KnDH!9|Six(}IPzTja^*Ug0VahtSr7 zKi7LZXq%cMuyZ?(d}+P6o-4@E-qvNaP1W*v0}@%sok_5xgk?#{xBx!hHmhhgu&)#e zj5pbF=d-WE8YBF^IsC9_wcE{h5v%;mHLDE{5U3?=zP3$JUTbANx6<=&i9CrkQT+)> zp0`!Bt6-2{-yD7r`Pkb|I6(Fs?DfWB3QppXQ!Su4_Q~?DLd}e~tBtd%+hqhhn4iP? z$WnzVJt1R+;yl-%MH9n;MsyA8X|J2d_UBD4YqA8wGU0=3%= zWDv#qQ4gfXf2~OCSDhZ_$X-Uj&0Vl!VuX-lz&w$cb@xzK|t!Xj`?`VvpEMX!t8yo zu+h5(GFdMM${FP4icSks-@D{($KfnkWnT>T9mF1jII9ZczS)8AcZ*MVpw$itwTu52 ze-?RvA3@q%P>ce2z<8l=pfZ!tj~p&RG%#wexS+o<1DCulxI=q81$JR4846h0$ZM54 zYWmQZDU@*?8J!+P22o`h8jPwg6hT`q(6|;msGEyLtBwllA{+qOU50vxe-J!mwKgwo z+9mI5tFhF>R&L%#VNIaEkVNFZD$otYfhLMlu%8g*W``b5()fU_d37TcwMy}G^*Z`R zaclJ?T`0V&K28@3Bs$*C(Dx0TU@hE%INO1m>5FZ-Nj)6mmi739JLnMb^Rh)g-Lg{V z#_hwH7~W@c9`&gnXHw0Mw}D>u-w-bDaJ55#wi#M%V^lqfi~U*qGxoRaZ&dG~I|u3V zo~v+qH(hL;*Iu>g@_8KLSN&zW{1jb2PM3FMi<#=X=<-1n%U9n=mpV0GrOQuX*j4>; zy8HrNK1G*brOW5(@_Tgo9lHD(UH+IZ|D7&>L6`5)<=b?*GK0%^>DN~JwTUh_(dBx& zOwr{wy4*#V!*uz6x*Va)S-PB}%ae3@JzXkvnWxJVT^zbRN0+zIdx-2s{t}m$}_#PIsBhUFL9?x!YyVcA2Yy3dHX+H@nQqE_1QV9PBdpy3DyQbFIr9 z>oT{x%&9JOsmmPdGIzSnnJ#ms%N*%ei5p$!M3=eHWe#+i`dy}cm#N-mig%gXU8Z!m zWA8w?h@kT>R!sblweljg@>BLV?7tK$xu5isRq`zTVwHTJG?Z0xku;Q5@}s1etdex1 zn@~yG&{C)*ZCfN%^24N2tdc)NzgQ)Ik$$mC{ucdWmHZO@VwLWlK0XtR>=qG7pvq9{bH4zrC+R)b^66B`9}K1D)~Ll$vOJPD#^cCC0)A5D*0CW#VYy3^ov#UL-dPP z@~7z+tK?_s7pvrN&@WcWFVZhk$?6ky`8g7Sx6>t0B9NiWqgUf{m@Yer@!uqgIDyj$ z_{huZuh1_#7Oc95gnx?)aRPD zAn@Ru*F9=oRq!tM>|99Bd%||Jw$2OM%(hAV0eX4m6yI#OunhqtkKy(7>;4E zvf&sliO2otX`1ohfp&!r&O3VN5PtE3yQ18ik39d*Aad1jPa$)%)xi=yt1fQ`LoR#0 zzZYAu&AI>g5$}PAU^UwmzF^Xbf(v8!u)*qX1KWaOM1`cIoJ-BAG|a9o@tHC?D5X*5 z>yV4sj`!kneDXbSy+4q;5?enmclNpSJ;X+t6RCf>NfmOrn3ej zeP2J)2+Km-Gx*ypB;%S(iR&vz#kD$xFZwaX-VCFndPhI1yyTK%VA{PQ8Nr8AB6wn4 z2tG10f+zbC45qZhc^J%z(>@Mdm6DA1TuQWyYeSn8{utDd5TE|Rkug7-gn6KwNGOo{Qz7%_fgWQ^}l!dT3RC!_hklxRLbMl_!s8O?(+Xa-w0BqR89DG_{Oj0iq8 zGJ^NUASgFdP+lb&)89#n=@-U`=^IAI^tGul^>;T&M))sMBK%*+h;VUag!BCf2fH66 zvGb7?mv(f&s zILYWAPKkbgjOfpejQ*?o(GPYX2=*69M)XulL{E+p(bC9>#_&09g?}>o^C{6UjS>Cw z$mqxMxvywH8PT_-MD*D)B5I9{=%Idr)^-X=#_&f|V)*_sVmLoChA{&?QJgPV6$K^# z$=H56CAL35Mr;>G#_xsq^kf=romO)(nT@h+=zW6kijAVr-p!GP2)DiR@pG5m{$sWMfirkw{ppP)|m9Vtcwk=W4t+F7NM- zjBrerJUY9TjHZzi&0EHZW@ltH5A+Lhnkj(kl*rvPM&y=8MlL2;7087P&y)FhJ|(I@ zFh*3DM@IFYL44E-&6DwLq{MS^jCfuc8PAxI)n}>yvAaJdcCQ{Ic5fLOyO`7f)lMg) z_IOIv9vLHQZyki%dpBZ*BmFmU4O&c&fN&I*;K`V_Q)1d2Bc^W~gy}#8AL$p-5zD%h zso*`#^GJk55)^=TOqx@-21dFX6Ljo%TUutV|aCX#P+1&|)f{cO{ zrUyM!TVM}8Ss_^nflzOP>$;g{YNTcUJS}Y4W6(qQ%!uh0y_~so?{~g)ICp04k@;te zSZ-zB|Nc7TmF3N2co3`L-0(K$hV@u8dC7x4Yy)Y$oPWV*WJvqv=R9=pE{4JJg1V=; z<4|*t2SZ`6*y(Ezw0bnj*+>|+l+DiUl1UNdXAC>ot=-gIQl?r4$?-DCi|-*ZR2PFM zZaZX%kE)T@72<*bG5_Qvp~L*3#{z&FQ7#Y@&%+sNU&F!pd*ru#o77hfj8rF&=u}4G|ZG zhRI1%ONZ(EEIw_2P86mTj-BtzpK%<<6tA@F+ zrTi3jA;{A-+HK~_z`o=o>jst5sTz``@MEPY&!I@AavFX3o0rfW-IggKnY$IHT_3Y&FuRSwKH8CifCUhS00_p*GfeicdS^iI%7`0UMZBuPKh?$vBUQqI(2$X&^hZ8Fj;)=j`5{fpU<}HV|8xP zu4MCVw^gr}T$>;m6PRTsxLM%9pJo|NH`jDQg%y=j&FP+OPZx*1l`XqD>uAmuhrDgM zoHZF=&;BkksJH=KDQ?8g<@mQ5|E|Kn*AiDi`ck3mT^nCbw_Uuhcti2}@r^~RxV-oS z__wvVjp175g4#qom_fEIV%s(RV%5cNqQ7o^9HVq9Gz@ z?|}ZAK!*?X@w{ELrX8#8I_T>lt%crJE7+BK&9SJrSxu)=cT25$b77}dZ(2@u+9?!J zxKwjX1;?^8LH&@kCWW*6+*Z>Dw=8tqkmlj~1#9O^ts)vfwa_ZoYZdZ)QlBpNR@3z7 zO`7(%IDS?XXH9WUKtmjuKz|p+v@lE&9b4A)0+|ui-`fouqFTkK<5>BkU7IBhK@X&v ztVRIuqU+JP{paMkDS6of!ZVHm+`ehxHahASOE8rPa$}ek-NnTi$#3)sH#(ZL4%QaL zm??)l5Ga$k8}@X?A*G1v4y!~qm#JpEh4B`evyMiZ@*6j2-CuNS7PVd_`^*PGHC-vq zIhm=cVyjx2nqrBVn#xxkyM|v4%xdsOv)-O965Xe!2==iPu<>R}6=!N{rzH%9<}6RQ zT&02!cxw#g4NdraCUMEyhc!~K&6+xTPkLG@xy_{`vH{nZOt|6&`j5fv-(zJ}eMxy_ zKpUpws!FLv_O(gI)rzNzI4g+7MkRln9Ob|EQ66FmF=`2d@;APM8TO?}wLipCWqkVG zr2w$8M<|UN7XxNvkKihx)&&GwS5;mIlX6M$^>zuZS_1GT8;Y)rQZ2s0D>bKGaqHIT zXw`u^By`NVQnS^zE0$BkUA@L5(dg(-%pR)sbJCKsY7XWNGnhnRmf_G8rR8K;IT>Hc z`GZitq@vX{AF8Q^>cq?u6A%=vTlh7NseGW>ofgKwrkX=oRd@%;Vmn6@lF?By!?5<| zcJCe?r3p>3G)wABYI$>RBzl{ik`x@W@tj(o#)_IvX5f4Y%CArtGmMs=_24nu6q6n~ znZS4=2ILXg9G4lYiYaM`!3`lXDE^5r;oA}rT#4CreOP0(m<_eqR~eNFM%G79zvB37 z;1xs34Iwd5R9j;Rhf&jkrBkT-(n^@$^O;AcI!V^~w;7#(*jqD=d6Cnatd!t0GiD_0 znHO}fB z{xY{jMl;5g(NVilrV&Wm!ECk)f9!m{IX6?O&$}3hTJ;P(a6E7+?*eMm<~fauj^%%0 z%{y>`!iiCutzk&zL57UvofgJrw6tK=Yn25qpDE2ywdCLfh&=kz@E9=kwH3WP20iv6 z^&n{I$)63e*BHBApNtMlnzr^Qn$hkrh1!kn@4iyNE_$q6{v%@KCtdHV$WmBNd8}J}4h6uv7+1rUN6y>T2D+be z=n993lC8yFYc~9ODtW>RNBJxM7wmG_0|5Q8&Z`;@anm#;jUer5HRXki#0dhQvyO?W zdg%F1c4pJ0*lMw}0$y-9&|K;EIq*`qs;T#PJ}uIWZTk!=f_lT=IyuFhoUYXKbEbXq z*eS6}n0cZ5Zv6ZB3*C3&|5h%SGk(#uf(lrc^+LBRizq*WQ7(55a}VRUQAB;!SdfC0 z!zyD%iP6gpg`hWx_Rk=9+}cs`!Qw;S5GGw%JG$VlhEAAmWA*~iZ^4$P=(+XwR2#t35??4Y6YKB$L3HS z@k0sR6lH3ahmyTZK~i^{F!WlLD|KyZR;Byz3~;7=7Cci%tMtJJ4cWV=rd+4hZh$2; z4`(;Bnw>{X;dy9q7ixJb?fHBGmN{r!qB04#w(Z?3!4W?d= zdeep#PeXy5>9O3845VIWV2HO8T%WfgZ(I4{5Lsi%RHUx-0Fx6_!rPd)OQeAzUQ}Uv z&fW!3?qyJ7K{h!{pJ>i5ED8W8%F2ynqbmOW=T zl?kv|XbM(-aB5PiV$3iPuid# z=Lkx|04czI#i1jxM>1r9xI9&+Ad>nyr-?`t;!FvgBHuIV?mKewzJQEJ*#a_plT?Tj_3cnAv1W0nFT)Q602A-VTmur9b+3==dIT7Zx@V9bY7?%)pA1p?) zGbRI>PBN>YuN4Fa?J|<2QrG{d}3_)ff>jl!tNkR#dU( z)h(~VeUHyl^GtUm+CQ_q%M(&>v-B@#*}t5fN3eVY0%x0Huwf^3hi2`!kzD9rR@~}c zcAMC4fc*&AmTK=<1(5mCT#B{^A9Ix5PSMa$1 z1^WtS1KQY~0M%*`73{Wf8a&?B5tEs(H_4mVGW-E@GlQ@;gu`6K8>z4;Ec1c|8Phq7 zwdk5OX|yB4k6e9O+SZi(VV^E(JOm|!qVeqBaz;j$Mfps9*HE8Q8r+{u1uilES^o=W zd@aEE4@fsepII*a7JJeUuU(a%89au|I=_SeP#-4vrt$VPy{qXQwP_WwW(9+{VyaS>MYL`2krq zs>LUi473KCmJ z>xpG6(wY|kLUfT^g|QXxaZ|&cJp}7$LJcX=!wH#e{@Scug%@Gc*zr;z9|(4IV7d34 zQ>iy-F`kxzMWD8tUkDq-sUe(=?G+kz*s@XuF!G>{VCcluRL**UV$W1y4h2wWIHHUr z!+jfO!J5SukOo}rb;Qrk+O^W#gh`}o7w#GCgGKy;2*bt}R@$*D5jLHi)(rTB9X@hU z)M4DRjYvR+@~2?!Z3&2JxC%CexS4J}{HoB`@n$Bu(y2Z0|A6<{G4OaeH9a207u;X2VvkJ(R9Z7rS##2t zj7l9)={{~Hw)dKDKl|2xI%y}tJ|IZ=$3sh;%Qem_|EY&ve!Cz{)fcjraj>(o)T1~eA=AGoW8#4@mo zDAx#tqsNpH77Lq5YyO9ddWabi&hOZkKMbJd8|?s#jScCYbcCA z5H7c7#3YGBIT4#wAQz!sX*zac0kOr1%CJ!yQiwrFi?5g}Q7qZHl7j?0@CEzh5pB=I z02 zl%`l~J~rwaTRI;5mLgn6(=ig$hxiAV4)mrT;^$&O(mEn;&h&}E*k~w#$5lU3&JYoQ z7%^Pz4CT;wdSZvZ?XL)^HC6}9Nu64czb?h(Ni6Vh9AFtU=(M;PMS-U~kg%E8Fy1sT%Ae2hjOvXqLkVfr~ zhidOnd4h*2pV62a6~=&j5tEu{mJViwfP`U8CLo_)OhCRY7o+qdZD^^F?aHY2K6Gfc zjA3?cy$UQnsA_muITHPd&0hbn7z5Nqgj*KN&9noN$NtbhFS+AcEtpa85VTB5uA7nT z^yr}QGsNV%5JL^A?yD_67y7op%u;JCv)QDi<&d&u@Fv(F^;=7actZJum&8~`BZ9SB zS%w*rtS|igKwpTODtea*f6FAL?99=n>unTSStjrU|Dw}Tl>Y*>^40}P8sTH!a%81Y z+KuluDu1&mmAzpAkljW96LSES`!`E~(FKpqw680gb;MnH%jr#Vi?^IU^j70n3Atm= zBh3JQuA>bgi14W(oZ3MOz7?%z8{de>oXxUc0n%$4cFn2C#%YP|uUHt%e~mwCN!Yuz zeNG`ow;HEqD}yGtmUWGj423Fx3pEDND1RGI%HP37;IO+}{w{uamu7MIJ-Qp3!LkiP zul|*O7?AEpd{H!{D@6(k1+Dt2A-*C3#A-#cFT{HU#N~~slp!u}qPsA-dkk=c0*oNU zO5Js6qfU^;OdCpaEacG3FgGjqv{S)O+6j9a=~2~y&$WLQB!W|y#dCue&r`%*LqJ7* zV^ohQr(f{Dc~M$M*s7+(;0vJ(Ac039 zfvKE2W*n%ux>!NVq8jH!9~r-NeEImQ@zvwQzj&Gm|j5oR1`Ia38`;( z0TeY%3{XlW1Xm7A8LSIXRNbWaPKTpZ9|&ZA6(6*r5= zP$8G$k5nP$BJQ=;*xmJ37E4I!Uh9_sg=`gc(-&KZe1?EZ8cuE6Ctm_^KZ%dS_DL?W z4rz#_XWB&JOj$31CRwE6ms^dzN;zq7CJz$z?UY}FB)<5XM9X|ole}Rmn&esTJkgp& z&934#$u`swtw}KH`U!d&)FK*avJbp9hWQgTd@vE_wC`)kp26&xA`fZ1irR6bSJXr( zxZzBnQyy%dI?#DFSUOYg3(P1^$oOBGuT%sRQYKkm$ED;7SoGoy0?14qX|ciqE8Sr{ zgC+OY@t#I`MQLfx8dLYLfrh4XG+bP8+%5v0npba*d~ekL^-%3v6e7$w4)Y***a^1U zCxM=|hk*@p+w_f?kz`+o8dvN@)jHkDEqymiQO0c?SU^5gEWX2vro($wuzt)|slBmV zrJ`#k>EqLRzGcAMllbHs-o8=j7mzHAsSs5&Cy0xVAP)|r7Lfua9FB|_UrpH&?=@H} zklV%J|24LZb<1r82OE2|bV*(U;{G9aKY2^oJQllGYgX;mx@r}az#QQ4_i7PP;t9AN z6IOlo8E}^Y^*JnM&fmEcS44~DbpXNaL-A5h+jd^(f5F>!{sDmcp^4saPEbq_hHA01 zlQVrmcOa-(h@VIh!j^=Mm$d?Rj>~QN$N-F;5*52ai*`8WszOOcIAJH{67jQCi;zg( zGd@qD%-Gh&G0_wO?eDZe0yR1z$&Y@f{QEVLpPcedQwBE>kF)1zA+u(VC*N5b)MbB~vt+eQ+8b11fhYTeIYME9ofnbOjNL?D!A6ycq-wa?n zAP?j5G@zIk{67MkWB531!Jo!<&aiJ#q!^R*g;z1)8N@*o)F*kQx3Nco1is$J@m^EB zeR^sqT#d+vi{8YiO4x|ksx}Z-(`5G~f@*R>-y%0AHZAe3*s^5qx4!-Qk?I`PvZH4w z6MqrCBdN#ZS#&B5WlaP@pf>^nx)T7r(a9I<*49J9Sn*HpK)*Ip2_qw_^q2168tL(* z`l7)jpRH`;bejW(kSJK1M%WHl!cLIw%|BpEDodY{D*s}T2sa1{+z{bg4(}hke&mh&Nx@}rxcvs~DvQ`fCe5O=uS%Dj zeO07Gbu^6(a}xf(WD$|D5Z(^>k0$H<*V9y?YiGVd(X zW>ngUER=eL&qu{XO`P7dy7fNv%Gw>#F-ynnKP2tN7xZ z;fuc4*2?)bCIa#+a;}vVnPuosEjADg1N__nze=U=ZP=E80>(7|i4gG(C&Kz*_f?*Q zjFuy#o)3oViJwSOs4cY&gZhB??2Dxs*v&Ek)nK66L#|0!cMgJwJICvj4GTtNVN{ZFd86j?fM$MQO@p*C^E+_` zf$}^PAg}=J9T(%+07o+N&JMIv-_ZMez&{{E&m@RuCRuv7EXC3jW2UZ%z3nStzl8#r z$l7cY4~_9wS&0x$?Tg*h*B2|&^=F$nLYDnk{S#JYW4*B9`jr3m#PuXP3dpbncEr1y z-M29RdL6^v@@n8}I7GRuoSI4}vU1>by(Kw`W1XV^pq!%DtfrL_xYB*6C;=v(fb20& z(Q6Ot6NFB~Z^6JH_MMSx2DL<$poW(Gy#i0b=bP{o4IxXwz(8nTcf7 zW1DhmhEI8ES$@7u>{YJeC?cE`C^AUUdCSud=PknSS#cyFxfJq_i>(ZtJ<~1GVJ;$r zrgnv*u?SjFyT~#@Tc!XGxdw6zHlH&J+ndiS#p8@?V|Nn^tl~U?#~Kh8fhpsKgKU0u zS`qK7-`im_GXg(en`mQBt$9=bcgOt)W``k8cDA zk8iipY-h<7*RmQ$EU4cWSzkJF9q9`tv;kSIibXqSFo_~^u2nG;mZ#Us2_-wy)f7)f z3Sa_PXd_1v9}4at#f9X@IAH+-*K#I}Of*<7EZ3*C=u8Z_S(2BG!KpWgIAz#5S4P99 z1YlDy@J784gzD`t0R#z4z>uJTW@Q-0WUSn_C@U8vO~vvX>!0X+H#C#BT=-J;^#a)$!JzRYAsQRJ z8%qhPV(N`4@G~G;2tm@H+XOpvdn2oSWC7Ad(wq-tn2htUUzGE^kK&{SoHH~}S{waR zr>|Asq|oAxzl(k^eaXr;#kU%fr&AF~&9rs|5$SJ-M<`{vsXOA0hVD~opffG=8wtRl zU{(e!^Rsjyov`fSajLuft@boF2e-3(_T_f%!=qLmTNT7Qg-AoY-`a|kb@$LB1oWSJ zg@w+^e9_6z(Yf@}ca^nf={Q2Cg%z7Dmhop@{6P>#5o2zB-r8mzq%(%adwR>C_3A2J zod963m91KIrkAz#`q*wQ)=8vt*R`;&;57xM_XAxiQKde`EQ^l7j;LJZ1eQsE;g*Ys zG?+mc#Z7f}&%G0;?wuH;hQ@>&uXx~9zCjWFo8p`3#OQ_p0lhHQ{F3Zjl>*rhPW8jx z$JdRo4~M*;FuJ?e#5C``bt&^sWo88u9q3tP|J28F)`w1)^$$4hKa-4)UWuyHpG_V! z^>OcP@>=<^m`~aT&V$SdOU1?i2 ztfg=G_{cfeu(uk)0XXWgOzX407W|kzDTZH@&)j!8IStm490>B7M=Qv1vzBW;q>D8h$ENy<0-{P z7<7$x%gx+YY_%Hh{;@Gw4aN3!4rb;Uf}gO4iAm-dq*zBoXe}~^-0st31jtxUd^e`* zbwl3>K-pWc?f6aE<2UWQV`@@pA)5Lh83i?X+ZPyF?ID)Ux?2AE`by+>Yhesiet)r5mpChkD0^(fYQIRsG9T*b6% zY9WO&^$9UpbF$kWLi+KfK1It}!inNpy^Jqth3+_YWQpzpFOVcMETYLY!`(s6(0{Ts z+S@hlHnKD!!Fiq{TeGTb>a%y#e4;hovBdI8E^>YR$B8!)N_VkH1gA$frblX;6I4M0 zW?}i$K(-&guzt#_mkv>NvWj{m=`@}ZQH+C{U{Kejm}ozTHfCc8$r1}8Jd?r>wg$>u zyW~ST$B|Lg5fN7wot4Ll<%4C^Q(4b^ea;CMpeOPr;wEg+V_B?W@7}!-EW(eZ z<~jQ+v0n;e`xBA-A@3JI5gF2ZZ+oU8Mz_+c#an?RTI5#Qbcw^2H4>PIXuG6mi%9hT zkiZH9A3#M0igaqpF;6;~GHO=|!gvsl-}G%$-`n((wy70eBaNa{*?mtum{xJ$*sHLr za-U7sZ7m>Ef3N0F^^L~p@iZ8js{3I=>K(nR+xtM4?a%$zA@<#~%Lx5zQ5A}yDiM+; z;$WrX%&1z9Ljqv&icbUl{1xLv<12eqfx)JbDo{B} zQk@|XsS30)caj#i52^9kI&4lJFwKPIT6edxO=CaYcVg0kf!NIn-zU#JSiEPc%ow)K zvTxQm)3*5|Jy|ctv_$j?{>m`jba9d_T^uI^5g@9#+#Xck2~K!7B!i2sJuKI@&7O_( zsx~wo*d#bStTu-XJLj><&NOuo1gUe{;Wga6V;wI|(@Eo+DmZ*n=T`Yk9wF>=308n_J3*ue=W!3|RRevams&F)D{355C8Xd8b zF@)}AJ@57T*ZLi-s$!{j9{2|k%PPc@wXE=*?}z6p!ZVMh_gPxip6!F7fDI}f{uW~f zedy@HlXo9Ee$U-GrLTOE&xpFSsM}zvd`c~b5q)DUqDcTyxS#Kb`y}J;o`YqHTs~U3 zG!dxVwMrE?=i+RNyfcFnC!AcVP7VS}fj2XT%+6!NrpD2@ZjM~-+w!W$5dSatUubbR zXrfVn&<7IGlam{5M2D%}ED>9{pO3~$Q{phld=yJI9g-^EZ^Vrm-M}v~h zPjWNOu@H`{3-XwWemIevYR}&`21GEsXx5+B9gXzKN!#0cV)3`xRN20Jfs!WBn*OLzJAFDZ%WY zr!B5kr)3w=Po^~0=I7^gQny1&S&cX~xMv|{&9SzNb4#Iav5^&Gj9`rd9i=%oQ*tT= z*b8n;DBe(i+vGQxRSg;x({Fun!n8TAXfqJt6t&*bk6Ip4>n=KJeYRe~-WKE^K#Uvb zn#WwTQ7O@mMjMA45fL;6kw*~6mM+ws7Ev$Po+EHk(m{}%~0#gTXR;|QC*Q+KtS z^`HthW3fOL9)@M8%<7~_*l6cX7z{Q**> zdAuKK##wb8EfpxZ?~uyX>_Ur8+s#=1%k5t-AI3S>s^`OEa1}BukxN!(fX>QV4Ox&y z;A4_WqIHqLFPp?2kfT56ocR%ExA>@xD;)dci>$Mt^l8PhkPphTu!?ctQtx`wm z50&DhhVDl24lIasAW~E7CveU+O$fFfaLQ>53Zy!Qjsg>0n2zq4Y>cP_#YJk18eq8! zDWp4O(75~}O8{VqG*{;3*V$HGyrmiycm}PhrXECtYxZG8QIn5oSYq!{EEyEuifixb z$F=txTtgxX#8YFxBj__znx!~L+amsGD*_%%kuL-(;+MuP&KW|BuWXxSMVnE~dV^$^ zf{H|6K$W$b(HbhOWBE`SOrjcyNvehbUc?SvgNav|Ii@;EER->5D&D-eA8+Oj-Za{j zCKiV&npQa_*$(tB&5~%3M&Ro)S!b4x>M%P&sMn~d6IDD=N$JEQ{cXJ@E}VHG>u)$8_qkj?B@5fxq1J=V`KLpI(YYcW!q+ZVLFT|IwWXbVf#csY|j$5WDGBD5clWk(uqMe ziQzj$fi?P#xy;Ou7a6_%xf{t@YIllm&yUjjp?<_*@10N*7WRnLn}(rGBC2+PP^d`3 zc8k+>yIB|$B{AzDr5PTs*NMkjQOM9q@`Y?C%*NK}|9Pji)@&@9#T4>UGf)=Fe zHCk|Bxel>!wOWZVFfgA5?24-t@ZmZYj2HUBm}MB@D$?+gPbQ1)Jg(CW*aL8@gtvyw?%D_cSo;y1QvNupF*xug^Bfv=2d;!Iq#JGR~r?K~H{) zLpj9L0JIyz^(n}n><8Hvg6tG6glnL95j={^Lt=Sc>m~m|0Gdq-8lxfwkk=0&HjNn| zjJn7fVW?G%#3~SrYaZk4Hj*MNnR0dof9z-bI7HU9T%L!pDs53jazKt{5zl3F;huJ@ zLMDCd3g-{>!}$l92@A87f6xt%+y+u6 zU7)}Fl(|Td6lFftk1{)mGE--GMa!5iM>HQ2ij~3{XdtJb1W>w0Nqv2q&Oku}OZh$sLs-CXkHI+sM2adu+>a`3KnvzshvBcC zpgFqX9m0m3W_8c4`(&^OEsRO@$h#|iNny38Qrznj2KMr$6?hq7x4#UUtZjwrGyPD# zlLSDbT5#ObtT7i>IPv4K$pU)AhXL1g7}0fs&kQ8x3v4N-X2QJ1ZXFR<5coW%RfS@= zABr0d6wlBCZvTxGYb6ly&gAEO>-)p~TDmLTk})mUgNQLq`$L10AJJf7U1Y?&%7lh} z4Px!3TRyWUuJ3FEB*s(cI= ze-j3QDV_wPD(>qcS71J_Ddv+YaQ>Sq8!_v0R|lvUXu%LpSxS;FTq@8N-=N5q5-df# zk3`TeK$n10#)vA9F-)hC^><^7j;Tr~>9Phzluin~3=qPPScn*c!s=MpVuGVc^3i@I zxx)|@=vPx0^B7Ar_Mk%xI(bnQ70S1*tZez1Ci6!2VbMpl{!P@LLhNJx5aY#GF=A+W zPe9MGHPjP~!F9^8XA02>+Zm!wgWoItCjlnEMM?XM0+gcDkM^Szuj^wmq1AMZ`PLv{ z@*O~MlymhVO080lwM}k33ef7|LDH%hE=8;#>qo4sskhu`R}4xav7nQ4i{Zg~1wA)} zK>ZG&b(uoTuS7xe@qUo-h)9r##au1okwZ;D?aFvr5$qQj5j|v2#F9EM-5Rj-Q_&8d z1~BkdcFJZIo4`)4PMi@P?11^ikE;D5*$vZ+Z<8uMSbT_@d=p}r zjgVFfV=P`jp2avi411|PjbrFraJklNlSr+JwD_T{p59(C?9tO_CLSd-sba%7zTeu9 zgX)_5r!b+Nutvhu+8t9F0r#-CmdfF1apA#vrt714U7s2h;wz{Lxl0UqywC?{Zw)f( z!Ji`9^Dx^D&bWD()?c6!)b;21(~h8@w;af7)`EoP=jn^B903Z_tXuIqqubLoS+_QtCQ54&d*r^>VHAZ_AMmae(1wB1l~PG}y7(tP zJQ)qJf@Y<_K!0>ye@Kdd4AJnxSf0Gl$rD;EF3O+h8Q8RQDhOt{8W2)Z#+b#bw1lHK6 z{~BYLI7<54b#T_|5|Rn{^GX7BZ_z5=BzD8gz3pm(_#gl-|1JRWCx`@j(z?FyOV9^9K~D1NKX?X48yY2D&B?+P4IQFGx)AUvA}DNt-}f=B>}Sn>f;^H7V;l>8({y$P(zD^j2ftzJ*8>#CL01c zVRt30GNhXJw^e&9k%$IcXuBtix198bXPuhUv=QNnnug()LVrd~Eq<(_r1k(6qbi-< zJ4UA$akL$GR20a_pY3J^zt+Keo}7j|f@B|{3<2gQ4rtsogK8)dqw%uit#iRI3^0@D zX&JiP@zx{svDBEP1r%C&K!w+cC-N*Lcak=HPUb7NiyfuZp8UXnu$J5)&DJEZUw6kZ z^)kq&*wtz9jb#8aMxGyWEkwoBMJ(RA;8Dm zj*;aIX{u2Q2T!(JGuc}Z(uDih1z%1&&1SthNk^enoF+Ixpypd$Z-bz`QOgk5()G54 z-h`?scOiM+dQq>2L4EzY;ET}5-erUXWX~;16A0%mt5q9NynyqUFU3wC@A9UTuQv-Y zq_F0PxXgTsDZNs-a)~0Pf)a@0N^d>wRG!q2yh}?Ew{?YfwK3_7BnZn7DB7i2L#}jG zvw@$muoL(7qlW9W3-!tK*zA1LyNt35yUwKfB}+-ZHF>TCrOYC`VX{zi$!iNlDAWcY zu2NkE-EJ+AfrTh7DoBkiHc6qgZWl*#T}gLn1dFxYH=P>QRshS_H0^n?O8gvO=53_@ z2Fa<-LJ%vZYN^#daoKineZy(!M9GBAT6zLY!kMJ5;k`!bcszD~mV6cC4XSL!7CYh4%@t;t8) z=+!O=bvgeQKPNeHq#*4U?2G|CV7%yWpfZzCnkE+@8kmS9TfHOIzy(N8Jzqj-imw+o zk)nW>4HYX@vEqofY|$B4kkaWwWMHut(1Wpg%q==j3utV{QP%d{B%PU6nY0T9(z^`x zMyi>#F%Bc25jyRHw;ai{x+mMy-fE#u(0w6^@T-;3H(+Cm6e=V)8% zfAE8{?bvKq;0F!rHhZP%cE$MfhoV8?#|PNkI~|jv#z8}v6s{3yY%AQbXiY7*U*JC%W^W=tI4#uiY}ZS zi1Pt`g?@gSE^Lah_3;2fb01x9#$2+zk1oGJm(SAW^K|(&x_pr?ze|^|(B;c?`8r+x ziZ0)z%Qxt9Nd}ki(cL<_%h2U&x?Dwb(q)`357Ff;U5a#Z z=+dT3lP>S3%RA}v6kR;Je4H*HqsvdzGJz@`6^wWr_0~b z<*(`TPjvYfT~?5&E~Cpvx~!+mwRE|LE;rI;gf6$x@XKQ%)t(Gufv?{FxNWFu?};q!<_1r ziAx>kP=~qGVa{}zD;?%Yhq=*VPIQBr$ z&Rgk@yYm>`ad*Cr?zlTo&>eSYzT@s(pl95jAE7($&hMZ*?#@rr9e3xC(j9l_PtzTD z=U=2d?#`d5JL=BmyXlfA#@|7gZ_wrU>GHi5xI9mn2QUzo_tE8Py3j%D<=>_Y9fw@5 zkbuy!YUS_Ig|h6Izd*w96LcvP8!3TJ`BQY^d zTXCcLgp4wN3PY(nU9b4I6hFKo^w2Lo9H??)$o@VNr5u;w18q(XKPmuy2f;k4NBQ zUGE~8(W$D({w%UMR9wlvdOyjC{C&VXd=#3wNfsFv*yw;#Yis=Md#hD)Eld&Np_QB8 z3x@A$^}4<;G^Fvc%0nm@PFKg!XzD9Uf`MOp3y2w^U~7`~gM>0lETPWz-OZ?pO6L< zgQ7t#Ee#$>NrUJUh~ug7NJ1*q21SK$rKQ4|lvI$;T>nIoc>JGCh<|55_~RUsv;;`o z6(j+m4zwpbo(P{#NQ6%fiU`M26X95|6!`H(!MJBL>rFh`pHGPPuU#D4yksZ`MI_Qm z%l?CLnEPWr)^|7`PCUk6Nr>^62Z-^x)EK`Z4r39X7LVpP6QcQz0irpd8qHl1X!;3u z;t^c8KAAO_LAg}cT+o0CNbdR62;Lfjpvrlpt<-o-w~*e(sleM1MLVqMsQcqVGtJXat`rT}zVG zEAi-mAtCy|K0x%}nHv2lKKGj75|80OCB*Ps1H|z0 z)EM60i=jxCq5?QwOJ+ie$9Cg}WaiX*lpB;e_3qTz79y~{s9YrRM7c2`QAP$xl=q}2 z%3BsCir9xA%4vdtW@FegbAQAW<48hc+&MsEyf-y5qFp7)6LG}TU@{>M-ZDTMye~Bk z_V)?|d#ppbHsVoTNQmmW0iyauYE&Z>yph-=9>Zr6V)&r}V)#R;G2GkBOwp}n7L9lu ze=Z@8KQllaJE?KZMd2v2fXAcv+X>P8%>kl!AvJoV5$IttEFQJLOo-ao28i1GQ==B) zz@a=JBBMt<3dL8{vW@PDZB!iAOk}5aFo-BK%Zp zgd@D<6w_#?zKuuov4m*8ZGdQgC^ecpdxbd362M0iBG(-ta!)5m?!$k8P!jr&qdyLK z5mu|fGMM2bo}s^x5a-Vh5a%CGjBr6Qw8 zJdXb}A&xH$5XWw693uu%fulJ3As)qlO^D+E9UzJyPK{!Ok4dr-@nd;2ZAd(}uico; zD!LNo24xlfNNQ{&M$rJa2rAI$%futRHzC5i28i%SQX{;$Hqt3L;_*C@5YIOa5YLaM z#xufKAQ_817JZ_{W)osq7$AlpOO0WKp&(Lp#Ix`5gvh;PfXMx5YUHxLgQm>05s%%E zCB*Kd1H|sfQezk4BcPNO@u>ZBLeze7fT(>uHEIz)0zysX-H1o<4-z8y#Q`GtfMhU;~=#HGkf35BlUE9kPXrrshvT>3&dgDy( F{|Ed%qs0IK diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/customise-pdf.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/customise-pdf.doctree index efcec47fc39b4d3168853607dbe27c0dfb47e017..5eaef3aa61387b2c3f4841269aa106c9463265bd 100644 GIT binary patch delta 778 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 I;RiSTFG2|KCIA2c diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/enable-google-analytics.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/enable-google-analytics.doctree index d4beb48e6fbb9dc003d382990bedb0c08bd55198..5159b1e75eb31b72a024cb17fa381160c7af712e 100644 GIT binary patch delta 782 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

~zY^Aub>1+_dsnOsGrJg+h28Iwz+=>{gHKfh-t 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 E04JR>cmMzZ diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/new-sphinx-stack.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/new-sphinx-stack.doctree index 87c94f9991f68a9a9cb2cb932e25983c6ffbc8e2..0bfce9afaf58b5ce334f233f68c29c47ee1aa97d 100644 GIT binary patch delta 756 zcmaJ&K%6$ARv}Pf; z@`{lA#0p*H(p%%LUBwjb9G zQ&uK2*}~-^uJ$E~2s_s_7gzTe@#FNLK$h5GFX$p9VFoW<4VGiLvg2=mVF+7QpY{wNvH!_91oVRjm zMdvn)QC$(UHw7nfy4nH7q9S%B6fNrx>Db<`a+182+m93tWw+4AzcL z#}?Dl3!NL!J^`*jzdhK*F>gJY}hV zTz*^~6q;~q+3?#!cp|otwjnjHHp*`DfQp^=6Hdj6jnERst!Y3Zw00DZwW8#?<6ojs xe0eyuApFc{6fAvI;r8*cHqp4klk1im)Jhautw?9bm@-<>Q>GXlA8{^n;5UP6`vCv| literal 56622 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 P=WgT?6*_l@3*i1gN_EGD^F>?e?;@vmXo7 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 VPxN$exg+V;$Lvn25NV4D z73TIvf>03jAZRY3e}e~m^5(S{|A6Ar3eL<@p$9MD4DWs4d*7QkAAg`F-syv2`3 z#=Sdm(4CDsaMX36*n5m(CR`q*VXs%Rqh=(6v*eEf@$3{F_9mR)hK%I-*&Eak8gAEX zb)GE>T&yFU#S1uxV{C;SOU~SmcquB_-~~w00xZ!Plu~u4phMG@unI}4^2K`Wf7%8d z&<0ffyJ%i%bK|5I8mgM`-mf5eeDfF4ZJo@MTPMj#gstEu9<7PjLivy*RAtVGcya<7 zLE`-B{$r>5g9sj=<0LdO`Gt&Ke?r7+@`L4>%iR% zgl2Qw_X4-k^4jY{ix@v6O|_fPU0)8X9eQi(ik)SF%T1qKDjCKqM7wjymTK2mz!Xpk zjN6JByy)smm5Z9YtEq1^ZI|J=+N*;Xv{oKUNLq5jonaKEExD&zl(OLH!zK9nDq|-s zwGEQAU^FPe-skJ+TFAMoIPyV{}6 N!0WWd{qURB{sOqv*=Ya( literal 43939 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 F{|9~c8-@S? diff --git a/docs/_dev/.doctrees/reference/github-workflows.doctree b/docs/_dev/.doctrees/reference/github-workflows.doctree index ef12b94e09e27d9fc66ae675c3e0360d87ff8ed4..09d4650934c2e4165a0b33b0e305f5b809424acc 100644 GIT binary patch delta 780 zcmZ8fL1+^}6iuet4I4_dv=r0Q#3W4g&V=x#PI!Nx#8d@uE8E{mIp z-F?U~YdLjJt5i#4oDOFRrUgYTOuMWCyMn)aF7fj`K_xp1aT*=q)O(uK!?u)4?n|cl zJQrbPEsApeaE=C*jySt3!41~u|3@PSpJ@&bXh+ElkstQ4=N)e=5-e*8f}c;?82R7? zBW&$Y(B-lUSk#@|D!76%6TYT;L1%%`-<(JN=^{K8uqfc0 z0O65s2*BEHBQh#7ZT}h7Ftw_l)2-QpYH){TD~5`@sHycDcgVJ4YBe=i(eyG$4VW|s zFVHm3KAtyiub!V(wHZ^ahB>y5EL#!eT4PS#qAxh? zro(JHtfs?QuxO9iewt=bdI;OkIKuQtM^(HPN0qfDI8|?x2^o$z9+M|BZg+${lA(2d zFPuCZQkKvJzNm*Xj9-g_uQf{EcXHl|oK*M?#%ap-vRVDBo=)-4)hOESD_ V#rk|R>U7n}*Km4#qVq_TzX5hs_5uI^ literal 41489 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 W^j_%c?o@>$PQ2g@I^PO=oc&+2(@}f? diff --git a/docs/_dev/.doctrees/reference/index.doctree b/docs/_dev/.doctrees/reference/index.doctree index 13ceed00e679893ecd0991c2c85e1c96bcee6059..43a56f258f2cca16271f24bbc0824a3da8a28fe8 100644 GIT binary patch delta 701 zcmZuvO=uHA80~JlX<}=rZ4%VBA)(bMnwV_bV6h6-fRsq^Ab1d25Gs$~Cq zbuc+~GQQ{2`>zkyrz&bnD8%tfF&6XT#2zu&CE{S{AV!MKn3WSAiE_F-5z*U^ia*u< z6+WR6;yAX0)#>5(i|PA;RoH|L*nw>;A@({}h96dngHMNCzvg#E zfS1c)lSZ1vaplNgsu7354h=hm7w?f<9+QGJ?3x}i7R^STNok*k9J0{WqCtFrHoQvv z#DzI8<*iF1!JL4SfLQ@&1f1sJ)3D%rE6clKBzsLV*Cgwn4=El}3c!HehL&8lbh*EO z!M44I%~SCp!jZO(^Zg3eFBI|c+%T@2Y4xjU`>6Uw!4KC?VWo5+wncmSBM2*}dHvQW Zp;W74*-A$D&669pQxzSt%I+7-{sC%K@OuCN literal 27288 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 diff --git a/docs/_dev/.doctrees/reference/myst-syntax.doctree b/docs/_dev/.doctrees/reference/myst-syntax.doctree index a71fb08e6d2b3e17af4ee1cc990c5294a40b3304..23b131db58e390151e71f98eff5e03cd59b7ec57 100644 GIT binary patch delta 93 zcmdn^m}BE(j)pCa56`fCXU$NUY{+OoUF9sJE#vp;NoN^fF#eeCeU8zL?*~vWOF)N# oAwxOqkM`t5ZMo_3HyB0vKzd-}FG1o;(;u8-&oP?uwE*R^1aue} oGL*CaXirYmmYW`bgHeXo%06}IUkN^Mx diff --git a/docs/_dev/.doctrees/reference/rst-syntax.doctree b/docs/_dev/.doctrees/reference/rst-syntax.doctree index 81f9fc59b7628d745ab46a733eda4cae209773e4..7586fa2fa1d9771e69ce48053d9902722676dd2e 100644 GIT binary patch literal 149592 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 CIgDHY literal 171707 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¥Fa9xTPnl zEb61d7rVt7L`dVNuzV-k&bdn7%GTJd+&A^ab=L=hjSwjzZR@T*bq7xKF_Z*_Qj14rN4BGi3WU3aS#GNTwr4 zhWG?Bt?ep@;Zv&qLk|pPp>EHO5^HPvV2EtNWT>SAc}iNJxOvd(`q5C=WL;FIkJ9%# zbhXW6=7%DN0mCy1uCkDgtc~g$i2>iwKqbR(i9PP~UOD^lNzLM6=D7jMa-DjkiA!@7 zvj&b(llM}+Fp1BCXSd4!NYX5*c1Q=UMO0@TS>P`+^@-7z(1$Dr_*RGkg1pl=ItnBx z)>$-Qb^KANV>0F?=g`-fbFN^{=?$?K5UJ3E1RDCSR>u?1&auC$v}q0fDGYrVS*`KI zfMsLk#}Xqyz&J`qr^U$J$1rmIhhp_0UJBM`laNlg4ux5&^(s|Z7J^$LxBG=z)LZi4 znv?9#*F8AN?&cH0GYgVrH;fNq>|T=WMAzeyWOtj!MxG-`hlrOB^Zb%|NrsmWaMOqw zsil0R`f?jRfqIxgt>pzZp3_O0k~uRsXBbr`*-3&vw(F9uo-%H>9CDk;u%q)oX3Z4% z;f~-#wS;o?5Niua`$J4`0mB!!5@BAN0fmx>Ud&A+c*y(JN@Lxt#G4aVnP>h<3SS0W zjF^6JsoiXuY^IQ=e;aZ0J^+!~bn^Nzx^&UpL9_h}F@;mCj|zCLWl#vgh;7w=WI(w; z4=7rlc@n|#F@_^~w7_qJfN$kN zfK7`h6Am5_u+0xG9?S!Zro{-s@iT@aGcCA}fITxUc)o%b$$fqqqTkyyz!q4Y$-_&r z`N9mN$^-%-HseR_N+5Vt`q-R6V3YuvKwxftKb5XZZMA1=?!ZI`ca>2bz2>U?fw((J zaqs&{-JSH!?=>Q|`6%7|Ze~SsSf%+4u*nKDU!7L4-bt;f>*%*qujJArjm8=rC%x&E zf*DaiNI3eyM-LKowWWs`DN0hRpJs91>f{iVtd||sJy=zXCsU#5IX7j9R~xCs%sF)etP-Cbdr|PEo&;tg>zW@)z3-Ag<_Wt zQAo2sQVV?~UOK8X;n5@FfcPErc|e>=IG~S-xAggN#)>!}ZUjle(QF_l9+n;c2619N zSjhk@RW8iRxOW#Y0gbbAo_Fs$I1QHyzM6$Fu|B!e-<*ZZ%;F3a(MSs=b`%KoZFRC{ zf@GLlrGdq{?b-(JgApr{YPZo@Y*k#qT%gnFw2{%Icl3On4Dc_>%p5lGUI_RFvH0FV z)auRR6J6)U;#+6nvwV6gbNJz=pySo{#rGJZ{xg(S6t4{*~6o!ye`3OXHn zG!G28U+f9oDFXKkdBIIw4a)X=Uxrbo?I%gwZTt0SH2wk!4cEEwQESpJl|K!pPCO^i z#;ex$QwUSP;W=5PIrX56RIoBmy*G;!&EizWDFwbB``&=Ft|xF>2ApJSNIv^-hCG?i z1gbQbshzO`x8Ou4zHo0I12cl8W+!Vph3JsEeuTlQ-(8nduEZ&9p-^-JN}= zySQlT$Camk) zCTQv_Ep1q#Iq=M|#S3!bn(8z?U-w|0{m!7yehw+gqZ39Om)fwda%BpoETN_r*;CYMqg%sA>wWWd+VcjG;;x74iIJ>pOSR3Q*)h2w`IttcvF;L2!+!=I zQ>z^j`;rrC6_|{fZs4(o>*CNSC0v*AW6aU?xBnG*e4%8<|3$EcqWMLzSQp^!4`E>^ zd8bV|DsK}~*q`fF!StR-f1HcoPvfkJL-;AZCQlD87_-WJ76@wfYBvg5NaB@r8NhBk z{YkvK>3%dLqNQZ?UI*veJ+KavWc5vO)u`cQn#D@{nUM-##Pl;eqS?Rl1>J)o@}p!m zxr*fXv&-sl>VYFO!Q32Fbe@IxAiM6ow#xWcyGK(jI38peTZM1UM;E6(C5G0hL?aE^Si zL$?sZSM;D>Q36!==EkAE7YE;JrS0Jls1_Q9P02!IjzuN@AV^Qc1pZ1xNy`;0WQfhf zNixJgF_R40U2N0Mgyj9y>&<>kY$faU zL~n(YfJbcA^~ff3j}<4UYOeNp1s|G^U)$5i-w^zGK*RIj58+X29Tn0nC_9FoO}pw< z&}P#%XVZSplq2fY+=&)FIas~Z-6W*MrpGs$lX!L!JtksqVhOP67PpSbNF8r>;LSd_ zT|*GUG+AeUKSeY=2E*c)uGQ`ZU$0J``bJPEpToDX>)5S z{$f}Xv(akG8-rB0oHf4_Tz!ajOyHW1h}8$qGz+d}-SUgON{e-s(dd>7Q_Til6rHeM zxq6_uwL`Deha3*Guts}YSnrHQac}`k1ugi{e7xS%$KM_NcyLu;6SbBLYKW%?dv0qt;C&O#V!7Z znEs_A$@sXNEei8`q)-d^OV2LG~eIzG~b(j zn(yYODKbVodKTG%xzF|t->2pmzCN}yH6Fz;gU4_64CgoU!nvUAvKS_`nk4_*OmX?S zy>3T+=$UalI+2^Eu*zi$!bO)^vgPca;X8AF;Y-<$F6$Z2i}S*{pscb?`c)J$^l!s5 zxAr{MgW0Eg3pY(+nadTFi!QfVX0m7ay!nMs?LX3*R6h+Sf3IgqpOF{R988nkROTlL zeL23V%1>BK_U5-?LA^3v7w7y0a}vgM#z4UTV;l8@Q4Jk=|AVcdy`|$ozF%rDk;u$0Efo8--Er=QQ_Y6|S69AV`mh z{9TiyaLar{Zt?p&LtJECqcpO>6IAQ(WIbzxM+?IDg&>T#qg5hBTt3^ zK<^3a!6?^;YY>8-3;8qnjAP@E&@by8_df3I6-gHEDk#srn2l`M*RR-k#n;g+0WC zGqKkTdDM)q(jb2ffj{K^jLah9a=Yq8rHv$zNnEf;NhD2Vku=L_=ANSz)ZG0vUws+C zE+Ak13!(X+v!nSR1@0pFYK6Z{V#cnUDzE=b!;oRV2k`;PeCd4+SN@8+<>tz-(d>Vo zVfOz;!;2DBU!^`j$2rPmPQ*}(2eJ^~c%spvRXK$~MbHgY=7%JF%hA`PN(pax z@EU?eDBscT4cOQA1ok%w?5oi=MH<@GWx3B4@^j(BOqbtW$6;S&QLtmeoLi)sI;4^# z<8pMAevOW9!@uN8RYicz)E_UWPDgq-XBgD7M4k{rMX+Mha`ky75|Cu>zT;y!U) zaEm5bQSDMrb(~lNC&KA!ZF%EwrFbVcD83q2Zd7XbLVgt|Gu9fdRzx+f{qy?)#R~I1 ztfAo_aa+`is1v8oo}j0Kc4JRA~W9g7$6!S{lyY(NQS)RazLs!;bRx7F(!9 z+8XSPAsM_ghzlo%j&2_syLjwTJ4$0a2H=Kl)T^apZJ^eeXbfz>?6SeB`h?tB1ACx% z{smgExM7~YV{M@QG`gj^C9{t#Ja{fTr6?g4mnqh8ILHSFuwpq(i-M-z^rKsr1jVccqs*JfpqF;(JYybd+fCgl`bJYYcKP)& z!_4}9%rUe6Vld3Czg%$)9?Zk~^bPLe`})I zHT>8pNiWAB*@f;~@hvGEeq%r|3*KK`EnjBzJli$;4Em7pKrr-AXXukBwiGR>$`Af4gBDoAU+YeH^LwcWc=c=-2jV;gZ_nakc=+N4ZwZA zC_xW9gRUbV*XZai`)>gMfPE&5Z7$J(%6nlNnHxMm4)&8dusWRzK4!+qko=5Cz9!>PG)r-aNU)D5h)t2hAah{|Vj z4vt%>2Y_;c7y6hnT_2uDftFI|h_!>(AQ7V&r>5AjI>d zN}tRA739=CS^HVWsEYY#vs%SYh4h|R) z95BEffa^ac^#?%A0Wv~$t{r1i)x)@mc_jx+SojE&B-L$3A`wq}yUd3+mmk}WE&&*4tB9T-1y}AcGl~*l> zlrx*e?Yo?@>V#7)AH|BN_&dr0a3xw~*b*-ko7I-sm8NP)RMS;+DIC(SKryP4oWP~j zbXN{~0``KuLRRWPJN*UyhC$88^+fadi`NiaDI5Vc38Yzt+YnprY8#cnj3*}e&_MIW zT+k4qzMy+Bp-v7G>IH`+dYu-oCqjla6*z_xiXT-(r*xS{Nfxfd0cp^Nav{qkL$WlMv)>O0h0*{b}eVboY^(TuX|42=z(MwVrM`QwV8QQCS3$u^Fk~lDr*RV7M%~ z@lA~&Y1o?j!|TG}s|B<=FfD7aABF}?7s{cbAbAff$vZtgJt*q=4j{dgr0xJ=TgjR&-LL1^6 zX(1>c49JMrZryrAtuaRRu(xjAM*JYkJ~;K_By#abM@9XCz$6CS$J)?wg@|aOPpQ@^ zi^Tn6p~S}ksAH==;!aiJ_(xk^lF8|BC0E!s-Kfg;7ExrS-y7|-JW;D`pcOYPSM#tK zVa=AH^%c(u6nd^G zn!SUW_*1e|d8yb~XFVTKng|C8j;G=Y5Il*&QsRZ4<>h_^q0i$!!64Kw!wk+<&ZbSG z))ECpg``FJHAZr9Z5VV=D4BSdJY1 zj}nf4@5@*^!Am_?L-D~;mfFY|T}D5958;1kIpbe#aFtE|x+~Syj<8-~=v+NpITz>E z(phv%7mLQAI*Mg453_7c-&hvzeE`GKZ=6q-etkZc-b^h0M-eRjX>jjdN8Kj5!A8U# zn|FbUVRw`$(t6S0_Q8t^1!_cvc1MV0_WP~-$mNDRRO;?l5j~|!htdDBS^`t0<**j! zY~3n!WKY?$GcU*U8s|!DI7Rzq@&ndB`cDLj9BUijPDuPA_X%#}FM0ULyj|+3wc_1}C2U&utlZj*s*xmnEFzhuL5jws=S}vQ zvqOKs4}306uYlc5r*bc7J7X?{jquEr#g(?zI%3@L`rsgZsf4S^;H{(ksf4;ma;qpj zIpPl0_H?!6Vl3X{aL(6lHXF@h-rI1r-W_1Y2%9QW?_A0wc6aEoDblhW z8z`K+S67s=$&V_cdI#PlynOaGCGCe|YKm!(CVc$scfVqxFl)*83&5DRm`xNC+WT@f zNr=tp3I)`z*Y963SJGh9n9~?~#a-IliX#?_+3k0kNt+cHwHc{HZC3_2BWo|e<`A}R z!>0&kH5-$>mm^e#FqhQJ#HDcJz&pHA2*HZ89_os}o&MYhGF#5xo><}f&?Fb+4DcPy zYCUCui>}8b1N_dO@VA%nH_h`)Tze|bw#`kW(ritbB=rpNi+Td}CIa;Zc|lEFD=HK1 zDH%pxjOd6N5eK;WGeRu2w&oe*t&2BOPGEz4_eisruU~$UCZ75M1l9F zcTmjoZf=^)EZq~5Gwov=)|%dz@=Q;|d^5rPPkCX^#5L~})613?ZHeEtAiLHH?uw-N zf74tA#aCKwEo}Tc4>lCBf0>R4jkw1V;(ngqK@t0>+%%ckfw^$bptsS)A;f$O#x-G0 z_pA%Uib9{i%JyQ+!id;F@rJOQ*W|UHyPxiXa=bI-SR9i$MYuo0P7dqSs=2yE$~I&L z$V-Jo#OiZV1h@s`I3Zx!Sj`D+py*8)u0)>IWIaG+Jr&@kIaXypuOMsU*h-4_x*pbH zJ!tRHT_ceT;toQn!1gM;v4!&|ci}u9yJxEv@x*jYXw)4d)IC1EgIW=XxM}i=2u_A) zXacnnFL(N@Y|olC{ikQ1K7z3)t6;3{f>R-tJ82}2Yb2@!8ZUyZK-7@05WXa+t8_G11E$nZNj&`ME`wtI*DBIzNc|wiFbN3`V*&4*KHS`BVLnrdS5+4K)ZzHR0N?D^O1B_I1hABu>1@HQZ2BvUB1d+W#hn{O6htY%ofwhNOFA6 z14_tB!r2-mR8CPKVhC zn#t7i0Q#6*I>AR}s}J+>nt|dtqN>A?;NtMZFvfD$1R?)4wnWiYy_vF+{AOIA5;;Q^-{7 zb#(yA)_{);4VWyLWO@%l!9u)`iDeC!3?KB?AXyc7tL(?ta6@x~ZcApau|AnT1HrD6 znam8V$JTJW<}`xcP2j>LNwN$TUZcE34Wu7tZ&S`4% zj_K(+fpaP{pd;mnk=tSPWz#{*adO-LYbjNsLs1ZzL((|+IDz5{*cjW5zy_)^FUMRG zikxHuSvux&ObEZnQPYN#h}#W_SIXw*k#Lx!Q!7*asR+qE(P?x@?|17Euk!2L=-3DC zt{jO*DyZz(sNks-}vwSR! zwp?4Cq+-|z%3*&LX|o&(lzF*Es{)zo1(`w<)RVO7Mmwse%|i)-LF~OfA$Br^*aZoj zybYjXU+txIs_1$=!Y2RF6aHF+zrW}CC94?Hi}q1&n(PWn4V(OXPoTC5)UW0RHBtO3 zhu?=Yj4Hz>lAzsTlb$MLmXQe}7bW8IIthldH3OO(v#WH*xXO{PY=ms&O0|A$019a72=dEE3Wb7DOHG9FhItxVjH?~4 z-Vi1$z09Wu%D)@nEsbwGwa#Q}s*Lv7LE)0!qFl16NYRH32hzz%Td9At)?kM8T0#CU z$9}h@k0A>~dNVp;bG*Y*3ZhYw9UxY>U|ZYVnL$o>YU zN=qfW)tGdrxg?}pBS(2fY0R9dZ0;r*<@WH52n~&-1Zi=Q%fb;tnlY3wdF~&T)8vt< z20Gv*9^JFts*v(M$;m8*Iwd96pdzv?X9cmV&V>J4J`?h>A6x)pSR(G85K9GZ^%e3= zmZ{Iu$7Hky_=C^@$=Z^1$k12WA#;8jwSTd>i+sUfjdOUdh_t3 zQRBmK$4e%A?cPmm_xBiE$%wV;a&Vt#$a#jVx%lwoO%{((M2o7p((xFws9-=fIMcG} z7LVZaAv{4=WfLB1x_O8Uu}RXHoPI88NNZj_Lxc)Q5k5&iT`%3!@JJS$M{s_DPinHW ziAIuZ9{-Fei}1XM4{*#swElJ_z$8*A(@;C+E#BrnhPUHC6s4bVxQ17U+QS0@sx{nzAp@E(Wu_^OpdSQ>30%#>l?f68T}uuX$Fv0_ei&i1crcHm zK*#M*&^;JS_XM>X_YijHrYpn%9bCq#cZxBg1Qg;)Sk|~930^no3=Lg2oFB2WKwG=g z=W%ISb)r5xQZRcx0uDzZY^+oCyXO2ki#gZpnMItFmo|WcO0Bllf#=p>r-ufMXIy0w zgoc70Fr@4NX$Ogq4+53A`OU?N`PN{yK_}*GR1vg2q^$v-i8_wDArgaz1;W!d{1}x| ztU|ueqcy2`0rFu%+(wTA5_@zTiLS@PZFD#@rS1Lt4+wt;cz*G$Vc9-6bJGap+sY

`Rl1ENLFdVBbPsk($ejUHSjL4aaQw*MIHx!XKN3Wy zvz^>Q>_(cYmxi4q?#y;-NdHN{kZcy&dq-FA9Z|jY&C(AafVBJRr65kyspL7jpI%IC z_2LW+Ag%uwa?^+v5P9<^iI9gb^wRN_HxM;G#wZTTBk!a~hNrr;+8QZWkIvrXuM=C+2=@CaBm>~OW$!dJ zr-{mg<1|rQ$DuvNJ2T&qo6y`}F7hti^6Yc1;or`~N8qpD>!!9|Y)tJP)^7d1M4WX~ z+xsv&FrjzMdVhz1dmkl041K>%1NK5+4P$`5Hmtv

z9o-bD2M6#*G4JUvJH(nJ@W zzQMi3d;M9tIP%ZXT(gWQW&B5kjkiW%BeXn}=TXR>AQ<7MvXrr(VN~gP6kA&Ss9m1N zOVY=f9o1-*MHxJay8HfxlHA*QJ0=}HL)J+%h9DKt<} zINCg*^!UI)(BcO|T0DIqNr!*w@4e;({!f;(;;ATQ{#g$XikRIdjOci7#uC)K&0A>w zDK1?o>%jx*dbA!y*W+P5+>@EVZ2a9v_@zu6Nf~62{oNO2zmv3pE|KmXE z0_yzlCT94%3}lmh`?uUQf^VZVK7XC?lZ>#0WjXGz7gGHYWG?<+Lx3paDvNL6E53BU z$d*>CG)v+8=pC((`D*~gz(oVM-f(?&&+f-uB^-tQ{#pSi@k@*TnDtj^o(Nu&?JsFI zYB&Z?+GXXD{&GE%za0HIf;;OyYBPb4ilarCvo$19@jc4^Fg7iF9E9yM$4L5%MG5`P4)0r!4QkAw3=AMXT= z@1HoZeb!q<|LPmZmFqynV)_x91e%*k1OwjaG%(VXt zIU4-3y&OnYkoL=mGK?zi7qO|vkJ@FwOr(z;X}_3H04JoMn+S>eoe&`55Jf_OgsPji zTE*s!TAk*BS(v|1RL^X6Q=sH|x(5eJJ`oI*+^ddyhQ~9%jh>J>l+;9Z}f6pmxMR5;d3M8@9p|MIvcO zEa9e6j0eZE!eEyg=lyDBSa0!8SQUQM?=7{SK`{!FfJG_ghjhI#(rXCd*_%rR3a?P^ zUosogo8k%?_{*RjG^@B664!6}OX)}-bl&cd`WuKZ28#6o$tSq1qB#kBVG?Aw)F2|(M+>s^lrdJ|SkHTCQRF6^G$xTklDg`zGE@T_bcn%2zV^8kUL zd9zj_?XS>GZuAGJHu=K^aac`8yzT*RYh6j_#RN9FcmVz=SZ&>|U) ztn~5wG!Ief0+}! zdyn^48lX#X5-iWd8!2bLN_2Tk3Q*{y3CSJ)EWJaJkU3UHa#LwN30)w*X_xi%rgS}n zttX|>>gbQDhJQ8`h7nn3V1y2Wk09g)lxhD_8evtO*(k+eKQ z@{&tCEY&^Oxcd(>?&dQE>KsDm4}ixr@S%Lx!~AtU9)`y*jmQjATd&~n5{q5UsEOYc zNleJS?Fw$1EQ(VNkK1|z^?L;B;rRu1C4!};W;JlNb>Nv{?M6>Pf1iM^aau+2!G=)nmYN4WFx|XGy;uUlF%xkek2aJGw!Y7&JSP~ zNqWhBc<=WywSs{WVkoJO{ACK#{8jB{vED+CEQbL|Lxvo2ym#wwvk3n&M0mU`QNGw! zHUrK2%j8caco8cRR0Oh^k{lMFdV30p)Gw8;hB}vB2lW}H2C&n?sTVwFGUm3YaoaA= zo{Y0^udV2;&OGh(d+lz>_6m%WS8KI2z4>BUzsw!V7p{CqW;t9INq7~YtHmGa^rHQkFC)3|r+hQNBKE%{FFKNuEESSD z$c`lg_)jej@k7gl-vO`-s4x6CA>^*?2$|ugQTl@6kM+Ayqo!HC6Jc*E0S6(W<`(hB zQ1lfTI=ci=6#WfN;AIR|{I+Wev@8?Y5!x7!R$Cpu?g81#I5=cg*rU4`r*OZdX6;_O z8Wg;vCls8p1St6PyeOD|rnWqEr}4?cL$v(yzoI$2$(#^4h3NfXnzV4wZGdXs)yWc? zpU;CI<(vCVI%c#%xQI~s$@C6N&AOkPMlFXG{xW%p)mEF=ch62vJ>rd)0YAZ4l4O9n z*NqtcM`(>%e1AS>VHWin`yt=45cm#SI+~9&cH-iD&HG7B43Dq4q?cvBm_<<5??XAP-j6%Gi>QPrWjh5CP6l@1R!3W^Nj_G7L}Uo-gBRg};i>j?{2Y{pkH&YrJv{5gjYwm(k1%?D zdWSq1J^M!7wt}*+|G&6v50c|3@7CjFpWZK9!nWeIgrt+?-L+2E(@$Bl9!NSFNw$-U z!)kAL@AgJ_x5qv#DcA`VVDCCZg}@~tR7`L|g^I&7aq-B5DngP1!ZXBFD5qS(NhPHC z!$~M80vPi9eLX$hGdnjsBW)_G(s#W*Jw4y=>#x6le=UPKptvmc6f?7G!-rp0d!{q> zbthK|i6AX{Q2`O$t_O3|#ReNdVHz@$6 zRPY5Ax*au?fu(W3l}2v5M!uuB#C#E7OA$Za`vt8(Pf61F8rd5lB@w&@HXpu1E+~^Z z?~zOWp3%uqB$jQ0%j7=NTZF#MucOSL>-|C+neTkSTeHG3m&&Ee)C>-;$gT@>iIQj? z8l@X$6p?UdJc(*1Xh=?%YZBn%4rd{vY6YUGM24 zS@SaMF=|H2`7iXM{HcV2lgCF+oYjLF@0XG&zVTB?C3P>&d{CzOmM+91jag@_$~s$X z6#j^sEjj6At~%}SrT1ds^rjGZS-{t&wN0|?fw#u z?Etp(#AdEhP6Z4*s>k3R70$`gM(3){smV=@daO8^H94ws@-gwM?X0@(-U4J_!0mh4 zur35Anp+c~86g@B8*9_Jz;7~hxK?U$pRF*MIorI9jZ{Zl7&{u6;&-7n+L~^*#9dv3 ziQsgqT!AZw5bv9?+fwD6#cL*KxU|DdS$WF>Ws<|oj+Hzk$ul~+Uv||m=z`l4gzByk z?@M`%;V(4Au~9@p-W!B|M*FtKeCTK$+hGmlNfnXv(FpJm)|>pNS+3`cn_OHgELm9? zO)}$67jq3dnUBr=1$}OAj<0LzTZ7P@+-?pwtjfrpZB`Mh&HDyiq?0{^MQzUxVO`nv z+$?6BXP7~w|3ZK_sQlA_$v&$=4)p^0AVHSk)qNZnE!W0-!1MN;i(|z+F0~xZbALwu z(6NIfM;|zO`e<&d974QU<();|R$+Rv{9*v*eY)%-Q6~Ai2EMHq@PYtuJjR1GsI0!~ z840i|H76z;xrVr%g5!P6`@nGuD{>y`^Dr=Zp;MR7p4(=GGj+MqoGRxalf1HF zMi86)VAe+%lE!-ffmP?3r4f;Pqo2lzCo{xE+X6bXS4%1_OIkELda24L3gz&`=bvpB zFHJOz49XagGA1`x&xZhBr=MAX2Fp5&0RL+>|N0flPBV8~FXkLF_kg!|7oLvFtx_}C z3K)is_0gL+y%&P5jD5;Di<=~{K`_d2Z-~vr0+`$12R3JWqJiXYcb|}iE)f-cwQWw zUF4McRHa!gqk5b-BD<0fEVdy`meCt%G?je~RkPLp2ebNvmblDQpPhhUPHMsQg)=Rx zd@oVC6x9(l8JY3gB-S)D^%lLMqJ81CIVKg0yz*-j7xci3f)O9iZB9-!FHcvRw7R+0 z1++n`Won=mLfN7-jJv8U4NTce%KR9@g&x4jPpgdjQvH5p5Yvqamq}Ga^5fB5tP3ez}*C((ugB=pPnMu+Q;ccLGn0`3j zEXy4OGDu>6s)OTs^7BVW=#LB=w9Y@=%KhYichh+uzcuT_5v)g)&Iz#q$0o#|=OL^G zVmO4wU>JkZVm-EqO07n-HZ{?Z!Bf6jD}_sH9Zp1IHUw&@a?N_V8UU`BM4!F&KO88t z+vYB_2p%;4T@m;LMfYwZKL)=en1%(5(>PX_xr{zz<_z!M8W=MTT;yE>|P(eTQ-pR@E35+z{Wep{Q|74IvjokYx_~k#0m_`ZfFdU!XrMe!>+8IE-t}iV- z@k&Z_#UfK&Ws6eEhAX%d^|`W2h&ix?bPm)>9~aBQ%dz@7b)+tJ4_isOOm?Hwc(KtcJ(ku7!}`+ZyWLUQmCLP}zyR zvbNP9&w68g=A>HH5PUSMyG%uNZrvDcRDW(Ys{0~%j%ZY64oX$z%mjSp)vXR8H3`;R zY$rN)`Es#Q9jz7X<-AIXxfvRnaAUemMQ2qa!>;Q+@V*mJ&D(XUB>tu@oBa_u1C8fq zmdz=6@-EjdTDFyYDQeR^AtLG*67+R^z!xm`?Kr<9gMLA?Iny|hM_U=pP&0U-7lT=0 z5VIeqUT~%%i(PJwN3B+@u+d%TzOaXD?>upw8(T3@VP+i!)Wj za&3HuUE&aXi)%=ll^uMRBqcVZV-2e-G^;u@&DLGL*xEoDK3Lqj)0!Nf;m@eT9grs$ zKYoN^WwmC-%0+W?cQ099v0)0eh6B;*ir*khZy+Sl zrIKEnmMOZ9f!9jzHE>nD_c_EHB>Odz^q zcnka78exsOK_{DY;N+(Ww%ayn=XHzB@Z#PG?jtOrOfa0${mjGC&unH6>2(r=BT4JY zVz+v}&8$D&6e`afV^W&Zl~h*$w@GgqYW>EBZ6l1fiE3qd2x_T+)HA;dRL3=*gAsTlRAC!YdEOYUfn@}m5Q~fag%w>d zO^nZudy}q_Q5kAh?~hrzowS#!y4z|UO4Y((R(8tyz;F8PDg za?1j*SqQxcxSf)>9@wSoY@^dxZ+-rO2$mx%)+&qfv%Ea5_rcz!9%q=CC|&T6@*au! zUZ8dy34h5Nlp0}KO`>m5wMwWD2E;VvuCuw3k+!-oZr1thJ#--FReL`n7RbT2^=-7& zDhu@lhsTV%q`Y2@I|+_P$ib7Q zTMV|6#jNJsXumUOYR(e$O}19cvygEr6Bye@*(2wNlTZpx;c3ZFnu;a*193cTc*HDmTrbBQtf z9i{}GjhlmG^v5#>$%$l0WCa$p*3Ejw8cFm6iVp&lvXXrW%e6Y%bVaQwQ#=pfXh5Az z2I@xY)5FC{3lVl(RdS7LxCLIwcq36)|MoxcuGGfB&q3?TsR(8Q)m+*MvY{5qjHX03 z4FP);*eexO@5N+9Es0r-ORV~it=z_zrTnG_InoQ{8Or*R%BX)o$U%D4t zaSCo*W;i!&Btb>S~Zc=@mO-zA{s5Z0PPvNeD37G-fE-Uk% zr*3t#Pk_o@1UO{h$cz>n6Q#`d?aI^5_U$=^cF4JYz=+A&yu&|mu-JUXNaE5QlF$t> z3uP@b1g<8MLVNFZZ%{mjSuvS1Wn7vlJj=u9+^%BlHZ-R3~&s7N4hYMIV9|!Y|*(cypaiCel#vFJpa2M+|aIAvMo5;#M zcX_E*$ByS_!OLsJU8-Z)w9bz3{-P#tK!g+aRqWr$j?^)nUP6-$w`+^gIcmXsqi&Sk zMe2~|>_~Or2>ioWrYl&suGNv#Af`c3)!^k5KbF*MwI*1FkIzf9?z}wQMJpDh4k5u} z?`Nw%iC@dm(=3c)tW33R%*t^Wcl8+ZfExh#gz%rVah3oZ3}EaFm$*oX%bu2FXUfD3 z?|PE?XXJL1it&6?HwqUq>s}~L78|gc{FwKGAF-4x*7asVRu^Ya%y$=8v42Vb9B@}v zE=@p$m?LU6OzZ%5p0vi1-*S3|g9woV)45ZK8AMr>urCEu7T|AUdZyJZRHjStdow)_ zullX#Sau&anIL>~@L{1+uh;4Y?3XT2R_YKxSuHi;FjI-$%4I-unRPdWo`kY+egd^~ zm#cgY5Blw!gAYP4yDNzSK580OuLAm5--D*=X{(l;Qj5TTD^>J3>JK_=d47J zpCj%fHEBqROq8`YR2R9+i>+o2my+oycRnvDTUKsO&A<(ur;iY6@sTMx|A*6)s`gc*I?a6PGxJSFqm{Eh#k%JaVk`bp(46UU zD5BgmG<$00R(JVKWd_sd-k}77S;`o+>TrOEdf~3uJzPXLax<6VHG5huX}Q-kr7(b$ z=uKc_AF3bxBqBb$`Sv>?&*k;8QYd@InC!Rc>}3KIDvRrma}$;3n0y1)AkPU4)ZIZ0 zdQpq896WpCI(Gwfa;o50P9H!4o;hHzI=JvcOlhGyF=)YoX5o!3 z)anKVwMKrcpM}X9j=Ct(ZosyF@PmR^^$k)M5qiCb4pajp)`=$MugpLP+EXh{VA0>V z3#(};U}8hbCZ;g$jc*lIWn4&$g9|7s=slKEgK_?)QLR+y@bP+F(onomsNf93WC6~e zXmo|^RoYb{PI`_hgVu2uRHh%Bg*R09I%Q2zeW8h1&X_>mK!2}@?fp%0gX_F&CEBDX zFcaXM+lFS*U1j$pITR4v?iAUW9VeL~VTaXu9|`+9&PPbtt7y5a1Mg24r@$o}hXpu6 zFe}+~b!sI`yKf{p+no{lK#OR`Ope_PEm(kjxacN2A%vu#F1mBA-{BbO0W8}U-Btda zUIwE>c5Uc8*l||?Z)FwbWgoKQBa!D@C{)VRIV?i;XDX2K5lm1N-9>6TNOBYDPofAa z?hoC(2UR)nQ0?Yth+_sa_=5fj>p3png0gKkf%uJlTgoMd^;= z2YX6InY+dh&J`omYgyV}u8#CshMg}{*S<({%>s~D=Yzb2&bad;$!C^;e3Il7Bp)St zhUC2@H$(Q$Ye)vchqH*}AK|6gd4c5oYLH(cS+xdaImtXG`58lN`PwRylj}eT&N;!* zF_KCCBt~bcWKZ%E$%`ZpvVNT+IY#mTNoF$$1>x(0GY_bOD&Tw`C$)m*@2ud|`Fg&6 zJ;^s;3-Wc6k8J_@Fv;^MRp%2Vui{E@=f@=9-vRQUBtPKK|0a0~?oyq%ku1O=Qs){H z>9$Hw^>bjy`7FsAaN(>ZxrO9rk{u*NB>PBqlRQ9jKgk)A(tt5L% z?jSi#a**WpBqJnmAo*pI3nW#NizH2ww~@SscFOz6Lq+JAP-<&OG_@^S+7S)yh<0{FGdrS{9nr{+Xk$k-vF%U` zJEDPY(Z055UR$)TEgIJrZEK6BwMEO?qG4^(uC{1aTePYz8r2qUYKtbdMT^>^L2c2V zwrEaUw5BZ@(-v)Mi>9Letl?mXiLY2aSJ z4n$1dE&M5_?mG;LsoQc3LNs;GS&|JjTN3&@8ZzfMNH$>qpz|$;#HelJPcdp=qGc1K zwuP^WQTr3xI5BFUqKy-y_AQ3QsQr*OPK+9FPgF*Yu9n3izqsj_CP&V2EAz(57G>TR z(}sw7yMZAwZyOmB^Ok2w%-dZIiFrHD(4!;|lZc@!F(ig=h9NO@PcS5g?rDa^(ETn$ zV(31|kQlm;GeoQJ{3VH)ye}{$ChrA?#N@rqkeIwz7!s5BQ--8@7=&^u2UhZ-r;-4{Zf`E6ID<33EukLh=VB8@7YIf>6s{W{(_bLEU9=ur9+aj#g9*2Z%bI47OI; zF)AH~U>Ipkjn*dp!H6VX8;bN(4+e4^)L)gCRtNIOSicTmkn`N@!+Cj6FyDgVtDJ}6 zIDLtC-4TX?m`J(y5YI^<{@p<548k0r7;Luh(CG^Y2Gw@ba6V z(NnEMn23BDh>|%!;w%)M+CGIhqNe}#WS7+DqC4Qtz|7NrZ5JLNIdYn#M^09q81U!B z)X8GZOTV40*uEk3y1@Wuai7FPy;#sC$(#`dwknI0|BxiDaehk&1}VK9^c3Ta!X=YkJ9T zTQ9}gsD`ITWZ7PCK-JVcA!+?nYH5ADm$cYM^pMt;6w=y)nQwQsKaZy^pBTj0YU@?w zd)?cQq5oayb5fY6?wOYs=bmnyyet+odpJL( znzeY0*@PIk_Y30(Qe)g5g%Qg+<=Rvth({AbJlrpc&!vXAuN$J}NXR=N9AA*dgec$8 zFO-w>(<*CUD&?CJ;=I%^oa6sLIDb1K&Uf_-=X&~POJ!v5i_lun^mMOa$7}D$5~BTZ zztH|LHQIySXw5vk-%M(cSMhMam=NyYUL9QN%6om-Q(G6NE#HX7#UNJAX*|q-NeJ_w z`v`L=HOz>Pkny(_5AfB50Ds&^fZI|7jHss(LsZXoQ#{~x2aRJUXXPlnV&>pH@4o;4~^z%n&}e#>oDw%eHHncwzi|LSg)CABC|ywJ^@kDU4*U zTH<9e@6Kc$m!I`f276M=AYz0p6Z#>CEb&lpN(gm5()Fv4wl_7@UERg4l-_f15|43r zLX5+G#JE2-##|IeSQ;IH-(@O`NP-_~8GNoJtFmk``{`v~s-)ZikTeQ&i&cmHH_ zM|?RB+?A|{Gau>t)$AWi4R!BaLOT%csmk$Vbwnm#Zy5$%rRaIhm>DA2q*2wNHN*owRfT0N(9 zqfwv>m1=!9DOfl~5VlX|0!%SW9PoIwDXxf7=CnfaGZPvXtUE8*gyoFKPQ>Ekx{zsP zt;=$Qkec#oZE?P)z;v#^_aBV{w5AH6Wlxir5+88$owm1a1(vd-1V4|mN%G!K2Kl?+ zNr%HMVbQKwr{Ff`3@Ez1kjxGF|I|e9;gtG+8?cx=OZM6pcXLA>i!1rN9`+ZS1*PxR z{0I1)_G>;B<)VhQAHJjq+?BFyHGvl}?K-rvb1_9oTHWX?K2#!)(G3n5!*dzdW%w$C zw8%sG0L6stcQCX*$JqH0Y&fOYQQ)> z7-k6^f3#>=-L>L8t&|P99c~*<@WZmsunITm`C|j}+$Tei3>pU0(j=*Id4YCl%gBP& z*^>t(;ie5ip#rCle=4?0MT(is&o@=LAR_(l RGM%aG#Rd*boM}JH*e~H>?K%Je literal 38057 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 diff --git a/docs/_dev/.doctrees/release-notes/1.6.doctree b/docs/_dev/.doctrees/release-notes/1.6.doctree index 17371069906dde43f5a62227b231e4d50c58a876..7779b8c32c1675fb283738de3ea5672d417f8afc 100644 GIT binary patch delta 728 zcmaJ<&ubGw6mBM&ZCCt3Xb~&g*tBU=EHMUpXqA>+LKjeOlNBte;E!Asya;--|A2P|MUZ;YtMhiDpa(DC%$x6h?|b|9ef&f=o(E`y z-ffS4xEZ zqOa+#6G1s_Ek(&Rh3%!DJf;cVHr0f=xyYrLEp(^IO`}vS zUy`2469JNg#yZxGrD zFBG^!M-i`Ay{f)!O{rkx`osYg-1d^!To%Tkn_^>FZM$KFy+XJGULorVZHI1l1xQGP zy|*5dyaqoX4Ur2PthA27p4EsxrzyL6%h2HA(^+!O=dU84>|a!z(42~E=S}JDg9xcF fH)W>jvWPXOLH${*XIH_@SL_@wR?70Mzj%p1FX`a% literal 44235 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 WY&Uw!RZ+_IW>Ldo@+;QkP5c5WvEE|< literal 32984 zcmdsA4Xhkjb++U89UO%JPr+3o4XCMX8{o5{N2oMfp)dP$D6w`C|9DqA4b!TxX7y63ZkG(F z<83b4#a7LzyPfxR_PwR^bZ5q!XzDAD-D(z%j<*3Nil$X9HH~`b9A0jt@~%~NvVH|) zuHGyg;pgV4H=WID`KD1dbjQflZP#!PbWvqxy5k@d z&!cs{CZ0BzT8;2WK`$;hjU`bA4_2w;ZH+Y2X?f$WUZzhv=A<`LwdzLa_>?!+&_TW1 zF*kV=`2a3{jY*Ub=1jY0Lp_}+jQJct6)xe;|?mY?0UddbJQFo7R=z~sB5`ZLwV(GT@=jHm|4s#lp8r?tP)@2 zub=I(oJ`Gpm3fo7$=tnQ-nh^z=;n4v&zwHjF?ZtcHTZiS{$78s(=uOS?nCjLMR9YF zdE@aBrgH+U(aTM}VXEZ(@Qi6WT0<`zTGet~M{`X>kftr!O}ubi&4=%3_7cB7&5EU+ zCNABot(aEPoOD{Xn%=bDjE{{KZOPExR?~29)e5b$wq&guj;7a3TA^v^%T~Rt6-~Wf zMy6HQ483S-7mTI@9%i)%TurY!wpO(3u5Q(xNutLmfU9s?jfUNHwT4}_iWaIMGO3VC zRaWqI&inrgFVu_Iq}PkP&E2dIV^Tk$7kh;v2z7Q=W_a69=;*wG_$5o@*&!(l=}93K zJ+7$e7FN-zLaSOe+&pQbqNJibp_fe1i@fC;HRY|h^AJqLq4Tnn?$6$FesWS!drtsn zy1S4lvccQZFzO{JWquX)C>5I)^W=& zabecRk!Gk}Bi@S}U{Nipt9xVk4)&?zT_vetn<5NU2ezGF*U*bP=F{Fdez|K6*!fM= z98tbxtTw0};oA&2BUeP>gdvJ$~V%);EiHPUkSQZLrPkj&|$Vd zq*_baUt+nTl6+x(C5h_-b(ha8-DMhtoRhjON1KAo@Vb=!_Vcm+U_Q^fU6r5szn_f# zjwtx;ih_S@ecETtr&8(mH0ONx%aO6qQnC z^TrJuE>%zmBZ9gb?0hMS1XWN}_&@sF&KT}Zmz4$%2e)zEY??p9)_lJF!+MK zg_nV_a2)-l>Sjr|O@kj!Ufq&it=cQXhdgc6^tx*mwMT?&NAC}0=dyE}Q#6g5p{-c1 zIa#wy){<4!$$@s*`!jV%tG8+ee8sL^O|QVgBj*uK;K|2No~5hJV!)e)lj?>pq$7O4 z8FS8i$Nwo>!+u%0FW|6n=iy^)Hfjw(w;aU*@kSY+l=CKlRVq0Zt0ZwwP&rAZHEtR5 zob$GKaV=DtIC<;$54HE*fa;~{pb47$=!MAKC-CFO+;Y=yH590F48wE^6Emk_6uVvq zqj|iOV%BO`SFDn2c8=c!iYiYEtabd;DpZ>ICm7avVzzEgm8VelcT@*6#5D9$H?Rq~ zWcEr|KF=R9nQg9hy;3^lxZl5|mIS{;d481mk$Uzhowl1G&kr*TlQrvuRJ&Gr9~Z5B z2>-;m9U71E`&RW@13JOO*qj&q4r%=o)iyA#yFtJgnSi0uI&s=6*I}CwpYW+wazc8) zeM$800lj}aD7}f@u+kwyw930v)cP(_RP+zl%Yt3%Red%$Z~XkDerJEg9zj z3Yqm1H9W9z;e}UznF5xth%a){WID%ZXZO#}W^ZFksh^EGZqvq)8cy+Ge5s7YvT?s+ zdUswi0FKHumDVcT@DH2bE6{Gp6UtV3k|^b1Mzt3ePH}~)6g~}4G7r=mP5T0d<~oOg zbVOnhOS{F@C>)2mVJTCzYZz-SSoI*llI#7|kDvMAI^TuJZ;v5QL=qss8ORR|iae32 zvg`apD9$A)Jvk;)QASVluMp}|eMlZQ02Kf6Iw zl(8D4wQ?0Qqy?ZJAwR~q8&xfKV;?5UQuYXHO?9N>1H0;7%zz&jmrt(RHv(z+@!$d? zmGCGnq4%XAYKd^7P=3w9yQ-nNwx*Zt208@AFcW&iFslqT=-q=bH|Qvc8C2dmD8~lq zD9J_tgG{|v5o65yMZFPn_d3Tnk>6Go-&oualf_&XMWw$f>tsldW4&}!1WUbpL* z6IQh&{(2Qp53$~`hQ4^TWtEIWn(4X?=TMHL4B28>%;!MmB?#Dig+#v&0TTA%2<*zQSf>JFqBR0nM&e4>vV{5iJ}@65m|`_dtJ>v000n7ceKJ=- zug_6;E)U62A&!rZT8xe z2|~>Zc|hHc*Pq4WEmr!tIheMC9!y#?verA@cl4hlVLtsa15NBS=VcXpsyN8p-${ zL`SGB*3A*$GN5-(#)kBi2mq4~;sxhb7n=~Hj$s8l*37jWYz)a^BZu3B5@Sb4$;CdE9HL^?68r@0 z7h#(l>ul3OgBjVN!m#jdKu(-BCnRfzLY!pQ1AUm~5wq^cK%$kgH^``K%@&+-UWA}I zMb*N31~#X-8u1`xpkA=5mb+FrTw-3fwM_itEmhb(WI?!kHKP}chT~YGB-nQW-X^z^ z;Wjw1!u4lRe}?Lhv2>>U8;pj%z6)I%{w58UIQyTF?Ef7>lLC3Lk3iVjJ%4|zX-Cbc zqP>l#URrC_opKg?x|UEf_hic|E@J~%(~XY-)AT-SS0ifK)lQr*fn%TCs)TpE4?OmN z%1x`Ju>+(IWNG}Kc&`-R57j3eDnD)=%zmcSSD}`0wogGE@Pbr?RQ^tXf+S~7^x@2L zHe1Im+LfctV<#AgBpq0=g5FG&ezE1acFl5lUYEm^G_C~KVoHo!(Q`zt8NXIV6Z|5) z1x;-@&YfE&ce>S~2N@Fk$v)WML)eemD-?7Bk#+dC+8WG>wg?x1H@Y2x6QIGOAjkn* zWQ(^)Eo_NH_!c~BhPH|P1=V+8r=fw(Ffbl8SEdCz;W0WnzcFGCj24+JYM_^Wf30b+ zWL%qgNaSURJPeLH6wfqx+ob%OO7UB&QIe;ynri9-N;NT1qP`0#Y6^hHC2~qiWLUVR z&=&d#?d^)tuJBz7Noew`V+9_<3L0UTaC_Ze9{Qc3s6p?#(giT&%+ z9_cP|t{;&-;1eSc@OB=p} zX}KS^pqj+M9b>>$_(t7Z#M$eN+rfm5v~1u2O4uH6#iAJHVjo^`uud2VT28_K>`>yQ zpZ?U9ho6$}m<1cli8)aca}6?>@qv1)$j*pDiaqjQ`0d0cJtrldx>+gj(|s`RC3&CJ zo69A8MX}nL8r1AM_P#H(QpbdcsJ-|=0ifnZLT}ef+T(Rf63_G@F~cMxG!$~5VlWx( z{CA9I#1TLgEk^1{EaD@7M@ZZwNldC&l6$rfxi=EIr?C54J4(kALZa<*gZ%jzfs;0h zX2c1Gu>W(eCUYaiUMY!{^-01W=|k8qBJ3f3|9&N&-k_hoL_ErG6!``j5n`q#F-k>} zo=5x8!~QVSgTYoW)f9V*0a(Vtx#AqBdq{(@Scy4$-3W$!_BUco-NNO0=)zH&kgX!$ zZ!X@+UM;Z<-nxYRhCYz*W)ZBF#cqViXc_8B!++0Wsp3RQ3*ibUt~b}nV(ZTRf)Y{B zAP)OR30qbeZ&!kQtPeO2%PdMa_XxYWt~M`Mr$T^fMs3mv#qoACL6j~g>gy9qhJxo( ziu>(qVSTZsf*>4znPf_~y|EA59w(h>8mEI`6djrhnRO|_B5{_B)(v9J+8&?HDt)8Z zyGUOT7;~8l z8O$QsC?yjek4MTW41d~d(zDYKXhsSuApQ4I8sfeEH3^VYP$Zdht`Ae#XBMKaLG4 zI?{ro#eOND%kfeX&fXz8J0Mw-&4q3@N7xcE-57O^Ivv+_2D97Ycm5gb9^; zA<}e3UPky3>|W?GPQ{IOSc^)Id^FAl%e}58 zoAMQcK2iYt*)+{pjt|8)q$r=N>PH(Tl=dX9QXgEr_KNl*gHQ@?#{H$PeHmP5CJcMT zT@lfy0v@*w5EaOYi1=}->c11BB%6#rY~n?Jf6H5Fafd-tz##Cd@+=mbz zHi;0iv>VE;=Xew`xRE`AQGrYn9bzF@A)RwYJ8=yTjP-!cN|Exa55(n^SuqL}R-lEs=;F56Mai{iR*HH# zb0Bj-;Yto4lG{xm($Y@2DlYa@`ef0UOjewAyQJ)UQz=DKu?ZWs?Hq+ek#O&ZH?dl)9&#Ew-K4U)0c&V9FBs&|Ri^Q2H$8}| zW-!D~!0Bog9PG$Npw_PEX$x@O;*Gt^S(Mu#(We$qpLvRWtt#3$bVxg-7Ya?f_Tcmx zZ6-b|-gn-=0b#=1LgkDL*c*lV)dMa!_NhU#V}zRU4+#Lrt^GJLMb`@GbVF#CHwGk$yVGT21?N@A9OOf)a{J*#}1 z%kIz4`P`ZFM)_xmZXPxDlC!rhT4OKbylchYT~(lB4=*U*m_YG)qL>EIJZ=3@iJd*! zs=5}3@n(77$)vX4A3n5zt-}sZC^$HGJ3C9U=T-yfoCMmL$^v%H2W;A+)-7c{8MYVl zSs2=e%nKwQ-`tN~xq%h#oMR3~81GjR_FpcUB5w{1aCJF&net z_oChI6A5(9fG>bvvaKwlU5Ig0f*5Iq;3>?Q3@i)PmsK&s7*js3*r_i|WLqMcfuVWp zI{3Vapynj{aJNg~wnjYo-5@R>R1uncf6E&!%?QeZ4I|tjsopXg^sgD}Nrmu7uac%& ztx+1}HH9qnVq&Ix^2eK&$0__?hFu6sqw=jh{4L)4P60I$zo-Le)^TC{5I<7+L(Cm9h5Q_;#1^OW8UAVR!n4}0Y)y8P z;0`KtkGIop>U9TE4YK*z7*U4uiF>j}T^l>b#4!!Oj6tV1T13i5Z(Fg|q#LgC{(V*p z-WHidV`pc<+l)nX7aYQcUpvT!;q|{IoNmOJiwkGQ;QzGXRm;)E8?#$(qvduM%zX>q zMA@ht*qDIxZ1{l?5&8sv<+;e)1D(d~Fw3bre?jB+g{u8t3s*ma4BrZ$g5wn zmLLjr!Gcv|eZ4YY!p<+u83BYgx!}Wb*-y~twg3zqE#EPL*7(Kp^3auc4LzX|_-@=W zjXKpzJ2MPP8bR0G-$+Noc7 z*GVIZY$w}Tb4^@&M%(r~-qlo+2|!6W0@!hi?nlm~(a7wbJBYr!t+`Z;RZlr#^*77v zIk*dzUBpEWGCL!b2mdJ*55u-V&%{#MHeoim85<%K_c(cA8<;X1a} zylIuqD*i%$N2+vQ8u301&~E<87G3=ZMqS0f#m{`z#wjjj!=c-Sb10w(f*1V_TxJ&f z!}~?PY>>~T`DWmvw-xkS*cKAlg=sPrFtM>>Rt>9uXiFEJk?sOq?m%U5he!!M7)QGt z(=h0gtE-DBwVcPzBvv(#dlAX#GSxf$JN%%l)g@ujE_$1c`h^b8r+J%&H9_}3(uy!axXe+gD<_20s{F1DZKojC6V6F5GRlMdvu^xeiA{bzG`QMg08YbU!dgclzf$v z?@;nhN`6Gi3zYmTB|o9$mz2Cn$wm^&Z|G?oJxx*aAxhqlq~%SJkm)Wsp{C@E^B z1F-J@nx0tq$4Qx3_jl40>;6sj#JZoQC)WMD>4|m!7(KD>pQR_({Q^C)?%VXly8jeC zvF=}_C)WM<(G%=!^peNS-pU@NQ{)_a)y8jz`V%?u2 zWn$gGj-FWe_tF#V{sDSo-G3cDvF@LsC)WMP=!tcIiJn;Z9eQHje}=$)i=J5bN2Tsp-pw6gt2)$CC-Ao7 z7DVBU!(56S@@Ql^Vdd2v8iqL+Lu0LASA)@$Gk3-^gVGa`8Yg6{{LyrzemJL1w*yz> z>UdrL8=T{Yzr~xh$+4WmLHa7jM@%T-`H#=j=56G^ht|6O4XBTAbe`=j!iV6^V0qlT zOJ{pT!-4yyX4ADO+Z=2kGiowBm^8@iLc@EA{A2WU-fhQVSei5jW7UFg3)XhaxgFn5 zxm&}1vv@)zORnB2v-4wPy~8hZ4n>ooyD^u%59N9Vj$}D+)OYb&?%R0N8%#*)M$&+snktYj- z^5pS#c_PlP#m)d@w~sPjsb^)AdGYTldGRkp9pqJtlmr?GbGwIrcs}n~ZmSBAt6Pf^x%h zZ{9d4-X6hl+A*nK43~`Zrj#gOF+`Ma8WiQN-5Q)G(0_MIY*1gZY|(?T z$x=L<66xX)k)9hA>7DCIQ91RR4AV{tvpPhWPYepPhnwmPR2+OwhIlb0#J3F*Vt!DF zJ;qD{QJl9-M)+JxgdZOw!t;Y7>=8!tg@}dz$m!Z-uwP9H_AiDARv#2>k3lm6Hge`F z8Se`z@%~_lcngE#UEdIer%#h%zL*l`FNO%SI4H~>0RdmE*k|e_1Du*n=lpC&xnVg! zr9lDqa0|rg)MRXXQ)1gaL~Q&&HVm?#CDT1v`X^75!M!dexO;{OZfQ`#^#}yeam{38 zkEKNR$Pkg02SwH+5J1Spk<(;+PD*@@A>uO!#do$_EeAY2n#_cEq-4U|hsXqLP$u-) z;t-tSN{098l<+=vnegZ+m)udd7Q!>UsbE(jZ=9d<|4SNd)GyP4fGzi6b9>%sSorFW~&U#{d8T diff --git a/docs/_dev/.doctrees/set-up-a-new-project.doctree b/docs/_dev/.doctrees/set-up-a-new-project.doctree index 631f5cb79841e5c1dba5a4504cd0fd2c343a48c4..928908c9183299ff74b990b1aab1822d50220c31 100644 GIT binary patch delta 2205 zcmaJ>dr(wm6zBVP@9y%jHbE2$c3}k<1eS*;D#$}|z%AslDWU|+?!w)x0<({BCY8u( zglWz6T+k+SKuKk?d~DJ~htbl>KSG(zM)T3wjLpPI(>SRa&CvPoatoa5pL6eb&iS3+ z`Of3}=z!wEW5T`0b&YI3!JWxe=98cxc$8&?(agJ1`W)WlX>l(yne0xh$GXYsPHS+P zmekeyuVf9=*|Y1GIlt_c^#ADz$DV%;au(dAbxJs)P1&v1_)D|TC}^t^dgn%gI@3Vg zlu&L=C#~>mPA9rV*phG23^7jx`>*F42^j-gm`6A$EL@;ea9FN_49YrIEykrchmjUYHCK`*XgA-apK$VUzzY`%y%6AL976$)3ou+7 zFYBkRET=!n`dup{nI5^}*2?3ALU~21Dhaa~=lti&mJ*_cf;G{gtH>a;(3XMcZ52Gq zdlhz)2IZA0Bop;9@NQ*NaJourbczbvPwL{xVlC!X`(?}ok|8Lv@O*$XkP&6V?h7e>Z?ln zol2UBQ?&<(&0kelNyyJEL0ms>w-o*->uK^xR4*)k z+4|`W^+cDn`xt=LB#u{j>xE13m3@mLQ7skEfFGv&mr1?^jSe$itd{mY8}2$%pPrb) z`2kP{#5L@vmViSU+;2$JOtfS^7#maMMKt)=HI5UUpmok7Vt@nA{OE}|a#DP}(8kiy znF-7jld#1vicl%?kswd8RKJFOOK;ndJ0L}Ki6VPH{4N$!|QvZbW^ie zK1mOs?OJDVt7r14w!9abdl zM|vzDiVvCSW#TpyEH7b{3FOoF#IInUzNcPsxZKX>rrIX&#(IZKlu*84m&5I;^*A

(jU#4NcaK4mUov(AzU7#_LnFv(wHrMj=##wTlr#@FS=- zaK9(V^e1cdV`<_S-X>c-4u>FWGxDRu~MSNca)}sd4e>xoQ9+^we2mH=4zjQjN zfero9Pq?1!Uruia+-^v234<8Qr*b!YT{efv8+=MEwL>%~vU!+FGiP`a{XKwvAYtRC gV5O~;;R69U+#F7b2(deC%`U44do7j*o|Uw}06T=o1poj5 literal 53550 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 SiMANA1AzT!xM;gIoBO|xg6f`_), which can be used to hide the page-internal table of -content. See `Hiding Contents sidebar `__. +`Furo `__), which can be used to hide the +page-internal table of content. See `Hiding Contents sidebar +`__. Add your own configuration diff --git a/docs/how-to/optional-customisation/interactive-tables.rst b/docs/how-to/optional-customisation/interactive-tables.rst index 70fb50a..1376260 100644 --- a/docs/how-to/optional-customisation/interactive-tables.rst +++ b/docs/how-to/optional-customisation/interactive-tables.rst @@ -7,9 +7,10 @@ Add interactive data tables =========================== Data-heavy documentation often benefits from tables that users can explore -interactively. The `Sphinx DataTables`_ extension provides interactive tables where -users can sort columns and filter rows, making large datasets more navigable and useful. -For examples, see the extension's documentation. +interactively. The `Sphinx DataTables `__ +extension provides interactive tables where users can sort columns and filter rows, +making large datasets more navigable and useful. For examples, see the extension's +documentation. The extension isn't available by default in the Sphinx Stack. To read more about table functionality that is available out of the box, see :ref:`Tables (MyST) diff --git a/docs/how-to/publish-on-rtd.rst b/docs/how-to/publish-on-rtd.rst index 3fcc8f1..27507ce 100644 --- a/docs/how-to/publish-on-rtd.rst +++ b/docs/how-to/publish-on-rtd.rst @@ -60,8 +60,8 @@ when the repository changes) is created automatically. If you don't have administrator privileges, the webhook must be set up by someone who does. The person with administrator privileges must have connected their Read the Docs -account to GitHub. See `How to connect your Read the Docs account to your Git -provider`_. +account to GitHub. See `How to connect your Read the Docs account to your Git provider +`__. See `How to manually configure a Git repository integration `__ if diff --git a/docs/how-to/run-documentation-checks.rst b/docs/how-to/run-documentation-checks.rst index 7f3d6cf..08dfb5f 100644 --- a/docs/how-to/run-documentation-checks.rst +++ b/docs/how-to/run-documentation-checks.rst @@ -123,9 +123,9 @@ for all the available rules. Spelling check -------------- -The Sphinx Stack uses `Vale`_ to check the spelling in your documentation. It ignores -inline code, code blocks, and URLs, but it does check the link text. To ensure there are -no spelling errors in your documentation, run: +The Sphinx Stack uses `Vale `__ to check the spelling in your +documentation. It ignores inline code, code blocks, and URLs, but it does check the link +text. To ensure there are no spelling errors in your documentation, run: .. code-block:: bash @@ -144,9 +144,10 @@ If you need to exempt single words or sections, follow the process in Style guide linting ------------------- -The Sphinx Stack runs the `Vale`_ documentation linter configured with the rules of -`style guide `__ To check your -documentation with Vale, run: +The Sphinx Stack runs the `Vale `__ documentation linter configured +with the rules of `style guide +`__ To check your documentation +with Vale, run: .. code-block:: bash @@ -184,9 +185,9 @@ Vale exemptions --------------- The :ref:`inclusive_lang_check`, :ref:`spelling_check`, and :ref:`style_guide_linting` -all use `Vale`_. These checks share a common syntax for exemptions and pull from the -same ``.custom_wordlist.txt`` file. The style guide repository `includes a common list -of words +all use `Vale `__. These checks share a common syntax for exemptions +and pull from the same ``.custom_wordlist.txt`` file. The style guide repository +`includes a common list of words `__ that will be excluded from the checks. From b416c9f0249d901fccdb3be3f3fbb40d4fb13207 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 16:53:07 -0700 Subject: [PATCH 09/13] docs: fix lint errors --- docs/_dev/.doctrees/environment.pickle | Bin 203481 -> 203401 bytes .../.doctrees/explanation/sitemaps.doctree | Bin 35497 -> 35499 bytes .../add-documentation-testing.doctree | Bin 44438 -> 44446 bytes .../bridge-project-and-docs-builds.doctree | Bin 46841 -> 46742 bytes .../.doctrees/reference/myst-syntax.doctree | Bin 143793 -> 143560 bytes docs/_dev/.doctrees/release-notes/1.6.doctree | Bin 22434 -> 22430 bytes docs/explanation/sitemaps.rst | 2 +- .../add-documentation-testing.rst | 4 ++-- docs/release-notes/1.6.rst | 2 +- 9 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_dev/.doctrees/environment.pickle b/docs/_dev/.doctrees/environment.pickle index b9ab586038295915cdb22a0dfc0a652160c3a842..7d7f6c0ee25790d344884f26a7d2185875109097 100644 GIT binary patch literal 203401 zcmeFa37i~PaX&6wvQ}E%_bs)(wzaY~GmFG+PdBp9_mNWILZD;etC6i6u z0G74u2 zS+3Znk!re1arF22R*BEM)>W#sCF+D;B zJ#eGtM!hj)d*C+6``#yK(h$hnnGsx{v8w>u^uMQ&uGI${l`JDOG&(qv2a?O>b>c`e zUqX4g)}K?$*X?4u(zM-Kg>-480c4u))iyXar%(oW?LlyfSnl@7b*-7kN0l4Zj6GuI8(brg*XEhgQl=LoU+dpyau4%M?sv_1u3kdUZSm1uq2 zwrsl%%}(FS-RJgzCDcNi?lh1Ka$%=yb~AUty{2Byrbp>)HlGa+7wga$E71lURj^tS zeh^Y;m(rvSmXB4-<@)*LnD^}b7+83|=~^Rpy^hntbfJLH9Bw@J*yv!rnl9BKg)HDt zxN8H~gFt?yYS(Im8IYs~NqfTWErK|9br328IwoJr+UKaD3Quc|;o2 zyk4(1GIijZrMjE$^kgv$O;t=+PiM<#OU;J6&_0(bG_p2nI>7d{1gc16a(23&sO4br3iHQ>YHwYEY8i^ z!|6t$K1dCYh?>r3L6%a6r~z!M;CIfZ55M3pq-T(d2E>}^O!pR}g%6g8NaI4Dp%M7* zhUi_9D*=f1Ix|}?rt{$SI=oXH90t1}yf)OqFce1#tpfs{u|e*+ERZ5zME?1e(GikD zG?Dr!Qf*ns`2Y5jo@7j4psA6=#V4s zywkQ_89bY=mY^Z%yBF0O6|_`{qJI-OFJ|hfJA?Jn3XAA+aES#IjjmWEMuM&oOT5qv zp&Ya;`9gW5`OK@(WA`SL*5k*HpLpD=+8{{A-m$~lkscbV?s%kXA3tIB1_c>XUnJU1YSkc z43!Mt*Wk{e=V(_tcptpyrUNmA5Z4EX3u(y71+)(|sC0D{`bk>Y)fIH|3#C^9wLLQg zZD4LOU8<0b4mPR<$lR<_zFx^^PLEPEQ|E(%G>OjA@GZ2}5vV>qmVP>i%%KT1?kjJ@%jsDH)LexSUxxkYW(6js|>Rek94au7UZ2hVITf zK}WvTOMP2n2z@I0p58-Zf6$YLyRMi%moK7nvY67ObxA_-1Jee`9B~%_gPamu>IbN8 z@h$sNv=XQyM)8O{$16vlc0pg(>`K$U3O!qIy-*uOGsq8*(sR1Xp#4-~d%~K9*j5KY zTo}KARRc@vk2av(&b`Z>#n+8|mM)}@Oc}K| zH>s-;JhO2%p9?}~ahJ}YEA>>$BImFx;q?p)?ESs=jNhkN5g$uQqocy321^GtC@FeD7kifL6Yf%m0;!c-gJ<(uYBbXn8Cb!ieNx-Vmq?V+dGVJ+!Uo0s zK;O(jFigl)^K7aUjpe2?e#ug&n~S*Q*=n9lcIwUnuNS6U{xOUT$inVr;EMapTYIlT z^ErcuG1E% zhpA@<%;wsm!^>!JbNOO8eI}33Z@SODtX(?>n)Q4prD{)BXlOK#5psgEI!{D1QA(dl zI!auZwUJKs40asD5a=G!``uhT-zEmnAPpT;Qf1Sv#Zy(Qj42DrtMx&HTE#j}sbQ2F zKf_`q#x&is0mKPddWvLvw1xVmM%$J4g8sLf_E_gG6N$xe!XJ6k&;|n?k(L_N;ZPc? z8j4oR!U9LTEn_6it%;v3VJOnulRn62xQ~$vD;PM#W}&h51$QZz)VBtuaa{d}?}LFL zvQ;VM>q@CSq3+S=49f5ZeTKkbr6l(VIPNc(_jwdVw+7Wn$ekhMeZi7c7Bpe0W~Zx} z9DS+OODffS;VDd-f!D|6JnuuEZ_LEf_cR zr|dWSloX7`p%merI&@&qz9Yx?(XiX+o;N~rH+azfM*+sB>hL%&*X^6!1I3CAaY&fg zL?7jAVkcKXfNKMf%cTMl2u(}DfVgwJT@@%)wTm#2R0(Rq!3y|g*mm_%HgM_jje&Ow z9&;dHYOrr(5E52}u?d356^K9@%%U(hn~PERIdq7!QD|@QhYVmfTFLp=W>UWb&q) zpZ4tQ$Ika}di>84)mChHi}uVyLBEz84AYZy$k($*1}K1r0Kg7?BPkuF+ebnm={763mH z7qIGO3(5&3p`v~{LHoQ1*xGaaxaB$Ltn#o`0vupi_6o?$^364CZ101IF{TDJ&RZv- zhXkWXq}oTUvoKHvQ{jJ>-cI%UR26*a#eR8ZvsaBrTr|8|-O3coCEMDmJ}1eS^nv{t z&f6d+QB%sK8CN)9EOHzSk1}lw`7^c!OqpHzVXI$J(W`_8?SLRSdKhHo)A=1L!0?mo zX+Ex;m%9oDA5;>uvoD>=^%KFYo%itDkOmU_{!N?iVmRl60wVzPP?c4pz+KGkl(h!~ zxgmI5AQ5&6%q7{i#MZR(HK2iEt({F;59bR7Ysj`LJ~q zMuE$eEO^C-xHR<}R=Sk+yd_p8Z==H{rt>2PByW~B)~PD=d08u8vf!DnH0l91@<4MB z5EWJe@E+=yO7+c*zF>cpH4K&5j1NImvd>k()8TZX2Inqm5rQD44v`8WhJ(MG6=URy zzDtDJM@l1Hn6w4e?kS5s&=r7m-F2HS(hhsenZ2YN_?9OCXHbNF02SdAU2{{stCu+j z67DTqXKf3O6Py97$tQ!$Ks|V-lv0hUdfol|j_sp48twvX*FB9P5oC~&P$ndS#kJSA z!#G&@enFed20y{aEmMVK)mC3XZ56tT+y(H5lTueqrXB+gl`&`V)Dk>Kc$6SX7fPVI zl6@A6hgIIjXZLTkZf?s>+}^mUKY7!pjhh%ObO|`Blw%ioA+<^jZ55SG5$N*Opgi<~ z2qF=a#Ny;B%{}?@`)C#lPgutE!;x}5z<}sOP4K`osgZcKzg!nt4Ae;?(XWemjfi-R zW&j5^tkM3B1Er0df|O<%0~CUqEW{ox`e5dcns})72V0qM^i1=w$XsCj9Kjl4!=#kiOR>>MBFZ$0=CyF1S z%DsFLTk4-w(?aVBQpG9fOVZA~9+&HY0zbxGF*;O?Tk{~s2&p$B3MtI=nQ}gBVQQwF zs5VNhCb|1X=St2cAJ0I=2ntX#b=^Sex=^zYlmdEzt7MIa2K`$$TZyeA{UM7WP!h%f zJe67_dJa_hj+2CRsf=OA98jAFeDyT^G7HoYJ%uar)XcBhuvZ}L7-YjWgV7GA>M`V7 z0Vis3NCT@|roG`vWj8D)Z+Lj*tiZHNLyeS$%z?SyYj~~~X!6JvV?az4)fpC9@G{I7 z_c^9jyfLwRb<)DXN(Q?;cGgo}{@7UV2OMuwg*PtFVD5npdo@(2>FKQUIf6K+QM-7} zFxO(!NGsP%!(4K)!Z>4JI}bEKL^bu6`;7Vu=%yToIhYEiDwOwa`ye?PaSi%V0S6vV z3gie5h_fYlzG&2OrkX6-^;D@+#2Ags-g`^RuHA}hvU7=Iv4Ck%U_x#(@!u1$z?aVV zD#(k6l)T|r5A;ko}h`Xci7t4RX9aSL%=-SXy+ z70*Dgh2AZi+~>&*(9pZrAW!!b?qctn+KHO9z2L6)?`n^Z81w8JUEw|Eumo>Hx(xUF zs{0-~bjUig>+nA7?tO=M9XNFFuDyGY?K^(_9{7m#TM~YV0HyVPRwXLh9=vS-p*I>-Bh6B>T-9+)~yw|Wo8YRGNUj*D>NLQh1rI5k*1lR zxpo~UMQ<3u$EhjYF|tu1$mc_MPb#NK4P(($2sEgd!_UXi_rcsM<4O8_?*Jl!$dnvL zFM9GJOwl0@;yy8DZ%Q27Z0&{<#lPOY**XAMd_F^WcH;Sg&DK6|<_@|sS+5VD8heN% zU=-+bsXXPN4+AK`YeJkPf7Yq7I?s;`mCxZ}Ju`&onE$TA=QcJ3BAzCnPUtldr&cGf zh3~?%Of(C?AIlF@zZbq|*UROCRHiW*8-}JG&1J!p;QJiAl+O@ifwFa)Sbz*h??NKO zH;IO|O0?+d$HL_x5v38xN9#AGtJU;qxF|leQAk%?aSG5dfa*EE9R`3={0M*$QF{j< zbm+&p)Yzy^K`aPQ0m;UW?caTVZ0oJtH(T4b+`8Gibqjz53o{W^vD zmO{10P_W$Atthw+1#jQlQm~L7vI}0NTkiy@tpK^DwNmPdS=7Cvw*$Yew*lhTTkmWE z$y4SD#K?GMZ@F{xmd#O!nD@<>RhezK+_72xZ-E9ly4cn`x3vLPMsGb50Jinc+cw{E z=jN@qw}2WdGyd2%7$w zU4q19;0SQ?BenEd8sW3QV&@R1WKZ)Y!aMBh&a*l6nLg}52;~^h9+TxWHZWwv91OI> zlO8ml7SESAv+3nothU$;JWyBo+HuhGGiw0b z)oQsqfz~Qx;toQsMv$UJCQ|Z>2KE%Mf1Dx>e1)HFoen?!?X#FZjgW$ZO`(76eIxJB zy>QsUm;0D~Z_t@@13qy8ZLVA$OP;^M%2DVF&4!=j<&fv-DZPs*I=gyr*3R63sjUHl zUxtqq;Nf`+0+dlSJJDn|@%)&AA9NG48`|>~@1g49PQG*3p1rqh+ibOQOLy`*vupVL z7;pj_zCU;j-(4hE?HF8|f!g8Ys0tz| zK95}Lt>41#vrGRJ&j~@xb;q7zSBEg0Q)K$=9AiJ&`SYIBO?@KjXP1+A$&~P2f!TZ! zL679*x3Qe-{1~$vHxZ;z9pEVmj`B}z&6g4bx$^KZz9lhG&Soj(7vZaL@4>lPNR!t% z=wf8Jus>QL=4`4;pq=rcp_o8I4Oj!A%J4aycR}#=^2kWR9`k(kyXw2izqn7Y)gEKb z#_sO1fe{2!rV9h|5=}Cz7lA5!<*69Qv=)n^iiKH-lm6Mj zHNXs#E037%XnP2>^=8p%@(Wr8K>(t60?zqAdmF);k6L3 zC(gqff}F6b=?nttz><(?ss=>kxbm=%ATbuPz`j8E5AgZ`UqI(!>K3XB^Kdl9c9Q3r zf%W~35nwBra>?`7zz~`VtuP%x1f-f)AhgxHR+63WHq?&?oz{?Ijz@!MDbYVINT_*A zjYN)-=uoXH9jw+;0R4JBh`LIV)9}Y*+QlpAfBzwhLGAd-`i=3c*MK7!K;s~o9f4NW zF>eJE=m*LLTN$@StldK>0_X^@IY^6%W972tFbwrRI#@eUI)gS}m>_EYl-I26k5BwB z9vH$1pL%lH!Ur~b0&PeF#O_1L?EU5P>9JZaUx8ews3RDuQXnbVyDOVLQSS6u%mZ{{ zm)!2~PPFBnh3&CfmTB*#Mm@1sNN;(qkhsvjC7v1+lR;V?^|2HnA{( zlm1rJ?Q5Abb#nF5osjk5$KG;l8=a%yo50s@&lFFM`L;lU0)i6TVUbSgBcVoau=aAa z0!KtE)40Z?9Dg(r2>J7; z@RqW%?cssJu>o4VgL!ybDTlBW1r>IIe~K}e0JIpQr9lo-tiA`e_xugeIUZuU(F(#- zsGCE$3xfWY(IdCjU`Tyu1ZU|orD$8Mg9TbYAVH`n&bJ~Rs^3aP5Wm4f%cDTeyA6NY{3#W zgj`C73BAq^ae3ZNn7UZXH$Y4GlE~qLHI0#U6ixSf?{4y@0WuPhDhO6G21m($gh)P~ zFK?okZ3N-@hjI;V)GCVB zRr(JY%pB6}!IE)AIHbAv9O8>HPN>&u#qNU4U_LvD87R&yCe3_t22sPXnpMg}Qyfb*h|-%cfR?R;BtIKb_GMw2XqC zvkMi(PnWV-Dvro%L=x-U$l^!KY@x`JlFKe78jygM`muTogEmPpcGXto(9n;089bJq z>pQ21R7#vc9khZ6%7Y@~kGLyzSxL0y=`%z>>qqcZA_Tiy)X8U->xcXvLi{BrenF~H ztEPsqJUN%Aq=#5z#9;LHUWf%Eny$8r_rb~mE6fR2b1F6KYih&|%X#qB`A7C<4 zC+ams5Rzi+`93K)eShJj=n6q}PWA;Wlk!r{Rrk1)1hL^MqBRmrgSUfy>Ix5=VWhPq zIZ_!wfX<9sp)o?i*OCiH@|gk4;wbtZX+Lmao*twnJ}5qq?~e=@y&KEj zN8#IpP=u5w1CJN-V@SxLWWAwovmYrc(J_H^*Kh}g6NK7hNin4M5<#eB>2DIzZfR3-ZG@LgW8z=Uo}*fqzO{SDaFuc#a&4GBB@hpy2&=l#KuV)2Ho!`18cf{ zCxfZNPW5~CLm)ZWCYYciCcsiJkB4@-Y7GB5!;pNtk~fu7kR=4)E_}+;>J*i7kRzw5 zTNJ7XAF*Sh?MqoK|ANux(OF)~mK)T{X)uB1Nl^SuXGviR70-)k@QScqUHfSa-7O&C zHeQlbEn_HCd)zC5*(3k@aaeO$vpk6YHw^=eD^Tr?En>{|pp%AZ)sQq0E~qrd(O88h zi$c_WNywzdmrY48izpf7gUD)zUO$k@%H1G?Ax=I+Yj#+jQKF|pnWYz?+ZF*hd||l; z0Y{P9A#-<)cO~-dXWS!I*gWFg09z?{z_}5JC!CG=z2Nlo?8-H$3QEYO^+C8VC57U zDfL<~HN}~&sZ8dMZFk&u`<IQe74++9ZX~~w*4eH2;k);%Q zUnrR>2sevvQ-2Qac~-LNsh9afI5$Ubx4V#v)yf%KD3`&2i3QwQ3$XEGnsVxM=B;s1e56_AT3!q>U(_o%fiW#H0&I(_SME zUw8gdd9 z;;z+qd3l@%i8_i*^I$gk8fuoFUu7Ld!v(?~{)FB_WEZXt0tY2&G-g}s-wR5d`=S$= zn4-)Ouw%k$#n?ebca_uRIF{w19?o+M$08P{ia25}4C(0dG>GfvE{9B|8cPS7rq!rm z(z}5St#}6lgdBP>LUJBZZ=f!X6H_WHd^BY#Ddi(66zoFi3nZnI%Gox92u3U8yl)Vmr@kggb=L8U?}5#6^+>rAqYF;=1o<1`Ip+Ihy+&|-d~B2m9Bg%X&VE+aQb z8tLh5d_XOkFQ@EMirg?Tua5j8((S#lS#wtet42b^oEmVG10aN!Hvm84t_!}R^gVei zh9#jXSld&pXLq1d%6aH((<4ZK3eAeoBQ>gQE+irvqn3e>UEn?SaxasNc=t%}OCz15 zZY41m4HQrfLk5;J(2$Y)XEqu(+wC|<0!vC_m7?{d9#DFQgpV+)=8AU;Nhhgyc6(G{ zN7H)%;?lCxXI^#Vv}xi3-^kNEG)ud2hqY0yT-+$(S{wc4i}Z}vFM1EWMT~Ucy9Wis zYZ-B`x^d&i(6YrViy76b&MS)<6(L9>t}JHsRvlhh%y?xnqfBslzvC~fD~lPgEM^Qy1fP!IjQ+>2PQ9|2ah#RlKm8%y91ItjFCUYk(UrxFDhi~fmH(_R zjk>a!k%9{U=Pix8vY4@pefl%2fv+rP{GZukuPlE1pVhNo;pfjNKd&riR7?A=EM~m2 zm=UWZuPkQ7JTT|Eqe!9F6_qp&46PiKb%(9Ruo$FejVRC9(}cM!X$2HX?bv3a=#|Bc zR~9q!UU{+*O|NL=?5bvq88JPoW?03sgQ@#Qh2~PdMT(PK)YxTJqkimR!70_tiQt1o9FeH6w??eR@!z9y;PZ zzb$vWcX~(ePVe+^&M)xb6K;>%bAW0&`h-{J>A7R-)SXqu+GyHcuIb;)9nYQcO5T;b z+dKWa+_SvXbZ*Ey&HA<37rcAJ{@I9smdoY6$BvK3Y5%Nn#3Mj4SMmy$a~1FO(OlIl zQ1^>A{MXOq&Uz)!`8P*%k9qHm5-^m-zr*?w9-(|K3wR3cs5BHSd*I_%~na z7krg}_GYjUskUU^;a*S*vK>s6!nH>UkUB$9IF-r(MqDsuKHf}0WSj8A@>zr}R! z9k_gZ?j3ymjodrw=xsYq$pxCZ-F!>7kd{T5&D>tTC%Z0tn_)L|xAR@KXS9Ub(mp3r zShXuJ4}CLtAC=DiX6{{le78EjC-*Mz>)yM`JA0ph_FK8%_HO=8?swIx^C%jWQ^gO1 z`e^QBUYU;{obH`|!l&gYwb*^iBVg{+2d8-@|0MUBz=u#!J_njMFEI4aDnvi0j-Stc zf$x7Y_h+66{(0_8-sxZDzU-a;P3|k|RPTq%3s;%S-m~0SeVPAT|LkkIuX|AbU+(?h z={IuU^iKaJ_bu=AKXU)+oqh+ZMCqFE=Dz2h{#Wk%-sul6cxONK&wiBqv3K)N{hL2| zLfvzwVUdM@aaHi*YFdLaoqnWFX9muF44i9l<$aJdGkDR13$G?;R`6nW@S+zN&K&wt z@NcK{I|4WE#JLY>2R*ne@bqq+`v~l$2loV?J`LyCQ4@{BxfiECm|b+g*Q;_jU46#8 z+Jh^vtvY*g;S**bE}Z-5N8!4k&hHQ0I6&tQ1a2Ir^CN*9Psh23ufK23Hh&i!5Av}< zG3PigE;tvte{oI(FCN0h6W)_&@Du5KoQHAYJd=LZji00QXVH%Wbdt^o0ym1(-b&Qo zKreTJ1X!bEk*xx0{crA=yVkqGq4ikOOTqgT>57fqu=aO#NJCk{;C`%a+Y?HBHE{3P z`KI%1U{G(SnMZ>-XYK7gLU^U|!}o`9!phpiikdGLbz{xR1ul^BU(Di6?%6owCE8qK z#J``T`+5BE{j+p+&bu0=tH->nQ*=f6amnY<)pNb8=h4;k)s?qV4rs%^1*`<%S6)Dc ze%^cK3A(!IUHvb*a=oh;(bfO^~f8czJR`2748xFheq(mSKPPP7abDdrTz!y7gS7>*1GotbUn?cCn< z!K*yhz6v!k3!PVcXYLYONQQ;SFru)8OYOz&t2ACDpQnZUp2&4a3EkRW=fUY%Yq8-$ z?4d?0_pHFW6iR=G^>+?(17N|`VI(oZ7BA@%k}A}i9-^-Sdd_R{!z6kgUH!Uu^?IBL z!QMdkY5hN!dLvHcVL-xv$24pB{WL@bnMp{0{>+K1An#6u9xnIQQTGFfQZ+|3Cli zBf$b6rQ6<@ek^$L@nEq}1fICd^pa||fV`WPXWQYRfug=m?4QaZzt%VI`U#+|LHUIG+n%d>$81c*VXDc;W_D z*w+xlB?%Q^{R^tWmGQEa23D8%Y=QsD$f!X^g}WhyV@StZ_hXTihpD?pzv?Yy$I5=n zK8|bB5T2a0|d=YG5W9zFQ4z|-&3`40j&eu#4)@{e%gTg=Xnapgn$3B5CoEChw)RXF#x z*VVy`>9{!f5wF|~dgmJYQ7_J=^96w$3vup4S`@rk9K2W(yjY40AMItqC(Ci+te_uN z-^yUoRl$qZRBBD2=vq2ohacAJ>v7`Sej9=p7L~h}epDUT;oK+H4Iq`akZ;754`m}R zd?U0!c(EyXaT6{ygquTGYHhSgBkdLM31$k#c(t^5qYp@FDA&`KZ}Q#{dUhkOz%eD^ z8*%0I(~r8b3Fm(Ex(OHl_uNdSHV29(aGu-ky_m$6|6&Rko4hAmaN!eTD=vJH+i>CB zLO-hZ?R0)?;KmL*zbkO#Zk+26-H9t-obJJeFDFmKh0mpXxtOYB7cQLL^rINMhtBr~ zZtSD;`|xuFea(Ixa|h_`e!4>^2XJyQOJ@(@%&-3-E}TR3qiQ-#Pg%T<(A@{=N7Z?h z9(fl}rw7LZPmc$mo}dR01)iS7xv~Zaa4JUhDJt;nK&eOkM`^k{gdavFLswbv%BHJf z?`njua_TB~ui#$5^+A5O(HL^)$zn_1=@pjL!K;uYhnHWfJCxz0nx+NWGqGPKb^vT1 z$?d|TPR^Q^^bN9}qslaUNpsWlX}x)FS#AYuR?jj_PM*dMdfmP>rEwwd?73dytNp_aTcB)7XP%a{~0%ZqCsb#>4Y(9-i zq9U+arm#`#mJ{VtqFTp7`kU4L4uCwccA}CU22C`I$S>eyI9CA?2Zy^*Ei^_}kd(TG z9Iu*6vZmR+XZ)(cL(X=CEd+P8)8F8DYUpp>SeL=Q2-F2!`kyfOlO(6L|RU;K5lfr*(fSR;0 zJJBedO+S`TsDwQm6i6gdq%;vcc4i^K4!g)c0JLu%|4Su_Lt>;{#?UAMNiK|H>sP#& z8vi}X^u(ztu=KnH^UYnU-e3j;R2E-mpUK;2o9^x714ELr7VPO$X^nf7>bD|)jG~RD zpthsFDze%WA3KF42)V{kg7Vi5W2OTLBmY6LX{lEh=vUO8&EsS5WjWy7p#Zym{Ngthw~Dsh)8(V?g4*n$Pb8Uk_e_#nm?J%O{4;M_JooVE>x z<>GpJyNg~6b$L?hY?#(zK3`*6*x=*=$t4J&JY?K*nxdR1Y^ zzC@5)A4INQ**3PFyg4I?T)Q`0?FD&l3B88oG@Z4slvg%--cCwwpi=1eJZJ$~ zxt1QS)Q8?rEHxQNW=-#o0_h)Ppz)`k_w3NzxDX2u_NANb@^e=!ew2vz2~G zp*!2?ht#%n3;mE@cDBng?eiUtJg;%LkQT)$%|mO(iszv^=GhdCh}Ydr6g&9(tl|ng?e@>L-H+ zFSMeCs2%w0%3VIakC zeUz+38$5Ud>F-eL^dK@Z26c!<|K$NXe!q%b0c4#h#hx|7*khj?U!Pda>sz`#XF^?et>LNB`}+d`0c|V$XZ- zk}GQe7khsE$oKde>4l3uTYg2}BaLve=i8eFCTWF>J-__Naz)zgV$ZAoK}wPyyV!H? z8}f|w+r^&8-Xb-S2E5oaaE+8CZFI3`!@BQteWZ~t_S}3#u1IHH?3ukza3NiGvFCk9 z1PbZLi#=Db5h$ebF7|xpo*yt2(u5a#{^eeQLK^a7&p$jM?~x|C*z>MMQj+xd#h!os ztXz>+z1Z`?!#`vwq<1g&yx<4&4WxT7_B1z0Nz#KCdn#`bn55k=_I&a2AMtzC6I|?h z*pq+ZG>dpkn)71MU2pga*G}5=V$XL{@{IH=u8#4uhC4TuGtixb6f6ZuGlUT% zusLenmBrpQ&6iLne59pA zt3t{=OAeBP>-2CmjbOAVxo;&9Ymw>jObYHbJ0U3saiE-NNmY)xM&&$nR8FA@PAIjPte}lQ$$c}ue^YSmrGO}NP;{v{+4wE@+BSvtcvZ?+ZOXtoCPQ8+ zvaU@L)p-zd?saXRW2>wxJRoTNqv{Jtj_3;lMplav^(6PIR3;U+c+_`#Hx+@A^N{it zayHN>xs#?>+nRSzy4{^6FV>F5cJ^r-%a(E%doILwue6%9R9-o6aCYfFIK0%wypIeF zsLD2eHQa6QIl+U@ek?rf;=@A;k02dJ%Ao-!VQ1)|!<&G2fsholXNja|e1{wg zjOPKxoAm)Z_Izs*@8TcdAIk(?3enOz!eQ>{NHU06U%RTk&;f0ZGSkVs^t{6##4g}?{NW>F{x&QWd=Bs%-}#WgTsnz=+N)1!tvk_oz--> zs!?NE!ef#p97vXMAX&nJWC;h7B^*eWa3ER2fn*5>k|hwL!v}sS{DC!=ITR0n=ra#v zru<|jU%9dGmTh-oT7-|ji8soZw7FWPrjypAI0jUev`We=h7tCOK!)Uz27+o*eHuVQ zUf#6XI@vgLDV5MDB#BJZ$W5HA`J|sQWIr0c=>hu>JF72E!*{~e8xn- zZWP<_loAzw(Hrp9Qiuhlom@tcnpjub=0lq`Zr0!rHESHGS>r&>8V4E?;6Tk92Wr;i z2OWQ?90>uVCW=RxH4W6blZdSR$h0 zZacaE$V1G+!`NR)S9JF5+2ly6!KA8TM^+@bvO%uXc4`xdLE34YPki^)fp$1O(hh(9 z5A$kmohd^kFK^nk7%f|%#3l~kl;4w3}!8R-%d)2DUWGjfAB4yCC!dXEY!n!tIG z&m>AC`h@@uE7(?av{9;!cog(X6ZuH@j`NZ4?FoEjZ{#Dt?`e}jbr~-_IOU&t6SjJc z0Mx7YacnuvJB4OX;E7PEimdEa{Taj|^^Is&Of4kSE~0hWRkT|~xWc4IQ&Vsdy-d3* zf*3VUflnmb<>RRvYOFU{7TK92YQioN?P$yjnWKIQ z2kMt_pneGl>X&e!ehCNam!e|%ALCN5a4!2ll5VwzJCof<+Ev4jCfd)ZmZZHZYfa}i z_9mo5Ad@rj+{!9P85kKsE- zqqsA98!1ef4&u$)P}=PcY@|gEVS1i-$-+)pw0AChqOgAtN2Z*DTOix0=nLAZ2R=0N zRyEun>=z)RuWEyZ#*p}lpN*O%6vj#86fsUiH~@JY2Y2N|6_^q>rNpm#iSHSIg|XwH zlrxGSVC$U55m-7!908#$hezd5lS6|K4d*P5&N=)55q3_GkH{K@2xaxh2(vRTF9gWR z;6i4QGd?cs1GvZlxidO1nIt-7Gj~DfhCQ$x!6Ps7$4b|bz&C4K4T^oY4y*kEM8t$) zuL)yiELO}#Z_5ralIJSMC*GP}*v~RB|7ek^YN>deAdc@2+zO`6S~bx&>QgQOr^S>P5BTVB_tfIRStSz5WIDIn>y(!=5T3 zjP$|zEqMYT%aaP&3u-pzHJ~N1!4d z5QF)X#DIouT`-ulPX`%>n6qY*b<;SpOWj)!VN6R~^On&mRl^-Rc8ss9Hhchk8>zMA zAq@M&7*3h^(9pIE=F1=C4Rg~4%X3Ud)!toU^qeiYhWKog!*)5`CWkxtpu}efE+9TU zsohEKiPl@OuSBkYYd^;!TD$x>#Gnw}4{$;Cd#QNP*uD!nmhMrJw6=A0?|qhRm=@yI zLz6^;JPTcrn0G(N4qI%(hZW6Gxb`WN6moQQ!D`h*HCqXZb^nROhy1OR!WcHf7&;EF zAuI(sl;lv6LzNFoSn9Zdu#n%b3nm+PbCjaDwvLq!Iu30^%T`Tcyj}qCLE*Vnyf}hm zd?DUU6gp1Z_3$>`6r2d_i_@%ObE;BUErf*X#gjyi124u$Zr(8o&7pnNFjxq-t5<|; zpE98$w@epSEP9p4F~F=g^Xe#0*4^}-aSec)(6)*xkO_k&DNT))dbh+{~nfQGk*u(}A~L7BQ#tT@_re5??V9G(+s z*Zf~TIXoI}Z=qZoY4Jd_J6PPcRFLYrwMAm%*T z-Vy>$hOUGOlhG-G*<|5~nMSsj1X7bxBbEtS6%x=)9X!vXIn>8WC^vO&(mzpmBSGDy z@+Ekg6tILglg1OZMH)wfoJj*n@G`YJ32i2c7O^BLlE7!;W5b?mzW@B7`tzH@f`&!!TCh443Pjbdz3`HtxPSri)djIR%Rfgy-Eu?E4dCY z3o_UrTZQ#^D#mX7?o$uq7yey*b+8q6cjQwj2>crux+73vCa`H>>u2Y6pcdvXN|{_4 zkI*~k4u}$<4ZS^trONjbp$+B^+EGd%{su#I-hxBBiH&~e9UY!H@9Fg5cRD>_>MlD_ zf)Rp^h(qJikb3$H0EmUK?()8T2@6B>weVs}OaSr>%g0c$kmb*CWOu>QSDd!3)c9A*3AJr-=VTa=Ae z_br~Umasz<2pDtG*eN^@If26=b9rp$d=5!pYaM*reII|OP)gEkChcvJTtN!U}12r z#vwdA6yUzIo)DP$#I17!l_#bwCw?zDJNW!A{34^w-F&eVzd*`)07vIAemuI~&2)91M)w2M z(ep;#gFOrVW0EEWkt)`lZuz;-b(z8xVY3kMe z#KIFE18!5H@n6x&s&RBLdzR^75DKAt*}9PO@=z9mA>#4UD7akcec;$Cuqwb=<$hwS(S@OQg z)AQY?AhZg4r?8}xk#1}nE;+;*cmf_7CX@Q)oi4YFEn0281P< zq0Z!FT;z1G>%&U@5>k}qY%c;^V(9{yM7ow|PM+cqnS#(Q_?R$l%7wf?5RfYikQ)-n z$!;KCHfPDWKiJQkK*@hF54dxjXHgdh~*)R-xmwGnVm$lOWEOsP@(c{nS= z&INXf_Rv>jF;l2byjBsMLr>>C@`x()$Ro{8;inTBlatrv2oLU$$VmECmrTL-PV9&# zb7%Dt$_ac{gl)fe$(1S)nr**g3PLxqmokWsIQ(hUPn`&J zcS_y(md>T46nNhjsA_^>I6R@uE2f~XJC zMy4n}0}vXEE?tyK3t~~76X>Es0=uGjJb|4-2{uCI*K>K*#AZG62o;z@u_Sb0r83UF zSW;3&4w6>eMo_*KGEY==R|Pvxd>FFXdI&_Mb}3^zDXCp#3L-{%5z?vbk zEa($Ek#g#CwUHK3Fr}C#dfpU7>_lJQ5}#|?)oQsKj)MK=*oeQPFPNi%7-y0j*XJc%O3X!`zYGJ?2luDY=zhMfZmC%>c_eHD} zaa|aI&{*7JYHq1%I$q@3X?)mm_+adMzmx^D|2##)^{NT@q5i>C9<)e(lR;cYKa}t5 zD6?^ZW#Dxzp|EvE?zYo*bLUKrcP~O!SNl53Y$^~!lmlKP)OiALHn5tcA8@8A2;G>b zGl-5-f9WQ_m~idGV1mQVRBTLH*4H-JCenFrHl?0!0GmufOqc=2YG>);JT2(9Em@b` z#(X{&BL|97c|t1hWH>))NXYA& zjr?o+Lczsdw90!;Dd{ugrPHS&gBkvucbUR!<%)sDt6h7d z%bZ=*hsjh_j4i0ViX*CS25O(A*?N^J2rbS(Hf5@ARKnCa8C*P{@eZ0EEWk zYo_CB<(}ZASC`K{VUR$p)FO7>^CY$PyZb?H9a1r?G^l}1{U)}k>U4`Fbw^L+x$~l` z97F7=|2xMN7Z6&-dX|=S6 zs*jNN?UN_%TMa=(m#n?X6jGb@BEoR3W4jYq(dLstLd5Qu7@dxyVchH%QBFL`%%Tzs zhWgvDpxSuEVsRfcQ@bS;ny zj!!16U38DM-V{XqY&vc~+Q2qYEo`FYnSMSyYtQlHq1LoNMmE(HK4CTqK5Af|$kcp~ znKm5un$lRaX_qO8*xA%iRuOp@XDA&J2#J?XzJ`v+4vP6Io)lsf~nzA+@b15yP{Qx*325vum z3rxY_8Xip*9XS!zKmW{#Ps-Ww52he=%m1b+2(5oaYA=Pls$14rd}K0Mfcu;v{_^Rc z2_>7~F@H*ieg1}v+S8&^9J8Y*rS^LCZ85%!?U~wn7agswZU=Ug99V2;5FNGE)Q`Sb z9>SijutZ5&)hc!-Kb*&PYm)zGO%2_h1Ar5vqPwb(HjS-&>-B;NL=4S`Cr{rKrXX~? zdOCyX*a4fGc#BlFZ(_umynWWLhScqO)H)T8r6>m$_t~6hoVBg0IYRo!OzEaO;+Mt7P%1!1vp7)xC4GoY#dm{>*jz!fCUN4Qrc!z{7O?QYDWC3DTvq^v4B?+ z&{7V{?tEfzs0Dl|Hu^7=r34hljvd&r&u!GO_@F7xG}%933L<{8x2z=yk^LJnlD%aS zL6q!&Yf3Xs_P;R&(Mom$V@%s~(ytqU&{%9W{SY;tzdS{WhH~S zjArA!qqOL*Z7zCBh$)EpN&FCPN*U_@o{W*iyai^o(|eIAeKd(L znu3@xiH#@F*B&gD&z7uwt=6z>9Jf-)7xNTUST2PP?svyV`gMJ$35kRt!O<&0BqDm{ zou=f}9C~X5((W_7 zE1@-9t`^hb1<>D#jo^zY z-_XLc&!vl%R=@oX3#Z0$6R{-SC4CuhcVzg)Rn-v@xDNGC(kZ#Y6htfW4fv-;Kx|wC z5E_eRrn0PtP`nrBumY!G0 z=XcV4Q$H)U?6|Z_Y!wO5{D?|d7!rWbFqJRmvnERA<$X$u+ApHj?ebHTr|ic~LHrtC z6z%X42GOxWUiy4g$M)Dm$qS0*Y={rvMfH9|MAkx8#%qDj+X+$67c>#si!{FfkPqa> zH-8+7pmOoFyX6?$@RxU!h<{^LFGVOLZS7x7L9|MQwv;A9b>8ZvO(?!J{Y!`CXmq;t z7?&=fVja!fcTVDLqT60>TO=|$aj~1IZkXR^ORWj1HPTn7P<7DUo+#}Def4Hj5V4bd z*)!6GJR)(_MhNZt<%eP;{qnvus&?7`z^gsNf@7xi(;eP}rXXTx!K&kpN~Mgo5=Cqz zna60;%V!fdV9&+IhShyF!64yb;3cr}XRCD&*)XM}W<}K$L@O%{bl453TRK@8uNZ*P zSe!6b?1Tm4v6f=I)^WhpvHLf$$3?v^=b#9fUaGOH5a3YX|4v{Q3`*&)?Aq(ucXS$x zI$D(8ZYl>_l-??YymT|xoQTJ0jtqNVjg$W1({T|Ii!^zP4%N5MfS`%{iOCc9qvI2I z>IF2IHBAX8Hk21nXlwl1w_>C5hG0rog+?NXMx=ZCr^(a$?+s~fYHF=~uws|2{j}ZY zIQI8~#W86E1PM|^W`g(o>}G<`1s0Puz-F6*(8_+MDG1%=2$Lt(<$S|b)HD{-tS5!V zhecXD&AXT@*9Up`L4R3Wz7`E!eIPcOTmhM+Im>jRn{wT6Dhs;j+RGq1_Wo1vfLU_5 zoXro9azrHjqZOnX2+xZ_xG0g0`IV&|q$OXe1OG5vE);rKlG5Uor&| zJ5%P-(tj9JoO&lb+DG1$CUM9?%>JixDqoeg46sBD|ldqObMQr#T66rsT zjSoxuDqM9USapQ>zi&!8E#~hx1ra;(SBN^Hk#8uibBF_9kBtK>)z(5PNUK527uQmR z4PP~-p=QHhn}Ud)4U3L7kXh2=J!jx~$QQzqAG4NDjS&~o>h9vcYNLc)ce2}!)EpuG zHK=})w%gUFAYv!|@@JqAW!F#V25@t1^k30OUAPydIG+6Xn^I8A{|%-fVrRnaL-{kZ z7(b+Vj>Jay-o65AOtAeFk@th9bkd~0-xNgbq@JS;NbBg{`$EKiG&W+-^)`@8RI-mv=NWXWuzYSd^l(L2sEN zVS4if#vyMsWxkf5UuO^<$05$@S*@E(Q*x->0kvIpy_~66ZM%61(U2dd zN{!+W#xU9DL8P0h=j&LMQ!W)oQMR|5KC8bFdVv{qWJw(@B{OutbHz7#TJ+nH1zw-KZ9sc-FQU=Ce?Uf zGZ`$J2w2OpYC0u=UHgbrq3~e&?qFZ}% zHs*RgPE-+NVAa#r5xZ^`(nEG3JomT@NW>!XSgVvFM0gxPEFnY^f=EIk65-E1hQtl< z=PpwaJMf}NNlc94>5ZyAjIIS4mTRP?h)H!2C)851v9Uy^H#7=~x@;@SC`6c%Hl?I) zEYCIt(aH?nhfTD}x^0#th-SQWSdK>L+lK1e`6VWWv*7afhk?x~f;kF9^7hIplDGGD z>hv6~fPd9gAhb-qTnO1I4)>Dn+U^3S?OOiCuwA=3SB9^njI59C;<-{@?1ftK@xrFN zes?vW9kJo9XA6;&SdcL&J~HHqynB3zL;O12?EE^XpP<(fRRb3rnaA!5l?-ryxjcdi zyj@Vdqu6x|pl=-?v`XbS!tVjH_a0y_-J|5kra`tI;=SByh7wh+qN)S|>;4mm z51}%NL<1de86U2^mB`hL=&}5_hzc}Aeb`2xhJ4oBZvxKYvC) ze?dQgML&OopUX2m?05c{D*Ooje4KthML(aRpU=_H7wP9q^z)bavDIj@S4NZ1G8j#c zPvO?_<-1X-ku6L;nHWl)*uXbTp1jwYlGk(q zxbDFcy4YO4bk4#)As7m7P2OgK+PVA)d?F#!@BY|myuJ^?Iw7yu*2HZ@bA?5O()%V) z>D{Ivw0ZwDVb)Z~1FVg*vOsT0gi){*`l_3UQ zjP9kR0UChNSZs(#EWAZ%9P=0oHnhmI9crq-8k=DFi_kdkF@#2f(TIq~%T4*JMWbm7 zB6g-MKS6^M^2}t)<E@#w-|(h32AEM z%zE&QU5!MFE?qG-hIfQ&?(Dv@S7D?fE<&x7G{NVag3wK14uj}8n_z6K2NuzIt`>4# zRqSe==5~WZdwXo;4=$qdupkeZhed=Z+f50oWqPX+w3DB4>Zj4x?&0mv*}vv}B-;U{ zG&Z6P68hoT2)z!IHnayj`Rjbw8e0L3M1;;KCQs+5n}X1?e?(X{)mHneb`0TofDktx zi;Wwr+j2uNh_K?UDIK-Q*G)mh&WZ#%bJK9S4)gR`9gayvOZe_$%AL#YMmfQQjpdcG zu_xKrsM!cK^|6A(5?BS=4MtbgkQ7!Cmi?+Jy*0~TZVIB6Wd`<_HsM598i3GP#MOVT zAxi;MCbAUzQ2K=ZOn)XI)Qmq7o1Cm=hrB|B1h)mA zAWD>nX{n_k5n;$&U@}SbdbTNu*cr0^fZFbpcT293Pf#M)(lv@!3$bKdY%JN}@0lrR zkXMk=NGLQSOi7tiRO_hCrXXTx%2F~m5CWX7A#Rk;;1~;s=sXk~E0(cM;a3jz#g#`G zaLkl?ngI`*f@o!cLBFp}2kEK|Kxizwm=2~s2AKa8NJrrgY{0==Kf>d&aI^e{*kpms ze~O^_*v+pq`pYId%Y=* zG?`y(3Zj+F28~9yJ8{_=fY4a{ld0oSd0ppRUa#xC`#H468fm~154YjJZV@F%Lc9xd zD9NEBhbkZ1$9?~HCwFT!?)%FvQqa9hk;Tq&-+#^!4UB$c-{6|v=~_NRarKP~$FU(U zip;n);#)(e%d}NtYqI;tPLRIt+P)#eA;CCsFkBD^)qKAN%1Fe@j|{2qe8&gz{qf0s z$?=C1poPD#hUF_9f4ELX{dn_sw&XWf;eouoW~C~^y%^I7!yk5@Q()Ex^^_LPdTvKv z{FLC{M^@-8Q-vyxp+dfv^L9F=_bv5E1ycm){8Q`?VH}pLQmvbIwh!yt2zhZf(a+8F zlc1jz{cOe0<%!->;aE#09BYqxI96-i)e3wXjP4fz#N8HX7}N6kFG%5c`FYd_*351TuW{nQRcpfpC^XWg#zas4BPx)i;e!*u@6Tu@%{X?%VGkUgtz|Cy!nbL zVYO8Ml@RvwN%dmoPDZFF`b1fhZn(S$-JVpm;1dFEVe3Zj)c20gkq3Z&T?fY4aPr4n!Kq!MctJCh&A z*j+Xv3U=ksh)qs5cGQa=I-Qi`aZ^U?hJ2JkbhN>zKAdOe(KJG&Xz{gLL1sy4O}H02 z6C1Tx^&uMvA)vb;4}nNqtWBQ26;lwp6%>U`eMKb$LL8RWQZcq%qFtmr#S)lYy4 zFEgc}7V?*vf@o!efi}|$QJR_o2#tj(L<0~S3$gJHKxizUGVT1;SZ(9w9jk3@zp_|o zVDpw32i5&wPLbrle*z=7FPVy`mhdk!h|8$PmmS4qEIYT=c1V=ZF|5OX7#9iM<$aWj zioH~!+9L}5za~%F@0fzn?d99ToGDk}`(%G|f608C8Tk!sre>%S5o7FwrM5@+m)wWv zxo|7k9UBLh_F;C1!-Zr9L+XySfv1_$ zPHUIDO+ieU{Kk&-l?O1hhCQs*o-UZFsma7!XvA&D#)MUf5mE>+D+mFZb&HO>hfK++ zIWfo}E~B1bcie`(Oyot%=6VBmdmw{ySkiwnHX^Twqze{EL8grn?0(plA#aY2A#3}PyaPB)kR5L@rKJ}9*O`K7Wru;~tBq%A zeg+^k7BLwEtB>dMMec~;0Yta~@`R}LX5mKq#n@zGOIdjw9wC)@>7e% zXG}rF&W!cDvJO)GFguQMP9GQud#P*Uo;uVueLpsaY=Hlf&`>N%XLSc9Xhckf@0wCn zGvz-_LB!6Kl>w%pm$uH9tEY#t$UodZ)~$`pU|tnu2M|bT1R{)B4J;;UGOsWN(aHz| zZKoBcj7tqbXe>TwIsjANhBcSh+i+>Ayn-%=ho(sMes=;chhwJFpohR6s9gq*uF8ON$YXZ&s_v(Wx7rgWC_eva>bD*`{?8;S~3Np8_Q{7%2b=2 zOZH%)62<^&xQo%R)fxzq3eo=MvC)2MUxw?(fr4nNm+P;ESdpVrRf+Z-JPk3a()h z#5f5vgT3subyH*DMS58`;V%~hQmm{nK=!hD(v&}pK0WCWW!R5QsjV6IeNzyzGmN)A zA_ZQ)Zc3gqLuUp;}kvA5qsDGgvR2KY4cS>9qaNAb>?CDnVm*- zVX2Jv6>87VX%VW|%OasS%Hhp&c&i-V#)tOd>L2VhmWi$$8f%e)?p2B`c3wGjjv-#g z5zhQWFtTA^W0@V%HAK-@$3;#x{2~PVk0~S%5v3-K-Ces|65biX}SL!2GLQ6jK9Xk?TKtR zH38Z4m&LL23@(dvrz7WW(_Q3!JL~Nf-9ut?JiE2cvs=}(?QNcI$Fp|3PR(Br$yr1{ zOYsw2nD)R=@HgJZQx_(&@l?MvkLp}VKTD`$weV)MELMBKV6j@5Qmt#&eq<;g?Ka^M zLDA+zcSb95ZEdCoAo_`74%R3+(&ZU|&{#AKiQ*6zSjn^S@)|Kqm2V{thvHc;lqS^k zJ^;L?K>fQ*DO>{%lr%huXT7MIrrV2U!MQTF0YWyr+<}M=+Rs$c%X%g(7g`7H6~bP= z1rW>jlq;j`tqLaG4iVLv8lpNs2RI=TA~-CA+SyGNTy*P=w{_n-GI`2oO+o19l4cN7 zZqBSyYfxy^*Fd6PI|~nq>-rgYRo{!6AH zVrRwr-3@F(Be9a$`tmg|Enp8*a^Qu6CTqA?2v}!_j`-pH--4H zYC~N8K`>Xb#v|dO5oOA9pc3@S8W=uHOhL3V#lRreHno^v1|T#RyG*4^+0-{)UYmNs ziE0@cQS4f-T&}kc>Yv^sVt*uFzz@seBXand96rH^w%!!CQ|gqEHRu`CQFq~y7TM^I zhIEjf-Gv7kV&|cLr%8EZ_sJIQV*@H%%7uZ5rV>IU>M9g{xLTHgK=JM&8gL}k)N512 z2j>yM3DMk5_0=SSr9upmPOvv5-EV@>65~Uhj)aynJ%#{DhM^TEr5^N5lsQh`2T^1Y z9l0^}3mX?4E!S#!;zuUksI~aRUjl4`c6RpGh3n@^9F%C&shb^BYf(Y?1X>(>~e_DHd~N3jun zL0_J#P59MDi2i+3ifN*M*Azr6(Y0ySU9HN8v~$2phjHn!9F2}+`bC!IwOKJDCWXcQ zlfeQG*jbm?SX_BjlIK}S*%1ns4=I=3pwLuwpnue9LfO&Q$J0<(aO5#jsS0TCyBWk~ zv_9Z+^@i8vU^;6L!S)V^q^08`A-h~v?QGh4wMVqZvnNm4lcpeaGkqq5m~xlv`ornd zHpM4b{S7!cVWh>`Au}Oy{)O0hv7xUBG$h+)DBvui(1oAYy0AVzue_ z(PNm~;q0Da1My9L26>0sTG**EHq_`&4K`n~bVI^})QY~LIRk#haDF$tsF ztKIBT0A!G`TS{~cjAUDcL zgAxz2ItmHEVbCBJZRAoS1cd;0=MV%sHK+$nIidB`eg@Iez`k4!su&wRXY}Q>w?vzg zGkMaDn1awvDQgPC@|%({@TamV^&X;hkZZJ^2(93{BMs>9OzE#1(AOEne|rO(b6s4dqy}_*v;oaRg_AVh zt}z9n8_?CJAanx~2L4nwp!vrub^-D`(x&a~h>hV3`jB3htL@ZmZa1a6ZZ_K)#D9CU zc~)#xq-JwxwAnm7dD5LQ1)-bG(@jC>W+M#zscbe&j@L&q+s^w|ao5v2KlVgyTu16X zsyo4TbJs(4NBW%?n$ll4pr25OStO`|{Ojgu$hubYC< zP3bkJAaqj_R{m5rr3KGOqb1qrkdm9G^}`;_KZ}j`TQINB8<%IWUwETlE@HkUBfSxl zD0;oq8Q_-4Be5I#dUJQDxnrR1Tt~t^( ztVH#bG^>}Hf{2~;y?gUjBK?_`Ah>&Cqxl>JWBFA^h<%qSrL>N?!xTg-u?^I}?m;4F}PKC2BBG2yPzAV>_1+ae25z_yG zDc!V)|DGv`*h#6E2bb?$!^fI z=*~&>n*j)o#i;3rsLpBnsLX>oS;G?DP${V|FK?#XOxQ9PnuaKE2DV^JW5O*1Zh_30l zgCR}%ocqk9qxD?NA_E&$1-qy2-`!S{+tRus)u}#7(|X8|Pyt#Gnu2&XUKEaZA+mAc z$RedbFhaIVl!YhUEnSF>;ER=TCjvD`X#b0*gwt~V0tRszb;J@{@Lxy9M|jlQ()7)- z(R3-V@~67TrRp0dPu16%g3uEEYGF(#1J_uhm!HVxt66NCSVcTx2NrxhHWsYttLy5= z<-$iyNvLJ}kA;Mn9?;4gcAZh`N z6U*g7*l2hlHhEkESB|b4`&(1h5t01=+xzw~JE|(*K+<`2x;x$J&XdH0%_E?vLqZ;a z10OLVAwq|k2M&($P~E4x`|O+-r%okluFQyDBWG@nf*zb<6df4xbw@_|2Cp&~uW~^V z5QHm^qn~~b-(?&SM4e%rtHZtbx7MzzU3Kcz>CQf<^7+T)`*Nyl)vmR7{np-Vuf6tT z?bfYNO0(`{7O_@C$Bo^Ew0npSXbLrKkrC&-FtGwSfm=tD?Gjx#7Y^Ghehw{ga8*{FG=A41H-1s2k1_-ZDX6ah#P? zhbQje@Lh(puwWd|n&s+L{i@Siot0W^sOv%DJru`e-|)Km+YLwGFh34+{+00B4@l8RPzmS+vb{$V*FRs%@@e7ALRMbbHdZ z`-}>l(B9Fl79X@otx*QK3l5VmPYOwA9S-uQQh3L@S{$4jrI4o{Mf=c8+Xwm*T^6eM z+NR4wHBl+ST6LZNrC9B9JV=sKCB{?e`F|BZy(*;bXll&`T;4RIG>WX zIXEziP_f~`N2u$0ATbdv!|)SM>dZKNjuUHe#mSC@sV$xlmhbi5`nA=IagN;ZP|Yl&gr!S}Kf9fyyqOoe zP=k>9r$hNi#PBIy43!xEQkO;IVrV$n&qCzof>91x=}#mk1d62+JlN06JtBf{>EfqE z@C{uSiHl%xhX+Dx-_BjBl3gv^;dKwMBqjkw`}HzUm$MUTH}i-9UeZNR3E%}?7Rd`B zU?EX(p9-m>P!kwfpOkGn6f}@j<`Dt(p#*K3s7rKNGzvh&8>bw4a>${x{N|~(pV{+eWXIZMYlF7jj&snMWYZj zM@H@Gy6sS`Tyg==6buuI&}7SMO`6R~Ied$<0gT<@e;}GI_b2 zFHKiJJ461y>kWlzR3~X>HIGFX4W03xhH5c$DP-l0U&jAO%<&XDpch_=RS!6`Aw0bM zbZ6idb?^zzf;)?br@Rc^hWZhtk?XuZ$sezl^3N7dai`DXE=?BErTiafP967g^zSM1 zQn86r1)KaM!-&U`YjD0~W(bn6Yt;8;S+IUUG3B7sLW;R{IM5nUD!<3(8yW`JJX z$=|)Bl*Mc)g1t2yP5bl2P+tP8HH*1VnP&v=pXq|7YWzPji&%}(@e15`(5w`4MXbJU zV*dA@msIs#itb+K+hF-C_0f&YgNEnKZO4^|0&}4*3srf$G+8uTek*0GI{aCGkt$A7 zZK>;O91R)nG%ia_`1AQxNPl^&68W1n!4BxFi*qd#aL%-`1qQ+Eu~gTU#SKhHLS@(&Y(vKLE5IoCKO|5N)& z9@k}|n!YWC5jVrA4f%B?`=C9B)0HE&_pSsXM>vTpa*c!h_W<8P#>rT(gRov*?G?y7qQbtdD?(KZ z9+Tjmx{2nY{qE6Ubnd0$oz)Z??fxP$T$lR?k0E!QN8z5=6zv>dZXekfby=vI{ZlEN zPOG$mun5XHGCqX=vh$Ow*UK94=d2^udMWa6)3WW+Wzh(}hGtUAO*SqK7OE6dxoNOa zrI03{1`Ab+8O&SLxOorBAQaWie~8wfi%S zVXSJn2fHCLplJ+4xkWH8>H?%NKEfk{F0f)v*C_X#S{uG=HGWLbaT~lLG0qiPufK9-+S@ zE7|70At~E#32Xdx9Ncq|ahpcnYrng2?=-4LGq}%55N_U~laowjRwcVWwX%8fYK0Qrv- zgS>B;cIxABH4b!$Y$KrmP!};(dB3mAq7ihBzEX9!vI%LhP^CzyyPbE?7z_6VJ#S3P zmhGZ3Sd$UhV&vGS5xYQ_MdAQsxpO{mlo62^P0aO-hXKDJF~DiLv!A)=mTw|}v@Uw8 zot>}CB5?sM+?_93mQe}s9X*g3=!=FYy$mA?ZJ#bm3g}T?7KsBrFp8KmDOe#Bc0NUs z1nuy~ild1^j_uFLIxVwKyIDuTw{($H;Fon-G=i_u6{y}suJ6=fp-S;C-8ExW3M}D$ z-Kkx|yL5N1dZj%^fqsrm z@ypME-^m`iIP;=zb>t#fk-(9Q>-RdV{q=AgCUey(dyHZnx|Y_7`d;S@^&ICbk{Svg z#ZD;(Rf>w*0!2?^c1NA4n~@V6*NZ!Vi})!0+(|#5z>j%KPH=S3ZtRn1H}29nyHNqq zcywb8U!kQZRd*-rOIzJtuKiNTR^L`B-qKDfFz^^Swc7e@|D5>e-hGGV^}PrVRKY^h z)IN$4v~gr>$VdHMd|`0?YDI1!tjfz#c{wgGH}a+V?yK*`Y4Ye6!lxTRojFUX)8e-f zKFJ(o^?Uq^25kku>}^vO;QDG(xFVF=G31@L(#V-&eQZo`^@cD18=1-_ z)xXljSp3Xq@d~rh09Ds!T(cKY`o|EtqZ1i>F+4OG8cC?mI%f z51=4HRXN+596-5GlSOp*<`U)ay5`7iIfPNEj=x%~h&4wo#eIqq$0{ zSm48N4V)Go6vaCd6UC}wWJ?7|2MT~-J19V;aa^a1qEbQE>as{&5QE-v-#CzgHZe@v zxomid^hb#a0jH9yUMu7Wf)n7E16l=rUc%myj2c1GbbZ;r6yOF~ob=ljvs} zX=&Sa(NfCmGF=vpfNL}p)zYNTK!b%U#pAkzY$^r3L-T(Jy+fNr_S3sMRL{N}=N%Gi z;5MyWEmX}q$}D2L#RU97Ls37_=8+3R7=AP<44uJ-w9GZ4!_IFX$a8gBs49GxE(_I=q&R;k8`6**HI3PmGB#Pxvg`(b#5)qJ z0n6Rd6Xnh^$=uu{HQ_p487P%{EwhMiQt_sjZYR~Xaimc%y(=*!=MCqw8>5!hbo;m+ z)n%btkR_q-v=zVrZwx7`Pb3QPrYOK4(?v&B%sX^hGy<%lUzCcH%|nBQD#Z+ay>2^- zcQQPgn6zhdGCZy;GbQ#%by+k5t|2oeb~zx`V4+H3>DsDP3OE_g_#JdIYzb+V`5QZ8 zPCETKqR=!fGtIlCH*6f)()>{CfX`trvToCsoWm?MIzDaVyvf>=Frepj22e2sKH;OR zqiavLM3we%`=F+DLDkiQy|nh^s9CYFhZkOlQ2pGM7@U2)+$4}~#4_8_K9-m3vQRqc zQYns3TNwQWx?P^E7&xOkI)k1|4EF)X-OV{}`g}qcH`NJ^>#|53`T>7x0TsRp_D*8h zFH;i?$T|-Enl5q*{1dt?5(j_jTkRYoEz)7KO*{gBof!1}!w7JPV2hM-oKxVhbWu~l ze^!@8;=rGAMPS*K7h(?@h~g24C)l1zObBa-gG;BpLZrPyM0$XybkS4-c|w;(qd+ta zS!D~$K3#)_D#cpVpgrDg(ET$_B0wM zmq2j#jHi4ZQS;TJkMbPoRydW`oezaCa9l@yxSZptYa1$BZZSU zYS)WryXMR}@8ViDN4_1tPT^zwJF`mr|vgeU@FK<)XD_6Melqks3q~y}-+|h7pD2+9CGOD8ariADK zW@uP_Sz2Wt(Yo8YlqxRIY(AAx3alc&OqYdfWN(sKb=vM;6E*%)h%AZOzG_$wM_CRh zgTid(a7Gg=FzuHiA`VLzOQrM5x-1&SaWd7?{Seg&N*$oVLX{$+PH>5wso)8}u-d&R zv0BjMPEhbJmL^K~Ze5uvv429BMe>0At*~)**P{snJ|0|B7HMaX=%S?ne@K@_Bj6g1 zM71;NmD6CMO7WVm2ibMJEK(%6z(}L&hL2O}a7DI5(g&i?rWA@L6e1%hc zBDL!^-KwE#*Ke4`DY2oX!PGohV5&1XiaziOq1Gf=pjsif7OC5`L09XtQ0-y`v*`FB zY=$U-JCJK9_Nhh@ZxJO>L4Ua}ZmQ~Ds>@>5&}$F6Vxt63B!+s^D1i#^ab2(!-q$mW zSXI&S3fyNH;Y7!uD<>urJmx9VU93)UdKZNYt zv>69rFC4!HzbB(d|XBa=lb^HJX@EAsmO~#5SFH&x@{#@7|4_&dnm$-Iy4FONJ+rXG6p~h2pXHQLO5+P%Y*L zDTq#+cCqmo?@SPG3K<&<_n+%xr7G>8>as{4?zni2UrP|~Ch-_m?S4=fD+Tuhx-1&u z)==iEKaiSAgM}(ZLRM>&c#N+kChmrKj7rci=}Jin`UPDUi9_5h9^=5)q-@p3c#I0< zKIGY^vART;#jHWrwriTiW89J$$PMur6~>!%0a6ut1G6}VR!w|7#zTn#*gPJi!f}85 zI9{X6LeTaX) z7(bnuz{Bwvm6$)NDJgoC5!+x-1&O*U&^tnaLHL8Z1;PeyzKXluBWb*-l@zG@dEig$#~QujH`x zk9M=H#d_VV=8AQ6nJ1RfWwDqiFAM0hNc7X?bTLeq`C=7a7K*dwWsojQ#AV< zFJ0z|K6$s2F7w4Ay7Y){y37@4(Pg1HmoAIN8hMwZ%RI4^E(^ptbeS&}O5zH-^o!Ta zySa4f7E9=In&_d+>0&uudPNsq&fw^W$cO@fAqfSLLK2Ehg7@eMN@PoiM4(8tWcjKy zY^Rs-LG)KZG=@F#fJc%huyaU}mLgTPVwxF_iJT37 z@nbT~ldAbo>=zC}Mz(9cu!^9=nwOF!SI zpC8iCkLl+p_%Ru1djH&2Ae~1)Z=jzv{cND0jr4O2Kc*nyDQ)jMkoxIo5I-j4i#=5T zcJ`b(217`RnuY(douwQbAyX}7DyBR=@Ft|C@BARHA43MW@&~Isf{O0$=4XVNx+Cz^ z9igc12u^iJxT-q>k?uajJPA#8N3g0pf|c&R#3>11bw@y}J3?ID5%lVgWT5Uy80wCs zqV7mM>W<{3?nq$jjs!+`U*?jL&{AfD))#?YmJPL_>blvkZC?#cQ*kF+K1;X zp}@{K-(ve1PWMB!EARfzCc>2Bz6((didFp4oi)evM#bQm_IsTL+0uB?DBu;r8~U8S zoVDK!rl~ponenMyK3g%1nX%~%r-t4b3{gEcq);+Ou~hV*0t$P~Sx_1ie8Trl^{Feb znqxbQ+}*HdmA`+1d&@UCplTD&T0PtZ2)Tt8FFA{L@ZSgU_lJSw68EqTBbzm|bwM#y zuX@Mcz0Qj5M4(;2ZUP)~4dx^DYW?QA;mrO0k?WArdU0&qoH-FL_4RY+jCRcfo1q9B zyeOG8f3*+mV@6+@+xk`0mS8L#&sC*FP$h^2cw7qW=pOG5nrDJ2wljCUTqdx@AE4mQ z>c$FFF8ftR97c+8brA+gd&L<2I*Yh!TvNHGjOx+rZPnX{I#RHxCV7a200&Kei$tZ|VY4|mqMqs|%^>a200&Kei$tZ|{v8W-xU zaiPu{7ujcUXN^1RtZ|{v8W-xUaiPu{7wW8Wq0Sl?>a200&Kei$tPi7x&bQD$^ClF- z==6buIE2-}#!M6YGb@Fh5u&?j9HF?n7Dj8O4SS2RTEd7@M7KJEseh)_PHZfYGoQ6iQh;uOvuiLwuM(ik>OM z%9uCUT$km$B+nX)v&Pb_u`p{a%NmQa#*(bDAZskg8jG>UQmnBMYb?VWi?GHLtg!%V zEWa9yug21=vG8gvyBdqG#*(YC;A$+l8jG#QQme7hYAmxFi>$^Ht1;X)M!Uvf*BI*> zLtSH}YYcQvHsYz96%gWSMoc#Dxd=oU0Ldj<)hrR6?sBCxSt^q{Ccs>**E{oA{Nk%% zbfPXu5sCl7e|t|JlTS#`h{ySF+nJv?#!ST9CB_RUO&oZXHILWD&+vF^kJIBSiF|3? z;Ch%jSTTwgHU}f~eU;MjX=qaPDk1}!IScSU?+SMix0%?yzdrWE;^BO8h_hJ`gqK5$6waERIfPQF;`NmOx_3ebeZUI$11M-(5R|(33o3o=V`ojE=y*9&?tvVl znO2PPDozIQW-rAjiD$DX&Kh*P=)3(_Qe-!I6Wb`~+Nsj9Y6<)O4V*PqNE;SHiDk`n z0jkr;!3?-*2{_M?$T@pQ1>s~&99h6zaGop9^97rfO&U8j>M}!iy~r+&{7N{}!zkzK zVoxvlH&WT=NL_<8+xP9^(xY%}ZxIU@PQ$L2U^Lamr|9Dwsm|GZ3guFznnDr?2*t2c z#}EP8;Q{Xv()IHghmV&< z?3<%G^H^Q{6}`~pf#aSmZWOaAFELmwmMrKa+;@W%XN5eDoT@pJ*c9{3$EjPsI*xK z=SJ7XeZ+32RL+Vk`2Eywem}L{f1k2&+bVyr_xX$?N7D1Mm?4#~bXcK<*lq}t&z0QVfv3rw#{bHijIa7)2A z{CBQOGo*6P+EIxE6)O@XU-arLHd*j0B zzwZp~%fn`+!UfqA4kIlKg*rr%u_%sV8i#OsxSZ@;&N7TFRg8)hg+gRZHnz;38U$&3 zQx*cHvCA$P8ZSC4sUa{wE((1ZwG!|I5Er&Ai8YlgAgmV+AJBcEudPg?dAViLdevEd z06e)MK40|3k}t}WZdo29E1)COm1;K4^~WvANxtN)+s=Hr6#KdDp!e8GxJa%jM{A(n zasbLeaB*2(HC}X92Fe4TDHX6BB^i=>Cp}dy+Ili8i)>U7Ni4nQ+!}9)s;bN7j`*qaByL-dlT2e6&CZ%8Keeam(j

nM$51Y)NU6lojrX5nc<46qyx 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 ZDL#+178b^NrUC5J46pB@PTw9I`TsYD4fOy3 literal 203481 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%0D+aAQv^wC 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 PJt>j#6agT!d>buqIzbaZ delta 53 zcmV-50LuTXl>(`i0tA2sm7cK#JsJvXRA^-&Vs&Y3WRtKL6_a2ZC6j&|D3h)lxdJ>X Lk?|C>ej6=s{J9eT diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/add-documentation-testing.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/add-documentation-testing.doctree index 101a60181a3f883f48f600903f1d7041d9135d61..085be48234097aeb0e97f3a9f58cd0ea486959e1 100644 GIT binary patch delta 58 zcmbPsn`z!{CYA=)sgpOd%#>qn-#kx_nUPb$CnQ*p%QH=3^D_AgCPt^p@=6*=f<8)K F-2g8x5p)0m delta 50 zcmbPtn`zo@CYA=)sofh{X38-(Z=NT|%*d*z;F-p?d6j$x6QkYaN_h>aK!}o8Hvq5$ B519Y} diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/bridge-project-and-docs-builds.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/bridge-project-and-docs-builds.doctree index b82aa5282eda358553fd26bd303401227250b40f..2e9292e759dfac02ba358e0d4e7320d28a7ba9b0 100644 GIT binary patch delta 2762 zcmah~dr*{B6zAS$KXw;!Kx9-zUdu}!ihwXJpctl0x)Nfe;wT6%?tUtm?4~FxDBx17 zB4>3%19>=9K0y2&r>q2>X-1tUO{cN3NlmS^GGCdg1>JKOwq0xNpC9+!bI$Ml&f(l| zpWLCl?ojti`Odey-SuV3RH-Ov*pWHYo&?tmMhG6jrIaG}Z zRi??@+?aL4#kwYko{AAHc{))-_q0^fE{ckgpel?ZMUY&mr3Eg!(uM!ml`%h*v<>RI$k_L~D0$b#YWzpn zDOX)zvCJOHT2x2rc_&?wa_)f2VlDl|MO)*5HaVY}G-0WR&^`g)$Q}i?hDp`=#W1|2lSS_MwYX?G-8xym44|?)Y>CY zm9CybNC$MUnNB+SHA?G%nDV0xua)P3Uq#$7vDbrdSO@!KE;LNGhQLX42psTM$;1v1 z)EH1zU7u#Y|XM8!<<7Yj-8&<)3%r;xS2 zhk7d5Qf4`>@-}FR4ca%v_%xu3P=neKrc+^f8eHA5kEB8M#$*x&A8)J;NL9GGiGeJv zOuR(g+}7K~C}!Ai;C^}_tgFnSnF=7u@gzg)uWTVC2U<404v(u-A%3$KGHa4Of{;5y z!RLH>^CehNI~tBxr^ENPsd9O+SXu}Zw!G}2c8Y?U(;!&9VPm!@yjfdH8?izx6sX<}RaT|LqbOO1@4 z$LWlR@l9SN65g{$lODKW)shStz4aKw3tKfL3B0z|1U$uAL^E*ABFS;XXYu*AS148T zS@gry?dPbs68!2jsXyMusKk*<{!eGO+v{INC;LCc&>aHp=d+QX>0R1R27us#W@8{VIJ)k$#D72DX!cF5D%evDMhBZ0l`N{1&Sy zbki|})xlxp?KDy&*Tjb5Ly9H3>n^3Ml}>YrZ;T?vFuyU2^h@oHN9bLUc7tpYEALXqPizdQ${xh9ymm4?3GZqvz2X2+$m^_`=@bS?Fz!Ca2-& z=Fvm?*<1}F2AR1~JOjh_YUwQ{oNOHdWqZd2p2qM{@kjgs+CL<@QslmJ zN;XNY9q-G+ZZeJHS%lvZZXu{K9mR_Yc#41(`_<$o?AY(8#vrS5mA=fBZ_=+Z*?6o~ zS!Oip^OqY-mf6GvIJ19RD8A^0HvXm;i@4Ivz%^eiq7r7@h6x9Jy>c19AwistWwIgX zK;p&}{1lkkZ>5-wr$mHjX#RmP4$T+@{t@Bd4Gp%Ig1{dWe?L#q{2hUhf_Fb1i%dnB zi>=K;n1p631G80GvUr8wbQ_PF2W+BfI42> zB4Xh>UeqFD!8%^d!V6i<1|NJt35JQR*}8)-*}JQ9bk~9>-d!J_cz0>oEboq=cy}3& z?)Zs!hwE+cj-PmUv#>?%PMip_heBt@uwOkP!j0j_p>nWaY;Hd}U zE#xXjIEBy*yAM4g^-$k=oIbK|y?2%%3l<+h<>7c}?+Q}f!?6~M_u;#vVeo60k$QXb z*I|$If~xKbVJc6yPC{9!c~z0#W>8z**$(M#GeYrwx#T}NoKK^j^CMrBpZi??94JT{ z4wH@q(y7iIQ(nYT@*GDP^c`737dhuIz#`mRL3;*pfkY-ND$&ez&~pPlhv)Ub3o5A&EL^&YP|pe delta 3410 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 D#c`x4cYgw`H)se_2NlQ9Y z(n4{uzFzqeT}20{5gCj{d_!_v?irSQDR6i&l#um>=RN&>!<2~{vkgT0w zsgp!hwfph>d#siDzl?uZiofb2w7P7vA?o1#o80^ACk!fndHloMwCmMNe1CgvPcLJk3{9To-ErLiALpK2k%?% z8x~nhs37$yOe@crww3Ea=4vBVb+~_ywX%yf7%UvVf+B+$1-a73~31yD)G zEMlH9w<6nIA-4V%S_uyggwmjTsDjXHQ(m%sp%*tb6PJ6Vho~cJbg^p-9d-M)kz31f z-yAE&f%ln{9TW}V#~-uO!|MMbo^iE@6Zi^O56~QOT$ACbDs-L8ic%#Dl~`}D+^4H; zG)-PkZU2PbU~Gyr>V!!@&Wy4uJaUs=fQx=@qGLI`h&}&eE`HZ^St_1R2|nr98XFI? z8yNUETL(A%TI9IGZl|3=+bw2=dB3*J?txo=ZQQXAswC~n3lg5=Gd3wT6Y+ZBCdWB( z&8N)FQ;j#(;My>A<5)8*L+w*`3|31xA+rtU%lTyXDkFHMq*c_`;OWoULD(s2k~(6hWoDq{oLPvM za%y9bb7DAN&w_BBc3&fS*d(s`g8deLEomd6w(_r2j<-`)PDw(?sdcxB3A`o=Az#D( zJ1olYxRCE;uv|!(k+iwh_wgSRviKiTUf#){1@h=4G~08RH2b^J_J@*CvoOGCisn*z z@^Rb@joNR1Sqy~W+&>W94OM3(tmt9gC;tX7fIlF#EPRi*+?EOR1W30PGAaDP6yVM_o%@-Qc!&W9b45X4Y2ffWV=+Qfloba+^S z$)#=yaCt57)>BfKx|vt5DpWU6(g@ydW!3pEwF@trptFQOQ&uRP;QAbb)E8^UNCBLM zvy|ThY_9u?+ zWOMkg8TPO@)A?|p1+46kIk~vN%>kTQ#XMx1u`=F}jFoW;yR0w)t{`6-*irHpAJVu}qF1ToHu>uq2`Te3iPP|})5x8T}HJcXB^Uu>Tb|y_1 zUJPnB$!i=7<&{tm4I$%Lu<+D%A#tYEgoM$TDv3zPQ&rFj!JLWFDmVn2LtN+Ll2pB} zG=v+wP-l7xJP7fH5~aLE%z!<_OVnu3K3|Gc)vyVE5=x&w3&)9#qersPPJGr5UGR)i zw<1;d=`?z2tG-NS>$THXkOT$9or|O}A*>R>0TIug0P!Ct2 zBTV%J+U%2cjJ81?(6KpGfCCM*Q`)nDF1*wL53?Qkjpekpwu%|33iAVsy~v$yWnuo) zh|^wX(N4Tk!qf3Je`0+x9p-x);Z63$l-B_d13NeMoD-@|%U0f_^EW(YZPFB2MK?!v z{^m!De?f^m?f79cG{Srsi`>uvpNG-o1{V}}h`C-jH1WB|+z^J(!uYxyYFH6obHnb^ zC&Hv-P(4mR>f=+ZTfoBBPVoQKm-+BK9m?uB9~x+3t95)h%At?akVsnlA_wK+Lj&>< ze+yN4uAi#M@y8w*ckv{nBEhH#9uOLGaI76x;B_C| z4@x#n<}eA=C~lF!UKU{qrBTfeiov7V_`|vQ@BI&c1)lN4MtCMW=;`dBdbSbc5`6c+ DKXALb diff --git a/docs/_dev/.doctrees/release-notes/1.6.doctree b/docs/_dev/.doctrees/release-notes/1.6.doctree index 7779b8c32c1675fb283738de3ea5672d417f8afc..57c1c4843bc5906cbc4fd5bfea2de16374b8cf30 100644 GIT binary patch delta 46 tcmZ3qo^jrKMwSNFsgpOdY?ELzRGPd{OpIAcL22@J33(*$W?{*GI{;fj4O##I delta 52 ycmbQYo^jE7MwSNFsna*IY?ELzR+_v(Oq@kYK}mlyzof+Ew-W5gVw?FT`|SX!whoT~ diff --git a/docs/explanation/sitemaps.rst b/docs/explanation/sitemaps.rst index 76768ea..d9111d6 100644 --- a/docs/explanation/sitemaps.rst +++ b/docs/explanation/sitemaps.rst @@ -48,7 +48,7 @@ Add ``sphinx_sitemap`` to ``extensions`` in your configuration file (``docs/conf Sitemap configuration ^^^^^^^^^^^^^^^^^^^^^ -The build configuration file (``docs/conf.py``) in the Sphinx Stackincludes default +The build configuration file (``docs/conf.py``) in the Sphinx Stack includes default sitemap configuration. The ``sphinx-sitemap`` extension requires a ``html_baseurl`` variable to be configured. diff --git a/docs/how-to/optional-customisation/add-documentation-testing.rst b/docs/how-to/optional-customisation/add-documentation-testing.rst index cf57ff1..2f5ca2b 100644 --- a/docs/how-to/optional-customisation/add-documentation-testing.rst +++ b/docs/how-to/optional-customisation/add-documentation-testing.rst @@ -62,8 +62,8 @@ So that Spread knows about your tests, add the following section to the end of The ``suites`` section is how you tell Spread about the various Spread tests in your project along with the systems you want Spread to use. In this example, Spread looks for -tests in the ``project_name/tests/spread`` directory and runs them on Ubuntu 24.04. If -you create a new ``task.yaml`` file in a different directory, remember to add a +tests in the ``project_name/tests/spread`` directory and runs them on Ubuntu 24.04 LTS. +If you create a new ``task.yaml`` file in a different directory, remember to add a corresponding suite for it in ``spread.yaml``. diff --git a/docs/release-notes/1.6.rst b/docs/release-notes/1.6.rst index 8805191..d790a0c 100644 --- a/docs/release-notes/1.6.rst +++ b/docs/release-notes/1.6.rst @@ -55,7 +55,7 @@ For example, if you were previously redirecting ``/how-to/set-up/project/`` to :caption: redirects.txt :class: no-copybutton - "/how-to/set-up/project/" "/how-to/set-up-project/" + "how-to/set-up/project/" "how-to/set-up-project/" Remote cookie banner files From 51438547661120904a5d3f4607053f19de550db9 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 16:54:49 -0700 Subject: [PATCH 10/13] docs: update legacy update guide --- .../legacy-sphinx-stack.rst | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst index 1eef940..80278f3 100644 --- a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst +++ b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst @@ -221,14 +221,14 @@ following list illustrates the changes in the directory structure after the migr │ │ ├── header.css │ │ ├── header-nav.js │ │ └── tag.png - │ ├── _templates # removed, files are part of the extension - │ │ ├── sidebar - │ │ │ └── search.html - │ │ ├── 404.html - │ │ ├── base.html - │ │ ├── footer.html - │ │ ├── header.html - │ │ └── page.html +│ ├── _templates # moved to `docs/_templates` +│ │ ├── sidebar # removed +│ │ │ └── search.html +│ │ ├── 404.html # removed +│ │ ├── base.html # removed +│ │ ├── footer.html +│ │ ├── header.html +│ │ └── page.html # removed │ ├── build_requirements.py # removed │ ├── get_vale_conf.py │ ├── latex_elements_template.txt # removed, now part of the extension @@ -247,11 +247,11 @@ following list illustrates the changes in the directory structure after the migr ├── .wokeignore # removed, check replaced by Vale ├── conf.py # removed, now part of the extension ├── custom_conf.py # renamed and moved to `docs/conf.py` - ├── doc-cheat-sheet-myst.md # moved to `docs/doc-cheat-sheet-myst.md` - ├── doc-cheat-sheet.rst # moved to `docs/doc-cheat-sheet.rst` + ├── doc-cheat-sheet-myst.md # removed + ├── doc-cheat-sheet.rst # removed ├── index.rst # moved to `docs/index.rst` ├── init.sh # removed ├── make.bat # removed ├── Makefile # moved to `docs/Makefile` ├── Makefile.sp # removed - └── readme.rst # renamed to `README.rst` + └── readme.rst # renamed to `README.md` From a4a52f069c58d5c58d4b656fa9ad1502e6191fb7 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 17:00:23 -0700 Subject: [PATCH 11/13] docs: fix directory structure (fr this time) --- .../update-sphinx-stack/legacy-sphinx-stack.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst index 80278f3..b7b3922 100644 --- a/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst +++ b/docs/how-to/update-sphinx-stack/legacy-sphinx-stack.rst @@ -221,14 +221,14 @@ following list illustrates the changes in the directory structure after the migr │ │ ├── header.css │ │ ├── header-nav.js │ │ └── tag.png -│ ├── _templates # moved to `docs/_templates` -│ │ ├── sidebar # removed -│ │ │ └── search.html -│ │ ├── 404.html # removed -│ │ ├── base.html # removed -│ │ ├── footer.html -│ │ ├── header.html -│ │ └── page.html # removed + ├── _templates # moved to `docs/_templates` + │ ├── sidebar # removed + │ │ └── search.html + │ ├── 404.html # removed + │ ├── base.html # removed + │ ├── footer.html + │ ├── header.html + │ └── page.html # removed │ ├── build_requirements.py # removed │ ├── get_vale_conf.py │ ├── latex_elements_template.txt # removed, now part of the extension From 651e0b69ba13cd9f162b8f6730e5996a5d62818c Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 17:03:43 -0700 Subject: [PATCH 12/13] docs: tweak home page --- docs/index.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index b83e044..2f44570 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,8 +1,7 @@ Sphinx Stack documentation ========================== -The Sphinx Stack helps you to quickly set up, build, and publish documentation with -Sphinx. +The Sphinx Stack helps you set up, build, and publish documentation with Sphinx. It contains common styling and configuration through the `Canonical Sphinx `__ extension, supports both |RST| and From e18f6b0b97b0aacf14ca7c09c958dd23185c75b4 Mon Sep 17 00:00:00 2001 From: jahn-junior Date: Thu, 30 Apr 2026 20:17:33 -0700 Subject: [PATCH 13/13] chore: prepare for 2.0 release --- README.md | 2 +- docs/_dev/.doctrees/environment.pickle | Bin 203401 -> 214331 bytes .../bridge-project-and-docs-builds.doctree | Bin 46742 -> 46841 bytes .../redirect-pages.doctree | Bin 16123 -> 16630 bytes .../legacy-sphinx-stack.doctree | Bin 43151 -> 43111 bytes docs/_dev/.doctrees/index.doctree | Bin 13009 -> 12987 bytes .../.doctrees/reference/myst-syntax.doctree | Bin 143560 -> 143793 bytes .../.doctrees/reference/rst-syntax.doctree | Bin 149592 -> 150580 bytes docs/_dev/.doctrees/release-notes/1.6.doctree | Bin 22430 -> 22430 bytes .../.doctrees/release-notes/index.doctree | Bin 11047 -> 11507 bytes docs/_dev/version | 2 +- docs/conf.py | 10 +- docs/explanation/sitemaps.rst | 2 +- .../optional-customisation/redirect-pages.md | 2 + docs/reference/rst-syntax.rst | 4 + docs/release-notes/1.6.rst | 4 +- docs/release-notes/2.0.rst | 274 ++++++++++++++++++ docs/release-notes/index.rst | 4 +- 18 files changed, 293 insertions(+), 11 deletions(-) create mode 100644 docs/release-notes/2.0.rst diff --git a/README.md b/README.md index b6801e7..5c2f3a7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Sphinx Stack documentation User documentation for the [Sphinx -Stack](https://github.com/canonical/sphinx-docs-starter-pack) — a set of tools for +Stack](https://github.com/canonical/sphinx-stack) — a set of tools for building and publishing Sphinx documentation. The template itself can be found at diff --git a/docs/_dev/.doctrees/environment.pickle b/docs/_dev/.doctrees/environment.pickle index 7d7f6c0ee25790d344884f26a7d2185875109097..0c48dd8358ffa040e44dff8c2fa4a7af2f8c1eee 100644 GIT binary patch literal 214331 zcmeEv37i~Pakp$sT4{CPx83&I)=JjQTJn9!=(H_#SV%H9XvKPVrgvvrvoqs4B(2xt zNC=UX1`Hl^8*CsDjzG9c2wx!K`yeM*0CQgBFOgFt{l^8Ksob-(WEnVsD?+Y02T z)lbvc>w48y_3G8D_p09WXFN7*+C|go&s|(8Wpjm7NxN_&S1uMt>_WBfF5FSe~mFOs-samns;wYA&A~D5a{|d~UGr&KfveEg!^H z{ZYJlQD5Dio-K~pb$6znF6J{ilsH%}I(E8Rsk<|F-Lv!Hp}M;Xk=&iX1lXy*>4cFay3Q6yJ z=1zIwf7y(RU9IuA*{7;@p^_^WD)nQ)d|^6OC>C<*RDM8U)ZN8}Vs)rkD`b*>S-%Eg zS;-9-P)JG-l>+TXMiCUAz zl3f@sr%KtnyG*?=-!@PzRT+7AwZ2bKYSm(SAfKyLa|IA&g?c!Y%U21*fvT{y?#@?F z^7)Zu^%UemF&JNxPgPMepDP>(j&oJHaxrh?a)G)8w2@pPmDlgp25W_CZ6G(28m59C zxY1&*S{t-IaF@yZ-Y2J15Xj1jVO*cE%K%#UzbBunR0nFM3?nl*Ixw6AlFQ|F;z%-A zKzX^=pHs-D%Q$rd%!NF ziy5Zd>{@jwadQGZ1_cUe0u@gz4!BFw#nLF~TrCy`Ds~>+EduQWl~SsZ)Q>hMeILJ?;khz-^qR5F>(4WmU3XREj_m4Wn9^(h0DZ1Lm(QDdZ-sh@GX zO46Qy*kNwg)?sQ!Xd|gwHA|?>-|5M+wXd2;VkKH#tqkTWQV&4R>_Up#|MIbN zu~x9th+XFJpkl~%XXzQ zkOmPdkgcvec%WMByFg1FjH07Fm}1+)ijxx@Reev~W z0iUlv3<9VhdwL6!Fdt2|M9QYZ{RuV76MfWs^hw{*=k*+Y+;8*=F$29uAN3i1%#J?v zMt!AGG=Rc&$<15(sPQC#{&CVqeT~Y!4+KRue*L5ayo-UsaxMd{aloB-+_p;tCsXAD zbOL?%qDrlVwh2-6ZvyAVOdWM+pgLM&5nT>0v0$Rnjf@Z@L05<+Ug(BU4%nq!zBpXJ z|049!-N~f&@S(#;9=6Ih2$HsMz16xkH8@zl^?|Z|_=weuUtfNYKz=toz^|y*I#7W0 z+2!Ed*Csb7ujMi%`U52M!N(i-L*8-;sCav$MGw2JR)5uOs%q6Beb!*Al1p0~H&UCa zl{RinGJGO5EB7G$`|LrwZ&4pYr3U;`w_4e1wN$yaug^Y}0{3mG%#m(I6SQ=qiThT1 zhgt*ZkcOPuWy0@PZvVGhDX7UpLfzK|vs?Hhyi!>%y(IwYWbwG2z^iDQp_0M-8r%u= z70pTq?}PW;bjVgAG7sfbkdrfLA81gi@+kC^w6Kdy=++lXKLTodh6mcf+>unFL^3*1 zE9W6|vkJLtDVIJzO3h524+zpEI!nX1&{l_``tV>TWPnVdv+fc(L)VnX84Q&YjI+HL zx%1Thp<;O?Rb}ovWW?e;!L9{v=@SVBgB;T3=g9Q!Uoppqce5;#!v&0~J zQS?3C`^4g)CpCB7Na|E>1eKGGlp?K55`rHXGeG8my8swumDo~0Ky8a}*$<+XKov2H z2i!ScIr_9S`m$n|>h4A8*}ALw$^e={ZfKOA(^VSnrwnTo_AA7;JOJXt+y$%(SWXHMhSEw+-W_z6(TM!pJDJYIv+zFuH1RG#FgP-VJxs$O$ z2~l?gP;^-|p9*>xYTsFy#`FeMt6i!M(id>Id)KyEY_U&syZJt=DS)F32%Em=n|~0Y z1$;Y~!Dr@%a%4hv)e6T8)T_C3_*n%V82aSwd)--lUCU+YLh48tQG0!Zx*Ena8&~tW zAaoXY>HN7;PpL?Pj&7ds&Cgax@&jpTMDJFw+nuges>P8c?t*CUEHs8L6bw#Nm&@^XthNQjkzuHlO+sAi~-UHxioh{Qeg=rX_z!L*goSf z<&yf=fHahg|M-KjA4IlF`CL`0l(Xs{ea?W4e$b@|3|2{UkAUO;a(SNzNpx#K4V2vJ z;s6jVNnt?`7AkhCoX*mhO1-2|y*Cc1dqF4|7YlqEt?EJL8F!_=EieIPgsdZcuKFZ; zML2_dq9aHlf)(8B&V^l=!RU<%T6b55^i5Ly4rE4R@Ri9yi`U8+w7P3OL({((DvBW_ z4f96Ooz>mjys~LnyGdWz38)@B^xF^@K{_ z8br5SDHJmO+zsB#aJ%`?))JCU!h4ad>;; zy5zMON;CS~CX7Bi{Q6)x4)zhkef#$8+k=$5#j5C3sBwT%pDttq~i}8w)mv zbrOcHZ9)2BaAp*+?$h1feH%A+TN|xIOuveyjI<07J*^=y%}QAZVC5uHiVALnlOi=@ zjnTc+Ry9?I&xi|H)uIJW1d>ouznq|b+5>FuJbc*lTys`&$SMF1Ff4in;jlevTKQ1Y2_+F14CRpleF&3<@45{ZI#Hg2YG-DanLjdGA>(;YtWwTK?@CPPM+`{bEUd3mRp{U{R<2;d zFI}ot18n3$=T0ChtOVel)Cm=;n;3n;{vc}@DzOP4f~I7jDuJg%seA>lUD6^1K}zi- z6+#RLe>W+{$P;~+2(z1%Mz}C(3##2y7CWIU0O^V=Hd&+{b`{gRNH_2;PXJD!2>Sy{ z!Y8`srg&R7a||ThRkTjp78)lw16GrN2A6?)@JuPC3RCrpyLTVjO$wX)yUG<$V@L!U zWF(XcNnmmL<;^e-7QS21=CZ+0@Nr9*;bgVd7f@S;t|Hd~yy2wO6_csQKtpBB89cQF zj}aavNYaH8sIFk2gyLb9xBfZ3>#b{=auc`LZ|F^K+^~KFgM}^uN0oAH123djiJ^_6 zvLOOpz8aK=UJyYfVv<-KJ*K%QUw$XeLE#C@n0`21tOghmeW(c@cqTOxukI>VMHT~f zl1TLGB3>gR9-|q+nGMskcYS|h{e~c=S;hc`peFeO{z_^WLP;VXF-eL&{IC^7TrL%= zL7?=dUQb|IZ&0*K0E_VT}{Dq;MXD=TX4h-)8wbT#}GXd`^_p@ z!9+&y3F<`g15~+}4`NIGlWJOMJwd8C#auz!nb+fT9Z=whxGP47ia}})#26;^MnoZn znL1I-Wh_k76cgoIfz>2;zvx`akL2SSs2EEEluTXGU$`RFtOKQhUf?QOp)o=4wVSNO zW|97oMGzV=e&QS7*$Nf^RFfh z@Wyq-adpd^M^-!oy%u`6XlkD)HsDV1?$yZaeb!yEE|rH-=ak$Jc(!MGGsN&e1Rj#d z7?U>CTIS1b3@mtdn0*GbOBixucH<#5*{;;}d<92M2`a8Ccc*XOT!If~)=(im3iGo> z!(mJsfK)W)bpP6Qm>|8XA0MZtbH~U=g&>~}-94(jAr*{8k73b4wHSUrhQ1HxRuNB9 zr@Q;H4v0+2A@rh0@5KxS)sEWjNTz20_H* zP!coKY{S1#q!gjk?# zmF5s2gVDQ?$nZ^~VWku;dild81m8hO{sD@H5x98&#dKBBddg=9@NI*WcVws8SmYmfO4;1-GE!O`97E=2L@q-m7%;EdaF{Ag^t#lzL(ob+716 zz;E-7fVlaFTN*&}^mzj7WxTT2-LmQ0O;L!L1I`synJw4dyh;6UfCf0a*ydZdGyzpa zZ#^6Uw)vJDH{E>8rp-4sfEvu#0;R6MY17TuZ`w@s?e0gHXP-oO0M(fp>u2V}Gi1XX z1zsd?pdx4>X!>Jz0TPpjBf!ZGS5hZwgwOtpt%I1JJS33+p3I`p^kD}UP>%6T zGFd)j{ew2l!9Y7a>Otcv@?3Efn_iwZ?j2ER2wpCGYr9f{iD1?g5}G5lbKdwOAmO!5}Ts)QL@Zqfk3R`)cc}z%x-YGzkrUVq1HZ3_ieRT7&mV^`< zDXurK-{T%P7O;>7Wc;GS*w$s*(%foCbZdO7TW!b=gC29l(3D#txvdxrBrsDu(!SgT zm}m)U8+!Z=WNn z<5*IVw`rXpd*8_WvkeYA_;Mezw*{R!SK$-;(dLTfvE=EitSl{Eq1o_L91MAip3=Km zK4+J=W$g4-nA++W_(k|g0Un;GAV3*KvlC5b6HkvR_(3-zyP-W_@lL89?&Mpx@7#6W zmQ7X@w{$D7GrNXQj{zs3;roNf@ZBTisvUz%lYArqkJYZ^-|{`fjjk@NF9CIi3tNZs zm_uhDhCprcaa08n6rV>f^~P^u_u1q>#dAVXu4F?3JftycmBBt3PvaO>=9OXW1dh z4Cza`qzRs*hmMW)L!{}oep&$n`tStL#<6{vH#kT>cJ)r!-AW%-MqDCO^7PoXrE1e+ zR7Yd6D5?n3!lLM34O|1vAi460*^IXPKwEDXjV8aKRj>#^^iIGz|Hp5`gRI>@iYer= z(^yQ08E*G0X{&z_&4i*&`>_I2O)C)E>Rl_zPInvX$AeDs zq?qH;;8{xaPXiKao>C)`Wh7cut4ar}wG=?VUJs(KQsgxJ@tAh;3i{u_kJg~J{AB&c z_|t;%CwuoCD8$^}~)w?)M9VJQOW2(LLvi-}|9vgOnU?g+xUSYOh* zRdJrPV}28swIH;oSjMV=L^+ko)hb)jNHIg zB}aB9@D#DVkYKE1rr2z61%SJNA_!82(M?#XK`ImzzSLQ=;MDJbe-~zSJ^f8CZjwlR zsZ67A$3wnzr9RZ;O78eWh>N5Jfv1mR@s>?Az+z9nvx!33&^I5G=0__?kJ8eQVtFef zAh3EDVeGVClUAu>U2tjZwZ|+(wf3fKWl*<@)u+QY*6VmBy+u0xYPpn}#;hD=)rOC! z8ErnN)tIE})jhd5Hii|=g({+tF`dOB{qiNJWigNRQ-ROv<~xDU?(RRqOxQSfU3!G3 zPJ{%h3@t!X>h)$kQL@{dY|>V=dXa7u8UXAXgxVkLFQ zObbcD-tC#pkz%XIVjiFqn{>OwJJFVR61K-C3EAFCje26OklylIA#tI7OFT9vCWEv( z>SJkvh;UFfJb)2uX-%REbo{NT+t)Hh>g1}UTOsSgkG<}OCOSvIH-WFcK0R`5%(n#+ zv>+&PJuK1*eI(S#Rn{(Et-vdym1$hzQI0gw^7TfuTawVDj3;|Rqbl9+JVq+07H_j#!z*19dEwUHdbpwlAs(mKs* z2}vb3Z@DRXE&gr3_2z4@MQj?DTuQbH9aM*PdEQN!x`^BBr#QVN^0^>@F_N01?q2EL zO>XQbBLRtmU?pR4lJ~V z_4|}*gUT$M|k2HwgrHSDY-#x;#c6Kbnt1LN*F1nA zc76)K1n2=FaHrP_6pgxsZ=zc}cSeOU4o5CC%NZu)Y}MgeuZCoN*VV2XdJK z%s_EoF=^(D(^xeOtGVI!!Za3lQ{?n34hnA0JtzFQ} zSdR)kXHzsId`Oh~Y!-S%jzpw%P8^sGR$`Qi^`UdCSuAHnUNWrh&7-|tmIe>UPcyP2 zT`EbaG?ooFB;i@a&lz_#Sq0nD`+Y5n&StUjMRyG4H1N-we@_T6r8@l@IiEiAUY@hf|W@*s^+SD z+)0Ai@Dx#u#M0pHV4u3e!)6Fc?MRMPvJap$y^^mD)8cE%3nRJBfaS<2`WxkMqZ>^olQqBA81a5)3eT#uJSnOJT`w!5MubW$$^!UBd5s z_*F)cP=r$(t>F9U0Vv$zc*Un9a9G2S!nX&Y2q`B99xvp_kdOh%fJ5D8FA`LuV*=@B za0i7GEVV~SG36(@WQd+15S?G7R79fKDVva>F~o_{(7i~PftcL-OCcLvUMW-(f&uoM zaqNK5j|bP_yz0P#oZP4W9Il)JPhOEyM(F50Af`wx_W{I35GyzaWCUFYzQ$e5w>+OB zl0ZOJq7M(><$wjwN`Ys~_!;Zy0r)Wn&?stEyT12R3RaL)La_O&p{j&UkTOm$hBhni zLdq6Nol4zJHc2ctP69FLem^l--R(IVOdEEr*Rvl2iNZF(1Qjs>mO4Bh+U24#{6Aes zdLj9CB~~iEAWI0oUHFut=oFQHkXKGqwJVX)uBC zBq)BSvm~&Disv92ydrE@*M3Sv_gWBe3y0*Cix|pO9`;IL_Q=0}7}gwOmIu)PreI)k z1**NVMU1%~bkY#53K9sy1(m`$8c}Ex6r%1+awaXlY)X1LM9Cl@K!!8)`hl!g?qxC< z;!HCXv%~6)l0M~&EWH5Tvu_HQHmrllu8wZn?<*&KZm+JDVg=u%lsjnlq0*tT}Z_$ z#WV%Vr7_?lrL~mqDVCGU01J_!ZiBmq?kmyZ`+;wTkj|G>w2VuooC6Mv3Mv^cTDl}{ zgt2!0wbv&}8&PgM?=d-vNf(f&ogoficm6?q2;wY}S%F+oYy)Os?LF)E?B+Yd&u;I- zt?ur7VStybu=lHWew1U@DfXWt_%VGec>=g1IB$_)Rw6aY$tYj{^ z1Q?@p^pT|j0hzm$m=RpJ(5zuZkvkjN36P)zaq^G?3blgTm%N(m!e!W|lTjfl8Bl5! z6`&9sKVuM$Y>>E%y6fmeqCPVPs)640#*PqJG8ecDSrU9eJuzt?46%>~2Hg6MPLdOV6(|kfPxNVGn;o zZy|CER|bHCk~A8#E%omOCC+`(5ll=`W(e3Z;e2B3prX6VX>wR5un_^PQ2b1N#P#D~5bJ%AjjP^tJl(x1xMLh7M0Y7+R^ z1>RFHO%vbudY<2*>Dl$STI*HF;(A%9wcd|g zq-PYk=sobF7wNut51NI87;&$>e*OATyyAr@MitI^A&OBEf+XTX6r&ezcp-}MLKLIS zYGIa`P&>CF{tejeYtntAQ^>G5*hNu@|D={%7^97x?)r z%Fhc?j4Gz@LKNeLC`N=uUWj7E1TZJKqa{L(p_DWZ426tIz+q!CM1eE}hw@ZC&6GF(^E z6p?@xZ@9QCd#Cg3a{q2DZ&pQ~u21*s(|rfL=Qn0=@=kBg-r}9^&-w-KIqP<*y$Gn5 zgJ-=m&&VE9r|zsWVy0==xw?NZdpLW-cF)hgz`MEiKz0v^^=sK*=i>|g@B59jeB(vg-{j+&tX!Y->-(*}7kNP3 z?2EnASNH&4>6d(!fA7^k3a`n&)_di3{>{hzg0J__-rzrdBKxHG${Vw9@=o93Rim~z zrhP=zLd(M(fXqv2vF;gP`A&c5>Fm33`McS7@$uc+-=m|q8#Uz_sAqTZE!kOG;xX&l zU3^dWTK4wHu4ixJyJ{eMNt4LKG3FsMJv{<&A?FZN#Io&KdyzQ59v_Gyo1+0X2q=9T{q?huVugPoqjv}9d)YrLFE`$ zrn2`e`(0nm|HeQ2UiNQ2C?CoGp?CWI?B98(|CIe_@AOC6AA6_&4(*}T%TKaD^-h15 z{SWW-=V!dLU-)PLnf)*C=I6be&NM_>oK?4-i-H#y2QMzcg)^Ogq*`YN&V3}DnYi-4 z$>|DS%)*6V+3es&ckp5kE}Xgaqu}36=eGoI+=_D_&~5bK_Q2DvIQJ2_gC0CB@N^r_ zvA-tThqE20KA0VJzuT*FCtZEcyV`{-uZ23hap6&fSN+?@PS>3QR8y^|m=O=)oE5W^qRI#H!}rrTVLj|sP0bW>+z2x{!v!+_ zi#E>W-Vn|>Dw|7W{rfq(@8E~;pQ5W#@9H7C8uPB6Lsx_!mwX;wJ>R=}0bTu?y7KnM z0Y%uWfEWON<=3gu3%ys)(baExS1w(>*t>cOUA@%1dW5cC=3TuUCwnhpfREDYrF>ea z(;0mF7*6GzUx72{mH6TNucoWlcvr8(i64H?&mYGfdGGb!8KrWf$X8^QqZn^+)yqFc zTt#3~kfRogWOt?ZUgYub4FJP@a-Q(c+$9tshJa!iK?u!K8*2OdiG$yB6p-I2O`&?x zE$wm+U4rO|%kIH;XcUBJ1wu?HlO00o9EAA;#r?=fg56qD1>{Gl)IHpu1V+vq@x!0~ zCc1jFclFyi5kkC$?o%i~mwGEsU{FYz`i@pk%At>+zd{?5RS-^IDt{W$NU2k#C% z{k`DR_t1m)2A;l;&fg!n@c}yjVBp3d;oR3jAEO5!4?O*2I{%ZvjZe_|{|?;vKREZ_ z|0FKt13%@T{b{hkpV4jaOaDB0@fX2je;IhsTt~Q+Wl@IHlMBM}R*MT>kF9a{Xh>Npcu`dOl zxPg%P3f5jp1_YSpf?Y6_T|!`B8+p$b_+N<>7}WKqYUa+zm6)r{>=GC;KE&?0@zzr=k;{o47}rf3m49}=|}aj-=XvG z25$Tf&V5<^9xnXhl=HX2N8b-#{9W+k?{VS$1O2GB{R2Axr@)PW#<^d|zXUJ-l}i0E zQ1mA__Z!+z>A}wePyd6?e;&B;3!M9q{}UI!iR%0pu6#(-s4KpReiV)uotgBbUYtkg3j;S6;oOI`IC!xnc(F8iu?!bJ+RKAaR^Y-}Nk6K-Rl%aG zgBNS4)Y?GNb##6yepn4(h7;e?vVs?vQ@JbXN7d1TbDvaKgKpX$UC#to!qbZj-{jj6 zyx17LxCR#*!luxbic1!Nv`@PynAf5hM=EN7a4< zo!=O^aT}fA9=Nd;=lVnMz?CmfPs4>TC);r0b7?ylQ+4dXg|m}>6hn8>`R>4tJL&u` z{2YLaxf{pq9y;4Ycj)BlIN6(_v%NU;>)(e9XFvU@nhwxY7O#8g?m_xdbv}b0c^8N1 z!QsHuBf+Ql(t~FPp7!HhnPtatD%R|CsK7v=RLXxeNO#ltVN^17WqVgcbT#ZVE zLeD^!Km|!Pdfl6{#ghr-=8}|PseD2L*^z&MV(9yj*~s6SobMzk{*~fu-5D}KN2V`< zprU>g#X_Q7Mf^Der}M}OY9|m0ZddwL>1)TYk7Hx8IV^m831l{)v}f*hx7MnNUgX{ABb*bp{K?cqxr9pMvT1yvUQjltIs~-j_{CLdaUzpTVd7~7FD&qL zOL<>@{rDhw-m{cT&{mAdE+l)a0+6L%lOz{-jJ>~3B`P!y@E|V=QyP1j)!l2xc@4>1 zLU3SAG(tcGKXT4u8Aw6oKtiqEp7Fmy@pz>w#V;kWj3R*`-4i+cB=Ttlfl_uVgzS^N zyQ?+55Qv|x4JIgu+7O)Xc(@cZ)rndukxCHiemiKudP@??=$5Oxv9%hd3PI|CqKIqg za}=T;ky;49*A(nTDKk`eZy*2T2g^C+J@>HV&qhnDB$x{Lh|ARLNafhjq&NoxN~}{Q zL^mJ{ZvuH2${xhJd&l?)K#6efBWx%+gxzA1OrbEG2n3shj@}cy54kTAD*cbUFwj&K zW#+1?)a5e$A|*ue-@Ks>Mg?lZiQ!@qLr+j7l^?~Hx%g7AIW-gNygi&sk2VPC(xBX^ z0Cd3V8^3G?!p0cqJ8Fs0s#<=%xFs z)ctU0A}`LN0-gqH)rzEO4;5XlU^S=$DRCK)D^HWGjxZ2+{oL)mtnbw+E$|b4XrMg_BWgw;2 zQYl!Q9<;!hEv82+^`k)N#Z=nR@Lczb0{Uutj?OP=$Zk$vFArBVeRzXBT-NmAjqjZ{gBdjZlfPk)6VVmL;Bd+Nu-5AJPNPZu+4n?%YW~)L@;v=!aUM zb2t4^TXOc$548>F>GVV5?(C%>5@u%~{g7}v`{{?|%{f3nBvH;i^g~kP9Hbu-66YE8 zL*n2Zq90^c_#f3vz+_rhxp>$j~^QFb$MwwDMQynvDuR< z&0!Kro-Tp0z=piO$$3d&LD1-MMdQO9rD;W?Pdr=P_^ec_@0|@3ISh{_hRUyMc%XBl z5*kYyo>E4<`reDZ)JZ;iqMPb_r$_21`v)&HqJ3n}(g z;xYGPBz|(|NuD|{qn5d@TH|Cm8=aOoJDp!lsZ0ud`r3f01N@_0#m_Y z^o%>VWFsXj#T2XnnolKt-9uygx#gjB;N7decQeRNCJE8X z$(&ssVgRr;`)E*0km$V-r1`l5B`JiFU!>HQ_3Z8Le7wNU?SWI2G7{ggn08n}636h} zMQYy_WGv1Pak@_w?Z%E&$fySIL!MGsE$3vZxdLSchTH{mi!G@jKWUZsWvA4HND~aI zAk`GFy2)PRu7jaHg2af$Dh>NJ(gTv|5h+c*r3>IMHZ95CguJB$azJ3#&(z#ml!uhY zPHbnl>FS&Jy7hBipZwwf{`rRw&h*C`EsVUz?jCQxts-x>>2)LhHD3MohyM>(I(aw8 zxvmo{Kf&)#YE*iz>vM0D*E$^?p6ha5LEdmwcdlz%uMo~N(p!*Rbkn)6C;w3DYd*L; z*Y)L7@?~wt#pk;IaMLH5a;+T?=ejQ2BDgj21DxwR_rX750LI?1b6u6M2(q1d3C?w$ z`IHdF$m?~k>&0IeQiKQa=eoZ1CHca(UWjvDW4|UKCg&nM*YyrX;Z`n~b6w6;pJFn% za2cNK`uQ>Wc;#C>*Y&^+f68yP_kscM%fb!5nLXOXl0~ci?4L`uUdwCtW}_vG*9z~K z&uQh$>aR!nu&(@*o^2?0!;SZ0c-1*Y(g3CSbnnI;Tq;VnAX^`k%fbFMDp96i_d&6`y73>&`W z%RJZh=$rqN-)nIAZBE{Zhd=vXi-*_a;lVrPVRO&dxvraj_!k73?YMJY-~IQOUHtn8 zXV%=gp@gLF9He>5qc25Q2p7^E-5UlaDFb2uR z?)f1ke=R)i7+05a$pNyQT0I<1VX^8X&N&6bbBibts?XxoqmMYRRfW8cQWXliJ;+~7 zp16mKBZE0Rp^T|y36{en&Xel>bwLM^0;0@AD(GI`EL$QwkN z)eZZ5yxFPE0T2_i6;Lju{=|a7-R7nP9<(+E@UV?RffC{F6E}=41H9XrNdN#wwgBFn zTn~;HT6D~K($;Q3nf9GD3QgAak5@c-o=~@p^2&O^S+qaJ&G9>96bOl$^t8C!w2LKh z{=lr+i~gaqhgZtsRdRT>99|;_>7Ja|$<^a> zc)c9nAcrU9ARUqOM!9;E9NsL4-r{$%H8S8fY40BI$Y}U$!Rp3mbY=3FAsue$ZEI!AHB%!lFcNrjNoDzD(H}q zk~%|<4A>vndmaVPLU1bVOMpMTT76mT(|h!hvK72a+WmNS1IQS;B#2 z2?vrT97vW>OZb!S-;ZTHM@zZV)jij3xeas4eDuw;QNE;I7fThrn+1x)6;n#7q}^it zU;`PXP9LseDPLcY29S`KH*B(w)=o^O5^_)^k%At%%afICU+qL6jE%His#f~c40Qzx zLFct^QR%^=T`kLJO!VtUt640vDDjJ)tEke46~nZ}(=bw(>q?t^XuaZ4a|NYa$k?BR zWvt>*vj%^tS>r&>dK?Ko5PrLXo$g&nm5E1fOC{FVj1vbx?_%bpvW0|$UABtlzUV91 zq=fBW;6sW92U09JkYd4s6blZdSa2Z4f&(d*aWH@1#eueUNu+JP>FB+@f`nzHSm49K z(Sv(5_7J%o^F#5!PnMjJXgxDkz}^%oUG{|B;Jt%sr31Z31=Xj*!I(=Y3d8z^0BK6t zS$MQos0@3A@k$d_NNwU)QIfv-z@(FuM2nYS1~k2XN5 zvV9nvob%qqnIm{241xF2E{8u%kreHfzYkgbN6>8TG86(9*u&088&+_tfP;NpLHi1C zxEXi_>?)>f*i26R@qFhnxsCbkF48T!ZdMRAti7(*Sfbg#Ec(YT5UZ$P0tu;K z!h!lF9H?Kyf%>H=|Nd=UdgV`L{zp=(Qgdgr51SprJg#PMH|-f#Nz#6}mAZ2imfZR4 z;bxapCuQLqEvlQ9&SGy0tcand*)K(>=1wPpp|Sgl?bt2!9_Y*M2lrqv(W;FZ3Z7~C zjXJHYb7%5Cby(r?GQ3t9Ou5~Go%%@bFUj#XeAsG_Hs=;!_zYQIcMPt9Os%9ZXe%%n zi{vk_xn0A<$9b9UI-1$3?pe9+?=RAs2Eaa@?0L)*BgL~CZm?Tw%U8t32R;q#| z)EV2VQGkcFU+r-r=sT~&E6zLc1Js?zaRkcF8*l`;C*|-aIsCR9-pYrX^EMovx8ny` zk-^v!t6o9t(mhzpRj$&uB4|xC4P#L<5pN3+ctnVtg3pHmwlXM;z}94FiP&q(RPv!}UL6_u26KWO99K zxn-qq*F8HA9`ckfFTvxrMSb+ulbtN!`Df-2(W5qKPX^@>f5?(=$sb|Q8WQusq6mv@ zQA;hb4D#m7inyk-LMC7vT$b*{7EQ>*bBy?z+>G?Y2T3{@XAT#%)YwLN_lmOxqy0 zc^?dE+CI35b)w~lU2@>uQ)0abnnH!WhcN$X7<16Z7^K1n-|qtck!Y+YrDUwF3852Gs8`OvUrfu-Ug55_wXjdsl4U+lY)v z(V#&?8#HDemQ8UgAwF2)ilbtLA@}Ssa#JQbG`MYp^!gpVg4mN7 z<{f$#ZEngQTVY8b3FGSw;u@lqk;9N2vT|_vphPK;3y2a81>4}YiijzV+`9Y7{(b(g zU|~!i0>Ge1O%@XxWwya&-rXE(V6hP$uKhPVtepn8ZE9b6sMa7kmRh+TY+3a%B2y+n zH0*AJ;QT{suX9Txhl6OnHH?SLACE(v0xqImY=n)T`w2W4{J8#5f{Q1_q={QyvdGBjCq$Q#rKoizb;Fyr4Em;dMx7jj9p!DV@n zFP8752ytjuSBNB2CPL&YYlGghBh;%B-^4FQrz3U)#N{GQ}qlsu|l=p&|$6QX=_vKyhE}Y znYMa`yCL|^JHoY3nJ|#!uMJj95A!ylR?4DQ<3(r%k-ImHobz;CLl*YQ;eZ?t%Ha?n zlq?*<1!RHTj%|=wwM!y;yjH8-g&{Hx0$@Niri@JF5p9Fv!n<#{g+@Voye^E@lnDuWdE3xwLfGCI z!uH)^Y@Ijb8jb5Ma`+uNyj>3Ob4h^PxTGydrs*E*hn8-7V4h`9OQqiF?6VEF;G)$4P1`QZ^ZqFf$ou~I4GMIUW z&mqfH%u6x~d7jT9lZ>bO9I}ddw$C98M9c^>2zXY^p-!6Tv>fU%d0NY%-buO`>K%A; z%OQ0vI+c_o&(=7kta!r4AqBy6HV!pDX+b3LJagla$VqSrvAO0>uhKY#yzgg8sCg1% z&LB3iwz29Si^#P9JM8o4g0rc_0QtFE6zlbpekBp9AoC&aB8mV-Bt4>o$`q7d%C>k} zkeThTVrf;3ryttPmx$Z%Kk>=IcHe%&fflbo6~mW_H3c()O0Aru)ePh2CTOwpA5%1i zbhZd!utu|cMA5l{?-L|{N_;Vx6=_CTf%rp)==>uN&E{`(k#0XV$ zgag|R$rs?j9i||*;>B1=zmmP~WRLIF0i!vmz@*f_AN2aA7(a^;Z#3pj&CCE64+ zrc~5TA!Q08c1A4VK`~85lNavDu22g&7aRQ-_V7AQTK=T+&qU<^H%)1#$^Jr95b=|J zJm2f@#z^*HlmVz8mG-xr(oB>6t)?Iv$v*ixb~j|C1^fBQ!*Vn_KR~~3)Ej<=Ng=j; zD?_7Yzt(GNXc#Oy`P-?HIe)o$i&zG=kTsBashRcXXglP)rn02P@ms=!R^)GO=NZ#~ z`JMt+n_&GQEluKiK`ce6l|s68=Ip7lE`Efs3!8Z>dJx;>SI>!!r22@8y#zQIiM1x~ zGzQVqh;Av{rlK8K#-Qfyqsthsj*+xlu0z#FNZZpnX)RL_T5qj01wndCw5Kq*BklPM zX@ISUQ^w6~5v`IE54Kuf7iwYm#wG@fdoXTS+0DF~BNA}Pl=ixD-NPVSHm=s1%d~Z^ zzY_`E(pmUfy#Md<-X2OQ$M|?XMuL_pV#&Ou0`u{SP`}(c z^^2w;boumSv^FC5od2Wsv0?t7syVd#{R-O;v?Ym`eeCR2s(! zn;tWzv2G+UHw6(tn-1F#){yeUU;Qg=8qOC7{bhL8&cla8TI(Y*vZ9wcTQmvOY5>`C zjALNf8iZ%;W?6GSh8aLLjS-AL@dGY`7TZ20o-}vme2RY9`~RnOHkn9*&)|i9G=*?N;h0r$WTQwi1j?r997C3mOZ$ewqQVksZ2}ug`8}}40<}hZjzZ^@JZ=g?H`J^!W2z128HXeOmwIfZp4rpF-SRS1 z`egoUl$TPU6^Sh-52 zW>?s+n9q%{?wuzn5k+=f2^A`HCA-QkZ>3E zPzWejoKO`<1a~!R@6di;VG5#=@CL@Owx6Z>7=X}N#MCVZb~dz6rLYx9gE_P>HUU`D zqmvc*RYyc%k17AO?z+odU;7lybhoZrcJBVv%U~Qdze-jC2kD zrd+h)mWM@zHGPJ34X|dD5VV!bn0nD(yOTGU;B+fKsVT!hFOd(5`=Qtfy{-q-?giQ( zEi@ib%YnHv-6htG-v~f1kZmij&TTz;mhvjH=;_ArO zkmZ2XEi$CpmpWqK@25x!wdYU8CNOK+m>?W@EI=t?PbIv~P(AZs+ZX@al($+u{+L0W zNBe9&EzTP$BCV287_n`~;ZdznvMw4*Vmc}{f*6<(#s4lgiudx8J;Em;)b{YfX1dG+ zAD>9${9fnO|BfjL-5S0r44i5Y?Ak;22n<_h2@lh);t*0VA-a#Yc@5ecbLPd>yRGXf zGZM@P+4!J1L|Xv}5)p>X0wx`r+cQi-#LkdQJ%0}U{TNisH;T;}^K z1dRkbFh(Px(1$%EMw!suN>-& zD~~YXfGPDf1NNGNXk>svzyA^FH!jfujV z^7*mJ0*wQJfwm{7|2IR7_neQ|VE6`WQMMZRI6n2V{xYX}E4E=yD-J#VxC-2Kl$!j{gT6a$& zkm`?f{M|_Ik8Exjx&1>L@k6oE_|hKaBTCE z0SJx7OX3j=F9|enm;gU5wrs7*K0NFV2{qN(3#P`NjC3mQWj#s{5*ljfScL|=M56O3 zGl5Ho*5oCoAYy0AazDRwx>!7(v#r5Yq0rDuH^s(`6+MV$s7LYp*?fVdzlpF;xDyn)K5r8vUZ7M5n8|G+ zW4=E$sv2j56|=3Mi3;QkP`kl-xmU13thf7e3o1m?X#vtQf^?Ag9HnJ366FF=lil!) zh{_%cZ@axv#!%k8)+F64pe`p2gS(rl_2C9PuD_^$pyN%=UsSiE}uMc{BaIm44oaAKRTZk~)PQU8~vpUhJ%j=|bL~@PIp= z(rnbvx-+x6Oa@yUo^|J`I{h273bm0z+Ge%B7lF@`6uMZ*kD_chHb@L82j?YJ;mhc! zPCu`tpV!dOAqFe zaz}mZ(N3_yTm)}scK$px%{NB-96lnrq_F+IU(MHsf3;O_8eJRy=?1#BuTo6B)@#H6 zf+4o-W2b%rZFoDO#IOxJm?jG?int$1mBJ32AI3#vc)V#xGd7Az6Kg~gJ|fCI{tj@E z#`DjH@ifBy6k)EZDyABj;kB$;R zEj^3m^IK`Ysc)^z4hzd^*_rkvgaqJDrt)MyYob(M-lL=_>_G5*2fAJE?3}XOOhGKf zi=rL2GKiK9a`LX%mhG_%`y*FJis1zoc~no`5jVs+4?LjCcrDPmf)MqRmrO+VB8@L6 zAIPzK^T&}0Di=??TaI9S{_=JbF~q1&Mkpg~Eo};-Q6jXZG!d%vc(qBUWNG@7hvjH= z+VmKc7f^}7n78|sM4>j>DUl^%GHjTrZkXR=ORWj1HPTnV*_3@++dgRuB6gB5duA%1 z)0++|H5pRNe-<0*m-n1dwI|rS>(w4%!6!}Wr&;g`QxLJUVAbJTiMMGVspYFVq(`t2 zxlln)>97I&kFl{~bx%bwNO%||d<-J2_yAQQiaOfZx&n0tJqQ!+)B=N` z%NT^gpwpa)hbXBV+&AOwu)ZrUBDyOu)|Bd1Cf8g=ob!=(y1jGa-Z4ILr(Qt48Apj6 zDmr$WBL5_H5AYUckF{HJrskM^)z1Cf{1KBwC z_X}eq@~R$0a~Bf41zI~3`~{tp_qnDZw6Y&F1);kfVRA=Z&e6`XkY?Qx7Pm1LQ?CFf zGWGaJsCz1$rI8*A%C-3fOw>*Aho)T6M$qpI30w94Q}2LTvcHJP0UD^W|1L~I0KdJ)pBgF)(FY3K-Hbv#ik%)CwU;jjG7tE=$Mi4i1+T;SP)Dw<6)sANBotxdZ@D7 zl%Bd3>@WopJ4-I3RzS`#y%j=hC;jo*m|}6e2;tGrGR&INRI|l41<}YB1A|IihGGpE zfY4a9vB^va3cNUkmw-}I;?{EUn%Lw*!dKWqNGXZKC`6R!D^2;SMWSvBB7SDwu6#Wx} zFz^$as?Bw3b4VhdzafKFDGpW9SisB~y~ z&Nl_2Tgn^;(bBtM%96!uxujhDU;sxTjnzAbB3wEE)2mZncL@>8444(iBAOq+kBboPCmAKdl?U6S2{M zMGtl16OsSNO)03E@ETJPu`^-zz8un^MXZ@WiH+{vJ$cla;2I+u|6`_f(xm>VDTvrf zJx3Xklt?M0Wd1fbV$W4tK1HdMqUzC_m{U!K4?WDV--&^lhpAX<(?oabUiNqB$1@q^FWFPYH6 zXZ(rb;IrknCTm~1I8rJWU>H>p6m-B{6nw^s(D?S!;BB>Fi(Y6JU9$^c>)c5{cjM>$ zM9ru$nE4V0bGJblOz;C6gI=y@{!L~XqEh<0@rnp^)OeS5f(6zcJ$8N@@8p8^f_|(A z@u9)F-ocsErX8z0895BeAu9)m56xF2eYaKXjt0gQ8fe?TO5t$pz?kCDH7({$Kd2EbWrW-_sD@Qgu zR32f#Pfe+(8SrCM5V130)1JWoUZfXj{c3S!gpwU&iRCyxxyzQtrKu8r_GwyZDM(>< zPmscbOMhd9kfTm_Bx`|L&>Wv=PaRNUt4u+}&M-#Y z&B(nZHAmXY(@g26+sf^xAmS&z&ZJqkE9gGLt5WP3NiTVysX2HxM@TgJb74-Mki~kc+W5?oL8LR0nz&ADO~idgqO=D*yLY7MRNDOR%0PY ztJc?=N{AM+R|#d$-}=^N2jL*%`Dzs+L32Feru)&jNa!x_A@>yTlO3u((tQ7*bIN|m z6ohUs?-%Aw^%~dZyJdf0+A)rUH=1mr@U7T*umXXcyuGj=v=QD!L5ug-O)03w`zxj( zVrRk<8vM{aEBoxQuCJO6w}MNSPmM(vQ6w09(wK+3FRmK_wN!Vc4NL<99U5-Gh@Je# z0b(onU`HFowWxL8loG@OS!$(_0e5w5Ojrf8S|Q*~_f-;tK!g)LopZus5a-dmweGN8 zN-=q{jH6mZn)AS_im;^L85@x=g`^7>nA&43f@?dP$o$UEDZR}UgjP9Qg;`Ur_tzk$ z*)T?wZ5fh_jUj7$kR=T`OpqNzrnJ;OK-v^UBRdQ%Uou<8gC@<-0EEUOCSzdr;cRY% zJ0k4+mCDf?Rka~OxRJgpHknw{QvnLB1br0LRs>C2=wqh*)FSb6QxLH;7YJrN>R;}514|8ohd5=Oo5qT zoh+7*4EEvI7VtGy)MueASeSnh{T#f@oxffwt2MQ^utRAT$<_nHrzU z+wjWs>une(k!i5mFJCb=!-DTmz`w8rb#*ubSjZsGqun_J&^Yx}Y$RTSR3@}3Ed>y9 z&>zxoN9DcNIZex^Ahf&}g)Ob*-83TM3Qm!XfHs!#yK>dLYlBukS2#{na#@&Z4T=3< z8yhovIQB9JR9MJ|bJc8ZFhQu$M4Un;qKsZ;N?9%NkC}pKWR5|Pu8jg|b_O6c7ICS> zt6Ql=FHv_Bz4&Lb$;tYbdeK9tm2&)~DWkQle1buo$1Z>6!Bn}LqmA@b&I&7?O%<@c zc}PY6Lu}Mu)dL?BA)vb;4}nNq{C?;3{Tovdx)pp|STxm&a`}DPBBEZ$Wy8FcG1;%k z3v-gHp8ylOfkTIOZI>yCMkW|&Gp!J%sTqLKScpP20HLuE8{Ytg#$ukSOslcltIqFO zZQk9y+k!P*%ViqW%rmA)zP~+z@!0`WA=JuxFM}{p*2aT}H9Jz3Tw3N@cpjL%j#aym zDx|}UFH3Pz(p}p#NI1xJ3(p1zafs;bka@pSA1~(TQp;7TYPkpyb|qUZRw;)<^Du^2g2v9P>F2fd^Emyy zfqtIE&v}h%SSnEsI}M^5)E74fH2fw$!K}yfryxWGJJQm_j77_3*v2ZM=N{ge1s2>8 z)?*`KMuioFjO)GBnL#Jm$AQRHtjmrlS@%kvT+YLV6+{@9h>G}M#{9vOD48Pqh!D4x zPhor&;k+1c`^nzhYX_%J<>~XC$8dHGO}a;kUi0L7eydD5Z{io6@8OVgejC4gFLvI7 z!vW{5_&w|V4*$N5f8UPZz0;g`@Wngvdknq<-T>zsZX?dSa8JJfDV%jE;zGhH5OD(# z+8mND)c}Mxhwko#7Kj{r_4zf2R#Lcns2jit4BMQC2Ve_Vg&XbbBp~SZa(F@xZz2OVbN*SVR$6Y-kjl<_AH+2bq9s{db~&alz1cg}_9kJI^BF)R*srvgmkElf z+uh^aT2TTX=$wFi4M9X>t?o93)MO6}VXIb!?dhp{)&h_a;p$~{S_*)%&4Kk_*up3bqfvxIL$ta4pmWmwUsDjex%{0e2;E$Sfxnc^Wy$_j z`FMuXbV7)$P1=pMI<9tu4Bx75nl!AoYC!9NfQi{0=x3vpi?TT~A{=;{O#J*Aa0< zbtkxP?s};1h~f4TQ~K)$^kD|^-`;?}5gRFIpaE^(9Hre?JEz@KrXX|+`hqD4-GYRJ zzmzR#0d`@uu?+&2nb1b^VfW^|HE~&O*J26Y5E27pf;5q;Rf{9Yw2+og2q9x$r-VHk z?L=<4P(ezJDkH=$nNms8{grR4^;Dxxy*rx6w#M6vpQ}r}Jk_LFh*E zm%^$k?-+O4L%9Ow2J|)_3mGCmjg1S7vG*I*jLd+3%@NZ7*pzNs#D8cCB6iX**q0i$ z%Rb%1z2n-oQ)6aF6p6dA2Z>1RvQKqC_*iR}Rj9l}GkUoxh(@v-^enn_68&ZXLSykR zQ~4n*&^f*K{B}+Yjx;PH46Y|TGBrZwwpy_0c4KvGwpcEtM(lcaPoz0N!&E4Ab3VWz zTJ~5|KY@Pj;VSQOrS_o5Sgn9WwpEqSW~f}0tOB%uDMhrW!dqWer-tHA8gN3?b^G9J zBE%93F^uX8iK?^U+dJg<}VAR38oU_EIAOgaby5E_f)rXQlQ5Tl_Z zEcSMS18FoTCW&66R8D#w533w~+KwTYFk( zZv~|=JZTRiG$))X{DHVgh$No=Qd&0UyxJqm;#lXDeYPnG-AwNj=1jHaaq0flahrCJ zC^xLU=V+^RNSuE?HeOtY1x3eI^jIhWAfeERFy;BC6xAC1v?++#nX-6yfyYD#4|%(> zhV8<)#KwpvJ&2&BQBSGt1?n~NU%bhba+>&0n1W~|zCo{}J1)_91|T#RH=BNl@?SiD zemkz!huI@*Vbq;I9&YlXw*HL<5&NP9)I24JugKwRa`*-xnujp_s8!b$jk5V_10~y6 zDO#a*l+9BN@qBh@dkRRpm#d6J*#C-)u;|c`yoG8Hhthh}p+7*yvIhL;hJ<#0+*3%#doB%|XYB=Uf-+7C!liZz`t)m8-I!*D z1r&l-TYD4~2+fLh3}PH1pX@Gk?QzgS;oQ7~LE-LFBu=BZF$%yzVYVhBMk9 zCxv~YPI@W35rOSCv>%>u*w*m)t~&33EX3$i%} z=;s;qa|A!3;O>jvu5^mm=OCzc`f$EDSU>B|%;qu~yHG#l&f~C~jIC~*b!Qc7BZD-} zRo@FwVl`Jqpn0)?jXch}-R0CtWT!9Z;7>bN?{%I|74D~>gY zyD`@LR)EF8Xk6|)+X#WjXH1)R8hEv5ymJ?oC#E}h;|w3;&O2mddtoGUD-_|Ot-DLg za-HC7&8BYH`XIqz4SQp`3t@Vz3%`WzJX1hABUDKVKelr}exLqd_;a3xvjfhv@q5-e zir+I%Kc64NFG7Q#!xsbiB?{+pbc*=#=z1H|)k)F)*Wq&=p^onP+kd<2Y?_3pNei4j zEN88cj%Yyx5D)nvq_Z;sp|SXap;mVY3&`5*&#x`B^4?O060h^le+ zdxU8Dk+^8-UWVyvg@z;%QD}J6FHtMz!=2Om1LMKz^n51>zMDXCwLjk=3^sMl4C zF)*){_IE_nvinr$^!$P;2(5xXCoE~@<}jA>CHw5*RC=^E@&7Y6;xFyVbKPy|{~xBr z)2850gm^7=M+~+AX+_@_SY$=y+r38FbInrpM1&IN-cqX>r`+T?V49H^xqWn08i3G> z;k~BKLt`ObYe!f-+6fl0klt{9Eu>48g+$(UX(g={;Bz2sQ(-6l%LMGCqo#tbb>008 zVw_=bt1iSe*GI2M%OdZqkWXPb3UZkxu;SbxtNyvW)k{iugGqexJupsizyjYfM2*m;uJd z*3$hs*%GUQd8M>%4dvhr2@NFvBt{O5NaYEsJRy}wIPfu3@@WoyltG+F6|__h9lVK4 z*(x_E+24(ku4?!Yt~^55Z*@-BubYC4sM*L!)Pg+C6h!OOrJGG+f72_h|)N3BY=TuW2-T%<*bZh!FB*d$@CiYf&T2_FZ9rwa}dp?I??J9Ha+ z(iDUi3ej-}9MwW016czQ8jE{P4JN_@UWq5puUBG?HIK)`PAkI(Q_!uVmH@u)uOB(7pJyv&Ki38SiAX#s+6mAo{ z6u}>*5_2ASK$Usmfx7cHehJxuNb zLxIk?Ta-^^DVxFVJA?r}t_-%qdQq~Bz2Bh2G0vbyd7Hmi z6yltK9Tt+gKNweFrw?T86QS}S56bAQ2OgjTQz({%4y;seUfq`Do@umg1m($)d7`4b z%AaRJ$B7S1Xapis`yo@2(;D~vrXXUJ7a{%XL%eYho16X)>rHH!e^Syg@nwY*WyKmq zQqtZ*Y-jo?wDR!(KT}F-X8gS=h}fAie@88s&v0Kuf$^c{xcG{=jK~E&dLJjQHqrtX zpzaP$#kr;+Vki3YhU5>HT`m{PVOQA=u@QeoPs0XQ2~~ZB30q7ls3pJ86h!Pyn6(q@ zjSE;}9+LU{V#j5#ciCv-*QZH_hmG)=|qgzKvonwgSXIRem+f1Q$h`R5c z8tOW40Gtpd-7X~CrUYbO%Y70hWI+CI{%}3Mm?$Zo-|<1b(-1^72I_4LX$ptPVzA9T zI9km%q`CMastT_1YX99$CAlfBOH!RuE}GV#HzZVm)}Jv2@oBs$9B)HpV@Ka2r9b?2 zU}1aUr?C-yu@Y{*0?iNA)wKVyDdDu7|BykPM;)<*Y}+cfqDPKowYDxy(^Wlj3Gq@k zaH;Nbsk$5p1g+fmtw=QrP1Pl)Ahbj;WDqUYhOtC1Ka$Oru~92_BOh(Wg4<(b0nA)o z{kUAX#gv4a3pWZ0TdkO%`YD@*{;n;RTB%elhevMxu~BuA-m=B3IHISY)j2(%X$nG1 z^C;Q><$ZGEAr?ARZyA8lSj1&BEZ&KbaM}zT+s|PB zwph%EJGhU;CXY)nU8Ji{NYxRM{IID!X_5Q@gJ@|rwCuG^+jsNHpRdM7$l3mkMzlpg z)j9dTUAF0EEWkH%-SUgasyr-WZ41sI{|b*%8h{ z3$eR5e=_w@u8A$NV~S+$r}(mvH^Wc(t4DWFGZh1^r*CHvE%o%&Tfi#p-J_-;bPKs(7}UxhHXh|I-k-tY z`>_#nK1WQF0ONnN;ql*ePRVbZg3z-24Pizr*)=s|mjyb*7S7J@tER?wjo1^&QdZ*x zI&8fLYLBRoE}+n z6cQSR2s1XCQc`P{^`;V)8frF-n1YC%4GsCR z5z=9gq{8c7UJ)A;8uMd&wMSU+s44w43m!2A5jzW(?nKZ)ZkWR14(__sD%Pr{T6oUp z_haM0vOtFNQf4TjDvvPWgQnEe40xX@i1-;0u#nQl(rB4fQD~t0wHO%?FpzZR5e9tO zlzN&0Uo-{L$N&RxoObBRki!6k#zF>p1|T#RGHf>hp|NP=G%+>Tm;3I&P*Q-9IIg%l zE_?m|xA*OFa#VG`Kr(qvW+szNo`ldkqJgz1OrC(i-arV1kRc`k1jJ5Hcg;+n^mI2} zT}g&rc2}=FS_?sGL_~0rm*8VvcVR&V7RBeT?s{F_WmQ&KaIX*aB7(~WulM^qr>ah! zdUQ`tcje)r@z17Ip=qN=kdeLIJ}Rpui2W!(lK!YNJt?EP=+=Q_I_O! zK_O_!QL2LQPHM1_r8rr4@aK4#@0^JV#kfIu>@=3PTh4z@uHPeieuvcRH~2ZN+{)+a z%3ii-+c=AO+?pOmXwR;dbG52r$X$1>r=#Ve)chy<4yCqZy!Q4=vhKy1#A|rfvba;< z@kCtR$lCLrW1eXuhYoLM`|-Q7_MFM=LHMp~6OHXhHajP}-o`o6%%ZHE^9E;$^9Ik> zIB(GR8-wQy8oF|p6;#N%tqQueol;;5=&r+CLA&_Q3#G~bD1JdF7FE7Fjk@^}U9@D~ zyoIxfubZ8AavifX%TE+`&crvxt`+zh`DPLY$w!ky(q1))^=#-d-LvOSz7di9j-nKy zKJ@eL1O1RL3)y=;pvyv5Q6cWOs^|yXDFv$N-G{e|2F|4SccU-km-wsdxnj}&dEz!A zZac+o7r#ZXfBtP;RSmD&e=z`F>nw#X#;@A{Kb&K11@8QuZSQ#^{Hk-dzfxtFz9}I@ z?LI_O=H0TJty4#5AxE*qYXJZG?cC`?%X&N({hBPotN434r&x zZ$XZUD6`#*))GSvFV_(ACuzdwLwm%N+$GfP2FjtdS)#+l><$7HF0bzI)l4iDkdof|I zqCBsq%X{haKFZy({nNtsKUc%{SMdy*{}wXQX+5Ks{0eoFMn-FOaFjY&nKfA4Nr>^N zE}~=9U?EHKyk>9Bs1z`D?m4`sPV2*tzl?Hqpp%G+;1umjkUjJlHFeC_Pdp}ojdQ_t z-rB*mOJ#~r3H!H(Dn`$9odK2o3-~Ay^01_pDemMGdlzvSo-ba9ME05Xk^K){7P7kh zfV1eh(X)J)F5@ zG^9QyKT4NH;-Xl^{T+PFUbQH^Awmh1X&a4cRAC+|)#8s5lgF{XlP6FNE*4&lv{Q_b zjkH=9QE4L`r^_O7q0B!kU#N-25hZmtY$P!e^b8uvRIG?VrXj$$>!KwAKS!5E;(#xZ z^T480Q1t%t#6a)&%>j%4APjs-7c~j|K3x`x1AnXpo`PG@?j>mc>M{?_m@OW!$f1## z99H?{Aj^?>tGd>f>6%)^_zQIJ;0g#~Mu?C|CE570U-y58JC967rE< z0XyH@%<}`}AQ1d-O$6D0dMsYzEMlEHogXT7Z7T)WL#;SowaHs6X>`2^L1xcFfNRRl zu{DqwLej9^PP{ecGyGyK+bfr|2Rmg|JDNMNkN`x0<#pyx_@ER3Z%)vJ}7K^-!KJ zbV#K@8+hO0Z3DY^Ozqy|toK#yDXTMjWiOU-yCVs6NGG}oZ zTf{l%U_UUN_G$&asWU*bcY}}WFPb|z;bs`Bk{@Uvzw32b$jV@I79DRF`?r<&=?Q3= zCbPBB>hy<@tKaR}x(Y^jLt(@hq8p-|sZDfq4nhBbE^bnFKdZ}P+R$qoP2Fdf^H{zC z2h2WI&%d7->hm!G%VV*I$TNiZzv+S{@%}Dn5!+OBT!H)c@UYwPq(!VMe>E{67hn}B zh5ODH0}IM!yZhhmgZYv!3#q)n(q$pLav{>Ty7CsSmv$BEIS z<`!Krb)6lwR0@l1@)1z7#Gve@MGll}9FpVhBbnD_Ase8q5Jsn$L-t%;w)R+~m_`Y; z0M{i5`4oB?EP{}0G}yAu7gb1ug)GJ9=7QI5xE5{0W>Vg8dE+6~ zeELFS@*jZF>a=EbYx<)RoF&S~6EdG;U=a`-8-A zU4o{}%RQaNY^2CNgzS^;Bl|sF7E-gnBZSlGCJpQ5JP;s)N_Jd5U-5T|;ZN)3ysUvg z&pHJDYr4ouwSGmHMG$s*ZYCKEHR*I3`4nvFup_= zAX&LD;w)mvFdZNIFTfOIp;VxL3RYkc!z&ZRuphC+-Hc%fM#6bT`*0r6Wg%6zrprRM zQbMRnwo=*^XV#wZ`7)nOOzN`-Ya+W))wxd>Wm$FZ;VfdSPW-vL-XtHqxltG7P97iNeHCVCSEtS^{EKRf0-EM^LdM(j)VK>x>!l&{fRD% zDPzBz zVoz;OOx&{u`7WEVJ$1USlw`eni!O`AA)d8u5`$9}<9uQm&mJs@>_R@&@;h`{ zOdDiv`=)D`VVSB6;F`oho&^^Gjo8q%>IcI_d^9PArI@W{aQ#KTFUW+P0rn_;N-J=i{ef71fLLp@J# z8p~m4i3775jH`(MxQ-Efg*)qNtQjxVCalr4+&^=5W5ix5-($vsc2oHyInoyc@{6im z5l(Mn7K=xp+VLac!k(eavvm0}F8)(Hk~^NyIh>u?S+ac! ?bF2_!U|< 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≈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

nM$51Y)NU6lojrX5nc<46qyx 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 ZDL#+178b^NrUC5J46pB@PTw9I`TsYD4fOy3 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/bridge-project-and-docs-builds.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/bridge-project-and-docs-builds.doctree index 2e9292e759dfac02ba358e0d4e7320d28a7ba9b0..b82aa5282eda358553fd26bd303401227250b40f 100644 GIT binary patch delta 3410 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 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/redirect-pages.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/redirect-pages.doctree index b7d0b6a82fdadc3d1e789604322bb574067d997a..a92b331dfbd45831ecf93191275f2fe2369c0261 100644 GIT binary patch delta 4680 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 delta 366 zcmaEUfvNu@6H5c@)Rv7brFD!8H&@lMva&QOC@4&>ZC09muF-Mwg=Thku18bAVhTNC zlQ~*MCeP{>V#z4U&6#|#M||@8eoi1QF}brvc=D+pzR3p7?2}iw@J{~K%s2T!3+H6v z7QxNk6Z)AaFKyV!Z diff --git a/docs/_dev/.doctrees/index.doctree b/docs/_dev/.doctrees/index.doctree index de10721989f30674fda9fe2b57b27a2125740c40..0cc844665c4faebd9ca3d3c796e049feb0d21258 100644 GIT binary patch delta 348 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 DKXALb delta 2414 zcmZuxYiyHc6y7=O)^2Tg@49=}c4Jr8ua^lFkf|sUC}dn0*pTibrD0cA7nFtV2gZ>t zZuv?M#F#KcBt}HW#fkwzK!HEH5sX0==|D+DAdG+l3i`g^N4t&KAN{`XeV^w%=REH@ z@6dJC`7u@35%}P?INX>_T|r2p#vmk%3Aq}&e;aZz%_0t*7Sx9$J-HsE$L!Tv#L85Y zcyP56lO|r{Ei`xy^o*t^;VxL9oYvn3C)y@MM0bfy)JW)bv13ItH3cC_QoDJFsa45p zUxw6HPVkpaye^%prlpqaU_zhFJr?4&O(sm%?*0{$1C{sSJm6`I*ljPR1@}RVCoMG6 z1Ie`UKAgs3i#SxC1H-iV0hrmN0_ZP;;a!7zFPOrPlO2RC%TjJkYRb=<8t2I&{2UB>%c`LfFGmND)~sK5TjrQ z8Dr2SR#d3KLF0%YK@IsM(Vy4AB1^q)S`@)ttdWEoJPDotLQhhS-`ma>$lVFLgt4qC z$Tifez_+kV%2a(Plxe3`9NI9Aa*H5JVfL=Ea+g)3oND&2=1C++dzZ18Zu++vbdhH7 z3OW#lP7Po4E)D034$dz^tCbS7utb`-?r3}mPq6hH_SkzN)nlAeF!B9GI0PK# z<)+g?CDucbbSf;sYgW;CJX;K&($EGKn&20XHi+@JGT|0|tHQPLGhY$lr*IfN9L{89 z78G%(d56Gd*?it1hsYL-Ls(|x9TGQ__2r+T^h(H}#wMI+V~78OIDAF(+$-w^c$2y` z=!80IjYBiTK3w%&4`^g-Vao*Wu5Z&bBHD2r=XTm2f`b;-X^t14PPl{VscyD zjKjrv!X~%Hws_VSUxg_U;A-h~As+YRRU0=*a^jKL^7yI6}bASZf++-c~fhe?=) zg?1@HrHV(&mtiJ5n|~7xCF2aNkfNy7if32!+$oT@6x@QVWua^x6Iv18=EL$#D4@fI z*zrtA%Z1uySSuIOiy!XQ(wa+ zC8VPZ&&qq>$YtzL$6ffFT^!$DM9mpk9&_C;&Bs-{XiUx5xOAb?MyJq9GI2R79Fm6z zGg)cikUV5j!-`H?n1!n#k98-LHOhb-hveSeY}|(x4kl|Ag98~j$05sQgyd#Tfe+xO~W*?|9cJ0k zGwgnkvc~V3*Q>D3VjtW6-TqELJA-I4mZ6?57NEhXC})xqn%bu~ zZfx?kH*EHMqsl3%5Y3P(Q(T2;L`6BZ6rv*|l2QMcq@%A3agBDjgN3$vcd>_eXCS`_ zRgibw!ak1izt7nf>)p@)3R!1+^Z8#thxSorF{UUv`#tY2+Ek2#W=`voC_NIqM}qeF zJW2fiw0X*zfKY-;D3fBxOlNVV*eAJ^6#EdD;!dR7s$r6q5li(U$4B52|>P z1-PEoX)LYS|6iDqtR+EyLGfvkYwsLlg5GxgF7)n|*C{4StWY zSFvehQ-j~-2A{{^of_gZ3%&|{a)=!hA)t|50%lFo+r-*l%4+Wv+)OKG!E#z@#p?e6 D#cOp_C@z>axgeupUTHz`Ec=X%8PjG>*FT2D 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 R`NqAH#$S}A{I$23@W1_igS7wv delta 18677 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 LRgtGUi<18Xd}@R# diff --git a/docs/_dev/.doctrees/release-notes/1.6.doctree b/docs/_dev/.doctrees/release-notes/1.6.doctree index 57c1c4843bc5906cbc4fd5bfea2de16374b8cf30..264fed7c821dfa043fe41e52470de7f5ad1f7aeb 100644 GIT binary patch delta 89 zcmbQYo^jrK#tlyFoWUiDMJ1_43IUV7*}DJ zT4=UU|Hz9GF<2=iY6*|LSQ{@1YT76Dp-CT1>Vqa$gAbaj|3AZSLE+^;bI$oL|2h9Z zGxJaX{;W7IzWr0vlK79&u(Kr&i&9V36@7m4{u~l!FS`dz6>ey-MA@HkQ>=$EOBpMM zNy}bvOIEmPk>QfmFluqJJt*?1=v4eX zhHF8%?U1xty*67hNz4gNC3jd7$;}lp#0`>1KrtvmC8YQg?&YUSdl)+fcU=xx+3_Ho zKxC7|&k@YePeIUHhr36tZDK94VZwUeKBsTa;*jm%S;fn@MmV-W zz;xL-yMd-{Vh|0!!NfyltGdBgy201LoVD;?d5GQ7a3RF~xDCz&M{QyDH{y1)zX&50 zwBV{UAn`AB>Fcy-zNSxRp~W7k{1PXHx|ygBQLbB$+kHYzfcNdKVm*3?!R9LD7!tHg z(1B4$yKtC*jRAfLHxS&R?JMz|(DIOaUe)`Amf;a=s~ASa!`sU3t2imVtoud~_!0rl z>*oo*uo!tK_xij02-XX*FS> zUYfzWz~kjDY!I6?ENKI2I7Cdn#=Rw|lHE28Ak3Gg()>{lcy20&@|Hs?-KkuaX7(0uC zE_lXQQAJm>Ia?Dk;GTE7ymJGWP6KnkUgida|1?`z9`|=Jwz_;R@EBu1ESH9^80z+6 zQg}%ij#B8L@CF6SmS3cB7QPRMb`vmXeN|4SlcOWOBiZ48Ii+f(oRpH&ncj>%mQgis zPD&>;a_>-bu9=1Kqn delta 1542 zcmZ`(TWlLe6zz9O7(s)O6w>g#Xn{H5M{r5Ds$w{YU`evWPO%R* zBok!C^Kh=&0x@YClEwpea)UIzppu#RtooW7BLcYrZyJ4={0l9u9{AcA#pEWe3Z39G zS&;}a(=dF|oPjqS9{AI=g6~HVbR}9zoCK79v||Se5*-PVFp*R4>P_<@goYq(-H%5Y zE-4;lkbp7--&i9wvThv^I#?z|Z6~ZVS};dHr3obuo3@1e7~Q0TCE{1^61CqMg@;?p z_zV{Xzcx#TAZ7mm!K^a`Cp}H#g2w$mY_@q}$R5U@ZbL&9df^_>nmvlY-G+uK^wJg- zEx>U{SW-3lr?_7{sqJ!b*%53#O*dN&Hn4`r6sExsF{cmzwM`tM#J_J5i?v(je&>7? zIU(S>FJQ;Kix&DRO^}`n?(S1hsM-Yv6bpt8YroJ*sfF6tAWq@DW; z`n-eUm(0oLc*c7XU&pXF>4&F$ol;HnuVa|?#qm`PANxG!#yg>%xQ1cPcK{o8G@}iA z{eJl>r&pSFlu%CT7%5Xp+o!>&{CSjyEB-<3XGuXxslO=??3d%BhvpSnhf8t~?x`c{ zJ@&w=>=ZZxT09Q;M|S`3IQ<>R4FsOV!I}T(OMwO3zFQJWNNI+t;5c%_ z_rYVRSbZY22ch?>Z-pO6=xp_u$Va+J6P2l~(^8dowlXsF7&AaFlz%a!@^Pr>X=xcXwU14q2|iCg_#fHxuA%?{ diff --git a/docs/_dev/version b/docs/_dev/version index 810ee4e..cd5ac03 100644 --- a/docs/_dev/version +++ b/docs/_dev/version @@ -1 +1 @@ -1.6 +2.0 diff --git a/docs/conf.py b/docs/conf.py index 06187ae..844182f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ ####################### # Project name -project = "Documentation Starter Pack" +project = "Sphinx Stack" # Author name; used in the default copyright statement in the page footer author = "Canonical Ltd." @@ -56,7 +56,7 @@ # Your Matrix channel URL "matrix": "https://matrix.to/#/#documentation:ubuntu.com", # Your documentation GitHub repository URL - "github_url": "https://github.com/canonical/sphinx-docs-starter-pack", + "github_url": "https://github.com/canonical/sphinx-stack", # Docs branch in the repo; used in links for viewing the source files "repo_default_branch": "main", # Docs location in the repo; used in links for viewing the source files @@ -66,10 +66,10 @@ "github_issues": "enabled", # Inherit the author value "author": author, - # The Starter Pack uses CC-BY-SA as the license + # The Sphinx Stack uses CC-BY-SA as the license "license": { "name": "CC-BY-SA-3.0", - "url": "https://github.com/canonical/sphinx-docs-starter-pack/blob/main/LICENSE", + "url": "https://github.com/canonical/sphinx-stack-docs/blob/main/LICENSE", }, } @@ -132,7 +132,7 @@ # product docs. llms_txt_description = textwrap.dedent( """\ - This is the documentation for the Sphinx Starter Pack, a template repository + This is the documentation for the Sphinx Stack, a template repository that helps you set up, build, and publish Sphinx documentation. """ ) diff --git a/docs/explanation/sitemaps.rst b/docs/explanation/sitemaps.rst index d9111d6..0433881 100644 --- a/docs/explanation/sitemaps.rst +++ b/docs/explanation/sitemaps.rst @@ -4,7 +4,7 @@ .. _sitemaps: Sitemaps -========= +======== The latest version of the Sphinx Stack generates a sitemap for your documentation using the `sphinx-sitemap `_ diff --git a/docs/how-to/optional-customisation/redirect-pages.md b/docs/how-to/optional-customisation/redirect-pages.md index 810c48b..43a1135 100644 --- a/docs/how-to/optional-customisation/redirect-pages.md +++ b/docs/how-to/optional-customisation/redirect-pages.md @@ -5,6 +5,8 @@ myst: relatedlinks: "[sphinx-rerediraffe](https://github.com/jahn-junior/sphinx-rerediraffe)" --- +(how-to-redirect-pages)= + # Redirect pages If a file in your documentation set is moved, deleted or renamed, it can no longer be diff --git a/docs/reference/rst-syntax.rst b/docs/reference/rst-syntax.rst index 36b657f..da347ec 100644 --- a/docs/reference/rst-syntax.rst +++ b/docs/reference/rst-syntax.rst @@ -259,6 +259,8 @@ Link markup depends on whether you need an external URL or a page in the same documentation set. +.. _reference-external-link-syntax: + External links ~~~~~~~~~~~~~~ @@ -808,6 +810,8 @@ A big advantage of reST in comparison to plain Markdown is that it allows to reu content. +.. _reference-substitution-syntax: + Substitution ~~~~~~~~~~~~ diff --git a/docs/release-notes/1.6.rst b/docs/release-notes/1.6.rst index d790a0c..216cf40 100644 --- a/docs/release-notes/1.6.rst +++ b/docs/release-notes/1.6.rst @@ -16,8 +16,8 @@ on GitHub. Bring these changes into your docs: -- :ref:`Update starter pack 1.3.0 and higher ` -- :ref:`Update starter pack 1.2.0 and lower ` +- :ref:`Update Starter Pack 1.3.0 and higher ` +- :ref:`Update Starter Pack 1.2.0 and lower ` What's new in 1.6 diff --git a/docs/release-notes/2.0.rst b/docs/release-notes/2.0.rst new file mode 100644 index 0000000..6ddd584 --- /dev/null +++ b/docs/release-notes/2.0.rst @@ -0,0 +1,274 @@ +.. meta:: + :description: The new features, changes, and fixes in Sphinx Stack 2.0. + + +.. _release-2.0: + +Canonical's Sphinx Starter Pack 2.0 +==================================== + +30 April 2026 + +These release notes cover new features and changes in the project formerly known as +Canonical's Sphinx Starter Pack. For a more granular list of changes, check out the full +commit log. + +Bring these changes into your docs: + +- :ref:`Update Starter Pack 1.3.0 and higher ` +- :ref:`Update Starter Pack 1.2.0 and lower ` + + +What's new +---------- + +Rename to Sphinx Stack +~~~~~~~~~~~~~~~~~~~~~~ + +This project was named when the documentation team at Canonical started assembling a +standard documentation toolkit. The word starter felt appropriate, as products needed +their documentation bootstrapped, and we had yet to release a standard. More than two +years later, this is no longer the case. This project has been deployed in hundreds of +Canonical products. It represents a complete standard for Canonical documentation sets, +not just those starting out. So, we decided that it's time for a new name. + +With the release of version 2.0, we're renaming the project **Sphinx Stack**. The +repository is now located at https://github.com/canonical/sphinx-stack. + + +Separate documentation repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To simplify the process of setting up and maintaining the Sphinx Stack, we separated its +documentation into a new `Sphinx Stack documentation repository +`__. + +Now, when you create a new project with the Sphinx Stack, you no longer need to remove +its documentation. New projects are also no longer initialized with any configuration +specific to the Sphinx Stack docs. Now, there's less ambiguity as to whether you need to +incorporate new values into your configuration file. + + +sphinx-llm support +~~~~~~~~~~~~~~~~~~ + +This version introduces default support for the `sphinx-llm +`__ extension. It surfaces documents in accordance +with the emerging `llms.txt standard `__. + +You can think of the ``llms.txt`` file as an extra sitemap for LLMs and systems using +the Model Context Protocol. In your documentation builds, you'll now see an ``llms.txt`` +file, an ``llms-full.txt`` file, and Markdown copies of your pages. The content of these +files is copied straight from your existing docs -- it doesn't transform or summarize +the text. + + +Dependency constraints +~~~~~~~~~~~~~~~~~~~~~~ + +In the past, we've had upstream packages break documentation builds without warning. To +reduce this, we constrained the project's dependencies to their current major version. + +Before every future major release, we'll test the newest versions and adjust the +constraints appropriately. + + +Copyright statement +~~~~~~~~~~~~~~~~~~~ + +We aligned the copyright statement in the footer with legal standards. To incorporate +this change in your documentation, add the license information to ``html_context`` in +your ``conf.py`` file: + +.. code-block:: python + :caption: docs/conf\.py + + html_context = { + "license": { + "name": "CC-BY-SA-3.0", + "url": "https://github.com/canonical/sphinx-stack/blob/main/LICENSE", + }, + } + +For ``license.name``, use the standard shorthand identifier from `SPDX +`__. + +For ``license.url``, link to the LICENSE statement, typically found on the product's +home page or in its GitHub repository. + + +Ulwazi testing +~~~~~~~~~~~~~~ + +We invite you to :ref:`test Ulwazi `, our new documentation +theme in early access. + +It represents a leap forward in the user experience, and we'd like your feedback. If you +run into any bugs or issues, please `report them on GitHub +`__. + + +Breaking changes +---------------- + + +Renamed the ``.sphinx/`` directory +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``.sphinx/`` directory, which contains config files and utility scripts, has been +renamed to ``_dev`` to better reflect its purpose. + +Once you've updated, remember to remove the ``.sphinx`` directory from your project. If +your project has custom code that references this directory, you'll also need to update +these references. + + +Removed the ``reuse/`` directory +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To reduce complexity and improve source readability, we've removed the ``reuse/`` +directory. + +By default, this directory contained project-wide link URLs and substitutions. Links +should now be included with the inline syntax or, if used more than three times in a +file, included at the end of the file. Substitutions will need to use reST or MyST +syntax and should be placed at the top of the file. The syntax for these changes is +described in :ref:`External links ` and +:ref:`Substitution `. + + +Deprecated features +------------------- + +The following features are deprecated. We plan to remove them in the 3.0 release. + + +``none`` role +~~~~~~~~~~~~~ + +The ``none`` role is deprecated in 2.0. + +To prepare for this role's removal, replace any uses of it with comments. + +.. code-block:: diff + + - :none:`This text isn't rendered.` + + .. This text isn't rendered. + + +sphinx-tabs extension +~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-tabs extension is deprecated in 2.0. + +If your documentation contains ``tabs`` and ``tab`` directives, replace them with the +``tab-set`` and ``tab-item`` directives from the sphinx-design extension: + +.. code-block:: diff + + - .. tabs:: + - + - .. tab:: Item 1 + - + - This is the first item. + - + - .. tab:: Item 2 + - + - This is the second item. + + .. tab-set:: + + + + .. tab-item:: Item 1 + + + + This is the first item. + + + + .. tab-item:: Item 2 + + + + This is the second item. + + +sphinx-contributor-listing extension +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-contributor-listing extension is deprecated in 2.0. To simplify the header +and footer design, we're ending support for per-page contributor lists in the next major +release. + + +sphinx-filtered-toctree extension +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-filtered-toctree extension is deprecated in 2.0. This extension was part of a +legacy feature and is no longer needed. + +If your ``conf.py`` file assigns a value to ``toc_filter_exclude``, remove the line: + +.. code-block:: diff + :caption: docs/conf\.py + + - toc_filter_exclude = ["foo", "bar"] + +Then, replace any ``filtered-toctree`` directives with the ``toctree`` directive. If you +find a page prefixed with one of the strings previously listed with toc_filter_exclude, +evaluate its usefulness. If it should be rendered, remove the prefix. If not, delete the +entry and its respective file. + +.. code-block:: diff + + - .. filtered-toctree:: + - + - page-a + - :foo:page-b + + .. toctree:: + + + + page-a + + +sphinx-last-updated-by extension +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-last-updated-by-git extension is deprecated in 2.0. Its inclusion in the +docs/requirements.txt file is redundant, as it's already set up by the sphinx-sitemap +extension. + +Ensure that you have the sphinx-sitemap extension installed and configured. For +guidance, refer to :ref:`sitemaps`. + + +sphinx-ubuntu-images extension +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-ubuntu-images extension is deprecated in 2.0. This extension isn't commonly +used and won't be included by default in the next major release. + +If your documentation uses the ``ubuntu-images`` directive, be sure to add it back to +your ``requirements.txt`` and ``conf.py`` files after you update. + + +sphinx-reredirects extension +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The sphinx-reredirects extension was deprecated in 1.6. Redirects, both internal and +external, should now be handled with the sphinx-rerediraffe extension. + +:ref:`how-to-redirect-pages` contains guidance on redirecting pages with the +sphinx-rerediraffe extension. + + +Contributors +------------ + +We'd like to express a big thank you to everyone who contributed to this release: + +:literalref:`a-velasco `, +:literalref:`asanvaq `, +:literalref:`AshleyCliff `, +:literalref:`izmalk `, +:literalref:`jahn-junior `, +:literalref:`keirthana `, +:literalref:`medubelko `, +:literalref:`mhsun-se `, +:literalref:`nhennigan `, +:literalref:`odadacharles `, +:literalref:`Saviq `, +:literalref:`srbouffard `, and +:literalref:`yhontyk `, diff --git a/docs/release-notes/index.rst b/docs/release-notes/index.rst index 24d7262..aef7dfa 100644 --- a/docs/release-notes/index.rst +++ b/docs/release-notes/index.rst @@ -11,12 +11,13 @@ the release and support policies for the Sphinx Stack. Latest release -------------- -- :ref:`release-1.6` +- :ref:`release-2.0` Past releases ------------- +- :ref:`release-1.6` - :ref:`release-1.5` - :ref:`release-1.4` @@ -44,6 +45,7 @@ modifications. It has numbers for major and minor version, but *not* patch versi .. toctree:: :hidden: + 2.0 <2.0> 1.6 <1.6> 1.5 <1.5> 1.4 <1.4>

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 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/external-referencing-intersphinx.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/external-referencing-intersphinx.doctree index c620c42c043d96cb80b088d23717979c76de76a5..b6669c3181d5f8d5e6fa30d70fb7b8bcd721a1b8 100644 GIT binary patch delta 827 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 diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/index.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/index.doctree index c863020f2fc2ec8bc27ea28515361536093e0e47..8c80c7528aa86ed621a92715a979081c96a4e578 100644 GIT binary patch delta 632 zcmZuvO>0v@6wOTfUU`yAZBlK)d}wUYR71X+*ean?t4L{ub|DCoChh2bNt)>U5I2Hd z2o)Y`yc4={d3bqllRxHXL9&AQJrNw|FnEVU)RLl+SR~4yavK)>mXPq^bkZBJ zcS2LFasGEr7I`v@2g&OcK8iB|>4TtkusAhAMXOC+qOfPrPkgiI!a>v`k-s_}98H}+ z{zqfrUkzMMEmGL;Ik}M@RZQ^piTERBD3+|TyQZdcTuu9iCVwBa&EoTP1;@gE*+U!- zaN%s&yW_rCqI90@Y|gxO4nrNPunR5dLI)0o#LbL926gM`L#F9!rJOCB8+oR2*tHam zi8KxN$l%bm6kRn~wxpJe91gLb8IOQhbizc6eU#V#_z z2ea<54Q}!w>aTBvd-2jTFwyH KYv1d)6XI^COzG$n{jb5 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 Ye;)piAbK!uP#i@VazJrJ_}?G=A8?%c*8l(j diff --git a/docs/_dev/.doctrees/how-to/optional-customisation/interactive-tables.doctree b/docs/_dev/.doctrees/how-to/optional-customisation/interactive-tables.doctree index 22f7cfdac705a5e186049d693f13e3a488eb123a..410a4cdf6caaf566891b021769d7980db821aa96 100644 GIT binary patch delta 1880 zcmZ`(Uu;ul6yJAmZ`YQs-PUy*FxI>7U$?P=#StN7z}C*0nMH*xBiUAN+Y4W>TRYoZ zvQ7SML}BP9(VPp3QNxS4zypEI7);D!;)4&GAPWx$H0p!#NfQ&Ekcj8pZrB1o^xUuC z`Tc(9ckXxY_ud0`^?)=lUAWYKL+TN2hgeAoOxq^lBe6=5_rMvcOX@uwjk@55*vVx0 zNo->-kZjv=z0=l+>rva1FLL<6G*6~xI^d48BQ(bYyoomt zc`%=`^d(tIC1mq$bHO}e25Fl&a*+pydGjy=-h}P0T^knK^I3^6f$oyo6)GeKxd9E% zMyuFmDpqIDs7Dg%xXC{-oYrzmNv2G`jP*NrUoxt)`s}3Ibu^bus9n0%vYF$4{fy_cGYUaC95;Kn#v~AsRG_A@;WMCK-8^#Pgd(b z_@`{ebHAv|d+=>}m^~y_iB#{yUbpWlOx*o4bHjCaSDl5iDi;~OPe!F$DhOLW^Hr@l z7*Et$@q}47Y3x7^jR2O6L)O!>&eej0u#!)(;}tvEK4Ozgtrfnj*z&9*e^=~guMuo> zQISHgNIqHFBW<$0-mLtbX@m#A$05~Qdsk3+7QU~F;8b0AZ-E_NxptoVk+l=_$j=eF z*JhVBZy943VSlY3E>;g#nE&Mi2!9{`tUm0RS>wWp??}_ypE=wk0en0jFgq_DH-p*& z{OoIIUsLIQ+Ia*h+&6CWTKsJsr=ii-%zQ<<1!kVo(k{S}n!D@{+LMPq!L)Xn!lxL{ zX-gOlTPmGWP3;PkGlJeWOCD0Q>tI z;81^yQxdGBU;?}`Rs$dRdqa<~01p^tdoo!)s!k^-(?@$v{M3bYF?`b{$Xb8XMiczd z-vkf)>jXdP*1*zK6L{V65CY(lyMFnb!68BTQdq7Y zS`u3}BU57(Iw|-mOi<{iFhv2){W2UlMM%SaOwG{E6HVo&Vrs^;Sakp4Ip}yVnHJe_ zW|O)aolK@)H!Y2v;Xq3%WlGJW6@#wMWP+AFgd^6bWQ|fv=J$e{)lNuzhpL~Ya9SuC zEzwTVa+bm|3^~I|9DR1$63w#~Ez&t6;KUPlF~=)umP5S9(!vMn@LQIMHZ3ei4t~gl zb`frjwhFBx&e%5CHR5+Ri!|R_iwMd{6O@m6q5gQA5YFTF6K;EBFJcUPHl54F@uQ+a jGHlqjY7X_&%r}d$a=fM5l~Cj9jH1(xJxrsXi*^4CG44Xx literal 32016 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 literal 46030 zcmeHw36LDuc^*idJGcn&f=E$pE=XYkVrBsF5Vaxzf&fTDxM&-nqwtOEQzutN}@zv)O}0T;W$n?aV*(ISCo>IFqKsKh|5kSIdSs+ z|LfQNx@WehXE9`?3Q@HWJ>9S0`|tO^|Goe9Nky+*L||P^;f%(bti%`N1tDkiUwoV=C|V?(|Yx+ zW6Xs0?UqO21-tIE=QPjO0K2BQwBv1~weS8znuW)+j_z4@i=NH{aINjwb))K)y1_DP zwHvGku2sisQ?0Hatn~C*eqa`Y6>S~3d0lg9Fjk3(fnO^m4bGNLyJ?h-s@1qoud4qT4pA){Ir< zyKc#Gf#$M?)iS!r{AqJ6SmEi;tP!)uTpnCrDrptbdNFKfvP%><*MrRF23%Z@zbo-~ zHU3^jWCks*S~pmie68!7*PAz)Hy&PRYUWb&2KL2{-Uq$*_-s zpE?AhZ7Lw1F)mrML_(OPItj};t7d4r1}3&@x>K{>V$`%beV*h=N`!Xe;K@@O1kNoL zPMMag&HD6G&1l*!*Ms~St_J!>0;)Bwmetf7{pgaGQ_Xj+)~q&la!#L}H5~2qA?;4n z^V;rYx$KI2CCe^*w%u^$jiPUr_e@o`L;kA`zeext+O+OkRV{%ZRE5kkixDm4Ni1d zvH!y}=W|c%r<3fEbxp>5XJXVU5P5bppL_mGl;aDV2Y@grtT|=`xO?QQ%bv!azZ5zWk+H}OY zP2;&TQj39&j7f1QxD*9@LZu8edu7A&3`cLMdc8RZ9+Df^55QRI`d_GBFRa_dl=nbZ zo&Y2E274}&V6jXjFwZBl>j4JK20$4L)`q02OgHT6S%qL{{uYC&^gXm&N;^uo6s*>a zJz3B+_6;Vr`;11zrqL3&&KZsiUt&_*iJChKZQV0ns#-Rw5?yH;oE&kXX|CUF>dyS6 zb`k?HSK%6(M&mksO|&MfYFZJ)-=y}4Z#eT|EozNiyGbsUn{L%KntJ>yRrKcDsEFYk zvKUr%47ZID-B3Ci-?d}MxcZ_hqT2DpN+(s}tg4kYO>egwp^sOtyP$;f0zuIavKTsh znq1k`E1-r04nT=iK5T#KS&V%lE|p#(BNjZh$i5%*XB8ob5DfH;flT zEqFx$;@QOH|6c+i>%^$5<4!Pe8@E4_J|ZaX?=hvy_b8YV+E%xp1HsHro7!ol-x zTMY9c8=QsX_a8ilAz^B&|0HA1G~i*-OoTiG%vE?QkKQno(i?@Qeil=#lN`U$s&*T* zGxAl`88ppP=%(#^ZQlb>4lJjQp@HW>B5W`<6^>j0gC|3#?rC#I?4n?fgeIihBW5`w z5-=J2BL`2R&P9_%aTZ=w`DOm|$RS&;kWDgvWk^Wn^}kSGAM9(q$iBv-|1bHV0H1+- z#H$GR@J{@CeF-FVG3f6cn*VX9W&-BeP{^r}s_=3`uu19}i2u2W!Iv4VC0fYS-8&_w zy$_`At#1OxS?1ULp80*%rd_A>9Q*pWLWWzKW3b9ep?67#+E(?f=8NfmLcu}}fS-EH zB3_QkSAXqLJd+f>Ucn=#;CiwQng~Rg9!x$*!}bO}_apkoO@rHx< zorb&UF#*+p$*heC3+Ncyq%b}r4BX^ofgC!YUko{4D4epPkZkNRPog;yB2qAgh`&^A z_{6Q+c6faV<(;Q_RKo(&9s*HeTao-|{m3z)%<*nr47`%4w=Cjih41$*itjg>TKxdt zOeoIU1ob3*sk;%&9~hG5TjDNbjk#m79FowzZjlWr6s#?Zf?H#BV#Rq?w#-1wGipSX zb%vzu%@HV>X0v`bAu2*Cn`8Zp-w8GdWnrHz^o-(ARQOP6rEr@vy)bfmGQ6-&`|Z|@ z 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 diff --git a/docs/_dev/.doctrees/how-to/publish-on-rtd.doctree b/docs/_dev/.doctrees/how-to/publish-on-rtd.doctree index 11d8067b1e8243135cd0a21a28d18180097f5ffc..4fd3daa0b468ab40596f9fce79143ac8036f43e6 100644 GIT binary patch delta 1308 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 LGM2P~an|F1A$pb6 literal 66069 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 JE(0Vl|9}5R_VfS% diff --git a/docs/_dev/.doctrees/how-to/troubleshooting.doctree b/docs/_dev/.doctrees/how-to/troubleshooting.doctree index 355bf33a56609eebe9cbdd0cf5a0cf7d83da8cb9..6b14905699af016b79a7a52be83e517545af4d78 100644 GIT binary patch delta 903 zcmaJ=T}TvB6yCk#YHMXkmZYGryX$XlI%$wZ1-*nn>#h~0VAKBGymQlCnV-J@oRO%bfFl-?{gkc?sl}>dAQK zuC*1y+x=#|7z(T4DqCG+H5OKL!4NnkQy09JQdbYO5@Jp?=X}_i$ z3LRC4(?bVr7U&|PtPyiQCYf;_7stjad%|vD9?K7}di)hOD;l)fLCez;Y7Mp6(>A6B zYl=W=xUD%a%rmGF=#u^;r@(Yrfsf%MG$4zR($okR@!f9QH-aHk+)P|E0j|$PIWB+(I&B@nSUM zhNp+Co4;T)^}1C~$3|(wP&9gmYBZIgNhLn6s7buFEDFpxg($07EIistNI+WbJAPjZ zP6)DiZUI*irVt(>;1&3D1kp@Ye{Ba=S|#VGrmN|ck}^l)RI?qH<<+PdjzPx^+aX(C zT{WmOtftP|LIckCR|c3YhEX5Wt)f(HgsMp$XT_b~W&R0$RtYTk2Pfa-`7Oc;gkuOR z2yXT?|Ba*kBik;$5@6t_fX?fkRIiLi=c zfZb*{d6OG94(_OQ>~XvD_F+7sJ%2&q!>O-CmS9C$CRZhJSL}p$S^=>nv9VQ>kc4li z_mCM0nqnbxS%TKIA0}dl$h;(0r;a?tx|ZNwNjzquo;I}vwVB^45N}28t`eN~jL3^=s?I6o}?qi4RTgP?w_Yb`x!!%9?sL3$f zHRFV3*7(a|x9S)B;TmeKA8rH>s-Dvc9Jk%?hU){f&L8aQa9zg)=Adt{4yVd7lkjVu z zxTfi}t^ToY#hwb+1*TWGlu+!o;T6TAQBD=y-zR3jUqHO7MHwz#u4O_&d`(2UgTK)7$P z7~@#EpaOFyKNwQCr!;k&0hl9__9v>VF1h641!EaDk~ECEyDo z-f3&mg1l`cgx0eYHNt#3Mk<(W<0 zFia~fvLmh&{Lw1v>J?=hB_CRH7MgJ&JSatk0qMeotx=GMG6f@UVJyOUtZZ`l^KYGqr z=b~d3q$TK^a@be-q&n&r1No#|Ah~D1%zi*P9cx&ve`Hmx)$1b@ph+>Qn?cNxTwUwa z`BZ>tQeCSfu^83=BeS!DQL!=|6gm8Dl_N*?@VDhr*Y_P70IOz~++p_P4uk{m6)|7W z&pjHxz9O>on0&Q9e1+dT*fzTDB@8VzBAIog<zVl+16nUK1LNI5e99TeL1r8Xl}CUH=F>@k>!(nL}R;0naFu! z&xsl%a(qlLn$y-f#}8Ca)V# zr5WGOuNhKJuaO#}YsM2d3CD&6kx&r0)23lVOCT{GRxwsXw_=-1d6m*4?#mu}|5_nv|wvu-A%hTuiJW>zqbp_v@)2&QS&$)j-zvlMi1FFDmC zYq+q0NgoY>ClRO#jLPz~+p*eYAriB~n(5mW*Ys)zrnuTL8IMx$V^T0syrIM>P9Kc< zmM1DBN0Xa1jwd+%ljCBNH#>VjO?&;>S=jf=UZd$&G5oXXY`GZ7X*_6S#;YdJJWUp( z13L$i?cQtHa6G(eO1LFyV&urXO^Ihq@IJJmOLBwtcs;(P$?HOVfSna>#K-4GZfd*vfJ=j;9z)F+Lwr zxprNj)J-c!#dbt+POIw4R8^U#x^bFv8{9q{>>ZgB(3%;bI5C_EM$XU2WQrGB`LpAY zNe;iF@o^D8n6≻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 diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/index.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/index.doctree index 9d793f0621336df67931eb8598d49978b1796b94..3a0dc31aa0fe6bb59f64971b0360a4c7c5448d24 100644 GIT binary patch delta 802 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 diff --git a/docs/_dev/.doctrees/how-to/update-sphinx-stack/legacy-sphinx-stack.doctree b/docs/_dev/.doctrees/how-to/update-sphinx-stack/legacy-sphinx-stack.doctree index 8aac442cb14c079fb4e22f6d7f4b05c6ba5c78dc..b235edbe6aaf3dc8a062f8700ad8b78fc08705a2 100644 GIT binary patch delta 880 zcmaJ=bD{8j=^+S%ATfJb6oT6{B$ABGAnT=pz4ST;AC$B>`qyIRV?Ggt9QtX8W2u|dt%*nL@a6KDDAD8-Z@007LweQR@q15q(bDe z3(lon8;EG?AmUEUd)zf{54k|tHLYr5ZUyi%W#5z)m-aG`l1AfyBm+>J4gg7S=Z>=S zGOiuLw{!&yu1p=LvZTW)$=UwfY0yH{+u&aDWl04bC02Nlu@(Joo%^pfe97$RE@eAy zo3f$bbT~6LoNqP!!55u$0H~ZE;;;<{lj|U!G@C}LnUpaDP8P$f>5;s9^c*MBBO1hV zMY@m1uRM-$+y^wiJTqb}ZD90j25k(Q7z{9AO-t7q&}N=Ib#7x!yylc3E8$o)5Y-|f zK_+??MzTQvNELcjq8DSNgjFHX6OJAyR0GOqTQ_Rh6b(j%aF@dVD%+1&ddLit2u5aW z&C+L{9zOA~H0#@0^k6>ca3iS(Hxx*G1d{@RDv_Q>LwF&1o`0Mu(SX?MXEf%&7QmX~VUb|rQ zjTL5omUCK`FEhT!8KWG$N{MN5r$F?D#JTk01kz+RXkwAnVu7CJ(zTW@p))22Rr>bC IpIv?TFUTY*>Hq)$ literal 65470 zcmeHw3zQsJd8UP=k*4*2*s^6yZd-ngWOcVC%P$!`$dYXtS+bGj2iT^krn_dkTRq)P zSG7j7IK(&$X|Y9kxbay6BoNM$2T5Q98(_l*4#|>}WXVZ*1aBZLG32p4Vm9n4p z-~ZpbkE*V&t{SzC*~rH(_f*|`>wn+>{`bFsJ+b_qAN{`<@IT%VdvzYk8~(0vE*KVA^;%sB*V z4&9vsUw}`}Z59MRK479zp>EGwrG>z~eA@vjmes2byLYTJT^aYrT&q26YxY%^dza_) z*`hyS#2EW~#G%SMu%)sAKQ`gN3-R9;{C5el1+=f0d*0T;L-ab8%PUt`t~#=|lC3PQ zT!H_ttn6TTRybe*5l_mK6p0A{yWFk1b=!F4ZGS*8lK3NF4e(TeI_@ny30|S!(DrZa zu@D2S{Q|6Gm8(D~YaqIW$t`Gpqr?JOtzb;X!EbA}ZM7;Uz@I-^sXE!&PPJ@jn;n-p zK>}xI9oKF-*|z=KPPJ{9Nk-?Y=nWyYAd5oDETW8*)9g&UIY(VH5r}6ecD34ePD$vl z>}k7AqPmktW@=$*$CbBn3o>t&n=O`qJ2N#E7Wb(sNm?~(p6NSLne-|z6k0vap?ggZ zK{{62bFGTyR2`Gv>q2x85;5tm36RGa^+9vgc)p(m-|q#lC%x+>9g~vRcwrcg74@oX zx2?K~#pWn>NL1E`Ib{r9OO8!NVY4xU(F4eC$127vNUfm|<5EFDtRrHYs4Rc@rX?3# za1xTQ#3?szIS~D@Q9cb_ai9ebY;kiYJ7ZgJr%iVn#+qw28!*w%?yS=(RkD^796v*Eble3f?dUX!gi ztui1+Lklk}mveY0^lJgrpH$O)_8ym}j;vFiZB%D4e>B|s0u;U6DcPAht4i~e)hJ