From 986de6b214b5ceda0a425fb9e794847925ad1822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Tue, 9 Mar 2021 18:45:05 +0100 Subject: [PATCH] chore(v2): prepare v2.0.0.alpha-71 release (#4376) * prepare release * v2.0.0-alpha.71 --- CHANGELOG-2.x.md | 379 ++++++++++ lerna.json | 2 +- packages/docusaurus-1.x/package.json | 2 +- .../docusaurus-cssnano-preset/package.json | 2 +- packages/docusaurus-init-1.x/package.json | 2 +- packages/docusaurus-init/package.json | 2 +- .../templates/bootstrap/package.json | 6 +- .../templates/classic/package.json | 6 +- .../templates/facebook/package.json | 6 +- packages/docusaurus-mdx-loader/package.json | 8 +- packages/docusaurus-migrate/package.json | 2 +- .../package.json | 2 +- .../package.json | 10 +- .../package.json | 12 +- .../package.json | 14 +- .../package.json | 12 +- packages/docusaurus-plugin-debug/package.json | 8 +- .../package.json | 4 +- .../package.json | 4 +- .../package.json | 8 +- packages/docusaurus-plugin-pwa/package.json | 4 +- .../docusaurus-plugin-sitemap/package.json | 8 +- .../docusaurus-preset-bootstrap/package.json | 12 +- .../docusaurus-preset-classic/package.json | 22 +- .../package.json | 2 +- .../docusaurus-theme-bootstrap/package.json | 16 +- .../docusaurus-theme-classic/package.json | 28 +- packages/docusaurus-theme-common/package.json | 14 +- .../package.json | 4 +- .../package.json | 8 +- packages/docusaurus-types/package.json | 2 +- .../docusaurus-utils-validation/package.json | 4 +- packages/docusaurus-utils/package.json | 4 +- packages/docusaurus/package.json | 12 +- packages/lqip-loader/package.json | 2 +- packages/stylelint-copyright/package.json | 2 +- website-1.x/package.json | 4 +- website/package.json | 16 +- .../api/docusaurus.config.js.md | 477 ++++++++++++ .../api/plugins/overview.md | 28 + .../api/plugins/plugin-client-redirects.md | 129 ++++ .../api/plugins/plugin-content-blog.md | 140 ++++ .../api/plugins/plugin-content-docs.md | 215 ++++++ .../api/plugins/plugin-content-pages.md | 89 +++ .../api/plugins/plugin-debug.md | 39 + .../api/plugins/plugin-google-analytics.md | 34 + .../api/plugins/plugin-google-gtag.md | 34 + .../api/plugins/plugin-ideal-image.md | 52 ++ .../api/plugins/plugin-pwa.md | 280 +++++++ .../api/plugins/plugin-sitemap.md | 36 + .../api/themes/overview.md | 32 + .../api/themes/theme-bootstrap.md | 25 + .../api/themes/theme-classic.md | 19 + .../api/themes/theme-configuration.md | 575 +++++++++++++++ .../api/themes/theme-live-codeblock.md | 28 + .../api/themes/theme-search-algolia.md | 19 + .../docusaurus-asset-example-banner.png | Bin 0 -> 69264 bytes .../assets/docusaurus-asset-example-pdf.pdf | Bin 0 -> 125786 bytes .../assets/docusaurus-asset-example.xyz | Bin 0 -> 125786 bytes .../version-2.0.0-alpha.71/blog.md | 222 ++++++ .../version-2.0.0-alpha.71/cli.md | 187 +++++ .../version-2.0.0-alpha.71/configuration.md | 161 ++++ .../version-2.0.0-alpha.71/contributing.md | 190 +++++ .../version-2.0.0-alpha.71/deployment.mdx | 399 ++++++++++ .../design-principles.md | 34 + .../version-2.0.0-alpha.71/docusaurus-core.md | 540 ++++++++++++++ .../guides/creating-pages.md | 122 ++++ .../guides/docs/docs-create-doc.mdx | 79 ++ .../guides/docs/docs-introduction.md | 80 ++ .../guides/docs/docs-markdown-features.mdx | 28 + .../guides/docs/docs-multi-instance.mdx | 212 ++++++ .../guides/docs/sidebar.md | 323 ++++++++ .../guides/docs/versioning.md | 208 ++++++ .../markdown-features-admonitions.mdx | 86 +++ .../markdown-features-assets.mdx | 147 ++++ .../markdown-features-code-blocks.mdx | 443 +++++++++++ .../markdown-features-headings.mdx | 59 ++ .../markdown-features-inline-toc.mdx | 121 +++ .../markdown-features-intro.mdx | 23 + .../markdown-features-plugins.mdx | 78 ++ .../markdown-features-react.mdx | 71 ++ .../markdown-features-tabs.mdx | 228 ++++++ .../i18n/i18n-crowdin.mdx | 527 ++++++++++++++ .../version-2.0.0-alpha.71/i18n/i18n-git.md | 181 +++++ .../i18n/i18n-introduction.md | 147 ++++ .../i18n/i18n-tutorial.md | 345 +++++++++ .../version-2.0.0-alpha.71/installation.md | 157 ++++ .../version-2.0.0-alpha.71/introduction.md | 121 +++ .../version-2.0.0-alpha.71/lifecycle-apis.md | 688 ++++++++++++++++++ .../migration/migration-automated.md | 75 ++ .../migration/migration-manual.md | 613 ++++++++++++++++ .../migration/migration-overview.md | 101 +++ .../migration/migration-translated-sites.md | 13 + .../migration/migration-versioned-sites.md | 176 +++++ .../version-2.0.0-alpha.71/presets.md | 182 +++++ .../version-2.0.0-alpha.71/search.md | 168 +++++ .../version-2.0.0-alpha.71/static-assets.md | 77 ++ .../version-2.0.0-alpha.71/styling-layout.md | 212 ++++++ .../typescript-support.md | 35 + .../version-2.0.0-alpha.71/using-plugins.md | 177 +++++ .../version-2.0.0-alpha.71/using-themes.md | 243 +++++++ .../version-2.0.0-alpha.71-sidebars.json | 316 ++++++++ website/versions.json | 1 + 103 files changed, 11364 insertions(+), 138 deletions(-) create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/docusaurus.config.js.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/overview.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-client-redirects.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-blog.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-docs.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-pages.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-debug.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-analytics.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-gtag.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-ideal-image.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-pwa.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-sitemap.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/overview.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-bootstrap.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-classic.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-configuration.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-live-codeblock.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-search-algolia.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-banner.png create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-pdf.pdf create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example.xyz create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/blog.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/cli.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/configuration.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/contributing.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/deployment.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/design-principles.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/docusaurus-core.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/creating-pages.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-create-doc.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-introduction.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-markdown-features.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-multi-instance.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/sidebar.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/docs/versioning.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-admonitions.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-assets.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-code-blocks.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-headings.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-inline-toc.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-intro.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-plugins.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-react.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-tabs.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/i18n/i18n-crowdin.mdx create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/i18n/i18n-git.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/i18n/i18n-introduction.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/i18n/i18n-tutorial.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/installation.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/introduction.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/lifecycle-apis.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/migration/migration-automated.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/migration/migration-manual.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/migration/migration-overview.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/migration/migration-translated-sites.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/migration/migration-versioned-sites.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/presets.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/search.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/static-assets.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/styling-layout.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/typescript-support.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/using-plugins.md create mode 100644 website/versioned_docs/version-2.0.0-alpha.71/using-themes.md create mode 100644 website/versioned_sidebars/version-2.0.0-alpha.71-sidebars.json diff --git a/CHANGELOG-2.x.md b/CHANGELOG-2.x.md index e12ede508bbb..5c7802f90e2e 100644 --- a/CHANGELOG-2.x.md +++ b/CHANGELOG-2.x.md @@ -1,5 +1,384 @@ # Docusaurus 2 Changelog +## 2.0.0-alpha.71 (2021-03-09) + +#### :rocket: New Feature + +- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus` + - [#4222](https://github.com/facebook/docusaurus/pull/4222) feat(v2): add ability to set custom heading id ([@lex111](https://github.com/lex111)) +- `docusaurus-theme-live-codeblock` + - [#4328](https://github.com/facebook/docusaurus/pull/4328) feat(v2): Add playgroundPosition config for live codeblock ([@tokarchyn](https://github.com/tokarchyn)) +- `docusaurus-theme-classic` + - [#4209](https://github.com/facebook/docusaurus/pull/4209) feat(v2): auto focus to tab if it is outside viewport ([@lex111](https://github.com/lex111)) + - [#4329](https://github.com/facebook/docusaurus/pull/4329) feat(v2): add arabic translation ([@3alisaki](https://github.com/3alisaki)) + - [#4325](https://github.com/facebook/docusaurus/pull/4325) feat(v2): [theme-classic] add Polish translation ([@Simek](https://github.com/Simek)) + - [#4312](https://github.com/facebook/docusaurus/pull/4312) feat(v2): Add Turkish translations for theme labels ([@caglarturali](https://github.com/caglarturali)) + - [#4271](https://github.com/facebook/docusaurus/pull/4271) feat(v2): add Farsi default translations ([@slorber](https://github.com/slorber)) + - [#4261](https://github.com/facebook/docusaurus/pull/4261) feat(v2): add icon to generic sidebar link ([@lex111](https://github.com/lex111)) + - [#4109](https://github.com/facebook/docusaurus/pull/4109) feat(v2): default canonical urls ([@slorber](https://github.com/slorber)) +- `docusaurus-types`, `docusaurus` + - [#4308](https://github.com/facebook/docusaurus/pull/4308) feat(v2): add --config option to CLI ([@longlho](https://github.com/longlho)) + - [#4185](https://github.com/facebook/docusaurus/pull/4185) feat(v2): allow extend PostCSS config ([@lex111](https://github.com/lex111)) + - [#4021](https://github.com/facebook/docusaurus/pull/4021) feat(v2): Allow plugins to consume webpack stats ([@RDIL](https://github.com/RDIL)) +- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia` + - [#4303](https://github.com/facebook/docusaurus/pull/4303) feat(v2): add japanese translations ([@ykzts](https://github.com/ykzts)) +- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus` + - [#4295](https://github.com/facebook/docusaurus/pull/4295) feat(v2): Add Interpolate / interpolate APIs + complete theme translations ([@slorber](https://github.com/slorber)) +- `docusaurus-mdx-loader` + - [#4278](https://github.com/facebook/docusaurus/pull/4278) feat(v2): ability to "escape" JSX in MDX files as code blocks ([@slorber](https://github.com/slorber)) +- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs` + - [#4232](https://github.com/facebook/docusaurus/pull/4232) feat(v2): editUrl functions should receive md doc permalink ([@slorber](https://github.com/slorber)) + - [#4121](https://github.com/facebook/docusaurus/pull/4121) feat(v2): editUrl function for advanced use-cases ([@slorber](https://github.com/slorber)) +- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus` + - [#4218](https://github.com/facebook/docusaurus/pull/4218) feat(v2): support/use React v17 by default ([@lex111](https://github.com/lex111)) +- `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus-utils`, `docusaurus` + - [#4215](https://github.com/facebook/docusaurus/pull/4215) feat(v2): Add i18n default code translation bundles ([@slorber](https://github.com/slorber)) +- `docusaurus-module-type-aliases`, `docusaurus-theme-classic`, `docusaurus-types`, `docusaurus` + - [#4140](https://github.com/facebook/docusaurus/pull/4140) feat(v2): add support for RTL direction ([@lex111](https://github.com/lex111)) +- `docusaurus-theme-classic`, `docusaurus-theme-common` + - [#4199](https://github.com/facebook/docusaurus/pull/4199) feat(v2): allow to change location of search bar ([@lex111](https://github.com/lex111)) + - [#3993](https://github.com/facebook/docusaurus/pull/3993) feat(v2): themed logo in footer ([@natac13](https://github.com/natac13)) +- `docusaurus` + - [#4198](https://github.com/facebook/docusaurus/pull/4198) feat(v2): add fonts loaders + webpack resolve.roots ([@slorber](https://github.com/slorber)) + - [#3998](https://github.com/facebook/docusaurus/pull/3998) feat(v2): Cache hashed assets to dedicated folders ([@kumaraditya303](https://github.com/kumaraditya303)) + - [#3979](https://github.com/facebook/docusaurus/pull/3979) feat(v2): better error message for invalid plugin config ([@9oelM](https://github.com/9oelM)) +- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock`, `docusaurus` + - [#4168](https://github.com/facebook/docusaurus/pull/4168) feat(v2): Extract/translate hardcoded labels from classic theme ([@slorber](https://github.com/slorber)) +- `docusaurus-init` + - [#4098](https://github.com/facebook/docusaurus/pull/4098) feat(v2): improve templates, use JSDoc type annotation, improve `docusaurus.config.js` autocompletion ([@LittleboyHarry](https://github.com/LittleboyHarry)) +- `docusaurus-init`, `docusaurus-migrate` + - [#3986](https://github.com/facebook/docusaurus/pull/3986) feat(v2): skip dependency install on docusaurus init ([@kumaraditya303](https://github.com/kumaraditya303)) +- `docusaurus-plugin-content-docs` + - [#3949](https://github.com/facebook/docusaurus/pull/3949) feat(v2): new docs edit options: editCurrentVersion + editLocalizedDocs ([@slorber](https://github.com/slorber)) + +#### :boom: Breaking Change + +- `docusaurus-1.x`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader` + - [#4223](https://github.com/facebook/docusaurus/pull/4223) chore(v2): upgrade dependencies + require Node 12 ([@lex111](https://github.com/lex111)) + +#### :bug: Bug Fix + +- `docusaurus` + - [#4366](https://github.com/facebook/docusaurus/pull/4366) fix(v2): align installed core-js version with babel config ([@armano2](https://github.com/armano2)) + - [#4345](https://github.com/facebook/docusaurus/pull/4345) fix(v2): always extract translations from site/src ([@slorber](https://github.com/slorber)) + - [#4342](https://github.com/facebook/docusaurus/pull/4342) chore(v2): bump clean-css to 5.1.1 ([@lex111](https://github.com/lex111)) + - [#4212](https://github.com/facebook/docusaurus/pull/4212) fix(v2): typo in resolve.roots ([@slorber](https://github.com/slorber)) + - [#4155](https://github.com/facebook/docusaurus/pull/4155) fix(v2): BaseUrl issue banner insertion should be prevented if JS can load ([@slorber](https://github.com/slorber)) + - [#4137](https://github.com/facebook/docusaurus/pull/4137) fix(v2): escape apostrophes in route paths ([@lex111](https://github.com/lex111)) + - [#4136](https://github.com/facebook/docusaurus/pull/4136) fix(v2): fix navigation from homepage ([@lex111](https://github.com/lex111)) + - [#4125](https://github.com/facebook/docusaurus/pull/4125) fix(v2): baseUrl help banner should not be indexed by Google / SEO ([@slorber](https://github.com/slorber)) + - [#4080](https://github.com/facebook/docusaurus/pull/4080) fix(v2): chokidar reloading debounced ([@semoal](https://github.com/semoal)) + - [#3965](https://github.com/facebook/docusaurus/pull/3965) fix(v2): fix svg loader for CSS files ([@apurvaojas](https://github.com/apurvaojas)) + - [#3943](https://github.com/facebook/docusaurus/pull/3943) fix(v2): disables all inlining in CleanCSS ([@lex111](https://github.com/lex111)) + - [#3941](https://github.com/facebook/docusaurus/pull/3941) fix(v2): fix i18n build logging. ([@slorber](https://github.com/slorber)) +- `docusaurus-theme-classic` + - [#4349](https://github.com/facebook/docusaurus/pull/4349) fix(v2): fix update code translations script + update some translations ([@slorber](https://github.com/slorber)) + - [#4311](https://github.com/facebook/docusaurus/pull/4311) fix(v2): fit footer in viewport when content area is too small ([@lex111](https://github.com/lex111)) + - [#4340](https://github.com/facebook/docusaurus/pull/4340) fix(v2): prevent useless blog pages to be in search results ([@slorber](https://github.com/slorber)) + - [#4274](https://github.com/facebook/docusaurus/pull/4274) fix(v2): theme classic should have lib-next prettified ([@slorber](https://github.com/slorber)) + - [#4267](https://github.com/facebook/docusaurus/pull/4267) fix(v2): Allow null as valid for title of item in footer links. ([@ben-qnimble](https://github.com/ben-qnimble)) + - [#4254](https://github.com/facebook/docusaurus/pull/4254) fix(v2): fix LTR PostCSS bug on Netlify and monorepo symlinks ([@slorber](https://github.com/slorber)) + - [#4247](https://github.com/facebook/docusaurus/pull/4247) fix(v2): make doc container full width when hidden sidebar ([@lex111](https://github.com/lex111)) + - [#4241](https://github.com/facebook/docusaurus/pull/4241) fix(v2): avoid horizontal scrolling when long lines of code ([@lex111](https://github.com/lex111)) + - [#4200](https://github.com/facebook/docusaurus/pull/4200) fix(v2): various minor bugs with location hash ([@lex111](https://github.com/lex111)) + - [#4195](https://github.com/facebook/docusaurus/pull/4195) fix(v2): restore hamburger menu ([@lex111](https://github.com/lex111)) + - [#4189](https://github.com/facebook/docusaurus/pull/4189) fix(v2): prevent click on item menu with children on mobiles ([@lex111](https://github.com/lex111)) + - [#4176](https://github.com/facebook/docusaurus/pull/4176) fix(v2): make locale dropdown accessible from keyboard ([@lex111](https://github.com/lex111)) + - [#4163](https://github.com/facebook/docusaurus/pull/4163) fix(v2): fix warning and improve styling inline TOC ([@lex111](https://github.com/lex111)) + - [#4162](https://github.com/facebook/docusaurus/pull/4162) fix(v2): make more accessible skip link ([@lex111](https://github.com/lex111)) + - [#4160](https://github.com/facebook/docusaurus/pull/4160) fix(v2): fix hreflang headers ([@slorber](https://github.com/slorber)) + - [#4147](https://github.com/facebook/docusaurus/pull/4147) fix(v2): avoid misuse section tag in blog posts ([@lex111](https://github.com/lex111)) + - [#4146](https://github.com/facebook/docusaurus/pull/4146) fix(v2): use current color for language icon ([@lex111](https://github.com/lex111)) + - [#4118](https://github.com/facebook/docusaurus/pull/4118) fix(v2): navbar dropdown subitems should be translated properly ([@slorber](https://github.com/slorber)) + - [#4011](https://github.com/facebook/docusaurus/pull/4011) fix(v2): fix accessibility issue with IconArrow ([@natac13](https://github.com/natac13)) + - [#3968](https://github.com/facebook/docusaurus/pull/3968) fix(v2): fix blog only contextual search ([@slorber](https://github.com/slorber)) +- `docusaurus-theme-classic`, `docusaurus-theme-live-codeblock` + - [#4315](https://github.com/facebook/docusaurus/pull/4315) fix(v2): make code blocks more standalone ([@lex111](https://github.com/lex111)) + - [#4277](https://github.com/facebook/docusaurus/pull/4277) fix(v2): Code blocks should be LTR by default ([@slorber](https://github.com/slorber)) +- `docusaurus-theme-live-codeblock` + - [#4318](https://github.com/facebook/docusaurus/pull/4318) fix(v2): evaluate code in live editor on client only ([@lex111](https://github.com/lex111)) + - [#3954](https://github.com/facebook/docusaurus/pull/3954) fix(v2): allow async/await in live code editor ([@9oelM](https://github.com/9oelM)) +- `docusaurus-theme-classic`, `docusaurus-theme-search-algolia` + - [#4339](https://github.com/facebook/docusaurus/pull/4339) fix(v2): search page results localization ([@slorber](https://github.com/slorber)) +- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-search-algolia`, `docusaurus` + - [#4304](https://github.com/facebook/docusaurus/pull/4304) fix(v2): fix bad theme pluralization rules for some labels ([@slorber](https://github.com/slorber)) +- `docusaurus-cssnano-preset` + - [#4240](https://github.com/facebook/docusaurus/pull/4240) fix(v2): remove PostCSS plugin for combine duplicated selectors ([@lex111](https://github.com/lex111)) +- Other + - [#4234](https://github.com/facebook/docusaurus/pull/4234) fix(v2): fix website versions page ([@slorber](https://github.com/slorber)) + - [#4233](https://github.com/facebook/docusaurus/pull/4233) fix(v2): website editUrl should target upstream docs ([@slorber](https://github.com/slorber)) + - [#4067](https://github.com/facebook/docusaurus/pull/4067) fix(v2): Fix blog post url/date ([@slorber](https://github.com/slorber)) + - [#3952](https://github.com/facebook/docusaurus/pull/3952) docs(v2): Fix invalid json ([@oze4](https://github.com/oze4)) +- `docusaurus-theme-search-algolia` + - [#4188](https://github.com/facebook/docusaurus/pull/4188) fix(v2): prepend docsearch modal to body element ([@lex111](https://github.com/lex111)) + - [#4154](https://github.com/facebook/docusaurus/pull/4154) fix(v2): add base url to opensearch.xml ([@lex111](https://github.com/lex111)) +- `docusaurus-plugin-ideal-image` + - [#4166](https://github.com/facebook/docusaurus/pull/4166) fix(v2): ideal image assets should be served under ./assets ([@slorber](https://github.com/slorber)) +- `docusaurus-theme-classic`, `docusaurus-theme-common` + - [#4092](https://github.com/facebook/docusaurus/pull/4092) fix(v2): fix/enhance minor i18n issues reported ([@slorber](https://github.com/slorber)) + - [#3940](https://github.com/facebook/docusaurus/pull/3940) fix(v2): i18n should not crash theme without footer ([@slorber](https://github.com/slorber)) +- `docusaurus-plugin-sitemap` + - [#4004](https://github.com/facebook/docusaurus/pull/4004) fix(v2): Fix double trailingSlash in sitemap.xml ([@ntbosscher](https://github.com/ntbosscher)) +- `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-utils` + - [#3970](https://github.com/facebook/docusaurus/pull/3970) fix(v2): fix multi-instance mdx loaders not sandboxed correctly ([@slorber](https://github.com/slorber)) +- `docusaurus-plugin-client-redirects` + - [#3903](https://github.com/facebook/docusaurus/pull/3903) fix(v2): fix redirect toUrl (windows + trailing slash) ([@saydo17](https://github.com/saydo17)) +- `docusaurus-utils` + - [#3944](https://github.com/facebook/docusaurus/pull/3944) fix(v2): ignore style imports in excerpt ([@lex111](https://github.com/lex111)) + +#### :nail_care: Polish + +- `docusaurus-theme-classic` + - [#4371](https://github.com/facebook/docusaurus/pull/4371) refactor(v2): update Russian translation in classic theme ([@lex111](https://github.com/lex111)) + - [#4359](https://github.com/facebook/docusaurus/pull/4359) polish(v2): [theme-classic] slightly improve Japanese translation ([@MisterFISHUP](https://github.com/MisterFISHUP)) + - [#4350](https://github.com/facebook/docusaurus/pull/4350) polish(v2): Updated theme label translations for Turkish ([@caglarturali](https://github.com/caglarturali)) + - [#4351](https://github.com/facebook/docusaurus/pull/4351) polish(v2): add japanese translation for #4304 ([@ykzts](https://github.com/ykzts)) + - [#4309](https://github.com/facebook/docusaurus/pull/4309) polish(v2): improved Farsi translation ([@massoudmaboudi](https://github.com/massoudmaboudi)) + - [#4279](https://github.com/facebook/docusaurus/pull/4279) polish(v2): theme default translations for language de / german ([@philipp985](https://github.com/philipp985)) + - [#4275](https://github.com/facebook/docusaurus/pull/4275) polish(v2): Add more tags translations ([@slorber](https://github.com/slorber)) + - [#4246](https://github.com/facebook/docusaurus/pull/4246) refactor(v2): add Russian translation for classic theme ([@lex111](https://github.com/lex111)) + - [#4242](https://github.com/facebook/docusaurus/pull/4242) refactor(v2): use Link component for external links ([@lex111](https://github.com/lex111)) + - [#4244](https://github.com/facebook/docusaurus/pull/4244) refactor(v2): clean-ups and fixes ([@lex111](https://github.com/lex111)) + - [#4193](https://github.com/facebook/docusaurus/pull/4193) refactor(v2): update tabs to follow WAI-ARIA spec ([@lex111](https://github.com/lex111)) + - [#4194](https://github.com/facebook/docusaurus/pull/4194) refactor(v2): use transform instead of top position for hideable navbar ([@lex111](https://github.com/lex111)) + - [#4167](https://github.com/facebook/docusaurus/pull/4167) refactor(v2): minor styling improvements ([@lex111](https://github.com/lex111)) + - [#4169](https://github.com/facebook/docusaurus/pull/4169) refactor(v2): remove delay after skip link pressed ([@lex111](https://github.com/lex111)) + - [#4086](https://github.com/facebook/docusaurus/pull/4086) style(v2): add className to tab container ([@ArtFlag](https://github.com/ArtFlag)) +- `docusaurus-plugin-content-docs`, `docusaurus-theme-classic` + - [#4352](https://github.com/facebook/docusaurus/pull/4352) refactor(v2): format last updated date using Intl ([@lex111](https://github.com/lex111)) + - [#4243](https://github.com/facebook/docusaurus/pull/4243) refactor(v2): introduce Seo component for internal using ([@lex111](https://github.com/lex111)) +- `docusaurus-plugin-content-blog`, `docusaurus-theme-classic`, `docusaurus-utils` + - [#4344](https://github.com/facebook/docusaurus/pull/4344) refactor(v2): format post date using Intl ([@lex111](https://github.com/lex111)) +- `docusaurus` + - [#4257](https://github.com/facebook/docusaurus/pull/4257) refactor(v2): improve notifier message ([@lex111](https://github.com/lex111)) +- `docusaurus-plugin-pwa`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia` + - [#4219](https://github.com/facebook/docusaurus/pull/4219) refactor(v2): add more translatable strings ([@lex111](https://github.com/lex111)) +- Other + - [#4074](https://github.com/facebook/docusaurus/pull/4074) polish(v2): improve codesandbox template package.json ([@slorber](https://github.com/slorber)) +- `docusaurus-plugin-debug` + - [#3953](https://github.com/facebook/docusaurus/pull/3953) refactor(v2): fix debug plugin name ([@RDIL](https://github.com/RDIL)) +- `docusaurus-plugin-debug`, `docusaurus-theme-classic` + - [#3946](https://github.com/facebook/docusaurus/pull/3946) refactor(v2): minor a11y tweaks ([@lex111](https://github.com/lex111)) + +#### :memo: Documentation + +- Other + - [#4369](https://github.com/facebook/docusaurus/pull/4369) docs(v2): various improvements ([@lex111](https://github.com/lex111)) + - [#4362](https://github.com/facebook/docusaurus/pull/4362) docs(v2): Add stryker-mutator.io to showcase ([@nicojs](https://github.com/nicojs)) + - [#4354](https://github.com/facebook/docusaurus/pull/4354) docs(v2): add trpgengine showcase ([@moonrailgun](https://github.com/moonrailgun)) + - [#4346](https://github.com/facebook/docusaurus/pull/4346) docs(v1): update phrasing for website dir relative to docs dir ([@aukokyong](https://github.com/aukokyong)) + - [#4338](https://github.com/facebook/docusaurus/pull/4338) docs(v2): update showcase instruction regarding tags + fix site tags ([@slorber](https://github.com/slorber)) + - [#4331](https://github.com/facebook/docusaurus/pull/4331) docs(v2): add ocpeasy to users ([@dbrrt](https://github.com/dbrrt)) + - [#4307](https://github.com/facebook/docusaurus/pull/4307) docs(v2): Add RactivePlayer to showcase ([@ysulyma](https://github.com/ysulyma)) + - [#4297](https://github.com/facebook/docusaurus/pull/4297) docs(v2): Fix examples by importing React ([@roydukkey](https://github.com/roydukkey)) + - [#4296](https://github.com/facebook/docusaurus/pull/4296) docs(v2): move migrated sites from v1 to v2 showcase ([@lisa761](https://github.com/lisa761)) + - [#4293](https://github.com/facebook/docusaurus/pull/4293) docs(v2): Added React Native ARIA to showcase ([@theankurkedia](https://github.com/theankurkedia)) + - [#4284](https://github.com/facebook/docusaurus/pull/4284) docs(v2): Add AttoBot website to showcase page ([@wolf20482](https://github.com/wolf20482)) + - [#4285](https://github.com/facebook/docusaurus/pull/4285) docs(v2): escape more jsx in mdx files for Crowdin ([@slorber](https://github.com/slorber)) + - [#4283](https://github.com/facebook/docusaurus/pull/4283) docs(v2): Add Postgres.ai to showcase ([@NikolayS](https://github.com/NikolayS)) + - [#4282](https://github.com/facebook/docusaurus/pull/4282) docs: update Netlify deploy status badge ([@slorber](https://github.com/slorber)) + - [#4259](https://github.com/facebook/docusaurus/pull/4259) docs(v2): improve cli docs ([@massoudmaboudi](https://github.com/massoudmaboudi)) + - [#4266](https://github.com/facebook/docusaurus/pull/4266) docs(v2): update agilets banner ([@bennodev19](https://github.com/bennodev19)) + - [#4263](https://github.com/facebook/docusaurus/pull/4263) docs(v2): remove npx and use github action to configure ssh key ([@MatanBobi](https://github.com/MatanBobi)) + - [#4262](https://github.com/facebook/docusaurus/pull/4262) docs(v2): Added kotest to showcase ([@sksamuel](https://github.com/sksamuel)) + - [#4256](https://github.com/facebook/docusaurus/pull/4256) docs(v2): Add docusaurus2-graphql-doc-generator to community resources ([@edno](https://github.com/edno)) + - [#4252](https://github.com/facebook/docusaurus/pull/4252) docs(v2): Added mailgo to showcase ([@manzinello](https://github.com/manzinello)) + - [#4251](https://github.com/facebook/docusaurus/pull/4251) docs(v2): Add Axioms to showcase ([@limkinZero](https://github.com/limkinZero)) + - [#4237](https://github.com/facebook/docusaurus/pull/4237) docs(v2): Replace mbt-bundle by sicope-model ([@tienvx](https://github.com/tienvx)) + - [#4236](https://github.com/facebook/docusaurus/pull/4236) docs(v2): v2 migration should mention RSS feed url change ([@slorber](https://github.com/slorber)) + - [#4230](https://github.com/facebook/docusaurus/pull/4230) docs(v2): fix npm/yarn command example for swizzling TypeScript theme components ([@YashTotale](https://github.com/YashTotale)) + - [#4229](https://github.com/facebook/docusaurus/pull/4229) docs(v2): Fix link to slash introduction svg ([@SamChou19815](https://github.com/SamChou19815)) + - [#4226](https://github.com/facebook/docusaurus/pull/4226) docs(v2): Removing wrong parenthesis on image variable ([@juancarlosjr97](https://github.com/juancarlosjr97)) + - [#4225](https://github.com/facebook/docusaurus/pull/4225) docs(v2): added Apache APISIX ([@juzhiyuan](https://github.com/juzhiyuan)) + - [#4224](https://github.com/facebook/docusaurus/pull/4224) docs(v2): Add MikroORM site to showcase page ([@B4nan](https://github.com/B4nan)) + - [#4220](https://github.com/facebook/docusaurus/pull/4220) Add WebdriverIO docs page as showcase ([@christian-bromann](https://github.com/christian-bromann)) + - [#4210](https://github.com/facebook/docusaurus/pull/4210) misc: add requirements for sites being added to showcase ([@lex111](https://github.com/lex111)) + - [#4207](https://github.com/facebook/docusaurus/pull/4207) docs(v2): Added Console Table Documentation Site to showcase ([@ayonious](https://github.com/ayonious)) + - [#4204](https://github.com/facebook/docusaurus/pull/4204) docs(v1): fixing a broken link in blog posts ([@ayonious](https://github.com/ayonious)) + - [#4178](https://github.com/facebook/docusaurus/pull/4178) docs(v2): localize 404 page with Netlify + docs ([@slorber](https://github.com/slorber)) + - [#4177](https://github.com/facebook/docusaurus/pull/4177) docs(v2): Add docusaurus-plugin-remote-content to resources list ([@RDIL](https://github.com/RDIL)) + - [#4172](https://github.com/facebook/docusaurus/pull/4172) docs(v2): Add react-hooks.org to showcase ([@imbhargav5](https://github.com/imbhargav5)) + - [#4173](https://github.com/facebook/docusaurus/pull/4173) docs(v2): typo fixing double colon ([@ayonious](https://github.com/ayonious)) + - [#4164](https://github.com/facebook/docusaurus/pull/4164) docs(v2): add a note for images not rendered on dev server ([@yuval-hazaz](https://github.com/yuval-hazaz)) + - [#4161](https://github.com/facebook/docusaurus/pull/4161) docs(v2): Add docusaurus-theme-github-codeblock ([@christian-bromann](https://github.com/christian-bromann)) + - [#4158](https://github.com/facebook/docusaurus/pull/4158) docs(v2): improve bad static assets doc + remove some useless useBaseUrl usage ([@slorber](https://github.com/slorber)) + - [#4144](https://github.com/facebook/docusaurus/pull/4144) docs(v2): community docs typo fix ([@ayonious](https://github.com/ayonious)) + - [#4143](https://github.com/facebook/docusaurus/pull/4143) docs(v2): guide docs typo fix ([@ayonious](https://github.com/ayonious)) + - [#4141](https://github.com/facebook/docusaurus/pull/4141) docs(v2): plugins docs typo fix ([@ayonious](https://github.com/ayonious)) + - [#4139](https://github.com/facebook/docusaurus/pull/4139) docs(v2): Add Rematch site to showcase page ([@semoal](https://github.com/semoal)) + - [#4128](https://github.com/facebook/docusaurus/pull/4128) docs(v2): remove duplicate link from docs about Docusaurus1 ([@ayonious](https://github.com/ayonious)) + - [#4129](https://github.com/facebook/docusaurus/pull/4129) docs(v2): typo fix in Migration Docs ([@ayonious](https://github.com/ayonious)) + - [#4127](https://github.com/facebook/docusaurus/pull/4127) docs(v2): remove unnecessary brace from installation doc ([@ayonious](https://github.com/ayonious)) + - [#4130](https://github.com/facebook/docusaurus/pull/4130) docs(v2): typo in i18n docs ([@ayonious](https://github.com/ayonious)) + - [#4112](https://github.com/facebook/docusaurus/pull/4112) docs(v2): Do not encourage using the permalink prop ([@slorber](https://github.com/slorber)) + - [#4106](https://github.com/facebook/docusaurus/pull/4106) docs(v2): update broken link on resources page ([@eric-hc](https://github.com/eric-hc)) + - [#4084](https://github.com/facebook/docusaurus/pull/4084) docs(v2): Use the TOCInline component in config doc ([@slorber](https://github.com/slorber)) + - [#4020](https://github.com/facebook/docusaurus/pull/4020) docs(v2): 2020 recap blog post ([@slorber](https://github.com/slorber)) + - [#4009](https://github.com/facebook/docusaurus/pull/4009) docs(v2): add hideableSidebar option to config demo ([@natac13](https://github.com/natac13)) + - [#4062](https://github.com/facebook/docusaurus/pull/4062) docs(v2): Add codesandbox integration ([@sammychinedu2ky](https://github.com/sammychinedu2ky)) + - [#4058](https://github.com/facebook/docusaurus/pull/4058) docs(v2): Include new.docusaurus.io CodeSandbox in issue templates + README ([@slorber](https://github.com/slorber)) + - [#4053](https://github.com/facebook/docusaurus/pull/4053) docs(v2): Add Eightshift Docs site to showcase page ([@iruzevic](https://github.com/iruzevic)) + - [#4048](https://github.com/facebook/docusaurus/pull/4048) docs(v1): Docker: remind the user to use the --host flag ([@tomsfernandez](https://github.com/tomsfernandez)) + - [#4047](https://github.com/facebook/docusaurus/pull/4047) docs(v1): version page should recommend v2 ([@slorber](https://github.com/slorber)) + - [#4046](https://github.com/facebook/docusaurus/pull/4046) docs(v2): add sciwp to showcase ([@edulazaro](https://github.com/edulazaro)) + - [#4036](https://github.com/facebook/docusaurus/pull/4036) docs(v2): Add Nodify to showcase ([@miroiu](https://github.com/miroiu)) + - [#4038](https://github.com/facebook/docusaurus/pull/4038) docs(v1): suggest to use Docusaurus 2 even for non-FB websites ([@slorber](https://github.com/slorber)) + - [#4026](https://github.com/facebook/docusaurus/pull/4026) docs(v2): Add FlexIt to showcase ([@ataft](https://github.com/ataft)) + - [#4022](https://github.com/facebook/docusaurus/pull/4022) docs: fix typo from 'dissapear' to 'disappear' ([@vamsi3](https://github.com/vamsi3)) + - [#4002](https://github.com/facebook/docusaurus/pull/4002) docs(v2): Add how to run your own DocSearch ([@TheodoreChu](https://github.com/TheodoreChu)) + - [#3997](https://github.com/facebook/docusaurus/pull/3997) docs(v2): Add Datagit site to showcase page ([@massoudmaboudi](https://github.com/massoudmaboudi)) + - [#3990](https://github.com/facebook/docusaurus/pull/3990) docs(v2): Add wiki-powerto site showcase ([@linyuxuanlin](https://github.com/linyuxuanlin)) + - [#3991](https://github.com/facebook/docusaurus/pull/3991) docs(v2): add overwriting css variables for dark mode ([@natac13](https://github.com/natac13)) + - [#3987](https://github.com/facebook/docusaurus/pull/3987) docs(v2): Add AgileTs site to showcase page ([@bennodev19](https://github.com/bennodev19)) + - [#3978](https://github.com/facebook/docusaurus/pull/3978) docs(v2): Add documentation for docs multi-instance support ([@slorber](https://github.com/slorber)) + - [#3977](https://github.com/facebook/docusaurus/pull/3977) docs(v2): nudge users to add site to showcase ([@slorber](https://github.com/slorber)) + - [#3975](https://github.com/facebook/docusaurus/pull/3975) docs(v2): Reorganize/split the guides doc / markdown sections ([@slorber](https://github.com/slorber)) + - [#3976](https://github.com/facebook/docusaurus/pull/3976) docs(v2): Add AI-Speaker site to showcase page ([@asystentka-jolka](https://github.com/asystentka-jolka)) + - [#3974](https://github.com/facebook/docusaurus/pull/3974) docs(v2): doc typo on sidebar admonition ([@slorber](https://github.com/slorber)) + - [#3962](https://github.com/facebook/docusaurus/pull/3962) docs(v2): Add migration info doc regarding docs folder location ([@slorber](https://github.com/slorber)) + - [#3950](https://github.com/facebook/docusaurus/pull/3950) docs(v2): update Github entreprise deployment doc ([@samhrncir](https://github.com/samhrncir)) + - [#3945](https://github.com/facebook/docusaurus/pull/3945) docs(v2): Added information about setting `/` in routeBasePath ([@Siemienik](https://github.com/Siemienik)) +- `docusaurus-theme-classic` + - [#4356](https://github.com/facebook/docusaurus/pull/4356) polish(v2): [theme-classic] add Chinese translations (zh-Hant & zh-Hans) ([@MisterFISHUP](https://github.com/MisterFISHUP)) +- `docusaurus` + - [#4126](https://github.com/facebook/docusaurus/pull/4126) docs(v2): do not recommend using useBaseUrl() hook in most cases ([@slorber](https://github.com/slorber)) + - [#4049](https://github.com/facebook/docusaurus/pull/4049) docs(v1): version page should recommend v2 (bis) ([@slorber](https://github.com/slorber)) +- `docusaurus-init`, `docusaurus-theme-classic`, `docusaurus` + - [#4014](https://github.com/facebook/docusaurus/pull/4014) docs(v2): i18n doc + polish ([@slorber](https://github.com/slorber)) +- `docusaurus-cssnano-preset`, `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-sitemap`, `docusaurus-preset-bootstrap`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-bootstrap`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-search-algolia`, `docusaurus-types`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader`, `stylelint-copyright` + - [#4034](https://github.com/facebook/docusaurus/pull/4034) docs(v2): Add READMEs to v2 packages ([@RDIL](https://github.com/RDIL)) +- `docusaurus-init` + - [#3881](https://github.com/facebook/docusaurus/pull/3881) docs(v2): update FB OSS logo ([@Simek](https://github.com/Simek)) + +#### :house: Internal + +- Other + - [#4372](https://github.com/facebook/docusaurus/pull/4372) chore(v1): release docusaurus v1.14.7 ([@slorber](https://github.com/slorber)) + - [#4368](https://github.com/facebook/docusaurus/pull/4368) chore(deps): bump elliptic from 6.5.3 to 6.5.4 ([@dependabot[bot]](https://github.com/apps/dependabot)) + - [#4365](https://github.com/facebook/docusaurus/pull/4365) chore: unstable yarnlock ([@slorber](https://github.com/slorber)) + - [#4337](https://github.com/facebook/docusaurus/pull/4337) misc: restore build size bot ([@slorber](https://github.com/slorber)) + - [#4289](https://github.com/facebook/docusaurus/pull/4289) chore(v2): remove docs for alpha v69 ([@lex111](https://github.com/lex111)) + - [#4253](https://github.com/facebook/docusaurus/pull/4253) chore(v2): remove docs for alpha v68 ([@lex111](https://github.com/lex111)) + - [#4248](https://github.com/facebook/docusaurus/pull/4248) chore(v2): Fix build size bot ([@slorber](https://github.com/slorber)) + - [#4214](https://github.com/facebook/docusaurus/pull/4214) chore(v2): setup for i18n staging deployment ([@slorber](https://github.com/slorber)) + - [#4159](https://github.com/facebook/docusaurus/pull/4159) chore(v2): fix build size bot again ([@slorber](https://github.com/slorber)) + - [#4156](https://github.com/facebook/docusaurus/pull/4156) chore(v2): fix build size bot monitoring of js/css assets ([@slorber](https://github.com/slorber)) + - [#4100](https://github.com/facebook/docusaurus/pull/4100) chore(v2): remove docs for alpha v66 ([@lex111](https://github.com/lex111)) + - [#4077](https://github.com/facebook/docusaurus/pull/4077) chore(v2): fix unstable master yarn.lock ([@slorber](https://github.com/slorber)) + - [#4063](https://github.com/facebook/docusaurus/pull/4063) chore(v2): Regen codesandbox templates + add template: "docusaurus" ([@slorber](https://github.com/slorber)) + - [#4056](https://github.com/facebook/docusaurus/pull/4056) chore(v2): update codesandbox redirect ([@slorber](https://github.com/slorber)) + - [#4041](https://github.com/facebook/docusaurus/pull/4041) chore(v1): revert v1 netlify.toml ([@slorber](https://github.com/slorber)) + - [#4040](https://github.com/facebook/docusaurus/pull/4040) chore(v1): upgrade v1 Crowdin cli + CI config ([@slorber](https://github.com/slorber)) + - [#4030](https://github.com/facebook/docusaurus/pull/4030) chore(v2): install Crowdin cli through npm package ([@slorber](https://github.com/slorber)) + - [#4003](https://github.com/facebook/docusaurus/pull/4003) chore: add DevContainer config for GitHub codespaces ([@kumaraditya303](https://github.com/kumaraditya303)) + - [#4001](https://github.com/facebook/docusaurus/pull/4001) chore(v2): Upgrade crowdin ([@slorber](https://github.com/slorber)) + - [#3995](https://github.com/facebook/docusaurus/pull/3995) chore(v2): remove docs for alpha v65 ([@lex111](https://github.com/lex111)) + - [#3960](https://github.com/facebook/docusaurus/pull/3960) fix(v2): remove duplicate section on Versions page ([@lex111](https://github.com/lex111)) +- `docusaurus-theme-classic` + - [#4370](https://github.com/facebook/docusaurus/pull/4370) chore(v2): update infima ([@slorber](https://github.com/slorber)) +- `docusaurus-init`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils`, `docusaurus`, `lqip-loader` + - [#4361](https://github.com/facebook/docusaurus/pull/4361) refactor(v2): remove duplicated lodash dependencies and import only what needed ([@armano2](https://github.com/armano2)) +- `docusaurus-1.x`, `docusaurus` + - [#4270](https://github.com/facebook/docusaurus/pull/4270) chore(v2): upgrade react-dev-utils ([@yangshun](https://github.com/yangshun)) +- `docusaurus-init`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-types`, `docusaurus` + - [#4264](https://github.com/facebook/docusaurus/pull/4264) chore(v2): bump/align deps in monorepo: commander, semver, fs-extra ([@Simek](https://github.com/Simek)) +- `docusaurus` + - [#4265](https://github.com/facebook/docusaurus/pull/4265) chore(v2): PostCSS peer dep fix ([@RDIL](https://github.com/RDIL)) + - [#4091](https://github.com/facebook/docusaurus/pull/4091) refactor(v2): Switch from inquirer to prompts ([@RDIL](https://github.com/RDIL)) + - [#4066](https://github.com/facebook/docusaurus/pull/4066) chore(v2): Update a few dependencies ([@RDIL](https://github.com/RDIL)) +- `docusaurus-init`, `docusaurus-mdx-loader`, `docusaurus-migrate`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-sitemap`, `docusaurus-theme-classic`, `docusaurus-theme-search-algolia`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `lqip-loader` + - [#4148](https://github.com/facebook/docusaurus/pull/4148) chore(v2): upgrade dependencies ([@lex111](https://github.com/lex111)) +- `docusaurus-plugin-pwa` + - [#4120](https://github.com/facebook/docusaurus/pull/4120) chore(v2): Update workbox to v6 ([@RDIL](https://github.com/RDIL)) +- `docusaurus-utils`, `docusaurus` + - [#4081](https://github.com/facebook/docusaurus/pull/4081) chore(v2): Update webpack-related dependencies, pre-work to migrate to Webpack 5 ([@RDIL](https://github.com/RDIL)) +- `docusaurus-init`, `docusaurus` + - [#4012](https://github.com/facebook/docusaurus/pull/4012) chore(v2): docusaurus-init: switch from inquirer to prompts ([@RDIL](https://github.com/RDIL)) +- `docusaurus-plugin-sitemap` + - [#4005](https://github.com/facebook/docusaurus/pull/4005) chore(v2): prettier fixes ([@slorber](https://github.com/slorber)) +- `docusaurus-migrate` + - [#3988](https://github.com/facebook/docusaurus/pull/3988) chore(v2): fix date-sensitive test fixture ([@slorber](https://github.com/slorber)) +- `docusaurus-mdx-loader`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-debug`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-utils`, `docusaurus`, `stylelint-copyright` + - [#3959](https://github.com/facebook/docusaurus/pull/3959) chore(v2): fix windows Jest tests ([@slorber](https://github.com/slorber)) + +#### :running_woman: Performance + +- `docusaurus-cssnano-preset`, `docusaurus-plugin-content-blog`, `docusaurus` + - [#4355](https://github.com/facebook/docusaurus/pull/4355) perf(v2): improve blog mdx-loader and postcss loader ([@lex111](https://github.com/lex111)) + +#### Committers: 70 + +- Alexey Pyltsyn ([@lex111](https://github.com/lex111)) +- Ali Saki ([@3alisaki](https://github.com/3alisaki)) +- Andrew Taft ([@ataft](https://github.com/ataft)) +- Ankur Kedia ([@theankurkedia](https://github.com/theankurkedia)) +- Apurva Ojas ([@apurvaojas](https://github.com/apurvaojas)) +- Armano ([@armano2](https://github.com/armano2)) +- Arthur ([@ArtFlag](https://github.com/ArtFlag)) +- Bartosz Kaszubowski ([@Simek](https://github.com/Simek)) +- Ben ([@ben-qnimble](https://github.com/ben-qnimble)) +- BennoDev ([@bennodev19](https://github.com/bennodev19)) +- Bhargav Ponnapalli ([@imbhargav5](https://github.com/imbhargav5)) +- Christian Bromann ([@christian-bromann](https://github.com/christian-bromann)) +- David Barrat ([@dbrrt](https://github.com/dbrrt)) +- Eduardo Lázaro ([@edulazaro](https://github.com/edulazaro)) +- Eric Carboni ([@eric-hc](https://github.com/eric-hc)) +- Grégory Heitz ([@edno](https://github.com/edno)) +- Ivan Ružević ([@iruzevic](https://github.com/iruzevic)) +- Jessica Lin ([@jlin27](https://github.com/jlin27)) +- Joel M ([@9oelM](https://github.com/9oelM)) +- Joel Marcey ([@JoelMarcey](https://github.com/JoelMarcey)) +- Jola ([@asystentka-jolka](https://github.com/asystentka-jolka)) +- Juan Carlos Blanco Delgado ([@juancarlosjr97](https://github.com/juancarlosjr97)) +- Kevin Viglucci ([@viglucci](https://github.com/viglucci)) +- Kumar Aditya ([@kumaraditya303](https://github.com/kumaraditya303)) +- Lisa Chandra ([@lisa761](https://github.com/lisa761)) +- LittleboyHarry ([@LittleboyHarry](https://github.com/LittleboyHarry)) +- Long Ho ([@longlho](https://github.com/longlho)) +- Martin Adámek ([@B4nan](https://github.com/B4nan)) +- Massoud Maboudi ([@massoudmaboudi](https://github.com/massoudmaboudi)) +- Matan Borenkraout ([@MatanBobi](https://github.com/MatanBobi)) +- Matt Oestreich ([@oze4](https://github.com/oze4)) +- Matteo Manzinello ([@manzinello](https://github.com/manzinello)) +- Miroiu Emanuel ([@miroiu](https://github.com/miroiu)) +- Mohd Shad Mirza ([@iamshadmirza](https://github.com/iamshadmirza)) +- Nahiyan Kamal ([@ayonious](https://github.com/ayonious)) +- Nathan Bosscher ([@ntbosscher](https://github.com/ntbosscher)) +- Nico Jansen ([@nicojs](https://github.com/nicojs)) +- Nikolay Samokhvalov ([@NikolayS](https://github.com/NikolayS)) +- Pablo Vidal ([@limkinZero](https://github.com/limkinZero)) +- Power Lin ([@linyuxuanlin](https://github.com/linyuxuanlin)) +- Reece Dunham ([@RDIL](https://github.com/RDIL)) +- Saihajpreet Singh ([@saihaj](https://github.com/saihaj)) +- Sam Hrncir ([@samhrncir](https://github.com/samhrncir)) +- Sam Sam ([@sksamuel](https://github.com/sksamuel)) +- Sam Zhou ([@SamChou19815](https://github.com/SamChou19815)) +- Sean Campbell ([@natac13](https://github.com/natac13)) +- Sergio Moreno ([@semoal](https://github.com/semoal)) +- Siemienik Pawel ([@Siemienik](https://github.com/Siemienik)) +- Sébastien Lorber ([@slorber](https://github.com/slorber)) +- Theodore Chu ([@TheodoreChu](https://github.com/TheodoreChu)) +- Tien Vo Xuan ([@tienvx](https://github.com/tienvx)) +- Tomas Fernandez ([@tomsfernandez](https://github.com/tomsfernandez)) +- Vamsi Krishna Reddy Satti ([@vamsi3](https://github.com/vamsi3)) +- Welly ([@wellyshen](https://github.com/wellyshen)) +- Yamagishi Kazutoshi ([@ykzts](https://github.com/ykzts)) +- Yangshun Tay ([@yangshun](https://github.com/yangshun)) +- Yash Totale ([@YashTotale](https://github.com/YashTotale)) +- Yuri Sulyma ([@ysulyma](https://github.com/ysulyma)) +- Yuval Hazaz ([@yuval-hazaz](https://github.com/yuval-hazaz)) +- [@MisterFISHUP](https://github.com/MisterFISHUP) +- [@aukokyong](https://github.com/aukokyong) +- [@philipp985](https://github.com/philipp985) +- [@roydukkey](https://github.com/roydukkey) +- [@sammychinedu2ky](https://github.com/sammychinedu2ky) +- [@saydo17](https://github.com/saydo17) +- [@tokarchyn](https://github.com/tokarchyn) +- [@wolf20482](https://github.com/wolf20482) +- moonrailgun ([@moonrailgun](https://github.com/moonrailgun)) +- Çağlar Turalı ([@caglarturali](https://github.com/caglarturali)) +- 琚致远 ([@juzhiyuan](https://github.com/juzhiyuan)) ✨ Done in 15.23s. + ## 2.0.0-alpha.70 (2020-12-17) #### :rocket: New Feature diff --git a/lerna.json b/lerna.json index 8b17d83a4ff5..f40a46686e23 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "npmClient": "yarn", "useWorkspaces": true, "changelog": { diff --git a/packages/docusaurus-1.x/package.json b/packages/docusaurus-1.x/package.json index 39c4a4082e44..783fa4c8f708 100644 --- a/packages/docusaurus-1.x/package.json +++ b/packages/docusaurus-1.x/package.json @@ -1,7 +1,7 @@ { "name": "docusaurus", "description": "Easy to Maintain Open Source Documentation Websites", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private_comment": "MADE PRIVATE ON PURPOSE! READ V1 PUBLISH GUIDE", "private": true, "license": "MIT", diff --git a/packages/docusaurus-cssnano-preset/package.json b/packages/docusaurus-cssnano-preset/package.json index 900a08d21372..36207cb7286b 100644 --- a/packages/docusaurus-cssnano-preset/package.json +++ b/packages/docusaurus-cssnano-preset/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/cssnano-preset", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Advanced cssnano preset for maximum optimization.", "main": "index.js", "license": "MIT", diff --git a/packages/docusaurus-init-1.x/package.json b/packages/docusaurus-init-1.x/package.json index ae44859d68b2..a1412c51928a 100644 --- a/packages/docusaurus-init-1.x/package.json +++ b/packages/docusaurus-init-1.x/package.json @@ -1,7 +1,7 @@ { "name": "docusaurus-init", "description": "Initialization script for Docusaurus", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private_comment": "MADE PRIVATE ON PURPOSE! READ V1 PUBLISH GUIDE", "private": true, "license": "MIT", diff --git a/packages/docusaurus-init/package.json b/packages/docusaurus-init/package.json index cee5b6014ede..efea0c687a29 100644 --- a/packages/docusaurus-init/package.json +++ b/packages/docusaurus-init/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/init", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Create Docusaurus apps easily.", "repository": { "type": "git", diff --git a/packages/docusaurus-init/templates/bootstrap/package.json b/packages/docusaurus-init/templates/bootstrap/package.json index 180eda2763fa..5f6b47ec4078 100644 --- a/packages/docusaurus-init/templates/bootstrap/package.json +++ b/packages/docusaurus-init/templates/bootstrap/package.json @@ -1,6 +1,6 @@ { "name": "docusaurus-2-bootstrap-template", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/preset-bootstrap": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/preset-bootstrap": "2.0.0-alpha.71", "@mdx-js/react": "^1.5.8", "classnames": "^2.2.6", "react": "^17.0.1", diff --git a/packages/docusaurus-init/templates/classic/package.json b/packages/docusaurus-init/templates/classic/package.json index e26273845f75..32bed133c333 100644 --- a/packages/docusaurus-init/templates/classic/package.json +++ b/packages/docusaurus-init/templates/classic/package.json @@ -1,6 +1,6 @@ { "name": "docusaurus-2-classic-template", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/preset-classic": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/preset-classic": "2.0.0-alpha.71", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "react": "^17.0.1", diff --git a/packages/docusaurus-init/templates/facebook/package.json b/packages/docusaurus-init/templates/facebook/package.json index 8a699a824b9c..081ffdf34d96 100644 --- a/packages/docusaurus-init/templates/facebook/package.json +++ b/packages/docusaurus-init/templates/facebook/package.json @@ -1,6 +1,6 @@ { "name": "docusaurus-2-facebook-template", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -18,8 +18,8 @@ "prettier:diff": "prettier --config .prettierrc --list-different \"**/*.{js,jsx,ts,tsx,md,mdx}\"" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/preset-classic": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/preset-classic": "2.0.0-alpha.71", "@mdx-js/react": "^1.6.21", "clsx": "^1.1.1", "react": "^17.0.1", diff --git a/packages/docusaurus-mdx-loader/package.json b/packages/docusaurus-mdx-loader/package.json index 3ec7467c84c7..2c2936b8461b 100644 --- a/packages/docusaurus-mdx-loader/package.json +++ b/packages/docusaurus-mdx-loader/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/mdx-loader", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docusaurus Loader for MDX", "main": "src/index.js", "publishConfig": { @@ -18,8 +18,8 @@ "dependencies": { "@babel/parser": "^7.12.16", "@babel/traverse": "^7.12.13", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", "escape-html": "^1.0.3", @@ -36,7 +36,7 @@ "webpack": "^4.44.1" }, "devDependencies": { - "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.71", "remark": "^12.0.0", "remark-mdx": "^1.6.21", "to-vfile": "^6.0.0", diff --git a/packages/docusaurus-migrate/package.json b/packages/docusaurus-migrate/package.json index 068589ed1184..a852e214ffba 100644 --- a/packages/docusaurus-migrate/package.json +++ b/packages/docusaurus-migrate/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/migrate", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "A CLI tool to migrate from older versions of Docusuarus.", "main": "lib/index.js", "license": "MIT", diff --git a/packages/docusaurus-module-type-aliases/package.json b/packages/docusaurus-module-type-aliases/package.json index bb7fd8da4932..fbfb3eb23449 100644 --- a/packages/docusaurus-module-type-aliases/package.json +++ b/packages/docusaurus-module-type-aliases/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/module-type-aliases", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docusaurus module type aliases.", "types": "./src/index.d.ts", "publishConfig": { diff --git a/packages/docusaurus-plugin-client-redirects/package.json b/packages/docusaurus-plugin-client-redirects/package.json index ec04929ecaf0..f6173c9832da 100644 --- a/packages/docusaurus-plugin-client-redirects/package.json +++ b/packages/docusaurus-plugin-client-redirects/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-client-redirects", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Client redirects plugin for Docusaurus.", "main": "lib/index.js", "scripts": { @@ -17,10 +17,10 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "chalk": "^3.0.0", "eta": "^1.11.0", "fs-extra": "^9.1.0", diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json index c43187155c05..43c7a248f895 100644 --- a/packages/docusaurus-plugin-content-blog/package.json +++ b/packages/docusaurus-plugin-content-blog/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-content-blog", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Blog plugin for Docusaurus.", "main": "lib/index.js", "types": "index.d.ts", @@ -18,11 +18,11 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/mdx-loader": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "chalk": "^4.1.0", "feed": "^4.2.2", "fs-extra": "^9.1.0", diff --git a/packages/docusaurus-plugin-content-docs/package.json b/packages/docusaurus-plugin-content-docs/package.json index 59c940ff20c4..9b1b7c5efdbc 100644 --- a/packages/docusaurus-plugin-content-docs/package.json +++ b/packages/docusaurus-plugin-content-docs/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-content-docs", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docs plugin for Docusaurus.", "main": "lib/index.js", "types": "src/plugin-content-docs.d.ts", @@ -18,17 +18,17 @@ }, "license": "MIT", "devDependencies": { - "@docusaurus/module-type-aliases": "2.0.0-alpha.70", + "@docusaurus/module-type-aliases": "2.0.0-alpha.71", "@types/picomatch": "^2.2.1", "commander": "^5.1.0", "picomatch": "^2.1.1" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/mdx-loader": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "chalk": "^4.1.0", "execa": "^5.0.0", "fs-extra": "^9.1.0", diff --git a/packages/docusaurus-plugin-content-pages/package.json b/packages/docusaurus-plugin-content-pages/package.json index 4aeea335a214..6727de982a84 100644 --- a/packages/docusaurus-plugin-content-pages/package.json +++ b/packages/docusaurus-plugin-content-pages/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-content-pages", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Pages plugin for Docusaurus.", "main": "lib/index.js", "types": "src/plugin-content-pages.d.ts", @@ -18,11 +18,11 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/mdx-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/mdx-loader": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "globby": "^11.0.2", "joi": "^17.4.0", "loader-utils": "^1.2.3", diff --git a/packages/docusaurus-plugin-debug/package.json b/packages/docusaurus-plugin-debug/package.json index e875d945b070..52322ff3a8d6 100644 --- a/packages/docusaurus-plugin-debug/package.json +++ b/packages/docusaurus-plugin-debug/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-debug", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Debug plugin for Docusaurus.", "main": "lib/index.js", "scripts": { @@ -17,9 +17,9 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", "react-json-view": "^1.21.1" }, "peerDependencies": { diff --git a/packages/docusaurus-plugin-google-analytics/package.json b/packages/docusaurus-plugin-google-analytics/package.json index 6db67d3d7cf4..d23e9f103d2e 100644 --- a/packages/docusaurus-plugin-google-analytics/package.json +++ b/packages/docusaurus-plugin-google-analytics/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-google-analytics", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Global analytics (analytics.js) plugin for Docusaurus.", "main": "src/index.js", "publishConfig": { @@ -13,7 +13,7 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70" + "@docusaurus/core": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-google-gtag/package.json b/packages/docusaurus-plugin-google-gtag/package.json index 5b30a7197948..263f49458573 100644 --- a/packages/docusaurus-plugin-google-gtag/package.json +++ b/packages/docusaurus-plugin-google-gtag/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-google-gtag", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Global Site Tag (gtag.js) plugin for Docusaurus.", "main": "src/index.js", "publishConfig": { @@ -13,7 +13,7 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70" + "@docusaurus/core": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-plugin-ideal-image/package.json b/packages/docusaurus-plugin-ideal-image/package.json index b783d31916a0..9efff025a25e 100644 --- a/packages/docusaurus-plugin-ideal-image/package.json +++ b/packages/docusaurus-plugin-ideal-image/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-ideal-image", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder).", "main": "lib/index.js", "scripts": { @@ -20,9 +20,9 @@ "fs-extra": "^9.1.0" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/lqip-loader": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/lqip-loader": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", "@endiliey/react-ideal-image": "^0.0.11", "@endiliey/responsive-loader": "^1.3.2", "react-waypoint": "^9.0.2", diff --git a/packages/docusaurus-plugin-pwa/package.json b/packages/docusaurus-plugin-pwa/package.json index a4826cc3bc55..a4fb618952fd 100644 --- a/packages/docusaurus-plugin-pwa/package.json +++ b/packages/docusaurus-plugin-pwa/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-pwa", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docusaurus Plugin to add PWA support.", "main": "src/index.js", "publishConfig": { @@ -16,7 +16,7 @@ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", "@babel/plugin-proposal-optional-chaining": "^7.12.16", "@babel/preset-env": "^7.12.16", - "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", "babel-loader": "^8.2.2", "clsx": "^1.1.1", "core-js": "^2.6.5", diff --git a/packages/docusaurus-plugin-sitemap/package.json b/packages/docusaurus-plugin-sitemap/package.json index 56ed2fc51f2d..5d962f938318 100644 --- a/packages/docusaurus-plugin-sitemap/package.json +++ b/packages/docusaurus-plugin-sitemap/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/plugin-sitemap", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Simple sitemap generation plugin for Docusaurus.", "main": "lib/index.js", "scripts": { @@ -17,9 +17,9 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", "fs-extra": "^9.1.0", "joi": "^17.4.0", "sitemap": "^6.3.6" diff --git a/packages/docusaurus-preset-bootstrap/package.json b/packages/docusaurus-preset-bootstrap/package.json index 69b9a3f394f3..59c1afe42a10 100644 --- a/packages/docusaurus-preset-bootstrap/package.json +++ b/packages/docusaurus-preset-bootstrap/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/preset-bootstrap", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Bootstrap preset for Docusaurus.", "main": "src/index.js", "license": "MIT", @@ -13,11 +13,11 @@ "directory": "packages/docusaurus-preset-bootstrap" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/theme-bootstrap": "2.0.0-alpha.70" + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.71", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.71", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.71", + "@docusaurus/theme-bootstrap": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-preset-classic/package.json b/packages/docusaurus-preset-classic/package.json index 4fee28c31e39..102c114c705b 100644 --- a/packages/docusaurus-preset-classic/package.json +++ b/packages/docusaurus-preset-classic/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/preset-classic", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Classic preset for Docusaurus.", "main": "src/index.js", "publishConfig": { @@ -13,16 +13,16 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/plugin-debug": "2.0.0-alpha.70", - "@docusaurus/plugin-google-analytics": "2.0.0-alpha.70", - "@docusaurus/plugin-google-gtag": "2.0.0-alpha.70", - "@docusaurus/plugin-sitemap": "2.0.0-alpha.70", - "@docusaurus/theme-classic": "2.0.0-alpha.70", - "@docusaurus/theme-search-algolia": "2.0.0-alpha.70" + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.71", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.71", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.71", + "@docusaurus/plugin-debug": "2.0.0-alpha.71", + "@docusaurus/plugin-google-analytics": "2.0.0-alpha.71", + "@docusaurus/plugin-google-gtag": "2.0.0-alpha.71", + "@docusaurus/plugin-sitemap": "2.0.0-alpha.71", + "@docusaurus/theme-classic": "2.0.0-alpha.71", + "@docusaurus/theme-search-algolia": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-remark-plugin-npm2yarn/package.json b/packages/docusaurus-remark-plugin-npm2yarn/package.json index c452daacaafc..00333ebf2ba6 100644 --- a/packages/docusaurus-remark-plugin-npm2yarn/package.json +++ b/packages/docusaurus-remark-plugin-npm2yarn/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/remark-plugin-npm2yarn", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Remark plugin for converting npm commands to Yarn commands as tabs.", "main": "src/index.js", "publishConfig": { diff --git a/packages/docusaurus-theme-bootstrap/package.json b/packages/docusaurus-theme-bootstrap/package.json index a8f6b780fe36..309ab9d93ab6 100644 --- a/packages/docusaurus-theme-bootstrap/package.json +++ b/packages/docusaurus-theme-bootstrap/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/theme-bootstrap", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Bootstrap theme for Docusaurus.", "main": "src/index.js", "types": "src/types.d.ts", @@ -14,12 +14,12 @@ "directory": "packages/docusaurus-theme-bootstrap" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.71", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.71", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.71", + "@docusaurus/theme-common": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", "@mdx-js/react": "^1.6.21", "bootstrap": "^4.4.1", "classnames": "^2.2.6", @@ -28,7 +28,7 @@ "reactstrap": "^8.4.1" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.0.0-alpha.70" + "@docusaurus/module-type-aliases": "2.0.0-alpha.71" }, "scripts": { "build": "tsc --noEmit && yarn babel && yarn prettier", diff --git a/packages/docusaurus-theme-classic/package.json b/packages/docusaurus-theme-classic/package.json index b188b576ae1b..e69d0e45a9b3 100644 --- a/packages/docusaurus-theme-classic/package.json +++ b/packages/docusaurus-theme-classic/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/theme-classic", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Classic theme for Docusaurus", "main": "lib/index.js", "types": "src/types.d.ts", @@ -23,19 +23,22 @@ "update-code-translations": "node update-code-translations.js" }, "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.71", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.71", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.71", + "@docusaurus/theme-common": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "@mdx-js/mdx": "^1.6.21", "@mdx-js/react": "^1.6.21", "@types/react-toggle": "^4.0.2", + "chalk": "^4.1.0", "clsx": "^1.1.1", "copy-text-to-clipboard": "^3.0.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", "infima": "0.2.0-alpha.20", "joi": "^17.4.0", "lodash": "^4.17.20", @@ -46,13 +49,10 @@ "prop-types": "^15.7.2", "react-router-dom": "^5.2.0", "react-toggle": "^4.1.1", - "rtlcss": "^2.6.2", - "chalk": "^4.1.0", - "fs-extra": "^9.1.0", - "globby": "^11.0.2" + "rtlcss": "^2.6.2" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.0.0-alpha.70" + "@docusaurus/module-type-aliases": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-theme-common/package.json b/packages/docusaurus-theme-common/package.json index 2f35298353f5..d81d052bed6f 100644 --- a/packages/docusaurus-theme-common/package.json +++ b/packages/docusaurus-theme-common/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/theme-common", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Common code for Docusaurus themes.", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -18,14 +18,14 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-content-blog": "2.0.0-alpha.70", - "@docusaurus/plugin-content-docs": "2.0.0-alpha.70", - "@docusaurus/plugin-content-pages": "2.0.0-alpha.70", - "@docusaurus/types": "2.0.0-alpha.70" + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-content-blog": "2.0.0-alpha.71", + "@docusaurus/plugin-content-docs": "2.0.0-alpha.71", + "@docusaurus/plugin-content-pages": "2.0.0-alpha.71", + "@docusaurus/types": "2.0.0-alpha.71" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.0.0-alpha.70" + "@docusaurus/module-type-aliases": "2.0.0-alpha.71" }, "peerDependencies": { "react": "^16.8.4 || ^17.0.0", diff --git a/packages/docusaurus-theme-live-codeblock/package.json b/packages/docusaurus-theme-live-codeblock/package.json index 797512dc7e2a..dad1d80ea19e 100644 --- a/packages/docusaurus-theme-live-codeblock/package.json +++ b/packages/docusaurus-theme-live-codeblock/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/theme-live-codeblock", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Docusaurus live code block component.", "main": "src/index.js", "publishConfig": { @@ -13,7 +13,7 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/core": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", "@philpl/buble": "^0.19.7", "clsx": "^1.1.1", "joi": "^17.4.0", diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index 9bef3ec4b507..82225d0204ee 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/theme-search-algolia", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Algolia search component for Docusaurus.", "main": "src/index.js", "publishConfig": { @@ -14,9 +14,9 @@ "license": "MIT", "dependencies": { "@docsearch/react": "^3.0.0-alpha.33", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/theme-common": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/theme-common": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", "algoliasearch": "^4.8.4", "algoliasearch-helper": "^3.3.4", "clsx": "^1.1.1", diff --git a/packages/docusaurus-types/package.json b/packages/docusaurus-types/package.json index ea0a029fa8db..fb28ead5987a 100644 --- a/packages/docusaurus-types/package.json +++ b/packages/docusaurus-types/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/types", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Common types for Docusaurus packages.", "main": "./src/index.js", "types": "./src/index.d.ts", diff --git a/packages/docusaurus-utils-validation/package.json b/packages/docusaurus-utils-validation/package.json index 192df0a01b2c..1db3c4086e50 100644 --- a/packages/docusaurus-utils-validation/package.json +++ b/packages/docusaurus-utils-validation/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/utils-validation", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Node validation utility functions for Docusaurus packages.", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -18,7 +18,7 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/utils": "2.0.0-alpha.70", + "@docusaurus/utils": "2.0.0-alpha.71", "chalk": "^4.1.0", "joi": "^17.4.0" }, diff --git a/packages/docusaurus-utils/package.json b/packages/docusaurus-utils/package.json index 4a34b4de6b5c..a1a7de01e56e 100644 --- a/packages/docusaurus-utils/package.json +++ b/packages/docusaurus-utils/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/utils", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Node utility functions for Docusaurus packages.", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -18,7 +18,7 @@ }, "license": "MIT", "dependencies": { - "@docusaurus/types": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.71", "@types/github-slugger": "^1.3.0", "chalk": "^4.1.0", "escape-string-regexp": "^4.0.0", diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index 2563b7bad52c..df75799681be 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -1,7 +1,7 @@ { "name": "@docusaurus/core", "description": "Easy to Maintain Open Source Documentation Websites", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "license": "MIT", "publishConfig": { "access": "public" @@ -31,7 +31,7 @@ "url": "https://github.com/facebook/docusaurus/issues" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.0.0-alpha.70", + "@docusaurus/module-type-aliases": "2.0.0-alpha.71", "@types/detect-port": "^1.3.0", "@types/nprogress": "^0.2.0", "tmp-promise": "^3.0.2" @@ -49,11 +49,11 @@ "@babel/runtime": "^7.12.5", "@babel/runtime-corejs3": "^7.12.13", "@babel/traverse": "^7.12.13", - "@docusaurus/cssnano-preset": "2.0.0-alpha.70", + "@docusaurus/cssnano-preset": "2.0.0-alpha.71", "@docusaurus/react-loadable": "5.5.0", - "@docusaurus/types": "2.0.0-alpha.70", - "@docusaurus/utils": "2.0.0-alpha.70", - "@docusaurus/utils-validation": "2.0.0-alpha.70", + "@docusaurus/types": "2.0.0-alpha.71", + "@docusaurus/utils": "2.0.0-alpha.71", + "@docusaurus/utils-validation": "2.0.0-alpha.71", "@endiliey/static-site-generator-webpack-plugin": "^4.0.0", "@svgr/webpack": "^5.5.0", "autoprefixer": "^10.2.5", diff --git a/packages/lqip-loader/package.json b/packages/lqip-loader/package.json index 6291cb7f7f20..a851bf512c26 100644 --- a/packages/lqip-loader/package.json +++ b/packages/lqip-loader/package.json @@ -1,6 +1,6 @@ { "name": "@docusaurus/lqip-loader", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Low Quality Image Placeholders (LQIP) loader for webpack.", "main": "src/index.js", "publishConfig": { diff --git a/packages/stylelint-copyright/package.json b/packages/stylelint-copyright/package.json index 3d0cfa673674..c9ecec8e805b 100644 --- a/packages/stylelint-copyright/package.json +++ b/packages/stylelint-copyright/package.json @@ -1,6 +1,6 @@ { "name": "stylelint-copyright", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "description": "Stylelint plugin to check CSS files for a copyright header.", "main": "index.js", "license": "MIT", diff --git a/website-1.x/package.json b/website-1.x/package.json index 5bf8aca3794a..047c6658afeb 100644 --- a/website-1.x/package.json +++ b/website-1.x/package.json @@ -1,6 +1,6 @@ { "name": "docusaurus-1-website", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private": true, "scripts": { "start": "docusaurus-start", @@ -15,6 +15,6 @@ "netlify:build": "yarn crowdin-download && yarn build" }, "dependencies": { - "docusaurus": "2.0.0-alpha.70" + "docusaurus": "2.0.0-alpha.71" } } diff --git a/website/package.json b/website/package.json index eaac3416791b..27796405219a 100644 --- a/website/package.json +++ b/website/package.json @@ -1,6 +1,6 @@ { "name": "docusaurus-2-website", - "version": "2.0.0-alpha.70", + "version": "2.0.0-alpha.71", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -31,13 +31,13 @@ }, "dependencies": { "@crowdin/cli": "^3.5.2", - "@docusaurus/core": "2.0.0-alpha.70", - "@docusaurus/plugin-client-redirects": "2.0.0-alpha.70", - "@docusaurus/plugin-ideal-image": "2.0.0-alpha.70", - "@docusaurus/plugin-pwa": "2.0.0-alpha.70", - "@docusaurus/preset-classic": "2.0.0-alpha.70", - "@docusaurus/remark-plugin-npm2yarn": "2.0.0-alpha.70", - "@docusaurus/theme-live-codeblock": "2.0.0-alpha.70", + "@docusaurus/core": "2.0.0-alpha.71", + "@docusaurus/plugin-client-redirects": "2.0.0-alpha.71", + "@docusaurus/plugin-ideal-image": "2.0.0-alpha.71", + "@docusaurus/plugin-pwa": "2.0.0-alpha.71", + "@docusaurus/preset-classic": "2.0.0-alpha.71", + "@docusaurus/remark-plugin-npm2yarn": "2.0.0-alpha.71", + "@docusaurus/theme-live-codeblock": "2.0.0-alpha.71", "clsx": "^1.1.1", "color": "^3.1.3", "npm-to-yarn": "^1.0.0-2", diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/docusaurus.config.js.md b/website/versioned_docs/version-2.0.0-alpha.71/api/docusaurus.config.js.md new file mode 100644 index 000000000000..fcdc89450b8f --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/docusaurus.config.js.md @@ -0,0 +1,477 @@ +--- +id: docusaurus.config.js +title: docusaurus.config.js +description: API reference for Docusaurus configuration file. +slug: /docusaurus.config.js +--- + +## Overview + +`docusaurus.config.js` contains configurations for your site and is placed in the root directory of your site. + +## Required fields + +### `title` + +- Type: `string` + +Title for your website. + +```js title="docusaurus.config.js" +module.exports = { + title: 'Docusaurus', +}; +``` + +### `favicon` + +- Type: `string` + +URL for site favicon. Example: + +```js title="docusaurus.config.js" +module.exports = { + favicon: 'https://v2.docusaurus.io/favicon.ico', +}; +``` + +You can also use the favicon URL relative to the `static` directory of your site. For example, your site has the following directory structure: + +```bash +. +├── README.md +├ # ... other files in root directory +└─ static + └── img + └── favicon.ico +``` + +So you can refer it like below: + +```js title="docusaurus.config.js" +module.exports = { + favicon: 'img/favicon.ico', +}; +``` + +### `url` + +- Type: `string` + +URL for your website. This can also be considered the top-level hostname. For example, `https://facebook.github.io` is the URL of https://facebook.github.io/metro/, and `https://docusaurus.io` is the URL for https://docusaurus.io. This field is related to the [baseUrl](#baseurl) field. + +```js title="docusaurus.config.js" +module.exports = { + url: 'https://docusaurus.io', +}; +``` + +### `baseUrl` + +- Type: `string` + +Base URL for your site. This can also be considered the path after the host. For example, `/metro/` is the baseUrl of https://facebook.github.io/metro/. For URLs that have no path, the baseUrl should be set to `/`. This field is related to the [url](#url) field. + +```js title="docusaurus.config.js" +module.exports = { + baseUrl: '/', +}; +``` + +## Optional fields + +### `i18n` + +- Type: `Object` + +The i18n configuration object to [localize your site](../i18n/i18n-introduction.md). + +Example: + +```js title="docusaurus.config.js" +module.exports = { + i18n: { + defaultLocale: 'en', + locales: ['en', 'fr'], + localeConfigs: { + en: { + label: 'English', + direction: 'ltr', + }, + fr: { + label: 'Français', + direction: 'ltr', + }, + }, + }, +}; +``` + +- `label`: the label to use for this locale +- `direction`: `ltr` (default) or `rtl` (for [right-to-left languages](https://developer.mozilla.org/en-US/docs/Glossary/rtl) like Araric, Hebrew, etc.) + +### `noIndex` + +- Type: `boolean` + +This option adds `` in pages, to tell search engines to avoid indexing your site (more information [here](https://moz.com/learn/seo/robots-meta-directives)). + +Example: + +```js title="docusaurus.config.js" +module.exports = { + noIndex: true, // Defaults to `false` +}; +``` + +### `onBrokenLinks` + +- Type: `'ignore' | 'log' | 'warn' | 'error' | 'throw'` + +The behavior of Docusaurus, when it detects any broken link. + +By default, it throws an error, to ensure you never ship any broken link, but you can lower this security if needed. + +:::note + +The broken links detection is only available for a production build (`docusaurus build`). + +::: + +### `onBrokenMarkdownLinks` + +- Type: `'ignore' | 'log' | 'warn' | 'error' | 'throw'` + +The behavior of Docusaurus, when it detects any broken markdown link. + +By default, it prints a warning, to let you know about your broken markdown link, but you can change this security if needed. + +### `onDuplicateRoutes` + +- Type: `'ignore' | 'log' | 'warn' | 'error' | 'throw'` + +The behavior of Docusaurus when it detects any [duplicate routes](/guides/creating-pages.md#duplicate-routes). + +By default, it displays a warning after you run `yarn start` or `yarn build`. + +### `tagline` + +- Type: `string` + +The tagline for your website. + +```js title="docusaurus.config.js" +module.exports = { + tagline: + 'Docusaurus makes it easy to maintain Open Source documentation websites.', +}; +``` + +### `organizationName` + +- Type: `string` + +The GitHub user or organization that owns the repository. Used by the deployment command. + +```js title="docusaurus.config.js" +module.exports = { + // Docusaurus' organization is facebook + organizationName: 'facebook', +}; +``` + +### `projectName` + +- Type: `string` + +The name of the GitHub repository. Used by the deployment command. + +```js title="docusaurus.config.js" +module.exports = { + projectName: 'docusaurus', +}; +``` + +### `githubHost` + +- Type: `string` + +The hostname of your server. Useful if you are using GitHub Enterprise. + +```js title="docusaurus.config.js" +module.exports = { + githubHost: 'github.com', +}; +``` + +### `themeConfig` + +- Type: `Object` + +The [theme configuration](./themes/theme-configuration.md) object, to customize your site UI like navbar, footer. + +Example: + +```js title="docusaurus.config.js" +module.exports = { + themeConfig: { + hideableSidebar: false, + colorMode: { + defaultMode: 'light', + disableSwitch: false, + respectPrefersColorScheme: true, + switchConfig: { + darkIcon: '🌙', + lightIcon: '\u2600', + // React inline style object + // see https://reactjs.org/docs/dom-elements.html#style + darkIconStyle: { + marginLeft: '2px', + }, + lightIconStyle: { + marginLeft: '1px', + }, + }, + }, + navbar: { + title: 'Site Title', + logo: { + alt: 'Site Logo', + src: 'img/logo.svg', + }, + items: [ + { + to: 'docs/docusaurus.config.js', + activeBasePath: 'docs', + label: 'docusaurus.config.js', + position: 'left', + }, + // ... other links + ], + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + { + label: 'Docs', + to: 'docs/doc1', + }, + ], + }, + // ... other links + ], + logo: { + alt: 'Facebook Open Source Logo', + src: 'https://docusaurus.io/img/oss_logo.png', + }, + copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc.`, // You can also put own HTML here + }, + }, +}; +``` + +### `plugins` + + + +- Type: `any[]` + +```js title="docusaurus.config.js" +module.exports = { + plugins: [], +}; +``` + +### `themes` + + + +- Type: `any[]` + +```js title="docusaurus.config.js" +module.exports = { + themes: [], +}; +``` + +### `presets` + + + +- Type: `any[]` + +```js title="docusaurus.config.js" +module.exports = { + presets: [], +}; +``` + +### `customFields` + +Docusaurus guards `docusaurus.config.js` from unknown fields. To add a custom field, define it on `customFields`. + +- Type: `Object` + +```js title="docusaurus.config.js" +module.exports = { + customFields: { + admin: 'endi', + superman: 'lol', + }, +}; +``` + +Attempting to add unknown field in the config will lead to error in build time: + +```bash +Error: The field(s) 'foo', 'bar' are not recognized in docusaurus.config.js +``` + +### `scripts` + +An array of scripts to load. The values can be either strings or plain objects of attribute-value maps. The ` + <% }); %> + <%~ it.postBodyTags %> + + +}; +``` + +### `stylesheets` + +An array of CSS sources to load. The values can be either strings or plain objects of attribute-value maps. The `` tags will be inserted in the HTML ``. + +- Type: `(string | Object)[]` + +Example: + +```js title="docusaurus.config.js" +module.exports = { + stylesheets: [ + // String format. + 'https://docusaurus.io/style.css', + // Object format. + { + href: 'http://mydomain.com/style.css', + type: 'text/css', + }, + ], +}; +``` + +### `titleDelimiter` + +- Type: `string` + +A string that will be used as title delimiter in the generated `` tag. + +Example: + +```js title="docusaurus.config.js" +module.exports = { + titleDelimiter: '🦖', // Defaults to `|` +}; +``` + +### `baseUrlIssueBanner` + +- Type: `boolean` + +When enabled, will show a banner in case your site can't load its CSS or JavaScript files, which is a very common issue, often related to a wrong `baseUrl` in site config. + +Example: + +```js title="docusaurus.config.js" +module.exports = { + baseUrlIssueBanner: true, // Defaults to `true` +}; +``` + +![baseUrlIssueBanner](/img/baseUrlIssueBanner.png) + +:::caution + +This banner need to inline CSS / JS. + +If you have a strict [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP), you should rather disable it. + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/overview.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/overview.md new file mode 100644 index 000000000000..b9ddd805b5e7 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/overview.md @@ -0,0 +1,28 @@ +--- +id: plugins-overview +title: 'Docusaurus plugins' +sidebar_label: Plugins overview +slug: '/api/plugins' +--- + +We provide official Docusaurus plugins. + +## Content plugins + +These plugins are responsible to load your site's content, and create pages for your theme to render. + +- [@docusaurus/plugin-content-docs](./plugin-content-docs.md) +- [@docusaurus/plugin-content-blog](./plugin-content-blog.md) +- [@docusaurus/plugin-content-pages](./plugin-content-pages.md) + +## Behavior plugins + +These plugins will add a useful behavior to your Docusaurus site. + +- [@docusaurus/plugin-debug](./plugin-debug.md) +- [@docusaurus/plugin-sitemap](./plugin-sitemap.md) +- [@docusaurus/plugin-pwa](./plugin-pwa.md) +- [@docusaurus/plugin-client-redirects](./plugin-client-redirects.md) +- [@docusaurus/plugin-ideal-image](./plugin-ideal-image.md) +- [@docusaurus/plugin-google-analytics](./plugin-google-analytics.md) +- [@docusaurus/plugin-google-gtag](./plugin-google-gtag.md) diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-client-redirects.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-client-redirects.md new file mode 100644 index 000000000000..513ef09ba8a1 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-client-redirects.md @@ -0,0 +1,129 @@ +--- +id: plugin-client-redirects +title: '📦 plugin-client-redirects' +slug: '/api/plugins/@docusaurus/plugin-client-redirects' +--- + +Docusaurus Plugin to generate **client-side redirects**. + +This plugin will write additional HTML pages to your static site, that redirects the user to your existing Docusaurus pages with JavaScript. + +:::note + +This plugin only create redirects for the production build. + +::: + +:::caution + +It is better to use server-side redirects whenever possible. + +Before using this plugin, you should look if your hosting provider doesn't offer this feature. + +::: + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-client-redirects +``` + +## Configuration + +Main usecase: you have `/myDocusaurusPage`, and you want to redirect to this page from `/myDocusaurusPage.html`: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + fromExtensions: ['html'], + }, + ], + ], +}; +``` + +Second usecase: you have `/myDocusaurusPage.html`, and you want to redirect to this page from `/myDocusaurusPage`. + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + toExtensions: ['html'], + }, + ], + ], +}; +``` + +For custom redirect logic, provide your own `createRedirects` function. + +Let's imagine you change the url of an existing page, you might want to make sure the old url still works: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + redirects: [ + { + to: '/docs/newDocPath', // string + from: ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016'], // string | string[] + }, + ], + }, + ], + ], +}; +``` + +It's possible to use a function to create the redirects for each existing path: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + createRedirects: function (existingPath) { + if (existingPath === '/docs/newDocPath') { + return ['/docs/oldDocPathFrom2019', '/docs/legacyDocPathFrom2016']; // string | string[] + } + }, + }, + ], + ], +}; +``` + +Finally, it's possible to use all options at the same time: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-client-redirects', + { + fromExtensions: ['html', 'htm'], + toExtensions: ['exe', 'zip'], + redirects: [ + { + to: '/docs/newDocPath', + from: '/docs/oldDocPath', + }, + ], + createRedirects: function (existingPath) { + if (existingPath === '/docs/newDocPath2') { + return ['/docs/oldDocPath2']; + } + }, + }, + ], + ], +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-blog.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-blog.md new file mode 100644 index 000000000000..a320a91f3bc8 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-blog.md @@ -0,0 +1,140 @@ +--- +id: plugin-content-blog +title: '📦 plugin-content-blog' +slug: '/api/plugins/@docusaurus/plugin-content-blog' +--- + +Provides the [Blog](blog.md) feature and is the default blog plugin for Docusaurus. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-content-blog +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. You can also configure it through the [classic preset options](presets.md#docusauruspreset-classic) instead of doing it like below. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-content-blog', + { + /** + * Path to data on filesystem relative to site dir. + */ + path: 'blog', + /** + * Base url to edit your site. + * Docusaurus will compute the final editUrl with "editUrl + relativeDocPath" + */ + editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/', + /** + * For advanced cases, compute the edit url for each markdown file yourself. + */ + editUrl: ({locale, blogDirPath, blogPath, permalink}) => { + return `https://github.com/facebook/docusaurus/edit/master/website/${blogDirPath}/${blogPath}`; + }, + /** + * Useful if you commit localized files to git. + * When markdown files are localized, the edit url will target the localized file, + * instead of the original unlocalized file. + * Note: this option is ignored when editUrl is a function + */ + editLocalizedFiles: false, + /** + * Blog page title for better SEO + */ + blogTitle: 'Blog title', + /** + * Blog page meta description for better SEO + */ + blogDescription: 'Blog', + /** + * Number of blog post elements to show in the blog sidebar + * 'ALL' to show all blog posts + * 0 to disable + */ + blogSidebarCount: 5, + /** + * Title of the blog sidebar + */ + blogSidebarTitle: 'All our posts', + /** + * URL route for the blog section of your site. + * *DO NOT* include a trailing slash. + */ + routeBasePath: 'blog', + include: ['*.md', '*.mdx'], + postsPerPage: 10, + /** + * Theme components used by the blog pages. + */ + blogListComponent: '@theme/BlogListPage', + blogPostComponent: '@theme/BlogPostPage', + blogTagsListComponent: '@theme/BlogTagsListPage', + blogTagsPostsComponent: '@theme/BlogTagsPostsPage', + /** + * Remark and Rehype plugins passed to MDX. + */ + remarkPlugins: [ + /* require('remark-math') */ + ], + rehypePlugins: [], + /** + * Custom Remark and Rehype plugins passed to MDX before + * the default Docusaurus Remark and Rehype plugins. + */ + beforeDefaultRemarkPlugins: [], + beforeDefaultRehypePlugins: [], + /** + * Truncate marker, can be a regex or string. + */ + truncateMarker: /<!--\s*(truncate)\s*-->/, + /** + * Show estimated reading time for the blog post. + */ + showReadingTime: true, + /** + * Blog feed. + * If feedOptions is undefined, no rss feed will be generated. + */ + feedOptions: { + type: '', // required. 'rss' | 'feed' | 'all' + title: '', // default to siteConfig.title + description: '', // default to `${siteConfig.title} Blog` + copyright: '', + language: undefined, // possible values: http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes + }, + }, + ], + ], +}; +``` + +## i18n + +Read the [i18n introduction](../../i18n/i18n-introduction.md) first. + +### Translation files location + +- **Base path**: `website/i18n/<locale>/docusaurus-plugin-content-blog` +- **Multi-instance path**: `website/i18n/<locale>/docusaurus-plugin-content-blog-<pluginId>` +- **JSON files**: N/A +- **Markdown files**: `website/i18n/<locale>/docusaurus-plugin-content-blog` + +### Example file-system structure + +```bash +website/i18n/<locale>/docusaurus-plugin-content-blog +│ +│ # translations for website/blog +├── first-blog-post.md +└── second-blog-post.md +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-docs.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-docs.md new file mode 100644 index 000000000000..e3f4f2b9ff2d --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-docs.md @@ -0,0 +1,215 @@ +--- +id: plugin-content-docs +title: '📦 plugin-content-docs' +slug: '/api/plugins/@docusaurus/plugin-content-docs' +--- + +Provides the [Docs](../../guides/docs/docs-introduction.md) functionality and is the default docs plugin for Docusaurus. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-content-docs +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. You can also configure it through the [classic preset options](presets.md#docusauruspreset-classic) instead of doing it like below. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-content-docs', + { + /** + * Path to data on filesystem relative to site dir. + */ + path: 'docs', + /** + * Base url to edit your site. + * Docusaurus will compute the final editUrl with "editUrl + relativeDocPath" + */ + editUrl: 'https://github.com/facebook/docusaurus/edit/master/website/', + /** + * For advanced cases, compute the edit url for each markdown file yourself. + */ + editUrl: function ({ + locale, + version, + versionDocsDirPath, + docPath, + permalink, + }) { + return `https://github.com/facebook/docusaurus/edit/master/website/${versionDocsDirPath}/${docPath}`; + }, + /** + * Useful if you commit localized files to git. + * When markdown files are localized, the edit url will target the localized file, + * instead of the original unlocalized file. + * Note: this option is ignored when editUrl is a function + */ + editLocalizedFiles: false, + /** + * Useful if you don't want users to submit doc pull-requests to older versions. + * When docs are versioned, the edit url will link to the doc + * in current version, instead of the versioned doc. + * Note: this option is ignored when editUrl is a function + */ + editCurrentVersion: false, + /** + * URL route for the docs section of your site. + * *DO NOT* include a trailing slash. + * INFO: It is possible to set just `/` for shipping docs without base path. + */ + routeBasePath: 'docs', + include: ['**/*.md', '**/*.mdx'], // Extensions to include. + /** + * Path to sidebar configuration for showing a list of markdown pages. + * Warning: will change + */ + sidebarPath: '', + /** + * Theme components used by the docs pages + */ + docLayoutComponent: '@theme/DocPage', + docItemComponent: '@theme/DocItem', + /** + * Remark and Rehype plugins passed to MDX + */ + remarkPlugins: [ + /* require('remark-math') */ + ], + rehypePlugins: [], + /** + * Custom Remark and Rehype plugins passed to MDX before + * the default Docusaurus Remark and Rehype plugins. + */ + beforeDefaultRemarkPlugins: [], + beforeDefaultRehypePlugins: [], + /** + * Whether to display the author who last updated the doc. + */ + showLastUpdateAuthor: false, + /** + * Whether to display the last date the doc was updated. + */ + showLastUpdateTime: false, + /** + * By default, versioning is enabled on versioned sites. + * This is a way to explicitly disable the versioning feature. + */ + disableVersioning: false, + /** + * Skip the next release docs when versioning is enabled. + * This will not generate HTML files in the production build for documents + * in `/docs/next` directory, only versioned docs. + */ + excludeNextVersionDocs: false, + /** + * The last version is the one we navigate to in priority on versioned sites + * It is the one displayed by default in docs navbar items + * By default, the last version is the first one to appear in versions.json + * By default, the last version is at the "root" (docs have path=/docs/myDoc) + * Note: it is possible to configure the path and label of the last version + * Tip: using lastVersion: 'current' make sense in many cases + */ + lastVersion: undefined, + /** + * The docusaurus versioning defaults don't make sense for all projects + * This gives the ability customize the label and path of each version + * You may not like that default version + */ + versions: { + /* + Example configuration: + current: { + label: 'Android SDK v2.0.0 (WIP)', + path: 'android-2.0.0', + }, + '1.0.0': { + label: 'Android SDK v1.0.0', + path: 'android-1.0.0', + }, + */ + }, + /** + * Sometimes you only want to include a subset of all available versions. + * Tip: limit to 2 or 3 versions to improve startup and build time in dev and deploy previews + */ + onlyIncludeVersions: undefined, // ex: ["current", "1.0.0", "2.0.0"] + }, + ], + ], +}; +``` + +## Markdown Frontmatter + +Markdown documents can use the following markdown frontmatter metadata fields, enclosed by a line `---` on either side: + +- `id`: A unique document id. If this field is not present, the document's `id` will default to its file name (without the extension) +- `title`: The title of your document. If this field is not present, the document's `title` will default to its `id` +- `hide_title`: Whether to hide the title at the top of the doc. By default it is `false` +- `hide_table_of_contents`: Whether to hide the table of contents to the right. By default it is `false` +- `sidebar_label`: The text shown in the document sidebar and in the next/previous button for this document. If this field is not present, the document's `sidebar_label` will default to its `title` +- `custom_edit_url`: The URL for editing this document. If this field is not present, the document's edit URL will fall back to `editUrl` from options fields passed to `docusaurus-plugin-content-docs` +- `keywords`: Keywords meta tag for the document page, for search engines +- `description`: The description of your document, which will become the `<meta name="description" content="..."/>` and `<meta property="og:description" content="..."/>` in `<head>`, used by search engines. If this field is not present, it will default to the first line of the contents +- `image`: Cover or thumbnail image that will be used when displaying the link to your post +- `slug`: Allows to customize the document url + +Example: + +```yml +--- +id: doc-markdown +title: Markdown Features +hide_title: false +hide_table_of_contents: false +sidebar_label: Markdown :) +custom_edit_url: https://github.com/facebook/docusaurus/edit/master/docs/api-doc-markdown.md +description: How do I find you when I cannot solve this problem +keywords: + - docs + - docusaurus +image: https://i.imgur.com/mErPwqL.png +slug: /myDoc +--- +My Document Markdown content +``` + +## i18n + +Read the [i18n introduction](../../i18n/i18n-introduction.md) first. + +### Translation files location + +- **Base path**: `website/i18n/<locale>/docusaurus-plugin-content-docs` +- **Multi-instance path**: `website/i18n/<locale>/docusaurus-plugin-content-docs-<pluginId>` +- **JSON files**: extracted with [`docusaurus write-translations`](../../cli.md#docusaurus-write-translations) +- **Markdown files**: `website/i18n/<locale>/docusaurus-plugin-content-docs/<version>` + +### Example file-system structure + +```bash +website/i18n/<locale>/docusaurus-plugin-content-docs +│ +│ # translations for website/docs +├── current +│   ├── api +│   │   └── config.md +│   └── getting-started.md +├── current.json +│ +│ # translations for website/versioned_docs/version-1.0.0 +├── version-1.0.0 +│   ├── api +│   │   └── config.md +│   └── getting-started.md +└── version-1.0.0.json +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-pages.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-pages.md new file mode 100644 index 000000000000..b63ba654d174 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-content-pages.md @@ -0,0 +1,89 @@ +--- +id: plugin-content-pages +title: '📦 plugin-content-pages' +slug: '/api/plugins/@docusaurus/plugin-content-pages' +--- + +The default pages plugin for Docusaurus. The classic template ships with this plugin with default configurations. This plugin provides [creating pages](guides/creating-pages.md) functionality. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-content-pages +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. You can also configure it through the [classic preset options](presets.md#docusauruspreset-classic) instead of doing it like below. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-content-pages', + { + /** + * Path to data on filesystem + * relative to site dir + * components in this directory will be automatically converted to pages + */ + path: 'src/pages', + /** + * URL route for the page section of your site + * do not include trailing slash + */ + routeBasePath: '', + include: ['**/*.{js,jsx,ts,tsx,md,mdx}'], + /** + * No Route will be created for matching files + */ + exclude: [ + '**/_*.{js,jsx,ts,tsx,md,mdx}', + '**/*.test.{js,ts}', + '**/__tests__/**', + ], + /** + * Theme component used by markdown pages. + */ + mdxPageComponent: '@theme/MDXPage', + /** + * Remark and Rehype plugins passed to MDX + */ + remarkPlugins: [], + rehypePlugins: [], + /** + * Custom Remark and Rehype plugins passed to MDX before + * the default Docusaurus Remark and Rehype plugins. + */ + beforeDefaultRemarkPlugins: [], + beforeDefaultRehypePlugins: [], + }, + ], + ], +}; +``` + +## i18n + +Read the [i18n introduction](../../i18n/i18n-introduction.md) first. + +### Translation files location + +- **Base path**: `website/i18n/<locale>/docusaurus-plugin-content-pages` +- **Multi-instance path**: `website/i18n/<locale>/docusaurus-plugin-content-pages-<pluginId>` +- **JSON files**: extracted with [`docusaurus write-translations`](../../cli.md#docusaurus-write-translations) +- **Markdown files**: `website/i18n/<locale>/docusaurus-plugin-content-pages` + +### Example file-system structure + +```bash +website/i18n/<locale>/docusaurus-plugin-content-pages +│ +│ # translations for website/src/pages +├── first-markdown-page.md +└── second-markdown-page.md +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-debug.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-debug.md new file mode 100644 index 000000000000..ff1e19457787 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-debug.md @@ -0,0 +1,39 @@ +--- +id: plugin-debug +title: '📦 plugin-debug' +slug: '/api/plugins/@docusaurus/plugin-debug' +--- + +The debug plugin will display useful debug information at [http://localhost:3000/\_\_docusaurus/debug](http://localhost:3000/__docusaurus/debug). + +It is mostly useful for plugin authors, that will be able to inspect more easily the content of the `.docusaurus` folder (like the creates routes), but also be able to inspect data structures that are never written to disk, like the plugin data loaded through the `contentLoaded` lifecycle. + +:::note + +If you report a bug, we will probably ask you to have this plugin turned on in the production, so that we can inspect your deployment config more easily. + +If you don't have any sensitive information, you can keep it on in production [like we do](http://v2.docusaurus.io/__docusaurus/debug). + +::: + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-debug +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. You can also configure it through the [classic preset options](presets.md#docusauruspreset-classic) instead of doing it like below. + +By default, it's enabled in dev, and disabled in prod, to avoid exposing potentially sensitive information. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: ['@docusaurus/plugin-debug'], +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-analytics.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-analytics.md new file mode 100644 index 000000000000..3f026ffa965c --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-analytics.md @@ -0,0 +1,34 @@ +--- +id: plugin-google-analytics +title: '📦 plugin-google-analytics' +slug: '/api/plugins/@docusaurus/plugin-google-analytics' +--- + +The default [Google Analytics](https://developers.google.com/analytics/devguides/collection/analyticsjs/) plugin. It is a JavaScript library for measuring how users interact with your website. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-google-analytics +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: ['@docusaurus/plugin-google-analytics'], + themeConfig: { + googleAnalytics: { + trackingID: 'UA-141789564-1', + // Optional fields. + anonymizeIP: true, // Should IPs be anonymized? + }, + }, +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-gtag.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-gtag.md new file mode 100644 index 000000000000..f9af53c3e638 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-google-gtag.md @@ -0,0 +1,34 @@ +--- +id: plugin-google-gtag +title: '📦 plugin-google-gtag' +slug: '/api/plugins/@docusaurus/plugin-google-gtag' +--- + +The default [Global Site Tag (gtag.js)](https://developers.google.com/analytics/devguides/collection/gtagjs/) plugin. It is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform. This section describes how to configure a Docusaurus site to enable global site tag for Google Analytics. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-google-gtag +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: ['@docusaurus/plugin-google-gtag'], + themeConfig: { + gtag: { + trackingID: 'UA-141789564-1', + // Optional fields. + anonymizeIP: true, // Should IPs be anonymized? + }, + }, +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-ideal-image.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-ideal-image.md new file mode 100644 index 000000000000..93e69e5f351a --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-ideal-image.md @@ -0,0 +1,52 @@ +--- +id: plugin-ideal-image +title: '📦 plugin-ideal-image' +slug: '/api/plugins/@docusaurus/plugin-ideal-image' +--- + +Docusaurus Plugin to generate an almost ideal image (responsive, lazy-loading, and low quality placeholder) **in the production builds**. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-ideal-image +``` + +## Configuration + +Modify your `docusaurus.config.js` + +```diff +module.exports = { + ... ++ plugins: ['@docusaurus/plugin-ideal-image'], + ... +} +``` + +## Usage + +This plugin supports the PNG, GIF and JPG formats only. + +```jsx +import Image from '@theme/IdealImage'; +import thumbnail from './path/to/img.png'; + +// your React code +<Image img={thumbnail} /> + +// or +<Image img={require('./path/to/img.png')} /> +``` + +## Options + +| Option | Type | Default | Description | +| --- | --- | --- | --- | +| `name` | `string` | `ideal-img/[name].[hash:hex:7].[width].[ext]` | Filename template for output files. | +| `sizes` | `array` | _original size_ | Specify all widths you want to use. If a specified size exceeds the original image's width, the latter will be used (i.e. images won't be scaled up). | +| `size` | `integer` | _original size_ | Specify one width you want to use; if the specified size exceeds the original image's width, the latter will be used (i.e. images won't be scaled up) | +| `min` | `integer` | | As an alternative to manually specifying `sizes`, you can specify `min`, `max` and `steps`, and the sizes will be generated for you. | +| `max` | `integer` | | See `min` above | +| `steps` | `integer` | `4` | Configure the number of images generated between `min` and `max` (inclusive) | +| `quality` | `integer` | `85` | JPEG compression quality | diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-pwa.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-pwa.md new file mode 100644 index 000000000000..9b81e4b2ead8 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-pwa.md @@ -0,0 +1,280 @@ +--- +id: plugin-pwa +title: '📦 plugin-pwa' +slug: '/api/plugins/@docusaurus/plugin-pwa' +--- + +Docusaurus Plugin to add PWA support using [Workbox](https://developers.google.com/web/tools/workbox). This plugin generates a [Service Worker](https://developers.google.com/web/fundamentals/primers/service-workers) in production build only, and allows you to create fully PWA-compliant documentation site with offline and installation support. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-pwa +``` + +## Configuration + +Create a [PWA manifest](https://web.dev/add-manifest/) at `./static/manifest.json`. + +Modify `docusaurus.config.js` with a minimal PWA config, like: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-pwa', + { + debug: true, + offlineModeActivationStrategies: ['appInstalled', 'queryString'], + pwaHead: [ + { + tagName: 'link', + rel: 'icon', + href: '/img/docusaurus.png', + }, + { + tagName: 'link', + rel: 'manifest', + href: '/manifest.json', // your PWA manifest + }, + { + tagName: 'meta', + name: 'theme-color', + content: 'rgb(37, 194, 160)', + }, + ], + }, + ], + ], +}; +``` + +## Progressive Web App + +Having a service worker installed is not enough to make your application a PWA. You'll need to at least include a [Web App Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest) and have the correct tags in `<head>` ([Options > pwaHead](#pwahead)). + +After deployment, you can use [Lighthouse](https://developers.google.com/web/tools/lighthouse) to run an audit on your site. + +For a more exhaustive list of what it takes for your site to be a PWA, refer to the [PWA Checklist](https://developers.google.com/web/progressive-web-apps/checklist) + +## App installation support + +If your browser supports it, you should be able to install a Docusaurus site as an app. + +![pwa_install.gif](/img/pwa_install.gif) + +## Offline mode (precaching) + +We enable users to browse a Docusaurus site offline, by using service-worker precaching. + +> ### [What is Precaching?](https://developers.google.com/web/tools/workbox/modules/workbox-precaching) +> +> One feature of service workers is the ability to save a set of files to the cache when the service worker is installing. This is often referred to as "precaching", since you are caching content ahead of the service worker being used. +> +> The main reason for doing this is that it gives developers control over the cache, meaning they can determine when and how long a file is cached as well as serve it to the browser without going to the network, meaning it can be used to create web apps that work offline. +> +> Workbox takes a lot of the heavy lifting out of precaching by simplifying the API and ensuring assets are downloaded efficiently. + +By default, offline mode is enabled when the site is installed as an app. See the `offlineModeActivationStrategies` option for details. + +After the site has been precached, the service worker will serve cached responses for later visits. When a new build is deployed along with a new service worker, the new one will begin installing and eventually move to a waiting state. During this waiting state, a reload popup will show and ask the user to reload the page for new content. Until the user either clears the application cache or clicks the `reload` button on the popup, the service worker will continue serving the old content. + +:::caution + +Offline mode / precaching requires downloading all the static assets of the site ahead of time, and can consume unnecessary bandwidth. It may not be a good idea to activate it for all kind of sites. + +::: + +## Options + +### `debug` + +- Type: `boolean` +- Default: `false` + +Turn debug mode on: + +- Workbox logs +- Additional Docusaurus logs +- Unoptimized SW file output +- Source maps + +### `offlineModeActivationStrategies` + +- Type: `Array<'appInstalled' | 'mobile' | 'saveData'| 'queryString' | 'always'>` +- Default: `['appInstalled','queryString']` + +Strategies used to turn the offline mode on: + +- `appInstalled`: activates for users having installed the site as an app +- `queryString`: activates if queryString contains `offlineMode=true` (convenient for PWA debugging) +- `mobile`: activates for mobile users (width <= 940px) +- `saveData`: activates for users with `navigator.connection.saveData === true` +- `always`: activates for all users + +:::caution + +Use this carefully: some users may not like to be forced to use the offline mode. + +::: + +### `injectManifestConfig` + +[Workbox options](https://developers.google.com/web/tools/workbox/reference-docs/latest/module-workbox-build#.injectManifest) to pass to `workbox.injectManifest()`. This gives you control over which assets will be precached, and be available offline. + +- Type: `InjectManifestOptions` +- Default: `{}` + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-pwa', + { + injectManifestConfig: { + manifestTransforms: [ + //... + ], + modifyURLPrefix: { + //... + }, + // We already add regular static assets (html, images...) to be available offline + // You can add more files according to your needs + globPatterns: ['**/*.{pdf,docx,xlsx}'], + // ... + }, + }, + ], + ], +}; +``` + +### `reloadPopup` + +- Type: `string | false` +- Default: `'@theme/PwaReloadPopup'` + +Module path to reload popup component. This popup is rendered when a new service worker is waiting to be installed, and we suggest a reload to the user. + +Passing `false` will disable the popup, but this is not recommended: users won't have a way to get up-to-date content. + +A custom component can be used, as long as it accepts `onReload` as a prop. The `onReload` callback should be called when the `reload` button is clicked. This will tell the service worker to install the waiting service worker and reload the page. + +```ts +interface PwaReloadPopupProps { + onReload: () => void; +} +``` + +The default theme includes an implementation for the reload popup and uses [Infima Alerts](https://infima.dev/docs/components/alert). + +![pwa_reload.gif](/img/pwa_reload.gif) + +### `pwaHead` + +- Type: `Array<{ tagName: string } & Record<string,string>>` +- Default: `[]` + +Array of objects containing `tagName` and key-value pairs for attributes to inject into the `<head>` tag. Technically you can inject any head tag through this, but it's ideally used for tags to make your site PWA compliant. Here's a list of tag to make your app fully compliant: + +```js +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-pwa', + { + pwaHead: [ + { + tagName: 'link', + rel: 'icon', + href: '/img/docusaurus.png', + }, + { + tagName: 'link', + rel: 'manifest', + href: '/manifest.json', + }, + { + tagName: 'meta', + name: 'theme-color', + content: 'rgb(37, 194, 160)', + }, + { + tagName: 'meta', + name: 'apple-mobile-web-app-capable', + content: 'yes', + }, + { + tagName: 'meta', + name: 'apple-mobile-web-app-status-bar-style', + content: '#000', + }, + { + tagName: 'link', + rel: 'apple-touch-icon', + href: '/img/docusaurus.png', + }, + { + tagName: 'link', + rel: 'mask-icon', + href: '/img/docusaurus.svg', + color: 'rgb(37, 194, 160)', + }, + { + tagName: 'meta', + name: 'msapplication-TileImage', + content: '/img/docusaurus.png', + }, + { + tagName: 'meta', + name: 'msapplication-TileColor', + content: '#000', + }, + ], + }, + ], + ], +}; +``` + +### `swCustom` + +- Type: `string | undefined` +- Default: `undefined` + +Useful for additional Workbox rules. You can do whatever a service worker can do here, and use the full power of workbox libraries. The code is transpiled, so you can use modern ES6+ syntax here. + +For example, to cache files from external routes: + +```js +import {registerRoute} from 'workbox-routing'; +import {StaleWhileRevalidate} from 'workbox-strategies'; + +// default fn export receiving some useful params +export default function swCustom(params) { + const { + debug, // :boolean + offlineMode, // :boolean + } = params; + + // Cache responses from external resources + registerRoute((context) => { + return [ + /graph\.facebook\.com\/.*\/picture/, + /netlify\.com\/img/, + /avatars1\.githubusercontent/, + ].some((regex) => context.url.href.match(regex)); + }, new StaleWhileRevalidate()); +} +``` + +The module should have a `default` function export, and receives some params. + +### `swRegister` + +- Type: `string | false` +- Default: `'docusaurus-plugin-pwa/src/registerSW.js'` + +Adds an entry before the Docusaurus app so that registration can happen before the app runs. The default `registerSW.js` file is enough for simple registration. + +Passing `false` will disable registration entirely. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-sitemap.md b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-sitemap.md new file mode 100644 index 000000000000..70abf94940b4 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/plugins/plugin-sitemap.md @@ -0,0 +1,36 @@ +--- +id: plugin-sitemap +title: '📦 plugin-sitemap' +slug: '/api/plugins/@docusaurus/plugin-sitemap' +--- + +This plugin creates sitemap for your site so that search engine crawlers can crawl your site more accurately. + +## Installation + +```bash npm2yarn +npm install --save @docusaurus/plugin-sitemap +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. You can also configure it through the [classic preset options](presets.md#docusauruspreset-classic) instead of doing it like below. + +::: + +## Configuration + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-sitemap', + { + changefreq: 'weekly', + priority: 0.5, + trailingSlash: false, + }, + ], + ], +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/overview.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/overview.md new file mode 100644 index 000000000000..d5b4518e7d6c --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/overview.md @@ -0,0 +1,32 @@ +--- +id: themes-overview +title: 'Docusaurus themes' +sidebar_label: Themes overview +slug: '/api/themes' +--- + +We provide official Docusaurus themes. + +## Main themes + +The main themes implement the user interface for the [docs](../plugins/plugin-content-docs.md), [blog](../plugins/plugin-content-blog.md) and [pages](../plugins/plugin-content-pages.md) plugins. + +- [@docusaurus/theme-classic](./theme-classic.md) +- [@docusaurus/theme-bootstrap](./theme-bootstrap.md) 🚧 + +:::caution + +The goal is to have all themes share the exact same features, user-experience and configuration. + +Only the UI design and underlying styling framework should change, and you should be able to change theme easily. + +We are not there yet: only the classic theme is production ready. + +::: + +## Enhancement themes + +These themes will enhance the existing main themes with additional user-interface related features. + +- [@docusaurus/theme-live-codeblock](./theme-live-codeblock.md) +- [@docusaurus/theme-search-algolia](./theme-search-algolia.md) diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-bootstrap.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-bootstrap.md new file mode 100644 index 000000000000..2c2dc05a6206 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-bootstrap.md @@ -0,0 +1,25 @@ +--- +id: theme-bootstrap +title: '📦 theme-bootstrap' +slug: '/api/themes/@docusaurus/theme-bootstrap' +--- + +:::danger + +The bootstrap theme is a work in progress, and is not production ready. + +::: + +🚧 The bootstrap theme for Docusaurus. + +You can refer to the [theme configuration page](theme-configuration.md) for more details on the configuration. + +```bash npm2yarn +npm install --save @docusaurus/theme-bootstrap +``` + +:::tip + +If you have installed `@docusaurus/preset-bootstrap`, you don't need to install it as a dependency. + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-classic.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-classic.md new file mode 100644 index 000000000000..3b5a3a764cba --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-classic.md @@ -0,0 +1,19 @@ +--- +id: theme-classic +title: '📦 theme-classic' +slug: '/api/themes/@docusaurus/theme-classic' +--- + +The classic theme for Docusaurus. + +You can refer to the [theme configuration page](theme-configuration.md) for more details on the configuration. + +```bash npm2yarn +npm install --save @docusaurus/theme-classic +``` + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-configuration.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-configuration.md new file mode 100644 index 000000000000..c6f88dfca243 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-configuration.md @@ -0,0 +1,575 @@ +--- +id: theme-configuration +title: 'Theme configuration' +slug: '/api/themes/configuration' +--- + +This configuration applies to all [main themes](./overview.md). + +## Common + +### Color mode - dark mode + +The classic theme provides by default light and dark mode support, with a navbar switch for the user. + +It is possible to customize the color mode support with the following configuration: + +```js {6-35} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + // ... + colorMode: { + // "light" | "dark" + defaultMode: 'light', + + // Hides the switch in the navbar + // Useful if you want to support a single color mode + disableSwitch: false, + + // Should we use the prefers-color-scheme media-query, + // using user system preferences, instead of the hardcoded defaultMode + respectPrefersColorScheme: false, + + // Dark/light switch icon options + switchConfig: { + // Icon for the switch while in dark mode + darkIcon: '🌙', + + // CSS to apply to dark icon, + // React inline style object + // see https://reactjs.org/docs/dom-elements.html#style + darkIconStyle: { + marginLeft: '2px', + }, + + // Unicode icons such as '\u2600' will work + // Unicode with 5 chars require brackets: '\u{1F602}' + lightIcon: '\u{1F602}', + + lightIconStyle: { + marginLeft: '1px', + }, + }, + }, + // ... + }, + // ... +}; +``` + +:::caution + +With `respectPrefersColorScheme: true`, the `defaultMode` is overridden by user system preferences. + +If you only want to support one color mode, you likely want to ignore user system preferences. + +::: + +### Meta image + +You can configure a default image that will be used for your meta tag, in particular `og:image` and `twitter:image`. + +```js {4-6} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + // Relative to your site's "static" directory. + // Cannot be SVGs. Can be external URLs too. + image: 'img/docusaurus.png', + // ... + }, +}; +``` + +### Metadatas + +You can configure additional html metadatas (and override existing ones). + +```js {4} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + metadatas: [{name: 'twitter:card', content: 'summary'}], + // ... + }, +}; +``` + +### Announcement bar + +Sometimes you want to announce something in your website. Just for such a case, you can add an announcement bar. This is a non-fixed and optionally dismissable panel above the navbar. + +```js {4-11} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + announcementBar: { + id: 'support_us', // Any value that will identify this message. + content: + 'We are looking to revamp our docs, please fill <a target="_blank" rel="noopener noreferrer" href="#">this survey</a>', + backgroundColor: '#fafbfc', // Defaults to `#fff`. + textColor: '#091E42', // Defaults to `#000`. + isCloseable: false, // Defaults to `true`. + }, + // ... + }, +}; +``` + +## i18n + +Read the [i18n introduction](../../i18n/i18n-introduction.md) first. + +### Translation files location + +- **Base path**: `website/i18n/<locale>/docusaurus-theme-<themeName>` +- **Multi-instance path**: N/A +- **JSON files**: extracted with [`docusaurus write-translations`](../../cli.md#docusaurus-write-translations) +- **Markdown files**: `N/A + +### Example file-system structure + +```bash +website/i18n/<locale>/docusaurus-theme-classic +│ +│ # translations for the theme +├── navbar.json +└── footer.json +``` + +## Hooks + +### `useThemeContext` + +React hook to access theme context. This context contains functions for setting light and dark mode and boolean property, indicating which mode is currently in use. + +Usage example: + +```jsx +import React from 'react'; +// highlight-next-line +import useThemeContext from '@theme/hooks/useThemeContext'; + +const Example = () => { + // highlight-next-line + const {isDarkTheme, setLightTheme, setDarkTheme} = useThemeContext(); + + return <h1>Dark mode is now {isDarkTheme ? 'on' : 'off'}</h1>; +}; +``` + +:::note + +The component calling `useThemeContext` must be a child of the `Layout` component. + +```jsx +function ExamplePage() { + return ( + <Layout> + <Example /> + </Layout> + ); +} +``` + +::: + +## Navbar + +### Navbar title & logo + +You can add a logo and title to the navbar via `themeConfig.navbar`. Logo can be placed in [static folder](static-assets.md). Logo URL is set to base URL of your site by default. Although you can specify your own URL for the logo, if it is an external link, it will open in a new tab. In addition, you can override a value for the target attribute of logo link, it can come in handy if you are hosting docs website in a subdirectory of your main website, and in which case you probably do not need a link in the logo to the main website will open in a new tab. + +To improve dark mode support, you can also set a different logo for this mode. + +```js {5-11} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + navbar: { + title: 'Site Title', + logo: { + alt: 'Site Logo', + src: 'img/logo.svg', + srcDark: 'img/logo_dark.svg', // Default to `logo.src`. + href: 'https://v2.docusaurus.io/', // Default to `siteConfig.baseUrl`. + target: '_self', // By default, this value is calculated based on the `href` attribute (the external link will open in a new tab, all others in the current one). + }, + }, + // ... + }, +}; +``` + +### Navbar items + +You can add items to the navbar via `themeConfig.navbar.items`. + +By default, Navbar items are regular links (internal or external). + +```js title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + navbar: { + // highlight-start + items: [ + { + // Client-side routing, used for navigating within the website. + // The baseUrl will be automatically prepended to this value. + to: 'docs/introduction', + // A full-page navigation, used for navigating outside of the website. + // You should only use either `to` or `href`. + href: 'https://www.facebook.com', + // Prepends the baseUrl to href values. + prependBaseUrlToHref: true, + // The string to be shown. + label: 'Introduction', + // Left or right side of the navbar. + position: 'left', // or 'right' + // To apply the active class styling on all + // routes starting with this path. + // This usually isn't necessary + activeBasePath: 'docs', + // Alternative to activeBasePath if required. + activeBaseRegex: 'docs/(next|v8)', + // Custom CSS class (for styling any item). + className: '', + }, + // ... other items + ], + // highlight-end + }, + // ... + }, +}; +``` + +React Router should automatically apply active link styling to links, but you can use `activeBasePath` in edge cases. For cases in which a link should be active on several different paths (such as when you have multiple doc folders under the same sidebar), you can use `activeBaseRegex`. `activeBaseRegex` is a more flexible alternative to `activeBasePath` and takes precedence over it -- Docusaurus parses it into a regular expression that is tested against the current URL. + +Outbound (external) links automatically get `target="_blank" rel="noopener noreferrer"` attributes. + +### Navbar dropdown + +Navbar items can also be dropdown items by specifying the `items`, an inner array of navbar items. + +```js {9-19} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + navbar: { + items: [ + { + label: 'Community', + position: 'left', // or 'right' + items: [ + { + label: 'Facebook', + href: '...', + }, + { + label: 'GitHub', + href: '...', + }, + // ... more items + ], + }, + ], + }, + // ... + }, +}; +``` + +### Navbar doc link + +If you want to link to a specific doc, this special navbar item type will render the link to the doc of the provided `docId`. It will get the class `navbar__link--active` as long as you browse a doc of the same sidebar. + +```js title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + // highlight-start + { + type: 'doc', + docId: 'introduction', + + //// Optional + position: 'left', + label: 'Docs', + activeSidebarClassName: 'navbar__link--active', + docsPluginId: 'default', + }, + // highlight-end + ], + }, + }, +}; +``` + +### Navbar docs version dropdown + +If you use docs with versioning, this special navbar item type that will render a dropdown with all your site's available versions. + +The user will be able to switch from one version to another, while staying on the same doc (as long as the doc id is constant across versions). + +```js {5-8} title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + { + type: 'docsVersionDropdown', + + //// Optional + position: 'left', + // Add additional dropdown items at the beginning/end of the dropdown. + dropdownItemsBefore: [], + dropdownItemsAfter: [{to: '/versions', label: 'All versions'}], + // Do not add the link active class when browsing docs. + dropdownActiveClassDisabled: true, + docsPluginId: 'default', + }, + ], + }, + }, +}; +``` + +### Navbar docs version + +If you use docs with versioning, this special navbar item type will link to the active/browsed version of your doc (depends on the current url), and fallback to the latest version. + +```js title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + // highlight-start + { + type: 'docsVersion', + + //// Optional + position: 'left', + to: '/path', // by default, link to active/latest version + label: 'label', // by default, show active/latest version label + docsPluginId: 'default', + }, + // highlight-end + ], + }, + }, +}; +``` + +### Navbar locale dropdown + +If you use the [i18n feature](../../i18n/i18n-introduction.md), this special navbar item type will render a dropdown with all your site's available locales. + +The user will be able to switch from one locale to another, while staying on the same page. + +```js {5-8} title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + { + type: 'localeDropdown', + + //// Optional + position: 'left', + // Add additional dropdown items at the beginning/end of the dropdown. + dropdownItemsBefore: [], + dropdownItemsAfter: [ + { + to: 'https://my-site.com/help-us-translate', + label: 'Help us translate', + }, + ], + }, + ], + }, + }, +}; +``` + +### Navbar search + +If you use the [search](../../search.md), the search bar will be the rightmost element in the navbar. + +However, with this special navbar item type, you can change the default location. + +```js {5-8} title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + { + type: 'search', + position: 'right', + }, + ], + }, + }, +}; +``` + +### Auto-hide sticky navbar + +You can enable this cool UI feature that automatically hides the navbar when a user starts scrolling down the page, and show it again when the user scrolls up. + +```js {5} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + navbar: { + hideOnScroll: true, + }, + // ... + }, +}; +``` + +### Navbar style + +You can set the static Navbar style without disabling the theme switching ability. The selected style will always apply no matter which theme user have selected. + +Currently, there are two possible style options: `dark` and `primary` (based on the `--ifm-color-primary` color). You can see the styles preview in the [Infima documentation](https://infima.dev/docs/components/navbar/). + +```js {5} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + navbar: { + style: 'primary', + }, + // ... + }, +}; +``` + +<!-- + +## Footer + +TODO. + +--> + +## CodeBlock + +Docusaurus uses [Prism React Renderer](https://github.com/FormidableLabs/prism-react-renderer) to highlight code blocks. + +### Theme + +By default, we use [Palenight](https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/themes/palenight.js) as syntax highlighting theme. You can specify a custom theme from the [list of available themes](https://github.com/FormidableLabs/prism-react-renderer/tree/master/src/themes). If you want to use a different syntax highlighting theme when the site is in dark mode, you may also do so. + +```js {5-6} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + prism: { + theme: require('prism-react-renderer/themes/github'), + darkTheme: require('prism-react-renderer/themes/dracula'), + }, + // ... + }, +}; +``` + +:::note + +If you use the line highlighting Markdown syntax, you might need to specify a different highlight background color for the dark mode syntax highlighting theme. Refer to the [docs for guidance](../../guides/markdown-features/markdown-features-code-blocks.mdx#line-highlighting). + +::: + +### Default language + +You can set a default language for code blocks if no language is added after the opening triple backticks (i.e. ```). Note that a valid [language name](https://prismjs.com/#supported-languages) must be passed, e.g.: + +```js {5} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + prism: { + defaultLanguage: 'javascript', + }, + // ... + }, +}; +``` + +## Footer + +You can add logo and a copyright to the footer via `themeConfig.footer`. Logo can be placed in [static folder](static-assets.md). Logo URL works in the same way of the navbar logo. + +```js {5-15} title="docusaurus.config.js" + // ... + footer: { + logo: { + alt: 'Facebook Open Source Logo', + src: 'img/oss_logo.png', + href: 'https://opensource.facebook.com', + }, + copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + } +``` + +## Footer Links + +You can add links to the navbar via `themeConfig.footer.links`: + +```js {5-15} title="docusaurus.config.js" +module.exports = { + // ... + footer: { + links: [ + { + // Label of the section of these links + title: 'Docs', + items: [ + { + // Label of the link + label: 'Style Guide', + // Client-side routing, used for navigating within the website. + // The baseUrl will be automatically prepended to this value. + to: 'docs/', + }, + { + label: 'Second Doc', + to: 'docs/doc2/', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Stack Overflow', + // A full-page navigation, used for navigating outside of the website. + href: 'https://stackoverflow.com/questions/tagged/docusaurus', + }, + { + label: 'Discord', + href: 'https://discordapp.com/invite/docusaurus', + }, + { + label: 'Twitter', + href: 'https://twitter.com/docusaurus', + }, + { + //Renders the html pass-through instead of a simple link + html: ` + <a href="https://www.netlify.com" target="_blank" rel="noreferrer noopener" aria-label="Deploys by Netlify"> + <img src="https://www.netlify.com/img/global/badges/netlify-color-accent.svg" alt="Deploys by Netlify" /> + </a> + `, + }, + ], + }, + ], + }, +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-live-codeblock.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-live-codeblock.md new file mode 100644 index 000000000000..8a676646f4c0 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-live-codeblock.md @@ -0,0 +1,28 @@ +--- +id: theme-live-codeblock +title: '📦 theme-live-codeblock' +slug: '/api/themes/@docusaurus/theme-live-codeblock' +--- + +This theme provides a `@theme/CodeBlock` component that is powered by react-live. You can read more on [interactive code editor](../../guides/markdown-features/markdown-features-code-blocks.mdx#interactive-code-editor) documentation. + +```bash npm2yarn +npm install --save @docusaurus/theme-live-codeblock +``` + +### Configuration + +```jsx title="docusaurus.config.js" +module.exports = { + plugins: ['@docusaurus/theme-live-codeblock'], + themeConfig: { + liveCodeBlock: { + /** + * The position of the live playground, above or under the editor + * Possible values: "top" | "bottom" + */ + playgroundPosition: 'bottom', + }, + }, +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-search-algolia.md b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-search-algolia.md new file mode 100644 index 000000000000..753d8ca66e6f --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/api/themes/theme-search-algolia.md @@ -0,0 +1,19 @@ +--- +id: theme-search-algolia +title: '📦 theme-search-algolia' +slug: '/api/themes/@docusaurus/theme-search-algolia' +--- + +This theme provides a `@theme/SearchBar` component that integrates with Algolia DocSearch easily. Combined with `@docusaurus/theme-classic`, it provides a very easy search integration. You can read more on [search](../../search.md) documentation. + +```bash npm2yarn +npm install --save @docusaurus/theme-search-algolia +``` + +This theme also adds search page available at `/search` (as swizzleable `SearchPage` component) path with OpenSearch support. + +:::tip + +If you have installed `@docusaurus/preset-classic`, you don't need to install it as a dependency. + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-banner.png b/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe95f5ec8388c2da311f5e568a4ae147c42ffc8 GIT binary patch literal 69264 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 U1P8z~^8f$<07*qoM6N<$g6C^Z00000 literal 0 HcmV?d00001 diff --git a/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-pdf.pdf b/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example-pdf.pdf new file mode 100644 index 0000000000000000000000000000000000000000..188262276aa40805c9cce37260352a11d3b99403 GIT binary patch literal 125786 zcmeFa1z1#H*Ec+*baxKj-6h@KspJ4dx0HZ1(kU(7U7{e}poD-3sDua#h#-x~cLx2} z9q)7BPrcXoUJP6_bM{_)?G^i+vu4)()@IO>Q{dp?<VRz8wf$)ojR(vPcC~Uq6Bp-_ z^?+D<xq5(^)m{CePEM9w0-W4nGiG&5Yp9EttEasfSlPu3;sgd7z?!;XBQOuQIgfz3 zfEf!|+Re=gVhFKPg?e!b@CkA92?7IEmGsor*uhRvM+jIEV(sV(5X#znxH?0)g!wqR zIr(|G`8avF1;M(Oww4~yUjtdtxU@W6ZM>}^fF!z(P)jaAV6d|=AJB0vA=K4H&e974 zW|kA><>uw)7UUJ+5#kf%5n$uyW&-{JI(1i@|1-($+h`CM8<^gFf9P**3FblLl2He9 zX}EegTRQzgB=8p^P98o!zJE-}^JjBP!`S^~swNBOM&nXbxqdbT^8zBOf%(z6bfv*w z9^R0D!i@KiX=VR8GhmW`h1s7J)$?<MfVqq`tsEfMUVsqZR$kXF%FdQ{fGmbk8!vk> zFR!358kZ6TYG>~S=H(UutncdN>Y?jqX$=gPgZMzLA&MTBet_&yFHbFqhpel!o2v`N z#S09KQ-C^o0S@Gnlhu=hSi9N)Y_Eswd04u5+5+aiwgkk*4wy+$h)3x5ZLp^ou>PFU zt`@FVKsYK2$_gMjI1mU9_yb)nfn-5A=onZSXgFAySa`TN_$16^Bt%3cJai0{%%Xe} z;v#&)LQ+a*8d7qG@<PH|&f13NR(AGwx7FSK+-!W!Aa>SQJs@-x&<m7hI5=F;)c}Yb z#v2LX{>S4M90DQ|GCa`9f&+9QBftpYKnT}FaPSC(+B$gnMD73$A3qN+0gW{8)glN5 zCZ;541(Lz1_(M8fbBlEn`vTSK#HqGM72<4V%I1jo#?&ZdY;mB?V4k6=t&t<WHRh)C z#t1hn;s3SMK}XWL8YTEFmZ}!Da`+15W^8-^SuRs8J8kmq$>WFm_NpY~$n%4WMntTl zJ&oG)NDmVl*!8?0SQXcx6H;0jRcyoGblw=@W+nW;b~?10?|4~i@T}iLJtLk`l_{}A z5ox~y)m(vEgXOwe40os}x%$2S2t)o0@6gS4&x^mtOR`=zi;(;=h3WMa9u@xu&VLMT zK9a1GM0s^kzr>fEcs_Yyc&K`i-qrj4;JXlO$RA|?`FH4&H%k0V*1Pe<zhb7F<@B#u z381-IPXCIbZkE%(Vx^nq^e<ZJZ<o{Fub6<Zk6M%K#}(-Gt>+^q5s#av8yo!pZ5^;l z>WV+tz5*=@ey`$=SI&(Kp1T5-RL|+)dUv~ik1EQg8O{4_*?9ARV}TnB{1+_HJZL^f z!=D_*#B<_We+3%N=D7mZ@&~^H?jFMxn*5UI^)_$B7)Rd-YK%7dsHZkL<)zx}<S^Yd z-WcTniN(Oh16%QW!B=l!S-oF*q+j_x9{xX)Xx5fsAm0ci-~LgKkLOQGzJHb=QvecI zXk0oFPgidbYltTpNSXq<N^4z+7ufVVP06JP@$~|8T_@6He!a^6dR4xI#wG9TrKsx# z%U%LQ75Tuhq?`_rXZ$T02WvLs;R6Hz*B!7f85vh!uqh9>Fqj8OFY@vU34-}}1OaA> z9<JVQun|ASy*>o8d0?*VB%7P12gJo1NYBXvEq_keDPN}?VVu=|=HK}F|H!_%qrvii zz~tOu4j}0Vq<Dp4vw^Jvy#aacJONPw;pAM=w9)>7u?2x~zp}|ch5B7#KrnSnPscyR zg&kc>tLE(tb#e8CdI7R3g0I~GnB<S-E055B$P`G}x<LLk0;a%kN$tNTPJv|U-(+EV zfW++oF%8QLGsa((`VTUv{M>@SCr<f*?DYR!=9EWBKv3`x=l##7PO(_vGJd5_Nr2QW z@c7dw9C#2M!Yv?gN`&**c7Oy9_m3p$x5E@=`u|J+mGmiAf1P~xS`x-T38elT!NBiA zrs^mIBbDhhQ<P(VqjXRfpwCWG21Z)_-k6=@pj^pV0<`cj!icYFfhGaQlI#>Upz-(C zR2>I(b#;JiDxQ^<mD(>3Km+ioCXXdzH)^yRj2jpNMhyI9B*0i!R@N#+9{aO5voW(V zPVIUuY?ka)U6btjC$L^vzb(7bge?zG+;9DiCA0Hot+hkz?(NG)jqQ!rJg~pap=*k3 ziwH2b3e-BfHMTFi2oVVZ^G^UA_(<ab5^IvoYY_l}9Zku}(G*7BkkeQJysQRe0Rn5D z3@qNJ2BQJs0Z0N9WF|g7f}BR_nrv+_mI%hjNRYR;rr6kM2)Kd)5;K;}x7GqwXfjD9 zPVq^AOznV1nG=vOYj$$vrg(@&BTo#BP(VPS79b;Vil9-_5tJEP8(JH@o)i<HB;$8v zo(Ggr15Eu(Is#@L0)X@lngUF~xWTZv1}Adl-eQG#2oX<A49tI(wT{-7G7)G5EU?*G z$m0PK*=;dlgzzvzvavCCwVy2Got&7p3S}a&U_5mI>%%MquxoH4Be0(?R%mJjYz$29 zsB4NQNWiSMDjPvFqC*f5SO>5$H!yQggS~dKOgw~a4A2}ld1XT}Y;p==tq&|%3L`o& zV>dWK!YqvVnY9aHv$NO0c&6%_k}WJ~74}5|v~DFVXbONSNw2j5L}#8ZRA`C^TmzVV zc7CW0m>ZzPq7VkOr*m)5;3KtIAg~8Sk4NLTpRW0hBRQE?p=<;|=C;}wAKqv+#2Zfr z8!8iVZA!*#32U90fqDC3+}u`W;+1*Q?57H4o=yR3ppEf6;*(s@*+$^R>;_O#()356 z5jZHv!MZnLW`!B1j0do^y1Elop&u}w*EO$oYm-z`1%QAp52iq|LSvjY9<X+^7Z$V| zR%HPi7#*{At#X(`JR0H42+u+Vm|ScmL)QzTu>s}@3gJ)Jf+@7}08>W5=&rfJme#d% z<6*~ctHVm}Gk}qcO;VBL$*!3J#QgU220U?q!yK-c02YBTKm^Q6z^u&38}S<%;M>0? z`-CM52>6Q(rU0PnKOsv<D(s7QP$T1K)~fS@sR}HBzX&I+wO#@!Au1DvCQ!-!)3$Y9 z*UpDnlMDbSM_Jp?#gvc)qeP=%o-gTz>ADGc0cI0{^xrLa?N3oz7$vjYwX)aty%BHq z+9o&FyIFfTrv`BIyScF3T$XR{8aMace-zl<L@YM})lE414`cqDQ{(2;xH&a$PK}$7 z;WuAm+<eCZd_8&dLGmUfxCsevLV}x+;3g!v2?=gOf}4;4$PC_u1UDhUO-OJP65NCY zHzC1INN^Jp+=K)-KT-nj1veqVO-OJP65NCYHzC1INN^Jp+=K)-A;HaW=3)1On;)g$ z{3!kAN9i}eCAdi(+(4Obz9qPU(cOduHyBCSy<oLJiX2rS4gx@O4MkzNR(@sxx@-Lt zZ#&cnfQFf2m{tJ)%B+>520`Qhi9`K6G6G?@YlP|VSlVmc=rzXoA7E*{0D!KeF3A{x zS1mN#f<cD=iZ7Lcfp=k;+h17PpYUBR7^3<&P#J%*B>+<f5VDjsz^efLkT!tSy+-E3 zz{kI+S^?nmHTL)yugoC;7!6>2uVJ~<MVUWAzSm%H0Cx<79|KTeHERIr3`4#GpB@R* z?B{<Wl;h(8VXyJdFod$YH7NiXhT)iDpE1*ZLn!}5MFWfgdz3oW&VQb(nKu!<CIqm` zWc<beX8js$EAUG)X15I%6`k~FZ%tm92sTZ%*k3b*O$#8$VQ^-37!n;oc>^=+r2UCy zvAq_c3JgLGfbwDJVh2Y{g+9Qp!dkyLy40GyfE3#=3dX}^gt0U*xW<G3g0};*kLje9 zvq4;*m{uD!8y7orkjqTBz);fHW(EWWaNe!g5NI@lazM;BgKh6;t&RfO;|kL)&g3wK z9NCx~e`9(r02)E*@08iCzbFBSIbb8UpQ!%q?CkkI7-G7V4Z@;gF!mM@6kwVWUjy)j zfzbs3{C_Hd(oWTJG=Wi)!x+MB1S8CD@y=)hW`_VscmN7-jR(WRtE)Re6^8oa0Rxq? zc>~6L3lP4rZ8io}0>}W+`frs2bWP@meiGKsZ+kn;!4$8VcjSNo9}jxffZ_!JH&{u8 zT1VxkC#JvCz|2zv!2W+POaLJI9UM*G0;a14cmS3*0j2}s;Bji#Fn+*tv#|OHFqvUe zJIp)GI|=}01FZ3{1qO-{T=zSAJ6;P>Yg=mzR3C^_zOEJkcoT5Ex&ts0P{dIH7=1ku z=4Y5$U}YRCt99n8b>`^-#WG>W`q=@r1H~YK;toJH2$=tVwF1>3fI1SerfdCxW>_T& z2cRFQ8}S<<tPv<X0dz6~H6pIZ!Z-j_K+y>R=l*kcSQDV#&zFIpFTb8){QgYzm(Jh$ z{cpbchqZZl|Fl~MtTxX-sm#Osr+qN~?^fmkO2J%LgZWvX=2vAN4j!P!5C=aWm{)`s z%qJks``=lb=TFsL+|hu-GC(OBpfV4vstovgUf6tpDb54P_fLxR@c!KnApdr8o@-D1 zr8p1opUNx!GvEAWTamvM#}NT)@BB~gDk3Z*{J&Kh2QKpW$~Z)@$~b?jivz2F1FMTe z0NYRGua7^f;!O7ZwdcR#NDCzOI~OhB9nP;Kxa;O$M@S$f5D4+NJ}uw?*b?Pu9}-B5 z02qb%Q)(nQDd12F@z<di0RaJ=97sw^>Y5lhBG3Z#{?(0yM4+WD1;UX=L_~zms->l^ z2OLWy;z(Z$ML+-?%YzVc<Zz^~*=x%a=o88V1ArDOn0#8=@<0Ot9HKNXY!D!ow7j-H zzyuCa4j14Hv>+i7>gnqfXd&Vv$^m>}GyoTXNDCx~iwiJ<Nv17Ns4uTi0K$=zlf%6h zh5+CU5P=YJad8o^XGbCcj`gou%Sm5P4`W35S4Mya`uc#(fP`{@9sp|sfJX0{HB3e+ zpal?GTVI|4@pqwt>HkKrztbFM8ZE6qOaqvX05Fx*Z>A#vjtTy-ES$8oG%(d~c87Td z=?|~`beYsIAA$bjPLLMx2a@{fO+b1;Uf8}mKOaEPZ)*T}2Y2m)UtRxAFL3{;G8=FS z`w#1C{qGc911@6M*Rj99tn=~m@&3H73-bQAUe^WwxHkRyx-J4-++nv9-~#_Qmv#Ps zdRhOk*Ic{y#9uG#e^+x&+Qr57&wE9wL0y3IZ3?hWtYln0Y=FI<OkuYsZs6vp1MDgV zHs$3N;S>@83vml^@^Xua2!aKG8;}sM@XsTFO!|*naMIRZz^-1`)!_7Xl+n0=Cor?U zmzSHTC>NKfx0{=*hZiTr0m|v>VaH_$^?`8l2mm`U@o~}7aM`%JSi(kgS=+<*81wdG z`E&6&-anOs`+0x*w-pf*<`jWFfQ7)z|4SEM0e((?piLOeD<tr5YvjYrY2#|`?P=-l z;qA!@bp>>=_T>7j+#-K_a{SwJ^9u2B3IRe2fkl29od+zyEdX;055F)czX0GAo`1s+ z|5$2gsGSF3e-}FrTVQ854jFINs9-oGfr_jeWa{u9dZUK?BpD1i7&b}%0wHz)74 zg1my<oFXuN{tb2PpkDUgR-D$Z&Rn*@mS$G2u8uH2{PN0Q<^NNh`k!1xFj--X=r8gM z3;ovi-!4Cwr<bLNouxm-!}G7I{9P>lZ@WSeus=){Ua$~wYFsZPFb~iOTt$Sr0WbZV ze)zj(^;dcS6tw=fr<{TlP(bsyUFCkOVad%a^rteGzPUTkw_nzXxKN!3-;uw>THz9< z4grTq<d5z-VJD$)4e*2tz^&cC>iH<EBHpR*=wBvrkrXfBbI)*}O_|^*x`_GVIji@# ztGh8j_V&7#U(e0F{t}S*nk)GHxVvk0ueA2CO5*5s_m3y8R~zr2|6rP4GNd}}9wiLt z(qr%b8hkYz>^~Y6e7X1j$7OI;{nd|P4`<KUhA$Zkn}Tgs`ZPBXE)S`HobJBADttb_ zop_~2$P;{~KV-Nq@aPBY#?i3k{R?cC4UH@I^YSUl^dE0FJtg0tbzkit4PWi=o&<lF zuJyaWJNLQC1U>z;p5q1O<+oesc4cW5Z5jgizTX>rzh!suKDgwH^Q5C&^1b$?aCeqW z|GgjTp3W;m-H+PN_cE7qhlnq|IlrC_U!Bv|%}|%vEcKzPc$?F;k8gh4dwK8s^T!_j zLB-3tlV%@h%|8ZQ)*9cDx%kFAmuyl>S=bhwRCfB9b?#%Zct29xF=-up=yz|Tm#$B% zgER8py?z~*v-~44M*E%0cNOyD`w|_wuQ?7Lf4chd`bq9E@y8K+u9HTb<-4tFlFgrq z9c1PXK6#Fs=Rx>;7o9}MBa=LKAEn&0n*pCv&s6CL3FIVU?KvxT9JOwrf96QMBrCn2 zJY=*Tw75Izy{1bTT!&o}>rVqYtm+%<zBtx5c~M_~bY7L}P{NCiM#x!WQh{3aBsgA< zStSDXg6*WSaF%z~QnPO*a9UIFtLF02`FVuz-GJ%D3MFcDDE<V>OLIlOk6qnlpGM`_ z-ShN7q37^AF(+y!&C1TzT|FaxuGxX7FR77lr(LX?PqEE}mxOX(+`X?ODY{7eqf%`+ z@oV8*>~wPX+Wco|CfVQL@4dG@hsQQAN$3tHzo?$U!F6He*D0DVavu@VdPa1*u_WAz zVXmskvGnMZYpa*JswC_wpt|(=+)N<H?(B?`9DX*H`F?3?U!8dpY1bTQuoZm#*m-ux z*QDBd0W^KBO~VHjTase<MIn;k(@h5U94;5b3^EYY3L+2YPF7Sd3`t3v&*pT*Ueq*7 z6-gesE6J06&^#jA(G7Z@6++f9rgQmSvCKm?3G<0W7NTuCOPoj}vn1jq>f?6&@1Ks* zo=-@Lo_ufXT?6UMwUlN_4W?z%wtGQ6yIu)S=9+iyx1+QM3l!p|+8vIi?W>8uph%_} zk>k*8w|_EUq%>T?7gsYgsU;@029Kdv2QlJUug$=2IB8X@g_v-BtIaqw7(Z-fuZ0+M zY}aNS8H^vaI@Ll<IWB55E)B+yTXASz1VoG_M4sy-2CQr2V;0r3n(DvNPk&!Mwx_?L zrQcZfu)3<#Q2$*us~KT%n$?^`bzR%}T~moE_QJmNng-*D7y1kD*qo@@oF>sa^tZI~ z-&^Ki45M8%%k+0}Fg>GMMv@`IG=A`v&p341p*8%t;A>T+=7FbaHe>6ZI-RkGL>-1f zr4L;yMWy1e&V}rwlFptuzZA)gL`v4%4#&-S_2C><y`-t~c9N%~w+r$zyPkf~i?h~m ztk&E-n{CnLv{+54Dhfz3+3Kk#3=YnG#kF#!(WS^_9A6-|Wyw3X9K5cv_6maaOGbX7 zYNnubp2-J`=U^=8JpKiA%*?nYG>K4VpoysVl38=C9>YXm+1E4Hmd<3Xxek?9KqGIw zGFhoWQ@K1)o!9A+o2KLfy+B2Fy_w+)aarXTI+~RiE%ZsovWzs*sVcq9#qKXk2AK@C zDlZ1ik)Q4)z%iLH49GCXm;m>0M%y(>p{-}n16bG7m_F5a86(ZifPN%qbJh2%_^0k8 zwMwf}KJx8l&d=FpiT1u53n9AOO2U>Z@GOg`yWznr8&3Tu#nfz%1@;+cE$Xe|bt6wr zT2e349C?#3qqK_~vGmbxTVh?_y!vNLhVYW<G2Zlo^U=cgECYI$yqZ$rSZxfQ!gN1A zcPtiDlg&Mh^gtCnA_Gg_H$kNZpB}c}w_#*lyiHUVKbM`E5LPmbtoE*j?<EE@tzn9P zAyG^;3zLZjoM&E4Y8y^OOe-b^7c1C|fpc!@b(OU~_f+@6a*aYrDGmICN}XxE!m<|S z$i%dA(iFkePmdo$k*qi-2$kJi^ELfsVsW4sI_E5!3${;f7GG~X=lwPo;5_frk<?Ox zVB;<uYvImCH|b5Ug)f_?x6b$+?rCz1U?Z(upT`{;C&wZK+K-C|t07a1c<ygUo{{1Y z5n~5!hcM$-Y9WQkL^~ToXi06h1jfSlA|k>^Vh%}d)KuA7B7>qAEDRXu`?l;SL^;O% zCJiPNM?m4W4C(TBGE!Q1MJ?*_gi{U~duOeNVw5HfS-Q}DR=<z8@N%)(v{_=uu7#;} zA#vm3E~QCmBH5r6rKSdnnx-Du6cOGHG8n}-L2DUwoJDkVHO@|u9cejro}i=U)TyzL znowq462h<C<<C-De$<ST^jt+1b%dXj{sjYJns^AZAUd%^NTzvs><fOfRK|?8p7z6D zJ+i}$(#I|L%`5ou7nQdfP@xPImpCyqY}n+<%CXklGBz_QCCZ<kG=!SI>(oenRz3)a zPW%iF5jWYU14&4(Od+S{6aE-!JmCx%I@+UXeoM$kaTZr9MK{HBrex55rtPEmGn#DS z@|{zG&J%>YTz=4qzB~wbyl~{0jC<3Ta=J6)$vf1iEz2%s?|CBHb#0&ahO5!VAUZ;| znDyW|62xT5z^_EPr{viOpo|8UHkYaFjQD=YxG|@t?jnP#>F-~>dKubgg;q&yuwmo~ zXGAk&^|Ta9o7h)C%aRfETmrvw^-&qrM?AVIv?hqng2eL?N>C35F0|@kb~MCq=viz; z9zA3KWBW|V7fT5B{phdc>R%b+r|D(NS-nu-AT(GE8P-$kW<@(sv9F>^eHh?W?!%hD zEk$`8xVn*GU&6*#!)j75M4Ffr<Bcm-dTYuQwSbBDO%WpKoC6iAhf?=)X-RyX@ByxN z?<e2ywO*ZrCZ+4!qi~|{KvVr3If2Xj{s967w<8Y&#Ob*|5X+Yi2DnyMRhm7)sWkq6 z5ci-WgoZtV`))t>Ddn4eQl#~mOqTdkQLGOkwW=kkZB)W?NXDzmMDOviJ{BaxEg^7+ z)}CY{A&d)>;zvd4G=CRPK1=<WWl|E{Fu4+8+JgSkvd*d=vu3$uOI~~y*;S>%BQ^f^ z<e>(>1+|g0smr%5`0Q~rgp4nuiS+m}RQ6Ox9gesC?dCAI)79J-dI{IjoM(wyP<hs% zXN(ZeXNfjEaG4K|I*u8=F+Q{Gyz505{zOqpn$M2Qlp&M-MfK2*#@W<YR+^gJ)vv$- z`j%47*{(J6E@!|)gPk6{QQaVQvTP!Wccq5|$BkP7ChMZQP;IDuMM-QF$%;*GZ=UXP zFM92y(}p(X(~M$ou)X{1Y5w#%!fkx$nEU5~OD0pQ&dg~vx^9h@we2QD%|W@6^zV%d z{-PXK=@QfhecE9XNb_%dm1GQc)X5F}jEXI5AjmGmUO3+h$LUEfGUFq5)#%0!JrI{7 zFr8LLa-nts26a^FwaYSe+ksKNDQ_D4RotpC#cUMj-PIN}#-|D?RUZvZ5;T@-;9G6? zr%-N8RPx<_!Ys=u9YNd(r|g`-cjR;D_1*A?9BPrsQ6`H;u{jgsGb<qzw$I}=W%+$^ z!}PtsC+RqmsoaUMBl-MTO}06Y39k{JTzd>Z%1AAWJN{{7DN|lKF~6_wVrTzq5Zy!P z&OnHw`=hCb*BJ?luWIIVTtpZA-z9#`$gfU2pI$!O`0&OVm;24VZi_AEqvH0-E;)tf zsKzg<K6b$|x|9j%PH@m$hC%CC2@>+bR&H}>b4iH^`wdEruZd_!adMD$aLz%uW0dH) zTVf-g(RDFpW1^=9tsh1Z4^DJ2<lg-n<Pc4~7U*%ovh%zt&7mpJL`%%rVOZw5X0@B| zgVf^7<JF|m0q+j$0YtCbk$WP3BTuw8F?o;5)z5lsOD(Xc7123T&dVO$y@zlwGi+2` z&T1Z2=Y_CdR$+h3;nZ<m3tb}{#mqOiV)T$Y5=-9HA`Zh3GUP3D=?q2+x4w7?!#$9C zQ<Z0FbM>R{GcDr4{Kq@zXXI%wl3W`|nNocX!sNCa*=NC6G=lEoe5e6br?Dedw*xx0 zO9V_%5+rY_&tTc|WQF$!I8lhz(y&`)HibNFOWz?~l!B%r<&RLt;-@Ndp>LlIiFUSq zZ%a=PZ?j=S7$*26y+17F))L*z*R<e0CpQ39SGz}>pfKLPrR|gvp%m+iA4M|4C)*$w zX<a?yn__FS=9*<gq2^9GW#~hq4*w={TZL7LUny@iBIwym0tfbs@Jj|3a+(=l!@*Bt zP*m3?g{-HPQnPAz1V0peTCZ0p?I)Ln%B&GskyRi1-}}_^HDjG`TV&Kj?ij_FhIZF{ z)414;6MVZ_`Www8UvvcWj&KFJb4m|fZKQK!r>_PkGFRoA`}c*WZely)N#4_!gB;<D zCpa8&-a63;F3-?KWQH=3g*p`uREI>BDo06Y6ry`7-CLa_{K63JEI6LHt@o3)pZeV0 zlQY?<Q)TV#dn2R4-}dRdL5-sC4;!Y@yQn6#MEC(8Ir^d9FV;8M;^}=v$J!V=z8S!k z^#+p~2L`rmY=#;7xJ)3I=J>wOFNlw3B+?J1<QWiZv>Xn_rJXT?8`jCKIc06d!!Qc2 zkJ$hC-j>43{hQm=idQ@|h66XP{4F$l%2bZAG9i$Hv{VM2JDHoli!jq&HM->Mx1&0} z87kS&9N{C|cUCV++f{P5L&HMbNc$Wjtt7A>a{h=ISi0)mC{J(CR}&vL1mpQvDS7wQ zrzeJ4r52^Mji_wxxG_aH+(CcMwyTycEF7uzxs%m#Iw7RMGblP<23HaJP0AXk0zI1T z_moz{wgLXUGt>Mcxa{2deM4i%Q+(2y(gxYX43XjKrxdp&-_T+}%dGG9G0Lz6-t`yZ ztZ{m9=TqGwhNOvIr#>RmbCS+_es{teylt%ZhZ!SM+c;5Eq~U!_`RRSWtA}X@B_2Z; zP6%kT9J@r{wnIT1P$G4mfH{P+o{MLn+X*S$9xOjHnnsglEJLfcPLi+fpm@?<*b!Y^ zGjiA?zST!mYuk|iGIw-_<D7pfi;w?#_My-0Sch>|lp<mYt)Jxmk2SL@=pz1fp7~|> z(%;XttErJ`BdRLc9?uu-t3z>;AKJO2W`?q4P8b^q=*u(oR}L-C&Jy9?8h*cwmZp{? zZd{(oIxzh%sdOogk=m(Qz>A+#eY?*l`|T6q%2m~x3%ta!mlah;NQ%#ijX?TA0R|zo z$WiRr44)39Xy2=a9OPStr1cSrN4NB~`puV`ZA7Qoe#`RijGSYfd-XEYkgmoDi7%l; zQH;=D^e!oR-0O+9ANw}@tYh!sXf;hr9VG=_Rb_TiYQ;WA_)hVG_)VV@Eqrn6vI~h< z6K=%P**wdDQ(d&8_!hd8H#neRu+Yf}cJ8#8vyHqM8}7`^!&J>D*~lhNuO7>k!~YU# zeb?#Trkz@QT(KBqN)WpmJ@W@^&ndE(mwoJ1#u~X6-Z;p7sZgQpNQ&Y^&PcFVKXWrR ze!P$fseicInPXA%s@Kb0<xK*?&4n-9P3{HCCaF(w3j6C0bX1$Hw|x>H4!jF*b)VmJ zd^D4CdtQFI)jS5JQ+3*L%|{@3kgPCoIzWnU7rSF8c<2oR295@3Ac+Iy-8J48GCL<M z7J^CUgX9#8y#qQes2(o^@nAQ>6*wzCQimgrlidmKGnNd1Zx9^#J_$Y;DyQ)ZjSv1o zvll36Z}XjwzQ0XEmg6eO2Z6%JU33b<C#A|mt$t#<7J-lD{`e5pZUU8J^)Y|)qswsA zgL<X)bM|)wCXRN*trUjpgBxeAteo3+VgVH!AEv#^w~$`H#BvbD6?)6EsKxI*jcua) z&dE3DxYuF|ODRaY<rTToBAoJZD@D@b0#(>RGXn~Ayg3->U~5ZEX7N^dOS1%p_E0D; zZ|1UnV2_e++}CnJH_?GG=f^KKHP{u(pD$))GT;ce3<rr5(8=CG!%F_F?KYwxCDYS> zj=yZCbuToBkD7<Kj<5GcA2tr@+T22--z6OFI)YrJ4C3%-u2Z9iyLl_hXYf&~c-DKG z-7E*PG70?0Taf}8j}}U;T+k!BAHK<Qk-a)FMrsP9W(!0xHFBq~Lk!<jE6_H&PqnQ< zAuA`JsUS8hN2Z=p0H3o@60iJnv=MpQsNumwXS`a4riR=CM8OjK*{T6%=r_EiwIGGh zT{uj;gjM0V^0_SwfxSH6@Fvsj+Ik8|7uL=bloMMvJQ9qI*dweT5K(^=I^(z>1~rwv zFPAozF(s(sZ!ehGv$e4E_FbVSIAh8A1RX!2di;a^i|hf)U_s$Jbio9{<N5VtM415i zLVXDV&n9Q;2UD4~^i*s@F6z&E=q#<5Z_5-)6i&%G6(ch9Cx1<aBgKM9y}3k*AS#>^ zCs;&4<B%%6A0lJF6gkP`fUtY+RWL=RW&gNf1(?M@OAJf$L2rC%eD{%`crSOp1qpR8 z_w7*2?;wnII+7tp?l`9F=R|+Yk&uZqQ2!}PByKOaILQzK23?3{AV}7J3E3@h27Mh9 zV;wGX9~EOAfn>;zJ5JMr#MOd?3M1<n9D83A7hfT9%HmmWsEDy$yE$<b$<yRfl>K^< zqg(td6HMdfN1*t)Jk!-vfm`urT-3NUC?To=l-v$4Y$jg#oM?<GJ}`|G<iZZOkt@}& zS?mhi5F{DUrXV-;8jKl1{KDE$*jVO;gJ3B5t`0pC<MmQl9+>z<7Qd)^=7V$XMWcJ* zqSQ00H<{gqLj&569ZGM{sa#eVd{%7L2`;#Pk*rET*JC>>HmRh3op~N6P!^=eCQz0B zc~0eiMLOB6$|XRy3ACD6f6g(f#BSA*tV}<buAQB9C=JqKJ5sOJt2a2u$GAj|{DF&c zNk?*y-7_T_S{RHd8ys2~yRwL4u>~;x0Wb!d5-ql<FfQRDsQ{Xg!r;5s=j8%JN1s9p zC4q(qg~1@%D~!k=s2G=+7|-)Cu`~`mKe8F1xJHeiC1r9G2X7Q(pNkHi`BR*v3Kn}R zWo2zlp}_5B-HT*PCpS?1$QdNi?Qi^q9e(^16Uua*r@IZ3%*eJH#qpibEO)wfUdW8k zF1TN9a*>1;lrnUyMz1TdksB_$FcbHg<IttMDkIvj9O(2%3KBzYEN*egv17*+>)zr- zT3uKl^pO)iCul^EnRHpLSyZo^(5@#R?y$(|By*XiS&p!X=HqlY%w1PWo5&61LaE{0 zzwnUql*PD^sNHg__Ne&$!D5|0;RNgIOJr2`h&K<Z^bpkNUFlwZ?-P55vW$$<7opT^ z{I2|nVM4TS$n>ar>b2k^x39*Lax_QC!N5nINkZ0y9CFlTTbt&u5g}uW2sw8U^y}Pc zI=S{bUrQBxx4qh2>^8U?vLfY{7LGd?iH{lH`J%+Wa(*{_YS**RsB-Cf(OuL}#B->` ze(R=>E@CtE-?ZpF39ws}%bbf*XVrcAx|h9ng<?r(h`1Tv6<*`{UfCmTsc*4&a80P3 zS1nNHDJx`OW+>c#nXG-voPIQ8&u(R3;ZC14%%S;RK$?V>pV8a{&L0<vk#P<+CqD*# z4ZN=8vOd&ILXo%b{B)Uf^Cg^@6a+OLj_Z^~!?`?P+U0p7je%N`4>|sDcC{zcY1^tZ zfqZtU#8YEw{C1T%WPwa<*3CL5Hw4TzEVanjzR}IpjA{JB?ncHUtRQ6IUGv@~)bQn# zmDhJ;AU$wih7H2$cD;cc_|L*Fg3^z0(+W<_x%CcFSM{^rS_R(L<<ztLBvX^Hh5YPO z%bxjtA2=jh3ghXds?27Tz|*l+Xh4~VMl-qwg<sG*6=jj0sQLUN%6;;!>5;(KI77Wq zhl4RUJ2Kk-MvTz7SCV>C__0C${_j&yccI9%^ym(DBABm~Koy3Z=cAPjw@l$rcD|`@ zp4)_BWV#Q;D}xmJ-JKMr`0SO#BaEcUj$go6FgFR)Cmnvm1zF8S1e?i{?4nqBlS*`b zm8!)uJFL_vK4Syro<J#RP%TPjztE!Dze?yZXAg;xeTYwyVYGyG_g-6g4mOsj<xtOV z(jCVkIA&TUT#S3RVqT=E(NKsx$q5%;arSUwTdz8t$W$M@WPzV*4Oi&ysSD2V^4J+? zCJS?-w}WltixUy%2ld)6>uz#%tHEohm6WGyw-Fw_-x!_#_+BJbOjeUQ-g<D!nJ)dl z)%$ypyPuz(+$Yi-&<?D5(Jc3+8EvDs>MQNT%Vi_)d1+B%(-$Vf2`{?oO*C@B?b{`< z^M3G|M=L6EQuGHaK72fZwcOC8d2II?_kH4~YBJJ2Hj9p{PfMuPo>vOrT;)2X6W1T? zuen+OpvJJ^g`ThE%;x`~JdD_yJH62N+tZh#bjD*<K*lYnDS44}7?$?oBdOAd+r-BH z(eMK?EbnPcNM~{I7VP6!y)g@K#byNHksP}^HY9hs$vkCR$m8!or!9;zfLca24dy|b zEbOOgtcsxzo--@ws}OgUM+DG>vokMonT?VzD1=5=s;ut|EUg82sio$8(8@F|tJmJ< z;pSd5=vqU`6>QWg=hr*?fvgb`SN`xcg=QalC@A8EoHI>M?=IuCLUv1t@B@qYa#|zu zB`hgnUG(>r<kflzUqwu{EgM;=$}{>&Moc#7f0uB-`%tV4Y?+tE)erxw$zDe~UfZ4w zY~tIe*WA?b#y+bU>D8iCPe5O^+D4=u;k*x-M7G<|DX~=!+FEK&m`wxjvEsNio;eEG z?mm?FqHney#f$q*N}UnN8nsv|a@}GXOUPojziUHjP{H6?o;r>icUs`p$A_c^W(ZjR zkFqE%9RkIaOmAUcFrrDSs@V%Z&h>JB_cR&Bb2dIZXG*Xu=u5X_qPg6yAKqh5G*ije z3Q)nXtw=A~!e7Yyodq{@-p5nVqR9ovuE~JJu~FAz+?&UfyTV#FOLjAHaoeT0(ODq5 zb;<UXwunLCAbE>h!}#U2;8)zq5;0)gMNgmb6ryD+RmJ&s!C1#IweYPLTuux!j>iix zzs@!`mCy<9#-l$8T<n=o{K(g2#w=tLgkymBo=Tvr(V1>u<m<Xuy)K_|53|hH;ukIr zleg|+3$Y3ad>LFXPINpIYo}&ZJJgo__Az=D7*tEAOq@FDjzeWxpKO0%@R+1DS9obT zRfEN3^EwwZ%KAlO?sg<*({@AaF{<*dMHJuu9d8silnV>TiEpZUX2O;ED*Rq?8OTw* zncR5-p^9&M^sSZ$yqU>oUScqlKiNm&XSh`Z#l&)4OzF=)AZRFCCP%AzgiM?oHN1qI zd&{(!uu8t^Bw|&q>MQ7}!l??Oc<ckp<>&0t`<`*Jrb9<x@F?hpz44K^XVmIUI><pA zbQtL#JIMM0ACa$Oa$_rw24hoY32J#D54-NE8JN+IyL}~TmEl`Ac<M+|y}+8K<}t~b zAwF~2^VA20(-b;<w2V(#uW%fFFw5rYIEp;vdmwASykud@g-O7e2z(c7CPnc6)E|r{ zl#QPofTi6&wT$zO8b?5+qS;?+)x{vl-ma^jkcXipnuX)DrFV{7h0b00sx-$a*4;eW zIedv*`h=!Mmu48yjySPgIQ>*QH@Yf&T@ki~Bg!hb(iHkR+A25mn!&k-wW6}+LAMH% zWsmT*Dfs-Bn*P+b)vqPXh~g~ou{0MYqnL2RZl#WnuPbZdx`l6`tv{Qch~se%KmLR- z6SLE>B)Wq7v6g@ReA7OGrW9GvuL<=;@B^~62wHz>XUBuN+oGUAsY#@H+r%e|`s?K1 zCXpK44TKOWNC~x_>1sbOxl*jh#8Kqyb`|DW7Mebe9@<5ezaNu`G&MqX*B~tBy-AZL zZ~k{*vJ=6Bc~#lyQ97_1BJoOVvZ1B7Yt?FypfSCKg>Ue50*cEPs2($Ml=<ztBaQkS z>mTec!Xc_kxW*>4bgD~kQ#vm2EorW|ICdY0&ErenGIT5T_9;NJUsbS9oZTz<VipRQ z7ziE-YnEsd++))*t54P_Ie<3G&S%(~NX>USE84J#fK?scMrJZ7n$pTc*f-wMZ2Qc> zsg|xjfTVm|klEU%aA%=6fr@ZOpm;c6J|*Z|iutY@gsHgY$dx$y%4Lb_t^y`XGg@a_ zD}xZlm@bL%#yiZ$;~D8ygcPh1|1OpT@ezO7`JoVQ+Eq^1hIcV-&^-zR`2pwoa9{sP z7Fr?I#A;eAepNrCJ+&HK^Qe!#5QzH0d}Mr*`}*+AX`A+wAEcrQB;qY<cd1O|7{+~% zzMy|IhS!L^L#Je{WuR9iN8z1-cRCc)6LiS+woIZajw}g6=)3Bm>O#P&YT2H4PpDy0 z@m2`-*3%wZw&ID9Drr;C+o>2mGHT*8&S#>?35RY%ec6iiLHW^HM{!N{T?2P$XwRnA zGW8yv8WF_rOhW`R4{I678P-P=%XwYbUGDP-X7a;#$vMH9;h*Rko?t~MT>2(D(w6rv zO$sDe)V8!U`bg}!ZILazg=8er*6rjDtg0-zwF91N06fLM`xs#!wvLsylD9q82Vw^E zC*Q7;*dWX|Fw#P0Os3z4go!>iCk&B~bLm3+6e7@-<VRZ<qn7KMBTIM70yxu+7E=&1 z4hTX@m&I(}YKU4?@{2d9c~F@OkJt0n#k9MouDtcGO{>p9PSHXNIu$iD!^0(}dC^WK znr*FA31^Y-Br~6}Y|pG|xy<>^C8RYG3x(Rv3!LFz$n8Ec`3SLpm5K-pl^DM(Sk{ZO z&Ij@%;rp$4qSP^Gjg}aDNEHJODn&cnj$eNaQ%(BVJ72S$tvh3$N2>mD3v@3*W$`J# z19|M_bt)%49_hltMFN}Ri9^O;bxgQ&6?Mfvn>}WXUlA9mMA~E7&BpWpaA`J@AJJ8< zh;ED7q%ZQC<?$Y!E9nQQ=)K-=uCZ%@#?4fw3YZIPO~eKZ6e^d*dL+H$L%js%!tLL) z8RARjMFl%k(585dByb|EwdFiUvtlfqa32dBIBXKf?j=6NE_%MTlue%eII<xE6dTlu zO>B{yhH2<X*_Cu@J5k+;-I+PEi{wT6CT!e++sRlJnZtUNZah=S!uSNkh%vOF?O0+B z+rjZZhuo*L7j$c)LmojhFIpak6L9pPu{`@YaA_Sz2>-5xvOl9-Bq5FLD1(lzr-mUc zbN>U6PdoJ+%bi1ya6+{WT!S1?`Cj+NL`)>grxu)kULkgTo2hdSI}NOz+)Hw^X*_kG z)3i7BdU%V5{kVqt38G1-VUHj6%vmXgDs09gvosgGfInGpU{K*}8;6q~+NZu$3_4)( zBPZRR#mDHkT@x2PfR?+TsVb=5l0<u;_SFO-p$Xa%lh(0_m-6~$L`}*NKHiyOSH3D; z;qv+qGLOX2izU?${kt_{>Qr}@f*iCVEDqDMSSAD<z0Dgf6-@*!%zWMTMCm_jE9BG3 z>*e*Gs^s;bmC5gcg*hCG0g5;_8I3%mIilO(3W=7AFdW(Y>ye!`Q&^rTYW)wmI(zF7 zi>7oGh=>&xFvu_s*p_;+c<ft~WR@23?+%G9R$<*1S-JhK))yM5nIbP3_(0tlWy<rA zQN&y1RcAF~7{U}c@e>h^yiQ?+n8wIPMzDtm>ubyc8SZV-Wld|823@RY9$#ZqZSDoq z#IP^#ywVRbvT9$Cb&Sy?->nvMosVbH2`w>VE#5xpE}?vf_CA5rxkDr&j!es*P}tp6 zRgilqm0EWFUF4EKwEZ-^#*tYt{1Jm(HqtE3!_x=Ca>?T{p>QrV%t^1k`pK<cwdK}} zwbNMD%tf~i#`~7sd8n8*1>eW1JYCu<=Egz|XFApxmT^2mql&nqy&<<@8R29_sR{ux zT7@(iaK6X#kXju__(I4c`7&k`($#k?(s6GWqK_=zMj;Y1KDR1gQ~UG*_fTJ^G1Kx_ zlY5j{w+pwZ!ppd93PSq_;4oM;k00s<mB9NwtSYD7K+_?I3?oh_ap&(UtUsziS*8Te zbbhFvKdISTf)ZcTt(-XvI!lf>Nu-)VZt(&A4~}L))(2mc_}=&p(5Rx;sz1LtP{Q$? zB<6f4>>DgG)rPu2c%n+N*v7x!;R_YBQm@2yFnOSu-S#2L#~5wBtg{1m{<bK6pwtY~ z8>!DPqZ{t;q(wJy9EaBX#LBO>GAnW$y3djp3&bSznk7aX%r|d8It67WOZ3zrr*^e| z0F{X&g|M7pSv*O_qGpW`;lecqy<WjcX<~aCAy(u^*N)ayb9k%$;Rgrw71qEL86vqn z$-Jeb5z!J58{225`nFZuGYDgk%2S{9s^^~TR|794@HoszNK#co^alkZ$tvGV*E(;0 zbdM-kGFV^XbAD{^S-QDqgj=(`z82l?3msk`!<DE@qj1}(c*y2FiaY|uBGBcfOdu8^ zXT-*4Pt6-9>XY}7&{#3e_nG$0>#ttII>J&lloRcfpBK-6HXiU}%_-m=Jc9F5!j?zL zEQqJNC)U{1W4%y3B3bv#TM|buN}}5qpZemyoe!&TJWisGc*5;oJ!+h-Xht1lV3)8> zho_r(W=5S1wj~hhe)d-8?sgaTXY_&nt~vgusH`~)SqqLgT7a{(;seNowo7{lKHyrE zHKB9&9}Ro;iE&Oa+O_P!y=?Dnp=QO9rf<#*tBK`Zo~6LXlyG?k2T_S<euXAJ*1{0g zG_C{6I`|@0cHawp5mFL>VU9aRj2n69hi_e?T<IO;jtET4)aH+VaZmj4OOZlWu@)1y zt#f83P(V3Pc2T$)ZiN8%6${|Ll6gP?^2xe)I&)hz5V)^&B`k=y3rnBHiDG2&iJoth zSDIHQ;=i?D22WZgpwshux^X}7fkluqXazdiG5U`84h(PiDX|Q@sI}U;Y&~v&>bvM6 z%|>?Ae#^{p*)Hf-df9#Mr*4E*NA3J;>Dd{NRq2?#$b5lhy<E$yxa|%mQ6<thvSYgS zv%npfY<(2F$lbNSHjiHqxZ{@SdBEx0<iBY1KdM;E4HgMOd(E;f(#Naio^4t3(X+th z1UavN?wR^6dlrErRkp97R~ZyNY2~1X@y`B7$J49Z2nk=_h~=|pYksS?zWUL|xu(Et ze&vH>sw7TQ>u*-TrW@KsIUrc4ptxPV{&3gR7_qUFD^>vu=M@>nKnueyo(&c$wWs%R zI`X`5bfLb{Ss%m)k{&yi*e|Tp`uNp6jHY3k)W?;kSDGaecFkp%)F|@FImY302+7o6 ziKyXtI^E75VX6D>Ey$6Y66f~H7S(`VSIrgob7U+GCTeRxE=f_n;tTYr@4vcbD2g-< zNZWnrVK?U-G!>d>(cn2TBgqm@M0f+XwZZ18?nRa&Z*u2N_#RERCwMro7#6MEFFQfM zNfTL<vfC&~TW!P1RCnB#+GRqec|p}k&w#yW!7u|II+~iMkX6CN`DTNE;5>pE=|P~N z?ssp!`o5R&X-F|TPm_R0keE_mS>E2Qfav{89~0TmNd#0nC2?m_qEn5-C6$=*-2k~g z;wH3_=7zcpwGTt<(kUqtLp8|caE_x2W5D_4u)MTl%0;Q9M+IlY+5u{M@R~bmc_4k* z`4J^1H)49pGoKGAnz1E>nA`)|ABIgvTXLy1(25n(ph#4Z#gwqD0|JY(WwA^s7v%(S zX7ym4?3@JVQ?AZcdlr4RjNHEDW6$vAb$rxrv=%WjSkH-^wpynhAIp$mAc9&*IYu#E ztTqY<NvL85oIeJ{v%DMc3U_>Fq^xGXg84@Ml5ktoJD<G{PfdkxEMSy-8?ia?7HM>@ ztzq&8T{#Z<rMbSMvR1$(d3A7iXfc5tV}ltZ=im#n(ZyECS2#stE2WT`$FZfcXKpy2 z$<!*|`_w*08*7rwjTz{mX#{R!kQEbz6EtASju^7A{}^cN7o`SyU>^m7qA9P=KuG~w zTL@BL9u#4N8hP~JASKZ-ojeQ*6n`wVjoSVkob#RFll9YFCEVV<Akm~3O9`@B#jvnK z`{M{QpYv$1njads?ib35mPc5&)D0gvNw4xEyo@rVVlUl-xhmED0;7pO$F<0e+`BTB zxqTOPDV9ranVzKFJfO#k>=4t0{E55!gFw$MJSsA#(&wjH{K`o~jjFzJ=%VP9rc6Gl ziQ~%PI(qBDZ_Z&$qj-)FqCV}5Gj-5(2RFZ8w}cP!8>@02=?l-qbbh?wx!S$qHPGj< z-amk($(7{WF{8m(fZ0XvmUFq0b9H=~)99eLJyRQC`W_pfg5FZ**^W=j+Aij8!`E*9 z(vT81%69Ua(513gy|+x^_qN{Op{YgnE=T8BoOVG(*Q0U}F9_eE<)_5k4C}{7ds-SV z)Baki`8o1k;T&3Mr1oVJ9pSVJUT-n{TKL1M;#ZjG3|5AIeH1SZCBN5IBy>CWgH{&y zQQSJo5zY265H#SaP#77pQN-8dtLq2#L+l&JxN1#Q+gGB;TNt<nP+fBIm-Z#^h?PHn z)B-ORH}(<OEP2%ANDy%-nw))oA->w1<GHv3yBvHX4+CoKikG1&7=elYJye~7i+f|J z4gq7<(lR)#e|#;<CTf#V8&#)XHg@J9#x%(lj!i|N!u|-0WlRzDuxZDw=#B?>)_k-s zF)blBZaD6W{4-oBh3^`OmEpEu%b3=TO+KJJA>aS*bTVP+hcI!{=&?ja7nR2FWtG6K zuO&NgHXdE__D}=0%C@OL3oZKq4R)7d7JUm`y$fTET?GVHCP^<qsU}W8Rx5<Fmv;yb z&;DM}^jlwf3b+jY-D#Q+_|{XZpdp&dff^P3n%3Rno`sgxCYOcw{JZ{2nI!P6NoZ(r zbW{Ys&dwjHxE~PXHZL1_CM_7fH6COE9}~BIhQqmNqu?%_We?1?!XkR&a|;d9Z!L3n zlr)u4`be<{2`QiLQxV&baJHRT**i$Y<c3}Ded%tz=3@C@4jLBtF>g`V3mdIGFPIRb zz$7xQIvSrSjah4Og`+lk2`-uwi)N;VqkUu@g|nL^8|@<!A~(1u9g6UMbd{<uP%)H3 z_|#0SoxS~o-XPCxGMBdC(U^a#PayV^^J4Kpg)!qxmXC;4b7H-0bV1>1){+^Et%nDh z?Ze$8%=ARc5joA~aeBT754RE?l85kFAx7=D-sTR~y`aTq9dp>#*>$_~jK4Sf{x_0F z4_4{wcZkk`r!?9L&O0@-f<yC=#AG^r?4&W*te)m=v~>=Aaiksc)fOd94xQB&RcYWC zYi;-$9s!Tqjj<DC$MDKL(S&*4`RBEy!%4D_RZ>gs>iDyuu`?H-V=ITknS3mR!wBl8 z;)<c0q*yaIYzcA?ysM)Dmo03^WP#QFWA%RK_pRjVrZmy_;@ojnMa`ep`-Y;Z(X8Jf zs|VOvJKn+S(P~6=N_sHkXlCiwo^NPo$x2nm>bf8`KZ0*iv_dlf5-BPL{&rgSM&?zZ zC(iU|N`*AsMBI%9Yq^e$yHxl-HRj(sBNh8Ua*Ybz9(BdnZtOw5`#r6nJ1Vuep0~{6 za;05dIWBtD<{d@}7Sp%3^wQZgBDbOq3?`H3{V@l)Zbj^3x%Q7Jv|3(KF*A~26XZq+ zVP(5*jK5ZqsN?mGV##Z8v917bmLWzmZ!5`)t*J3Tfh6J=+loAu9L$w!^=CRAkD>-| zyv8o|VSg^pxYI(l2Dx?1C#q>(o_9|h@}SrF=&t*NPhXMRhT&hGZM3%ctcVB3xA$<X zA3xnJR*X#7dTKn#cz3-AJN)3YIK?92=4w(tvR*U=JU!7D2KLQO`#_DCL7dpA^dCeN z4Y2UPI&U=8;V3V*`zGzdVaSZlh-*rP_0~=oO644LYf(vHwD5f@wGK*rl|w(0L0D?N zXSnxphM1F!Zb^BK4pLPZ`Oy8a(*xdul7Oh`e1F#}tS`m?{v%HH41x<HP~ip!j>&U` z@B>^>A-k9yU>91zE(DAuiRcs}c31{(8!^dGJ>Bkkb>7xSicg>`IX3e!zvEXwli<01 zN5@PzE}KDbgTNDS?sMLUbX-Zfu|{gOT@!yly=DCI@T8%RGO(erGf2m-VCso}c@2v& zN&ZIT<Bjsk`Tlk30YQi5_LWn=lJ+w0_@%MU5R)#X&58`Z%?g9P+~P4sw*=O4!H{_d za{KL;TMto(5RjOL-4reakjh_Lf1nBpJ&ad&aThIcGDAx0phin`-Zd*=W&z1p0$;AY z6uL!F`wmW?bYHfF;-Yu94miOhD4icqyjD(Vam4oyZTVihdM7G8^-dL-lU<kBXRo1- zCNV&f(|510-?S~YzALMm%U$d&m-9)5VomrNL95lKzaAF6IA=W;<szZbvzb>QOhWmP zAt{`zg8-9Uf_o+v8LkL1&R;*?vnivC3?|syALK(Wj<NLUeeXI>MXK<^L;U{3r%%h~ zIz%etd~KMAsYsvLecI5rh?*|l?3h*CK@=G`PwBS{FS4-A_C*YG!zt)TzH7oI(h&0P zt!S|%220=eXkPV{mPv-rrYR^|2NMkVZ3IFm+?Z~;`K9Z!k*5tSAUab^T+YozwI&LJ zT>gxIuQR1jm9$pk9;YvU@oxLr$`L&OdfG6<p#D&W@u~1&t}w8ieINsglaPhPV%Tz~ z+Tj+NV<<R%^&~=~kdt@hbr+KhDLqB`TA}VsMW-L<YN-cLM^-}G#EG&ZwhLJn->AKk zAL{Z;G7=#y(sykVy#2j`WLz+4p5dNvQ63hzb}wQkn9C~R9d_>6TB%!o9b*%17YDCz zYMGBRVS#Yg{L8_Z6nKra?1<!VFIMHM?+I%wh-;)-V-s92qVM9(7k;)U-zL6nX1$%{ z>v(MEBRRPfl>g@PKi}bU6}&p}#r50Pk$J#_W+j!)po6EFeathp7;iq2pNS=#uEh_R z*6sI+X~uG~e&if|FL>~=?%~dYZ@`_VZpiJ|h3OSe?jiR^uMEsZ&W42HDDFzR%@)SH z6RN!Db^|T%Ve@+IPP2Z@SxQOcYG`A)PwjHM<F1qP;cN57rIZpHuj4ikXl`dRl6~6V z`>|1{-O96)o;JoLy3LPcT@xeUCR239h&MVM@9r$SVsCtMQJ;ApPop{Xsx<TM0ae&E z&1Yo#^ZA8<oHLsq;eHeY-rTeBwU7H5(~Ql5tAm?MrYmbLwiTk`=I<UH=jhCFwQJik zVxbs}9BIvWufA(~5#&R6=O`)n80CpaebIi0?wrz({JlA|$6pYdiIuyNxKeh<y)~Ve zJeKaUQCo(6`QZX-Av+>+2w08g+giC-XT8@loM<{RF&yPMaRzyvX&!t`<cZz(sI`(q zWVEBZ>#e12cZkr+zMk*1Snf9Lj}j$k3tw;JKX#^j;FLj(vb;~6wTM4jW-H91YJR`3 zcaxN1&4P0E1v*aoQ=GT2-TIv6cUvYG-O59UG=wGj-#JIucnYS?Us^0wM~7No&GFfN zI?0fD_ZV{LBYVJ%<P^!Y6Wyznny_r~6Qvy1PXtbr<?2xqk9GVe%LkY9HLFjc2%K~@ z-8~z^Hni<`WUJu&hvOrd>CcBysf4LQ2`q;-H89kNztPYe-KJNp3K`^*^_@*Rpln+3 zosHvKEEpA&iX>Y!KJ3*z6`sX#-WS&n>PDV5(w2>HUDdMQL7XMo`x3I~zp2rr4lnJU zncHV9Y}`kl#ohT_bATT$OP;D|M3N`Tf#=yXUXKA=vOC?zG*(gO<JC%Ks0gb{%Ol32 z`7X*#R*wCck^A`8k2$w_G(I2mK8LsBd^k`1-9M01gFMk-&r0^azjCM8!1m&E$prT3 z_JEJ~s^3<!akL?x{(k_UKw!TRP(w7X)<fsg&bhdL3+Lim&Q6WBdUv?2e1v0YW!W8A z-yXShZS8VEjL0OQ1<^_^TK##_#&ka-C+64a_34`?YU^v%5HdDTBNrv|Js?C#=amNb z?iw<*N(T&W+~Y#I^svzGq?aP#21^i2O`VPfy9`-}@I-c+f(XPWm50B8h_kN8Ar=vL zt?>}6U~lo*3o=cXpYt(bK}#4Gv|@(^<se`|nRQsWeQ{Wjo`wJk6-5Y;KvYtWXPiWX ze>`9Tx&K>wVu7fI6rw+;C`d;-w?E=!(wmpjsOMFMQ_P9+*6yUOY{a;x!*7g$Ivq<d zkAe$~jh9KUFR9X|F0X5&R5F2g6K`}yh|+$j3nKQ?AC3Yd&XOWHh_>>K>nPLKHBanY z2$9foc22C-yW?c#BOE*{%kGF;yX1^h?R0>N3MRk=flBKUN3-#0>m!Z^c}C}391Rk! zmPZ`Tl6L$oShwkb6QyREJf~O)Oghzv0H(u8jC492$C#+oHIA85RNROOTAhnnvUPop z<4dBC)Y7rA5u-F7K{T{)%;gzGLp#hgA3-$KdTNg#n$7K;m%GQqiDV@V8(Oi$hH?<F zad~yn(5^UWNKZqEgvcSpM<6Vz$1_f%QKRvU6Y2M9{ylUD?JZZ{F?Ob%Hg3P<dkBmW zQkFm_d~|ZVHHH|a({v1GIy}a(r_&h@i;^+F=iC|cy~?72;iUW6#_!t8wu>W?A`<YR zG;(0YQ&!>t$+AM!OqXi?f!w8?eXM>9`&cb!8&Iv@?NgPHu#deQyKSs?$nB7|%i-8t z#S%`wIVLHtC<xBk<8ktxzDW5zRRuzJQje;lC2QyQP)XqcT&Y>&na(#SP_5nxUK#Nt zq#VZxsMEFd@|d_VnN&fO!|y-gVd%{9_Hq=S_>KAsBc*d#((@>sxLEyp6rS-2VGThM zS*i^u;rTXoUd}$>!b!N6vz_3r-R&2Zi?Fj)hTXZNcE}xMYnKB|R4f4|9G0}YS38K! zK^VP939@cZ$tE6xcq#((gQI3hGu{z1Zp#5BN<EJWoMH|oTD?PwGU8Ek8TKI2j-{7J z#EqArm3WnFk#=kdWl8CS-<X%M84gHV(IbY3o)K*yPvQsdpJuc=h_=ULO<|g>Dd%GV zhn6sKXvGd4%0WPfGV9QxopI=pzJ?eH6-J1W;83J!Y;<h*Qas=!TAkGE7--(%Bi*C; zg@tGdq5IwqQf|}14WiWZD!?fg0+3GiAyDZs5+j-p$1(QlbS=F+5-vDsEgtJGGz0s- zd>5Kg_^EgfrWqWU6c-vi(~PkDu+ZR@X2j=*<JcnAhFp*3Hg#T%p3jrL@87JPof2#H z?l4*T2*=KsW9P-v4mod^b~(UA#S&n`p-QX!eGkzp0_p=6adRchbL|c$wB;J(5lS<q z9X}1`Z92e2spsAJQ_R6cs}Dg;hmjcVbU2Q2QKxGhIHj2QfA#PR=h^+9XxIUkOK|It z8;E=o&$<&VBAyJj?gVSqo6I(xU=jJ`y|n`@qTLL;c7DY~VZa|>IkG#way97Tm1{}Q zt{hYD?8@=4XIIuyJG?TP_`@p*u<c0Y$b~r(XXdC#16}c|p*z5uc-Sg0;am@}5ERhH zsMDQa5$&{N$5(-792wOgUOBR!UAczr=*scrkFFg1c64R^bSG6Nl5l+W5o*8f2n&9~ z#rMT3*@LChR^Z?G+A_k=@yru-^-nkmVx_P>8HY<F4LLScDrqT_6}!vuz9*(Syzz-7 z1(k&0_r<<+c;idO8yukGK%sYj(^#6qiQ#JdyykhEr)7yRJcu*@Qt|o%&j@zv-}3xA zGCQ2DA>6=7i=R!q9MOQ0zDj+|8QNi<)61U&uhYqKTHz)4v^=!sa7a2FL+-U@tHHmv zd>hgOQqR$S4OtndM)*W$y8iJoXm_m0`LW81A6Y)7OscnPCwx1jb;D%5x)F7~a)bXF zKR0THMxmwqj-Fx*XH1B=P9uT~M^d};%jv#_gs2gk|0Qrk20d9~c#qw4p2_sjo1boX zog`|`_fhXF3?>Q}9%GK|LFTHkQE;v4XgS9GsJdR*_`41pP@Hr;)=ZWjYGmJbens0= zFtEu-$6ZUfXn~OE5tyRwKt-nTV(gQBi+7U(*oHRk5oc5nJ1cLJKF#0=%Esh!l*9NL z?{2KElMWUiv31W&NKqmlDQYi1e%q;vlmqavz9xR(+5->Iu6G_&hdbIT<eXE~YeZdX zz)|H<H>5Q$ic5=n&8Pu#THYZ}8#2HtM*(ljyn~x{)4|PT5>%UsFsL@Nl^fR0<*T5j zD9OU<8pEB9%D0pPU)1ls_+qj3pq#dRM~k-aLFdRGbykBDwYB62#n=i1XkGAwZN2rl z_=qk$s-xxlCh=F~l`Ki;J?d~M28UEYFb>pGk!T&|gNTxEKJZLb&P>03|4KOxT`?Sj zhua}}tSRZr-zwK(GA{gp8pAgB)-waikwCzh$|^t%FRQaN${}o#-NGj!4q&(n!bc_n zU$j3-I9oAv(Jn?DS`J<Fwj98v)POB5@33`S@yJqs0<e^Gk1Oq>ht((K*l}OqEkeqk zxC^M#$MEv)Lv>I7c?(V7*9#V!zQpG(H21!rT4+iO7FxA;_sEiG{ro*p3qOTY-IIS9 zsm!qh#uA1U#@h4Aznx*#Eqn407}-32CXb;_|00rmQ2Ew!rTt?ct~^oztRnBR-DYsu zw)g=@&k)Y#Hb3=ftRoG;ess~(97js^C^PC6@pxG~cP!|mv2=&+zQ2CB_j*IS>A+wT zal~IfKn(j5e!y)!K*lctZXC%!3^;j>54YMq`1V)pePM&;z=y-B9M^uLArL3dD%`$6 zOVvYf-_`^4lp3I?<sJ02AqTy~Pyn8C?trIVbjVX_c;uPrJo4<7JXgNiOMu$WeReM} zr0?@N#`PgT*Fi^f3@OzE?^2rs-fgFO;2n-|NznuEG9N})JLz!{prp9_h_LVaM&N1> z=;1}Znjia(^By0c?l|&5(t+}@;BdR6@_|t>JZbZfNQDw?R75bHx5d<$?YDgoKBM|o z)yg|#S{pK(TR95Gxias}c<rS#_f;T%Z9Sq3dj$k9WjNnl;SA~LHhm)`!ItFNUdK*? z7KY=`_~z&M;+BYMD{d5o6m|(((g{`@@FSqSguzm-{kUrPJObVjbYnRu4MTt1n&K%v z#18a`E_t6Xw@~-Yhz-ZZ1;+(0hDhjwXPBrBK@QFL4R=HGjH@csxP6Z<qk42%c@w`i zq@!dU`QbF?ZQ!k!1`rcSK$l7{01S^nudCY*z$W#hM#~Lv=^=(8azxZw3$8^Nz{YLH z0nE`HLrM)W8#c%aGi}DhOgRcLQ{Fwyw38lYpV0L7c3VK2JysTwX78FgvOR$27_qm~ zJkR#3n(Ll_!0pPxxpE!SjOvkQ<!v0SAssH`$d9Xkz3n2vdTB^8fdsdQO3x$B-ZgVb zb+5N6qV=V;fPH;a%_fPyz2@eUqdA6@>XGK(ZqvD}&G<>L90mQLyn9umo%BlQ6Po@F z&$o3vqK4PzaIV>Z+cgL~y!uKz@&6jTkoB^{7dx~_h~a($e1|YtV$|^0K>T_02jf7{ zwSiou75x2m_(=D18uEvqM#BvS`{r*b7}Z5uY4v)l<@xY|n#ywWeM-LHxTN5u^Zm2X ze#=n+srw3`z_+oe+XX57eh%aRZo~LDyo*PjOrjwYRD}#9DQDU+i#JlqtlC>5%@}@- zqrX0@7}GoLvL`PhYwU6!631$piyTKLIE9YkJQ_~Ih?v)TUwhFi0VQTMKa`%@2A){w zU!E#ymtT4%QMlI2*RBZG7_wX)M&UWwiJE#@k7!!-&h1#|jrNO^lu>c<4vsHyY}A5h z%&BX`wZrP4BQZTk8OOH}nBzTTyj}n9cL!*un5?W8Csb=N41n?G2Fp6(hV>&d&e{Qc zoTiBTH(>TgWSDi)7G0g7dIa<*BrdJXlaPRvw$P)?hU=0Smee%(h>6z4z9wiS+fv!j zKZr8&<ilwoyk)rUzTk($-U;FGXdPYIB(%1fl+S26d<81MkE=xy-9mba;Gr!POu+=} z(3l~NEn1Y9RCn1fxZm7z;l!z@e=K0O6GRO7-VP%sFQb0vW7b^TnyxI=VA=@xw>Iz) z{KmcCz)eL21&hx3t|X&*+Bw|=X*n67pr>3#YDHD3w*@Eq%SzQz8ghm4a(xFh^9_*G zJva0pk#pVWv<2bZsV%}P^Fk1DmErQrNYvozL?!*1;3P3*Apt2KEnPW6i|DjQAfU^2 zFgFQA<{5S5aA~{8c^k=DxVoiv09-RRP>v@*rjCCbe%DpQ$&rZ%nG>H!87=@0;$V81 z@!@0JmCuc}Ate7GG&7hTQ#g|>o%^Kxr!Sf_8$K%Q=%I;^Y2FLlj+Bh0TiS%It+>H3 zh63Ci_YQBaqaG3;L3I&_#2)9AAs}v1|HpZx*?|sG<(>N)FHZN7hF4}tpSsENm=DBl zQrD~TdaHfJHSu*Wcpp)K^e}pibkeh)LMDB!+l`X45yn#)c0;c{a~M$}1eBS`0?ImR zRvMAjeGLeIp)bArrjQ_Xl1R!E`a6@X#*Wj3_Kth=ifZ%8Xa{DIq%bqGpUbxyHwMO1 z#F_E$ab{hO7veua$#NdoSt7=8>u2o<FgX3!8Z9U_IQ_|r9u8k{_@`9Fk74-YD?yyM z-1<hel5@ZplS;ssBb~&qr;v)>>bBuAHvC8`zc%L9F9XNvzsJ@QlgAZu1rvf}Nm3si zdf`#EX|YOklqb|@-kn!iHz`KjVdBX5gC+Z_I1-YdpQqL^jZgalLB^^BkoC!r@*6}f zH8K@^v$YEBmhvF;RU)!ngk7tfX7Z@XEze9_sl7u8#~HnO4TYOXxrbSFNl{5fYL**T zr>NoRHsD}%SZNVP%Cy6g_RgU}1rea6QVVFJ*-tyZ=9faEtwaX1*HH!6MUXu+as=b0 z_SNDPXh<|V!%Sh4VJcFRF>{LgnR!|W6Zr5Fk)>>VWNH8W=zju`B~;EU0;@J$NPb)U zh}`ygtbLWQ)yVe#0t*+G(s~0H5*oMN*mAsG!$qdz>`nga5oMGtSF`xrwQRLUX8>#C z!Bkc@ZHTQu1_kT7hmy$1!>Fb&vY=~#A+j5jVOzaHRgsTjJ$4Zsu}Pv@p6w(T<K4Ez zlaAdUD9Ly^RFk8&;6!~`dFUtO+M&q0=ZE@<6uU~e*GW+0QA9Ie4mcx<_7`G_qv|6f zK6Y=k<3b?WgS9?TM5?!!mb~gE8VOenyeol2iW}`n&BD$pYI4^W-0&zfVIY-lH{#kq zhYS@(K$XfZAPY$<YHiJz@6>wP-dw}IzDbgLAPc9d#82_8_b>KSch|#1GBZ6=lJRni z`Wbp!2$LARj0dnT(;ipaIY0QH@N@5;rIWHFVyo2~F&D7a@ajZ;EPX^Qv%&Rm*dkiX zy@+q#utntFM@xR%;NBoIHaQtwQe68YHJ>|_QdA{xE!Y4VGkz$IZRZBi{yBF+wU9#R zZcw=ecSFKuuiCtY&Y8mp&LLbo3As+_{~||Zv{2dQwJp);zp;ylWQ$*<BxB|jHNk2N zPX5BnbMZ5_y}v>G=g0pOgf6_uWPd_yea-Z~_z{^5+Q;J8aOYq~tBPnPzb}3bk3c*Y zKcaC=*6lri4Ukd_3+#Nma@HE%aA@OU;FL`_#M&PR1?_r(63ZySh_B{G8wz)GX}b_S zW4N0;mw4s_uxYi4HWbko@)pf7Q`QKpU!*9Ew5Xq-rv)c#<t4&M+4eBf{`s+fLgn6V zqk_9X@bV|b#mrpfNZ7%sWAm9Gs~_TJR*9=0(F)&Th%iF9%xJ+l?+71hVSC4<9wo(P z9W_fd(kZH9*9L5Gj1@nO#<UH%_0E7{g7Ba+sd-=#wQe}geR&*-wrExH4PP4J9XUb- zN$D%_o{%mh_7J4QkN_)EF0ibq$yHl$;#Xb*u#9a7EbE^i{Z9b8;KGgF`L_J^O?9@n z<qzqLaas__h;~~&E`I}Q4RO~qV2hI)&$#*#t<)Km^d-gBFH*Av`JAFEdTYT(=<*U* zKjYesx^~Z@LnRT=rD6-{!d<WxS3jbqGUMvkkrHe?w|+#O91a*~26ZQN@se!yixfqd z7WK3Cv=AmYc<B%Kr?KtPrTz26{|Q0AXnb8s51-UP%;*DGNFtus;7BLC@zij6K6USu zBHF5{)Q6jWU{9JG2Sq8cx;TK{=8s8n_vc6_GxI5AkkYyxq?8RmfX1*5we`#(aU|gJ zbOhzWL?rmVVoA~%RJ0b~0`0o?n^%gcz3m7lqz|7<jzVp|v}s6kUoVWTke{EY?l6tP zMQ;&C#;}8t^~{g<8&oWiuB4}*oCE1-#gHpr{wxst(lX*gI>B5`!)vGs&f44ZN8~-D zZwirYaPc}d&7^Un=oCwlda^j5qAGE1z{bT`@grzVyOTieojVCsK?Fdl)B>g^Nq$66 z=NQy_-_<X(h-=$zj<^{mYVUYT$zy8Z`fBn%6Hhv@3KT__QVm(!f<u<_5|O2Bdt_<< zJhDCk$TFiRgjGDwW^iX0u}|{>F5Cpg`A+~>hm$9s%^)#(MbyXxT)4@*S~zIt#O7O? zy693;Kv$ri+r~<{=+YJ(yp)*$FJ;@oOZ(^GrK0fgGP!wpO@tZj=(8f)s4K322qN8c zj<|_HdUI+#s4T>mt{&DuCXEvxJx@VLNyf}6>Zk2#A<XW>OMsWL?cino^W*;sLKj{H z(p*G&dUzpQR)p3<a_Ie70f~rkim(C_jg05F6>wo=TH@}HXoA%nz#!j4^n#JHa3NoB z+=ABX;ue&F5VxSL+Av$692~go0ZJ;P03}>HthE(imJ~)ScpcP1iL8%AqKQaC64CTP z5*ai&I&+JkCmkdON-|y!)sUnuI3!(GB9N464<zlK2hu07gv1rOApHqa6XO%I3VaQI zEtAwBI!bE=2XqZ&wUMA21dd2R*OTb3=)*@q+pIs)r}8yd=2aD&#fDTY<$T5Ub_swe z65&#WDlV2^xNsHUXGRtevYDWBiAuAR-=4yIKSL@gO-xfF!H2i=sQ|I7SP_U`@i-xV zjW8*^GRD-jT7{k0aNO4#_SML)vwNZbp^o;I;YXcJr}eYodJ{ZgLk0&1Zy%FSe)(oY z;RNDH$S|hlZ^u?X;XOE_!_pfIn!I&RV1om+-sIAqP|M&9l({3*V4HHRi!DA4B7By( zb=E6y%0ML<foY^yXg!}Q@>-nnqaa?d^ixAl9f^`N?cnIANb!(4@mR``Z083H5QhRk zU@8keMS7_+@L-h)gM`&lbHl{T>`8({4@u5CQ)y$!VJi)1rISO1@l+M2m$1Q4nQ@dc z+&7TXK}M5ni476MvjVpbx-hRim`bRpm7D7T|BDB6A)6X6cSs*brVx_SftpeS4jasw zBtMXQ!W>}01I<5c3C>*te8y`Hi>Wjvkx?X9B=kJ6LvF)<kXiBY9SMH(uQ$x4#=l0; z3ku?)t}KsGRHSrT?CK}#NpT=`jFvLc-6pb3wkCDZ>QQ)F;1R(*5gNi&(HISZ;l=78 z`Vex)t)$97UaJg2X{YiqUeOxuB>*;}QcsGEDACFEZe8X@!=(bLqU6!4OgEZ=7)3m4 zh?GDwSiLmHc7@e7J8p_J1TBu1rPB$Q4p1%9>eEmVlXzW}R2i<3VgyOVRi1Y4{A?4j zjW;Fh8u&?VNdJ&AYmfx47LIzV6<wCGrvWD&C9onowam@He@b(cTP(Ov!v*;bN=#a& z7San@Ktsx_ClN-5JCPBa_{JRsm-)GEo)x%)!iE`6rbv<TJb+oS@|Fq`lBYuVgWh|G z0?0^gN%MS4w|B}cL_D&a22W^KbR;6lxJ-be=?&Ea{e_HP2zW;#$eCnb6<R_!hfm|x zc=jYVy!Bk~o%4mH25bp~e%j;gyrSsl<Uew@+kVT#KH0(oawe5aZ)Hjr>m`lnWnTdf zz~h#}|B7^o(1?vaQE4*gEMrRu&B&Hfpr&b+=^|AcaG9LQpgRa7GF}b2J{td;CK%sF zs!%(%AYQ4EabNja2Apb*hCpakLC~W`3__zxz406`B9xJ!6&*rG%}OetxW~yep$w~0 zWl8qa5oo!DEPJdL%HS(ghzA)pRhb^A+qs0VC@ftcGyY7vJ|0y{*LQm|fUdU$O?KEt zGnu<yvv!PglV<7rd`Kb7FL(}!$S{wx)YgWIcMFx;9@z#%bVC+S4{q<!W!9}JtuV~_ ziH2-wnbL+X_X4R)B_(*M20&a_XT$)jvex4<d-&3a$8=^G-SRd8kl1?TVZ1Y4*g=$` zp8Kw6UP(+`=C!`ner91lK{!YzpW1HHcj^Pgp0U)oUh0|NX#!D*t-_<w?I;79oLmD| zdXlT?f&`Bb1`#WL6|IkL`sU-}jFp}&P*G~L&(jSo^rTRZ_M-mt0AQsj;EVR6J^kbq z@x0P^o>6>2j>p?k2bM}QC$nhL!b#$2X~M_WuEx!U>mW>2zGuMtxgbS8>PSEk&SONI zBUc<EFR|9IbwrmL5k#Z)h2h96I?@qx4GWpF_|gKSM2^geiYFY$IMxD5c`&ug?BkV+ zl;k*7WSBketZTH;$d3~i?sb>I%8{ZAnwl5ouwHsP_WPXK8PtYVe#%Nb<gR(bf-k0P zSho`mcNWYd-C&g@g{kVSU{kXIo{lIp$`NK`=MJQfT=NZ|Ad_N0S+b^}ku3=q1Rr@w z7s$Zx`<Txn{sDzPj_G?XZ4i%@d~NX|lan_joxh4<1_jrogv3EKQHA`vf+%t^Ag<mV zs>j8^JW6(m8fSQ!Iv%3NIim6CZtyH0i&(j)>4z0;QXPOhw2j71<A=(QQ~)lyV&lE> z2;A<8btpX-vlf3odixcs5VgluXmeggdd^Itx?XfszOK(*RQ0j!t)pGEb`i_|bhO(N z;3VJug5id#i_#vl_Maa2INrE6$9E_SOuVm!9b7rvx<H{l9nVvoNxw>Z{p){|Vt?s| zFtc)_o^V7w5@?V<D@<y~R3Pf;iMs?Uwh_n5Be8Cw*0hIo6wywj9IZ<m8{QhgP^5(s zTiDDyEx0g1C51VG!7Lv~zQ!i~1ga=Y!N!*9tu0FvP^49w#sZj`p?T~?V>Ao<7_lmy zLcuIuEn@QG`z>~VP!QVGru;%HE7*CkE$y2o&5j4>%Be#cg<(BJh^|lk=sc$f^b$bA z<U)4i5u(Zq*_BB%*OwP9?CJ@3Ll_74$QN0l{iq>?z4Bhck8nc2dHC^3^w`>>e$F4E zkHn#t`O-Ek;|j-%tVO-%o7)NEO82KXb_~=e`Kl0Ij|8z|@(*mtqz*W|C1q9R_ovxu zkGTDf6cON<3|TyQkvYI$_ZXGEA6Nuvl$zKC$nsB1S`+%{WwF_XwVP_5Ol@T)AujBM zvMh<DPTD?Iz`L_~(b*Y~#Ixkn!cjj{N0ZY_qSCrWI|x}3N1<+?(WAjBXO$!C2;v5j z%qPA(K!y@+l!r_K`igsbp!T$9IW;62Jm7-JrI2B<WT+eMSHLp1teMjVp?8S2n@mL} zhrA5{oX;^0M%?7_rjIz@WNPV1T*Xw{D#^o6&~;=X-7Oof-I=dubV+yJ1QwGo7$zJq zlDsPuaa$cjmhedDEUBD9Ef~MW^xk+cOk1{%Bv@652zQ%I9cSSL_3Zc3med?f!v5{9 znrLQA5Ds>Ay@-8-)F|_!GT|~N|8$RZf13EMDkLeB^KLw4u*hBz))#AlQ@ZSR`DwM> z3gCk0G=fm}>jRY*k?V&@u$nkG7}3eR!p%yi;;H$`76{&ZUD7u)Q+aL?wP)Uf96oR& z*O*R2(|JQgeI_G}wLg0R3L7WXmohRo&I!ZR^OQZ;rjep;`(QdP<_TM1qS7R5*z_dW zC~zq;wIH|bVk+tCB=#~t9x*EPNW!Z_w7BsulhJ^QosgufP2dbM)kNd_KiE;vB5y5X z<C|uM;!S+7eaP;StnAJP8HhP&*?>~-rqn<plJy+>&t3(<cq6oA*}|qHh=dzsoA;iJ z_Ao^RL2GM~sf9f$a;wU(3s`Ub>q@3Dm`O;=Oh}$g<sdqtj*+Jrm<12=&Qyd>rbx%~ zP1Kc;r5B?_UD$jL9w1G;mnSN%x<}U`&^ohmz`w?xq_Am;Tbg|B2*yC^*n<^W;APj; z<}rzRQ^NY;l5)N47=KzgIpnG1ij}JWfD85uvK`4p-VnX8LuT{DF<(??OaD(#@yoRm zZ<S3bc%h~Y_AQtM3znW$q$5t=NK=J;>hkM5Hih?Fyf<?r$(KOJ%-08!jy=9<)!+^o zIB<&u2V*rL3HMFNNFVA%Ij{r0FTM}x5Xw|!{r7N2#hlsW!1;o|h|^AH)tx6S;LK;1 zZdRdli&l<(X4Rd8{5ns?8sO(EKjbrU1>eu^!cL}@ua>#GfOjV}Wkn}ly-|>myzz}* zr)7xRR?Xs%a5@PI_()8=Oq%{e3O?FPVc4CvE1Y*jQbs)JxN)82*H@1gm?B~uIIWAT zD?O#NV6cKtu%B?x<%BVbCTH6iRBX3$(EISctYUTCRRT9)k{BCqF)3o-*n(4%E;zI@ z$tWc@2B(-jw6gJyEl_FIZ1XI6xlXCC;@s)(2j`@5EKDzbtS)OT8G!6{L4RrY1jiz; zytMtF*L!r_Y`jiSh5{}IkugyFF~u8i|B=JG_SBClgR_9a)UswP*96=>bIc-c=Mk`$ z*qk_HsNyJ^@Ux4BgN&d2TU>`By>cy4GFlg~oOxofPnIp5Uf55;lc+#Xfl5~E6kiY- zxJ?j_7B{XwGriKnR>bsymSsDc-SVu6*({U0A4p6}U@znJ1twZ$a+g#KV(!6MVJgy# z9TNweF*d59e)4SBIK<&3o0qJsN)}^=hMVmVIFCrq>0zRFj>-_t=MCDfo-J?u!p1p< z!nKp}_WMd|4yj3vJmC3Opq6)6vs`Q-+Ri0D1EejSe89F1&r{(6fOCYmDxW<F2?Tzz zb1^|23q5hrJqY(GnEetB-a|MKhujc^qezZfKrD#<l2aZ@=nAje(DGQ9u}fsKxSqI) zR%F#c6^WhE4f(b16vr<}FD))tn*NsGlgcmlccpavayXTfUut2v7B>fqbAAjdoYE!E zbK@L;$Nq%lwK-Uv;Rxp&+)eUYj`;H$Z~AZ&HBQ4gi&zrNey)~FQ8*<FU*6bc8c*>O zcAQ%deq3rP@$4jVd841gMoPk8m;1`_7U$#7;ZQ3)n@PmkuPq8Ptl9~3-}>9ZSR-0v zU8RhZB#2nn^@*|55~N(uDHVL1EWG0cKg7caj;Oj8R_PKM3Gw&wO6E&cjxb)Fq#nms zav&xZAWE3<jq|#}r33}{xA#s6BW7b&zzH6Hd5;rkXV(ah@aC4oI=Fp>IIIiUizlvt zh;`dZH7(N#DLe*}NA2TfzHE)Jn|cOwh1V^jF_3O~h>MgT$X5jQdio;qtbwtDitC;% zZ`T$cucKP4awP{kd+>Q^>;bll`*!U17FYX&Olb2VQ!>hrGbB7^-IOIaD(wqrPj4fL ztTfWAGuraoy)RMwk09;~EQg^k?5u#d&g?r>vQveB70}x+e;(<iKlA;q0<hn|$LZ4* zYi_DR!QQ!eKI=ieOmT7Z9Z2)+Kk7lHWO_-Z>GhY&-D^4>qo@^mEWP%`h+pm5Juspc zhEY&zX5~z_MlXV_T4`NoZHfnX*bjXd4JtLNs6Sdi*s&_>2P;JJsqzy*h_`0Koz-NE z@Q4h~X;1bnUt=SQ!vGk3in6LavsWtnqKD~}efy0HO#iUdL6}`$2o%{3ugP|I1)+mG zlj#Gi+aWp__s|wRTuP+xw-BSeNkda-Z90uv7m;uNbkVc}t2*i81=7j3dYsT_YWCY% zso*NDE>m89dzDt_#d?^+>R-d;V+yN_mY?DRKP+`#54QNlkHTXAij}_#3w8#3*Ad{9 zt0P=R6$+Z7a&4HRLTurYnJKEkxhbmCLs3#r2BxHfyi7?s**2#)brhN#!ZTXk4WN!{ zcf;Nd4f62|w&(Dg;Y>y*supSc&d}jC&glAE(@iUD!=}erNXn!<czj?kd|kzeiJ-)* zL^r~sZh2F<`^pN$tD3iQWfI!=lT>h}xo;^i_kHVkV}wg}i$Nz96gHIZYa7FqR5JEW zQ;|uP)7c&l(^NReBuypIx|#|Gl4z=<ozmf(<KYky$EU&gpP2mTW1)6m6~_O+{<m-c z<=?&j=cm}Yk0lX2hwaA8{~Ko|Z$t~8`-eY%`}cnsFVeDq{O50(oA^6^Hw}lJya5@n zKT^H4L!#XhGx5j&`uYzo|Hs!K{|6PFw<t}B34eDzzxc!7^Dp>4^fa_!?@Z1(f5pMV z{rTQX$2su4zyCu$4JnVb#~j@%O!9-yiR!vG|GV;JkVXa#YQcZ}{rSZ@zZe{^hBIjS z!TSBP3hYGYwqN}HKRl|y@eB*<veDa<ecCdmntzr3e|)rEaL7)BoTD5=(@~;BB!H|n zzT4v|7`f9}wcM|Fs_pZOeSX1508TD@@(+Ih#~;9}$i({rwvI@sG%nELeIME@zi6!} zo6-D6Bs6n7IlVW8hp_68ah#tZz&;fY86AlszsQZFCk>dbUwWsV6~Y|<JU##6(&I=U zVQvJ&WvgC?Y3MM;aZL5W`4d7P20GU8kM(j?!^~9xj2{8u2cYfqDNJ5GtI2GAmd$vZ zX-{eYNNpS~W4u1~%@0`phxHEf*~spB^7PJ$%;@Jl{&i{p{_4Y^WPYUge)Ayg^rqGV zqq+T>tbbK8{?@+!#X9R(YyKN3ZK#*Oc(G*lvY*;z;A$qf{R8dtrUyrg6(EsFm6Cb7 z*{{p%Iz?cj<w}xxpE2hL$m-(c@Q(`LkrB#1;)LN41-FX+eff<#cYW#;?N{FWbQB<> z0XEJrqrQYeP4?>ifH7&HV3+s_2dDjKM{{~qfY|i<5lKI&;qT{@1-!|~xlIF-;J76N zn;#B;$nviP*e6*cRQg?(J3m-!lhfFZ@#k6F{fR3aki%vFv{w{Y*cv<F{kqsbja)7@ zao*sEfpOY+aCw;c+kg>f`G*O%KBMlpPOGEFE9_>cYmW7bvz5Gi&2bV2A%^L=fA^bp z)I$OUi7(;kvmo{eDr$a^;P|MbezzWdAPW_7BKvmo%=aM6F!T3*;@}~@GaAn^a5nX4 zj5^ck^rj%a&_KM$pVdYAt>#D5zh3hhIh?$WcVRpm{6P<oP59SOfRDrXQ5*lN@c+Ds zo*e(%C;gwV7^27xk0sBM7J(l7V~FC7$XnZ-v9}#~qhR9BK7A<s3eLKB1}5^zwS;G} zH!b3ARVE?r^8zVX_)Lg~Q|wmw4UNq=A-YiWLRxL?FFG<^5{;w0amgQtnS7fGG~6S} zQhKHZHfDj>4Chm0bA&Vr3ABdmniI|l+|pxGCi9tJ`(+P9!lge<Grqfm*GLLd;W3Sj zY`Ni?dMaFD!p98%Chm>SPQRtUZxqS{zeE^W9ZW-%EV_VWQzpP7gp-CyU~AygD{daO zGVn8EACLZlMxDat!HSOJzT4!-+sfp(AYfD@ECfW7(;~haB-dwV8su3(Lqs1&33mW+ zp#PFLidScGBW|CDh@VHMF~g(Cd<&8PgQSYg9w$>o!oV$MUid~zdb%3Q?i@iIS^^Of zIm_`xQ-QXq$mMCggGRGyw$RD4Cz4Lp?Zg3EPY9<pv4OU5I;#Ta=K(jhICCy%9Qq5C zK|@&GXo0rdM$2wo%ic(VHH$+4Xq~XN98y4A1@}8Hrd~*EhgYXNqxoPDq=E;w97I8D z1H<L84B}`tWrupuCaw~=*#R2v+Vn7wK;6CP=4Kqz*hgs-Q|j+rBJ)iC{>}XkPm1tR zyZYul1MXU$OGaE8J}l0~Bi>)GD|4R_w>}dI1AhB_goBI0G~m+bBSTy@<^jLL?o7jg zmoro}EVLfb{s04>WLVDd;k}pAkSoCkdS(8U4@eFq_*og0alj#(47r0C-UBEp?*q^S zMtR-5zZ_=q2>RyC+lKDN@fz%`bn{@rmtK}kqBCEJHaQKN&MQ2zajsXn`M2sBA~!=9 z2d8eP(KpU8F!%%K2Dmd_f94c|R7bdRs^c`wmzGV*Tn0@QX*ZnCavgTsO-19h;FaLj zl}^r1rRs<{)vF`tl(ZXTr_L1(PVFmd+yde7bykwz9TLxqQ$1qO+Ei!2_F2W6p9E*M z!wBePaqFVZDqBBw_PJ$NXX#mtaUuMl{#I^kmIus<_pSF72P!{Kia4LAi^_b34<A+e zz1o2K19p$Sd)~B;rw`_M72kY`?{$~QFLHn5Z;((^?z*q7x9*vn^P&AZ->2_yPPyOz zd1oyU-`G902^OEu0^Zy@69-Nu?`TTCxjx+%{W!U4W_VZhuX=la-I?{fr-Sg#`KZG= ze=wTAd-@6&5<T?#^oNs<{^0NUaj(Y@di|@OUG;Ho^P?r+U*2ET<7mZ;DcL(U$GcZC zkCd(MA9xjYjHiw9_)9&>Z?4OK>tWB2Me`$}|HzyBZ+El*wJqA-?(=kO2o7X4{9wBM z=Hrp|-W1uZyyg2rQ-3kgTtA+W`%BL$p2tw?K5!E^7W`Yxll|TZg4gq>9sdu;|1VTx zPu2CizkgKxev-5wHLs^a|9`-r{zEO+0*vPqTNUB=tO|BppRo1o{r~k-p&y9$IAGzV z!wUI4Q~4Ws{_DbBD9HH-y))1MJ?clCN=C997*#m2pRb<MYvUgIpFQdSP!I?Gizm4I zH@`>qB$@?<7$SaGldOL{v`qiSjv1Z8|50iAKqbEDCxd=U|Aj3scPHg>Fl0BI@U`H6 zL7M!C7_MdEs`VGHK;Q-o2M}|riC?~veM@${BwZ^tFMfybD{sC>&TlIBTKPsS?w{r& zse;d^U%vUjYay%2*M8enHt>v-@^<)*eW31fR5ER>zW5niYy<ep8GW6&zQQ?@tnkER z(4^Z!D-+J!mC435c93?g$t5-88#&8nTaPXx4O(JPnRON^n`m3fsi$sVCxU~>OdmnM z$j^j0{NV-yG%>%ev$(wdk}Z}DFXx3iKP!X#T_i`9R9D#U>^u90r*wZwJ(tBP{hu%E zN?F|hm0hQC?PMa=j&%CShhMg+NMveq#GMnWdpLRH!U-`Ueb$j7D%jmG8#$09d~)*N zF+xo~;03QM5Br(PO=~j&`(|w@ls_9W>xPZ3@34oj%ErN0WoWa=3EQTd4U0`n8$KCY zPPzpR(d*0qTQtOjDE`s{74dW4|D5+f=l%cQ^ZuVctmnr9*o1?kc@@5W;b~O-KW9@o z|L;Pn@`xr6Nj1aN`Ma;|c4RJq>J&&nie#GS7Xz{IpUqhL!Txg21>G*a_iNRwvG@}| z*IM7F0RFgeAHfYd+=7Uv%VAQ%tw<wNs+)eR@d%dU27NUi>pa4QCMx})@FOca=nFxz z85b;V(1}KE;;N?8CX2H)*4>=iS)9TH_a>=(zz7GP_9R-1bLC<D`45~<@2R(tc@JQk z**66$PzUv=Od-2W=8N?~PZO1=@s8>lFYqSL^<j#-SDqa;sC*)R&|V;8%1u8eOx$v( zNCyu@QDE|kHJJOQ%>h@ZO%~t2n^&G!oq^UVo2jn<VOE>4oB}Yhnxe1)@G8X(mMR}N zoTj8O*hiU({=vW-EbNB{AFa?}=9@M^Dw76W>x@C%_uD3eiO5YF6{VYAPU<!hZGddT z+DP7ct#-^`ywedo=BHlxsTY3gh5vu+g@5{?{o+rI_S1^lCyMZsDRX?8^NYPu=CDnN zjHf+ah?cn0NgT;Le(G`i;*M^4zc7KPcEjmQ)%YtsC`Xgr{Tm&7BT^4>JMFr1vbb_K zyK?^WYbCG$`K{D(+)3_NfBHe`@19Nrm!;%)SIcK=sN-Mo2gLnk$q+DizK!Y^_wl=@ z*M!Fi=%ZABYWYkJb^MFC)@X5Pzy<wxaMozfvp_&B1J8|iF^cK06My}`>3Yr&ZF7{J zWSNg+oS%_A8M2W<UHXQP;xhbI$Kl7a#KUQkwxxI?mG)YABT4{;qzj$DmMULMWnkd~ z6zwvQ4+sBV;xBz8${M`>%Ig2=^tLSVbPh>wmxcF~_#f-&m-G^<;8TG=CuPzwy^sof z)uy@Semx}}UmE2nuRGFIpDStgwV^%arY{odO$3s@kY8cSrL$hy6@d%?l5Ct*F`id} zZ6RAY$;?;k#%;Be9k7O6jhw3SCSwF6oTRbIhwuDh$g9ZbgS^?D%NM_2Uth=$DKDGi z$!_{Ck95~pyB{hy;#xg*@lC{8WsD}@rNs#+qUdn-6`M7LRB-M{U=3-G9Hnc4U%rh~ z%kZ^yzCi2C^tW2Nuce<_y04|Z)zaQ-X}*?rYC&F5<Ot>d;!EfEmiZ;Kf;`3Yr!Tpz z$R}lz31e|Oq3_>t_Z*^{2oia5_GskPqyn5o3;9a$LIje!aPU$2>RVnkLCSTE*_1q> z+zhgkf5(%&rH@0pPxj(dy#*0#gI{yX7_OnpO;!FQQ@N#i9)_0Ob<9jVPc<)j@Zs<* zS3J=P{&ahVUS_^piJsp!SR8ySyxdgI-yhU2uhgBiqC%5&O_8?uxr~o-5$eg($d=q0 zJu-TDJQGhdM`Q>xQOoyq%Y)O4bc{N~$SVB|wF4wBFeHHv)iSJ>@m9+R*!x<h)-tV@ z`Buw(t7ZCHme#VYmi1Q4daGsmTDI1*t(N^(%YLh6`&tMQx0;-+9!X~xDnjbIM@>jg z=&H(ARd!Y7_p0)HRXJ2utg7OwD(_X5_o@n4B^hwJShd=!tF6A*Ru42wsIWdOY*t}& z6}I;Z+s6vqv%+o_I+W*knDg5b?-llEg@$)qPINuE3xq5hCr$9UOORWwme3v)$#l0a zd~Io(9MpJ}Qbx?%qRk7)opuKMB-ErG1j66G3aQm`@>|ljlH<)_W6#1H&onvn5hDF2 zZC^&?6n=P;1X-xqmpvOlW68N6sV(-)7vy{6@(o!TI2aJgZS%=-Sdf)J!_AER5S+pi zfrNOY7jb+$lNOXT%}9N<VHV=ytC1R~^DH+Gjw9?^%A7gxB?*x60gt(CNvMZ~`YzeC zNLn!nOR|>OI?fl!IeAn=1S(SH{?&PMx4xLNB};Rbq`h0xIOp(Q%0BO<Jf2GdnGtAj zrEGaCW!qCJptR>ZDVuXzb;(^#2*$1Eym7c+&U+|zuY#<lTV6P^2TrC`(6L<Q`;v)d z=_X?9WpsJ4grJ0C`@BsOpC&<E>gt?QJJA+5aYAJTrlyI#RYNv`jSRS86|ags9~FU| z@ZvltcSg(;66|4bndN~6&iD-e<u#D}I*);@^BBm>zXh`7Es*^3Pk}6c3gi{v0a@}6 zh!nrifGl|iM0mNcfUNTh$RnBf;zvLvz4UzoWXTgCFaH1tXzP*8oPWnJN^u^T-dPz? zh5SYV5(VKMk<4v>c(`LBN`uqkBC$(F3S0Uqj)OS2ATrP3v6up-Ay00+;)@%Iv?XOC zIm!Fnjnxe@fN`cn<b<ktC4-3aT*i3C*D?_Bn$BY&3okvu=v{bt<77%gPRuF9`=pHJ z_@Dg9#ml`0FyCLenCFFySA1V!$^#dY75lz#F)i!4y>j7*{&fRK&bWDo*Hl34`6g*^ zgxxMV+G|H1;P5;HjE=tLeFxH=xrx1xXBc*PIAWIDP<UlxN~<gWR$85*)^SpeKNuMD zi{W`4u{+~)*T+*#oSO&QX&gD<*Bypvr}Yp%D#-s=d*8BS*^XN|&#yRR12?R<_6Cd| zG*I>j_yYcbY#WA=>4E=$U@ns4W5+?EZkD?|i3?QL*(>y1k|>FiNNW>y@30`BmY9RH z24(B=l)=-z!-A9=()Fm9;5u{T{dK<=yEottH8&*I67LM^$N`p6kEs&cCEQBDrr$$s z&QSaHdupG?TqQPiXk^T%YXuk?ny^DCqh*L4WjKPxqFct$YKwixOmU3R)CAaosaDo6 zUhq_L473mUycDr64>n|IvkHa5``%BV1`&6k2J_;b$X0vy>eFCCc$It4hZuq|uiR3> zrNNX|Uw3qA5Wsa5tOxLA#=;7vv-MqGe>8m~qHC24nOyn}nOwyQjXE^Y`E5mi20Rhg zgXv60+r?YG8QhkI%;mQXrt?=GZdLjj#wbs4JTzg=HMt<TC4`vtnS5&+7*aomYsy9| zDYy?4A&?9r-0<?$WSC(p@r;un059Z}!8v8Z)q2cS%RgemzfRd5^k1{#e+L`>H2qQ+ z?K7G1r!vxr7weJ@Rp_!%fXV%b@%>vvh?)J(3&>kd<V(t308#3Qy<rW|*dji!LOc~b z@hEJXHslzM-Fx9+h;gt7tWXP9UEIM;{Vm2atNjh#Y$X%*_d65yH&0i|K0P3a;9#8o zX3L)s%k)$nTJ=IjSYS=*X2$_&cv>KfdlH%w(U!a>gF$z<=e|z@oo54DVAE*Zu#<kn zA}kieVg$Xxm~Ul`up2<X*=Fsretws;*bK(cZ!v;fAGXi$&$iF+&$iDmvBFy)rq6FS z*_-U1-(uUhCbQ=WbgSn#TMb@S*YlGta$k7m)znOPW!FEKm{p#~NO)EK24)ZTO;WJ% znQ&=<)ev09i>Y#2R5qAe#=*?}Fs*%wY3(~%*1p8Dc29=2FEgx-H#cm@AF?o8)!t@R zduOZKCyweE)uc8u>P#r(u&B*q`PkIf5+{4wUNtDH_TVM8k|18NXu;1%cuts@q1LUK zQ;P(euA{XHScxRA(!9Bn+2#ZvtIeki1e49)S(3$O=~ksBgU!<Y4yg8;y{jg3&EBnp zwdT|F#Z<Eni({slhtAylSZTf>05Hh#UJ{AJSvNY+t#*wcW{r95vRUp5n(JL;Jkln) z%V9*r24e<!5X}Ia+;AJfCSBYBut}k40NA9JTmKCLZJMzAGsb^uGMggpmq^^9z!F)@ zZr>ZPUY7`3_?1`Ti&U2g+6$nFc-Cf26}tO;O3?YjE=krW*nPr8ZW9eL1sPIM55j=_ zlQB-uHI|;+(8*$Zd4^3%vD`!cT$WdG*rdb^945X)SskevIt}d*Rk?ZOp_9-Gg(+{! zYz*<Qfvwu&s`@VtqPi?zb&Adx0INnl@G^#$P1~V8Y})n~d&|%|fA$`b30g)FR3a~| zB4~qhPJZMAONt^w?dLD4twdjHiqmr@(_SKfMcNB;{1|+<EcHO<jm>N9R@f>(AAjzn z6a(->Jj%iRI9v1QA#8u|@o3ReWEugidFekfNN#DVjdKg6doyv0z`8?Pr(X+;ScJvf z&Xy88h$sQihZQMAmoKfOXEUA^9?uGoT(u#ov+?+dJ}Nw<jO|Jl9=XCJR(L!rJiNjo zv4g}4ha!dOUf~fdyq*<a&k8@<a=oqadRBP7t?<efUa`XKQQ_qkUY{zwVujbc3NNql ziWSB)9r!b!k9s?vtM7QMUWIpzCI;>ks$nx3l`ZV>7B;5bJmnq3dK#z9EtJix7!pt> zLPiIPMRM#EJ|yP#{KS-(q(8e$e|DFiyGwuDUHY@T^taum=kC&Dcj=Gr(!IO%Pu-=* z?$Y0Nm+sxA$L=zp6`s!u&s^d8w!-sS;rX`0Ggo-V3eQJ{r&oA>s_={zp6@C=y~1<o zWWrnZ%4hL72Z2i%g&3d}IGbOd@=1$C`P9w8rdf9{iGyoIs)ZbNU<SQPJ4#3rxd=s@ zHa0u1DnRi~z6)!tu^PtB`@Y%C238LeyR#ok#wul|TZ;Mt`3S6B5{?$a3(H)X9#BVw zi=B)i-(62kDAjPvJuvUrCYdZO6$HcxQ#-qjjXKcZ=~ugton5#zEW8tjkh+K5t$^ip z)*G>LVezJk^_+M!Tl?&aMccGDA0VTsm#pa7F**#n*bWF+{~Eir-t4YijSNq$+;5y* zz?Q?sFpdq%o^W=sU@&|Y_49bq()(uOml$Ur)C5aTfM_LDM9W@iNquqEuS?aPb3iQ# z2DYBHvmagB>Y~%Y=EPC6;;&FLPIVfCBY}F;A{<UI_c*RSV4>rJ3KbR~im2mYTZu}u z*|5avE#0dP#pF2d!k~}uNEhc>Q});JThn3Hn5{$9!8!)q4Wz}{#qB=FRvlm4qOCw- z7hF<^OC&DJLY3y!_)WI-l~;Gu;v+9?Hdkj4wX9R2{VHuyE=jbpasZ>b!Df3y{%tR1 zpso`i`V8q|aM!r`G!(rTw?AY`(G!+kI3m=6Hx4DZXD@MN(xBa7D<s%SZa##moDOtE zQe-R*aYn~xKNcLx$`PK1-}Yxd*OO@C#|ti8F7~;?BdnZ?!Q~wn?4zn84i_^z%LA&{ zl(i<PqF?ZLT9^30f*t?URd$=|6f1y%=wZVSCeo)g3S1BKK&PR);SE6?lQpsUz3^JQ zseYtEi@@Ux7apLNpW+Y+DqJ=fwdy*~7BwpZce9?3Cq+2sWYbbj{Sj_>Jl5LJqP}S^ zI4I*`e}xeaquxkYZe*yd8|cW<?|8#e^qvd6k~S_ltdGl`U3i0lMwo@@UFLD8uwl%d z3FwG&v1*&-nGyhR^6E(Cf?8DxfLp;^4(*{jfrXNOJQA?>S_$aKC_7}#ItJ1=#>Kw% z2z6fUh<6wBv4M+b;yZY;+`r{$iw%+TKAlUu<hBfKJzX%m4=u8ew#90?!Whor?sGhG z)urfIoE3Twq#*NmU0qbo*fO&>VlYrIy~BgTG{na|v8!mQZ&d_fUnQr;teKY=UsXf` zE25y+l5lnN*%-EG3x}cs!?d=>$)kw7c$)lhroV7tch03R3~d!WEKMsP6IK>si;XLA zSwyhv)uJ#v7rlYxv$byG{!;g~gWcEKu{^FelH6`M0UWR2;I?U$8`}T)(*krjM5$Oh zHmHybyz}yVZ`P8BfB6-}6ZE@|aKx})><GMw<@ulA*ens>d5bu|j<`vJ&~7>6xazH; z7tRDwCdY6{b-WNc+I5cPYsro_7^{H{^qk<>N<w<69Q&^2cjU)6973TKJ)jcEl9$iw zsW9M0{ULzY$J2~8|IFQY=>mVWE!o?^pr(YX@4lKm-EVN48UN+3^aQ;r;XABKLv(Rt zz_&SJ-YG(S;jgca3$c#E3LG~fE?3|YpL|yj@%@`(H1@F;VzLdQB?<_7dD_#0X%QUw z9?CjHYT~+#*3Wm0jWvq6<nU|~7?O3k#u^9QY8W!}pzk=;Muqm8q-^B2L7&NDIMKWK z9C*dBc%7gjjbVc_$p$B$18P)TK2DaGD6*|Zk5sc`!wWZJLS)%fgd7eKlG1%gs<2>Q zGfO)V@MQ0>ij(G+SnaT3#<O3{gq;*t?3f&di$V=~@^&b(>TqN=qNmQDj}zl1N~}uJ z6RWtBH6N_<DRpG^03j)XGOL0)tCn_P^~s*H%DxKkrzn8Sto2|OiCzy@F9~Lp%6H~d zutes8j7dv7FeycdG<sPhld$_*k$;TbPsor-z(SgaCQ2Rl%2_^vfH&+NVsGAVM^@n_ zP4-(ctATVUA6y#>&u1F)WbaU-*Wt);L{I%aALq$Slz5h+Cz5G<MoYsU8-#uLtjO>I zLQ(={ZUu8<E$u+;lRae>tLVvV=S1v<bI^>+P5#pI<VDyCX~Y_oi8VM88&D(G@(ILR zi6XIH`p7N2gj=cq;($j2hHL^Bk~B1N?6BAKWE0qU!=@5F>$%DwiJk+mOA^Zy$=+Em z5XQky*7}|JRV<Qg(5bSg?bK)yBCTH5NGon)?w;iW?m0`ykV(KonuaD`9rnsuK7oKY z>>XlBSht;6UFJkHW`)~Xdu6$R14|8gvUhB~18^l<)Ha-CVoz+_#!PJc1Shtg%*3{B z+qP{d6HRQ}{BrMm->Uzs@2}cb{q*j=)?WKrtM=*cI=vRv?5Uj*S6=Z)R`l&2xfGA| zEb6EWs%o89kF#b+iCqv9avTbkBW((*r8$&A_8E0~%aiJ>GJ{_Kugk+1pUv8PI?Tno z7_kb$RCRyUT2OWa`fP!UL@Jci!sxXs$mzw>PoY+7P+<;GI7yr|u3yWiUpbDgI`ox8 ztDv>im)?mf;p}+nvQGK-jPz%u{2}S3!B;NzkWO<kqA|3{>}uR*E;qplxaDf-FL|45 zzF)BvRt6;V-b7fsP$_7Ixk^ma7-W^?hno34yY1NJv1emw$U6P_gOrrZ*wgD{qnP>_ zUZ;7+p(UhsCC0*X+EQGiAK^5Na)>BCM(SpE6_LTfD08y-I4e|WgTSjCta(0DU5(0e zcj^<!hA{cQs&~1RB!9H5n#Wdv+Q{!^ZHmZPZh4huvPJW*-rdBGL_Zz<tWc3%BQX-q zZ6Q#)=ps_>sXTMNO5pHFAAA-CKze#l?^jq4#T_Dq>9jw9PDV<aZHUn!8_qJEK#?_+ zndQoo6Ely{$g_{oc%H|qFAEYhA>Oq6LEujpGggU&y0A0O(gb#Q%{9{_Ml;a!oq^4Y zwr^%6yGFGQq$mmcDF&1A4Vk64g>vLlil^CJUw9Pnji8KKxXwkNC6)B6l+`h}=)}Ae z8+%Z{j`sA3tLyMts-_+-AnF+9l<VD{X)4;tVE8b(4sT)<g9w#go#a_StcIN6DUn6Q zM%bLRmCH{zQq($RgWhU{(vMg>7_}D^$@y*#4E5552bgeEOGEf55{4ULsD=H0T}gaB zdO|G>^OLv|If}drKgvn`j%gd4+gPVSq79SZ-mCwlli?m|{}Bco3rU@5ZDyjm*Vks8 zis>e3R`{WhG-!g&`d9UH=&>f5o>3bnocZ(5q?BJ=Ecl9st1PfGnz1PJN)Hl_=`P=m zg|tZI5iuON1SF(#2C58lQ8jjaS1G;4n}y2N?SJBxo^wT<W50tsJ>s@gnf}rcFkP&f zsOSw{@yT-2<eQ4b{EE)N=(UG2hTixEAKbFPCI*ufdc?BAsH2F%VL&n87)}p@vS(&p z9hbL($|*}vU{uegTf8!|@O7LyZ`hXl&g%Avvj`GQR&4yfsFacBHR?)BmvUW44|Qq) zyb%;#fw>vQ-z|YAW3&;k{-ar&-n7{f8Ad!MzWu?iS8>|=lUn)$R%>;W)vW<1fk^W& z4y;APWGq)mC%JHkWdoPz#dr0HgTDn7fJ>dxV3e7JLcwOe;p^CPzf8vy(AnH)sgdw^ zZCBb-yPAXg>*CDa{H9YpwJYGrE8fY9t=|=uS^!?7wlj53*=m1lUxLAgMpT!WpOLBW z_5EkA_n_JQt+a;bRrzh6ZK%`uffR`sV&(&D;!LZ4mK8|Kx^EUnnqt0Iv`S=u!wE;T zzKIFmEN~9PVBf&}qei5uKes4JQEv|+U;GmAY_TECQ+=&CcHrr~Mo)6g&|cxcLlGX- zK*E(Y@{21De^%JfbkE2&mSjceP2ypP(oBN~wTM`l4;0QEC+%y*!U79yM2G%eOk_CP z{rn<cQSXzE92u@{s+uGi&eAqp&gBHc_)kZF(xvabc<Ow<G_(qNtFYN6I)v6=wHKdm z1K?HuCA?^LOQ6vht;DOpSSj+S&f`~R|LYSiboN*avd-HbY({(b0!M50gD=XR1tKlS zM@DZ*MC&@AV$UWK{p*o?2l@Vg))#E0^(|AL7zHiD_bkVRjjaUR^OSJm>!iTMDNsZ} z_8Iw4gt+AQKM`_Y-yFpv_@iNlt5CXU$M~N8yMGwr;*B&#fUVeKA#i$mId<wRP<$kL zwVQljBrU^2$E&enKCL##(1p0Y8a5!TQy}P5pmcL|r5D?mMbuT<w_R+$VdQzYte}6- zg{Jdde-jy=$HuU*NV%0wKfAi$O+VZ-gE3Ev*?qL#56n^%dVa(FP(^HRaB0m2Kh^pJ z+)q5|Z0&M!V;)Gb@I^U)o1BN$LoZx=j<`pv!Q>*lV26bWQE{OrC2ycL!#o|sTgSP9 z<>tnqc1R%4^K{+kdA|wcX}v&bQVKiz`}A>3-_RQ%m}moLT6B{vkfwj5{^&tI29FS- z(dJuozAdyAn<rXl*P~2Hae>@w$uutLBM~nIi0heF_%2=F5rMFj2B?iu6VZf(!_g}y zMmdGu)``}aSM;T6V|t4ypxWENZ|G1;0~GX+$6@tWdMs~5MywIcNifr08<-_F+|kw; z9w)0A?IN?;BWb)$$gllwdvX!w5?Y|<Em=Qg^rh$@U_XAAGQ!4rs&o3Ln;Z<6pm9uM z%w*@X-ikW9elN}!Bszu%0F-(Kx@o-Zqd#+}CBA_6%Wjn;J$3!`aK_5FASr&~@xFG# z-^Jy4K!0{vINd&W^W;4oNyea$3p~V4|KmvPFsqm34-!ieSaw8u&8jjmN5^Q`e=m1C z0asy*lgL<xrU;YhIi8ch`I5|3jHN1CS)dzBB;NUyRkbwhC<m@_j3N%l*mhg-bqCFs z1}`mx4J4<3hxPc^Ap3L0>R0Ge!Ek_v3zKok*y|=(X4D6{f{8l%dyLmVR405<UAMp8 z;il6jft}7z;|jl1c?M(tjD<n%*dPUbK|eA6;%ILeUAPfm1MAOM+Ho)q)Yvw70iK$c z9TGv%t^pE$QgK+<Uf#-@A7waH3nH*_CAsWIrVwg52XlHu;UJ-CzGY;J&wf6$`sPW= zf8LL*gE~0kzeBmZw`YGJuHFrc;CiX_hAF@r>R49G8=C2fD#Tr0A(*n<FAT@q?)1iW z9hkfzrYGztQI0Cxk?$7jr2C4ZH@rXr-{D=>ohxwb+Qtr&)uhFyh!*xK-9D7ROgbii z)qobbI7xq#s?=5-qY_-d+~%^PY)N2$`w%0RsvpWCTyC~{N4qdS7kq7hIP6UI(oh<5 zQGj%8;35De{CO1XqWEKO2LR%18JYd%nm(MBIoPjYrb0F{mIU9<T}&Lt-vDOCEFuSq z`r%c^C3!*k{bQ9?%RzqcaxT1ZOY@0Gb_TbfW(7?@@@48v>#LU;OGTK0a5suZ5M&qK zdd*`B0mB(<g_HTE5<f+U<G_b_N??NrytF%}aCt$YZmv#}m#e6kmbc;yIobQ$FZ9*p zWu^{fKrnGee)BMsQv`4MvRc7cIi;}TQ@}$8s<CRD2sXiz>YChFK0GAz1neX#)_?s+ zRev{5dvn{U{IN>yeV)+$YfSg2apm77xo6AbxBshm|Mh=+f)OS^V;U3r-GI~4H+mg@ zvXYxuyl{+*(n-9CpHD%5`8-2?xqS5nng@D3wwq0yG}N&$o!^QQ@vC>dc=Xn6DAIU; zs)xqq=&%fTS)$|Rf={#N_ynnOWl2KP4?_26Ai<MfbDVX6mnmsZ2)DG_JA7ltS#||% zy_%MJUqfJ>UH0)IH}brJEa-ZIQsCmB_IFSraFTkUb+n82hAZhR4+G+=BRv$+ygZ|B zIlH@SO9lt-f!iNbUdv9}h~c+KzteZoUNx6peo_%+oUxj#;~~0x%CFHn1^ei)*0B_o z#<YRI0D&DrF-@vWbd~7v`;C5{gK*rGo?46cNl|jJ8|09>N;Eraan`Bme-4S8B3Ar- z9X~Ki92KlDGNwf``+a}N^W61e3kAvT4a(qPH`#37CZ!4>S*CKQB(NZcUoyVJ1MXzh zOOHM95v!xSRICB|A*b+sSf!<H1-9pJ<YtWU%5Xnk5*t{8Agx0SaT{p<^as93&Z3yU z8m{jOt}N;aIzkgEk}D*VU9l<{nb(0SFLPPYYVp=Xc=Yqo?A8&_ss3UJ`o<1cf`IoX zQvi*IRoehYs`-sPFfNIlx^zpU{GbqBAA^Mo30+!>=6@oJA&HNcDKb(RIsLHRnSJ$d zE#jaXjR<~SL*Awhr&Rne8QHlbwK-*MoCVS(8|2N&{=k#3&BgdpTvKghyJ1`y$2jO~ z$Eci3c}cuWOyfIcjm*w(^`n-Iy?-~zmzTj1T?Hh%J=Q`vr=SQ_E>sNPDCY{q6rw}7 zP5ervPADLf6lT{4Wx2F|nbAw?0FmS*N2V>>GgT6|NUNwyXd`@=3f#P$_k^s#K}&!C zZVN|x*UtaA5mg$S`mxsg32l~gOTS*jfknVzCRO1id8x$5z*8Hojj;GCFEKt`Q{c(` zzuQ&)!`u^hLhtYy^5D3<x`}>&)Yl#GLas%M+Xu=5dQd4S_Pdk?mT>=@^>L7EmrIKR zFRgYS{DDYy#egOO6BQh~bi~&lO8pKSk+~=O+jW`St^7l=>X*?|#+iJ|N}gHg*o)p5 z_W-bxKNxQ^WH4x0bq!#`%HPN%zqmIqHKYIFsr1VpL}fXGMVB6@`j>o3a_*^7z}HU= zcrxA+c0f(2=fku?B!sD42bkp{qkf=CN}BG<^!sbH59EGGA#MWIS3La7{*}>cT~6BH z|HwBUJENthWA{`w!{PsI|GSF-*IoBLLUZrxgvjQw%4-89fS$#d;NdLh8y4pXDB|mG zz{%8~`WyPHWEz`jMTjSK9P{uF$|>b*xuIEJd5LLC{j8#Vdv83wO#*j0ea^E$Db2lR zr_U3P)~#3*Qoow96E5BlT7<%_L5!@AI)CW2?iR<*??V^KmEg5Dy<6CQQK8>P2$&x7 zorgkmmEUW1JCq%r&Rg{!{;&cu=EnEb=S(VMO46n56WGzRg1y|7^2}>*K9GB8_sxS= zyG^gmVEJ)0p)69hO9Jdz29OrPI<Y1&5p7X)ETKKeP<lq}d`Jgj`0kNfxy5tMVvVaM z$Xt6ZF)xepwK3)#!%~Wm&GtMX#^j87vjxUAZKfH}4jQ6)n<aQM=JXAh2?vxB$;6f> zWZT)C_SS1e+H*tieQ=Jml!?~E6Wf}WNa_%!pB!t5*JDKLYl!QigPicACZM<$mRQ3l zI`)?UAZoFm>U#vLmX~R+!BC`L4`})+Rr@~0@US9%=wVj4P8OG;KV^X-19j+}u^zJ< z36G_|yPiUjVc#(3*x0^zWMb_u-GttC8O{KpZwXR?-d9=6_s!S$33-Q@k6Iya5KN(` z7neuU^gN4RWC`^0yDJs@4Ri&VW3`t`Z%|`te(l%XwfO<&Uv4t^dX6Cd8x<7hCgzL6 zs0`BGt&ii#&QGd~RP}89fsi;aoVPoGvRWFOw)If60S;M2!NkTcC{PJQS3Co*TCxnT z<G&1kIO-9>C)X1r+anYgG=yQtws^aT3L}{T{MJ$U63n~OJ(Q1t(O&31G2lT3i#b9& zNx+59t8bmgOvmAyued6*P{ch>B@?V#MCI6UXU<UAC&-Lps*Z(@uQsv$&uf!8G++X5 zc}gKZ_S3)?H@{DM#<Tfs-O7C>ohw+o-7C>*Jr}1Mk~{3Sy3x|?h>eK+Ixi{Z$aunX zBP^L;?eJH@F>GiZN~0~Vf1jG>$4go2=(8mre#-Il;>mlwvYrn#cON0zxlvZ_L%$aG zH0Q@&h7b_&kRFbYCtw7t`i}f_`MmKxwzbjnpI0zqUGx4o^VM|O%b=U~FKV6m+2Hkn zu}+4T-nYO>RW8SXUA#9=muh2iB*Konpy3Qcn670jqXlbr1RQ71sO^H;?j1?Pe!!|G z8jx~*u$$fzk39(N!$tQ(cdgj~spBO_AH2J%yi)h)#(Un4_f-^ld&GXO5|haUwJiM( z%ZPpwnwsIdt`FlwV+mYZFI*r-kA#WHa~;ch5$_~oaGhwSzS%>RCz7#qf~uPtw2g{5 zt?CSM^eui`VyuFmJcY_R{ZAT+kC5AJ>ds#;kf&w{W+ukXPN07HGh<bQN)miB3w0Hz zu$!UV0d<YBJ{8oB*YFDcy(tO(-QB@pKf~nUKc}Odw3yrr2$>UhUYjE_w)aXFB<HGT z{myZxrsU!i^*CR1!va(ZMp6}dYJJ+v@sef+bxw*82z?ebSSo@V@PGV4Y~|tyW=L33 zxf(U~EgMBEhGV-Sq<)oX^As4IcVw;C;vFSoxk~C6z6wAp(Yzy%)q5x^y|vrILgKE1 zlG*Y(bR5;?Luo`jHbj1ISOw<!VvO_0o)pR!)Qty;GX^;?`5F&SRUYP`q!W`a>Q|<i zqMUvt@q6#h{~jN>xqiyj7|e2Bf+}y|w*JZ@ntCd3#4hlnBf=*S;8i>nVU13(z(&n{ z9Cqei322`b&xgsOdojH>0?}xmVKYSMzut}ZKFNAij%b3rlqFyyEWOOUYd9~eEFUs` zIs3_+qR_}_8FEck3WZXM7Aj8bP!I<+#vcqEBy6a&j+OzV2rwydaSH=>s~3UQu67$v zZ$kf}tzUiS+bGVBGJN*rRqCC6JC48kiE<JGOrWn7cJtFWsO=z4RvH;GWK@}kzIRwt z2!aPIVpS3fqbw>>6+wyq<59QA$$W9@ihoOap`7sQ)#EW~pwrfKQ(#V1q9#4M)`c1m z1DF;HQV*o}7l=qCXSRTluZX*%*`Fo3_2)FC&i0|Mg`v*M%3Bm>dtVFWb9AYq+3GRy z#CgnzV(+{S|B1EaQNVWfVf74seK}$)R!(LzQrc{~_2!~6$1(<+m83|vDTRh_C*ATw z8t((sicOuBk_Tj#<WYUccfUZk;L`|XT$$b_sCKD3Y@tN9y&yCE$XsR<@#Mcw2F#$q zi>PmeiZU1(*b#Iu5i?9qoHE~$7Lid5NU*7#8XOOg@wLKsWnDZIMP%}xuM(KoBp0P6 zYhC?aC^o&=jGc%e@Ro<-MqgaWL}wH=S_sF}7>vwZ6-BVP-rkVd)uaGLRb_QhcUGY_ zIUfFE{F13XN9~>Mf^wA8o-jQ%FnsqO>(Op-p&1G3GiuMIA&lk^a(S~c@>6XcnOEgj zs4mun7IR(OPM0GbPSGAkfr~*Huv%~@cIEe3>-Jw&0%-*o@+u^`l}JxdHtbhhzQ{7d zP}$%+>o|`r8n-;TKobJV1r{+#Os%}+HCz3_U*eDm$S-~WMpX2&3EoQCQz+q5Z1c?; zNNrR{|MdOXU9Il#Ujg`A+S^mAPJ2{7-r^{%Wk^Zz+|Kv#eKs3oamx*UltN3_ulUe` za0^+%9s>!B0ci5_isVak(R*FHGrEQ7&J0;knR%1zNM7d10&>NB*CX)Bc2kIx-KgC# ze=PZeu)323x0c3Gp6~s{z3j7Q4Fo!V^h0t?1$;+!U{&H_7OmW!NWyX*-_XY(`2BbG z4|jcw`rC})wep=f4Y-nPG?)}$+{0)tjrmCNaVFiY0OVn&dV>%JhGg7*oHNA?rQv-I zNi3)`391qguV|u#G{3`hRJDsWQZoN|_(!!i8|rPj7?;;@b?KP(FJ>Z~-mc^qDsR7S zB@7JZTfZy_$X9(VS7x7S80x`nLWqNjpZT8Xzk<P?@RLt_oLQMUW#J5_(iPN?2GhUt zVC%#Q;GR9<&j>k-KF;$0sHC@n0h)?Op7^vc4qY0$+O*<SO~UgXS#cQ-w4SSL5)2}! z`%*QMSX&*M3|Dz?nM-TdsQR^kTk5cDh0-@?4v~a-l%p-2kc3}FmGJ`eZ5*IG3k;f3 ze1KqpEJwl_<Id?{Mu#ypUMa1|XE*@*<M-B^=B4{@Wz?R1rCFk%&Q$+tNF(6jfE29M z#<><JS)&L!(Ww>C1X~(KHoR`%i#bIT#v+?e-@>>LhOA@TDlVLBD{;`9J3gpt?xO?H z3Hrq+v=;@9S@P)Vfz#V8QffBit6a?+RA6s=f=-3+yr}xP5hisQ<ge6lEa`uRsKK41 znTgtoK#h6wCW|FvkvML@4O!{bu>#plm3tJ6j5)A*a_%=2#$kijn2Xd~1yKl#U=^Hp z++|^^T3Xc12Gw1yuD#W2YlF4CN3}G#fc{jQs_?1zDa#+khH0$&>;M9QW<*{je-eF1 zHtHc7_nGq_@4$#9HtQa%#5bDuVi3}9=!kcPb=hy*5u9Yl(y(I&Gu3AzV3U7?2xpAk zMeSPc75}?ta=tUI%J^wT*m0gkiSZF1$9N**p=PP9Td@?gigfZ<#8{KCULIQO#NQA> zOF{&;0V;Lj(dHu1pKH6#P+01f!rF7Rx`}}QyT(n2J0gXv4m-I9`O^DHw-of5e@8{4 zIC8avP~%Dc!=IJjopMNS3N(U*wzfPut_rSeWYNDN$o|UAR;#L3!aRLtkD-?cI?YdZ zn7Pen<G!jT$cEtoe!s|_IE9FZ#EiFtqLv`x24ShiJQduj--l>dzTjMuMRXN%Kw{uB zc<0eO8@YTbM1lGyjjtJdv;C2ZMA&)@9@X1-cZDkyDf(VnA3-iEs&+kEJJF3()eVe7 z*%f3d?gw@!r|33_03KW<MPz%N<K;sMv!<pl(Gj{?LW~iX)Q~s{8WE+$Ad=Yib{;&c z^|n5v<`c7c5C(!?&}DzjMxr{eHODPX5usZmHMQQ^SNh~V5w`_$fKRorCS^ZOtKLEt z>AUj=c*&%<$s###TrxyFzwunJULP&lM|%X<+PtQI&dHUC$xXfeHzcGwj}n6+Ej}^h zp;)>>ecBHOQq%B|W)Y*9Yqo6-IqbOdV;*-{uKuGt;DpwAC~yb49)X8r;5B*O$vh4j znCxS|NYn{*eP8O9YUp-SRDNz^NsK}|Fk9PTqlRTuffbr=zl4y~%q7d<q<}XIkOY}8 zP%eMd;sI#~-%g)JslB;lRfz*kf1?ot!I>0NAf#S^`+6uDp!wzV?q(z_oUN)D38hU( zRUxgIK0;=iNHbECt@~qseQx?L`pBh&Mh_%@z{E-L0W1%{X5(`ZUR7=;KM^ua(=&Y* z5&aScEgV)dA9L}}({#vO%39rN7Hi|xq*V_6*nO>~5#TbkhCCiHXAvT*mOG_(u`Y*# z)$g+1S@W>_v0x9CB0^q($kuu;)SSodaqI&=HY+)>p2wpH&H92J3BiXbLM=%ZicHV~ z@f-P(IJZX>9ja4}TM#Y?B8OxQi6^21(iRlXc8lj%d$n@b>|aT}62}pt@Nu_J!PkaD z&ED4KffTxwQ3)s8scQ>11*m)#EuCGC2wos6$bR!&rE2D_c_UAa7lS%mZvD*OMu{zg zY;Nq8fUJPzwlNfp1dixx3|o7A$IfWLRoHV$txrL(L;k&bMpNi<{ishOOtiI-4I~rV zOaoNedj#T#^K1k$ZWnT;^DCj0;PdglK4htahjfM;w>#jzkMlGp<N#2JR>j-I;EG7C z-rhq9lt=3`Ar9ECgzFOKnlo!qNtklN38sWY3Fc)dPx{HG5YAq>ds5By3k3)%3jhsf zfPf3AAJJAj_k<Wn?qE==EOb)Fs1$hhoS84(zQ3`^8o~zSI-p~*>z6Pmq4i*EB$a16 zI|y3qjf(_=1xYc9h_{E)tuO#bgn#Mt#Iu1Is@E#cy@oKSoxLUnDrLIlk(nzP8Wak` z<pp(4PB=hBx&zsya?QglscOwCknnB9TY7nBovEN5>~<8NBzp$-*)(Y40*W&G(yh}h z_MnO|)xig(`PUhAGdX#|MhSe3K|xX<R(4m7w#?{V{s_DdAvjf9B4{+8d_*N1Hk`*j zy(oQiA2z-|<?ex;fNPo5h@i*^l|<V>f^S*l^MoNTao5GGMt~c)?O3VP<5fdFx;zhP z81V=--LVR`jX(CQ!;7ix9V2-kD(EW~@Q@)3l7rJ)+enX2HHwARz8SP{|B);LUxrIa zeJqO?`eSL}AdLgEp}X64(C=`#vd=g_gO{e{mSH1SKJrW<_C`P3^}78=ld%G1?*qYZ znsnB<e<bKiPi?V};lgsc9lkX=7lM)k+G<IoHZKnTPu1UDKhXX~5huf@2<8s_BGIdc zks*d&7e<$H3+=z4swncIGdgdOHNr^_5|SXn?4lh&hA8sRt$=;jxl-PPpeNrG5aM8p z8cN3PoS)0hW-v5XgUl@*unU0M{ADV#D$o?wkb`!m!LHqdu8DWu@WvK-yE25;*gnu! z(#)rv^16EY{G4oO7f8VJ0r(FaFQ!dmMl6#YmG(rbhlNK2QJE^xB<jb~<<fJ3!>|m! z<MDO&+hNSHEG;BjB{TFj394*O<lkI{s;jFg4_!!R_rsYv^R+^RX-XNi_sye&NSzJ_ zkz=_^mzl*LwZ+2ME`30#jKfRUCz(@A{Sv{RtlE-p=aLgl0;AlBxkA^wau=o~Ee7m# zMKA12#W@XJ<I)jp>_ST5o5VEsPqC!Fg?f|I#K7COoZ6k52Kw{J!sDXI@0a0I1-{Mh z+5?1>gyFxFdAw@`25e-S+K|06eOb$DQx1;anr<vSG`?{jGgYFfoAHa&noIO8y3%%Q z6|EI-Nc8L@)g$V$9s_LMtEfgVut|g<<%5o)!vB)9xTyLhRQuj}lGrm6#?3Y<YO=9b zlWZ7Rplkma=~P7g{bLR#x8$!He%h^yDhij7<ycH|jkuX?Rz)%#9Z->rpP{Bm;(1bE zK9*t{DkBf3VpKVJkRJ^06#lH~89C<x1Wz!Lq%8;5wIwHS&g@W!p+sp^TfrPbR00A~ zOM<*hO9H}1JSKe+mXs~GX%Qa5tn!C&z5FG@&F#1F6?AfcL@`L&u!z@)8FccgG>k># zc>uj(vY|{Iy3*NCbIxQ3{N4~>y{+$goDpRiPYiaK{pdZUX|{}stWMdwaXtFCe6=K( zkCOafb)#3b){e=1hu{itIow-gXmmW1RUmXKoC)i+l+d*{Q)Jr~V^!3NLJO3RRT|bj zP68Y$D`u0s1|PE{Z#?hCJkPs7?*Debt)KE!lW~MQNRW4L3=asR+e)8rYGxsNfW7CO ze13eKUw(dP_kRDdwX(17@G58QkR{qXY~HMC->vZe^se^C@_ym3-u(0@(V_(7Fj+c! z4Ji36A#Mut3F4=)-;5@+SsU%<4J3C}_*so?9VOnDf;7E(P)ug|dOM0hJ?NJ3F@5k} zyxHBG1>21rLpVSZW%UCWjJAx(R8zj8x<4P$>QG}P{GAD2QhvycQ4EZbqwB!=b_3t6 zdl>_qKC>#&y$hUv^>*FIA{&<x9IhPJ4#IF}&+66yc7sV1zhxjQIF%D|(??dz_CT}G zrN*zqUKjObFi2<hG@+t4pVq1qA?df}p-%&T_FGhYPcKM?8iQ8!b}`LU?dict`nQ^6 zM3LTf>pqNM^gS^wY6m-bgB#?DzUWy3icOPMU{$px$omI0SNDc0u$;-cT=`=RYuMuV zP)j(F-$O83CFSZ8V8J7n`%#Vz_?|m45n-M@P7Mwoca~kiv@!F|NSOf7LF}i6x*hf= zyO}de*Sk&?9A+ASpQb&qLeYgorcEmwD>6_q_!@OtlR|AvBNq)<o|S;*YE}E{Tq6~{ zH_RMo<kb?mT8oTUGpOBM^98b(5%j&3$tYKBSQoe2^_6Q4s6XO33<y(Ztoo2;j%Wkc z&C=(KTNdi;TyxRgH^Du3y9^nP=S8@L<leE1k;$e^&z_mW<Q$9wL4{@x4ExyP^yD%N z9k3khhZVV9M@Y;}AHOXWow*5;Ag&>Z&2QWr3G#xNV&vaA)+i^ysUFVMwRd-n%=9RX zM-k90K{cOsCgSAg%G+pEz2(A52LhYxS2bF0?PKes*?o>!Dq?@UT9lp%?ln+kgHAQs zp2M!4Efd4@;a_d|9w(!Sxh+OBxhjFSt*P+iM``2A;K8{M?@5>1-F<Ikdibt#Z+{FD zGZlpZ7TfSR4h2ETI)x936ohTRL3YSGA(m(|IP-HCIpwUANdoG(D^8RD<o9Jg#9XVH z-~}0;0uR|3^=Fy20APxq)IIxmj1*=`Of0t4lopO-Y~Wyll^JjRaA~TnLolK}xW^I4 z57dZ-Zl|%94$PAQ76aWs)FlTx*71O&Pmbb1dxLsiJOvKfpjgv+bF5rZsEcmz*Jl2j znQe5$sf!yFsDcfM`i=^x5B-nhX_?!Wzh$Vrkf+qx=cteccuc@L_Jtf<VDD&-%_Bs4 z$TF(7p%eZ`1Hl@dA_oFVl&rsJ<fsYVD?roO>{iEUiwR3x6&z$A5>x=iNp4LFL~IRl zW2^z-@{5ouDv;A<x$usUAyrau((Cu)UPN6}m`^%nXjw8xRIjh%tL$RyOmtyA5u$<p zL1>hys8xI*1P`+vrpTOCu%UfY2WYNPM3XZ{eji|+=8oC8D_;t2NTE^_9J-A5^bO2X zhejYIY0MoKxsf6qZf4jYKH#AjE5sxg{Nz>jyB`I1os2CmWS)AnfT6Y%I32GD=cZ98 zKfrya2FAQa3ytI!lHfP25{JU|*@`$Fa@F2~Wwp8;lc%J1M-VuQsamv_UiZr7I;m+( zZvE8(P3<^oZTQ7;!?zz(7HSrZCpu)fFJtuK^C57YokD~@P2Nqe!(Bq^nvWT+YR(u5 z^+O-S{Vns$i0=)CY-`qg1d;P`SwFmjDIlQ4^*sc@XEwa|Vi%rMito7&+@5(j++%ZT z6^AtP^Aiv6Z;Z@3eToR!jY2H>%ub{YrDvf<m8b9PU}ws}>G5e{KV=tYShBImBW(+` zPyi{G{<vvyj$A?7>w)|v7v}KH!Skx_uKC+N5v$lj>uJsGAGPv_F;PCwczIfkmrPvh z!gIBjy*Dh0`qw*ueh|}RDgrP56xZJf;<A0)DA(LxWi-#7e}87PM!fK6k#XUL<46_3 zR*0;8`F<H+Op5EKzOMwwtZeE8wrfAm?~+(W3j8GT?<yQ2As|>uA%cNm@kNET$)g6$ z2B>fK1!!-{4DL*vrGX%v>-ljsB!})T)KPQ@6EYEdzeuGZG{_&5JWSvgKaTQ{-G=|3 zV?`>Qvbs%tbW30CTdsjo5RW~FcPWDJpEOxuqMHsVulMvl?+y$Ha7A>w)_EILEaXIj z!jpJRF6rLhFL}JP>w5n$<jnf|h7T#jw&UYgvmEz9Fo{Ox>3LFKSkzdq!ysfaJQ_Ij zWEK|g+@<!~^4#=Duhx-z=C&<FI<<BrUdS*=Y|kQqM|#X_XI}INH`sTkx{u?oEH9vx zQ*O+TR<9lc&TL!bR?*HIQ+|8z9UoT9ZQf8&%FTh_cayZMqWuXzy;7Cq4&s4phcO&_ zK5h6=49%Na6DG)cVZAgkr#?#3sw91gv>xtaWvtj?ea5{OMzb1>d1b|=RIL$nIo3Kg zUWZC<&_1JniMCrIg6uKOJz#$pud_~n5FfWnI$HvvLj4RD?=_$z-KdWNPf0o8-U{cM zr%G;P%lTx4+c>~VE4}zmIey6PXDU|1SPZgzx$1b!c5aiDxJ__BhosWw6wZzCZ~xg( zV8Gct6B#AniI2@+%^GvKzJYV|Gk?jmc~(48B(6-Vp`|H|dhT_W#KXHy1-sM3Tt5yH z6m*VXV5S^H89>~KS_rF!prV`EbJ-U$M1hRAal)Tq?-iZ%`BRNsg|C5)HoLS}-ZC=p zg~g5DpYmkR)IVRmryiQ6Qa^^uwJKIt6FSVx>#h&GFNmI++Zgy<p2IZ+v@&D>X_}uL zbaaNGl)FOx+8_M2Gq2jlT<`WMAGo|~I;^n9Hb#z44#xV{{~%if3s@E+CZd0iJUoml zu6D*mj0*au#;}Y^#*Vhm4u-~#L|+#a9Bd7hjh%=z85Kmth!|CjU7Uy*C9S^(3jKE! z{_iNM4a+F%;v}x@r0-<>kEl2+5$o3sO0bOL>_qJUA!cTxul7H^%q&D-?LW*$#LV`; zn1hI!<9{(H5i{riVlE<PuKzF#GtpQ3A6XVwqObNJ=J-ml{14{igJl%6wQ>5#5-~QS z|8$FS5dEiFjFad;y<%KM|7jKDCgT1dJz~sEL|^S+onp+~L|^S+o&RW+H8wKW7qWFB z()?!tJ2x8xH#;{s2N4$=)Bm6^A_Q%0Y@Hm5G+F+ggNWtd35Zz!)k4JjuVNzBf9)q? z{g;9-8R0K$jcvZ9SpQp$vXg_ep_78X!@s>uuwVZ92NJRVyO=Li{`2F%=l_o*9skkj z{56~zmQmW==pSSLS%dcfNA4e|{9kgy`cC>*wx<8gWcua*|7W6qxcg5)#@NQx$?VGu zENpCFriqzbIT<?;F^XAzd0)iX(AMZHlKyARmoqt-So!#f{);}BjLr@i4@1BTzt>df zN;1cB5}Ry#f%zQ0^&-Qu(`c5BWICH<Jba*JJcoIFL#BDLIh_9%EfYKm=|~h<*a*oS zc2gcSX+(}+b%{@i&)*#AiSTML8kzY`$9Y8fvGL8v$7gS^$2Iq9$0YYG$F4)}>D!ES z2>k#B>NPV7PL?8e58qEgW}y~bhesI(lLNDCeSp9Vg~a1<eJz9v*A-05?9RCK4X)|S zM2r`H9Q%CeU`t_LD?TwK+?eycaxJ+Cr3KMCjQR1M5R3c#+&;Vn6mlM+jEQQo+UIuy zv5-d+p_6?TlJ=Wu&K<>oh<t@&es*-}j*rT1S*mV`EL(ZOAiH=+W}$;qBJJcchDt3f z{b!<g=(}yd2@jqktI`ev;)`*G4;PN6x}F!vTl9cmio3C<#YqOq%^e;L1=B($100y+ za@&e8iUB+-uQ!3ugN2o7X?}OLLT;N2ecta^Z@L06oHN;!7!Q+-9*m!>-lS+P2*h!a zht1deBH|$~0bJnn9$r6(s&f?c0{TMb)}ikhhx<;tM2%Mb{C#g?4$MX>@V3*%^+-lE zkA=~G!ye4vhvp9`x`FZER@1+?LwUk{pRr-rGPnV%gv~5oZvTK;!ga+>5Z3r;*JO-g z(me7yA-VBfmxwGl0%=2xwev=AB>rw8&^_E4(?!S|?iCrNh=woje`Iqe794|_s)+HJ z^W%+mAu8jD_DIpi0DV$e8}o%ksYiKp!wv6db#~qCTW9cc3C?{EQ^Sp`)BB>m6Pz1< zXS?(1BJM~CgCEYc?K`6REQEp-5sZ>xdc7HFGqSX1a*oc{Z~PYyH*__t`#c9Dq4g2p zII6%pGel3sv99ne@$McaELpfYP(n-`@#Ng{nMN~w-caKwtv6#FciKkwaG@E04VMck ztjYSL=&xMs$oxUst8q5#-Hi|(i6y8ju=||3jQN_gYNfF`#Y7nbl-F1Ul!*oA;oZi| zFCZtF-z+fL0;c>Z>yCJ^MxBpdkIbRFA*&Et@S(23x<Cl~<iB&&B@7j~H}k=D8i8)` zB8%mGhR@9RA6fKVAvz%iP|i$)x^k$ZsP2I6;44W0&G=q!7EPNj*4>;=DVa!}RKTB* z1hK@V%^>hal7+mhMUe7_XTzD)yv5Q}LLt<_JzEI7{Wi&viOFzs8wq1?_lR$FaPrng z+yghHyUD!WKL%7CPERU}n?DfqDUnfYYz6R<fB1?M-sCc)3BvUJ(2j{do$Wk=cEhT1 zC+G~&5lp9ww$#hOUk=K5LGVT(9G>3l{tiw|WYkk1+Y-=%-N(Fxz2mARq#BP<kj0bU z5!8{|;r|PrS8!AM6XhLxSN5Ryt6ud8<Kgr;e;s>+^Z6oYbCjSh+6=CR-0Lhz#9}ZQ zlmEO~rO!RFR8kKAV=fdC4|L}Xq8m8xH_umkHz=bEw5=Y7Eh0!Vr{#!td&ax@D0~+X zr0wr`KF`?0`gr~IPau4R-iVvv+v88FSi|qg1Vfv>^1G(jj6@kdwt`Q%f|Mx%DGDeS zeM0bpSi#7oJ0f8z#B~Gv$TpN0<QJ425+V<A3@niPnLJ{A@*jS0?9WJP0Zk%5lOK3j zSsRkgD9yZcJH;_)obQNu2as7OB8-QuBVJR?4|pe%XB2y$G?|K6qq%_ORm2<Ohp0B{ zru-n0*Q9xbCOaTqNSlxnp7?u<;M>N~7|?Fec+lAp@aaSui|lt=ER7<wtpiG7VZGpV ziV(MO;g%u6Gg@@4+9i?GGxC3_nURTTQyLb^0nTH<KrK~e`pP(!Fj4e<<3e&FLHqC7 z!}~QFGLV^KC|KqhQcDESZEn*)WGl}uZFA?wu#5(#MwaUtg6WoqPb<bB(aJ{ob>_j? zi$6<?jN6O$`_t5kF2&aAaaxtBbw6u`sW*ERb+L}d@y9|u-i>@8(2n{c(vTX2K#@i= zcM^oVq8>*wPpkG9hz|*%*dA*F=eFo^kl6&1q}e;7&T79=GmEGo9JYxZ+f}L2;0LlO z?MIL=ihJr8=S$^=G?*>c@>XSNiA();v%j6%U2t?LIYIh%i7^TP$J+^;F;_;bNnbGD zor>m{s!L{s=wc`@8j}8Po5Zm?W@RVE2bF7@gV#qypR>?@m@K{nC|mNqE#;#^>GB~l zI~zr?NoY99wzG$#Q9Ej2mu<9x)Nz5s!^GIqic~s_v)L~sy{NbCe3bBk(g<#nQ!_S? zhB+k-i3T$QjO=b{&>WsM1M6C)Ylgt5xAUjy&)Uq-dc!rL&fRWbmyu6mhLoKGJRh5? z@m&ZCsUu5D=kybi;GIkbged4B#i@$=b9Y3Twyjd<HmRHhLO0A_5o-Ca`|FHlIYeP{ z7feMm_Dn)4@Px}5+!7tu2H)lUZBi_6;yT}EhE;*6li*&1*uxBjL4*XZ39c=32{sF& zd`VE1c(DsVo%Ryfc)~bB90|O*_C4wpyR<T7;ogPZ5R4#Jj4WSwq6+n9kupBAVv<+} zv*J{XU{$k21#n=>y19PS3>aGtOd?wvv5y2V&O_i5qn%2nCf;`+@V&!jGnaR)9IQ}* z%A~J<gk1Y#U(01{=1$Yg3Yax(V*7LCgpTA2|D`T8cwf#H1_YNl*JN(=9A&f8{lvyC znE?qIgY434P;l~9QWQ0&LYIPYqTK;e{efIPKi}?qmmO8JEfWwqqbUrkKmREY-TeL& zy7^NR`nLy5U*^mqBCP)H=g)xlDFLhnrN6~Nj>Kz0Ua%OK1bOAi9}-jN0q*<+X3EGL zAKeIdm{_|Js1xn#{uP&XUE>@5AH=W08PZ(*hkQfn+wV!<EhCC|?>mebp8&g71)4P! zn?#R76?pw6agL&-xBf-$!Szc6;_{de;Pi#i+j#9?`e)was-4ZAS%J9sTv?JHae+I_ z-fHq*-I`7LEzlo^--79sL<|vQLWGMEV#tW~SyR4Y0qT}*X|%lT9qS)6ZKh3{)vk1! z#cNg~U)ng^AufAlt65>u``lX4?)D>*Hj0rtKYJjb%av)ip2FY8pLnkrrDk(P-@oBd zz+gzm!1D>#fiE$&?vupsnLwJbB@-N~B_$H7RRq9B@T4DRu2DYxD8};^@XU%g$^Q-~ zEn-6Ul&cd=X$EiN$!Nn`nm7S;PA^?IE1?>`)W)V-XI1E{<!o)U@(i7|EyZ1(wxuy( z{wagdf6a8azhAj@ZMbFb5WA`*WxM0>+>`l7MCIm5o=UZ=rvFK}$PNG8Y1bH@ysCDk z5tt63EFwu)wG75E*Q`bXy209=HHLhbj7mTTr;xyDR3mOt7ZOiodug^uRoeO)<$;Z* z;wBIMK?Hg9(q<pJ;t^Wh`0TUw%0xk`x>Jn$tUZ6X@H);UOs+{eN_xk;)x4NPOW(LT zV0)uOOWGZ+BT!AO6uo+6!pA*fu%;x;*jDH#k4Lvcr2aU{4MmO%ejB1y<av-8@AoK| z*A?%{g!o!khzht}FaV^c6~>i8(4?g??lcgq$TjGjuq)gd<g_G;T0<xIMQRV4^%o%9 zOxmH@{2UH+xdcxuq5YnA0%J@+O2vo@z>=oo43ea>IQ=6eDBd2+#Z-LMd0NFMT50_L zn4NmEp8Yxb$nR+P*s4imM{)1{PQozOeO=i7_Mw;6b=sZ1>|w$C+2a|#?Iq*k9v^41 z>={e*vQh#zsY#PO&cHyrV0>;2ZtEC#pANhsjGx$~8u#ko>~R#ArX1(Edd48m7Dr)I z<<1=33)Po{arkyhuyy^ENODc;0x|RXBTL{X3VdEW>)^U4ky6%g`K-Q64$f0&Xh>B> z2D)<OMA}t>jsPOvMtGC-F$o!i&%OiJa{nF3QFZ*R!&y?N2dMrminNBHSpxFzJXRIB zg3a8Qjc=abX;}gQvwoHenqF+SU{k44aC_Nn_rc4=*`vXTx*G!kc4aC6vK%>_mRoCL zKZYzWW=BfDFlD^gNer7*TZECZUDiM_jE2Bf;YniuH#CM7^!EvyMwQnIm|pkGo---8 ztnbo#5D%FJs!(*_9Ya&|!1>YMVk9vox^z?AsbzbVn4g)(tq`N787clUr9&x8qxK*u z&eI-YIAv$8cH&p`&6OErsA>ql!Bj9c{0@;2Mat@r&^%y7ut-lwu+?=tl=n{V#^UcB zE>E7weyN1c4o3a$bvz_8%=bWe;r<cy_h$NF+B)*;#yc;j)}~X?E9e8eK=9MNw7Uhi zxpr)fnFL4lu5Pu?fgxI(E)F^@98<cij0_+!d$jdK&%aP?u&c5xEJj7jrapl-01W3k zD@<N~iO)s)*^OIKZhI~a2Q+yx35)^t5^bPM(?P3l1tA1)CTtTWgRUf6It-Y8T(c2_ ztiX~UD5mZ&<Os^hTX6~q2Li?G_Fz-<#1tz*=<`h^k82Q5wuTgH{?;^v6_M$!fanE^ z&N^)ey5x2CnVH$5mVmIZgDffnd%`pV5@AgOON3PX$H!w(k{}CZydG-wuhXBKt3I_L zl0{<%q@M^{m1wT!PR4Gb{F)I6q3@6mx<5DL*Fz7If*Cwsq*K<G#OpM)et0$J6&>kw zyz7`7$8UO)eMo%_Dy^8w!WB+x`<&(9p_BP#9_fcW{ASi0KL}CrE31orrqS9jBca2C zNY`<P>s7-SA)x~^w)gH7_!T2(9`43&7C!lHc+f{1^oQhhH2Dt7ZJjEQy^?wijiX@H z!cCh4Odg<&e7}sNg2>ofBGeZ}O{GzvyRr%4Pc9HP6F<^^I}kGu1{??m15x%Xumt)W z)x<-TpA=vTQ>3D!B0wnG<8D%X@wR(t=h2?>z31D7FWf*UeSTNEu1CqJ^Kj%)+IZEd zaShQY3c&z5SJQKb5Zlg$H+wllZ1<at=}o$6WA<m`8&VdZMDF!{W%G669&gURXvriA zd78S6etd`~j9YF+X~<uZVoX37ZMH&28h<6S94w#GOG29n{C==WAlE#&$5iR;JrKw~ zRjp1BtQ=nyym`e-Q?<-~SZI^|YtY<ep`{0x06p6Ux0ncZt1mDO6l1JvD+xLxdmUW| zbfrOE$3H>58QfYv-J8hKO6P2;l>$!!!pd$ijGaA6HG2#Jr^kIS82vF`4@*vOs6UG4 z0sHioGuS$o+L>X0T6`mu;>MW1*Nia6@KaFkQ{cBNQY{mWkW!G!P#C9Vr*lct2iSnp zLCheUoDXbFq6#?*UP(7mCMvlxRo+lU3Q?nwu2ob4EJY#(BN9ZAIYTx5uxMQb?`EC) zJa$6ceo67NZM!KXioG=DRoE(HndyOH$w;lH!WV)$3$R;6Vej`Ll6<ahMw`=;udhrF zPvc^7MIU)0(H2d-GJN)yzg}+0AV+iaxlb-<CZ$nAE?qnyJafr6jH*m@iQa^Dss_E# zZocj))HggF(0<_kL9rcgv-KFstC%@N*fW<u0MXM1ulwCOc%_2g<=@!58pES-kA%^g z3CN?WDzhx11*nALB#;+^7X#=pzKfJAX$%{H6T}-FL-x7|Ofp)~(dTX{m;c%tm(PHd z2eI5@Q$a{<Bx^4Ms?t}hs?1}tC5j9x#WzMEPE-ZpcBUN(Owh<d@maH`|04Q^K0C{R zwos0aMnLFGfjJvs4Bi77vR!@3>)mzT9km(jJzqMV-Mm$EPKr}=<o;Cg?Jzp1>uvQw z8T*-At&hWMX%fmZg0Q1=jFmA~jZR(tq`oVQu$%95k$b(4fr;PD?6iASdh}HvLOllk zmTum*gkJ%5!VS}Zi`sT;O|L87k@6AogY=BBHhYn;(mnOP?t=VX^DMq?$397HlPqp* z%xFYiD<T{UzVh6pvna(M%eaCiKWt_7@09WVgI%Red8<y(A7DD&%O5f8`A%7pc}QP6 zy!Mu^F-6OKZaQ3WK7(e(sF9!P3BZewZzF3ak1+Hn`5kfA@#F;y69G?qtO-0yLK;4< zYPQ*RzLb43LW63o3*;7BBFdyDjFpgyOQ9ADfh8*RCB63uWJsmVVxoh0e5wd2i^+c! z9xC)EnY0oVE%}6<9_92P9se4FW-2euR;^+v(p2XWHT^u*5qSm;1mf>U2>p8hwGb4V zJDA(Qe*fdI1%c-^ofc3voujGAL1q6BeVcpNb&K-g4riE!iUYtjIX@WBX7d~=Ga3n5 z_GEEnV|{W?(DBD&CcGTyGC2U4mHJ1ccN1{f_Th1Ocyp_belH3rdXaK&8K$t+%_Ndj zLYV@WziPiDCxf(hXe~U}CNR0WLhz_C+D;x5k3}O?Wl@n?zGNC}B~!X{NCnsvHxDT` z2>Ps6tNmeZFdiPW=RPB82E2=KvJ?L8($^hr63fXEhmbE}0yQYjpp3b-SWu_&Nsp*j z*ge^yVP9Q@_^FrVmuv)H@Qdw-@!kSNH4OR{yEUWNK^IhNz<|@@7-0I~^XBFa?uKE4 z&*<fi{80CTPvX_Ra-dJoYNNuE;N>-bdfyvkaRyEM1<8P(zy0N8(%wBQ2YChzOn9%e z1cU7~Gs$;cq`5W<P8Ye0=p*wAiG6~jDjs)ds?L;~b)Oa8@(eHqd<H@^`;w!ua)ZUD zAcsn);_+qL284E%p(O(gwaE3A#|A)VJZXG|#U#thZ2lTEFe`((Ie>9+PAja=b?gGr zwZH|6%7DGpf-MEW95GSY7W)A9LJJkT!*aN)gd8HPEo-GNBW!XOV8w>2zcB>)4Do6# z87d1+Xd@KRd5q&qWk2k}Q@87|ETOtl+Tud9^SOxMa0rQQuM^V^%|yGrsxt4bv|9Jo zRNPacWvA__Gy4<#0nI0ZAck8~SB$;{?tLt-vub-Ps2JC)<hk<zAK{y^=CoyJ#r@D? zdwTcE%lW}&!$-?=>LTS&U7HWU>20Q{(XAb6u93ZNUZg|8T7Mr-t62jO=vdg7vt({g z0<`WFEJurVQpT(-5Dk$X!Z1;@_3ZT1l%7vo(1hg!cdKddzfPoB69HZB3`ePqPxu5Z z<HGVKFw8b}=KivUfcYER1W`G;mSaBeR1(_?YI8nG!G2+N_Ct8)K`Ab%C-TR6)Nh~g z#&g}oc;lba4OmOf=z8R<GUP*X5BQszei>%x<_Z98S8^6_=?2vtgC5Apn4hiaT0_RV zCciik&st9p(~;;eS|@&e99DmzxQggh^>y-Af|pVqO1j*U7z}l^oi4~%P{>e0uYY9? z;f=$X=r~Mn*<HXlW#4h<OaHiEvf+gQHtU}{-&ox+EFVktDt;Ck8w9bBr!$TwWRGhZ zS6(AR^D8^#oC!Ra<~@cz3of!*MqhEAm&P5MdFy>vrTh`*wlavDBwogg14X0`mE;_a zk=p%JI6;f8Ym5v}o2^Mdh1z7%E6<f8JX#g;mgwWBqgqejj!J&;Tkb;Qauk2E&DG7h zzm>F4RumATQx#V-E(P1x02^v)SD2zBQl=QF0LvDHTbYu(VZSeDIcKd2=}=kHi*~U! zb54Y~%!;0n@*6pR+FED8^{$>Z*gYY#`+b#^|D$@iYlWV%ui3HuE}VW(TYl~F#nDl@ zW4a@x5a|<n2|=du74_u`<O~U?#|cIt=?|6Z@zItZMtj^mv|h<59~qz<SbP*;rUQtB zZEI@~qU!)!?HORNYbj3}F)h#_YLMFYAmD;e_A!*Hnxz6kuJk(sPZ|@tPQ4D+Vd`^g z&Mz3OlI1R3gqV10w^~x%N_{APP}Nshv8MfybN5&{u^vqDEg2ee*nill(O>j>T%Y{V z4P>1Eqsj?@3twpL2MiLv<sbG<auzxr@?2}Ys@3s3pDU##;7GdOEBN0Rc;3EsdRkFO z)PajV<Cr<(yUi$VSM+=$>o-Y|kdV>&suqzZcq*+xe)QCpC*d^8=};cWFODQmdMZ_F zxw_SI(4?p1CZZ6JmMqPJ?+=!AHD{F0k6CazOWD<x1ezl+a9Wy^72YDe_(^}G>29xK zYH#NUrVy6?AL`x$I*wdj*N$U$46z+E#uPioHZw!a%*@Qp6vxcW%*@Qpl$e<rV&>b< z>^Xa8?>YO<S@-_yuHU`fU8Pc~K1rWc(p%k+p1K%4-=ctl)zPBp*bAt`p$5ul-D9fJ z<guAnZib{<Q=fEanO{-g&!%2T2nMbyEe}%eno^Z4@m=nBPirm{&m!y!^})>)+=$51 zoW|KWjz;#gE`G@hE7$o!!(_Qve#|-7&Xt~2Yn3CTF^k>CT33ZX5>I9KGbd&RRQY4j z8v&}h9_V0|LGqJLVfmk|xoT8#?*s*8&SPa7VXq@(P!3Jr3MUq^O1O7&McS6<%?@vs zLj{rTOPP`xBFspvo4;vz@f)=TdEeQLf9aw=D3moJi26;TJ^NdMb~^4Q&T`UDTAG3Q z4fwu<LuHt%g;CoqnLZ*;Wy{x<l|@<7C+-2`#c<6^1;(i$J%Jq)+~`{4x!K+*nPy$g zfnHR1;FoH-swtWex_)l|3?8<m_RKzcVkHqTiz`Ms{s}LTLy;vqWN1GdZ~LLPb|<Pz zMc+BGYDR`lA!{N&_RxO2iMCZEzeL`PDZ6YQHC{(fmN=GH%9XG%&cWfk?a-B!gaWxe ze`}_T<P-Q+|H0sW8NA3zgT9M-e#*lXK#4Qv%r23v)MEqe*1RH{Swm`vz&2b#w6*(S z<%9iAr-{q%7TLN3)fS!dTj6T{2{>zz4g|Egeb}WpGMPnZ5D0E-KMB-AwByB~CHoyn z@>;0BOkZE_sfgru8C7X^>qRuQ<hA6!TLof0U7K;AyR<b|%07s&96g4IFn~Jy#TcU# zu38mC^L{QvLYtn?$92gU8ACq*QW(Qxm-94^RV)@5)6qg;L583i|KfxEK?zQ){PUM- z=L${int@?NV<DNymNH(AE?3|}$+17-<Dra+;64X`W{$-dxOpd9Llhc?XU*fm`TW^f z$clCBL)<ldx3RQwQib)fOVEedc=jQp=J7GnT(b-GJ6TnIWZ%q!!<|_7H7q9DceEg` zSl<F$K%FNaP>o%4g(aZ2S4jy3F@>6-JE^>dc8DKXRgR|mgw7$?u$4QI<FYIgde>D{ z(4t(n?d{d4AR4Q(C7VRcu=k=|wnWlWIAQpjs^&PQerRLt)vK~Ds2&sz?a`-AtE!k; zT?fIo(k2!p>|fcPnwYJH$P9lgE}5>=nEYw>ZgRECdl|KDcxolHRzur)hWAnxfA=F= zX^jWBD0K#H7Uf>@wqx9<p6?n5^ymIQ*ZX-fG`0JjWE23;%LS8u^116-zfvciw~QNF z7NpL`Y~9zsM{>HK--6r`jaDCz)4i}9+J$wI8y5hVlb}8*=Mu?BKJV@x#C5*Y>SsAu zUDS7fb{lsRYW%EQTd*){xV<<Ah$Wli7^XCjY*Fr_D8>D>=UYnOBs1b@6+{)ts%~;9 zrGDxOyAl=N7)lWs^Mmu-X=v?zGCAAN0W^GKq_j-}indJCsg<_7AuF`Fqa)?P)#z1T zK|NjsWrA3w@UIPdd)EXsZ)yEH@aarY++muEB#R<uWx9-FW`&z`Y#Nc=_&^!_7G;!| z7P6w^roQA=<}_3)%4v?!V}7s+3pDmoF9}otS5>`~aus$jjw3Suu47@DP2ruP1yfLp zUW=Taw+W=;c1^p4`=oR7EHZ*!!RZM5D#1~C=d@Lw6Y|ki-fV6x`xh$T;lXzLS9{A_ z(3RVvHP;lJ-&ZGYDU(=sOeXHzZ25w!$4!)_EjR?zaedW{t6Cg;OBUB5qVN-z7N`(K zsA+ON^0(!#`sB(;jMKNV)ztHRue&pAPm6dPMMP`<6z7KBLQQoP{dqDLbu{{DcCLrP z=aAe2aY_B0%3s5K$cR8X0{Q(!vyzT3aVG_!sv&keOoR$2r4X_>2&Y$VB=@oK^I#ac zst#3y?3y^r+5|qLW^Z?|2@%2Y52XQ!q8Mm7M5JPCa5#&%5`mbpfVJyM*9)KJlnAeZ zte><8=1N%iXRYypQVt1>=`Kjq5>IPN&m7qMB1<m4T?cTAMFFPP#?Rk_CAT%ZqIS;} z#hN|c>0d@XJvMR8_VV-sQtLaN!trsxOj?WPq%M~=<o$H{p<Yxzn_l2qpVliqc?c=L zb!<PU>~E_4mQB;dt+4C|6+=tWhhaZ(WaZvXn=dZK8MTvh1js*`?XvQMeiZ8|00Nx| zXN^d+*uMLT>#4#)MV=+Rc}EH`p#y?Pb6Nu1%t02c83gc3x6Sd|%e?iX;OrO-W;#O^ zBnuGvdSy0o(9(aN-k@qkx-}T~;4z`&!6*uVbhy|*g>m;rm5p36jl-60<8dt((AtQK zj%DKIPn&<+WARUOdGH<+6m2%=q*kkX*_i9|ZDw%3-dTq2f8%V{fbr;x;ZT7QKev@? z$$8=XSRXvZc7Y&STNUHyj*{`fdc+LAmjCn}X^UPoi7jccn8C4*bLn2}kUDTyb#<DC z19NFmW<EDa(X<$5I9jjpR!15`x%d5kk(@Y;Jw|X2^ygme>@YF|7?<P*7-z(6joetJ zA}je$@l7@hi%!az36!Opu4m|oCp0C$#dOcq^O>?t<zWg+5cJ^WJCmLtU7?hE-`A$9 z2;j^_olCJhnqy@72Ju&%5vw-4e$=K{x)gHAK<~+THA2Ln&MkK>JQ<~n;HS$dl31{u z`H50-c-9N=ry2U502}eJDB&iRuGUURHTnxPC21_Z-P)oMeYT~B>lX2p^pI)ABu!}F zQ^yoZp`kEJ1GzT>v+1Sh<EW<&rT+Tdn`^|5Mns$%SiJI1oLZ%s0J79ssJ>wd4C=C! z8Ay$hSRWN-xOp{2#dmoPl_gDb9y|<jiibsk2gSwUR|F&pMem4|rqon4>yK|&JgEZ| zqpuSKeE_VSJlY2==Ocry$ZXV4TvSE3HLZ6Ep3Q`AY<Rv>PDjjjINLDS%FCZQgrs#e z5HS`Ka)=E9Dwm&Y^Lbe~SR<+BD=xEd1DzryWMddAMSHP3%_I3GO?C54EgjoF>3#YT zlapH~fyDLIzC;K@Oyxsv!3V|np>A|sy~*q4Hj2)W&MAU%5=Ad$1)NSgpq}TP8J#fX z6uq_LI>y_Ql=3ou{1CeNL-@)Pu?*xQw*lQg&p%n{n?{UCwWmVG)%YsG+9~Iw-Xoz6 zn{YR|s96>*cX-x9Nj>qNQ}*@;4eFrLY9BEC?D=WC5s3V$^Awb$!Ocyl+(`%nhO26x zBdWe9%26Y^gF6-MK<}d{fyXWbMZ{$an2xHw2o~lx3<$AIXbC2ejWvUB0NM&c23CdX z=29++5htVTXC#CyrCNRrTtwVpTB(Tr30L47SJJyYr18)ES7oB#`rzE(?NTjQEnH(L z1bTfm7#cEhy=fLia6h>tRJ7An>><w-t$;aQn60KUF#TCXQ5Wn;jcu`Jb>SIQ`-xZG z@Txi9La8l}XMhk7VzA_^^SnSa%2JWFD6(omu}L6pmzwNwg%t`mQ+0iU={jkHeH<ou z5pj*ayiTx`EW~2Dp+?*z_fMN~>q@PQTRLtS4KJ*NMKuozf@klX)5I<znKcyOf>`pw zRL2lMgx~^%fUiSc5rvA_F>{DVhEQ#D^0Nx$g*244)J%a@cC4yLNAtt^(M*??xL9S5 zGew_G)YR#A$TrNPcy_IZM@|ln9&aYb3<t)2#mxjU?fiS$da$De5~Y>n5@SngE%jDN zb%$@O2(prT_oGk;V-Ki|tJRbt9`a?3=hsDybDLB;w5OAU--DXzmHQNHiyX2n=!6Oq zlcIXvyJVnfmx_qbgB?`Yce!5N6r3A_$G~LMD>*WeQeO0r@CcjZ@DTo}Q8{akwf~Bg zqovAY-p<&)NUfp0Zr=Wpx}=r>R)W8@2@=f?3H$?T`8^}b37LE^jzVk`ThQ@+B)n`m zk=Q5f)K1$zj+KQVk4MJ4*wJ^`q1}|Rm|0`l+2o9r@PuTPR8+dNRT%a62hFao@W>;R zpFheDWz$E&(7496ppZ?@QX0<M9uBiL;B0HpG-#<YQw7NhnaGsn;FF03$^2k(DAUQ^ zLAoYJfix`>n$<-N9@MEGCC2XnKKzYlQIL_9RqxhQtk{dKt@V*X67~BK^BFaIv<zQ_ z@vIPXISVr{ssQ3A$c;8J1k=M{;I^zz<iz99&%B0=v-F%6`Z;6ig&<*nag<`$Pg#tL z=oKI+R7F{01|T0yxO#hHxH~yT#JAVrWa*M0j-K2ii+DqG?|1qh%aySi^8;dEB;{pu z!&>C~NQ+VAM47lcxMVKlXWq@{hzZhtVzSQ_AozH0!>`d5A-zX$-YW3&He=dPIWG8z zSnZgaMHwx5lL>|yNpXPu$Y<Tdp4!mb#wyXFxhpU;a$_8R$ax-J^aUc;)W#eEMdH$^ zI^m%qZC+)HxlWl6x+OhQKOh)XRQg0rOi^knn;7{}<Va<|4BzQw7G)x%O!`fgxq$GI z>^Q_%2H1E@cu98>&exnRZ^Jry8N}_um_!UkCRZv`mYRS3U;@6yz7|(p=@NfE*!qSV ze4E@S{!<*&jm7kEK1p36THPvQDzqb$tkt7a^%`?@*CVr;skW)8v=`@<H47)Q=bJ?* zOb>gGMjUU<#Wa)yU&w+vkRLG0TY`>g=?`ntX*KfE<uQu8;gjgFxaZA}Tu>ybLR;yx z!?jMD#ck3h3yxfqY6=Esz4cM)`XUFzswO`_yU8`F=0wpH74Mte6f(_IK!i?MJg1C( zy{#`E6-($E>N{wi34DZpRMt?gYZMTUmUiJus*jNL)tK;cypSJOs{sl<1lD}A*#;5E z1(@Hz7Re;}ruZfu(j%C9WRe}suH74i<zWzg8)k?P=*-lv?iZm?GJs1aFZ)Uxryvj$ z6Rl!Qrt`fBdx`)@*0D*fpNbDHW}Vje=<R#_p<!q3jfS;BXc$cs&?@Ja)AaQ`y=3r= zQ+%}|QffDoi;n{;Zg~;ujEKa3XpnD8M1m}t0#sQZnQ%Ye*~?&1nVV6Jd9Hen>g;Zn zp$b=JU9dw?dX~%>bx=po4$%acQx%o1JVJKr+uIQ7_(Tlum4@a6HNo?-GzdcG63n`< zd`nyf`X*$TVim4fke6Qzz}&lS;sTta@EdfA6FPd7p#8g1XaLj1po7?2NJ<^sS|cbn zqr4FQd==1i$+BHU_|;&l=rZ8ND_t$|!ZeUWPVR9!g}h4C30AAa%DdQ`5h+zNFvZ)B zJ)b)2M0zZt<22v6s#R3?*T#JMk_l-YuHeSH;xXP_lA59MBxCh9VNqq{5{-GG!iP2q z=W~_eg|nJ{tYT?Q+C60ENPBeUc`QA<ga$dMz1g0K!LvA`F`n2<Zj8!Jd`IcmHrR&} z15xlmD0p=upHhmGkAWhXPx1Nf?6pr<702OI4_@U`WIe?3lkuxuVB<3WZ_2=u2XAkw zxuE#p+p*$&Ja~({2nh<{I#$G@X9Yu=ER2ShoEDDCnZ^i^$X?i?NyMwY<hsy$wsfBG zg0%IAj32!>#3ky~l4@Vqb_;<#oOYVPcyAQI(>3@lAA=rq&YDDLq7c<7y~FoW5tm{p z`g!#%0~BEf9)Z*UqMV(ZgKsv`@J!2-72$yJ4FnuOn0a1|`3);cG^nb2kskq7{5{SO zAxPnKt!HwCvG!qK(esS-!R&+^X!Z^gQ1%i!C#&~2(@r$&&?In`1=0OJzGE4c32Hq$ zGL%qGEuQN<x|I?a%<5ga9tdZi!+c6TFN(Nks2Sr1FAwZWXJ9m1vWAFQ@DR~s5V-hK z9ob(uc(}4z;l8Gha*l4=K_i^Ma5+!B1VT0&`3o6aPjX#kOtZvPNYDBcyUAS^vNOL& z58(5!Mo;?|E52J1tZm8nQCdOmk(wR-#T3_!#@y^akzFa|Edpb2w%QpqdqWJjEbvr; zf?HW<tB*AA<5|Ja=+T_4Sb8%ANO4i#g5;h*f5Ocd4SI)p>B-Kl28FlTX<+5t;mdda zJ{F2=%om>B=`{%q_OIzfzL4JDPT!T^N?s_L8RdYT!?5?{zMvv>=3lJ+#CJ=9jP55F zsOTWu@0a8IZV7s~I(|BMy1sfgSq|bD#&MZnP+zjx|LJkyOctTwB{=m~zbnM3qYA8S zwfl!{6a0iigBqUeSV-Hm@$nSjccyN9&TPw<a`>M%^k7f=yd{202-cw1Xjd#M+7!eS zH`DZRMkw7OAGl@Xp{W?JV80ti{~!h5j%7<I(4r7$8yC(LM;6$`>d?$E&_h^whingL zWdGJc&C7uYQp1oPBzFAK@52@HM->9P_@zupw0h%%*{t+%N(#L<^Ds&pNrQ=EZ~6NL zN5$Cl0;x?lij(-oq7$aXMve1O8K&uy_T7^{q&zUtL644P85jshD^Ka6G0YQ>stH!V z*^M$-Z7~3pDyz*<98Xh>_vA5D_M)qaCe0-o*uacYsBx1pL_g3+cYr$)M;o36Q_8X< z2S+FM9JCmi*t8pbmfh=O{}EhBJo^2aSJQwtY2Ud>boyak<p+^&k{)mLh*4B9i?|JN zsrJSa;a(d*Ts~d4R*4fkH%6@499?B`OsCv@outbUlGK?TI;%0`DJibjgsB|cq>&tw z=<j+{ewhZ><K4AIgA}G!vJdq0`()yb(1s$>;-*!$`I!mdM~K(da<~(dr$<W1jCZP& z?s{>)UZ2b!4Vzq#N=qFlr_UVu+QCb3Q`RX~GdE@^r})t2DvP0Jj2NM29t$vos1#I$ z^P=@NfCW$xGl&|GPO<x4PemDcs(^xOrcF|urcZC_$R;hd80d2rg5b|yr^mqn>@Ttm zd2}8>B!20O|JFY;d~RK?Z9=7skc(WH!Koeajd!K;Ji=nCaV-T?Q&<3!_8rKq58>JY zc3mE-`SrQfltoBhz5(0xOf86HI~VIoP3~+~wTJrva|L5!Ripou^lAa%2OuW2>4|Qp zl7GSYGLO$Y662+Y5-UA~Ee@$#aQw?lQ2*XfXNau%&bva4*@?N4A)~H&7S{dnoxIEQ zyT}l-4{GMVEpiT8#LOtPBM9?H<nM6#s5lx}xejPcM&ReN`pEV=0>)GJ@Ei{}O)vJX zNaq0T(erFcjBI%_gU=D<dN+D9w%V$4OmU2okT~RoV~uy-WSUf1OeD*Qx&v6MgU%ae z5vFbo9CX-fBjS)YzGEyeCT0{L5*M(778Q1EEq1$P@DD4UFU<!%JXyEk?i7V~qg>s| z4)sPFr`VZ`heJZ<S)cBEm$uY&W>_sw(9`MseG7YdCsKu-FW;Ffs0$t@3L8QyxL;HY z%Jyt3RrxRT2oWU@Fu#4*SHQ`+Ppk5PLsvKn!UwjaYdvEs=Fmr*O782R*v!Dtj(sD* z?h$Wlp%R~raTLCXY+DyHy{&%k7oP%Bzsx|xII&}QhzbeoTe)t1coYN3v<=IjNhy@8 zW;4aKLq{4kQb|u%8~zGGOVz5FpB&cUwj!O~&cT>Xcc=LH;4izMF<m>iKHLYH^%UHP z7(I?=Pr20szsv18N4J)6o&%ZEv@|f+m9z-Zf(oS`31LNrTURsj_>N<a<>*rZwmbVx zja*l@%*mBqcMO~^vc_?=_B{fhtb(E{5w?0FfTFK^-mhdd{{oh+v~uvr2&XHf(OC&Z zG{DiWqjtx<zKppVck{8vmXQT@R4~q`PwMk}h4+$*yR@MT6(al?a};j>R*)r$iCtKD z-Zy`2@-n-D{dWyGX(_X7;}Y|bzKq#rqikq)0=7G0oecS|69>=@po0}$)iKBEqlxT; zJyC?qJN1~mXu99FwA_|Xp-8SU5;nhlPj~Rk&I_AMGQ?lMHpEU8V?Kcz<KN+B%^$7C z9<~p=4tKn6?o%HoOjLUr_*@cb#vVVBm>M{L=Wtjuy_pzV4>?ov#MjtBj`<}=&~R7i z-q75(cwVhzJtQa3Y=?V<>(qgGbiR<=h-6K}_-0HHd-J+3gbinCKGb-8Ajy8L5-BBE z8B)+}J;0i%ShQEBERvtqBB+%A$U`&#Q>NtDU5adXTZkswFa+V`a|U6YgyT2gl@do1 z0K>)rON;GbZDffhO{Dr4zbnoJHg|`K$_Cn_un@LtP(b}~y8Yh53<=Ktex==FmLpXe z&LA_InX7nTWKAg{z#thz2|$T33fl)k7a1`e0ncxyq29IkF7)2c!j(2Y;HEsGUtN0B zYJn@!Dk-_uMbdyGMI~f!M0)k8tHjctY)3N5r_x%|U)$m%&T#KEw7+G;s^#^(LYAzo zY3eZNW|lT<%KYwkxTZcsWE@8KsXZpAW6pRBii1<T2JSF_Y*5$ysJuHT+6^l#HC+q7 z976UT7>KI}A<(7(Ynr2jkQ`JYpD_M*dxjh=IBI*BKKs-N%*!$X2(x)Pi_g^+^bE~0 zwT&Dnw@LF13Gks02Ih(UGypn|xBxh2TUJR60VbM7gP&A65X+hT)t-#VP$73$GXQnw z9Y#v$kUX`n{9%D*-$ZVz1gvy*V_Ykic+lsq5T;bIZ*R$bM_Y5=L1bM!O)+v*8DOP2 zz}tm{?kebb9CmT48V#A-A78O5Rs~uSB@77OgJ$LyR(e^^ua;|`Lyodg@6CK&Nxp() ze<;0{b7D?7fNeB?!Y!twjlBSWr1GSxLrn@Qb5e6?XVH6iiU8(okZMSR0;7ax=1bS; zASqS9Q;$%m+>cC07$*1mNX;f3B85bfk@M(0-#sv~z>z)`z^|Y<v!w78BYJvZH+RJs z7($7p6uhH@A<J4x{T<cn9zvaNW@PO^%T2G8k_i*y>EMfiP<3z^*(|ri_qc(^D(hlG z3=w6%Hb0MekD2{3r&bA7(lR;>-@&?GW6eA+vo|<RNUOVW@Fk@NyEuU5wdV*AeG9er z8q`GLJ#24*`0-S%+6A<4UB!in<$(3zF_qoEw}ny!o2i%grG$+2<}5k0OpqDXA0N2! zv)=7L6*pc_DxXg2wL2J1y|2GAG*7LwA~j1E9fiH`lqt(O27My8^{pFFvtuv`(dRHu zcGp_kVHEGL;#{<2Y(m!z#1u4mYP9w@Wo<$lfggh%3xjB#39!Xa32-prv)zYZEwTi# zSJP|_6Jeh}YgLo)j`LtmCTMqTCx(`Mt=ix3xD{D2*ZdAw&cfCLVcVe#3(wl!=2tLm z9K3HwWje*es(+*UNzo_qhn~&6cFom;!PMwx;fPz;j{0SIa@CCdc+z6r$xQ<vL_0^l z-n)YqK=($*Y(tK1sOwA$d0GZjyedZOpx!sxPJOn44!MO|>ZGZ=W7BHBNrpwQe#|PC z(w&&)_Y4qxJ7Gp73|LGxrTh=2!iz&gYjTWCCpHg?eI*yujH_A?F<jM_C0r-AcWfLT z*{k{p0&X6wc5@Y4HhOdyx)(bos<RluJD0YIyE4p(xCvOa32{Pwtp5Fdtg>m!7jO1z zCJS@=-zNn=-1Cta_NaZ|Qkve+ZY&_TfD$|!{5}`aNryBrdZ;cq8|7%`VMfegnVxhp z&R_k`HG7aaxqDaA6$iS#KMD78Tsc&BFoSMu%vq54!dH4#q|f+L&uhHslWCg$99_mY zv>l|6vdIh>skV(*$JZ&2pD`1#ZO{o!r`wEd=U}QVG*vKD0XM$X$muW*GaKujvD%uX z$7;a{#8tt?(9L7!?-C5v1b5GJEGG8ET_AA={oGfqqdm-)Sg^+^1$9rpa<)b6ryNL* zHS~#_Ti1U=v7^i-<jE&A31}`EGa_n=8Wx<DslJYl>8@r?IH`Z&-ra_1eR6rop{Cob z5M0E8Fl1!hG!7qe5gR+#V_vbWE?cmBSRPdKq@SI^g@2gVZYQVPHl>5VhO}Qp086Rn zj9#qWvclS>t6Sn;j2UM;zMx#-V3}T%n`2#@wx<#>cPZy!Xqepz$Pwx?S2ne>A>E)8 zDDCW-@ba9bw=gnwykYZAV;D!8i++l3lxWojE|~=F<l~*wzppHMFJ#c6aWGBpU^;P{ zkUB1L{b@G~1bu$tQB2E015N$PIW_pAJ21q!&r*CeY<ELDUNRjA4t{6jd5vIXnRDDp z2OlXd9eaqlJ5p@{fCJ+Vr><->=R-I-GG&#sid`|UM&|gUWAYtCGa!exUw!cVihMrH zKD0jxGUKN;BU=cy#QDfdt?#I32Wp))+TYP>8>18J3eR|LmTGI*QN(gK8U=iRSitw~ zK*alyOBm9}DqWQwC~iU=>U5b%^!LF%`L;Q$YEjX#>5CHOFO!o;S2yw#z;Y)1C_+F- zx(9f=q%$00T{Zfe(oD(GGey|?DP)DE%wvs$n@iM>W7mKma~^Vcm|pBW?%&Gj46&Lq zkUT{f^DIv^kRc_Cmd<x;)Q=-3*@Cf$DcP(TO%o@5f-~<1nC7hNUPwGFM|vanXJ~(p zJwQ)jFf})Q2mK(@gOyr~0m&`)wpi4*Soq=~AzRi`HME39yKSTC(x;URCv?oNsWW_3 z&?c2|lXEr;NcG>VPTobj9%Hyk8AZ3R5pUetA%sruKe2Z*|JY3RJv|s}13uit&E5hZ z30+M5+wO6slnfsBv@>L9LDO65<uCZ0tj8ko4c#k@<0^JNhe}JQHM!Tl$HvwD4H2Rt zxv<uUYn-zOk8OpG{04LJw*7Ep0n{-AtZam~6{wG8dIoOvYsU5WkctE#yF*eFhbfoI zHrA#t_Cz%8Of+S|@G7#do6mQ#5#7xR14@wQ-XkVGaLw;EzaPLF8W0M5QfP(r6MPJ} zw4Y&(ftp)rZTpfxil$tLC8O*6l-A%1N3^gj;?jpytN>ggc?XxKw_nXRkYzf_)h%~9 zF?rV6RzV#dxQ1DeC|{@3L(OvC5xi5J`sRsr`{Y5@{d9%|2fU|M2Ow8<0q^hz!@Sem zL3QfrN(EW8>{)JV7u^bcmbY5=N#dr%jGhT;h>~qaO*Bx<U=UM+TAbBK7gtCR@aF#G zTq8~L03}7JVbn38zeD9ax{6g;BF?0;QogN3Gr6HT9(^8PG&zaxQpBYYc3rFYbAt!i z&cZ&UpRca8FT+}3pV>RpGA}O9)GN4$9f+gi`4Kfevq^9pyuc>3MUsBjXuglKo+GpK z>yCzTEzfsG4W7LpCLnJ@%c%B1c{q-Qci154E=Xpb7Pn%o+uS>1p#=K~`YKUghPW-- zIM(q7NnovgJ?+~JAHzq{?DbEy{M$86nz!_4Pc4{<6>Cb`uWuDmELR+FcE_t7tmzdW zuXJA0Ph8J^%PG^_7Z=Vp&{iZ?J-Kc8MlI$KP)_?_;_ik;Zy@D8mtS)I$*(A1D$^%( zj$>8Y^dE=PM7eHNhtCbim*tlFp0Qr~YR4fp*smV0vDn6cpsL@bH?F1*P2;`D_KP;> z;mvO>U9WYZSh`<5hPKA9Tudxf25$7z#^o_t@`|G@v0*MhZl#ewyNItbXBxR)7An3x zc2u*pJ@;_s<$L67xmP}>G>T?>wyZOurOr9l-j>!|j9NZUoso}|{h&;XTVX4fuvdT4 zVmcLnf;7Ks7Ja^5PM+3OSh794mAiam`oR~@ZuMh!ESchY!QQeS;Q{x)&)f79mgmd! zCfQ+MIQ4A%Ir8LvtqS5{7v!_u6;|`%?u;iXFN)-6YV()vaF5%bJ44M|4|~_E+)omm zhxf7iEESc5PNw@&edX?_SL0NZedt9(GerC8Ovfy4vrC%rtByi^X(1u?>||>Nr!@*K zZTieNu{Z9HrY_VrHFBJ;KbKeUE{9ig+m|Ca&V~v%&RnVW(%P?m+QG%B)os_&C~Pzy zY%`;B?nFc7FD#!(tq->dJv}$(cJ<O1qgh<bqgOx8yZbFHzbve_5uHt23^_|+JMG_9 zr?VWQuKT*mG+VMOurbQnn=@ufug0_;K*kYzKD%n1$GaNBmnJ*b7dqOzDZBH{J_tBI z6Oun1QhJiLuw}JLN)m`=uh2+aIz1V|5Knr<@BnH~FR@-q$qqb+pReY)?|0zjR?Wx^ zUWmMcK^soz1>J1lsFt`rg3y<eFKzoZXIKe+XUZuo=@xTK@P0AF`B>nnY>7MpX%~|5 zd}xScnQ5PaOIYBzcJtPrS_-TwF@q}T9@cv;O9!>-?H;*Tn^y+k2(K7D0?S1N9q<k8 zD(nIKOXypFTNuhP?w}1;nJ@eJKOo7}Kjwm4sC+SgM~2bK8l)U&xj9<_`G7|n$I({* z<r)gN3zt4nPs#Ig193k4)`3XK%}rqaSy?nP<)tX)B`U?!FXaV;<we>J1Jln(Y(0!p zAo~$b=<ZtDW0kbsH0A}T<sAbzh%uSznrFRt`(($9Am~dA#Ip@(doD;Crw>HtEtcOy zJjG9*=T(S1F7z!;rh#^&h<3(-blfd+h`VSRkJK1V;%&>d3p|Rps#`074yf~s_H(TN z$J6D9OO-@>(3dNa>=NZ^s>P0YTsR~A`|xb<X8jo(w~r<{+US$u1(6vW7ZKU-%XQR0 zYIHX7I-eBOA>yjCFFc?GT;m>dfLP^7n`T;F7o3A_IpD&jP*zt}TIY*{+Ef%YY#W`* zOD);SUFast2OLV1EATkr(4q##4k#69G$Yf6L421=_29CzE4BvR%&vOugnP?H`oMh{ z-#XjG<D25B%B1xEsm|KB;i2FNg_0jN@<?%^TEG1WCkDqKH4Q2yf+KHqpskdQ-70?* zvB=&Ia%LTiLT!GwR&mf`TI2JBiDl+3s%~bh>07_O1Hl0|DF-t8>bWLwJ|X>wkPnb$ z6mXPdCg1d|2iiJiC`^CY4fNHlM&8vt=n*caKw$e7Xg(ZwSv{Mqs}}1knAeu%-}G0h z!=n#MCnmZ)7L3%4E={PQr?ojM&A@hNbC8<C?CIBbAgQY8brM}*8$`@^n&}=SnB)a1 zcb6E%Rf;IRRX_~x->6WcfC%n;+o&IFZuZnSB}REn`^_r|y{7Aw5T?c}<D}=>mG^Bm z)O*T<RqL7aZIog6jkYL_%=zuxuZwA^t{0zhejLuihWgE(7KN2yk?It)($=g9KFv>e z--h2Z<Zo&}LVgb7R`Gt>yF~km6843ky@rz=bEU)6YRrtgQ_O6c7v&j*c7_sAKvRSJ zxyBds<M25Rj1*!GUrn}P5zhPhYu;MX`eNful!BcMf}#cJ97?%qq)#wEJjCSLY$_)A znWyHI3V1CAAm7QuPpKAuesk+EZhuy=8K9tA(5u|v#M^G4a>dK{!|z*&V8N7WP7yW$ zJ+lijJ5#FUsX(b({b-fy8ZF4tQ*NnA-EG+6oKosB5dB3HTei-#e8s)lvgM5AV7305 zG*#B>Sh?Mdg;=9qONNTeW<8Y6b2xW}4ntDf+RWrha63l#i8q(eL+?gBUCIqvzD0GP z*~h{LqD#o4N{l7!r0$67(RkJ!O|xzG4xkb5F<^SSojx(QEvM^Brh&%Bl{qJjqA7N6 zBh!-dp*)xp4b4ef*LEyq9+hidX`%h)sJFMep6f^6N+NQA_ZTS3Ku00Yg&;R){QVKS z^?RHnD74B9cpMqCjE_)-k`d0dR2zJ2K2H=rD!uO${3K0{v{e1LMWxAVq~W{+P4KOF zKnFz{v;bS&<Plllf@2C$_i*JP-CU)qW3G8JJUlJDW!S3Ta(H7)xiGR~iHv)92)It* zl7{lEWxeYp{dlPirDlhCkFdAPV+WXs=Y4|}2oLfkV25sW;EC0^_ZiCWlK7Gsz4ynS z33@NX`@KCCD5zzxGGA6EUhX{-;JM`Yv=f>_n&9^izyscGAeX6o5=QG(c4#$LOkh;^ zBw!@0J}2I+2-(>Y7dV&Z8F=0u{HuQ4Lg86L>xKOjx@X^S-d}|mtO|wmjehz#F-bik z8*!m}NwD>Z_yoT<`_XFBGm{JCi4lzTo(`BE`MqVwHOD3Vgr_fezx>`QP38}!pavyh zQ!k5NO724#%>+g*j)_#QwD%`n1{tYZzK9OGXcNXu2zC%73^?ij)e#r(Ip44#Y{F%< z`)Yr<ZN5d!!0Qfw`$XpkyO+M14*G=c0dEZr>VXT^{{`Jot&2ZFPc19d2(&5H2(rl+ z_`~z)J+K9_1n(1qCa)ENqqj}Tdk{_jdmv5md*BPamprCaZw=C0QmuR|Jbb}M2H6JK zyxM|WkoPR396{X?t~_zJq<^Y%bA4HXyp$aD_j+czqs!1FNe8``+#(MUZI5*W{dljq zuPI=6z@<aR^TNe#0o(lVj19V10K}gd3$IWLetlbA8)GXwOPk*y6%yL!K>UWBvAMo2 zrHrMywgoWQOxw^FpAm?Xu+@EqJ}@x=DGRUXz3$My?#SBdn=1e*70gu3%#2I`79j6I z+v<zHv7wP2J|iQ5ijfvT0}K=fA{~r%c`OXg^zmOo4ZzFu{-Re<($dgT0caWUDd}mM zsc30w8G+mlCK?(l01E>hkj%jZprU7{r(*`9DPB(k5+3wv@#%htYy8fhcqLo>TmF7K z<Da?2|5Xe?5(uxht^R9b|B_i*dmX!91QI@B{@25=I1*Z5euVkuEQN&m#kH+~kP$s# z&W-Jye+A1r+X8bhY++#e%J-1bH#7#qC7kg|d4OOOeKHtoNgF+V8)FMYeA3@f0|v_4 zTUnXuo4*zy%`3=5@s;4A%0x>`1z==iVNwU;N`R~pVA;N6Mu6xJCMsq+U>T{u(m#O3 z#6UyyO7QsO0bsUN85tR=SXgL(5kmfu79%hTdU`r4W_l)IxxSwJ-|f-S(NWRRFfqU4 zKz?20_Y42qKGW|<)bW9_ndyH;XJ)`x{bv$%%q+m%&;a=<|7HKLSg#5Hmv#S0_@4#= zGxm>q2dD$9n_ux)0sUUZuhf!%RPlepe9+Ob{1Nh@9<><cOY{EQ>BWb}BaIKCr5s*R zrRJT%92E|D9VFRUO1c5(UG=NXvTAc)T{q*8belZ|q|~{SX+n5q@hDC!M%mb~PkTgX zkTnZ5kyg36o=9!_imIsKwhVB%O;hw7!?a`B<L_}=l5Y=k?jc($_Lj-47HZtC<mJ4J zCl~PcI-GE;*>_=*r1op;EbSrLc^8}HK9)Vzz^Ao`Jm`6U8t}=BZ1w4!K~ghU(Ne~i z7^_xgW&zE9?seR9q5s+JkkAS}Z=KS^G8J0Djf9pn3JqLnqYip9%_uk~%2HEn-0&)Q zmNw~q0!e|4O)eEAQuucY0l@d(pF}5Mfrd!$kPwJ8BBzi84U_z3WbVD5&RJ05Xf5^I zTJ^VW?5NDJ%F$=psg<ylp5HDm&NFbe?^>tR|9kiGN_zQ=*7aZQ<+Y&z8})zFtOP88 z9G2Hs@L!FG^2_g?h@LjENduc2kPAcii%tWqcR5RW3*%RG3qIXHcsIWzX6Rp$HGjhg z0CY@$^a1g39(b^iP++HRJ_re3@3J2as}j3UUdpox_DU<7-=c0oKovy@`+3EnD1lpu ze4UG2Pro-!zNMomg##{#9*nn%DP#X>+OODUZA5%1WNSeWjrtPjlZtL(spj#)+8l75 z#Y?S2io~G4R>rSXx6n^|<c*q%^<3Z1<ge2u>!zaH_Q4yUML_?eTwfd8Kl1ZCrREQo zGyDSfyyp4!r3ZldixggII)A4`Xc+%kA_5_ea6L4zV73aK5MWk!2?|{P!0)ua>`VWQ zj{rS7!RJ?E?u0uTvqFaO<OVLC%jIKAjsD$Ulaf5F#$Q&^4CC;j&AM7C*n&x;i3c** z*c?$d&0aF?d5qE~`Mx96($%8<60(N=<MLk^{7M!28wS%e{;3)3%L+#k0-#!E$uGT& zw4%Lk8nSiauV2bRjrP;f@s9XO1fuXi_&~tPFN6|IMFe8iQMXXMsTtp<#|=X;z}51! z3R#cj#2vN`lD){UZ{~Arr|RjvimzMDnPP|vsGxz2twb8waMH4wbdJKXiY^@2Nh&H> zj%<$^QHltbR&q`8v9K7Ym?|8mxhTK`$$l1Kt=yn1Dt#|GC|%GDu$c)Rsw(EgLv&QB zWYaI;Nua4|p$6*|`BFByu2L=|{o{><d{9y!&2jW-^+~e-ifsIy5-8MD+$XAGhbWt= zZrfz+17k*-(uZsB^Gia|qozxIYcAv=<I%osn?`ht>z5s@orjIbYZzr&IVGB)A$x&2 zU8@-((rq?wb6h6hN~xHMwzFoMp3|lNo2y-<QKYZ9i-lY7gdo<sX8M2P>&zYJJ33Pf zK23CO8u6^~onxC*UUC6;Ay6Dbz0>6zQuRhBux;5t1d=qtdx}fxo(1boCisY*B|RxI zJWMYb$LKI{B8NF;oQlpf)m#u9XfZI41>3K?ywUiH^LfwR5+`G;ICXR&$j>(N(+&U& zqjIxhStq1Y*j$&r!i*`ec_|N@=mIr%LB0>HJl&(J@$`^7pMTNoFMQ(<{mg&r;u&aY z|LDx(a-vn(0I0<qGB@uuUN5c`LzzN~s0T~J3fGkumv<S6P!W(g#loOD%V&NN{YG^Q z)M~b+2Gvi^ypIgGX#2c+tuCN1#6B~nlPhTNqsD3=aIRGh#M-o1wC0>A#A@a>wHQQ+ zRGVqW6;vo(9*QVP>z?8nrJe$<Lea<#<pU+Z$GK<uGTV-0>HvRE<0*(v2_<SHHoXst zx)Q9-w1L{s8|qqoj9X1<h(cW0sDpKC+EvHmrjS{(PdcrFkgGavhh^wpUx-V9t6?rE zK7P%~F6<;pbvis6Tu|Sv>aK`uj4x4alW*`u8-Kk!j6l04X{8t*I}7~1Ug-S%CfexI z%e?w1NQl`b1F78Q8p)-vY_8<GS@7`Xv#*w3uUp(ODt@k&s7{9p0}}=(q|WRTIRC5! zfGr2Vm0kcPMoq6cT$?3_G^t-tDaLzA=61l%-!l1U)*HM;ZuT_z!fB!25w0Zno)K*+ zJJDmIahlFfs}$@>!Pe-Kb#6c`ziT=r|Ka4IvXV;UM*j(GakT6AD<Nlx8NG#iP356( zv&^VOt|}p=RGXP*Rg@nT)D^aXvcRdt!^P#S&(*R7t6!K>F67O-DQGp1<*zsE<6!#{ zG5S1EVmRiPIC#`&Bm3^=e5s97vm>AHKwLCE%T{MS-On}wf8jiTz=-`P=b-}t{^UF| zJW-$@p<2etZ@pycGd5hK78dxfUuMDS3!M@nGWU)772hN0N&6-uig9Orq8ia)$!+fv zD>oI4(Y#4iA32<1&LHt{eB1H81=3CJ{TauG(bN}>;PG4f$PzD1!yJ=ljd%lW<ck@i zg8L(Xoqjq&0ex-9!u9AP+inPmAXa=DQUCC8_{fZ?h$jis!{cP|7TU?#xbCCVbl=R? z0(gX~n}SOcocX=;?YYDIRx<;*I6qI_E8p(!Y^+b4?x>FN2;Z^|KI-!e)~9S2Bp<+x zs=_HbU^qVK2)ZoCUEGELAP+M)^Engf;>3U)<(5`-3c$7gQD0kAMyS}OOKp?_UcCWp z-eeOvyos@`GQG?r>LWd$H6uj9-$!ASy?^b@Tvu=;d^T4`?B<S<;P9;W@<`!5`xmAE z2PWHpDt#8<koTViHu+H=crScdunt$vNrZ@s3YiByUG}|~a)N+JQMzQax-WvEK`x+Q zK1W3JGJQdzCu-8*tsbkc_KFP{n<pPGc!Y8)uIXfnxPz_}3(G!RclQ{eVmhH9ApQ&c z{xAXhPxdhY{)C8=mlH)=W`<gN_|W8~8OW8gn=7MCbh8Ta-oc>7`W>_pCei!KTC@%g zri$*j1{zz3kZRDz%NtG4u#BNs4>naVJnKGhs$SL~mwlY9(zJWUc+Vnx*f?YG6jdnR zk(Hl<FBT}S;gwo;l9(hkPMXrSWH@!5qI|`Hn&PiL?1M&(v*cQH#Yi)<hAkRI!r+|1 zu+#PX7WPT`UK|R~(g7QgZ&77LNTG0u$-m$yymLuu=hLS%f}Lay->89Uf<wJWo&7Tn z7UbH=)US;Yo-B+B)Qn>;PHN;F>y5E+4KlaLRjZuV-ilXpTxT(eR$AQz&+0HZWWO;4 zK6@7AVjw1^V~RV?@leTqb$B4*%OJuSQbS`mZoGMGIvs7AF+nN?3tFLw6ExW4S_<~J ztVUaqt>}TD>>qKmSd{mDidsj;^h-weqJ2j2vgnL3Xp_*^$niwkx5p^w2&FQSE<U<Y zM2Wlh=y957nCTx!tD;F14vQH~xg>p?g3FATw-cU|k?vi5gUnVtBn)^soodpC6R=0B zA#AUn1wg}xN+f_z+!>=3+g6%LEu_;Y&YoRAMvG6(#}qu!))5`Ci0ZjtIGOB`4FJw3 z?}#dNMs^wN*S>^H)#Ei%;(_@fiHAqaCCeYU)Z@d>^XYi51bKKXt<<l(r?$<OAMReE zZAtE1{)Hd?VWRnu5gXGVMr@1>uj4TQ6Foj9fSw-6dt?H_B40;t^h~b~X#VT-^$;Dt z84Q34IO+YvHVrWBw|HhSMlc3{HQM`|b0AuVKiK4yA}=j!(@O)j`0zok1LFd)c9Ao^ zzj5`v2s!7RY7hwp4n2<#=z5bpA<h4$pI*zK+AMDZ9M0n%V6gWbpMsJbK2@d@b-}0+ zD@h$w5~<r;sR;HeWfly+EE}>3i!DxcFZzA$CawkDhx5kd_0Ka^b{hG)!`mocTG9y* zbv@p47YaL>@5qI*NmYzOk@aVtzsnJY+0wNniQk0_TzZ?i8DOcx9%2_(KAL?&+RElF z(2nJejpQM_{7_z4)45E-;UExDzMH0lCG;uDvv){7Va(iKhBI2f<Uo9C*Ltm&O;g?G zNcYA8l?A@!SxonW%ZB>lx#a1G$AY6PC|I~**T2^yaBls#2BA#!f9kD<d0@O~-h*~L zv=QKu(wh#=yaYH+yl5`VkU0&3A+fT3M(52Wibz9&4BZOb5O)$ojK0y6sHe|<QWFYW z>~d^6szGDJ`5^Td_WWTU@Sl1o01d;R3>x8q0gmE9J6tu^5x};9<Y!Nj{mh4#!_TT! zxoECm{aOu~5<Zo(3PWSoxkmElkB2(LH3vaHaD^C~1bFwNK7X%ng*C4;oQ-5jY@5?n zl9vNw(<6)5mNxVsJvRH4!+wGvACUf4`TfmV2XONLM|;&H$1QwmVEay;Vep#y1TspS zM4$?N<u@w0Fc(3&b(C@tv);qEJf(oyPr+AuggptQr{<IttB^wuHmCCY!n@?=_ByMS zaPL`3CFNp#Azq5}Bkh~1_}Vkd%7$&aEJ-mA5`|DSHda>AJXF{X8P}p5sIU*>psCO2 zT#bI=OK1X_f&%{KXg@c8rlpRM7fJ6yMMk~RUNWgYZ2Skl-bcx7EP!x|IQc}K3wNBY z2De8u3T*A8q9~K_Z1Cxf%%Qgm%eYhL&&v<D2}rU~Db6b=2x;krc!83;1D`f*QSQXt z)+4EVB*P=id-PEoFI%n@JGXZF7O%)#PkAV2reL~Ox{o|efM4)sFrd}g9;d!X_G|eI zU--iW>2+QWgqZ^8$Nv<ueiOBRlj^8s1tnxDc`eQK{!L)}rwI4j!~8DO(a`|)ETw;_ za{!uO$kbm79{@O_ezoOwX7-0$`9BSK)vf-aj=cr~Q+zc`T-(mZ7>J++Dn~T*%*?dR zuR`8y<D&f6kXQN6*v8h5&q&+mRR9#z{>L^g4a09~{U!%80r2Tr7=T(AJqxgNWMKdR zPyBBLxPR&dzj|GuuJ`AX!UyVyztFjg#(H)}ujE;vjlZn>^ThhM>Gi+A176jt|8HIZ zdfML;1~B}h3ID$P+b4kG7nb*50%?Kwl|KjlpX>n`7+&v5|NGZ(H?{wLyuTj<K>HWj z1Ku}j|Dq^fQw1<Hz3RXJB_sjG*55qy_Yk0*WNcud59AWR0;7R?Dz)Js|LOi^|BuK1 zC))sq|4Rw|PcHg@5|<wEF9y^9ogB~${L5K?WdhK7{#?j^73u#)7!&{hMZ;MBU*zC_ za!p?5znNP;+P@j`_3C{5uYhjq*UtJCz5a{A4s21s^jBa%Ye<I=^sHZft0AyW(7z4` zUW0*wz>)1gwt?ZV-PNyf0eqn2{k9GC8~R^QZ-DWERYm{W2ffAtmh`XQ`E?tZDPZ^i zTR70}U&FQ6a6W!~hF{m^1pfVgyJGm8s?q;nL}7-%DP#a|lYbms3CN08ZQ;W%?tW0i zSHHDP-)&7w5*UA~Cj{LeBS6%`QdS5s3}cz<7w_RTa)B#47mY8}sdjs8uGu1X8vBMB zjul94bAvvFEV>>anl4IPN#nU46u&o-gcV@rPl5jU)8m^Sd$0ZHAkxgQHYF}a&KnlB z^ZEMeR<qhOooP^^L>)2boK{nyy>~<cBl6`Hjb%`#*V~76Ybw@XwCg!jYnu3($>B7U znX2*U5K}%mEmS;i)qTOc^C)Xy?&Vf2&0(T(S9)JcL{n{6sGxrLp=$R#4!r;xM$NIG z7I4jRCSq!;4Z_P|Unj7dMqzj8Evz=Qlv|yZJ8(y>Dg=qd3Q+n}a`3~S(^TRIEX(?? zJ1BQhJQs6Wg4UOq;P(`QDp#z#B<jI<9NVDInlp?kxL^ohu_-vY1XF%guh}!|kB3j; z*2`Vm3D-3?U==YdN>S^M3Z7}4x$iHjrw<z03j4O>v>H&5$g2y{aC_{{Y-#IbX}LJy zm-x<=AWj`PtCA>?1yrgf+FDFh;k`7~8;4G07K4bemskoB+>CGDN{*4jq=?re7KCQ> zE)o%Dwr5Fsg0H3*BOaE0LMQaB`FNJIBP^pns9!h{zy38pJ!SFw%^KY`qlY8$WkFfE zI&s{3_~`@Mt?d&eZr?24Ukn@nFlzfxQwVy7KhJ4oMZ>mfpq5^}MsmlLc^oU$0O0;& z4qA87l>G$+tKc*K00qq(`E@~J2qMG|FD|E18gBpc;bqM@$r!91>M_W5g^td|0;tn> z)>=Y<B>;%@G<UY5U?$`e5#2E?(Gd1d+s8pt?Gv%ZwlW{{PY0bREiBgE<wa#PYksJ- z5=RKM%-_;B^MbPvU*7u=mK;Oll``pEXC_sY+%OnFHqmW|r+clS&|`MTspvms<Vcvw zAPLMOP*;jU7db^Xj=T(yWJ)a*To2>gk3YLvrl=YCQ_>ZqReWH9$Tjj%qBKX1=H}2~ zcxO^XGKn^y|GWU}ok%$Dc-r-F@2I?QyQ>zW3_G0SEkBU1&Ekx=1+^NVT<4pQlICX{ z)wce2_&5Yx6j0ZqYQ{IzD_g%@i)S7*T{iC=g|+m<iP37^D$N{Xs|wBhf{;=?nd4lg zG)A_G^r}w5WSwNZ;*fijzWCz9cPm9T+fSTNB-B=cCzq@!5rv~wzPTRlTWt&Q1pWs5 z<n{F7D`C5RXA~v|r#(lDO9jg9dtxf4342(~51dT4#4Ol2wG0zU3mO4{u)d@cAL2)i zouvC}=vq|Ia?AUgsr<iihQFzH(bN6uA&dO$Lza)Qz=tfi-0~UfF5#a@b|x-fOhw-w zov_XYPDJUwUCRLobu@rT2|Z76V|cEK1Z*-^oO1!JHUdDVHzyyBmMp5Z1z7rUzHZug zraVh|%+vWW!gls6(nK5TVx8Q65eT_>v1eHWT?XvyVeRpJJN+gs@~v(15NSfw6?Uby zkxkB#K$EV=1!Cx+7{zzUt0HHp7A~r=Y%cMQ^Ox!%A(2dB8$1$4f*3MCX2Mhvqhb(R zIp^BatMEWFjaqz;ngqHFKFpcAhVb#hh=&2C!Z<o4<`K%6<Df49Lwhl_==c%B`WB%) zx+b{c?AauaNR#HeLSn<CV5u-&Z1_XQ2<1j1+s^Xgix16&9~~?r*?5=dQe?WnzAY`1 zPC@EHQaQX{zuY$UuKA(E^YK~F(jLM;ejs)L#`PeyPR5=_nv940)0-s_%C{e;hAiEk zBl77|kg+Iqu|B75o?_asR-J~;P?3Z(OfJ<Q^&UEfIRs^$Oda#86Dik-+XTb)uEa0< z#*u()#6wUTEtU6)JBI4pgWt9g9B)4WSn{>=gl?|Oajy^i316C?)q%B7I@$a97q$Nf zjp{#k1uXxnbyh6_yMkA(Q+*?RjIK}))fuRDPV^&N=A8%RWkz}js9J(9!1;WCV@8jD zjHcE#(XlvA42l<&&zpO0#BN<QyEvej?;!f1_N_@`#p#)0yMI?SjsNTDH?AoQ-vOI0 z$e^FN(MuJLw?(#~(mazpJBV2NGZWA+s7L2m8&BZ#?|0fQUN*g>Choo8s$NSe>*H)g z?X~)=V8x*K%eI=V3QrI>1A3UcUA2SOFGKh?c4exfktMZFX${y_!rZdPd)ZM*aK^E> zw=%=ztNY1_%2-uCvtV~&I;7y#e1a-rF+&T3g<7>)z!WkA@L};3HX+j@buy<02-m&5 zZw0%HLT=Hf&tE9Og1JQZ8?I)iDfu7`6Mn5T!@?P)Q%t7pk^y*VHa30XoJ|*HIdCzX zAI~i$&5S%TZq6e%=-jT<5k9q|u#a%s7S=W}omQjcPxhZCU{EzZAmp3tE|4-=0H0^F z-v*2w{}>dm1JmQ^I_`_dy);)Q6CA{CZ{kT3(zUNr91)GzQ|f+y1MRm@lLourgyGy+ zxQdb(f491TZrdDg6Q-|8et9j}m_6Uvmic96#V6>2*2<-%jteOy!Zz()>O@_)TAm-< zLp0*TA^7g`*ohu1TVT=Y<<k)_Rp03$-bvVA$zS-)-&7Xqng2BCke3y;AqPM$jg#4d zH22^EQToO8RwwOn_{JMf>u>3~9YMXobi=&P-*Dr+VTT;L^%0HiBg_jw75$MO!=(h0 ze0{m?k~4f3LqFPoNE`jBz(kMR?e=TF1)8oQi$NZ^{>-6GT7F&N@&97)EuiXJwzSdU z?k>TC1b3I<PH+nr9D=)haDuzLySuwva3^?hm%!U_`t&`yH+@HL_y4;4AMcGlV6R%W zr1q>@wPt<a6!kc3FZ)sne%YLdWY?r)rW(eEcdt=3=_GA2v;*Kl?ca<FgQ2)}t&If1 z?C()U1qIm!g)i@JTB0}kkn~bd9o%^|=taMhW8Cq1^s1G74etz*&_n<yv5pt8MEzx> z-zy3y8V-()4-)S~_>k!5_i40e3DjcXMU`kSTVDt{^H_-M4su`wJ_$g=d3%R3War== zvS6+0iKN=8mh8wHJhsrj3Tmq*p3p6lFvlpya*FVsXLzR`w?HR0gh0+)fu{|8Jkgy@ zNz}>$QQ#IoC%!<JD6+C-FfhMXD@We`&Z0S8&)$kONW<j|kll5nFL0)okF-;`@V*?Q zsJj$}G1Vc6iO_8qN@=D({eGzO2c#*vhCBo!MMxZpnPp1lE_0Q)k1h@xzDyCU2sFe! z#>O>QzTIw+C++Hq&E~~nunXmE4!{Sms=`dBys=Hc(b+R@Pf>YWfJO%%WP9fK?G)*( zfJ{^J(&ChU+u)qFYIZ;VmLhU~d<XR9_0q{djun>YCHZeq_za9c(X<*7V%8w^kV4lS zU>KGdKCkw;QpEMwmpn{(_wAF>5V|iW5J5oo9mB;TSV6r3L3UA3S96E8)AaGXP&7_K zpvd&W=ilW{SQxCwZ}cGsj;=52KqzuBy<t3@pS~nuOhQ8WK=qNY(!}@mu+!AM>4vtl zkRWag2eg`s;YzBKN8CZpj!BxwCopvkSp)REGeboUr$Ljrc)=e^*<1vy6C5Plng(^q za6d?c`QbEeYme+HhXP=W3!4*lj;NX&?R(_f{g`WZav2#Nmwok)Yg~I%=X>t8zJbh= zDRtsZJysuI0b9u${6aHh`Au+_h2<x4=_^WAUa<Tz9p~Mkq@OpJ$*DFkdEoH&Zz?p? zpFvJ9Ghypx0(H491%QG~m_nAGLeT2JW<AAzQlGl*I$e9Dn}3Hr7POU(AZ(-y+%x&W z*f&PPLCM!ULV#Z;Gxy0NT0a9GjGDn*Qzo#v*kKhp?|V2(TCuACzUKR$rPPebFUqNn z$%VbqA6s`4yBxJ`mfDKHtoXuo2d5nrHnM4A*Pp+&W4LLUZd=^+p?`X}2-|k~`honC zz>-Hc<Kk9l%|Ih>?pFIyi=>$uyR0Q+tpMe2JNFoC!t1p2^iYnF+s)PL*8Z-Cb@}Ax z+s+-QqyS;7zoBHPW`n(E%9~eilSH`1A0P-{UD|JN!hJSU^yBK6=MYpmC0a1xOIEKj z{Wt-8zrV`^R`_8>fs--F7Pl>q_ST}=$RJ*gBiR{~22Kns)YOFJm0IAPaC)rRo>8cb zXvjCw;EzSJg|i&V$*S1PyYh6Y1{@eO99-mN&<Mdb_tzLooTQ=73k|R`khNT>{HeIR zj~l%Hcc1u#;c26j{QyxgP2|}Iztf$27LZ=1elQObHBiSMKaZK>$+6N-;7*Qy<4w)i zsWF!yVC6u;6B}N=A-KxeNg;wex+-`>m}Lbr;@nr<sF+QaCsIx5kMgxpy4eZqZf|m_ z`>Vf{TQ5Ak**VvlW-Jv{>dIvAM|zIPK4Ei1$Nj*f+{GPu4@$w^c08@d)QR@qM6|QJ zltVJk$1W0XJ9J_wA9+~2R-eWZny7<Yw$N8iU6DJSu^yv`fp_DmnN!8JL0cE2NNxeC zJzyvu$G#JU3WZn)l0gx<bU4OWp4n9pS=mr(bg6Tf^TYuaPJE|I>b%&~!)^ZgPNiYZ z;*X7wU~!y6uYNHX{4Nu~{FAOB6(M2WO#mx+%>#zfE(GJ1eLk!}5j^mt&e;8Z^C?JT zE=dNu1W86s^h7pkJ27F4Rfb*agL<LBX~NS|5znr*gL_2upy}jM>~!>;?@c4q=U_-0 z?1x@d!#JN3I1T$ta*Gv<vKnu-WmfybgOzI0Wz&uWh7uU+{Wr!HEw|8d0ejzn2#y$3 zq%04Kwq#6w;or!Q(P+olqdYCAoXh?+6%NI(kCPc<gSzXAnzK9L+qpnT3u;;Uis;P` z(pXR@^N`nm92y|IwYZ64@29GcTLV*CGp1vDBRTw$HOE3Yf?<`0D)OlwsJ<=fN3-VM zgo)g)&dy%KjP4o*{X&L+LHz%jzDCc^_SXf!hO7j77Xjpw3p9<479yl$>cyqq#EOU7 zIHuI{NkZSSrw%mEM|#Kf>DP|e(5dm^BVHCdg?R6%c@SAIxXPIk9stwtG5Qzs%*27! z-S7{+%UaW<^SJUKmnt3oWw`MI8<>c515A<#K0@g;n1wjcNRp5`mtxe?K|UTpI;4F4 zvOBKIErGUsFKD0L`8vysT^Dip3(!||G(BU+AGL8<R1QOi%QJho>X*Xww3BwdUzKRj zYl}8-yly%DpT1K5cqJY4@fS-MmfuBle$M5lI4S|)=3qg`-QGvQK&Cu=I)1Z}x#D5+ z;oTZVnB+%b+4WA#9Wa_fUK?-=g5V_~&@??Ii>o9ja%0B__0)%y;2FNS>;_V06UGtr zq<j|f?2+ZSpwPV;3p>XV?;#Ftfex67sD9CPf5B>gMF-P8cP#*D2T&QzfaHKo0EFv> z4yI>*UakY^;1~D{K>Gr|pATVpriB4@f8Bnjg?~*411x%f??ue|lkuNM#1MdnLlnAx z3{uSv4iFK?CjKla8liHLG3owl4x~oGbSNIoL+hOkg`M_6h+(On+v~4~C1^{$7o{YJ z<L&)mQ}z9d@}GgoXhb7{H>bbHtnMvQBCA@}QG@R&g+!u)@m^>*1yA7MQjkKp5=<l+ z<Tu2xohUlg9x3IxTMBCvkm^IhinvTklxf~$5uR1*4w<GU9U3uvprj@7i@K$NvMMmB zD@e;;>+s8UTR{m;MT3If&q~-2&`lm|MiC8tH^NPeibTB~E!gBb8L*B4ceizgOI9tV z^%@H;YL||+$ZN;w8}qUm8gX~GYaW|j`F7MhZx^v*lU_8#0-V<5(d5F6;rN725+mPm z3B!Np$M%mM`<Dgue+LKlY)Jo1Uj4y=0qCrModbIr3;>YycR8@%XKViFj-+Rx`-8Ci zA8Z2SOZv&@1^`;~{5b#oq5oU`-zxqCe(P@s{Ie~#7v~0gM!;n7_lMCl(*2sUV`lsH z{=dJ#a~aUMpRWu^i}_z6*Zvi@;{QMPKjzFB0Ce?#T>Jk8$uY41y#yH8e}`pc;QJlv zFz~Ve56G86faTxr${_GNR2_rh-&3~#?6)xp0`eaJM0NkOqkp%KLHM7wfkBw<m*n6J z5BJQ{JrCp;66>V^=+hTv=Z^v_!HdzsO99Yp%+J&N9|d+m4&y%y0GYjj3@<eRvAryz zUkU)}u>8q3KL2=@Kk3HjHoxeOFNXn=DYLu~j(;TzS^n};|EGHP|0Uid0N<|PQvaA( zep)vGFgtS+0A}}WE^qENa?OPWpnMvhSUj!BjQ94?YRQ8bgl+KY!X1|a<iQKa+X1iw zabU_=aBT0>(_I^hJq|@b!G>Xv2-2jpWB9Nq1<*ShITzwKD;!5E`n9HVds6t&RWr$m zcHkDrq*0E2AMUx4?Qmw+oBHlz2NS+o=W>Ddl?mQtUnS!F1KknWya4TegZ<CYJtU!I z!>LFQ5cNWrJwY6Zgo|7Ap974L)RY7zm0^{u-c*`$i-_T_Kqm~*B#WXQ?17UV^2{Eg z<jq$Q?6wSkI;P%XEuD!lz~W}*6#B6(cfByHfX`G?t~0-nqP&R>MH`^G)zg8yi3}}o zbAuBSB<9NLAZ68$3G_*=mE?_O$ZP*aAh<KSDK6lyeq8Y%JfVzWK1{=p2_DBZbE7lB zx%2enCbMOJLprn;$}v(gRxl^IKx(?(%PLFdhtt{L6&yHOK|@7+hp<#ZzcgK|UW00@ zt|#N(S#hjjNxpSR-&->5g(=j-3lt6INptsO>y|H~ryT35NYVecLm$1JVp6_9rtc~h z?U?an?URrtV+vJlVNOy)2G@r?hJpLm<xxta$SDpf&J+w-9Z3vP_x0pbkJ;4&7@UtQ z3je6Sviv5T%fS5e(D-v%p3DzemixFT_W?M7sC$d4kDLjP+IXU(`{3MCiM&!2;~K9v zm3U;*NBbQnkkqwYN=8?Gurfc1gwiW~3b79d7j(m=!oagem%_Dlm#g}sJArD_YU4yL zf`JqDF=Y?E-sY1qMxT7OfwhT!hic}53vs8?*hOoT)IjWgx&w`&SWhbXeJVy|?2>&; zdqIp?cMj_KEd=wp2fLy%lB;qC)H%y5Z-XL5A%X9)jOVGohU}~e0|jBccV@WFtG4KA zhg!qz4<$%Ogu)`Kl;t6v`q5=k+L=s8wYItE+L-ateHgn=>j(U?os(4zD~@|VDAKkd zGH>(|{!x&u&l=NjV4Z)*q)Ew3L;`4402$xvDerlE%e9x7D7EUb=y@0yC)Ez*MGPTk z=)+QBCphV6R25N;-)t-T#=I@AV)YH)@U*JA@f@jfGpB?L4QRO}Fc{xX$!W+d)E4f$ zeh~Cc&-kOlG1@?*lD=7-Ecb0Agm%m-BBbJlkgp%h!dps`Wcdt3ryGN5^~Up4hapf1 zW)C4Ti362!A;-43C<M|0@qo2HL~2ghKz(_APJ~mVqFVyDQcuJjZ>!t2ltpf-8)e0U zG{$TO(>?&i>W>xEXqOa2eT3zUXO}t?f@W118xR{AnhY<2_kN-zV)95#0{r|cP|O~S zh0s}QS?S&ElXVM<$_)*V(%Y`<+!RP}FJ5e{E{xYo)UotoRCa3-_7_$x<{?$^)q_C$ z`{_q!!kX`DZH6c`pcV4h1+GlR_nEy3h;b#{@Xk+IrHfP!O~3IuLs80vHf8G}Qzu2; zH>h_w&f2F*#6qV^XgEl{p7T6BP_8Rzy@9{zcrslBfqz_>+6wkP;9^7<3G=9!Q!Ym> zIQhC?wDYw}CT>OxMT-@;*J^ND6aUaoWjXdb?LItibM+E}vVAD#7rp<R&@B`DPj;>V z9u*nDq&458-FfD9Q#g)g%drzbwSgmA<Ki29V32U|@e1$5ZD%ll1^c<%N1+d)K2~<c zJM7&o(Sr=vIP0e~AjM0LE*U@RnRuE_m%y?xy9;$5LDx345-M!(MvMI?mkRmR<r);# z%dFe(9R6#AQQh$n&}ujj3rIRbI=ya~C~@I&=M0=_<RC7~31jfxuT-BZ)gsojWtuVI zGZF;92GzdB!*Nui6AHM`;<2NQV=0BL`HB_pi!NpYf-^+*)EYN0xwg?~d$fUs5&K2W zKoO>`B7Q3A4X^F+&19kvkP0)<H#1fOQR$7)J1j5M_)Wt%Ncr{M9kq#|hM+t#vmCmC z`^J4{nF$~vdA0tODeP`XfznQ;;m*{RaS~;MkQtw}C7#q8Jz#EI+<l|yF=3M))y3zS z5BP`Q<Hgpa+GJe}d#0|<>0p_<ZcB>7soH3=QZL*Os3&$hhsMLP%g<SYL@W$_hMu9; zbZY#rpb;<cehJ8(;dHrxiM!s>oUAXty=}Po9V>A1O<!l)4IS%EFKZKvdTsFTyadQW zA<3xVKBOV@NKh0)8WbIzgQT`o9a`#RYt1ZZ9sc;LoIafnj!ccwy1DTdOD)jItFDNY zMOa+}a=r60)m%!#fD7(pLlkRjcTEo<73%N5VAEKC6BT8q`^gsxFm9e1*yU^Tde5eA z*quE9Ci-x10fN00ih)khdyU8d1uOa)CIXzm891qf*0sP=jedQHgkwb=-yG(CGUp-! zoNK{h*K;gbWpzeN&F>Ys^zyoRC^>0*G&aRnSiQAu`&Mkzdt`Nkz7}RhisRVN`pWqm z$8!~S%{9m-KWHQKvmzl{t<XdcTyzrA3Rf?%hQOm$Z>@yO_h_8=V43+43x<IPSNe8x zBB(JJ&Fc)xnX}QnmB+R|lOdI|Q?=JvKsXARr%>dp(L)9<rkoKVZ^@@f_mz`8rs!O% z$|0dkSL|ZV;T1d$seX^$br0Up(_EO-p~FjMwCnWwYO?b>8wH=W;U2e<K*zGuh0m|A z_QP<EXhKA<lL*UR$}-=1@w~%2PuaUI4aEZ9NAl`J&{{rU(w-(|@YlgMX7SxR6jt_v zdQ^BOLIDPfKp7L7-<i~+=&yQ6wyKsI*dyCh3=0eAI2q=<7)ReU&aXD4IERba9XEZ| zNS8KAT@i3(sWgNcf@>9i7u{JguEr0PaBX7hb3P*4M_w;)sGil+zlhbOH2r1?{CZ0G zLX+bb`ZVdS&FUAy(9~P1Jq0_S8*-NSlqMo&;SjMgPk|286vdqg?}3jiTE91(YtP)e zCukkv1oxRQsZCK{++QNR4LDBz#hmk-XfOlQPjrz`#E=yzA*|rBU<RmPCf};#%+{H9 z%F|bVM#qMeY2E`L2qQ$5UEpm3L(*{!Y?br1y3@*~)fz46A0l=-SFP6c8h-P>bK(6F zH=l5e4m8Oda*5?R7~mUmA%sZ6Xtd<QY(=lDCGq2YD5}m(=?_i&;mQmc@uYZG2FJ|K z6<30q_uKpC3o8k<9N!9!9?kkylv#lGn$OL$-9{j@&xpmIjs#PUn}pP>(SM1eW2R&o z+*80+sKL-*v{vb)JkD=K7kliA(YKU}2F&`OLR9(^EZI_#o!$jB<aJG1xUR+ne8E)R z9X*bv@6A2@F7z;dA-LZ}jsal_{tBZ%dyoFr?BN{XJW6`Knmf@KH4nRn&NPl3aXqsb zZjVyIx}W-`<VR+3{KD(`#Z~>ga*>lPVeF|5!DwBPhHHB@$NPr48><Ikpc&&(@CV_Q z#0dp(Sd4bJ#OOmCr(VC+1!V)Xj&w2syh3T}=`}xYzbaXw?u`L3I7@H(s2h71t3*<= zH{hw?fAC7KQ(y=}cQOo#!&G+px{Lx(@*-wovj;bA83!_uwHSq-cElK<B!11<^Wb&O zU_`C2U^H>o4^2=#WC~lTU_7v`fFa?<lD}`zLp2O0H9ijPUrsK5L~G9&x>KKaI0kbQ z5rU1|Rw!uYg^PmP9DdysWcD5IBkRy0DOc*gGMP&6Trk0h08ArEd${QG?7Ob-8>ZOi zHxs=^<o*7nd<|_nbgrj`R`^)yg2%O=$`WK}Gef*42qz?7f3KyEh_A1V0nePf*LXm8 zhpi`Nn)-5QP~i+t9VgJcdI<*Z!KvqihNHKoa<n5Ssa@9Tf7CmTP{esBRwy@pyw+mJ zf!#)U2G!T0d0pN<h55CUsVchMH?X+Cwel=kfq#?nU>==6f{b$a20j!S{|?*jQ_O>r z9b$FisU6Dwrv7xzrM}JpZMHHQ-z$9@Am3IU=`vqm50DMRNLi7S&%@l4l@dkuSp7lE z-|9s7k8BbB;2%CQ<+RNfBBZ5&Ylc}wTe4E$*U}|&vFZzbO3rzkX(xR0iQ4VD7{fb@ zc5LPi(wBiT;Cx+mRK~6oWV*uvHMl|ni_6g5?d|i{@^`ao2iKPfDeMSpzZjo?;R^oQ z@{@u2XA=uKiO8NmXdcAiFwayndHJgTB@a&CNb)q8scK$_aduS1=`{j+uvy5pVC-{> zPwmG(R!HhnKS191@y3+%X+H9Qm?Oa`AB7Za^p@F80OLry=`U{YQmRv@YnRb^mqd?N z7l{L@YBmv2G_&LxsrsNt$mR#zmr)hX&_Ul$GQ4mo*e=4RmJsFX^jR(L@&b|{Z;WPc zXW56Hx#bEnAC~RQdkds(_I=91Q~9dKxk^r|v8hKp@4-(HHp`-PQ8<Fmu%?`{*OMNu zQ2C)m`!+0Sh2w^HEHc7u#HI`AA3|%_+>Dw1-~a}lSomy|Wrt?!hk0&w@7lY~RemAG z-{m~metOCk<s{4jE^q+jCiQeAkA9~W`L8_(KkC4e1q)fRAYq5+y2*fn13NH~7!V79 zaGH(LrU#H8N|_o?40Y{X2(YsEWpR;h9q~m&#Zb>pNVFkbw+Zb~iOdic8BWrTp*EpQ zB(x~s`tKD-uSICU;i(d$)USb;>5ocllY}G+o_-L>ds6{jvjv$l3q3dih;#U9g#?Z^ zhWHU*VjoVef17O4J1ei!3^w{Owho>&#Ve&9j(unySF9$YCs!Qt%&K6K_`+WQDHKKF zHgOQTcPVXB3mKa2o(?%&paKmg^vmLM)wP#QlEi$MFQHDU+2BE<3<rf(HHm(N=1L^j z&`xu3z>($32_xcSx;qO({p$zS)dK_~1be|>$oDrvlArB>q=q}-0Q4J3yGQN`u&7;R zt}XuOySMiq<Y)@bu9Z|#Un9a%SQyAf9S|Y(`whg@E7h8hka2aXS>lV_t50eGk$+u| znxe-O+Gc5_-ZubY9AWbRqG`X0chEmOGyToUSSa*wu`Xc02a%Fr+pwvx9lWdA6$xef z@SaZ6#uwa{a3VUQbQ(c_+&Of*ZM<<cO=Aw*j=q?zixgxrdXjCv<XtE$ml57nfHF&2 zI{lZD6-_|G?cz+Bz~<4c?|yX-acQnwuX5eVEq~GM-(8Ed{xo8R<o?}hGac)^YMskz zYA>_psn(nL*a-=S$|t;wNIYt3FW3p1zKkGAk`@mzBK9nHuY|X)i$7!|eG75JO6hXI z3+l;cF)qM;&tbR|GGpJZ1HZlfYP-K_)ZQX`_xp%4v2GOPoJ^G(=F~Cd7^|jtbFm*I ze*S&e)uo?-c#{L^OwlRn6jwcS|7YSU4Wa`Zc=>mkHAR;R%UPIOv+EI^$yB9uIgzBo zh)tnZ2(RY`aTJG}s$oRKi6vLWGbirZ1!t_p_8)XXh>Vf?r4I75tp<~*xnIdBNIia| zq@W2m_%h1wwUNqizzvN04*X&cO&OxXP9zSjvb4{`-QVUR<oFc9{>IenAEnCnn+x-w zjpQ{(o?SSf9nLi)5Kt>67OS6-PSc;-5|xnl%_6CA(i0QCbD`)cs01=_Kn2xl0!IRp z5s(wQddeAWNOu!C26uM5G3S(7uRmVmOQd<d6*QymI}osM04hl&c>jw={^t6Tf&Hfu zs}UjfOwjsX^Yl<n34vxKdVdZlLMBH4A#04l`<<{xAw+-Jd(pu(OJTorhBfh8cylM; zoVFwqJ=1~l6rLJZ4$9}e8Z*?gt4V>1-7|d2Jf`h-&ICQ8LCr8&x5zIrhJ^QmZ+Siu z&EAlH`6N)tLO4BQAHJ!qF{@Fn`mqBk#y4IO4HDOAQUZ`T8Hw<$){Qcs_OOv`EN#Q) zD<p&#nKlj&RI=UJ#KnGSamXh0U~T~>#c5fbY3yQqn@iVVx7g;5V?n@FyK<k@M{K#= zgdHx@QEyTYQXV|uywEZ)#*L|7kqsiKWX@6$jP4z-lX=<(v-3GK7ZGP7*$<%lmE;0r zEyFoa0U@-#G9Mm;T_tG<3QkUgohL`PMrmP-A|rnx>c8PM{|$sKAX3*)ge|~#<zIGM ze2KILK&$`jge^TA`|}+02e}6b#P!GK&;RKeUNFI*cmC%~0DAIS-3G9U&l_y)&jbA* zKlFeYV87V?=RUR<r=UMefBmLs0JsDF*FN+B7t)tY(6ciBM<M~3Wc=zT&&~etW<(k3 z{@!g35UAu|;C2}4|KDJOewQ)&XU8!D+{6CHQ8B)FATk16!2Y)HpPl_&#|Uux`u(H- zdNoF7;eYW=Mi%~m@r=LT@BhR$BimnFz{vJH&X|ARmk}@#{Jx|Z`Ivsm<h>AO&pg`m zpnPGOUJ8Km_%et5Q4k<_!Ny+-fF1_;ZU4dKJ$LX6{`E%<3jyn&6y0+-zIZUd)Bt)0 z5dY%e&H)IW^;xlhsR8`{muMM(6od!>F*N?I2Jq`x|0D?kjVE|f0_6V6@v;3T^7em= zGa%b<qCrf5w`c@-@_hRPf#zlJChc%3)YYLme>x}^tzGb^2u}{z(^(5GVQru1X@^D< zdt>&_as>X1!My|dRno)2G@`|b-nVyw%)1&E#`uI!KQza`SYYagV}KRT3WFdH&ADhF zUkCKz*h5hPL7;-ML|YlC!OMOB3PIwh#1nyxR6()bG<BSPOfydC=mZmrJ_;5@5WoW( zu{p_p42@5)K;l}-Ri4T#APSBC$tkTc<KuC`6?&)QMT?+uPsULoQB)R#-ThZgCmXdl zi^D*4yD;BOYt@0KWjyh~n7YZ?nQdKyK*K8x>I(N7$-GQ4YqQn9EKM-%R)>e+$2l!j z?r4Bcl!TqD+@H5RZc{i}UFc(Tp&xP~o;M(MVMIWR>=7acCXf{i%@u?X_XPDpN+d)E z4P}dMz40vK65*J^R5C7z%$T$}&-~(;Rn%Gp>*Yw!JKOM0GITALM#SdTD{41uhJcB| z30=!;w3%4Ji<aDn)~WXgZ#XI6%9ot(BgS?uG{yOL1jCj3GDmVtn^jUalv^ogd{H4@ zaEUP%i(RMO_HqZ)q8^O&=`mU0t1s3-F`EjjFd>20&{0ig4obNLIQgY#?Ku2G$@xu) zi{WR3KOs4>NI?9<=6mRO<7mau$9tiH?9&fV98^lx7<7aHU>223k~onTHKJjebQA&J z>P!3TTx-{gKBI3JhL+aq%?4W}<ay1;Ni<0uDZk7Fw{Hv5+AW^<Ys0CokAU<G)x`^} zV)uBGWNlPV*8}93H@4~dXZ#F7t~wOe;b3_Xe9D9!T^-BvNMhwO(zr9)1lO*dmwX-{ z2=%qAiE@rbGlcZ~C6-6YC^XP-^}MWY=s(P4mWJB^tH)o0s2rRGEJ%#&sEu#~$w5H3 z;MI8X=Z&Ar0uvv}MJOg79uM(OYhPoN9b*=1x1m}c;x5Ka5;YO2(%03ww<xmfjNKnS zz~#rn&Tg*m%r0#@JcM|(8`?1bLbSh$&M^HPNKsLq9T^aNZg>anuKm3g{;_J@kk^l= zX-}r6T4ZK9pLD){Oc->zVhr&${t%UV_ch;WJMi>_F_M$DRRpERhFIE;`V!@|T&nd@ zU)Te;z`OEn=^(<4FLFnfA#upDQg7?f)xIw3H0TnUY&#-|*d}!I9S_MpHQCIl^))%v z&7m&{!neD$eXoI-Zys;mwY7$d7(trjskLbQ@R^O>w+@31fS@+ufFvh(^33alK~e)n zRweLfDG7}rGeD+^0Fc-IQNsO<>n)NMu_?y5H)t|!N4feR<d9^=U4TosnLe-3Kfq`b zyA=#R33Pc+$n?M%pq(>p#N-?~EfB#AhRaUq*A)q#W-U_|UT8qX_RIV5_|8yCvLchJ zD&R|;iYi2{XQjHPchL3mb}$-)9ahJXvCJYRw>C+O*CzD?hoN}7k@})2!6R25`Rz}A z36cT?E_!+un}9cMlc1%P5-|Txvz*P8h$U{FGfrI{`R?HrsZ-=&g6-ja2XbbXF+@ju zUgeJ;g{P}wH?8g(@5<WdII1On(Ye0~8nOOe>{vy$QeAe)hcSv~FTviAcn1w76Rx($ zPjxUp(o8mJd%ztssA1uf*f!&lr=(WidM@Q*S{Icy;EOls)~V#(3u)YtY3#2jU3zYu zCSb*T91+c=BI2j4q<A!$P7y*)#<H4HEa1rJuSCwv>?+PAor*ddrD4&Y*ci!pK9DW% z=j+Ar%=ja|_4K}iXytvdZ=R}r&nFoc$f{jba{Q5_m5B>-UlV`=+&Cpz1_oglXhE`~ z#`sXjz9#0h_c(=bJaREqQdpv3pKcigIR(>Swyca8c4fsI;3W-I4v=`z$P8w2XQ$>v zWA#GqV+y43Kb&l7$0ERO4Ip+}T9i0Hn^k>07%ytXhNJ4Y*mV?J6aMjTmA!E}dy)fW z?cvMCx%JnwC&@uBrJbu@^lp7wb_?&Eicxv|Fh^`?O4)1nT7xg!%mz&{t1{U#R(BRA z9<UL(Mqxk`Q)^_v`f&lAXxq*@r3G1*>ZD!4CaSVVc}qY9vPT&2PYKYa;T<FfuHsg! zMTwy!j8qupcYK2O`Xz9t_X*3p>Q?!QGP=U;Y?EVhp$1)0kUbZvI*ibbRq73|WWE&; zYXvE;>V+GmSX`lSZJ-)8j88~}up2?CNt1mJLEEWC6``7$SZP6}5U?an1Q!$Uu{r!y zaAiJ6388SyFIeK1=C1kF8p2C^1Q&|tO1o+-V=8Jvlju%x+An^NT%nBY#NuF_g4C1R zk3wb*OHy7s+|q<y2VcwOTp2}4K+$pLifffeon`7)%Od?HvraVSzSz2GVa&>@Xpb9P zla&s-gr*g33+cOB_LwH-reBFF@D-{|=&s(i<qS@liQA?#u3W2=uCca>BA2Z453gH3 zp}4wsS_q01l7Q{@SkV;}ByMiDLqamEN{BkeHstt7F35)`9>>(4Me@9ze%B`By4f+* zZ=w(9cQDfd@1K70Ec`CO_cJ6BLJ$88@Le|(;qwM9XEQzV<qO<Ci4&uLJWDafGA+oR zxASp%J1&_4@wuFW2I^{%<W-e$bzHrR*pXItO=rgqy)do2dz>Wu7Wh0I#=<Y!^_%D( z>(7XenW9)EU;+mCEboIX6Y>%`N^|1!3_m=5LKn-isz-Qj#1}5c&nHs92*-AWVGC9l zVljD-p$@VjwfWeJN&?$;szh`qaRq*wwleOy`n`4IDGerF7H{H*&Qjb*Ud>Ot$GVgd zf%k9GDYN@K?tWy>#N{Nib{;LS;3aHGE~*)PMy~*xx1bw?9j^*0f)`x~uqm&#MmBfa zMNHQfM3*Wv;I3$xwX{WQ$Hh%3`=L`}R^N4ElvXtCbscwat%c-YvvrWZ=_a(yIcXyT z!%j>#W32x<8kg_hP(Wm53=C50;*l5l1Vl8N;ghjhEbu|Hvka^hiv@2lN(s5}`ov`4 zf_U$>o}!$W9PT0BtEoHnNz(<`L@&Is_ez}S8j*#!C>T;<-@^Aqj^-{tZ-4&5n|dH7 zF`vX}8jG~6hwjAH9TiM!=QQJ|o+EPV99MX>LosFYXeVpQ+{g+x=&Y0dU}a=%oGWcc zLdZ?>shV{`Zi))i=Cc?4ZFZlnYS){q@z!WQc{XifGOHPk*MiHvN*bgIAQ)S%80*=q zpuS3@GvB4`&+W6&9Ijbiv?POixgk1t?xL#J!B#j|<4)!>PvN{+^15Mi&+DD^SRf}j zCBKHDyJ-<>Fw|BF7(3u=tEeA0PdZ2F9xsy<VcF2ey)IPHKI3tEX#C<F!Cms|j&5D= z^=)~_XHG_RNPm#1@yG=)HD?Ly$s2WnU9JhPdG|rHmZF)_ct6$l{sHIFput&ja<5Lm z6ikzZ-6>Z`s5ED0)vD28>GKA<Dwteuf8WCbzcX3dF^|)8g^PAf#Z~9I4Vh4Bk;{an z4Q|G+d_n1QZDx|(n|M1g+2DkBg>xij+)^h)b`OD~igA*$Qtq$j?`BP{8cffZtwGW_ zZS=;JGa3!RFQvi9v~9j^q0G*dmdxWET7C=;n{Z{%xQ7TOW!G+CiD$KNVtL2)&P|tr z`?zS$!&*jT>R@;_(VWRo+K?xJnnz)vw>mP**y0g>)&HAoGqk0khxoU^(lg_b0>vey z)f0-Qu*ofq$~ifx<%iZsU^e|sqF+2=zX?P$|ExU%VqpF|L7LYs;`-tkPWv1L^Gve& z)4(_{2=GTtoBU85$34#hn{nK>HM!s>F_uTo?v<OJOkdidu=CzqlG6zSUw-5|-p9)F z@eW2OzP*~>d!0wejcJT%vLx=*04{X=i`G~xT_9?$en!#rq1qIchfL0-VKi^M^I(gE z3($%y1<|y6Z5pi}Gp$y(MP;!<aV}AV1@n-Z8WXEAsF8F`L*?b}aDSl`pBuh96kD<N z=m9q3rW1|?6^TvR$BGuI85QIf`m<=rQ&clgv+i07@%%i%D{Uc3)>ifkxFu7NBq(gL zn5%m-d}+U3$xcRNMUFJuP1QPnfG7pc*Dqnr%I5P;gI>wgTH+b6Gc=5l5BY}zC@%JH zVCZ7R1LMZ<TJs2V+&Bw6)%TY=VUOtW9Ak8t24ABW63cW;ol)&*4x3w+JC~gGvWDi# zxjJ+qI_FZbdjuU5z7n#$J;KjTR`@PvO>GQhhhA|V`t2KHY5~(`WoEqI0xPdwR8sWT zQNh;9N>v<xa?2VCJ=W4&XR5h)TbGoSbg`a>Yj6j2>sn~0og|%2d)RbWC`&Uw1N42z zvm_Vo-t!O5WdPeE?A=pKs&i2O=|tY*%3=y4`C<4v*or}H58c*loA!H1p@xjHyPVA- z>PT8qe+;lIlaub|i41@4^9FKodPXWlhON!GaHuhfi_<l#8_URDrw$$~;|>S&dlglT zhw1aJ5h-;d*A3yA1gW<((7Ew#WggBns7U`f3}2AFe>183H=ilCzr1T$>7SSI^ng%9 z)X$Cz%z%srjDS-BF*F$gjuC*w0syzE=a6ZDT6%zI6aypUpPTf6@I%k_rvHBAf8;pz z0$2WqRUiG&F1b=N4M-q_u)~TyEU$ccQk_RPtu`Lz->{8k82QeLe4={0HWLy3x)i*? zk-k7VU{j)(#Ir%Cz41-p2GNe+w+@-?^#<X2^LZ|JDmJQvVs<F+{4Km6B?=~?WrV4E z7sDCe<;hmCNIG7@)%{m<2phUk^8+Zxw=!E;CJ69a=9`i=i!lxzhEYD;vkww|`(fAZ zC?+ert@A?o&Ql0)Nch5kA?x3SLl{_pa?jL|9Ww7CKx{robCE=d&@!GBjm;U9BF4Xy zS$6k?Gr=eT|9slvu?n`Nun)v^AFpjFw!d8<JIQxuz-%$mK@d~UcF<$}8Be4@CDtc= z$xOEXb{Z=du|dPoUp@<bWDuFaDR2M#cjzXO43}ozfg&`c9Bl1t)jHI=VER?I4D0a9 zLSQcta&Cw1oFv3Z-bGgL{mBxSjR!l|VsJtPEA+he4{N3zp|$dFDjB3G-<Hh=WgtI& zx{jDYcqpnWrV5=-$QAm4)GFvo?7DQ8Et~pg)FezANz3~xH}dI|`4|Smv_f(gzi_cn z+D>>+w{cdl!MlvrjS&v5Vv<?yuN|eV6lg2%T}GR#j}NalLj6sCAy>c<{kQS+-@!I8 z)Blxi0DxovI@`ehJQ4ti+JBvG_!VOQpWO#|%wL{%Isi0C&-j<<e}IZ-KoQ`p#15DX z7=BGJ{Acb;|2#|lXHNY6bDn1~z~6s2gYYK?{J-t{Ih5rem^3qBuBJ6)1~}CHBSy^( z=;%L>dd9z*8UHu(8O#7rlz(jd|2B#Lv-U6p-hBY+vNQY=`G0}WpK<r+PJ6+g|0pm% zr}_B<gn#b77mo3d8g>G<KY@E@Mt*`9Kg2(31PIvv1n!^326!?5+XVnEc+mk~4g<_f zFK^?YP<(*T(7(^G|IAeC{}vSgg^BzPedF(5!%}j5*4=cFP4{Sz?FNXw;44)rqj-}~ zS}-hoOb~z|r=M{lZSvq_9=!u>Ln=7#FcR~HL&ff;r`COs4Z=;j{RiVihba6?Ozi!8 zu_A`+S4S{tifbZ4h*h=U&;{au+gGh6+^exSvqvkFq5<|NtMOv3D&QF|RNn#*whS%p zglHaPfI9YYSw6JM9Eb(v*l=XMMk-yRUW$j1*^f^I<z+`q2{sr2o38a79t}vanTiWd zMo?N1*A)t$_$d8NK`E8(b^nLeBhb|Z<dFwhQ1l-;V>p(H7&G@uktN?hU}9e6cgCXz z@!G(2(Q%KV_@wScP%lVcA0wh;L-#<Y_#S@&B;h_fJDO@;q@~rfF8jr6_%}gY7N(y~ zYZN3R-*CQ!R^hcfiCN=Hbv#AqzFvLrO}vQn1{ztEr#Qn0Tt3vF+OeDp2YVBtE#8<b zk^PaMDM0dF5Pk@(mS9a93mfnXWA8l)2VvyH@Ey=z(5BVxdL;0P+0&+F`6b`L{c>2S ze<{6oNZU2#TWpGh1gf15tL1n|W1w8i1Rdsn{%@D`+I3g*n3>6*UcA)AGN5M470sm^ z)2&4TUMSTf3<I^)^Cbb4a=8kQ2H`iu)nEM8d#jq;5SP2t((Sq}F+ZcP!8-OPZeBAN zC5v(jmpZ99Me@nzB(nr}8OMDS{8)7abRN^Z%gL~2Z@m5WRXIWU>_Vl31j7|f*1ENg zEAQmisG%E1hBzizO0~)~!d><4*Tm3-1JUDIh9@2VDjf$N)=tRzc}NUG`j*9M(d;+Y z?kis_Ueo%%2ZK#xx+ehM)=R-lOKzQt;D*tw;A|V+tiy|=Oi$J>V`uXzOp*C+e?E%o z)5J-$AQoHnX)#=x1$&lV*^TM+DuBu($#u!Q9wV|n8GrA`S-CV=PQ{IVo~s*XP0jZK z`P(buER~o<rfdaSUz1(^-qD6$2rx8gwPXL?2+<-7YD4l_^QxI~&0Lp<*(J3S+dOnN z#5^s(BW@HpYbLCu$tr>x9>O(Fy7I8GCcKJ5zdq*oo_c0rhps5spwenME4*(9>9cI! z-xa9x)$Y2-5*v<*M{K^S@t3l8plQe&EN*KD=F(xvq`*jU^A+#bSD#Ch*U<<Qss%Is zTr%WL&Ncg5_$I|<W2NU+RTsxrLFPtH{+#&z+a0MDD*M)!0&DY6in@80Sx#kMI@=+7 zTBq07=})bX9zU+{AberowEbcn|1LiLled<}zhiQp`1z=LP~lGm-7=4D$P)#U4zbi# z{(KRFSxr8*NZn%WrezzqbN#lk1ximHEy|*5cJDiNtf)s<3G39)fY%x@Zhq0G-^2+S z7=JQX)sSg2?<PR}ej7wh+XMA35}r^fF8Lb~LeBuiM-@&{dV&y`CpUCcjcn9(tdUV8 z``a9s{bZ^3)vQ@=Qp^%YB#buUFLY~quZwW#l=6IHw8kjt-fz3BA&;iuaH9ZwdW1J- z*LUnq+yEV8dIW=K*`Xx2(r}-;!>vOY+Cou~l3?PJ?+N)TGru{};dJn`O{!&ddL-qk z^BhOjJT|Lltq0Aar(h*SQ6%A0FN@4ze5$s0fX#YTiU@4X87Oo%B3|ElUH3T&WHl~C zmm_cMiv{x~_8Vp@L-McI<Oe7A4Qm4STh}n3Fn%=~(Lbw*|9z_hCO}rkzr~CIyhQ&K zi-PAq2E2y<Pb~@nn)<Uk|BoMf#usJcA1nU0hn|u7e^g}#SdIP*svSN3-<#|FGo|ZS zb@U9sj<Nir`#h^g&kcG}9R4T>5&$gB{?MQRrxLKgXkC9bePI7h0G<Bl$T@Z)L(itW z0>=rRFsSpsk@onX*`j}xxq?!NhDWW+f0y)rD`+WP4=Nk4w>j>xWFaVeD><x^w&3q5 zD5M~NCQtd}o<+WGwuoBER=)pRO;uvm(v#Gz|MvTm`&?!Hig^}(7@CA%OfP={BmY=J zt4Qm7($}^9OQHcWGi^hCK!VKY@cjhO7I%N96$NYxSeRN^%Uf#e0um$$>f0OZ>dT4n z1J0GwwlM)@BYhrM0J-rS+uF$JTMJm2Sz4GsXWV2140dBvTYYOlS_M;WTYW+O=R|{m zbOie5hJc$eu`~XpDI6|1$>7c=ys|W;yzk3pnI|6AfBg~W4JZdM1~NZzH+ASb9u1V& zI9dq2?Z>{LGCO?@d!4?D@6ohkvEychp#1^&e%c@Xyc&-0zo%9i-o+m!?73}DbJP?p zd(?_c7P4ryWNxPwIJZ5nxcqP%cG*tw=zcm#-!tU81C28cGs_+1Q3Vgf^AxVkh@d*b zz#FZ+-1%^SHr&z^k-Gha{qd3J5M8AjV?*C_%x|8ePrb!06BdvCRoD>(q9YRo-hdax z6$lv9%{633--<1KidFe}$3smN#Fs4QSSvrLw_P0Z<~ZX1epBfYEg#!ARZmoE-I%7B zJ1j@P3Omm{Q5y-R`Cl9E2y&L^-{GKYs1`yb!M0d!KT6d`n4Jh#x^XNH4BCvKHO>jq z*eBR<AgEGxNbVr=>1OXd&X!lMc<0dq1zR<0*c(PQo(oMyIo?mxT)Q^<#~o|XoSaFx zJ~-n)g<CWX3~}yj&k_bpPA>Tsgn~$9=i$TaJNOlvlwBpcew5`A{c78*0=}v7or%sV zE!<1|6P*|dX+bCPWqdvm3QLwZislN^=S9R5SH9f^FOo@b%Yahi!6Q<j;BD=ot99@x zR@u=8ZcRRN3i2L3wD@Y=D7@b6n)>L#A^3F$QW~>PV(MLM5HN=*8HjSh4<{if?!ZsN z#k;-EA7z)c40i)-rH^?XvGU`+C_h>0bC>FEoKdJNg$+?!>N972B4+yHerd(;p3KzD zH|0mbfp6T+=v~y1i4)jfdC>z?xF}m2A$8=t%)>`dG1#Y<Q(x#O<CVY&rB9u~6;SjE zYQ(DT5z?5Ae=kw=kUUWx`p(ajq%-Kis<W&XIQZg2bm@VUqfV87)$GuiAc;_YX0psI z(kIf4Qqt*~&xI7pU>ZeQvm2~TvfH{qZg%Zf?7OXCR1u2#G-Xkmf#B%Iea>B3JAl+m z+)HlSzV(n%^p;M9rQlIzZ<sDW-qhH+FC$Gl1~IWj<@$MUIgZ;$k{bG~Ktw2Bs7tT8 z-4d1ebGjSsYGNo^$~8Zzr@e)UQd$oZSJ(VpBo1ljvuZhwKx)Awruu>Wz-iJoq!JhE z1H8X_8v>!SCy94ZY)IPb?X}TI*;U7mx!1aBOM9ww2U|I}f?)Y<_;Irv`(2+)2g(2; zxYWcJg`gXG=V@gvIrUB6NKx|*ogz*PZVC`KlX*iUrqyvlP*tkQ=B8pga?Q7d`%xWU zL&1MM!<LlwGr@)ufYAnZS;sWy5#V3tUz0$!O|8Zy`9j7&qqJ~IDn&b`Ks-hGeVO6H z{i2i1L<*q;E9P6`YS@XjYp0HaTqrpXy&_yGx8$z$TBCua+wS5t6N+<r<NL^56n6n# zOyCsgOa}oKvT{N3Q`sNVBJV<g(dBnOOhti`nWP!gFH*kk*83V?3@tyc4NXc~b`?m$ zy~IUEIm;7cj4$m=cEzp&f#^;`T6TR9>i>PmNQX%<L{J<k^SWloQ^?k)roo}bjbVOd zKrr@P)(T2RA-@?nCYC^=;RwtxN$p@e+B*>uPonOM1gjC52|-8d$D&5ExVl?_eT$?# zaN>rDIQ>G4{`XCzb!FP!qmo*95{{iKXU7Ijp8PCm*A3*d{PB^2Q>xgz>^5OVvw-|w z`ZNfs>;*FULlms-$C0}uwgV&ZIYFi~Y$>(fbOJfVt7SI8kk{1x4zxG7x1Ie)B0U=H z4TkEd)rh`x{Z@SLS27E4gUS)N(<?6w+$<cbAE%=UZkp!sOpR01ZE#52Q@e{y+`?1R zM42)x0qd(FNE$ADE*2$l**-P1T_Zq?TwJldhCl=m&7B{1_*>0BR+$h$<E`{JwfR2P zBPP;{)H~(V;je$2_j6!pzZcN7)bpCaM+(?iVk+-1D`T<m>p<buu)#|0;rbkRxV}|C zmoU0#%9;n6D#?6ZT*IR|(puH>qd)g%SBt*ZqUF?{htTj&AHou9YGAOs>Pqg&!3aBd zuiw<ZXXNe3GV`FC3DplZ+$r*-+aIYtxO(hkBO_MtbJ+8)_;m-iSH8NNuhbxj4^~dX zFrIbPrQT0ev7ge8E=%Q6$9#_5Ls4jC10#Nbma^F!-x#F4dl#^-rAFCMA-swO0%u_} zdSplYnJ_iSb(Tw1B+-p({)~8mJqe?eIPU3UE5&5?cxC^U)<eg2TN|1EX1gM|SpiYB zVtg|+lG0kPu5CJ*pwLI-FAtASfbLM$-52u|ao{kNUp~hYbu>ovo@UEs%vh%mEx_&U z$TPkh%u5>%g*&L;_qaa|^Ehca);C>YnN=0Rp|Jc)s4nX(9-m)G6R-+{{F=$l!<R71 zBPh|?q2yM(I>#c|jqA3J!TOb|jwkhT{L+q23`(u`yX|b_v-KZ~5E9U3?k7jv@pcpM z?q<)1xu#4}NTm9r*X*Do<@^T^-d;EH@<H4y$;m2SN?yCX+i`DLSgILaNc$E)x22Qg ztA!=elO6>&!d9sgLX|?Ifs4!tDn=W`Rwx1OaXI!>%}GkJO;$wHW*0fba&yDZBL+sH ztHU4@_L_8^g@X<)vr!4zdcV8OQ)m^<Y&WC^&fHG&yL}ZScQf#3t$j2fGIh8@cz!o{ zw7Sg&=^yXmrBH|-k)vc2lfxY=a`2F=CqqdU>=D;7?y}MHQBf(rxK9-z+H(i2!h?b< z!&<NB<UievC>{Fjz=drT`z*F6EwsE^@$3mGU!p7#LW6)Z(|yGup*pI42ClFaFhC1l z64%mrt@ypl{XiAlBx`{6p;6$Yz-{+ddaWRdU43Do^&|RQ?`Z-lN+s~Kdl)MVtq^}_ z-3yJ=885TYf)>2@JeBGjXtDR%%si^xrRG;STF~ugKx0WjH@Ny{&>xbFcVrhFB85jM zyVa_n6y>ybRH?3@24%|I1;6IkFIli5wevs($$T`|C%{kBIG;~owjARSaPYRXEOLX^ zBSuiA0fQjN)I>s2WI^d=X)A!U#Yc6e-~EK(qy=}Y3HXmd7{{NgY;-M=ZUdp8tt{g$ zUg+A1eQb?KY8ZJX!FQIF-p0yX+--3Ca8WfY{nY*Vc453_f+HSOI=g<Z!CW)YreLX6 z<>*_C6A4`W6-lS%j0MLrtJX=<=#3P0_7<$ZS(fPz$jL2%Eo_uh<Gj8mkEcQwKWSzB z`X&Z);}p;_z88_FJ5u}OLp5Pq>ccu&o`(@26#BabBP>zxUU}SNQ;0mw?bwcBG`hU* z5yLywk@zE2b1o6gF_c~y(3@9m+c4Q%T*ll|*x2DY{1}utTXEW%A8Z@uhL*#qVl&RN zvJY8-z9H}e<OCy!kVf%sx$E6S{<>Cr>DyQI*JP?9_Iy(bSH48|IteMt;5L|{J=TJ* zkcxF5@2cV-adR!Y;9gA%$B*7h8S>Qy1QormYB;Lk?pJ~C92A_p?RU+MQws>%|FLa9 zc&dcx1o8G^l-78I98V{1tgkkX8-_b%!mcOjE^1hS(@cJk?%va;VwyVNk|u_|KF8es zi}Ff{vD!)b7OXjkbo^q6P8SndODFdI1&|}x5O?B60*H`7t4qOBi$V|;hNJJ-{O@l| z%})cu>PhlEy>p|b5zf|gzOCFVE<jlAyU=3eS+KyFSG_;-*|FAW)+x(IMpCSg1<GEa zF1(~jl$C<XHR-uDd*w?JN;G6wTj6?cnd+mshPkMlHeh27O=w?h%rMK9XpGsfWS1w( zIYqKOU%uv$-t1HuUWC8hwwOxMij~!ZpLH;==NhSpwG2{KxjdAPReToMg&tPEFj96F z@Ci{hOWJBF&-8Kt{*8oCZ3WlnN1EY6dn<`UlqOj2#hMnEZz%)&t#XGqSR-?4XA$<) z2d|sf%v3IrJ|%%h=Rp7k?MbteoA-WdbJv`0k$rNka(auEIATkyctb4t>Qs!fO$u&m zq|6eAg1fUTARmhg=iWBgiVnpfrio2z)EBwWG|^12?(~$#sL<QquEYCXp|F;cRC9)5 zi}Cg&yh<wGdQ-UOGU0)!!qSJFL-FxzQzkgmIxoD>YP)DL{zdRkzS2sEG1JaBIW(Gq zE)5G^7M8TJYJN6rd;Hh@fhLdXQ6rYa25h+u85y>c%i>cMiRzApV^1C-IiaTOeYb;) zV+Hu#dyOctZh^6<-0=1+mFnN3V*H;xGV>wO1ywdS&>Q&R8q|-Hi>jsQ)V~8`a1IU7 z*bT=l7*3`X0~;}okQL{FuzC>*mfBj>jCaKE7euOSm9*Bqzc=!sNsdlAk@PccXeXoK z%gK3b#PscJfam)5b|VH1SF`oKLPC_{w?taY(QI}VEO>igpO{TOG!8>X?j_{OIb6ZA zyX6#0SfHS-q(x%ojcA9N!lsStunoAdC{taRj_MX~qO^Fg!5~?z{8mgn%~Zp{b<MZc zu-|=Bv*-I5zZc^|aL#s+TUkq}H$&Hz_rBrWQ!hSwt42TM0=OvQ;T+B5C;x{Tn?i_+ z#8S3!)FI1C8yb}Lt$RVC{AeJC4Ky#Im>o0)Z#SUqnLbXlu&H6Ug6(zNDN#Qw;$^nP z3><NJ9&uTo!7HqHy~X&YT!Qw7VQ1QY``g$(Ef@+Z2h7W-xnyGY<?qq0-5y*Ol>EqX zWTCpqUWFrL<W17W8{kRShV7{N%N1`nY)44CJ>mV}%{8uXZ<RT$tDe$BFlcE$Lrjl< zH0^q*Q8{d3CLk|_IJj(qs;x*VZLmGIhNmEhzAh)AZ6~6-vJ|IA5$erw8`tAuQq;qu zrT=ow`aTvr5BlSK>Ox}&s;~8E7*_X&ln6klmo5h@ZJ2P}A4=-$-p^wd9jaRFFM@t> zMBt=;Nb>&dB?fKDj)I2aR1fPIYMeq|F@oA<6Ekj_V@xIRF1qMQLh(vZ^mvE-UL10a zddZ1|2r*sdLC0rfoAm4QPIL-=;*pBmG5F%gOcM&Mb^VM?BFRXBw+ZphgD|11J>Z;q z@H%k<-^K4c`QkP7b<x!FuK9|I78QVq-U&?U0&Q3c5)f3sUL1K{u;0`cz5JmFSYPkh z*=AL^Z<htZB~4l(U<d(mkVsw8XAm2y18H`W(9jXrmKI;&^A}ASLWx4lExxuZ#DaH1 zQ9lTEa>7=Rf#0$z%g0&t7Fay+pI)9Xq^bxUgB!6;a90iWjrHgYeJ)HM$L&_=bDhl6 zw2D%89VX)m8I)d2L{~pIQC}1{O5%%>z*h4~4fF1gi}3bzJTvT#aaa^m*4?Ue&vnNH zM3%64Eo%9m>`m}}JKkwgVLM3QR}s1`tzL3<t7sYKyUQJ@AMBkcW+J9QQdT%yj$zh6 zyw2S4$RTAe+&Wz^_MmKbr1e>qjqyua--(rnkvMP5%ktr6yuI|v&PPDr?{YsxYFkG& z=90n=yY2dNLg_vvG<nBh+`_w{nUk*U<$Wf&rg*0D%6B6v(=$`?;p-S0t1_0$=Gyv~ z(!E1XO>`Rln;0;6=BR1bh+fjcGh}^kp%3r<J<w{ZqiScxc9|!y7{D|#P0K)&k3p9_ z(kuFLJ3XM%%R|0l2^SJ8rz);$=^lnTgqU3oAM%2!y6e;D(B#6_0IA6%a$tS_05YRA z=<HXW`i2jEjrHvfGxVdGBX8L&A-adAu_UDGSH6v8^6!=iTCNyJe$<T1WSWo;G?n{= zf0J(v3U3JV+ZV8uhkUdfcV==`YrkSJ254ZOC(bI`9zK;RdFd?akj{&5Ac25T6IZyV zZe-^#wT#+Az5Q4l@>p~wT*#%g`xQh56bVJ#`rY4xGJ~4+fz;YWA2Ok}zI(;eZ_!Bv zSjJ7GmM23mNKeH^Mby0VEv4<_8c<kqm$kW$n;|>kDlYlV#GOBsneplWY41vdqDZnZ ziZ)Gy3N)U`+1zqeRaaM6i+F*63Ig6Bx*~@lgWLj+3TP{g3WyGZq6mZHIVi3Nfg&D^ ziVWeP;V9PtPJkk=2-pgUxS0*3R2DNE8~bY_wtsX~eEljbD>Lh5cD`5NH^oY&`jCDR zHA<UTbJ#4X+dwIhv#P}+5UdKaWo?J&{~ngZogT5`dS!2|0`Jq!5nayzyb_Vu`>ShZ zYTjyLR%q3m_#37H7TlTzcA?9-XH-1e6!YJXHYwGa8gP#rEXWNUJ5HOP;2Cew_-wMb z@`ayCEly{ot&M8^{I#Vob^A1Q>f=MN<US`$r)Q9w?hYKkbH*~+HW%&OGk3?!imr23 zER7#0?d0a3dp~VeU-3HUsZFEbXDIOOJ}hsWT~Hug6dQE8-(8iwQC)ID>H0f7%(%c* z@V%^Pq^UXX(R@{`cosL~XXuobJ<04gb?fe~<ery2N(oiiSt$1ClKEH5?0f3z=K82! z$2JSaj+9nyosIb`+*<e(*6n}v*3t$0{C0I^xU<(DUTV(v9W%EH+=~1sr4&wm;kN0x zS(5^<x-$7eZI<eXC1kzF10|dE=scNio8_JF-k+{7=usUfR%vS1zpl78W<r;3-Qr)C z7FVl2^-A-ZKGAflz$49}PZU4*>7o2q=kx|w^*aBg0u!saewEhbWe+~$Ic7rJ`4?1; zJrbjz?YdgCD?0JKZ=$vT$+<orDIFFueeDK<IR0$?*G~K`m($~nc6U{qH)WhXu3h!u z+d^<N$@N;6sr=xrwg0j+yOJCE(aCtmvVf!IJB>f<=r@dZv)FoLcbwnlcbxdL0NuNj zukn8_`R<BIZEk{QjOmyumAj0?gCF<Y)Mzd57xcGx982JCQetoX4eZS^w#on3oj=EL z@7Vu-uTR9(B5!``;<VIV^JYiT0^+&bo+D~e8*-)I+b1tLn8oYk3e<m6H8-2Mz%VJv zS74>FrQ)Sx%`%nr0QIeF)$;XrKR2k`d+;BM)7^=@F|Q8z`=<PE5!q4_(O|QFQ&U`A zT;08E?K;_NN@wVWy(gBRxECgvWp+h&dPVwqmEWSG?%3EInW(rgw7GuDYthkL9E}iH z&ifIe$9z=AFHt*GdPK$dJ?Do}0ZlxSN|l1DXUy!*133;Wts9jmADgqv+V%dY0)A!| zEzILL+Ah4{+B!O*kz3xN)^sx2ZpOS(F}KvsFNFxb_;yaw>uzsS-w`8KZd{P7a<a}8 zPn&I0>^{O_T-s=@@Kc*2Jj?BcR`J$Z&Rh1Yx!H{;KHpEWGOse^ucfn{-Yrx<m9Ly= z(p=^^CGDcA$@X+Zg9?GkS~6{}X1`D`=g?fQI?8~m;M%9@kI;&0u}^5&r|^<8y13O? zYErS+>7$>;snucr((xtlZYR%bZ!L1{@k;dF-eu|?Rg^)jD_>-^;l#MkU7KTTIx3>C zE_y|Aj@#>|zuc#MqhhJSy=nS=(Wj&_Mzx%+Rv8PWlE--^4Xch!@^LPEZu!02!$-;; zlNvZZUeb#xIc0h~)J|sL1}ksl1*bDR66}&bPAc@cPk3TJ@f~aIp7=Zr-!m^sBO^O= zR=IG|yVm5V`B%^9?}|NIb=Oep((|MK(wdl53zr^sTfyfw>$Pq#u4zv>@*&}xV|Nmr zz2d}{FspB`pFKORpnClaAHBKS*Fw8)**TufD=8$7$$UCzT~?f|JF{fCQ4h0@21oti zX0vF>Rx>T%vG&Dyv`}mX_xVBk<G`UMP5=M|1HiXWFi`IW{Hk_(_94T_gX8jKs=<r= z)iyUlFm%6G@4L0(4yI<`-n-j2KT*%d=$9Rs<~5FPjkNfaf`_Ngc2A9<p2pJD<A*gj zue^nI9jxjs4w@b`^6fOq6QB61l`cg^>6*9W4-}r8kwBThHZR?9FuQ~Mp;jaG&Fhz$ zY6^YA;)OY5#-6Vk(_PlRliXj(pL(Nh=BsV8ex>!7M(~y|%L&_?_1lTh`-CGOJ}Z1& zCHA&)XtD0N94lS&YjcQJGikNP+%V9@_XksRwcu6wrQTy#`FBoj+@DF8{^Z-$=_L;K zc+vO9kofe*eg2R3g)TGa6r}Mc?Ma;$`+}d|GB&?1gcz<zh9sGMP2w9~Xn9U(=r?}y zki)#-kPU%<p|%V<5=0>){eqY42}P2xV#`2F7=#`Mw3b1xC9DtZD3IOyWmtTz#E=*W z1leNCI6+F_2gdIP#FiNdNIhHZ7ZDN_4%KjhSni;Ml^@E7kDM=HAm!#yWSJ%8(CDHi zNY4Wac{CVcmSPOX>Hec8^T1$a2Nyy32~-*2f2cAK4E?Wxz`xfKsQv#F{r(;)almg5 zoAf3RoWdY0bgXcggW)+euo@HY=g$MVs2IruGUtOIz%MNVyb}I;UoaqqEB{Sz;~+*! za2U*mpD!4O5%5iU21biTkddE(VVDp~A22WpPQerdCPs@05D6ZN;TVMzz%ei|kVp&p zMwpn0gs<Zd#lW!;D(@l~iCzQzE`rZ7(@so6c>)xJs=f#&h6Di!Mnht71e2iU;RK*D zVbxhIfeDF>a|w|cB$To+NF~6u15L_0m%?FwBGXO`a`RXi1!rx<j$+qEOv4;WrX7tz z`UC_cAR_{Tk&ul6!Kh)*rJ<@a!;X?rtiGfqV%Gfv405+K&ZQ|5lCvNf1^FMCm>8(m zurLaeMj&=HBzQnD2~>_|Vl?1wVPO=chG*JI<SG^jM&Ydckce4hT!IN9?>ysN2}Z&U zR|KQsyC?`Ifo%3n3<o4QER2NY6ihpz5GJxCn212{O+sQY)q`nAQUt3!5zqrc?L_S7 zLqZWyL7Q0~bYCbYCRpQCA|A%)h-t{e!7Pu)*yYhUY6t%OiO@O&Oe{qD19)Kqa)1oI z2EZr`X?w890AxL=9YLXe2^Jj$+HU{@jfI{|67c;1=5<LC`V4}(062HlPK2Rj4LBFz ziCA_bxc*{Z1H5#Hj6WO`vz~K+(Wno@F`C3!=YmOvbsrLfK-(EKK043f@`gt02S9WV zz(LESJ`rFvt1eJC2W<n8xy|YiTnHQ%dR>w=58}88L!SkJ;i%66)dLSES{_Bf6m>@1 z6X0bN<oN*e437E;fDx!40+<L=T>VjAWVm<WH-6zfu;yM8xY<v>X0Toy5)uji3=FJ# i=Wp~60UBWPB?d1d(mOm-zPteQGeuB5Bcpk)4*v!~>1wzD literal 0 HcmV?d00001 diff --git a/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example.xyz b/website/versioned_docs/version-2.0.0-alpha.71/assets/docusaurus-asset-example.xyz new file mode 100644 index 0000000000000000000000000000000000000000..188262276aa40805c9cce37260352a11d3b99403 GIT binary patch literal 125786 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 literal 0 HcmV?d00001 diff --git a/website/versioned_docs/version-2.0.0-alpha.71/blog.md b/website/versioned_docs/version-2.0.0-alpha.71/blog.md new file mode 100644 index 000000000000..635a35c31b4b --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/blog.md @@ -0,0 +1,222 @@ +--- +id: blog +title: Blog +--- + +## Initial setup + +To setup your site's blog, start by creating a `blog` directory. + +Then, add an item link to your blog within `docusaurus.config.js`: + +```js title="docusaurus.config.js" +module.exports = { + themeConfig: { + // ... + navbar: { + items: [ + // ... + // highlight-next-line + {to: 'blog', label: 'Blog', position: 'left'}, // or position: 'right' + ], + }, + }, +}; +``` + +## Adding posts + +To publish in the blog, create a file within the blog directory with a formatted name of `YYYY-MM-DD-my-blog-post-title.md`. The post date is extracted from the file name. + +For example, at `my-website/blog/2019-09-05-hello-docusaurus-v2.md`: + +```yml +--- +title: Welcome Docusaurus v2 +author: Joel Marcey +author_title: Co-creator of Docusaurus 1 +author_url: https://github.com/JoelMarcey +author_image_url: https://graph.facebook.com/611217057/picture/?height=200&width=200 +tags: [hello, docusaurus-v2] +description: This is my first post on Docusaurus 2. +image: https://i.imgur.com/mErPwqL.png +hide_table_of_contents: false +--- +Welcome to this blog. This blog is created with [**Docusaurus 2 alpha**](https://v2.docusaurus.io/). + +<!--truncate--> + +This is my first post on Docusaurus 2. + +A whole bunch of exploration to follow. +``` + +## Header options + +The only required field is `title`; however, we provide options to add author information to your blog post as well along with other options. + +- `author` - The author name to be displayed. +- `author_url` - The URL that the author's name will be linked to. This could be a GitHub, Twitter, Facebook profile URL, etc. +- `author_image_url` - The URL to the author's thumbnail image. +- `author_title` - A description of the author. +- `title` - The blog post title. +- `tags` - A list of strings to tag to your post. +- `draft` - A boolean flag to indicate that the blog post is work-in-progress and therefore should not be published yet. However, draft blog posts will be displayed during development. +- `description`: The description of your post, which will become the `<meta name="description" content="..."/>` and `<meta property="og:description" content="..."/>` in `<head>`, used by search engines. If this field is not present, it will default to the first line of the contents. +- `image`: Cover or thumbnail image that will be used when displaying the link to your post. +- `hide_table_of_contents`: Whether to hide the table of contents to the right. By default it is `false`. + +## Summary truncation + +Use the `<!--truncate-->` marker in your blog post to represent what will be shown as the summary when viewing all published blog posts. Anything above `<!--truncate-->` will be part of the summary. For example: + +```yml +--- +title: Truncation Example +--- +All these will be part of the blog post summary. + +Even this. + +<!--truncate--> + +But anything from here on down will not be. + +Not this. + +Or this. +``` + +## Feed + +You can generate RSS/Atom feed by passing feedOptions. By default, RSS and Atom feeds are generated. To disable feed generation, set `feedOptions.type` to `null`. + +```ts +feedOptions?: { + type?: 'rss' | 'atom' | 'all' | null; + title?: string; + description?: string; + copyright: string; + language?: string; // possible values: http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes +}; +``` + +Example usage: + +```js {8-11} title="docusaurus.config.js" +module.exports = { + // ... + presets: [ + [ + '@docusaurus/preset-classic', + { + blog: { + feedOptions: { + type: 'all', + copyright: `Copyright © ${new Date().getFullYear()} Facebook, Inc.`, + }, + }, + }, + ], + ], +}; +``` + +Accessing the feed: + +The feed for RSS can be found at: + +```text +https://{your-domain}/blog/rss.xml +``` + +and for Atom: + +```text +https://{your-domain}/blog/atom.xml +``` + +## Advanced topics + +### Blog-only mode + +You can run your Docusaurus 2 site without a landing page and instead have your blog's post list page as the index page. Set the `routeBasePath` to be `'/'` to indicate it's the root path. + +```js {9} title="docusaurus.config.js" +module.exports = { + // ... + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: false, + blog: { + path: './blog', + routeBasePath: '/', // Set this value to '/'. + }, + }, + ], + ], +}; +``` + +:::caution + +Don't forget to delete the existing homepage at `./src/pages/index.js` or else there will be two files mapping to the same route! + +::: + +You can also add meta description to the blog list page for better SEO: + +```js {8} title="docusaurus.config.js" +module.exports = { + // ... + presets: [ + [ + '@docusaurus/preset-classic', + { + blog: { + blogTitle: 'Docusaurus blog!', + blogDescription: 'A docusaurus powered blog!', + }, + }, + ], + ], +}; +``` + +### Multiple blogs + +By default, the classic theme assumes only one blog per website and hence includes only one instance of the blog plugin. If you would like to have multiple blogs on a single website, it's possible too! You can add another blog by specifying another blog plugin in the `plugins` option for `docusaurus.config.js`. + +Set the `routeBasePath` to the URL route that you want your second blog to be accessed on. Note that the `routeBasePath` here has to be different from the first blog or else there could be a collision of paths! Also, set `path` to the path to the directory containing your second blog's entries. + +As documented for [multi-instance plugins](./using-plugins.md#multi-instance-plugins-and-plugin-ids), you need to assign a unique id to the plugins. + +```js title="docusaurus.config.js" +module.exports = { + // ... + plugins: [ + [ + '@docusaurus/plugin-content-blog', + { + /** + * Required for any multi-instance plugin + */ + id: 'second-blog', + /** + * URL route for the blog section of your site. + * *DO NOT* include a trailing slash. + */ + routeBasePath: 'my-second-blog', + /** + * Path to data on filesystem relative to site dir. + */ + path: './my-second-blog', + }, + ], + ], +}; +``` + +As an example, we host a second blog [here](/second-blog). diff --git a/website/versioned_docs/version-2.0.0-alpha.71/cli.md b/website/versioned_docs/version-2.0.0-alpha.71/cli.md new file mode 100644 index 000000000000..4d0e12508369 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/cli.md @@ -0,0 +1,187 @@ +--- +id: cli +title: CLI +--- + +Docusaurus provides a set of scripts to help you generate, serve, and deploy your website. + +Once your website is bootstrapped, the website source will contain the Docusaurus scripts that you can invoke with your package manager: + +```json title="package.json" +{ + // ... + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + } +} +``` + +## Index + +import TOCInline from "@theme/TOCInline" + +<TOCInline toc={toc[1].children}/> + +## Docusaurus CLI commands + +Below is a list of Docusaurus CLI commands and their usages: + +### `docusaurus start [siteDir]` + +Builds and serves a preview of your site locally with [Webpack Dev Server](https://webpack.js.org/configuration/dev-server). + +#### Options + +| Name | Default | Description | +| --- | --- | --- | +| `--port` | `3000` | Specifies the port of the dev server. | +| `--host` | `localhost` | Specify a host to use. For example, if you want your server to be accessible externally, you can use `--host 0.0.0.0`. | +| `--hot-only` | `false` | Enables Hot Module Replacement without page refresh as fallback in case of build failures. More information [here](https://webpack.js.org/configuration/dev-server/#devserverhotonly). | +| `--no-open` | `false` | Do not open automatically the page in the browser. | +| `--config` | `undefined` | Path to docusaurus config file, default to `[siteDir]/docusaurus.config.js` | +| `--poll [optionalIntervalMs]` | `false` | Use polling of files rather than watching for live reload as a fallback in environments where watching doesn't work. More information [here](https://webpack.js.org/configuration/watch/#watchoptionspoll). | + +:::important + +Please note that some functionality (for example, anchor links) will not work in development. The functionality will work as expected in production. + +::: + +#### Enabling HTTPS` + +There are multiple ways to obtain a certificate. We will use [mkcert](https://github.com/FiloSottile/mkcert) as an example. + +1. Run `mkcert localhost` to generate `localhost.pem` + `localhost-key.pem` + +2. Run `mkcert -install` to install the cert in your trust store, and restart your browser + +3. Start the app with Docusaurus HTTPS env variables: + +```shell +HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem yarn start +``` + +4. Open `https://localhost:3000/` + +### `docusaurus build [siteDir]` + +Compiles your site for production. + +#### Options + +| Name | Default | Description | +| --- | --- | --- | +| `--bundle-analyzer` | `false` | Analyze your bundle with the [webpack bundle analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer). | +| `--out-dir` | `build` | The full path for the new output directory, relative to the current workspace. | +| `--config` | `undefined` | Path to docusaurus config file, default to `[siteDir]/docusaurus.config.js` | +| `--no-minify` | `false` | Build website without minimizing JS/CSS bundles. | + +:::info + +For advanced minification of CSS bundle, we use the [advanced cssnano preset](https://github.com/cssnano/cssnano/tree/master/packages/cssnano-preset-advanced) (along with additional several PostCSS plugins) and [level 2 optimization of clean-css](https://github.com/jakubpawlowicz/clean-css#level-2-optimizations). If as a result of this advanced CSS minification you find broken CSS, build your website with the environment variable `USE_SIMPLE_CSS_MINIFIER=true` to minify CSS with the [default cssnano preset](https://github.com/cssnano/cssnano/tree/master/packages/cssnano-preset-default). **Please [fill out an issue](https://github.com/facebook/docusaurus/issues/new?labels=bug%2C+needs+triage&template=bug.md) if you experience CSS minification bugs.** + +::: + +### `docusaurus swizzle [siteDir]` + +:::caution + +We highly discourage swizzling of components until we've reached a Beta stage. The components APIs have been changing rapidly and are likely to keep changing until we reach Beta. Stick with the default appearance for now if possible to save yourself some potential pain in future. + +::: + +Change any Docusaurus theme components to your liking with `npm run swizzle`. + +```bash npm2yarn +npm run swizzle [themeName] [componentName] [siteDir] + +# Example (leaving out the siteDir to indicate this directory) +npm run swizzle @docusaurus/theme-classic DocSidebar +``` + +Running the command will copy the relevant theme files to your site folder. You may then make any changes to it and Docusaurus will use it instead of the one provided from the theme. + +`npm run swizzle` without `themeName` lists all the themes available for swizzling similarly `npm run swizzle <themeName>` without `componentName` lists all the components available for swizzling. + +#### Options + +| Name | Description | +| ------------------ | -------------------------------------- | +| `themeName` | The name of the theme you are using. | +| `swizzleComponent` | The name of the component to swizzle. | +| `--danger` | Allow swizzling of unstable components | +| `--typescript` | Swizzle TypeScript components | + +An example to use `--danger` flag let's consider the below code: + +```bash npm2yarn +npm run swizzle @docusaurus/theme-classic Logo -- --danger +``` + +:::caution + +Unstable Components: components that have a higher risk of breaking changes due to internal refactorings. + +::: + +To unswizzle a component, simply delete the files of the swizzled component. + +<!-- +TODO a separate section for swizzle tutorial. +To learn more about swizzling, check [here](#). +--> + +### `docusaurus deploy [siteDir]` + +Deploys your site with [GitHub Pages](https://pages.github.com/). Check out the docs on [deployment](deployment.mdx#deploying-to-github-pages) for more details. + +#### Options + +| Name | Default | Description | +| --- | --- | --- | +| `--out-dir` | `build` | The full path for the new output directory, relative to the current workspace. | +| `--skip-build` | `false` | Deploy website without building it. This may be useful when using custom deploy script. | +| `--config` | `undefined` | Path to docusaurus config file, default to `[siteDir]/docusaurus.config.js` | + +### `docusaurus serve [siteDir]` + +Serve your built website locally. + +| Name | Default | Description | +| --- | --- | --- | +| `--port` | `3000` | Use specified port | +| `--dir` | `build` | The full path for the output directory, relative to the current workspace | +| `--build` | `false` | Build website before serving | +| `--config` | `undefined` | Path to docusaurus config file, default to `[siteDir]/docusaurus.config.js` | +| `--host` | `localhost` | Specify a host to use. For example, if you want your server to be accessible externally, you can use `--host 0.0.0.0`. | + +### `docusaurus clear [siteDir]` + +Clear a Docusaurus site's generated assets, caches, build artifacts. + +We recommend running this command before reporting bugs, after upgrading versions, or anytime you have issues with your Docusaurus site. + +### `docusaurus write-translations [siteDir]` + +Write the JSON translation files that you will have to translate. + +By default, the files are written in `website/i18n/<defaultLocale>/...`. + +| Name | Default | Description | +| --- | --- | --- | +| `--locale` | `<defaultLocale>` | Define which locale folder you want to write translations the JSON files in | +| `--override` | `false` | Override existing translation messages | +| `--config` | `undefined` | Path to docusaurus config file, default to `[siteDir]/docusaurus.config.js` | +| `--messagePrefix` | `''` | Allows to add a prefix to each translation message, to help you highlight untranslated strings | + +### `docusaurus write-heading-ids [siteDir]` + +Add [explicit heading ids](./guides/markdown-features/markdown-features-headings.mdx#explicit-ids) to the Markdown documents of your site. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/configuration.md b/website/versioned_docs/version-2.0.0-alpha.71/configuration.md new file mode 100644 index 000000000000..d59769af1818 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/configuration.md @@ -0,0 +1,161 @@ +--- +id: configuration +title: Configuration +--- + +import TOCInline from '@theme/TOCInline'; + +Docusaurus has a unique take on configurations. We encourage you to congregate information of your site into one place. We guard the fields of this file, and facilitate making this data object accessible across your site. + +Keeping a well-maintained `docusaurus.config.js` helps you, your collaborators, and your open source contributors be able to focus on documentation while still being able to customize the site. + +## What goes into a `docusaurus.config.js`? + +You should not have to write your `docusaurus.config.js` from scratch even if you are developing your site. All templates come with a `docusaurus.config.js` that includes defaults for the common options. + +However, it can be helpful if you have a high-level understanding of how the configurations are designed and implemented. + +The high-level overview of Docusaurus configuration can be categorized into: + +<TOCInline toc={toc[0].children} /> + +For exact reference to each of the configurable fields, you may refer to [**`docusaurus.config.js` API reference**](api/docusaurus.config.js.md). + +### Site metadata + +Site metadata contains the essential global metadata such as `title`, `url`, `baseUrl` and `favicon`. + +They are used in a number of places such as your site's title and headings, browser tab icon, social sharing (Facebook, Twitter) information or even to generate the correct path to serve your static files. + +### Deployment configurations + +Deployment configurations such as `projectName` and `organizationName` are used when you deploy your site with the `deploy` command. + +It is recommended to check the [deployment docs](deployment.mdx) for more information. + +### Theme, plugin, and preset configurations + +List the [theme](using-themes.md), [plugins](using-plugins.md), and [presets](presets.md) for your site in the `themes`, `plugins`, and `presets` fields, respectively. These are typically npm packages: + +```js title="docusaurus.config.js" +module.exports = { + // ... + plugins: [ + '@docusaurus/plugin-content-blog', + '@docusaurus/plugin-content-pages', + ], + themes: ['@docusaurus/theme-classic'], +}; +``` + +They can also be loaded from local directories: + +```js title="docusaurus.config.js" +const path = require('path'); + +module.exports = { + // ... + themes: [path.resolve(__dirname, '/path/to/docusaurus-local-theme')], +}; +``` + +To specify options for a plugin or theme, replace the name of the plugin or theme in the config file with an array containing the name and an options object: + +```js title="docusaurus.config.js" +module.exports = { + // ... + plugins: [ + [ + '@docusaurus/plugin-content-blog', + { + path: 'blog', + routeBasePath: 'blog', + include: ['*.md', '*.mdx'], + // ... + }, + ], + '@docusaurus/plugin-content-pages', + ], +}; +``` + +To specify options for a plugin or theme that is bundled in a preset, pass the options through the `presets` field. In this example, `docs` refers to `@docusaurus/plugin-content-docs` and `theme` refers to `@docusaurus/theme-classic`. + +```js title="docusaurus.config.js" +module.exports = { + // ... + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + sidebarPath: require.resolve('./sidebars.js'), + }, + theme: { + customCss: [require.resolve('./src/css/custom.css')], + }, + }, + ], + ], +}; +``` + +For further help configuring themes, plugins, and presets, see [Using Themes](using-themes.md), [Using Plugins](using-plugins.md), and [Using Presets](presets.md). + +### Custom configurations + +Docusaurus guards `docusaurus.config.js` from unknown fields. To add custom fields, define them in `customFields`. + +Example: + +```js title="docusaurus.config.js" +module.exports = { + // ... + // highlight-start + customFields: { + image: '', + keywords: [], + }, + // highlight-end + // ... +}; +``` + +## Accessing configuration from components + +Your configuration object will be made available to all the components of your site. And you may access them via React context as `siteConfig`. + +Basic example: + +```jsx +import React from 'react'; +// highlight-next-line +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; + +const Hello = () => { + // highlight-start + const {siteConfig} = useDocusaurusContext(); + // highlight-end + const {title, tagline} = siteConfig; + + return <div>{`${title} · ${tagline}`}</div>; +}; +``` + +:::tip + +If you just want to use those fields on the client side, you could create your own JS files and import them as ES6 modules, there is no need to put them in `docusaurus.config.js`. + +::: + +## Customizing Babel Configuration + +For new Docusaurus projects, we automatically generated a `babel.config.js` in project root. + +```js title="babel.config.js" +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; +``` + +Most of the times, this configuration will work just fine. If you want to customize it, you can directly edit this file to customize babel configuration. For your changes to take effect, you need to restart Docusaurus devserver. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/contributing.md b/website/versioned_docs/version-2.0.0-alpha.71/contributing.md new file mode 100644 index 000000000000..130a7f42a980 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/contributing.md @@ -0,0 +1,190 @@ +--- +id: contributing +title: Contributing +--- + +[Docusaurus 2](https://v2.docusaurus.io/) is currently under alpha development. We have [early adopters who already started using it](/showcase). We are now welcoming contributors to collaborate on the next Docusaurus. + +The [Open Source Guides](https://opensource.guide/) website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful: + +- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) +- [Building Welcoming Communities](https://opensource.guide/building-community/) + +## [Code of Conduct](https://code.fb.com/codeofconduct) + +Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.fb.com/codeofconduct) so that you can understand what actions will and will not be tolerated. + +## Get involved + +There are many ways to contribute to Docusaurus, and many of them do not involve writing any code. Here's a few ideas to get started: + +- Start using Docusaurus 2! Go through the [Getting Started](installation.md) guides. Does everything work as expected? If not, we're always looking for improvements. Let us know by [opening an issue](#reporting-new-issues). +- Look through the [v2.0 issues](https://github.com/facebook/docusaurus/labels/v2). If you find an issue you would like to fix, [open a pull request](#your-first-pull-request). Issues tagged as [_Good first issue_](https://github.com/facebook/docusaurus/labels/Good%20first%20issue) are a good place to get started. +- Help us making the docs better. File an issue if you find anything that is confusing or can be improved. We also have [an umbrella issue for v2 docs](https://github.com/facebook/docusaurus/issues/1640) where we are planning and working on all v2 docs. You may adopt a doc piece there to work on. +- Take a look at the [features requested](https://github.com/facebook/docusaurus/labels/enhancement) by others in the community and consider opening a pull request if you see something you want to work on. + +Contributions are very welcome. If you think you need help planning your contribution, please ping us on Twitter at [@docusaurus](https://twitter.com/docusaurus) and let us know you are looking for a bit of help. + +### Join our Discord channel + +To participate in Docusaurus 2 dev, join the [#docusaurus-2-dev](https://discord.gg/Je6Ash6) channel. + +## Our development process + +Docusaurus uses [GitHub](https://github.com/facebook/docusaurus) as its source of truth. The core team will be working directly there. All changes will be public from the beginning. + +When a change made on GitHub is approved, it will be checked by our continuous integration system, CircleCI. + +### Reporting new issues + +When [opening a new issue](https://github.com/facebook/docusaurus/issues/new/choose), always make sure to fill out the issue template. **This step is very important!** Not doing so may result in your issue not managed in a timely fashion. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template. + +- **One issue, one bug:** Please report a single bug per issue. +- **Provide reproduction steps:** List all the steps necessary to reproduce the issue. The person reading your bug report should be able to follow these steps to reproduce your issue with minimal effort. + +### Reporting bugs + +We use [GitHub Issues](https://github.com/facebook/docusaurus/issues) for our public bugs. If you would like to report a problem, take a look around and see if someone already opened an issue about it. If you a are certain this is a new, unreported bug, you can submit a [bug report](#reporting-new-issues). + +If you have questions about using Docusaurus, contact the Docusaurus Twitter account at [@docusaurus](https://twitter.com/docusaurus), and we will do our best to answer your questions. + +You can also file issues as [feature requests or enhancements](https://github.com/facebook/docusaurus/labels/feature). If you see anything you'd like to be implemented, create an issue with [feature template](https://raw.githubusercontent.com/facebook/docusaurus/master/.github/ISSUE_TEMPLATE/feature.md/) + +### Reporting security bugs + +Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page. + +## Working on Docusaurus code + +### Installation + +1. Ensure you have [Yarn](https://yarnpkg.com/) installed +2. After cloning the repository, run `yarn install` in the root of the repository +3. To start a local development server serving the Docusaurus docs, go into the `website` directory and run `yarn start` + +### Semantic commit messages + +See how a minor change to your commit message style can make you a better programmer. + +Format: `<type>(<scope>): <subject>` + +`<scope>` is optional + +**Example** + +``` +feat: allow overriding of webpack config +^--^ ^------------^ +| | +| +-> Summary in present tense. +| ++-------> Type: chore, docs, feat, fix, refactor, style, or test. +``` + +The various types of commits: + +- `feat`: (new feature for the user, not a new feature for build script) +- `fix`: (bug fix for the user, not a fix to a build script) +- `docs`: (changes to the documentation) +- `style`: (formatting, missing semi colons, etc; no production code change) +- `refactor`: (refactoring production code, eg. renaming a variable) +- `test`: (adding missing tests, refactoring tests; no production code change) +- `chore`: (updating grunt tasks etc; no production code change) + +Use lower case not title case! + +### Code conventions + +#### Style guide + +[Prettier](https://prettier.io/) will catch most styling issues that may exist in your code. You can check the status of your code styling by simply running `npm run prettier`. + +However, there are still some styles that Prettier cannot pick up. + +#### General + +- **Most important: Look around.** Match the style you see used in the rest of the project. This includes formatting, naming files, naming things in code, naming things in documentation. +- "Attractive" + +#### Documentation + +- Do not wrap lines at 80 characters - configure your editor to soft-wrap when editing documentation. + +## Pull requests + +### Your first pull request + +So you have decided to contribute code back to upstream by opening a pull request. You've invested a good chunk of time, and we appreciate it. We will do our best to work with you and get the PR looked at. + +Working on your first Pull Request? You can learn how from this free video series: + +[**How to Contribute to an Open Source Project on GitHub**](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github) + +We have a list of [beginner friendly issues](https://github.com/facebook/docusaurus/labels/good%20first%20issue) to help you get your feet wet in the Docusaurus codebase and familiar with our contribution process. This is a great place to get started. + +### Proposing a change + +If you would like to request a new feature or enhancement but are not yet thinking about opening a pull request, you can also file an issue with [feature template](https://github.com/facebook/docusaurus/issues/new?template=feature.md/). + +If you intend to change the public API (e.g., something in `docusaurus.config.js`), or make any non-trivial changes to the implementation, we recommend filing an issue with [proposal template](https://github.com/facebook/docusaurus/issues/new?template=proposal.md) and including `[Proposal]` in the title. This lets us reach an agreement on your proposal before you put significant effort into it. These types of issues should be rare. + +If you're only fixing a bug, it's fine to submit a pull request right away but we still recommend to file an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue. + +### Sending a pull request + +Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. It is recommended to follow this [commit message style](#semantic-commit-messages). + +Please make sure the following is done when submitting a pull request: + +1. Fork [the repository](https://github.com/facebook/docusaurus) and create your branch from `master`. +1. Add the copyright notice to the top of any code new files you've added. +1. Describe your [test plan](#test-plan) in your pull request description. Make sure to [test your changes](https://github.com/facebook/docusaurus/blob/master/admin/testing-changes-on-Docusaurus-itself.md/)! +1. Make sure your code lints (`yarn prettier && yarn lint`). +1. Make sure your Jest tests pass (`yarn test`). +1. If you haven't already, [sign the CLA](https://code.facebook.com/cla). + +All pull requests should be opened against the `master` branch. + +#### Test plan + +A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI. + +- If you've changed APIs, update the documentation. + +#### Breaking changes + +When adding a new breaking change, follow this template in your pull request: + +```md +### New breaking change here + +- **Who does this affect**: +- **How to migrate**: +- **Why make this breaking change**: +- **Severity (number of people affected x effort)**: +``` + +#### Copyright header for source code + +Copy and paste this to the top of your new file(s): + +```js +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +``` + +#### Contributor License Agreement (CLA) + +In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, the Facebook GitHub Bot will reply with a link to the CLA form. You may also [complete your CLA here](https://code.facebook.com/cla). + +### What happens next? + +The core Docusaurus team will be monitoring for pull requests. Do help us by keeping pull requests consistent by following the guidelines above. + +## License + +By contributing to Docusaurus, you agree that your contributions will be licensed under its MIT license. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/deployment.mdx b/website/versioned_docs/version-2.0.0-alpha.71/deployment.mdx new file mode 100644 index 000000000000..1061a21ac661 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/deployment.mdx @@ -0,0 +1,399 @@ +--- +id: deployment +title: Deployment +--- + +To build the static files of your website for production, run: + +```bash npm2yarn +npm run build +``` + +Once it finishes, the static files will be generated within the `build/` directory. + +You can deploy your site to static site hosting services such as [Vercel](https://vercel.com/), [GitHub Pages](https://pages.github.com/), [Netlify](https://www.netlify.com/), [Render](https://render.com/docs/static-sites), and [Surge](https://surge.sh/help/getting-started-with-surge). Docusaurus sites are statically rendered so they work without JavaScript too! + +## Testing Build Local + +It is important to test build before deploying to a production. Docusaurus includes a [`docusaurus serve`](cli.md#docusaurus-serve) command to test build locally. + +```bash npm2yarn +npm run serve +``` + +## Self Hosting + +:::warning + +It is not the most performant solution + +::: + +Docusaurus can be self hosted using [`docusaurus serve`](cli.md#docusaurus-serve). Change port using `--port` and `--host` to change host. + +```bash npm2yarn +npm run serve -- --build --port 80 --host 0.0.0.0 +``` + +## Deploying to GitHub Pages + +Docusaurus provides an easy way to publish to [GitHub Pages](https://pages.github.com/). Which is hosting that comes for free with every GitHub repository. + +### `docusaurus.config.js` settings + +First, modify your `docusaurus.config.js` and add the required params: + +| Name | Description | +| --- | --- | +| `organizationName` | The GitHub user or organization that owns the repository. If you are the owner, it is your GitHub username. In the case of Docusaurus, it is "_facebook_" which is the GitHub organization that owns Docusaurus. | +| `projectName` | The name of the GitHub repository. For example, the repository name for Docusaurus is "docusaurus", so the project name is "docusaurus". | +| `url` | URL for your GitHub Page's user/organization page. This is commonly https://_username_.github.io. | +| `baseUrl` | Base URL for your project. For projects hosted on GitHub pages, it follows the format "/_projectName_/". For https://github.com/facebook/docusaurus, `baseUrl` is `/docusaurus/`. | + +:::info + +In case you want to use your custom domain for GitHub Pages, create a `CNAME` file in the `static` directory. Anything within the `static` directory will be copied to the root of the `build` directory for deployment. + +You may refer to GitHub Pages' documentation [User, Organization, and Project Pages](https://help.github.com/en/articles/user-organization-and-project-pages) for more details. + +::: + +Example: + +```jsx {3-6} title="docusaurus.config.js" +module.exports = { + // ... + url: 'https://endiliey.github.io', // Your website URL + baseUrl: '/', + projectName: 'endiliey.github.io', + organizationName: 'endiliey', + // ... +}; +``` + +:::warning + +By default, GitHub Pages runs published files through [Jekyll](https://jekyllrb.com/). Since Jekyll will discard any files that begin with `_`, it is recommended that you disable Jekyll by adding an empty file named `.nojekyll` file to your `static` directory. + +::: + +### Environment settings + +Specify the Git user as an environment variable. + +| Name | Description | +| --- | --- | +| `GIT_USER` | The username for a GitHub account that has commit access to this repo. For your own repositories, this will usually be your GitHub username. The specified `GIT_USER` must have push access to the repository specified in the combination of `organizationName` and `projectName`. | + +Optional parameters, also set as environment variables: + +| Name | Description | +| --- | --- | +| `USE_SSH` | Set to `true` to use SSH instead of the default HTTPS for the connection to the GitHub repo. | +| `DEPLOYMENT_BRANCH` | The branch that the website will be deployed to, defaults to `gh-pages` for normal repos and `master` for repository names ending in `github.io`. | +| `CURRENT_BRANCH` | The branch that contains the latest docs changes that will be deployed. Usually, the branch will be `master`, but it could be any branch (default or otherwise) except for `gh-pages`. If nothing is set for this variable, then the current branch will be used. | +| `GIT_PASS` | Password (or token) of the `git` user (specified by `GIT_USER`). For example, to facilitate non-interactive deployment (e.g. continuous deployment) | + +GitHub enterprise installations should work in the same manner as github.com; you only need to set the organization's GitHub Enterprise host as an environment veriable: + +| Name | Description | +| ------------- | ----------------------------------------------- | +| `GITHUB_HOST` | The domain name of your GitHub enterprise site. | + +### Deploy + +Finally, to deploy your site to GitHub Pages, run: + +````mdx-code-block +<Tabs + defaultValue="bash" + values={[ + { label: 'Bash', value: 'bash' }, + { label: 'Windows', value: 'windows' }, + { label: 'PowerShell', value: 'powershell' } +]}> +<TabItem value="bash"> + +```bash +GIT_USER=<GITHUB_USERNAME> yarn deploy +``` + +</TabItem> +<TabItem value="windows"> + +```batch +cmd /C "set "GIT_USER=<GITHUB_USERNAME>" && yarn deploy" +``` + +</TabItem> +<TabItem value="powershell"> + +```powershell +cmd /C 'set "GIT_USER=<GITHUB_USERNAME>" && yarn deploy' +``` + +</TabItem> +</Tabs> +```` + +### Triggering deployment with GitHub Actions + +[GitHub Actions](https://help.github.com/en/actions) allow you to automate, customize, and execute your software development workflows right in your repository. + +This workflow assumes your documentation resided in `documentation` branch of your repository and your [publishing source](https://help.github.com/en/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) is configured for `gh-pages` branch. + +1. Generate a new [SSH key](https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). +1. By default, your public key should have been created in `~/.ssh/id_rsa.pub` or use the name you've provided in the previous step to add your key to [GitHub deploy keys](https://developer.github.com/v3/guides/managing-deploy-keys/). +1. Copy key to clipboard with `xclip -sel clip < ~/.ssh/id_rsa.pub` and paste it as a [deploy key](https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys) in your repository. Copy file content if the command line doesn't work for you. Check the box for `Allow write access` before saving your deployment key. +1. You'll need your private key as a [GitHub secret](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets) to allow Docusaurus to run the deployment for you. +1. Copy your private key with `xclip -sel clip < ~/.ssh/id_rsa` and paste a GitHub secret with name `GH_PAGES_DEPLOY`. Copy file content if the command line doesn't work for you. Save your secret. +1. Create you [documentation workflow file](https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#creating-a-workflow-file) in `.github/workflows/`. In this example it's `documentation.yml`. + +```yaml title="documentation.yml" +name: documentation + +on: + pull_request: + branches: [documentation] + push: + branches: [documentation] + +jobs: + checks: + if: github.event_name != 'push' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: '12.x' + - name: Test Build + run: | + if [ -e yarn.lock ]; then + yarn install --frozen-lockfile + elif [ -e package-lock.json ]; then + npm ci + else + npm i + fi + npm run build + gh-release: + if: github.event_name != 'pull_request' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: '12.x' + - uses: webfactory/ssh-agent@v0.5.0 + with: + ssh-private-key: ${{ secrets.GH_PAGES_DEPLOY }} + - name: Release to GitHub Pages + env: + USE_SSH: true + GIT_USER: git + run: | + git config --global user.email "actions@github.com" + git config --global user.name "gh-actions" + if [ -e yarn.lock ]; then + yarn install --frozen-lockfile + elif [ -e package-lock.json ]; then + npm ci + else + npm i + fi + npm run deploy +``` + +1. Now when a new pull request arrives towards your repository in branch `documentation` it will automatically ensure that Docusaurus build is successful. +1. When pull request is merged to `documentation` branch or someone pushes to `documentation` branch directly it will be built and deployed to `gh-pages` branch. +1. After this step, your updated documentation will be available on the GitHub pages. + +### Triggering deployment with Travis CI + +Continuous integration (CI) services are typically used to perform routine tasks whenever new commits are checked in to source control. These tasks can be any combination of running unit tests and integration tests, automating builds, publishing packages to NPM, and deploying changes to your website. All you need to do to automate the deployment of your website is to invoke the `yarn deploy` script whenever your website is updated. The following section covers how to do just that using [Travis CI](https://travis-ci.com/), a popular continuous integration service provider. + +1. Go to https://github.com/settings/tokens and generate a new [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/). When creating the token, grant it the `repo` scope so that it has the permissions it needs. +1. Using your GitHub account, [add the Travis CI app](https://github.com/marketplace/travis-ci) to the repository you want to activate. +1. Open your Travis CI dashboard. The URL looks like https://travis-ci.com/USERNAME/REPO, and navigate to the `More options` > `Setting` > `Environment Variables` section of your repository. +1. Create a new environment variable named `GH_TOKEN` with your newly generated token as its value, then `GH_EMAIL` (your email address) and `GH_NAME` (your GitHub username). +1. Create a `.travis.yml` on the root of your repository with the following: + +```yaml title=".travis.yml" +language: node_js +node_js: + - '10' +branches: + only: + - master +cache: + yarn: true +script: + - git config --global user.name "${GH_NAME}" + - git config --global user.email "${GH_EMAIL}" + - echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc + - yarn && GIT_USER="${GH_NAME}" yarn deploy +``` + +Now, whenever a new commit lands in `master`, Travis CI will run your suite of tests and if everything passes, your website will be deployed via the `yarn deploy` script. + +### Using Azure Pipelines + +1. Sign Up at [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) if you haven't already. +1. Create an organization and within the organization create a project and connect your repository from GitHub. +1. Go to https://github.com/settings/tokens and generate a new [personal access token](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) with the `repo` scope. +1. In the project page (which looks like https://dev.azure.com/ORG_NAME/REPO_NAME/_build) create a new pipeline with the following text. Also, click on edit and add a new environment variable named `GH_TOKEN` with your newly generated token as its value, then `GH_EMAIL` (your email address) and `GH_NAME` (your GitHub username). Make sure to mark them as secret. Alternatively, you can also add a file named `azure-pipelines.yml` at yout repository root. + +```yaml title="azure-pipelines.yml" +trigger: + - master + +pool: + vmImage: 'ubuntu-latest' + +steps: + - checkout: self + persistCredentials: true + + - task: NodeTool@0 + inputs: + versionSpec: '10.x' + displayName: 'Install Node.js' + + - script: | + git config --global user.name "${GH_NAME}" + git config --global user.email "${GH_EMAIL}" + git checkout -b master + echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc + yarn && GIT_USER="${GH_NAME}" yarn deploy + env: + GH_NAME: $(GH_NAME) + GH_EMAIL: $(GH_EMAIL) + GH_TOKEN: $(GH_TOKEN) + displayName: 'yarn install and build' +``` + +### Using Drone + +1. Create a new ssh key that will be the [deploy key](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys) for your project. +1. Name your private and public keys to be specific and so that it does not overwrite your other [ssh keys](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). +1. Go to https://github.com/USERNAME/REPO/settings/keys and add a new deploy key by pasting in our public key you just generated. +1. Open your Drone.io dashboard and login. The URL looks like https://cloud.drone.io/USERNAME/REPO. +1. Click on the repository, click on activate repository, and add a secret called `git_deploy_private_key` with your private key value that you just generated. +1. Create a `.drone.yml` on the root of your repository with below text. + +```yaml +# .drone.yml +kind: pipeline +type: docker +trigger: + event: + - tag +- name: Website + image: node + commands: + - mkdir -p $HOME/.ssh + - ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts + - echo "$GITHUB_PRIVATE_KEY > $HOME/.ssh/id_rsa" + - chmod 0600 $HOME/.ssh/id_rsa + - cd website + - npm i + - npm run publish-gh-pages + environment: + USE_SSH: true + GIT_USER: $DRONE_COMMIT_AUTHOR + GITHUB_PRIVATE_KEY: git_deploy_private_key +``` + +Now, whenever you push a new tag to github, this trigger will start the drone ci job to publish your website. + +## Deploying to Netlify + +To deploy your Docusaurus 2 sites to [Netlify](https://www.netlify.com/), first make sure the following options are properly configured: + +```js {2-3} title="docusaurus.config.js" +module.exports = { + url: 'https://docusaurus-2.netlify.com', // Url to your site with no trailing slash + baseUrl: '/', // Base directory of your site relative to your repo + // ... +}; +``` + +Then, [create your site with Netlify](https://app.netlify.com/start). + +While you set up the site, specify the build commands and directories as follows: + +- build command: `npm run build` +- build directory: `build` + +If you did not configure these build options, you may still go to "Site settings" -> "Build and deploy" after your site is created. + +Once properly configured with the above options, your site should deploy and automatically redeploy upon merging to your deploy branch, which defaults to `master`. + +:::important + +Make sure to disable Netlify setting `Pretty URLs` to prevent lowercased URLs, unnecessary redirects and 404 errors. + +::: + +## Deploying to Vercel + +Deploying your Docusaurus project to [Vercel](https://vercel.com/) will provide you with [various benefits](https://vercel.com/) in the areas of performance and ease of use. + +To deploy your Docusaurus project with a [Vercel for Git Integration](https://vercel.com/docs/git-integrations), make sure it has been pushed to a Git repository. + +Import the project into Vercel using the [Import Flow](https://vercel.com/import/git). During the import, you will find all relevant options preconfigured for you; however, you can choose to change any of these options, a list of which can be found [here](https://vercel.com/docs/build-step#build-&-development-settings). + +After your project has been imported, all subsequent pushes to branches will generate [Preview Deployments](https://vercel.com/docs/platform/deployments#preview), and all changes made to the [Production Branch](https://vercel.com/docs/git-integrations#production-branch) (commonly "main") will result in a [Production Deployment](https://vercel.com/docs/platform/deployments#production). + +## Deploying to Render + +[Render](https://render.com) offers [free static site hosting](https://render.com/docs/static-sites) with fully managed SSL, custom domains, a global CDN and continuous auto-deploy from your Git repo. Get started in just a few minutes by following [Render's guide to deploying Docusaurus](https://render.com/docs/deploy-docusaurus). + +## Deploying to Surge + +Surge is a [static web hosting platform](https://surge.sh/help/getting-started-with-surge), it is used to deploy your Docusaurus project from the command line in a minute. Deploying your project to Surge is easy and it is also free (including a custom domain and SSL). + +Deploy your app in a matter of seconds using surge with the following steps: + +1. First, install Surge using npm by running the following command: + +```bash +npm install --g surge +``` + +2. To build the static files of your site for production in the root directory of your project, run: + +```bash +npm run build +``` + +3. Then, run this command inside the root directory of your project: + +```bash +surge build/ +``` + +First-time users of Surge would be prompted to create an account from the command line(happens only once). + +Confirm that the site you want to publish is in the `build` directory, a randomly generated subdomain `*.surge.sh subdomain` is always given (which can be edited). + +### Using your domain + +If you have a domain name you can deploy your site using surge to your domain using the command: + +```bash +surge build/ yourdomain.com +``` + +Your site is now deployed for free at `subdomain.surge.sh` or `yourdomain.com` depending on the method you chose. + +### Setting up CNAME file + +Store your domain in a CNAME file for future deployments with the following command: + +```bash +echo subdomain.surge.sh > CNAME +``` + +You can deploy any other changes in the future with the command `surge`. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/design-principles.md b/website/versioned_docs/version-2.0.0-alpha.71/design-principles.md new file mode 100644 index 000000000000..8e85dbfde8ee --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/design-principles.md @@ -0,0 +1,34 @@ +--- +id: design-principles +title: Design Principles +--- + +:::caution + +This section is a work in progress. + +::: + +- **Little to learn** - Docusaurus should be easy to learn and use as the API is quite small. Most things will still be achievable by users, even if it takes them more code and more time to write. Not having abstractions is better than having the wrong abstractions, and we don't want users to have to hack around the wrong abstractions. Mandatory talk - [Minimal API Surface Area](https://www.youtube.com/watch?v=4anAwXYqLG8). +- **Intuitive** - Users will not feel overwhelmed when looking at the project directory of a Docusaurus project or adding new features. It should look intuitive and easy to build on top of, using approaches they are familiar with. +- **Layered architecture** - The separations of concerns between each layer of our stack (content/theming/styling) should be clear - well-abstracted and modular. +- **Sensible defaults** - Common and popular performance optimizations and configurations will be done for users but they are given the option to override them. +- **No vendor-lock in** - Users are not required to use the default plugins or CSS, although they are highly encouraged to. Certain core lower-level infra level pieces like React Loadable, React Router cannot be swapped because we do default performance optimization on them. But not higher level ones, such as choice of Markdown engines, CSS frameworks, CSS methodology will be entirely up to users. + +## How Docusaurus works + +<!-- moved in from how Docusaurus works @yangshun --> + +We believe that as developers, knowing how a library works is helpful in allowing us to become better at using it. Hence we're dedicating effort into explaining the architecture and various components of Docusaurus with the hope that users reading it will gain a deeper understanding of the tool and be even more proficient in using it. + +<!-- + +Explain the principles that guide the development of Docusaurus. + +References +--- +- https://www.gatsbyjs.org/docs/behind-the-scenes/ +- https://reactjs.org/docs/design-principles.html +- https://v1.vuepress.vuejs.org/miscellaneous/design-concepts.html + +--> diff --git a/website/versioned_docs/version-2.0.0-alpha.71/docusaurus-core.md b/website/versioned_docs/version-2.0.0-alpha.71/docusaurus-core.md new file mode 100644 index 000000000000..b9ea6e3c1fdb --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/docusaurus-core.md @@ -0,0 +1,540 @@ +--- +id: docusaurus-core +title: Docusaurus Client API +sidebar_label: Client API +--- + +Docusaurus provides some APIs on the clients that can be helpful to you when building your site. + +## Components + +### `<Head/>` + +This reusable React component will manage all of your changes to the document head. It takes plain HTML tags and outputs plain HTML tags and is beginner-friendly. It is a wrapper around [React Helmet](https://github.com/nfl/react-helmet). + +Usage Example: + +```jsx {2,5,10} +import React from 'react'; +import Head from '@docusaurus/Head'; + +const MySEO = () => ( + <Head> + <meta property="og:description" content="My custom description" /> + <meta charSet="utf-8" /> + <title>My Title + + +); +``` + +Nested or latter components will override duplicate usages: + +```jsx {2,5,8,11} + + + My Title + + + + + Nested Title + + + + +``` + +Outputs: + +```html + + Nested Title + + +``` + +### `` + +This component enables linking to internal pages as well as a powerful performance feature called preloading. Preloading is used to prefetch resources so that the resources are fetched by the time the user navigates with this component. We use an `IntersectionObserver` to fetch a low-priority request when the `` is in the viewport and then use an `onMouseOver` event to trigger a high-priority request when it is likely that a user will navigate to the requested resource. + +The component is a wrapper around react-router’s `` component that adds useful enhancements specific to Docusaurus. All props are passed through to react-router’s `` component. + +```jsx {2,7} +import React from 'react'; +import Link from '@docusaurus/Link'; + +const Page = () => ( +
+

+ Check out my blog! +

+

+ {/* Note that external links still use `a` tags, but automatically opens in new tab. */} + Follow me on Twitter! +

+
+); +``` + +#### `to`: string + +The target location to navigate to. Example: `/docs/introduction`. + +```jsx + +``` + +### `` + +Rendering a `` will navigate to a new location. The new location will override the current location in the history stack, like server-side redirects (HTTP 3xx) do. You can refer to [React Router's Redirect documentation](https://reacttraining.com/react-router/web/api/Redirect) for more info on available props. + +Example usage: + +```jsx {2,5} +import React from 'react'; +import {Redirect} from '@docusaurus/router'; + +const Home = () => { + return ; +}; +``` + +:::note + +`@docusaurus/router` implements [React Router](https://reacttraining.com/react-router/web/guides/quick-start) and supports its features. + +::: + +### `` + +The `` component accepts a `children` prop, a render function which will not be executed during the pre-rendering phase of the build process. This is useful for hiding code that is only meant to run in the browsers (e.g. where the `window`/`document` objects are being accessed). To improve SEO, you can also provide fallback content using the `fallback` prop, which will be prerendered until in the build process and replaced with the client-side only contents when viewed in the browser. + +```jsx {1,5-10} +import BrowserOnly from '@docusaurus/BrowserOnly'; + +const MyComponent = () => { + return ( + The fallback content to display on prerendering}> + {() => { + // Something that should be excluded during build process prerendering. + }} + + ); +}; +``` + +### `` + +A simple interpolation component for text containing dynamic placeholders. + +The placeholders will be replaced with the provided dynamic values and JSX elements of your choice (strings, links, styled elements...). + +#### Props + +- `children`: text containing interpolation placeholders like `{placeholderName}` +- `values`: object containing interpolation placeholder values + +```jsx +import React from 'react'; +import Link from '@docusaurus/Link'; +import Interpolate from '@docusaurus/Interpolate'; + +export default function VisitMyWebsiteMessage() { + return ( + // highlight-start + + website + + ), + }}> + {'Hello, {firstName}! How are you? Take a look at my {website}'} + + // highlight-end + ); +} +``` + +### `` + +When [localizing your site](./i18n/i18n-introduction.md), the `` component will allow providing **translation support to React components**, such as your homepage. The `` component supports [interpolation](#interpolate). + +The translation strings will be extracted from your code with the [`docusaurus write-translations`](./cli.md#docusaurus-write-translations) CLI and create a `code.json` translation file in `website/i18n/`. + +:::note + +The `` props **must be hardcoded strings**. + +Apart the `values` prop used for interpolation, it is **not possible to use variables**, or the static extraction wouldn't work. + +::: + +#### Props + +- `children`: untranslated string in the default site locale (can contain [interpolation placeholders](#interpolate)) +- `id`: optional value to use as key in JSON translation files +- `description`: optional text to help the translator +- `values`: optional object containing interpolation placeholder values + +#### Example + +```jsx title="src/index.js" +import React from 'react'; +import Layout from '@theme/Layout'; + +// highlight-start +import Translate from '@docusaurus/Translate'; +// highlight-end + +export default function Home() { + return ( + +

+ {/* highlight-start */} + + Welcome to my website + + {/* highlight-end */} +

+
+ {/* highlight-start */} + + {'Welcome, {firstName}! How are you?'} + + {/* highlight-end */} +
+
+ ); +} +``` + +## Hooks + +### `useDocusaurusContext` + +React hook to access Docusaurus Context. Context contains `siteConfig` object from [docusaurus.config.js](api/docusaurus.config.js.md), and some additional site metadata. + +```ts +type DocusaurusPluginVersionInformation = + | {readonly type: 'package'; readonly version?: string} + | {readonly type: 'project'} + | {readonly type: 'local'} + | {readonly type: 'synthetic'}; + +interface DocusaurusSiteMetadata { + readonly docusaurusVersion: string; + readonly siteVersion?: string; + readonly pluginVersions: Record; +} + +interface DocusaurusContext { + siteConfig: DocusaurusConfig; + siteMetadata: DocusaurusSiteMetadata; +} +``` + +Usage example: + +```jsx {5,8-10} +import React from 'react'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; + +const MyComponent = () => { + const {siteConfig, siteMetadata} = useDocusaurusContext(); + return ( +
+

{siteConfig.title}

+
{siteMetadata.siteVersion}
+
{siteMetadata.docusaurusVersion}
+
+ ); +}; +``` + +### `useBaseUrl` + +React hook to prepend your site `baseUrl` to a string. + +:::caution + +**Don't use it for regular links!** + +The `/baseUrl/` prefix is automatically added to all **absolute paths** by default: + +- Markdown: `[link](/my/path)` will link to `/baseUrl/my/path` +- React: `link` will link to `/baseUrl/my/path` + +::: + +#### Options + +```ts +type BaseUrlOptions = { + forcePrependBaseUrl: boolean; + absolute: boolean; +}; +``` + +#### Example usage: + +```jsx +import React from 'react'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +const SomeImage = () => { + // highlight-start + const imgSrc = useBaseUrl('/img/myImage.png'); + // highlight-end + return ; +}; +``` + +:::tip + +In most cases, you don't need `useBaseUrl`. + +Prefer a `require()` call for [assets](./guides/markdown-features/markdown-features-assets.mdx): + +```jsx + +``` + +::: + +### `useBaseUrlUtils` + +Sometimes `useBaseUrl` is not good enough. This hook return additional utils related to your site's base url. + +- `withBaseUrl`: useful if you need to add base urls to multiple urls at once. + +```jsx +import React from 'react'; +import {useBaseUrlUtils} from '@docusaurus/useBaseUrl'; + +const Component = () => { + const urls = ['/a', '/b']; + // highlight-start + const {withBaseUrl} = useBaseUrlUtils(); + const urlsWithBaseUrl = urls.map(withBaseUrl); + // highlight-end + return
{/* ... */}
; +}; +``` + +### `useGlobalData` + +React hook to access Docusaurus global data created by all the plugins. + +Global data is namespaced by plugin name, and plugin id. + +:::info + +Plugin id is only useful when a plugin is used multiple times on the same site. Each plugin instance is able to create its own global data. + +::: + +```ts +type GlobalData = Record< + PluginName, + Record< + PluginId, // "default" by default + any // plugin-specific data + > +>; +``` + +Usage example: + +```jsx {2,5-7} +import React from 'react'; +import useGlobalData from '@docusaurus/useGlobalData'; + +const MyComponent = () => { + const globalData = useGlobalData(); + const myPluginData = globalData['my-plugin']['default']; + return
{myPluginData.someAttribute}
; +}; +``` + +:::tip + +Inspect your site's global data at `./docusaurus/globalData.json` + +::: + +### `usePluginData` + +Access global data created by a specific plugin instance. + +This is the most convenient hook to access plugin global data, and should be used most of the time. + +`pluginId` is optional if you don't use multi-instance plugins. + +```ts +usePluginData(pluginName: string, pluginId?: string) +``` + +Usage example: + +```jsx {2,5-6} +import React from 'react'; +import {usePluginData} from '@docusaurus/useGlobalData'; + +const MyComponent = () => { + const myPluginData = usePluginData('my-plugin'); + return
{myPluginData.someAttribute}
; +}; +``` + +### `useAllPluginInstancesData` + +Access global data created by a specific plugin. Given a plugin name, it returns the data of all the plugins instances of that name, by plugin id. + +```ts +useAllPluginInstancesData(pluginName: string) +``` + +Usage example: + +```jsx {2,5-7} +import React from 'react'; +import {useAllPluginInstancesData} from '@docusaurus/useGlobalData'; + +const MyComponent = () => { + const allPluginInstancesData = useAllPluginInstancesData('my-plugin'); + const myPluginData = allPluginInstancesData['default']; + return
{myPluginData.someAttribute}
; +}; +``` + +## Functions + +### `interpolate` + +The imperative counterpart of the [``](#interpolate) component. + +#### Signature + +```ts +// Simple string interpolation +function interpolate(text: string, values: Record): string; + +// JSX interpolation +function interpolate( + text: string, + values: Record, +): ReactNode; +``` + +#### Example + +```jsx +// highlight-start +import {interpolate} from '@docusaurus/Interpolate'; +// highlight-end + +const message = interpolate('Welcome {firstName}', {firstName: 'Sébastien'}); +``` + +### `translate` + +The imperative counterpart of the [``](#translate) component. Also supporting [placeholders interpolation](#interpolate). + +:::tip + +Use the imperative API for the **rare cases** where a **component cannot be used**, such as: + +- the page `title` metadata +- the `placeholder` props of form inputs +- the `aria-label` props for accessibility + +::: + +#### Signature + +```ts +function translate( + translation: {message: string; id?: string; description?: string}, + values: Record, +): string; +``` + +#### Example + +```jsx title="src/index.js" +import React from 'react'; +import Layout from '@theme/Layout'; + +// highlight-start +import {translate} from '@docusaurus/Translate'; +// highlight-end + +export default function Home() { + return ( + + + + ); +} +``` + +## Modules + +### `ExecutionEnvironment` + +A module which exposes a few boolean variables to check the current rendering environment. Useful if you want to only run certain code on client/server or need to write server-side rendering compatible code. + +```jsx {2,5} +import React from 'react'; +import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment'; + +const MyPage = () => { + const location = ExecutionEnvironment.canUseDOM ? window.location.href : null; + return
{location}
; +}; +``` + +| Field | Description | +| --- | --- | +| `ExecutionEnvironment.canUseDOM` | `true` if on client, `false` if prerendering. | +| `ExecutionEnvironment.canUseEventListeners` | `true` if on client and has `window.addEventListener`. | +| `ExecutionEnvironment.canUseIntersectionObserver` | `true` if on client and has `IntersectionObserver`. | +| `ExecutionEnvironment.canUseViewport` | `true` if on client and has `window.screen`. | + +### `constants` + +A module exposing useful constants to client-side theme code. + +```jsx +import {DEFAULT_PLUGIN_ID} from '@docusaurus/constants'; +``` + +| Named export | Value | +| ------------------- | --------- | +| `DEFAULT_PLUGIN_ID` | `default` | diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/creating-pages.md b/website/versioned_docs/version-2.0.0-alpha.71/guides/creating-pages.md new file mode 100644 index 000000000000..d90215dfc5c0 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/creating-pages.md @@ -0,0 +1,122 @@ +--- +id: creating-pages +title: Creating Pages +slug: /creating-pages +--- + +In this section, we will learn about creating ad-hoc pages in Docusaurus using React. This is most useful for creating one-off standalone pages like a showcase page, playground page or support page. + +The functionality of pages is powered by `@docusaurus/plugin-content-pages`. + +You can use React components, or Markdown. + +## Add a React page + +Create a file `/src/pages/helloReact.js`: + +```jsx title="/src/pages/helloReact.js" +import React from 'react'; +import Layout from '@theme/Layout'; + +function Hello() { + return ( + +
+

+ Edit pages/hello.js and save to reload. +

+
+
+ ); +} + +export default Hello; +``` + +Once you save the file, the development server will automatically reload the changes. Now open `http://localhost:3000/helloReact`, you will see the new page you just created. + +Each page doesn't come with any styling. You will need to import the `Layout` component from `@theme/Layout` and wrap your contents within that component if you want the navbar and/or footer to appear. + +:::tip + +You can also create TypeScript pages with the `.tsx` extension (`helloReact.tsx`). + +::: + +## Add a Markdown page + +Create a file `/src/pages/helloMarkdown.md`: + +```mdx title="/src/pages/helloMarkdown.md" +--- +title: my hello page title +description: my hello page description +hide_table_of_contents: true +--- + +# Hello + +How are you? +``` + +In the same way, a page will be created at `http://localhost:3000/helloMarkdown`. + +Markdown pages are less flexible than React pages, because it always uses the theme layout. + +Here's an [example Markdown page](/examples/markdownPageExample). + +:::tip + +You can use the full power of React in Markdown pages too, refer to the [MDX](https://mdxjs.com/) documentation. + +::: + +## Routing + +If you are familiar with other static site generators like Jekyll and Next, this routing approach will feel familiar to you. Any JavaScript file you create under `/src/pages/` directory will be automatically converted to a website page, following the `/src/pages/` directory hierarchy. For example: + +- `/src/pages/index.js` → `` +- `/src/pages/foo.js` → `/foo` +- `/src/pages/foo/test.js` → `/foo/test` +- `/src/pages/foo/index.js` → `/foo/` + +In this component-based development era, it is encouraged to co-locate your styling, markup and behavior together into components. Each page is a component, and if you need to customize your page design with your own styles, we recommend co-locating your styles with the page component in its own directory. For example, to create a "Support" page, you could do one of the following: + +- Add a `/src/pages/support.js` file +- Create a `/src/pages/support/` directory and a `/src/pages/support/index.js` file. + +The latter is preferred as it has the benefits of letting you put files related to the page within that directory. For example, a CSS module file (`styles.module.css`) with styles meant to only be used on the "Support" page. **Note:** this is merely a recommended directory structure and you will still need to manually import the CSS module file within your component module (`support/index.js`). By default, any Markdown or Javascript file starting with `_` will be ignored, and no routes will be created for that file (see the `exclude` option). + +```sh +my-website +├── src +│ └── pages +│ ├── styles.module.css +│ ├── index.js +| ├──_ignored.js +│ └── support +│ ├── index.js +│ └── styles.module.css +. +``` + +:::caution + +All JavaScript/TypeScript files within the `src/pages/` directory will have corresponding website paths generated for them. If you want to create reusable components into that directory, use the `exclude` option (by default, files prefixed with `_`, test files(`.test.js`) and files in `__tests__` directory are not turned into pages). + +::: + +## Using React + +React is used as the UI library to create pages. Every page component should export a React component, and you can leverage on the expressiveness of React to build rich and interactive content. + +## Duplicate Routes + +You may accidentally create multiple pages that are meant to be accessed on the same route. When this happens, Docusaurus will warn you about duplicate routes when you run `yarn start` or `yarn build`, but the site will still be built successfully. The page that was created last will be accessible, but it will override other conflicting pages. To resolve this issue, you should modify or remove any conflicting routes. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-create-doc.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-create-doc.mdx new file mode 100644 index 000000000000..49841e715820 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-create-doc.mdx @@ -0,0 +1,79 @@ +--- +id: create-doc +title: Create a doc +description: Create a Markdown Document +slug: /create-doc +--- + +Create a markdown file, `greeting.md`, and place it under the `docs` directory. + +```bash +website # root directory of your site +├── docs +│   └── greeting.md +├── src +│   └── pages +├── docusaurus.config.js +├── ... +``` + +At the top of the file, specify `id` and `title` in the front matter, so that Docusaurus will pick them up correctly when generating your site. + +```yml +--- +id: greeting +title: Hello +--- + +## Hello from Docusaurus + +Are you ready to create the documentation site for your open source project? + +### Headers + +will show up on the table of contents on the upper right + +So that your users will know what this page is all about without scrolling down or even without reading too much. + +### Only h2 and h3 will be in the toc + +The headers are well-spaced so that the hierarchy is clear. + +- lists will help you +- present the key points +- that you want your users to remember + - and you may nest them + - multiple times + +### Custom id headers {#custom-id} + +With `{#custom-id}` syntax you can set your own header id. +``` + +This will render in the browser as follows: + +import BrowserWindow from '@site/src/components/BrowserWindow'; + + + +

Hello from Docusaurus

+ +Are you ready to create the documentation site for your open source project? + +

Headers

+ +will show up on the table of contents on the upper right + +So that your users will know what this page is all about without scrolling down or even without reading too much. + +

Only h2 and h3 will be in the toc

+ +The headers are well-spaced so that the hierarchy is clear. + +- lists will help you +- present the key points +- that you want your users to remember + - and you may nest them + - multiple times + +
diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-introduction.md b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-introduction.md new file mode 100644 index 000000000000..b56c7a561c1e --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-introduction.md @@ -0,0 +1,80 @@ +--- +id: introduction +title: Docs Introduction +sidebar_label: Introduction +slug: /docs-introduction +--- + +The docs feature provides users with a way to organize Markdown files in a hierarchical format. + +## Document ID + +Every document has a unique `id`. By default, a document `id` is the name of the document (without the extension) relative to the root docs directory. + +For example, `greeting.md` id is `greeting` and `guide/hello.md` id is `guide/hello`. + +```bash +website # Root directory of your site +└── docs +   ├── greeting.md + └── guide + └── hello.md +``` + +However, the **last part** of the `id` can be defined by user in the front matter. For example, if `guide/hello.md`'s content is defined as below, its final `id` is `guide/part1`. + +```yml +--- +id: part1 +--- +Lorem ipsum +``` + +If you want more control over the last part of the document URL, it is possible to add a `slug` (defaults to the `id`). + +```yml +--- +id: part1 +slug: part1.html +--- +Lorem ipsum +``` + +:::note + +It is possible to use: + +- absolute slugs: `slug: /mySlug`, `slug: /`... +- relative slugs: `slug: mySlug`, `slug: ./../mySlug`... + +::: + +## Home page docs + +If you want a document to be available at the root, and have a path like `https://v2.docusaurus.io/docs/`, you can use the slug frontmatter: + +```yml +--- +id: my-home-doc +slug: / +--- +Lorem ipsum +``` + +## Docs-only mode + +If you only want the documentation feature, you can run your Docusaurus 2 site without a landing page and display your documentation page as the index page instead. + +To enable docs-only mode, set the docs plugin `routeBasePath: '/'`, and use the frontmatter `slug: /` on the document that should be the index page ([more infos](#home-page-docs)). + +:::caution + +You should delete the existing homepage at `./src/pages/index.js`, or else there will be two files mapping to the same route! + +::: + +:::tip + +There's also a "blog-only mode" for those who only want to use the blog feature of Docusaurus 2. You can use the same method detailed above. Follow the setup instructions on [Blog-only mode](../../blog.md#blog-only-mode). + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-markdown-features.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-markdown-features.mdx new file mode 100644 index 000000000000..0035a655f29b --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-markdown-features.mdx @@ -0,0 +1,28 @@ +--- +id: markdown-features +title: Docs Markdown Features +description: Docusaurus Markdown features that are specific to the docs plugin +slug: /docs-markdown-features +--- + +Docs can use any [Markdown feature](../markdown-features/markdown-features-intro.mdx), and have a few additional Docs-specific markdown features. + +## Markdown frontmatter + +Markdown docs have their own [Markdown frontmatter](../../api/plugins/plugin-content-docs.md#markdown-frontmatter) + +## Referencing other documents + +If you want to reference another document file, you could use the name of the document you want to reference. Docusaurus will convert the file path to be the final website path (and remove the `.md`). + +For example, if you are in `doc2.md` and you want to reference `doc1.md` and `folder/doc3.md`: + +```md +I am referencing a [document](doc1.md). Reference to another [document in a folder](folder/doc3.md). + +[Relative document](../doc2.md) referencing works as well. +``` + +One benefit of this approach is that the links to external files will still work if you are viewing the file on GitHub. + +Another benefit, for versioned docs, is that one versioned doc will link to another doc of the exact same version. diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-multi-instance.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-multi-instance.mdx new file mode 100644 index 000000000000..a49895247422 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/docs-multi-instance.mdx @@ -0,0 +1,212 @@ +--- +id: multi-instance +title: Docs Multi-instance +description: Use multiple docs plugin instances on a single Docusaurus site. +slug: /docs-multi-instance +--- + +The `@docusaurus/plugin-content-docs` plugin can support [multi-instance](../../using-plugins.md#multi-instance-plugins-and-plugin-ids). + +:::note + +This feature is only useful for [versioned documentations](./versioning.md). It is recommended to be familiar with docs versioning before reading this page. + +::: + +## Use-cases + +Sometimes you want a Docusaurus site to host 2 distinct sets of documentation (or more). + +These documentations may even have different versioning/release lifecycles. + +### Mobile SDKs documentation + +If you build a cross-platform mobile SDK, you may have 2 documentations: + +- Android SDK documentation (`v1.0`, `v1.1`) +- iOS SDK documentation (`v1.0`, `v2.0`) + +In such case, you can use a distinct docs plugin instance per mobile SDK documentation. + +:::caution + +If each documentation instance is very large, you should rather create 2 distinct Docusaurus sites. + +If someone edits the iOS documentation, is it really useful to rebuild everything, including the whole Android documentation that did not change? + +::: + +### Versioned and unversioned doc + +Sometimes, you want some documents to be versioned, while other documents are more "global", and it feels useless to version them. + +We use this pattern on the Docusaurus website itself: + +- The [/docs/\*](/docs) section is versioned +- The [/community/\*](/community/support) section is unversioned + +## Setup + +Let's consider we 2 documentations: + +- Product: some versioned doc about your product +- Community: some unversioned doc about the community around your product + +You have to use twice the same plugin in your site configuration. + +:::caution + +`@docusaurus/preset-classic` already includes a docs plugin instance for you! + +::: + +When using the preset: + +```js title="docusaurus.config.js" +module.exports = { + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + // highlight-start + // id: 'product', // omitted => default instance + // highlight-end + path: 'product', + routeBasePath: 'product', + sidebarPath: require.resolve('./sidebarsProduct.js'), + // ... other options + }, + }, + ], + ], + plugins: [ + [ + '@docusaurus/plugin-content-docs', + { + // highlight-start + id: 'community', + // highlight-end + path: 'community', + routeBasePath: 'community', + sidebarPath: require.resolve('./sidebarsCommunity.js'), + // ... other options + }, + ], + ], +}; +``` + +When not using the preset: + +```js title="docusaurus.config.js" +module.exports = { + plugins: [ + [ + '@docusaurus/plugin-content-docs', + { + // highlight-start + // id: 'product', // omitted => default instance + // highlight-end + path: 'product', + routeBasePath: 'product', + sidebarPath: require.resolve('./sidebarsProduct.js'), + // ... other options + }, + ], + [ + '@docusaurus/plugin-content-docs', + { + // highlight-start + id: 'community', + // highlight-end + path: 'community', + routeBasePath: 'community', + sidebarPath: require.resolve('./sidebarsCommunity.js'), + // ... other options + }, + ], + ], +}; +``` + +Don't forget to assign a unique `id` attribute to plugin instances. + +:::note + +We consider that the `product` instance is the most important one, and make it the "default" instance by not assigning any id. + +::: + +## Versioned paths + +Each instance will store versioned docs in a distinct folder. + +The default plugin instance will use these paths: + +- `website/versions.json` +- `website/versioned_docs` +- `website/versioned_sidebars` + +The other plugin instances (with an `id` attribute) will use these paths: + +- `website/_versions.json` +- `website/_versioned_docs` +- `website/_versioned_sidebars` + +:::tip + +You can omit the `id` attribute (defaults to `default`) for one of the docs plugin instances. + +The instance paths will be simpler, and retro-compatible with a single-instance setup. + +::: + +## Tagging new versions + +Each plugin instance will have its own cli command to tag a new version. They will be displayed if you run: + +```bash npm2yarn +npm run docusaurus -- --help +``` + +To version the product/default docs plugin instance: + +```bash npm2yarn +npm run docusaurus docs:version 1.0.0 +``` + +To version the non-default/community docs plugin instance: + +```bash npm2yarn +npm run docusaurus docs:version:community 1.0.0 +``` + +## Docs navbar items + +Each docs-related [theme navbar items](../../api/themes/theme-configuration.md#navbar) take an optional `docsPluginId` attribute. + +For example, if you want to have one version dropdown for each mobile SDK (iOS and Android), you could do: + +```js title="docusaurus.config.js" +module.exports = { + themeConfig: { + navbar: { + items: [ + { + type: 'docsVersionDropdown', + // highlight-start + docsPluginId: 'ios', + // highlight-end + }, + { + type: 'docsVersionDropdown', + // highlight-start + docsPluginId: 'android', + // highlight-end + }, + ], + }, + }, +}; +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/sidebar.md b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/sidebar.md new file mode 100644 index 000000000000..f7267581f5c0 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/sidebar.md @@ -0,0 +1,323 @@ +--- +id: sidebar +title: Sidebar +slug: /sidebar +--- + +To generate a sidebar to your Docusaurus site: + +1. Define a file that exports a [sidebar object](#sidebar-object). +1. Pass this object into the `@docusaurus/plugin-docs` plugin directly or via `@docusaurus/preset-classic`. + +```js {8-9} title="docusaurus.config.js" +module.exports = { + // ... + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + // Sidebars filepath relative to the site dir. + sidebarPath: require.resolve('./sidebars.js'), + }, + // ... + }, + ], + ], +}; +``` + +## Sidebar object + +A sidebar object contains [sidebar items](#understanding-sidebar-items) and it is defined like this: + +```typescript +type Sidebar = { + [sidebarId: string]: + | { + [sidebarCategory: string]: SidebarItem[]; + } + | SidebarItem[]; +}; +``` + +For example: + +```js title="sidebars.js" +module.exports = { + docs: [ + { + type: 'category', + label: 'Getting Started', + items: ['greeting'], + }, + { + type: 'category', + label: 'Docusaurus', + items: ['doc1'], + }, + ], +}; +``` + +In this example, notice the following: + +- The key `docs` is the id of the sidebar. The id can be any value, not necessarily `docs`. +- `Getting Started` is a category within the sidebar. +- `greeting` and `doc1` are both [sidebar item](#sidebar-item). + +Shorthand notation can also be used: + +```js title="sidebars.js" +module.exports = { + docs: { + 'Getting started': ['greeting'], + Docusaurus: ['doc1'], + }, +}; +``` + +:::note + +Shorthand notation relies on the iteration order of JavaScript object keys for the category name. When using this notation, keep in mind that EcmaScript does not guarantee `Object.keys({a,b}) === ['a','b']`, yet this is generally true. + +::: + +## Using multiple sidebars + +You can have multiple sidebars for different Markdown files by adding more top-level keys to the exported object. + +Example: + +```js title="sidebars.js" +module.exports = { + firstSidebar: { + 'Category A': ['doc1'], + }, + secondSidebar: { + 'Category A': ['doc2'], + 'Category B': ['doc3'], + }, +}; +``` + +By default, the doc page the user is reading will display the sidebar that it is part of. This can be customized with the [sidebar type](#understanding-sidebar-items). + +For example, with the above example, when displaying the `doc2` page, the sidebar will contain the items of `secondSidebar` only. Another example of multiple sidebars is the `API` and `Docs` sections on the Docusaurus website. + +For more information about sidebars and how they relate to doc pages, see [Navbar doc link](../../api/themes/theme-configuration.md#navbar-doc-link). + +## Understanding sidebar items + +As the name implies, `SidebarItem` is an item defined in a Sidebar. A SidebarItem as a `type` that defines what the item links to. + +`type` supports the following values + +- [Doc](#linking-to-a-doc-page) +- [Link](#creating-a-generic-link) +- [Ref](#creating-a-link-to-page-without-sidebar) +- [Category](#creating-a-hierarchy) + +### Linking to a doc page + +Set `type` to `doc` to link to a documentation page. This is the default type. + +```typescript +type SidebarItemDoc = + | string + | { + type: 'doc'; + id: string; + }; +``` + +Example: + +```js +{ + type: 'doc', + id: 'doc1', // string - document id +} +``` + +Using just the [Document ID](#document-id) is also valid, the following is equivalent to the above: + +```js +'doc1'; // string - document id + +``` + +Using this type will bind the linked doc to current sidebar. This means that if you access the `doc1` page, the sidebar displayed will be the sidebar that contains this doc page. + +In the example below, `doc1` is bound to `firstSidebar`. + +```js title="sidebars.js" +module.exports = { + firstSidebar: { + 'Category A': ['doc1'], + }, + secondSidebar: { + 'Category A': ['doc2'], + 'Category B': ['doc3'], + }, +}; +``` + +### Creating a generic link + +Set `type` to `link` to link to a non-documentation page. For example, to create an external link. + +```typescript +type SidebarItemLink = { + type: 'link'; + label: string; + href: string; +}; +``` + +Example: + +```js +{ + type: 'link', + label: 'Custom Label', // The label that should be displayed (string). + href: 'https://example.com' // The target URL (string). +} +``` + +### Creating a link to page without sidebar + +Set `type` to `ref` to link to a documentation page without binding it to a sidebar. This means the sidebar disappears when the user displays the linked page. + +```typescript +type SidebarItemRef = { + type: 'ref'; + id: string; +}; +``` + +Example: + +```js +{ + type: 'ref', + id: 'doc1', // Document id (string). +} +``` + +### Creating a hierarchy + +The Sidebar item type that creates a hierarchy in the sidebar. Set `type` to `category`. + +```typescript +type SidebarItemCategory = { + type: 'category'; + label: string; // Sidebar label text. + items: SidebarItem[]; // Array of sidebar items. + collapsed: boolean; // Set the category to be collapsed or open by default +}; +``` + +Example: + +```js title="sidebars.js" +module.exports = { + docs: [ + { + ... + }, + { + type: 'category', + label: 'Guides', + items: [ + 'guides/creating-pages', + { + Docs: ['docs-introduction', 'docs-sidebar', 'markdown-features', 'versioning'], + }, + ], + }, + ], +}; +``` + +**Note**: it's possible to use the shorthand syntax to create nested categories: + +```js title="sidebars.js" +module.exports = { + docs: { + Guides: [ + 'creating-pages', + { + Docs: [ + 'docs-introduction', + 'docs-sidebar', + 'markdown-features', + 'versioning', + ], + }, + ], + }, +}; +``` + +#### Collapsible categories + +For sites with a sizable amount of content, we support the option to expand/collapse a category to toggle the display of its contents. Categories are collapsible by default. If you want them to be always expanded, set `themeConfig.sidebarCollapsible` to `false`: + +```js {4} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + sidebarCollapsible: false, + // ... + }, +}; +``` + +#### Expanded categories by default + +For docs that have collapsible categories, you may want more fine-grain control over certain categories. If you want specific categories to be always expanded, you can set `collapsed` to `false`: + +```js title="sidebars.js" +module.exports = { + docs: { + Guides: [ + 'creating-pages', + { + type: 'category', + label: 'Docs', + collapsed: false, + items: ['markdown-features', 'sidebar', 'versioning'], + }, + ], + }, +}; +``` + +## Hideable sidebar + +Using the enabled `themeConfig.hideableSidebar` option, you can make the entire sidebar hidden, allowing you to better focus your users on the content. This is especially useful when content consumption on medium screens (e.g. on tablets). + +```js {4} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + hideableSidebar: true, + // ... + }, +}; +``` + +## Passing custom props + +To pass in custom props to a swizzled sidebar item, add the optional `customProps` object to any of the items: + +```js +{ + type: 'doc'; + id: 'doc1'; + customProps: { + /* props */ + } +} +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/versioning.md b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/versioning.md new file mode 100644 index 000000000000..d61e383c57fe --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/docs/versioning.md @@ -0,0 +1,208 @@ +--- +id: versioning +title: Versioning +slug: /versioning +--- + +You can use the version script to create a new documentation version based on the latest content in the `docs` directory. That specific set of documentation will then be preserved and accessible even as the documentation in the `docs` directory changes moving forward. + +:::caution + +Think about it before starting to version your documentation - it can become difficult for contributors to help improve it! + +::: + +Most of the time, you don't need versioning as it will just increase your build time, and introduce complexity to your codebase. Versioning is **best suited for websites with high-traffic and rapid changes to documentation between versions**. If your documentation rarely changes, don't add versioning to your documentation. + +To better understand how versioning works and see if it suits your needs, you can read on below. + +## Directory structure + +```shell +website +├── sidebars.json # sidebar for master (next) version +├── docs # docs directory for master (next) version +│ ├── foo +│ │ └── bar.md # https://mysite.com/docs/next/foo/bar +│ └── hello.md # https://mysite.com/docs/next/hello +├── versions.json # file to indicate what versions are available +├── versioned_docs +│ ├── version-1.1.0 +│ │ ├── foo +│ │ │ └── bar.md # https://mysite.com/docs/foo/bar +│ │ └── hello.md +│ └── version-1.0.0 +│ ├── foo +│ │ └── bar.md # https://mysite.com/docs/1.0.0/foo/bar +│ └── hello.md +├── versioned_sidebars +│ ├── version-1.1.0-sidebars.json +│ └── version-1.0.0-sidebars.json +├── docusaurus.config.js +└── package.json +``` + +The table below explains how a versioned file maps to its version and the generated URL. + +| Path | Version | URL | +| --------------------------------------- | -------------- | ----------------- | +| `versioned_docs/version-1.0.0/hello.md` | 1.0.0 | /docs/1.0.0/hello | +| `versioned_docs/version-1.1.0/hello.md` | 1.1.0 (latest) | /docs/hello | +| `docs/hello.md` | next | /docs/next/hello | + +### Tagging a new version + +1. First, make sure your content in the `docs` directory is ready to be frozen as a version. A version always should be based from master. +1. Enter a new version number. + +```bash npm2yarn +npm run docusaurus docs:version 1.1.0 +``` + +When tagging a new version, the document versioning mechanism will: + +- Copy the full `docs/` folder contents into a new `versioned_docs/version-/` folder. +- Create a versioned sidebars file based from your current [sidebar](docs-introduction.md#sidebar) configuration (if it exists) - saved as `versioned_sidebars/version--sidebars.json`. +- Append the new version number to `versions.json`. + +## Docs + +### Creating new docs + +1. Place the new file into the corresponding version folder. +1. Include the reference for the new file into the corresponding sidebar file, according to version number. + +**Master docs** + +```shell +# The new file. +docs/new.md + +# Edit the corresponding sidebar file. +sidebar.js +``` + +**Older docs** + +```shell +# The new file. +versioned_docs/version-1.0.0/new.md + +# Edit the corresponding sidebar file. +versioned_sidebars/version-1.0.0-sidebars.json +``` + +### Linking docs + +- Remember to include the `.md` extension. +- Files will be linked to correct corresponding version. +- Relative paths work as well. + +```md +The [@hello](hello.md#paginate) document is great! + +See the [Tutorial](../getting-started/tutorial.md) for more info. +``` + +## Versions + +Each directory in `versioned_docs/` will represent a documentation version. + +### Updating an existing version + +You can update multiple docs versions at the same time because each directory in `versioned_docs/` represents specific routes when published. + +1. Edit any file. +1. Commit and push changes. +1. It will be published to the version. + +Example: When you change any file in `versioned_docs/version-2.6/`, it will only affect the docs for version `2.6`. + +### Deleting an existing version + +You can delete/remove versions as well. + +1. Remove the version from `versions.json`. + +Example: + +```diff {4} +[ + "2.0.0", + "1.9.0", +- "1.8.0" +] +``` + +2. Delete the versioned docs directory. Example: `versioned_docs/version-1.8.0`. +3. Delete the versioned sidebars file. Example: `versioned_sidebars/version-1.8.0-sidebars.json`. + +## Recommended practices + +### Figure out the behavior for the "current" version + +The "current" version is the version name for the `./docs` folder. + +There are different ways to manage versioning, but two very common patterns are: + +- You release v1, and start immediately working on v2 (including its docs) +- You release v1, and will maintain it for some time before thinking about v2. + +Docusaurus defaults work great for the first usecase. + +**For the 2nd usecase**: if you release v1 and don't plan to work on v2 anytime soon, instead of versioning v1 and having to maintain the docs in 2 folders (`./docs` + `./versioned_docs/version-1.0.0`), you may consider using the following configuration instead: + +```json +{ + "lastVersion": "current", + "versions": { + "current": { + "label": "1.0.0", + "path": "1.0.0" + } + } +} +``` + +The docs in `./docs` will be served at `/docs/1.0.0` instead of `/docs/next`, and `1.0.0` will become the default version we link to in the navbar dropdown, and you will only need to maintain a single `./docs` folder. + +See [docs plugin configuration](../../api/plugins/plugin-content-docs.md) for more details. + +### Version your documentation only when needed + +For example, you are building a documentation for your npm package `foo` and you are currently in version 1.0.0. You then release a patch version for a minor bug fix and it's now 1.0.1. + +Should you cut a new documentation version 1.0.1? **You probably shouldn't**. 1.0.1 and 1.0.0 docs shouldn't differ according to semver because there are no new features!. Cutting a new version for it will only just create unnecessary duplicated files. + +### Keep the number of versions small + +As a good rule of thumb, try to keep the number of your versions below 10. **It is very likely** that you will have a lot of obsolete versioned documentation that nobody even reads anymore. For example, [Jest](https://jestjs.io/versions) is currently in version `24.9`, and only maintains several latest documentation version with the lowest being `22.X`. Keep it small 😊 + +### Use absolute import within the docs + +Don't use relative paths import within the docs. Because when we cut a version the paths no longer work (the nesting level is different, among other reasons). You can utilize the `@site` alias provided by docusaurus, that points to the `website` directory. Example: + +```diff +- import Foo from '../src/components/Foo'; ++ import Foo from '@site/src/components/Foo'; +``` + +### Global or versioned colocated assets + +You should decide if assets like images and files are per version or shared between versions + +If your assets should be versioned, put them in the docs version, and use relative paths: + +```md +![img alt](./myImage.png) + +[download this file](./file.pdf) +``` + +If your assets are global, put them in `/static` and use absolute paths: + +```md +![img alt](/myImage.png) + +[download this file](/file.pdf) +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-admonitions.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-admonitions.mdx new file mode 100644 index 000000000000..c692e1dda2b8 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-admonitions.mdx @@ -0,0 +1,86 @@ +--- +id: admonitions +title: Admonitions +description: Handling admonitions/callouts in Docusaurus Markdown +slug: /markdown-features/admonitions +--- + +In addition to the basic Markdown syntax, we use [remark-admonitions](https://github.com/elviswolcott/remark-admonitions) alongside MDX to add support for admonitions. Admonitions are wrapped by a set of 3 colons. + +Example: + + :::note + + The content and title *can* include markdown. + + ::: + + :::tip You can specify an optional title + + Heads up! Here's a pro-tip. + + ::: + + :::info + + Useful information. + + ::: + + :::caution + + Warning! You better pay attention! + + ::: + + :::danger + + Danger danger, mayday! + + ::: + +:::note + +The content and title _can_ include markdown. + +::: + +:::tip You can specify an optional title + +Heads up! Here's a pro-tip. + +::: + +:::info + +Useful information. + +::: + +:::caution + +Warning! You better pay attention! + +::: + +:::danger + +Danger danger, mayday! + +::: + +## Specifying title + +You may also specify an optional title + + :::note Your Title + + The content and title *can* include markdown. + + ::: + +:::note Your Title + +The content and title _can_ include Markdown. + +::: diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-assets.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-assets.mdx new file mode 100644 index 000000000000..c0b8f992eba3 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-assets.mdx @@ -0,0 +1,147 @@ +--- +id: assets +title: Assets +description: Handling assets in Docusaurus Markdown +slug: /markdown-features/assets +--- + +Sometimes you want to link to static assets directly from Markdown files, and it is convenient to co-locate the asset next to the markdown file using it. + +We have setup Webpack loaders to handle most common file types, so that when you import a file, you get its url, and the asset is automatically copied to the output folder. + +Let's imagine the following file structure: + +``` +# Your doc +/website/docs/myFeature.mdx + +# Some assets you want to use +/website/docs/assets/docusaurus-asset-example-banner.png +/website/docs/assets/docusaurus-asset-example-pdf.pdf +``` + +## Images + +You can use images in Markdown, or by requiring them and using a JSX image tag: + +```mdx +# My Markdown page + +Example banner + +or + +![Example banner](./assets/docusaurus-asset-example-banner.png) +``` + +The ES imports syntax also works: + +```mdx +# My Markdown page + +import myImageUrl from './assets/docusaurus-asset-example-banner.png'; + +My image alternative text +``` + +This results in displaying the image: + +![My image alternative text](../../assets/docusaurus-asset-example-banner.png) + +:::note + +If you are using [@docusaurus/plugin-ideal-image](../../using-plugins.md#docusaurusplugin-ideal-image), you need to use the dedicated image component, as documented. + +::: + +## Files + +In the same way, you can link to existing assets by requiring them and using the returned url in videos, links etc. + +```mdx +# My Markdown page + + + Download this PDF + + +or + +[Download this PDF using Markdown](./assets/docusaurus-asset-example-pdf.pdf) +``` + + + Download this PDF + + +[Download this PDF using Markdown](../../assets/docusaurus-asset-example-pdf.pdf) + +## Inline SVGs + +Docusaurus supports inlining SVGs out of the box. + +```jsx +import DocusaurusSvg from './docusaurus.svg'; + +; +``` + +import DocusaurusSvg from '@site/static/img/docusaurus.svg'; + + + +This can be useful, if you want to alter the part of the SVG image via CSS. For example, you can change one of the SVG colors based on the current theme. + +```jsx +import DocusaurusSvg from './docusaurus.svg'; + +; +``` + +```css +html[data-theme='light'] .themedDocusaurus [fill='#FFFF50'] { + fill: greenyellow; +} + +html[data-theme='dark'] .themedDocusaurus [fill='#FFFF50'] { + fill: seagreen; +} +``` + + + +## Themed Images + +Docusaurus supports themed images: the `ThemedImage` component (included in the classic/bootstrap themes) allows you to switch the image source based on the current theme. + +```jsx {5-8} +import ThemedImage from '@theme/ThemedImage'; + +; +``` + +```mdx-code-block +import useBaseUrl from '@docusaurus/useBaseUrl'; +import ThemedImage from '@theme/ThemedImage'; + + +``` diff --git a/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-code-blocks.mdx b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-code-blocks.mdx new file mode 100644 index 000000000000..270f92d05a61 --- /dev/null +++ b/website/versioned_docs/version-2.0.0-alpha.71/guides/markdown-features/markdown-features-code-blocks.mdx @@ -0,0 +1,443 @@ +--- +id: code-blocks +title: Code blocks +description: Handling code blocks in Docusaurus Markdown +slug: /markdown-features/code-blocks +--- + +Code blocks within documentation are super-powered 💪. + +## Code title + +You can add a title to the code block by adding `title` key after the language (leave a space between them). + + ```jsx title="/src/components/HelloCodeTitle.js" + function HelloCodeTitle(props) { + return

Hello, {props.name}

; + } + ``` + +```jsx title="/src/components/HelloCodeTitle.js" +function HelloCodeTitle(props) { + return

Hello, {props.name}

; +} +``` + +## Syntax highlighting + +Code blocks are text blocks wrapped around by strings of 3 backticks. You may check out [this reference](https://github.com/mdx-js/specification) for specifications of MDX. + + ```jsx + console.log('Every repo must come with a mascot.'); + ``` + + + +Use the matching language meta string for your code block, and Docusaurus will pick up syntax highlighting automatically, powered by [Prism React Renderer](https://github.com/FormidableLabs/prism-react-renderer). + +```jsx +console.log('Every repo must come with a mascot.'); +``` + +By default, the Prism [syntax highlighting theme](https://github.com/FormidableLabs/prism-react-renderer#theming) we use is [Palenight](https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/themes/palenight.js). You can change this to another theme by passing `theme` field in `prism` as `themeConfig` in your docusaurus.config.js. + +For example, if you prefer to use the `dracula` highlighting theme: + +```js {4} title="docusaurus.config.js" +module.exports = { + themeConfig: { + prism: { + theme: require('prism-react-renderer/themes/dracula'), + }, + }, +}; +``` + +By default, Docusaurus comes with this subset of [commonly used languages](https://github.com/FormidableLabs/prism-react-renderer/blob/master/src/vendor/prism/includeLangs.js). + +To add syntax highlighting for any of the other [Prism supported languages](https://prismjs.com/#supported-languages), define it in an array of additional languages. + +For example, if you want to add highlighting for the `powershell` language: + +```js {5} title="docusaurus.config.js" +module.exports = { + // ... + themeConfig: { + prism: { + additionalLanguages: ['powershell'], + }, + // ... + }, +}; +``` + +If you want to add highlighting for languages not yet supported by Prism, you can swizzle `prism-include-languages`: + +```bash npm2yarn +npm run swizzle @docusaurus/theme-classic prism-include-languages +``` + +It will produce `prism-include-languages.js` in your `src/theme` folder. You can add highlighting support for custom languages by editing `prism-include-languages.js`: + +```js {8} title="src/theme/prism-include-languages.js" +const prismIncludeLanguages = (Prism) => { + // ... + + additionalLanguages.forEach((lang) => { + require(`prismjs/components/prism-${lang}`); // eslint-disable-line + }); + + require('/path/to/your/prism-language-definition'); + + // ... +}; +``` + +You can refer to [Prism's official language definitions](https://github.com/PrismJS/prism/tree/master/components) when you are writing your own language definitions. + +## Line highlighting + +You can bring emphasis to certain lines of code by specifying line ranges after the language meta string (leave a space after the language). + + ```jsx {3} + function HighlightSomeText(highlight) { + if (highlight) { + return 'This text is highlighted!'; + } + + return 'Nothing highlighted'; + } + ``` + +```jsx {3} +function HighlightSomeText(highlight) { + if (highlight) { + return 'This text is highlighted!'; + } + + return 'Nothing highlighted'; +} +``` + +To accomplish this, Docusaurus adds the `docusaurus-highlight-code-line` class to the highlighted lines. You will need to define your own styling for this CSS, possibly in your `src/css/custom.css` with a custom background color which is dependent on your selected syntax highlighting theme. The color given below works for the default highlighting theme (Palenight), so if you are using another theme, you will have to tweak the color accordingly. + +```css title="/src/css/custom.css" +.docusaurus-highlight-code-line { + background-color: rgb(72, 77, 91); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); +} + +/* If you have a different syntax highlighting theme for dark mode. */ +html[data-theme='dark'] .docusaurus-highlight-code-line { + background-color: ; /* Color which works with dark mode syntax highlighting theme */ +} +``` + +To highlight multiple lines, separate the line numbers by commas or use the range syntax to select a chunk of lines. This feature uses the `parse-number-range` library and you can find [more syntax](https://www.npmjs.com/package/parse-numeric-range) on their project details. + + ```jsx {1,4-6,11} + import React from 'react'; + + function MyComponent(props) { + if (props.isBar) { + return
Bar
; + } + + return
Foo
; + } + + export default MyComponent; + ``` + +```jsx {1,4-6,11} +import React from 'react'; + +function MyComponent(props) { + if (props.isBar) { + return
Bar
; + } + + return
Foo
; +} + +export default MyComponent; +``` + +You can also use comments with `highlight-next-line`, `highlight-start`, and `highlight-end` to select which lines are highlighted. + + ```jsx + function HighlightSomeText(highlight) { + if (highlight) { + // highlight-next-line + return 'This text is highlighted!'; + } + + return 'Nothing highlighted'; + } + + function HighlightMoreText(highlight) { + // highlight-start + if (highlight) { + return 'This range is highlighted!'; + } + // highlight-end + + return 'Nothing highlighted'; + } + ``` + +```jsx +function HighlightSomeText(highlight) { + if (highlight) { + // highlight-next-line + return 'This text is highlighted!'; + } + + return 'Nothing highlighted'; +} + +function HighlightMoreText(highlight) { + // highlight-start + if (highlight) { + return 'This range is highlighted!'; + } + // highlight-end + + return 'Nothing highlighted'; +} +``` + +Supported commenting syntax: + +| Language | Syntax | +| ---------- | ------------------------ | +| JavaScript | `/* ... */` and `// ...` | +| JSX | `{/* ... */}` | +| Python | `# ...` | +| HTML | `` | + +If there's a syntax that is not currently supported, we are open to adding them! Pull requests welcome. + +## Interactive code editor + +(Powered by [React Live](https://github.com/FormidableLabs/react-live)) + +You can create an interactive coding editor with the `@docusaurus/theme-live-codeblock` plugin. + +First, add the plugin to your package. + +```bash npm2yarn +npm install --save @docusaurus/theme-live-codeblock +``` + +You will also need to add the plugin to your `docusaurus.config.js`. + +```js {3} +module.exports = { + // ... + themes: ['@docusaurus/theme-live-codeblock'], + // ... +}; +``` + +To use the plugin, create a code block with `live` attached to the language meta string. + + ```jsx live + function Clock(props) { + const [date, setDate] = useState(new Date()); + useEffect(() => { + var timerID = setInterval(() => tick(), 1000); + + return function cleanup() { + clearInterval(timerID); + }; + }); + + function tick() { + setDate(new Date()); + } + + return ( +
+

It is {date.toLocaleTimeString()}.

+
+ ); + } + ``` + +The code block will be rendered as an interactive editor. Changes to the code will reflect on the result panel live. + +```jsx live +function Clock(props) { + const [date, setDate] = useState(new Date()); + useEffect(() => { + var timerID = setInterval(() => tick(), 1000); + + return function cleanup() { + clearInterval(timerID); + }; + }); + + function tick() { + setDate(new Date()); + } + + return ( +
+

It is {date.toLocaleTimeString()}.

+
+ ); +} +``` + +### Imports + +:::caution react-live and imports + +It is not possible to import components directly from the react-live code editor, you have to define available imports upfront. + +::: + +By default, all React imports are available. If you need more imports available, swizzle the react-live scope: + +```bash npm2yarn +npm run swizzle @docusaurus/theme-live-codeblock ReactLiveScope +``` + +```jsx {3-15,21} title="src/theme/ReactLiveScope/index.js" +import React from 'react'; + +const ButtonExample = (props) => ( +