From 6645809b2c4434221a2005b22646ad55ea2db069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20M=C3=BCller?= Date: Mon, 4 Sep 2023 10:51:51 +0000 Subject: [PATCH 001/112] Add skip_code_autolink_to option (#1759) --- lib/ex_doc/autolink.ex | 5 ++++- lib/ex_doc/config.ex | 2 ++ lib/ex_doc/formatter/html.ex | 6 ++++-- lib/ex_doc/language/elixir.ex | 8 ++++++++ lib/mix/tasks/docs.ex | 6 ++++++ test/ex_doc/language/elixir_test.exs | 14 ++++++++++++++ 6 files changed, 38 insertions(+), 3 deletions(-) diff --git a/lib/ex_doc/autolink.ex b/lib/ex_doc/autolink.ex index 2dbe7ce93..b9005eda5 100644 --- a/lib/ex_doc/autolink.ex +++ b/lib/ex_doc/autolink.ex @@ -20,6 +20,8 @@ defmodule ExDoc.Autolink do # * `:extras` - map of extras # # * `:skip_undefined_reference_warnings_on` - list of modules to skip the warning on + # + # * `:skip_code_autolink_to` - list of terms that will be skipped when autolinking (e.g: "PrivateModule") defstruct [ :current_module, @@ -32,7 +34,8 @@ defmodule ExDoc.Autolink do deps: [], ext: ".html", siblings: [], - skip_undefined_reference_warnings_on: [] + skip_undefined_reference_warnings_on: [], + skip_code_autolink_to: [] ] @hexdocs "https://hexdocs.pm/" diff --git a/lib/ex_doc/config.ex b/lib/ex_doc/config.ex index f76714f97..87059439c 100644 --- a/lib/ex_doc/config.ex +++ b/lib/ex_doc/config.ex @@ -38,6 +38,7 @@ defmodule ExDoc.Config do project: nil, retriever: ExDoc.Retriever, skip_undefined_reference_warnings_on: [], + skip_code_autolink_to: [], source_beam: nil, source_ref: @default_source_ref, source_url: nil, @@ -75,6 +76,7 @@ defmodule ExDoc.Config do project: nil | String.t(), retriever: atom(), skip_undefined_reference_warnings_on: [String.t()], + skip_code_autolink_to: [String.t()], source_beam: nil | String.t(), source_ref: nil | String.t(), source_url: nil | String.t(), diff --git a/lib/ex_doc/formatter/html.ex b/lib/ex_doc/formatter/html.ex index cba7452c0..aab359daf 100644 --- a/lib/ex_doc/formatter/html.ex +++ b/lib/ex_doc/formatter/html.ex @@ -70,7 +70,8 @@ defmodule ExDoc.Formatter.HTML do deps: config.deps, ext: ext, extras: extra_paths(config), - skip_undefined_reference_warnings_on: config.skip_undefined_reference_warnings_on + skip_undefined_reference_warnings_on: config.skip_undefined_reference_warnings_on, + skip_code_autolink_to: config.skip_code_autolink_to ] project_nodes @@ -375,7 +376,8 @@ defmodule ExDoc.Formatter.HTML do deps: config.deps, ext: ext, extras: extra_paths(config), - skip_undefined_reference_warnings_on: config.skip_undefined_reference_warnings_on + skip_undefined_reference_warnings_on: config.skip_undefined_reference_warnings_on, + skip_code_autolink_to: config.skip_code_autolink_to ] extras = diff --git a/lib/ex_doc/language/elixir.ex b/lib/ex_doc/language/elixir.ex index 172a5d49d..a6636bc03 100644 --- a/lib/ex_doc/language/elixir.ex +++ b/lib/ex_doc/language/elixir.ex @@ -559,6 +559,14 @@ defmodule ExDoc.Language.Elixir do end defp url(string, mode, config) do + if Enum.any?(config.skip_code_autolink_to, &(&1 == string)) do + nil + else + parse_url(string, mode, config) + end + end + + defp parse_url(string, mode, config) do case Regex.run(~r{^(.+)/(\d+)$}, string) do [_, left, right] -> with {:ok, arity} <- parse_arity(right) do diff --git a/lib/mix/tasks/docs.ex b/lib/mix/tasks/docs.ex index 7712dcb64..991a731aa 100644 --- a/lib/mix/tasks/docs.ex +++ b/lib/mix/tasks/docs.ex @@ -148,6 +148,12 @@ defmodule Mix.Tasks.Docs do skip the warnings, for a given module/function/callback/type (e.g.: `["Foo", "Bar.baz/0"]`) or on a given file (e.g.: `["pages/deprecations.md"]`); default: `[]`. + * `:skip_code_autolink_to` - Similar to `:skip_undefined_reference_warnings_on`, this option + controls which terms will be skipped by ExDoc when building documentation. + Useful for example if you want to highlight private modules or functions + without warnings (e.g.: `["PrivateModule", "PrivateModule.func/1"]`); + default: `[]`. + * `:source_beam` - Path to the beam directory; default: mix's compile path. * `:source_ref` - The branch/commit/tag used for source link inference; diff --git a/test/ex_doc/language/elixir_test.exs b/test/ex_doc/language/elixir_test.exs index e0bd260c0..91d3d9153 100644 --- a/test/ex_doc/language/elixir_test.exs +++ b/test/ex_doc/language/elixir_test.exs @@ -381,6 +381,20 @@ defmodule ExDoc.Language.ElixirTest do ~s[t() :: String.t()] end + test "skips autolinking if requested" do + ExDoc.Refs.insert([ + {{:module, AutolinkTest.Hidden}, :hidden}, + {{:function, AutolinkTest.Hidden, :foo, 1}, :hidden} + ]) + + assert_skip_autolink_no_warn("AutolinkTest.Hidden") + assert_skip_autolink_no_warn("AutolinkTest.Hidden.foo/1") + end + + defp assert_skip_autolink_no_warn(string) do + assert_unchanged(~m(`#{string}`), skip_code_autolink_to: [string]) + end + test "Elixir basic types" do assert autolink_spec(quote(do: t() :: atom())) == ~s[t() :: atom()] From 960e2efc10d013fbaffb40f943c74be927c64ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20M=C3=BCller?= Date: Thu, 7 Sep 2023 10:40:15 +0000 Subject: [PATCH 002/112] Warn if typespec references filtered module (#1761) --- lib/ex_doc.ex | 4 +- lib/ex_doc/autolink.ex | 5 ++- lib/ex_doc/formatter/epub.ex | 9 ++++- lib/ex_doc/formatter/html.ex | 20 +++++++--- lib/ex_doc/language/elixir.ex | 6 ++- lib/ex_doc/nodes.ex | 6 ++- lib/ex_doc/retriever.ex | 39 ++++++++++++++----- test/ex_doc/formatter/epub/templates_test.exs | 4 +- .../formatter/html/search_data_test.exs | 2 +- test/ex_doc/formatter/html/templates_test.exs | 18 ++++----- test/ex_doc/language/elixir_test.exs | 10 +++++ test/ex_doc/retriever/elixir_test.exs | 29 +++++++------- test/ex_doc/retriever/erlang_test.exs | 12 +++--- test/ex_doc/retriever_test.exs | 27 ++++++------- test/ex_doc_test.exs | 2 +- 15 files changed, 125 insertions(+), 68 deletions(-) diff --git a/lib/ex_doc.ex b/lib/ex_doc.ex index 8ff7f2f9e..0f62a351c 100644 --- a/lib/ex_doc.ex +++ b/lib/ex_doc.ex @@ -21,8 +21,8 @@ defmodule ExDoc do ExDoc.Markdown.put_markdown_processor(processor) end - docs = config.retriever.docs_from_dir(config.source_beam, config) - find_formatter(config.formatter).run(docs, config) + {module_nodes, filtered_nodes} = config.retriever.docs_from_dir(config.source_beam, config) + find_formatter(config.formatter).run({module_nodes, filtered_nodes}, config) end # Short path for programmatic interface diff --git a/lib/ex_doc/autolink.ex b/lib/ex_doc/autolink.ex index b9005eda5..f75d6e967 100644 --- a/lib/ex_doc/autolink.ex +++ b/lib/ex_doc/autolink.ex @@ -22,6 +22,8 @@ defmodule ExDoc.Autolink do # * `:skip_undefined_reference_warnings_on` - list of modules to skip the warning on # # * `:skip_code_autolink_to` - list of terms that will be skipped when autolinking (e.g: "PrivateModule") + # + # * `:filtered_modules` - A list of module nodes that were filtered by the retriever defstruct [ :current_module, @@ -35,7 +37,8 @@ defmodule ExDoc.Autolink do ext: ".html", siblings: [], skip_undefined_reference_warnings_on: [], - skip_code_autolink_to: [] + skip_code_autolink_to: [], + filtered_modules: [] ] @hexdocs "https://hexdocs.pm/" diff --git a/lib/ex_doc/formatter/epub.ex b/lib/ex_doc/formatter/epub.ex index d8f05e4a9..2d9756e9a 100644 --- a/lib/ex_doc/formatter/epub.ex +++ b/lib/ex_doc/formatter/epub.ex @@ -9,7 +9,11 @@ defmodule ExDoc.Formatter.EPUB do Generate EPUB documentation for the given modules. """ @spec run(list, ExDoc.Config.t()) :: String.t() - def run(project_nodes, config) when is_map(config) do + def run(project_nodes, config) when is_list(project_nodes) and is_map(config) do + run({project_nodes, []}, config) + end + + def run({project_nodes, filtered_modules}, config) when is_map(config) do parent = config.output config = normalize_config(config) @@ -19,7 +23,8 @@ defmodule ExDoc.Formatter.EPUB do &create_output_dir(&1, config) ) - project_nodes = HTML.render_all(project_nodes, ".xhtml", config, highlight_tag: "samp") + project_nodes = + HTML.render_all(project_nodes, filtered_modules, ".xhtml", config, highlight_tag: "samp") nodes_map = %{ modules: HTML.filter_list(:module, project_nodes), diff --git a/lib/ex_doc/formatter/html.ex b/lib/ex_doc/formatter/html.ex index aab359daf..c162842d0 100644 --- a/lib/ex_doc/formatter/html.ex +++ b/lib/ex_doc/formatter/html.ex @@ -10,15 +10,24 @@ defmodule ExDoc.Formatter.HTML do @doc """ Generate HTML documentation for the given modules. """ - @spec run(list, ExDoc.Config.t()) :: String.t() - def run(project_nodes, config) when is_map(config) do + @spec run( + [ExDoc.ModuleNode.t()] + | {[ExDoc.ModuleNode.t()], [ExDoc.ModuleNode.t()]}, + ExDoc.Config.t() + ) :: String.t() + + def run(project_nodes, config) when is_list(project_nodes) and is_map(config) do + run({project_nodes, []}, config) + end + + def run({project_nodes, filtered_modules}, config) when is_map(config) do config = normalize_config(config) config = %{config | output: Path.expand(config.output)} build = Path.join(config.output, ".build") setup_output(config.output, &cleanup_output_dir(&1, config), &create_output_dir(&1, config)) - project_nodes = render_all(project_nodes, ".html", config, []) + project_nodes = render_all(project_nodes, filtered_modules, ".html", config, []) extras = build_extras(config, ".html") # Generate search early on without api reference in extras @@ -64,14 +73,15 @@ defmodule ExDoc.Formatter.HTML do @doc """ Autolinks and renders all docs. """ - def render_all(project_nodes, ext, config, opts) do + def render_all(project_nodes, filtered_modules, ext, config, opts) do base = [ apps: config.apps, deps: config.deps, ext: ext, extras: extra_paths(config), skip_undefined_reference_warnings_on: config.skip_undefined_reference_warnings_on, - skip_code_autolink_to: config.skip_code_autolink_to + skip_code_autolink_to: config.skip_code_autolink_to, + filtered_modules: filtered_modules ] project_nodes diff --git a/lib/ex_doc/language/elixir.ex b/lib/ex_doc/language/elixir.ex index a6636bc03..67459a732 100644 --- a/lib/ex_doc/language/elixir.ex +++ b/lib/ex_doc/language/elixir.ex @@ -783,12 +783,16 @@ defmodule ExDoc.Language.Elixir do (\(.*\)) # Arguments }x - Regex.replace(regex, string, fn _all, call_string, module_string, name_string, rest -> + Regex.replace(regex, string, fn all, call_string, module_string, name_string, rest -> module = string_to_module(module_string) name = String.to_atom(name_string) arity = count_args(rest, 0, 0) original_text = call_string <> "()" + if Enum.any?(config.filtered_modules, &(&1.id == module_string)) do + warn("Typespec references filtered module: #{all}", {config.file, config.line}, config.id) + end + url = if module do remote_url({:type, module, name, arity}, config, original_text) diff --git a/lib/ex_doc/nodes.ex b/lib/ex_doc/nodes.ex index 263ac60ff..195775641 100644 --- a/lib/ex_doc/nodes.ex +++ b/lib/ex_doc/nodes.ex @@ -22,7 +22,8 @@ defmodule ExDoc.ModuleNode do source_url: nil, type: nil, language: nil, - annotations: [] + annotations: [], + metadata: nil @typep annotation :: atom() @@ -46,7 +47,8 @@ defmodule ExDoc.ModuleNode do source_url: String.t() | nil, type: atom(), language: module(), - annotations: [annotation()] + annotations: [annotation()], + metadata: map() } end diff --git a/lib/ex_doc/retriever.ex b/lib/ex_doc/retriever.ex index 59abbb1c0..5be588d0e 100644 --- a/lib/ex_doc/retriever.ex +++ b/lib/ex_doc/retriever.ex @@ -12,8 +12,12 @@ defmodule ExDoc.Retriever do @doc """ Extract documentation from all modules in the specified directory or directories. + + Returns a tuple containing `{modules, filtered}`, using `config.filter_modules` + as a filter criteria. """ - @spec docs_from_dir(Path.t() | [Path.t()], ExDoc.Config.t()) :: [ExDoc.ModuleNode.t()] + @spec docs_from_dir(Path.t() | [Path.t()], ExDoc.Config.t()) :: + {[ExDoc.ModuleNode.t()], [ExDoc.ModuleNode.t()]} def docs_from_dir(dir, config) when is_binary(dir) do files = Path.wildcard(Path.expand("*.beam", dir)) @@ -28,15 +32,32 @@ defmodule ExDoc.Retriever do end @doc """ - Extract documentation from all modules in the list `modules` + Extract documentation from all modules and returns a tuple containing + `{modules, filtered}`, two lists of modules that were extracted and filtered + by `config.filter_modules`, respectively. """ - @spec docs_from_modules([atom], ExDoc.Config.t()) :: [ExDoc.ModuleNode.t()] + @spec docs_from_modules([atom], ExDoc.Config.t()) :: + {[ExDoc.ModuleNode.t()], [ExDoc.ModuleNode.t()]} def docs_from_modules(modules, config) when is_list(modules) do modules - |> Enum.flat_map(&get_module(&1, config)) + |> Enum.reduce({[], []}, fn module_name, {modules, filtered} = acc -> + case get_module(module_name, config) do + {:error, _module} -> + acc + + {:ok, module_node} -> + if config.filter_modules.(module_node.module, module_node.metadata), + do: {[module_node | modules], filtered}, + else: {modules, [module_node | filtered]} + end + end) |> sort_modules(config) end + defp sort_modules({modules, filtered}, config) do + {sort_modules(modules, config), sort_modules(filtered, config)} + end + defp sort_modules(modules, config) when is_list(modules) do Enum.sort_by(modules, fn module -> {GroupMatcher.group_index(config.groups_for_modules, module.group), module.nested_context, @@ -50,14 +71,13 @@ defmodule ExDoc.Retriever do end defp get_module(module, config) do - with {:docs_v1, _, language, _, _, metadata, _} = docs_chunk <- docs_chunk(module), - true <- config.filter_modules.(module, metadata), + with {:docs_v1, _, language, _, _, _metadata, _} = docs_chunk <- docs_chunk(module), {:ok, language} <- ExDoc.Language.get(language, module), %{} = module_data <- language.module_data(module, docs_chunk, config) do - [generate_node(module, module_data, config)] + {:ok, generate_node(module, module_data, config)} else _ -> - [] + {:error, module} end end @@ -142,7 +162,8 @@ defmodule ExDoc.Retriever do source_path: source_path, source_url: source_link(source, module_data.line), language: module_data.language, - annotations: List.wrap(metadata[:tags]) + annotations: List.wrap(metadata[:tags]), + metadata: metadata } end diff --git a/test/ex_doc/formatter/epub/templates_test.exs b/test/ex_doc/formatter/epub/templates_test.exs index 7eed7648c..0c9f7c300 100644 --- a/test/ex_doc/formatter/epub/templates_test.exs +++ b/test/ex_doc/formatter/epub/templates_test.exs @@ -27,8 +27,8 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do defp get_module_page(names, config \\ []) do config = doc_config(config) - mods = ExDoc.Retriever.docs_from_modules(names, config) - [mod | _] = HTML.render_all(mods, ".xhtml", config, highlight_tag: "samp") + {mods, []} = ExDoc.Retriever.docs_from_modules(names, config) + [mod | _] = HTML.render_all(mods, [], ".xhtml", config, highlight_tag: "samp") Templates.module_page(config, mod) end diff --git a/test/ex_doc/formatter/html/search_data_test.exs b/test/ex_doc/formatter/html/search_data_test.exs index 9cfda6fb3..0aaa19319 100644 --- a/test/ex_doc/formatter/html/search_data_test.exs +++ b/test/ex_doc/formatter/html/search_data_test.exs @@ -243,7 +243,7 @@ defmodule ExDoc.Formatter.HTML.SearchDataTest do end defp search_data(modules, config) do - modules = ExDoc.Retriever.docs_from_modules(modules, config) + {modules, []} = ExDoc.Retriever.docs_from_modules(modules, config) ExDoc.Formatter.HTML.run(modules, config) [path] = Path.wildcard(Path.join([config.output, "dist", "search_data-*.js"])) diff --git a/test/ex_doc/formatter/html/templates_test.exs b/test/ex_doc/formatter/html/templates_test.exs index f0912bc07..7d0188660 100644 --- a/test/ex_doc/formatter/html/templates_test.exs +++ b/test/ex_doc/formatter/html/templates_test.exs @@ -31,8 +31,8 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do defp get_module_page(names, context, config \\ []) do config = doc_config(context, config) - mods = ExDoc.Retriever.docs_from_modules(names, config) - [mod | _] = HTML.render_all(mods, ".html", config, []) + {mods, []} = ExDoc.Retriever.docs_from_modules(names, config) + [mod | _] = HTML.render_all(mods, [], ".html", config, []) Templates.module_page(mod, @empty_nodes_map, config) end @@ -264,7 +264,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "outputs listing for the given nodes", context do names = [CompiledWithDocs, CompiledWithDocs.Nested] - nodes = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) + {nodes, []} = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) assert [ %{ @@ -293,7 +293,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "outputs deprecated: true if node is deprecated", context do names = [CompiledWithDocs] - nodes = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) + {nodes, []} = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) path = ["modules", Access.at!(0), "nodeGroups", Access.at!(0), "nodes"] sidebar_functions = get_in(create_sidebar_items(%{modules: nodes}, []), path) @@ -306,7 +306,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "outputs deprecated: true if module is deprecated", context do names = [Warnings] - nodes = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) + {nodes, []} = ExDoc.Retriever.docs_from_modules(names, doc_config(context)) assert Enum.any?( create_sidebar_items(%{modules: nodes}, [])["modules"], @@ -315,7 +315,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do end test "outputs nodes grouped based on metadata", context do - nodes = + {nodes, []} = ExDoc.Retriever.docs_from_modules( [CompiledWithDocs, CompiledWithDocs.Nested], doc_config(context, @@ -361,7 +361,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "outputs module groups for the given nodes", context do names = [CompiledWithDocs, CompiledWithDocs.Nested] group_mapping = [groups_for_modules: [Group: [CompiledWithDocs]]] - nodes = ExDoc.Retriever.docs_from_modules(names, doc_config(context, group_mapping)) + {nodes, []} = ExDoc.Retriever.docs_from_modules(names, doc_config(context, group_mapping)) assert [ %{"group" => ""}, @@ -420,8 +420,8 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "builds sections out of moduledocs", context do names = [CompiledWithDocs, CompiledWithoutDocs, DuplicateHeadings] config = doc_config(context) - nodes = ExDoc.Retriever.docs_from_modules(names, config) - nodes = HTML.render_all(nodes, ".html", config, []) + {nodes, []} = ExDoc.Retriever.docs_from_modules(names, config) + nodes = HTML.render_all(nodes, [], ".html", config, []) [compiled_with_docs, compiled_without_docs, duplicate_headings] = create_sidebar_items(%{modules: nodes}, [])["modules"] diff --git a/test/ex_doc/language/elixir_test.exs b/test/ex_doc/language/elixir_test.exs index 91d3d9153..01a635b64 100644 --- a/test/ex_doc/language/elixir_test.exs +++ b/test/ex_doc/language/elixir_test.exs @@ -439,6 +439,16 @@ defmodule ExDoc.Language.ElixirTest do warn(~m"`c:InMemory.unknown/0`") end + test "warning if typespec references filtered module" do + ExDoc.Refs.insert([ + {{:module, AutolinkTest.Keep}, :public}, + {{:function, AutolinkTest.Filtered}, :public}, + {{:type, AutolinkTest.Filtered, :type, 0}, :public} + ]) + + # TODO: testing + end + test "warnings" do ExDoc.Refs.insert([ {{:module, AutolinkTest.Foo}, :public}, diff --git a/test/ex_doc/retriever/elixir_test.exs b/test/ex_doc/retriever/elixir_test.exs index 6c69a5636..21b5088f7 100644 --- a/test/ex_doc/retriever/elixir_test.exs +++ b/test/ex_doc/retriever/elixir_test.exs @@ -27,7 +27,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) assert %ExDoc.ModuleNode{ doc_line: 2, @@ -88,7 +88,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) [foo] = mod.docs assert foo.id == "foo/2" @@ -104,7 +104,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) [macro] = mod.docs assert macro.id == "macro/1" @@ -127,7 +127,7 @@ defmodule ExDoc.Retriever.ElixirTest do """) config = %ExDoc.Config{source_url_pattern: "%{path}:%{line}"} - [mod] = Retriever.docs_from_modules([Mod], config) + {[mod], []} = Retriever.docs_from_modules([Mod], config) assert mod.type == :behaviour [callback1, macrocallback1, optional_callback1] = mod.docs @@ -176,7 +176,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [impl] = Retriever.docs_from_modules([Impl], %ExDoc.Config{}) + {[impl], []} = Retriever.docs_from_modules([Impl], %ExDoc.Config{}) [callback1, optional_callback1] = impl.docs assert callback1.id == "callback1/0" @@ -202,7 +202,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) [opaque1, type1] = mod.typespecs assert type1.id == "t:type1/0" @@ -233,7 +233,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod, Mod.Atom], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod, Mod.Atom], %ExDoc.Config{}) assert mod.type == :protocol [foo] = mod.docs @@ -248,7 +248,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([MyStruct], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([MyStruct], %ExDoc.Config{}) [my_struct] = mod.docs assert my_struct.id == "__struct__/0" @@ -263,7 +263,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([MyException], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([MyException], %ExDoc.Config{}) assert mod.title == "MyException" assert mod.type == :exception @@ -287,7 +287,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) [downcase, upcase] = mod.docs assert downcase.id == "downcase/1" @@ -308,7 +308,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Signatures], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Signatures], %ExDoc.Config{}) [remote] = mod.docs assert remote.signature == "remote(options)" @@ -327,7 +327,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mix.Tasks.MyTask], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mix.Tasks.MyTask], %ExDoc.Config{}) assert mod.title == "mix my_task" assert mod.type == :task refute mod.group @@ -369,7 +369,7 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - [mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) overlapping_defaults_2 = Enum.find(mod.docs, &(&1.id == "overlapping_defaults/2")) overlapping_defaults_3 = Enum.find(mod.docs, &(&1.id == "overlapping_defaults/3")) @@ -407,7 +407,8 @@ defmodule ExDoc.Retriever.ElixirTest do end """) - assert [%ExDoc.ModuleNode{} = mod] = Retriever.docs_from_modules([Mod], %ExDoc.Config{}) + assert {[%ExDoc.ModuleNode{} = mod], []} = + Retriever.docs_from_modules([Mod], %ExDoc.Config{}) assert [%ExDoc.TypeNode{id: "t:t/0", annotations: ["since 1.0.0"]}] = mod.typespecs diff --git a/test/ex_doc/retriever/erlang_test.exs b/test/ex_doc/retriever/erlang_test.exs index 64f7ff9d2..4b2dda494 100644 --- a/test/ex_doc/retriever/erlang_test.exs +++ b/test/ex_doc/retriever/erlang_test.exs @@ -24,7 +24,7 @@ defmodule ExDoc.Retriever.ErlangTest do function2() -> ok. """) - [mod] = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) %ExDoc.ModuleNode{ deprecated: nil, @@ -80,7 +80,7 @@ defmodule ExDoc.Retriever.ErlangTest do -module(mod). """) - assert [_] = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) + assert {[_], []} = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) end test "function with no docs is generated", c do @@ -92,7 +92,7 @@ defmodule ExDoc.Retriever.ErlangTest do f() -> ok. """) - [mod] = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([:mod], %ExDoc.Config{}) assert [_] = mod.docs end @@ -111,7 +111,7 @@ defmodule ExDoc.Retriever.ErlangTest do """) config = %ExDoc.Config{source_url_pattern: "%{path}:%{line}"} - [mod] = Retriever.docs_from_modules([:mod], config) + {[mod], []} = Retriever.docs_from_modules([:mod], config) [callback1, optional_callback1] = mod.docs assert callback1.id == "c:callback1/0" @@ -140,7 +140,7 @@ defmodule ExDoc.Retriever.ErlangTest do """) config = %ExDoc.Config{source_url_pattern: "%{path}:%{line}"} - [mod] = Retriever.docs_from_modules([:mod], config) + {[mod], []} = Retriever.docs_from_modules([:mod], config) [opaque1, type1] = mod.typespecs assert opaque1.id == "t:opaque1/0" @@ -166,7 +166,7 @@ defmodule ExDoc.Retriever.ErlangTest do docs: false ) - assert Retriever.docs_from_modules([:no_chunk], %ExDoc.Config{}) == [] + assert {[], []} = Retriever.docs_from_modules([:no_chunk], %ExDoc.Config{}) end # TODO diff --git a/test/ex_doc/retriever_test.exs b/test/ex_doc/retriever_test.exs index 802022bba..c2b842bd0 100644 --- a/test/ex_doc/retriever_test.exs +++ b/test/ex_doc/retriever_test.exs @@ -12,7 +12,7 @@ defmodule ExDoc.RetrieverTest do end """) - [mod] = Retriever.docs_from_modules([A], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([A], %ExDoc.Config{}) assert mod.doc == nil end @@ -26,7 +26,7 @@ defmodule ExDoc.RetrieverTest do end """) - [mod] = Retriever.docs_from_modules([A], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([A], %ExDoc.Config{}) [foo] = mod.docs assert foo.id == "foo/0" assert foo.annotations == ["since 1.0.0"] @@ -55,7 +55,7 @@ defmodule ExDoc.RetrieverTest do ] } - [qux, bar, foo, baz] = Retriever.docs_from_modules([Foo, Bar, Baz, Qux], config) + {[qux, bar, foo, baz], []} = Retriever.docs_from_modules([Foo, Bar, Baz, Qux], config) assert %{module: Foo, group: :"Group 1"} = foo assert %{module: Bar, group: :"Group 1"} = bar assert %{module: Baz, group: :"Group 2"} = baz @@ -83,7 +83,7 @@ defmodule ExDoc.RetrieverTest do ] } - [mod] = Retriever.docs_from_modules([A], config) + {[mod], []} = Retriever.docs_from_modules([A], config) [bar, baz, foo] = mod.docs assert %{id: "foo/0", group: :"Group 1"} = foo @@ -101,7 +101,7 @@ defmodule ExDoc.RetrieverTest do end """) - [mod] = + {[mod], []} = Retriever.docs_from_modules([A], %ExDoc.Config{ annotations_for_docs: fn metadata -> if metadata[:foo] do @@ -126,7 +126,7 @@ defmodule ExDoc.RetrieverTest do end """) - [mod] = + {[mod], []} = Retriever.docs_from_modules([A], %ExDoc.Config{ annotations_for_docs: fn metadata -> if metadata[:foo] do @@ -157,7 +157,7 @@ defmodule ExDoc.RetrieverTest do end """) - mods = + {mods, []} = Retriever.docs_from_modules( [Nesting.Prefix.B.A, Nesting.Prefix.B.C], %ExDoc.Config{nest_modules_by_prefix: ["Nesting.Prefix.B"]} @@ -171,7 +171,7 @@ defmodule ExDoc.RetrieverTest do assert Enum.at(mods, 1).nested_context == "Nesting.Prefix.B" assert Enum.at(mods, 1).nested_title == ".C" - [mod] = + {[mod], []} = Retriever.docs_from_modules([Nesting.Prefix.B.B.A], %ExDoc.Config{ nest_modules_by_prefix: ["Nesting.Prefix.B.B.A"] }) @@ -201,10 +201,11 @@ defmodule ExDoc.RetrieverTest do ebin_dir = Path.join(c.tmp_dir, "ebin") config = %ExDoc.Config{filter_modules: fn module, _ -> Atom.to_string(module) =~ "A" end} - [a, a_a] = Retriever.docs_from_dir(ebin_dir, config) - assert a.id == "A" - assert a_a.id == "A.A" + assert { + [%{id: "A"}, %{id: "A.A"}], + [%{id: "B"}] + } = Retriever.docs_from_dir(ebin_dir, config) end test "natural sorting", c do @@ -229,7 +230,7 @@ defmodule ExDoc.RetrieverTest do end """) - [mod] = Retriever.docs_from_modules([NaturallySorted], %ExDoc.Config{}) + {[mod], []} = Retriever.docs_from_modules([NaturallySorted], %ExDoc.Config{}) [function_A_0, function_A_1, function_a_0, function_a_1, function_B_0, function_b_0] = mod.docs @@ -255,7 +256,7 @@ defmodule ExDoc.RetrieverTest do end """) - [module_node] = Retriever.docs_from_modules([NoWhitespaceInSignature], %ExDoc.Config{}) + {[module_node], []} = Retriever.docs_from_modules([NoWhitespaceInSignature], %ExDoc.Config{}) %{docs: [%{signature: signature}]} = module_node assert signature == "callback_name(arg1, integer, %Date{}, term, t)" end diff --git a/test/ex_doc_test.exs b/test/ex_doc_test.exs index 85d2da50b..be412ff31 100644 --- a/test/ex_doc_test.exs +++ b/test/ex_doc_test.exs @@ -63,7 +63,7 @@ defmodule ExDocTest do source_beam: "beam_dir" ] - {{source_dir, _retr_config}, _config} = ExDoc.generate_docs("Elixir", "1", options) + assert {{source_dir, _retr_config}, _config} = ExDoc.generate_docs("Elixir", "1", options) assert source_dir == options[:source_beam] end From 3189db663d2e6ef07f8b2870fd96fe4f7073492d Mon Sep 17 00:00:00 2001 From: David Oliver Date: Mon, 11 Sep 2023 18:25:26 +0200 Subject: [PATCH 003/112] =?UTF-8?q?Fix=20invalid=20output=20markup=20for?= =?UTF-8?q?=20=E2=80=9Chover=20link=E2=80=9D=20headings=20which=20contain?= =?UTF-8?q?=20their=20own=20links=20(#1767)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Avoids nested anchors. Also: - restores cheatsheet h3 hover link icons; - slightly increases contrast of main link underlining. --- assets/css/content/cheatsheet.css | 12 ++--- assets/css/content/general.css | 42 +++++++++++---- assets/css/custom-props/common.css | 1 + assets/css/custom-props/theme-dark.css | 2 +- assets/css/custom-props/theme-light.css | 2 +- lib/ex_doc/formatter/html/templates.ex | 4 +- .../html/templates/module_template.eex | 4 +- test/ex_doc/formatter/epub/templates_test.exs | 4 +- test/ex_doc/formatter/html/templates_test.exs | 54 +++++++++---------- test/ex_doc/formatter/html_test.exs | 4 +- 10 files changed, 74 insertions(+), 55 deletions(-) diff --git a/assets/css/content/cheatsheet.css b/assets/css/content/cheatsheet.css index 4c6b81155..65f7ecafa 100644 --- a/assets/css/content/cheatsheet.css +++ b/assets/css/content/cheatsheet.css @@ -39,16 +39,10 @@ color: var(--main); margin: 0 0 1em; font-weight: 400; - overflow: hidden; } .page-cheatmd .content-inner h3 :is(a, a:visited) { color: var(--main); - text-decoration: none; -} - -.page-cheatmd .content-inner h3.section-heading i { - display: none; } .page-cheatmd .content-inner section.h3 { @@ -58,7 +52,11 @@ break-inside: avoid; } -.page-cheatmd .content-inner h3::after { +.page-cheatmd .content-inner h3 .text { + overflow: hidden; /* Clips generated content horizontal rule */ +} + +.page-cheatmd .content-inner h3 .text::after { content: ""; margin-left: calc(var(--horizontal-space) / 2); vertical-align: baseline; diff --git a/assets/css/content/general.css b/assets/css/content/general.css index ca47e16c9..9269244e9 100644 --- a/assets/css/content/general.css +++ b/assets/css/content/general.css @@ -131,30 +131,50 @@ vertical-align: top; } -.content-inner .section-heading a { +.content-inner .section-heading { + --icon-size: 16px; + --icon-spacing: 5px; + display: grid; + grid-template: 1fr / 1fr; +} + +.content-inner .section-heading > :is(.hover-link, .text) { + grid-row: 1; + grid-column: 1; +} + +.content-inner .section-heading .hover-link { text-decoration: none; } .content-inner .section-heading i { - font-size: 16px; + font-size: var(--icon-size); margin-top: .1em; - margin-left: -21px; + margin-left: calc(-1 * (var(--icon-size) + var(--icon-spacing))); + padding-right: var(--icon-spacing); /* Avoids gap in hover area */ opacity: 0; } -.content-inner .section-heading a:is(:hover, :focus) i { - opacity: 1; +@media screen and (max-width: 768px) { + .content-inner .section-heading i { + margin-left: calc(-1 * (var(--icon-size))); + } } -blockquote .section-heading i { +.content-inner blockquote .section-heading i { display: none; } -@media screen and (max-width: 768px) { - .content-inner .section-heading i { - margin-left: -16px; - margin-right: -5px; - } +.content-inner .section-heading .hover-link:is(:hover, :focus) i { + opacity: 1; +} + +/* Allow section link to be hovered and used “through” text */ +.content-inner .section-heading .text { + pointer-events: none; +} +.content-inner .section-heading .text a { + pointer-events: all; } .content-inner .app-vsn { diff --git a/assets/css/custom-props/common.css b/assets/css/custom-props/common.css index d65b0c35d..5104aecb6 100644 --- a/assets/css/custom-props/common.css +++ b/assets/css/custom-props/common.css @@ -20,6 +20,7 @@ --gray200: hsl(210, 29%, 88% ); --gray300: hsl(210, 26%, 84% ); --gray400: hsl(210, 21%, 64% ); + --gray450: hsl(210, 21%, 49% ); --gray500: hsl(210, 21%, 34% ); --gray600: hsl(210, 27%, 26% ); --gray700: hsl(212, 35%, 17% ); diff --git a/assets/css/custom-props/theme-dark.css b/assets/css/custom-props/theme-dark.css index 887f8f537..2262fb7cd 100644 --- a/assets/css/custom-props/theme-dark.css +++ b/assets/css/custom-props/theme-dark.css @@ -10,7 +10,7 @@ body.dark { --linksVisited: var(--gray100); --linksNoUnderline: var(--main-lightened-10); --linksNoUnderlineVisited: var(--main-lightened-05); - --linksDecoration: var(--gray500); + --linksDecoration: var(--gray450); --iconAction: var(--coldGray-lightened-10); --iconActionHover: var(--white); diff --git a/assets/css/custom-props/theme-light.css b/assets/css/custom-props/theme-light.css index 608644ab9..a029dd101 100644 --- a/assets/css/custom-props/theme-light.css +++ b/assets/css/custom-props/theme-light.css @@ -10,7 +10,7 @@ --linksVisited: var(--black); --linksNoUnderline: var(--main-darkened-10); --linksNoUnderlineVisited: var(--main-darkened-20); - --linksDecoration: var(--gray400); + --linksDecoration: var(--gray450); --iconAction: var(--coldGray); --iconActionHover: var(--gray800); diff --git a/lib/ex_doc/formatter/html/templates.ex b/lib/ex_doc/formatter/html/templates.ex index 74ebc3baf..e9086201a 100644 --- a/lib/ex_doc/formatter/html/templates.ex +++ b/lib/ex_doc/formatter/html/templates.ex @@ -302,10 +302,10 @@ defmodule ExDoc.Formatter.HTML.Templates do """ <#{tag} id="#{prefix}#{id}" class="#{class_attribute}"> - + - #{title} + #{title} """ end diff --git a/lib/ex_doc/formatter/html/templates/module_template.eex b/lib/ex_doc/formatter/html/templates/module_template.eex index 195caef2b..eb60636dd 100644 --- a/lib/ex_doc/formatter/html/templates/module_template.eex +++ b/lib/ex_doc/formatter/html/templates/module_template.eex @@ -33,8 +33,8 @@

- Summary + Summary

<%= for {name, nodes} <- summary, do: summary_template(name, nodes) %> @@ -45,8 +45,8 @@

- <%= name %> + <%= name %>

<%= for node <- nodes, do: detail_template(node, module) %> diff --git a/test/ex_doc/formatter/epub/templates_test.exs b/test/ex_doc/formatter/epub/templates_test.exs index 0c9f7c300..e7359d886 100644 --- a/test/ex_doc/formatter/epub/templates_test.exs +++ b/test/ex_doc/formatter/epub/templates_test.exs @@ -60,10 +60,10 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do assert content =~ ~r{

\s*CompiledWithDocs\s*} assert content =~ - ~r{

.*.*.*Example.*.*

}ms + ~r{

.*Example.*

}ms assert content =~ - ~r{

.*.*.*Example H3 heading.*.*

}ms + ~r{

.*Example H3 heading.*

}ms assert content =~ ~r{moduledoc.*Example.*CompiledWithDocs\.example.*}ms diff --git a/test/ex_doc/formatter/html/templates_test.exs b/test/ex_doc/formatter/html/templates_test.exs index 7d0188660..aabb9ae66 100644 --- a/test/ex_doc/formatter/html/templates_test.exs +++ b/test/ex_doc/formatter/html/templates_test.exs @@ -47,61 +47,61 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "generates headers with hovers" do assert Templates.link_headings("

Foo

Bar

") == """

- + - Foo + Foo

- + - Bar + Bar

""" assert Templates.link_headings("

Foo

\n

Bar

") == """

- + - Foo + Foo

- + - Bar + Bar

""" assert Templates.link_headings("

Bar

") == """

- + - Bar + Bar

""" assert Templates.link_headings("

\n

Bar

") == """

- + - Bar + Bar

""" assert Templates.link_headings("

Foo

") == String.trim_trailing("""

- + - Foo + Foo

""") @@ -109,10 +109,10 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do assert Templates.link_headings("

Foo

\n

") == String.trim_trailing("""

- + - Foo + Foo

@@ -120,10 +120,10 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do assert Templates.link_headings("

Foo

") == """

- + - Foo + Foo

""" end @@ -131,17 +131,17 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do test "generates headers with unique id's" do assert Templates.link_headings("

Foo

\n

Foo

") == """

- + - Foo + Foo

- + - Foo + Foo

""" end @@ -153,10 +153,10 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do assert Templates.link_headings(admonition_block) == """

- + - Foo + Foo

""" @@ -471,10 +471,10 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do ~r{moduledoc.*Example.*CompiledWithDocs\.example.*}ms assert content =~ - ~r{

.*.*.*Example.*.*

}ms + ~r{

.*.*.*.*Example ☃ Unicode > escaping.*

}ms assert content =~ - ~r{

.*.*.*Example H3 heading.*.*

}ms + ~r{

.*.*.*.*Example H3 heading.*

}ms # Summaries assert content =~ ~r{example/2.*Some example}ms @@ -567,7 +567,7 @@ defmodule ExDoc.Formatter.HTML.TemplatesTest do content = get_module_page([CompiledWithDocs], context) assert content =~ - ~r{

.*.*.*Examples.*.*

}ms + ~r{

.*.*.*.*Examples.*

}ms end test "do not output overlapping functions, causing duplicate IDs", context do diff --git a/test/ex_doc/formatter/html_test.exs b/test/ex_doc/formatter/html_test.exs index 03490d5f4..98e3c64e8 100644 --- a/test/ex_doc/formatter/html_test.exs +++ b/test/ex_doc/formatter/html_test.exs @@ -365,10 +365,10 @@ defmodule ExDoc.Formatter.HTMLTest do assert content =~ ~r{README [^<]*} assert content =~ - ~r{

.*.*.*Header sample.*.*

}ms + ~r{

.*.*.*.*Header sample.*

}ms assert content =~ - ~r{

.*.*.*more > than.*.*

}ms + ~r{

.*.*.*.*more > than.*

}ms assert content =~ ~r{RandomError} From 73b06b59967a35b239bf7d7b9e228e2d81c5d271 Mon Sep 17 00:00:00 2001 From: josevalim Date: Mon, 11 Sep 2023 16:26:15 +0000 Subject: [PATCH 004/112] Update assets --- formatters/epub/dist/epub-elixir-OAJBJGFQ.css | 1 - formatters/epub/dist/epub-elixir-TTXYU4IW.css | 1 + formatters/epub/dist/epub-erlang-GOUKTTJJ.css | 1 - formatters/epub/dist/epub-erlang-MQGGEKPV.css | 1 + formatters/html/dist/html-elixir-M3TQBNKO.css | 6 ------ formatters/html/dist/html-elixir-UXYSZXQW.css | 6 ++++++ formatters/html/dist/html-erlang-7UJJ2L3T.css | 6 ++++++ formatters/html/dist/html-erlang-TA2NZFJE.css | 6 ------ 8 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 formatters/epub/dist/epub-elixir-OAJBJGFQ.css create mode 100644 formatters/epub/dist/epub-elixir-TTXYU4IW.css delete mode 100644 formatters/epub/dist/epub-erlang-GOUKTTJJ.css create mode 100644 formatters/epub/dist/epub-erlang-MQGGEKPV.css delete mode 100644 formatters/html/dist/html-elixir-M3TQBNKO.css create mode 100644 formatters/html/dist/html-elixir-UXYSZXQW.css create mode 100644 formatters/html/dist/html-erlang-7UJJ2L3T.css delete mode 100644 formatters/html/dist/html-erlang-TA2NZFJE.css diff --git a/formatters/epub/dist/epub-elixir-OAJBJGFQ.css b/formatters/epub/dist/epub-elixir-OAJBJGFQ.css deleted file mode 100644 index c43b901e7..000000000 --- a/formatters/epub/dist/epub-elixir-OAJBJGFQ.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{--content-width: 949px;--content-gutter: 60px;--borderRadius: 4px;--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% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray400);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}.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}.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,.content-inner .detail-header a.detail-link:focus{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-elixir-TTXYU4IW.css b/formatters/epub/dist/epub-elixir-TTXYU4IW.css new file mode 100644 index 000000000..f53dd092d --- /dev/null +++ b/formatters/epub/dist/epub-elixir-TTXYU4IW.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;--borderRadius: 4px;--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% );--gray450: hsl(210, 21%, 49% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray450);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}.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}.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,.content-inner .detail-header a.detail-link:focus{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-GOUKTTJJ.css b/formatters/epub/dist/epub-erlang-GOUKTTJJ.css deleted file mode 100644 index cf30048df..000000000 --- a/formatters/epub/dist/epub-erlang-GOUKTTJJ.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{--content-width: 949px;--content-gutter: 60px;--borderRadius: 4px;--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% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray400);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}.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}.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,.content-inner .detail-header a.detail-link:focus{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-MQGGEKPV.css b/formatters/epub/dist/epub-erlang-MQGGEKPV.css new file mode 100644 index 000000000..d9ed93ecb --- /dev/null +++ b/formatters/epub/dist/epub-erlang-MQGGEKPV.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;--borderRadius: 4px;--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% );--gray450: hsl(210, 21%, 49% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray450);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}.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}.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,.content-inner .detail-header a.detail-link:focus{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/html-elixir-M3TQBNKO.css b/formatters/html/dist/html-elixir-M3TQBNKO.css deleted file mode 100644 index 32e5284f4..000000000 --- a/formatters/html/dist/html-elixir-M3TQBNKO.css +++ /dev/null @@ -1,6 +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:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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;--borderRadius: 4px;--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% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray400);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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);--linksDecoration: var(--gray500);--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(--gray850);--codeBorder: var(--gray700);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--gray900);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tab: var(--white);--tabShadow: var(--black);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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{--sidebarWidth: 300px;--sidebarTransitionDuration: .3s;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:var(--sidebarWidth);height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;--sidebarButtonRightOpen: 7px;position:fixed;z-index:99;left:0;top:0;transition:all var(--sidebarTransitionDuration) ease-in-out;will-change:transform}.content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);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(calc(var(--sidebarWidth) - 100% - var(--sidebarButtonRightOpen)));top:var(--sidebarButtonTopOpen)}body.sidebar-opening-start .sidebar{left:calc(-1 * var(--sidebarWidth))}body.sidebar-opening-start .content{width:100%;left:0}body.sidebar-opening .sidebar{left:0;transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-opening .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:calc(-1 * var(--sidebarWidth));transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closed .sidebar{left:calc(-1 * var(--sidebarWidth));display:none}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 var(--sidebarTransitionDuration) 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{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);font-weight:300;line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;scrollbar-color:var(--sidebarScrollbarThumb) var(--sidebarScrollbarTrack)}.non-apple-os .sidebar{font-weight:400}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{margin:12px;border-radius:var(--borderRadius);background-color:var(--sidebarHeader);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(--sidebarAccentMain);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted)}.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(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--sidebarMuted)}.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-size:14px;color:var(--sidebarMuted)}.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(--sidebarLanguageAccentBar)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--sidebarAccentMain)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover,.sidebar .sidebar-search .search-button:focus{color:var(--sidebarLanguageAccentBar);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--sidebarAccentMain);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:var(--sidebarFontSize);color:var(--sidebarAccentMain);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-input{background-color:var(--sidebarSearch);border:none;border-radius:var(--borderRadius);color:var(--sidebarAccentMain);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input::placeholder{color:var(--sidebarAccentMain);opacity:.3}.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 :is(li,a){overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a.expand+button.icon-expand{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;margin-right:10px;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:flex;right:0;transform:translateY(calc(-100% - 4px))}.sidebar #full-list li a+button.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand+button.icon-expand:after{content:var(--icon-arrow-down-s)}.sidebar #full-list li.open>a.expand+button.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a+button.icon-expand{margin-right:12px;font-size:var(--sidebarFontSize);line-height:var(--sidebarFontSize);transform:translateY(calc(-100% - 5px))}.sidebar #full-list li.docs>a+button.icon-expand:after{content:var(--icon-add)}.sidebar #full-list li.docs.open>a+button.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(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--sidebarItem)}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:var(--sidebarLineHeight)}.sidebar #full-list li .current-section>a{color:var(--sidebarActiveItem)}.sidebar #full-list li .current-section>a+button.icon-expand{color:var(--sidebarActiveItem)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--sidebarActiveItem);border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--sidebarActiveItem)}.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:var(--sidebarFontSize);padding:0 8px;margin-right:0;color:var(--sidebarAccentMain)}.non-apple-os .sidebar #full-list ul li{font-weight:400}.sidebar #full-list ul li.current-hash{color:var(--sidebarActiveItem)}.sidebar #full-list ul li.current-hash>a{color:var(--sidebarActiveItem)}.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(--sidebarActiveItem)}.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(--sidebarAccentMain)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--sidebarInactiveItemMarker);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(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--sidebarBackground)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--sidebarScrollbarThumb);border-radius:10px;border:3px solid var(--sidebarBackground)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:var(--sidebarFontSize)}.sidebar-button:hover{color:var(--sidebarHover)}.sidebar-button{color:var(--sidebarAccentMain)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.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-color:var(--linksDecoration);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}.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 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:var(--borderRadius)}.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 a{text-decoration:none}.content-inner .section-heading i{font-size:16px;margin-top:.1em;margin-left:-21px;opacity:0}.content-inner .section-heading a:is(:hover,:focus) i{opacity:1}blockquote .section-heading i{display:none}@media screen and (max-width: 768px){.content-inner .section-heading i{margin-left:-16px;margin-right:-5px}}.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.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(h3,h4):is(.warning,.error,.info,.neutral,.tip) code{margin:0 .5ch}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCode)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@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}.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,.content-inner .detail-header a.detail-link:focus{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;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:var(--borderRadius);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{color:var(--main);margin:0 0 1em;font-weight:400;overflow:hidden}.page-cheatmd .content-inner h3 :is(a,a:visited){color:var(--main);text-decoration:none}.page-cheatmd .content-inner h3.section-heading i{display:none}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding: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:var(--borderRadius);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:var(--borderRadius);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:var(--borderRadius);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:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.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:var(--borderRadius);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:var(--borderRadius);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-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,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:5px;right:5px;padding:4px;background-color:var(--codeBackground);border:none;cursor:pointer;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button svg{opacity:.5;transition:all .15s}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{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{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;font-weight:300;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 .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#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}#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;cursor:default}#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}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0}.tabset-tablist{display:flex;overflow-x:auto}.tabset-tab{padding:.6rem var(--tabsetPadding);min-height:46px;font-family:var(--sansFontFamily);background-color:var(--tabBackground);color:var(--tab);border:var(--borderWidth) solid var(--tabBorder);margin-right:calc(-1 * var(--borderWidth));border-top-width:4px;border-top-color:var(--tabBorderTop);border-radius:0;border-top-left-radius:var(--borderRadius);border-top-right-radius:var(--borderRadius);box-shadow:0 -3px 4px var(--tabShadow) inset;cursor:pointer}.tabset-tab[aria-selected=true]{border-bottom-color:var(--tabBackground);border-top-color:var(--main-lightened-05);box-shadow:none}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--main-lightened-05);border-color:var(--main-lightened-05);border-top-color:var(--main);color:var(--white)}.tabset-panel{padding:0 var(--tabsetPadding);border:var(--borderWidth) solid var(--tabBorder);margin-top:calc(-1 * var(--borderWidth));border-bottom-left-radius:var(--borderRadius);border-bottom-right-radius:var(--borderRadius)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre{margin-left:calc(-1 * var(--tabsetPadding));margin-right:calc(-1 * var(--tabsetPadding))}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! Bundled license information: - -normalize.css/normalize.css: - (*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *) -*/ diff --git a/formatters/html/dist/html-elixir-UXYSZXQW.css b/formatters/html/dist/html-elixir-UXYSZXQW.css new file mode 100644 index 000000000..3a9408af6 --- /dev/null +++ b/formatters/html/dist/html-elixir-UXYSZXQW.css @@ -0,0 +1,6 @@ +: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:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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;--borderRadius: 4px;--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% );--gray450: hsl(210, 21%, 49% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray450);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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);--linksDecoration: var(--gray450);--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(--gray850);--codeBorder: var(--gray700);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--gray900);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tab: var(--white);--tabShadow: var(--black);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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{--sidebarWidth: 300px;--sidebarTransitionDuration: .3s;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:var(--sidebarWidth);height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;--sidebarButtonRightOpen: 7px;position:fixed;z-index:99;left:0;top:0;transition:all var(--sidebarTransitionDuration) ease-in-out;will-change:transform}.content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);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(calc(var(--sidebarWidth) - 100% - var(--sidebarButtonRightOpen)));top:var(--sidebarButtonTopOpen)}body.sidebar-opening-start .sidebar{left:calc(-1 * var(--sidebarWidth))}body.sidebar-opening-start .content{width:100%;left:0}body.sidebar-opening .sidebar{left:0;transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-opening .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:calc(-1 * var(--sidebarWidth));transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closed .sidebar{left:calc(-1 * var(--sidebarWidth));display:none}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 var(--sidebarTransitionDuration) 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{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);font-weight:300;line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;scrollbar-color:var(--sidebarScrollbarThumb) var(--sidebarScrollbarTrack)}.non-apple-os .sidebar{font-weight:400}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{margin:12px;border-radius:var(--borderRadius);background-color:var(--sidebarHeader);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(--sidebarAccentMain);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted)}.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(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--sidebarMuted)}.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-size:14px;color:var(--sidebarMuted)}.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(--sidebarLanguageAccentBar)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--sidebarAccentMain)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover,.sidebar .sidebar-search .search-button:focus{color:var(--sidebarLanguageAccentBar);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--sidebarAccentMain);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:var(--sidebarFontSize);color:var(--sidebarAccentMain);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-input{background-color:var(--sidebarSearch);border:none;border-radius:var(--borderRadius);color:var(--sidebarAccentMain);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input::placeholder{color:var(--sidebarAccentMain);opacity:.3}.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 :is(li,a){overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a.expand+button.icon-expand{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;margin-right:10px;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:flex;right:0;transform:translateY(calc(-100% - 4px))}.sidebar #full-list li a+button.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand+button.icon-expand:after{content:var(--icon-arrow-down-s)}.sidebar #full-list li.open>a.expand+button.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a+button.icon-expand{margin-right:12px;font-size:var(--sidebarFontSize);line-height:var(--sidebarFontSize);transform:translateY(calc(-100% - 5px))}.sidebar #full-list li.docs>a+button.icon-expand:after{content:var(--icon-add)}.sidebar #full-list li.docs.open>a+button.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(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--sidebarItem)}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:var(--sidebarLineHeight)}.sidebar #full-list li .current-section>a{color:var(--sidebarActiveItem)}.sidebar #full-list li .current-section>a+button.icon-expand{color:var(--sidebarActiveItem)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--sidebarActiveItem);border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--sidebarActiveItem)}.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:var(--sidebarFontSize);padding:0 8px;margin-right:0;color:var(--sidebarAccentMain)}.non-apple-os .sidebar #full-list ul li{font-weight:400}.sidebar #full-list ul li.current-hash{color:var(--sidebarActiveItem)}.sidebar #full-list ul li.current-hash>a{color:var(--sidebarActiveItem)}.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(--sidebarActiveItem)}.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(--sidebarAccentMain)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--sidebarInactiveItemMarker);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(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--sidebarBackground)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--sidebarScrollbarThumb);border-radius:10px;border:3px solid var(--sidebarBackground)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:var(--sidebarFontSize)}.sidebar-button:hover{color:var(--sidebarHover)}.sidebar-button{color:var(--sidebarAccentMain)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.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-color:var(--linksDecoration);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}.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 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:var(--borderRadius)}.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{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}@media screen and (max-width: 768px){.content-inner .section-heading i{margin-left:calc(-1 * (var(--icon-size)))}}.content-inner blockquote .section-heading i{display:none}.content-inner .section-heading .hover-link:is(:hover,:focus) i{opacity:1}.content-inner .section-heading .text{pointer-events:none}.content-inner .section-heading .text a{pointer-events:all}.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.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(h3,h4):is(.warning,.error,.info,.neutral,.tip) code{margin:0 .5ch}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCode)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@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}.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,.content-inner .detail-header a.detail-link:focus{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;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:var(--borderRadius);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{color:var(--main);margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner h3 :is(a,a:visited){color:var(--main)}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text: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:var(--borderRadius);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:var(--borderRadius);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:var(--borderRadius);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:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.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:var(--borderRadius);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:var(--borderRadius);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-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,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:5px;right:5px;padding:4px;background-color:var(--codeBackground);border:none;cursor:pointer;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button svg{opacity:.5;transition:all .15s}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{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{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;font-weight:300;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 .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#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}#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;cursor:default}#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}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0}.tabset-tablist{display:flex;overflow-x:auto}.tabset-tab{padding:.6rem var(--tabsetPadding);min-height:46px;font-family:var(--sansFontFamily);background-color:var(--tabBackground);color:var(--tab);border:var(--borderWidth) solid var(--tabBorder);margin-right:calc(-1 * var(--borderWidth));border-top-width:4px;border-top-color:var(--tabBorderTop);border-radius:0;border-top-left-radius:var(--borderRadius);border-top-right-radius:var(--borderRadius);box-shadow:0 -3px 4px var(--tabShadow) inset;cursor:pointer}.tabset-tab[aria-selected=true]{border-bottom-color:var(--tabBackground);border-top-color:var(--main-lightened-05);box-shadow:none}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--main-lightened-05);border-color:var(--main-lightened-05);border-top-color:var(--main);color:var(--white)}.tabset-panel{padding:0 var(--tabsetPadding);border:var(--borderWidth) solid var(--tabBorder);margin-top:calc(-1 * var(--borderWidth));border-bottom-left-radius:var(--borderRadius);border-bottom-right-radius:var(--borderRadius)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre{margin-left:calc(-1 * var(--tabsetPadding));margin-right:calc(-1 * var(--tabsetPadding))}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! Bundled license information: + +normalize.css/normalize.css: + (*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *) +*/ diff --git a/formatters/html/dist/html-erlang-7UJJ2L3T.css b/formatters/html/dist/html-erlang-7UJJ2L3T.css new file mode 100644 index 000000000..5990dff76 --- /dev/null +++ b/formatters/html/dist/html-erlang-7UJJ2L3T.css @@ -0,0 +1,6 @@ +: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:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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;--borderRadius: 4px;--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% );--gray450: hsl(210, 21%, 49% );--gray500: hsl(210, 21%, 34% );--gray600: hsl(210, 27%, 26% );--gray700: hsl(212, 35%, 17% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray450);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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);--linksDecoration: var(--gray450);--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(--gray850);--codeBorder: var(--gray700);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--gray900);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tab: var(--white);--tabShadow: var(--black);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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{--sidebarWidth: 300px;--sidebarTransitionDuration: .3s;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:var(--sidebarWidth);height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;--sidebarButtonRightOpen: 7px;position:fixed;z-index:99;left:0;top:0;transition:all var(--sidebarTransitionDuration) ease-in-out;will-change:transform}.content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);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(calc(var(--sidebarWidth) - 100% - var(--sidebarButtonRightOpen)));top:var(--sidebarButtonTopOpen)}body.sidebar-opening-start .sidebar{left:calc(-1 * var(--sidebarWidth))}body.sidebar-opening-start .content{width:100%;left:0}body.sidebar-opening .sidebar{left:0;transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-opening .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:calc(-1 * var(--sidebarWidth));transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closed .sidebar{left:calc(-1 * var(--sidebarWidth));display:none}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 var(--sidebarTransitionDuration) 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{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);font-weight:300;line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;scrollbar-color:var(--sidebarScrollbarThumb) var(--sidebarScrollbarTrack)}.non-apple-os .sidebar{font-weight:400}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{margin:12px;border-radius:var(--borderRadius);background-color:var(--sidebarHeader);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(--sidebarAccentMain);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted)}.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(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--sidebarMuted)}.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-size:14px;color:var(--sidebarMuted)}.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(--sidebarLanguageAccentBar)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--sidebarAccentMain)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover,.sidebar .sidebar-search .search-button:focus{color:var(--sidebarLanguageAccentBar);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--sidebarAccentMain);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:var(--sidebarFontSize);color:var(--sidebarAccentMain);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-input{background-color:var(--sidebarSearch);border:none;border-radius:var(--borderRadius);color:var(--sidebarAccentMain);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input::placeholder{color:var(--sidebarAccentMain);opacity:.3}.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 :is(li,a){overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a.expand+button.icon-expand{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;margin-right:10px;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:flex;right:0;transform:translateY(calc(-100% - 4px))}.sidebar #full-list li a+button.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand+button.icon-expand:after{content:var(--icon-arrow-down-s)}.sidebar #full-list li.open>a.expand+button.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a+button.icon-expand{margin-right:12px;font-size:var(--sidebarFontSize);line-height:var(--sidebarFontSize);transform:translateY(calc(-100% - 5px))}.sidebar #full-list li.docs>a+button.icon-expand:after{content:var(--icon-add)}.sidebar #full-list li.docs.open>a+button.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(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--sidebarItem)}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:var(--sidebarLineHeight)}.sidebar #full-list li .current-section>a{color:var(--sidebarActiveItem)}.sidebar #full-list li .current-section>a+button.icon-expand{color:var(--sidebarActiveItem)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--sidebarActiveItem);border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--sidebarActiveItem)}.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:var(--sidebarFontSize);padding:0 8px;margin-right:0;color:var(--sidebarAccentMain)}.non-apple-os .sidebar #full-list ul li{font-weight:400}.sidebar #full-list ul li.current-hash{color:var(--sidebarActiveItem)}.sidebar #full-list ul li.current-hash>a{color:var(--sidebarActiveItem)}.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(--sidebarActiveItem)}.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(--sidebarAccentMain)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--sidebarInactiveItemMarker);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(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--sidebarBackground)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--sidebarScrollbarThumb);border-radius:10px;border:3px solid var(--sidebarBackground)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:var(--sidebarFontSize)}.sidebar-button:hover{color:var(--sidebarHover)}.sidebar-button{color:var(--sidebarAccentMain)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.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-color:var(--linksDecoration);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}.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 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:var(--borderRadius)}.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{--icon-size: 16px;--icon-spacing: 5px;display:grid;grid-template:1fr / 1fr}.content-inner .section-heading>:is(.hover-link,.text){grid-row:1;grid-column:1}.content-inner .section-heading .hover-link{text-decoration:none}.content-inner .section-heading i{font-size:var(--icon-size);margin-top:.1em;margin-left:calc(-1 * (var(--icon-size) + var(--icon-spacing)));padding-right:var(--icon-spacing);opacity:0}@media screen and (max-width: 768px){.content-inner .section-heading i{margin-left:calc(-1 * (var(--icon-size)))}}.content-inner blockquote .section-heading i{display:none}.content-inner .section-heading .hover-link:is(:hover,:focus) i{opacity:1}.content-inner .section-heading .text{pointer-events:none}.content-inner .section-heading .text a{pointer-events:all}.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.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(h3,h4):is(.warning,.error,.info,.neutral,.tip) code{margin:0 .5ch}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCode)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@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}.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,.content-inner .detail-header a.detail-link:focus{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;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:var(--borderRadius);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{color:var(--main);margin:0 0 1em;font-weight:400}.page-cheatmd .content-inner h3 :is(a,a:visited){color:var(--main)}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding:0 0 calc(var(--vertical-space) * 2) 0;break-inside:avoid}.page-cheatmd .content-inner h3 .text{overflow:hidden}.page-cheatmd .content-inner h3 .text: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:var(--borderRadius);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:var(--borderRadius);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:var(--borderRadius);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:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.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:var(--borderRadius);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:var(--borderRadius);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-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,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:5px;right:5px;padding:4px;background-color:var(--codeBackground);border:none;cursor:pointer;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button svg{opacity:.5;transition:all .15s}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{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{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;font-weight:300;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 .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#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}#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;cursor:default}#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}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0}.tabset-tablist{display:flex;overflow-x:auto}.tabset-tab{padding:.6rem var(--tabsetPadding);min-height:46px;font-family:var(--sansFontFamily);background-color:var(--tabBackground);color:var(--tab);border:var(--borderWidth) solid var(--tabBorder);margin-right:calc(-1 * var(--borderWidth));border-top-width:4px;border-top-color:var(--tabBorderTop);border-radius:0;border-top-left-radius:var(--borderRadius);border-top-right-radius:var(--borderRadius);box-shadow:0 -3px 4px var(--tabShadow) inset;cursor:pointer}.tabset-tab[aria-selected=true]{border-bottom-color:var(--tabBackground);border-top-color:var(--main-lightened-05);box-shadow:none}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--main-lightened-05);border-color:var(--main-lightened-05);border-top-color:var(--main);color:var(--white)}.tabset-panel{padding:0 var(--tabsetPadding);border:var(--borderWidth) solid var(--tabBorder);margin-top:calc(-1 * var(--borderWidth));border-bottom-left-radius:var(--borderRadius);border-bottom-right-radius:var(--borderRadius)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre{margin-left:calc(-1 * var(--tabsetPadding));margin-right:calc(-1 * var(--tabsetPadding))}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} +/*! Bundled license information: + +normalize.css/normalize.css: + (*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *) +*/ diff --git a/formatters/html/dist/html-erlang-TA2NZFJE.css b/formatters/html/dist/html-erlang-TA2NZFJE.css deleted file mode 100644 index b96f8737d..000000000 --- a/formatters/html/dist/html-erlang-TA2NZFJE.css +++ /dev/null @@ -1,6 +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:400;src:url(./lato-latin-ext-400-normal-N27NCBWW.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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:400;src:url(./lato-latin-400-normal-W7754I4D.woff2) format("woff2"),url(./lato-all-400-normal-MNITWADU.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;--borderRadius: 4px;--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% );--gray750: hsl(214, 46%, 14% );--gray800: hsl(216, 52%, 11% );--gray800-opacity-0: hsla(216, 52%, 11%, 0%);--gray850: hsl(216, 63%, 8% );--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);--linksDecoration: var(--gray400);--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);--codeScrollThumb: var(--gray400);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray25);--admCodeBorder: var(--gray100);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--white);--tabBorder: var(--gray300);--tabBorderTop: var(--gray100);--tab: var(--gray600);--tabShadow: var(--gray25);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--white) 20%, var(--white-opacity-50) 70%, var(--white-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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);--linksDecoration: var(--gray500);--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(--gray850);--codeBorder: var(--gray700);--codeScrollThumb: var(--gray500);--codeScrollBackground: var(--codeBorder);--admCodeBackground: var(--gray750);--admCodeBorder: var(--gray600);--admInlineCode: var(--black);--admInlineCodeBackground: var(--gray25);--admInlineCodeBorder: var(--gray100);--tabBackground: var(--gray900);--tabBorder: var(--gray700);--tabBorderTop: var(--gray700);--tab: var(--white);--tabShadow: var(--black);--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);--sidebarButtonBackground: linear-gradient(180deg, var(--gray900) 20%, var(--gray900-opacity-50) 70%, var(--gray900-opacity-0) 100%);--sidebarAccentMain: var(--gray50);--sidebarBackground: var(--gray800);--sidebarHeader: var(--gray700);--sidebarMuted: var(--gray300);--sidebarHover: var(--white);--sidebarScrollbarThumb: var(--coldGray);--sidebarScrollbarTrack: var(--sidebarBackground);--sidebarSearch: var(--gray700);--sidebarSubheadings: var(--gray400);--sidebarItem: var(--gray200);--sidebarInactiveItemMarker: var(--gray600);--sidebarLanguageAccentBar: var(--main);--sidebarActiveItem: var(--main-lightened-10)}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{--sidebarWidth: 300px;--sidebarTransitionDuration: .3s;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:var(--sidebarWidth);height:100%;position:fixed;top:0;left:0;z-index:4}.sidebar-button{--sidebarButtonTopOpen: 6px;--sidebarButtonRightOpen: 7px;position:fixed;z-index:99;left:0;top:0;transition:all var(--sidebarTransitionDuration) ease-in-out;will-change:transform}.content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);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(calc(var(--sidebarWidth) - 100% - var(--sidebarButtonRightOpen)));top:var(--sidebarButtonTopOpen)}body.sidebar-opening-start .sidebar{left:calc(-1 * var(--sidebarWidth))}body.sidebar-opening-start .content{width:100%;left:0}body.sidebar-opening .sidebar{left:0;transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-opening .content{width:calc(100% - var(--sidebarWidth));left:var(--sidebarWidth);transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .sidebar-button{transform:translate(0)}body.sidebar-closing .sidebar{left:calc(-1 * var(--sidebarWidth));transition:left var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closing .content{width:100%;left:0;transition:all var(--sidebarTransitionDuration) ease-in-out}body.sidebar-closed .sidebar{left:calc(-1 * var(--sidebarWidth));display:none}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 var(--sidebarTransitionDuration) 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{--sidebarFontSize: 16px;--sidebarLineHeight: 20px;font-family:var(--sansFontFamily);font-size:var(--sidebarFontSize);font-weight:300;line-height:var(--sidebarLineHeight);background-color:var(--sidebarBackground);color:var(--sidebarAccentMain);overflow:hidden;scrollbar-color:var(--sidebarScrollbarThumb) var(--sidebarScrollbarTrack)}.non-apple-os .sidebar{font-weight:400}.sidebar ul{list-style:none}.sidebar ul li{margin:0;padding:0 10px}.sidebar a{color:var(--sidebarAccentMain);text-decoration:none;transition:color .3s ease-in-out}.sidebar a:hover{color:var(--sidebarHover)}.sidebar .sidebar-header{margin:12px;border-radius:var(--borderRadius);background-color:var(--sidebarHeader);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(--sidebarAccentMain);margin:0;padding:0;max-width:230px;word-wrap:break-word}.sidebar .sidebar-projectVersion{display:block;position:relative;margin:0;padding:0;font-size:var(--sidebarFontSize);line-height:var(--sidebarLineHeight);color:var(--sidebarMuted)}.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(--sidebarMuted);z-index:2}.sidebar .sidebar-projectVersionsDropdown option{color:initial}.sidebar .sidebar-projectVersion form:after{position:absolute;left:0;top:2px;content:"\25bc";z-index:1;font-size:8px;color:var(--sidebarMuted)}.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-size:14px;color:var(--sidebarMuted)}.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(--sidebarLanguageAccentBar)}.sidebar .sidebar-listNav li:is(:hover,.selected) a{color:var(--sidebarAccentMain)}.sidebar .sidebar-search{margin-top:12px}.sidebar .sidebar-search.selected .search-button,.sidebar .sidebar-search .search-button:hover,.sidebar .sidebar-search .search-button:focus{color:var(--sidebarLanguageAccentBar);opacity:1}.sidebar .sidebar-search .search-label{position:relative;width:100%}.sidebar .sidebar-search .search-button{font-size:14px;color:var(--sidebarAccentMain);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:var(--sidebarFontSize);color:var(--sidebarAccentMain);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-input{background-color:var(--sidebarSearch);border:none;border-radius:var(--borderRadius);color:var(--sidebarAccentMain);margin-left:12px;padding:8px 6px 8px 38px;width:276px}.sidebar .sidebar-search .search-input::placeholder{color:var(--sidebarAccentMain);opacity:.3}.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 :is(li,a){overflow:hidden;text-overflow:ellipsis}.sidebar #full-list li{padding:0;margin-right:30px;line-height:27px;white-space:nowrap}.sidebar #full-list li.docs{margin-right:0}.sidebar #full-list li.open>ul{display:block;margin-left:10px}.sidebar #full-list li a.expand+button.icon-expand{appearance:none;background-color:transparent;border:0;padding:0;cursor:pointer;color:inherit;margin-right:10px;font-size:calc(1.2 * var(--sidebarFontSize));line-height:var(--sidebarLineHeight);position:absolute;display:flex;right:0;transform:translateY(calc(-100% - 4px))}.sidebar #full-list li a+button.icon-expand:after{font-family:remixicon;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar #full-list li a.expand+button.icon-expand:after{content:var(--icon-arrow-down-s)}.sidebar #full-list li.open>a.expand+button.icon-expand:after{content:var(--icon-arrow-up-s)}.sidebar #full-list li.docs>a+button.icon-expand{margin-right:12px;font-size:var(--sidebarFontSize);line-height:var(--sidebarFontSize);transform:translateY(calc(-100% - 5px))}.sidebar #full-list li.docs>a+button.icon-expand:after{content:var(--icon-add)}.sidebar #full-list li.docs.open>a+button.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(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li.group{text-transform:uppercase;font-weight:700;font-size:.8em;margin:1.5em 0 0;line-height:1.8em;color:var(--sidebarSubheadings);padding-left:15px}.sidebar #full-list li a{padding:3px 0 3px 15px;color:var(--sidebarItem)}.sidebar #full-list>li>a{display:block;width:100%;height:27px;line-height:var(--sidebarLineHeight)}.sidebar #full-list li .current-section>a{color:var(--sidebarActiveItem)}.sidebar #full-list li .current-section>a+button.icon-expand{color:var(--sidebarActiveItem)}.sidebar #full-list>li>a:hover{border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a{color:var(--sidebarActiveItem);border-left:3px solid var(--sidebarLanguageAccentBar);padding-left:12px}.sidebar #full-list>li.current-page>a:after,.sidebar #full-list>li.current-page{color:var(--sidebarActiveItem)}.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:var(--sidebarFontSize);padding:0 8px;margin-right:0;color:var(--sidebarAccentMain)}.non-apple-os .sidebar #full-list ul li{font-weight:400}.sidebar #full-list ul li.current-hash{color:var(--sidebarActiveItem)}.sidebar #full-list ul li.current-hash>a{color:var(--sidebarActiveItem)}.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(--sidebarActiveItem)}.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(--sidebarAccentMain)}.sidebar #full-list ul li ul li a{border-left:1px solid var(--sidebarInactiveItemMarker);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(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);border-color:var(--sidebarLanguageAccentBar)}.sidebar #full-list ul li ul li.current-hash>a{color:var(--sidebarActiveItem);margin-left:0}.sidebar ::-webkit-scrollbar{width:14px}::-webkit-scrollbar-track{background-color:var(--sidebarBackground)}.sidebar ::-webkit-scrollbar-thumb{background-color:var(--sidebarScrollbarThumb);border-radius:10px;border:3px solid var(--sidebarBackground)}.sidebar-button{cursor:pointer;background-color:transparent;border:none;padding:15px 11px;font-size:var(--sidebarFontSize)}.sidebar-button:hover{color:var(--sidebarHover)}.sidebar-button{color:var(--sidebarAccentMain)}.sidebar-closed .sidebar-button{color:var(--contrast)}@media screen and (max-height: 500px){.sidebar{overflow-y:auto}.sidebar #full-list{overflow:visible}}*:focus,button:focus,[type=button]:focus,[type=reset]:focus,[type=submit]:focus{outline:2px solid var(--main);outline-offset:-2px}*:focus:not(:focus-visible),button:focus:not(:focus-visible),[type=button]:focus:not(:focus-visible),[type=reset]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible){outline:0}input[type=text],input[type=number],input[type=date],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=time],input[type=url],input[type=week],textarea{outline:0}.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-color:var(--linksDecoration);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}.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 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:var(--borderRadius)}.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 a{text-decoration:none}.content-inner .section-heading i{font-size:16px;margin-top:.1em;margin-left:-21px;opacity:0}.content-inner .section-heading a:is(:hover,:focus) i{opacity:1}blockquote .section-heading i{display:none}@media screen and (max-width: 768px){.content-inner .section-heading i{margin-left:-16px;margin-right:-5px}}.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.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(h3,h4):is(.warning,.error,.info,.neutral,.tip) code{margin:0 .5ch}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) code{background-color:var(--admInlineCodeBackground);border:1px solid var(--admInlineCodeBorder);color:var(--admInlineCode)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) pre code{background-color:var(--admCodeBackground);border:1px solid var(--admCodeBorder)}.content-inner blockquote:is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:var(--black)}.content-inner blockquote :is(h3,h4):is(.warning,.error,.info,.neutral,.tip) :is(a,a:visited){color:inherit;text-decoration-color:currentColor}@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}.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,.content-inner .detail-header a.detail-link:focus{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;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:var(--borderRadius);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{color:var(--main);margin:0 0 1em;font-weight:400;overflow:hidden}.page-cheatmd .content-inner h3 :is(a,a:visited){color:var(--main);text-decoration:none}.page-cheatmd .content-inner h3.section-heading i{display:none}.page-cheatmd .content-inner section.h3{min-width:300px;margin:0;padding: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:var(--borderRadius);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:var(--borderRadius);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:var(--borderRadius);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:flex;flex-direction:column}}@media screen and (max-width: 1200px){.page-cheatmd .content-inner section:is(.col-2,.col-3){display:flex;flex-direction:column}.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:var(--borderRadius);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:var(--borderRadius);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-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,pre .copy-button:focus{opacity:1}.copy-button{display:flex;opacity:0;position:absolute;top:5px;right:5px;padding:4px;background-color:var(--codeBackground);border:none;cursor:pointer;transition:all .15s;font-family:var(--serifFontFamily);font-size:14px;line-height:24px;color:currentColor}.copy-button svg{opacity:.5;transition:all .15s}pre .copy-button:hover svg,pre .copy-button:focus-visible svg{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{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;font-weight:300;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 .switch-button__checkbox:focus{outline:0}#settings-modal-content .switch-button__checkbox:focus+.switch-button__bg{outline:2px solid var(--main);outline-offset:2px}#settings-modal-content .switch-button__checkbox:focus:not(:focus-visible)+.switch-button__bg{outline:0}#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}#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;cursor:default}#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}.tabset{--borderWidth: 1px;--tabsetPadding: var(--baseLineHeight);margin:var(--baseLineHeight) 0}.tabset-tablist{display:flex;overflow-x:auto}.tabset-tab{padding:.6rem var(--tabsetPadding);min-height:46px;font-family:var(--sansFontFamily);background-color:var(--tabBackground);color:var(--tab);border:var(--borderWidth) solid var(--tabBorder);margin-right:calc(-1 * var(--borderWidth));border-top-width:4px;border-top-color:var(--tabBorderTop);border-radius:0;border-top-left-radius:var(--borderRadius);border-top-right-radius:var(--borderRadius);box-shadow:0 -3px 4px var(--tabShadow) inset;cursor:pointer}.tabset-tab[aria-selected=true]{border-bottom-color:var(--tabBackground);border-top-color:var(--main-lightened-05);box-shadow:none}.tabset-tab[aria-selected=true]:focus-visible{background-color:var(--main-lightened-05);border-color:var(--main-lightened-05);border-top-color:var(--main);color:var(--white)}.tabset-panel{padding:0 var(--tabsetPadding);border:var(--borderWidth) solid var(--tabBorder);margin-top:calc(-1 * var(--borderWidth));border-bottom-left-radius:var(--borderRadius);border-bottom-right-radius:var(--borderRadius)}@media screen and (max-width: 768px){.tabset{--tabsetPadding: calc(var(--baseLineHeight) / 2)}.tabset-panel{padding-top:calc(var(--tabsetPadding) / 2);padding-bottom:calc(var(--tabsetPadding) / 2)}.tabset-panel pre{margin-left:calc(-1 * var(--tabsetPadding));margin-right:calc(-1 * var(--tabsetPadding))}.tabset-panel>pre code{border-left-width:0;border-right-width:0}}body:not(.dark) .content-inner img[src*="#gh-dark-mode-only"],body.dark .content-inner img[src*="#gh-light-mode-only"]{display:none} -/*! Bundled license information: - -normalize.css/normalize.css: - (*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css *) -*/ From 194715cf000ff0662165cc5d82641f634a231762 Mon Sep 17 00:00:00 2001 From: David Oliver Date: Mon, 11 Sep 2023 18:45:38 +0200 Subject: [PATCH 005/112] =?UTF-8?q?Remove=20links=20from=20module=20page?= =?UTF-8?q?=20=E2=80=9Chover=20link=E2=80=9D=20headings=20in=20EPUB=20(#17?= =?UTF-8?q?68)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formatter/epub/templates/module_template.eex | 14 ++------------ test/ex_doc/formatter/epub/templates_test.exs | 6 ++++-- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/ex_doc/formatter/epub/templates/module_template.eex b/lib/ex_doc/formatter/epub/templates/module_template.eex index 2b7f1e6da..04e2c988a 100644 --- a/lib/ex_doc/formatter/epub/templates/module_template.eex +++ b/lib/ex_doc/formatter/epub/templates/module_template.eex @@ -17,24 +17,14 @@ <%= if summary != [] do %>
-

- - - Summary - -

+

Summary

<%= for {name, nodes} <- summary, do: H.summary_template(name, nodes) %>
<% end %> <%= for {name, nodes} <- summary, key = HTML.text_to_id(name) do %>
-

- - - <%= name %> - -

+

<%= name %>

<%= for node <- nodes, do: H.detail_template(node, module) %>
diff --git a/test/ex_doc/formatter/epub/templates_test.exs b/test/ex_doc/formatter/epub/templates_test.exs index e7359d886..7754c004e 100644 --- a/test/ex_doc/formatter/epub/templates_test.exs +++ b/test/ex_doc/formatter/epub/templates_test.exs @@ -59,6 +59,8 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do assert content =~ ~r{CompiledWithDocs [^<]*} assert content =~ ~r{

\s*CompiledWithDocs\s*} + assert content =~ ~s{

Summary

} + assert content =~ ~r{

.*Example.*

}ms @@ -85,8 +87,8 @@ defmodule ExDoc.Formatter.EPUB.TemplatesTest do ] ) - assert content =~ ~r{id="example-functions".*href="#example-functions".*Example functions}ms - assert content =~ ~r{id="legacy".*href="#legacy".*Legacy}ms + assert content =~ ~r{id="example-functions".*Example functions}ms + assert content =~ ~r{id="legacy".*Legacy}ms assert content =~ ~r{id="example-functions".*id="example/2"}ms refute content =~ ~r{id="legacy".*id="example/2"}ms refute content =~ ~r{id="functions".*id="example/2"}ms From d334dee9c936a392587f2ed6719867746e337fb0 Mon Sep 17 00:00:00 2001 From: Angelika Tyborska Date: Wed, 13 Sep 2023 10:55:53 +0200 Subject: [PATCH 006/112] Improve screen reader accessibility (#1760) --- assets/css/copy-button.css | 4 - assets/css/sidebar.css | 99 +++++++------ assets/js/copy-button.js | 9 +- .../templates/modal-layout.handlebars | 2 +- .../templates/sidebar-items.handlebars | 16 +-- .../templates/versions-dropdown.handlebars | 18 ++- assets/js/sidebar/sidebar-drawer.js | 13 +- assets/js/sidebar/sidebar-list.js | 136 ++++++++++++++---- .../html/templates/footer_template.eex | 2 +- .../html/templates/sidebar_template.eex | 51 +++++-- test/ex_doc/formatter/html/templates_test.exs | 13 +- 11 files changed, 244 insertions(+), 119 deletions(-) diff --git a/assets/css/copy-button.css b/assets/css/copy-button.css index b90431f88..3cda31f29 100644 --- a/assets/css/copy-button.css +++ b/assets/css/copy-button.css @@ -37,13 +37,9 @@ pre .copy-button:hover svg, pre .copy-button:focus-visible svg { } .copy-button.clicked { - display: block; opacity: 1; color: var(--success); } -.copy-button.clicked::after { - content: "Copied! \2713"; -} .copy-button.clicked svg { display: none; diff --git a/assets/css/sidebar.css b/assets/css/sidebar.css index 9a096eba6..f38ab9b3b 100644 --- a/assets/css/sidebar.css +++ b/assets/css/sidebar.css @@ -94,11 +94,10 @@ color: initial; } -.sidebar .sidebar-projectVersion form::after { +.sidebar .sidebar-projectVersionsDropdownCaret { position: absolute; left: 0; top: 2px; - content: "\25bc"; z-index: 1; font-size: 8px; color: var(--sidebarMuted); @@ -114,7 +113,7 @@ margin: 0; } -.sidebar .sidebar-listNav :is(li, li a) { +.sidebar .sidebar-listNav :is(li, li button) { text-transform: uppercase; font-size: 14px; color: var(--sidebarMuted); @@ -125,18 +124,26 @@ padding: 0; } -.sidebar .sidebar-listNav li a { +.sidebar .sidebar-listNav li button { + background: none; + border: 0; + border-radius: 0; + -webkit-appearance: none; + text-align: inherit; + color: inherit; + font-weight: inherit; + cursor: pointer; display: inline-block; line-height: 27px; border-bottom: 3px solid transparent; padding: 0 10px; } -.sidebar .sidebar-listNav li:is(:hover, .selected) a { +.sidebar .sidebar-listNav li:is(:hover, .selected) button { border-color: var(--sidebarLanguageAccentBar); } -.sidebar .sidebar-listNav li:is(:hover, .selected) a { +.sidebar .sidebar-listNav li:is(:hover, .selected) button { color: var(--sidebarAccentMain); } @@ -211,7 +218,7 @@ font-weight: bold; } -.sidebar #full-list { +.sidebar .full-list { margin: 0; padding: 20px 0; overflow-y: auto; @@ -221,28 +228,28 @@ flex: 1 1 .01%; } -.sidebar #full-list :is(li, a) { +.sidebar .full-list :is(li, a) { overflow: hidden; text-overflow: ellipsis; } -.sidebar #full-list li { +.sidebar .full-list li { padding: 0; margin-right: 30px; line-height: 27px; white-space: nowrap; } -.sidebar #full-list li.docs { +.sidebar .full-list li.docs { margin-right: 0; } -.sidebar #full-list li.open > ul { +.sidebar .full-list li.open > ul { display: block; margin-left: 10px; } -.sidebar #full-list li a.expand + button.icon-expand { +.sidebar .full-list li a.expand + button.icon-expand { appearance: none; background-color: transparent; border: 0; @@ -258,37 +265,37 @@ transform: translateY(calc(-100% - 4px)); } -.sidebar #full-list li a + button.icon-expand:after { +.sidebar .full-list li a + button.icon-expand:after { font-family: remixicon; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } -.sidebar #full-list li a.expand + button.icon-expand:after { +.sidebar .full-list li a.expand + button.icon-expand:after { content: var(--icon-arrow-down-s); } -.sidebar #full-list li.open > a.expand + button.icon-expand:after { +.sidebar .full-list li.open > a.expand + button.icon-expand:after { content: var(--icon-arrow-up-s); } -.sidebar #full-list li.docs > a + button.icon-expand { +.sidebar .full-list li.docs > a + button.icon-expand { margin-right: 12px; font-size: var(--sidebarFontSize); line-height: var(--sidebarFontSize); transform: translateY(calc(-100% - 5px)); } -.sidebar #full-list li.docs > a + button.icon-expand:after { +.sidebar .full-list li.docs > a + button.icon-expand:after { content: var(--icon-add); } -.sidebar #full-list li.docs.open > a + button.icon-expand:after { +.sidebar .full-list li.docs.open > a + button.icon-expand:after { content: var(--icon-subtract); } -.sidebar #full-list li.nesting-context { +.sidebar .full-list li.nesting-context { font-weight: bold; font-size: .9em; line-height: 1.8em; @@ -296,7 +303,7 @@ padding-left: 15px; } -.sidebar #full-list li.group { +.sidebar .full-list li.group { text-transform: uppercase; font-weight: bold; font-size: .8em; @@ -306,58 +313,58 @@ padding-left: 15px; } -.sidebar #full-list li a { +.sidebar .full-list li a { padding: 3px 0 3px 15px; color: var(--sidebarItem); } -.sidebar #full-list > li > a { +.sidebar .full-list > li > a { display: block; width: 100%; height: 27px; line-height: var(--sidebarLineHeight); } -.sidebar #full-list li .current-section > a { +.sidebar .full-list li .current-section > a { color: var(--sidebarActiveItem); } -.sidebar #full-list li .current-section > a + button.icon-expand { +.sidebar .full-list li .current-section > a + button.icon-expand { color: var(--sidebarActiveItem); } -.sidebar #full-list > li > a:hover { +.sidebar .full-list > li > a:hover { border-left: 3px solid var(--sidebarLanguageAccentBar); padding-left: 12px; } -.sidebar #full-list > li.current-page > a { +.sidebar .full-list > li.current-page > a { color: var(--sidebarActiveItem); border-left: 3px solid var(--sidebarLanguageAccentBar); padding-left: 12px; } -.sidebar #full-list > li.current-page > a:after, -.sidebar #full-list > li.current-page { +.sidebar .full-list > li.current-page > a:after, +.sidebar .full-list > li.current-page { color: var(--sidebarActiveItem); } -.sidebar #full-list > li:last-child { +.sidebar .full-list > li:last-child { margin-bottom: 30px; } -.sidebar #full-list > li.group:first-child { +.sidebar .full-list > li.group:first-child { margin-top: 0; } -.sidebar #full-list ul { +.sidebar .full-list ul { display: none; margin: 10px 15px; margin-right: 0; padding: 0; } -.sidebar #full-list ul li { +.sidebar .full-list ul li { font-weight: 300; line-height: var(--sidebarFontSize); padding: 0 8px; @@ -365,65 +372,65 @@ color: var(--sidebarAccentMain); } -.non-apple-os .sidebar #full-list ul li { +.non-apple-os .sidebar .full-list ul li { font-weight: 400; /* Non-Apple OSes render small light type too thinly */ } -.sidebar #full-list ul li.current-hash { +.sidebar .full-list ul li.current-hash { color: var(--sidebarActiveItem); } -.sidebar #full-list ul li.current-hash > a { +.sidebar .full-list ul li.current-hash > a { color: var(--sidebarActiveItem); } -.sidebar #full-list ul li.current-hash > a:before, -.sidebar #full-list > li > ul > li > a:hover:before { +.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(--sidebarActiveItem); } -.sidebar #full-list ul li a { +.sidebar .full-list ul li a { padding-left: 15px; display: block; width: 100%; height: 24px; } -.sidebar #full-list ul li ul { +.sidebar .full-list ul li ul { display: none; margin: 9px 20px; margin-right: 0; } -.sidebar #full-list ul li ul li { +.sidebar .full-list ul li ul li { margin-right: 0; height: 20px; color: var(--sidebarAccentMain); } -.sidebar #full-list ul li ul li a { +.sidebar .full-list ul li ul li a { border-left: 1px solid var(--sidebarInactiveItemMarker); padding: 0 10px; height: 20px; } -.sidebar #full-list ul li ul li.current-hash > a:before { +.sidebar .full-list ul li ul li.current-hash > a:before { content: none; } -.sidebar #full-list ul li ul li > a:hover { +.sidebar .full-list ul li ul li > a:hover { border-color: var(--sidebarLanguageAccentBar); } -.sidebar #full-list ul li ul li.current-hash > a { +.sidebar .full-list ul li ul li.current-hash > a { color: var(--sidebarActiveItem); border-color: var(--sidebarLanguageAccentBar); } -.sidebar #full-list ul li ul li.current-hash > a { +.sidebar .full-list ul li ul li.current-hash > a { color: var(--sidebarActiveItem); margin-left: 0; } @@ -466,7 +473,7 @@ overflow-y: auto; } - .sidebar #full-list { + .sidebar .full-list { overflow: visible; } } diff --git a/assets/js/copy-button.js b/assets/js/copy-button.js index c5cfcb7fc..b2ec9ebeb 100644 --- a/assets/js/copy-button.js +++ b/assets/js/copy-button.js @@ -1,6 +1,6 @@ import { qsAll } from './helpers' -const BUTTON = '' +const BUTTON = '' /** * Initializes copy buttons. @@ -22,6 +22,7 @@ function addCopyButtons () { Array.from(qsAll('.copy-button')).forEach(button => { let timeout button.addEventListener('click', () => { + const ariaLiveContent = button.querySelector('[aria-live]') timeout && clearTimeout(timeout) const text = @@ -32,7 +33,11 @@ function addCopyButtons () { navigator.clipboard.writeText(text) button.classList.add('clicked') - timeout = setTimeout(() => button.classList.remove('clicked'), 3000) + ariaLiveContent.innerHTML = 'Copied! ✓' + timeout = setTimeout(() => { + button.classList.remove('clicked') + ariaLiveContent.innerHTML = '' + }, 3000) }) }) } diff --git a/assets/js/handlebars/templates/modal-layout.handlebars b/assets/js/handlebars/templates/modal-layout.handlebars index 966ab405f..4ecb2d40f 100644 --- a/assets/js/handlebars/templates/modal-layout.handlebars +++ b/assets/js/handlebars/templates/modal-layout.handlebars @@ -2,7 +2,7 @@
- + <%# Extra content specified by the user (e.g. custom Javascript) %> <%= before_closing_body_tag(config, :html) %> diff --git a/lib/ex_doc/formatter/html/templates/sidebar_template.eex b/lib/ex_doc/formatter/html/templates/sidebar_template.eex index 41872181b..ac59356b3 100644 --- a/lib/ex_doc/formatter/html/templates/sidebar_template.eex +++ b/lib/ex_doc/formatter/html/templates/sidebar_template.eex @@ -1,21 +1,21 @@
- -
- diff --git a/assets/js/search-page.js b/assets/js/search-page.js index 749e36530..548757d34 100644 --- a/assets/js/search-page.js +++ b/assets/js/search-page.js @@ -131,6 +131,7 @@ function createIndex () { this.ref('ref') this.field('title', { boost: 3 }) this.field('doc') + this.field('type') this.metadataWhitelist = ['position'] this.pipeline.remove(lunr.stopWordFilter) this.use(hyphenSearch) From a1c65d41baf43f4d25694ae83ee5da6a397c1b28 Mon Sep 17 00:00:00 2001 From: josevalim Date: Thu, 14 Sep 2023 10:46:21 +0000 Subject: [PATCH 010/112] Update assets --- ...s.templates-FEK47DEC.js => handlebars.templates-EPF2X7PV.js} | 2 +- formatters/html/dist/{html-HFILQZA3.js => html-G422KG7F.js} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename formatters/html/dist/{handlebars.templates-FEK47DEC.js => handlebars.templates-EPF2X7PV.js} (99%) rename formatters/html/dist/{html-HFILQZA3.js => html-G422KG7F.js} (75%) diff --git a/formatters/html/dist/handlebars.templates-FEK47DEC.js b/formatters/html/dist/handlebars.templates-EPF2X7PV.js similarity index 99% rename from formatters/html/dist/handlebars.templates-FEK47DEC.js rename to formatters/html/dist/handlebars.templates-EPF2X7PV.js index 0d9374a03..3e598943f 100644 --- a/formatters/html/dist/handlebars.templates-FEK47DEC.js +++ b/formatters/html/dist/handlebars.templates-EPF2X7PV.js @@ -52,7 +52,7 @@
  • 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 : to search on a particular field (such as field:word). The available fields are title, doc and type
  • 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
  • diff --git a/formatters/html/dist/html-HFILQZA3.js b/formatters/html/dist/html-G422KG7F.js similarity index 75% rename from formatters/html/dist/html-HFILQZA3.js rename to formatters/html/dist/html-G422KG7F.js index 334324407..7838e5728 100644 --- a/formatters/html/dist/html-HFILQZA3.js +++ b/formatters/html/dist/html-G422KG7F.js @@ -1,5 +1,5 @@ (()=>{var Mn=Object.create;var st=Object.defineProperty;var Bn=Object.getOwnPropertyDescriptor;var qn=Object.getOwnPropertyNames;var zn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Vn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of qn(t))!$n.call(e,i)&&i!==n&&st(e,i,{get:()=>t[i],enumerable:!(r=Bn(t,i))||r.enumerable});return e};var at=(e,t,n)=>(n=e!=null?Mn(zn(e)):{},Vn(t||!e||!e.__esModule?st(n,"default",{value:e,enumerable:!0}):n,e));var xt=ot((Bs,St)=>{var bt="Expected a function",yt=NaN,er="[object Symbol]",tr=/^\s+|\s+$/g,nr=/^[-+]0x[0-9a-f]+$/i,rr=/^0b[01]+$/i,ir=/^0o[0-7]+$/i,sr=parseInt,or=typeof global=="object"&&global&&global.Object===Object&&global,ar=typeof self=="object"&&self&&self.Object===Object&&self,cr=or||ar||Function("return this")(),lr=Object.prototype,ur=lr.toString,dr=Math.max,fr=Math.min,Ae=function(){return cr.Date.now()};function hr(e,t,n){var r,i,s,o,a,l,u=0,f=!1,y=!1,g=!0;if(typeof e!="function")throw new TypeError(bt);t=vt(t)||0,ge(n)&&(f=!!n.leading,y="maxWait"in n,s=y?dr(vt(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g);function L(S){var C=r,D=i;return r=i=void 0,u=S,o=e.apply(D,C),o}function b(S){return u=S,a=setTimeout(p,t),f?L(S):o}function T(S){var C=S-l,D=S-u,V=t-C;return y?fr(V,s-D):V}function m(S){var C=S-l,D=S-u;return l===void 0||C>=t||C<0||y&&D>=s}function p(){var S=Ae();if(m(S))return _(S);a=setTimeout(p,T(S))}function _(S){return a=void 0,g&&r?L(S):(r=i=void 0,o)}function w(){a!==void 0&&clearTimeout(a),u=0,r=l=i=a=void 0}function N(){return a===void 0?o:_(Ae())}function H(){var S=Ae(),C=m(S);if(r=arguments,i=this,l=S,C){if(a===void 0)return b(l);if(y)return a=setTimeout(p,t),L(l)}return a===void 0&&(a=setTimeout(p,t)),o}return H.cancel=w,H.flush=N,H}function pr(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(bt);return ge(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),hr(e,t,{leading:r,maxWait:t,trailing:i})}function ge(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function mr(e){return!!e&&typeof e=="object"}function gr(e){return typeof e=="symbol"||mr(e)&&ur.call(e)==er}function vt(e){if(typeof e=="number")return e;if(gr(e))return yt;if(ge(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ge(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(tr,"");var n=rr.test(e);return n||ir.test(e)?sr(e.slice(2),n?2:8):nr.test(e)?yt:+e}St.exports=pr});var Ut=ot((Vt,jt)=>{(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),r=Object.keys(t),i=0;i0){var f=e.utils.clone(n)||{};f.position=[a,u],f.index=s.length,s.push(new e.Token(r.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(r){var i=e.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),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 r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,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,r=0;r1&&(ot&&(r=s),o!=t);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==t||o>t)return s*2;if(ol?f+=2:a==l&&(n+=r[u+1]*i[f+1],u+=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,r=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),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.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 u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,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),i.push({node:g,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return r},e.TokenSet.fromString=function(t){for(var n=new e.TokenSet,r=n,i=0,s=t.length;i=t;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.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 r=new e.QueryParser(t,n);r.parse()})},e.Index.prototype.query=function(t){for(var n=new e.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=t},e.Builder.prototype.k1=function(t){this._k1=t},e.Builder.prototype.add=function(t,n){var r=t[this._ref],i=Object.keys(this._fields);this._documents[r]=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 r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new e.QueryParseError(r,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 r="unrecognised presence operator'"+n.str+"'";throw new e.QueryParseError(r,n.start,n.end)}var i=t.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new e.QueryParseError(r,n.start,n.end)}switch(i.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new e.QueryParseError(r,i.start,i.end)}}},e.QueryParser.parseField=function(t){var n=t.consumeLexeme();if(n!=null){if(t.query.allFields.indexOf(n.str)==-1){var r=t.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.fields=[n.str];var s=t.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new e.QueryParseError(i,n.start,n.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new e.QueryParseError(i,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 r=t.peekLexeme();if(r==null){t.nextClause();return}switch(r.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 i="Unexpected lexeme type '"+r.type+"'";throw new e.QueryParseError(i,r.start,r.end)}}},e.QueryParser.parseEditDistance=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.editDistance=r;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 i="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(i,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.boost=r;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 i="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(i,s.start,s.end)}}},function(t,n){typeof define=="function"&&define.amd?define(n):typeof Vt=="object"?jt.exports=n():t.lunr=n()}(this,function(){return e})})()});Handlebars.registerHelper("groupChanged",function(e,t,n){let r=t||"";if(e.group!==r)return delete e.nestedContext,e.group=r,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),k=document.querySelectorAll.bind(document);function ct(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function he(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function z(){return document.body.dataset.type}function lt(e,t){if(e){for(let n of e){let r=n.nodeGroups&&n.nodeGroups.find(i=>i.nodes.some(s=>s.anchor===t));if(r)return r.key}return null}}function pe(){return window.location.hash.replace(/^#/,"")}function ut(e){return new URLSearchParams(window.location.search).get(e)}function dt(e){return fetch(e).then(t=>t.ok).catch(()=>!1)}function ft(e){document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e)}function Z(e){return!e||e.trim()===""}function ht(e,t){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,e(...i)},t)}}function me(){return document.head.querySelector("meta[name=project][content]").content}var pt="ex_doc:settings",jn={tooltips:!0,theme:null,livebookUrl:null},Ce=class{constructor(){this._subscribers=[],this._settings=jn,this._loadSettings()}get(){return this._settings}update(t){let n=this._settings;this._settings={...this._settings,...t},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(t){this._subscribers.push(t),t(this._settings)}_loadSettings(){try{let t=localStorage.getItem(pt);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(pt,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 Ce;var Un=".content",mt=".content-inner",Wn=".livebook-badge";function gt(){Gn(),Yn(),Jn(),Kn()}function Gn(){c(Un).querySelectorAll("a").forEach(e=>{e.querySelector("code, img")&&e.classList.add("no-underline")})}function Kn(){["warning","info","error","neutral","tip"].forEach(t=>{k(`blockquote h3.${t}, blockquote h4.${t}`).forEach(n=>{n.closest("blockquote").classList.add(t)})})}function Yn(){c(mt).setAttribute("tabindex",-1),c(mt).focus()}function Jn(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),n=new URL(t,window.location.href).toString();O.getAndSubscribe(r=>{let i=r.livebookUrl?Zn(r.livebookUrl,n):Xn(n);for(let s of k(Wn))s.href=i})}function Xn(e){return`https://livebook.dev/run?url=${encodeURIComponent(e)}`}function Zn(e,t){return`${e}/import?url=${encodeURIComponent(t)}`}var Et=at(xt());var yr=768,Lt=300,se=".sidebar-toggle",vr=".content",F={CLOSED:"closed",OPEN:"open",NO_PREF:"no_pref"},Q={opened:"sidebar-opened",openingStart:"sidebar-opening-start",opening:"sidebar-opening",closed:"sidebar-closed",closingStart:"sidebar-closing-start",closing:"sidebar-closing"},br=Object.values(Q),A={togglingTimeout:null,lastWindowWidth:window.innerWidth,sidebarPreference:F.NO_PREF};function Tt(){wt(),Sr()}function wt(){sessionStorage.getItem("sidebar_state")==="closed"||kt()?($(Q.closed),c(se).setAttribute("aria-expanded","false")):($(Q.opened),c(se).setAttribute("aria-expanded","true"))}function kt(){return window.matchMedia(`screen and (max-width: ${yr}px)`).matches}function $(...e){document.body.classList.remove(...br),document.body.classList.add(...e)}function Sr(){c(se).addEventListener("click",e=>{Pe(),Lr()}),c(vr).addEventListener("click",e=>{Er()}),window.addEventListener("resize",(0,Et.default)(e=>{xr()},100))}function Pe(){return Re()?_t():Ne()}function Re(){return document.body.classList.contains(Q.opened)||document.body.classList.contains(Q.opening)}function Ne(){Ot(),sessionStorage.setItem("sidebar_state","opened"),c(se).setAttribute("aria-expanded","true"),requestAnimationFrame(()=>{$(Q.openingStart),requestAnimationFrame(()=>($(Q.opening),new Promise((e,t)=>{A.togglingTimeout=setTimeout(()=>{$(Q.opened),e()},Lt)})))})}function _t(){Ot(),sessionStorage.setItem("sidebar_state","closed"),c(se).setAttribute("aria-expanded","false"),requestAnimationFrame(()=>{$(Q.closingStart),requestAnimationFrame(()=>($(Q.closing),new Promise((e,t)=>{A.togglingTimeout=setTimeout(()=>{$(Q.closed),e()},Lt)})))})}function Ot(){A.togglingTimeout&&(clearTimeout(A.togglingTimeout),A.togglingTimeout=null)}function xr(){A.lastWindowWidth!==window.innerWidth&&(A.lastWindowWidth=window.innerWidth,(A.sidebarPreference===F.OPEN||A.sidebarPreference===F.NO_PREF)&&wt())}function Er(){kt()&&Re()&&_t()}function Lr(){switch(A.sidebarPreference){case F.OPEN:A.sidebarPreference=F.CLOSED;break;case F.CLOSED:A.sidebarPreference=F.OPEN;break;case F.NO_PREF:Re()?A.sidebarPreference=F.OPEN:A.sidebarPreference=F.CLOSED}}function oe(){return window.sidebarNodes||{}}function It(){return window.versionNodes||[]}var Qe={search:"search",extras:"extras",modules:"modules",tasks:"tasks"},He=[Qe.extras,Qe.modules,Qe.tasks],ve=e=>`#${e}-full-list`;function Ct(){He.forEach(e=>{Tr(oe(),e)}),ye(z()),Pt(),At(),Ar()}function Tr(e,t){let n=e[t]||[],r=c(ve(t));if(!r)return;let i=Handlebars.templates["sidebar-items"]({nodes:n,group:""});r.innerHTML=i,r.querySelectorAll("ul").forEach(s=>{if(s.innerHTML.trim()===""){let o=s.previousElementSibling;o.classList.contains("expand")&&o.classList.remove("expand"),s.remove()}}),r.querySelectorAll("li a + button").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.closest("li");kr(l)})}),r.querySelectorAll("li a").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.closest("li"),u=r.querySelector(".current-section");u&&Or(u),s.matches(".expand")&&s.pathname===window.location.pathname&&De(l)})})}function De(e){e.classList.add("open"),e.querySelector("button[aria-controls]").setAttribute("aria-expanded","true")}function wr(e){e.classList.remove("open"),e.querySelector("button[aria-controls]").setAttribute("aria-expanded","false")}function kr(e){e.classList.contains("open")?wr(e):De(e)}function _r(e){e.classList.add("current-section"),e.querySelector("a").setAttribute("aria-current","true")}function Or(e){e.classList.remove("current-section"),e.querySelector("a").setAttribute("aria-current","false")}function Ir(e){e.classList.add("current-hash"),e.querySelector("a").setAttribute("aria-current","true")}function Cr(e){e.classList.remove("current-hash"),e.querySelector("a").setAttribute("aria-current","false")}function ye(e){He.forEach(t=>{let n=c(`#${t}-list-tab-button`);if(n){let r=c(`#${n.getAttribute("aria-controls")}`);t===e?(n.parentElement.classList.add("selected"),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"),r.removeAttribute("hidden")):(n.parentElement.classList.remove("selected"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1"),r.setAttribute("hidden","hidden"))}})}function At(){let e=c(ve(z())),t=e.querySelector("li.current-page");t&&(t.scrollIntoView(),e.scrollTop-=40)}function Pt(){let e=pe()||"content",n=oe()[z()]||[],r=lt(n,e),i=c(ve(z())),s=i.querySelector(`li.current-page a.expand[href$="#${r}"]`);s&&De(s.closest("li"));let o=i.querySelector(`li.current-page a[href$="#${e}"]`);if(o){let a=o.closest("ul");a.classList.contains("deflist")&&_r(a.closest("li")),Ir(o.closest("li"))}}function Ar(){He.forEach(t=>{let n=c(`#${t}-list-tab-button`);n&&n.addEventListener("click",r=>{ye(t),At()})});let e=c("#sidebar-listNav");e.addEventListener("keydown",t=>{if(t.key!=="ArrowRight"&&t.key!=="ArrowLeft")return;let n=Array.from(e.querySelectorAll('[role="tab"]')).map(i=>i.dataset.type),r=e.querySelector('[role="tab"][aria-selected="true"]').dataset.type;if(t.key==="ArrowRight"){let i=n.indexOf(r)+1;i>=n.length&&(i=0);let s=n[i];ye(s),c(`#${s}-list-tab-button`).focus()}else if(t.key==="ArrowLeft"){let i=n.indexOf(r)-1;i<0&&(i=n.length-1);let s=n[i];ye(s),c(`#${s}-list-tab-button`).focus()}}),window.addEventListener("hashchange",t=>{let r=c(ve(z())).querySelector("li.current-page li.current-hash");r&&Cr(r),Pt()})}var M={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Nt(e,t=5){if(Z(e))return[];let n=oe(),r=[...Fe(n.modules,e,M.module),...Pr(n.modules,e,M.moduleChild),...Fe(n.tasks,e,M.mixTask),...Fe(n.extras,e,M.extra),...Me(n.modules,e,M.section),...Me(n.tasks,e,M.section),...Me(n.extras,e,M.section)].filter(i=>i!==null);return Mr(r).slice(0,t)}function Fe(e,t,n){return e.map(r=>Nr(r,t,n))}function Pr(e,t,n){return e.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=Fr(i);return s.map(a=>Qr(a,r.id,t,n,o)||Dr(a,r.id,t,n,o))}))}function Me(e,t,n){return e.flatMap(r=>Rr(r).map(i=>Hr(r,i,t,n)))}function Rr(e){return(e.sections||[]).concat(e.headers||[])}function Nr(e,t,n){return Be(e.title,t)?{link:`${e.id}.html`,title:Ee(e.title,t),label:null,description:null,matchQuality:Se(e.title,t),deprecated:e.deprecated,category:n}:null}function Qr(e,t,n,r,i){return Be(e.id,n)?{link:`${t}.html#${e.anchor}`,title:Ee(e.id,n),label:i,description:t,matchQuality:Se(e.id,n),deprecated:e.deprecated,category:r}:null}function Hr(e,t,n,r){return Qt(t.id,n)?{link:`${e.id}.html#${t.anchor}`,title:Ee(t.id,n),label:null,description:e.title,matchQuality:Se(t.id,n),category:r}:null}function Dr(e,t,n,r,i){let s=`${t}.${e.id}`;if(!Be(s,n))return null;let o=n.replace(/\./g," ");return Qt(e.id,o)?{link:`${t}.html#${e.anchor}`,title:Ee(e.id,o),label:i,description:t,matchQuality:Se(s,n),deprecated:e.deprecated,category:r}:null}function Fr(e){switch(e){case"callbacks":return"callback";case"types":return"type";default:return null}}function Mr(e){return e.slice().sort((t,n)=>t.matchQuality!==n.matchQuality?n.matchQuality-t.matchQuality:Rt(t.category)-Rt(n.category))}function Rt(e){switch(e){case M.module:return 1;case M.moduleChild:return 2;case M.mixTask:return 3;default:return 4}}function Qt(e,t){return xe(t).some(r=>Ht(e,r))}function Be(e,t){return xe(t).every(r=>Ht(e,r))}function Ht(e,t){return e.toLowerCase().includes(t.toLowerCase())}function Se(e,t){let n=xe(t),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/e.length,s=Br(e,n[0])?1:0;return i+s}function Br(e,t){return e.toLowerCase().startsWith(t.toLowerCase())}function xe(e){return e.trim().split(/\s+/)}function Ee(e,t){let n=xe(t).sort((r,i)=>i.length-r.length);return be(e,n)}function be(e,t){if(t.length===0)return e;let[n,...r]=t,i=e.match(new RegExp(`(.*)(${ct(n)})(.*)`,"i"));if(i){let[,s,o,a]=i;return be(s,t)+""+he(o)+""+be(a,t)}else return be(e,r)}var ee=".autocomplete",Le=".autocomplete-suggestion",B={autocompleteSuggestions:[],selectedIdx:-1};function qr(){c(ee).classList.add("shown")}function qe(){c(ee).classList.remove("shown")}function Dt(){return c(ee).classList.contains("shown")}function ze(e){B.autocompleteSuggestions=Nt(e),B.selectedIdx=-1,Z(e)?qe():(zr({term:e,suggestions:B.autocompleteSuggestions}),Te(0),qr())}function zr({term:e,suggestions:t}){let n=Handlebars.templates["autocomplete-suggestions"]({suggestions:t,term:e}),r=c(ee);r.innerHTML=n}function Ft(){return B.selectedIdx===-1?null:B.autocompleteSuggestions[B.selectedIdx]}function Te(e){B.selectedIdx=$r(e);let t=c(`${Le}.selected`),n=c(`${Le}[data-index="${B.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function $r(e){let t=B.autocompleteSuggestions.length+1;return(B.selectedIdx+e+1+t)%t-1}var ae="form.sidebar-search input",Vr="form.sidebar-search .search-close-button";function Mt(){jr()}function Bt(e){let t=c(ae);t.value=e}function qt(){c(ae).focus()}function jr(){let e=c(ae);e.addEventListener("keydown",t=>{t.key==="Escape"?(we(),e.blur()):t.key==="Enter"?Ur(t):t.key==="ArrowUp"?(Te(-1),t.preventDefault()):t.key==="ArrowDown"&&(Te(1),t.preventDefault())}),e.addEventListener("input",t=>{ze(t.target.value)}),e.addEventListener("focus",t=>{document.body.classList.add("search-focused"),ze(t.target.value)}),e.addEventListener("blur",t=>{let n=t.relatedTarget;if(n){if(n.matches(Le))return setTimeout(()=>{Dt()&&e.focus()},1e3),null;n.matches(Vr)&&we()}$e()}),c(ee).addEventListener("click",t=>{t.shiftKey||t.ctrlKey?e.focus():(we(),$e())})}function Ur(e){let t=c(ae),n=e.shiftKey||e.ctrlKey,r=Ft();e.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");s.setAttribute("target",i),r?s.setAttribute("href",r.link):s.setAttribute("href",`search.html?q=${encodeURIComponent(t.value)}`),s.click(),n||(we(),$e())}function we(){let e=c(ae);e.value=""}function $e(){document.body.classList.remove("search-focused"),qe()}var zt=".sidebar-projectVersion",Wr=".sidebar-projectVersionsDropdown";function $t(){let e=It();if(e.length>0){let n=c(zt).textContent.trim(),r=Kr(e,n);Gr({nodes:r})}}function Gr({nodes:e}){let t=c(zt),n=Handlebars.templates["versions-dropdown"]({nodes:e});t.innerHTML=n,c(Wr).addEventListener("change",Jr)}function Kr(e,t){return Yr(e,t).map(r=>({...r,isCurrentVersion:r.version===t}))}function Yr(e,t){return e.some(r=>r.version===t)?e:[{version:t,url:"#"},...e]}function Jr(e){let t=e.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${t}/${n}`;dt(r).then(i=>{i?window.location.href=r:window.location.href=t})}var I=at(Ut());var ke=80,Xr="#search";function Gt(){if(window.location.pathname.endsWith("/search.html")){let e=ut("q");Zr(e)}}async function Zr(e){if(Z(e))Ve({value:e});else{Bt(e);let t=await ei();try{let n=di(t.search(e));Ve({value:e,results:n})}catch(n){Ve({value:e,errorMessage:n.message})}}}function Ve({value:e,results:t,errorMessage:n}){let r=c(Xr),i=Handlebars.templates["search-results"]({value:e,results:t,errorMessage:n});r.innerHTML=i}async function ei(){I.default.QueryLexer.termSeparator=/\s+/,I.default.Pipeline.registerFunction(je,"elixirTokenSplitter"),I.default.Pipeline.registerFunction(Ue,"elixirTrimmer"),I.default.Pipeline.registerFunction(We,"hyphenSearch");let e=await ti();if(e)return e;let t=ai();return ni(t),t}async function ti(){try{let e=sessionStorage.getItem(Kt());if(e){let t=await ii(e);return I.default.Index.load(t)}else return null}catch(e){return console.error("Failed to load index: ",e),null}}async function ni(e){try{let t=await ri(e);sessionStorage.setItem(Kt(),t)}catch(t){console.error("Failed to save index: ",t)}}async function ri(e){let t=new Blob([JSON.stringify(e)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(t).blob()).arrayBuffer();return si(r)}async function ii(e){let t=new Blob([oi(e)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(t).text();return JSON.parse(n)}function si(e){let t="",n=new Uint8Array(e),r=n.byteLength;for(let i=0;i{this.add(e)})})}function ci(e){e.pipeline.before(I.default.stemmer,je),e.searchPipeline.before(I.default.stemmer,je)}function je(e){let t=e.toString().split(/\.|\/|_/).map(n=>e.clone().update(()=>n));return t.length>1?[...t,e]:t}function li(e){e.pipeline.after(I.default.stemmer,Ue),e.searchPipeline.after(I.default.stemmer,Ue)}function Ue(e){return e.update(function(t){return t.replace(/^@?\W+/,"").replace(/\W+$/,"")})}function We(e){if(e.toString().indexOf("-")<0)return e;let n=[];return n.push(e.clone(function(r){return r.replace("-","")})),n.push(e),n}function ui(e){e.pipeline.before(I.default.stemmer,We),e.searchPipeline.before(I.default.stemmer,We)}function di(e){return e.filter(t=>Wt(t.ref)).map(t=>{let n=Wt(t.ref),r=t.matchData.metadata;return{...n,metadata:r,excerpts:fi(n,r)}})}function Wt(e){return searchData.items.find(t=>t.ref===e)||null}function fi(e,t){let{doc:n}=e,i=Object.keys(t).filter(s=>"doc"in t[s]).map(s=>t[s].doc.position.map(([o,a])=>hi(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,ke*2)+(ke*20?"...":"",e.slice(r,t),""+he(e.slice(t,t+n))+"",e.slice(t+n,i),i{clearTimeout(_e),e.target.classList.remove("show")})}function Ge(e){G&&(clearTimeout(_e),G.innerText=e,G.classList.add("show"),_e=setTimeout(()=>{G.classList.remove("show"),_e=setTimeout(function(){G.innerText=""},1e3)},5e3))}var Jt="dark",Ke=["system","dark","light"];function Xt(){O.getAndSubscribe(e=>{document.body.classList.toggle(Jt,en(e))}),mi()}function Zt(){let t=O.get().theme||"system",n=Ke[Ke.indexOf(t)+1]||Ke[0];O.update({theme:n}),Ge(`Set theme to "${n}"`)}function en(e){return e.theme==="dark"||pi()&&(e.theme==null||e.theme==="system")}function pi(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function mi(){window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>{let t=O.get(),n=en(t);(t.theme==null||t.theme==="system")&&(document.body.classList.toggle(Jt,n),Ge(`Browser changed theme to "${n?"dark":"light"}"`))})}var gi="hll";function nn(){yi()}function yi(){k("[data-group-id]").forEach(t=>{let n=t.getAttribute("data-group-id");t.addEventListener("mouseenter",r=>{tn(n,!0)}),t.addEventListener("mouseleave",r=>{tn(n,!1)})})}function tn(e,t){k(`[data-group-id="${e}"]`).forEach(r=>{r.classList.toggle(gi,t)})}var te="#modal",vi="#modal .modal-close",bi="#modal .modal-title",Si="#modal .modal-body",rn='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',q={prevFocus:null,lastFocus:null,ignoreFocusChanges:!1};function sn(){xi()}function xi(){let e=Handlebars.templates["modal-layout"]();document.body.insertAdjacentHTML("beforeend",e),c(te).addEventListener("keydown",t=>{t.key==="Escape"&&ce()}),c(vi).addEventListener("click",t=>{ce()})}function on(e){if(q.ignoreFocusChanges)return;let t=c(te);if(t.contains(e.target))q.lastFocus=e.target;else{q.ignoreFocusChanges=!0;let n=Ei(t);q.lastFocus===n?Li(t).focus():n.focus(),q.ignoreFocusChanges=!1,q.lastFocus=document.activeElement}}function Ei(e){return e.querySelector(rn)}function Li(e){let t=e.querySelectorAll(rn);return t[t.length-1]}function Oe({title:e,body:t}){q.prevFocus=document.activeElement,document.addEventListener("focus",on,!0),c(bi).innerHTML=e,c(Si).innerHTML=t,c(te).classList.add("shown"),c(te).focus()}function ce(){c(te).classList.remove("shown"),document.addEventListener("focus",on,!0),q.prevFocus&&q.prevFocus.focus(),q.prevFocus=null}function an(){return c(te).classList.contains("shown")}var Ti="https://hexdocs.pm/%%",wi="https://hex.pm/api/packages?search=name:%%*",ki=".display-quick-switch",Ye="#quick-switch-input",ln="#quick-switch-results",_i=".quick-switch-result",Oi=300,Ii=9,Ci=["elixir","eex","ex_unit","hex","iex","logger","mix"].map(e=>({name:e})),un=2,P={autocompleteResults:[],selectedIdx:null};function dn(){Ai()}function Ai(){k(ki).forEach(e=>{e.addEventListener("click",t=>{Xe()})})}function Pi(e){if(e.key==="Enter"){let t=e.target.value;Ni(t),e.preventDefault()}else e.key==="ArrowUp"?(cn(-1),e.preventDefault()):e.key==="ArrowDown"&&(cn(1),e.preventDefault())}function Ri(e){let t=e.target.value;if(t.lengthn.json()).then(n=>{Array.isArray(n)&&(P.autocompleteResults=Fi(e,n),P.selectedIdx=null,c(Ye).value.length>=un&&Di({results:P.autocompleteResults}))})}function Di({results:e}){let t=c(ln),n=Handlebars.templates["quick-switch-results"]({results:e});t.innerHTML=n,k(_i).forEach(r=>{r.addEventListener("click",i=>{let s=r.getAttribute("data-index"),o=P.autocompleteResults[s];Je(o.name)})})}function Fi(e,t){return Ci.concat(t).filter(n=>n.name.toLowerCase().includes(e.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,Ii)}function cn(e){P.selectedIdx=Mi(e);let t=c(".quick-switch-result.selected"),n=c(`.quick-switch-result[data-index="${P.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function Mi(e){let t=P.autocompleteResults.length;if(P.selectedIdx===null){if(e>=0)return 0;if(e<0)return t-1}return(P.selectedIdx+e+t)%t}var Bi=".display-settings",qi="#settings-modal-content",Ze="#modal-settings-tab",et="#modal-keyboard-shortcuts-tab",hn="#settings-content",pn="#keyboard-shortcuts-content",zi=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];function mn(){$i()}function $i(){k(Bi).forEach(e=>{e.addEventListener("click",t=>{tt()})})}function fn(){c(et).classList.remove("active"),c(Ze).classList.add("active"),c(hn).classList.remove("hidden"),c(pn).classList.add("hidden")}function Vi(){c(et).classList.add("active"),c(Ze).classList.remove("active"),c(pn).classList.remove("hidden"),c(hn).classList.add("hidden")}function tt(){Oe({title:zi.map(({id:s,title:o})=>``).join(""),body:Handlebars.templates["settings-modal-body"]({shortcuts:nt})});let e=c(qi),t=e.querySelector('[name="theme"]'),n=e.querySelector('[name="tooltips"]'),r=e.querySelector('[name="direct_livebook_url"]'),i=e.querySelector('[name="livebook_url"]');O.getAndSubscribe(s=>{t.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),t.addEventListener("change",s=>{O.update({theme:s.target.value})}),n.addEventListener("change",s=>{O.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;O.update({livebookUrl:o})}),i.addEventListener("input",s=>{O.update({livebookUrl:s.target.value})}),c(Ze).addEventListener("click",s=>{fn()}),c(et).addEventListener("click",s=>{Vi()}),fn()}var ji="#settings-modal-content",nt=[{key:"c",description:"Toggle sidebar",action:Pe},{key:"n",description:"Cycle themes",action:Zt},{key:"s",description:"Focus search bar",displayAs:"/ or s",action:gn},{key:"/",action:gn},{key:"g",description:"Search HexDocs package",displayAs:"g",action:Xe},{key:"?",displayAs:"?",description:"Bring up this modal",action:Ki}],rt={shortcutBeingPressed:null};function yn(){Ui()}function Ui(){document.addEventListener("keydown",Wi),document.addEventListener("keyup",Gi)}function Wi(e){if(rt.shortcutBeingPressed||e.target.matches("input, textarea")||e.ctrlKey||e.metaKey||e.altKey)return;let t=nt.find(n=>n.key===e.key);t&&(rt.shortcutBeingPressed=t,e.preventDefault(),t.action(e))}function Gi(e){rt.shortcutBeingPressed=null}function gn(e){ce(),Ne(),qt()}function Ki(){Yi()?ce():tt()}function Yi(){return an()&&c(ji)}var K={plain:"plain",function:"function",module:"module"},Ji=[{href:"typespecs.html#basic-types",hint:{kind:K.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:K.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:K.plain,description:"Built-in type"}}],Ie={cancelHintFetching:null};function vn(e){if(Sn(e))return!0;let t=/#.*\//;return e.includes("#")&&!t.test(e)?!1:e.includes(".html")}function bn(e){let t=Sn(e);return t?Promise.resolve(t):Xi(e)}function Sn(e){let t=Ji.find(n=>e.includes(n.href));return t?t.hint:null}function Xi(e){let t=e.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("sandbox","allow-scripts allow-same-origin"),i.setAttribute("src",t),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;t===l&&(o(),n(u))}Ie.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Ie.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function xn(){Ie.cancelHintFetching&&Ie.cancelHintFetching()}function En(e){let n=e.querySelector("h1").textContent,r=e.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:K.function,title:n.trim(),description:i.trim()}}function Ln(e){let n=e.querySelector("h1 > span").textContent,r=e.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:K.module,title:n.trim(),description:i.trim()}}var Zi=".content a",it="#tooltip",es="#tooltip .tooltip-body",wn="body .content-inner",ts="#content",kn="tooltip-shown",le=10,ns=le*4,Tn={height:450,width:768},rs=100,ne={currentLinkElement:null,hoverDelayTimeout:null};function _n(){is(),ss()}function is(){let e=Handlebars.templates["tooltip-layout"]();c(wn).insertAdjacentHTML("beforeend",e)}function ss(){k(Zi).forEach(e=>{os(e)&&(e.addEventListener("mouseenter",t=>{cs(e)}),e.addEventListener("mouseleave",t=>{fs(e)}))})}function os(e){return!(e.classList.contains("detail-link")||as(e.href)||!vn(e.href))}function as(e){let t=e.replace(ts,"");return window.location.href.split("#")[0]===t}function cs(e){ls()&&(ne.currentLinkElement=e,ne.hoverDelayTimeout=setTimeout(()=>{bn(e.href).then(t=>{us(t),ds()}).catch(()=>{})},rs))}function ls(){let e=window.innerWidthe.firstElementChild&&e.firstElementChild.tagName==="CODE").forEach(e=>e.insertAdjacentHTML("beforeend",Es)),Array.from(k(".copy-button")).forEach(e=>{let t;e.addEventListener("click",()=>{let n=e.querySelector("[aria-live]");t&&clearTimeout(t);let r=Array.from(e.parentElement.querySelector("code").childNodes).filter(i=>!(i.tagName==="SPAN"&&i.classList.contains("unselectable"))).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),n.innerHTML="Copied! ✓",t=setTimeout(()=>{e.classList.remove("clicked"),n.innerHTML=""},3e3)})})}function Pn(){let t=/(Macintosh|iPhone|iPad|iPod)/.test(window.navigator.userAgent)?"apple-os":"non-apple-os";document.documentElement.classList.add(t)}var Ts="content",ws="tabs-open",ks="tabs-close",_s="H3",Os="tabset";function Nn(){Is().map(Cs).forEach(n=>Rs(n))}function Is(){let e=document.createNodeIterator(document.getElementById(Ts),NodeFilter.SHOW_COMMENT,{acceptNode(r){return r.nodeValue.trim()===ws?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),t=[],n;for(;n=e.nextNode();)t.push(n);return t}function Cs(e,t,n){let r=[],i=[],s={label:"",content:[]};for(;e=e.nextSibling;){if(As(e)){Rn(s,i,t);break}r.push(e),e.nodeName===_s?(Rn(s,i,t),s.label=e.innerText,s.content=[]):s.content.push(e.outerHTML)}let o=document.createElement("div");return o.className=Os,Ps(r,o),o.innerHTML=Handlebars.templates.tabset({tabs:i}),o}function As(e){return e.nodeName==="#comment"&&e.nodeValue.trim()===ks}function Rn(e,t,n){if(e.label===""&&!e.content.length)return!1;let r=e.label,i=e.content;t.push({label:r,content:i,setIndex:n})}function Ps(e,t){if(!e||!e.length)return!1;e[0].parentNode.insertBefore(t,e[0]),e.forEach(n=>t.appendChild(n))}function Rs(e){let t={tabs:e.querySelectorAll(':scope [role="tab"]'),panels:e.querySelectorAll(':scope [role="tabpanel"]'),activeIndex:0};t.tabs.forEach((n,r)=>{n.addEventListener("click",i=>{Y(r,t)}),n.addEventListener("keydown",i=>{let s=t.tabs.length-1;i.code==="ArrowLeft"?(i.preventDefault(),t.activeIndex===0?Y(s,t):Y(t.activeIndex-1,t)):i.code==="ArrowRight"?(i.preventDefault(),t.activeIndex===s?Y(0,t):Y(t.activeIndex+1,t)):i.code==="Home"?(i.preventDefault(),Y(0,t)):i.code==="End"&&(i.preventDefault(),Y(s,t))})})}function Y(e,t){t.tabs[t.activeIndex].setAttribute("aria-selected","false"),t.tabs[t.activeIndex].tabIndex=-1,t.tabs[e].setAttribute("aria-selected","true"),t.tabs[e].tabIndex=0,t.tabs[e].focus(),t.panels[t.activeIndex].setAttribute("hidden",""),t.panels[t.activeIndex].tabIndex=-1,t.panels[e].removeAttribute("hidden"),t.panels[e].tabIndex=0,t.activeIndex=e}ft(()=>{Xt(),Tt(),Ct(),Mt(),$t(),gt(),nn(),sn(),yn(),dn(),Yt(),_n(),Cn(),Gt(),An(),mn(),Pn(),Nn()});})(); +`,t)},e.Pipeline.load=function(t){var n=new e.Pipeline;return t.forEach(function(r){var i=e.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),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 r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},e.Pipeline.prototype.before=function(t,n){e.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(t);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,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,r=0;r1&&(ot&&(r=s),o!=t);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==t||o>t)return s*2;if(ol?f+=2:a==l&&(n+=r[u+1]*i[f+1],u+=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,r=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),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.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 u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,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),i.push({node:g,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return r},e.TokenSet.fromString=function(t){for(var n=new e.TokenSet,r=n,i=0,s=t.length;i=t;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.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 r=new e.QueryParser(t,n);r.parse()})},e.Index.prototype.query=function(t){for(var n=new e.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=t},e.Builder.prototype.k1=function(t){this._k1=t},e.Builder.prototype.add=function(t,n){var r=t[this._ref],i=Object.keys(this._fields);this._documents[r]=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 r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new e.QueryParseError(r,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 r="unrecognised presence operator'"+n.str+"'";throw new e.QueryParseError(r,n.start,n.end)}var i=t.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new e.QueryParseError(r,n.start,n.end)}switch(i.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new e.QueryParseError(r,i.start,i.end)}}},e.QueryParser.parseField=function(t){var n=t.consumeLexeme();if(n!=null){if(t.query.allFields.indexOf(n.str)==-1){var r=t.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.fields=[n.str];var s=t.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new e.QueryParseError(i,n.start,n.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new e.QueryParseError(i,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 r=t.peekLexeme();if(r==null){t.nextClause();return}switch(r.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 i="Unexpected lexeme type '"+r.type+"'";throw new e.QueryParseError(i,r.start,r.end)}}},e.QueryParser.parseEditDistance=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.editDistance=r;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 i="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(i,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var n=t.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new e.QueryParseError(i,n.start,n.end)}t.currentClause.boost=r;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 i="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(i,s.start,s.end)}}},function(t,n){typeof define=="function"&&define.amd?define(n):typeof Vt=="object"?jt.exports=n():t.lunr=n()}(this,function(){return e})})()});Handlebars.registerHelper("groupChanged",function(e,t,n){let r=t||"";if(e.group!==r)return delete e.nestedContext,e.group=r,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),k=document.querySelectorAll.bind(document);function ct(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function he(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function z(){return document.body.dataset.type}function lt(e,t){if(e){for(let n of e){let r=n.nodeGroups&&n.nodeGroups.find(i=>i.nodes.some(s=>s.anchor===t));if(r)return r.key}return null}}function pe(){return window.location.hash.replace(/^#/,"")}function ut(e){return new URLSearchParams(window.location.search).get(e)}function dt(e){return fetch(e).then(t=>t.ok).catch(()=>!1)}function ft(e){document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e)}function Z(e){return!e||e.trim()===""}function ht(e,t){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>{n=null,e(...i)},t)}}function me(){return document.head.querySelector("meta[name=project][content]").content}var pt="ex_doc:settings",jn={tooltips:!0,theme:null,livebookUrl:null},Ce=class{constructor(){this._subscribers=[],this._settings=jn,this._loadSettings()}get(){return this._settings}update(t){let n=this._settings;this._settings={...this._settings,...t},this._subscribers.forEach(r=>r(this._settings,n)),this._storeSettings()}getAndSubscribe(t){this._subscribers.push(t),t(this._settings)}_loadSettings(){try{let t=localStorage.getItem(pt);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(pt,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 Ce;var Un=".content",mt=".content-inner",Wn=".livebook-badge";function gt(){Gn(),Yn(),Jn(),Kn()}function Gn(){c(Un).querySelectorAll("a").forEach(e=>{e.querySelector("code, img")&&e.classList.add("no-underline")})}function Kn(){["warning","info","error","neutral","tip"].forEach(t=>{k(`blockquote h3.${t}, blockquote h4.${t}`).forEach(n=>{n.closest("blockquote").classList.add(t)})})}function Yn(){c(mt).setAttribute("tabindex",-1),c(mt).focus()}function Jn(){let t=window.location.pathname.replace(/(\.html)?$/,".livemd"),n=new URL(t,window.location.href).toString();O.getAndSubscribe(r=>{let i=r.livebookUrl?Zn(r.livebookUrl,n):Xn(n);for(let s of k(Wn))s.href=i})}function Xn(e){return`https://livebook.dev/run?url=${encodeURIComponent(e)}`}function Zn(e,t){return`${e}/import?url=${encodeURIComponent(t)}`}var Et=at(xt());var yr=768,Lt=300,se=".sidebar-toggle",vr=".content",F={CLOSED:"closed",OPEN:"open",NO_PREF:"no_pref"},Q={opened:"sidebar-opened",openingStart:"sidebar-opening-start",opening:"sidebar-opening",closed:"sidebar-closed",closingStart:"sidebar-closing-start",closing:"sidebar-closing"},br=Object.values(Q),A={togglingTimeout:null,lastWindowWidth:window.innerWidth,sidebarPreference:F.NO_PREF};function Tt(){wt(),Sr()}function wt(){sessionStorage.getItem("sidebar_state")==="closed"||kt()?($(Q.closed),c(se).setAttribute("aria-expanded","false")):($(Q.opened),c(se).setAttribute("aria-expanded","true"))}function kt(){return window.matchMedia(`screen and (max-width: ${yr}px)`).matches}function $(...e){document.body.classList.remove(...br),document.body.classList.add(...e)}function Sr(){c(se).addEventListener("click",e=>{Pe(),Lr()}),c(vr).addEventListener("click",e=>{Er()}),window.addEventListener("resize",(0,Et.default)(e=>{xr()},100))}function Pe(){return Re()?_t():Ne()}function Re(){return document.body.classList.contains(Q.opened)||document.body.classList.contains(Q.opening)}function Ne(){Ot(),sessionStorage.setItem("sidebar_state","opened"),c(se).setAttribute("aria-expanded","true"),requestAnimationFrame(()=>{$(Q.openingStart),requestAnimationFrame(()=>($(Q.opening),new Promise((e,t)=>{A.togglingTimeout=setTimeout(()=>{$(Q.opened),e()},Lt)})))})}function _t(){Ot(),sessionStorage.setItem("sidebar_state","closed"),c(se).setAttribute("aria-expanded","false"),requestAnimationFrame(()=>{$(Q.closingStart),requestAnimationFrame(()=>($(Q.closing),new Promise((e,t)=>{A.togglingTimeout=setTimeout(()=>{$(Q.closed),e()},Lt)})))})}function Ot(){A.togglingTimeout&&(clearTimeout(A.togglingTimeout),A.togglingTimeout=null)}function xr(){A.lastWindowWidth!==window.innerWidth&&(A.lastWindowWidth=window.innerWidth,(A.sidebarPreference===F.OPEN||A.sidebarPreference===F.NO_PREF)&&wt())}function Er(){kt()&&Re()&&_t()}function Lr(){switch(A.sidebarPreference){case F.OPEN:A.sidebarPreference=F.CLOSED;break;case F.CLOSED:A.sidebarPreference=F.OPEN;break;case F.NO_PREF:Re()?A.sidebarPreference=F.OPEN:A.sidebarPreference=F.CLOSED}}function oe(){return window.sidebarNodes||{}}function It(){return window.versionNodes||[]}var Qe={search:"search",extras:"extras",modules:"modules",tasks:"tasks"},He=[Qe.extras,Qe.modules,Qe.tasks],ve=e=>`#${e}-full-list`;function Ct(){He.forEach(e=>{Tr(oe(),e)}),ye(z()),Pt(),At(),Ar()}function Tr(e,t){let n=e[t]||[],r=c(ve(t));if(!r)return;let i=Handlebars.templates["sidebar-items"]({nodes:n,group:""});r.innerHTML=i,r.querySelectorAll("ul").forEach(s=>{if(s.innerHTML.trim()===""){let o=s.previousElementSibling;o.classList.contains("expand")&&o.classList.remove("expand"),s.remove()}}),r.querySelectorAll("li a + button").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.closest("li");kr(l)})}),r.querySelectorAll("li a").forEach(s=>{s.addEventListener("click",o=>{let l=o.target.closest("li"),u=r.querySelector(".current-section");u&&Or(u),s.matches(".expand")&&s.pathname===window.location.pathname&&De(l)})})}function De(e){e.classList.add("open"),e.querySelector("button[aria-controls]").setAttribute("aria-expanded","true")}function wr(e){e.classList.remove("open"),e.querySelector("button[aria-controls]").setAttribute("aria-expanded","false")}function kr(e){e.classList.contains("open")?wr(e):De(e)}function _r(e){e.classList.add("current-section"),e.querySelector("a").setAttribute("aria-current","true")}function Or(e){e.classList.remove("current-section"),e.querySelector("a").setAttribute("aria-current","false")}function Ir(e){e.classList.add("current-hash"),e.querySelector("a").setAttribute("aria-current","true")}function Cr(e){e.classList.remove("current-hash"),e.querySelector("a").setAttribute("aria-current","false")}function ye(e){He.forEach(t=>{let n=c(`#${t}-list-tab-button`);if(n){let r=c(`#${n.getAttribute("aria-controls")}`);t===e?(n.parentElement.classList.add("selected"),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"),r.removeAttribute("hidden")):(n.parentElement.classList.remove("selected"),n.setAttribute("aria-selected","false"),n.setAttribute("tabindex","-1"),r.setAttribute("hidden","hidden"))}})}function At(){let e=c(ve(z())),t=e.querySelector("li.current-page");t&&(t.scrollIntoView(),e.scrollTop-=40)}function Pt(){let e=pe()||"content",n=oe()[z()]||[],r=lt(n,e),i=c(ve(z())),s=i.querySelector(`li.current-page a.expand[href$="#${r}"]`);s&&De(s.closest("li"));let o=i.querySelector(`li.current-page a[href$="#${e}"]`);if(o){let a=o.closest("ul");a.classList.contains("deflist")&&_r(a.closest("li")),Ir(o.closest("li"))}}function Ar(){He.forEach(t=>{let n=c(`#${t}-list-tab-button`);n&&n.addEventListener("click",r=>{ye(t),At()})});let e=c("#sidebar-listNav");e.addEventListener("keydown",t=>{if(t.key!=="ArrowRight"&&t.key!=="ArrowLeft")return;let n=Array.from(e.querySelectorAll('[role="tab"]')).map(i=>i.dataset.type),r=e.querySelector('[role="tab"][aria-selected="true"]').dataset.type;if(t.key==="ArrowRight"){let i=n.indexOf(r)+1;i>=n.length&&(i=0);let s=n[i];ye(s),c(`#${s}-list-tab-button`).focus()}else if(t.key==="ArrowLeft"){let i=n.indexOf(r)-1;i<0&&(i=n.length-1);let s=n[i];ye(s),c(`#${s}-list-tab-button`).focus()}}),window.addEventListener("hashchange",t=>{let r=c(ve(z())).querySelector("li.current-page li.current-hash");r&&Cr(r),Pt()})}var M={module:"module",moduleChild:"module-child",mixTask:"mix-task",extra:"extra",section:"section"};function Nt(e,t=5){if(Z(e))return[];let n=oe(),r=[...Fe(n.modules,e,M.module),...Pr(n.modules,e,M.moduleChild),...Fe(n.tasks,e,M.mixTask),...Fe(n.extras,e,M.extra),...Me(n.modules,e,M.section),...Me(n.tasks,e,M.section),...Me(n.extras,e,M.section)].filter(i=>i!==null);return Mr(r).slice(0,t)}function Fe(e,t,n){return e.map(r=>Nr(r,t,n))}function Pr(e,t,n){return e.filter(r=>r.nodeGroups).flatMap(r=>r.nodeGroups.flatMap(({key:i,nodes:s})=>{let o=Fr(i);return s.map(a=>Qr(a,r.id,t,n,o)||Dr(a,r.id,t,n,o))}))}function Me(e,t,n){return e.flatMap(r=>Rr(r).map(i=>Hr(r,i,t,n)))}function Rr(e){return(e.sections||[]).concat(e.headers||[])}function Nr(e,t,n){return Be(e.title,t)?{link:`${e.id}.html`,title:Ee(e.title,t),label:null,description:null,matchQuality:Se(e.title,t),deprecated:e.deprecated,category:n}:null}function Qr(e,t,n,r,i){return Be(e.id,n)?{link:`${t}.html#${e.anchor}`,title:Ee(e.id,n),label:i,description:t,matchQuality:Se(e.id,n),deprecated:e.deprecated,category:r}:null}function Hr(e,t,n,r){return Qt(t.id,n)?{link:`${e.id}.html#${t.anchor}`,title:Ee(t.id,n),label:null,description:e.title,matchQuality:Se(t.id,n),category:r}:null}function Dr(e,t,n,r,i){let s=`${t}.${e.id}`;if(!Be(s,n))return null;let o=n.replace(/\./g," ");return Qt(e.id,o)?{link:`${t}.html#${e.anchor}`,title:Ee(e.id,o),label:i,description:t,matchQuality:Se(s,n),deprecated:e.deprecated,category:r}:null}function Fr(e){switch(e){case"callbacks":return"callback";case"types":return"type";default:return null}}function Mr(e){return e.slice().sort((t,n)=>t.matchQuality!==n.matchQuality?n.matchQuality-t.matchQuality:Rt(t.category)-Rt(n.category))}function Rt(e){switch(e){case M.module:return 1;case M.moduleChild:return 2;case M.mixTask:return 3;default:return 4}}function Qt(e,t){return xe(t).some(r=>Ht(e,r))}function Be(e,t){return xe(t).every(r=>Ht(e,r))}function Ht(e,t){return e.toLowerCase().includes(t.toLowerCase())}function Se(e,t){let n=xe(t),i=n.map(o=>o.length).reduce((o,a)=>o+a,0)/e.length,s=Br(e,n[0])?1:0;return i+s}function Br(e,t){return e.toLowerCase().startsWith(t.toLowerCase())}function xe(e){return e.trim().split(/\s+/)}function Ee(e,t){let n=xe(t).sort((r,i)=>i.length-r.length);return be(e,n)}function be(e,t){if(t.length===0)return e;let[n,...r]=t,i=e.match(new RegExp(`(.*)(${ct(n)})(.*)`,"i"));if(i){let[,s,o,a]=i;return be(s,t)+""+he(o)+""+be(a,t)}else return be(e,r)}var ee=".autocomplete",Le=".autocomplete-suggestion",B={autocompleteSuggestions:[],selectedIdx:-1};function qr(){c(ee).classList.add("shown")}function qe(){c(ee).classList.remove("shown")}function Dt(){return c(ee).classList.contains("shown")}function ze(e){B.autocompleteSuggestions=Nt(e),B.selectedIdx=-1,Z(e)?qe():(zr({term:e,suggestions:B.autocompleteSuggestions}),Te(0),qr())}function zr({term:e,suggestions:t}){let n=Handlebars.templates["autocomplete-suggestions"]({suggestions:t,term:e}),r=c(ee);r.innerHTML=n}function Ft(){return B.selectedIdx===-1?null:B.autocompleteSuggestions[B.selectedIdx]}function Te(e){B.selectedIdx=$r(e);let t=c(`${Le}.selected`),n=c(`${Le}[data-index="${B.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function $r(e){let t=B.autocompleteSuggestions.length+1;return(B.selectedIdx+e+1+t)%t-1}var ae="form.sidebar-search input",Vr="form.sidebar-search .search-close-button";function Mt(){jr()}function Bt(e){let t=c(ae);t.value=e}function qt(){c(ae).focus()}function jr(){let e=c(ae);e.addEventListener("keydown",t=>{t.key==="Escape"?(we(),e.blur()):t.key==="Enter"?Ur(t):t.key==="ArrowUp"?(Te(-1),t.preventDefault()):t.key==="ArrowDown"&&(Te(1),t.preventDefault())}),e.addEventListener("input",t=>{ze(t.target.value)}),e.addEventListener("focus",t=>{document.body.classList.add("search-focused"),ze(t.target.value)}),e.addEventListener("blur",t=>{let n=t.relatedTarget;if(n){if(n.matches(Le))return setTimeout(()=>{Dt()&&e.focus()},1e3),null;n.matches(Vr)&&we()}$e()}),c(ee).addEventListener("click",t=>{t.shiftKey||t.ctrlKey?e.focus():(we(),$e())})}function Ur(e){let t=c(ae),n=e.shiftKey||e.ctrlKey,r=Ft();e.preventDefault();let i=n?"_blank":"_self",s=document.createElement("a");s.setAttribute("target",i),r?s.setAttribute("href",r.link):s.setAttribute("href",`search.html?q=${encodeURIComponent(t.value)}`),s.click(),n||(we(),$e())}function we(){let e=c(ae);e.value=""}function $e(){document.body.classList.remove("search-focused"),qe()}var zt=".sidebar-projectVersion",Wr=".sidebar-projectVersionsDropdown";function $t(){let e=It();if(e.length>0){let n=c(zt).textContent.trim(),r=Kr(e,n);Gr({nodes:r})}}function Gr({nodes:e}){let t=c(zt),n=Handlebars.templates["versions-dropdown"]({nodes:e});t.innerHTML=n,c(Wr).addEventListener("change",Jr)}function Kr(e,t){return Yr(e,t).map(r=>({...r,isCurrentVersion:r.version===t}))}function Yr(e,t){return e.some(r=>r.version===t)?e:[{version:t,url:"#"},...e]}function Jr(e){let t=e.target.value,n=window.location.pathname.split("/").pop()+window.location.hash,r=`${t}/${n}`;dt(r).then(i=>{i?window.location.href=r:window.location.href=t})}var I=at(Ut());var ke=80,Xr="#search";function Gt(){if(window.location.pathname.endsWith("/search.html")){let e=ut("q");Zr(e)}}async function Zr(e){if(Z(e))Ve({value:e});else{Bt(e);let t=await ei();try{let n=di(t.search(e));Ve({value:e,results:n})}catch(n){Ve({value:e,errorMessage:n.message})}}}function Ve({value:e,results:t,errorMessage:n}){let r=c(Xr),i=Handlebars.templates["search-results"]({value:e,results:t,errorMessage:n});r.innerHTML=i}async function ei(){I.default.QueryLexer.termSeparator=/\s+/,I.default.Pipeline.registerFunction(je,"elixirTokenSplitter"),I.default.Pipeline.registerFunction(Ue,"elixirTrimmer"),I.default.Pipeline.registerFunction(We,"hyphenSearch");let e=await ti();if(e)return e;let t=ai();return ni(t),t}async function ti(){try{let e=sessionStorage.getItem(Kt());if(e){let t=await ii(e);return I.default.Index.load(t)}else return null}catch(e){return console.error("Failed to load index: ",e),null}}async function ni(e){try{let t=await ri(e);sessionStorage.setItem(Kt(),t)}catch(t){console.error("Failed to save index: ",t)}}async function ri(e){let t=new Blob([JSON.stringify(e)],{type:"application/json"}).stream().pipeThrough(new window.CompressionStream("gzip")),r=await(await new Response(t).blob()).arrayBuffer();return si(r)}async function ii(e){let t=new Blob([oi(e)],{type:"application/json"}).stream().pipeThrough(new window.DecompressionStream("gzip")),n=await new Response(t).text();return JSON.parse(n)}function si(e){let t="",n=new Uint8Array(e),r=n.byteLength;for(let i=0;i{this.add(e)})})}function ci(e){e.pipeline.before(I.default.stemmer,je),e.searchPipeline.before(I.default.stemmer,je)}function je(e){let t=e.toString().split(/\.|\/|_/).map(n=>e.clone().update(()=>n));return t.length>1?[...t,e]:t}function li(e){e.pipeline.after(I.default.stemmer,Ue),e.searchPipeline.after(I.default.stemmer,Ue)}function Ue(e){return e.update(function(t){return t.replace(/^@?\W+/,"").replace(/\W+$/,"")})}function We(e){if(e.toString().indexOf("-")<0)return e;let n=[];return n.push(e.clone(function(r){return r.replace("-","")})),n.push(e),n}function ui(e){e.pipeline.before(I.default.stemmer,We),e.searchPipeline.before(I.default.stemmer,We)}function di(e){return e.filter(t=>Wt(t.ref)).map(t=>{let n=Wt(t.ref),r=t.matchData.metadata;return{...n,metadata:r,excerpts:fi(n,r)}})}function Wt(e){return searchData.items.find(t=>t.ref===e)||null}function fi(e,t){let{doc:n}=e,i=Object.keys(t).filter(s=>"doc"in t[s]).map(s=>t[s].doc.position.map(([o,a])=>hi(n,o,a))).reduce((s,o)=>s.concat(o),[]);return i.length===0?[n.slice(0,ke*2)+(ke*20?"...":"",e.slice(r,t),""+he(e.slice(t,t+n))+"",e.slice(t+n,i),i{clearTimeout(_e),e.target.classList.remove("show")})}function Ge(e){G&&(clearTimeout(_e),G.innerText=e,G.classList.add("show"),_e=setTimeout(()=>{G.classList.remove("show"),_e=setTimeout(function(){G.innerText=""},1e3)},5e3))}var Jt="dark",Ke=["system","dark","light"];function Xt(){O.getAndSubscribe(e=>{document.body.classList.toggle(Jt,en(e))}),mi()}function Zt(){let t=O.get().theme||"system",n=Ke[Ke.indexOf(t)+1]||Ke[0];O.update({theme:n}),Ge(`Set theme to "${n}"`)}function en(e){return e.theme==="dark"||pi()&&(e.theme==null||e.theme==="system")}function pi(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function mi(){window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>{let t=O.get(),n=en(t);(t.theme==null||t.theme==="system")&&(document.body.classList.toggle(Jt,n),Ge(`Browser changed theme to "${n?"dark":"light"}"`))})}var gi="hll";function nn(){yi()}function yi(){k("[data-group-id]").forEach(t=>{let n=t.getAttribute("data-group-id");t.addEventListener("mouseenter",r=>{tn(n,!0)}),t.addEventListener("mouseleave",r=>{tn(n,!1)})})}function tn(e,t){k(`[data-group-id="${e}"]`).forEach(r=>{r.classList.toggle(gi,t)})}var te="#modal",vi="#modal .modal-close",bi="#modal .modal-title",Si="#modal .modal-body",rn='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',q={prevFocus:null,lastFocus:null,ignoreFocusChanges:!1};function sn(){xi()}function xi(){let e=Handlebars.templates["modal-layout"]();document.body.insertAdjacentHTML("beforeend",e),c(te).addEventListener("keydown",t=>{t.key==="Escape"&&ce()}),c(vi).addEventListener("click",t=>{ce()})}function on(e){if(q.ignoreFocusChanges)return;let t=c(te);if(t.contains(e.target))q.lastFocus=e.target;else{q.ignoreFocusChanges=!0;let n=Ei(t);q.lastFocus===n?Li(t).focus():n.focus(),q.ignoreFocusChanges=!1,q.lastFocus=document.activeElement}}function Ei(e){return e.querySelector(rn)}function Li(e){let t=e.querySelectorAll(rn);return t[t.length-1]}function Oe({title:e,body:t}){q.prevFocus=document.activeElement,document.addEventListener("focus",on,!0),c(bi).innerHTML=e,c(Si).innerHTML=t,c(te).classList.add("shown"),c(te).focus()}function ce(){c(te).classList.remove("shown"),document.addEventListener("focus",on,!0),q.prevFocus&&q.prevFocus.focus(),q.prevFocus=null}function an(){return c(te).classList.contains("shown")}var Ti="https://hexdocs.pm/%%",wi="https://hex.pm/api/packages?search=name:%%*",ki=".display-quick-switch",Ye="#quick-switch-input",ln="#quick-switch-results",_i=".quick-switch-result",Oi=300,Ii=9,Ci=["elixir","eex","ex_unit","hex","iex","logger","mix"].map(e=>({name:e})),un=2,P={autocompleteResults:[],selectedIdx:null};function dn(){Ai()}function Ai(){k(ki).forEach(e=>{e.addEventListener("click",t=>{Xe()})})}function Pi(e){if(e.key==="Enter"){let t=e.target.value;Ni(t),e.preventDefault()}else e.key==="ArrowUp"?(cn(-1),e.preventDefault()):e.key==="ArrowDown"&&(cn(1),e.preventDefault())}function Ri(e){let t=e.target.value;if(t.lengthn.json()).then(n=>{Array.isArray(n)&&(P.autocompleteResults=Fi(e,n),P.selectedIdx=null,c(Ye).value.length>=un&&Di({results:P.autocompleteResults}))})}function Di({results:e}){let t=c(ln),n=Handlebars.templates["quick-switch-results"]({results:e});t.innerHTML=n,k(_i).forEach(r=>{r.addEventListener("click",i=>{let s=r.getAttribute("data-index"),o=P.autocompleteResults[s];Je(o.name)})})}function Fi(e,t){return Ci.concat(t).filter(n=>n.name.toLowerCase().includes(e.toLowerCase())).filter(n=>n.releases===void 0||n.releases[0].has_docs===!0).slice(0,Ii)}function cn(e){P.selectedIdx=Mi(e);let t=c(".quick-switch-result.selected"),n=c(`.quick-switch-result[data-index="${P.selectedIdx}"]`);t&&t.classList.remove("selected"),n&&n.classList.add("selected")}function Mi(e){let t=P.autocompleteResults.length;if(P.selectedIdx===null){if(e>=0)return 0;if(e<0)return t-1}return(P.selectedIdx+e+t)%t}var Bi=".display-settings",qi="#settings-modal-content",Ze="#modal-settings-tab",et="#modal-keyboard-shortcuts-tab",hn="#settings-content",pn="#keyboard-shortcuts-content",zi=[{title:"Settings",id:"modal-settings-tab"},{title:"Keyboard shortcuts",id:"modal-keyboard-shortcuts-tab"}];function mn(){$i()}function $i(){k(Bi).forEach(e=>{e.addEventListener("click",t=>{tt()})})}function fn(){c(et).classList.remove("active"),c(Ze).classList.add("active"),c(hn).classList.remove("hidden"),c(pn).classList.add("hidden")}function Vi(){c(et).classList.add("active"),c(Ze).classList.remove("active"),c(pn).classList.remove("hidden"),c(hn).classList.add("hidden")}function tt(){Oe({title:zi.map(({id:s,title:o})=>``).join(""),body:Handlebars.templates["settings-modal-body"]({shortcuts:nt})});let e=c(qi),t=e.querySelector('[name="theme"]'),n=e.querySelector('[name="tooltips"]'),r=e.querySelector('[name="direct_livebook_url"]'),i=e.querySelector('[name="livebook_url"]');O.getAndSubscribe(s=>{t.value=s.theme||"system",n.checked=s.tooltips,s.livebookUrl===null?(r.checked=!1,i.classList.add("hidden"),i.tabIndex=-1):(r.checked=!0,i.classList.remove("hidden"),i.tabIndex=0,i.value=s.livebookUrl)}),t.addEventListener("change",s=>{O.update({theme:s.target.value})}),n.addEventListener("change",s=>{O.update({tooltips:s.target.checked})}),r.addEventListener("change",s=>{let o=s.target.checked?i.value:null;O.update({livebookUrl:o})}),i.addEventListener("input",s=>{O.update({livebookUrl:s.target.value})}),c(Ze).addEventListener("click",s=>{fn()}),c(et).addEventListener("click",s=>{Vi()}),fn()}var ji="#settings-modal-content",nt=[{key:"c",description:"Toggle sidebar",action:Pe},{key:"n",description:"Cycle themes",action:Zt},{key:"s",description:"Focus search bar",displayAs:"/ or s",action:gn},{key:"/",action:gn},{key:"g",description:"Search HexDocs package",displayAs:"g",action:Xe},{key:"?",displayAs:"?",description:"Bring up this modal",action:Ki}],rt={shortcutBeingPressed:null};function yn(){Ui()}function Ui(){document.addEventListener("keydown",Wi),document.addEventListener("keyup",Gi)}function Wi(e){if(rt.shortcutBeingPressed||e.target.matches("input, textarea")||e.ctrlKey||e.metaKey||e.altKey)return;let t=nt.find(n=>n.key===e.key);t&&(rt.shortcutBeingPressed=t,e.preventDefault(),t.action(e))}function Gi(e){rt.shortcutBeingPressed=null}function gn(e){ce(),Ne(),qt()}function Ki(){Yi()?ce():tt()}function Yi(){return an()&&c(ji)}var K={plain:"plain",function:"function",module:"module"},Ji=[{href:"typespecs.html#basic-types",hint:{kind:K.plain,description:"Basic type"}},{href:"typespecs.html#literals",hint:{kind:K.plain,description:"Literal"}},{href:"typespecs.html#built-in-types",hint:{kind:K.plain,description:"Built-in type"}}],Ie={cancelHintFetching:null};function vn(e){if(Sn(e))return!0;let t=/#.*\//;return e.includes("#")&&!t.test(e)?!1:e.includes(".html")}function bn(e){let t=Sn(e);return t?Promise.resolve(t):Xi(e)}function Sn(e){let t=Ji.find(n=>e.includes(n.href));return t?t.hint:null}function Xi(e){let t=e.replace(".html",".html?hint=true");return new Promise((n,r)=>{let i=document.createElement("iframe");i.setAttribute("sandbox","allow-scripts allow-same-origin"),i.setAttribute("src",t),i.style.display="none";function s(a){let{href:l,hint:u}=a.data;t===l&&(o(),n(u))}Ie.cancelHintFetching=()=>{o(),r(new Error("cancelled"))};function o(){i.remove(),window.removeEventListener("message",s),Ie.cancelHintFetching=null}window.addEventListener("message",s),document.body.appendChild(i)})}function xn(){Ie.cancelHintFetching&&Ie.cancelHintFetching()}function En(e){let n=e.querySelector("h1").textContent,r=e.querySelector(".docstring > p"),i=r?r.innerHTML:"";return{kind:K.function,title:n.trim(),description:i.trim()}}function Ln(e){let n=e.querySelector("h1 > span").textContent,r=e.querySelector("#moduledoc p"),i=r?r.innerHTML:"";return{kind:K.module,title:n.trim(),description:i.trim()}}var Zi=".content a",it="#tooltip",es="#tooltip .tooltip-body",wn="body .content-inner",ts="#content",kn="tooltip-shown",le=10,ns=le*4,Tn={height:450,width:768},rs=100,ne={currentLinkElement:null,hoverDelayTimeout:null};function _n(){is(),ss()}function is(){let e=Handlebars.templates["tooltip-layout"]();c(wn).insertAdjacentHTML("beforeend",e)}function ss(){k(Zi).forEach(e=>{os(e)&&(e.addEventListener("mouseenter",t=>{cs(e)}),e.addEventListener("mouseleave",t=>{fs(e)}))})}function os(e){return!(e.classList.contains("detail-link")||as(e.href)||!vn(e.href))}function as(e){let t=e.replace(ts,"");return window.location.href.split("#")[0]===t}function cs(e){ls()&&(ne.currentLinkElement=e,ne.hoverDelayTimeout=setTimeout(()=>{bn(e.href).then(t=>{us(t),ds()}).catch(()=>{})},rs))}function ls(){let e=window.innerWidthe.firstElementChild&&e.firstElementChild.tagName==="CODE").forEach(e=>e.insertAdjacentHTML("beforeend",Es)),Array.from(k(".copy-button")).forEach(e=>{let t;e.addEventListener("click",()=>{let n=e.querySelector("[aria-live]");t&&clearTimeout(t);let r=Array.from(e.parentElement.querySelector("code").childNodes).filter(i=>!(i.tagName==="SPAN"&&i.classList.contains("unselectable"))).map(i=>i.textContent).join("");navigator.clipboard.writeText(r),e.classList.add("clicked"),n.innerHTML="Copied! ✓",t=setTimeout(()=>{e.classList.remove("clicked"),n.innerHTML=""},3e3)})})}function Pn(){let t=/(Macintosh|iPhone|iPad|iPod)/.test(window.navigator.userAgent)?"apple-os":"non-apple-os";document.documentElement.classList.add(t)}var Ts="content",ws="tabs-open",ks="tabs-close",_s="H3",Os="tabset";function Nn(){Is().map(Cs).forEach(n=>Rs(n))}function Is(){let e=document.createNodeIterator(document.getElementById(Ts),NodeFilter.SHOW_COMMENT,{acceptNode(r){return r.nodeValue.trim()===ws?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),t=[],n;for(;n=e.nextNode();)t.push(n);return t}function Cs(e,t,n){let r=[],i=[],s={label:"",content:[]};for(;e=e.nextSibling;){if(As(e)){Rn(s,i,t);break}r.push(e),e.nodeName===_s?(Rn(s,i,t),s.label=e.innerText,s.content=[]):s.content.push(e.outerHTML)}let o=document.createElement("div");return o.className=Os,Ps(r,o),o.innerHTML=Handlebars.templates.tabset({tabs:i}),o}function As(e){return e.nodeName==="#comment"&&e.nodeValue.trim()===ks}function Rn(e,t,n){if(e.label===""&&!e.content.length)return!1;let r=e.label,i=e.content;t.push({label:r,content:i,setIndex:n})}function Ps(e,t){if(!e||!e.length)return!1;e[0].parentNode.insertBefore(t,e[0]),e.forEach(n=>t.appendChild(n))}function Rs(e){let t={tabs:e.querySelectorAll(':scope [role="tab"]'),panels:e.querySelectorAll(':scope [role="tabpanel"]'),activeIndex:0};t.tabs.forEach((n,r)=>{n.addEventListener("click",i=>{Y(r,t)}),n.addEventListener("keydown",i=>{let s=t.tabs.length-1;i.code==="ArrowLeft"?(i.preventDefault(),t.activeIndex===0?Y(s,t):Y(t.activeIndex-1,t)):i.code==="ArrowRight"?(i.preventDefault(),t.activeIndex===s?Y(0,t):Y(t.activeIndex+1,t)):i.code==="Home"?(i.preventDefault(),Y(0,t)):i.code==="End"&&(i.preventDefault(),Y(s,t))})})}function Y(e,t){t.tabs[t.activeIndex].setAttribute("aria-selected","false"),t.tabs[t.activeIndex].tabIndex=-1,t.tabs[e].setAttribute("aria-selected","true"),t.tabs[e].tabIndex=0,t.tabs[e].focus(),t.panels[t.activeIndex].setAttribute("hidden",""),t.panels[t.activeIndex].tabIndex=-1,t.panels[e].removeAttribute("hidden"),t.panels[e].tabIndex=0,t.activeIndex=e}ft(()=>{Xt(),Tt(),Ct(),Mt(),$t(),gt(),nn(),sn(),yn(),dn(),Yt(),_n(),Cn(),Gt(),An(),mn(),Pn(),Nn()});})(); /*! Bundled license information: lunr/lunr.js: From 7f27d55926c7b86aef44f371da9dce90eef35170 Mon Sep 17 00:00:00 2001 From: Angelika Tyborska Date: Fri, 15 Sep 2023 19:58:18 +0200 Subject: [PATCH 011/112] Fix sidebar overflow-y behavior (#1776) --- assets/css/sidebar.css | 12 ++++++++---- .../formatter/html/templates/sidebar_template.eex | 6 +++--- test/ex_doc/formatter/html/templates_test.exs | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/assets/css/sidebar.css b/assets/css/sidebar.css index f38ab9b3b..3df2f0cdc 100644 --- a/assets/css/sidebar.css +++ b/assets/css/sidebar.css @@ -218,14 +218,18 @@ font-weight: bold; } -.sidebar .full-list { - margin: 0; - padding: 20px 0; +.sidebar .sidebar-tabpanel { + flex: 1 1 .01%; overflow-y: auto; overscroll-behavior: contain; position: relative; -webkit-overflow-scrolling: touch; - flex: 1 1 .01%; +} + +.sidebar .full-list { + margin: 0; + padding: 20px 0; + position: relative; } .sidebar .full-list :is(li, a) { diff --git a/lib/ex_doc/formatter/html/templates/sidebar_template.eex b/lib/ex_doc/formatter/html/templates/sidebar_template.eex index 17223ca03..ac0390c40 100644 --- a/lib/ex_doc/formatter/html/templates/sidebar_template.eex +++ b/lib/ex_doc/formatter/html/templates/sidebar_template.eex @@ -63,18 +63,18 @@ -
    + <%= if nodes_map.modules != [] do %> -