diff --git a/CHANGELOG.md b/CHANGELOG.md
index 459294940..e9979db4e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,22 @@
# Changelog
+## v0.29.2 (2023-03-02)
+
+ * Enhancements
+ * Improvements to cheatsheets spacing
+ * Improvements to cheatsheets print
+ * Include sections of modules and extras in search suggestions
+ * Make sidebar links full-width and add hover states
+ * Improve clickable area of sidebar tabs
+ * Improve contrast on sidebar
+
+ * Bug fix
+ * Add media type for .license files for epub
+ * Fix overscroll on the sidebar
+ * Focus search input immediately after keyboard shortcut
+ * Don't attempt parsing code blocks that don't look like modules
+ * Fix visited link color in admonition blocks
+
## v0.29.1 (2022-11-21)
* Enhancements
diff --git a/README.md b/README.md
index e0c605f18..6fde5455f 100644
--- a/README.md
+++ b/README.md
@@ -12,20 +12,20 @@ To see all supported options, see the documentation for [mix docs](https://hexdo
ExDoc ships with many features:
- * Automatically generates HTML and EPUB documents from your API documentation
- * Responsive design with built-in layout for phones and tablets
- * Support for custom pages, guides, livebooks, and cheatsheets
- * Support for custom grouping of modules, functions, and pages in the sidebar
- * Generates HTML documentation accessible online and offline
- * Customizable logo on the generated documentation
- * Each documented entry contains a direct link back to the source code
- * Full-text search
- * Keyboard shortcuts (press `?` inside an existing documentation to bring the help dialog)
- * Quick search with autocompletion support (`s` keyboard shortcut)
- * Go-to shortcut to take to any HexDocs package documentation with autocomplete support (`g` keyboard shortcut)
- * Support for night-mode (automatically detected according to the browser preferences)
- * Show tooltips when mousing over a link to a module/function (works for the current project and across projects)
- * A version dropdown to quickly switch to other versions (automatically configured when hosted on HexDocs)
+ * Automatically generates HTML and EPUB documents from your API documentation.
+ * Responsive design, covering phones and tablets.
+ * Support for custom pages, guides, livebooks and cheatsheets.
+ * Support for custom grouping of modules, functions, and pages in the sidebar.
+ * Generates HTML documentation, accessible online and offline.
+ * Customizable logo.
+ * A direct link back to the source code for every documented entity.
+ * Full-text search.
+ * Keyboard shortcuts. (Press `?` to show help.)
+ * Quick-search with autocompletion support. (`s` keyboard shortcut.)
+ * Go-to shortcut with auto-complete to take the reader to any HexDocs package documentation. (`g` keyboard shortcut.)
+ * Support for night mode, activated according to the browser preference.
+ * Tooltips for links to modules and functions, for the current project and other projects.
+ * Version dropdown, automatically configured when hosted on HexDocs.
## Usage
@@ -33,7 +33,9 @@ You can use ExDoc with Mix (recommended for Elixir projects), with Rebar (recomm
### Using ExDoc with Mix
-First add ExDoc as a dependency. ExDoc requires Elixir v1.10 or later:
+ExDoc requires Elixir v1.10 or later.
+
+First, add ExDoc as a dependency:
```elixir
def deps do
@@ -43,13 +45,13 @@ def deps do
end
```
-Then run `mix deps.get` to install it.
+Then run `mix deps.get`.
> #### Erlang development environment {: .warning}
>
-> Some Operating System distributions split Erlang into multiple packages and at least one ExDoc dependency (`earmark_parser`) requires Erlang development environment. If you get a message like "/usr/lib/erlang/lib/parsetools-2.3.1/include/yeccpre.hrl: no such file or directory", it means you lack this environment. For instance, on the Debian operating system and its derivatives, you need to `apt install erlang-dev`.
+> Some Operating System distributions split Erlang into multiple packages, and at least one ExDoc dependency (`earmark_parser`) requires the Erlang development environment. If you see a message like "/usr/lib/erlang/lib/parsetools-2.3.1/include/yeccpre.hrl: no such file or directory", it means you lack this environment. For instance, on the Debian operating system and its derivatives, you need to `apt install erlang-dev`.
-ExDoc will automatically pull in information from your projects, like the application and version. However, you may want to set `:name`, `:source_url` and `:homepage_url` to have a nicer output from ExDoc, such as:
+ExDoc will automatically pull in information from your projects, such as the application and version. However, you may want to set `:name`, `:source_url` and `:homepage_url` in order to have nicer output from ExDoc:
```elixir
def project do
@@ -71,7 +73,7 @@ def project do
end
```
-Now you are ready to generate your project documentation with `mix docs`. To see all options available when generating docs, run `mix help docs`.
+Now you are ready to generate your project documentation with `mix docs`. To see all options available, run `mix help docs`.
### Using ExDoc with Rebar3
@@ -79,7 +81,7 @@ From Erlang/OTP 24+, you can use ExDoc to render your Erlang documentation writt
### Using ExDoc via command line
-You can use ExDoc via the command line as follows:
+You can use ExDoc via the command line.
1. Install ExDoc as an escript:
@@ -87,14 +89,14 @@ You can use ExDoc via the command line as follows:
$ mix escript.install hex ex_doc
```
-2. Then you are ready to use it in your projects. First, move into your project directory and make sure it is already compiled:
+2. Now you are ready to use it in your projects. Move into your project directory and make sure it's compiled:
```bash
$ cd PATH_TO_YOUR_PROJECT
$ mix compile
```
-3. Next invoke the `ex_doc` executable from your project:
+3. Invoke the `ex_doc` executable from your project:
```bash
$ ex_doc "PROJECT_NAME" "PROJECT_VERSION" _build/dev/lib/project/ebin -m "PROJECT_MODULE" -u "https://github.com/GITHUB_USER/GITHUB_REPO" -l path/to/logo.png
@@ -110,13 +112,13 @@ For example, here are some acceptable values:
## Syntax highlighting
-ExDoc uses [the makeup project](https://github.com/elixir-makeup/makeup) for syntax highlighting. By default, it includes highlighters for Erlang and Elixir. To highlight other languages, simply add the equivalent `makeup_LANGUAGE` package to your `mix.exs`/`rebar.config`. For example, for HTML support, you could add:
+ExDoc uses [the makeup project](https://github.com/elixir-makeup/makeup) for syntax highlighting. By default, highlighters for Erlang and Elixir are included. To syntax-highlight other languages, simply add the equivalent `makeup_LANGUAGE` package to your `mix.exs`/`rebar.config` file. For example, for HTML support you would add:
```elixir
- {:makeup_html, ">= 0.0.0", only: :dev, runtime: false}
+{:makeup_html, ">= 0.0.0", only: :dev, runtime: false}
```
-You can find all support languages [under the Makeup organization on GitHub](https://github.com/elixir-makeup) and [view them on Makeup's website](https://elixir-makeup.github.io/makeup_demo/).
+You can find all supported languages under [the Makeup organization on GitHub](https://github.com/elixir-makeup) and view them at [Makeup's website](https://elixir-makeup.github.io/makeup_demo/).
## Additional pages
@@ -126,7 +128,7 @@ You can publish additional pages in your project documentation by configuring th
* Cheatsheets (`.cheatmd` extension) - useful for discovery and quick reference. [Learn more](https://hexdocs.pm/ex_doc/cheatsheet.html).
- * Livebooks (`.livemd` extension) - useful for tutorials, interactive examples, and deep dives. [Learn more](https://livebook.dev/).
+ * Livebooks (`.livemd` extension) - useful for tutorials, interactive examples and deep dives. [Learn more](https://livebook.dev/).
For example, you can set your `:extras` to:
@@ -138,14 +140,23 @@ Run `mix help docs` for more information on configuration.
## Metadata
-ExDoc supports metadata keys in your documentation. For example, the `since` metadata is used to annotate from when a given module/function is available. In Elixir, you can add metadata to modules and functions, respectively, like this:
+ExDoc supports metadata keys in your documentation.
+
+In Elixir, you can add metadata to modules and functions.
+
+For a module, use `@moduledoc`:
```elixir
@moduledoc since: "1.10.0"
+```
+
+For a function, use `@doc`:
+
+```elixir
@doc since: "1.13.1"
```
-In Erlang's EDoc, you would do:
+In Erlang's EDoc:
```erlang
%% @since 0.1.0
@@ -153,31 +164,31 @@ In Erlang's EDoc, you would do:
The following metadata is available for both modules and functions:
- * `deprecated` (string) - marks the given module/function as deprecated with the given string as reason
- * `since` (string) - annotates the given module/function is available from a particular version
+ * `deprecated` (string) - marks a module/function as deprecated, with the given string as the reason.
+ * `since` (string) - declares a module/function available from a particular version.
The following metadata is available for modules:
- * `tags` (list of atoms) - a list of strings to be added as tags to the module (not supported by EDoc)
+ * `tags` (list of atoms) - a list of strings to be added as tags to the module. (Not supported by EDoc.)
## Auto-linking
-ExDoc for Elixir will automatically generate links across modules and functions if you enclose them in backticks:
+ExDoc for Elixir will automatically generate links across modules and functions if you enclose them in backticks.
- * By referring to a module, function, type or callback from your project, such as `` `MyModule` ``, ExDoc will automatically link to those
- * By referring to a module, function, type or callback from Elixir, such as `` `String` ``, ExDoc will automatically link to Elixir's stable documentation
- * By referring to a function, type, or callback from OTP, such as (`` `:queue.new/0` ``), ExDoc will automatically link to the OTP documentation
- * By referring to a module, function, type or callback from any of your dependencies, such as `` `MyDep` ``, ExDoc will automatically link to that dependency documentation on [hexdocs.pm](https://hexdocs.pm/) (the link can be configured by setting `docs: [deps: [my_dep: "https://path/to/docs/"]]` in your `mix.exs`)
+ * When referring to a module, function, type or callback from your project, such as `` `MyModule` ``, ExDoc will automatically link to it.
+ * When referring to a module, function, type or callback from Elixir, such as `` `String` ``, ExDoc will automatically link to it at Elixir's stable documentation.
+ * When referring to a function, type, or callback from OTP, such as (`` `:queue.new/0` ``), ExDoc will automatically link to it at the OTP documentation.
+ * When referring to a module, function, type or callback from any of your dependencies, such as `` `MyDep` ``, ExDoc will automatically link to it at the dependency's documentation at [hexdocs.pm](https://hexdocs.pm/). (The link can be configured by setting `docs: [deps: [my_dep: "https://path/to/docs/"]]` in your `mix.exs`.)
-ExDoc supports linking to modules (`` `MyModule` ``), functions (`` `MyModule.function/1` ``), types (`` `t:MyModule.type/2` ``) and callbacks (`` `c:MyModule.callback/3` ``). If you want to link a function, type or callback in the current module, you may skip the module name, such as `` `function/1` ``.
+ExDoc supports linking to modules (`` `MyModule` ``), functions (`` `MyModule.function/1` ``), types (`` `t:MyModule.type/2` ``) and callbacks (`` `c:MyModule.callback/3` ``). If you want to link a function, type or callback in the current module, you may skip the module name; e.g.: `` `function/1` ``.
-You can also use a custom text, e.g.: `` [custom text](`MyModule.function/1`) ``. This also allows to refer to OTP modules, e.g.: `` [`:array`](`:array`) ``.
+You can also use custom text; e.g.: `` [custom text](`MyModule.function/1`) ``. This also allows you to refer to OTP modules; e.g.: `` [`:array`](`:array`) ``.
-Link to extra pages like this: `` [Up and running](Up and running.md) `` (skipping the directory the page is in), the final link will be automatically converted to `up-and-running.html`.
+Link to extra pages using the syntax `` [Up and running](Up and running.md) ``, skipping the directory in which the page is. The final link will be automatically converted to `up-and-running.html`.
## Admonition blocks
-You may want to draw attention to certain statements by taking them out of the content's flow and labeling them with a priority. These are called admonitions, sometimes are also known as asides or callouts. An admonition block is rendered based on the assigned label or class. `ex_doc` supports the following tags: `warning`, `error`, `info`, `tip`, and `neutral` over header levels `h3` and `h4`.
+You may want to draw attention to certain statements by taking them out of the content's flow and labeling them with a priority. Such statements are called admonitions. (They are also known as asides or callouts.) An admonition block is rendered based on the assigned label or class. ExDoc supports `warning`, `error`, `info`, `tip` and `neutral` tags, on header levels `h3` and `h4`.
The syntax is as follows:
@@ -185,7 +196,7 @@ The syntax is as follows:
>
> This syntax will render an error block
-The result for the previous syntax is as follows:
+The result for the previous syntax is:
> #### Error {: .error}
>
@@ -220,20 +231,19 @@ defp before_closing_body_tag(_), do: ""
### Rendering Math
-If you write TeX-style math in your Markdown (like `$\sum_{i}^{N} x_i$`), they end up as raw text on the generated pages. To render them we recommend using [KaTeX](https://katex.org/), a JavaScript library that turns those expressions into actual graphics. To load and trigger KaTeX on every documentation page we can insert the following HTML:
+If you write TeX-style math in your Markdown, such as `$\sum_{i}^{N} x_i$`, it ends up as raw text on the generated pages. To render expressions, we recommend using [KaTeX](https://katex.org/), a JavaScript library that turns expressions into graphics. To load and trigger KaTeX on every documentation page, we can insert the following HTML:
```html
-
+
```
-For more details and configuration options see the [KaTeX Auto-render Extension](https://katex.org/docs/autorender.html).
+For more details and configuration options, see the [KaTeX Auto-render Extension](https://katex.org/docs/autorender.html).
### Rendering Vega-Lite plots
-Other objects you may want to render in a special manner are code snippets. For example, assuming your Markdown includes Vega-Lite specification in `vega-lite` code snippets, you can do:
+Snippets are also objects you may want to render in a special manner. For example, assuming your Markdown includes Vega-Lite specification in `vega-lite` code snippets:
```html
@@ -257,11 +267,11 @@ Other objects you may want to render in a special manner are code snippets. For
```
-For more details and configuration options see [vega/vega-embed](https://github.com/vega/vega-embed).
+For more details and configuration options, see [vega/vega-embed](https://github.com/vega/vega-embed).
### Rendering Mermaid graphs
-Similarly to the example above, if your Markdown includes Mermaid graph specification in `mermaid` code snippets, you can do:
+Similarly to the example above, if your Markdown includes Mermaid graph specification in `mermaid` code snippets:
```html
@@ -285,24 +295,24 @@ Similarly to the example above, if your Markdown includes Mermaid graph specific
```
-For more details and configuration options see the [Mermaid usage docs](https://mermaid-js.github.io/mermaid/#/usage).
+For more details and configuration options, see the [Mermaid usage docs](https://mermaid-js.github.io/mermaid/#/usage).
## Contributing
The easiest way to test changes to ExDoc is to locally rebuild the app and its own documentation:
- 1. Run `mix setup` to install all dependencies
- 2. Run `mix build` to generate docs. This is a custom alias that will build assets, recompile ExDoc, and output fresh docs into the `doc/` directory
- 3. If you want to contribute a pull request, please do not add to your commits the files generated in the `formatters/` directory
- 4. Run `mix lint` to check if the Elixir and JavaScript files are properly formatted.
- You can run `mix fix` to let the JavaScript linter and Elixir formatter fix the code automatically before submitting your pull request
-
-If working on the assets, please see the README in the `assets/` directory.
+ 1. Run `mix setup` to install all dependencies.
+ 2. Run `mix build` to generate the docs. This is a custom alias that will build assets, recompile ExDoc, and output fresh docs into the `doc/` directory.
+ 3. If working on the assets, you may wish to run the assets build script in watch mode: `npm run --prefix assets build:watch`.
+ 4. Run `mix lint` to check if the Elixir and JavaScript files are properly formatted. You can run `mix fix` to let the JavaScript linter and Elixir formatter fix the code automatically before submitting your pull request.
+ 5. Please do not add the files generated in the `formatters/` directory to your commits. These will be handled as necessary by the repository maintainers.
The build process is currently tested in Node 16 LTS.
+See the README in the `assets/` directory for more information on working on the assets.
+
## License
-ExDoc source code is released under Apache 2 License. The generated contents, however, are under different licenses based on projects used to help render HTML, including CSS, JS, and other assets.
+ExDoc source code is released under the Apache 2 License. The generated contents, however, are under different licenses based on projects used to help render HTML, including CSS, JS, and other assets.
-Any documentation generated by ExDoc, or any documentation generated by any "Derivative Works" (as specified in the Apache 2 License), must include a direct, readable, and visible link to the [ExDoc repository](https://github.com/elixir-lang/ex_doc) on each rendered material. For HTML pages, a rendered material represents every single page. For PDF, EPUB and other ebook formats, it means one entry for the whole material.
+Any documentation generated by ExDoc, or any documentation generated by any "Derivative Works" (as specified in the Apache 2 License), must include a direct, readable, and visible link to the [ExDoc repository](https://github.com/elixir-lang/ex_doc) on each rendered material. For HTML pages, every single page is a rendered material. For PDF, EPUB and other ebook formats, the whole body of documentation is a rendered material.
diff --git a/assets/README.md b/assets/README.md
index 983b8ef5b..2e5fcf6df 100644
--- a/assets/README.md
+++ b/assets/README.md
@@ -1,15 +1,10 @@
# Assets
-In this directory live all assets for `ExDoc`. The built, ready-to-use
-versions are found in `formatters/{html,epub}/dist`.
+All asset sources for `ExDoc` live in this directory. The built, ready-to-use versions are found in `formatters/{html,epub}/dist`.
-To work on these assets you first need to install [Node.js] and [npm]. (npm
-is usually installed along with Node.js.) The build process is currently tested
-in Node 16 LTS.
+To work on these assets you need to have [Node.js] and [npm] installed. (npm is usually installed along with Node.js.) The build process is currently tested in Node 16 LTS.
-Assets are built with [esbuild], which, along with the JavaScript linter and
-test-runner, is set as a dependency in the assets `package.json` and installed
-via [npm]:
+Assets are built with [esbuild], which, along with the JavaScript linter and test-runner, is set as a dependency in the assets `package.json` and installed via [npm]:
```bash
$ npm install --prefix assets
@@ -25,10 +20,19 @@ The following scripts are available from the root folder of the project.
$ npm run --prefix assets build
```
-This will build a complete production bundle, including JavaScript and CSS.
-If you run `mix build` at the `ExDoc` root after changing your assets, it will
-automatically recompile the assets, invoke `mix compile --force`, and generate
-fresh docs with your changes.
+Build a complete production bundle, including JavaScript and CSS.
+
+(Note that this is not required to be manually run when generating docs: if you run `mix build` at the `ExDoc` root after changing your assets, the assets will be recompiled, `mix compile --force` will be invoked, and fresh docs with your changes will be generated.)
+
+### `build:watch`
+
+```bash
+$ npm run --prefix assets build:watch
+```
+
+Run the `build` command with watch mode set, providing for automatic assets rebuilds on every asset file change.
+
+Additionally, in watch mode, the docs are built after every asset rebuild, meaning the only action required to check results after changing asset sources is to refresh/reload the browser or EPUB reader.
### `lint`
@@ -54,6 +58,7 @@ $ npm run --prefix assets test
Run all the available JavaScript tests using [Karma].
+
[esbuild]: https://esbuild.github.io
[Node.js]: https://nodejs.org/
[npm]: https://www.npmjs.com/
diff --git a/assets/build/build.js b/assets/build/build.js
index cb67880c9..b490cd034 100644
--- a/assets/build/build.js
+++ b/assets/build/build.js
@@ -1,25 +1,25 @@
const path = require('node:path')
+const process = require('node:process')
+const child_process = require('node:child_process')
const esbuild = require('esbuild')
const util = require('./utilities')
+const watchMode = Boolean(process.env.npm_config_watch)
+
/**
* Configuration variables
*/
-// Build options
+// Basic build configuration and values
const commonOptions = {
entryNames: '[name]-[hash]',
bundle: true,
minify: true,
- logLevel: 'info',
-}
-const epubOptions = {
- outdir: path.resolve('../formatters/epub/dist'),
-}
-const htmlOptions = {
- outdir: path.resolve('../formatters/html/dist'),
+ logLevel: watchMode ? 'warning' : 'info',
}
+const epubOutDir = path.resolve('../formatters/epub/dist')
+const htmlOutDir = path.resolve('../formatters/html/dist')
// Handlebars template paths
const templates = {
@@ -29,52 +29,67 @@ const templates = {
}
templates.compiledPath = path.join(templates.compiledDir, templates.filename)
-// Directories to create/clean
-const cleanDirs = {
- pre: [
- epubOptions.outdir,
- htmlOptions.outdir,
- templates.compiledDir,
- ],
- postHtml: [
- templates.compiledDir,
- ],
-}
-
/**
- * Clean: pre-build
+ * Build: Plugins
*/
-util.ensureEmptyDirsExistSync(cleanDirs.pre)
+// Empty outdir directories before both normal and watch-mode builds
+const epubOnStartPlugin = {
+ name: 'epubOnStart',
+ setup(build) { build.onStart(() => util.ensureEmptyDirsExistSync([epubOutDir])) },
+}
+const htmlOnStartPlugin = {
+ name: 'htmlOnStart',
+ setup(build) { build.onStart(() => util.ensureEmptyDirsExistSync([htmlOutDir])) },
+}
/**
- * Build: ePub
+ * Build
*/
-const epubBuild = esbuild.build({
+// ePub: esbuild options
+const epubBuildOptions = {
...commonOptions,
- ...epubOptions,
+ outdir: epubOutDir,
+ plugins: [epubOnStartPlugin],
entryPoints: [
'js/entry/epub.js',
'css/entry/epub-elixir.css',
'css/entry/epub-erlang.css',
],
-}).catch(() => process.exit(1))
-
+}
-/**
- * Build: HTML
- */
+// ePub: esbuild (conditionally configuring watch mode and rebuilding of docs)
+if (!watchMode) {
+ esbuild.build(epubBuildOptions).catch(() => process.exit(1))
+} else {
+ esbuild.build({
+ ...epubBuildOptions,
+ watch: {
+ onRebuild(error, result) {
+ if (error) {
+ console.error('[watch] epub build failed:', error)
+ } else {
+ console.log('[watch] epub assets rebuilt')
+ if (result.errors.length > 0) console.log('[watch] epub build errors:', result.errors)
+ if (result.warnings.length > 0) console.log('[watch] epub build warnings:', result.warnings)
+ generateDocs("epub")
+ }
+ },
+ },
+ }).then(() => generateDocs("epub")).catch(() => process.exit(1))
+}
-// Precompile Handlebars templates
+// HTML: Precompile Handlebars templates
util.runShellCmdSync(`npx handlebars ${templates.sourceDir} --output ${templates.compiledPath}`)
-// esbuild
-const htmlBuild = esbuild.build({
+// HTML: esbuild options
+const htmlBuildOptions = {
...commonOptions,
- ...htmlOptions,
+ outdir: htmlOutDir,
+ plugins: [htmlOnStartPlugin],
entryPoints: [
templates.compiledPath,
'js/entry/html.js',
@@ -86,22 +101,55 @@ const htmlBuild = esbuild.build({
// TODO: Remove when @fontsource/* removes legacy .woff
'.woff': 'file',
},
-}).catch(() => process.exit(1))
+}
+
+// HTML: esbuild (conditionally configuring watch mode and rebuilding of docs)
+if (!watchMode) {
+ esbuild.build(htmlBuildOptions).then(() => buildTemplatesRuntime()).catch(() => process.exit(1))
+} else {
+ esbuild.build({
+ ...htmlBuildOptions,
+ watch: {
+ onRebuild(error, result) {
+ if (error) {
+ console.error('[watch] html build failed:', error)
+ } else {
+ console.log('[watch] html assets rebuilt')
+ if (result.errors.length > 0) console.log('[watch] html build errors:', result.errors)
+ if (result.warnings.length > 0) console.log('[watch] html build warnings:', result.warnings)
+ buildTemplatesRuntime()
+ generateDocs("html")
+ }
+ },
+ },
+ }).then(() => {
+ buildTemplatesRuntime()
+ generateDocs("html")
+ }).catch(() => process.exit(1))
+}
+
+/**
+ * Functions
+ */
+// HTML: Handlebars runtime
// The Handlebars runtime from the local module dist directory is used to ensure
// the version matches that which was used to compile the templates.
// 'bundle' must be false in order for 'Handlebar' to be available at runtime.
-esbuild.build({
- ...commonOptions,
- ...htmlOptions,
- entryPoints: ['node_modules/handlebars/dist/handlebars.runtime.js'],
- bundle: false,
-}).catch(() => process.exit(1))
-
+function buildTemplatesRuntime() {
+ esbuild.build({
+ ...commonOptions,
+ outdir: htmlOutDir,
+ entryPoints: ['node_modules/handlebars/dist/handlebars.runtime.js'],
+ bundle: false,
+ }).catch(() => process.exit(1))
+}
-/**
- * Clean: post-build
- */
-Promise.all([epubBuild, htmlBuild]).then(() => {
- util.ensureEmptyDirsExistSync(cleanDirs.postHtml)
-})
+// Docs generation (used in watch mode only)
+function generateDocs(formatter) {
+ console.log(`Building ${formatter} docs`)
+ process.chdir('../')
+ child_process.execSync('mix compile --force')
+ child_process.execSync(`mix docs --formatter ${formatter}`)
+ process.chdir('./assets/')
+}
diff --git a/assets/build/utilities.js b/assets/build/utilities.js
index 3c043e9df..9ac0d11a7 100644
--- a/assets/build/utilities.js
+++ b/assets/build/utilities.js
@@ -9,7 +9,7 @@ module.exports.runShellCmdSync = (command) => {
} else {
if (stdout) { console.log('\n' + stdout) }
if (stderr) { console.log('\n' + stderr) }
- return
+ return true
}
})
}
diff --git a/assets/css/_html.css b/assets/css/_html.css
index 66d747786..d300f95ca 100644
--- a/assets/css/_html.css
+++ b/assets/css/_html.css
@@ -36,7 +36,6 @@
@import 'print-cheatsheet.css';
@import 'makeup.css';
-
body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],
body.dark .content-inner img[src*="#gh-light-mode-only"] {
display: none;
diff --git a/assets/css/content/admonition.css b/assets/css/content/admonition.css
index dfb1cb455..a960c5092 100644
--- a/assets/css/content/admonition.css
+++ b/assets/css/content/admonition.css
@@ -4,7 +4,7 @@
border-left: 0;
}
-.content-inner blockquote:is(.warning, .error, .info, .neutral, .tip) a {
+.content-inner blockquote:is(.warning, .error, .info, .neutral, .tip) :is(a, a:visited) {
color: var(--black);
}
@@ -96,3 +96,17 @@
border: 1px solid var(--inlineCodeBorder);
color: var(--black);
}
+
+@media screen and (max-width: 768px) {
+ .content-inner blockquote:is(.warning, .error, .info, .neutral, .tip) {
+ margin-left: calc(-1 * var(--content-gutter));
+ margin-right: calc(-1 * var(--content-gutter));
+ padding-left: var(--content-gutter);
+ padding-right: var(--content-gutter);
+ border-radius: 0;
+ }
+
+ .content-inner blockquote :is(h3, h4):is(.warning, .error, .info, .neutral, .tip) {
+ margin: 0 calc(-1 * var(--content-gutter));
+ }
+}
diff --git a/assets/css/content/cheatsheet.css b/assets/css/content/cheatsheet.css
index ab75935ef..6671b23eb 100644
--- a/assets/css/content/cheatsheet.css
+++ b/assets/css/content/cheatsheet.css
@@ -1,285 +1,297 @@
-@media screen {
+.page-cheatmd .content-inner {
+ --horizontal-space: 1.5em;
+ --vertical-space: 1em;
+}
+
+@media (max-width: 600px) {
.page-cheatmd .content-inner {
- max-width: 1200px;
+ --horizontal-space: 1em;
+ --vertical-space: .75em;
}
+}
- /* h1 styling */
+.page-cheatmd .content-inner {
+ max-width: 1200px;
+}
- .page-cheatmd h1 {
- margin-bottom: 1em;
- }
+/* h1 */
- /* h2 styling */
+.page-cheatmd .content-inner h1 {
+ margin-bottom: var(--vertical-space);
+}
- .page-cheatmd h2 {
- margin: 1em 0;
- column-span: all;
- padding-left: 3px;
- color: var(--gray700);
- font-weight: 500;
- }
+/* h2 */
- .page-cheatmd.dark h2 {
- color: var(--gray200);
- }
+.page-cheatmd .content-inner h2 {
+ margin: var(--vertical-space) 0;
+ column-span: all;
+ color: var(--gray700);
+ font-weight: 500;
+}
- /* h3 styling */
+.page-cheatmd.dark .content-inner h2 {
+ color: var(--gray200);
+}
- .page-cheatmd h3 {
- white-space: nowrap;
- overflow: hidden;
- margin: 0 0 1em;
- padding-left: 5px;
- color: var(--main);
- font-weight: 400;
- }
+/* h3 */
- .page-cheatmd section.h3 {
- min-width: 300px;
- margin: 0 0 2em 0;
- break-inside: avoid;
- -webkit-column-break-inside: avoid;
- }
+.page-cheatmd .content-inner h3 {
+ margin: 0 0 1em;
+ color: var(--main);
+ font-weight: 400;
+ overflow: hidden;
+}
- .page-cheatmd h3::after {
- margin-left: 24px;
- content: "";
- vertical-align: middle;
- display: inline-block;
- width: 100%;
- height: 1px;
- background: linear-gradient(
- to right,
- rgba(116, 95, 181, 0.2),
- transparent 80%
- );
- }
+.page-cheatmd .content-inner h3.section-heading .hover-link {
+ display: none;
+}
- /* h4 styling */
+.page-cheatmd .content-inner section.h3 {
+ min-width: 300px;
+ margin: 0 0 calc(var(--vertical-space) * 2) 0;
+ break-inside: avoid;
+}
- .page-cheatmd h4 {
- display: block;
- margin: 0;
- padding: 0.25em 1.5em;
- font-weight: 400;
- background: var(--gray100);
- color: #567;
- border: solid 1px 1px 0 1px var(--gray100);
- }
+.page-cheatmd .content-inner h3::after {
+ content: "";
+ margin-left: calc(var(--horizontal-space) / 2);
+ vertical-align: baseline;
+ display: inline-block;
+ width: 100%;
+ height: 1px;
+ margin-right: -100%;
+ margin-bottom: 5px;
+ background-color: var(--codeBorder);
+}
- .page-cheatmd.dark h4 {
- background: #192f50;
- color: var(--textBody);
- border: 1px solid #192f50;
- border-bottom: 0;
- }
+/* h4 */
- /* Paragraphs */
+.page-cheatmd .content-inner h4 {
+ display: block;
+ margin: 0;
+ padding: .25em var(--horizontal-space);
+ font-weight: 400;
+ background: var(--gray100);
+ color: #567;
+ border: solid 1px 1px 0 1px var(--gray100);
+}
- .page-cheatmd .h2 p {
- margin: 0;
- display: block;
- background: var(--gray50);
- padding: 1.5em;
- }
+.page-cheatmd.dark .content-inner h4 {
+ background: #192f50;
+ color: var(--textBody);
+ border: 1px solid #192f50;
+ border-bottom: 0;
+}
- .page-cheatmd.dark .h2 p {
- background: var(--gray700);
- }
+/* Paragraphs */
- .page-cheatmd .h2 p > code {
- color: #eb5757;
- border-radius: 3px;
- padding: 0.2em 0.4em;
- }
+.page-cheatmd .content-inner .h2 p {
+ margin: 0;
+ display: block;
+ background: var(--gray50);
+ padding: var(--vertical-space) var(--horizontal-space);
+}
- /* Code blocks */
+.page-cheatmd.dark .content-inner .h2 p {
+ background: var(--gray700);
+}
- .page-cheatmd pre code {
- padding: 1em 1.5em;
- }
+.page-cheatmd .content-inner .h2 p > code {
+ color: #eb5757;
+ border-radius: 3px;
+ padding: .2em .4em;
+}
- .page-cheatmd pre code::-webkit-scrollbar {
- width: 0.4rem;
- height: 0.6rem;
- }
+/* Code blocks */
- .page-cheatmd .h2 pre {
- margin: 0;
- }
+.page-cheatmd .content-inner pre code {
+ padding: var(--vertical-space) var(--horizontal-space);
+}
- .page-cheatmd pre.wrap {
- white-space: break-spaces;
- }
+.page-cheatmd .content-inner pre code::-webkit-scrollbar {
+ width: .4rem;
+ height: .6rem;
+}
- /* Tables */
+.page-cheatmd .content-inner .h2 pre {
+ margin: 0;
+}
- .page-cheatmd .h2 table {
- display: table;
- box-sizing: border-box;
- width: 100%;
- border-collapse: collapse;
- margin: 0;
- }
+.page-cheatmd .content-inner .h2 pre + pre {
+ margin-top: -1px;
+}
- .page-cheatmd .h2 table th {
- padding: 0.75em 1.5em;
- line-height: 2em;
- margin-bottom: -1px;
- vertical-align: middle;
- border-bottom: 1px solid var(--codeBorder);
- }
+.page-cheatmd .content-inner pre.wrap {
+ white-space: break-spaces;
+}
- .page-cheatmd .h2 table td {
- padding: 0.75em 1.5em;
- border: 0;
- border-bottom: 1px solid var(--codeBorder);
+@media screen and (max-width: 768px) {
+ .page-cheatmd .content-inner pre code {
+ border-left-width: 1px !important;
+ border-right-width: 1px !important;
}
+}
- .page-cheatmd .h2 table tr:first-child {
- border-top: 1px solid var(--codeBorder);
- }
+/* Tables */
- .page-cheatmd .h2 table td code {
- color: #eb5757;
- border-radius: 3px;
- padding: 0.2em 0.4em;
- }
+.page-cheatmd .content-inner .h2 table {
+ display: table;
+ box-sizing: border-box;
+ width: 100%;
+ border-collapse: collapse;
+ margin: 0;
+}
- .page-cheatmd .h2 thead {
- background-color: var(--gray50);
- }
+.page-cheatmd .content-inner .h2 th {
+ padding: var(--vertical-space) var(--horizontal-space);
+ line-height: inherit;
+ margin-bottom: -1px;
+ vertical-align: middle;
+ border-bottom: 1px solid var(--codeBorder);
+}
- .page-cheatmd.dark .h2 thead {
- background-color: var(--gray700);
- }
+.page-cheatmd .content-inner .h2 td {
+ padding: var(--vertical-space) var(--horizontal-space);
+ border: 0;
+ border-bottom: 1px solid var(--codeBorder);
+}
- .page-cheatmd .h2 tbody {
- background-color: var(--codeBackground);
- }
+.page-cheatmd .content-inner .h2 tr:first-child {
+ border-top: 1px solid var(--codeBorder);
+}
- /* Lists */
- .page-cheatmd .h2 ul,
- .page-cheatmd .h2 ol {
- margin: 0;
- padding: 0;
- }
+.page-cheatmd .content-inner .h2 td code {
+ color: #eb5757;
+ border-radius: 3px;
+ padding: .2em .4em;
+}
- .page-cheatmd .h2 li {
- list-style-position: inside;
- padding: 0.5em 1.5em;
- line-height: 2em;
- vertical-align: middle;
- background-color: var(--codeBackground);
- border-bottom: 1px solid var(--codeBorder);
- }
+.page-cheatmd .content-inner .h2 thead {
+ background-color: var(--gray50);
+}
- .page-cheatmd .h2 ul + pre code,
- .page-cheatmd .h2 ol + pre code {
- border-top: 0;
- }
+.page-cheatmd.dark .content-inner .h2 thead {
+ background-color: var(--gray700);
+}
- .page-cheatmd .h2 li > code {
- color: #eb5757;
- border-radius: 3px;
- padding: 0.2em 0.4em;
- }
+.page-cheatmd .content-inner .h2 tbody {
+ background-color: var(--codeBackground);
+}
- /* Columns */
+/* Lists */
- .page-cheatmd section.width-50 {
- display: block;
- width: 50%;
- margin: 0;
- }
+.page-cheatmd .content-inner .h2 :is(ul, ol) {
+ margin: 0;
+ padding: 0;
+}
- .page-cheatmd section.width-50 > section > table {
- width: 100%;
- }
+.page-cheatmd .content-inner .h2 li {
+ list-style-position: inside;
+ padding: .5em var(--horizontal-space);
+ line-height: 2em;
+ vertical-align: middle;
+ background-color: var(--codeBackground);
+ border-bottom: 1px solid var(--codeBorder);
+}
- .page-cheatmd section.col-2 {
- column-count: 2;
- column-gap: 40px;
- height: auto;
- }
+.page-cheatmd .content-inner .h2 :is(ul, ol) + pre code {
+ border-top: 0;
+}
- .page-cheatmd section.col-2-left {
- display: grid;
- grid-template-columns: 33% 63.2%;
- column-gap: 40px;
- }
+.page-cheatmd .content-inner .h2 li > code {
+ color: #eb5757;
+ border-radius: 3px;
+ padding: .2em .4em;
+}
- .page-cheatmd section.col-2-left > h2 {
- display: block;
- grid-column-end: span 2;
- }
+/* Columns */
- .page-cheatmd section.col-3 {
- column-count: 3;
- column-gap: 40px;
- height: auto;
- }
+.page-cheatmd .content-inner section.width-50 {
+ display: block;
+ width: 50%;
+ margin: 0;
+}
- .page-cheatmd section.list-4 > ul {
- display: flex;
- flex-wrap: wrap;
- }
+.page-cheatmd .content-inner section.width-50 > section > table {
+ width: 100%;
+}
- .page-cheatmd section.list-4 > ul > li {
- flex: 0 0 25%;
- }
+.page-cheatmd .content-inner section:is(.col-2, .col-2-left, .col-3) {
+ column-gap: 40px;
+}
- .page-cheatmd section.list-6 > ul {
- display: flex;
- flex-wrap: wrap;
- }
+.page-cheatmd .content-inner section.col-2 {
+ column-count: 2;
+ height: auto;
+}
- .page-cheatmd section.list-6 > ul > li {
- flex: 0 0 16.6667%;
- }
+.page-cheatmd .content-inner section.col-2-left {
+ display: grid;
+ grid-template-columns: calc(100% / 3) auto;
+}
- /* Media query */
+.page-cheatmd .content-inner section.col-2-left > h2 {
+ grid-column-end: span 2;
+}
- @media (max-width: 1400px) {
- .page-cheatmd section.col-3 {
- column-count: 2;
- column-gap: 40px;
- }
+.page-cheatmd .content-inner section.col-3 {
+ column-count: 3;
+ height: auto;
+}
+
+.page-cheatmd .content-inner section.list-4 > ul {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+.page-cheatmd .content-inner section.list-4 > ul > li {
+ flex: 0 0 calc(100% / 4);
+}
+
+.page-cheatmd .content-inner section.list-6 > ul {
+ display: flex;
+ flex-wrap: wrap;
+}
- .page-cheatmd section.col-2-left {
- display: block;
- column-count: 1;
- }
+.page-cheatmd .content-inner section.list-6 > ul > li {
+ flex: 0 0 calc(100% / 6);
+}
+
+/* Layout adjustments for smaller viewports. Limited to screen as sufficient width is assumed when printing. */
+
+@media screen and (max-width: 1400px) {
+ .page-cheatmd .content-inner section.col-3 {
+ column-count: 2;
}
- @media (max-width: 1200px) {
- .page-cheatmd section.col-3,
- .page-cheatmd section.col-2 {
- column-count: 1;
- }
+ .page-cheatmd .content-inner section.col-2-left {
+ display: block;
+ column-count: 1;
+ }
+}
- .page-cheatmd section.list-6 > ul > li {
- flex: 0 0 25%;
- }
+@media screen and (max-width: 1200px) {
+ .page-cheatmd .content-inner section:is(.col-2, .col-3) {
+ column-count: 1;
}
- @media (max-width: 1000px) {
- .page-cheatmd section.list-4 > ul > li {
- flex: 0 0 33%;
- }
+ .page-cheatmd .content-inner section.list-6 > ul > li {
+ flex: 0 0 calc(100% / 4);
+ }
+}
- .page-cheatmd section.list-6 > ul > li {
- flex: 0 0 33%;
- }
+@media screen and (max-width: 1000px) {
+ .page-cheatmd .content-inner section:is(.list-4, .list-6) > ul > li {
+ flex: 0 0 calc(100% / 3);
}
+}
- @media (max-width: 600px) {
- .page-cheatmd section.list-4 > ul > li {
- flex: 0 0 50%;
- }
+@media screen and (max-width: 600px) {
+ .page-cheatmd .content-inner section:is(.list-4, .list-6) > ul > li {
+ flex: 0 0 calc(100% / 2);
+ }
- .page-cheatmd section.list-6 > ul > li {
- flex: 0 0 50%;
- }
+ .page-cheatmd .content-inner section.width-50 {
+ width: 100%;
}
}
diff --git a/assets/css/content/code.css b/assets/css/content/code.css
index 35274dd63..0c688bca9 100644
--- a/assets/css/content/code.css
+++ b/assets/css/content/code.css
@@ -31,12 +31,12 @@
}
.content-inner pre code::-webkit-scrollbar {
- width: 0.4rem;
- height: 0.4rem;
+ width: .4rem;
+ height: .4rem;
}
.content-inner pre code::-webkit-scrollbar-thumb {
- border-radius: 0.25rem;
+ border-radius: .25rem;
background-color: var(--codeScrollThumb);
}
@@ -74,3 +74,29 @@
border-bottom: 0;
border-radius: 2px;
}
+
+@media screen and (max-width: 768px) {
+ /*
+ TODO:
+
+ This selector can be more specific once Firefox ships default
+ support for the :has() pseudo-class: https://caniuse.com/css-has
+
+ .content-inner > pre:has(code),
+ .content-inner section > pre:has(code) {
+ */
+ .content-inner > pre,
+ .content-inner section > pre {
+ margin-left: calc(-1 * var(--content-gutter));
+ margin-right: calc(-1 * var(--content-gutter));
+ }
+
+ .content-inner > pre code,
+ .content-inner section > pre code {
+ padding-left: var(--content-gutter);
+ padding-right: var(--content-gutter);
+ border-radius: 0;
+ border-left-width: 0;
+ border-right-width: 0;
+ }
+}
diff --git a/assets/css/content/functions.css b/assets/css/content/functions.css
index 8c85572fe..cb53523ef 100644
--- a/assets/css/content/functions.css
+++ b/assets/css/content/functions.css
@@ -54,6 +54,12 @@
border: none;
}
+@media screen and (max-width: 768px) {
+ .content-inner .detail-header a.detail-link {
+ margin-left: -30px;
+ }
+}
+
.content-inner .specs pre {
font-family: var(--monoFontFamily);
font-size: .9em;
@@ -72,6 +78,12 @@
margin: 1.2em 0 3em 1.2em;
}
+@media screen and (max-width: 768px) {
+ .content-inner .docstring {
+ margin-left: 0;
+ }
+}
+
.content-inner .docstring:is(h2, h3, h4, h5) {
font-weight: 700;
}
diff --git a/assets/css/content/general.css b/assets/css/content/general.css
index 962389466..09ee98a96 100644
--- a/assets/css/content/general.css
+++ b/assets/css/content/general.css
@@ -135,6 +135,10 @@
vertical-align: top;
}
+.content-inner .section-heading {
+ position: relative;
+}
+
.content-inner .section-heading:hover a.hover-link {
opacity: 1;
text-decoration: none;
@@ -146,15 +150,20 @@
opacity: 0;
padding: .3em .6em .6em;
line-height: 1em;
- margin-left: -2.7em;
+ margin-left: -2.4em;
text-decoration: none;
border: none;
font-size: 16px;
vertical-align: middle;
}
-.content-inner .detail :is(h1, h2, h3, h4, h5, h6).section-heading {
- margin-left: .3em;
+@media screen and (max-width: 768px) {
+ .content-inner .section-heading a.hover-link {
+ position: absolute;
+ bottom: 0;
+ right: -20px;
+ padding: .3em .6em .4em;
+ }
}
.content-inner .app-vsn {
@@ -179,3 +188,9 @@
line-height: 24px;
font-weight: 400;
}
+
+@media screen and (max-width: 768px) {
+ .content-inner :is(ol, ul) {
+ padding-left: calc(1.5 * var(--content-gutter));
+ }
+}
diff --git a/assets/css/custom-props/_erlang.css b/assets/css/custom-props/_erlang.css
index 8ec9c5017..330259475 100644
--- a/assets/css/custom-props/_erlang.css
+++ b/assets/css/custom-props/_erlang.css
@@ -1,5 +1,3 @@
-@import 'common.css';
-
:root {
--main: hsl(0, 100%, 64%);
--main-darkened-10: hsl(0, 100%, 54%);
diff --git a/assets/css/custom-props/common.css b/assets/css/custom-props/common.css
index a3963326b..4cc37d117 100644
--- a/assets/css/custom-props/common.css
+++ b/assets/css/custom-props/common.css
@@ -1,4 +1,8 @@
:root {
+ /* Layout & Whitespace */
+ --content-width: 949px;
+ --content-gutter: 60px;
+
/* Font Families */
--serifFontFamily: 'Merriweather', 'Book Antiqua', Georgia, 'Century Schoolbook', serif;
--sansFontFamily: 'Lato', sans-serif;
@@ -9,17 +13,20 @@
--baseLineHeight: 1.5em;
/* Colours */
- --gray50-lightened-2: hsl(207, 43%, 98% );
+ --gray25: hsl(207, 43%, 98% );
--gray50: hsl(207, 43%, 96% );
--gray100: hsl(212, 33%, 91% );
- --gray200: hsl(210, 26%, 84% );
- --gray300: hsl(210, 21%, 64% );
+ --gray200: hsl(210, 29%, 88% );
+ --gray300: hsl(210, 26%, 84% );
+ --gray400: hsl(210, 21%, 64% );
--gray500: hsl(210, 21%, 34% );
--gray600: hsl(210, 27%, 26% );
--gray700: hsl(212, 35%, 17% );
--gray800: hsl(216, 52%, 11% );
--gray800-opacity-0: hsla(216, 52%, 11%, 0%);
--gray900: hsl(218, 73%, 4% );
+ --gray900-opacity-50: hsla(218, 73%, 4%, 50%);
+ --gray900-opacity-0: hsla(218, 73%, 4%, 0%);
--coldGrayFaint: hsl(240, 5%, 97% );
--coldGrayLight: hsl(240, 5%, 88% );
--coldGray-lightened-10: hsl(240, 5%, 56% );
@@ -27,13 +34,22 @@
--coldGrayDark: hsl(240, 5%, 28% );
--coldGrayDim: hsl(240, 5%, 18% );
--yellowLight: hsl( 60, 100%, 81% );
- --yellowDark: hsl(60deg 100% 43% / 62%);
+ --yellowDark: hsl( 60, 100%, 43%, 62%);
--yellow: hsl( 60, 100%, 43% );
--green-lightened-10: hsl( 90, 100%, 45% );
--green: hsl( 90, 100%, 35% );
--white: hsl( 0, 0%, 100% );
+ --white-opacity-50: hsla( 0, 0%, 100%, 50%);
--white-opacity-10: hsla( 0, 0%, 100%, 10%);
+ --white-opacity-0: hsla( 0, 0%, 100%, 0%);
--black: hsl( 0, 0%, 0% );
--black-opacity-10: hsla( 0, 0%, 0%, 10%);
--black-opacity-50: hsla( 0, 0%, 0%, 50%);
}
+
+@media screen and (max-width: 768px) {
+ :root {
+ --content-width: 100%;
+ --content-gutter: 20px;
+ }
+}
diff --git a/assets/css/custom-props/theme-dark.css b/assets/css/custom-props/theme-dark.css
index 61f880670..88ccb0e86 100644
--- a/assets/css/custom-props/theme-dark.css
+++ b/assets/css/custom-props/theme-dark.css
@@ -54,10 +54,11 @@ body.dark {
--settingsInputBorder: var(--gray700);
--settingsSectionBorder: var(--gray700);
- --quickSwitchInput: var(--gray200);
+ --quickSwitchInput: var(--gray300);
--quickSwitchContour: var(--gray500);
--success: var(--green-lightened-10);
--sidebarButton: var(--gray50);
+ --sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%);
}
diff --git a/assets/css/custom-props/theme-light.css b/assets/css/custom-props/theme-light.css
index 158e23575..edd1dc242 100644
--- a/assets/css/custom-props/theme-light.css
+++ b/assets/css/custom-props/theme-light.css
@@ -4,7 +4,7 @@
--textBody: var(--gray700);
--textHeaders: var(--gray800);
--textDetailBackground: var(--coldGrayFaint);
- --textFooter: var(--coldGray);
+ --textFooter: var(--gray600);
--links: var(--black);
--linksVisited: var(--black);
@@ -37,11 +37,11 @@
--fnDeprecated: var(--yellowLight);
--blink: var(--yellowLight);
- --codeBackground: var(--gray50-lightened-2);
+ --codeBackground: var(--gray25);
--codeBorder: var(--gray100);
--inlineCodeBackground: var(--codeBackground);
--inlineCodeBorder: var(--codeBorder);
- --codeScrollThumb: var(--gray300);
+ --codeScrollThumb: var(--gray400);
--codeScrollBackground: var(--codeBorder);
--bottomActionsBtnBorder: var(--black-opacity-10);
@@ -51,13 +51,14 @@
--settingsInput: var(--gray500);
--settingsInputBackground: var(--white);
- --settingsInputBorder: var(--gray200);
- --settingsSectionBorder: var(--gray200);
+ --settingsInputBorder: var(--gray300);
+ --settingsSectionBorder: var(--gray300);
--quickSwitchInput: var(--gray500);
--quickSwitchContour: var(--coldGray);
--success: var(--green);
- --sidebarButton: var(--gray100);
+ --sidebarButton: var(--gray50);
+ --sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);
}
diff --git a/assets/css/layout.css b/assets/css/layout.css
index 98eb7df9e..3a5cf2e94 100644
--- a/assets/css/layout.css
+++ b/assets/css/layout.css
@@ -37,14 +37,13 @@ body {
}
.sidebar-button {
+ --sidebarButtonTopOpen: 6px;
position: fixed;
z-index: 99;
left: 0;
- top: 7px;
- transition: color 0.3s ease-in-out, transform 0.15s ease-out 0.1s,
- opacity 0.15s ease-out 0.1s;
+ top: 0;
+ transition: all .3s ease-in-out;
will-change: transform;
- transform: translateX(250px);
}
.content {
@@ -55,19 +54,27 @@ body {
z-index: 3;
}
-body.sidebar-opening .sidebar-button {
- transition: transform 0.3s ease-in-out;
+@media screen and (max-width: 768px) {
+ .content {
+ overflow: auto;
+ scroll-padding-top: 45px;
+ }
+}
+
+body:is(.sidebar-opening, .sidebar-opened) .sidebar-button {
+ transform: translateX(250px);
+ top: var(--sidebarButtonTopOpen);
}
body.sidebar-opening .sidebar {
left: 0;
- transition: left 0.3s ease-in-out;
+ transition: left .3s ease-in-out;
}
body.sidebar-opening .content {
width: calc(100% - 300px);
left: 300px;
- transition: all 0.3s ease-in-out;
+ transition: all .3s ease-in-out;
}
body.sidebar-closing .sidebar-button {
@@ -76,18 +83,13 @@ body.sidebar-closing .sidebar-button {
body.sidebar-closing .sidebar {
left: -300px;
- transition: left 0.3s ease-in-out;
+ transition: left .3s ease-in-out;
}
body.sidebar-closing .content {
width: 100%;
left: 0;
- transition: all 0.3s ease-in-out;
-}
-
-body.sidebar-closed .sidebar-button {
- transition: transform 0.3s ease-in-out;
- transform: translateY(-8px);
+ transition: all .3s ease-in-out;
}
body.sidebar-closed .sidebar {
@@ -99,21 +101,50 @@ body.sidebar-closed .content {
left: 0;
}
+@media screen and (max-width: 768px) {
+ .sidebar-button:before {
+ --sidebarButtonHeight: 60px;
+ content: '';
+ display: block;
+ z-index: -1;
+ pointer-events: none;
+ position: fixed;
+ left: -1px;
+ top: 0;
+ height: var(--sidebarButtonHeight);
+ width: calc(100vw + 2px);
+ background: var(--sidebarButtonBackground);
+ transition: top .3s ease-in-out;
+ }
+
+ body:is(.sidebar-closed, .sidebar-closing) .sidebar-button:before {
+ top: 0;
+ }
+
+ body:is(.sidebar-opening, .sidebar-opened) .sidebar-button:before {
+ top: calc(-1 * var(--sidebarButtonHeight) - var(--sidebarButtonTopOpen));
+ }
+
+ body.sidebar-opened .sidebar-button:before {
+ opacity: 0;
+ }
+}
+
body.search-focused .sidebar-button {
transform: translateX(250px) scaleY(0);
- transition: all 0.15s ease-out;
+ transition: all .15s ease-out;
opacity: 0;
}
body.search-focused .sidebar-search .search-close-button {
transform: scaleY(1);
- transition: transform 0.15s ease-out 0.15s;
+ transition: transform .15s ease-out .15s;
}
.content-inner {
- max-width: 949px;
+ max-width: var(--content-width);
margin: 0 auto;
- padding: 3px 60px;
+ padding: 3px var(--content-gutter);
}
.content-inner:focus {
@@ -132,8 +163,8 @@ body.search-focused .sidebar-search .search-close-button {
}
.content-inner {
- padding: 27px 20px 27px 40px;
- max-width: 100%;
+ padding-top: 10px;
+ padding-bottom: 27px;
overflow-x: auto;
}
}
diff --git a/assets/css/print-cheatsheet.css b/assets/css/print-cheatsheet.css
index af3bce4a0..f95e4057c 100644
--- a/assets/css/print-cheatsheet.css
+++ b/assets/css/print-cheatsheet.css
@@ -1,233 +1,141 @@
@media print {
+
+ /* Remove background colors and set border colors */
+ .page-cheatmd .content-inner * {
+ background-color: transparent !important;
+ border-color: var(--gray400) !important;
+ }
+
/* Basic layout and columns */
+
.page-cheatmd .content-inner {
max-width: 100%;
width: 100%;
padding: 0;
- font-size: 0.85em;
+ font-size: .7em;
}
- .page-cheatmd section.col-2 {
- column-count: 2;
- column-gap: 20px;
- height: auto;
+ .page-cheatmd .content-inner section:is(.col-2, .col-2-left, .col-3) {
+ column-gap: 30px;
}
- .page-cheatmd section.col-2-left {
- display: grid;
- grid-template-columns: 33% 63.2%;
- column-gap: 20px;
+ /* column-count and grid display required to be set again within @print media query to take effect when actually printing */
+ .page-cheatmd .content-inner section.col-2 {
+ column-count: 2;
}
-
- .page-cheatmd section.col-2-left > h2 {
- display: block;
- grid-column-end: span 2;
+ .page-cheatmd .content-inner section.col-2-left {
+ display: grid;
}
-
- .page-cheatmd section.col-3 {
+ .page-cheatmd .content-inner section.col-3 {
column-count: 3;
- column-gap: 10px;
- height: auto;
- }
-
- .page-cheatmd section.list-4 > ul > li {
- flex: 0 0 25%;
- }
-
- .page-cheatmd section.list-6 > ul > li {
- flex: 0 0 16.6667%;
}
- .page-cheatmd section.list-4 > ul {
- display: flex;
- flex-wrap: wrap;
- }
-
- .page-cheatmd section.list-6 > ul {
- display: flex;
- flex-wrap: wrap;
- }
-
- .page-cheatmd section.width-50 {
- display: block;
- width: 50%;
- margin: 0;
- }
-
- .page-cheatmd section.width-50 > section > table {
- width: 100%;
- }
-
- /* h1 styling */
+ /* h1 */
- .page-cheatmd h1 {
- margin-top: 0em;
- margin-bottom: 0.5em;
+ .page-cheatmd .content-inner h1 {
+ margin-top: 0;
+ margin-bottom: .5em;
}
- /* h2 styling */
+ /* h2 */
- .page-cheatmd h2.section-heading {
- margin: 1em 0 0.25em;
+ .page-cheatmd .content-inner h2.section-heading {
+ font-weight: bold;
+ margin-top: 1em;
column-span: all;
}
- /* for some reason Firefox extends the h2 border-left to the following h3 when printing,
- moving the border-left to the :before pseudo-element fixes this */
-
- .page-cheatmd h2.section-heading:before {
- border-left: solid 6px var(--gray100);
- margin-right: 8px;
- content: " ";
- }
-
- .page-cheatmd section.h2 {
- page-break-inside: avoid;
+ .page-cheatmd .content-inner section.h2 {
+ break-inside: avoid;
}
- /* h3 styling */
+ /* h3 */
- .page-cheatmd h3 {
- white-space: nowrap;
- overflow: hidden;
- margin: 0 0 0.25em;
- padding-left: 5px;
+ .page-cheatmd .content-inner h3 {
+ font-weight: bold;
+ color: var(--main-darkened-10);
}
- .page-cheatmd h3.section-heading {
- overflow: hidden;
+ .page-cheatmd .content-inner h3::after {
+ height: 2px;
+ background-color: var(--gray400);
}
- .page-cheatmd section.h3 {
+ .page-cheatmd .content-inner section.h3 {
min-width: 300px;
- margin: 0 0 0.75em 0;
break-inside: avoid;
- page-break-inside: avoid;
- -webkit-column-break-inside: avoid;
- }
-
- /* h4 styling */
-
- .page-cheatmd h4 {
- display: block;
- margin: -1px 0 -1px 0;
- padding: 0.5em;
- border: solid 1px var(--gray300);
}
- /* p styling */
+ /* h4 */
- .page-cheatmd .content-inner p {
- font-size: 0.95em;
- line-height: 1.5em;
- padding: 0.5em;
+ .page-cheatmd .content-inner h4 {
+ padding: .5em 0;
+ border: none;
+ font-weight: bold;
+ color: black;
}
- /* Ensure solo p tags have borders around them, but merge the border
- when multiple p tags are next to each other */
- .page-cheatmd .content-inner section p {
- display: block;
- margin: -1px 0 -1px 0;
- font-size: 0.95em;
- line-height: 1.5em;
- padding: 0.5em;
- border: solid;
- border-color: var(--gray300);
- border-width: 1px 1px 0px 1px;
- }
+ /* Paragraphs */
- .page-cheatmd .content-inner section p + p {
- border-width: 0px 1px 0px 1px;
+ .page-cheatmd .content-inner .h2 p {
+ padding-left: 0;
+ padding-right: 0;
+ border: none !important;
}
- .page-cheatmd .content-inner section p:last-of-type {
- border-width: 0px 1px 1px 1px;
- }
+ /* Code blocks */
- .page-cheatmd .content-inner section p:only-of-type {
- border-width: 1px;
+ .page-cheatmd .content-inner code {
+ line-height: 1.5em;
}
/* Tables */
- .page-cheatmd table {
- width: 100%;
- border-collapse: collapse;
- margin: 0;
+ .page-cheatmd .content-inner .h2 table {
font-variant-numeric: tabular-nums;
- page-break-inside: avoid;
+ break-inside: avoid;
}
- .page-cheatmd th,
- .page-cheatmd td {
- text-align: left;
+ .page-cheatmd .content-inner .h2 :is(th, td) {
vertical-align: top;
- padding: 0.5em;
- font-size: 0.95em;
- }
-
- .page-cheatmd thead {
- border: 1px solid var(--gray300);
+ padding-left: 0;
+ padding-right: 0;
}
- .page-cheatmd .content-inner tbody tr {
- border-width: 0px 1px 1px 1px;
- border-style: solid;
- border-color: var(--gray200);
+ .page-cheatmd .content-inner .h2 thead {
+ border-style: solid none;
+ border-width: 1px;
}
- .page-cheatmd .content-inner thead tr {
+ .page-cheatmd .content-inner .h2 tr {
border-bottom: none;
}
- .page-cheatmd th {
+ .page-cheatmd .content-inner .h2 th {
font-weight: bold;
}
- .page-cheatmd td {
- text-align: left;
- }
-
- /* Code Blocks */
-
- .page-cheatmd pre {
- margin: -1px 0px -1px 0px;
- }
-
/* Lists */
- .page-cheatmd ul,
- .page-cheatmd ol {
- margin: 0;
- padding: 0;
- list-style-position: inside;
- }
-
- .page-cheatmd .h2 li {
- padding: 0.5em 0.75em;
+ .page-cheatmd .content-inner .h2 li {
+ padding-left: 0;
+ padding-right: 0;
vertical-align: middle;
- border-bottom: 1px solid var(--gray200);
- }
-
- .page-cheatmd .h2 li:last-of-type {
- border-bottom: 0;
+ border-bottom: none;
}
/* Remove copy button from code blocks */
- pre:hover button.copy-button {
+ .page-cheatmd .content-inner pre:hover button.copy-button {
display: none;
}
/* Remove hover tooltip from inline code references */
- .page-cheatmd div#tooltip {
+ .page-cheatmd .content-inner div#tooltip {
display: none;
}
- .page-cheatmd footer p {
+ .page-cheatmd .content-inner footer p:not(.built-using) {
display: none;
}
- .page-cheatmd footer p.built-using {
- display: block;
- }
}
diff --git a/assets/css/print.css b/assets/css/print.css
index fcbf7710e..fc7f3a841 100644
--- a/assets/css/print.css
+++ b/assets/css/print.css
@@ -16,7 +16,7 @@
}
.summary-row {
- page-break-inside: avoid;
+ break-inside: avoid;
}
#toast {
@@ -45,28 +45,25 @@
}
.content-inner blockquote:is(.warning, .error, .info, .neutral, .tip) {
- border: 2px solid var(--gray300);
+ border: 2px solid var(--gray400);
}
- .content-inner
- blockquote
- :is(h3, h4):is(.warning, .error, .info, .neutral, .tip) {
+ .content-inner blockquote :is(h3, h4):is(.warning, .error, .info, .neutral, .tip) {
color: var(--textHeaders);
- border-bottom: 2px solid var(--gray300);
+ border-bottom: 2px solid var(--gray400);
}
.content-inner pre code.makeup {
- border-color: var(--gray300);
+ border-color: var(--gray400);
white-space: break-spaces;
- page-break-inside: avoid;
break-inside: avoid;
}
.content-inner blockquote code.inline {
- border-color: var(--gray300);
+ border-color: var(--gray400);
}
.content-inner code.inline {
- border-color: var(--gray300);
+ border-color: var(--gray400);
}
}
diff --git a/assets/css/settings.css b/assets/css/settings.css
index 3b18815b0..2104b600a 100644
--- a/assets/css/settings.css
+++ b/assets/css/settings.css
@@ -22,7 +22,7 @@
border-color: var(--main);
}
#settings-modal-content .input::placeholder {
- color: var(--gray300);
+ color: var(--gray400);
}
#settings-modal-content .switch-button-container {
diff --git a/assets/css/sidebar.css b/assets/css/sidebar.css
index 9ae2b3207..be6cf4fd2 100644
--- a/assets/css/sidebar.css
+++ b/assets/css/sidebar.css
@@ -30,7 +30,7 @@
.sidebar a {
color: var(--gray50);
text-decoration: none;
- transition: color 0.3s ease-in-out;
+ transition: color .3s ease-in-out;
}
.sidebar a:hover {
@@ -106,7 +106,7 @@
position: absolute;
left: 0;
top: 2px;
- content: "\25BC";
+ content: "\25bc";
z-index: 1;
font-size: 8px;
color: var(--white);
@@ -131,11 +131,17 @@
.sidebar .sidebar-listNav li {
display: inline-block;
- border-bottom: 3px solid transparent;
+ padding: 0;
+}
+
+.sidebar .sidebar-listNav li a {
+ display: inline-block;
line-height: 27px;
+ border-bottom: 3px solid transparent;
+ padding: 0 10px;
}
-.sidebar .sidebar-listNav li:is(:hover, .selected) {
+.sidebar .sidebar-listNav li:is(:hover, .selected) a {
border-color: var(--main);
}
@@ -166,7 +172,7 @@
cursor: pointer;
left: 22px;
margin: 0;
- opacity: 0.5;
+ opacity: .5;
padding: 3px 1px 3px 0;
position: absolute;
top: 18px;
@@ -181,17 +187,17 @@
cursor: pointer;
right: 18px;
margin: 0;
- opacity: 0.5;
+ opacity: .5;
padding: 5px 1px 5px 0;
position: absolute;
transform: scaleY(0);
top: 17px;
- transition: 0.15s transform ease-out;
+ transition: .15s transform ease-out;
z-index: 2;
}
.sidebar .sidebar-search .search-close-button:hover {
- opacity: 0.7;
+ opacity: .7;
}
.sidebar .sidebar-search .search-close-button:is(:focus, :hover) {
@@ -220,9 +226,10 @@
margin: 0;
padding: 20px 0;
overflow-y: auto;
+ overscroll-behavior: contain;
position: relative;
-webkit-overflow-scrolling: touch;
- flex: 1 1 0.01%;
+ flex: 1 1 .01%;
}
.sidebar #full-list li {
@@ -276,25 +283,33 @@
.sidebar #full-list li.nesting-context {
font-weight: bold;
- font-size: 0.9em;
+ font-size: .9em;
line-height: 1.8em;
- color: var(--gray300);
+ color: var(--gray400);
padding-left: 15px;
}
.sidebar #full-list li.group {
text-transform: uppercase;
font-weight: bold;
- font-size: 0.8em;
+ font-size: .8em;
margin: 2em 0 0;
line-height: 1.8em;
- color: var(--gray300);
+ color: var(--gray400);
padding-left: 15px;
}
.sidebar #full-list li a {
padding: 3px 0 3px 15px;
color: var(--gray200);
+ overflow: hidden;
+}
+
+.sidebar #full-list > li > a {
+ display: block;
+ width: 100%;
+ height: 27px;
+ line-height: 20px;
}
.sidebar #full-list li a.expand,
@@ -303,18 +318,23 @@
}
.sidebar #full-list li .current-section > a {
- color: var(--main);
+ color: var(--main-lightened-10);
+}
+
+.sidebar #full-list > li > a:hover {
+ border-left: 3px solid var(--main);
+ padding-left: 12px;
}
.sidebar #full-list > li.current-page > a {
- color: var(--main);
+ color: var(--main-lightened-10);
border-left: 3px solid var(--main);
padding-left: 12px;
}
.sidebar #full-list > li.current-page > a:after,
.sidebar #full-list > li.current-page {
- color: var(--main);
+ color: var(--main-lightened-10);
}
.sidebar #full-list > li:last-child {
@@ -327,35 +347,40 @@
.sidebar #full-list ul {
display: none;
- margin: 9px 15px;
+ margin: 10px 15px;
margin-right: 0;
padding: 0;
}
.sidebar #full-list ul li {
font-weight: 300;
- line-height: 20px;
- padding: 2px 8px;
+ line-height: 16px;
+ padding: 0 8px;
margin-right: 0;
color: var(--gray50);
}
.sidebar #full-list ul li.current-hash {
- color: var(--main);
+ color: var(--main-lightened-10);
}
-.sidebar #full-list ul li.current-hash:before {
- content: "\2022";
- color: var(--main);
+.sidebar #full-list ul li.current-hash > a {
+ color: var(--main-lightened-10);
}
-.sidebar #full-list ul li.current-hash > a {
- color: var(--main);
- margin-left: -12px;
+.sidebar #full-list ul li.current-hash > a:before,
+.sidebar #full-list > li > ul > li > a:hover:before {
+ content: "\2022";
+ position: absolute;
+ margin-left: -15px;
+ color: var(--main-lightened-10);
}
.sidebar #full-list ul li a {
padding-left: 15px;
+ display: block;
+ width: 100%;
+ height: 24px;
}
.sidebar #full-list ul li ul {
@@ -365,28 +390,32 @@
}
.sidebar #full-list ul li ul li {
- border-left: 1px solid var(--gray600);
- padding: 0 10px;
- margin-left: 8px;
margin-right: 0;
+ height: 20px;
color: var(--gray50);
}
.sidebar #full-list ul li ul li a {
- padding-left: 0;
+ border-left: 1px solid var(--gray600);
+ padding: 0 10px;
+ height: 20px;
}
-.sidebar #full-list ul li ul li.current-hash:before {
+.sidebar #full-list ul li ul li.current-hash > a:before {
content: none;
}
-.sidebar #full-list ul li ul li.current-hash {
- color: var(--main);
+.sidebar #full-list ul li ul li > a:hover {
border-color: var(--main);
}
.sidebar #full-list ul li ul li.current-hash > a {
- color: var(--main);
+ color: var(--main-lightened-10);
+ border-color: var(--main);
+}
+
+.sidebar #full-list ul li ul li.current-hash > a {
+ color: var(--main-lightened-10);
margin-left: 0;
}
diff --git a/assets/js/autocomplete/suggestions.js b/assets/js/autocomplete/suggestions.js
index 3b42ca30b..ecfdf86dd 100644
--- a/assets/js/autocomplete/suggestions.js
+++ b/assets/js/autocomplete/suggestions.js
@@ -16,7 +16,8 @@ const SUGGESTION_CATEGORY = {
module: 'module',
moduleChild: 'module-child',
mixTask: 'mix-task',
- extra: 'extra'
+ extra: 'extra',
+ section: 'section'
}
/**
@@ -37,8 +38,11 @@ export function getSuggestions (query, limit = 5) {
...findSuggestionsInTopLevelNodes(nodes.modules, query, SUGGESTION_CATEGORY.module),
...findSuggestionsInChildNodes(nodes.modules, query, SUGGESTION_CATEGORY.moduleChild),
...findSuggestionsInTopLevelNodes(nodes.tasks, query, SUGGESTION_CATEGORY.mixTask),
- ...findSuggestionsInTopLevelNodes(nodes.extras, query, SUGGESTION_CATEGORY.extra)
- ]
+ ...findSuggestionsInTopLevelNodes(nodes.extras, query, SUGGESTION_CATEGORY.extra),
+ ...findSuggestionsInSectionsOfNodes(nodes.modules, query, SUGGESTION_CATEGORY.section),
+ ...findSuggestionsInSectionsOfNodes(nodes.tasks, query, SUGGESTION_CATEGORY.section),
+ ...findSuggestionsInSectionsOfNodes(nodes.extras, query, SUGGESTION_CATEGORY.section)
+ ].filter(suggestion => suggestion !== null)
return sort(suggestions).slice(0, limit)
}
@@ -47,9 +51,7 @@ export function getSuggestions (query, limit = 5) {
* Finds suggestions in top level sidebar nodes.
*/
function findSuggestionsInTopLevelNodes (nodes, query, category) {
- return nodes
- .map(node => nodeSuggestion(node, query, category))
- .filter(suggestion => suggestion !== null)
+ return nodes.map(node => nodeSuggestion(node, query, category))
}
/**
@@ -68,7 +70,24 @@ function findSuggestionsInChildNodes (nodes, query, category) {
)
})
})
- .filter(suggestion => suggestion !== null)
+}
+
+/**
+ * Finds suggestions in the sections of the given parent nodes.
+ */
+function findSuggestionsInSectionsOfNodes (nodes, query, category) {
+ return nodes.flatMap(node =>
+ nodeSections(node).map(section => {
+ return nodeSectionSuggestion(node, section, query, category)
+ })
+ )
+}
+
+/**
+ * Returns any sections of the given parent node.
+ */
+function nodeSections (node) {
+ return (node.sections || []).concat(node.headers || [])
}
/**
@@ -105,6 +124,22 @@ function childNodeSuggestion (childNode, parentId, query, category, label) {
}
}
+/**
+ * Builds a suggestion for a node section.
+ */
+function nodeSectionSuggestion (node, section, query, category) {
+ if (!matchesAny(section.id, query)) { return null }
+
+ return {
+ link: `${node.id}.html#${section.anchor}`,
+ title: highlightMatches(section.id, query),
+ label: null,
+ description: node.title,
+ matchQuality: matchQuality(section.id, query),
+ category
+ }
+}
+
/**
* Builds a suggestion for a child node assuming the parent node is a module.
* Returns null if the node doesn't match the query.
diff --git a/assets/js/handlebars/helpers.js b/assets/js/handlebars/helpers.js
index 5435ca1d6..051734d6b 100644
--- a/assets/js/handlebars/helpers.js
+++ b/assets/js/handlebars/helpers.js
@@ -54,6 +54,14 @@ Handlebars.registerHelper('isNonEmptyArray', function (entry, options) {
}
})
+Handlebars.registerHelper('isEmptyArray', function (entry, options) {
+ if (Array.isArray(entry) && entry.length === 0) {
+ return options.fn(this)
+ } else {
+ return options.inverse(this)
+ }
+})
+
Handlebars.registerHelper('isLocal', function (nodeId, options) {
const pathSuffix = window.location.pathname.split('/').pop()
const nodePage = nodeId + '.html'
diff --git a/assets/js/handlebars/templates/sidebar-items.handlebars b/assets/js/handlebars/templates/sidebar-items.handlebars
index 33a573110..8036d49c4 100644
--- a/assets/js/handlebars/templates/sidebar-items.handlebars
+++ b/assets/js/handlebars/templates/sidebar-items.handlebars
@@ -16,17 +16,24 @@
{{else}}
{{{node.title}}}
{{/if}}
-
+ {{#isEmptyArray node.headers}}
+ {{else}}
+
+ {{/isEmptyArray}}
-
- {{#isArray node.headers}}
- {{#each node.headers}}
-
- {{{id}}}
-
- {{/each}}
- {{else}}
+ {{#isArray node.headers}}
+ {{#isNonEmptyArray node.headers}}
+
+ {{#each node.headers}}
+
+ {{{id}}}
+
+ {{/each}}
+
+ {{/isNonEmptyArray}}
+ {{else}}
+
{{/each}}
- {{/isArray}}
+ {{/isArray}}
{{/each}}
diff --git a/assets/js/keyboard-shortcuts.js b/assets/js/keyboard-shortcuts.js
index 1b3ea3230..53c6018d5 100644
--- a/assets/js/keyboard-shortcuts.js
+++ b/assets/js/keyboard-shortcuts.js
@@ -83,9 +83,7 @@ function handleKeyUp (event) {
function searchKeyAction (event) {
closeModal()
openSidebar()
- .then(() => {
- focusSearchInput()
- })
+ focusSearchInput()
}
function toggleHelpModal () {
diff --git a/assets/package-lock.json b/assets/package-lock.json
index d1baf2a84..573804b78 100644
--- a/assets/package-lock.json
+++ b/assets/package-lock.json
@@ -7,18 +7,18 @@
"name": "ex_doc",
"license": "Apache-2.0",
"devDependencies": {
- "@fontsource/inconsolata": "^4.5.7",
- "@fontsource/lato": "^4.5.9",
- "@fontsource/merriweather": "^4.5.13",
- "esbuild": "^0.15.7",
- "eslint": "^8.23.1",
+ "@fontsource/inconsolata": "^4.5.9",
+ "@fontsource/lato": "^4.5.10",
+ "@fontsource/merriweather": "^4.5.14",
+ "esbuild": "^0.16.16",
+ "eslint": "^8.31.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.26.0",
- "eslint-plugin-n": "^15.2.5",
- "eslint-plugin-promise": "^6.0.1",
- "fs-extra": "^10.1.0",
+ "eslint-plugin-n": "^15.6.0",
+ "eslint-plugin-promise": "^6.1.1",
+ "fs-extra": "^11.1.0",
"handlebars": "^4.7.7",
- "karma": "^6.3.16",
+ "karma": "^6.4.1",
"karma-chai-plugins": "^0.9.0",
"karma-chrome-launcher": "^3.1.1",
"karma-esbuild": "^2.2.5",
@@ -26,7 +26,7 @@
"karma-sourcemap-loader": "^0.3.5",
"lodash.throttle": "^4.1.1",
"lunr": "^2.3.8",
- "mocha": "^10.0.0",
+ "mocha": "^10.2.0",
"normalize.css": "^8.0.1"
},
"engines": {
@@ -43,16 +43,368 @@
"node": ">=0.1.90"
}
},
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.16.tgz",
+ "integrity": "sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz",
+ "integrity": "sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.16.tgz",
+ "integrity": "sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz",
+ "integrity": "sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz",
+ "integrity": "sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz",
+ "integrity": "sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz",
+ "integrity": "sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz",
+ "integrity": "sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz",
+ "integrity": "sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz",
+ "integrity": "sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz",
+ "integrity": "sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz",
+ "integrity": "sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz",
+ "integrity": "sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz",
+ "integrity": "sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz",
+ "integrity": "sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz",
+ "integrity": "sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz",
+ "integrity": "sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz",
+ "integrity": "sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz",
+ "integrity": "sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz",
+ "integrity": "sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz",
+ "integrity": "sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz",
+ "integrity": "sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@eslint/eslintrc": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz",
- "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
+ "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
"espree": "^9.4.0",
- "globals": "^13.15.0",
+ "globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
@@ -66,63 +418,38 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@fontsource/inconsolata": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/@fontsource/inconsolata/-/inconsolata-4.5.7.tgz",
- "integrity": "sha512-yKas++IyswpH+ngiSRnjehQuDvmyrSi6MdVOWsjijoj3pO0ZQfqpvl35lo8CG3fuoVH23CMmVmDG9JqFjI/q0A==",
+ "version": "4.5.9",
+ "resolved": "https://registry.npmjs.org/@fontsource/inconsolata/-/inconsolata-4.5.9.tgz",
+ "integrity": "sha512-hj+IIYvbmA0pxoIbjQVkPkEq28moTuD0d4c+s3HU58Gossh24NH6ExttgU/ImJGDngxxGKfmbuZeAJhxUQWdyw==",
"dev": true
},
"node_modules/@fontsource/lato": {
- "version": "4.5.9",
- "resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.5.9.tgz",
- "integrity": "sha512-VkDnHBbPee/KMAUuBwe3rEKRDECo1MsA+I+ucZNU6FYdHrsv+SKpYgNr7nk/OhoaGrn9PrpXcmcd9eoD4J3Y6Q==",
+ "version": "4.5.10",
+ "resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.5.10.tgz",
+ "integrity": "sha512-2hYR6r661Cq9B8zugtu6yxuOKqrVhAgfOSaPSq8XoxbC4ebsl0KOTy/vPoP+9U7JuQVLfrmikirW4a9Z0nDUug==",
"dev": true
},
"node_modules/@fontsource/merriweather": {
- "version": "4.5.13",
- "resolved": "https://registry.npmjs.org/@fontsource/merriweather/-/merriweather-4.5.13.tgz",
- "integrity": "sha512-VYPWyVtPvW8S4gGxWE+PdkVHNr44456Gkm49mD4qXmP8Zs2dPU8YG8an8KBIqHcPI6H74iGyll2+AohmGApkxw==",
+ "version": "4.5.14",
+ "resolved": "https://registry.npmjs.org/@fontsource/merriweather/-/merriweather-4.5.14.tgz",
+ "integrity": "sha512-kDMIAokOvE9bYf+CDmEWzV3xtR8cRJlw/BipjhxqD9MIRZfU348cZ8xhHhmPXmxRiEjZLor4xxHXqps7eCvGQg==",
"dev": true
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
- "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==",
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
"dev": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
}
},
- "node_modules/@humanwhocodes/gitignore-to-minimatch": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
- "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
- "dev": true,
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
"node_modules/@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -190,10 +517,13 @@
"dev": true
},
"node_modules/@types/cors": {
- "version": "2.8.12",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
- "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
- "dev": true
+ "version": "2.8.13",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+ "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
},
"node_modules/@types/json5": {
"version": "0.0.29",
@@ -202,15 +532,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "18.7.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz",
- "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==",
- "dev": true
- },
- "node_modules/@ungap/promise-all-settled": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
- "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
+ "version": "18.11.18",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
+ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
"dev": true
},
"node_modules/accepts": {
@@ -227,9 +551,9 @@
}
},
"node_modules/acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -281,10 +605,25 @@
"node": ">=8"
}
},
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"dependencies": {
"normalize-path": "^3.0.0",
@@ -301,15 +640,15 @@
"dev": true
},
"node_modules/array-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
+ "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
+ "es-abstract": "^1.20.4",
+ "get-intrinsic": "^1.1.3",
"is-string": "^1.0.7"
},
"engines": {
@@ -319,24 +658,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
+ "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
@@ -360,7 +690,6 @@
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"dev": true,
- "peer": true,
"engines": {
"node": ">= 0.4"
},
@@ -393,9 +722,9 @@
}
},
"node_modules/body-parser": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
- "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
"dev": true,
"dependencies": {
"bytes": "3.1.2",
@@ -406,7 +735,7 @@
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
- "qs": "6.10.3",
+ "qs": "6.11.0",
"raw-body": "2.5.1",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
@@ -512,9 +841,9 @@
}
},
"node_modules/chai": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.4.1.tgz",
- "integrity": "sha512-tUC1XLrSp1x+CI/nOucYeQ8mRTpi8TXr6oR5trVZBOKK8Uo3/G4AXRLylEETej7ukH+ZPSwtW6iSfUe7l7Lgag==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
+ "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==",
"dev": true,
"dependencies": {
"assertion-error": "^1.0.1",
@@ -526,27 +855,31 @@
}
},
"node_modules/chai-as-promised": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.1.0.tgz",
- "integrity": "sha512-NyiM/l4Fncx1fIT2EKWGR4hrWn4gAxbDJnGyEw06bIF0MA7rMjiquqZ1YUZhGEbkqktxSJbj1TyTFUTtaV39mQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.3.0.tgz",
+ "integrity": "sha512-pgAOHklxHtjFAU+SXt8aDJt/OQxR4om8ZSJXQT6nObuxwGEVZ69VZR0JZzj4mDLo6OHKCO6uLTmAhPyuHJw0rw==",
"dev": true,
"peerDependencies": {
"chai": ">= 2.1.2 < 4"
}
},
"node_modules/chai-dom": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.2.2.tgz",
- "integrity": "sha512-3nwzbGK9GFxB2ruYTciVEN7v0abG3Tmb3l8Ia8S8OXTwZ/vjrYrh+iCIz6QPKvHT13xzI3P/86G9dQOXtZN9XA==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.11.0.tgz",
+ "integrity": "sha512-ZzGlEfk1UhHH5+N0t9bDqstOxPEXmn3EyXvtsok5rfXVDOFDJbHVy12rED6ZwkJAUDs2w7/Da4Hlq2LB63kltg==",
"dev": true,
"engines": {
"node": ">= 0.12.0"
+ },
+ "peerDependencies": {
+ "chai": ">= 3",
+ "mocha": ">= 2"
}
},
"node_modules/chai-jquery": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.0.0.tgz",
- "integrity": "sha512-UWiTuChZ1vFLLX0s8UN49mOBaok7b3Gse9AdOs2CCRNwd6a2hmQOll+LrOATbyOYNRLQHoiAqAjXKEEWVYnG6w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.1.0.tgz",
+ "integrity": "sha512-DiKSXcmInlt4d+WC5PkisDL5MsgJPd1lCSfZ3NgeSZJ34CJntEIpPOCdpalH2IhOWHeLpESJaiuHFxX1dpZ6bw==",
"dev": true,
"engines": {
"node": ">= 0.4.0"
@@ -558,6 +891,22 @@
"integrity": "sha512-6ns0SU21xdRCoEXVKH3HGbwnsgfVMXQ+sU5V8PI9rfxaITos8lss1vUxbF1FAcJKjfqmmmLVlr/z3sLes00w+A==",
"dev": true
},
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -579,10 +928,22 @@
"readdirp": "~3.6.0"
},
"engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/cliui": {
@@ -596,29 +957,24 @@
"wrap-ansi": "^7.0.0"
}
},
- "node_modules/cliui/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=8"
+ "node": ">=7.0.0"
}
},
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -700,21 +1056,6 @@
"node": ">= 8"
}
},
- "node_modules/cross-spawn/node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/custom-event": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
@@ -722,9 +1063,9 @@
"dev": true
},
"node_modules/date-format": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.13.tgz",
- "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==",
+ "version": "4.0.14",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
+ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
"dev": true,
"engines": {
"node": ">=4.0"
@@ -836,18 +1177,6 @@
"node": ">=0.3.1"
}
},
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -894,9 +1223,9 @@
}
},
"node_modules/engine.io": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
- "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
+ "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"dev": true,
"dependencies": {
"@types/cookie": "^0.4.1",
@@ -915,9 +1244,9 @@
}
},
"node_modules/engine.io-parser": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
- "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.5.tgz",
+ "integrity": "sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -930,34 +1259,43 @@
"dev": true
},
"node_modules/es-abstract": {
- "version": "1.20.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz",
- "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.0.tgz",
+ "integrity": "sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
+ "es-set-tostringtag": "^2.0.0",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.2",
+ "get-intrinsic": "^1.1.3",
"get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
"has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
+ "internal-slot": "^1.0.4",
+ "is-array-buffer": "^3.0.0",
+ "is-callable": "^1.2.7",
"is-negative-zero": "^2.0.2",
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
+ "is-typed-array": "^1.1.10",
"is-weakref": "^1.0.2",
"object-inspect": "^1.12.2",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
"regexp.prototype.flags": "^1.4.3",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trimend": "^1.0.6",
+ "string.prototype.trimstart": "^1.0.6",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.9"
},
"engines": {
"node": ">= 0.4"
@@ -966,6 +1304,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
+ "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.3",
+ "has": "^1.0.3",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-shim-unscopables": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz",
@@ -993,9 +1345,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.15.7",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
- "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.16.tgz",
+ "integrity": "sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -1005,43 +1357,28 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/linux-loong64": "0.15.7",
- "esbuild-android-64": "0.15.7",
- "esbuild-android-arm64": "0.15.7",
- "esbuild-darwin-64": "0.15.7",
- "esbuild-darwin-arm64": "0.15.7",
- "esbuild-freebsd-64": "0.15.7",
- "esbuild-freebsd-arm64": "0.15.7",
- "esbuild-linux-32": "0.15.7",
- "esbuild-linux-64": "0.15.7",
- "esbuild-linux-arm": "0.15.7",
- "esbuild-linux-arm64": "0.15.7",
- "esbuild-linux-mips64le": "0.15.7",
- "esbuild-linux-ppc64le": "0.15.7",
- "esbuild-linux-riscv64": "0.15.7",
- "esbuild-linux-s390x": "0.15.7",
- "esbuild-netbsd-64": "0.15.7",
- "esbuild-openbsd-64": "0.15.7",
- "esbuild-sunos-64": "0.15.7",
- "esbuild-windows-32": "0.15.7",
- "esbuild-windows-64": "0.15.7",
- "esbuild-windows-arm64": "0.15.7"
- }
- },
- "node_modules/esbuild-linux-64": {
- "version": "0.15.7",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
- "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
+ "@esbuild/android-arm": "0.16.16",
+ "@esbuild/android-arm64": "0.16.16",
+ "@esbuild/android-x64": "0.16.16",
+ "@esbuild/darwin-arm64": "0.16.16",
+ "@esbuild/darwin-x64": "0.16.16",
+ "@esbuild/freebsd-arm64": "0.16.16",
+ "@esbuild/freebsd-x64": "0.16.16",
+ "@esbuild/linux-arm": "0.16.16",
+ "@esbuild/linux-arm64": "0.16.16",
+ "@esbuild/linux-ia32": "0.16.16",
+ "@esbuild/linux-loong64": "0.16.16",
+ "@esbuild/linux-mips64el": "0.16.16",
+ "@esbuild/linux-ppc64": "0.16.16",
+ "@esbuild/linux-riscv64": "0.16.16",
+ "@esbuild/linux-s390x": "0.16.16",
+ "@esbuild/linux-x64": "0.16.16",
+ "@esbuild/netbsd-x64": "0.16.16",
+ "@esbuild/openbsd-x64": "0.16.16",
+ "@esbuild/sunos-x64": "0.16.16",
+ "@esbuild/win32-arm64": "0.16.16",
+ "@esbuild/win32-ia32": "0.16.16",
+ "@esbuild/win32-x64": "0.16.16"
}
},
"node_modules/escalade": {
@@ -1059,16 +1396,28 @@
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"dev": true
},
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/eslint": {
- "version": "8.23.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz",
- "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==",
+ "version": "8.31.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz",
+ "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==",
"dev": true,
"dependencies": {
- "@eslint/eslintrc": "^1.3.2",
- "@humanwhocodes/config-array": "^0.10.4",
- "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+ "@eslint/eslintrc": "^1.4.1",
+ "@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -1084,14 +1433,14 @@
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
"find-up": "^5.0.0",
- "glob-parent": "^6.0.1",
- "globals": "^13.15.0",
- "globby": "^11.1.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
"js-sdsl": "^4.1.4",
"js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
@@ -1220,6 +1569,15 @@
"url": "https://github.com/sponsors/mysticatea"
}
},
+ "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/eslint-plugin-import": {
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
@@ -1275,19 +1633,19 @@
"dev": true
},
"node_modules/eslint-plugin-n": {
- "version": "15.2.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.2.5.tgz",
- "integrity": "sha512-8+BYsqiyZfpu6NXmdLOXVUfk8IocpCjpd8nMRRH0A9ulrcemhb2VI9RSJMEy5udx++A/YcVPD11zT8hpFq368g==",
+ "version": "15.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.0.tgz",
+ "integrity": "sha512-Hd/F7wz4Mj44Jp0H6Jtty13NcE69GNTY0rVlgTIj1XBnGGVI6UTdDrpE6vqu3AHo07bygq/N+7OH/lgz1emUJw==",
"dev": true,
"dependencies": {
"builtins": "^5.0.1",
"eslint-plugin-es": "^4.1.0",
"eslint-utils": "^3.0.0",
"ignore": "^5.1.1",
- "is-core-module": "^2.10.0",
+ "is-core-module": "^2.11.0",
"minimatch": "^3.1.2",
"resolve": "^1.22.1",
- "semver": "^7.3.7"
+ "semver": "^7.3.8"
},
"engines": {
"node": ">=12.22.0"
@@ -1300,9 +1658,9 @@
}
},
"node_modules/eslint-plugin-promise": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz",
- "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
+ "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1352,76 +1710,6 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/eslint/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/eslint/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/eslint/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
@@ -1430,58 +1718,10 @@
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/eslint/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/eslint/node_modules/globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/eslint/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/espree": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
- "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+ "version": "9.4.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
+ "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
"dev": true,
"dependencies": {
"acorn": "^8.8.0",
@@ -1495,15 +1735,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
"node_modules/esquery": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
@@ -1564,22 +1795,6 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
- "node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -1593,9 +1808,9 @@
"dev": true
},
"node_modules/fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
+ "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@@ -1715,9 +1930,9 @@
"dev": true
},
"node_modules/follow-redirects": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
- "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true,
"funding": [
{
@@ -1739,26 +1954,24 @@
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
"dev": true,
- "peer": true,
"dependencies": {
"is-callable": "^1.1.3"
}
},
"node_modules/formatio": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
- "integrity": "sha512-cPh7is6k3d8tIUh+pnXXuAbD/uhSXGgqLPw0UrYpv5lfdJ+MMMSjx40JNpqP7Top9Nt25YomWEiRmkHbOvkCaA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
+ "integrity": "sha512-YAF05v8+XCxAyHOdiiAmHdgCVPrWO8X744fYIPtBciIorh5LndWfi1gjeJ16sTbJhzek9kd+j3YByhohtz5Wmg==",
"deprecated": "This package is unmaintained. Use @sinonjs/formatio instead",
"dev": true,
- "peer": true,
"dependencies": {
- "samsam": "~1.1"
+ "samsam": "1.x"
}
},
"node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz",
+ "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
@@ -1766,7 +1979,7 @@
"universalify": "^2.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=14.14"
}
},
"node_modules/fs.realpath": {
@@ -1775,6 +1988,20 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -1818,9 +2045,9 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
- "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.1",
@@ -1868,35 +2095,57 @@
}
},
"node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.19.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
+ "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"dev": true,
"dependencies": {
- "is-glob": "^4.0.1"
+ "define-properties": "^1.1.3"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
+ "get-intrinsic": "^1.1.3"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/graceful-fs": {
@@ -1953,6 +2202,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/has-property-descriptors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
@@ -1965,6 +2223,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -2053,9 +2323,9 @@
}
},
"node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -2103,12 +2373,12 @@
"dev": true
},
"node_modules/internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
+ "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.1.0",
+ "get-intrinsic": "^1.1.3",
"has": "^1.0.3",
"side-channel": "^1.0.4"
},
@@ -2116,18 +2386,15 @@
"node": ">= 0.4"
}
},
- "node_modules/is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "node_modules/is-array-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
+ "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
"dev": true,
- "peer": true,
"dependencies": {
"call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
+ "get-intrinsic": "^1.1.3",
+ "is-typed-array": "^1.1.10"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2174,9 +2441,9 @@
}
},
"node_modules/is-callable": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.5.tgz",
- "integrity": "sha512-ZIWRujF6MvYGkEuHMYtFRkL2wAtFw89EHfKlXrkPkjQZZRWeh9L1q3SV13NIfHnqxugjLvAOkEHx9mb1zcMnEw==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -2186,9 +2453,9 @@
}
},
"node_modules/is-core-module": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
- "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dev": true,
"dependencies": {
"has": "^1.0.3"
@@ -2221,20 +2488,13 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
- "peer": true,
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=8"
}
},
"node_modules/is-glob": {
@@ -2285,6 +2545,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -2353,16 +2622,15 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
+ "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
"dev": true,
- "peer": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
"for-each": "^0.3.3",
+ "gopd": "^1.0.1",
"has-tostringtag": "^1.0.0"
},
"engines": {
@@ -2421,10 +2689,14 @@
"dev": true
},
"node_modules/js-sdsl": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz",
- "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==",
- "dev": true
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
+ "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/js-sdsl"
+ }
},
"node_modules/js-yaml": {
"version": "4.1.0",
@@ -2451,9 +2723,9 @@
"dev": true
},
"node_modules/json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0"
@@ -2475,9 +2747,9 @@
}
},
"node_modules/karma": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz",
- "integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==",
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
+ "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
"dev": true,
"dependencies": {
"@colors/colors": "1.5.0",
@@ -2527,66 +2799,6 @@
"sinon-chai": "^2.8.0"
}
},
- "node_modules/karma-chai-plugins/node_modules/diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true,
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/karma-chai-plugins/node_modules/formatio": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
- "integrity": "sha512-YAF05v8+XCxAyHOdiiAmHdgCVPrWO8X744fYIPtBciIorh5LndWfi1gjeJ16sTbJhzek9kd+j3YByhohtz5Wmg==",
- "deprecated": "This package is unmaintained. Use @sinonjs/formatio instead",
- "dev": true,
- "dependencies": {
- "samsam": "1.x"
- }
- },
- "node_modules/karma-chai-plugins/node_modules/lolex": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
- "integrity": "sha512-/bpxDL56TG5LS5zoXxKqA6Ro5tkOS5M8cm/7yQcwLIKIcM2HR5fjjNCaIhJNv96SEk4hNGSafYMZK42Xv5fihQ==",
- "dev": true
- },
- "node_modules/karma-chai-plugins/node_modules/samsam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
- "deprecated": "This package has been deprecated in favour of @sinonjs/samsam",
- "dev": true
- },
- "node_modules/karma-chai-plugins/node_modules/sinon": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
- "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
- "dev": true,
- "dependencies": {
- "diff": "^3.1.0",
- "formatio": "1.2.0",
- "lolex": "^1.6.0",
- "native-promise-only": "^0.8.1",
- "path-to-regexp": "^1.7.0",
- "samsam": "^1.1.3",
- "text-encoding": "0.6.4",
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=0.1.103"
- }
- },
- "node_modules/karma-chai-plugins/node_modules/type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/karma-chrome-launcher": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz",
@@ -2596,6 +2808,18 @@
"which": "^1.2.1"
}
},
+ "node_modules/karma-chrome-launcher/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
"node_modules/karma-esbuild": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/karma-esbuild/-/karma-esbuild-2.2.5.tgz",
@@ -2627,18 +2851,6 @@
"graceful-fs": "^4.1.2"
}
},
- "node_modules/karma/node_modules/tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "dependencies": {
- "rimraf": "^3.0.0"
- },
- "engines": {
- "node": ">=8.17.0"
- }
- },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -2701,98 +2913,27 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/log-symbols/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/log-symbols/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/log-symbols/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/log-symbols/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/log-symbols/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/log4js": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz",
- "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==",
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz",
+ "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==",
"dev": true,
"dependencies": {
- "date-format": "^4.0.13",
+ "date-format": "^4.0.14",
"debug": "^4.3.4",
- "flatted": "^3.2.6",
+ "flatted": "^3.2.7",
"rfdc": "^1.3.0",
- "streamroller": "^3.1.2"
+ "streamroller": "^3.1.3"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/lolex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
- "integrity": "sha512-YYp8cqz7/8eruZ15L1mzcPkvLYxipfdsWIDESvNdNmQP9o7TsDitRhNuV2xb7aFu2ofZngao1jiVrVZ842x4BQ==",
- "dev": true,
- "peer": true
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
+ "integrity": "sha512-/bpxDL56TG5LS5zoXxKqA6Ro5tkOS5M8cm/7yQcwLIKIcM2HR5fjjNCaIhJNv96SEk4hNGSafYMZK42Xv5fihQ==",
+ "dev": true
},
"node_modules/lru-cache": {
"version": "6.0.0",
@@ -2821,28 +2962,6 @@
"node": ">= 0.6"
}
},
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -2889,10 +3008,13 @@
}
},
"node_modules/minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
- "dev": true
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/mkdirp": {
"version": "0.5.6",
@@ -2907,12 +3029,11 @@
}
},
"node_modules/mocha": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
- "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+ "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
"dev": true,
"dependencies": {
- "@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
"chokidar": "3.5.3",
@@ -2947,18 +3068,6 @@
"url": "https://opencollective.com/mochajs"
}
},
- "node_modules/mocha/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/mocha/node_modules/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -2991,15 +3100,6 @@
"node": "*"
}
},
- "node_modules/mocha/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/mocha/node_modules/minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
@@ -3042,15 +3142,6 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/mocha/node_modules/yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -3157,14 +3248,14 @@
}
},
"node_modules/object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
+ "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4"
},
"engines": {
"node": ">= 0.4"
@@ -3304,15 +3395,6 @@
"isarray": "0.0.1"
}
},
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
@@ -3353,9 +3435,9 @@
}
},
"node_modules/qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
@@ -3576,6 +3658,20 @@
}
]
},
+ "node_modules/safe-regex-test": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+ "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-regex": "^1.1.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -3583,17 +3679,16 @@
"dev": true
},
"node_modules/samsam": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
- "integrity": "sha512-iVL7LibpM3tl4rQPweOXXrmjGegxx27flTOjQEZD3PXe4oZNFzuz6Si4mgleK/JWU/hyCvtV01RUovjvBEpDmw==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
+ "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
"deprecated": "This package has been deprecated in favour of @sinonjs/samsam",
- "dev": true,
- "peer": true
+ "dev": true
},
"node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -3656,52 +3751,64 @@
}
},
"node_modules/sinon": {
- "version": "1.17.2",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.2.tgz",
- "integrity": "sha512-EtpJUPGxoRHuLCzdsEU4BBIGx4Xbbnmqzp0N4bKzHScI8nr3HHUe9V8UKzHOko6J63PkiFmML+jYCB72AUcFUg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
+ "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
"dev": true,
- "peer": true,
"dependencies": {
- "formatio": "1.1.1",
- "lolex": "1.3.2",
- "samsam": "1.1.2",
- "util": ">=0.10.3 <1"
+ "diff": "^3.1.0",
+ "formatio": "1.2.0",
+ "lolex": "^1.6.0",
+ "native-promise-only": "^0.8.1",
+ "path-to-regexp": "^1.7.0",
+ "samsam": "^1.1.3",
+ "text-encoding": "0.6.4",
+ "type-detect": "^4.0.0"
},
"engines": {
"node": ">=0.1.103"
}
},
"node_modules/sinon-chai": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz",
- "integrity": "sha512-2RpVbbry6Axt98pdpyxTD4J8xeNHriQBczockg1FdifpVgPRQ7Bo3BZdv6t+bzNphna851QqK66QhTadFa+B4Q==",
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.14.0.tgz",
+ "integrity": "sha512-9stIF1utB0ywNHNT7RgiXbdmen8QDCRsrTjw+G9TgKt1Yexjiv8TOWZ6WHsTPz57Yky3DIswZvEqX8fpuHNDtQ==",
"dev": true,
"peerDependencies": {
- "chai": ">=1.9.2 <4",
- "sinon": ">=1.4.0 <2"
+ "chai": ">=1.9.2 <5",
+ "sinon": "^1.4.0 || ^2.1.0 || ^3.0.0 || ^4.0.0"
}
},
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "node_modules/sinon/node_modules/diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/sinon/node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/socket.io": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
- "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
+ "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
"dev": true,
"dependencies": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
- "engine.io": "~6.2.0",
+ "engine.io": "~6.2.1",
"socket.io-adapter": "~2.4.0",
- "socket.io-parser": "~4.2.0"
+ "socket.io-parser": "~4.2.1"
},
"engines": {
"node": ">=10.0.0"
@@ -3745,12 +3852,12 @@
}
},
"node_modules/streamroller": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.2.tgz",
- "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.4.tgz",
+ "integrity": "sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw==",
"dev": true,
"dependencies": {
- "date-format": "^4.0.13",
+ "date-format": "^4.0.14",
"debug": "^4.3.4",
"fs-extra": "^8.1.0"
},
@@ -3790,29 +3897,43 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
+ "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "es-abstract": "^1.20.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
+ "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "es-abstract": "^1.20.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3851,6 +3972,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -3876,6 +4009,18 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "node_modules/tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "dependencies": {
+ "rimraf": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.17.0"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -3955,10 +4100,24 @@
"node": ">= 0.6"
}
},
+ "node_modules/typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/ua-parser-js": {
- "version": "0.7.31",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz",
- "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==",
+ "version": "0.7.33",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
+ "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
"dev": true,
"funding": [
{
@@ -3975,9 +4134,9 @@
}
},
"node_modules/uglify-js": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz",
- "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==",
+ "version": "3.17.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
+ "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
"dev": true,
"optional": true,
"bin": {
@@ -4029,21 +4188,6 @@
"punycode": "^2.1.0"
}
},
- "node_modules/util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
- "which-typed-array": "^1.1.2"
- }
- },
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -4072,15 +4216,18 @@
}
},
"node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
- "which": "bin/which"
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
"node_modules/which-boxed-primitive": {
@@ -4100,18 +4247,17 @@
}
},
"node_modules/which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
+ "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
"dev": true,
- "peer": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
"for-each": "^0.3.3",
+ "gopd": "^1.0.1",
"has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
+ "is-typed-array": "^1.1.10"
},
"engines": {
"node": ">= 0.4"
@@ -4158,62 +4304,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -4274,136 +4364,250 @@
"node": ">=10"
}
},
- "node_modules/yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "node_modules/yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "dev": true
+ },
+ "@esbuild/android-arm": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.16.tgz",
+ "integrity": "sha512-BUuWMlt4WSXod1HSl7aGK8fJOsi+Tab/M0IDK1V1/GstzoOpqc/v3DqmN8MkuapPKQ9Br1WtLAN4uEgWR8x64A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.16.tgz",
+ "integrity": "sha512-hFHVAzUKp9Tf8psGq+bDVv+6hTy1bAOoV/jJMUWwhUnIHsh6WbFMhw0ZTkqDuh7TdpffFoHOiIOIxmHc7oYRBQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.16.tgz",
+ "integrity": "sha512-9WhxJpeb6XumlfivldxqmkJepEcELekmSw3NkGrs+Edq6sS5KRxtUBQuKYDD7KqP59dDkxVbaoPIQFKWQG0KLg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.16.tgz",
+ "integrity": "sha512-8Z+wld+vr/prHPi2O0X7o1zQOfMbXWGAw9hT0jEyU/l/Yrg+0Z3FO9pjPho72dVkZs4ewZk0bDOFLdZHm8jEfw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.16.tgz",
+ "integrity": "sha512-CYkxVvkZzGCqFrt7EgjFxQKhlUPyDkuR9P0Y5wEcmJqVI8ncerOIY5Kej52MhZyzOBXkYrJgZeVZC9xXXoEg9A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.16.tgz",
+ "integrity": "sha512-fxrw4BYqQ39z/3Ja9xj/a1gMsVq0xEjhSyI4a9MjfvDDD8fUV8IYliac96i7tzZc3+VytyXX+XNsnpEk5sw5Wg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.16.tgz",
+ "integrity": "sha512-8p3v1D+du2jiDvSoNVimHhj7leSfST9YlKsAEO7etBfuqjaBMndo0fmjNLp0JCMld+XIx9L80tooOkyUv1a1PQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.16.tgz",
+ "integrity": "sha512-bYaocE1/PTMRmkgSckZ0D0Xn2nox8v2qlk+MVVqm+VECNKDdZvghVZtH41dNtBbwADSvA6qkCHGYeWm9LrNCBw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.16.tgz",
+ "integrity": "sha512-N3u6BBbCVY3xeP2D8Db7QY8I+nZ+2AgOopUIqk+5yCoLnsWkcVxD2ay5E9iIdvApFi1Vg1lZiiwaVp8bOpAc4A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ia32": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.16.tgz",
+ "integrity": "sha512-dxjqLKUW8GqGemoRT9v8IgHk+T4tRm1rn1gUcArsp26W9EkK/27VSjBVUXhEG5NInHZ92JaQ3SSMdTwv/r9a2A==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.16.tgz",
+ "integrity": "sha512-MdUFggHjRiCCwNE9+1AibewoNq6wf94GLB9Q9aXwl+a75UlRmbRK3h6WJyrSGA6ZstDJgaD2wiTSP7tQNUYxwA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-mips64el": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.16.tgz",
+ "integrity": "sha512-CO3YmO7jYMlGqGoeFeKzdwx/bx8Vtq/SZaMAi+ZLDUnDUdfC7GmGwXzIwDJ70Sg+P9pAemjJyJ1icKJ9R3q/Fg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-ppc64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.16.tgz",
+ "integrity": "sha512-DSl5Czh5hCy/7azX0Wl9IdzPHX2H8clC6G87tBnZnzUpNgRxPFhfmArbaHoAysu4JfqCqbB/33u/GL9dUgCBAw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-riscv64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.16.tgz",
+ "integrity": "sha512-sSVVMEXsqf1fQu0j7kkhXMViroixU5XoaJXl1u/u+jbXvvhhCt9YvA/B6VM3aM/77HuRQ94neS5bcisijGnKFQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-s390x": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.16.tgz",
+ "integrity": "sha512-jRqBCre9gZGoCdCN/UWCCMwCMsOg65IpY9Pyj56mKCF5zXy9d60kkNRdDN6YXGjr3rzcC4DXnS/kQVCGcC4yPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.16.tgz",
+ "integrity": "sha512-G1+09TopOzo59/55lk5Q0UokghYLyHTKKzD5lXsAOOlGDbieGEFJpJBr3BLDbf7cz89KX04sBeExAR/pL/26sA==",
"dev": true,
- "engines": {
- "node": ">=10"
- }
+ "optional": true
},
- "node_modules/yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "@esbuild/netbsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.16.tgz",
+ "integrity": "sha512-xwjGJB5wwDEujLaJIrSMRqWkbigALpBNcsF9SqszoNKc+wY4kPTdKrSxiY5ik3IatojePP+WV108MvF6q6np4w==",
"dev": true,
- "dependencies": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
- },
- "engines": {
- "node": ">=10"
- }
+ "optional": true
},
- "node_modules/yargs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "@esbuild/openbsd-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.16.tgz",
+ "integrity": "sha512-yeERkoxG2nR2oxO5n+Ms7MsCeNk23zrby2GXCqnfCpPp7KNc0vxaaacIxb21wPMfXXRhGBrNP4YLIupUBrWdlg==",
"dev": true,
- "engines": {
- "node": ">=8"
- }
+ "optional": true
},
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "@esbuild/sunos-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.16.tgz",
+ "integrity": "sha512-nHfbEym0IObXPhtX6Va3H5GaKBty2kdhlAhKmyCj9u255ktAj0b1YACUs9j5H88NRn9cJCthD1Ik/k9wn8YKVg==",
"dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
+ "optional": true
},
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "@esbuild/win32-arm64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.16.tgz",
+ "integrity": "sha512-pdD+M1ZOFy4hE15ZyPX09fd5g4DqbbL1wXGY90YmleVS6Y5YlraW4BvHjim/X/4yuCpTsAFvsT4Nca2lbyDH/A==",
"dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- },
- "dependencies": {
- "@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "dev": true
+ "optional": true
+ },
+ "@esbuild/win32-ia32": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.16.tgz",
+ "integrity": "sha512-IPEMfU9p0c3Vb8PqxaPX6BM9rYwlTZGYOf9u+kMdhoILZkVKEjq6PKZO0lB+isojWwAnAqh4ZxshD96njTXajg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/win32-x64": {
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.16.tgz",
+ "integrity": "sha512-1YYpoJ39WV/2bnShPwgdzJklc+XS0bysN6Tpnt1cWPdeoKOG4RMEY1g7i534QxXX/rPvNx/NLJQTTCeORYzipg==",
+ "dev": true,
+ "optional": true
},
"@eslint/eslintrc": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz",
- "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
+ "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
"espree": "^9.4.0",
- "globals": "^13.15.0",
+ "globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
"js-yaml": "^4.1.0",
"minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- }
}
},
"@fontsource/inconsolata": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/@fontsource/inconsolata/-/inconsolata-4.5.7.tgz",
- "integrity": "sha512-yKas++IyswpH+ngiSRnjehQuDvmyrSi6MdVOWsjijoj3pO0ZQfqpvl35lo8CG3fuoVH23CMmVmDG9JqFjI/q0A==",
+ "version": "4.5.9",
+ "resolved": "https://registry.npmjs.org/@fontsource/inconsolata/-/inconsolata-4.5.9.tgz",
+ "integrity": "sha512-hj+IIYvbmA0pxoIbjQVkPkEq28moTuD0d4c+s3HU58Gossh24NH6ExttgU/ImJGDngxxGKfmbuZeAJhxUQWdyw==",
"dev": true
},
"@fontsource/lato": {
- "version": "4.5.9",
- "resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.5.9.tgz",
- "integrity": "sha512-VkDnHBbPee/KMAUuBwe3rEKRDECo1MsA+I+ucZNU6FYdHrsv+SKpYgNr7nk/OhoaGrn9PrpXcmcd9eoD4J3Y6Q==",
+ "version": "4.5.10",
+ "resolved": "https://registry.npmjs.org/@fontsource/lato/-/lato-4.5.10.tgz",
+ "integrity": "sha512-2hYR6r661Cq9B8zugtu6yxuOKqrVhAgfOSaPSq8XoxbC4ebsl0KOTy/vPoP+9U7JuQVLfrmikirW4a9Z0nDUug==",
"dev": true
},
"@fontsource/merriweather": {
- "version": "4.5.13",
- "resolved": "https://registry.npmjs.org/@fontsource/merriweather/-/merriweather-4.5.13.tgz",
- "integrity": "sha512-VYPWyVtPvW8S4gGxWE+PdkVHNr44456Gkm49mD4qXmP8Zs2dPU8YG8an8KBIqHcPI6H74iGyll2+AohmGApkxw==",
+ "version": "4.5.14",
+ "resolved": "https://registry.npmjs.org/@fontsource/merriweather/-/merriweather-4.5.14.tgz",
+ "integrity": "sha512-kDMIAokOvE9bYf+CDmEWzV3xtR8cRJlw/BipjhxqD9MIRZfU348cZ8xhHhmPXmxRiEjZLor4xxHXqps7eCvGQg==",
"dev": true
},
"@humanwhocodes/config-array": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz",
- "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==",
+ "version": "0.11.8",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
+ "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
"dev": true,
"requires": {
"@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "minimatch": "^3.0.5"
}
},
- "@humanwhocodes/gitignore-to-minimatch": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz",
- "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==",
- "dev": true
- },
"@humanwhocodes/module-importer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
@@ -4455,10 +4659,13 @@
"dev": true
},
"@types/cors": {
- "version": "2.8.12",
- "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
- "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==",
- "dev": true
+ "version": "2.8.13",
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz",
+ "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
},
"@types/json5": {
"version": "0.0.29",
@@ -4467,15 +4674,9 @@
"dev": true
},
"@types/node": {
- "version": "18.7.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz",
- "integrity": "sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==",
- "dev": true
- },
- "@ungap/promise-all-settled": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
- "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
+ "version": "18.11.18",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
+ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
"dev": true
},
"accepts": {
@@ -4489,9 +4690,9 @@
}
},
"acorn": {
- "version": "8.8.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
- "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
"dev": true
},
"acorn-jsx": {
@@ -4525,10 +4726,19 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
"anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"requires": {
"normalize-path": "^3.0.0",
@@ -4542,33 +4752,27 @@
"dev": true
},
"array-includes": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz",
- "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
+ "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5",
- "get-intrinsic": "^1.1.1",
+ "es-abstract": "^1.20.4",
+ "get-intrinsic": "^1.1.3",
"is-string": "^1.0.7"
}
},
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
"array.prototype.flat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz",
- "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
+ "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.2",
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0"
}
},
@@ -4582,8 +4786,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
- "peer": true
+ "dev": true
},
"balanced-match": {
"version": "1.0.2",
@@ -4604,9 +4807,9 @@
"dev": true
},
"body-parser": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
- "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
"dev": true,
"requires": {
"bytes": "3.1.2",
@@ -4617,7 +4820,7 @@
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
- "qs": "6.10.3",
+ "qs": "6.11.0",
"raw-body": "2.5.1",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
@@ -4703,9 +4906,9 @@
"dev": true
},
"chai": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.4.1.tgz",
- "integrity": "sha512-tUC1XLrSp1x+CI/nOucYeQ8mRTpi8TXr6oR5trVZBOKK8Uo3/G4AXRLylEETej7ukH+ZPSwtW6iSfUe7l7Lgag==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
+ "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==",
"dev": true,
"requires": {
"assertion-error": "^1.0.1",
@@ -4714,22 +4917,23 @@
}
},
"chai-as-promised": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.1.0.tgz",
- "integrity": "sha512-NyiM/l4Fncx1fIT2EKWGR4hrWn4gAxbDJnGyEw06bIF0MA7rMjiquqZ1YUZhGEbkqktxSJbj1TyTFUTtaV39mQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-5.3.0.tgz",
+ "integrity": "sha512-pgAOHklxHtjFAU+SXt8aDJt/OQxR4om8ZSJXQT6nObuxwGEVZ69VZR0JZzj4mDLo6OHKCO6uLTmAhPyuHJw0rw==",
"dev": true,
"requires": {}
},
"chai-dom": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.2.2.tgz",
- "integrity": "sha512-3nwzbGK9GFxB2ruYTciVEN7v0abG3Tmb3l8Ia8S8OXTwZ/vjrYrh+iCIz6QPKvHT13xzI3P/86G9dQOXtZN9XA==",
- "dev": true
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.11.0.tgz",
+ "integrity": "sha512-ZzGlEfk1UhHH5+N0t9bDqstOxPEXmn3EyXvtsok5rfXVDOFDJbHVy12rED6ZwkJAUDs2w7/Da4Hlq2LB63kltg==",
+ "dev": true,
+ "requires": {}
},
"chai-jquery": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.0.0.tgz",
- "integrity": "sha512-UWiTuChZ1vFLLX0s8UN49mOBaok7b3Gse9AdOs2CCRNwd6a2hmQOll+LrOATbyOYNRLQHoiAqAjXKEEWVYnG6w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/chai-jquery/-/chai-jquery-2.1.0.tgz",
+ "integrity": "sha512-DiKSXcmInlt4d+WC5PkisDL5MsgJPd1lCSfZ3NgeSZJ34CJntEIpPOCdpalH2IhOWHeLpESJaiuHFxX1dpZ6bw==",
"dev": true
},
"chai-things": {
@@ -4738,6 +4942,16 @@
"integrity": "sha512-6ns0SU21xdRCoEXVKH3HGbwnsgfVMXQ+sU5V8PI9rfxaITos8lss1vUxbF1FAcJKjfqmmmLVlr/z3sLes00w+A==",
"dev": true
},
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -4752,6 +4966,17 @@
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
}
},
"cliui": {
@@ -4763,27 +4988,23 @@
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
}
},
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -4850,17 +5071,6 @@
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
- },
- "dependencies": {
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- }
}
},
"custom-event": {
@@ -4870,9 +5080,9 @@
"dev": true
},
"date-format": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.13.tgz",
- "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==",
+ "version": "4.0.14",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz",
+ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
"dev": true
},
"debug": {
@@ -4947,15 +5157,6 @@
"integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
"dev": true
},
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "requires": {
- "path-type": "^4.0.0"
- }
- },
"doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -4996,9 +5197,9 @@
"dev": true
},
"engine.io": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
- "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz",
+ "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==",
"dev": true,
"requires": {
"@types/cookie": "^0.4.1",
@@ -5014,9 +5215,9 @@
}
},
"engine.io-parser": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
- "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.5.tgz",
+ "integrity": "sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g==",
"dev": true
},
"ent": {
@@ -5026,34 +5227,54 @@
"dev": true
},
"es-abstract": {
- "version": "1.20.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz",
- "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.0.tgz",
+ "integrity": "sha512-GUGtW7eXQay0c+PRq0sGIKSdaBorfVqsCMhGHo4elP7YVqZu9nCZS4UkK4gv71gOWNMra/PaSKD3ao1oWExO0g==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
+ "es-set-tostringtag": "^2.0.0",
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
"function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.1.2",
+ "get-intrinsic": "^1.1.3",
"get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
"has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.3",
- "is-callable": "^1.2.4",
+ "internal-slot": "^1.0.4",
+ "is-array-buffer": "^3.0.0",
+ "is-callable": "^1.2.7",
"is-negative-zero": "^2.0.2",
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
+ "is-typed-array": "^1.1.10",
"is-weakref": "^1.0.2",
"object-inspect": "^1.12.2",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
"regexp.prototype.flags": "^1.4.3",
- "string.prototype.trimend": "^1.0.5",
- "string.prototype.trimstart": "^1.0.5",
- "unbox-primitive": "^1.0.2"
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trimend": "^1.0.6",
+ "string.prototype.trimstart": "^1.0.6",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.9"
+ }
+ },
+ "es-set-tostringtag": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz",
+ "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.3",
+ "has": "^1.0.3",
+ "has-tostringtag": "^1.0.0"
}
},
"es-shim-unscopables": {
@@ -5077,40 +5298,34 @@
}
},
"esbuild": {
- "version": "0.15.7",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
- "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
- "dev": true,
- "requires": {
- "@esbuild/linux-loong64": "0.15.7",
- "esbuild-android-64": "0.15.7",
- "esbuild-android-arm64": "0.15.7",
- "esbuild-darwin-64": "0.15.7",
- "esbuild-darwin-arm64": "0.15.7",
- "esbuild-freebsd-64": "0.15.7",
- "esbuild-freebsd-arm64": "0.15.7",
- "esbuild-linux-32": "0.15.7",
- "esbuild-linux-64": "0.15.7",
- "esbuild-linux-arm": "0.15.7",
- "esbuild-linux-arm64": "0.15.7",
- "esbuild-linux-mips64le": "0.15.7",
- "esbuild-linux-ppc64le": "0.15.7",
- "esbuild-linux-riscv64": "0.15.7",
- "esbuild-linux-s390x": "0.15.7",
- "esbuild-netbsd-64": "0.15.7",
- "esbuild-openbsd-64": "0.15.7",
- "esbuild-sunos-64": "0.15.7",
- "esbuild-windows-32": "0.15.7",
- "esbuild-windows-64": "0.15.7",
- "esbuild-windows-arm64": "0.15.7"
- }
- },
- "esbuild-linux-64": {
- "version": "0.15.7",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
- "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
- "dev": true,
- "optional": true
+ "version": "0.16.16",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.16.tgz",
+ "integrity": "sha512-24JyKq10KXM5EBIgPotYIJ2fInNWVVqflv3gicIyQqfmUqi4HvDW1VR790cBgLJHCl96Syy7lhoz7tLFcmuRmg==",
+ "dev": true,
+ "requires": {
+ "@esbuild/android-arm": "0.16.16",
+ "@esbuild/android-arm64": "0.16.16",
+ "@esbuild/android-x64": "0.16.16",
+ "@esbuild/darwin-arm64": "0.16.16",
+ "@esbuild/darwin-x64": "0.16.16",
+ "@esbuild/freebsd-arm64": "0.16.16",
+ "@esbuild/freebsd-x64": "0.16.16",
+ "@esbuild/linux-arm": "0.16.16",
+ "@esbuild/linux-arm64": "0.16.16",
+ "@esbuild/linux-ia32": "0.16.16",
+ "@esbuild/linux-loong64": "0.16.16",
+ "@esbuild/linux-mips64el": "0.16.16",
+ "@esbuild/linux-ppc64": "0.16.16",
+ "@esbuild/linux-riscv64": "0.16.16",
+ "@esbuild/linux-s390x": "0.16.16",
+ "@esbuild/linux-x64": "0.16.16",
+ "@esbuild/netbsd-x64": "0.16.16",
+ "@esbuild/openbsd-x64": "0.16.16",
+ "@esbuild/sunos-x64": "0.16.16",
+ "@esbuild/win32-arm64": "0.16.16",
+ "@esbuild/win32-ia32": "0.16.16",
+ "@esbuild/win32-x64": "0.16.16"
+ }
},
"escalade": {
"version": "3.1.1",
@@ -5124,16 +5339,22 @@
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"dev": true
},
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
"eslint": {
- "version": "8.23.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz",
- "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==",
+ "version": "8.31.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz",
+ "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==",
"dev": true,
"requires": {
- "@eslint/eslintrc": "^1.3.2",
- "@humanwhocodes/config-array": "^0.10.4",
- "@humanwhocodes/gitignore-to-minimatch": "^1.0.2",
+ "@eslint/eslintrc": "^1.4.1",
+ "@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -5149,14 +5370,14 @@
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
"find-up": "^5.0.0",
- "glob-parent": "^6.0.1",
- "globals": "^13.15.0",
- "globby": "^11.1.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
"js-sdsl": "^4.1.4",
"js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
@@ -5169,87 +5390,6 @@
"strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
"text-table": "^0.2.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globals": {
- "version": "13.17.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
- "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"eslint-config-standard": {
@@ -5318,6 +5458,12 @@
"requires": {
"eslint-visitor-keys": "^1.1.0"
}
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
}
}
},
@@ -5369,25 +5515,25 @@
}
},
"eslint-plugin-n": {
- "version": "15.2.5",
- "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.2.5.tgz",
- "integrity": "sha512-8+BYsqiyZfpu6NXmdLOXVUfk8IocpCjpd8nMRRH0A9ulrcemhb2VI9RSJMEy5udx++A/YcVPD11zT8hpFq368g==",
+ "version": "15.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.6.0.tgz",
+ "integrity": "sha512-Hd/F7wz4Mj44Jp0H6Jtty13NcE69GNTY0rVlgTIj1XBnGGVI6UTdDrpE6vqu3AHo07bygq/N+7OH/lgz1emUJw==",
"dev": true,
"requires": {
"builtins": "^5.0.1",
"eslint-plugin-es": "^4.1.0",
"eslint-utils": "^3.0.0",
"ignore": "^5.1.1",
- "is-core-module": "^2.10.0",
+ "is-core-module": "^2.11.0",
"minimatch": "^3.1.2",
"resolve": "^1.22.1",
- "semver": "^7.3.7"
+ "semver": "^7.3.8"
}
},
"eslint-plugin-promise": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.1.tgz",
- "integrity": "sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
+ "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
"dev": true,
"requires": {}
},
@@ -5419,28 +5565,20 @@
}
},
"eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true
},
"espree": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
- "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+ "version": "9.4.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
+ "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
"dev": true,
"requires": {
"acorn": "^8.8.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.3.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true
- }
}
},
"esquery": {
@@ -5491,19 +5629,6 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "dev": true,
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- }
- },
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -5517,9 +5642,9 @@
"dev": true
},
"fastq": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
- "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
+ "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -5617,9 +5742,9 @@
"dev": true
},
"follow-redirects": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
- "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true
},
"for-each": {
@@ -5627,25 +5752,23 @@
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
"dev": true,
- "peer": true,
"requires": {
"is-callable": "^1.1.3"
}
},
"formatio": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
- "integrity": "sha512-cPh7is6k3d8tIUh+pnXXuAbD/uhSXGgqLPw0UrYpv5lfdJ+MMMSjx40JNpqP7Top9Nt25YomWEiRmkHbOvkCaA==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
+ "integrity": "sha512-YAF05v8+XCxAyHOdiiAmHdgCVPrWO8X744fYIPtBciIorh5LndWfi1gjeJ16sTbJhzek9kd+j3YByhohtz5Wmg==",
"dev": true,
- "peer": true,
"requires": {
- "samsam": "~1.1"
+ "samsam": "1.x"
}
},
"fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz",
+ "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.0",
@@ -5659,6 +5782,13 @@
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -5690,9 +5820,9 @@
"dev": true
},
"get-intrinsic": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
- "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
"dev": true,
"requires": {
"function-bind": "^1.1.1",
@@ -5724,27 +5854,40 @@
"path-is-absolute": "^1.0.0"
}
},
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
+ "globals": {
+ "version": "13.19.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
+ "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "globalthis": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"dev": true,
"requires": {
- "is-glob": "^4.0.1"
+ "define-properties": "^1.1.3"
}
},
- "globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
"dev": true,
"requires": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
+ "get-intrinsic": "^1.1.3"
}
},
"graceful-fs": {
@@ -5787,6 +5930,12 @@
"integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
"dev": true
},
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"has-property-descriptors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
@@ -5796,6 +5945,12 @@
"get-intrinsic": "^1.1.1"
}
},
+ "has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true
+ },
"has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
@@ -5859,9 +6014,9 @@
}
},
"ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+ "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
"dev": true
},
"import-fresh": {
@@ -5897,25 +6052,25 @@
"dev": true
},
"internal-slot": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
- "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
+ "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
"dev": true,
"requires": {
- "get-intrinsic": "^1.1.0",
+ "get-intrinsic": "^1.1.3",
"has": "^1.0.3",
"side-channel": "^1.0.4"
}
},
- "is-arguments": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
- "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "is-array-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz",
+ "integrity": "sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==",
"dev": true,
- "peer": true,
"requires": {
"call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
+ "get-intrinsic": "^1.1.3",
+ "is-typed-array": "^1.1.10"
}
},
"is-bigint": {
@@ -5947,15 +6102,15 @@
}
},
"is-callable": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.5.tgz",
- "integrity": "sha512-ZIWRujF6MvYGkEuHMYtFRkL2wAtFw89EHfKlXrkPkjQZZRWeh9L1q3SV13NIfHnqxugjLvAOkEHx9mb1zcMnEw==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
"dev": true
},
"is-core-module": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
- "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dev": true,
"requires": {
"has": "^1.0.3"
@@ -5976,15 +6131,11 @@
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true
},
- "is-generator-function": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
- "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
- "dev": true,
- "peer": true,
- "requires": {
- "has-tostringtag": "^1.0.0"
- }
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
},
"is-glob": {
"version": "4.0.3",
@@ -6016,6 +6167,12 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true
+ },
"is-plain-obj": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
@@ -6060,16 +6217,15 @@
}
},
"is-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz",
- "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==",
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
+ "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
"dev": true,
- "peer": true,
"requires": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
"for-each": "^0.3.3",
+ "gopd": "^1.0.1",
"has-tostringtag": "^1.0.0"
}
},
@@ -6107,9 +6263,9 @@
"dev": true
},
"js-sdsl": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz",
- "integrity": "sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
+ "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
"dev": true
},
"js-yaml": {
@@ -6134,9 +6290,9 @@
"dev": true
},
"json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+ "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
@@ -6153,9 +6309,9 @@
}
},
"karma": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz",
- "integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==",
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz",
+ "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==",
"dev": true,
"requires": {
"@colors/colors": "1.5.0",
@@ -6182,17 +6338,6 @@
"tmp": "^0.2.1",
"ua-parser-js": "^0.7.30",
"yargs": "^16.1.1"
- },
- "dependencies": {
- "tmp": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
- "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
- "dev": true,
- "requires": {
- "rimraf": "^3.0.0"
- }
- }
}
},
"karma-chai-plugins": {
@@ -6208,57 +6353,6 @@
"chai-things": "^0.2.0",
"sinon": "^2.1.0",
"sinon-chai": "^2.8.0"
- },
- "dependencies": {
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "formatio": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
- "integrity": "sha512-YAF05v8+XCxAyHOdiiAmHdgCVPrWO8X744fYIPtBciIorh5LndWfi1gjeJ16sTbJhzek9kd+j3YByhohtz5Wmg==",
- "dev": true,
- "requires": {
- "samsam": "1.x"
- }
- },
- "lolex": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
- "integrity": "sha512-/bpxDL56TG5LS5zoXxKqA6Ro5tkOS5M8cm/7yQcwLIKIcM2HR5fjjNCaIhJNv96SEk4hNGSafYMZK42Xv5fihQ==",
- "dev": true
- },
- "samsam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
- "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
- "dev": true
- },
- "sinon": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
- "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
- "dev": true,
- "requires": {
- "diff": "^3.1.0",
- "formatio": "1.2.0",
- "lolex": "^1.6.0",
- "native-promise-only": "^0.8.1",
- "path-to-regexp": "^1.7.0",
- "samsam": "^1.1.3",
- "text-encoding": "0.6.4",
- "type-detect": "^4.0.0"
- }
- },
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
- "dev": true
- }
}
},
"karma-chrome-launcher": {
@@ -6268,6 +6362,17 @@
"dev": true,
"requires": {
"which": "^1.2.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"karma-esbuild": {
@@ -6343,78 +6448,26 @@
"requires": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
}
},
"log4js": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz",
- "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==",
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz",
+ "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==",
"dev": true,
"requires": {
- "date-format": "^4.0.13",
+ "date-format": "^4.0.14",
"debug": "^4.3.4",
- "flatted": "^3.2.6",
+ "flatted": "^3.2.7",
"rfdc": "^1.3.0",
- "streamroller": "^3.1.2"
+ "streamroller": "^3.1.3"
}
},
"lolex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
- "integrity": "sha512-YYp8cqz7/8eruZ15L1mzcPkvLYxipfdsWIDESvNdNmQP9o7TsDitRhNuV2xb7aFu2ofZngao1jiVrVZ842x4BQ==",
- "dev": true,
- "peer": true
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
+ "integrity": "sha512-/bpxDL56TG5LS5zoXxKqA6Ro5tkOS5M8cm/7yQcwLIKIcM2HR5fjjNCaIhJNv96SEk4hNGSafYMZK42Xv5fihQ==",
+ "dev": true
},
"lru-cache": {
"version": "6.0.0",
@@ -6437,22 +6490,6 @@
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"dev": true
},
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@@ -6484,9 +6521,9 @@
}
},
"minimist": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
- "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
"dev": true
},
"mkdirp": {
@@ -6499,12 +6536,11 @@
}
},
"mocha": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
- "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
+ "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
"dev": true,
"requires": {
- "@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
"chokidar": "3.5.3",
@@ -6528,12 +6564,6 @@
"yargs-unparser": "2.0.0"
},
"dependencies": {
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
"glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
@@ -6559,12 +6589,6 @@
}
}
},
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
"minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
@@ -6599,12 +6623,6 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "yargs-parser": {
- "version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
- "dev": true
}
}
},
@@ -6687,14 +6705,14 @@
}
},
"object.values": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
- "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
+ "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.1"
+ "define-properties": "^1.1.4",
+ "es-abstract": "^1.20.4"
}
},
"on-finished": {
@@ -6795,12 +6813,6 @@
"isarray": "0.0.1"
}
},
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true
- },
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
@@ -6826,9 +6838,9 @@
"dev": true
},
"qs": {
- "version": "6.10.3",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
- "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dev": true,
"requires": {
"side-channel": "^1.0.4"
@@ -6958,6 +6970,17 @@
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
},
+ "safe-regex-test": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
+ "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.3",
+ "is-regex": "^1.1.4"
+ }
+ },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -6965,16 +6988,15 @@
"dev": true
},
"samsam": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
- "integrity": "sha512-iVL7LibpM3tl4rQPweOXXrmjGegxx27flTOjQEZD3PXe4oZNFzuz6Si4mgleK/JWU/hyCvtV01RUovjvBEpDmw==",
- "dev": true,
- "peer": true
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
+ "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
+ "dev": true
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -7022,43 +7044,54 @@
}
},
"sinon": {
- "version": "1.17.2",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.2.tgz",
- "integrity": "sha512-EtpJUPGxoRHuLCzdsEU4BBIGx4Xbbnmqzp0N4bKzHScI8nr3HHUe9V8UKzHOko6J63PkiFmML+jYCB72AUcFUg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
+ "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
"dev": true,
- "peer": true,
"requires": {
- "formatio": "1.1.1",
- "lolex": "1.3.2",
- "samsam": "1.1.2",
- "util": ">=0.10.3 <1"
+ "diff": "^3.1.0",
+ "formatio": "1.2.0",
+ "lolex": "^1.6.0",
+ "native-promise-only": "^0.8.1",
+ "path-to-regexp": "^1.7.0",
+ "samsam": "^1.1.3",
+ "text-encoding": "0.6.4",
+ "type-detect": "^4.0.0"
+ },
+ "dependencies": {
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true
+ }
}
},
"sinon-chai": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz",
- "integrity": "sha512-2RpVbbry6Axt98pdpyxTD4J8xeNHriQBczockg1FdifpVgPRQ7Bo3BZdv6t+bzNphna851QqK66QhTadFa+B4Q==",
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.14.0.tgz",
+ "integrity": "sha512-9stIF1utB0ywNHNT7RgiXbdmen8QDCRsrTjw+G9TgKt1Yexjiv8TOWZ6WHsTPz57Yky3DIswZvEqX8fpuHNDtQ==",
"dev": true,
"requires": {}
},
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"socket.io": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
- "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz",
+ "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==",
"dev": true,
"requires": {
"accepts": "~1.3.4",
"base64id": "~2.0.0",
"debug": "~4.3.2",
- "engine.io": "~6.2.0",
+ "engine.io": "~6.2.1",
"socket.io-adapter": "~2.4.0",
- "socket.io-parser": "~4.2.0"
+ "socket.io-parser": "~4.2.1"
}
},
"socket.io-adapter": {
@@ -7090,12 +7123,12 @@
"dev": true
},
"streamroller": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.2.tgz",
- "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.4.tgz",
+ "integrity": "sha512-Ha1Ccw2/N5C/IF8Do6zgNe8F3jQo8MPBnMBGvX0QjNv/I97BcNRzK6/mzOpZHHK7DjMLTI3c7Xw7Y1KvdChkvw==",
"dev": true,
"requires": {
- "date-format": "^4.0.13",
+ "date-format": "^4.0.14",
"debug": "^4.3.4",
"fs-extra": "^8.1.0"
},
@@ -7128,26 +7161,37 @@
}
}
},
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
"string.prototype.trimend": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz",
- "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
+ "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "es-abstract": "^1.20.4"
}
},
"string.prototype.trimstart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz",
- "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
+ "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
- "es-abstract": "^1.19.5"
+ "es-abstract": "^1.20.4"
}
},
"strip-ansi": {
@@ -7171,6 +7215,15 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true
},
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
"supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -7189,6 +7242,15 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -7247,16 +7309,27 @@
"mime-types": "~2.1.24"
}
},
+ "typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ }
+ },
"ua-parser-js": {
- "version": "0.7.31",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz",
- "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==",
+ "version": "0.7.33",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
+ "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
"dev": true
},
"uglify-js": {
- "version": "3.17.0",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz",
- "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==",
+ "version": "3.17.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
+ "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
"dev": true,
"optional": true
},
@@ -7293,21 +7366,6 @@
"punycode": "^2.1.0"
}
},
- "util": {
- "version": "0.12.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz",
- "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==",
- "dev": true,
- "peer": true,
- "requires": {
- "inherits": "^2.0.3",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
- "which-typed-array": "^1.1.2"
- }
- },
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -7327,9 +7385,9 @@
"dev": true
},
"which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
@@ -7349,18 +7407,17 @@
}
},
"which-typed-array": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz",
- "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==",
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
+ "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
"dev": true,
- "peer": true,
"requires": {
"available-typed-arrays": "^1.0.5",
"call-bind": "^1.0.2",
- "es-abstract": "^1.20.0",
"for-each": "^0.3.3",
+ "gopd": "^1.0.1",
"has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.9"
+ "is-typed-array": "^1.1.10"
}
},
"word-wrap": {
@@ -7390,49 +7447,6 @@
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
}
},
"wrappy": {
@@ -7473,31 +7487,12 @@
"string-width": "^4.2.0",
"y18n": "^5.0.5",
"yargs-parser": "^20.2.2"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
}
},
"yargs-parser": {
- "version": "20.2.9",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
- "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true
},
"yargs-unparser": {
diff --git a/assets/package.json b/assets/package.json
index 78d519264..002701cbf 100644
--- a/assets/package.json
+++ b/assets/package.json
@@ -12,6 +12,7 @@
"lint": "npx eslint './js/**/*.js'",
"lint:fix": "npx eslint --fix './js/**/*.js'",
"test": "npx karma start ./karma.conf.js --single-run",
+ "build:watch": "npm run build --watch",
"build": "node build/build.js"
},
"repository": {
@@ -26,18 +27,18 @@
"homepage": "https://github.com/elixir-lang/ex_doc#readme",
"browserslist": "last 2 versions",
"devDependencies": {
- "@fontsource/inconsolata": "^4.5.7",
- "@fontsource/lato": "^4.5.9",
- "@fontsource/merriweather": "^4.5.13",
- "esbuild": "^0.15.7",
- "eslint": "^8.23.1",
+ "@fontsource/inconsolata": "^4.5.9",
+ "@fontsource/lato": "^4.5.10",
+ "@fontsource/merriweather": "^4.5.14",
+ "esbuild": "^0.16.16",
+ "eslint": "^8.31.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.26.0",
- "eslint-plugin-n": "^15.2.5",
- "eslint-plugin-promise": "^6.0.1",
- "fs-extra": "^10.1.0",
+ "eslint-plugin-n": "^15.6.0",
+ "eslint-plugin-promise": "^6.1.1",
+ "fs-extra": "^11.1.0",
"handlebars": "^4.7.7",
- "karma": "^6.3.16",
+ "karma": "^6.4.1",
"karma-chai-plugins": "^0.9.0",
"karma-chrome-launcher": "^3.1.1",
"karma-esbuild": "^2.2.5",
@@ -45,7 +46,7 @@
"karma-sourcemap-loader": "^0.3.5",
"lodash.throttle": "^4.1.1",
"lunr": "^2.3.8",
- "mocha": "^10.0.0",
+ "mocha": "^10.2.0",
"normalize.css": "^8.0.1"
}
}
diff --git a/assets/test/autocomplete/suggestions.spec.js b/assets/test/autocomplete/suggestions.spec.js
index c8841ed36..db90db74b 100644
--- a/assets/test/autocomplete/suggestions.spec.js
+++ b/assets/test/autocomplete/suggestions.spec.js
@@ -19,6 +19,10 @@ describe('getSuggestions', () => {
{
id: 'Kernel',
title: 'Kernel',
+ sections: [
+ {id: 'The standard library', anchor: 'module-the-standard-library'},
+ {id: 'Guards', anchor: 'module-guards'}
+ ],
nodeGroups: [
{
key: 'functions',
@@ -54,7 +58,20 @@ describe('getSuggestions', () => {
}
],
tasks: [{id: 'phx.server', title: 'phx.server'}],
- extras: [{id: 'api-reference', title: 'API Reference'}]
+ extras: [
+ {
+ id: 'api-reference',
+ title: 'API Reference'
+ },
+ {
+ id: 'library-guidelines',
+ title: 'Library Guidelines',
+ headers: [
+ {id: 'Getting started', anchor: 'getting-started'},
+ {id: 'Publishing', anchor: 'publishing'}
+ ]
+ }
+ ]
}
})
@@ -67,6 +84,11 @@ describe('getSuggestions', () => {
expect(getSuggestions('My exception').length).to.eql(1)
})
+ it('returns matching sections of modules and extras', () => {
+ expect(getSuggestions('Getting').length).to.eql(1)
+ expect(getSuggestions('Gua').length).to.eql(1)
+ })
+
it('returns matching functions, callbacks and types', () => {
expect(getSuggestions('get_by').length).to.eql(1)
expect(getSuggestions('fetch').length).to.eql(1)
@@ -110,7 +132,7 @@ describe('getSuggestions', () => {
})
it('sorts results, putting closer matches at the top', () => {
- let results = getSuggestions('insert')
+ const results = getSuggestions('insert')
expect(results[0].title).to.eql('insert /2')
expect(results[1].title).to.eql('insert _all/3')
})
diff --git a/formatters/epub/dist/epub-elixir-CT62DQKQ.css b/formatters/epub/dist/epub-elixir-CT62DQKQ.css
deleted file mode 100644
index 74ff0f5d0..000000000
--- a/formatters/epub/dist/epub-elixir-CT62DQKQ.css
+++ /dev/null
@@ -1 +0,0 @@
-:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none}
diff --git a/formatters/epub/dist/epub-elixir-SP6DQZL6.css b/formatters/epub/dist/epub-elixir-SP6DQZL6.css
new file mode 100644
index 000000000..2fe5fd254
--- /dev/null
+++ b/formatters/epub/dist/epub-elixir-SP6DQZL6.css
@@ -0,0 +1 @@
+:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}:root{--content-width: 949px;--content-gutter: 60px;--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 29%, 88% );--gray300: hsl(210, 26%, 84% );--gray400: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl( 60, 100%, 43%, 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-50: hsla( 0, 0%, 100%, 50%);--white-opacity-10: hsla( 0, 0%, 100%, 10%);--white-opacity-0: hsla( 0, 0%, 100%, 0%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--gray600);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre,.content-inner section>pre{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none}
diff --git a/formatters/epub/dist/epub-erlang-M27KCOC5.css b/formatters/epub/dist/epub-erlang-M27KCOC5.css
deleted file mode 100644
index e774330d8..000000000
--- a/formatters/epub/dist/epub-erlang-M27KCOC5.css
+++ /dev/null
@@ -1 +0,0 @@
-:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none}
diff --git a/formatters/epub/dist/epub-erlang-Y3GTVZ4T.css b/formatters/epub/dist/epub-erlang-Y3GTVZ4T.css
new file mode 100644
index 000000000..744427351
--- /dev/null
+++ b/formatters/epub/dist/epub-erlang-Y3GTVZ4T.css
@@ -0,0 +1 @@
+:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}:root{--content-width: 949px;--content-gutter: 60px;--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 29%, 88% );--gray300: hsl(210, 26%, 84% );--gray400: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl( 60, 100%, 43%, 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-50: hsla( 0, 0%, 100%, 50%);--white-opacity-10: hsla( 0, 0%, 100%, 10%);--white-opacity-0: hsla( 0, 0%, 100%, 0%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--gray600);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%)}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre,.content-inner section>pre{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body{display:block;font-size:1em;line-height:1.2;padding-left:0;padding-right:0;margin:0 5pt}nav>ol{list-style-type:square}nav>ol ol{list-style-type:disc}.title-container{text-align:center}img[src*="#gh-dark-mode-only"]{display:none}
diff --git a/formatters/html/dist/handlebars.templates-IV5W3OL2.js b/formatters/html/dist/handlebars.templates-IV5W3OL2.js
deleted file mode 100644
index ca13cd275..000000000
--- a/formatters/html/dist/handlebars.templates-IV5W3OL2.js
+++ /dev/null
@@ -1,185 +0,0 @@
-(()=>{(function(){var d=Handlebars.template,y=Handlebars.templates=Handlebars.templates||{};y["autocomplete-suggestions"]=d({1:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'
-
- `+((e=(o=(o=f(a,"title")||(l!=null?f(l,"title"):l))!=null?o:r,typeof o===i?o.call(u,{name:"title",hash:{},data:s,loc:{start:{line:9,column:29},end:{line:9,column:40}}}):o))!=null?e:"")+`
-`+((e=f(a,"if").call(u,l!=null?f(l,"label"):l,{name:"if",hash:{},fn:n.program(2,s,0),inverse:n.noop,data:s,loc:{start:{line:10,column:8},end:{line:12,column:15}}}))!=null?e:"")+`
-
-`+((e=f(a,"if").call(u,l!=null?f(l,"description"):l,{name:"if",hash:{},fn:n.program(4,s,0),inverse:n.noop,data:s,loc:{start:{line:15,column:6},end:{line:19,column:13}}}))!=null?e:"")+`
-`},2:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return' ('+n.escapeExpression((e=(e=o(a,"label")||(l!=null?o(l,"label"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"label",hash:{},data:s,loc:{start:{line:11,column:31},end:{line:11,column:40}}}):e))+`)
-`},4:function(n,l,a,c,s){var e,o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
- `+((e=(o=(o=u(a,"description")||(l!=null?u(l,"description"):l))!=null?o:n.hooks.helperMissing,typeof o=="function"?o.call(l??(n.nullContext||{}),{name:"description",hash:{},data:s,loc:{start:{line:17,column:10},end:{line:17,column:27}}}):o))!=null?e:"")+`
-
-`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
-
- "`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:r,typeof o===i?o.call(u,{name:"term",hash:{},data:s,loc:{start:{line:3,column:28},end:{line:3,column:36}}}):o))+` "
- Search the documentation
-
-`+((e=f(a,"each").call(u,l!=null?f(l,"suggestions"):l,{name:"each",hash:{},fn:n.program(1,s,0),inverse:n.noop,data:s,loc:{start:{line:6,column:2},end:{line:21,column:11}}}))!=null?e:"")+`
-`},useData:!0}),y["modal-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return`
-`},useData:!0}),y["quick-switch-modal-body"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return`
-`},useData:!0}),y["quick-switch-results"]=d({1:function(n,l,a,c,s){var e,o=l??(n.nullContext||{}),u=n.hooks.helperMissing,r="function",i=n.escapeExpression,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return'
- `+i((e=(e=t(a,"name")||(l!=null?t(l,"name"):l))!=null?e:u,typeof e===r?e.call(o,{name:"name",hash:{},data:s,loc:{start:{line:3,column:4},end:{line:3,column:12}}}):e))+`
-
-`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(1,s,0),inverse:n.noop,data:s,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?e:""},useData:!0}),y["search-results"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" Search results for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:s,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):e))+`
-`},3:function(n,l,a,c,s){return` Invalid search
-`},5:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(6,s,0),inverse:n.noop,data:s,loc:{start:{line:15,column:2},end:{line:26,column:11}}}))!=null?e:""},6:function(n,l,a,c,s){var e,o=n.lambda,u=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
-
-`+((e=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"excerpts"):l,{name:"each",hash:{},fn:n.program(7,s,0),inverse:n.noop,data:s,loc:{start:{line:22,column:8},end:{line:24,column:17}}}))!=null?e:"")+`
-`},7:function(n,l,a,c,s){var e;return' '+((e=n.lambda(l,l))!=null?e:"")+`
-`},9:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return((e=(o(a,"isArray")||l&&o(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"isArray",hash:{},fn:n.program(10,s,0),inverse:n.program(12,s,0),data:s,loc:{start:{line:28,column:2},end:{line:34,column:14}}}))!=null?e:"")+`
- The search functionality is full-text based. Here are some tips:
-
-
- Multiple words (such as foo bar
) are searched as OR
- Use *
anywhere (such as fo*
) as wildcard
- Use +
before a word (such as +foo
) to make its presence required
- Use -
before a word (such as -foo
) to make its absence required
- Use :
to search on a particular field (such as field:word
). The available fields are title
and doc
- Use WORD^NUMBER
(such as foo^2
) to boost the given word
- Use WORD~NUMBER
(such as foo~2
) to do a search with edit distance on word
-
-
- To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.
-`},10:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" Sorry, we couldn't find anything for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:s,loc:{start:{line:29,column:48},end:{line:29,column:57}}}):e))+` .
-`},12:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"value"):l,{name:"if",hash:{},fn:n.program(13,s,0),inverse:n.program(15,s,0),data:s,loc:{start:{line:30,column:2},end:{line:34,column:2}}}))!=null?e:""},13:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" Invalid search: "+n.escapeExpression((e=(e=o(a,"errorMessage")||(l!=null?o(l,"errorMessage"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"errorMessage",hash:{},data:s,loc:{start:{line:31,column:23},end:{line:31,column:39}}}):e))+`.
-`},15:function(n,l,a,c,s){return` Please type something into the search bar to perform a search.
- `},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=l??(n.nullContext||{}),u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
-`+((e=u(a,"if").call(o,l!=null?u(l,"value"):l,{name:"if",hash:{},fn:n.program(1,s,0),inverse:n.program(3,s,0),data:s,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?e:"")+`
-
-
- Settings
-
-
-
-`+((e=(u(a,"isNonEmptyArray")||l&&u(l,"isNonEmptyArray")||n.hooks.helperMissing).call(o,l!=null?u(l,"results"):l,{name:"isNonEmptyArray",hash:{},fn:n.program(5,s,0),inverse:n.program(9,s,0),data:s,loc:{start:{line:14,column:0},end:{line:49,column:20}}}))!=null?e:"")},useData:!0}),y["settings-modal-body"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"description"):l,{name:"if",hash:{},fn:n.program(2,s,0),inverse:n.noop,data:s,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?e:""},2:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
-
- `+n.escapeExpression(n.lambda(l!=null?o(l,"description"):l,l))+`
-
-
-`+((e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"displayAs"):l,{name:"if",hash:{},fn:n.program(3,s,0),inverse:n.program(5,s,0),data:s,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?e:"")+`
-
-`},3:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return" "+((e=n.lambda(l!=null?o(l,"displayAs"):l,l))!=null?e:"")+`
-`},5:function(n,l,a,c,s){var e=n.lookupProperty||function(o,u){if(Object.prototype.hasOwnProperty.call(o,u))return o[u]};return" "+n.escapeExpression(n.lambda(l!=null?e(l,"key"):l,l))+`
-`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
-
-
-
-
Theme
-
Use the documentation UI in a theme.
-
-
-
- Dark
- Light
- System
-
-
-
-
-
-
Show tooltips
-
Show tooltips when mousing over code references.
-
-
-
-
-
-
Run in Livebook
-
Use Direct Address for \u201CRun in Livebook\u201D badges.
-
-
-
-
-
-
-`+((e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"shortcuts"):l,{name:"each",hash:{},fn:n.program(1,s,0),inverse:n.noop,data:s,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?e:"")+`
-
-`},useData:!0}),y["sidebar-items"]=d({1:function(n,l,a,c,s,e,o){var u,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return((u=(t(a,"groupChanged")||l&&t(l,"groupChanged")||i).call(r,o[1],(u=e[0][0])!=null?t(u,"group"):u,{name:"groupChanged",hash:{},fn:n.program(2,s,0,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:2,column:2},end:{line:6,column:19}}}))!=null?u:"")+`
-`+((u=(t(a,"nestingChanged")||l&&t(l,"nestingChanged")||i).call(r,o[1],e[0][0],{name:"nestingChanged",hash:{},fn:n.program(7,s,0,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:8,column:2},end:{line:10,column:21}}}))!=null?u:"")+`
-
-
-`+((u=t(a,"if").call(r,(u=e[0][0])!=null?t(u,"nested_title"):u,{name:"if",hash:{},fn:n.program(13,s,0,e,o),inverse:n.program(15,s,0,e,o),data:s,blockParams:e,loc:{start:{line:14,column:6},end:{line:18,column:13}}}))!=null?u:"")+`
-
-
-
-`+((u=(t(a,"isArray")||l&&t(l,"isArray")||i).call(r,(u=e[0][0])!=null?t(u,"headers"):u,{name:"isArray",hash:{},fn:n.program(17,s,0,e,o),inverse:n.program(20,s,0,e,o),data:s,blockParams:e,loc:{start:{line:23,column:6},end:{line:65,column:18}}}))!=null?u:"")+`
-
-`},2:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return'
- `+n.escapeExpression(n.lambda((o=e[1][0])!=null?u(o,"group"):o,l))+`
-
-`},3:function(n,l,a,c,s){return""},5:function(n,l,a,c,s){return'translate="no"'},7:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return' '+n.escapeExpression(n.lambda((o=e[1][0])!=null?u(o,"nested_context"):o,l))+`
-`},9:function(n,l,a,c,s){return"current-page open"},11:function(n,l,a,c,s){return"#content"},13:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?u(o,"nested_title"):o,l))!=null?o:"")+`
-`},15:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return" "+((o=n.lambda((o=e[1][0])!=null?u(o,"title"):o,l))!=null?o:"")+`
-`},17:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return(o=u(a,"each").call(l??(n.nullContext||{}),(o=e[1][0])!=null?u(o,"headers"):o,{name:"each",hash:{},fn:n.program(18,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:24,column:8},end:{line:28,column:17}}}))!=null?o:""},18:function(n,l,a,c,s,e){var o,u,r=l??(n.nullContext||{}),i=n.hooks.helperMissing,t="function",f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
- '+((o=(u=(u=f(a,"id")||(l!=null?f(l,"id"):l))!=null?u:i,typeof u===t?u.call(r,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:26,column:52},end:{line:26,column:60}}}):u))!=null?o:"")+`
-
-`},20:function(n,l,a,c,s,e){var o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return((o=(i(a,"showSections")||l&&i(l,"showSections")||r).call(u,e[1][0],{name:"showSections",hash:{},fn:n.program(21,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:30,column:8},end:{line:44,column:25}}}))!=null?o:"")+((o=(i(a,"showSummary")||l&&i(l,"showSummary")||r).call(u,e[1][0],{name:"showSummary",hash:{},fn:n.program(26,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:45,column:8},end:{line:49,column:24}}}))!=null?o:"")+((o=i(a,"each").call(u,(o=e[1][0])!=null?i(o,"nodeGroups"):o,{name:"each",hash:{},fn:n.program(28,s,1,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:50,column:8},end:{line:64,column:17}}}))!=null?o:"")},21:function(n,l,a,c,s,e){var o,u=l??(n.nullContext||{}),r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return'
-
- Sections
-
-
-
-`+((o=r(a,"each").call(u,l!=null?r(l,"sections"):l,{name:"each",hash:{},fn:n.program(24,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:37,column:14},end:{line:41,column:23}}}))!=null?o:"")+`
-
-`},22:function(n,l,a,c,s){return"open"},24:function(n,l,a,c,s,e){var o,u,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
- '+((o=(u=(u=p(a,"id")||(l!=null?p(l,"id"):l))!=null?u:t,typeof u===f?u.call(i,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:39,column:56},end:{line:39,column:64}}}):u))!=null?o:"")+`
-
-`},26:function(n,l,a,c,s,e){var o,u=n.lookupProperty||function(r,i){if(Object.prototype.hasOwnProperty.call(r,i))return r[i]};return`
- Summary
-
-`},28:function(n,l,a,c,s,e){var o,u=n.lambda,r=n.escapeExpression,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`
-
- `+r(u((o=e[0][0])!=null?i(o,"name"):o,l))+`
-
-
-
-`+((o=i(a,"each").call(l??(n.nullContext||{}),(o=e[0][0])!=null?i(o,"nodes"):o,{name:"each",hash:{},fn:n.program(29,s,0,e),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:57,column:14},end:{line:61,column:23}}}))!=null?o:"")+`
-
-`},29:function(n,l,a,c,s,e){var o,u,r=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
- '+r((u=(u=p(a,"id")||(l!=null?p(l,"id"):l))!=null?u:t,typeof u===f?u.call(i,{name:"id",hash:{},data:s,blockParams:e,loc:{start:{line:59,column:89},end:{line:59,column:95}}}):u))+`
-
-`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s,e,o){var u,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return(u=r(a,"each").call(l??(n.nullContext||{}),l!=null?r(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,s,2,e,o),inverse:n.noop,data:s,blockParams:e,loc:{start:{line:1,column:0},end:{line:68,column:9}}}))!=null?u:""},useData:!0,useDepths:!0,useBlockParams:!0}),y["tooltip-body"]=d({1:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
- `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+`
-
-`},3:function(n,l,a,c,s){var e,o=n.lambda,u=n.escapeExpression,r=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
-`+((e=r(a,"if").call(l??(n.nullContext||{}),(e=l!=null?r(l,"hint"):l)!=null?r(e,"description"):e,{name:"if",hash:{},fn:n.program(4,s,0),inverse:n.noop,data:s,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?e:"")},4:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
- `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+`
-
-`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"isPlain"):l,{name:"if",hash:{},fn:n.program(1,s,0),inverse:n.program(3,s,0),data:s,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?e:""},useData:!0}),y["tooltip-layout"]=d({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){return`
-`},useData:!0}),y["versions-dropdown"]=d({1:function(n,l,a,c,s){var e,o,u=l??(n.nullContext||{}),r=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'
- `+t((o=(o=f(a,"version")||(l!=null?f(l,"version"):l))!=null?o:r,typeof o===i?o.call(u,{name:"version",hash:{},data:s,loc:{start:{line:5,column:8},end:{line:5,column:19}}}):o))+`
-
-`},2:function(n,l,a,c,s){return" selected disabled"},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,s){var e,o=n.lookupProperty||function(u,r){if(Object.prototype.hasOwnProperty.call(u,r))return u[r]};return`
-`},useData:!0})})();})();
diff --git a/formatters/html/dist/handlebars.templates-XRYTXUVD.js b/formatters/html/dist/handlebars.templates-XRYTXUVD.js
new file mode 100644
index 000000000..cf045d2f3
--- /dev/null
+++ b/formatters/html/dist/handlebars.templates-XRYTXUVD.js
@@ -0,0 +1,187 @@
+(()=>{(function(){var y=Handlebars.template,d=Handlebars.templates=Handlebars.templates||{};d["autocomplete-suggestions"]=y({1:function(n,l,a,c,u){var e,o,r=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'
+
+ `+((e=(o=(o=f(a,"title")||(l!=null?f(l,"title"):l))!=null?o:s,typeof o===i?o.call(r,{name:"title",hash:{},data:u,loc:{start:{line:9,column:29},end:{line:9,column:40}}}):o))!=null?e:"")+`
+`+((e=f(a,"if").call(r,l!=null?f(l,"label"):l,{name:"if",hash:{},fn:n.program(2,u,0),inverse:n.noop,data:u,loc:{start:{line:10,column:8},end:{line:12,column:15}}}))!=null?e:"")+`
+
+`+((e=f(a,"if").call(r,l!=null?f(l,"description"):l,{name:"if",hash:{},fn:n.program(4,u,0),inverse:n.noop,data:u,loc:{start:{line:15,column:6},end:{line:19,column:13}}}))!=null?e:"")+`
+`},2:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return' ('+n.escapeExpression((e=(e=o(a,"label")||(l!=null?o(l,"label"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"label",hash:{},data:u,loc:{start:{line:11,column:31},end:{line:11,column:40}}}):e))+`)
+`},4:function(n,l,a,c,u){var e,o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`
+ `+((e=(o=(o=r(a,"description")||(l!=null?r(l,"description"):l))!=null?o:n.hooks.helperMissing,typeof o=="function"?o.call(l??(n.nullContext||{}),{name:"description",hash:{},data:u,loc:{start:{line:17,column:10},end:{line:17,column:27}}}):o))!=null?e:"")+`
+
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o,r=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
+
+ "`+t((o=(o=f(a,"term")||(l!=null?f(l,"term"):l))!=null?o:s,typeof o===i?o.call(r,{name:"term",hash:{},data:u,loc:{start:{line:3,column:28},end:{line:3,column:36}}}):o))+` "
+ Search the documentation
+
+`+((e=f(a,"each").call(r,l!=null?f(l,"suggestions"):l,{name:"each",hash:{},fn:n.program(1,u,0),inverse:n.noop,data:u,loc:{start:{line:6,column:2},end:{line:21,column:11}}}))!=null?e:"")+`
+`},useData:!0}),d["modal-layout"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return`
+`},useData:!0}),d["quick-switch-modal-body"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return`
+`},useData:!0}),d["quick-switch-results"]=y({1:function(n,l,a,c,u){var e,o=l??(n.nullContext||{}),r=n.hooks.helperMissing,s="function",i=n.escapeExpression,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return'
+ `+i((e=(e=t(a,"name")||(l!=null?t(l,"name"):l))!=null?e:r,typeof e===s?e.call(o,{name:"name",hash:{},data:u,loc:{start:{line:3,column:4},end:{line:3,column:12}}}):e))+`
+
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(1,u,0),inverse:n.noop,data:u,loc:{start:{line:1,column:0},end:{line:5,column:9}}}))!=null?e:""},useData:!0}),d["search-results"]=y({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return" Search results for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:u,loc:{start:{line:3,column:27},end:{line:3,column:36}}}):e))+`
+`},3:function(n,l,a,c,u){return` Invalid search
+`},5:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return(e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"each",hash:{},fn:n.program(6,u,0),inverse:n.noop,data:u,loc:{start:{line:15,column:2},end:{line:26,column:11}}}))!=null?e:""},6:function(n,l,a,c,u){var e,o=n.lambda,r=n.escapeExpression,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
+
+`+((e=s(a,"each").call(l??(n.nullContext||{}),l!=null?s(l,"excerpts"):l,{name:"each",hash:{},fn:n.program(7,u,0),inverse:n.noop,data:u,loc:{start:{line:22,column:8},end:{line:24,column:17}}}))!=null?e:"")+`
+`},7:function(n,l,a,c,u){var e;return' '+((e=n.lambda(l,l))!=null?e:"")+`
+`},9:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return((e=(o(a,"isArray")||l&&o(l,"isArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),l!=null?o(l,"results"):l,{name:"isArray",hash:{},fn:n.program(10,u,0),inverse:n.program(12,u,0),data:u,loc:{start:{line:28,column:2},end:{line:34,column:14}}}))!=null?e:"")+`
+ The search functionality is full-text based. Here are some tips:
+
+
+ Multiple words (such as foo bar
) are searched as OR
+ Use *
anywhere (such as fo*
) as wildcard
+ Use +
before a word (such as +foo
) to make its presence required
+ Use -
before a word (such as -foo
) to make its absence required
+ Use :
to search on a particular field (such as field:word
). The available fields are title
and doc
+ Use WORD^NUMBER
(such as foo^2
) to boost the given word
+ Use WORD~NUMBER
(such as foo~2
) to do a search with edit distance on word
+
+
+ To quickly go to a module, type, or function, use the autocompletion feature in the sidebar search.
+`},10:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return" Sorry, we couldn't find anything for "+n.escapeExpression((e=(e=o(a,"value")||(l!=null?o(l,"value"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"value",hash:{},data:u,loc:{start:{line:29,column:48},end:{line:29,column:57}}}):e))+` .
+`},12:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"value"):l,{name:"if",hash:{},fn:n.program(13,u,0),inverse:n.program(15,u,0),data:u,loc:{start:{line:30,column:2},end:{line:34,column:2}}}))!=null?e:""},13:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return" Invalid search: "+n.escapeExpression((e=(e=o(a,"errorMessage")||(l!=null?o(l,"errorMessage"):l))!=null?e:n.hooks.helperMissing,typeof e=="function"?e.call(l??(n.nullContext||{}),{name:"errorMessage",hash:{},data:u,loc:{start:{line:31,column:23},end:{line:31,column:39}}}):e))+`.
+`},15:function(n,l,a,c,u){return` Please type something into the search bar to perform a search.
+ `},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=l??(n.nullContext||{}),r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`
+`+((e=r(a,"if").call(o,l!=null?r(l,"value"):l,{name:"if",hash:{},fn:n.program(1,u,0),inverse:n.program(3,u,0),data:u,loc:{start:{line:2,column:2},end:{line:6,column:9}}}))!=null?e:"")+`
+
+
+ Settings
+
+
+
+`+((e=(r(a,"isNonEmptyArray")||l&&r(l,"isNonEmptyArray")||n.hooks.helperMissing).call(o,l!=null?r(l,"results"):l,{name:"isNonEmptyArray",hash:{},fn:n.program(5,u,0),inverse:n.program(9,u,0),data:u,loc:{start:{line:14,column:0},end:{line:49,column:20}}}))!=null?e:"")},useData:!0}),d["settings-modal-body"]=y({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"description"):l,{name:"if",hash:{},fn:n.program(2,u,0),inverse:n.noop,data:u,loc:{start:{line:40,column:6},end:{line:53,column:13}}}))!=null?e:""},2:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return`
+
+ `+n.escapeExpression(n.lambda(l!=null?o(l,"description"):l,l))+`
+
+
+`+((e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"displayAs"):l,{name:"if",hash:{},fn:n.program(3,u,0),inverse:n.program(5,u,0),data:u,loc:{start:{line:46,column:12},end:{line:50,column:19}}}))!=null?e:"")+`
+
+`},3:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return" "+((e=n.lambda(l!=null?o(l,"displayAs"):l,l))!=null?e:"")+`
+`},5:function(n,l,a,c,u){var e=n.lookupProperty||function(o,r){if(Object.prototype.hasOwnProperty.call(o,r))return o[r]};return" "+n.escapeExpression(n.lambda(l!=null?e(l,"key"):l,l))+`
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return`
+
+
+
+
Theme
+
Use the documentation UI in a theme.
+
+
+
+ Dark
+ Light
+ System
+
+
+
+
+
+
Show tooltips
+
Show tooltips when mousing over code references.
+
+
+
+
+
+
Run in Livebook
+
Use Direct Address for \u201CRun in Livebook\u201D badges.
+
+
+
+
+
+
+`+((e=o(a,"each").call(l??(n.nullContext||{}),l!=null?o(l,"shortcuts"):l,{name:"each",hash:{},fn:n.program(1,u,0),inverse:n.noop,data:u,loc:{start:{line:39,column:4},end:{line:54,column:13}}}))!=null?e:"")+`
+
+`},useData:!0}),d["sidebar-items"]=y({1:function(n,l,a,c,u,e,o){var r,s=l??(n.nullContext||{}),i=n.hooks.helperMissing,t=n.lookupProperty||function(f,p){if(Object.prototype.hasOwnProperty.call(f,p))return f[p]};return((r=(t(a,"groupChanged")||l&&t(l,"groupChanged")||i).call(s,o[1],(r=e[0][0])!=null?t(r,"group"):r,{name:"groupChanged",hash:{},fn:n.program(2,u,0,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:2,column:2},end:{line:6,column:19}}}))!=null?r:"")+`
+`+((r=(t(a,"nestingChanged")||l&&t(l,"nestingChanged")||i).call(s,o[1],e[0][0],{name:"nestingChanged",hash:{},fn:n.program(7,u,0,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:8,column:2},end:{line:10,column:21}}}))!=null?r:"")+`
+
+
+`+((r=t(a,"if").call(s,(r=e[0][0])!=null?t(r,"nested_title"):r,{name:"if",hash:{},fn:n.program(13,u,0,e,o),inverse:n.program(15,u,0,e,o),data:u,blockParams:e,loc:{start:{line:14,column:6},end:{line:18,column:13}}}))!=null?r:"")+((r=(t(a,"isEmptyArray")||l&&t(l,"isEmptyArray")||i).call(s,(r=e[0][0])!=null?t(r,"headers"):r,{name:"isEmptyArray",hash:{},fn:n.program(3,u,0,e,o),inverse:n.program(17,u,0,e,o),data:u,blockParams:e,loc:{start:{line:19,column:6},end:{line:22,column:23}}}))!=null?r:"")+`
+
+`+((r=(t(a,"isArray")||l&&t(l,"isArray")||i).call(s,(r=e[0][0])!=null?t(r,"headers"):r,{name:"isArray",hash:{},fn:n.program(19,u,0,e,o),inverse:n.program(23,u,0,e,o),data:u,blockParams:e,loc:{start:{line:25,column:4},end:{line:73,column:16}}}))!=null?r:"")+`
+`},2:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return'
+ `+n.escapeExpression(n.lambda((o=e[1][0])!=null?r(o,"group"):o,l))+`
+
+`},3:function(n,l,a,c,u){return""},5:function(n,l,a,c,u){return'translate="no"'},7:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return' '+n.escapeExpression(n.lambda((o=e[1][0])!=null?r(o,"nested_context"):o,l))+`
+`},9:function(n,l,a,c,u){return"current-page open"},11:function(n,l,a,c,u){return"#content"},13:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return" "+((o=n.lambda((o=e[1][0])!=null?r(o,"nested_title"):o,l))!=null?o:"")+`
+`},15:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return" "+((o=n.lambda((o=e[1][0])!=null?r(o,"title"):o,l))!=null?o:"")+`
+`},17:function(n,l,a,c,u){return`
+`},19:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return(o=(r(a,"isNonEmptyArray")||l&&r(l,"isNonEmptyArray")||n.hooks.helperMissing).call(l??(n.nullContext||{}),(o=e[1][0])!=null?r(o,"headers"):o,{name:"isNonEmptyArray",hash:{},fn:n.program(20,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:26,column:6},end:{line:34,column:26}}}))!=null?o:""},20:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`
+`+((o=r(a,"each").call(l??(n.nullContext||{}),(o=e[2][0])!=null?r(o,"headers"):o,{name:"each",hash:{},fn:n.program(21,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:28,column:10},end:{line:32,column:19}}}))!=null?o:"")+`
+`},21:function(n,l,a,c,u,e){var o,r,s=l??(n.nullContext||{}),i=n.hooks.helperMissing,t="function",f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return`
+ '+((o=(r=(r=f(a,"id")||(l!=null?f(l,"id"):l))!=null?r:i,typeof r===t?r.call(s,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:30,column:54},end:{line:30,column:62}}}):r))!=null?o:"")+`
+
+`},23:function(n,l,a,c,u,e){var o,r=l??(n.nullContext||{}),s=n.hooks.helperMissing,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`
+`+((o=(i(a,"showSections")||l&&i(l,"showSections")||s).call(r,e[1][0],{name:"showSections",hash:{},fn:n.program(24,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:37,column:8},end:{line:51,column:25}}}))!=null?o:"")+((o=(i(a,"showSummary")||l&&i(l,"showSummary")||s).call(r,e[1][0],{name:"showSummary",hash:{},fn:n.program(29,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:52,column:8},end:{line:56,column:24}}}))!=null?o:"")+((o=i(a,"each").call(r,(o=e[1][0])!=null?i(o,"nodeGroups"):o,{name:"each",hash:{},fn:n.program(31,u,1,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:57,column:8},end:{line:71,column:17}}}))!=null?o:"")+`
+`},24:function(n,l,a,c,u,e){var o,r=l??(n.nullContext||{}),s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return'
+
+ Sections
+
+
+
+`+((o=s(a,"each").call(r,l!=null?s(l,"sections"):l,{name:"each",hash:{},fn:n.program(27,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:44,column:14},end:{line:48,column:23}}}))!=null?o:"")+`
+
+`},25:function(n,l,a,c,u){return"open"},27:function(n,l,a,c,u,e){var o,r,s=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
+ '+((o=(r=(r=p(a,"id")||(l!=null?p(l,"id"):l))!=null?r:t,typeof r===f?r.call(i,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:46,column:56},end:{line:46,column:64}}}):r))!=null?o:"")+`
+
+`},29:function(n,l,a,c,u,e){var o,r=n.lookupProperty||function(s,i){if(Object.prototype.hasOwnProperty.call(s,i))return s[i]};return`
+ Summary
+
+`},31:function(n,l,a,c,u,e){var o,r=n.lambda,s=n.escapeExpression,i=n.lookupProperty||function(t,f){if(Object.prototype.hasOwnProperty.call(t,f))return t[f]};return`
+
+ `+s(r((o=e[0][0])!=null?i(o,"name"):o,l))+`
+
+
+
+`+((o=i(a,"each").call(l??(n.nullContext||{}),(o=e[0][0])!=null?i(o,"nodes"):o,{name:"each",hash:{},fn:n.program(32,u,0,e),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:64,column:14},end:{line:68,column:23}}}))!=null?o:"")+`
+
+`},32:function(n,l,a,c,u,e){var o,r,s=n.escapeExpression,i=l??(n.nullContext||{}),t=n.hooks.helperMissing,f="function",p=n.lookupProperty||function(m,v){if(Object.prototype.hasOwnProperty.call(m,v))return m[v]};return`
+ '+s((r=(r=p(a,"id")||(l!=null?p(l,"id"):l))!=null?r:t,typeof r===f?r.call(i,{name:"id",hash:{},data:u,blockParams:e,loc:{start:{line:66,column:89},end:{line:66,column:95}}}):r))+`
+
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u,e,o){var r,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return(r=s(a,"each").call(l??(n.nullContext||{}),l!=null?s(l,"nodes"):l,{name:"each",hash:{},fn:n.program(1,u,2,e,o),inverse:n.noop,data:u,blockParams:e,loc:{start:{line:1,column:0},end:{line:75,column:9}}}))!=null?r:""},useData:!0,useDepths:!0,useBlockParams:!0}),d["tooltip-body"]=y({1:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return`
+ `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+`
+
+`},3:function(n,l,a,c,u){var e,o=n.lambda,r=n.escapeExpression,s=n.lookupProperty||function(i,t){if(Object.prototype.hasOwnProperty.call(i,t))return i[t]};return`
+`+((e=s(a,"if").call(l??(n.nullContext||{}),(e=l!=null?s(l,"hint"):l)!=null?s(e,"description"):e,{name:"if",hash:{},fn:n.program(4,u,0),inverse:n.noop,data:u,loc:{start:{line:12,column:2},end:{line:16,column:9}}}))!=null?e:"")},4:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return`
+ `+n.escapeExpression(n.lambda((e=l!=null?o(l,"hint"):l)!=null?o(e,"description"):e,l))+`
+
+`},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return(e=o(a,"if").call(l??(n.nullContext||{}),l!=null?o(l,"isPlain"):l,{name:"if",hash:{},fn:n.program(1,u,0),inverse:n.program(3,u,0),data:u,loc:{start:{line:1,column:0},end:{line:17,column:7}}}))!=null?e:""},useData:!0}),d["tooltip-layout"]=y({compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){return`
+`},useData:!0}),d["versions-dropdown"]=y({1:function(n,l,a,c,u){var e,o,r=l??(n.nullContext||{}),s=n.hooks.helperMissing,i="function",t=n.escapeExpression,f=n.lookupProperty||function(p,m){if(Object.prototype.hasOwnProperty.call(p,m))return p[m]};return'
+ `+t((o=(o=f(a,"version")||(l!=null?f(l,"version"):l))!=null?o:s,typeof o===i?o.call(r,{name:"version",hash:{},data:u,loc:{start:{line:5,column:8},end:{line:5,column:19}}}):o))+`
+
+`},2:function(n,l,a,c,u){return" selected disabled"},compiler:[8,">= 4.3.0"],main:function(n,l,a,c,u){var e,o=n.lookupProperty||function(r,s){if(Object.prototype.hasOwnProperty.call(r,s))return r[s]};return`
+`},useData:!0})})();})();
diff --git a/formatters/html/dist/html-3CAFJ3W7.js b/formatters/html/dist/html-3CAFJ3W7.js
new file mode 100644
index 000000000..b9f2b0172
--- /dev/null
+++ b/formatters/html/dist/html-3CAFJ3W7.js
@@ -0,0 +1,52 @@
+(()=>{var Rn=Object.create;var et=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var Qn=Object.getOwnPropertyNames;var Nn=Object.getPrototypeOf,Hn=Object.prototype.hasOwnProperty;var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Dn=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Qn(t))!Hn.call(e,r)&&r!==n&&et(e,r,{get:()=>t[r],enumerable:!(i=An(t,r))||i.enumerable});return e};var nt=(e,t,n)=>(n=e!=null?Rn(Nn(e)):{},Dn(t||!e||!e.__esModule?et(n,"default",{value:e,enumerable:!0}):n,e));var gt=tt((ps,mt)=>{var pt="Expected a function",ft=NaN,Wn="[object Symbol]",Gn=/^\s+|\s+$/g,Kn=/^[-+]0x[0-9a-f]+$/i,Yn=/^0b[01]+$/i,Jn=/^0o[0-7]+$/i,Xn=parseInt,Zn=typeof global=="object"&&global&&global.Object===Object&&global,ei=typeof self=="object"&&self&&self.Object===Object&&self,ti=Zn||ei||Function("return this")(),ni=Object.prototype,ii=ni.toString,ri=Math.max,si=Math.min,Oe=function(){return ti.Date.now()};function oi(e,t,n){var i,r,s,o,a,u,l=0,f=!1,y=!1,g=!0;if(typeof e!="function")throw new TypeError(pt);t=ht(t)||0,pe(n)&&(f=!!n.leading,y="maxWait"in n,s=y?ri(ht(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g);function L(x){var C=i,H=r;return i=r=void 0,l=x,o=e.apply(H,C),o}function S(x){return l=x,a=setTimeout(p,t),f?L(x):o}function T(x){var C=x-u,H=x-l,$=t-C;return y?si($,s-H):$}function m(x){var C=x-u,H=x-l;return u===void 0||C>=t||C<0||y&&H>=s}function p(){var x=Oe();if(m(x))return _(x);a=setTimeout(p,T(x))}function _(x){return a=void 0,g&&i?L(x):(i=r=void 0,o)}function k(){a!==void 0&&clearTimeout(a),l=0,i=u=r=a=void 0}function Q(){return a===void 0?o:_(Oe())}function N(){var x=Oe(),C=m(x);if(i=arguments,r=this,u=x,C){if(a===void 0)return S(u);if(y)return a=setTimeout(p,t),L(u)}return a===void 0&&(a=setTimeout(p,t)),o}return N.cancel=k,N.flush=Q,N}function ai(e,t,n){var i=!0,r=!0;if(typeof e!="function")throw new TypeError(pt);return pe(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),oi(e,t,{leading:i,maxWait:t,trailing:r})}function pe(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function ci(e){return!!e&&typeof e=="object"}function li(e){return typeof e=="symbol"||ci(e)&&ii.call(e)==Wn}function ht(e){if(typeof e=="number")return e;if(li(e))return ft;if(pe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=pe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(Gn,"");var n=Yn.test(e);return n||Jn.test(e)?Xn(e.slice(2),n?2:8):Kn.test(e)?ft:+e}mt.exports=ai});var jt=tt((Vt,$t)=>{(function(){var e=function(t){var n=new e.Builder;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),n.searchPipeline.add(e.stemmer),t.call(n,n),n.build()};e.version="2.3.9";e.utils={},e.utils.warn=function(t){return function(n){t.console&&console.warn&&console.warn(n)}}(this),e.utils.asString=function(t){return t==null?"":t.toString()},e.utils.clone=function(t){if(t==null)return t;for(var n=Object.create(null),i=Object.keys(t),r=0;r0){var f=e.utils.clone(n)||{};f.position=[a,l],f.index=s.length,s.push(new e.Token(i.slice(a,o),f))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/;e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var n=t.label&&t.label in this.registeredFunctions;n||e.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
+`,t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(i){var r=e.Pipeline.registeredFunctions[i];if(r)n.add(r);else throw new Error("Cannot load unregistered function: "+i)}),n},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(n){e.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i=i+1,this._stack.splice(i,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},e.Pipeline.prototype.remove=function(t){var n=this._stack.indexOf(t);n!=-1&&this._stack.splice(n,1)},e.Pipeline.prototype.run=function(t){for(var n=this._stack.length,i=0;i1&&(ot&&(i=s),o!=t);)r=i-n,s=n+Math.floor(r/2),o=this.elements[s*2];if(o==t||o>t)return s*2;if(ou?f+=2:a==u&&(n+=i[l+1]*r[f+1],l+=2,f+=2);return n},e.Vector.prototype.similarity=function(t){return this.dot(t)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var t=new Array(this.elements.length/2),n=1,i=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new e.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),r.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),r.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&r.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),r.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var f=s.str.charAt(0),y=s.str.charAt(1),g;y in s.node.edges?g=s.node.edges[y]:(g=new e.TokenSet,s.node.edges[y]=g),s.str.length==1&&(g.final=!0),r.push({node:g,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var n=new e.TokenSet,i=n,r=0,s=t.length;r=t;n--){var i=this.uncheckedNodes[n],r=i.child.toString();r in this.minimizedNodes?i.parent.edges[i.char]=this.minimizedNodes[r]:(i.child._str=r,this.minimizedNodes[r]=i.child),this.uncheckedNodes.pop()}};e.Index=function(t){this.invertedIndex=t.invertedIndex,this.fieldVectors=t.fieldVectors,this.tokenSet=t.tokenSet,this.fields=t.fields,this.pipeline=t.pipeline},e.Index.prototype.search=function(t){return this.query(function(n){var i=new e.QueryParser(t,n);i.parse()})},e.Index.prototype.query=function(t){for(var n=new e.Query(this.fields),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=t},e.Builder.prototype.k1=function(t){this._k1=t},e.Builder.prototype.add=function(t,n){var i=t[this._ref],r=Object.keys(this._fields);this._documents[i]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,n;do t=this.next(),n=t.charCodeAt(0);while(n>47&&n<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var n=t.next();if(n==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){t.escapeCharacter();continue}if(n==":")return e.QueryLexer.lexField;if(n=="~")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if(n=="^")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if(n=="+"&&t.width()===1||n=="-"&&t.width()===1)return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(n.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}},e.QueryParser=function(t,n){this.lexer=new e.QueryLexer(t),this.query=n,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var t=this.peekLexeme();return this.lexemeIdx+=1,t},e.QueryParser.prototype.nextClause=function(){var t=this.currentClause;this.query.clause(t),this.currentClause={}},e.QueryParser.parseClause=function(t){var n=t.peekLexeme();if(n!=null)switch(n.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(i+=" with value '"+n.str+"'"),new e.QueryParseError(i,n.start,n.end)}},e.QueryParser.parsePresence=function(t){var n=t.consumeLexeme();if(n!=null){switch(n.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+n.str+"'";throw new e.QueryParseError(i,n.start,n.end)}var r=t.peekLexeme();if(r==null){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,n.start,n.end)}switch(r.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+r.type+"'";throw new e.QueryParseError(i,r.start,r.end)}}},e.QueryParser.parseField=function(t){var n=t.consumeLexeme();if(n!=null){if(t.query.allFields.indexOf(n.str)==-1){var i=t.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),r="unrecognised field '"+n.str+"', possible fields: "+i;throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.fields=[n.str];var s=t.peekLexeme();if(s==null){var r="expecting term, found nothing";throw new e.QueryParseError(r,n.start,n.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expecting term, found '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var n=t.consumeLexeme();if(n!=null){t.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(i==null){t.nextClause();return}switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(r,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var n=t.consumeLexeme();if(n!=null){var i=parseInt(n.str,10);if(isNaN(i)){var r="edit distance must be numeric";throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(s==null){t.nextClause();return}switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var n=t.consumeLexeme();if(n!=null){var i=parseInt(n.str,10);if(isNaN(i)){var r="boost must be numeric";throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(s==null){t.nextClause();return}switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},function(t,n){typeof define=="function"&&define.amd?define(n):typeof Vt=="object"?$t.exports=n():t.lunr=n()}(this,function(){return e})})()});Handlebars.registerHelper("groupChanged",function(e,t,n){let i=t||"";if(e.group!==i)return delete e.nestedContext,e.group=i,n.fn(this)});Handlebars.registerHelper("nestingChanged",function(e,t,n){if(t.nested_context&&t.nested_context!==e.nestedContext){if(e.nestedContext=t.nested_context,e.lastModuleSeenInGroup!==t.nested_context)return n.fn(this)}else e.lastModuleSeenInGroup=t.title});Handlebars.registerHelper("showSections",function(e,t){if(e.sections.length>0)return t.fn(this)});Handlebars.registerHelper("showSummary",function(e,t){if(e.nodeGroups)return t.fn(this)});Handlebars.registerHelper("isArray",function(e,t){return Array.isArray(e)?t.fn(this):t.inverse(this)});Handlebars.registerHelper("isNonEmptyArray",function(e,t){return Array.isArray(e)&&e.length>0?t.fn(this):t.inverse(this)});Handlebars.registerHelper("isEmptyArray",function(e,t){return Array.isArray(e)&&e.length===0?t.fn(this):t.inverse(this)});Handlebars.registerHelper("isLocal",function(e,t){let n=window.location.pathname.split("/").pop();return e+".html"===n?t.fn(this):t.inverse(this)});var c=document.querySelector.bind(document),w=document.querySelectorAll.bind(document);function it(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function de(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function re(){return document.body.dataset.type}function rt(e,t){if(!!e){for(let n of e){let i=n.nodeGroups&&n.nodeGroups.find(r=>r.nodes.some(s=>s.anchor===t));if(i)return i.key}return null}}function fe(){return window.location.hash.replace(/^#/,"")}function st(e){return new URLSearchParams(window.location.search).get(e)}function ot(e){return fetch(e).then(t=>t.ok).catch(()=>!1)}function at(e){document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e)}function K(e){return!e||e.trim()===""}function ct(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)}}function he(){return document.head.querySelector("meta[name=project][content]").content}var lt="ex_doc:settings",Fn={tooltips:!0,theme:null,livebookUrl:null},_e=class{constructor(){this._subscribers=[],this._settings=Fn,this._loadSettings()}get(){return this._settings}update(t){let n=this._settings;this._settings={...this._settings,...t},this._subscribers.forEach(i=>i(this._settings,n)),this._storeSettings()}getAndSubscribe(t){this._subscribers.push(t),t(this._settings)}_loadSettings(){try{let t=localStorage.getItem(lt);if(t){let n=JSON.parse(t);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(t){console.error(`Failed to load settings: ${t}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(lt,JSON.stringify(this._settings))}catch(t){console.error(`Failed to persist settings: ${t}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},O=new _e;var Mn=".content",ut=".content-inner",Bn=".livebook-badge";function dt(){Vn(),jn(),zn(),$n()}function Vn(){c(Mn).querySelectorAll("a").forEach(e=>{e.querySelector("code, img")&&e.classList.add("no-underline")})}function $n(){["warning","info","error","neutral","tip"].forEach(t=>{w(`blockquote h3.${t}, blockquote h4.${t}`).forEach(n=>{n.closest("blockquote").classList.add(t)})})}function jn(){c(ut).setAttribute("tabindex",-1),c(ut).focus()}function zn(){let t=window.location.pathname.replace(/\.html$/,".livemd"),n=new URL(t,window.location.href).toString();O.getAndSubscribe(i=>{let r=i.livebookUrl?qn(i.livebookUrl,n):Un(n);for(let s of w(Bn))s.href=r})}function Un(e){return`https://livebook.dev/run?url=${encodeURIComponent(e)}`}function qn(e,t){return`${e}/import?url=${encodeURIComponent(t)}`}var yt=nt(gt());var ui=768,vt=300,di=".sidebar-toggle",fi=".content",D={CLOSED:"closed",OPEN:"open",NO_PREF:"no_pref"},F={opened:"sidebar-opened",opening:"sidebar-opening",closed:"sidebar-closed",closing:"sidebar-closing"},hi=Object.values(F),P={togglingTimeout:null,lastWindowWidth:window.innerWidth,sidebarPreference:D.NO_PREF};function St(){xt(),pi()}function xt(){if(sessionStorage.getItem("sidebar_state")==="closed")return Y(F.closed);Y(Et()?F.closed:F.opened)}function Et(){return window.matchMedia(`screen and (max-width: ${ui}px)`).matches}function Y(...e){document.body.classList.remove(...hi),document.body.classList.add(...e)}function pi(){c(di).addEventListener("click",e=>{Ie(),yi()}),c(fi).addEventListener("click",e=>{gi()}),window.addEventListener("resize",(0,yt.default)(e=>{mi()},100))}function Ie(){return Ce()?bt():Pe()}function Ce(){return document.body.classList.contains(F.opened)||document.body.classList.contains(F.opening)}function Pe(){return Lt(),Y(F.opening),sessionStorage.setItem("sidebar_state","opened"),new Promise((e,t)=>{P.togglingTimeout=setTimeout(()=>{Y(F.opened),e()},vt)})}function bt(){return Lt(),Y(F.closing),sessionStorage.setItem("sidebar_state","closed"),new Promise((e,t)=>{P.togglingTimeout=setTimeout(()=>{Y(F.closed),e()},vt)})}function Lt(){P.togglingTimeout&&(clearTimeout(P.togglingTimeout),P.togglingTimeout=null)}function mi(){P.lastWindowWidth!==window.innerWidth&&(P.lastWindowWidth=window.innerWidth,(P.sidebarPreference===D.OPEN||P.sidebarPreference===D.NO_PREF)&&xt())}function gi(){Et()&&Ce()&&bt()}function yi(){switch(P.sidebarPreference){case D.OPEN:P.sidebarPreference=D.CLOSED;break;case D.CLOSED:P.sidebarPreference=D.OPEN;break;case D.NO_PREF:Ce()?P.sidebarPreference=D.OPEN:P.sidebarPreference=D.CLOSED}}function J(){return window.sidebarNodes||{}}function Tt(){return window.versionNodes||[]}var Re={search:"search",extras:"extras",modules:"modules",tasks:"tasks"},kt=[Re.extras,Re.modules,Re.tasks],me="#full-list";function wt(){_t(J(),re()),It(),Ot(),Si()}function _t(e,t){let n=e[t]||[],i=c(me),r=Handlebars.templates["sidebar-items"]({nodes:n,group:""});i.innerHTML=r,vi(t),i.querySelectorAll("ul").forEach(s=>{if(s.innerHTML.trim()===""){let o=s.previousElementSibling;o.classList.contains("expand")&&o.classList.remove("expand")}}),i.querySelectorAll("li a").forEach(s=>{s.addEventListener("click",o=>{let a=o.target,u=a.closest("li"),l=i.querySelector(".current-section");if(a.matches(".icon-expand")){o.preventDefault(),u.classList.toggle("open");return}l&&l.classList.remove("current-section"),s.matches(".expand")&&s.pathname===window.location.pathname&&u.classList.add("open")})})}function vi(e){kt.forEach(t=>{let n=c(`#${t}-list-link`);n&&n.parentElement.classList.toggle("selected",t===e)})}function Ot(){let e=c(me),t=e.querySelector("li.current-page");t&&(t.scrollIntoView(),e.scrollTop-=40)}function It(){let e=fe()||"content",n=J()[re()]||[],i=rt(n,e),r=c(me),s=r.querySelector(`li.current-page a.expand[href$="#${i}"]`);s&&s.closest("li").classList.add("open");let o=r.querySelector(`li.current-page a[href$="#${e}"]`);if(o){let a=o.closest("ul");a.classList.contains("deflist")&&a.closest("li").classList.add("current-section"),o.closest("li").classList.add("current-hash")}}function Si(){kt.forEach(e=>{let t=c(`#${e}-list-link`);t&&t.addEventListener("click",n=>{n.preventDefault(),_t(J(),e),Ot()})}),window.addEventListener("hashchange",e=>{let n=c(me).querySelector("li.current-page li.current-hash");n&&n.classList.remove("current-hash"),It()})}var M={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Pt(e,t=5){if(K(e))return[];let n=J(),i=[...Ae(n.modules,e,M.module),...xi(n.modules,e,M.moduleChild),...Ae(n.tasks,e,M.mixTask),...Ae(n.extras,e,M.extra),...Qe(n.modules,e,M.section),...Qe(n.tasks,e,M.section),...Qe(n.extras,e,M.section)].filter(r=>r!==null);return _i(i).slice(0,t)}function Ae(e,t,n){return e.map(i=>bi(i,t,n))}function xi(e,t,n){return e.filter(i=>i.nodeGroups).flatMap(i=>i.nodeGroups.flatMap(({key:r,nodes:s})=>{let o=wi(r);return s.map(a=>Li(a,i.id,t,n,o)||ki(a,i.id,t,n,o))}))}function Qe(e,t,n){return e.flatMap(i=>Ei(i).map(r=>Ti(i,r,t,n)))}function Ei(e){return(e.sections||[]).concat(e.headers||[])}function bi(e,t,n){return Ne(e.title,t)?{link:`${e.id}.html`,title:Se(e.title,t),label:null,description:null,matchQuality:ye(e.title,t),category:n}:null}function Li(e,t,n,i,r){return Ne(e.id,n)?{link:`${t}.html#${e.anchor}`,title:Se(e.id,n),label:r,description:t,matchQuality:ye(e.id,n),category:i}:null}function Ti(e,t,n,i){return Rt(t.id,n)?{link:`${e.id}.html#${t.anchor}`,title:Se(t.id,n),label:null,description:e.title,matchQuality:ye(t.id,n),category:i}:null}function ki(e,t,n,i,r){let s=`${t}.${e.id}`;if(!Ne(s,n))return null;let o=n.replace(/\./g," ");return Rt(e.id,o)?{link:`${t}.html#${e.anchor}`,title:Se(e.id,o),label:r,description:t,matchQuality:ye(s,n),category:i}:null}function wi(e){switch(e){case"callbacks":return"callback";case"types":return"type";default:return null}}function _i(e){return e.slice().sort((t,n)=>t.matchQuality!==n.matchQuality?n.matchQuality-t.matchQuality:Ct(t.category)-Ct(n.category))}function Ct(e){switch(e){case M.module:return 1;case M.moduleChild:return 2;case M.mixTask:return 3;default:return 4}}function Rt(e,t){return ve(t).some(i=>At(e,i))}function Ne(e,t){return ve(t).every(i=>At(e,i))}function At(e,t){return e.toLowerCase().includes(t.toLowerCase())}function ye(e,t){let n=ve(t),r=n.map(o=>o.length).reduce((o,a)=>o+a,0)/e.length,s=Oi(e,n[0])?1:0;return r+s}function Oi(e,t){return e.toLowerCase().startsWith(t.toLowerCase())}function ve(e){return e.trim().split(/\s+/)}function Se(e,t){let n=ve(t).sort((i,r)=>r.length-i.length);return ge(e,n)}function ge(e,t){if(t.length===0)return e;let[n,...i]=t,r=e.match(new RegExp(`(.*)(${it(n)})(.*)`,"i"));if(r){let[,s,o,a]=r;return ge(s,t)+""+de(o)+" "+ge(a,t)}else return ge(e,i)}var X=".autocomplete",xe=".autocomplete-suggestion",B={autocompleteSuggestions:[],selectedIdx:-1};function Ii(){c(X).classList.add("shown")}function He(){c(X).classList.remove("shown")}function Qt(){return c(X).classList.contains("shown")}function De(e){B.autocompleteSuggestions=Pt(e),B.selectedIdx=-1,K(e)?He():(Ci({term:e,suggestions:B.autocompleteSuggestions}),Ee(0),Ii())}function Ci({term:e,suggestions:t}){let n=Handlebars.templates["autocomplete-suggestions"]({suggestions:t,term:e}),i=c(X);i.innerHTML=n}function Nt(){return B.selectedIdx===-1?null:B.autocompleteSuggestions[B.selectedIdx]}function Ee(e){B.selectedIdx=Pi(e);let t=c(`${xe}.selected`),n=c(`${xe}[data-index="${B.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function Pi(e){let t=B.autocompleteSuggestions.length+1;return(B.selectedIdx+e+1+t)%t-1}var se="form.sidebar-search input",Ri="form.sidebar-search .search-close-button";function Ht(){Ai()}function Dt(e){let t=c(se);t.value=e}function Ft(){c(se).focus()}function Ai(){let e=c(se);e.addEventListener("keydown",t=>{t.key==="Escape"?(be(),e.blur()):t.key==="Enter"?Qi(t):t.key==="ArrowUp"?(Ee(-1),t.preventDefault()):t.key==="ArrowDown"&&(Ee(1),t.preventDefault())}),e.addEventListener("input",t=>{De(t.target.value)}),e.addEventListener("focus",t=>{document.body.classList.add("search-focused"),De(t.target.value)}),e.addEventListener("blur",t=>{let n=t.relatedTarget;if(n){if(n.matches(xe))return setTimeout(()=>{Qt()&&e.focus()},1e3),null;n.matches(Ri)&&be()}Fe()}),c(X).addEventListener("click",t=>{t.shiftKey||t.ctrlKey?e.focus():(be(),Fe())})}function Qi(e){let t=c(se),n=e.shiftKey||e.ctrlKey,i=Nt();e.preventDefault();let r=n?"_blank":"_self",s=document.createElement("a");s.setAttribute("target",r),i?s.setAttribute("href",i.link):s.setAttribute("href",`search.html?q=${encodeURIComponent(t.value)}`),s.click(),n||(be(),Fe())}function be(){let e=c(se);e.value=""}function Fe(){document.body.classList.remove("search-focused"),He()}var Mt=".sidebar-projectVersion",Ni=".sidebar-projectVersionsDropdown";function Bt(){let e=Tt();if(e.length>0){let n=c(Mt).textContent.trim(),i=Di(e,n);Hi({nodes:i})}}function Hi({nodes:e}){let t=c(Mt),n=Handlebars.templates["versions-dropdown"]({nodes:e});t.innerHTML=n,c(Ni).addEventListener("change",Mi)}function Di(e,t){return Fi(e,t).map(i=>({...i,isCurrentVersion:i.version===t}))}function Fi(e,t){return e.some(i=>i.version===t)?e:[{version:t,url:"#"},...e]}function Mi(e){let t=e.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,i=`${t}/${n}`;ot(i).then(r=>{r?window.location.href=i:window.location.href=t})}var I=nt(jt());var Le=80,Bi="#search";function Ut(){if(window.location.pathname.endsWith("/search.html")){let e=st("q");Vi(e)}}function Vi(e){if(K(e))Me({value:e});else{Dt(e);let t=$i();try{let n=Ki(t.search(e));Me({value:e,results:n})}catch(n){Me({value:e,errorMessage:n.message})}}}function Me({value:e,results:t,errorMessage:n}){let i=c(Bi),r=Handlebars.templates["search-results"]({value:e,results:t,errorMessage:n});i.innerHTML=r}function $i(){I.default.QueryLexer.termSeparator=/\s+/,I.default.Pipeline.registerFunction(Be,"elixirTokenSplitter"),I.default.Pipeline.registerFunction(Ve,"elixirTrimmer"),I.default.Pipeline.registerFunction($e,"hyphenSearch");let e=ji();if(e)return e;let t=Ui();return zi(t),t}function ji(){try{let e=sessionStorage.getItem(qt());return e?I.default.Index.load(JSON.parse(e)):null}catch(e){return console.error("Failed to load index: ",e),null}}function zi(e){try{let t=JSON.stringify(e);sessionStorage.setItem(qt(),t)}catch(t){console.error("Failed to save index: ",t)}}function qt(){return`index:${he()}`}function Ui(){return(0,I.default)(function(){this.tokenizer.separator=/\s+/,this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.metadataWhitelist=["position"],this.pipeline.remove(I.default.stopWordFilter),this.use(Gi),this.use(qi),this.pipeline.remove(I.default.trimmer),this.use(Wi),searchNodes.forEach(e=>{this.add(e)})})}function qi(e){e.pipeline.before(I.default.stemmer,Be),e.searchPipeline.before(I.default.stemmer,Be)}function Be(e){let t=e.toString().split(/\.|\/|_/).map(n=>e.clone().update(()=>n));return t.length>1?[...t,e]:t}function Wi(e){e.pipeline.after(I.default.stemmer,Ve),e.searchPipeline.after(I.default.stemmer,Ve)}function Ve(e){return e.update(function(t){return t.replace(/^@?\W+/,"").replace(/\W+$/,"")})}function $e(e){if(e.toString().indexOf("-")<0)return e;let n=[];return n.push(e.clone(function(i){return i.replace("-","")})),n.push(e),n}function Gi(e){e.pipeline.before(I.default.stemmer,$e),e.searchPipeline.before(I.default.stemmer,$e)}function Ki(e){return e.filter(t=>zt(t.ref)).map(t=>{let n=zt(t.ref),i=t.matchData.metadata;return{...n,metadata:i,excerpts:Yi(n,i)}})}function zt(e){return searchNodes.find(t=>t.ref===e)||null}function Yi(e,t){let{doc:n}=e,r=Object.keys(t).filter(s=>"doc"in t[s]).map(s=>t[s].doc.position.map(([o,a])=>Ji(n,o,a))).reduce((s,o)=>s.concat(o),[]);return r.length===0?[n.slice(0,Le*2)+(Le*20?"...":"",e.slice(i,t),""+de(e.slice(t,t+n))+" ",e.slice(t+n,r),r{clearTimeout(Te),e.target.classList.remove("show")});function je(e){Z&&(clearTimeout(Te),Z.innerText=e,Z.classList.add("show"),Te=setTimeout(()=>{Z.classList.remove("show"),Te=setTimeout(function(){Z.innerText=""},1e3)},5e3))}var Wt="dark",ze=["system","dark","light"];function Gt(){O.getAndSubscribe(e=>{document.body.classList.toggle(Wt,Yt(e))}),Zi()}function Kt(){let t=O.get().theme||"system",n=ze[ze.indexOf(t)+1]||ze[0];O.update({theme:n}),je(`Set theme to "${n}"`)}function Yt(e){return e.theme==="dark"||Xi()&&(e.theme==null||e.theme==="system")}function Xi(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function Zi(){window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>{let t=O.get(),n=Yt(t);(t.theme==null||t.theme==="system")&&(document.body.classList.toggle(Wt,n),je(`Browser changed theme to "${n?"dark":"light"}"`))})}var er="hll";function Xt(){tr()}function tr(){w("[data-group-id]").forEach(t=>{let n=t.getAttribute("data-group-id");t.addEventListener("mouseenter",i=>{Jt(n,!0)}),t.addEventListener("mouseleave",i=>{Jt(n,!1)})})}function Jt(e,t){w(`[data-group-id="${e}"]`).forEach(i=>{i.classList.toggle(er,t)})}var ee="#modal",nr="#modal .modal-close",ir="#modal .modal-title",rr="#modal .modal-body",Zt='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',V={prevFocus:null,lastFocus:null,ignoreFocusChanges:!1};function en(){sr()}function sr(){let e=Handlebars.templates["modal-layout"]();document.body.insertAdjacentHTML("beforeend",e),c(ee).addEventListener("keydown",t=>{t.key==="Escape"&&oe()}),c(nr).addEventListener("click",t=>{oe()})}function tn(e){if(V.ignoreFocusChanges)return;let t=c(ee);if(t.contains(e.target))V.lastFocus=e.target;else{V.ignoreFocusChanges=!0;let n=or(t);V.lastFocus===n?ar(t).focus():n.focus(),V.ignoreFocusChanges=!1,V.lastFocus=document.activeElement}}function or(e){return e.querySelector(Zt)}function ar(e){let t=e.querySelectorAll(Zt);return t[t.length-1]}function ke({title:e,body:t}){V.prevFocus=document.activeElement,document.addEventListener("focus",tn,!0),c(ir).innerHTML=e,c(rr).innerHTML=t,c(ee).classList.add("shown"),c(ee).focus()}function oe(){c(ee).classList.remove("shown"),document.addEventListener("focus",tn,!0),V.prevFocus&&V.prevFocus.focus(),V.prevFocus=null}function nn(){return c(ee).classList.contains("shown")}var cr="https://hexdocs.pm/%%",lr="https://hex.pm/api/packages?search=name:%%*",ur=".display-quick-switch",Ue="#quick-switch-input",sn="#quick-switch-results",dr=".quick-switch-result",fr=300,hr=9,pr=["elixir","eex","ex_unit","hex","iex","logger","mix"].map(e=>({name:e})),on=2,R={autocompleteResults:[],selectedIdx:null};function an(){mr()}function mr(){w(ur).forEach(e=>{e.addEventListener("click",t=>{We()})})}function gr(e){if(e.key==="Enter"){let t=e.target.value;vr(t),e.preventDefault()}else e.key==="ArrowUp"?(rn(-1),e.preventDefault()):e.key==="ArrowDown"&&(rn(1),e.preventDefault())}function yr(e){let t=e.target.value;if(t.lengthn.json()).then(n=>{Array.isArray(n)&&(R.autocompleteResults=br(e,n),R.selectedIdx=null,c(Ue).value.length>=on&&Er({results:R.autocompleteResults}))})}function Er({results:e}){let t=c(sn),n=Handlebars.templates["quick-switch-results"]({results:e});t.innerHTML=n,w(dr).forEach(i=>{i.addEventListener("click",r=>{let s=i.getAttribute("data-index"),o=R.autocompleteResults[s];qe(o.name)})})}function br(e,t){return pr.concat(t).filter(n=>n.name.toLowerCase().includes(e.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,hr)}function rn(e){R.selectedIdx=Lr(e);let t=c(".quick-switch-result.selected"),n=c(`.quick-switch-result[data-index="${R.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function Lr(e){let t=R.autocompleteResults.length;if(R.selectedIdx===null){if(e>=0)return 0;if(e<0)return t-1}return(R.selectedIdx+e+t)%t}var Tr=".display-settings",kr="#settings-modal-content",Ge="#modal-settings-tab",Ke="#modal-keyboard-shortcuts-tab",ln="#settings-content",un="#keyboard-shortcuts-content",wr=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];function dn(){_r()}function _r(){w(Tr).forEach(e=>{e.addEventListener("click",t=>{Ye()})})}function cn(){c(Ke).classList.remove("active"),c(Ge).classList.add("active"),c(ln).classList.remove("hidden"),c(un).classList.add("hidden")}function Or(){c(Ke).classList.add("active"),c(Ge).classList.remove("active"),c(un).classList.remove("hidden"),c(ln).classList.add("hidden")}function Ye(){ke({title:wr.map(({id:s,title:o})=>`${o} `).join(""),body:Handlebars.templates["settings-modal-body"]({shortcuts:Je})});let e=c(kr),t=e.querySelector('[name="theme"]'),n=e.querySelector('[name="tooltips"]'),i=e.querySelector('[name="direct_livebook_url"]'),r=e.querySelector('[name="livebook_url"]');O.getAndSubscribe(s=>{t.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(i.checked=!1,r.classList.add("hidden"),r.tabIndex=-1):(i.checked=!0,r.classList.remove("hidden"),r.tabIndex=0,r.value=s.livebookUrl)}),t.addEventListener("change",s=>{O.update({theme:s.target.value})}),n.addEventListener("change",s=>{O.update({tooltips:s.target.checked})}),i.addEventListener("change",s=>{let o=s.target.checked?r.value:null;O.update({livebookUrl:o})}),r.addEventListener("input",s=>{O.update({livebookUrl:s.target.value})}),c(Ge).addEventListener("click",s=>{cn()}),c(Ke).addEventListener("click",s=>{Or()}),cn()}var Ir="#settings-modal-content",Je=[{key:"c",description:"Toggle sidebar",action:Ie},{key:"n",description:"Cycle themes",action:Kt},{key:"s",description:"Focus search bar",displayAs:"/ or s",action:fn},{key:"/",action:fn},{key:"g",description:"Search HexDocs package",displayAs:"g",action:We},{key:"?",displayAs:"? ",description:"Bring up this modal",action:Ar}],Xe={shortcutBeingPressed:null};function hn(){Cr()}function Cr(){document.addEventListener("keydown",Pr),document.addEventListener("keyup",Rr)}function Pr(e){if(Xe.shortcutBeingPressed||e.target.matches("input, textarea")||e.ctrlKey||e.metaKey||e.altKey)return;let t=Je.find(n=>n.key===e.key);!t||(Xe.shortcutBeingPressed=t,e.preventDefault(),t.action(e))}function Rr(e){Xe.shortcutBeingPressed=null}function fn(e){oe(),Pe(),Ft()}function Ar(){Qr()?oe():Ye()}function Qr(){return nn()&&c(Ir)}var q={plain:"plain",function:"function",module:"module"},Nr=[{href:"typespecs.html#basic-types",hint:{kind:q.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:q.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:q.plain,description:"Built-in type"}}],we={cancelHintFetching:null};function pn(e){if(gn(e))return!0;let t=/#.*\//;return e.includes("#")&&!t.test(e)?!1:e.includes(".html")}function mn(e){let t=gn(e);return t?Promise.resolve(t):Hr(e)}function gn(e){let t=Nr.find(n=>e.includes(n.href));return t?t.hint:null}function Hr(e){let t=e.replace(".html",".html?hint=true");return new Promise((n,i)=>{let r=document.createElement("iframe");r.setAttribute("sandbox","allow-scripts allow-same-origin"),r.setAttribute("src",t),r.style.display="none";function s(a){let{href:u,hint:l}=a.data;t===u&&(o(),n(l))}we.cancelHintFetching=()=>{o(),i(new Error("cancelled"))};function o(){r.remove(),window.removeEventListener("message",s),we.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(r)})}function yn(){we.cancelHintFetching&&we.cancelHintFetching()}function vn(e){let n=e.querySelector("h1").textContent,i=e.querySelector(".docstring > p"),r=i?i.textContent:"";return{kind:q.function,title:n.trim(),description:r.trim()}}function Sn(e){let n=e.querySelector("h1 > span").textContent,i=e.querySelector("#moduledoc p"),r=i?i.textContent:"";return{kind:q.module,title:n.trim(),description:r.trim()}}var Dr=".content a",Ze="#tooltip",Fr="#tooltip .tooltip-body",En="body .content-inner",Mr="#content",bn="tooltip-shown",ae=10,Br=ae*4,xn={height:450,width:768},Vr=100,te={currentLinkElement:null,hoverDelayTimeout:null};function Ln(){$r(),jr()}function $r(){let e=Handlebars.templates["tooltip-layout"]();c(En).insertAdjacentHTML("beforeend",e)}function jr(){w(Dr).forEach(e=>{!zr(e)||(e.addEventListener("mouseenter",t=>{qr(e)}),e.addEventListener("mouseleave",t=>{Yr(e)}))})}function zr(e){return!(e.classList.contains("detail-link")||Ur(e.href)||!pn(e.href))}function Ur(e){let t=e.replace(Mr,"");return window.location.href.split("#")[0]===t}function qr(e){!Wr()||(te.currentLinkElement=e,te.hoverDelayTimeout=setTimeout(()=>{mn(e.href).then(t=>{Gr(t),Kr()}).catch(()=>{})},Vr))}function Wr(){let e=window.innerWidthe.firstElementChild&&e.firstElementChild.tagName==="CODE").forEach(e=>e.insertAdjacentHTML("beforeend",os)),Array.from(w(".copy-button")).forEach(e=>{let t;e.addEventListener("click",()=>{t&&clearTimeout(t);let n=Array.from(e.parentElement.querySelector("code").childNodes).filter(i=>!(i.tagName==="SPAN"&&i.classList.contains("unselectable"))).map(i=>i.textContent).join("");navigator.clipboard.writeText(n),e.classList.add("clicked"),t=setTimeout(()=>e.classList.remove("clicked"),3e3)})})}at(()=>{Gt(),St(),wt(),Ht(),Bt(),dt(),Xt(),en(),hn(),an(),Ln(),wn(),Ut(),_n(),dn()});})();
+/*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ */
+/*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ */
diff --git a/formatters/html/dist/html-XN2TSG4M.js b/formatters/html/dist/html-XN2TSG4M.js
deleted file mode 100644
index 48d9711a2..000000000
--- a/formatters/html/dist/html-XN2TSG4M.js
+++ /dev/null
@@ -1,52 +0,0 @@
-(()=>{var Cn=Object.create;var Ze=Object.defineProperty;var Pn=Object.getOwnPropertyDescriptor;var Rn=Object.getOwnPropertyNames;var An=Object.getPrototypeOf,Qn=Object.prototype.hasOwnProperty;var et=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Nn=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Rn(t))!Qn.call(e,r)&&r!==n&&Ze(e,r,{get:()=>t[r],enumerable:!(i=Pn(t,r))||i.enumerable});return e};var tt=(e,t,n)=>(n=e!=null?Cn(An(e)):{},Nn(t||!e||!e.__esModule?Ze(n,"default",{value:e,enumerable:!0}):n,e));var mt=et((ds,pt)=>{var ht="Expected a function",dt=NaN,$n="[object Symbol]",Un=/^\s+|\s+$/g,Wn=/^[-+]0x[0-9a-f]+$/i,Gn=/^0b[01]+$/i,Kn=/^0o[0-7]+$/i,Yn=parseInt,Jn=typeof global=="object"&&global&&global.Object===Object&&global,Xn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=Jn||Xn||Function("return this")(),ei=Object.prototype,ti=ei.toString,ni=Math.max,ii=Math.min,ke=function(){return Zn.Date.now()};function ri(e,t,n){var i,r,s,o,a,u,l=0,f=!1,y=!1,g=!0;if(typeof e!="function")throw new TypeError(ht);t=ft(t)||0,pe(n)&&(f=!!n.leading,y="maxWait"in n,s=y?ni(ft(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g);function L(x){var C=i,D=r;return i=r=void 0,l=x,o=e.apply(D,C),o}function S(x){return l=x,a=setTimeout(p,t),f?L(x):o}function T(x){var C=x-u,D=x-l,V=t-C;return y?ii(V,s-D):V}function m(x){var C=x-u,D=x-l;return u===void 0||C>=t||C<0||y&&D>=s}function p(){var x=ke();if(m(x))return _(x);a=setTimeout(p,T(x))}function _(x){return a=void 0,g&&i?L(x):(i=r=void 0,o)}function w(){a!==void 0&&clearTimeout(a),l=0,i=u=r=a=void 0}function Q(){return a===void 0?o:_(ke())}function N(){var x=ke(),C=m(x);if(i=arguments,r=this,u=x,C){if(a===void 0)return S(u);if(y)return a=setTimeout(p,t),L(u)}return a===void 0&&(a=setTimeout(p,t)),o}return N.cancel=w,N.flush=Q,N}function si(e,t,n){var i=!0,r=!0;if(typeof e!="function")throw new TypeError(ht);return pe(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),ri(e,t,{leading:i,maxWait:t,trailing:r})}function pe(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function oi(e){return!!e&&typeof e=="object"}function ai(e){return typeof e=="symbol"||oi(e)&&ti.call(e)==$n}function ft(e){if(typeof e=="number")return e;if(ai(e))return dt;if(pe(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=pe(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(Un,"");var n=Gn.test(e);return n||Kn.test(e)?Yn(e.slice(2),n?2:8):Wn.test(e)?dt:+e}pt.exports=si});var Vt=et((Mt,Bt)=>{(function(){var e=function(t){var n=new e.Builder;return n.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),n.searchPipeline.add(e.stemmer),t.call(n,n),n.build()};e.version="2.3.9";e.utils={},e.utils.warn=function(t){return function(n){t.console&&console.warn&&console.warn(n)}}(this),e.utils.asString=function(t){return t==null?"":t.toString()},e.utils.clone=function(t){if(t==null)return t;for(var n=Object.create(null),i=Object.keys(t),r=0;r0){var f=e.utils.clone(n)||{};f.position=[a,l],f.index=s.length,s.push(new e.Token(i.slice(a,o),f))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/;e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,n){n in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+n),t.label=n,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var n=t.label&&t.label in this.registeredFunctions;n||e.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
-`,t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(i){var r=e.Pipeline.registeredFunctions[i];if(r)n.add(r);else throw new Error("Cannot load unregistered function: "+i)}),n},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(n){e.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},e.Pipeline.prototype.after=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i=i+1,this._stack.splice(i,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},e.Pipeline.prototype.remove=function(t){var n=this._stack.indexOf(t);n!=-1&&this._stack.splice(n,1)},e.Pipeline.prototype.run=function(t){for(var n=this._stack.length,i=0;i1&&(ot&&(i=s),o!=t);)r=i-n,s=n+Math.floor(r/2),o=this.elements[s*2];if(o==t||o>t)return s*2;if(ou?f+=2:a==u&&(n+=i[l+1]*r[f+1],l+=2,f+=2);return n},e.Vector.prototype.similarity=function(t){return this.dot(t)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var t=new Array(this.elements.length/2),n=1,i=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new e.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),r.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),r.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&r.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),r.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var f=s.str.charAt(0),y=s.str.charAt(1),g;y in s.node.edges?g=s.node.edges[y]:(g=new e.TokenSet,s.node.edges[y]=g),s.str.length==1&&(g.final=!0),r.push({node:g,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var n=new e.TokenSet,i=n,r=0,s=t.length;r=t;n--){var i=this.uncheckedNodes[n],r=i.child.toString();r in this.minimizedNodes?i.parent.edges[i.char]=this.minimizedNodes[r]:(i.child._str=r,this.minimizedNodes[r]=i.child),this.uncheckedNodes.pop()}};e.Index=function(t){this.invertedIndex=t.invertedIndex,this.fieldVectors=t.fieldVectors,this.tokenSet=t.tokenSet,this.fields=t.fields,this.pipeline=t.pipeline},e.Index.prototype.search=function(t){return this.query(function(n){var i=new e.QueryParser(t,n);i.parse()})},e.Index.prototype.query=function(t){for(var n=new e.Query(this.fields),i=Object.create(null),r=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=t},e.Builder.prototype.k1=function(t){this._k1=t},e.Builder.prototype.add=function(t,n){var i=t[this._ref],r=Object.keys(this._fields);this._documents[i]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,n;do t=this.next(),n=t.charCodeAt(0);while(n>47&&n<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var n=t.next();if(n==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){t.escapeCharacter();continue}if(n==":")return e.QueryLexer.lexField;if(n=="~")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if(n=="^")return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if(n=="+"&&t.width()===1||n=="-"&&t.width()===1)return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(n.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}},e.QueryParser=function(t,n){this.lexer=new e.QueryLexer(t),this.query=n,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var t=this.peekLexeme();return this.lexemeIdx+=1,t},e.QueryParser.prototype.nextClause=function(){var t=this.currentClause;this.query.clause(t),this.currentClause={}},e.QueryParser.parseClause=function(t){var n=t.peekLexeme();if(n!=null)switch(n.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(i+=" with value '"+n.str+"'"),new e.QueryParseError(i,n.start,n.end)}},e.QueryParser.parsePresence=function(t){var n=t.consumeLexeme();if(n!=null){switch(n.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+n.str+"'";throw new e.QueryParseError(i,n.start,n.end)}var r=t.peekLexeme();if(r==null){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,n.start,n.end)}switch(r.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+r.type+"'";throw new e.QueryParseError(i,r.start,r.end)}}},e.QueryParser.parseField=function(t){var n=t.consumeLexeme();if(n!=null){if(t.query.allFields.indexOf(n.str)==-1){var i=t.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),r="unrecognised field '"+n.str+"', possible fields: "+i;throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.fields=[n.str];var s=t.peekLexeme();if(s==null){var r="expecting term, found nothing";throw new e.QueryParseError(r,n.start,n.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expecting term, found '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var n=t.consumeLexeme();if(n!=null){t.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(i==null){t.nextClause();return}switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(r,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var n=t.consumeLexeme();if(n!=null){var i=parseInt(n.str,10);if(isNaN(i)){var r="edit distance must be numeric";throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(s==null){t.nextClause();return}switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var n=t.consumeLexeme();if(n!=null){var i=parseInt(n.str,10);if(isNaN(i)){var r="boost must be numeric";throw new e.QueryParseError(r,n.start,n.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(s==null){t.nextClause();return}switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(r,s.start,s.end)}}},function(t,n){typeof define=="function"&&define.amd?define(n):typeof Mt=="object"?Bt.exports=n():t.lunr=n()}(this,function(){return e})})()});Handlebars.registerHelper("groupChanged",function(e,t,n){let i=t||"";if(e.group!==i)return delete e.nestedContext,e.group=i,n.fn(this)});Handlebars.registerHelper("nestingChanged",function(e,t,n){if(t.nested_context&&t.nested_context!==e.nestedContext){if(e.nestedContext=t.nested_context,e.lastModuleSeenInGroup!==t.nested_context)return n.fn(this)}else e.lastModuleSeenInGroup=t.title});Handlebars.registerHelper("showSections",function(e,t){if(e.sections.length>0)return t.fn(this)});Handlebars.registerHelper("showSummary",function(e,t){if(e.nodeGroups)return t.fn(this)});Handlebars.registerHelper("isArray",function(e,t){return Array.isArray(e)?t.fn(this):t.inverse(this)});Handlebars.registerHelper("isNonEmptyArray",function(e,t){return Array.isArray(e)&&e.length>0?t.fn(this):t.inverse(this)});Handlebars.registerHelper("isLocal",function(e,t){let n=window.location.pathname.split("/").pop();return e+".html"===n?t.fn(this):t.inverse(this)});var c=document.querySelector.bind(document),k=document.querySelectorAll.bind(document);function nt(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function de(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function re(){return document.body.dataset.type}function it(e,t){if(!!e){for(let n of e){let i=n.nodeGroups&&n.nodeGroups.find(r=>r.nodes.some(s=>s.anchor===t));if(i)return i.key}return null}}function fe(){return window.location.hash.replace(/^#/,"")}function rt(e){return new URLSearchParams(window.location.search).get(e)}function st(e){return fetch(e).then(t=>t.ok).catch(()=>!1)}function ot(e){document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e)}function K(e){return!e||e.trim()===""}function at(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)}}function he(){return document.head.querySelector("meta[name=project][content]").content}var ct="ex_doc:settings",Dn={tooltips:!0,theme:null,livebookUrl:null},we=class{constructor(){this._subscribers=[],this._settings=Dn,this._loadSettings()}get(){return this._settings}update(t){let n=this._settings;this._settings={...this._settings,...t},this._subscribers.forEach(i=>i(this._settings,n)),this._storeSettings()}getAndSubscribe(t){this._subscribers.push(t),t(this._settings)}_loadSettings(){try{let t=localStorage.getItem(ct);if(t){let n=JSON.parse(t);this._settings={...this._settings,...n}}this._loadSettingsLegacy()}catch(t){console.error(`Failed to load settings: ${t}`)}}_storeSettings(){try{this._storeSettingsLegacy(),localStorage.setItem(ct,JSON.stringify(this._settings))}catch(t){console.error(`Failed to persist settings: ${t}`)}}_loadSettingsLegacy(){localStorage.getItem("tooltipsDisabled")!==null&&(this._settings={...this._settings,tooltips:!1}),localStorage.getItem("night-mode")==="true"&&(this._settings={...this._settings,nightMode:!0}),this._settings.nightMode===!0&&(this._settings={...this._settings,theme:"dark"})}_storeSettingsLegacy(){this._settings.tooltips?localStorage.removeItem("tooltipsDisabled"):localStorage.setItem("tooltipsDisabled","true"),this._settings.nightMode!==null?localStorage.setItem("night-mode",this._settings.nightMode===!0?"true":"false"):localStorage.removeItem("night-mode"),this._settings.theme!==null?(localStorage.setItem("night-mode",this._settings.theme==="dark"?"true":"false"),this._settings.nightMode=this._settings.theme==="dark"):(delete this._settings.nightMode,localStorage.removeItem("night-mode"))}},O=new we;var Hn=".content",lt=".content-inner",Fn=".livebook-badge";function ut(){Mn(),Vn(),jn(),Bn()}function Mn(){c(Hn).querySelectorAll("a").forEach(e=>{e.querySelector("code, img")&&e.classList.add("no-underline")})}function Bn(){["warning","info","error","neutral","tip"].forEach(t=>{k(`blockquote h3.${t}, blockquote h4.${t}`).forEach(n=>{n.closest("blockquote").classList.add(t)})})}function Vn(){c(lt).setAttribute("tabindex",-1),c(lt).focus()}function jn(){let t=window.location.pathname.replace(/\.html$/,".livemd"),n=new URL(t,window.location.href).toString();O.getAndSubscribe(i=>{let r=i.livebookUrl?zn(i.livebookUrl,n):qn(n);for(let s of k(Fn))s.href=r})}function qn(e){return`https://livebook.dev/run?url=${encodeURIComponent(e)}`}function zn(e,t){return`${e}/import?url=${encodeURIComponent(t)}`}var gt=tt(mt());var ci=768,yt=300,li=".sidebar-toggle",ui=".content",H={CLOSED:"closed",OPEN:"open",NO_PREF:"no_pref"},F={opened:"sidebar-opened",opening:"sidebar-opening",closed:"sidebar-closed",closing:"sidebar-closing"},di=Object.values(F),P={togglingTimeout:null,lastWindowWidth:window.innerWidth,sidebarPreference:H.NO_PREF};function vt(){St(),fi()}function St(){if(sessionStorage.getItem("sidebar_state")==="closed")return Y(F.closed);Y(xt()?F.closed:F.opened)}function xt(){return window.matchMedia(`screen and (max-width: ${ci}px)`).matches}function Y(...e){document.body.classList.remove(...di),document.body.classList.add(...e)}function fi(){c(li).addEventListener("click",e=>{_e(),mi()}),c(ui).addEventListener("click",e=>{pi()}),window.addEventListener("resize",(0,gt.default)(e=>{hi()},100))}function _e(){return Oe()?Et():Ie()}function Oe(){return document.body.classList.contains(F.opened)||document.body.classList.contains(F.opening)}function Ie(){return bt(),Y(F.opening),sessionStorage.setItem("sidebar_state","opened"),new Promise((e,t)=>{P.togglingTimeout=setTimeout(()=>{Y(F.opened),e()},yt)})}function Et(){return bt(),Y(F.closing),sessionStorage.setItem("sidebar_state","closed"),new Promise((e,t)=>{P.togglingTimeout=setTimeout(()=>{Y(F.closed),e()},yt)})}function bt(){P.togglingTimeout&&(clearTimeout(P.togglingTimeout),P.togglingTimeout=null)}function hi(){P.lastWindowWidth!==window.innerWidth&&(P.lastWindowWidth=window.innerWidth,(P.sidebarPreference===H.OPEN||P.sidebarPreference===H.NO_PREF)&&St())}function pi(){xt()&&Oe()&&Et()}function mi(){switch(P.sidebarPreference){case H.OPEN:P.sidebarPreference=H.CLOSED;break;case H.CLOSED:P.sidebarPreference=H.OPEN;break;case H.NO_PREF:Oe()?P.sidebarPreference=H.OPEN:P.sidebarPreference=H.CLOSED}}function J(){return window.sidebarNodes||{}}function Lt(){return window.versionNodes||[]}var Ce={search:"search",extras:"extras",modules:"modules",tasks:"tasks"},Tt=[Ce.extras,Ce.modules,Ce.tasks],me="#full-list";function wt(){kt(J(),re()),Ot(),_t(),yi()}function kt(e,t){let n=e[t]||[],i=c(me),r=Handlebars.templates["sidebar-items"]({nodes:n,group:""});i.innerHTML=r,gi(t),i.querySelectorAll("ul").forEach(s=>{if(s.innerHTML.trim()===""){let o=s.previousElementSibling;o.classList.contains("expand")&&o.classList.remove("expand")}}),i.querySelectorAll("li a").forEach(s=>{s.addEventListener("click",o=>{let a=o.target,u=a.closest("li"),l=i.querySelector(".current-section");if(a.matches(".icon-expand")){o.preventDefault(),u.classList.toggle("open");return}l&&l.classList.remove("current-section"),s.matches(".expand")&&s.pathname===window.location.pathname&&u.classList.add("open")})})}function gi(e){Tt.forEach(t=>{let n=c(`#${t}-list-link`);n&&n.parentElement.classList.toggle("selected",t===e)})}function _t(){let e=c(me),t=e.querySelector("li.current-page");t&&(t.scrollIntoView(),e.scrollTop-=40)}function Ot(){let e=fe()||"content",n=J()[re()]||[],i=it(n,e),r=c(me),s=r.querySelector(`li.current-page a.expand[href$="#${i}"]`);s&&s.closest("li").classList.add("open");let o=r.querySelector(`li.current-page a[href$="#${e}"]`);if(o){let a=o.closest("ul");a.classList.contains("deflist")&&a.closest("li").classList.add("current-section"),o.closest("li").classList.add("current-hash")}}function yi(){Tt.forEach(e=>{let t=c(`#${e}-list-link`);t&&t.addEventListener("click",n=>{n.preventDefault(),kt(J(),e),_t()})}),window.addEventListener("hashchange",e=>{let n=c(me).querySelector("li.current-page li.current-hash");n&&n.classList.remove("current-hash"),Ot()})}var $={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra"};function Ct(e,t=5){if(K(e))return[];let n=J(),i=[...Pe(n.modules,e,$.module),...vi(n.modules,e,$.moduleChild),...Pe(n.tasks,e,$.mixTask),...Pe(n.extras,e,$.extra)];return Li(i).slice(0,t)}function Pe(e,t,n){return e.map(i=>Si(i,t,n)).filter(i=>i!==null)}function vi(e,t,n){return e.filter(i=>i.nodeGroups).flatMap(i=>i.nodeGroups.flatMap(({key:r,nodes:s})=>{let o=bi(r);return s.map(a=>xi(a,i.id,t,n,o)||Ei(a,i.id,t,n,o))})).filter(i=>i!==null)}function Si(e,t,n){return Re(e.title,t)?{link:`${e.id}.html`,title:Qe(e.title,t),label:null,description:null,matchQuality:Ae(e.title,t),category:n}:null}function xi(e,t,n,i,r){return Re(e.id,n)?{link:`${t}.html#${e.anchor}`,title:Qe(e.id,n),label:r,description:t,matchQuality:Ae(e.id,n),category:i}:null}function Ei(e,t,n,i,r){let s=`${t}.${e.id}`;if(!Re(s,n))return null;let o=n.replace(/\./g," ");return Ti(e.id,o)?{link:`${t}.html#${e.anchor}`,title:Qe(e.id,o),label:r,description:t,matchQuality:Ae(s,n),category:i}:null}function bi(e){switch(e){case"callbacks":return"callback";case"types":return"type";default:return null}}function Li(e){return e.slice().sort((t,n)=>t.matchQuality!==n.matchQuality?n.matchQuality-t.matchQuality:It(t.category)-It(n.category))}function It(e){switch(e){case $.module:return 1;case $.moduleChild:return 2;case $.mixTask:return 3;default:return 4}}function Ti(e,t){return ye(t).some(i=>Pt(e,i))}function Re(e,t){return ye(t).every(i=>Pt(e,i))}function Pt(e,t){return e.toLowerCase().includes(t.toLowerCase())}function Ae(e,t){let n=ye(t),r=n.map(o=>o.length).reduce((o,a)=>o+a,0)/e.length,s=wi(e,n[0])?1:0;return r+s}function wi(e,t){return e.toLowerCase().startsWith(t.toLowerCase())}function ye(e){return e.trim().split(/\s+/)}function Qe(e,t){let n=ye(t).sort((i,r)=>r.length-i.length);return ge(e,n)}function ge(e,t){if(t.length===0)return e;let[n,...i]=t,r=e.match(new RegExp(`(.*)(${nt(n)})(.*)`,"i"));if(r){let[,s,o,a]=r;return ge(s,t)+""+de(o)+" "+ge(a,t)}else return ge(e,i)}var X=".autocomplete",ve=".autocomplete-suggestion",M={autocompleteSuggestions:[],selectedIdx:-1};function ki(){c(X).classList.add("shown")}function Ne(){c(X).classList.remove("shown")}function Rt(){return c(X).classList.contains("shown")}function De(e){M.autocompleteSuggestions=Ct(e),M.selectedIdx=-1,K(e)?Ne():(_i({term:e,suggestions:M.autocompleteSuggestions}),Se(0),ki())}function _i({term:e,suggestions:t}){let n=Handlebars.templates["autocomplete-suggestions"]({suggestions:t,term:e}),i=c(X);i.innerHTML=n}function At(){return M.selectedIdx===-1?null:M.autocompleteSuggestions[M.selectedIdx]}function Se(e){M.selectedIdx=Oi(e);let t=c(`${ve}.selected`),n=c(`${ve}[data-index="${M.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function Oi(e){let t=M.autocompleteSuggestions.length+1;return(M.selectedIdx+e+1+t)%t-1}var se="form.sidebar-search input",Ii="form.sidebar-search .search-close-button";function Qt(){Ci()}function Nt(e){let t=c(se);t.value=e}function Dt(){c(se).focus()}function Ci(){let e=c(se);e.addEventListener("keydown",t=>{t.key==="Escape"?(xe(),e.blur()):t.key==="Enter"?Pi(t):t.key==="ArrowUp"?(Se(-1),t.preventDefault()):t.key==="ArrowDown"&&(Se(1),t.preventDefault())}),e.addEventListener("input",t=>{De(t.target.value)}),e.addEventListener("focus",t=>{document.body.classList.add("search-focused"),De(t.target.value)}),e.addEventListener("blur",t=>{let n=t.relatedTarget;if(n){if(n.matches(ve))return setTimeout(()=>{Rt()&&e.focus()},1e3),null;n.matches(Ii)&&xe()}He()}),c(X).addEventListener("click",t=>{t.shiftKey||t.ctrlKey?e.focus():(xe(),He())})}function Pi(e){let t=c(se),n=e.shiftKey||e.ctrlKey,i=At();e.preventDefault();let r=n?"_blank":"_self",s=document.createElement("a");s.setAttribute("target",r),i?s.setAttribute("href",i.link):s.setAttribute("href",`search.html?q=${encodeURIComponent(t.value)}`),s.click(),n||(xe(),He())}function xe(){let e=c(se);e.value=""}function He(){document.body.classList.remove("search-focused"),Ne()}var Ht=".sidebar-projectVersion",Ri=".sidebar-projectVersionsDropdown";function Ft(){let e=Lt();if(e.length>0){let n=c(Ht).textContent.trim(),i=Qi(e,n);Ai({nodes:i})}}function Ai({nodes:e}){let t=c(Ht),n=Handlebars.templates["versions-dropdown"]({nodes:e});t.innerHTML=n,c(Ri).addEventListener("change",Di)}function Qi(e,t){return Ni(e,t).map(i=>({...i,isCurrentVersion:i.version===t}))}function Ni(e,t){return e.some(i=>i.version===t)?e:[{version:t,url:"#"},...e]}function Di(e){let t=e.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,i=`${t}/${n}`;st(i).then(r=>{r?window.location.href=i:window.location.href=t})}var I=tt(Vt());var Ee=80,Hi="#search";function qt(){if(window.location.pathname.endsWith("/search.html")){let e=rt("q");Fi(e)}}function Fi(e){if(K(e))Fe({value:e});else{Nt(e);let t=Mi();try{let n=Ui(t.search(e));Fe({value:e,results:n})}catch(n){Fe({value:e,errorMessage:n.message})}}}function Fe({value:e,results:t,errorMessage:n}){let i=c(Hi),r=Handlebars.templates["search-results"]({value:e,results:t,errorMessage:n});i.innerHTML=r}function Mi(){I.default.QueryLexer.termSeparator=/\s+/,I.default.Pipeline.registerFunction(Me,"elixirTokenSplitter"),I.default.Pipeline.registerFunction(Be,"elixirTrimmer"),I.default.Pipeline.registerFunction(Ve,"hyphenSearch");let e=Bi();if(e)return e;let t=ji();return Vi(t),t}function Bi(){try{let e=sessionStorage.getItem(zt());return e?I.default.Index.load(JSON.parse(e)):null}catch(e){return console.error("Failed to load index: ",e),null}}function Vi(e){try{let t=JSON.stringify(e);sessionStorage.setItem(zt(),t)}catch(t){console.error("Failed to save index: ",t)}}function zt(){return`index:${he()}`}function ji(){return(0,I.default)(function(){this.tokenizer.separator=/\s+/,this.ref("ref"),this.field("title",{boost:3}),this.field("doc"),this.metadataWhitelist=["position"],this.pipeline.remove(I.default.stopWordFilter),this.use($i),this.use(qi),this.pipeline.remove(I.default.trimmer),this.use(zi),searchNodes.forEach(e=>{this.add(e)})})}function qi(e){e.pipeline.before(I.default.stemmer,Me),e.searchPipeline.before(I.default.stemmer,Me)}function Me(e){let t=e.toString().split(/\.|\/|_/).map(n=>e.clone().update(()=>n));return t.length>1?[...t,e]:t}function zi(e){e.pipeline.after(I.default.stemmer,Be),e.searchPipeline.after(I.default.stemmer,Be)}function Be(e){return e.update(function(t){return t.replace(/^@?\W+/,"").replace(/\W+$/,"")})}function Ve(e){if(e.toString().indexOf("-")<0)return e;let n=[];return n.push(e.clone(function(i){return i.replace("-","")})),n.push(e),n}function $i(e){e.pipeline.before(I.default.stemmer,Ve),e.searchPipeline.before(I.default.stemmer,Ve)}function Ui(e){return e.filter(t=>jt(t.ref)).map(t=>{let n=jt(t.ref),i=t.matchData.metadata;return{...n,metadata:i,excerpts:Wi(n,i)}})}function jt(e){return searchNodes.find(t=>t.ref===e)||null}function Wi(e,t){let{doc:n}=e,r=Object.keys(t).filter(s=>"doc"in t[s]).map(s=>t[s].doc.position.map(([o,a])=>Gi(n,o,a))).reduce((s,o)=>s.concat(o),[]);return r.length===0?[n.slice(0,Ee*2)+(Ee*20?"...":"",e.slice(i,t),""+de(e.slice(t,t+n))+" ",e.slice(t+n,r),r{clearTimeout(be),e.target.classList.remove("show")});function je(e){Z&&(clearTimeout(be),Z.innerText=e,Z.classList.add("show"),be=setTimeout(()=>{Z.classList.remove("show"),be=setTimeout(function(){Z.innerText=""},1e3)},5e3))}var $t="dark",qe=["system","dark","light"];function Ut(){O.getAndSubscribe(e=>{document.body.classList.toggle($t,Gt(e))}),Yi()}function Wt(){let t=O.get().theme||"system",n=qe[qe.indexOf(t)+1]||qe[0];O.update({theme:n}),je(`Set theme to "${n}"`)}function Gt(e){return e.theme==="dark"||Ki()&&(e.theme==null||e.theme==="system")}function Ki(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function Yi(){window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>{let t=O.get(),n=Gt(t);(t.theme==null||t.theme==="system")&&(document.body.classList.toggle($t,n),je(`Browser changed theme to "${n?"dark":"light"}"`))})}var Ji="hll";function Yt(){Xi()}function Xi(){k("[data-group-id]").forEach(t=>{let n=t.getAttribute("data-group-id");t.addEventListener("mouseenter",i=>{Kt(n,!0)}),t.addEventListener("mouseleave",i=>{Kt(n,!1)})})}function Kt(e,t){k(`[data-group-id="${e}"]`).forEach(i=>{i.classList.toggle(Ji,t)})}var ee="#modal",Zi="#modal .modal-close",er="#modal .modal-title",tr="#modal .modal-body",Jt='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',B={prevFocus:null,lastFocus:null,ignoreFocusChanges:!1};function Xt(){nr()}function nr(){let e=Handlebars.templates["modal-layout"]();document.body.insertAdjacentHTML("beforeend",e),c(ee).addEventListener("keydown",t=>{t.key==="Escape"&&oe()}),c(Zi).addEventListener("click",t=>{oe()})}function Zt(e){if(B.ignoreFocusChanges)return;let t=c(ee);if(t.contains(e.target))B.lastFocus=e.target;else{B.ignoreFocusChanges=!0;let n=ir(t);B.lastFocus===n?rr(t).focus():n.focus(),B.ignoreFocusChanges=!1,B.lastFocus=document.activeElement}}function ir(e){return e.querySelector(Jt)}function rr(e){let t=e.querySelectorAll(Jt);return t[t.length-1]}function Le({title:e,body:t}){B.prevFocus=document.activeElement,document.addEventListener("focus",Zt,!0),c(er).innerHTML=e,c(tr).innerHTML=t,c(ee).classList.add("shown"),c(ee).focus()}function oe(){c(ee).classList.remove("shown"),document.addEventListener("focus",Zt,!0),B.prevFocus&&B.prevFocus.focus(),B.prevFocus=null}function en(){return c(ee).classList.contains("shown")}var sr="https://hexdocs.pm/%%",or="https://hex.pm/api/packages?search=name:%%*",ar=".display-quick-switch",ze="#quick-switch-input",nn="#quick-switch-results",cr=".quick-switch-result",lr=300,ur=9,dr=["elixir","eex","ex_unit","hex","iex","logger","mix"].map(e=>({name:e})),rn=2,R={autocompleteResults:[],selectedIdx:null};function sn(){fr()}function fr(){k(ar).forEach(e=>{e.addEventListener("click",t=>{Ue()})})}function hr(e){if(e.key==="Enter"){let t=e.target.value;mr(t),e.preventDefault()}else e.key==="ArrowUp"?(tn(-1),e.preventDefault()):e.key==="ArrowDown"&&(tn(1),e.preventDefault())}function pr(e){let t=e.target.value;if(t.lengthn.json()).then(n=>{Array.isArray(n)&&(R.autocompleteResults=Sr(e,n),R.selectedIdx=null,c(ze).value.length>=rn&&vr({results:R.autocompleteResults}))})}function vr({results:e}){let t=c(nn),n=Handlebars.templates["quick-switch-results"]({results:e});t.innerHTML=n,k(cr).forEach(i=>{i.addEventListener("click",r=>{let s=i.getAttribute("data-index"),o=R.autocompleteResults[s];$e(o.name)})})}function Sr(e,t){return dr.concat(t).filter(n=>n.name.toLowerCase().includes(e.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,ur)}function tn(e){R.selectedIdx=xr(e);let t=c(".quick-switch-result.selected"),n=c(`.quick-switch-result[data-index="${R.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function xr(e){let t=R.autocompleteResults.length;if(R.selectedIdx===null){if(e>=0)return 0;if(e<0)return t-1}return(R.selectedIdx+e+t)%t}var Er=".display-settings",br="#settings-modal-content",We="#modal-settings-tab",Ge="#modal-keyboard-shortcuts-tab",an="#settings-content",cn="#keyboard-shortcuts-content",Lr=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];function ln(){Tr()}function Tr(){k(Er).forEach(e=>{e.addEventListener("click",t=>{Ke()})})}function on(){c(Ge).classList.remove("active"),c(We).classList.add("active"),c(an).classList.remove("hidden"),c(cn).classList.add("hidden")}function wr(){c(Ge).classList.add("active"),c(We).classList.remove("active"),c(cn).classList.remove("hidden"),c(an).classList.add("hidden")}function Ke(){Le({title:Lr.map(({id:s,title:o})=>`${o} `).join(""),body:Handlebars.templates["settings-modal-body"]({shortcuts:Ye})});let e=c(br),t=e.querySelector('[name="theme"]'),n=e.querySelector('[name="tooltips"]'),i=e.querySelector('[name="direct_livebook_url"]'),r=e.querySelector('[name="livebook_url"]');O.getAndSubscribe(s=>{t.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(i.checked=!1,r.classList.add("hidden"),r.tabIndex=-1):(i.checked=!0,r.classList.remove("hidden"),r.tabIndex=0,r.value=s.livebookUrl)}),t.addEventListener("change",s=>{O.update({theme:s.target.value})}),n.addEventListener("change",s=>{O.update({tooltips:s.target.checked})}),i.addEventListener("change",s=>{let o=s.target.checked?r.value:null;O.update({livebookUrl:o})}),r.addEventListener("input",s=>{O.update({livebookUrl:s.target.value})}),c(We).addEventListener("click",s=>{on()}),c(Ge).addEventListener("click",s=>{wr()}),on()}var kr="#settings-modal-content",Ye=[{key:"c",description:"Toggle sidebar",action:_e},{key:"n",description:"Cycle themes",action:Wt},{key:"s",description:"Focus search bar",displayAs:"/ or s",action:un},{key:"/",action:un},{key:"g",description:"Search HexDocs package",displayAs:"g",action:Ue},{key:"?",displayAs:"? ",description:"Bring up this modal",action:Cr}],Je={shortcutBeingPressed:null};function dn(){_r()}function _r(){document.addEventListener("keydown",Or),document.addEventListener("keyup",Ir)}function Or(e){if(Je.shortcutBeingPressed||e.target.matches("input, textarea")||e.ctrlKey||e.metaKey||e.altKey)return;let t=Ye.find(n=>n.key===e.key);!t||(Je.shortcutBeingPressed=t,e.preventDefault(),t.action(e))}function Ir(e){Je.shortcutBeingPressed=null}function un(e){oe(),Ie().then(()=>{Dt()})}function Cr(){Pr()?oe():Ke()}function Pr(){return en()&&c(kr)}var U={plain:"plain",function:"function",module:"module"},Rr=[{href:"typespecs.html#basic-types",hint:{kind:U.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:U.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:U.plain,description:"Built-in type"}}],Te={cancelHintFetching:null};function fn(e){if(pn(e))return!0;let t=/#.*\//;return e.includes("#")&&!t.test(e)?!1:e.includes(".html")}function hn(e){let t=pn(e);return t?Promise.resolve(t):Ar(e)}function pn(e){let t=Rr.find(n=>e.includes(n.href));return t?t.hint:null}function Ar(e){let t=e.replace(".html",".html?hint=true");return new Promise((n,i)=>{let r=document.createElement("iframe");r.setAttribute("sandbox","allow-scripts allow-same-origin"),r.setAttribute("src",t),r.style.display="none";function s(a){let{href:u,hint:l}=a.data;t===u&&(o(),n(l))}Te.cancelHintFetching=()=>{o(),i(new Error("cancelled"))};function o(){r.remove(),window.removeEventListener("message",s),Te.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(r)})}function mn(){Te.cancelHintFetching&&Te.cancelHintFetching()}function gn(e){let n=e.querySelector("h1").textContent,i=e.querySelector(".docstring > p"),r=i?i.textContent:"";return{kind:U.function,title:n.trim(),description:r.trim()}}function yn(e){let n=e.querySelector("h1 > span").textContent,i=e.querySelector("#moduledoc p"),r=i?i.textContent:"";return{kind:U.module,title:n.trim(),description:r.trim()}}var Qr=".content a",Xe="#tooltip",Nr="#tooltip .tooltip-body",Sn="body .content-inner",Dr="#content",xn="tooltip-shown",ae=10,Hr=ae*4,vn={height:450,width:768},Fr=100,te={currentLinkElement:null,hoverDelayTimeout:null};function En(){Mr(),Br()}function Mr(){let e=Handlebars.templates["tooltip-layout"]();c(Sn).insertAdjacentHTML("beforeend",e)}function Br(){k(Qr).forEach(e=>{!Vr(e)||(e.addEventListener("mouseenter",t=>{qr(e)}),e.addEventListener("mouseleave",t=>{Wr(e)}))})}function Vr(e){return!(e.classList.contains("detail-link")||jr(e.href)||!fn(e.href))}function jr(e){let t=e.replace(Dr,"");return window.location.href.split("#")[0]===t}function qr(e){!zr()||(te.currentLinkElement=e,te.hoverDelayTimeout=setTimeout(()=>{hn(e.href).then(t=>{$r(t),Ur()}).catch(()=>{})},Fr))}function zr(){let e=window.innerWidthe.firstElementChild&&e.firstElementChild.tagName==="CODE").forEach(e=>e.insertAdjacentHTML("beforeend",is)),Array.from(k(".copy-button")).forEach(e=>{let t;e.addEventListener("click",()=>{t&&clearTimeout(t);let n=Array.from(e.parentElement.querySelector("code").childNodes).filter(i=>!(i.tagName==="SPAN"&&i.classList.contains("unselectable"))).map(i=>i.textContent).join("");navigator.clipboard.writeText(n),e.classList.add("clicked"),t=setTimeout(()=>e.classList.remove("clicked"),3e3)})})}ot(()=>{Ut(),vt(),wt(),Qt(),Ft(),ut(),Yt(),Xt(),dn(),sn(),En(),Tn(),qt(),wn(),ln()});})();
-/*!
- * lunr.Builder
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.Index
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.Pipeline
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.Set
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.TokenSet
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.Vector
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.stemmer
- * Copyright (C) 2020 Oliver Nightingale
- * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
- */
-/*!
- * lunr.stopWordFilter
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.tokenizer
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.trimmer
- * Copyright (C) 2020 Oliver Nightingale
- */
-/*!
- * lunr.utils
- * Copyright (C) 2020 Oliver Nightingale
- */
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
- * Copyright (C) 2020 Oliver Nightingale
- * @license MIT
- */
diff --git a/formatters/html/dist/html-elixir-V2ETBPMB.css b/formatters/html/dist/html-elixir-V2ETBPMB.css
deleted file mode 100644
index a37144e49..000000000
--- a/formatters/html/dist/html-elixir-V2ETBPMB.css
+++ /dev/null
@@ -1,2 +0,0 @@
-:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}@media screen{.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{page-break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray300)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray300)}.content-inner pre code.makeup{border-color:var(--gray300);white-space:break-spaces;page-break-inside:avoid;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray300)}}@media print{.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.85em}.page-cheatmd section.col-2{column-count:2;column-gap:20px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:20px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:10px;height:auto}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd h1{margin-top:0;margin-bottom:.5em}.page-cheatmd h2.section-heading{margin:1em 0 .25em;column-span:all}.page-cheatmd h2.section-heading:before{border-left:solid 6px var(--gray100);margin-right:8px;content:" "}.page-cheatmd section.h2{page-break-inside:avoid}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 .25em;padding-left:5px}.page-cheatmd h3.section-heading{overflow:hidden}.page-cheatmd section.h3{min-width:300px;margin:0 0 .75em;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h4{display:block;margin:-1px 0;padding:.5em;border:solid 1px var(--gray300)}.page-cheatmd .content-inner p{font-size:.95em;line-height:1.5em;padding:.5em}.page-cheatmd .content-inner section p{display:block;margin:-1px 0;font-size:.95em;line-height:1.5em;padding:.5em;border:solid;border-color:var(--gray300);border-width:1px 1px 0px 1px}.page-cheatmd .content-inner section p+p{border-width:0px 1px 0px 1px}.page-cheatmd .content-inner section p:last-of-type{border-width:0px 1px 1px 1px}.page-cheatmd .content-inner section p:only-of-type{border-width:1px}.page-cheatmd table{width:100%;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums;page-break-inside:avoid}.page-cheatmd th,.page-cheatmd td{text-align:left;vertical-align:top;padding:.5em;font-size:.95em}.page-cheatmd thead{border:1px solid var(--gray300)}.page-cheatmd .content-inner tbody tr{border-width:0px 1px 1px 1px;border-style:solid;border-color:var(--gray200)}.page-cheatmd .content-inner thead tr{border-bottom:none}.page-cheatmd th{font-weight:700}.page-cheatmd td{text-align:left}.page-cheatmd pre{margin:-1px 0}.page-cheatmd ul,.page-cheatmd ol{margin:0;padding:0;list-style-position:inside}.page-cheatmd .h2 li{padding:.5em .75em;vertical-align:middle;border-bottom:1px solid var(--gray200)}.page-cheatmd .h2 li:last-of-type{border-bottom:0}pre:hover button.copy-button,.page-cheatmd div#tooltip{display:none}.page-cheatmd footer p{display:none}.page-cheatmd footer p.built-using{display:block}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none}
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
diff --git a/formatters/html/dist/html-elixir-ZA3CNPHL.css b/formatters/html/dist/html-elixir-ZA3CNPHL.css
new file mode 100644
index 000000000..d430c05cb
--- /dev/null
+++ b/formatters/html/dist/html-elixir-ZA3CNPHL.css
@@ -0,0 +1,2 @@
+:root{--main: hsl(250, 68%, 69%);--main-darkened-10: hsl(250, 68%, 59%);--main-darkened-20: hsl(250, 68%, 49%);--main-lightened-05: hsl(250, 68%, 74%);--main-lightened-10: hsl(250, 68%, 79%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 29%, 88% );--gray300: hsl(210, 26%, 84% );--gray400: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl( 60, 100%, 43%, 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-50: hsla( 0, 0%, 100%, 50%);--white-opacity-10: hsla( 0, 0%, 100%, 10%);--white-opacity-0: hsla( 0, 0%, 100%, 0%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--gray600);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;position:fixed;z-index:99;left:0;top:0;transition:all .3s ease-in-out;will-change:transform}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}@media screen and (max-width: 768px){.content{overflow:auto;scroll-padding-top:45px}}body:is(.sidebar-opening,.sidebar-opened) .sidebar-button{transform:translate(250px);top:var(--sidebarButtonTopOpen)}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}@media screen and (max-width: 768px){.sidebar-button:before{--sidebarButtonHeight: 60px;content:"";display:block;z-index:-1;pointer-events:none;position:fixed;left:-1px;top:0;height:var(--sidebarButtonHeight);width:calc(100vw + 2px);background:var(--sidebarButtonBackground);transition:top .3s ease-in-out}body:is(.sidebar-closed,.sidebar-closing) .sidebar-button:before{top:0}body:is(.sidebar-opening,.sidebar-opened) .sidebar-button:before{top:calc(-1 * var(--sidebarButtonHeight) - var(--sidebarButtonTopOpen))}body.sidebar-opened .sidebar-button:before{opacity:0}}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:var(--content-width);margin:0 auto;padding:3px var(--content-gutter)}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding-top:10px;padding-bottom:27px;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;padding:0}.sidebar .sidebar-listNav li a{display:inline-block;line-height:27px;border-bottom:3px solid transparent;padding:0 10px}.sidebar .sidebar-listNav li:is(:hover,.selected) a{border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray400);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray400);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200);overflow:hidden}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:20px}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main-lightened-10)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--main-lightened-10);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main-lightened-10)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:10px 0 10px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:16px;padding:0 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main-lightened-10)}.sidebar #full-list ul li.current-hash>a{color:var(--main-lightened-10)}.sidebar #full-list ul li.current-hash>a:before,.sidebar #full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--main-lightened-10)}.sidebar #full-list ul li a{padding-left:15px;display:block;width:100%;height:24px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{margin-right:0;height:20px;color:var(--gray50)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--gray600);padding:0 10px;height:20px}.sidebar #full-list ul li ul li.current-hash>a:before{content:none}.sidebar #full-list ul li ul li>a:hover{border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main-lightened-10);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main-lightened-10);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading{position:relative}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.4em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}@media screen and (max-width: 768px){.content-inner .section-heading a.hover-link{position:absolute;bottom:0;right:-20px;padding:.3em .6em .4em}}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}@media screen and (max-width: 768px){.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre,.content-inner section>pre{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.page-cheatmd.dark .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;color:var(--main);font-weight:400;overflow:hidden}.page-cheatmd .content-inner h3.section-heading .hover-link{display:none}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd.dark .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:block;column-count:1}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){column-count:1}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray400)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--main-darkened-10)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div#tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none}
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
diff --git a/formatters/html/dist/html-erlang-6FXMBT73.css b/formatters/html/dist/html-erlang-6FXMBT73.css
deleted file mode 100644
index 391e3898c..000000000
--- a/formatters/html/dist/html-erlang-6FXMBT73.css
+++ /dev/null
@@ -1,2 +0,0 @@
-:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray50-lightened-2: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 26%, 84% );--gray300: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl(60deg 100% 43% / 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-10: hsla( 0, 0%, 100%, 10%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--coldGray);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray50-lightened-2);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray300);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray200);--settingsSectionBorder: var(--gray200);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray100)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray200);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{position:fixed;z-index:99;left:0;top:7px;transition:color .3s ease-in-out,transform .15s ease-out .1s,opacity .15s ease-out .1s;will-change:transform;transform:translate(250px)}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}body.sidebar-opening .sidebar-button{transition:transform .3s ease-in-out}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar-button{transition:transform .3s ease-in-out;transform:translateY(-8px)}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:949px;margin:0 auto;padding:3px 60px}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding:27px 20px 27px 40px;max-width:100%;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;border-bottom:3px solid transparent;line-height:27px}.sidebar .sidebar-listNav li:is(:hover,.selected){border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray300);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200)}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main)}.sidebar #full-list>li.current-page>a{color:var(--main);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:9px 0 9px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:20px;padding:2px 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main)}.sidebar #full-list ul li.current-hash:before{content:"\2022";color:var(--main)}.sidebar #full-list ul li.current-hash>a{color:var(--main);margin-left:-12px}.sidebar #full-list ul li a{padding-left:15px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{border-left:1px solid var(--gray600);padding:0 10px;margin-left:8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li ul li a{padding-left:0}.sidebar #full-list ul li ul li.current-hash:before{content:none}.sidebar #full-list ul li ul li.current-hash{color:var(--main);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.7em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}.content-inner .detail :is(h1,h2,h3,h4,h5,h6).section-heading{margin-left:.3em}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) a{color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}@media screen{.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd h1{margin-bottom:1em}.page-cheatmd h2{margin:1em 0;column-span:all;padding-left:3px;color:var(--gray700);font-weight:500}.page-cheatmd.dark h2{color:var(--gray200)}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 1em;padding-left:5px;color:var(--main);font-weight:400}.page-cheatmd section.h3{min-width:300px;margin:0 0 2em;break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h3:after{margin-left:24px;content:"";vertical-align:middle;display:inline-block;width:100%;height:1px;background:linear-gradient(to right,rgba(116,95,181,.2),transparent 80%)}.page-cheatmd h4{display:block;margin:0;padding:.25em 1.5em;font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .h2 p{margin:0;display:block;background:var(--gray50);padding:1.5em}.page-cheatmd.dark .h2 p{background:var(--gray700)}.page-cheatmd .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd pre code{padding:1em 1.5em}.page-cheatmd pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .h2 pre{margin:0}.page-cheatmd pre.wrap{white-space:break-spaces}.page-cheatmd .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .h2 table th{padding:.75em 1.5em;line-height:2em;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table td{padding:.75em 1.5em;border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 table tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .h2 table td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .h2 thead{background-color:var(--gray700)}.page-cheatmd .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .h2 ul,.page-cheatmd .h2 ol{margin:0;padding:0}.page-cheatmd .h2 li{list-style-position:inside;padding:.5em 1.5em;line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .h2 ul+pre code,.page-cheatmd .h2 ol+pre code{border-top:0}.page-cheatmd .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd section.col-2{column-count:2;column-gap:40px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:40px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:40px;height:auto}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}@media (max-width: 1400px){.page-cheatmd section.col-3{column-count:2;column-gap:40px}.page-cheatmd section.col-2-left{display:block;column-count:1}}@media (max-width: 1200px){.page-cheatmd section.col-3,.page-cheatmd section.col-2{column-count:1}.page-cheatmd section.list-6>ul>li{flex:0 0 25%}}@media (max-width: 1000px){.page-cheatmd section.list-4>ul>li{flex:0 0 33%}.page-cheatmd section.list-6>ul>li{flex:0 0 33%}}@media (max-width: 600px){.page-cheatmd section.list-4>ul>li{flex:0 0 50%}.page-cheatmd section.list-6>ul>li{flex:0 0 50%}}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray300)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{page-break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray300)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray300)}.content-inner pre code.makeup{border-color:var(--gray300);white-space:break-spaces;page-break-inside:avoid;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray300)}}@media print{.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.85em}.page-cheatmd section.col-2{column-count:2;column-gap:20px;height:auto}.page-cheatmd section.col-2-left{display:grid;grid-template-columns:33% 63.2%;column-gap:20px}.page-cheatmd section.col-2-left>h2{display:block;grid-column-end:span 2}.page-cheatmd section.col-3{column-count:3;column-gap:10px;height:auto}.page-cheatmd section.list-4>ul>li{flex:0 0 25%}.page-cheatmd section.list-6>ul>li{flex:0 0 16.6667%}.page-cheatmd section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd section.width-50{display:block;width:50%;margin:0}.page-cheatmd section.width-50>section>table{width:100%}.page-cheatmd h1{margin-top:0;margin-bottom:.5em}.page-cheatmd h2.section-heading{margin:1em 0 .25em;column-span:all}.page-cheatmd h2.section-heading:before{border-left:solid 6px var(--gray100);margin-right:8px;content:" "}.page-cheatmd section.h2{page-break-inside:avoid}.page-cheatmd h3{white-space:nowrap;overflow:hidden;margin:0 0 .25em;padding-left:5px}.page-cheatmd h3.section-heading{overflow:hidden}.page-cheatmd section.h3{min-width:300px;margin:0 0 .75em;break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid}.page-cheatmd h4{display:block;margin:-1px 0;padding:.5em;border:solid 1px var(--gray300)}.page-cheatmd .content-inner p{font-size:.95em;line-height:1.5em;padding:.5em}.page-cheatmd .content-inner section p{display:block;margin:-1px 0;font-size:.95em;line-height:1.5em;padding:.5em;border:solid;border-color:var(--gray300);border-width:1px 1px 0px 1px}.page-cheatmd .content-inner section p+p{border-width:0px 1px 0px 1px}.page-cheatmd .content-inner section p:last-of-type{border-width:0px 1px 1px 1px}.page-cheatmd .content-inner section p:only-of-type{border-width:1px}.page-cheatmd table{width:100%;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums;page-break-inside:avoid}.page-cheatmd th,.page-cheatmd td{text-align:left;vertical-align:top;padding:.5em;font-size:.95em}.page-cheatmd thead{border:1px solid var(--gray300)}.page-cheatmd .content-inner tbody tr{border-width:0px 1px 1px 1px;border-style:solid;border-color:var(--gray200)}.page-cheatmd .content-inner thead tr{border-bottom:none}.page-cheatmd th{font-weight:700}.page-cheatmd td{text-align:left}.page-cheatmd pre{margin:-1px 0}.page-cheatmd ul,.page-cheatmd ol{margin:0;padding:0;list-style-position:inside}.page-cheatmd .h2 li{padding:.5em .75em;vertical-align:middle;border-bottom:1px solid var(--gray200)}.page-cheatmd .h2 li:last-of-type{border-bottom:0}pre:hover button.copy-button,.page-cheatmd div#tooltip{display:none}.page-cheatmd footer p{display:none}.page-cheatmd footer p.built-using{display:block}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none}
-/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
diff --git a/formatters/html/dist/html-erlang-H7YX7PZD.css b/formatters/html/dist/html-erlang-H7YX7PZD.css
new file mode 100644
index 000000000..357c1786c
--- /dev/null
+++ b/formatters/html/dist/html-erlang-H7YX7PZD.css
@@ -0,0 +1,2 @@
+:root{--main: hsl(0, 100%, 64%);--main-darkened-10: hsl(0, 100%, 54%);--main-darkened-20: hsl(0, 100%, 44%);--main-lightened-05: hsl(0, 100%, 69%);--main-lightened-10: hsl(0, 100%, 74%)}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-ext-300-normal-VPGGJKJL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:300;src:url(./lato-latin-300-normal-YUMVEFOL.woff2) format("woff2"),url(./lato-all-300-normal-GIV56FBX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-ext-700-normal-Q2L5DVMW.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(./lato-latin-700-normal-2XVSBPG4.woff2) format("woff2"),url(./lato-all-700-normal-XMT5XFBS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-normal-5LF5LCEK.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-normal-7PAAHU3N.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-normal-U376L4Z4.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-normal-K6L27CZ5.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:normal;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-normal-RWDJH4FN.woff2) format("woff2"),url(./merriweather-all-300-normal-VL6BT3UN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-ext-300-italic-JP3ZEV2P.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-cyrillic-300-italic-M6KMXZSZ.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-vietnamese-300-italic-EHHNZPUO.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-ext-300-italic-MWCA36KE.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Merriweather;font-style:italic;font-display:swap;font-weight:300;src:url(./merriweather-latin-300-italic-353COS6Q.woff2) format("woff2"),url(./merriweather-all-300-italic-CMQNB6FA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-vietnamese-400-normal-IGQPHHJH.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-ext-400-normal-K7HVGTP7.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:400;src:url(./inconsolata-latin-400-normal-RGKDDNDD.woff2) format("woff2"),url(./inconsolata-all-400-normal-HMVRHNDU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-vietnamese-700-normal-LHEGSN35.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-ext-700-normal-4MPBLFZC.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inconsolata;font-style:normal;font-display:swap;font-weight:700;src:url(./inconsolata-latin-700-normal-DTS2D7TO.woff2) format("woff2"),url(./inconsolata-all-700-normal-WFUKXZPS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-width: 949px;--content-gutter: 60px;--serifFontFamily: "Merriweather", "Book Antiqua", Georgia, "Century Schoolbook", serif;--sansFontFamily: "Lato", sans-serif;--monoFontFamily: "Inconsolata", Menlo, Courier, monospace;--baseFontSize: 18px;--baseLineHeight: 1.5em;--gray25: hsl(207, 43%, 98% );--gray50: hsl(207, 43%, 96% );--gray100: hsl(212, 33%, 91% );--gray200: hsl(210, 29%, 88% );--gray300: hsl(210, 26%, 84% );--gray400: hsl(210, 21%, 64% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray900: hsl(218, 73%, 4% );--gray900-opacity-50: hsla(218, 73%, 4%, 50%);--gray900-opacity-0: hsla(218, 73%, 4%, 0%);--coldGrayFaint: hsl(240, 5%, 97% );--coldGrayLight: hsl(240, 5%, 88% );--coldGray-lightened-10: hsl(240, 5%, 56% );--coldGray: hsl(240, 5%, 46% );--coldGrayDark: hsl(240, 5%, 28% );--coldGrayDim: hsl(240, 5%, 18% );--yellowLight: hsl( 60, 100%, 81% );--yellowDark: hsl( 60, 100%, 43%, 62%);--yellow: hsl( 60, 100%, 43% );--green-lightened-10: hsl( 90, 100%, 45% );--green: hsl( 90, 100%, 35% );--white: hsl( 0, 0%, 100% );--white-opacity-50: hsla( 0, 0%, 100%, 50%);--white-opacity-10: hsla( 0, 0%, 100%, 10%);--white-opacity-0: hsla( 0, 0%, 100%, 0%);--black: hsl( 0, 0%, 0% );--black-opacity-10: hsla( 0, 0%, 0%, 10%);--black-opacity-50: hsla( 0, 0%, 0%, 50%)}@media screen and (max-width: 768px){:root{--content-width: 100%;--content-gutter: 20px}}:root{--background: var(--white);--contrast: var(--black);--textBody: var(--gray700);--textHeaders: var(--gray800);--textDetailBackground: var(--coldGrayFaint);--textFooter: var(--gray600);--links: var(--black);--linksVisited: var(--black);--linksNoUnderline: var(--main-darkened-10);--linksNoUnderlineVisited: var(--main-darkened-20);--iconAction: var(--coldGray);--iconActionHover: var(--gray800);--blockquoteBackground: var(--coldGrayFaint);--blockquoteBorder: var(--coldGrayLight);--warningBackground: hsl( 33, 100%, 97%);--warningHeadingBackground: hsl( 33, 87%, 64%);--warningHeading: var(--black);--errorBackground: hsl( 7, 81%, 96%);--errorHeadingBackground: hsl( 6, 80%, 60%);--errorHeading: var(--white);--infoBackground: hsl(206, 91%, 96%);--infoHeadingBackground: hsl(213, 92%, 62%);--infoHeading: var(--white);--neutralBackground: hsl(212, 29%, 92%);--neutralHeadingBackground: hsl(220, 43%, 11%);--neutralHeading: var(--white);--tipBackground: hsl(142, 31%, 93%);--tipHeadingBackground: hsl(134, 39%, 36%);--tipHeading: var(--white);--fnSpecAttr: var(--coldGray);--fnDeprecated: var(--yellowLight);--blink: var(--yellowLight);--codeBackground: var(--gray25);--codeBorder: var(--gray100);--inlineCodeBackground: var(--codeBackground);--inlineCodeBorder: var(--codeBorder);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--black-opacity-10);--bottomActionsBtnSubheader: var(--main-darkened-10);--modalBackground: var(--white);--settingsInput: var(--gray500);--settingsInputBackground: var(--white);--settingsInputBorder: var(--gray300);--settingsSectionBorder: var(--gray300);--quickSwitchInput: var(--gray500);--quickSwitchContour: var(--coldGray);--success: var(--green);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%)}body.dark{--background: var(--gray900);--contrast: var(--white);--textBody: var(--gray200);--textHeaders: var(--gray100);--textDetailBackground: var(--gray700);--textFooter: var(--gray300);--links: var(--gray100);--linksVisited: var(--gray100);--linksNoUnderline: var(--main-lightened-10);--linksNoUnderlineVisited: var(--main-lightened-05);--iconAction: var(--coldGray-lightened-10);--iconActionHover: var(--white);--blockquoteBackground: var(--coldGrayDim);--blockquoteBorder: var(--coldGrayDark);--warningBackground: hsl( 40, 67%, 79%);--warningHeadingBackground: hsl( 27, 66%, 29%);--warningHeading: var(--white);--errorBackground: hsl(358, 52%, 78%);--errorHeadingBackground: hsl(349, 55%, 34%);--errorHeading: var(--white);--infoBackground: hsl(222, 57%, 77%);--infoHeadingBackground: hsl(243, 65%, 26%);--infoHeading: var(--white);--neutralBackground: hsl(220, 23%, 82%);--neutralHeadingBackground: hsl(224, 24%, 16%);--neutralHeading: var(--white);--tipBackground: hsl(139, 26%, 69%);--tipHeadingBackground: hsl(158, 35%, 17%);--tipHeading: var(--white);--fnSpecAttr: var(--gray500);--fnDeprecated: var(--yellowDark);--blink: var(--gray600);--codeBackground: var(--gray800);--codeBorder: var(--gray700);--inlineCodeBackground: var(--gray50);--inlineCodeBorder: var(--gray100);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--bottomActionsBtnBorder: var(--white-opacity-10);--bottomActionsBtnSubheader: var(--main);--modalBackground: var(--gray800);--settingsInput: var(--white);--settingsInputBackground: var(--gray700);--settingsInputBorder: var(--gray700);--settingsSectionBorder: var(--gray700);--quickSwitchInput: var(--gray300);--quickSwitchContour: var(--gray500);--success: var(--green-lightened-10);--sidebarButton: var(--gray50);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%)}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:remixicon;src:url(./remixicon-NKANDIL5.woff2) format("woff2");font-display:swap}[class^=ri-],[class*=" ri-"],.remix-icon{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--icon-arrow-up-s: "\ea78";--icon-arrow-down-s: "\ea4e";--icon-arrow-right-s: "\ea6e";--icon-add: "\ea13";--icon-subtract: "\f1af";--icon-error-warning: "\eca1";--icon-information: "\ee59";--icon-alert: "\ea21";--icon-double-quotes-l: "\ec51";--icon-link-m: "\eeaf";--icon-close-line: "\eb99";--icon-code-s-slash-line: "\ebad";--icon-menu-line: "\ef3e";--icon-search-2-line: "\f0cd";--icon-settings-3-line: "\f0e6";--icon-printer-line: "\f029"}.ri-lg{font-size:1.3333em;line-height:.75em;vertical-align:-.0667em}.ri-settings-3-line:before{content:var(--icon-settings-3-line)}.ri-add-line:before{content:var(--icon-add)}.ri-subtract-line:before{content:var(--icon-subtract)}.ri-arrow-up-s-line:before{content:var(--icon-arrow-up-s)}.ri-arrow-down-s-line:before{content:var(--icon-arrow-down-s)}.ri-arrow-right-s-line:before{content:var(--icon-arrow-right-s)}.ri-search-2-line:before{content:var(--icon-search-2-line)}.ri-menu-line:before{content:var(--icon-menu-line)}.ri-close-line:before{content:var(--icon-close-line)}.ri-link-m:before{content:var(--icon-link-m)}.ri-code-s-slash-line:before{content:var(--icon-code-s-slash-line)}.ri-error-warning-line:before{content:var(--icon-error-warning)}.ri-information-line:before{content:var(--icon-information)}.ri-alert-line:before{content:var(--icon-alert)}.ri-double-quotes-l:before{content:var(--icon-double-quotes-l)}.ri-printer-line:before{content:var(--icon-printer-line)}html,body{box-sizing:border-box;height:100%;width:100%}body{background-color:var(--background);color:var(--textBody);font-size:16px;font-family:var(--sansFontFamily);line-height:1.6875em}*,*:before,*:after{box-sizing:inherit}.main{display:flex;justify-content:flex-end;height:100%}.sidebar{display:flex;flex-direction:column;width:300px;height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;position:fixed;z-index:99;left:0;top:0;transition:all .3s ease-in-out;will-change:transform}.content{width:calc(100% - 300px);left:300px;height:100%;position:absolute;z-index:3}@media screen and (max-width: 768px){.content{overflow:auto;scroll-padding-top:45px}}body:is(.sidebar-opening,.sidebar-opened) .sidebar-button{transform:translate(250px);top:var(--sidebarButtonTopOpen)}body.sidebar-opening .sidebar{left:0;transition:left .3s ease-in-out}body.sidebar-opening .content{width:calc(100% - 300px);left:300px;transition:all .3s ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:-300px;transition:left .3s ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all .3s ease-in-out}body.sidebar-closed .sidebar{left:-300px}body.sidebar-closed .content{width:100%;left:0}@media screen and (max-width: 768px){.sidebar-button:before{--sidebarButtonHeight: 60px;content:"";display:block;z-index:-1;pointer-events:none;position:fixed;left:-1px;top:0;height:var(--sidebarButtonHeight);width:calc(100vw + 2px);background:var(--sidebarButtonBackground);transition:top .3s ease-in-out}body:is(.sidebar-closed,.sidebar-closing) .sidebar-button:before{top:0}body:is(.sidebar-opening,.sidebar-opened) .sidebar-button:before{top:calc(-1 * var(--sidebarButtonHeight) - var(--sidebarButtonTopOpen))}body.sidebar-opened .sidebar-button:before{opacity:0}}body.search-focused .sidebar-button{transform:translate(250px) scaleY(0);transition:all .15s ease-out;opacity:0}body.search-focused .sidebar-search .search-close-button{transform:scaleY(1);transition:transform .15s ease-out .15s}.content-inner{max-width:var(--content-width);margin:0 auto;padding:3px var(--content-gutter)}.content-inner:focus{outline:none}.content-outer{min-height:100%}@media screen and (max-width: 768px){.content,body.sidebar-opening .content{left:0;width:100%}.content-inner{padding-top:10px;padding-bottom:27px;overflow-x:auto}}.sidebar{font-family:var(--sansFontFamily);font-size:16px;line-height:18px;background-color:var(--gray800);color:var(--gray50);overflow:hidden;scrollbar-color:var(--coldGray) var(--gray800)}.sidebar .gradient{background:linear-gradient(var(--gray800),var(--gray800-opacity-0));height:20px;margin-top:-20px;pointer-events:none;position:relative;top:20px;z-index:100}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--gray50);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--white)}.sidebar .sidebar-header{margin:12px;border-radius:4px;background-color:var(--gray700);width:276px}.sidebar .sidebar-projectDetails{display:inline-block;text-align:left;vertical-align:top;margin:6px 0 0 10px}.sidebar .sidebar-projectImage{display:inline-block;max-width:48px;max-height:48px;margin:0 0 0 10px;vertical-align:bottom}.sidebar .sidebar-projectName{font-weight:700;font-size:20px;line-height:30px;color:var(--gray50);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-weight:300;font-size:16px;line-height:20px;color:var(--gray300)}.sidebar .sidebar-projectVersionsDropdown{cursor:pointer;position:relative;margin:0;padding:0 0 0 12px;border:none;-webkit-appearance:none;appearance:none;background-color:transparent;color:var(--white);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersionsDropdown:focus{outline:none}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--white)}.sidebar .sidebar-projectVersionsDropdown::-ms-expand{display:none}.sidebar .sidebar-listNav{padding:12px 0 0;margin:0}.sidebar .sidebar-listNav :is(li,li a){text-transform:uppercase;font-weight:300;font-size:14px;color:var(--gray300)}.sidebar .sidebar-listNav li{display:inline-block;padding:0}.sidebar .sidebar-listNav li a{display:inline-block;line-height:27px;border-bottom:3px solid transparent;padding:0 10px}.sidebar .sidebar-listNav li:is(:hover,.selected) a{border-color:var(--main)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--gray50)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover{color:var(--main);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;left:22px;margin:0;opacity:.5;padding:3px 1px 3px 0;position:absolute;top:18px;z-index:2}.sidebar .sidebar-search .search-close-button{font-size:16px;color:var(--gray50);background-color:transparent;border:none;cursor:pointer;right:18px;margin:0;opacity:.5;padding:5px 1px 5px 0;position:absolute;transform:scaleY(0);top:17px;transition:.15s transform ease-out;z-index:2}.sidebar .sidebar-search .search-close-button:hover{opacity:.7}.sidebar .sidebar-search .search-close-button:is(:focus,:hover){outline:none}.sidebar .sidebar-search .search-input{background-color:var(--gray700);border:none;border-radius:4px;color:var(--gray50);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input:is(:focus,:hover){outline:none}.sidebar .sidebar-search .ri-search-2-line{font-weight:700}.sidebar #full-list{margin:0;padding:20px 0;overflow-y:auto;overscroll-behavior:contain;position:relative;-webkit-overflow-scrolling:touch;flex:1 1 .01%}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a span.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand>span.icon-expand:after{content:var(--icon-arrow-down-s);margin-right:10px;font-size:1.2em;position:absolute;right:0}.sidebar #full-list li.open>a.expand>span.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a>span.icon-expand:after{margin-right:12px;content:var(--icon-add);font-size:1em;position:absolute;right:0}.sidebar #full-list li.docs.open>a>span.icon-expand:after{content:var(--icon-subtract)}.sidebar #full-list li.nesting-context{font-weight:700;font-size:.9em;line-height:1.8em;color:var(--gray400);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:2em 0 0;line-height:1.8em;color:var(--gray400);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--gray200);overflow:hidden}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:20px}.sidebar #full-list li a.expand,.sidebar #full-list li .sections-list>li{text-overflow:ellipsis}.sidebar #full-list li .current-section>a{color:var(--main-lightened-10)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--main-lightened-10);border-left:3px solid var(--main);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--main-lightened-10)}.sidebar #full-list>li:last-child{margin-bottom:30px}.sidebar #full-list>li.group:first-child{margin-top:0}.sidebar #full-list ul{display:none;margin:10px 0 10px 15px;padding:0}.sidebar #full-list ul li{font-weight:300;line-height:16px;padding:0 8px;margin-right:0;color:var(--gray50)}.sidebar #full-list ul li.current-hash{color:var(--main-lightened-10)}.sidebar #full-list ul li.current-hash>a{color:var(--main-lightened-10)}.sidebar #full-list ul li.current-hash>a:before,.sidebar #full-list>li>ul>li>a:hover:before{content:"\2022";position:absolute;margin-left:-15px;color:var(--main-lightened-10)}.sidebar #full-list ul li a{padding-left:15px;display:block;width:100%;height:24px}.sidebar #full-list ul li ul{display:none;margin:9px 0 9px 20px}.sidebar #full-list ul li ul li{margin-right:0;height:20px;color:var(--gray50)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--gray600);padding:0 10px;height:20px}.sidebar #full-list ul li ul li.current-hash>a:before{content:none}.sidebar #full-list ul li ul li>a:hover{border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main-lightened-10);border-color:var(--main)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--main-lightened-10);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--gray800)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--coldGray);border-radius:10px;border:3px solid var(--gray800)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:16px}.sidebar-button:hover{color:var(--white)}.sidebar-button:is(:active,:hover,:focus){outline:none}.sidebar-button{color:var(--sidebarButton)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}.content-inner{font-family:var(--serifFontFamily);font-size:1em;line-height:1.6875em;position:relative;background-color:var(--background);color:var(--textBody)}.content-inner :is(h1,h2,h3,h4,h5,h6){font-family:var(--sansFontFamily);font-weight:700;line-height:1.5em;word-wrap:break-word;color:var(--textHeaders)}.content-inner h1{font-size:2em;margin:1em 0 .5em}.content-inner h1.signature{margin:0}.content-inner h1.section-heading{margin:1.5em 0 .5em}.content-inner h1 small{font-weight:300}.content-inner h1 .icon-action{font-size:1.2rem;font-weight:400}.content-inner h2{font-size:1.6em;margin:1em 0 .5em;font-weight:700}.content-inner h3{font-size:1.375em;margin:1em 0 .5em;font-weight:700}.content-inner :is(a,.a-main){color:var(--links);text-decoration:underline;text-decoration-skip-ink:auto}.content-inner :is(a:visited,.a-main:visited){color:var(--linksVisited)}.content-inner .icon-action{float:right;color:var(--iconAction);text-decoration:none;border:none;transition:color .3s ease-in-out;background-color:transparent;cursor:pointer;padding:0 0 0 6px}.content-inner button.icon-action{margin-top:12px}.content-inner .icon-action:hover{color:var(--iconActionHover)}.content-inner .icon-action:visited{color:var(--iconAction)}.content-inner .livebook-badge-container{display:flex}.content-inner a.livebook-badge{display:inline-flex}.content-inner .note{color:var(--iconAction);margin-right:5px;font-size:14px;font-weight:400}.content-inner h1 .note{float:right}.content-inner blockquote{border-left:3px solid var(--blockquoteBorder);position:relative;margin:1.5625em 0;padding:0 1.2rem;overflow:auto;background-color:var(--blockquoteBackground);border-radius:3px}.content-inner blockquote p:last-child{padding-bottom:1em;margin-bottom:0}.content-inner table{margin:2em 0}.content-inner th{text-align:left;font-family:var(--sansFontFamily);text-transform:uppercase;font-weight:700;padding-bottom:.5em}.content-inner tr{border-bottom:1px solid var(--gray50);vertical-align:bottom;height:2.5em}.content-inner :is(td,th){padding-left:1em;line-height:2em;vertical-align:top}.content-inner .section-heading{position:relative}.content-inner .section-heading:hover a.hover-link{opacity:1;text-decoration:none}.content-inner .section-heading a.hover-link{transition:opacity .3s ease-in-out;display:inline-block;opacity:0;padding:.3em .6em .6em;line-height:1em;margin-left:-2.4em;text-decoration:none;border:none;font-size:16px;vertical-align:middle}@media screen and (max-width: 768px){.content-inner .section-heading a.hover-link{position:absolute;bottom:0;right:-20px;padding:.3em .6em .4em}}.content-inner .app-vsn{display:none!important;font-size:.6em;line-height:1.5em}@media screen and (max-width: 768px){.content-inner .app-vsn{display:block!important}}.content-inner img{max-width:100%}.content-inner code{font-family:var(--monoFontFamily);font-style:normal;line-height:24px;font-weight:400}@media screen and (max-width: 768px){.content-inner :is(ol,ul){padding-left:calc(1.5 * var(--content-gutter))}}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){color:var(--black);border-radius:10px;border-left:0}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote.warning{background-color:var(--warningBackground)}.content-inner blockquote.error{background-color:var(--errorBackground)}.content-inner blockquote.info{background-color:var(--infoBackground)}.content-inner blockquote.neutral{background-color:var(--neutralBackground)}.content-inner blockquote.tip{background-color:var(--tipBackground)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--contrast);margin:0 -1.2rem;padding:.7rem 1.2rem .7rem 3.3rem;font-weight:700;font-style:normal}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip):before{color:var(--contrast);position:absolute;left:1rem;font-size:1.8rem;font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content-inner blockquote :is(h3,h4).warning{background-color:var(--warningHeadingBackground);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).warning:before{content:var(--icon-error-warning);color:var(--warningHeading)}.content-inner blockquote :is(h3,h4).error{background-color:var(--errorHeadingBackground);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).error:before{content:var(--icon-error-warning);color:var(--errorHeading)}.content-inner blockquote :is(h3,h4).info{background-color:var(--infoHeadingBackground);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).info:before{content:var(--icon-information);color:var(--infoHeading)}.content-inner blockquote :is(h3,h4).neutral{background-color:var(--neutralHeadingBackground);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).neutral:before{content:var(--icon-double-quotes-l);color:var(--neutralHeading)}.content-inner blockquote :is(h3,h4).tip{background-color:var(--tipHeadingBackground);color:var(--tipHeading)}.content-inner blockquote :is(h3,h4).tip:before{content:var(--icon-information);color:var(--tipHeading)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--inlineCodeBackground);border:1px solid var(--inlineCodeBorder);color:var(--black)}@media screen and (max-width: 768px){.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter));padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){margin:0 calc(-1 * var(--content-gutter))}}.content-inner .summary h2{font-weight:700}.content-inner .summary h2 a{text-decoration:none;border:none}.content-inner .summary span.deprecated{color:var(--darkDeprecated);font-weight:400;font-style:italic}.content-inner .summary .summary-row .summary-signature{font-family:var(--monoFontFamily);font-weight:700}.content-inner .summary .summary-row .summary-signature a{text-decoration:none;border:none}.content-inner .summary .summary-row .summary-synopsis{font-family:var(--serifFontFamily);font-style:italic;padding:0 1.2em;margin:0 0 .5em}.content-inner .summary .summary-row .summary-synopsis p{margin:0;padding:0}.content-inner :is(a.no-underline,pre a){color:var(--linksNoUnderline);text-shadow:none;text-decoration:none;background-image:none}.content-inner :is(a.no-underline,pre a):is(:visited,:active,:focus,:hover){color:var(--linksNoUnderlineVisited)}.content-inner code{background-color:var(--codeBackground);vertical-align:baseline;border-radius:2px;padding:.1em .2em;border:1px solid var(--codeBorder);text-transform:none}.content-inner pre{margin:var(--baseLineHeight) 0}.content-inner pre code{display:block;overflow-x:auto;white-space:inherit;padding:.5em 1em;background-color:var(--codeBackground)}.content-inner pre code::-webkit-scrollbar{width:.4rem;height:.4rem}.content-inner pre code::-webkit-scrollbar-thumb{border-radius:.25rem;background-color:var(--codeScrollThumb)}.content-inner pre code::-webkit-scrollbar-track{background-color:var(--codeScrollBackground)}.content-inner pre code::-webkit-scrollbar-corner{background-color:var(--codeScrollBackground)}.content-inner pre code.output{margin:0 12px;max-height:400px;overflow:auto}.content-inner pre code.output+.copy-button{margin-right:12px}.content-inner pre code.output:before{content:"Output";display:block;position:absolute;top:-16px;left:12px;padding:2px 4px;font-size:12px;font-family:var(--monoFontFamily);line-height:1;color:var(--textHeaders);background-color:var(--codeBackground);border:1px solid var(--codeBorder);border-bottom:0;border-radius:2px}@media screen and (max-width: 768px){.content-inner>pre,.content-inner section>pre{margin-left:calc(-1 * var(--content-gutter));margin-right:calc(-1 * var(--content-gutter))}.content-inner>pre code,.content-inner section>pre code{padding-left:var(--content-gutter);padding-right:var(--content-gutter);border-radius:0;border-left-width:0;border-right-width:0}}@keyframes blink-background{0%{background-color:var(--textDetailBackground)}to{background-color:var(--blink)}}.content-inner .detail:target .detail-header{animation-duration:.55s;animation-name:blink-background;animation-iteration-count:1;animation-timing-function:ease-in-out}.content-inner .detail-header{margin:2em 0 1em;padding:.5em 1em;background-color:var(--textDetailBackground);border-left:3px solid var(--main);font-size:1em;font-family:var(--monoFontFamily);position:relative}.content-inner .detail-header .note{float:right}.content-inner .detail-header .signature{display:inline-block;font-family:var(--monoFontFamily);font-size:1rem;font-weight:700}.content-inner .detail-header:hover a.detail-link{opacity:1;text-decoration:none}.content-inner .detail-header a.detail-link{transition:opacity .3s ease-in-out;position:absolute;top:0;left:0;display:block;opacity:0;padding:.6em;line-height:1.5em;margin-left:-2.5em;text-decoration:none;border:none}@media screen and (max-width: 768px){.content-inner .detail-header a.detail-link{margin-left:-30px}}.content-inner .specs pre{font-family:var(--monoFontFamily);font-size:.9em;font-style:normal;line-height:24px;white-space:pre-wrap;margin:0;padding:0}.content-inner .specs .attribute{color:var(--fnSpecAttr)}.content-inner .docstring{margin:1.2em 0 3em 1.2em}@media screen and (max-width: 768px){.content-inner .docstring{margin-left:0}}.content-inner .docstring:is(h2,h3,h4,h5){font-weight:700}.content-inner .docstring h2{font-size:1.1em}.content-inner .docstring h3{font-size:1em}.content-inner .docstring h4{font-size:.95em}.content-inner .docstring h5{font-size:.9em}.content-inner div.deprecated{display:block;padding:9px 15px;background-color:var(--fnDeprecated)}.content-inner .footer{margin:4em auto 1em;text-align:center;font-style:italic;font-size:14px}.content-inner .footer,.content-inner .footer :is(a,.footer-button){color:var(--textFooter)}.content-inner .footer .line{display:inline-block}.content-inner .footer .footer-button{background-color:transparent;border:0;cursor:pointer;font-style:italic;outline:none;padding:0 4px}.content-inner .footer .footer-hex-package{margin-right:4px}.content-inner .bottom-actions{display:flex;justify-content:space-between;margin-top:4em}.content-inner .bottom-actions .bottom-actions-button{display:flex;text-decoration:none;flex-direction:column;border-radius:4px;border:1px solid var(--bottomActionsBtnBorder);padding:8px 16px;min-width:150px}.content-inner .bottom-actions .bottom-actions-button .subheader{font-size:.8em;color:var(--bottomActionsBtnSubheader);white-space:nowrap}.content-inner .bottom-actions .bottom-actions-button[rel=prev] .subheader{text-align:right}@media screen and (max-width: 768px){.content-inner .bottom-actions{flex-direction:column-reverse}.content-inner .bottom-actions .bottom-actions-item:not(:first-child){margin-bottom:16px}}.page-cheatmd .content-inner{--horizontal-space: 1.5em;--vertical-space: 1em}@media (max-width: 600px){.page-cheatmd .content-inner{--horizontal-space: 1em;--vertical-space: .75em}}.page-cheatmd .content-inner{max-width:1200px}.page-cheatmd .content-inner h1{margin-bottom:var(--vertical-space)}.page-cheatmd .content-inner h2{margin:var(--vertical-space) 0;column-span:all;color:var(--gray700);font-weight:500}.page-cheatmd.dark .content-inner h2{color:var(--gray200)}.page-cheatmd .content-inner h3{margin:0 0 1em;color:var(--main);font-weight:400;overflow:hidden}.page-cheatmd .content-inner h3.section-heading .hover-link{display:none}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3:after{content:"";margin-left:calc(var(--horizontal-space) / 2);vertical-align:baseline;display:inline-block;width:100%;height:1px;margin-right:-100%;margin-bottom:5px;background-color:var(--codeBorder)}.page-cheatmd .content-inner h4{display:block;margin:0;padding:.25em var(--horizontal-space);font-weight:400;background:var(--gray100);color:#567;border:solid 1px 1px 0 1px var(--gray100)}.page-cheatmd.dark .content-inner h4{background:#192f50;color:var(--textBody);border:1px solid #192f50;border-bottom:0}.page-cheatmd .content-inner .h2 p{margin:0;display:block;background:var(--gray50);padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd.dark .content-inner .h2 p{background:var(--gray700)}.page-cheatmd .content-inner .h2 p>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner pre code{padding:var(--vertical-space) var(--horizontal-space)}.page-cheatmd .content-inner pre code::-webkit-scrollbar{width:.4rem;height:.6rem}.page-cheatmd .content-inner .h2 pre{margin:0}.page-cheatmd .content-inner .h2 pre+pre{margin-top:-1px}.page-cheatmd .content-inner pre.wrap{white-space:break-spaces}@media screen and (max-width: 768px){.page-cheatmd .content-inner pre code{border-left-width:1px!important;border-right-width:1px!important}}.page-cheatmd .content-inner .h2 table{display:table;box-sizing:border-box;width:100%;border-collapse:collapse;margin:0}.page-cheatmd .content-inner .h2 th{padding:var(--vertical-space) var(--horizontal-space);line-height:inherit;margin-bottom:-1px;vertical-align:middle;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td{padding:var(--vertical-space) var(--horizontal-space);border:0;border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 tr:first-child{border-top:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 td code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner .h2 thead{background-color:var(--gray50)}.page-cheatmd.dark .content-inner .h2 thead{background-color:var(--gray700)}.page-cheatmd .content-inner .h2 tbody{background-color:var(--codeBackground)}.page-cheatmd .content-inner .h2 :is(ul,ol){margin:0;padding:0}.page-cheatmd .content-inner .h2 li{list-style-position:inside;padding:.5em var(--horizontal-space);line-height:2em;vertical-align:middle;background-color:var(--codeBackground);border-bottom:1px solid var(--codeBorder)}.page-cheatmd .content-inner .h2 :is(ul,ol)+pre code{border-top:0}.page-cheatmd .content-inner .h2 li>code{color:#eb5757;border-radius:3px;padding:.2em .4em}.page-cheatmd .content-inner section.width-50{display:block;width:50%;margin:0}.page-cheatmd .content-inner section.width-50>section>table{width:100%}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:40px}.page-cheatmd .content-inner section.col-2{column-count:2;height:auto}.page-cheatmd .content-inner section.col-2-left{display:grid;grid-template-columns:calc(100% / 3) auto}.page-cheatmd .content-inner section.col-2-left>h2{grid-column-end:span 2}.page-cheatmd .content-inner section.col-3{column-count:3;height:auto}.page-cheatmd .content-inner section.list-4>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-4>ul>li{flex:0 0 25%}.page-cheatmd .content-inner section.list-6>ul{display:flex;flex-wrap:wrap}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 calc(100% / 6)}@media screen and (max-width: 1400px){.page-cheatmd .content-inner section.col-3{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:block;column-count:1}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){column-count:1}.page-cheatmd .content-inner section.list-6>ul>li{flex:0 0 25%}}@media screen and (max-width: 1000px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 calc(100% / 3)}}@media screen and (max-width: 600px){.page-cheatmd .content-inner section:is(.list-4,.list-6)>ul>li{flex:0 0 50%}.page-cheatmd .content-inner section.width-50{width:100%}}#search{min-height:200px;position:relative}#search .loading{height:64px;width:64px;vertical-align:middle;position:absolute;top:50%;left:18%}#search .loading div{box-sizing:border-box;display:block;position:absolute;width:51px;height:51px;margin:6px;border:6px solid var(--coldGray);border-radius:50%;animation:loading 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--coldGray) transparent transparent transparent}#search .loading div:nth-child(1){animation-delay:-.45s}#search .loading div:nth-child(2){animation-delay:-.3s}#search .loading div:nth-child(3){animation-delay:-.15s}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#search .result{margin:2em 0 2.5em}#search .result p{margin:0}#search .result-id{font-size:1.4em;margin:0}#search .result-id a{text-decoration:none;transition:color .1s ease-in-out;color:var(--links)}#search .result-id a:is(:visited,:active,:focus){color:var(--linksVisited)}#search .result-id a:hover{color:var(--main)}#search :is(.result-id,.result-elem) em{font-style:normal;color:var(--main)}#search .result-id small{font-weight:400}@keyframes keyboard-shortcuts-show{0%{opacity:0}to{opacity:1}}.modal{animation-duration:.15s;animation-name:keyboard-shortcuts-show;animation-iteration-count:1;animation-timing-function:ease-in-out;display:none;background-color:#000000bf;position:fixed;inset:0;z-index:300}.modal.shown{display:block}.modal .modal-contents{margin:75px auto 0;max-width:500px;background-color:var(--modalBackground);border-radius:3px;box-shadow:2px 2px 8px #0003;padding:25px 35px 35px}@media screen and (max-width: 768px){.modal .modal-contents{padding:20px}}.modal .modal-header{display:flex;align-items:start}.modal .modal-title{display:inline-block;flex-grow:1;font-size:1.2rem;font-weight:700;margin-bottom:20px}.modal .modal-title button{border:none;background-color:transparent;color:var(--textHeaders);font-weight:700;margin-right:30px;padding-left:0;text-align:left;transition:color .15s}.modal .modal-title button:hover{color:var(--main);cursor:pointer}.modal .modal-title button.active{color:var(--main)}.modal .modal-close{cursor:pointer;display:block;font-size:1.5rem;margin:-8px -8px 0 0;padding:8px;opacity:.7;background-color:transparent;color:var(--textHeaders);border:none;transition:opacity .15s}.modal .modal-close:hover{opacity:1}#keyboard-shortcuts-content dl.shortcut-row{display:flex;align-items:center;justify-content:space-between;margin:0;padding:6px 0 8px;border-bottom:1px solid var(--settingsSectionBorder)}#keyboard-shortcuts-content dl.shortcut-row:last-of-type{border-bottom-style:none}#keyboard-shortcuts-content dl.shortcut-row:first-child{padding-top:0}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){display:inline-block}#keyboard-shortcuts-content kbd>kbd{background-color:var(--settingsInputBorder);color:var(--contrast);border-radius:3px;font-family:inherit;font-weight:700;display:inline-block;line-height:1;padding:4px 7px 6px;min-width:26px;text-align:center}#keyboard-shortcuts-content :is(.shortcut-keys,.shortcut-description){margin:0}#quick-switch-modal-body{width:100%;position:relative}#quick-switch-modal-body .ri-search-2-line{position:absolute;left:0;top:0;padding:4px 10px;color:var(--quickSwitchContour);font-weight:700}#quick-switch-modal-body #quick-switch-input{width:100%;padding:8px 6px 8px 38px;border:none;color:var(--quickSwitchInput);background-color:transparent;border-bottom:1px solid var(--quickSwitchContour);box-sizing:border-box;transition:all .12s ease-out}#quick-switch-modal-body #quick-switch-input:focus{outline:none}#quick-switch-modal-body #quick-switch-results{margin:0}#quick-switch-modal-body .quick-switch-result{padding:2px 5px;border-bottom:1px dotted var(--quickSwitchContour);transition:all .12s ease-out}#quick-switch-modal-body .quick-switch-result:last-child{border-bottom:none}#quick-switch-modal-body .quick-switch-result:hover{cursor:pointer}#quick-switch-modal-body .quick-switch-result:is(:hover,.selected){border-left:4px solid var(--main);background-color:var(--codeBackground)}.autocomplete{display:none;height:0;margin:0 5px 0 12px;overflow:visible;position:relative;width:100%}.autocomplete.shown{display:block}.autocomplete-suggestions{box-shadow:2px 2px 10px #00000040;background-color:var(--gray700);border-top:1px solid var(--gray800);left:0;position:absolute;top:-2px;width:276px;z-index:200}.autocomplete-suggestion{color:inherit;display:block;padding:10px;text-decoration:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background-color:var(--gray600);border-left:3px solid var(--main)}.autocomplete-suggestion em{font-style:normal;font-weight:700}.autocomplete-suggestion .description{opacity:.6;padding-top:3px}.autocomplete-suggestion .label{padding-left:2px;opacity:.75}.autocomplete-suggestion .title,.autocomplete-suggestion .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}#tooltip{box-shadow:0 0 10px var(--black-opacity-10);max-height:300px;max-width:500px;padding:0;position:absolute;pointer-events:none;margin:0;z-index:99;top:0;left:0;visibility:hidden;transform:translateY(20px);opacity:0;transition:.2s visibility ease-out,.2s transform ease-out,.2s opacity ease-out}#tooltip.tooltip-shown{visibility:visible;transform:translateY(0);opacity:1}#tooltip .tooltip-body{border:1px solid var(--codeBorder)}#tooltip .tooltip-body .signature{min-width:320px;width:100%}#tooltip .tooltip-body .detail-header{border-left:0;margin-bottom:0;margin-top:0}#tooltip .tooltip-body .docstring{background-color:var(--background);padding:1.2em;margin:0;width:498px}#tooltip .tooltip-body .docstring-plain{max-width:498px;width:auto}#tooltip .tooltip-body .version-info{float:right;line-height:1.6rem;font-family:var(--monoFontFamily);font-size:.9rem;font-weight:400;margin-bottom:-6px;opacity:.3;padding-left:.3em}pre{position:relative}pre:hover .copy-button{display:block}.copy-button{display:none;position:absolute;top:9px;right:9px;background-color:transparent;border:none;cursor:pointer;padding:0;opacity:.5;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button:hover{opacity:1}.copy-button svg{width:20px}.copy-button.clicked{display:block;opacity:1;color:var(--success)}.copy-button.clicked:after{content:"Copied! \2713"}.copy-button.clicked svg{display:none;color:currentColor}#settings-modal-content{margin-top:10px}#settings-modal-content .hidden{display:none}#settings-modal-content .input{box-sizing:border-box;width:80%;padding:8px;font-size:14px;background-color:var(--settingsInputBackground);color:var(--settingsInput);border:1px solid var(--settingsInputBorder);border-radius:8px;transition:border-color .15s}#settings-modal-content .input:focus{outline:none;border-color:var(--main)}#settings-modal-content .input::placeholder{color:var(--gray400)}#settings-modal-content .switch-button-container{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--settingsSectionBorder);padding:10px 0}#settings-modal-content .switch-button-container:first-of-type{border-top-style:none;padding-top:0}#settings-modal-content .switch-button-container>div>span{font-size:18px}#settings-modal-content .switch-button-container>div>p{font-size:14px;line-height:1.4;margin:0;padding-bottom:6px;padding-right:10px}#settings-modal-content .switch-button{position:relative;display:inline-block;flex-shrink:0;width:40px;height:20px;user-select:none;transition:all .15s}#settings-modal-content .switch-button__checkbox{appearance:none;position:absolute;display:block;width:20px;height:20px;border-radius:1000px;background-color:#91a4b7;border:3px solid #e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__bg{display:block;width:100%;height:100%;border-radius:1000px;background-color:#e5edf5;cursor:pointer;transition:all .3s}#settings-modal-content .switch-button__checkbox:checked{background-color:#fff;border-color:var(--main);transform:translate(100%)}#settings-modal-content .switch-button__checkbox:checked+.switch-button__bg{background-color:var(--main)}#settings-modal-content .settings-select{cursor:pointer;position:relative;border:none;background-color:transparent;color:var(--textBody)}#settings-modal-content .settings-select option{color:initial}#settings-modal-content .settings-select:focus{outline:none}#toast{opacity:0;position:fixed;z-index:1;left:50%;bottom:1rem;min-width:3rem;margin:0 -1.2rem;padding:.7rem 1.2rem;text-align:center;font-weight:700;border-radius:10px;border:1px solid var(--codeBorder);background-color:var(--codeBackground);color:var(--textBody);transition:opacity .4s ease-in-out,transform .3s ease-out}#toast.show{opacity:1;transform:translateY(-.75rem)}@media (prefers-reduced-motion: reduce){#toast{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;user-select:none}@media print{.main{display:block}.sidebar,.sidebar-button{display:none}.content{padding-left:0;overflow:visible;left:0;width:100%}.summary-row{break-inside:avoid}#toast,.content-inner .section-heading a.hover-link,.content-inner button.icon-action,.content-inner a.icon-action,.content-inner .bottom-actions{display:none}.footer p:first-of-type{display:none}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip){border:2px solid var(--gray400)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip){color:var(--textHeaders);border-bottom:2px solid var(--gray400)}.content-inner pre code.makeup{border-color:var(--gray400);white-space:break-spaces;break-inside:avoid}.content-inner blockquote code.inline,.content-inner code.inline{border-color:var(--gray400)}}@media print{.page-cheatmd .content-inner *{background-color:transparent!important;border-color:var(--gray400)!important}.page-cheatmd .content-inner{max-width:100%;width:100%;padding:0;font-size:.7em}.page-cheatmd .content-inner section:is(.col-2,.col-2-left,.col-3){column-gap:30px}.page-cheatmd .content-inner section.col-2{column-count:2}.page-cheatmd .content-inner section.col-2-left{display:grid}.page-cheatmd .content-inner section.col-3{column-count:3}.page-cheatmd .content-inner h1{margin-top:0;margin-bottom:.5em}.page-cheatmd .content-inner h2.section-heading{font-weight:700;margin-top:1em;column-span:all}.page-cheatmd .content-inner section.h2{break-inside:avoid}.page-cheatmd .content-inner h3{font-weight:700;color:var(--main-darkened-10)}.page-cheatmd .content-inner h3:after{height:2px;background-color:var(--gray400)}.page-cheatmd .content-inner section.h3{min-width:300px;break-inside:avoid}.page-cheatmd .content-inner h4{padding:.5em 0;border:none;font-weight:700;color:#000}.page-cheatmd .content-inner .h2 p{padding-left:0;padding-right:0;border:none!important}.page-cheatmd .content-inner code{line-height:1.5em}.page-cheatmd .content-inner .h2 table{font-variant-numeric:tabular-nums;break-inside:avoid}.page-cheatmd .content-inner .h2 :is(th,td){vertical-align:top;padding-left:0;padding-right:0}.page-cheatmd .content-inner .h2 thead{border-style:solid none;border-width:1px}.page-cheatmd .content-inner .h2 tr{border-bottom:none}.page-cheatmd .content-inner .h2 th{font-weight:700}.page-cheatmd .content-inner .h2 li{padding-left:0;padding-right:0;vertical-align:middle;border-bottom:none}.page-cheatmd .content-inner pre:hover button.copy-button,.page-cheatmd .content-inner div#tooltip{display:none}.page-cheatmd .content-inner footer p:not(.built-using){display:none}}code.makeup .unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.makeup .hll{background-color:#ffc}.makeup .bp{color:#3465a4}.makeup .c,.makeup .c1,.makeup .ch,.makeup .cm,.makeup .cp,.makeup .cpf,.makeup .cs{color:#4d4d4d}.makeup .dl{color:#408200}.makeup .err{color:#a40000;border:#ef2929}.makeup .fm,.makeup .g{color:#4d4d4c}.makeup .gd{color:#a40000}.makeup .ge{color:#4d4d4c;font-style:italic}.makeup .gh{color:navy;font-weight:700}.makeup .gi{color:#00a000}.makeup .go{color:#4d4d4c;font-style:italic}.makeup .gp{color:#4d4d4d}.makeup .gr{color:#ef2929}.makeup .gs{color:#4d4d4c;font-weight:700}.makeup .gt{color:#a40000;font-weight:700}.makeup .gu{color:purple;font-weight:700}.makeup .il{color:#0000cf;font-weight:700}.makeup .k,.makeup .kc,.makeup .kd,.makeup .kn,.makeup .kp,.makeup .kr,.makeup .kt{color:#204a87}.makeup .l{color:#4d4d4c}.makeup .ld{color:#c00}.makeup .m,.makeup .mb,.makeup .mf,.makeup .mh,.makeup .mi,.makeup .mo{color:#2937ab}.makeup .n{color:#4d4d4c}.makeup .na{color:#8a7000}.makeup .nb{color:#204a87}.makeup .nc{color:#0000cf}.makeup .nd{color:#5c35cc;font-weight:700}.makeup .ne{color:#c00;font-weight:700}.makeup .nf{color:#b65800}.makeup .ni{color:#bc5400}.makeup .nl{color:#b65800}.makeup .nn{color:#4d4d4c}.makeup .no{color:#a06600}.makeup .nt{color:#204a87;font-weight:700}.makeup .nv,.makeup .nx{color:#4d4d4c}.makeup .o{color:#bc5400}.makeup .ow{color:#204a87}.makeup .p,.makeup .py{color:#4d4d4c}.makeup .s,.makeup .s1,.makeup .s2,.makeup .sa,.makeup .sb,.makeup .sc{color:#408200}.makeup .sd{color:#8f5902;font-style:italic}.makeup .se{color:#204a87}.makeup .sh{color:#408200}.makeup .si{color:#204a87}.makeup .sr{color:#c00}.makeup .ss{color:#a06600}.makeup .sx{color:#408200}.makeup .vc,.makeup .vg,.makeup .vi,.makeup .vm,.makeup .x{color:#4d4d4c}.dark .makeup{color:#dce1e6}.dark .makeup .hll{background-color:#49483e}.dark .makeup .bp{color:#dce1e6}.dark .makeup .c,.dark .makeup .c1,.dark .makeup .ch,.dark .makeup .cm,.dark .makeup .cp,.dark .makeup .cpf,.dark .makeup .cs{color:#969386}.dark .makeup .dl{color:#e6db74}.dark .makeup .err{color:#960050;background-color:#1e0010}.dark .makeup .fm{color:#a6e22e}.dark .makeup .gd{color:#ff5385}.dark .makeup .ge{font-style:italic}.dark .makeup .gi{color:#a6e22e}.dark .makeup .gp{color:#969386}.dark .makeup .gs{font-weight:700}.dark .makeup .gu{color:#969386}.dark .makeup .gt{color:#ff5385;font-weight:700}.dark .makeup .il{color:#ae81ff}.dark .makeup .k,.dark .makeup .kc,.dark .makeup .kd{color:#66d9ef}.dark .makeup .kn{color:#ff5385}.dark .makeup .kp,.dark .makeup .kr,.dark .makeup .kt{color:#66d9ef}.dark .makeup .l,.dark .makeup .ld,.dark .makeup .m,.dark .makeup .mb,.dark .makeup .mf,.dark .makeup .mh,.dark .makeup .mi,.dark .makeup .mo{color:#ae81ff}.dark .makeup .n{color:#dce1e6}.dark .makeup .na{color:#a6e22e}.dark .makeup .nb{color:#dce1e6}.dark .makeup .nc,.dark .makeup .nd,.dark .makeup .ne,.dark .makeup .nf{color:#a6e22e}.dark .makeup .ni,.dark .makeup .nl,.dark .makeup .nn{color:#dce1e6}.dark .makeup .no{color:#66d9ef}.dark .makeup .nt{color:#ff5385}.dark .makeup .nv{color:#dce1e6}.dark .makeup .nx{color:#a6e22e}.dark .makeup .o,.dark .makeup .ow{color:#ff5385}.dark .makeup .p,.dark .makeup .py{color:#dce1e6}.dark .makeup .s,.dark .makeup .s1,.dark .makeup .s2,.dark .makeup .sa,.dark .makeup .sb,.dark .makeup .sc,.dark .makeup .sd{color:#e6db74}.dark .makeup .se{color:#ae81ff}.dark .makeup .sh,.dark .makeup .si,.dark .makeup .sr,.dark .makeup .ss,.dark .makeup .sx{color:#e6db74}.dark .makeup .vc,.dark .makeup .vg,.dark .makeup .vi,.dark .makeup .vm{color:#dce1e6}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none}
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
diff --git a/lib/ex_doc/formatter/epub/templates/media-types.txt b/lib/ex_doc/formatter/epub/templates/media-types.txt
index 33a88f8de..0896b1090 100644
--- a/lib/ex_doc/formatter/epub/templates/media-types.txt
+++ b/lib/ex_doc/formatter/epub/templates/media-types.txt
@@ -16,3 +16,4 @@ mp3,audio/mpeg
mp4,video/mp4
css,text/css
js,text/javascript
+license,text/plain
diff --git a/lib/ex_doc/formatter/html/templates/sidebar_template.eex b/lib/ex_doc/formatter/html/templates/sidebar_template.eex
index 4a98d18e1..7acf8c393 100644
--- a/lib/ex_doc/formatter/html/templates/sidebar_template.eex
+++ b/lib/ex_doc/formatter/html/templates/sidebar_template.eex
@@ -52,7 +52,7 @@
-
+
diff --git a/lib/ex_doc/language/elixir.ex b/lib/ex_doc/language/elixir.ex
index a6a7bf57f..fdf985288 100644
--- a/lib/ex_doc/language/elixir.ex
+++ b/lib/ex_doc/language/elixir.ex
@@ -611,10 +611,14 @@ defmodule ExDoc.Language.Elixir do
end
defp parse_module(<> <> _ = string, _mode) when first in ?A..?Z do
- do_parse_module(string)
+ if string =~ ~r/^[A-Za-z0-9_.]+$/ do
+ do_parse_module(string)
+ else
+ :error
+ end
end
- defp parse_module(<> <> _ = string, :custom_link) do
+ defp parse_module(":" <> _ = string, :custom_link) do
do_parse_module(string)
end
diff --git a/mix.exs b/mix.exs
index 0951cdfd0..98498a4cd 100644
--- a/mix.exs
+++ b/mix.exs
@@ -2,7 +2,7 @@ defmodule ExDoc.Mixfile do
use Mix.Project
@source_url "https://github.com/elixir-lang/ex_doc"
- @version "0.29.1"
+ @version "0.29.2"
def project do
[
@@ -46,7 +46,7 @@ defmodule ExDoc.Mixfile do
clean: [&clean_test_fixtures/1, "clean"],
fix: ["format", "cmd --cd assets npm run lint:fix"],
lint: ["format --check-formatted", "cmd --cd assets npm run lint"],
- setup: ["deps.get", "cmd --cd assets npm install"]
+ setup: ["deps.get", "cmd mkdir -p tmp/handlebars", "cmd --cd assets npm install"]
]
end
diff --git a/test/ex_doc/language/elixir_test.exs b/test/ex_doc/language/elixir_test.exs
index c1e297b3b..b6c6dbfd5 100644
--- a/test/ex_doc/language/elixir_test.exs
+++ b/test/ex_doc/language/elixir_test.exs
@@ -496,6 +496,8 @@ defmodule ExDoc.Language.ElixirTest do
assert_unchanged(~m"`Unknown`")
assert_unchanged(~m"[Blank](about:blank)")
+
+ assert_unchanged(~m"`FOR UPDATE OF ? SKIP LOCKED`")
end
## Helpers
diff --git a/test/ex_doc_test.exs b/test/ex_doc_test.exs
index b49c8569d..85d2da50b 100644
--- a/test/ex_doc_test.exs
+++ b/test/ex_doc_test.exs
@@ -1,5 +1,5 @@
defmodule ExDocTest do
- use ExUnit.Case, async: true
+ use ExUnit.Case
@moduletag :tmp_dir