Document not found (404)
+This URL is invalid, sorry. Try the search instead!
+ +From aa94aa1e06f9be4ab0fc4f806822956bdd755043 Mon Sep 17 00:00:00 2001 From: Deploy from CI <> Date: Mon, 14 Jul 2025 23:14:47 +0000 Subject: [PATCH] Deploy 7b29f8a7174fa4b7b31536b84ee62e50a786658b to gh-pages --- .nojekyll | 1 + 404.html | 238 ++ ace-2a3cd908.js | 43 + ayu-highlight-3fdfc3ac.css | 77 + book-a0b12cfe.js | 843 +++++ cli/build.html | 275 ++ cli/clean.html | 268 ++ cli/completions.html | 264 ++ cli/index.html | 263 ++ cli/init.html | 308 ++ cli/serve.html | 293 ++ cli/test.html | 293 ++ cli/watch.html | 284 ++ clipboard-1626706a.min.js | 7 + continuous-integration.html | 324 ++ css/chrome-ae938929.css | 756 +++++ css/general-2459343d.css | 408 +++ css/print-9e4910d8.css | 50 + css/variables-8adf115d.css | 383 +++ editor-16ca416c.js | 29 + elasticlunr-ef4e11c1.min.js | 10 + favicon-8114d1fc.png | Bin 0 -> 5679 bytes favicon-de23e50b.svg | 22 + fonts/OPEN-SANS-LICENSE.txt | 202 ++ fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + fonts/fonts-9644e21d.css | 100 + ...n-sans-v17-all-charsets-300-7736aa35.woff2 | Bin 0 -> 44352 bytes ...-v17-all-charsets-300italic-2c7b95c0.woff2 | Bin 0 -> 40656 bytes ...n-sans-v17-all-charsets-600-486c6759.woff2 | Bin 0 -> 44936 bytes ...-v17-all-charsets-600italic-1a3e8659.woff2 | Bin 0 -> 42120 bytes ...n-sans-v17-all-charsets-700-c22fe8c7.woff2 | Bin 0 -> 44988 bytes ...-v17-all-charsets-700italic-238ae959.woff2 | Bin 0 -> 40800 bytes ...n-sans-v17-all-charsets-800-3d2c812a.woff2 | Bin 0 -> 44536 bytes ...-v17-all-charsets-800italic-ba1521ec.woff2 | Bin 0 -> 40812 bytes ...ans-v17-all-charsets-italic-6c9463f7.woff2 | Bin 0 -> 41076 bytes ...ns-v17-all-charsets-regular-2e3b1d34.woff2 | Bin 0 -> 43236 bytes ...de-pro-v11-all-charsets-500-2bdd9410.woff2 | Bin 0 -> 59140 bytes for_developers/backends.html | 517 +++ for_developers/index.html | 290 ++ for_developers/mdbook-wordcount/Cargo.toml | 9 + for_developers/mdbook-wordcount/src/main.rs | 49 + for_developers/preprocessors.html | 555 ++++ format/config.html | 36 + .../configuration/environment-variables.html | 281 ++ format/configuration/general.html | 361 +++ format/configuration/index.html | 258 ++ format/configuration/preprocessors.html | 310 ++ format/configuration/renderers.html | 519 +++ format/example.rs | 6 + format/images/rust-logo-blk.svg | 1 + format/index.html | 258 ++ format/markdown.html | 496 +++ format/mathjax.html | 281 ++ format/mdbook.html | 499 +++ format/summary.html | 385 +++ format/theme/editor.html | 282 ++ format/theme/index-hbs.html | 347 ++ format/theme/index.html | 296 ++ format/theme/syntax-highlighting.html | 330 ++ guide/creating.html | 318 ++ guide/installation.html | 279 ++ guide/reading.html | 314 ++ highlight-493f70e1.css | 83 + highlight-abc7f01d.js | 54 + index.html | 286 ++ mark-09e88c2c.min.js | 7 + misc/contributors.html | 267 ++ mode-rust-2c9d5c9a.js | 7 + pre-release/.nojekyll | 1 + pre-release/404.html | 238 ++ pre-release/ace-2a3cd908.js | 43 + pre-release/ayu-highlight-3fdfc3ac.css | 77 + pre-release/book-a0b12cfe.js | 843 +++++ pre-release/cli/build.html | 275 ++ pre-release/cli/clean.html | 268 ++ pre-release/cli/completions.html | 264 ++ pre-release/cli/index.html | 263 ++ pre-release/cli/init.html | 308 ++ pre-release/cli/serve.html | 293 ++ pre-release/cli/test.html | 293 ++ pre-release/cli/watch.html | 284 ++ pre-release/clipboard-1626706a.min.js | 7 + pre-release/continuous-integration.html | 324 ++ pre-release/css/chrome-9dfbd86b.css | 756 +++++ pre-release/css/general-2459343d.css | 408 +++ pre-release/css/print-9e4910d8.css | 50 + pre-release/css/variables-8adf115d.css | 383 +++ pre-release/editor-16ca416c.js | 29 + pre-release/elasticlunr-ef4e11c1.min.js | 10 + pre-release/favicon-8114d1fc.png | Bin 0 -> 5679 bytes pre-release/favicon-de23e50b.svg | 22 + pre-release/fonts/OPEN-SANS-LICENSE.txt | 202 ++ pre-release/fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + pre-release/fonts/fonts-9644e21d.css | 100 + ...n-sans-v17-all-charsets-300-7736aa35.woff2 | Bin 0 -> 44352 bytes ...-v17-all-charsets-300italic-2c7b95c0.woff2 | Bin 0 -> 40656 bytes ...n-sans-v17-all-charsets-600-486c6759.woff2 | Bin 0 -> 44936 bytes ...-v17-all-charsets-600italic-1a3e8659.woff2 | Bin 0 -> 42120 bytes ...n-sans-v17-all-charsets-700-c22fe8c7.woff2 | Bin 0 -> 44988 bytes ...-v17-all-charsets-700italic-238ae959.woff2 | Bin 0 -> 40800 bytes ...n-sans-v17-all-charsets-800-3d2c812a.woff2 | Bin 0 -> 44536 bytes ...-v17-all-charsets-800italic-ba1521ec.woff2 | Bin 0 -> 40812 bytes ...ans-v17-all-charsets-italic-6c9463f7.woff2 | Bin 0 -> 41076 bytes ...ns-v17-all-charsets-regular-2e3b1d34.woff2 | Bin 0 -> 43236 bytes ...de-pro-v11-all-charsets-500-2bdd9410.woff2 | Bin 0 -> 59140 bytes pre-release/for_developers/backends.html | 517 +++ pre-release/for_developers/index.html | 290 ++ .../mdbook-wordcount/Cargo.toml | 9 + .../mdbook-wordcount/src/main.rs | 49 + pre-release/for_developers/preprocessors.html | 555 ++++ pre-release/format/config.html | 36 + .../configuration/environment-variables.html | 282 ++ pre-release/format/configuration/general.html | 361 +++ pre-release/format/configuration/index.html | 258 ++ .../format/configuration/preprocessors.html | 310 ++ .../format/configuration/renderers.html | 521 +++ pre-release/format/example.rs | 6 + pre-release/format/images/rust-logo-blk.svg | 1 + pre-release/format/index.html | 258 ++ pre-release/format/markdown.html | 496 +++ pre-release/format/mathjax.html | 281 ++ pre-release/format/mdbook.html | 498 +++ pre-release/format/summary.html | 385 +++ pre-release/format/theme/editor.html | 282 ++ pre-release/format/theme/index-hbs.html | 347 ++ pre-release/format/theme/index.html | 296 ++ .../format/theme/syntax-highlighting.html | 330 ++ pre-release/guide/creating.html | 318 ++ pre-release/guide/installation.html | 279 ++ pre-release/guide/reading.html | 314 ++ pre-release/highlight-493f70e1.css | 83 + pre-release/highlight-abc7f01d.js | 54 + pre-release/index.html | 286 ++ pre-release/mark-09e88c2c.min.js | 7 + pre-release/misc/contributors.html | 267 ++ pre-release/mode-rust-2c9d5c9a.js | 7 + pre-release/print.html | 2838 +++++++++++++++++ pre-release/searcher-c2a407aa.js | 555 ++++ pre-release/searchindex-27eea930.js | 1 + pre-release/theme-dawn-4493f9c8.js | 7 + pre-release/theme-tomorrow_night-9dbe62a9.js | 7 + pre-release/toc-bc455237.js | 446 +++ pre-release/toc.html | 31 + pre-release/tomorrow-night-4c0ae647.css | 104 + print.html | 2836 ++++++++++++++++ searcher-c2a407aa.js | 555 ++++ searchindex-83c2db7d.js | 1 + theme-dawn-4493f9c8.js | 7 + theme-tomorrow_night-9dbe62a9.js | 7 + toc-0bef705f.js | 454 +++ toc.html | 31 + tomorrow-night-4c0ae647.css | 104 + 152 files changed, 35616 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 ace-2a3cd908.js create mode 100644 ayu-highlight-3fdfc3ac.css create mode 100644 book-a0b12cfe.js create mode 100644 cli/build.html create mode 100644 cli/clean.html create mode 100644 cli/completions.html create mode 100644 cli/index.html create mode 100644 cli/init.html create mode 100644 cli/serve.html create mode 100644 cli/test.html create mode 100644 cli/watch.html create mode 100644 clipboard-1626706a.min.js create mode 100644 continuous-integration.html create mode 100644 css/chrome-ae938929.css create mode 100644 css/general-2459343d.css create mode 100644 css/print-9e4910d8.css create mode 100644 css/variables-8adf115d.css create mode 100644 editor-16ca416c.js create mode 100644 elasticlunr-ef4e11c1.min.js create mode 100644 favicon-8114d1fc.png create mode 100644 favicon-de23e50b.svg create mode 100644 fonts/OPEN-SANS-LICENSE.txt create mode 100644 fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 fonts/fonts-9644e21d.css create mode 100644 fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-300italic-2c7b95c0.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600-486c6759.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600italic-1a3e8659.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700-c22fe8c7.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700italic-238ae959.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800-3d2c812a.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800italic-ba1521ec.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-italic-6c9463f7.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-regular-2e3b1d34.woff2 create mode 100644 fonts/source-code-pro-v11-all-charsets-500-2bdd9410.woff2 create mode 100644 for_developers/backends.html create mode 100644 for_developers/index.html create mode 100644 for_developers/mdbook-wordcount/Cargo.toml create mode 100644 for_developers/mdbook-wordcount/src/main.rs create mode 100644 for_developers/preprocessors.html create mode 100644 format/config.html create mode 100644 format/configuration/environment-variables.html create mode 100644 format/configuration/general.html create mode 100644 format/configuration/index.html create mode 100644 format/configuration/preprocessors.html create mode 100644 format/configuration/renderers.html create mode 100644 format/example.rs create mode 100644 format/images/rust-logo-blk.svg create mode 100644 format/index.html create mode 100644 format/markdown.html create mode 100644 format/mathjax.html create mode 100644 format/mdbook.html create mode 100644 format/summary.html create mode 100644 format/theme/editor.html create mode 100644 format/theme/index-hbs.html create mode 100644 format/theme/index.html create mode 100644 format/theme/syntax-highlighting.html create mode 100644 guide/creating.html create mode 100644 guide/installation.html create mode 100644 guide/reading.html create mode 100644 highlight-493f70e1.css create mode 100644 highlight-abc7f01d.js create mode 100644 index.html create mode 100644 mark-09e88c2c.min.js create mode 100644 misc/contributors.html create mode 100644 mode-rust-2c9d5c9a.js create mode 100644 pre-release/.nojekyll create mode 100644 pre-release/404.html create mode 100644 pre-release/ace-2a3cd908.js create mode 100644 pre-release/ayu-highlight-3fdfc3ac.css create mode 100644 pre-release/book-a0b12cfe.js create mode 100644 pre-release/cli/build.html create mode 100644 pre-release/cli/clean.html create mode 100644 pre-release/cli/completions.html create mode 100644 pre-release/cli/index.html create mode 100644 pre-release/cli/init.html create mode 100644 pre-release/cli/serve.html create mode 100644 pre-release/cli/test.html create mode 100644 pre-release/cli/watch.html create mode 100644 pre-release/clipboard-1626706a.min.js create mode 100644 pre-release/continuous-integration.html create mode 100644 pre-release/css/chrome-9dfbd86b.css create mode 100644 pre-release/css/general-2459343d.css create mode 100644 pre-release/css/print-9e4910d8.css create mode 100644 pre-release/css/variables-8adf115d.css create mode 100644 pre-release/editor-16ca416c.js create mode 100644 pre-release/elasticlunr-ef4e11c1.min.js create mode 100644 pre-release/favicon-8114d1fc.png create mode 100644 pre-release/favicon-de23e50b.svg create mode 100644 pre-release/fonts/OPEN-SANS-LICENSE.txt create mode 100644 pre-release/fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 pre-release/fonts/fonts-9644e21d.css create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-300italic-2c7b95c0.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-600-486c6759.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-600italic-1a3e8659.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-700-c22fe8c7.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-700italic-238ae959.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-800-3d2c812a.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-800italic-ba1521ec.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-italic-6c9463f7.woff2 create mode 100644 pre-release/fonts/open-sans-v17-all-charsets-regular-2e3b1d34.woff2 create mode 100644 pre-release/fonts/source-code-pro-v11-all-charsets-500-2bdd9410.woff2 create mode 100644 pre-release/for_developers/backends.html create mode 100644 pre-release/for_developers/index.html create mode 100644 pre-release/for_developers/mdbook-wordcount/Cargo.toml create mode 100644 pre-release/for_developers/mdbook-wordcount/src/main.rs create mode 100644 pre-release/for_developers/preprocessors.html create mode 100644 pre-release/format/config.html create mode 100644 pre-release/format/configuration/environment-variables.html create mode 100644 pre-release/format/configuration/general.html create mode 100644 pre-release/format/configuration/index.html create mode 100644 pre-release/format/configuration/preprocessors.html create mode 100644 pre-release/format/configuration/renderers.html create mode 100644 pre-release/format/example.rs create mode 100644 pre-release/format/images/rust-logo-blk.svg create mode 100644 pre-release/format/index.html create mode 100644 pre-release/format/markdown.html create mode 100644 pre-release/format/mathjax.html create mode 100644 pre-release/format/mdbook.html create mode 100644 pre-release/format/summary.html create mode 100644 pre-release/format/theme/editor.html create mode 100644 pre-release/format/theme/index-hbs.html create mode 100644 pre-release/format/theme/index.html create mode 100644 pre-release/format/theme/syntax-highlighting.html create mode 100644 pre-release/guide/creating.html create mode 100644 pre-release/guide/installation.html create mode 100644 pre-release/guide/reading.html create mode 100644 pre-release/highlight-493f70e1.css create mode 100644 pre-release/highlight-abc7f01d.js create mode 100644 pre-release/index.html create mode 100644 pre-release/mark-09e88c2c.min.js create mode 100644 pre-release/misc/contributors.html create mode 100644 pre-release/mode-rust-2c9d5c9a.js create mode 100644 pre-release/print.html create mode 100644 pre-release/searcher-c2a407aa.js create mode 100644 pre-release/searchindex-27eea930.js create mode 100644 pre-release/theme-dawn-4493f9c8.js create mode 100644 pre-release/theme-tomorrow_night-9dbe62a9.js create mode 100644 pre-release/toc-bc455237.js create mode 100644 pre-release/toc.html create mode 100644 pre-release/tomorrow-night-4c0ae647.css create mode 100644 print.html create mode 100644 searcher-c2a407aa.js create mode 100644 searchindex-83c2db7d.js create mode 100644 theme-dawn-4493f9c8.js create mode 100644 theme-tomorrow_night-9dbe62a9.js create mode 100644 toc-0bef705f.js create mode 100644 toc.html create mode 100644 tomorrow-night-4c0ae647.css diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..f1731109 --- /dev/null +++ b/.nojekyll @@ -0,0 +1 @@ +This file makes sure that Github Pages doesn't process mdBook's output. diff --git a/404.html b/404.html new file mode 100644 index 00000000..11874a69 --- /dev/null +++ b/404.html @@ -0,0 +1,238 @@ + + +
+ + +Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+This URL is invalid, sorry. Try the search instead!
+ +Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The build command is used to render your book:
+mdbook build
+
+It will try to parse your SUMMARY.md file to understand the structure of your
+book and fetch the corresponding files. Note that this will also create files
+mentioned in SUMMARY.md which are not yet present.
The rendered output will maintain the same directory structure as the source for +convenience. Large books will therefore remain structured when rendered.
+The build command can take a directory as an argument to use as the book’s
+root instead of the current working directory.
mdbook build path/to/book
+
+--openWhen you use the --open (-o) flag, mdbook will open the rendered book in
+your default web browser after building it.
--dest-dirThe --dest-dir (-d) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the current directory. If
+not specified it will default to the value of the build.build-dir key in
+book.toml, or to ./book.
Note: The build command copies all files (excluding files with .md extension) from the source directory
+into the build directory.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The clean command is used to delete the generated book and any other build +artifacts.
+mdbook clean
+
+The clean command can take a directory as an argument to use as the book’s
+root instead of the current working directory.
mdbook clean path/to/book
+
+--dest-dirThe --dest-dir (-d) option allows you to override the book’s output
+directory, which will be deleted by this command. Relative paths are interpreted
+relative to the current directory. If not specified it will default to the
+value of the build.build-dir key in book.toml, or to ./book.
mdbook clean --dest-dir=path/to/book
+
+path/to/book could be absolute or relative.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The completions command is used to generate auto-completions for some common shells.
+This means when you type mdbook in your shell, you can then press your shell’s auto-complete key (usually the Tab key) and it may display what the valid options are, or finish partial input.
The completions first need to be installed for your shell:
+# bash
+mdbook completions bash > ~/.local/share/bash-completion/completions/mdbook
+# oh-my-zsh
+mdbook completions zsh > ~/.oh-my-zsh/completions/_mdbook
+autoload -U compinit && compinit
+
+The command prints a completion script for the given shell.
+Run mdbook completions --help for a list of supported shells.
Where to place the completions depend on which shell you are using and your operating system. +Consult your shell’s documentation for more information one where to place the script.
+ +Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The mdbook command-line tool is used to create and build books.
+After you have installed mdbook, you can run the mdbook help command in your terminal to view the available commands.
This following sections provide in-depth information on the different commands available.
+mdbook init <directory> — Creates a new book with minimal boilerplate to start with.mdbook build — Renders the book.mdbook watch — Rebuilds the book any time a source file changes.mdbook serve — Runs a web server to view the book, and rebuilds on changes.mdbook test — Tests Rust code samples.mdbook clean — Deletes the rendered output.mdbook completions — Support for shell auto-completion.Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+There is some minimal boilerplate that is the same for every new book. It’s for
+this purpose that mdBook includes an init command.
The init command is used like this:
mdbook init
+
+When using the init command for the first time, a couple of files will be set
+up for you:
book-test/
+├── book
+└── src
+ ├── chapter_1.md
+ └── SUMMARY.md
+
+The src directory is where you write your book in markdown. It contains all
+the source files, configuration files, etc.
The book directory is where your book is rendered. All the output is ready
+to be uploaded to a server to be seen by your audience.
The SUMMARY.md is the skeleton of your
+book, and is discussed in more detail in another
+chapter.
When a SUMMARY.md file already exists, the init command will first parse it
+and generate the missing files according to the paths used in the SUMMARY.md.
+This allows you to think and create the whole structure of your book and then
+let mdBook generate it for you.
The init command can take a directory as an argument to use as the book’s root
+instead of the current working directory.
mdbook init path/to/book
+
+--themeWhen you use the --theme flag, the default theme will be copied into a
+directory called theme in your source directory so that you can modify it.
The theme is selectively overwritten, this means that if you don’t want to +overwrite a specific file, just delete it and the default file will be used.
+--titleSpecify a title for the book. If not supplied, an interactive prompt will ask for +a title.
+mdbook init --title="my amazing book"
+
+--ignoreCreate a .gitignore file configured to ignore the book directory created when building a book.
+If not supplied, an interactive prompt will ask whether it should be created.
mdbook init --ignore=none
+
+mdbook init --ignore=git
+
+--forceSkip the prompts to create a .gitignore and for the title for the book.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The serve command is used to preview a book by serving it via HTTP at
+localhost:3000 by default:
mdbook serve
+
+The serve command watches the book’s src directory for
+changes, rebuilding the book and refreshing clients for each change; this includes
+re-creating deleted files still mentioned in SUMMARY.md! A websocket
+connection is used to trigger the client-side refresh.
Note: The serve command is for testing a book’s HTML output, and is not
+intended to be a complete HTTP server for a website.
The serve command can take a directory as an argument to use as the book’s
+root instead of the current working directory.
mdbook serve path/to/book
+
+The serve hostname defaults to localhost, and the port defaults to 3000. Either option can be specified on the command line:
mdbook serve path/to/book -p 8000 -n 127.0.0.1
+
+--openWhen you use the --open (-o) flag, mdbook will open the book in your
+default web browser after starting the server.
--dest-dirThe --dest-dir (-d) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the current directory. If
+not specified it will default to the value of the build.build-dir key in
+book.toml, or to ./book.
--watcherThere are different backends used to determine when a file has changed.
+poll (default) — Checks for file modifications by scanning the filesystem every second.native — Uses the native operating system facilities to receive notifications when files change.
+This can have less constant overhead, but may not be as reliable as the poll based watcher. See these issues for more information: #383 #1441 #1707 #2035 #2102The serve command will not automatically trigger a build for files listed in
+the .gitignore file in the book root directory. The .gitignore file may
+contain file patterns described in the gitignore
+documentation. This can be useful for
+ignoring temporary files created by some editors.
Note: Only the .gitignore from the book root directory is used. Global
+$HOME/.gitignore or .gitignore files in parent directories are not used.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+When writing a book, you sometimes need to automate some tests. For example, +The Rust Programming Book uses a lot +of code examples that could get outdated. Therefore it is very important for +them to be able to automatically test these code examples.
+mdBook supports a test command that will run all available tests in a book. At
+the moment, only Rust tests are supported.
rustdoc doesn’t test code blocks which contain the ignore attribute:
```rust,ignore
+fn main() {}
+```
+
+rustdoc also doesn’t test code blocks which specify a language other than Rust:
+```markdown
+**Foo**: _bar_
+```
+
+rustdoc does test code blocks which have no language specified:
+```
+This is going to cause an error!
+```
+
+The test command can take a directory as an argument to use as the book’s root
+instead of the current working directory.
mdbook test path/to/book
+
+--library-pathThe --library-path (-L) option allows you to add directories to the library
+search path used by rustdoc when it builds and tests the examples. Multiple
+directories can be specified with multiple options (-L foo -L bar) or with a
+comma-delimited list (-L foo,bar). The path should point to the Cargo
+build cache deps directory that
+contains the build output of your project. For example, if your Rust project’s book is in a directory
+named my-book, the following command would include the crate’s dependencies when running test:
mdbook test my-book -L target/debug/deps/
+
+See the rustdoc command-line documentation
+for more information.
--chapterThe --chapter (-c) option allows you to test a specific chapter of the
+book using the chapter name or the relative path to the chapter.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+The watch command is useful when you want your book to be rendered on every
+file change. You could repeatedly issue mdbook build every time a file is
+changed. But using mdbook watch once will watch your files and will trigger a
+build automatically whenever you modify a file; this includes re-creating
+deleted files still mentioned in SUMMARY.md!
The watch command can take a directory as an argument to use as the book’s
+root instead of the current working directory.
mdbook watch path/to/book
+
+--openWhen you use the --open (-o) option, mdbook will open the rendered book in
+your default web browser.
--dest-dirThe --dest-dir (-d) option allows you to change the output directory for the
+book. Relative paths are interpreted relative to the current directory. If
+not specified it will default to the value of the build.build-dir key in
+book.toml, or to ./book.
--watcherThere are different backends used to determine when a file has changed.
+poll (default) — Checks for file modifications by scanning the filesystem every second.native — Uses the native operating system facilities to receive notifications when files change.
+This can have less constant overhead, but may not be as reliable as the poll based watcher. See these issues for more information: #383 #1441 #1707 #2035 #2102The watch command will not automatically trigger a build for files listed in
+the .gitignore file in the book root directory. The .gitignore file may
+contain file patterns described in the gitignore
+documentation. This can be useful for
+ignoring temporary files created by some editors.
Note: Only .gitignore from book root directory is used. Global
+$HOME/.gitignore or .gitignore files in parent directories are not used.
Press ← or → to navigate between chapters
+Press S or / to search in the book
+Press ? to show this help
+Press Esc to hide this help
+mdbook in continuous integrationThere are a variety of services such as GitHub Actions or GitLab CI/CD which can be used to test and deploy your book automatically.
+The following provides some general guidelines on how to configure your service to run mdBook. +Specific recipes can be found at the Automated Deployment wiki page.
+There are several different strategies for installing mdBook. +The particular method depends on your needs and preferences.
+Perhaps the easiest method is to use the pre-compiled binaries found on the GitHub Releases page.
+A simple approach would be to use the popular curl CLI tool to download the executable:
mkdir bin
+curl -sSL https://github.com/rust-lang/mdBook/releases/download/0.5.2/mdbook-0.5.2-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=bin
+bin/mdbook build
+
+Some considerations for this approach:
+Building from source will require having Rust installed. +Some services have Rust pre-installed, but if your service does not, you will need to add a step to install it.
+After Rust is installed, cargo install can be used to build and install mdBook.
+We recommend using a SemVer version specifier so that you get the latest non-breaking version of mdBook.
+For example:
cargo install mdbook --no-default-features --features search --vers "^0.4" --locked
+
+This includes several recommended options:
+--no-default-features — Disables features like the HTTP server used by mdbook serve that is likely not needed on CI.
+This will speed up the build time significantly.--features search — Disabling default features means you should then manually enable features that you want, such as the built-in search capability.--vers "^0.4" — This will install the most recent version of the 0.4 series.
+However, versions after like 0.5.0 won’t be installed, as they may break your build.
+Cargo will automatically upgrade mdBook if you have an older version already installed.--locked — This will use the dependencies that were used when mdBook was released.
+Without --locked, it will use the latest version of all dependencies, which may include some fixes since the last release, but may also (rarely) cause build problems.You will likely want to investigate caching options, as building mdBook can be somewhat slow.
+You may want to run tests using mdbook test every time you push a change or create a pull request.
+This can be used to validate Rust code examples in the book.
This will require having Rust installed. +Some services have Rust pre-installed, but if your service does not, you will need to add a step to install it.
+Other than making sure the appropriate version of Rust is installed, there’s not much more than just running mdbook test from the book directory.
You may also want to consider running other kinds of tests, like mdbook-linkcheck which will check for broken links. +Or if you have your own style checks, spell checker, or any other tests it might be good to run them in CI.
+You may want to automatically deploy your book. +Some may want to do this every time a change is pushed, and others may want to only deploy when a specific release is tagged.
+You’ll also need to understand the specifics on how to push a change to your web service. +For example, GitHub Pages just requires committing the output onto a specific git branch. +Other services may require using something like SSH to connect to a remote server.
+The basic outline is that you need to run mdbook build to generate the output, and then transfer the files (which are in the book directory) to the correct location.
You may then want to consider if you need to invalidate any caches on your web service.
+See the Automated Deployment wiki page for examples of various different services.
+mdBook automatically generates a 404 page to be used for broken links.
+The default output is a file named 404.html at the root of the book.
+Some services like GitHub Pages will automatically use this page for broken links.
+For other services, you may want to consider configuring the web server to use this page as it will provide the reader navigation to get back to the book.
If your book is not deployed at the root of the domain, then you should set the output.html.site-url setting so that the 404 page works correctly.
+It needs to know where the book is deployed in order to load the static files (like CSS) correctly.
+For example, this guide is deployed at https://rust-lang.github.io/mdBook/, and the site-url setting is configured like this:
# book.toml
+[output.html]
+site-url = "/mdBook/"
+
+You can customize the look of the 404 page by creating a file named src/404.md in your book.
+If you want to use a different filename, you can set output.html.input-404 to a different filename.
^mT&;v-*W#(x z-c4x23zgd^)`AE}lH}(uS|;!)9oKu(VJvy5+iI=m4;#juwwYH`YjzcVBs$$xA10z{y@6Kl86p_m*8kBhNqam&f=36^8dj+ARQYpWvJvTX|g z6o*}_2y=Dr5qcHHpAjp@1eJ}kWJrV&674HNfzCflqP!Gqm`kE|ELr1UFHE)F`9|Ss zx2IBLY|M1uvna)hF~d3Y4C8=FTFAb_=$R*!c~eBm+a6 pSE2tVx&hb #-g2Iss`rIP9_fcL1t-Z ze6D|FAb+TAsvDKg@}y{4addJZvYIdHzQ+YmAmLFHfwa~I)|0&tqQdDUC|||%0(39F zfrg&C3I-_NCGCKWw-j==dqor;ka|kgY1|V 8>5>2cM1fF{-sOt5W z{Eh1on(hz1l~!@<9-@1gIz2oHJN>S_ZI)7f?TYFm^wG|E2GjS5!Z{C)$Sle>#18MQ z+_t%oPijKw)uHoTsN1XbG#jln9|uWn(rFrn_Y9VzSPR~7BfE`dQj5*MsiH_Wm%(IU zL%FUDj8?#}%!4pOzck@IR)0I2y=`d!Akki`Y{Rph{`Z<$Q9l5D` &wNj=2dK%*$L&54NIbgN=U^o3BtI_6evC!BD z?bbZ-D}OVqX8fpVwk1DYyRv0t@1{Af5eQLy5|}z(aIFfuA8}m&bDBj`;>jIw1FqaG z^KI)+KtMzFp~vf+&cac7Pye)I2EhJD{x8BevfmnOP;fIv^3W@0B >%Qqf4GR*Ih%BOR=&zaPoU8z6w_x9PvK;)>#KEj~a~X4Dv!a{ee` zV0)d>M46CLep<5_RqAb4Qhc(b@g11dkpj`sArRP;h5S3=yfoYm2#;J-7(-RiP#?O4 zbg%gIx9 ;@IzmAoe*-9Tp&Fr)}HjzNjX#jdsuOIPsjm zo0I99MoF-G!yPA%Jck#tBV ;caGv1YQib1!l)c=`76%XAmV4l_hp&&KyG z+kU33`F{q&hQZUx)ra{H*aH|uHy1nKoa9DgfupniH??CgW;L(#*9<0TG1B*X;g!R{ zFkH^9eJxU(@~Oz&r^j1cRBemNAPBJXB=4dpWHW#Z*}-dm^GW{Tp}so&?J2uPv)Zy- zUU4V=bP|T3Ri0f|H%gWtGoE=~eV8}1{yQ`|UC0BiQ>(J>Gl15KrR#X{`anyV8~dJX zC92B+V0Bj%N%1ue!<7pfA0|@W{pg^<{WUmSHu88rE6 c@lUnP^xxiTf zzi!h%l#Pp{Ck!RIekpB9SokK)OzogpDOA;(==E2}jNw-j##lySot{-1`eA7#Pc?s# zqi3M@C#OxG1*@D~F^q&tY_E(1BRt;fU3#WL8C>z<`Ku#+xLJ84aDSCL0#7bq!jxpW zz)TQM(kjd>4BbL39ZDi|FZMa}2ffP<(RQI(XsNOOK%Ul6gN~2aBeb=)UlE#@TU_S` zaL&ArLdNGRwX!nhY9htiE{^ Mx`p{va8nHj|FEJ;2#sE0-{-66 z7TG`O9aPjU&;AO~ut})k^7^tTpqejGV`xz3fh#)c3iA=g)}|tQuN5Xj3;}t>rK_{% zwr?Jfuk9*m< @9EOq? zC~SHvu*vE3q!9)BVQ1R=;_Gb$R0Du`sizUw%^Hr^rT$~LRgzDi`&$!uY(sm){^0({ zpBD`ekM$vvNi88E2IJXs9~@(({8wec=QErQ%t}i6d|s_XCJ{5;SmMN*LF$N>Fxdj2 z&znWpNwbJ$Zw>vfu5fEMR|sp6DuBGq_%hq2G;=Yj!|p#isk8WbuD{;;hBQltyj*FM zr0$< 5k zwWt5ZJ)0rzW4?BpPF4Pv(B4+W-a9z^dR+Hb=8~cZ~q&eZkbYsEQnGId%v2raT11iS>D&<#Db z9dk%6P$rs>A0G{<8&!O=5>`V<`PlAqV;d+0iVpVFBdZdv $xwbB}zcmDY!XN#! z)oU{{s`) @SGxFyyUzIHIF#oF-C zdVsun511^=T35BSjB%R VCO)R#LTF#{keUnxsJBknytTSZ_HgCS#!#}cFUoNZn(BGm5(Vf`; zn!+nt)Gd^b{er3mjVMY&Qn|?&difi0fdIfUIQC$&qYI2ZqBYi@7p*79kpYtPU`P~B z`r7e!bdsPQGM )sI(m8po`hcrz zlRf$`Q@+iO2-l!suX2WAw1p}Q5Gg$&uj139v*-bjdgqdhTfzWDI#QWlLsT<(`@$x{ zrq25LV=RQuVUe=1xyOg$4y(^jkfr~dpQ=B86}$vKBhPPo;dYUizZtlKBT}DhJqvl5 z*wd* uB=jIstOa1AN5G`x=JftS#ctecT_jpSA!nF{`!bL7B zr7;#NX8gSM&>Zr)hSeg3HAf!6p&eUTSXiFB#^NfZxClok&YLkTsW3RqM=;_EDP^Mn zw&J(8wt#LTOt!oj(X~wlr$x|XVMKSXa(etHtMC^O&3p *~E1vL&U3WiZNjbxB zPRi5++1NZ6OC7~7d5P@WWxsrV7d3U`(#+}c>hrXlw8?VFLCJo70{9YyYBIY7$=e4n z_FTPA74839$pPh*_!lO@h^YmMhrLW(-co+j%%Umn^vlz|BFd@o!JEUfej6D`tYh88 z!xOp88&kL_omR|hhQy%VV570%z31uE7nsb&= 9lx0f~QVs}&QZli(7C+4WInF(c~1G?Ay}@=Js6#Ta&S*M8tzG+=nyvS4C!u0HG7 zKX=aXY38nuJz&^FN?mu3@F1#E%R_S9N%lmfUjlL$z@X6N1%x{Wxw=n$=IRLiRFDx) zC-B0x)S*v13dEu{-17fX(EmoH?UHAPVV9_q-f;^!OLHAu5MU}DO#@UF!Y1N>0Q+#1 A;{X5v literal 0 HcmV?d00001 diff --git a/favicon-de23e50b.svg b/favicon-de23e50b.svg new file mode 100644 index 00000000..90e0ea58 --- /dev/null +++ b/favicon-de23e50b.svg @@ -0,0 +1,22 @@ + + diff --git a/fonts/OPEN-SANS-LICENSE.txt b/fonts/OPEN-SANS-LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/fonts/OPEN-SANS-LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/fonts/SOURCE-CODE-PRO-LICENSE.txt b/fonts/SOURCE-CODE-PRO-LICENSE.txt new file mode 100644 index 00000000..366206f5 --- /dev/null +++ b/fonts/SOURCE-CODE-PRO-LICENSE.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/fonts/fonts-9644e21d.css b/fonts/fonts-9644e21d.css new file mode 100644 index 00000000..ce32fdc8 --- /dev/null +++ b/fonts/fonts-9644e21d.css @@ -0,0 +1,100 @@ +/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */ +/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */ + +/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), + url('../fonts/open-sans-v17-all-charsets-300-7736aa35.woff2') format('woff2'); +} + +/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), + url('../fonts/open-sans-v17-all-charsets-300italic-2c7b95c0.woff2') format('woff2'); +} + +/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans Regular'), local('OpenSans-Regular'), + url('../fonts/open-sans-v17-all-charsets-regular-2e3b1d34.woff2') format('woff2'); +} + +/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), + url('../fonts/open-sans-v17-all-charsets-italic-6c9463f7.woff2') format('woff2'); +} + +/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), + url('../fonts/open-sans-v17-all-charsets-600-486c6759.woff2') format('woff2'); +} + +/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), + url('../fonts/open-sans-v17-all-charsets-600italic-1a3e8659.woff2') format('woff2'); +} + +/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), + url('../fonts/open-sans-v17-all-charsets-700-c22fe8c7.woff2') format('woff2'); +} + +/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), + url('../fonts/open-sans-v17-all-charsets-700italic-238ae959.woff2') format('woff2'); +} + +/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), + url('../fonts/open-sans-v17-all-charsets-800-3d2c812a.woff2') format('woff2'); +} + +/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), + url('../fonts/open-sans-v17-all-charsets-800italic-ba1521ec.woff2') format('woff2'); +} + +/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */ +@font-face { + font-family: 'Source Code Pro'; + font-style: normal; + font-weight: 500; + src: url('../fonts/source-code-pro-v11-all-charsets-500-2bdd9410.woff2') format('woff2'); +} diff --git a/fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 b/fonts/open-sans-v17-all-charsets-300-7736aa35.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9f51be370fa913ce6de2922b580c262c4822b337 GIT binary patch literal 44352 zcmV(;K-<4}Pew8T0RR910Ifg(5dZ)H0f7hr0Ib{q0RR9100000000000000000000 z0000QE*lUWfmQ}!0EY+&fhq})G!YOAg!yQMtSAeP3IG8%0we>R0t6rhgFFYi4Ge-h zTM$x_K;*{m=TyO<(oF`$dr#+gT@uRz<@OP72f1way{Ld4djxa`IG0*=K;{4c|Nq>i zF~-^s+Z{rPn$}0zLzV=G*ddk#MfRZCOSo7Svxg)@O1QTM(GtC{-8am>TkfXJ&}5JO zXokZnNWAaG&x#r1r&DFc3k@sfl$|@RDaX?kWW{EN@TZnHp}gCDd}u9PW@H>gZ142z+QEhtr+J1|>KAj6Y2`)3tZkBe+ebjmTS6=W*;+$iHPBB3Un)Qo?6q*dE(P3T9y565vHowfyevYxI9K2P(y z$<_L{@8?J5hBF;TxvX%vUMY{MW;AQOFw;MRE?UNs>(i)Pw#F30SO&%}gA&nV#5ynh z%lr4w|41^EwI78NR7X_&MdMPeXq|gj4oJ6}tzd{4Fvwwq1Zjy_sfS1l0YYgJLOuSa zG~qZt#{MG5VL1;uY?c0qywYwhjn*_`$CiZFZCFDFz-?kG;zz}gkK?(Z;(4Ip0|Y@p zL`0q-DhfWlFW)O~_Uv1l(z*7n% =kiif-51?{(S1>dTz;-%RXz{zW _NG4PO WVdSfQ{H?gb&VPWmSuI@as@lXQ zCML+EVq_sv+K31qR)E!rHdbOZcI*#x`rpX1-FQZd 2?w2J5+HD^d^xN_9WLUu;R1_>$Sl2l1j{i_PqRoxBKXmEfAv5RRCG~gHz zoRPqp)jl)`>4DtY_ee=+oD0vBlrtv1+}R|)Aj>WYFNl--dsEGJL13vB!x?g#{6y z9i?&6NV4dZI**Gcb$Rjj?>=A&fDlOONKn#&pyZ<<^Gt#Y5O9+B{||V8CFK!GIY^G7 ziird-fZ=XPfYkAzOvx!^1&5rvR8_9Zlqy%TZCti4x_G(NsHD}UoUD}Q&&1ywU=hnR zK_eK;d!w1V-89?ZEBgl|7bFMOFTBI&;bU#pwZ9KM5d*ckoOlTrnn@#e=0bxf_LKF$ zd-0Mi4MXYT*CGx?Tq%ZXXdY`yIWWVJf|?K(5DNrL%GP_mZs@nw-vBb}Rw0W;wB!)N z5TjzUSNZXIA7943^nXK*r#Dw9|Mtf&ksu-=h_`Yp9V;Dkh;8<4psUZVb-$?#qp%T! ziAdB1b$5t5hjOzR8iD$*)2$e71R6>Zt8%DEY$Sg2KWN&b4Cqr8h>8`6#((@ 8#L}XktLaTS zryU~vMx03nNxOB%uQY)H>VL7pz)zP2nhY%8WH@)-0RsdY-07d0c5ee-ah{%=QSM%u z*8s o2)#K3GU!m!|?O$6+?&yD~(Fj>ZOxK05BApxGi zJr7YET6WG{j1 #TYt(MkW%SPIA4dOUU&zsN+<{}nS 6r*LQrr)v8tl?2R`* z6w<>( odO>Dg>%+<`=H~%Re+D2bI267Gb@WPo}vT*tKEȮck{9tEK*~BMoW% zH1u#!Fgnv{uTh~ Qj7=wBs zEV{oNz3jaM^fjm3f5p0ts}vL5&Hz2z`{vHMV{Y#7-q@n{XJgw;zp&JQG^?7_9F3|5 zb%A^H(zJleM37Kj^<5Rd-kNVveVMOa|7TD*sLAge+zbX~|NLN5zpCGgeo($uzEQqZ z_9`DLyOmwaX5}sVK+kAj84r{uR*J9v{)%bEgkn%}9d-mLYyw|;5&3g@gZ$38VhSK! z91j9#SN8o}-9Aj&E9v&zM3V hC5uz|tJyNKbG|LC_~4)y^U{G4SDak_&pA0eTVu z6_eTTLGRuF#<9LN^II`5^`!oVKDX`#bi9rj!Vt-hn}{NUe E(;(&z>F+PaZ#d_+WqkW_RyuJ*<|CwyCSK;CU7}Cc#Ffw>oIl zs^53W3J?t_hMIZBhO2(rN~Tq3m$?n+9&|-mEn~UAf5^ub3EssDPjy37EM!6ZHZp@m zNCrI-Ph2^!1CkVodtev1twq1^)3hf`9uNh_*BuuvO#q ~x zo3i&bCN&_SF$YDaBdznXwfezT+!n4u3btLsIYX@@ay@atqR6=)=k;Ella!UZXMGwf zN*n4pGr(t?9>{71QY`4|b%Dy ~#ad zHcpe-Y@VZsd^gwabqyO2`rp(oNU^k7MLZ$IR@s7NL5) 6KPfYTpi98%UgInDEW|x<)35StzjSF@3~6#5ED`klNtH9po~lK1bVv zV%1l-ys(6zR|}y15?Q4|9H8RZE;_Vj%4z$JTi-31_tUXO$;J4jec%(Iu=?}K7-NlL zpup*nGf*+dIQ9VRV8n`Uj4G4|bxxmXRv}7e-KnJjfmz44o+MeKj<( T0~ zBcE5bcE4GO8pxhU<%_j_OCo>XCs3%QnpuHMEuFv-;q%-y#a>+exG0 zh*26N@<3s`E)SH%r?F=ef__@I>lpByPhE^w*p$#YGK0aOcZP;ZJpnVSwo`j#CnwFw zd?)P0?E)G(r*aG|9GE7|v8+Jdk`;*>m8Hr_{5FaxcOU7+34$DRJ??r6)njjjA-#?# z-UKAn0&UPi4|5{rCfe6QY8(Vglu9viflq~oP!FB7`xNmfZ>66}2d`c+t(uE>m&DKl zVFo_AI*6|6wveNanfs8ehR8Dkls`fQtkBgpk;N3+NIE+6+ WFM81qg<7Z#~S?THA& g zkXj9bvPS?TMFtRVHICx*MYb`(U{63GYD8itVkDD3>6duG_XUJ^h)=EtKp@8CtwrN8 z2{ybAz=5EC1WYyq)31l1ND%z2QqiANz_f;Hl8!o{b <<$*<&}4L(b7x4Oc`D<+QiOC z@>BDwckq2I)!Rr;|1Ny0Qz9W+>0)*;(B(kh-@qgUxc25`Yk?d562!!qh)? K+0TcIW-Og6iUno+oZG88gzfgX}aM)Lh*O<2)vr=ybX$BL2YXHcy% zj*hvL5F-K8qqR5~jQOxg9>^llzb~%aKxSE_;FDXCX`>L(_TnyZ+#kb{7&Ds- `+|z)O!jY0I_UWTmX p3;!wDC^iTXzyT7<4Nw3GKghd(e|=9)u2-BmkM1< zY3IEH Mhs3sqJSRMgbWsnATY-KcBDs4YuisFSCrjexZ`n1fn} z9JArWjM>b`$o;5gle+H`5SXn-Q=4K^f<}35p6cyE8Fa+%UR?5p6Qt1?9Jrltzjo#- z)^<462JcPHCR7 }Ic_0jM>zR#Zy1EoUT)?O+@0hUW?i3B (6&Z&!DzN*CH zJt?}VScA$mXRo|`tXT=2sev0;##!-$G1l@0g1&-rv`BtVXYG32o$GTYqFEK!cy63Y zs*h)o$tj4TM#VFLZeo{bQ#Bf|q4~g$-zUaY$C)xru-p`IX^fdmp!hD)gy^hT_pl6k zwrs-6U95auKw)=msV-n%}c%{|;V&KnIs)vm-gWAA`#1{7Nc&9M}2 zm4q&@ckt9B IxD3K4A zp#)&N0ddXFd!(sF8T7;)0aY$(5cHmA@Fp?sCJsD#EBxGBRL{?NwVMuP)K;i_s~t-H<(q=wQ?$FrmCm)_9bxXW_mko;)+|#pMUnVmKu<5mys)9)Y}3UwdK;b33ne zr>4Kg$$Ob~pG2(JD1JU2=#1ce~j^*%71Oot)8H0cHt%=-|TS(P4+_qUdt} z j^-@cS|MOwqAb z^W*p0XHI68OeM%iZ^A!M(~P24R;P&TA-ws9e(#N2t9NE(>}#f!eCxGwnXfnYU-oB- z*mK>#tL>>}^mCnDd*}#ncqqtohQ{4&AA#O0cHX?X^``C3x9n`c_4NTTli1qfd|pm% zY^sR^Hm>qL W08JHZK0x>P`zRb4bJ|LH7Ug zxcd%1qFxoiZFnV=q!_NUYvVZ&ehZn{JFpkZ!*nn{Ethn}zm9IgkbN!GaTj_@Xb+Y= zI3Vc_`1PovIgqsuk{!Dgy1-vuH3nAn(B;JwP_3L8uQ{#zhh^Anr^t19V|tMDXv%#~ zY{Rwwr{PVASo(jZUP|y|& 4;@!$eC5Wvx|hlt_B<$HmXDNh7neM0Ic z&!PPAN(77yI-)x#olk|kBu3Xn1lq~fD-rA>pm$Ob+~xpNfwQ*vyYD2 A2oTP zA&yY4x+s$>q`W}>$ldrOO}!$XdFRi>&=wk8z#G(e?_kB~*)5F|7S8LGLH+U ucQb zqwMN%zJ0Tp=`=jC4DOrf;L}a_I&xC?_*tjLpK?#*>?5xvLQ2^=>YYgCjNP36S0UXy z$`SYhh6`DdVk_?MEHe@z;H)0T8uNVLii~?3L*Etw%`XIm-;QGk1K6$C&qX{%anO{3 zK`Y28K|LdXMUyZt*YyCbpzEx$H3sFHikaVURwe9N-;|Y}8wcGSs@|LRMOg=FJT7M| z@(xTCGu_fSJf&XKe_)<}_(ioeq}` !i1fyi)&6?mA*W5?SL!^$$&^Uv*I4 z5t{YlLLuOFtOSuEIjFH1Fi&RG!Fr>6%Knh6X(WC;wi$u8qv2l+q5!_`(+C*H(d@+n zu%nKC9~m;#wRw7LKXm;SyyBB3=4p!8j!!p2kFp9>|C~gxb-#-kU0IG;$vQZOD7q2$ z|L8N6iw;UU{SWkvFi=Oo&FC6k^~fF3m8*EoMehpobOCNp7!zG$hx~#>$1@8Nc5Csu zO0Vlpdx%PKAzVXZ)y77pO?oP$`CCgS2jyb-J6-f{TLD#au>*sM^LSib8# cCy-2Bdh6CYk8iWbv-}Y#o_9{ zZR^O;^K8QV9)q_pH=T{mZKTwsP|iHoZgovzs-zU}mKUhKxI8Ju(T8(c*Rzc?xb0&Q zW+*!g<}{A@cPyxzCYan|Ow`?X(F@zd!}=xoEnNN_$T!U4M`PbGwQ#|XF<{zV?sh ?22_+&fym3(0LFiy5 zIaNO{FkUDjo5;j()L_zp{Lt{n>{v}+t#HAW%!Rm>mqdZ_msb|1Lw%S`m06hY&{?=b z@s)sbztJ-W^wZn|Sn!LsEkd|?{U=)Mo$1kMl&H!0^&H)}5PFqp$0rPo7D}}}!)2-F z3Rg`C;2vlN5EvbNwfW;51tE6oaQHr~#Gl87NM8+-k^YR7=A)YrhVsVO;zP+NZ7B!g z G2AwpUcY2B1e^tVZmF!(9{6oLSJ%4i~ZoUo`4|-=WMPrJ>_QZg?803S}k3!`nh9`eG zmVVMNRSvnsCMX%sw{E6MI^<&5k7q%pgCXr%#hbf(Jd?2d;86ljz-IGtJRf`uE|V7} zUx$Y$e`+tKI3c6d##|lX?T`{fatVcLeduw#dleQ&WduyWKgHjDA;w8QGIW|r>|7tP z5@9A_AHKBAdyj?OKyd|U`m-$ld}Y+C^~vS0e@CST1QyysF_r`bEJ%>k78(|XhFoaK zP?Cp|#)Yn@tjXrbC`p*CLRR${GGrJmFLCo}(AxJh_0zlFAo`p}0FU~z$Jt){4sne1 zX8>p8JYx!sNd}l78q0SSG67V#itGbFW^Z|qIG_B -1`cYY;2Rxvl6f#Tr}R0NRF%c=I$e~8JY62rCrHnUG;n9`q;^Ep{8Zv9?u)3 zGOe%_UP|xG-C)uGIS%q>5fqH$`o_%m9PdP4@)mT_!`(o1Q`a*2_{`5}!a<2Ca;jq+ zRXP}UQVoai**$-yRBIUr9TxlV*I~En>&HvD5=pFxuP8Ms_Jgs_eUWwciga^Xta!5R zw6|XUuH=F@;`Cxvu2!f8;wuB(ehU&v??EGYSX#0e;ODcqWP%~ zQJK**y!2oE{`CqFg<48G;!ieNeK^XbIDW{5 m}TSnsV-`TT>b sJl8oAF?()RO8ogfzkiQkM*NbTaT(Y*vD1aQi z(ss~xLxxO#la=9AdmuJW5)?A!?v9A44(JpM${Y q2fL#|K(Fo0zo~ODPE+v>9o)sHqj@NBXAI zHm@|E_)&C$ct=qNx*LIUQ19JjNlx=F9v2t}d>18tuakRc&X&Pz?tCvU{Q5R&E@S#&b&`iVDXFpO-yc|aZ-NsX`AUhbR57R9r_On)?rhT*q z#ZogsVof;Dvn`w_IcCodY7_fzKun41$C6X)Ga?!a4{mEKc5kWXCY>6d7sD;5B1ZKo zJ}?=2A;rpJa~MqVcaPd4f~4CUkYkqlG{Z7rQiImY_QJ^W`OYg3=jx~I2S@KRjs`XR zTEV<#i$`@xon R-r1pe>U^b;Wu+?x8+z|RRhw0^pmkXxMIqID=?xyllzF0ZQh^h zoQ}_a7pt_?bUGJ~wTc!wZA C5r5Z*0B8Xzsjy20QDG-# zq-T>lg62oPG@+deTVE5u(?DmXCAF!TU?Blb&a<~ faR=ab<(QlJXkxY2VCVr`= z9RC?rEXT*MK04v~c}BBMG(7%QhLL_=Z}1a${v|0HqDq&SimqCYq``l+mbL!D;}z5l zrmGQwPgf~x%#zk8p2^Tgeby_}JN<{0M&^ziCE1l$?5trx+tqlwl(E1(vI~pu-J%-R zw2v|sdH{8iQl3WMUhOT&v8JMBQ+=XM*VnmLb9Fo*G1w_erKK-R?afNUHSRd6KzEac ziFBcmp6CXSRy!JpW6eT0n?qQ^1gXP^iesMRB%jM{oNQ>YrFzWzbxRCnUQA_QlqX+g z!7n Lg8cr|vzsmAkd&_G~h_uKUY%{UzbUdAsMJE`wP30J$zw$YjxyPY^AMvH<@FD%? zvz1yYUG%*k^5qYWRW>zuAQH*5=K-J+aX=BZ>lj_6flj41=4FjD%KOrJ<%L=Kbp^Ei zO%*~z=?*WFQmy*ts0~5`Yx?qf_e5~7Jw)jYUnIp_q`o!b<$e#!vg)0R;9YYmh9LU; z4Ip)`cfTg>iaA|&xU3@P@1$I3)4Fa0=YCto&l&p6A*DliIhbUS^ZVJKAmP18vZ>=U zlhog$M|AV83Dx_{pp`pP4Kr6~!nD=U$WKqQr>#D`m~$ TV=gt|Q? z*m-|1*6eUtUOXy_5%ZB=e)Um_Vl1ubS5ZvSU-(rFVCm;yk;UGI*EMY =vlbXQ*#6wQkQEt+;I8C0xZFT z9cLr`W*P@hG9(Gki{y(h1-zkU^ub#p(c2%TbB(15>_Q51Dn;5)$rE1R?LeU*cd|nH zGx5laat}nt((#dEhGqLcs{9$s$O-@K-RDpFGqvSDOm3>|1gU fYZcw?qPT>63}_u8{TUjOEz_P@JAZQ+lF<0snl(^A d65Vcq5GJjG)SW`W>i8mMc?a;2AhpYGTzF zLb$y^V3hBU>W}ouEaBbfS*J!)a NC^#R{Kg&p30?lV2}Giq7TCGS%G)>$%! zQEc)D4mPL+ebN$L)67I%JSmCLK3VWBUF(u|9!zeN?vM~>@P+C*@!z%M9>cqX&jF{b zckB+UJJL7TK*o7Q-8haSlUsdS?zO4dgG8_WG`}x-i$l|WgWXchj}ATMbo)N=7j$Gi z*{vLQ^j2pA*fn(v)tOFTSJaji^8iV;!E)re!jOnCj3EG_pYmNlH~ J0@N@(h|*!Q5^kn-?y~y$4BxkI{miUm$uLX& zApt2q#&@8@%ws@0<#lnwcGdXx3?R_DhLfD6j6(f#5DY_z_$swSnu7FSZJm`JizL7t z3 woQ^N{vXpP4y&O4 z=uke&>!G%9Sor*^I5)A0(YtIDac<@A&ze8qkW(kE<24*ihJyVoDsBB~%LQv*=?aRh zr9NsOaxSUJO13<94WP$Yhm9 @4DQO09uAR=MSYpQ1^6pR=ZvLn_IpC!I}-v3 zJ?P?P{XrzpktVm5hIlE4NE_+fg7=2(%cZpYlcj(ZKjPc*A0ZQw>X}^=miGV4mi@jW zow+TT?ra&KXe_!D^+lZr!>BnhbG6)3b8X{OsKSgGGUm=a3kYFCGF@8D*v71oRa1r; z%NnW925U~ezQBhtz!a%va{|P8yGm)A^uzb6dA32U>sC`OPbq;?bZ}2@qSf1f@1C$} zRdy@o7mmHLAFw&^m}_59i;;QR_ieQEBz`B`HtM1I$H|zTddi>_{C)uWt%^qkloQcG z=L-eHsHHHZ8tVIesD>x?7e|L=l$}{O0eZe$&+4$H)taS?|EivdPB%w2JdjPN96fs6 zq;m_gP?lsxwAu%vW$tGcPfW*>XkrI{;13AlNaa|27+o2`oJl%(I3u6i)-5}Ar7F|p zl+JTn)Akxkg@Wb^VLX3%6=M9!>~-O>bWF0Y?e+)&$rLrSHRCrhbixHwsU<0AclPb+ z% NYY|qY@Zw_~oV>l@4p=1OZDJ;iU>3INkPyKU z0aCZQss}I<0Y~(=c >eGKKZMOoSwrtnWR&FblRU7rQ73 1;^SjAxIF0A g|U`QzkW>J7PE^YnD{?DgN34 h zmuXi5i%xwHYunu;O#gD}K|w~_Uk-)K_N&Bbs7p%EN=>+oor-0)4sAJ+Hx6ZQ^@k zYHfR0q8fTVqO!Ns)LY|>Q|JwOn=so#>KRd431!zi@-nEBh?Fgn8yhKV6lO`r!H8b} zMn+V&{~bIp+Bh-RlGoi5!7QPFobW_{@zcPvu!ky>RiWSu*t40jSLAR6VTsAWcndl% zJ>OwNz)Gy11$NlVfUeE%N~@=m$ @QD!9A0B$i0byN}cC*;`uZ(G4C5}B*o&+ z4XNjMghVMWz7P#6)yNizcpg%1&PJ_rSthzJxmo}L@y*y(<$(^DthsR4nbOq|0n(MWuuc|Uk$M<_?DU86)S4NQ2AE($B-Wy>qWvu(s4 zmBGBAtgt8izZ5R pERoP zdTXE5=qo*Ob#+o%vsqss@PR8295c8sN*~!Sw8djff{z=2jUk7WO*f0&7TtEcex9G3 z9w`lDjz+e2py(-2M(EV=Pq$BMWVW^^qi|;2!69Sr#*Sn(Rzo(}r;&S> Bc3oQLMxYC>%3^hJ7887)K8=(NQM3!61akqD>8 zUtAWvx^i{RypqJN$w;Pmf}B=#wIMA%<{OO4acZ(oXzEla1^5zF;nnVEuw5<41IP53 zZp>_Y^D41Qd(4iBNS{j>+?I$)4MgLrBCEVE$91*nDIy~h`eF}8&|H(1xCktDbNm)` zqJ=Oo(Og^Z{mK!?V&SkAOx`aw`ydFRbD}7zAUKn(qI73xcxIirI^NyP-@K{H_CwGG zo`F5GE0>{Z3s-BPmlvQ{FP3YhE!}K_-Z-bhy*QKc)Mt8z_4Ls6vze)+C%#AKGM*or zenoNA^s ^BojJ3O^*Z;k&v8&a*Qhs%zu85Lt(#-4iD#KinzFBtpe@R zut1u @_ek5Ff2M(PxB1Yx#8X4 (lQ*IeL?uB )Zh8&i zKK`m-G{g0-+KeZ4!|`wh(%4TMYQM*)kJUcn-v8tTY+?qsvIlvCWUfmES?eEBZ?Jh& zL|AA@Sa@jI!-onUEDH_1N*(l=@!hxsQxzYQQg!0875F=6ueUg6Z;B1g-F%v7o)y}< z_o>*hLAD55l7wFl4;se$>osI7XfI7-w$K8?f7U~n){tI6fcy)f>jrbJwpQ~*Y)G7o z=Tdwm&QnI@2tBj#qX(0sb;c3zvvJ5tpXmIOoUEjTQaQ1Tm9Aoi;Y9Jl@j*C#NLrhy zp@$ymaayE4z$+{+svt^^>-kqN;Sj_n torknrB{h;#Mc{e$WxF2k z$>9#~bGUxti2UTk{N}CvV;dV8+(locjYkq9&{)Ikw~vjY$e(+d;ff&7#9o4!^t9!9 z(n875V0e(>%ieMzDW6@_P*B86V;8IiE -5Cqa$vS?wt#!u&YNZ#VFdz12C0B`VvP5RKACGOGZ>zZ^sYE(UA59Gr{ z;av-T%@n7_cK1fy-ym8z77>P?eg|&Bjq#fgF#uw4cyS8s13)(lhINdtSeWNlNBX<= zMy%v7o@__JN75oOI<+f3mD}!1$ppXUb-88oG7Gvwa7J>R$)_j30<9@Qp;k0r%2UYb zWB<2xA=MW*M&QA?P1Tt9t#S(|;C(%QXbiQCvjVhR7^pbcRQBqyB7d{$wfEutJ941u zcw=61Y`ejv4~{r*Eld|4mmZg-OTq)N`^UN-?D>Go9(6E=g>kA(R`F2V(q}#NdR%%v z3$cN+n8Ybsgfk%_6x;*k);@leTV3@BwBeLFdw|hv!MV&};72%an0{tC-azy&gy#cF zVtXql8yZ`X(KO1qz_!*J>0qE#g`5PFs6!8q3;d(&X*4O`4A!r PY~6OyWTswHBSX<3SwV=`r8Jm?-)h#e31 z^ghuSvbaPxTO46VtVFvnj#@}LALn4=?PcbGGxKF0>WLtjhba4dAUSURwp3y2#@Im4 z9DeCIqb@wUoq)LWZ#%~;lwiV&*UgnxF;G-=kL^#p)!}hqI@!2DR_Y8!tUm=Q89Q1e znilMHVra&XeQ>AJlMYG@d|()_GBF{itobE}SUJ9^ByM- -_N=P%&>}4p1}eq4c5fLvWH~|HUbl$mo-3MB_;tTLM2Dkp~so#k=d_eZKR) z&<00gqhX96ylGz4t9Fr?Y@w}RjaJBT24uTVHvIyxc}`d()nv;?ShUx`HRP;^nWy#7 zsn$KlfeS~JiL0jb2KzUzT^_}369*690gApFPr{eyuNDNuk0fr7zI}K+AoTeyLl`Kz zXln)2(p^h@@=VaNaBh=iljX Aa7HHUH6?| zKYFgvp15zl{4O;$WO)L5a!(Kp6ZgkdKJ+Ef#D}0~7XM$NNc`-c?lqICy