From 118d42156c63729eb0fed6c0e7fcef9ef4cd30d8 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Sat, 23 Mar 2024 21:21:33 +0000 Subject: [PATCH] build based on fb598c3 --- previews/PR543/.documenter-siteinfo.json | 1 + previews/PR543/POMDPTools/beliefs/index.html | 7 + .../PR543/POMDPTools/common_rl/index.html | 16 + .../PR543/POMDPTools/distributions/index.html | 11 + previews/PR543/POMDPTools/index.html | 2 + previews/PR543/POMDPTools/model/index.html | 41 + previews/PR543/POMDPTools/policies/index.html | 41 + .../PR543/POMDPTools/simulators/index.html | 80 ++ previews/PR543/POMDPTools/testing/index.html | 8 + .../PR543/POMDPTools/visualization/index.html | 7 + previews/PR543/api/index.html | 36 + previews/PR543/assets/documenter.js | 1050 +++++++++++++++++ previews/PR543/assets/logo.png | Bin 0 -> 21765 bytes .../PR543/assets/themes/documenter-dark.css | 7 + .../PR543/assets/themes/documenter-light.css | 9 + previews/PR543/assets/themeswap.js | 84 ++ previews/PR543/assets/warner.js | 52 + previews/PR543/concepts/index.html | 2 + previews/PR543/def_pomdp/index.html | 199 ++++ previews/PR543/def_solver/index.html | 2 + previews/PR543/def_updater/index.html | 32 + .../example_defining_problems/index.html | 250 ++++ .../PR543/example_gridworld_mdp/index.html | 370 ++++++ previews/PR543/example_simulations/index.html | 181 +++ previews/PR543/example_solvers/index.html | 155 +++ previews/PR543/examples/DroneSurveillance.gif | Bin 0 -> 261164 bytes previews/PR543/examples/EscapeRoomba.gif | Bin 0 -> 664716 bytes previews/PR543/examples/QuickMountainCar.gif | Bin 0 -> 41909 bytes previews/PR543/examples/RockSample.gif | Bin 0 -> 112628 bytes previews/PR543/examples/TagPOMDP.gif | Bin 0 -> 378397 bytes .../PR543/examples/crying_baby_examples.jl | 230 ++++ .../PR543/examples/crying_baby_solvers.jl | 24 + .../PR543/examples/grid_world_overview.gif | Bin 0 -> 8958 bytes previews/PR543/examples/index.html | 2 + previews/PR543/faq/index.html | 17 + previews/PR543/figures/concepts.png | Bin 0 -> 30557 bytes .../PR543/figures/interface_relationships.svg | 639 ++++++++++ previews/PR543/figures/mdp_ddn.svg | 748 ++++++++++++ previews/PR543/figures/pomdp_ddn.svg | 829 +++++++++++++ .../PR543/figures/requirements_info_gw.png | Bin 0 -> 90687 bytes .../PR543/figures/requirements_info_new.png | Bin 0 -> 171472 bytes previews/PR543/gallery/index.html | 202 ++++ previews/PR543/get_started/index.html | 16 + previews/PR543/index.html | 2 + previews/PR543/install/index.html | 3 + previews/PR543/interfaces/index.html | 2 + previews/PR543/objects.inv | Bin 0 -> 5841 bytes previews/PR543/offline_solver/index.html | 73 ++ previews/PR543/online_solver/index.html | 59 + previews/PR543/policy_interaction/index.html | 2 + previews/PR543/run_simulation/index.html | 3 + previews/PR543/search_index.js | 3 + previews/PR543/simulation/index.html | 24 + previews/PR543/siteinfo.js | 1 + 54 files changed, 5522 insertions(+) create mode 100644 previews/PR543/.documenter-siteinfo.json create mode 100644 previews/PR543/POMDPTools/beliefs/index.html create mode 100644 previews/PR543/POMDPTools/common_rl/index.html create mode 100644 previews/PR543/POMDPTools/distributions/index.html create mode 100644 previews/PR543/POMDPTools/index.html create mode 100644 previews/PR543/POMDPTools/model/index.html create mode 100644 previews/PR543/POMDPTools/policies/index.html create mode 100644 previews/PR543/POMDPTools/simulators/index.html create mode 100644 previews/PR543/POMDPTools/testing/index.html create mode 100644 previews/PR543/POMDPTools/visualization/index.html create mode 100644 previews/PR543/api/index.html create mode 100644 previews/PR543/assets/documenter.js create mode 100644 previews/PR543/assets/logo.png create mode 100644 previews/PR543/assets/themes/documenter-dark.css create mode 100644 previews/PR543/assets/themes/documenter-light.css create mode 100644 previews/PR543/assets/themeswap.js create mode 100644 previews/PR543/assets/warner.js create mode 100644 previews/PR543/concepts/index.html create mode 100644 previews/PR543/def_pomdp/index.html create mode 100644 previews/PR543/def_solver/index.html create mode 100644 previews/PR543/def_updater/index.html create mode 100644 previews/PR543/example_defining_problems/index.html create mode 100644 previews/PR543/example_gridworld_mdp/index.html create mode 100644 previews/PR543/example_simulations/index.html create mode 100644 previews/PR543/example_solvers/index.html create mode 100644 previews/PR543/examples/DroneSurveillance.gif create mode 100644 previews/PR543/examples/EscapeRoomba.gif create mode 100644 previews/PR543/examples/QuickMountainCar.gif create mode 100644 previews/PR543/examples/RockSample.gif create mode 100644 previews/PR543/examples/TagPOMDP.gif create mode 100644 previews/PR543/examples/crying_baby_examples.jl create mode 100644 previews/PR543/examples/crying_baby_solvers.jl create mode 100644 previews/PR543/examples/grid_world_overview.gif create mode 100644 previews/PR543/examples/index.html create mode 100644 previews/PR543/faq/index.html create mode 100644 previews/PR543/figures/concepts.png create mode 100644 previews/PR543/figures/interface_relationships.svg create mode 100644 previews/PR543/figures/mdp_ddn.svg create mode 100644 previews/PR543/figures/pomdp_ddn.svg create mode 100644 previews/PR543/figures/requirements_info_gw.png create mode 100644 previews/PR543/figures/requirements_info_new.png create mode 100644 previews/PR543/gallery/index.html create mode 100644 previews/PR543/get_started/index.html create mode 100644 previews/PR543/index.html create mode 100644 previews/PR543/install/index.html create mode 100644 previews/PR543/interfaces/index.html create mode 100644 previews/PR543/objects.inv create mode 100644 previews/PR543/offline_solver/index.html create mode 100644 previews/PR543/online_solver/index.html create mode 100644 previews/PR543/policy_interaction/index.html create mode 100644 previews/PR543/run_simulation/index.html create mode 100644 previews/PR543/search_index.js create mode 100644 previews/PR543/simulation/index.html create mode 100644 previews/PR543/siteinfo.js diff --git a/previews/PR543/.documenter-siteinfo.json b/previews/PR543/.documenter-siteinfo.json new file mode 100644 index 00000000..3230c1a8 --- /dev/null +++ b/previews/PR543/.documenter-siteinfo.json @@ -0,0 +1 @@ +{"documenter":{"julia_version":"1.10.2","generation_timestamp":"2024-03-23T21:21:27","documenter_version":"1.3.0"}} \ No newline at end of file diff --git a/previews/PR543/POMDPTools/beliefs/index.html b/previews/PR543/POMDPTools/beliefs/index.html new file mode 100644 index 00000000..3669bd6e --- /dev/null +++ b/previews/PR543/POMDPTools/beliefs/index.html @@ -0,0 +1,7 @@ + +Implemented Belief Updaters · POMDPs.jl

Implemented Belief Updaters

POMDPTools provides the following generic belief updaters:

  • a discrete belief updater
  • a k previous observation updater
  • a previous observation updater
  • a nothing updater (for when the policy does not depend on any feedback)

For particle filters see ParticleFilters.jl.

Discrete (Bayesian Filter)

The DiscreteUpater is a default implementation of a discrete Bayesian filter. The DiscreteBelief type is provided to represent discrete beliefs for discrete state POMDPs.

A convenience function uniform_belief is provided to create a DiscreteBelief with equal probability for each state.

POMDPTools.BeliefUpdaters.DiscreteBeliefType
DiscreteBelief

A belief specified by a probability vector.

Normalization of b is assumed in some calculations (e.g. pdf), but it is only automatically enforced in update(...), and a warning is given if normalized incorrectly in DiscreteBelief(pomdp, b).

Constructor

DiscreteBelief(pomdp, b::Vector{Float64}; check::Bool=true)

Fields

  • pomdp : the POMDP problem
  • state_list : a vector of ordered states
  • b : the probability vector
source

K Previous Observations

POMDPTools.BeliefUpdaters.KMarkovUpdaterType
KMarkovUpdater

Updater that stores the k most recent observations as the belief.

Example:

up = KMarkovUpdater(5)
+s0 = rand(rng, initialstate(pomdp))
+initial_observation = rand(rng, initialobs(pomdp, s0))
+initial_obs_vec = fill(initial_observation, 5)
+hr = HistoryRecorder(rng=rng, max_steps=100)
+hist = simulate(hr, pomdp, policy, up, initial_obs_vec, s0)
source

Previous Observation

Nothing Updater

diff --git a/previews/PR543/POMDPTools/common_rl/index.html b/previews/PR543/POMDPTools/common_rl/index.html new file mode 100644 index 00000000..44740670 --- /dev/null +++ b/previews/PR543/POMDPTools/common_rl/index.html @@ -0,0 +1,16 @@ + +CommonRLInterface Integration · POMDPs.jl

CommonRLInterface Integration

POMDPTools provides two-way integration with the CommonRLInterface.jl package. Using the convert function, one can convert an MDP or POMDP object to a CommonRLInterface environment, or vice-versa.

For example,

using POMDPs
+using POMDPTools
+using POMDPModels
+using CommonRLInterface
+
+env = convert(AbstractEnv, BabyPOMDP())
+
+r = act!(env, true)
+observe(env)

converts a Crying Baby POMDP to an RL environment and acts in and observes the environment. This environment (or any other CommonRLInterface environment), can be converted to an MDP or POMDP:

using BasicPOMCP
+
+m = convert(POMDP, env)
+planner = solve(POMCPSolver(), m)
+a = action(planner, initialstate(m))

You can also use the constructors listed below to manually convert between the interfaces.

Environment Wrapper Types

Since the standard reinforcement learning environment interface offers less information about the internal workings of the environment than the POMDPs.jl interface, MDPs and POMDPs created from these environments will have limited functionality. There are two types of (PO)MDP types that can wrap an environment:

Generative model wrappers

If the state and setstate! CommonRLInterface functions are provided, then the environment can be wrapped in a RLEnvMDP or RLEnvPOMDP and the POMDPs.jl generative model interface will be available.

Opaque wrappers

If the state and setstate! are not provided, then the resulting POMDP or MDP can only be simulated. This case is represented using the OpaqueRLEnvPOMDP and OpaqueRLEnvMDP wrappers. From the POMDPs.jl perspective, the state of the opaque (PO)MDP is just an integer wrapped in an OpaqueRLEnvState. This keeps track of the "age" of the environment so that POMDPs.jl actions that attempt to interact with the environment at a different age are invalid.

Constructors

Creating RL environments from MDPs and POMDPs

POMDPTools.CommonRLIntegration.MDPCommonRLEnvType
MDPCommonRLEnv(m, [s])
+MDPCommonRLEnv{RLO}(m, [s])

Create a CommonRLInterface environment from MDP m; optionally specify the state 's'.

The RLO parameter can be used to specify a type to convert the observation to. By default, this is AbstractArray. Use Any to disable conversion.

source
POMDPTools.CommonRLIntegration.POMDPCommonRLEnvType
POMDPCommonRLEnv(m, [s], [o])
+POMDPCommonRLEnv{RLO}(m, [s], [o])

Create a CommonRLInterface environment from POMDP m; optionally specify the state 's' and observation 'o'.

The RLO and RLS parameters can be used to specify types to convert the observation and state to. By default, this is AbstractArray. Use Any to disable conversion.

source

Creating MDPs and POMDPs from RL environments

POMDPTools.CommonRLIntegration.RLEnvMDPType
RLEnvMDP(env; discount=1.0)

Create an MDP by wrapping a CommonRLInterface.AbstractEnv. state and setstate! from CommonRLInterface must be provided, and the POMDPs generative model functionality will be provided.

source
POMDPTools.CommonRLIntegration.RLEnvPOMDPType
RLEnvPOMDP(env; discount=1.0)

Create an POMDP by wrapping a CommonRLInterface.AbstractEnv. state and setstate! from CommonRLInterface must be provided, and the POMDPs generative model functionality will be provided.

source
diff --git a/previews/PR543/POMDPTools/distributions/index.html b/previews/PR543/POMDPTools/distributions/index.html new file mode 100644 index 00000000..873c934c --- /dev/null +++ b/previews/PR543/POMDPTools/distributions/index.html @@ -0,0 +1,11 @@ + +Implemented Distributions · POMDPs.jl

Implemented Distributions

POMDPTools contains several utility distributions to be used in the POMDPs transition and observation functions. These implement the appropriate methods of the functions in the distributions interface.

This package also supplies showdistribution for pretty printing distributions as unicode bar graphs to the terminal.

Sparse Categorical (SparseCat)

SparseCat is a sparse categorical distribution which is specified by simply providing a list of possible values (states or observations) and the probabilities corresponding to those particular objects.

Example: SparseCat([1,2,3], [0.1,0.2,0.7]) is a categorical distribution that assigns probability 0.1 to 1, 0.2 to 2, 0.7 to 3, and 0 to all other values.

POMDPTools.POMDPDistributions.SparseCatType
SparseCat(values, probabilities)

Create a sparse categorical distribution.

values is an iterable object containing the possible values (can be of any type) in the distribution that have nonzero probability. probabilities is an iterable object that contains the associated probabilities.

This is optimized for value iteration with a fast implementation of weighted_iterator. Both pdf and rand are order n.

source

Implicit

In situations where a distribution object is required, but the pdf is difficult to specify and only samples are required, ImplicitDistribution provides a convenient way to package a sampling function.

POMDPTools.POMDPDistributions.ImplicitDistributionType
ImplicitDistribution(sample_function, args...)

Define a distribution that can only be sampled from using rand, but has no explicit pdf.

Each time rand(rng, d::ImplicitDistribution) is called,

sample_function(args..., rng)

will be called to generate a new sample.

ImplicitDistribution is designed to be used with anonymous functions or the do syntax as follows:

Examples

ImplicitDistribution(rng->rand(rng)^2)
struct MyMDP <: MDP{Float64, Int} end
+
+function POMDPs.transition(m::MyMDP, s, a)
+    ImplicitDistribution(s, a) do s, a, rng
+        return s + a + 0.001*randn(rng)
+    end
+end
+
+td = transition(MyMDP(), 1.0, 1)
+rand(td) # will return a number near 2
source

Bool Distribution

Deterministic

POMDPTools.POMDPDistributions.DeterministicType
Deterministic(value)

Create a deterministic distribution over only one value.

This is intended to be used when a distribution is required, but the outcome is deterministic. It is equivalent to a Kronecker Delta distribution.

source

Uniform

POMDPTools.POMDPDistributions.UniformType
Uniform(collection)

Create a uniform categorical distribution over a collection of objects.

The objects in the collection must be unique (this is tested on construction), and will be stored in a Set. To avoid this overhead, use UnsafeUniform.

source
POMDPTools.POMDPDistributions.UnsafeUniformType
UnsafeUniform(collection)

Create a uniform categorical distribution over a collection of objects.

No checks are performed to ensure uniqueness or check whether an object is actually in the set when evaluating the pdf.

source

Pretty Printing

diff --git a/previews/PR543/POMDPTools/index.html b/previews/PR543/POMDPTools/index.html new file mode 100644 index 00000000..420ffe44 --- /dev/null +++ b/previews/PR543/POMDPTools/index.html @@ -0,0 +1,2 @@ + +POMDPTools: the standard library for POMDPs.jl · POMDPs.jl

POMDPTools: the standard library for POMDPs.jl

The POMDPs.jl package does nothing more than define an interface or language for interacting with and solving (PO)MDPs; it does not contain any implementations. In practice, defining and solving POMDPs is made vastly easier if some commonly-used structures are provided. The POMDPTools package contains these implementations. Thus, the relationship between POMDPs.jl and POMDPTools is similar to the relationship between a programming language and its standard library.

The POMDPTools package source code is hosted in the POMDPs.jl github repository in the lib/POMDPTools directory.

The contents of the library are outlined below:

diff --git a/previews/PR543/POMDPTools/model/index.html b/previews/PR543/POMDPTools/model/index.html new file mode 100644 index 00000000..c27e35f6 --- /dev/null +++ b/previews/PR543/POMDPTools/model/index.html @@ -0,0 +1,41 @@ + +Model Tools · POMDPs.jl

Model Tools

POMDPTools contains assorted tools that are not part of the core POMDPs.jl interface for working with (PO)MDP Models.

Interface Extensions

POMDPTools contains several interface extensions that provide shortcuts and standardized ways of dealing with extra data.

Programmers should use these functions whenever possible in case optimized implementations are available, but all of the functions have default implementations based on the core POMDPs.jl interface. Thus, if the core interface is implemented, all of these functions will also be available.

Weighted Iteration

Many solution techniques, for example value iteration, require iteration through the support of a distribution and evaluating the probability mass for each value. In some cases, looking up the probability mass is expensive, so it is more efficient to iterate through value => probability pairs. weighted_iterator provides a standard interface for this.

POMDPTools.POMDPDistributions.weighted_iteratorFunction
weighted_iterator(d)

Return an iterator through pairs of the values and probabilities in distribution d.

This is designed to speed up value iteration. Distributions are encouraged to provide a custom optimized implementation if possible.

Example

julia> d = BoolDistribution(0.7)
+BoolDistribution(0.7)
+
+julia> collect(weighted_iterator(d))
+2-element Array{Pair{Bool,Float64},1}:
+  true => 0.7
+ false => 0.3
source

Observation Weight

Sometimes, e.g. in particle filtering, the relative likelihood of an observation is required in addition to a generative model, and it is often tedious to implement a custom observation distribution type. For this case, the shortcut function obs_weight is provided.

POMDPTools.ModelTools.obs_weightFunction
obs_weight(pomdp, s, a, sp, o)

Return a weight proportional to the likelihood of receiving observation o from state sp (and a and s if they are present).

This is a useful shortcut for particle filtering so that the observation distribution does not have to be represented.

source

Ordered Spaces

It is often useful to have a list of states, actions, or observations ordered consistently with the respective index function from POMDPs.jl. Since the POMDPs.jl interface does not demand that spaces be ordered consistently with index, the states, actions, and observations functions are not sufficient. Thus POMDPModelTools provides ordered_actions, ordered_states, and ordered_observations to provide this capability.

POMDPTools.ModelTools.ordered_actionsFunction
ordered_actions(mdp)

Return an AbstractVector of actions ordered according to actionindex(mdp, a).

ordered_actions(mdp) will always return an AbstractVector{A} v containing all of the actions in actions(mdp) in the order such that actionindex(mdp, v[i]) == i. You may wish to override this for your problem for efficiency.

source
POMDPTools.ModelTools.ordered_statesFunction
ordered_states(mdp)

Return an AbstractVector of states ordered according to stateindex(mdp, a).

ordered_states(mdp) will always return a AbstractVector{A} v containing all of the states in states(mdp) in the order such that stateindex(mdp, v[i]) == i. You may wish to override this for your problem for efficiency.

source
POMDPTools.ModelTools.ordered_observationsFunction
ordered_observations(pomdp)

Return an AbstractVector of observations ordered according to obsindex(pomdp, a).

ordered_observations(mdp) will always return a AbstractVector{A} v containing all of the observations in observations(pomdp) in the order such that obsindex(pomdp, v[i]) == i. You may wish to override this for your problem for efficiency.

source

Info Interface

It is often the case that useful information besides the belief, state, action, etc is generated by a function in POMDPs.jl. This information can be useful for debugging or understanding the behavior of a solver, updater, or problem. The info interface provides a standard way for problems, policies, solvers or updaters to output this information. The recording simulators from POMDPTools automatically record this information.

To specify info from policies, solvers, or updaters, implement the following functions:

POMDPTools.ModelTools.action_infoFunction
a, ai = action_info(policy, x)

Return a tuple containing the action determined by policy 'p' at state or belief 'x' and information (usually a NamedTuple, Dict or nothing) from the calculation of that action.

By default, returns nothing as info.

source
POMDPTools.ModelTools.solve_infoFunction
policy, si = solve_info(solver, problem)

Return a tuple containing the policy determined by a solver and information (usually a NamedTuple, Dict or nothing) from the calculation of that policy.

By default, returns nothing as info.

source
POMDPTools.ModelTools.update_infoFunction
bp, i = update_info(updater, b, a, o)

Return a tuple containing the new belief and information (usually a NamedTuple, Dict or nothing) from the belief update.

By default, returns nothing as info.

source

Model Transformations

POMDPTools contains several tools for transforming problems into other classes so that they can be used by different solvers.

Linear Algebra Representations

For some algorithms, such as value iteration, it is convenient to use vectors that contain the reward for every state, and matrices that contain the transition probabilities. These can be constructed with the following functions:

POMDPTools.ModelTools.transition_matricesFunction
transition_matrices(p::SparseTabularProblem)

Accessor function for the transition model of a sparse tabular problem. It returns a list of sparse matrices for each action of the problem.

source
transition_matrices(m::Union{MDP,POMDP})
+transition_matrices(m; sparse=true)

Construct transition matrices for (PO)MDP m.

The returned object is an associative object (usually a Dict), where the keys are actions. Each value in this object is an AbstractMatrix where the row corresponds to the state index of s and the column corresponds to the state index of s'. The entry in the matrix is the probability of transitioning from state s to state s'.

source
POMDPTools.ModelTools.reward_vectorsFunction
reward_vectors(m::Union{MDP, POMDP})

Construct reward vectors for (PO)MDP m.

The returned object is an associative object (usually a Dict), where the keys are actions. Each value in this object is an AbstractVector where the index corresponds to the state index of s and the entry is the reward for that state.

source

Sparse Tabular MDPs and POMDPs

The SparseTabularMDP and SparseTabularPOMDP represents discrete problems defined using the explicit interface. The transition and observation models are represented using sparse matrices. Solver writers can leverage these data structures to write efficient vectorized code. A problem writer can define its problem using the explicit interface and it can be automatically converted to a sparse tabular representation by calling the constructors SparseTabularMDP(::MDP) or SparseTabularPOMDP(::POMDP). See the following docs to know more about the matrix representation and how to access the fields of the SparseTabular objects:

POMDPTools.ModelTools.SparseTabularMDPType
SparseTabularMDP

An MDP object where states and actions are integers and the transition is represented by a list of sparse matrices. This data structure can be useful to exploit in vectorized algorithm (e.g. see SparseValueIterationSolver). The recommended way to access the transition and reward matrices is through the provided accessor functions: transition_matrix and reward_vector.

Fields

  • T::Vector{SparseMatrixCSC{Float64, Int64}} The transition model is represented as a vector of sparse matrices (one for each action). T[a][s, sp] the probability of transition from s to sp taking action a.
  • R::Array{Float64, 2} The reward is represented as a matrix where the rows are states and the columns actions: R[s, a] is the reward of taking action a in sate s.
  • initial_probs::SparseVector{Float64, Int64} Specifies the initial state distribution
  • terminal_states::Set{Int64} Stores the terminal states
  • discount::Float64 The discount factor

Constructors

  • SparseTabularMDP(mdp::MDP) : One can provide the matrices to the default constructor or one can construct a SparseTabularMDP from any discrete state MDP defined using the explicit interface.

Note that constructing the transition and reward matrices requires to iterate over all the states and can take a while. To learn more information about how to define an MDP with the explicit interface please visit https://juliapomdp.github.io/POMDPs.jl/latest/explicit/ .

  • SparseTabularMDP(smdp::SparseTabularMDP; transition, reward, discount) : This constructor returns a new sparse MDP that is a copy of the original smdp except for the field specified by the keyword arguments.
source
POMDPTools.ModelTools.SparseTabularPOMDPType
SparseTabularPOMDP

A POMDP object where states and actions are integers and the transition and observation distributions are represented by lists of sparse matrices. This data structure can be useful to exploit in vectorized algorithms to gain performance (e.g. see SparseValueIterationSolver). The recommended way to access the transition, reward, and observation matrices is through the provided accessor functions: transition_matrix, reward_vector, observation_matrix.

Fields

  • T::Vector{SparseMatrixCSC{Float64, Int64}} The transition model is represented as a vector of sparse matrices (one for each action). T[a][s, sp] the probability of transition from s to sp taking action a.
  • R::Array{Float64, 2} The reward is represented as a matrix where the rows are states and the columns actions: R[s, a] is the reward of taking action a in sate s.
  • O::Vector{SparseMatrixCSC{Float64, Int64}} The observation model is represented as a vector of sparse matrices (one for each action). O[a][sp, o] is the probability of observing o from state sp after having taken action a.
  • initial_probs::SparseVector{Float64, Int64} Specifies the initial state distribution
  • terminal_states::Set{Int64} Stores the terminal states
  • discount::Float64 The discount factor

Constructors

  • SparseTabularPOMDP(pomdp::POMDP) : One can provide the matrices to the default constructor or one can construct a SparseTabularPOMDP from any discrete state MDP defined using the explicit interface.

Note that constructing the transition and reward matrices requires to iterate over all the states and can take a while. To learn more information about how to define an MDP with the explicit interface please visit https://juliapomdp.github.io/POMDPs.jl/latest/explicit/ .

  • SparseTabularPOMDP(spomdp::SparseTabularMDP; transition, reward, observation, discount) : This constructor returns a new sparse POMDP that is a copy of the original smdp except for the field specified by the keyword arguments.
source
POMDPTools.ModelTools.transition_matrixFunction
transition_matrix(p::SparseTabularProblem, a)

Accessor function for the transition model of a sparse tabular problem. It returns a sparse matrix containing the transition probabilities when taking action a: T[s, sp] = Pr(sp | s, a).

source
POMDPTools.ModelTools.reward_vectorFunction
reward_vector(p::SparseTabularProblem, a)

Accessor function for the reward function of a sparse tabular problem. It returns a vector containing the reward for all the states when taking action a: R(s, a). The length of the return vector is equal to the number of states.

source
POMDPTools.ModelTools.observation_matrixFunction
observation_matrix(p::SparseTabularPOMDP, a::Int64)

Accessor function for the observation model of a sparse tabular POMDP. It returns a sparse matrix containing the observation probabilities when having taken action a: O[sp, o] = Pr(o | sp, a).

source
POMDPTools.ModelTools.observation_matricesFunction
observation_matrices(p::SparseTabularPOMDP)

Accessor function for the observation model of a sparse tabular POMDP. It returns a list of sparse matrices for each action of the problem.

source

Fully Observable POMDP

Generative Belief MDP

Every POMDP is an MDP on the belief space GenerativeBeliefMDP creates a generative model for that MDP.

Warning

The reward generated by the GenerativeBeliefMDP is the reward for a single state sampled from the belief; it is not the expected reward for that belief transition (though, in expectation, they are equivalent of course). Implementing the model with the expected reward requires a custom implementation because belief updaters do not typically deal with reward.

Example

using POMDPs
+using POMDPModels
+using POMDPTools
+
+pomdp = BabyPOMDP()
+updater = DiscreteUpdater(pomdp)
+
+belief_mdp = GenerativeBeliefMDP(pomdp, updater)
+@show statetype(belief_mdp) # POMDPModels.BoolDistribution
+
+for (a, r, sp) in stepthrough(belief_mdp, RandomPolicy(belief_mdp), "a,r,sp", max_steps=5)
+    @show a, r, sp
+end
+
+# output
+statetype(belief_mdp) = DiscreteBelief{POMDPModels.BabyPOMDP, Bool}Bool}
+(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))
+(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))
+(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))
+(a, r, sp) = (false, 0.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [0.9759036144578314, 0.02409638554216867]))
+(a, r, sp) = (false, 0.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [0.9701315984030756, 0.029868401596924433]))

Underlying MDP

State Action Reward Model

POMDPTools.ModelTools.StateActionRewardType
StateActionReward(m::Union{MDP,POMDP})

Robustly create a reward function that depends only on the state and action.

If reward(m, s, a) is implemented, that will be used, otherwise the mean of reward(m, s, a, sp) for MDPs or reward(m, s, a, sp, o) for POMDPs will be used.

Example

using POMDPs
+using POMDPModels
+using POMDPTools
+
+m = BabyPOMDP()
+
+rm = StateActionReward(m)
+
+rm(true, true)
+
+# output
+
+-15.0
source

Utility Types

Terminal State

TerminalState and its singleton instance terminalstate are available to use for a terminal state in concert with another state type. It has the appropriate type promotion logic to make its use with other types friendly, similar to nothing and missing.

Note

NOTE: This is NOT a replacement for the standard POMDPs.jl isterminal function, though isterminal is implemented for the type. It is merely a convenient type to use for terminal states.

Warning

WARNING: Early tests (August 2018) suggest that the Julia 1.0 compiler will not be able to efficiently implement union splitting in cases as complex as POMDPs, so using a Union for the state type of a problem can currently have a large overhead.

POMDPTools.ModelTools.TerminalStateType
TerminalState

A type with no fields whose singleton instance terminalstate is used to represent a terminal state with no additional information.

This type has the appropriate promotion logic implemented to function like Missing when added to arrays, etc.

Note that terminal states NEED NOT be of type TerminalState. You can define any state to be terminal by implementing the appropriate isterminal method. Solvers and simulators SHOULD NOT check for this type, but should instead check using isterminal.

source
diff --git a/previews/PR543/POMDPTools/policies/index.html b/previews/PR543/POMDPTools/policies/index.html new file mode 100644 index 00000000..8882872a --- /dev/null +++ b/previews/PR543/POMDPTools/policies/index.html @@ -0,0 +1,41 @@ + +Implemented Policies · POMDPs.jl

Implemented Policies

POMDPTools currently provides the following policy types:

  • a wrapper to turn a function into a Policy
  • an alpha vector policy type
  • a random policy
  • a stochastic policy type
  • exploration policies
  • a vector policy type
  • a wrapper to collect statistics and errors about policies

In addition, it provides the showpolicy function for printing policies similar to the way that matrices are printed in the repl and the evaluate function for evaluating MDP policies.

Function

Wraps a Function mapping states to actions into a Policy.

Alpha Vector Policy

Represents a policy with a set of alpha vectors (See AlphaVectorPolicy constructor docstring). In addition to finding the optimal action with action, the alpha vectors can be accessed with alphavectors or alphapairs.

Determining the estimated value and optimal action depends on calculating the dot product between alpha vectors and a belief vector. POMDPTools.Policies.beliefvec(pomdp, b) is used to create this vector and can be overridden for new belief types for efficiency.

POMDPTools.Policies.AlphaVectorPolicyType
AlphaVectorPolicy(pomdp::POMDP, alphas, action_map)

Construct a policy from alpha vectors.

Arguments

  • alphas: an |S| x (number of alpha vecs) matrix or a vector of alpha vectors.

  • action_map: a vector of the actions correponding to each alpha vector

    AlphaVectorPolicy{P<:POMDP, A}

Represents a policy with a set of alpha vectors.

Use action to get the best action for a belief, and alphavectors and alphapairs to

Fields

  • pomdp::P the POMDP problem
  • n_states::Int the number of states in the POMDP
  • alphas::Vector{Vector{Float64}} the list of alpha vectors
  • action_map::Vector{A} a list of action corresponding to the alpha vectors
source
POMDPTools.Policies.beliefvecFunction
POMDPTools.Policies.beliefvec(m::POMDP, n_states::Int, b)

Return a vector-like representation of the belief b suitable for calculating the dot product with the alpha vectors.

source

Random Policy

A policy that returns a randomly selected action using rand(rng, actions(pomdp)).

POMDPTools.Policies.RandomPolicyType
RandomPolicy{RNG<:AbstractRNG, P<:Union{POMDP,MDP}, U<:Updater}

a generic policy that uses the actions function to create a list of actions and then randomly samples an action from it.

Constructor:

`RandomPolicy(problem::Union{POMDP,MDP};
+         rng=Random.default_rng(),
+         updater=NothingUpdater())`

Fields

  • rng::RNG a random number generator
  • probelm::P the POMDP or MDP problem
  • updater::U a belief updater (default to NothingUpdater in the above constructor)
source

Stochastic Policies

Types for representing randomized policies:

  • StochasticPolicy samples actions from an arbitrary distribution.
  • UniformRandomPolicy samples actions uniformly (see RandomPolicy for a similar use)
  • CategoricalTabularPolicy samples actions from a categorical distribution with weights given by a ValuePolicy.
POMDPTools.Policies.StochasticPolicyType

StochasticPolicy{D, RNG <: AbstractRNG}

Represents a stochastic policy. Action are sampled from an arbitrary distribution.

Constructor:

`StochasticPolicy(distribution; rng=Random.default_rng())`

Fields

  • distribution::D
  • rng::RNG a random number generator
source
POMDPTools.Policies.CategoricalTabularPolicyType
CategoricalTabularPolicy

represents a stochastic policy sampling an action from a categorical distribution with weights given by a ValuePolicy

constructor:

CategoricalTabularPolicy(mdp::Union{POMDP,MDP}; rng=Random.default_rng())

Fields

  • stochastic::StochasticPolicy
  • value::ValuePolicy
source

Vector Policies

Tabular policies including the following:

  • VectorPolicy holds a vector of actions, one for each state, ordered according to stateindex.
  • ValuePolicy holds a matrix of values for state-action pairs and chooses the action with the highest value at the given state
POMDPTools.Policies.VectorPolicyType
VectorPolicy{S,A}

A generic MDP policy that consists of a vector of actions. The entry at stateindex(mdp, s) is the action that will be taken in state s.

Fields

  • mdp::MDP{S,A} the MDP problem
  • act::Vector{A} a vector of size |S| mapping state indices to actions
source
POMDPTools.Policies.ValuePolicyType
 ValuePolicy{P<:Union{POMDP,MDP}, T<:AbstractMatrix{Float64}, A}

A generic MDP policy that consists of a value table. The entry at stateindex(mdp, s) is the action that will be taken in state s. It is expected that the order of the actions in the value table is consistent with the order of the actions in act. If act is not explicitly set in the construction, act is ordered according to actionindex.

Fields

  • mdp::P the MDP problem
  • value_table::T the value table as a |S|x|A| matrix
  • act::Vector{A} the possible actions
source

Value Dict Policy

ValueDictPolicy holds a dictionary of values, where the key is state-action tuple, and chooses the action with the highest value at the given state. It allows one to write solvers without enumerating state and action spaces, but actions and states must support Base.isequal() and Base.hash().

POMDPTools.Policies.ValueDictPolicyType
 ValueDictPolicy(mdp)

A generic MDP policy that consists of a Dict storing Q-values for state-action pairs. If there are no entries higher than a default value, this will fall back to a default policy.

Keyword Arguments

  • value_table::AbstractDict the value dict, key is (s, a) Tuple.
  • default_value::Float64 the defalut value of value_dict.
  • default_policy::Policy the policy taken when no action has a value higher than default_value
source

Exploration Policies

Exploration policies are often useful for Reinforcement Learning algorithm to choose an action that is different than the action given by the policy being learned (on_policy).

Exploration policies are subtype of the abstract ExplorationPolicy type and they follow the following interface: action(exploration_policy::ExplorationPolicy, on_policy::Policy, k, s). k is used to compute the value of the exploration parameter (see Schedule), and s is the current state or observation in which the agent is taking an action.

The action method is exported by POMDPs.jl. To use exploration policies in a solver, you must use the four argument version of action where on_policy is the policy being learned (e.g. tabular policy or neural network policy).

This package provides two exploration policies: EpsGreedyPolicy and SoftmaxPolicy

POMDPTools.Policies.EpsGreedyPolicyType
EpsGreedyPolicy <: ExplorationPolicy

represents an epsilon greedy policy, sampling a random action with a probability eps or returning an action from a given policy otherwise. The evolution of epsilon can be controlled using a schedule. This feature is useful for using those policies in reinforcement learning algorithms.

Constructor:

EpsGreedyPolicy(problem::Union{MDP, POMDP}, eps::Union{Function, Float64}; rng=Random.default_rng(), schedule=ConstantSchedule)

If a function is passed for eps, eps(k) is called to compute the value of epsilon when calling action(exploration_policy, on_policy, k, s).

Fields

  • eps::Function
  • rng::AbstractRNG
  • m::M POMDPs or MDPs problem
source
POMDPTools.Policies.SoftmaxPolicyType
SoftmaxPolicy <: ExplorationPolicy

represents a softmax policy, sampling a random action according to a softmax function. The softmax function converts the action values of the on policy into probabilities that are used for sampling. A temperature parameter or function can be used to make the resulting distribution more or less wide.

Constructor

SoftmaxPolicy(problem, temperature::Union{Function, Float64}; rng=Random.default_rng())

If a function is passed for temperature, temperature(k) is called to compute the value of the temperature when calling action(exploration_policy, on_policy, k, s)

Fields

  • temperature::Function
  • rng::AbstractRNG
  • actions::A an indexable list of action
source

Schedule

Exploration policies often rely on a key parameter: $\epsilon$ in $\epsilon$-greedy and the temperature in softmax for example. Reinforcement learning algorithms often require a decay schedule for these parameters. Schedule can be passed to an exploration policy as functions. For example one can define an epsilon greedy policy with an exponential decay schedule as follow:

    m # your mdp or pomdp model
+    exploration_policy = EpsGreedyPolicy(m, k->0.05*0.9^(k/10))

POMDPTools exports a linear decay schedule object that can be used as well.

POMDPTools.Policies.LinearDecayScheduleType
LinearDecaySchedule

A schedule that linearly decreases a value from start to stop in steps steps. if the value is greater or equal to stop, it stays constant.

Constructor

LinearDecaySchedule(;start, stop, steps)

source

Playback Policy

A policy that replays a fixed sequence of actions. When all actions are used, a backup policy is used.

POMDPTools.Policies.PlaybackPolicyType
PlaybackPolicy{A<:AbstractArray, P<:Policy, V<:AbstractArray{<:Real}}

a policy that applies a fixed sequence of actions until they are all used and then falls back onto a backup policy until the end of the episode.

Constructor:

`PlaybackPolicy(actions::AbstractArray, backup_policy::Policy; logpdfs::AbstractArray{Float64, 1} = Float64[])`

Fields

  • actions::Vector{A} a vector of actions to play back
  • backup_policy::Policy the policy to use when all prescribed actions have been taken but the episode continues
  • logpdfs::Vector{Float64} the log probability (density) of actions
  • i::Int64 the current action index
source

Utility Wrapper

A wrapper for policies to collect statistics and handle errors.

POMDPTools.Policies.PolicyWrapperType
PolicyWrapper

Flexible utility wrapper for a policy designed for collecting statistics about planning.

Carries a function, a policy, and optionally a payload (that can be any type).

The function should typically be defined with the do syntax. Each time action is called on the wrapper, this function will be called.

If there is no payload, it will be called with two argments: the policy and the state/belief. If there is a payload, it will be called with three arguments: the policy, the payload, and the current state or belief. The function should return an appropriate action. The idea is that, in this function, action(policy, s) should be called, statistics from the policy/planner should be collected and saved in the payload, exceptions can be handled, and the action should be returned.

Constructor

PolicyWrapper(policy::Policy; payload=nothing)

Example

using POMDPModels
+using POMDPToolbox
+
+mdp = GridWorld()
+policy = RandomPolicy(mdp)
+counts = Dict(a=>0 for a in actions(mdp))
+
+# with a payload
+statswrapper = PolicyWrapper(policy, payload=counts) do policy, counts, s
+    a = action(policy, s)
+    counts[a] += 1
+    return a
+end
+
+h = simulate(HistoryRecorder(max_steps=100), mdp, statswrapper)
+for (a, count) in payload(statswrapper)
+    println("policy chose action $a $count of $(n_steps(h)) times.")
+end
+
+# without a payload
+errwrapper = PolicyWrapper(policy) do policy, s
+    try
+        a = action(policy, s)
+    catch ex
+        @warn("Caught error in policy; using default")
+        a = :left
+    end
+    return a
+end
+
+h = simulate(HistoryRecorder(max_steps=100), mdp, errwrapper)

Fields

  • f::F
  • policy::P
  • payload::PL
source

Pretty Printing Policies

POMDPTools.Policies.showpolicyFunction
showpolicy([io], [mime], m::MDP, p::Policy)
+showpolicy([io], [mime], statelist::AbstractVector, p::Policy)
+showpolicy(...; pre=" ")

Print the states in m or statelist and the actions from policy p corresponding to those states.

For the MDP version, if io[:limit] is true, will only print enough states to fill the display.

source

Policy Evaluation

The evaluate function provides a policy evaluation tool for MDPs:

POMDPTools.Policies.evaluateFunction
evaluate(m::MDP, p::Policy)
+evaluate(m::MDP, p::Policy; rewardfunction=POMDPs.reward)

Calculate the value for a policy on an MDP using the approach in equation 4.2.2 of Kochenderfer, Decision Making Under Uncertainty, 2015.

Returns a DiscreteValueFunction, which maps states to values.

Example

using POMDPTools, POMDPModels
+m = SimpleGridWorld()
+u = evaluate(m, FunctionPolicy(x->:left))
+u([1,1]) # value of always moving left starting at state [1,1]
source
diff --git a/previews/PR543/POMDPTools/simulators/index.html b/previews/PR543/POMDPTools/simulators/index.html new file mode 100644 index 00000000..3820307c --- /dev/null +++ b/previews/PR543/POMDPTools/simulators/index.html @@ -0,0 +1,80 @@ + +Implemented Simulators · POMDPs.jl

Implemented Simulators

POMDPTools contains a collection of POMDPs.jl simulators.

Usage examples can be found in the Simulations Examples section.

If you are just getting started, probably the easiest way to begin is the stepthrough function. Otherwise, consult the Which Simulator Should I Use? guide below:

Which Simulator Should I Use?

The simulators in this package provide interaction with simulations of MDP and POMDP environments from a variety of perspectives. Use these questions to choose the best simulator to suit your needs.

I want to run fast rollout simulations and get the discounted reward.

Use the Rollout Simulator.

I want to evaluate performance with many parallel Monte Carlo simulations.

Use the Parallel Simulator.

I want to closely examine the histories of states, actions, etc. produced by simulations.

Use the History Recorder.

I want to step through each individual step of a simulation.

Use the stepthrough function.

I want to visualize a simulation.

Use the DisplaySimulator.

Also see the POMDPGifs package for creating gif animations.

I want to interact with a MDP or POMDP environment from the policy's perspective

Use the sim function.

Stepping through

The stepthrough function exposes a simulation as an iterator so that the steps can be iterated through with a for loop syntax as follows:

pomdp = BabyPOMDP()
+policy = RandomPolicy(pomdp)
+
+for (s, a, o, r) in stepthrough(pomdp, policy, "s,a,o,r", max_steps=10)
+    println("in state $s")
+    println("took action $a")
+    println("received observation $o and reward $r")
+end
POMDPTools.Simulators.stepthroughFunction
stepthrough(problem, policy, [spec])
+stepthrough(problem, policy, [spec], [rng=rng], [max_steps=max_steps])
+stepthrough(mdp::MDP, policy::Policy, [init_state], [spec]; [kwargs...])
+stepthrough(pomdp::POMDP, policy::Policy, [up::Updater, [initial_belief, [initial_state]]], [spec]; [kwargs...])

Create a simulation iterator. This is intended to be used with for loop syntax to output the results of each step as the simulation is being run.

Example:

pomdp = BabyPOMDP()
+policy = RandomPolicy(pomdp)
+
+for (s, a, o, r) in stepthrough(pomdp, policy, "s,a,o,r", max_steps=10)
+    println("in state $s")
+    println("took action $a")
+    println("received observation $o and reward $r")
+end

The optional spec argument can be a string, tuple of symbols, or single symbol and follows the same pattern as eachstep called on a SimHistory object.

Under the hood, this function creates a StepSimulator with spec and returns a [PO]MDPSimIterator by calling simulate with all of the arguments except spec. All keyword arguments are passed to the StepSimulator constructor.

source

The StepSimulator contained in this file can provide the same functionality with the following syntax:

sim = StepSimulator("s,a,r,sp")
+for (s,a,r,sp) in simulate(sim, problem, policy)
+    # do something
+end

Rollouts

RolloutSimulator is the simplest MDP or POMDP simulator. When simulate is called, it simply simulates a single trajectory of the process and returns the discounted reward.

rs = RolloutSimulator()
+mdp = GridWorld()
+policy = RandomPolicy(mdp)
+
+r = simulate(rs, mdp, policy)
POMDPTools.Simulators.RolloutSimulatorType
RolloutSimulator(rng, max_steps)
+RolloutSimulator(; <keyword arguments>)

A fast simulator that just returns the reward

The simulation will be terminated when either

  1. a terminal state is reached (as determined by isterminal() or
  2. the discount factor is as small as eps or
  3. max_steps have been executed

Keyword arguments:

  • rng::AbstractRNG (default: Random.default_rng()) - A random number generator to use.
  • eps::Float64 (default: 0.0) - A small number; if γᵗ where γ is the discount factor and t is the time step becomes smaller than this, the simulation will be terminated.
  • max_steps::Int (default: typemax(Int)) - The maximum number of steps to simulate.

Usage (optional arguments in brackets):

ro = RolloutSimulator()
+history = simulate(ro, pomdp, policy, [updater [, init_belief [, init_state]]])

See also: HistoryRecorder, run_parallel

source

History Recorder

A HistoryRecorder runs a simulation and records the trajectory. It returns an AbstractVector of NamedTuples - see Histories for more info.

hr = HistoryRecorder(max_steps=100)
+pomdp = TigerPOMDP()
+policy = RandomPolicy(pomdp)
+
+h = simulate(hr, pomdp, policy)
POMDPTools.Simulators.HistoryRecorderType

A simulator that records the history for later examination

The simulation will be terminated when either

  1. a terminal state is reached (as determined by isterminal() or
  2. the discount factor is as small as eps or
  3. max_steps have been executed

Keyword Arguments: - rng: The random number generator for the simulation - capture_exception::Bool: whether to capture an exception and store it in the history, or let it go uncaught, potentially killing the script - show_progress::Bool: show a progress bar for the simulation - eps - max_steps

Usage (optional arguments in brackets):

hr = HistoryRecorder()
+history = simulate(hr, pomdp, policy, [updater [, init_belief [, init_state]]])
source

sim()

The sim function provides a convenient way to interact with a POMDP or MDP environment and return a history. The first argument is a function that is called at every time step and takes a state (in the case of an MDP) or an observation (in the case of a POMDP) as the argument and then returns an action. The second argument is a pomdp or mdp. It is intended to be used with Julia's do syntax as follows:

pomdp = TigerPOMDP()
+history = sim(pomdp, max_steps=10) do obs
+    println("Observation was $obs.")
+    return TIGER_OPEN_LEFT
+end

This allows a flexible and general way to interact with a POMDP environment without creating new Policy types.

In the POMDP case, an updater can optionally be supplied as an additional positional argument if the policy function works with beliefs rather than directly with observations.

POMDPTools.Simulators.simFunction
sim(polfunc::Function, mdp::MDP; [<keyword arguments>])
+sim(polfunc::Function, pomdp::POMDP; [<keyword arguments>])

Alternative way of running a simulation with a function specifying how to calculate the action at each timestep.

Usage

sim(mdp) do s
+    # code that calculates action `a` based on `s` - this is the policy
+    # you can also do other things like display something
+    return a
+end

for an MDP or

sim(pomdp) do o
+    # code that calculates 'a' based on observation `o`
+    # optionally you could save 'o' in a global variable or do a belief update
+    return a
+end

or with a POMDP

sim(pomdp, updater) do b
+    # code that calculates 'a' based on belief `b`
+    # `b` is calculated by `updater`
+    return a
+end

for a POMDP and a belief updater.

Keyword Arguments

All Versions

  • initialstate: the initial state for the simulation
  • simulator: keyword argument to specify any simulator to run the simulation. If nothing is specified for the simulator, a HistoryRecorder will be used as the simulator, with all keyword arguments forwarded to it, e.g.
    sim(mdp, max_steps=100, show_progress=true) do s
    +    # ...
    +end
    will limit the simulation to 100 steps.

POMDP version

  • initialobs: this will control the initial observation given to the policy function. If this is not defined, rand(initialobs(m, s)) will be used if it is available. If it is not, missing will be used.

POMDP and updater version

  • initialbelief: initialize_belief(updater, initialbelief) is the first belief that will be given to the policy function.
source

Histories

The results produced by HistoryRecorders and the sim function are contained in SimHistory objects.

POMDPTools.Simulators.SimHistoryType
SimHistory

An (PO)MDP simulation history returned by simulate(::HistoryRecorder, ::Union{MDP,POMDP},...).

This is an AbstractVector of NamedTuples containing the states, actions, etc.

Examples

hist[1][:s] # returns the first state in the history
hist[:a] # returns all of the actions in the history
source

Examples

using POMDPs, POMDPTools, POMDPModels
+hr = HistoryRecorder(max_steps=10)
+hist = simulate(hr, BabyPOMDP(), FunctionPolicy(x->true))
+step = hist[1] # all information available about the first step
+step[:s] # the first state
+step[:a] # the first action

To see everything available in a step, use

keys(first(hist))

The entire history of each variable is available by using a Symbol instead of an index, i.e.

hist[:s]

will return a vector of the starting states for each step (note the difference between :s and :sp).

eachstep

The eachstep function may also be useful:

POMDPTools.Simulators.eachstepFunction
for t in eachstep(hist, [spec])
+    ...
+end

Iterate through the steps in SimHistory hist. spec is a tuple of symbols or string that controls what is returned for each step.

For example,

for (s, a, r, sp) in eachstep(h, "(s, a, r, sp)")    
+    println("reward $r received when state $sp was reached after action $a was taken in state $s")
+end

returns the start state, action, reward and destination state for each step of the simulation.

Alternatively, instead of expanding the steps implicitly, the elements of the step can be accessed as fields (since each step is a NamedTuple):

for step in eachstep(h, "(s, a, r, sp)")    
+    println("reward $(step.r) received when state $(step.sp) was reached after action $(step.a) was taken in state $(step.s)")
+end

The possible valid elements in the iteration specification are

  • Any node in the (PO)MDP Dynamic Decision network (by default :s, :a, :sp, :o, :r)
  • b - the initial belief in the step (for POMDPs only)
  • bp - the belief after being updated based on o (for POMDPs only)
  • action_info - info from the policy decision (from action_info)
  • update_info - info from the belief update (from update_info)
  • t - the timestep index
source

Examples:

collect(eachstep(h, "a,o"))

will produce a vector of action-observation named tuples.

collect(norm(sp-s) for (s,sp) in eachstep(h, "s,sp"))

will produce a vector of the distances traveled on each step (assuming the state is a Euclidean vector).

Notes

  • The iteration specification can be specified as a tuple of symbols (e.g. (:s, :a)) instead of a string.
  • For type stability in performance-critical code, one should construct an iterator directly using HistoryIterator{typeof(h), (:a,:r)}(h) rather than eachstep(h, "ar").

Other Functions

state_hist(h), action_hist(h), observation_hist(h) belief_hist(h), and reward_hist(h) will return vectors of the states, actions, and rewards, and undiscounted_reward(h) and discounted_reward(h) will return the total rewards collected over the trajectory. n_steps(h) returns the number of steps in the history. exception(h) and backtrace(h) can be used to hold an exception if the simulation failed to finish.

view(h, range) (e.g. view(h, 1:n_steps(h)-4)) can be used to create a view of the history object h that only contains a certain range of steps. The object returned by view is an AbstractSimHistory that can be iterated through and manipulated just like a complete SimHistory.

Parallel

POMDPTools contains a utility for running many Monte Carlo simulations in parallel to evaluate performance. The basic workflow involves the following steps:

  1. Create a vector of Sim objects, each specifying how a single simulation should be run.
  2. Use the run_parallel or run function to run the simulations.
  3. Analyze the results of the simulations contained in the DataFrame returned by run_parallel.

Example

An example can be found in the Parallel Simulations section.

Sim objects

Each simulation should be specified by a Sim object which contains all the information needed to run a simulation, including the Simulator, POMDP or MDP, Policy, Updater, and any other ingredients.

POMDPTools.Simulators.SimType
Sim(m::MDP, p::Policy[, initialstate]; kwargs...)
+Sim(m::POMDP, p::Policy[, updater[, initial_belief[, initialstate]]]; kwargs...)

Create a Sim object that contains everything needed to run and record a single simulation, including model, initial conditions, and metadata.

A vector of Sim objects can be executed with run or run_parallel.

Keyword Arguments

  • rng::AbstractRNG=Random.default_rng()
  • max_steps::Int=typemax(Int)
  • simulator::Simulator=HistoryRecorder(rng=rng, max_steps=max_steps)
  • metadata::NamedTuple a named tuple (or dictionary) of metadata for the sim that will be recorded, e.g.(solver_iterations=500,)`.
source

Running simulations

The simulations are actually carried out by the run and run_parallel functions.

POMDPTools.Simulators.run_parallelFunction
run_parallel(queue::Vector{Sim})
+run_parallel(f::Function, queue::Vector{Sim})

Run Sim objects in queue in parallel and return results as a DataFrame.

By default, the DataFrame will contain the reward for each simulation and the metadata provided to the sim.

Arguments

  • queue: List of Sim objects to be executed
  • f: Function to process the results of each simulation

This function should take two arguments, (1) the Sim that was executed and (2) the result of the simulation, by default a SimHistory. It should return a named tuple that will appear in the dataframe. See Examples below.

Keyword Arguments

  • show_progress::Bool: whether or not to show a progress meter
  • progress::ProgressMeter.Progress: determines how the progress meter is displayed

Examples

run_parallel(queue) do sim, hist
+    return (n_steps=n_steps(hist), reward=discounted_reward(hist))
+end

will return a dataframe with with the number of steps and the reward in it.

source

The run function is also provided to run simulations in serial (this is often useful for debugging). Note that the documentation below also contains a section for the builtin julia run function, even though it is not relevant here.

Base.runFunction
run(queue::Vector{Sim})
+run(f::Function, queue::Vector{Sim})

Run the Sim objects in queue on a single process and return the results as a dataframe.

See run_parallel for more information.

source

Specifying information to be recorded

By default, only the discounted rewards from each simulation are recorded, but arbitrary information can be recorded.

The run_parallel and run functions accept a function (normally specified via the do syntax) that takes the Sim object and history of the simulation and extracts relevant statistics as a named tuple. For example, if the desired characteristics are the number of steps in the simulation and the reward, run_parallel would be invoked as follows:

df = run_parallel(queue) do sim::Sim, hist::SimHistory
+    return (n_steps=n_steps(hist), reward=discounted_reward(hist))
+end

These statistics are combined into a DataFrame, with each line representing a single simulation, allowing for statistical analysis. For example,

mean(df[:reward]./df[:n_steps])

would compute the average reward per step with each simulation weighted equally regardless of length.

Display

DisplaySimulator

The DisplaySimulator displays each step of a simulation in real time through a multimedia display such as a Jupyter notebook or ElectronDisplay. Specifically it uses POMDPTools.render and the built-in Julia display function to visualize each step.

Example:

using POMDPs
+using POMDPModels
+using POMDPTools
+using ElectronDisplay
+ElectronDisplay.CONFIG.single_window = true
+
+ds = DisplaySimulator()
+m = SimpleGridWorld()
+simulate(ds, m, RandomPolicy(m))
POMDPTools.Simulators.DisplaySimulatorType
DisplaySimulator(;kwargs...)

Create a simulator that displays each step of a simulation.

Given a POMDP or MDP model m, this simulator roughly works like

for step in stepthrough(m, ...)
+    display(render(m, step))
+end

Keyword Arguments

  • display::AbstractDisplay: the display to use for the first argument to the display function. If this is nothing, display(...) will be called without an AbstractDisplay argument.
  • render_kwargs::NamedTuple: keyword arguments for POMDPTools.render(...)
  • max_fps::Number=10: maximum number of frames to be displayed per second - sleep will be used to skip extra time, so this is not designed for high precision
  • predisplay::Function: function to call before every call to display(...). The only argument to this function will be the display (if it is specified) or nothing
  • extra_initial::Bool=false: if true, display an extra step at the beginning with only elements t, sp, and bp for POMDPs (this can be useful to see the initial state if render displays only sp and not s).
  • extra_final::Bool=true: iftrue, display an extra step at the end with only elementst,done,s, andbfor POMDPs (this can be useful to see the final state ifrenderdisplays onlysand notsp`).
  • max_steps::Integer: maximum number of steps to run for
  • spec::NTuple{Symbol}: specification of what step elements to display (see eachstep)
  • rng::AbstractRNG: random number generator

See the POMDPSimulators documentation for more tips about using specific displays.

source

Display-specific tips

The following tips may be helpful when using particular displays.

Jupyter notebooks

By default, in a Jupyter notebook, the visualizations of all steps are displayed in the output box one after another. To make the output animated instead, where the image is overwritten at each step, one may use

DisplaySimulator(predisplay=(d)->IJulia.clear_output(true))

ElectronDisplay

By default, ElectronDisplay will open a new window for each new step. To prevent this, use

ElectronDisplay.CONFIG.single_window = true
diff --git a/previews/PR543/POMDPTools/testing/index.html b/previews/PR543/POMDPTools/testing/index.html new file mode 100644 index 00000000..f92743cf --- /dev/null +++ b/previews/PR543/POMDPTools/testing/index.html @@ -0,0 +1,8 @@ + +Testing · POMDPs.jl

Testing

POMDPTools contains basic utilities for testing models and solvers.

Testing (PO)MDP Models

POMDPTools.Testing.has_consistent_distributionsFunction
has_consistent_distributions(m::MDP; atol=0)
+has_consistent_distributions(m::POMDP; atol=0)

Return true if no problems are found in the distributions for a discrete problem. Print information and return false if problems are found.

Tests whether

  • All probabilities are positive
  • Probabilities for all distributions sum to 1
  • All items with positive probability are in the support

Keyword Arguments

  • atol: absolute tolerance passed to approx for all probability checks
source
POMDPTools.Testing.has_consistent_initial_distributionFunction
has_consistent_initial_distribution(m; atol=0)

Return true if no problems are found with the initial state distribution for a discrete problem. Print information and return false if problems are found.

See has_consistent_distributions for information on what checks are performed.

source
POMDPTools.Testing.has_consistent_transition_distributionsFunction
has_consistent_transition_distributions(m; atol=0)

Return true if no problems are found in the transition distributions for a discrete problem. Print information and return false if problems are found.

See has_consistent_distributions for information on what checks are performed.

source
POMDPTools.Testing.has_consistent_observation_distributionsFunction
has_consistent_observation_distributions(m; atol=0)

Return true if no problems are found in the observation distributions for a discrete POMDP. Print information and return false if problems are found.

See has_consistent_distributions for information on what checks are performed.

source

Testing Solvers

POMDPTools.Testing.test_solverFunction
test_solver(solver::Solver, problem::POMDP)
+test_solver(solver::Solver, problem::MDP)

Use the solver to solve the specified problem, then run a simulation.

This is designed to illustrate how solvers are expected to function. All solvers should be able to complete this standard test with the simple models in the POMDPModels package.

Note that this does NOT test the optimality of the solution, but is only a smoke test to see if the solver interacts with POMDP models as expected.

To run this with a solver called YourSolver, run

using POMDPToolbox
+using POMDPModels
+
+solver = YourSolver(# initialize with parameters #)
+test_solver(solver, BabyPOMDP())
source
diff --git a/previews/PR543/POMDPTools/visualization/index.html b/previews/PR543/POMDPTools/visualization/index.html new file mode 100644 index 00000000..36cb3269 --- /dev/null +++ b/previews/PR543/POMDPTools/visualization/index.html @@ -0,0 +1,7 @@ + +Visualization · POMDPs.jl

Visualization

POMDPTools contains a basic visualization interface consisting of the render function.

Problem writers should implement a method of this function so that their problem can be visualized in a variety of contexts including jupyter notebooks, web browsers, or saved as images or animations.

POMDPTools.ModelTools.renderFunction
render(m::Union{MDP,POMDP}, step::NamedTuple)

Return a renderable representation of the step in problem m.

The renderable representation may be anything that has show(io, mime, x) methods. It could be a plot, svg, Compose.jl context, Cairo context, or image.

Arguments

step is a NamedTuple that contains the states, action, etc. corresponding to one transition in a simulation. It may have the following fields:

  • t: the time step index
  • s: the state at the beginning of the step
  • a: the action
  • sp: the state at the end of the step (s')
  • r: the reward for the step
  • o: the observation
  • b: the belief at the
  • bp: the belief at the end of the step
  • i: info from the model when the state transition was calculated
  • ai: info from the policy decision
  • ui: info from the belief update

Keyword arguments are reserved for the problem implementer and can be used to control appearance, etc.

Important Notes

  • step may not contain all of the elements listed above, so render should check for them and render only what is available
  • o typically corresponds to sp, so it is often clearer for POMDPs to render sp rather than s.
source

Sometimes it is important to have control over how the problem is rendered with different mimetypes. One way to handle this is to have render return a custom type, e.g.

struct MyProblemVisualization
+    mdp::MyProblem
+    step::NamedTuple
+end
+
+POMDPTools.render(mdp, step) = MyProblemVisualization(mdp, step)

and then implement custom show methods, e.g.

show(io::IO, mime::MIME"text/html", v::MyProblemVisualization)
diff --git a/previews/PR543/api/index.html b/previews/PR543/api/index.html new file mode 100644 index 00000000..34f35dd5 --- /dev/null +++ b/previews/PR543/api/index.html @@ -0,0 +1,36 @@ + +API Documentation · POMDPs.jl

API Documentation

Docstrings for POMDPs.jl interface members can be accessed through Julia's built-in documentation system or in the list below.

Contents

Index

Types

POMDPs.POMDPType
POMDP{S,A,O}

Abstract base type for a partially observable Markov decision process.

S: state type
+A: action type
+O: observation type
source
POMDPs.MDPType
MDP{S,A}

Abstract base type for a fully observable Markov decision process.

S: state type
+A: action type
source
POMDPs.PolicyType

Base type for a policy (a map from every possible belief, or more abstract policy state, to an optimal or suboptimal action)

source
POMDPs.UpdaterType

Abstract type for an object that defines how the belief should be updated

A belief is a general construct that represents the knowledge an agent has about the state of the system. This can be a probability distribution, an action observation history or a more general representation.

source

Model Functions

Dynamics

POMDPs.transitionFunction
transition(m::POMDP, state, action)
+transition(m::MDP, state, action)

Return the transition distribution from the current state-action pair.

If it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a generative model.

source
POMDPs.observationFunction
observation(m::POMDP, statep)
+observation(m::POMDP, action, statep)
+observation(m::POMDP, state, action, statep)

Return the observation distribution. You need only define the method with the fewest arguments needed to determine the observation distribution.

If it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a generative model.

Example

using POMDPModelTools # for SparseCat
+
+struct MyPOMDP <: POMDP{Int, Int, Int} end
+
+observation(p::MyPOMDP, sp::Int) = SparseCat([sp-1, sp, sp+1], [0.1, 0.8, 0.1])
source
POMDPs.rewardFunction
reward(m::POMDP, s, a)
+reward(m::MDP, s, a)

Return the immediate reward for the s-a pair.

reward(m::POMDP, s, a, sp)
+reward(m::MDP, s, a, sp)

Return the immediate reward for the s-a-s' triple

reward(m::POMDP, s, a, sp, o)

Return the immediate reward for the s-a-s'-o quad

For some problems, it is easier to express reward(m, s, a, sp) or reward(m, s, a, sp, o), than reward(m, s, a), but some solvers, e.g. SARSOP, can only use reward(m, s, a). Both can be implemented for a problem, but when reward(m, s, a) is implemented, it should be consistent with reward(m, s, a, sp[, o]), that is, it should be the expected value over all destination states and observations.

source
POMDPs.genFunction
gen(m::Union{MDP,POMDP}, s, a, rng::AbstractRNG)

Function for implementing the entire MDP/POMDP generative model by returning a NamedTuple.

gen should only be implemented in the case where two or more of the next state, observation, and reward need to be generated at the same time. If the state transition model can be separated from the reward and observation models, you should implement transition with an ImplicitDistribution instead of gen.

Solver and simulator writers should use the @gen macro to call a generative model.

Arguments

  • m: an MDP or POMDP model
  • s: the current state
  • a: the action
  • rng: a random number generator (Typically a MersenneTwister)

Return

The function should return a NamedTuple. With a subset of following entries:

MDP

  • sp: the next state
  • r: the reward for the step
  • info: extra debugging information, typically in an associative container like a NamedTuple

POMDP

  • sp: the next state
  • o: the observation
  • r: the reward for the step
  • info: extra debugging information, typically in an associative container like a NamedTuple

Some elements can be left out. For instance if o is left out of the return, the problem-writer can also implement observation and POMDPs.jl will automatically use it when needed.

Example

struct LQRMDP <: MDP{Float64, Float64} end
+
+POMDPs.gen(m::LQRMDP, s, a, rng) = (sp = s + a + randn(rng), r = -s^2 - a^2)
source
POMDPs.@genMacro
@gen(X)(m, s, a)
+@gen(X)(m, s, a, rng::AbstractRNG)

Call the generative model for a (PO)MDP m; Sample values from several nodes in the dynamic decision network. X is one or more symbols indicating which nodes to output.

Solvers and simulators should call this rather than the gen function. Problem writers should implement a method of the transition or gen function instead of altering @gen.

Arguments

  • m: an MDP or POMDP model
  • s: the current state
  • a: the action
  • rng (optional): a random number generator (Typically a MersenneTwister)

Return

If X, is a symbol, return a value sample from the corresponding node. If X is several symbols, return a Tuple of values sampled from the specified nodes.

Examples

Let m be an MDP or POMDP, s be a state of m, a be an action of m, and rng be an AbstractRNG.

  • @gen(:sp, :r)(m, s, a) returns a Tuple containing the next state and reward.
  • @gen(:sp, :o, :r)(m, s, a, rng) returns a Tuple containing the next state, observation, and reward.
  • @gen(:sp)(m, s, a, rng) returns the next state.
source

Static Properties

POMDPs.statesFunction
states(problem::POMDP)
+states(problem::MDP)

Returns the complete state space of a POMDP.

source
POMDPs.actionsFunction
actions(m::Union{MDP,POMDP})

Returns the entire action space of a (PO)MDP.


actions(m::Union{MDP,POMDP}, s)

Return the actions that can be taken from state s.


actions(m::POMDP, b)

Return the actions that can be taken from belief b.

To implement an observation-dependent action space, use currentobs(b) to get the observation associated with belief b within the implementation of actions(m, b).

source
POMDPs.isterminalFunction
isterminal(m::Union{MDP,POMDP}, s)

Check if state s is terminal.

If a state is terminal, no actions will be taken in it and no additional rewards will be accumulated. Thus, the value function at such a state is, by definition, zero.

source
POMDPs.discountFunction
discount(m::POMDP)
+discount(m::MDP)

Return the discount factor for the problem.

source
POMDPs.initialstateFunction
initialstate(m::Union{POMDP,MDP})

Return a distribution of initial states for (PO)MDP m.

If it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a model for sampling.

source
POMDPs.initialobsFunction
initialobs(m::POMDP, s)

Return a distribution of initial observations for POMDP m and state s.

If it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a model for sampling.

This function is only used in cases where the policy expects an initial observation rather than an initial belief, e.g. in a reinforcement learning setting. It is not used in a standard POMDP simulation.

source
POMDPs.stateindexFunction
stateindex(problem::POMDP, s)
+stateindex(problem::MDP, s)

Return the integer index of state s. Used for discrete models only.

source
POMDPs.actionindexFunction
actionindex(problem::POMDP, a)
+actionindex(problem::MDP, a)

Return the integer index of action a. Used for discrete models only.

source
POMDPs.obsindexFunction
obsindex(problem::POMDP, o)

Return the integer index of observation o. Used for discrete models only.

source
POMDPs.convert_sFunction
convert_s(::Type{V}, s, problem::Union{MDP,POMDP}) where V<:AbstractArray
+convert_s(::Type{S}, vec::V, problem::Union{MDP,POMDP}) where {S,V<:AbstractArray}

Convert a state to vectorized form or vice versa.

source
POMDPs.convert_aFunction
convert_a(::Type{V}, a, problem::Union{MDP,POMDP}) where V<:AbstractArray
+convert_a(::Type{A}, vec::V, problem::Union{MDP,POMDP}) where {A,V<:AbstractArray}

Convert an action to vectorized form or vice versa.

source
POMDPs.convert_oFunction
convert_o(::Type{V}, o, problem::Union{MDP,POMDP}) where V<:AbstractArray
+convert_o(::Type{O}, vec::V, problem::Union{MDP,POMDP}) where {O,V<:AbstractArray}

Convert an observation to vectorized form or vice versa.

source

Type Inference

POMDPs.statetypeFunction
statetype(t::Type)
+statetype(p::Union{POMDP,MDP})

Return the state type for a problem type (the S in POMDP{S,A,O}).

type A <: POMDP{Int, Bool, Bool} end
+
+statetype(A) # returns Int
source
POMDPs.actiontypeFunction
actiontype(t::Type)
+actiontype(p::Union{POMDP,MDP})

Return the state type for a problem type (the S in POMDP{S,A,O}).

type A <: POMDP{Bool, Int, Bool} end
+
+actiontype(A) # returns Int
source
POMDPs.obstypeFunction
obstype(t::Type)

Return the state type for a problem type (the S in POMDP{S,A,O}).

type A <: POMDP{Bool, Bool, Int} end
+
+obstype(A) # returns Int
source

Distributions and Spaces

Base.randFunction
rand(rng::AbstractRNG, d::Any)

Return a random element from distribution or space d.

If d is a state or transition distribution, the sample will be a state; if d is an action distribution, the sample will be an action or if d is an observation distribution, the sample will be an observation.

source
Distributions.pdfFunction
pdf(d::Any, x::Any)

Evaluate the probability density of distribution d at sample x.

source
Distributions.supportFunction
support(d::Any)

Return an iterable object containing the possible values that can be sampled from distribution d. Values with zero probability may be skipped.

source

Belief Functions

POMDPs.updateFunction
update(updater::Updater, belief_old, action, observation)

Return a new instance of an updated belief given belief_old and the latest action and observation.

source
POMDPs.initialize_beliefFunction
initialize_belief(updater::Updater,
+                     state_distribution::Any)
+initialize_belief(updater::Updater, belief::Any)

Returns a belief that can be updated using updater that has similar distribution to state_distribution or belief.

The conversion may be lossy. This function is also idempotent, i.e. there is a default implementation that passes the belief through when it is already the correct type: initialize_belief(updater::Updater, belief) = belief

source
POMDPs.historyFunction
history(b)

Return the action-observation history associated with belief b.

The history should be an AbstractVector, Tuple, (or similar object that supports indexing with end) full of NamedTuples with keys :a and :o, i.e. history(b)[end][:a] should be the last action taken leading up to b, and history(b)[end][:o] should be the last observation received.

It is acceptable to return only part of the history if that is all that is available, but it should always end with the current observation. For example, it would be acceptable to return a structure containing only the last three observations in a length 3 Vector{NamedTuple{(:o,),Tuple{O}}.

source
POMDPs.currentobsFunction
currentobs(b)

Return the latest observation associated with belief b.

If a solver or updater implements history(b) for a belief type, currentobs has a default implementation.

source

Policy and Solver Functions

POMDPs.solveFunction
solve(solver::Solver, problem::POMDP)

Solves the POMDP using method associated with solver, and returns a policy.

source
POMDPs.updaterFunction
updater(policy::Policy)

Returns a default Updater appropriate for a belief type that policy p can use

source
POMDPs.actionFunction
action(policy::Policy, x)

Returns the action that the policy deems best for the current state or belief, x.

x is a generalized information state - can be a state in an MDP, a distribution in POMDP, or another specialized policy-dependent representation of the information needed to choose an action.

source
POMDPs.valueFunction
value(p::Policy, s)
+value(p::Policy, s, a)

Returns the utility value from policy p given the state (or belief), or state-action (or belief-action) pair.

The state-action version is commonly referred to as the Q-value.

source

Simulator

POMDPs.simulateFunction
simulate(sim::Simulator, m::POMDP, p::Policy, u::Updater=updater(p), b0=initialstate(m), s0=rand(b0))
+simulate(sim::Simulator, m::MDP, p::Policy, s0=rand(initialstate(m)))

Run a simulation using the specified policy.

The return type is flexible and depends on the simulator. Simulations should adhere to the Simulation Standard.

source
diff --git a/previews/PR543/assets/documenter.js b/previews/PR543/assets/documenter.js new file mode 100644 index 00000000..c6562b55 --- /dev/null +++ b/previews/PR543/assets/documenter.js @@ -0,0 +1,1050 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/julia.min', + 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', + 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min', + 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', + 'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/julia-repl.min', + }, + shim: { + "highlight-julia": { + "deps": [ + "highlight" + ] + }, + "katex-auto-render": { + "deps": [ + "katex" + ] + }, + "headroom-jquery": { + "deps": [ + "jquery", + "headroom" + ] + }, + "highlight-julia-repl": { + "deps": [ + "highlight" + ] + } +} +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { +$(document).ready(function() { + renderMathInElement( + document.body, + { + "delimiters": [ + { + "left": "$", + "right": "$", + "display": false + }, + { + "left": "$$", + "right": "$$", + "display": true + }, + { + "left": "\\[", + "right": "\\]", + "display": true + } + ] +} + + ); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { +$(document).ready(function() { + hljs.highlightAll(); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +let timer = 0; +var isExpanded = true; + +$(document).on("click", ".docstring header", function () { + let articleToggleTitle = "Expand docstring"; + + debounce(() => { + if ($(this).siblings("section").is(":visible")) { + $(this) + .find(".docstring-article-toggle-button") + .removeClass("fa-chevron-down") + .addClass("fa-chevron-right"); + } else { + $(this) + .find(".docstring-article-toggle-button") + .removeClass("fa-chevron-right") + .addClass("fa-chevron-down"); + + articleToggleTitle = "Collapse docstring"; + } + + $(this) + .find(".docstring-article-toggle-button") + .prop("title", articleToggleTitle); + $(this).siblings("section").slideToggle(); + }); +}); + +$(document).on("click", ".docs-article-toggle-button", function (event) { + let articleToggleTitle = "Expand docstring"; + let navArticleToggleTitle = "Expand all docstrings"; + let animationSpeed = event.noToggleAnimation ? 0 : 400; + + debounce(() => { + if (isExpanded) { + $(this).removeClass("fa-chevron-up").addClass("fa-chevron-down"); + $(".docstring-article-toggle-button") + .removeClass("fa-chevron-down") + .addClass("fa-chevron-right"); + + isExpanded = false; + + $(".docstring section").slideUp(animationSpeed); + } else { + $(this).removeClass("fa-chevron-down").addClass("fa-chevron-up"); + $(".docstring-article-toggle-button") + .removeClass("fa-chevron-right") + .addClass("fa-chevron-down"); + + isExpanded = true; + articleToggleTitle = "Collapse docstring"; + navArticleToggleTitle = "Collapse all docstrings"; + + $(".docstring section").slideDown(animationSpeed); + } + + $(this).prop("title", navArticleToggleTitle); + $(".docstring-article-toggle-button").prop("title", articleToggleTitle); + }); +}); + +function debounce(callback, timeout = 300) { + if (Date.now() - timer > timeout) { + callback(); + } + + clearTimeout(timer); + + timer = Date.now(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require([], function() { +function addCopyButtonCallbacks() { + for (const el of document.getElementsByTagName("pre")) { + const button = document.createElement("button"); + button.classList.add("copy-button", "fa-solid", "fa-copy"); + button.setAttribute("aria-label", "Copy this code block"); + button.setAttribute("title", "Copy"); + + el.appendChild(button); + + const success = function () { + button.classList.add("success", "fa-check"); + button.classList.remove("fa-copy"); + }; + + const failure = function () { + button.classList.add("error", "fa-xmark"); + button.classList.remove("fa-copy"); + }; + + button.addEventListener("click", function () { + copyToClipboard(el.innerText).then(success, failure); + + setTimeout(function () { + button.classList.add("fa-copy"); + button.classList.remove("success", "fa-check", "fa-xmark"); + }, 5000); + }); + } +} + +function copyToClipboard(text) { + // clipboard API is only available in secure contexts + if (window.navigator && window.navigator.clipboard) { + return window.navigator.clipboard.writeText(text); + } else { + return new Promise(function (resolve, reject) { + try { + const el = document.createElement("textarea"); + el.textContent = text; + el.style.position = "fixed"; + el.style.opacity = 0; + document.body.appendChild(el); + el.select(); + document.execCommand("copy"); + + resolve(); + } catch (err) { + reject(err); + } finally { + document.body.removeChild(el); + } + }); + } +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); +} else { + addCopyButtonCallbacks(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { + +// Manages the top navigation bar (hides it when the user starts scrolling down on the +// mobile). +window.Headroom = Headroom; // work around buggy module loading? +$(document).ready(function () { + $("#documenter .docs-navbar").headroom({ + tolerance: { up: 10, down: 10 }, + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +$(document).ready(function () { + let meta = $("div[data-docstringscollapsed]").data(); + + if (meta?.docstringscollapsed) { + $("#documenter-article-toggle-button").trigger({ + type: "click", + noToggleAnimation: true, + }); + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +/* +To get an in-depth about the thought process you can refer: https://hetarth02.hashnode.dev/series/gsoc + +PSEUDOCODE: + +Searching happens automatically as the user types or adjusts the selected filters. +To preserve responsiveness, as much as possible of the slow parts of the search are done +in a web worker. Searching and result generation are done in the worker, and filtering and +DOM updates are done in the main thread. The filters are in the main thread as they should +be very quick to apply. This lets filters be changed without re-searching with minisearch +(which is possible even if filtering is on the worker thread) and also lets filters be +changed _while_ the worker is searching and without message passing (neither of which are +possible if filtering is on the worker thread) + +SEARCH WORKER: + +Import minisearch + +Build index + +On message from main thread + run search + find the first 200 unique results from each category, and compute their divs for display + note that this is necessary and sufficient information for the main thread to find the + first 200 unique results from any given filter set + post results to main thread + +MAIN: + +Launch worker + +Declare nonconstant globals (worker_is_running, last_search_text, unfiltered_results) + +On text update + if worker is not running, launch_search() + +launch_search + set worker_is_running to true, set last_search_text to the search text + post the search query to worker + +on message from worker + if last_search_text is not the same as the text in the search field, + the latest search result is not reflective of the latest search query, so update again + launch_search() + otherwise + set worker_is_running to false + + regardless, display the new search results to the user + save the unfiltered_results as a global + update_search() + +on filter click + adjust the filter selection + update_search() + +update_search + apply search filters by looping through the unfiltered_results and finding the first 200 + unique results that match the filters + + Update the DOM +*/ + +/////// SEARCH WORKER /////// + +function worker_function(documenterSearchIndex, documenterBaseURL, filters) { + importScripts( + "https://cdn.jsdelivr.net/npm/minisearch@6.1.0/dist/umd/index.min.js" + ); + + let data = documenterSearchIndex.map((x, key) => { + x["id"] = key; // minisearch requires a unique for each object + return x; + }); + + // list below is the lunr 2.1.3 list minus the intersect with names(Base) + // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) + // ideally we'd just filter the original list but it's not available as a variable + const stopWords = new Set([ + "a", + "able", + "about", + "across", + "after", + "almost", + "also", + "am", + "among", + "an", + "and", + "are", + "as", + "at", + "be", + "because", + "been", + "but", + "by", + "can", + "cannot", + "could", + "dear", + "did", + "does", + "either", + "ever", + "every", + "from", + "got", + "had", + "has", + "have", + "he", + "her", + "hers", + "him", + "his", + "how", + "however", + "i", + "if", + "into", + "it", + "its", + "just", + "least", + "like", + "likely", + "may", + "me", + "might", + "most", + "must", + "my", + "neither", + "no", + "nor", + "not", + "of", + "off", + "often", + "on", + "or", + "other", + "our", + "own", + "rather", + "said", + "say", + "says", + "she", + "should", + "since", + "so", + "some", + "than", + "that", + "the", + "their", + "them", + "then", + "there", + "these", + "they", + "this", + "tis", + "to", + "too", + "twas", + "us", + "wants", + "was", + "we", + "were", + "what", + "when", + "who", + "whom", + "why", + "will", + "would", + "yet", + "you", + "your", + ]); + + let index = new MiniSearch({ + fields: ["title", "text"], // fields to index for full-text search + storeFields: ["location", "title", "text", "category", "page"], // fields to return with results + processTerm: (term) => { + let word = stopWords.has(term) ? null : term; + if (word) { + // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names + word = word + .replace(/^[^a-zA-Z0-9@!]+/, "") + .replace(/[^a-zA-Z0-9@!]+$/, ""); + + word = word.toLowerCase(); + } + + return word ?? null; + }, + // add . as a separator, because otherwise "title": "Documenter.Anchors.add!", would not + // find anything if searching for "add!", only for the entire qualification + tokenize: (string) => string.split(/[\s\-\.]+/), + // options which will be applied during the search + searchOptions: { + prefix: true, + boost: { title: 100 }, + fuzzy: 2, + }, + }); + + index.addAll(data); + + /** + * Used to map characters to HTML entities. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const htmlEscapes = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }; + + /** + * Used to match HTML entities and HTML characters. + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + const reUnescapedHtml = /[&<>"']/g; + const reHasUnescapedHtml = RegExp(reUnescapedHtml.source); + + /** + * Escape function from lodash + * Refer: https://github.com/lodash/lodash/blob/main/src/escape.ts + */ + function escape(string) { + return string && reHasUnescapedHtml.test(string) + ? string.replace(reUnescapedHtml, (chr) => htmlEscapes[chr]) + : string || ""; + } + + /** + * Make the result component given a minisearch result data object and the value + * of the search input as queryString. To view the result object structure, refer: + * https://lucaong.github.io/minisearch/modules/_minisearch_.html#searchresult + * + * @param {object} result + * @param {string} querystring + * @returns string + */ + function make_search_result(result, querystring) { + let search_divider = `
`; + let display_link = + result.location.slice(Math.max(0), Math.min(50, result.location.length)) + + (result.location.length > 30 ? "..." : ""); // To cut-off the link because it messes with the overflow of the whole div + + if (result.page !== "") { + display_link += ` (${result.page})`; + } + + let textindex = new RegExp(`${querystring}`, "i").exec(result.text); + let text = + textindex !== null + ? result.text.slice( + Math.max(textindex.index - 100, 0), + Math.min( + textindex.index + querystring.length + 100, + result.text.length + ) + ) + : ""; // cut-off text before and after from the match + + text = text.length ? escape(text) : ""; + + let display_result = text.length + ? "..." + + text.replace( + new RegExp(`${escape(querystring)}`, "i"), // For first occurrence + '$&' + ) + + "..." + : ""; // highlights the match + + let in_code = false; + if (!["page", "section"].includes(result.category.toLowerCase())) { + in_code = true; + } + + // We encode the full url to escape some special characters which can lead to broken links + let result_div = ` + +
+
${escape(result.title)}
+
${result.category}
+
+

+ ${display_result} +

+
+ ${display_link} +
+
+ ${search_divider} + `; + + return result_div; + } + + self.onmessage = function (e) { + let query = e.data; + let results = index.search(query, { + filter: (result) => { + // Only return relevant results + return result.score >= 1; + }, + }); + + // Pre-filter to deduplicate and limit to 200 per category to the extent + // possible without knowing what the filters are. + let filtered_results = []; + let counts = {}; + for (let filter of filters) { + counts[filter] = 0; + } + let present = {}; + + for (let result of results) { + cat = result.category; + cnt = counts[cat]; + if (cnt < 200) { + id = cat + "---" + result.location; + if (present[id]) { + continue; + } + present[id] = true; + filtered_results.push({ + location: result.location, + category: cat, + div: make_search_result(result, query), + }); + } + } + + postMessage(filtered_results); + }; +} + +// `worker = Threads.@spawn worker_function(documenterSearchIndex)`, but in JavaScript! +const filters = [ + ...new Set(documenterSearchIndex["docs"].map((x) => x.category)), +]; +const worker_str = + "(" + + worker_function.toString() + + ")(" + + JSON.stringify(documenterSearchIndex["docs"]) + + "," + + JSON.stringify(documenterBaseURL) + + "," + + JSON.stringify(filters) + + ")"; +const worker_blob = new Blob([worker_str], { type: "text/javascript" }); +const worker = new Worker(URL.createObjectURL(worker_blob)); + +/////// SEARCH MAIN /////// + +// Whether the worker is currently handling a search. This is a boolean +// as the worker only ever handles 1 or 0 searches at a time. +var worker_is_running = false; + +// The last search text that was sent to the worker. This is used to determine +// if the worker should be launched again when it reports back results. +var last_search_text = ""; + +// The results of the last search. This, in combination with the state of the filters +// in the DOM, is used compute the results to display on calls to update_search. +var unfiltered_results = []; + +// Which filter is currently selected +var selected_filter = ""; + +$(document).on("input", ".documenter-search-input", function (event) { + if (!worker_is_running) { + launch_search(); + } +}); + +function launch_search() { + worker_is_running = true; + last_search_text = $(".documenter-search-input").val(); + worker.postMessage(last_search_text); +} + +worker.onmessage = function (e) { + if (last_search_text !== $(".documenter-search-input").val()) { + launch_search(); + } else { + worker_is_running = false; + } + + unfiltered_results = e.data; + update_search(); +}; + +$(document).on("click", ".search-filter", function () { + if ($(this).hasClass("search-filter-selected")) { + selected_filter = ""; + } else { + selected_filter = $(this).text().toLowerCase(); + } + + // This updates search results and toggles classes for UI: + update_search(); +}); + +/** + * Make/Update the search component + */ +function update_search() { + let querystring = $(".documenter-search-input").val(); + + if (querystring.trim()) { + if (selected_filter == "") { + results = unfiltered_results; + } else { + results = unfiltered_results.filter((result) => { + return selected_filter == result.category.toLowerCase(); + }); + } + + let search_result_container = ``; + let modal_filters = make_modal_body_filters(); + let search_divider = `
`; + + if (results.length) { + let links = []; + let count = 0; + let search_results = ""; + + for (var i = 0, n = results.length; i < n && count < 200; ++i) { + let result = results[i]; + if (result.location && !links.includes(result.location)) { + search_results += result.div; + count++; + links.push(result.location); + } + } + + if (count == 1) { + count_str = "1 result"; + } else if (count == 200) { + count_str = "200+ results"; + } else { + count_str = count + " results"; + } + let result_count = `
${count_str}
`; + + search_result_container = ` +
+ ${modal_filters} + ${search_divider} + ${result_count} +
+ ${search_results} +
+
+ `; + } else { + search_result_container = ` +
+ ${modal_filters} + ${search_divider} +
0 result(s)
+
+
No result found!
+ `; + } + + if ($(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").removeClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(search_result_container); + } else { + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".search-modal-card-body").html(` +
Type something to get started!
+ `); + } +} + +/** + * Make the modal filter html + * + * @returns string + */ +function make_modal_body_filters() { + let str = filters + .map((val) => { + if (selected_filter == val.toLowerCase()) { + return `${val}`; + } else { + return `${val}`; + } + }) + .join(""); + + return ` +
+ Filters: + ${str} +
`; +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Modal settings dialog +$(document).ready(function () { + var settings = $("#documenter-settings"); + $("#documenter-settings-button").click(function () { + settings.toggleClass("is-active"); + }); + // Close the dialog if X is clicked + $("#documenter-settings button.delete").click(function () { + settings.removeClass("is-active"); + }); + // Close dialog if ESC is pressed + $(document).keyup(function (e) { + if (e.keyCode == 27) settings.removeClass("is-active"); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +$(document).ready(function () { + let search_modal_header = ` + + `; + + let initial_search_body = ` +
Type something to get started!
+ `; + + let search_modal_footer = ` + + `; + + $(document.body).append( + ` + + ` + ); + + document.querySelector(".docs-search-query").addEventListener("click", () => { + openModal(); + }); + + document + .querySelector(".close-search-modal") + .addEventListener("click", () => { + closeModal(); + }); + + $(document).on("click", ".search-result-link", function () { + closeModal(); + }); + + document.addEventListener("keydown", (event) => { + if ((event.ctrlKey || event.metaKey) && event.key === "/") { + openModal(); + } else if (event.key === "Escape") { + closeModal(); + } + + return false; + }); + + // Functions to open and close a modal + function openModal() { + let searchModal = document.querySelector("#search-modal"); + + searchModal.classList.add("is-active"); + document.querySelector(".documenter-search-input").focus(); + } + + function closeModal() { + let searchModal = document.querySelector("#search-modal"); + let initial_search_body = ` +
Type something to get started!
+ `; + + searchModal.classList.remove("is-active"); + document.querySelector(".documenter-search-input").blur(); + + if (!$(".search-modal-card-body").hasClass("is-justify-content-center")) { + $(".search-modal-card-body").addClass("is-justify-content-center"); + } + + $(".documenter-search-input").val(""); + $(".search-modal-card-body").html(initial_search_body); + } + + document + .querySelector("#search-modal .modal-background") + .addEventListener("click", () => { + closeModal(); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Manages the showing and hiding of the sidebar. +$(document).ready(function () { + var sidebar = $("#documenter > .docs-sidebar"); + var sidebar_button = $("#documenter-sidebar-button"); + sidebar_button.click(function (ev) { + ev.preventDefault(); + sidebar.toggleClass("visible"); + if (sidebar.hasClass("visible")) { + // Makes sure that the current menu item is visible in the sidebar. + $("#documenter .docs-menu a.is-active").focus(); + } + }); + $("#documenter > .docs-main").bind("click", function (ev) { + if ($(ev.target).is(sidebar_button)) { + return; + } + if (sidebar.hasClass("visible")) { + sidebar.removeClass("visible"); + } + }); +}); + +// Resizes the package name / sitename in the sidebar if it is too wide. +// Inspired by: https://github.com/davatron5000/FitText.js +$(document).ready(function () { + e = $("#documenter .docs-autofit"); + function resize() { + var L = parseInt(e.css("max-width"), 10); + var L0 = e.width(); + if (L0 > L) { + var h0 = parseInt(e.css("font-size"), 10); + e.css("font-size", (L * h0) / L0); + // TODO: make sure it survives resizes? + } + } + // call once and then register events + resize(); + $(window).resize(resize); + $(window).on("orientationchange", resize); +}); + +// Scroll the navigation bar to the currently selected menu item +$(document).ready(function () { + var sidebar = $("#documenter .docs-menu").get(0); + var active = $("#documenter .docs-menu .is-active").get(0); + if (typeof active !== "undefined") { + sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Theme picker setup +$(document).ready(function () { + // onchange callback + $("#documenter-themepicker").change(function themepick_callback(ev) { + var themename = $("#documenter-themepicker option:selected").attr("value"); + if (themename === "auto") { + // set_theme(window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'); + window.localStorage.removeItem("documenter-theme"); + } else { + // set_theme(themename); + window.localStorage.setItem("documenter-theme", themename); + } + // We re-use the global function from themeswap.js to actually do the swapping. + set_theme_from_local_storage(); + }); + + // Make sure that the themepicker displays the correct theme when the theme is retrieved + // from localStorage + if (typeof window.localStorage !== "undefined") { + var theme = window.localStorage.getItem("documenter-theme"); + if (theme !== null) { + $("#documenter-themepicker option").each(function (i, e) { + e.selected = e.value === theme; + }); + } + } +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(document).ready(function () { + // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the + // siteinfo.js file, we just return immediately and not display the version selector. + if ( + typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === "boolean" && + DOCUMENTER_VERSION_SELECTOR_DISABLED + ) { + return; + } + + var version_selector = $("#documenter .docs-version-selector"); + var version_selector_select = $("#documenter .docs-version-selector select"); + + version_selector_select.change(function (x) { + target_href = version_selector_select + .children("option:selected") + .get(0).value; + window.location.href = target_href; + }); + + // add the current version to the selector based on siteinfo.js, but only if the selector is empty + if ( + typeof DOCUMENTER_CURRENT_VERSION !== "undefined" && + $("#version-selector > option").length == 0 + ) { + var option = $( + "" + ); + version_selector_select.append(option); + } + + if (typeof DOC_VERSIONS !== "undefined") { + var existing_versions = version_selector_select.children("option"); + var existing_versions_texts = existing_versions.map(function (i, x) { + return x.text; + }); + DOC_VERSIONS.forEach(function (each) { + var version_url = documenterBaseURL + "/../" + each + "/"; + var existing_id = $.inArray(each, existing_versions_texts); + // if not already in the version selector, add it as a new option, + // otherwise update the old option with the URL and enable it + if (existing_id == -1) { + var option = $( + "" + ); + version_selector_select.append(option); + } else { + var option = existing_versions[existing_id]; + option.value = version_url; + option.disabled = false; + } + }); + } + + // only show the version selector if the selector has been populated + if (version_selector_select.children("option").length > 0) { + version_selector.toggleClass("visible"); + } +}); + +}) diff --git a/previews/PR543/assets/logo.png b/previews/PR543/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..289eeab01e6529c5e5da82347dabd4bd0acc4518 GIT binary patch literal 21765 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 U;VPNk7fDAeCa7CTya5{fKb(cAPXGV_ literal 0 HcmV?d00001 diff --git a/previews/PR543/assets/themes/documenter-dark.css b/previews/PR543/assets/themes/documenter-dark.css new file mode 100644 index 00000000..53889fb9 --- /dev/null +++ b/previews/PR543/assets/themes/documenter-dark.css @@ -0,0 +1,7 @@ +html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:.4em;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.5em - 1px);padding-left:calc(0.75em - 1px);padding-right:calc(0.75em - 1px);padding-top:calc(0.5em - 1px);position:relative;vertical-align:top}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus,html.theme--documenter-dark .pagination-ellipsis:focus,html.theme--documenter-dark .file-cta:focus,html.theme--documenter-dark .file-name:focus,html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .button:focus,html.theme--documenter-dark .is-focused.pagination-previous,html.theme--documenter-dark .is-focused.pagination-next,html.theme--documenter-dark .is-focused.pagination-link,html.theme--documenter-dark .is-focused.pagination-ellipsis,html.theme--documenter-dark .is-focused.file-cta,html.theme--documenter-dark .is-focused.file-name,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-focused.button,html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active,html.theme--documenter-dark .pagination-ellipsis:active,html.theme--documenter-dark .file-cta:active,html.theme--documenter-dark .file-name:active,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .button:active,html.theme--documenter-dark .is-active.pagination-previous,html.theme--documenter-dark .is-active.pagination-next,html.theme--documenter-dark .is-active.pagination-link,html.theme--documenter-dark .is-active.pagination-ellipsis,html.theme--documenter-dark .is-active.file-cta,html.theme--documenter-dark .is-active.file-name,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .is-active.button{outline:none}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-link[disabled],html.theme--documenter-dark .pagination-ellipsis[disabled],html.theme--documenter-dark .file-cta[disabled],html.theme--documenter-dark .file-name[disabled],html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark fieldset[disabled] .pagination-previous,fieldset[disabled] html.theme--documenter-dark .pagination-next,html.theme--documenter-dark fieldset[disabled] .pagination-next,fieldset[disabled] html.theme--documenter-dark .pagination-link,html.theme--documenter-dark fieldset[disabled] .pagination-link,fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis,fieldset[disabled] html.theme--documenter-dark .file-cta,html.theme--documenter-dark fieldset[disabled] .file-cta,fieldset[disabled] html.theme--documenter-dark .file-name,html.theme--documenter-dark fieldset[disabled] .file-name,fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark fieldset[disabled] .select select,html.theme--documenter-dark .select fieldset[disabled] select,html.theme--documenter-dark fieldset[disabled] .textarea,html.theme--documenter-dark fieldset[disabled] .input,html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] html.theme--documenter-dark .button,html.theme--documenter-dark fieldset[disabled] .button{cursor:not-allowed}html.theme--documenter-dark .tabs,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .breadcrumb,html.theme--documenter-dark .file,html.theme--documenter-dark .button,.is-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after,html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}html.theme--documenter-dark .admonition:not(:last-child),html.theme--documenter-dark .tabs:not(:last-child),html.theme--documenter-dark .pagination:not(:last-child),html.theme--documenter-dark .message:not(:last-child),html.theme--documenter-dark .level:not(:last-child),html.theme--documenter-dark .breadcrumb:not(:last-child),html.theme--documenter-dark .block:not(:last-child),html.theme--documenter-dark .title:not(:last-child),html.theme--documenter-dark .subtitle:not(:last-child),html.theme--documenter-dark .table-container:not(:last-child),html.theme--documenter-dark .table:not(:last-child),html.theme--documenter-dark .progress:not(:last-child),html.theme--documenter-dark .notification:not(:last-child),html.theme--documenter-dark .content:not(:last-child),html.theme--documenter-dark .box:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .modal-close,html.theme--documenter-dark .delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before,html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before{height:2px;width:50%}html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{height:50%;width:2px}html.theme--documenter-dark .modal-close:hover,html.theme--documenter-dark .delete:hover,html.theme--documenter-dark .modal-close:focus,html.theme--documenter-dark .delete:focus{background-color:rgba(10,10,10,0.3)}html.theme--documenter-dark .modal-close:active,html.theme--documenter-dark .delete:active{background-color:rgba(10,10,10,0.4)}html.theme--documenter-dark .is-small.modal-close,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.modal-close,html.theme--documenter-dark .is-small.delete,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}html.theme--documenter-dark .is-medium.modal-close,html.theme--documenter-dark .is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}html.theme--documenter-dark .is-large.modal-close,html.theme--documenter-dark .is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}html.theme--documenter-dark .control.is-loading::after,html.theme--documenter-dark .select.is-loading::after,html.theme--documenter-dark .loader,html.theme--documenter-dark .button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdee0;border-radius:9999px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}html.theme--documenter-dark .hero-video,html.theme--documenter-dark .modal-background,html.theme--documenter-dark .modal,html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}html.theme--documenter-dark .navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#ecf0f1 !important}a.has-text-light:hover,a.has-text-light:focus{color:#cfd9db !important}.has-background-light{background-color:#ecf0f1 !important}.has-text-dark{color:#282f2f !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#111414 !important}.has-background-dark{background-color:#282f2f !important}.has-text-primary{color:#375a7f !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#28415b !important}.has-background-primary{background-color:#375a7f !important}.has-text-primary-light{color:#f1f5f9 !important}a.has-text-primary-light:hover,a.has-text-primary-light:focus{color:#cddbe9 !important}.has-background-primary-light{background-color:#f1f5f9 !important}.has-text-primary-dark{color:#4d7eb2 !important}a.has-text-primary-dark:hover,a.has-text-primary-dark:focus{color:#7198c1 !important}.has-background-primary-dark{background-color:#4d7eb2 !important}.has-text-link{color:#1abc9c !important}a.has-text-link:hover,a.has-text-link:focus{color:#148f77 !important}.has-background-link{background-color:#1abc9c !important}.has-text-link-light{color:#edfdf9 !important}a.has-text-link-light:hover,a.has-text-link-light:focus{color:#c0f6ec !important}.has-background-link-light{background-color:#edfdf9 !important}.has-text-link-dark{color:#15987e !important}a.has-text-link-dark:hover,a.has-text-link-dark:focus{color:#1bc5a4 !important}.has-background-link-dark{background-color:#15987e !important}.has-text-info{color:#024c7d !important}a.has-text-info:hover,a.has-text-info:focus{color:#012d4b !important}.has-background-info{background-color:#024c7d !important}.has-text-info-light{color:#ebf7ff !important}a.has-text-info-light:hover,a.has-text-info-light:focus{color:#b9e2fe !important}.has-background-info-light{background-color:#ebf7ff !important}.has-text-info-dark{color:#0e9dfb !important}a.has-text-info-dark:hover,a.has-text-info-dark:focus{color:#40b1fc !important}.has-background-info-dark{background-color:#0e9dfb !important}.has-text-success{color:#008438 !important}a.has-text-success:hover,a.has-text-success:focus{color:#005122 !important}.has-background-success{background-color:#008438 !important}.has-text-success-light{color:#ebfff3 !important}a.has-text-success-light:hover,a.has-text-success-light:focus{color:#b8ffd6 !important}.has-background-success-light{background-color:#ebfff3 !important}.has-text-success-dark{color:#00eb64 !important}a.has-text-success-dark:hover,a.has-text-success-dark:focus{color:#1fff7e !important}.has-background-success-dark{background-color:#00eb64 !important}.has-text-warning{color:#ad8100 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#7a5b00 !important}.has-background-warning{background-color:#ad8100 !important}.has-text-warning-light{color:#fffaeb !important}a.has-text-warning-light:hover,a.has-text-warning-light:focus{color:#ffedb8 !important}.has-background-warning-light{background-color:#fffaeb !important}.has-text-warning-dark{color:#d19c00 !important}a.has-text-warning-dark:hover,a.has-text-warning-dark:focus{color:#ffbf05 !important}.has-background-warning-dark{background-color:#d19c00 !important}.has-text-danger{color:#9e1b0d !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#6f1309 !important}.has-background-danger{background-color:#9e1b0d !important}.has-text-danger-light{color:#fdeeec !important}a.has-text-danger-light:hover,a.has-text-danger-light:focus{color:#fac3bd !important}.has-background-danger-light{background-color:#fdeeec !important}.has-text-danger-dark{color:#ec311d !important}a.has-text-danger-dark:hover,a.has-text-danger-dark:focus{color:#f05c4c !important}.has-background-danger-dark{background-color:#ec311d !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#282f2f !important}.has-background-grey-darker{background-color:#282f2f !important}.has-text-grey-dark{color:#343c3d !important}.has-background-grey-dark{background-color:#343c3d !important}.has-text-grey{color:#5e6d6f !important}.has-background-grey{background-color:#5e6d6f !important}.has-text-grey-light{color:#8c9b9d !important}.has-background-grey-light{background-color:#8c9b9d !important}.has-text-grey-lighter{color:#dbdee0 !important}.has-background-grey-lighter{background-color:#dbdee0 !important}.has-text-white-ter{color:#ecf0f1 !important}.has-background-white-ter{background-color:#ecf0f1 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.is-flex-direction-row{flex-direction:row !important}.is-flex-direction-row-reverse{flex-direction:row-reverse !important}.is-flex-direction-column{flex-direction:column !important}.is-flex-direction-column-reverse{flex-direction:column-reverse !important}.is-flex-wrap-nowrap{flex-wrap:nowrap !important}.is-flex-wrap-wrap{flex-wrap:wrap !important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse !important}.is-justify-content-flex-start{justify-content:flex-start !important}.is-justify-content-flex-end{justify-content:flex-end !important}.is-justify-content-center{justify-content:center !important}.is-justify-content-space-between{justify-content:space-between !important}.is-justify-content-space-around{justify-content:space-around !important}.is-justify-content-space-evenly{justify-content:space-evenly !important}.is-justify-content-start{justify-content:start !important}.is-justify-content-end{justify-content:end !important}.is-justify-content-left{justify-content:left !important}.is-justify-content-right{justify-content:right !important}.is-align-content-flex-start{align-content:flex-start !important}.is-align-content-flex-end{align-content:flex-end !important}.is-align-content-center{align-content:center !important}.is-align-content-space-between{align-content:space-between !important}.is-align-content-space-around{align-content:space-around !important}.is-align-content-space-evenly{align-content:space-evenly !important}.is-align-content-stretch{align-content:stretch !important}.is-align-content-start{align-content:start !important}.is-align-content-end{align-content:end !important}.is-align-content-baseline{align-content:baseline !important}.is-align-items-stretch{align-items:stretch !important}.is-align-items-flex-start{align-items:flex-start !important}.is-align-items-flex-end{align-items:flex-end !important}.is-align-items-center{align-items:center !important}.is-align-items-baseline{align-items:baseline !important}.is-align-items-start{align-items:start !important}.is-align-items-end{align-items:end !important}.is-align-items-self-start{align-items:self-start !important}.is-align-items-self-end{align-items:self-end !important}.is-align-self-auto{align-self:auto !important}.is-align-self-flex-start{align-self:flex-start !important}.is-align-self-flex-end{align-self:flex-end !important}.is-align-self-center{align-self:center !important}.is-align-self-baseline{align-self:baseline !important}.is-align-self-stretch{align-self:stretch !important}.is-flex-grow-0{flex-grow:0 !important}.is-flex-grow-1{flex-grow:1 !important}.is-flex-grow-2{flex-grow:2 !important}.is-flex-grow-3{flex-grow:3 !important}.is-flex-grow-4{flex-grow:4 !important}.is-flex-grow-5{flex-grow:5 !important}.is-flex-shrink-0{flex-shrink:0 !important}.is-flex-shrink-1{flex-shrink:1 !important}.is-flex-shrink-2{flex-shrink:2 !important}.is-flex-shrink-3{flex-shrink:3 !important}.is-flex-shrink-4{flex-shrink:4 !important}.is-flex-shrink-5{flex-shrink:5 !important}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-clickable{cursor:pointer !important;pointer-events:all !important}.is-clipped{overflow:hidden !important}.is-relative{position:relative !important}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.m-0{margin:0 !important}.mt-0{margin-top:0 !important}.mr-0{margin-right:0 !important}.mb-0{margin-bottom:0 !important}.ml-0{margin-left:0 !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.m-1{margin:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-left:.75rem !important;margin-right:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.m-4{margin:1rem !important}.mt-4{margin-top:1rem !important}.mr-4{margin-right:1rem !important}.mb-4{margin-bottom:1rem !important}.ml-4{margin-left:1rem !important}.mx-4{margin-left:1rem !important;margin-right:1rem !important}.my-4{margin-top:1rem !important;margin-bottom:1rem !important}.m-5{margin:1.5rem !important}.mt-5{margin-top:1.5rem !important}.mr-5{margin-right:1.5rem !important}.mb-5{margin-bottom:1.5rem !important}.ml-5{margin-left:1.5rem !important}.mx-5{margin-left:1.5rem !important;margin-right:1.5rem !important}.my-5{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.m-6{margin:3rem !important}.mt-6{margin-top:3rem !important}.mr-6{margin-right:3rem !important}.mb-6{margin-bottom:3rem !important}.ml-6{margin-left:3rem !important}.mx-6{margin-left:3rem !important;margin-right:3rem !important}.my-6{margin-top:3rem !important;margin-bottom:3rem !important}.m-auto{margin:auto !important}.mt-auto{margin-top:auto !important}.mr-auto{margin-right:auto !important}.mb-auto{margin-bottom:auto !important}.ml-auto{margin-left:auto !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.p-0{padding:0 !important}.pt-0{padding-top:0 !important}.pr-0{padding-right:0 !important}.pb-0{padding-bottom:0 !important}.pl-0{padding-left:0 !important}.px-0{padding-left:0 !important;padding-right:0 !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.p-1{padding:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-left:.75rem !important;padding-right:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.75rem !important}.p-4{padding:1rem !important}.pt-4{padding-top:1rem !important}.pr-4{padding-right:1rem !important}.pb-4{padding-bottom:1rem !important}.pl-4{padding-left:1rem !important}.px-4{padding-left:1rem !important;padding-right:1rem !important}.py-4{padding-top:1rem !important;padding-bottom:1rem !important}.p-5{padding:1.5rem !important}.pt-5{padding-top:1.5rem !important}.pr-5{padding-right:1.5rem !important}.pb-5{padding-bottom:1.5rem !important}.pl-5{padding-left:1.5rem !important}.px-5{padding-left:1.5rem !important;padding-right:1.5rem !important}.py-5{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.p-6{padding:3rem !important}.pt-6{padding-top:3rem !important}.pr-6{padding-right:3rem !important}.pb-6{padding-bottom:3rem !important}.pl-6{padding-left:3rem !important}.px-6{padding-left:3rem !important;padding-right:3rem !important}.py-6{padding-top:3rem !important;padding-bottom:3rem !important}.p-auto{padding:auto !important}.pt-auto{padding-top:auto !important}.pr-auto{padding-right:auto !important}.pb-auto{padding-bottom:auto !important}.pl-auto{padding-left:auto !important}.px-auto{padding-left:auto !important;padding-right:auto !important}.py-auto{padding-top:auto !important;padding-bottom:auto !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.is-underlined{text-decoration:underline !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}html.theme--documenter-dark{/*! + Theme: a11y-dark + Author: @ericwbailey + Maintainer: @ericwbailey + + Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css +*/}html.theme--documenter-dark html{background-color:#1f2424;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark article,html.theme--documenter-dark aside,html.theme--documenter-dark figure,html.theme--documenter-dark footer,html.theme--documenter-dark header,html.theme--documenter-dark hgroup,html.theme--documenter-dark section{display:block}html.theme--documenter-dark body,html.theme--documenter-dark button,html.theme--documenter-dark input,html.theme--documenter-dark optgroup,html.theme--documenter-dark select,html.theme--documenter-dark textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}html.theme--documenter-dark code,html.theme--documenter-dark pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}html.theme--documenter-dark body{color:#fff;font-size:1em;font-weight:400;line-height:1.5}html.theme--documenter-dark a{color:#1abc9c;cursor:pointer;text-decoration:none}html.theme--documenter-dark a strong{color:currentColor}html.theme--documenter-dark a:hover{color:#1dd2af}html.theme--documenter-dark code{background-color:rgba(255,255,255,0.05);color:#ececec;font-size:.875em;font-weight:normal;padding:.1em}html.theme--documenter-dark hr{background-color:#282f2f;border:none;display:block;height:2px;margin:1.5rem 0}html.theme--documenter-dark img{height:auto;max-width:100%}html.theme--documenter-dark input[type="checkbox"],html.theme--documenter-dark input[type="radio"]{vertical-align:baseline}html.theme--documenter-dark small{font-size:.875em}html.theme--documenter-dark span{font-style:inherit;font-weight:inherit}html.theme--documenter-dark strong{color:#f2f2f2;font-weight:700}html.theme--documenter-dark fieldset{border:none}html.theme--documenter-dark pre{-webkit-overflow-scrolling:touch;background-color:#282f2f;color:#fff;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}html.theme--documenter-dark pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}html.theme--documenter-dark table td,html.theme--documenter-dark table th{vertical-align:top}html.theme--documenter-dark table td:not([align]),html.theme--documenter-dark table th:not([align]){text-align:inherit}html.theme--documenter-dark table th{color:#f2f2f2}html.theme--documenter-dark .box{background-color:#343c3d;border-radius:8px;box-shadow:none;color:#fff;display:block;padding:1.25rem}html.theme--documenter-dark a.box:hover,html.theme--documenter-dark a.box:focus{box-shadow:0 0.5em 1em -0.125em rgba(10,10,10,0.1),0 0 0 1px #1abc9c}html.theme--documenter-dark a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #1abc9c}html.theme--documenter-dark .button{background-color:#282f2f;border-color:#4c5759;border-width:1px;color:#375a7f;cursor:pointer;justify-content:center;padding-bottom:calc(0.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(0.5em - 1px);text-align:center;white-space:nowrap}html.theme--documenter-dark .button strong{color:inherit}html.theme--documenter-dark .button .icon,html.theme--documenter-dark .button .icon.is-small,html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search>input.icon,html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search>input.icon,html.theme--documenter-dark .button .icon.is-medium,html.theme--documenter-dark .button .icon.is-large{height:1.5em;width:1.5em}html.theme--documenter-dark .button .icon:first-child:not(:last-child){margin-left:calc(-0.5em - 1px);margin-right:.25em}html.theme--documenter-dark .button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-0.5em - 1px)}html.theme--documenter-dark .button .icon:first-child:last-child{margin-left:calc(-0.5em - 1px);margin-right:calc(-0.5em - 1px)}html.theme--documenter-dark .button:hover,html.theme--documenter-dark .button.is-hovered{border-color:#8c9b9d;color:#f2f2f2}html.theme--documenter-dark .button:focus,html.theme--documenter-dark .button.is-focused{border-color:#8c9b9d;color:#17a689}html.theme--documenter-dark .button:focus:not(:active),html.theme--documenter-dark .button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button:active,html.theme--documenter-dark .button.is-active{border-color:#343c3d;color:#f2f2f2}html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;color:#fff;text-decoration:underline}html.theme--documenter-dark .button.is-text:hover,html.theme--documenter-dark .button.is-text.is-hovered,html.theme--documenter-dark .button.is-text:focus,html.theme--documenter-dark .button.is-text.is-focused{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .button.is-text:active,html.theme--documenter-dark .button.is-text.is-active{background-color:#1d2122;color:#f2f2f2}html.theme--documenter-dark .button.is-text[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-ghost{background:none;border-color:rgba(0,0,0,0);color:#1abc9c;text-decoration:none}html.theme--documenter-dark .button.is-ghost:hover,html.theme--documenter-dark .button.is-ghost.is-hovered{color:#1abc9c;text-decoration:underline}html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:hover,html.theme--documenter-dark .button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus,html.theme--documenter-dark .button.is-white.is-focused{border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus:not(:active),html.theme--documenter-dark .button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-hovered{background-color:#000}html.theme--documenter-dark .button.is-white.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-white.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:hover,html.theme--documenter-dark .button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus,html.theme--documenter-dark .button.is-black.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus:not(:active),html.theme--documenter-dark .button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:#0a0a0a;box-shadow:none}html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-black.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light:hover,html.theme--documenter-dark .button.is-light.is-hovered{background-color:#e5eaec;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light:focus,html.theme--documenter-dark .button.is-light.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light:focus:not(:active),html.theme--documenter-dark .button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light.is-active{background-color:#dde4e6;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:#ecf0f1;box-shadow:none}html.theme--documenter-dark .button.is-light.is-inverted{background-color:rgba(0,0,0,0.7);color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-outlined.is-focused{background-color:#ecf0f1;border-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}html.theme--documenter-dark .button.is-light.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .button.is-dark,html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover,html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered{background-color:#232829;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-dark:focus:not(:active),html.theme--documenter-dark .content kbd.button:focus:not(:active),html.theme--documenter-dark .button.is-dark.is-focused:not(:active),html.theme--documenter-dark .content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active{background-color:#1d2122;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-dark[disabled],html.theme--documenter-dark .content kbd.button[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark,fieldset[disabled] html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:#282f2f;box-shadow:none}html.theme--documenter-dark .button.is-dark.is-inverted,html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#fff;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted:hover,html.theme--documenter-dark .content kbd.button.is-inverted:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-dark.is-inverted[disabled],html.theme--documenter-dark .content kbd.button.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-loading::after,html.theme--documenter-dark .content kbd.button.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-dark.is-outlined,html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-outlined.is-focused{background-color:#282f2f;border-color:#282f2f;color:#fff}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-dark.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused{background-color:#fff;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-primary,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus:not(:active),html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus:not(:active),html.theme--documenter-dark .button.is-primary.is-focused:not(:active),html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary[disabled],html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:#375a7f;box-shadow:none}html.theme--documenter-dark .button.is-primary.is-inverted,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}html.theme--documenter-dark .button.is-primary.is-inverted[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-primary.is-light,html.theme--documenter-dark .docstring>section>a.button.is-light.docs-sourcelink{background-color:#f1f5f9;color:#4d7eb2}html.theme--documenter-dark .button.is-primary.is-light:hover,html.theme--documenter-dark .docstring>section>a.button.is-light.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-light.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-light.is-hovered.docs-sourcelink{background-color:#e8eef5;border-color:transparent;color:#4d7eb2}html.theme--documenter-dark .button.is-primary.is-light:active,html.theme--documenter-dark .docstring>section>a.button.is-light.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary.is-light.is-active,html.theme--documenter-dark .docstring>section>a.button.is-light.is-active.docs-sourcelink{background-color:#dfe8f1;border-color:transparent;color:#4d7eb2}html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:hover,html.theme--documenter-dark .button.is-link.is-hovered{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus,html.theme--documenter-dark .button.is-link.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus:not(:active),html.theme--documenter-dark .button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link.is-active{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:#1abc9c;box-shadow:none}html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-link.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-outlined.is-focused{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-link.is-light{background-color:#edfdf9;color:#15987e}html.theme--documenter-dark .button.is-link.is-light:hover,html.theme--documenter-dark .button.is-link.is-light.is-hovered{background-color:#e2fbf6;border-color:transparent;color:#15987e}html.theme--documenter-dark .button.is-link.is-light:active,html.theme--documenter-dark .button.is-link.is-light.is-active{background-color:#d7f9f3;border-color:transparent;color:#15987e}html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:hover,html.theme--documenter-dark .button.is-info.is-hovered{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus,html.theme--documenter-dark .button.is-info.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus:not(:active),html.theme--documenter-dark .button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info.is-active{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:#024c7d;box-shadow:none}html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-info.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;color:#024c7d}html.theme--documenter-dark .button.is-info.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-outlined.is-focused{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-info.is-light{background-color:#ebf7ff;color:#0e9dfb}html.theme--documenter-dark .button.is-info.is-light:hover,html.theme--documenter-dark .button.is-info.is-light.is-hovered{background-color:#def2fe;border-color:transparent;color:#0e9dfb}html.theme--documenter-dark .button.is-info.is-light:active,html.theme--documenter-dark .button.is-info.is-light.is-active{background-color:#d2edfe;border-color:transparent;color:#0e9dfb}html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:hover,html.theme--documenter-dark .button.is-success.is-hovered{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus,html.theme--documenter-dark .button.is-success.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus:not(:active),html.theme--documenter-dark .button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success.is-active{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:#008438;box-shadow:none}html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-success.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;color:#008438}html.theme--documenter-dark .button.is-success.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-outlined.is-focused{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-success.is-light{background-color:#ebfff3;color:#00eb64}html.theme--documenter-dark .button.is-success.is-light:hover,html.theme--documenter-dark .button.is-success.is-light.is-hovered{background-color:#deffec;border-color:transparent;color:#00eb64}html.theme--documenter-dark .button.is-success.is-light:active,html.theme--documenter-dark .button.is-success.is-light.is-active{background-color:#d1ffe5;border-color:transparent;color:#00eb64}html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:hover,html.theme--documenter-dark .button.is-warning.is-hovered{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus,html.theme--documenter-dark .button.is-warning.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus:not(:active),html.theme--documenter-dark .button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning.is-active{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:#ad8100;box-shadow:none}html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-warning.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-outlined.is-focused{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-warning.is-light{background-color:#fffaeb;color:#d19c00}html.theme--documenter-dark .button.is-warning.is-light:hover,html.theme--documenter-dark .button.is-warning.is-light.is-hovered{background-color:#fff7de;border-color:transparent;color:#d19c00}html.theme--documenter-dark .button.is-warning.is-light:active,html.theme--documenter-dark .button.is-warning.is-light.is-active{background-color:#fff3d1;border-color:transparent;color:#d19c00}html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:hover,html.theme--documenter-dark .button.is-danger.is-hovered{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus,html.theme--documenter-dark .button.is-danger.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus:not(:active),html.theme--documenter-dark .button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger.is-active{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:#9e1b0d;box-shadow:none}html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-danger.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-outlined.is-focused{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-danger.is-light{background-color:#fdeeec;color:#ec311d}html.theme--documenter-dark .button.is-danger.is-light:hover,html.theme--documenter-dark .button.is-danger.is-light.is-hovered{background-color:#fce3e0;border-color:transparent;color:#ec311d}html.theme--documenter-dark .button.is-danger.is-light:active,html.theme--documenter-dark .button.is-danger.is-light.is-active{background-color:#fcd8d5;border-color:transparent;color:#ec311d}html.theme--documenter-dark .button.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{font-size:.75rem}html.theme--documenter-dark .button.is-small:not(.is-rounded),html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button:not(.is-rounded){border-radius:3px}html.theme--documenter-dark .button.is-normal{font-size:1rem}html.theme--documenter-dark .button.is-medium{font-size:1.25rem}html.theme--documenter-dark .button.is-large{font-size:1.5rem}html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .button{background-color:#8c9b9d;border-color:#5e6d6f;box-shadow:none;opacity:.5}html.theme--documenter-dark .button.is-fullwidth{display:flex;width:100%}html.theme--documenter-dark .button.is-loading{color:transparent !important;pointer-events:none}html.theme--documenter-dark .button.is-loading::after{position:absolute;left:calc(50% - (1em * 0.5));top:calc(50% - (1em * 0.5));position:absolute !important}html.theme--documenter-dark .button.is-static{background-color:#282f2f;border-color:#5e6d6f;color:#dbdee0;box-shadow:none;pointer-events:none}html.theme--documenter-dark .button.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{border-radius:9999px;padding-left:calc(1em + 0.25em);padding-right:calc(1em + 0.25em)}html.theme--documenter-dark .buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .buttons .button{margin-bottom:0.5rem}html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}html.theme--documenter-dark .buttons:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .buttons:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:3px}html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}html.theme--documenter-dark .buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}html.theme--documenter-dark .buttons.has-addons .button:last-child{margin-right:0}html.theme--documenter-dark .buttons.has-addons .button:hover,html.theme--documenter-dark .buttons.has-addons .button.is-hovered{z-index:2}html.theme--documenter-dark .buttons.has-addons .button:focus,html.theme--documenter-dark .buttons.has-addons .button.is-focused,html.theme--documenter-dark .buttons.has-addons .button:active,html.theme--documenter-dark .buttons.has-addons .button.is-active,html.theme--documenter-dark .buttons.has-addons .button.is-selected{z-index:3}html.theme--documenter-dark .buttons.has-addons .button:focus:hover,html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover,html.theme--documenter-dark .buttons.has-addons .button:active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover{z-index:4}html.theme--documenter-dark .buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .buttons.is-centered{justify-content:center}html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}html.theme--documenter-dark .buttons.is-right{justify-content:flex-end}html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .button.is-responsive.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-responsive{font-size:.5625rem}html.theme--documenter-dark .button.is-responsive,html.theme--documenter-dark .button.is-responsive.is-normal{font-size:.65625rem}html.theme--documenter-dark .button.is-responsive.is-medium{font-size:.75rem}html.theme--documenter-dark .button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .button.is-responsive.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-responsive{font-size:.65625rem}html.theme--documenter-dark .button.is-responsive,html.theme--documenter-dark .button.is-responsive.is-normal{font-size:.75rem}html.theme--documenter-dark .button.is-responsive.is-medium{font-size:1rem}html.theme--documenter-dark .button.is-responsive.is-large{font-size:1.25rem}}html.theme--documenter-dark .container{flex-grow:1;margin:0 auto;position:relative;width:auto}html.theme--documenter-dark .container.is-fluid{max-width:none !important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width: 1056px){html.theme--documenter-dark .container{max-width:992px}}@media screen and (max-width: 1215px){html.theme--documenter-dark .container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width: 1407px){html.theme--documenter-dark .container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width: 1216px){html.theme--documenter-dark .container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width: 1408px){html.theme--documenter-dark .container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}html.theme--documenter-dark .content li+li{margin-top:0.25em}html.theme--documenter-dark .content p:not(:last-child),html.theme--documenter-dark .content dl:not(:last-child),html.theme--documenter-dark .content ol:not(:last-child),html.theme--documenter-dark .content ul:not(:last-child),html.theme--documenter-dark .content blockquote:not(:last-child),html.theme--documenter-dark .content pre:not(:last-child),html.theme--documenter-dark .content table:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .content h1,html.theme--documenter-dark .content h2,html.theme--documenter-dark .content h3,html.theme--documenter-dark .content h4,html.theme--documenter-dark .content h5,html.theme--documenter-dark .content h6{color:#f2f2f2;font-weight:600;line-height:1.125}html.theme--documenter-dark .content h1{font-size:2em;margin-bottom:0.5em}html.theme--documenter-dark .content h1:not(:first-child){margin-top:1em}html.theme--documenter-dark .content h2{font-size:1.75em;margin-bottom:0.5714em}html.theme--documenter-dark .content h2:not(:first-child){margin-top:1.1428em}html.theme--documenter-dark .content h3{font-size:1.5em;margin-bottom:0.6666em}html.theme--documenter-dark .content h3:not(:first-child){margin-top:1.3333em}html.theme--documenter-dark .content h4{font-size:1.25em;margin-bottom:0.8em}html.theme--documenter-dark .content h5{font-size:1.125em;margin-bottom:0.8888em}html.theme--documenter-dark .content h6{font-size:1em;margin-bottom:1em}html.theme--documenter-dark .content blockquote{background-color:#282f2f;border-left:5px solid #5e6d6f;padding:1.25em 1.5em}html.theme--documenter-dark .content ol{list-style-position:outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ol:not([type]){list-style-type:decimal}html.theme--documenter-dark .content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}html.theme--documenter-dark .content ol.is-lower-roman:not([type]){list-style-type:lower-roman}html.theme--documenter-dark .content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}html.theme--documenter-dark .content ol.is-upper-roman:not([type]){list-style-type:upper-roman}html.theme--documenter-dark .content ul{list-style:disc outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ul ul{list-style-type:circle;margin-top:0.5em}html.theme--documenter-dark .content ul ul ul{list-style-type:square}html.theme--documenter-dark .content dd{margin-left:2em}html.theme--documenter-dark .content figure{margin-left:2em;margin-right:2em;text-align:center}html.theme--documenter-dark .content figure:not(:first-child){margin-top:2em}html.theme--documenter-dark .content figure:not(:last-child){margin-bottom:2em}html.theme--documenter-dark .content figure img{display:inline-block}html.theme--documenter-dark .content figure figcaption{font-style:italic}html.theme--documenter-dark .content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}html.theme--documenter-dark .content sup,html.theme--documenter-dark .content sub{font-size:75%}html.theme--documenter-dark .content table{width:100%}html.theme--documenter-dark .content table td,html.theme--documenter-dark .content table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .content table th{color:#f2f2f2}html.theme--documenter-dark .content table th:not([align]){text-align:inherit}html.theme--documenter-dark .content table thead td,html.theme--documenter-dark .content table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .content table tfoot td,html.theme--documenter-dark .content table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .content table tbody tr:last-child td,html.theme--documenter-dark .content table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .content .tabs li+li{margin-top:0}html.theme--documenter-dark .content.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.content{font-size:.75rem}html.theme--documenter-dark .content.is-normal{font-size:1rem}html.theme--documenter-dark .content.is-medium{font-size:1.25rem}html.theme--documenter-dark .content.is-large{font-size:1.5rem}html.theme--documenter-dark .icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}html.theme--documenter-dark .icon.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}html.theme--documenter-dark .icon.is-medium{height:2rem;width:2rem}html.theme--documenter-dark .icon.is-large{height:3rem;width:3rem}html.theme--documenter-dark .icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}html.theme--documenter-dark .icon-text .icon{flex-grow:0;flex-shrink:0}html.theme--documenter-dark .icon-text .icon:not(:last-child){margin-right:.25em}html.theme--documenter-dark .icon-text .icon:not(:first-child){margin-left:.25em}html.theme--documenter-dark div.icon-text{display:flex}html.theme--documenter-dark .image,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{display:block;position:relative}html.theme--documenter-dark .image img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}html.theme--documenter-dark .image img.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:9999px}html.theme--documenter-dark .image.is-fullwidth,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-fullwidth{width:100%}html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}html.theme--documenter-dark .image.is-square,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square,html.theme--documenter-dark .image.is-1by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}html.theme--documenter-dark .image.is-5by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}html.theme--documenter-dark .image.is-4by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}html.theme--documenter-dark .image.is-3by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}html.theme--documenter-dark .image.is-5by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}html.theme--documenter-dark .image.is-16by9,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}html.theme--documenter-dark .image.is-2by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}html.theme--documenter-dark .image.is-3by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}html.theme--documenter-dark .image.is-4by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}html.theme--documenter-dark .image.is-3by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}html.theme--documenter-dark .image.is-2by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}html.theme--documenter-dark .image.is-3by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}html.theme--documenter-dark .image.is-9by16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}html.theme--documenter-dark .image.is-1by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}html.theme--documenter-dark .image.is-1by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}html.theme--documenter-dark .image.is-16x16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}html.theme--documenter-dark .image.is-24x24,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}html.theme--documenter-dark .image.is-32x32,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}html.theme--documenter-dark .image.is-48x48,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}html.theme--documenter-dark .image.is-64x64,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}html.theme--documenter-dark .image.is-96x96,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}html.theme--documenter-dark .image.is-128x128,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}html.theme--documenter-dark .notification{background-color:#282f2f;border-radius:.4em;position:relative;padding:1.25rem 2.5rem 1.25rem 1.5rem}html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .notification strong{color:currentColor}html.theme--documenter-dark .notification code,html.theme--documenter-dark .notification pre{background:#fff}html.theme--documenter-dark .notification pre code{background:transparent}html.theme--documenter-dark .notification>.delete{right:.5rem;position:absolute;top:0.5rem}html.theme--documenter-dark .notification .title,html.theme--documenter-dark .notification .subtitle,html.theme--documenter-dark .notification .content{color:currentColor}html.theme--documenter-dark .notification.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .notification.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .notification.is-light{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .notification.is-dark,html.theme--documenter-dark .content kbd.notification{background-color:#282f2f;color:#fff}html.theme--documenter-dark .notification.is-primary,html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .notification.is-primary.is-light,html.theme--documenter-dark .docstring>section>a.notification.is-light.docs-sourcelink{background-color:#f1f5f9;color:#4d7eb2}html.theme--documenter-dark .notification.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .notification.is-link.is-light{background-color:#edfdf9;color:#15987e}html.theme--documenter-dark .notification.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .notification.is-info.is-light{background-color:#ebf7ff;color:#0e9dfb}html.theme--documenter-dark .notification.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .notification.is-success.is-light{background-color:#ebfff3;color:#00eb64}html.theme--documenter-dark .notification.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .notification.is-warning.is-light{background-color:#fffaeb;color:#d19c00}html.theme--documenter-dark .notification.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .notification.is-danger.is-light{background-color:#fdeeec;color:#ec311d}html.theme--documenter-dark .progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}html.theme--documenter-dark .progress::-webkit-progress-bar{background-color:#343c3d}html.theme--documenter-dark .progress::-webkit-progress-value{background-color:#dbdee0}html.theme--documenter-dark .progress::-moz-progress-bar{background-color:#dbdee0}html.theme--documenter-dark .progress::-ms-fill{background-color:#dbdee0;border:none}html.theme--documenter-dark .progress.is-white::-webkit-progress-value{background-color:#fff}html.theme--documenter-dark .progress.is-white::-moz-progress-bar{background-color:#fff}html.theme--documenter-dark .progress.is-white::-ms-fill{background-color:#fff}html.theme--documenter-dark .progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-black::-webkit-progress-value{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-moz-progress-bar{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-ms-fill{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-light::-webkit-progress-value{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-moz-progress-bar{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-ms-fill{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light:indeterminate{background-image:linear-gradient(to right, #ecf0f1 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-dark::-webkit-progress-value,html.theme--documenter-dark .content kbd.progress::-webkit-progress-value{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-moz-progress-bar,html.theme--documenter-dark .content kbd.progress::-moz-progress-bar{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-ms-fill,html.theme--documenter-dark .content kbd.progress::-ms-fill{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark:indeterminate,html.theme--documenter-dark .content kbd.progress:indeterminate{background-image:linear-gradient(to right, #282f2f 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-primary::-webkit-progress-value,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-moz-progress-bar,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-ms-fill,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary:indeterminate,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #375a7f 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-link::-webkit-progress-value{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-moz-progress-bar{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-ms-fill{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link:indeterminate{background-image:linear-gradient(to right, #1abc9c 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-info::-webkit-progress-value{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-moz-progress-bar{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-ms-fill{background-color:#024c7d}html.theme--documenter-dark .progress.is-info:indeterminate{background-image:linear-gradient(to right, #024c7d 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-success::-webkit-progress-value{background-color:#008438}html.theme--documenter-dark .progress.is-success::-moz-progress-bar{background-color:#008438}html.theme--documenter-dark .progress.is-success::-ms-fill{background-color:#008438}html.theme--documenter-dark .progress.is-success:indeterminate{background-image:linear-gradient(to right, #008438 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-warning::-webkit-progress-value{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-moz-progress-bar{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-ms-fill{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ad8100 30%, #343c3d 30%)}html.theme--documenter-dark .progress.is-danger::-webkit-progress-value{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-moz-progress-bar{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-ms-fill{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger:indeterminate{background-image:linear-gradient(to right, #9e1b0d 30%, #343c3d 30%)}html.theme--documenter-dark .progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#343c3d;background-image:linear-gradient(to right, #fff 30%, #343c3d 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar{background-color:transparent}html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar{background-color:transparent}html.theme--documenter-dark .progress:indeterminate::-ms-fill{animation-name:none}html.theme--documenter-dark .progress.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.progress{height:.75rem}html.theme--documenter-dark .progress.is-medium{height:1.25rem}html.theme--documenter-dark .progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}html.theme--documenter-dark .table{background-color:#343c3d;color:#fff}html.theme--documenter-dark .table td,html.theme--documenter-dark .table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .table td.is-white,html.theme--documenter-dark .table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .table td.is-black,html.theme--documenter-dark .table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .table td.is-light,html.theme--documenter-dark .table th.is-light{background-color:#ecf0f1;border-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .table td.is-dark,html.theme--documenter-dark .table th.is-dark{background-color:#282f2f;border-color:#282f2f;color:#fff}html.theme--documenter-dark .table td.is-primary,html.theme--documenter-dark .table th.is-primary{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-link,html.theme--documenter-dark .table th.is-link{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .table td.is-info,html.theme--documenter-dark .table th.is-info{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .table td.is-success,html.theme--documenter-dark .table th.is-success{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .table td.is-warning,html.theme--documenter-dark .table th.is-warning{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .table td.is-danger,html.theme--documenter-dark .table th.is-danger{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .table td.is-narrow,html.theme--documenter-dark .table th.is-narrow{white-space:nowrap;width:1%}html.theme--documenter-dark .table td.is-selected,html.theme--documenter-dark .table th.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-selected a,html.theme--documenter-dark .table td.is-selected strong,html.theme--documenter-dark .table th.is-selected a,html.theme--documenter-dark .table th.is-selected strong{color:currentColor}html.theme--documenter-dark .table td.is-vcentered,html.theme--documenter-dark .table th.is-vcentered{vertical-align:middle}html.theme--documenter-dark .table th{color:#f2f2f2}html.theme--documenter-dark .table th:not([align]){text-align:left}html.theme--documenter-dark .table tr.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table tr.is-selected a,html.theme--documenter-dark .table tr.is-selected strong{color:currentColor}html.theme--documenter-dark .table tr.is-selected td,html.theme--documenter-dark .table tr.is-selected th{border-color:#fff;color:currentColor}html.theme--documenter-dark .table thead{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table thead td,html.theme--documenter-dark .table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .table tfoot{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tfoot td,html.theme--documenter-dark .table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .table tbody{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tbody tr:last-child td,html.theme--documenter-dark .table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .table.is-bordered td,html.theme--documenter-dark .table.is-bordered th{border-width:1px}html.theme--documenter-dark .table.is-bordered tr:last-child td,html.theme--documenter-dark .table.is-bordered tr:last-child th{border-bottom-width:1px}html.theme--documenter-dark .table.is-fullwidth{width:100%}html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#2d3435}html.theme--documenter-dark .table.is-narrow td,html.theme--documenter-dark .table.is-narrow th{padding:0.25em 0.5em}html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#282f2f}html.theme--documenter-dark .table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}html.theme--documenter-dark .tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .tags .tag,html.theme--documenter-dark .tags .content kbd,html.theme--documenter-dark .content .tags kbd,html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}html.theme--documenter-dark .tags .tag:not(:last-child),html.theme--documenter-dark .tags .content kbd:not(:last-child),html.theme--documenter-dark .content .tags kbd:not(:last-child),html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:.5rem}html.theme--documenter-dark .tags:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .tags:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:1rem}html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}html.theme--documenter-dark .tags.is-centered{justify-content:center}html.theme--documenter-dark .tags.is-centered .tag,html.theme--documenter-dark .tags.is-centered .content kbd,html.theme--documenter-dark .content .tags.is-centered kbd,html.theme--documenter-dark .tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}html.theme--documenter-dark .tags.is-right{justify-content:flex-end}html.theme--documenter-dark .tags.is-right .tag:not(:first-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}html.theme--documenter-dark .tags.is-right .tag:not(:last-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}html.theme--documenter-dark .tags.has-addons .tag,html.theme--documenter-dark .tags.has-addons .content kbd,html.theme--documenter-dark .content .tags.has-addons kbd,html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}html.theme--documenter-dark .tags.has-addons .tag:not(:first-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}html.theme--documenter-dark .tags.has-addons .tag:not(:last-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}html.theme--documenter-dark .tag:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#282f2f;border-radius:.4em;color:#fff;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}html.theme--documenter-dark .tag:not(body) .delete,html.theme--documenter-dark .content kbd:not(body) .delete,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}html.theme--documenter-dark .tag.is-white:not(body),html.theme--documenter-dark .content kbd.is-white:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .tag.is-black:not(body),html.theme--documenter-dark .content kbd.is-black:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .tag.is-light:not(body),html.theme--documenter-dark .content kbd.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .tag.is-dark:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-dark:not(body),html.theme--documenter-dark .content .docstring>section>kbd:not(body){background-color:#282f2f;color:#fff}html.theme--documenter-dark .tag.is-primary:not(body),html.theme--documenter-dark .content kbd.is-primary:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){background-color:#375a7f;color:#fff}html.theme--documenter-dark .tag.is-primary.is-light:not(body),html.theme--documenter-dark .content kbd.is-primary.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#f1f5f9;color:#4d7eb2}html.theme--documenter-dark .tag.is-link:not(body),html.theme--documenter-dark .content kbd.is-link:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#1abc9c;color:#fff}html.theme--documenter-dark .tag.is-link.is-light:not(body),html.theme--documenter-dark .content kbd.is-link.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-link.is-light:not(body){background-color:#edfdf9;color:#15987e}html.theme--documenter-dark .tag.is-info:not(body),html.theme--documenter-dark .content kbd.is-info:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#024c7d;color:#fff}html.theme--documenter-dark .tag.is-info.is-light:not(body),html.theme--documenter-dark .content kbd.is-info.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-info.is-light:not(body){background-color:#ebf7ff;color:#0e9dfb}html.theme--documenter-dark .tag.is-success:not(body),html.theme--documenter-dark .content kbd.is-success:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#008438;color:#fff}html.theme--documenter-dark .tag.is-success.is-light:not(body),html.theme--documenter-dark .content kbd.is-success.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-success.is-light:not(body){background-color:#ebfff3;color:#00eb64}html.theme--documenter-dark .tag.is-warning:not(body),html.theme--documenter-dark .content kbd.is-warning:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ad8100;color:#fff}html.theme--documenter-dark .tag.is-warning.is-light:not(body),html.theme--documenter-dark .content kbd.is-warning.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-warning.is-light:not(body){background-color:#fffaeb;color:#d19c00}html.theme--documenter-dark .tag.is-danger:not(body),html.theme--documenter-dark .content kbd.is-danger:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .tag.is-danger.is-light:not(body),html.theme--documenter-dark .content kbd.is-danger.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-danger.is-light:not(body){background-color:#fdeeec;color:#ec311d}html.theme--documenter-dark .tag.is-normal:not(body),html.theme--documenter-dark .content kbd.is-normal:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.75rem}html.theme--documenter-dark .tag.is-medium:not(body),html.theme--documenter-dark .content kbd.is-medium:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:1rem}html.theme--documenter-dark .tag.is-large:not(body),html.theme--documenter-dark .content kbd.is-large:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child,html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}html.theme--documenter-dark .tag.is-delete:not(body),html.theme--documenter-dark .content kbd.is-delete:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before,html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}html.theme--documenter-dark .tag.is-delete:not(body):hover,html.theme--documenter-dark .content kbd.is-delete:not(body):hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):hover,html.theme--documenter-dark .tag.is-delete:not(body):focus,html.theme--documenter-dark .content kbd.is-delete:not(body):focus,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#1d2122}html.theme--documenter-dark .tag.is-delete:not(body):active,html.theme--documenter-dark .content kbd.is-delete:not(body):active,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#111414}html.theme--documenter-dark .tag.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:not(body),html.theme--documenter-dark .content kbd.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:9999px}html.theme--documenter-dark a.tag:hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:hover{text-decoration:underline}html.theme--documenter-dark .title,html.theme--documenter-dark .subtitle{word-break:break-word}html.theme--documenter-dark .title em,html.theme--documenter-dark .title span,html.theme--documenter-dark .subtitle em,html.theme--documenter-dark .subtitle span{font-weight:inherit}html.theme--documenter-dark .title sub,html.theme--documenter-dark .subtitle sub{font-size:.75em}html.theme--documenter-dark .title sup,html.theme--documenter-dark .subtitle sup{font-size:.75em}html.theme--documenter-dark .title .tag,html.theme--documenter-dark .title .content kbd,html.theme--documenter-dark .content .title kbd,html.theme--documenter-dark .title .docstring>section>a.docs-sourcelink,html.theme--documenter-dark .subtitle .tag,html.theme--documenter-dark .subtitle .content kbd,html.theme--documenter-dark .content .subtitle kbd,html.theme--documenter-dark .subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}html.theme--documenter-dark .title{color:#fff;font-size:2rem;font-weight:500;line-height:1.125}html.theme--documenter-dark .title strong{color:inherit;font-weight:inherit}html.theme--documenter-dark .title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}html.theme--documenter-dark .title.is-1{font-size:3rem}html.theme--documenter-dark .title.is-2{font-size:2.5rem}html.theme--documenter-dark .title.is-3{font-size:2rem}html.theme--documenter-dark .title.is-4{font-size:1.5rem}html.theme--documenter-dark .title.is-5{font-size:1.25rem}html.theme--documenter-dark .title.is-6{font-size:1rem}html.theme--documenter-dark .title.is-7{font-size:.75rem}html.theme--documenter-dark .subtitle{color:#8c9b9d;font-size:1.25rem;font-weight:400;line-height:1.25}html.theme--documenter-dark .subtitle strong{color:#8c9b9d;font-weight:600}html.theme--documenter-dark .subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}html.theme--documenter-dark .subtitle.is-1{font-size:3rem}html.theme--documenter-dark .subtitle.is-2{font-size:2.5rem}html.theme--documenter-dark .subtitle.is-3{font-size:2rem}html.theme--documenter-dark .subtitle.is-4{font-size:1.5rem}html.theme--documenter-dark .subtitle.is-5{font-size:1.25rem}html.theme--documenter-dark .subtitle.is-6{font-size:1rem}html.theme--documenter-dark .subtitle.is-7{font-size:.75rem}html.theme--documenter-dark .heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}html.theme--documenter-dark .number{align-items:center;background-color:#282f2f;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#1f2424;border-color:#5e6d6f;border-radius:.4em;color:#dbdee0}html.theme--documenter-dark .select select::-moz-placeholder,html.theme--documenter-dark .textarea::-moz-placeholder,html.theme--documenter-dark .input::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:#868c98}html.theme--documenter-dark .select select::-webkit-input-placeholder,html.theme--documenter-dark .textarea::-webkit-input-placeholder,html.theme--documenter-dark .input::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:#868c98}html.theme--documenter-dark .select select:-moz-placeholder,html.theme--documenter-dark .textarea:-moz-placeholder,html.theme--documenter-dark .input:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:#868c98}html.theme--documenter-dark .select select:-ms-input-placeholder,html.theme--documenter-dark .textarea:-ms-input-placeholder,html.theme--documenter-dark .input:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:#868c98}html.theme--documenter-dark .select select:hover,html.theme--documenter-dark .textarea:hover,html.theme--documenter-dark .input:hover,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:hover,html.theme--documenter-dark .select select.is-hovered,html.theme--documenter-dark .is-hovered.textarea,html.theme--documenter-dark .is-hovered.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#8c9b9d}html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{border-color:#1abc9c;box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#8c9b9d;border-color:#282f2f;box-shadow:none;color:#fff}html.theme--documenter-dark .select select[disabled]::-moz-placeholder,html.theme--documenter-dark .textarea[disabled]::-moz-placeholder,html.theme--documenter-dark .input[disabled]::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-moz-placeholder,html.theme--documenter-dark .textarea[disabled]:-moz-placeholder,html.theme--documenter-dark .input[disabled]:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder,html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder,html.theme--documenter-dark .input[disabled]:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 0.0625em 0.125em rgba(10,10,10,0.05);max-width:100%;width:100%}html.theme--documenter-dark .textarea[readonly],html.theme--documenter-dark .input[readonly],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}html.theme--documenter-dark .is-white.textarea,html.theme--documenter-dark .is-white.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}html.theme--documenter-dark .is-white.textarea:focus,html.theme--documenter-dark .is-white.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:focus,html.theme--documenter-dark .is-white.is-focused.textarea,html.theme--documenter-dark .is-white.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-white.textarea:active,html.theme--documenter-dark .is-white.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:active,html.theme--documenter-dark .is-white.is-active.textarea,html.theme--documenter-dark .is-white.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .is-black.textarea,html.theme--documenter-dark .is-black.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}html.theme--documenter-dark .is-black.textarea:focus,html.theme--documenter-dark .is-black.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:focus,html.theme--documenter-dark .is-black.is-focused.textarea,html.theme--documenter-dark .is-black.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-black.textarea:active,html.theme--documenter-dark .is-black.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:active,html.theme--documenter-dark .is-black.is-active.textarea,html.theme--documenter-dark .is-black.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .is-light.textarea,html.theme--documenter-dark .is-light.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light{border-color:#ecf0f1}html.theme--documenter-dark .is-light.textarea:focus,html.theme--documenter-dark .is-light.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:focus,html.theme--documenter-dark .is-light.is-focused.textarea,html.theme--documenter-dark .is-light.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-light.textarea:active,html.theme--documenter-dark .is-light.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:active,html.theme--documenter-dark .is-light.is-active.textarea,html.theme--documenter-dark .is-light.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .is-dark.textarea,html.theme--documenter-dark .content kbd.textarea,html.theme--documenter-dark .is-dark.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark,html.theme--documenter-dark .content kbd.input{border-color:#282f2f}html.theme--documenter-dark .is-dark.textarea:focus,html.theme--documenter-dark .content kbd.textarea:focus,html.theme--documenter-dark .is-dark.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:focus,html.theme--documenter-dark .content kbd.input:focus,html.theme--documenter-dark .is-dark.is-focused.textarea,html.theme--documenter-dark .content kbd.is-focused.textarea,html.theme--documenter-dark .is-dark.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .content kbd.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-focused,html.theme--documenter-dark .is-dark.textarea:active,html.theme--documenter-dark .content kbd.textarea:active,html.theme--documenter-dark .is-dark.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:active,html.theme--documenter-dark .content kbd.input:active,html.theme--documenter-dark .is-dark.is-active.textarea,html.theme--documenter-dark .content kbd.is-active.textarea,html.theme--documenter-dark .is-dark.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .content kbd.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .is-primary.textarea,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink{border-color:#375a7f}html.theme--documenter-dark .is-primary.textarea:focus,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:focus,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.is-focused.textarea,html.theme--documenter-dark .docstring>section>a.is-focused.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .docstring>section>a.is-focused.input.docs-sourcelink,html.theme--documenter-dark .is-primary.textarea:active,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:active,html.theme--documenter-dark .is-primary.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:active,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:active,html.theme--documenter-dark .is-primary.is-active.textarea,html.theme--documenter-dark .docstring>section>a.is-active.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .is-link.textarea,html.theme--documenter-dark .is-link.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link{border-color:#1abc9c}html.theme--documenter-dark .is-link.textarea:focus,html.theme--documenter-dark .is-link.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:focus,html.theme--documenter-dark .is-link.is-focused.textarea,html.theme--documenter-dark .is-link.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-link.textarea:active,html.theme--documenter-dark .is-link.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:active,html.theme--documenter-dark .is-link.is-active.textarea,html.theme--documenter-dark .is-link.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .is-info.textarea,html.theme--documenter-dark .is-info.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info{border-color:#024c7d}html.theme--documenter-dark .is-info.textarea:focus,html.theme--documenter-dark .is-info.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:focus,html.theme--documenter-dark .is-info.is-focused.textarea,html.theme--documenter-dark .is-info.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-info.textarea:active,html.theme--documenter-dark .is-info.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:active,html.theme--documenter-dark .is-info.is-active.textarea,html.theme--documenter-dark .is-info.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .is-success.textarea,html.theme--documenter-dark .is-success.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success{border-color:#008438}html.theme--documenter-dark .is-success.textarea:focus,html.theme--documenter-dark .is-success.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:focus,html.theme--documenter-dark .is-success.is-focused.textarea,html.theme--documenter-dark .is-success.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-success.textarea:active,html.theme--documenter-dark .is-success.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:active,html.theme--documenter-dark .is-success.is-active.textarea,html.theme--documenter-dark .is-success.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .is-warning.textarea,html.theme--documenter-dark .is-warning.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ad8100}html.theme--documenter-dark .is-warning.textarea:focus,html.theme--documenter-dark .is-warning.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:focus,html.theme--documenter-dark .is-warning.is-focused.textarea,html.theme--documenter-dark .is-warning.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-warning.textarea:active,html.theme--documenter-dark .is-warning.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:active,html.theme--documenter-dark .is-warning.is-active.textarea,html.theme--documenter-dark .is-warning.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .is-danger.textarea,html.theme--documenter-dark .is-danger.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#9e1b0d}html.theme--documenter-dark .is-danger.textarea:focus,html.theme--documenter-dark .is-danger.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:focus,html.theme--documenter-dark .is-danger.is-focused.textarea,html.theme--documenter-dark .is-danger.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-danger.textarea:active,html.theme--documenter-dark .is-danger.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:active,html.theme--documenter-dark .is-danger.is-active.textarea,html.theme--documenter-dark .is-danger.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .is-small.textarea,html.theme--documenter-dark .is-small.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:3px;font-size:.75rem}html.theme--documenter-dark .is-medium.textarea,html.theme--documenter-dark .is-medium.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}html.theme--documenter-dark .is-large.textarea,html.theme--documenter-dark .is-large.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}html.theme--documenter-dark .is-fullwidth.textarea,html.theme--documenter-dark .is-fullwidth.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}html.theme--documenter-dark .is-inline.textarea,html.theme--documenter-dark .is-inline.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}html.theme--documenter-dark .input.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:9999px;padding-left:calc(calc(0.75em - 1px) + 0.375em);padding-right:calc(calc(0.75em - 1px) + 0.375em)}html.theme--documenter-dark .input.is-static,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}html.theme--documenter-dark .textarea{display:block;max-width:100%;min-width:100%;padding:calc(0.75em - 1px);resize:vertical}html.theme--documenter-dark .textarea:not([rows]){max-height:40em;min-height:8em}html.theme--documenter-dark .textarea[rows]{height:initial}html.theme--documenter-dark .textarea.has-fixed-size{resize:none}html.theme--documenter-dark .radio,html.theme--documenter-dark .checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}html.theme--documenter-dark .radio input,html.theme--documenter-dark .checkbox input{cursor:pointer}html.theme--documenter-dark .radio:hover,html.theme--documenter-dark .checkbox:hover{color:#8c9b9d}html.theme--documenter-dark .radio[disabled],html.theme--documenter-dark .checkbox[disabled],fieldset[disabled] html.theme--documenter-dark .radio,fieldset[disabled] html.theme--documenter-dark .checkbox,html.theme--documenter-dark .radio input[disabled],html.theme--documenter-dark .checkbox input[disabled]{color:#fff;cursor:not-allowed}html.theme--documenter-dark .radio+.radio{margin-left:.5em}html.theme--documenter-dark .select{display:inline-block;max-width:100%;position:relative;vertical-align:top}html.theme--documenter-dark .select:not(.is-multiple){height:2.5em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border-color:#1abc9c;right:1.125em;z-index:4}html.theme--documenter-dark .select.is-rounded select,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select select{border-radius:9999px;padding-left:1em}html.theme--documenter-dark .select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}html.theme--documenter-dark .select select::-ms-expand{display:none}html.theme--documenter-dark .select select[disabled]:hover,fieldset[disabled] html.theme--documenter-dark .select select:hover{border-color:#282f2f}html.theme--documenter-dark .select select:not([multiple]){padding-right:2.5em}html.theme--documenter-dark .select select[multiple]{height:auto;padding:0}html.theme--documenter-dark .select select[multiple] option{padding:0.5em 1em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after{border-color:#8c9b9d}html.theme--documenter-dark .select.is-white:not(:hover)::after{border-color:#fff}html.theme--documenter-dark .select.is-white select{border-color:#fff}html.theme--documenter-dark .select.is-white select:hover,html.theme--documenter-dark .select.is-white select.is-hovered{border-color:#f2f2f2}html.theme--documenter-dark .select.is-white select:focus,html.theme--documenter-dark .select.is-white select.is-focused,html.theme--documenter-dark .select.is-white select:active,html.theme--documenter-dark .select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .select.is-black:not(:hover)::after{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select:hover,html.theme--documenter-dark .select.is-black select.is-hovered{border-color:#000}html.theme--documenter-dark .select.is-black select:focus,html.theme--documenter-dark .select.is-black select.is-focused,html.theme--documenter-dark .select.is-black select:active,html.theme--documenter-dark .select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .select.is-light:not(:hover)::after{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select:hover,html.theme--documenter-dark .select.is-light select.is-hovered{border-color:#dde4e6}html.theme--documenter-dark .select.is-light select:focus,html.theme--documenter-dark .select.is-light select.is-focused,html.theme--documenter-dark .select.is-light select:active,html.theme--documenter-dark .select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .select.is-dark:not(:hover)::after,html.theme--documenter-dark .content kbd.select:not(:hover)::after{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select,html.theme--documenter-dark .content kbd.select select{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select:hover,html.theme--documenter-dark .content kbd.select select:hover,html.theme--documenter-dark .select.is-dark select.is-hovered,html.theme--documenter-dark .content kbd.select select.is-hovered{border-color:#1d2122}html.theme--documenter-dark .select.is-dark select:focus,html.theme--documenter-dark .content kbd.select select:focus,html.theme--documenter-dark .select.is-dark select.is-focused,html.theme--documenter-dark .content kbd.select select.is-focused,html.theme--documenter-dark .select.is-dark select:active,html.theme--documenter-dark .content kbd.select select:active,html.theme--documenter-dark .select.is-dark select.is-active,html.theme--documenter-dark .content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .select.is-primary:not(:hover)::after,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select:hover,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:hover,html.theme--documenter-dark .select.is-primary select.is-hovered,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#2f4d6d}html.theme--documenter-dark .select.is-primary select:focus,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:focus,html.theme--documenter-dark .select.is-primary select.is-focused,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-focused,html.theme--documenter-dark .select.is-primary select:active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:active,html.theme--documenter-dark .select.is-primary select.is-active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .select.is-link:not(:hover)::after{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select:hover,html.theme--documenter-dark .select.is-link select.is-hovered{border-color:#17a689}html.theme--documenter-dark .select.is-link select:focus,html.theme--documenter-dark .select.is-link select.is-focused,html.theme--documenter-dark .select.is-link select:active,html.theme--documenter-dark .select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select.is-info:not(:hover)::after{border-color:#024c7d}html.theme--documenter-dark .select.is-info select{border-color:#024c7d}html.theme--documenter-dark .select.is-info select:hover,html.theme--documenter-dark .select.is-info select.is-hovered{border-color:#023d64}html.theme--documenter-dark .select.is-info select:focus,html.theme--documenter-dark .select.is-info select.is-focused,html.theme--documenter-dark .select.is-info select:active,html.theme--documenter-dark .select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .select.is-success:not(:hover)::after{border-color:#008438}html.theme--documenter-dark .select.is-success select{border-color:#008438}html.theme--documenter-dark .select.is-success select:hover,html.theme--documenter-dark .select.is-success select.is-hovered{border-color:#006b2d}html.theme--documenter-dark .select.is-success select:focus,html.theme--documenter-dark .select.is-success select.is-focused,html.theme--documenter-dark .select.is-success select:active,html.theme--documenter-dark .select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .select.is-warning:not(:hover)::after{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select:hover,html.theme--documenter-dark .select.is-warning select.is-hovered{border-color:#946e00}html.theme--documenter-dark .select.is-warning select:focus,html.theme--documenter-dark .select.is-warning select.is-focused,html.theme--documenter-dark .select.is-warning select:active,html.theme--documenter-dark .select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .select.is-danger:not(:hover)::after{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select:hover,html.theme--documenter-dark .select.is-danger select.is-hovered{border-color:#86170b}html.theme--documenter-dark .select.is-danger select:focus,html.theme--documenter-dark .select.is-danger select.is-focused,html.theme--documenter-dark .select.is-danger select:active,html.theme--documenter-dark .select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .select.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select{border-radius:3px;font-size:.75rem}html.theme--documenter-dark .select.is-medium{font-size:1.25rem}html.theme--documenter-dark .select.is-large{font-size:1.5rem}html.theme--documenter-dark .select.is-disabled::after{border-color:#fff !important;opacity:0.5}html.theme--documenter-dark .select.is-fullwidth{width:100%}html.theme--documenter-dark .select.is-fullwidth select{width:100%}html.theme--documenter-dark .select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:0.625em;transform:none}html.theme--documenter-dark .select.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}html.theme--documenter-dark .select.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .select.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}html.theme--documenter-dark .file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:hover .file-cta,html.theme--documenter-dark .file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:focus .file-cta,html.theme--documenter-dark .file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}html.theme--documenter-dark .file.is-white:active .file-cta,html.theme--documenter-dark .file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:hover .file-cta,html.theme--documenter-dark .file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:focus .file-cta,html.theme--documenter-dark .file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}html.theme--documenter-dark .file.is-black:active .file-cta,html.theme--documenter-dark .file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-light .file-cta{background-color:#ecf0f1;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .file.is-light:hover .file-cta,html.theme--documenter-dark .file.is-light.is-hovered .file-cta{background-color:#e5eaec;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .file.is-light:focus .file-cta,html.theme--documenter-dark .file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(236,240,241,0.25);color:rgba(0,0,0,0.7)}html.theme--documenter-dark .file.is-light:active .file-cta,html.theme--documenter-dark .file.is-light.is-active .file-cta{background-color:#dde4e6;border-color:transparent;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .file.is-dark .file-cta,html.theme--documenter-dark .content kbd.file .file-cta{background-color:#282f2f;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-dark:hover .file-cta,html.theme--documenter-dark .content kbd.file:hover .file-cta,html.theme--documenter-dark .file.is-dark.is-hovered .file-cta,html.theme--documenter-dark .content kbd.file.is-hovered .file-cta{background-color:#232829;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-dark:focus .file-cta,html.theme--documenter-dark .content kbd.file:focus .file-cta,html.theme--documenter-dark .file.is-dark.is-focused .file-cta,html.theme--documenter-dark .content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(40,47,47,0.25);color:#fff}html.theme--documenter-dark .file.is-dark:active .file-cta,html.theme--documenter-dark .content kbd.file:active .file-cta,html.theme--documenter-dark .file.is-dark.is-active .file-cta,html.theme--documenter-dark .content kbd.file.is-active .file-cta{background-color:#1d2122;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink .file-cta{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:hover .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:hover .file-cta,html.theme--documenter-dark .file.is-primary.is-hovered .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:focus .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:focus .file-cta,html.theme--documenter-dark .file.is-primary.is-focused .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(55,90,127,0.25);color:#fff}html.theme--documenter-dark .file.is-primary:active .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:active .file-cta,html.theme--documenter-dark .file.is-primary.is-active .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link .file-cta{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:hover .file-cta,html.theme--documenter-dark .file.is-link.is-hovered .file-cta{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:focus .file-cta,html.theme--documenter-dark .file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(26,188,156,0.25);color:#fff}html.theme--documenter-dark .file.is-link:active .file-cta,html.theme--documenter-dark .file.is-link.is-active .file-cta{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info .file-cta{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:hover .file-cta,html.theme--documenter-dark .file.is-info.is-hovered .file-cta{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:focus .file-cta,html.theme--documenter-dark .file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(2,76,125,0.25);color:#fff}html.theme--documenter-dark .file.is-info:active .file-cta,html.theme--documenter-dark .file.is-info.is-active .file-cta{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success .file-cta{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:hover .file-cta,html.theme--documenter-dark .file.is-success.is-hovered .file-cta{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:focus .file-cta,html.theme--documenter-dark .file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(0,132,56,0.25);color:#fff}html.theme--documenter-dark .file.is-success:active .file-cta,html.theme--documenter-dark .file.is-success.is-active .file-cta{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning .file-cta{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:hover .file-cta,html.theme--documenter-dark .file.is-warning.is-hovered .file-cta{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:focus .file-cta,html.theme--documenter-dark .file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(173,129,0,0.25);color:#fff}html.theme--documenter-dark .file.is-warning:active .file-cta,html.theme--documenter-dark .file.is-warning.is-active .file-cta{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger .file-cta{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:hover .file-cta,html.theme--documenter-dark .file.is-danger.is-hovered .file-cta{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:focus .file-cta,html.theme--documenter-dark .file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(158,27,13,0.25);color:#fff}html.theme--documenter-dark .file.is-danger:active .file-cta,html.theme--documenter-dark .file.is-danger.is-active .file-cta{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.file{font-size:.75rem}html.theme--documenter-dark .file.is-normal{font-size:1rem}html.theme--documenter-dark .file.is-medium{font-size:1.25rem}html.theme--documenter-dark .file.is-medium .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-large{font-size:1.5rem}html.theme--documenter-dark .file.is-large .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .file.has-name.is-empty .file-cta{border-radius:.4em}html.theme--documenter-dark .file.has-name.is-empty .file-name{display:none}html.theme--documenter-dark .file.is-boxed .file-label{flex-direction:column}html.theme--documenter-dark .file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}html.theme--documenter-dark .file.is-boxed .file-name{border-width:0 1px 1px}html.theme--documenter-dark .file.is-boxed .file-icon{height:1.5em;width:1.5em}html.theme--documenter-dark .file.is-boxed .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa{font-size:35px}html.theme--documenter-dark .file.is-boxed.has-name .file-cta{border-radius:.4em .4em 0 0}html.theme--documenter-dark .file.is-boxed.has-name .file-name{border-radius:0 0 .4em .4em;border-width:0 1px 1px}html.theme--documenter-dark .file.is-centered{justify-content:center}html.theme--documenter-dark .file.is-fullwidth .file-label{width:100%}html.theme--documenter-dark .file.is-fullwidth .file-name{flex-grow:1;max-width:none}html.theme--documenter-dark .file.is-right{justify-content:flex-end}html.theme--documenter-dark .file.is-right .file-cta{border-radius:0 .4em .4em 0}html.theme--documenter-dark .file.is-right .file-name{border-radius:.4em 0 0 .4em;border-width:1px 0 1px 1px;order:-1}html.theme--documenter-dark .file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}html.theme--documenter-dark .file-label:hover .file-cta{background-color:#232829;color:#f2f2f2}html.theme--documenter-dark .file-label:hover .file-name{border-color:#596668}html.theme--documenter-dark .file-label:active .file-cta{background-color:#1d2122;color:#f2f2f2}html.theme--documenter-dark .file-label:active .file-name{border-color:#535f61}html.theme--documenter-dark .file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-radius:.4em;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}html.theme--documenter-dark .file-cta{background-color:#282f2f;color:#fff}html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}html.theme--documenter-dark .file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}html.theme--documenter-dark .file-icon .fa{font-size:14px}html.theme--documenter-dark .label{color:#f2f2f2;display:block;font-size:1rem;font-weight:700}html.theme--documenter-dark .label:not(:last-child){margin-bottom:0.5em}html.theme--documenter-dark .label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.label{font-size:.75rem}html.theme--documenter-dark .label.is-medium{font-size:1.25rem}html.theme--documenter-dark .label.is-large{font-size:1.5rem}html.theme--documenter-dark .help{display:block;font-size:.75rem;margin-top:0.25rem}html.theme--documenter-dark .help.is-white{color:#fff}html.theme--documenter-dark .help.is-black{color:#0a0a0a}html.theme--documenter-dark .help.is-light{color:#ecf0f1}html.theme--documenter-dark .help.is-dark,html.theme--documenter-dark .content kbd.help{color:#282f2f}html.theme--documenter-dark .help.is-primary,html.theme--documenter-dark .docstring>section>a.help.docs-sourcelink{color:#375a7f}html.theme--documenter-dark .help.is-link{color:#1abc9c}html.theme--documenter-dark .help.is-info{color:#024c7d}html.theme--documenter-dark .help.is-success{color:#008438}html.theme--documenter-dark .help.is-warning{color:#ad8100}html.theme--documenter-dark .help.is-danger{color:#9e1b0d}html.theme--documenter-dark .field:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.has-addons{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.has-addons .control:not(:last-child){margin-right:-1px}html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]){z-index:3}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}html.theme--documenter-dark .field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.has-addons.has-addons-centered{justify-content:center}html.theme--documenter-dark .field.has-addons.has-addons-right{justify-content:flex-end}html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .field.is-grouped{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.is-grouped>.control{flex-shrink:0}html.theme--documenter-dark .field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}html.theme--documenter-dark .field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.is-grouped.is-grouped-centered{justify-content:center}html.theme--documenter-dark .field.is-grouped.is-grouped-right{justify-content:flex-end}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline{flex-wrap:wrap}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:last-child,html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field.is-horizontal{display:flex}}html.theme--documenter-dark .field-label .label{font-size:inherit}@media screen and (max-width: 768px){html.theme--documenter-dark .field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}html.theme--documenter-dark .field-label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.field-label{font-size:.75rem;padding-top:0.375em}html.theme--documenter-dark .field-label.is-normal{padding-top:0.375em}html.theme--documenter-dark .field-label.is-medium{font-size:1.25rem;padding-top:0.375em}html.theme--documenter-dark .field-label.is-large{font-size:1.5rem;padding-top:0.375em}}html.theme--documenter-dark .field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}html.theme--documenter-dark .field-body .field{margin-bottom:0}html.theme--documenter-dark .field-body>.field{flex-shrink:1}html.theme--documenter-dark .field-body>.field:not(.is-narrow){flex-grow:1}html.theme--documenter-dark .field-body>.field:not(:last-child){margin-right:.75rem}}html.theme--documenter-dark .control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}html.theme--documenter-dark .control.has-icons-left .input:focus~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-left .select:focus~.icon,html.theme--documenter-dark .control.has-icons-right .input:focus~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-right .select:focus~.icon{color:#282f2f}html.theme--documenter-dark .control.has-icons-left .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-small~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-small~.icon{font-size:.75rem}html.theme--documenter-dark .control.has-icons-left .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}html.theme--documenter-dark .control.has-icons-left .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-large~.icon{font-size:1.5rem}html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon{color:#5e6d6f;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}html.theme--documenter-dark .control.has-icons-left .input,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input,html.theme--documenter-dark .control.has-icons-left .select select{padding-left:2.5em}html.theme--documenter-dark .control.has-icons-left .icon.is-left{left:0}html.theme--documenter-dark .control.has-icons-right .input,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input,html.theme--documenter-dark .control.has-icons-right .select select{padding-right:2.5em}html.theme--documenter-dark .control.has-icons-right .icon.is-right{right:0}html.theme--documenter-dark .control.is-loading::after{position:absolute !important;right:.625em;top:0.625em;z-index:4}html.theme--documenter-dark .control.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}html.theme--documenter-dark .control.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .control.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .breadcrumb{font-size:1rem;white-space:nowrap}html.theme--documenter-dark .breadcrumb a{align-items:center;color:#1abc9c;display:flex;justify-content:center;padding:0 .75em}html.theme--documenter-dark .breadcrumb a:hover{color:#1dd2af}html.theme--documenter-dark .breadcrumb li{align-items:center;display:flex}html.theme--documenter-dark .breadcrumb li:first-child a{padding-left:0}html.theme--documenter-dark .breadcrumb li.is-active a{color:#f2f2f2;cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb li+li::before{color:#8c9b9d;content:"\0002f"}html.theme--documenter-dark .breadcrumb ul,html.theme--documenter-dark .breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .breadcrumb .icon:first-child{margin-right:.5em}html.theme--documenter-dark .breadcrumb .icon:last-child{margin-left:.5em}html.theme--documenter-dark .breadcrumb.is-centered ol,html.theme--documenter-dark .breadcrumb.is-centered ul{justify-content:center}html.theme--documenter-dark .breadcrumb.is-right ol,html.theme--documenter-dark .breadcrumb.is-right ul{justify-content:flex-end}html.theme--documenter-dark .breadcrumb.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.75rem}html.theme--documenter-dark .breadcrumb.is-medium{font-size:1.25rem}html.theme--documenter-dark .breadcrumb.is-large{font-size:1.5rem}html.theme--documenter-dark .breadcrumb.has-arrow-separator li+li::before{content:"\02192"}html.theme--documenter-dark .breadcrumb.has-bullet-separator li+li::before{content:"\02022"}html.theme--documenter-dark .breadcrumb.has-dot-separator li+li::before{content:"\000b7"}html.theme--documenter-dark .breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}html.theme--documenter-dark .card{background-color:#fff;border-radius:.25rem;box-shadow:#171717;color:#fff;max-width:100%;position:relative}html.theme--documenter-dark .card-footer:first-child,html.theme--documenter-dark .card-content:first-child,html.theme--documenter-dark .card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}html.theme--documenter-dark .card-footer:last-child,html.theme--documenter-dark .card-content:last-child,html.theme--documenter-dark .card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}html.theme--documenter-dark .card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 0.125em 0.25em rgba(10,10,10,0.1);display:flex}html.theme--documenter-dark .card-header-title{align-items:center;color:#f2f2f2;display:flex;flex-grow:1;font-weight:700;padding:0.75rem 1rem}html.theme--documenter-dark .card-header-title.is-centered{justify-content:center}html.theme--documenter-dark .card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:0.75rem 1rem}html.theme--documenter-dark .card-image{display:block;position:relative}html.theme--documenter-dark .card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}html.theme--documenter-dark .card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}html.theme--documenter-dark .card-content{background-color:rgba(0,0,0,0);padding:1.5rem}html.theme--documenter-dark .card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #ededed;align-items:stretch;display:flex}html.theme--documenter-dark .card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}html.theme--documenter-dark .card-footer-item:not(:last-child){border-right:1px solid #ededed}html.theme--documenter-dark .card .media:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .dropdown{display:inline-flex;position:relative;vertical-align:top}html.theme--documenter-dark .dropdown.is-active .dropdown-menu,html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu{display:block}html.theme--documenter-dark .dropdown.is-right .dropdown-menu{left:auto;right:0}html.theme--documenter-dark .dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}html.theme--documenter-dark .dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .dropdown-content{background-color:#282f2f;border-radius:.4em;box-shadow:#171717;padding-bottom:.5rem;padding-top:.5rem}html.theme--documenter-dark .dropdown-item{color:#fff;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}html.theme--documenter-dark a.dropdown-item,html.theme--documenter-dark button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}html.theme--documenter-dark a.dropdown-item:hover,html.theme--documenter-dark button.dropdown-item:hover{background-color:#282f2f;color:#0a0a0a}html.theme--documenter-dark a.dropdown-item.is-active,html.theme--documenter-dark button.dropdown-item.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .dropdown-divider{background-color:#ededed;border:none;display:block;height:1px;margin:0.5rem 0}html.theme--documenter-dark .level{align-items:center;justify-content:space-between}html.theme--documenter-dark .level code{border-radius:.4em}html.theme--documenter-dark .level img{display:inline-block;vertical-align:top}html.theme--documenter-dark .level.is-mobile{display:flex}html.theme--documenter-dark .level.is-mobile .level-left,html.theme--documenter-dark .level.is-mobile .level-right{display:flex}html.theme--documenter-dark .level.is-mobile .level-left+.level-right{margin-top:0}html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level{display:flex}html.theme--documenter-dark .level>.level-item:not(.is-narrow){flex-grow:1}}html.theme--documenter-dark .level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}html.theme--documenter-dark .level-item .title,html.theme--documenter-dark .level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){html.theme--documenter-dark .level-item:not(:last-child){margin-bottom:.75rem}}html.theme--documenter-dark .level-left,html.theme--documenter-dark .level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .level-left .level-item.is-flexible,html.theme--documenter-dark .level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left .level-item:not(:last-child),html.theme--documenter-dark .level-right .level-item:not(:last-child){margin-right:.75rem}}html.theme--documenter-dark .level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){html.theme--documenter-dark .level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left{display:flex}}html.theme--documenter-dark .level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-right{display:flex}}html.theme--documenter-dark .media{align-items:flex-start;display:flex;text-align:inherit}html.theme--documenter-dark .media .content:not(:last-child){margin-bottom:.75rem}html.theme--documenter-dark .media .media{border-top:1px solid rgba(94,109,111,0.5);display:flex;padding-top:.75rem}html.theme--documenter-dark .media .media .content:not(:last-child),html.theme--documenter-dark .media .media .control:not(:last-child){margin-bottom:.5rem}html.theme--documenter-dark .media .media .media{padding-top:.5rem}html.theme--documenter-dark .media .media .media+.media{margin-top:.5rem}html.theme--documenter-dark .media+.media{border-top:1px solid rgba(94,109,111,0.5);margin-top:1rem;padding-top:1rem}html.theme--documenter-dark .media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}html.theme--documenter-dark .media-left,html.theme--documenter-dark .media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .media-left{margin-right:1rem}html.theme--documenter-dark .media-right{margin-left:1rem}html.theme--documenter-dark .media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width: 768px){html.theme--documenter-dark .media-content{overflow-x:auto}}html.theme--documenter-dark .menu{font-size:1rem}html.theme--documenter-dark .menu.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.menu{font-size:.75rem}html.theme--documenter-dark .menu.is-medium{font-size:1.25rem}html.theme--documenter-dark .menu.is-large{font-size:1.5rem}html.theme--documenter-dark .menu-list{line-height:1.25}html.theme--documenter-dark .menu-list a{border-radius:3px;color:#fff;display:block;padding:0.5em 0.75em}html.theme--documenter-dark .menu-list a:hover{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .menu-list a.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .menu-list li ul{border-left:1px solid #5e6d6f;margin:.75em;padding-left:.75em}html.theme--documenter-dark .menu-label{color:#fff;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}html.theme--documenter-dark .menu-label:not(:first-child){margin-top:1em}html.theme--documenter-dark .menu-label:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .message{background-color:#282f2f;border-radius:.4em;font-size:1rem}html.theme--documenter-dark .message strong{color:currentColor}html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .message.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.message{font-size:.75rem}html.theme--documenter-dark .message.is-medium{font-size:1.25rem}html.theme--documenter-dark .message.is-large{font-size:1.5rem}html.theme--documenter-dark .message.is-white{background-color:#fff}html.theme--documenter-dark .message.is-white .message-header{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .message.is-white .message-body{border-color:#fff}html.theme--documenter-dark .message.is-black{background-color:#fafafa}html.theme--documenter-dark .message.is-black .message-header{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .message.is-black .message-body{border-color:#0a0a0a}html.theme--documenter-dark .message.is-light{background-color:#f9fafb}html.theme--documenter-dark .message.is-light .message-header{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .message.is-light .message-body{border-color:#ecf0f1}html.theme--documenter-dark .message.is-dark,html.theme--documenter-dark .content kbd.message{background-color:#f9fafa}html.theme--documenter-dark .message.is-dark .message-header,html.theme--documenter-dark .content kbd.message .message-header{background-color:#282f2f;color:#fff}html.theme--documenter-dark .message.is-dark .message-body,html.theme--documenter-dark .content kbd.message .message-body{border-color:#282f2f}html.theme--documenter-dark .message.is-primary,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink{background-color:#f1f5f9}html.theme--documenter-dark .message.is-primary .message-header,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-header{background-color:#375a7f;color:#fff}html.theme--documenter-dark .message.is-primary .message-body,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-body{border-color:#375a7f;color:#4d7eb2}html.theme--documenter-dark .message.is-link{background-color:#edfdf9}html.theme--documenter-dark .message.is-link .message-header{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .message.is-link .message-body{border-color:#1abc9c;color:#15987e}html.theme--documenter-dark .message.is-info{background-color:#ebf7ff}html.theme--documenter-dark .message.is-info .message-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .message.is-info .message-body{border-color:#024c7d;color:#0e9dfb}html.theme--documenter-dark .message.is-success{background-color:#ebfff3}html.theme--documenter-dark .message.is-success .message-header{background-color:#008438;color:#fff}html.theme--documenter-dark .message.is-success .message-body{border-color:#008438;color:#00eb64}html.theme--documenter-dark .message.is-warning{background-color:#fffaeb}html.theme--documenter-dark .message.is-warning .message-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .message.is-warning .message-body{border-color:#ad8100;color:#d19c00}html.theme--documenter-dark .message.is-danger{background-color:#fdeeec}html.theme--documenter-dark .message.is-danger .message-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .message.is-danger .message-body{border-color:#9e1b0d;color:#ec311d}html.theme--documenter-dark .message-header{align-items:center;background-color:#fff;border-radius:.4em .4em 0 0;color:rgba(0,0,0,0.7);display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}html.theme--documenter-dark .message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}html.theme--documenter-dark .message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}html.theme--documenter-dark .message-body{border-color:#5e6d6f;border-radius:.4em;border-style:solid;border-width:0 0 0 4px;color:#fff;padding:1.25em 1.5em}html.theme--documenter-dark .message-body code,html.theme--documenter-dark .message-body pre{background-color:#fff}html.theme--documenter-dark .message-body pre code{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}html.theme--documenter-dark .modal.is-active{display:flex}html.theme--documenter-dark .modal-background{background-color:rgba(10,10,10,0.86)}html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px){html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}html.theme--documenter-dark .modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}html.theme--documenter-dark .modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}html.theme--documenter-dark .modal-card-head,html.theme--documenter-dark .modal-card-foot{align-items:center;background-color:#282f2f;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}html.theme--documenter-dark .modal-card-head{border-bottom:1px solid #5e6d6f;border-top-left-radius:8px;border-top-right-radius:8px}html.theme--documenter-dark .modal-card-title{color:#f2f2f2;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}html.theme--documenter-dark .modal-card-foot{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #5e6d6f}html.theme--documenter-dark .modal-card-foot .button:not(:last-child){margin-right:.5em}html.theme--documenter-dark .modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}html.theme--documenter-dark .navbar{background-color:#375a7f;min-height:4rem;position:relative;z-index:30}html.theme--documenter-dark .navbar.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-white .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}html.theme--documenter-dark .navbar.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-black .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}html.theme--documenter-dark .navbar.is-light{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#dde4e6;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-light .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active{background-color:#dde4e6;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#dde4e6;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}}html.theme--documenter-dark .navbar.is-dark,html.theme--documenter-dark .content kbd.navbar{background-color:#282f2f;color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-brand>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#1d2122;color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-burger,html.theme--documenter-dark .content kbd.navbar .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-dark .navbar-start>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-end>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#1d2122;color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1d2122;color:#fff}html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#282f2f;color:#fff}}html.theme--documenter-dark .navbar.is-primary,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-burger,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-primary .navbar-start>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-end>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#375a7f;color:#fff}}html.theme--documenter-dark .navbar.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-link .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c;color:#fff}}html.theme--documenter-dark .navbar.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-info .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#024c7d;color:#fff}}html.theme--documenter-dark .navbar.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-success .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#008438;color:#fff}}html.theme--documenter-dark .navbar.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-warning .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ad8100;color:#fff}}html.theme--documenter-dark .navbar.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-danger .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#9e1b0d;color:#fff}}html.theme--documenter-dark .navbar>.container{align-items:stretch;display:flex;min-height:4rem;width:100%}html.theme--documenter-dark .navbar.has-shadow{box-shadow:0 2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-bottom,html.theme--documenter-dark .navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-top{top:0}html.theme--documenter-dark html.has-navbar-fixed-top,html.theme--documenter-dark body.has-navbar-fixed-top{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom,html.theme--documenter-dark body.has-navbar-fixed-bottom{padding-bottom:4rem}html.theme--documenter-dark .navbar-brand,html.theme--documenter-dark .navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:4rem}html.theme--documenter-dark .navbar-brand a.navbar-item:focus,html.theme--documenter-dark .navbar-brand a.navbar-item:hover{background-color:transparent}html.theme--documenter-dark .navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}html.theme--documenter-dark .navbar-burger{color:#fff;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:block;height:4rem;position:relative;width:4rem;margin-left:auto}html.theme--documenter-dark .navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}html.theme--documenter-dark .navbar-burger span:nth-child(1){top:calc(50% - 6px)}html.theme--documenter-dark .navbar-burger span:nth-child(2){top:calc(50% - 1px)}html.theme--documenter-dark .navbar-burger span:nth-child(3){top:calc(50% + 4px)}html.theme--documenter-dark .navbar-burger:hover{background-color:rgba(0,0,0,0.05)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2){opacity:0}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}html.theme--documenter-dark .navbar-menu{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{color:#fff;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}html.theme--documenter-dark .navbar-item .icon:only-child,html.theme--documenter-dark .navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}html.theme--documenter-dark a.navbar-item,html.theme--documenter-dark .navbar-link{cursor:pointer}html.theme--documenter-dark a.navbar-item:focus,html.theme--documenter-dark a.navbar-item:focus-within,html.theme--documenter-dark a.navbar-item:hover,html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link:focus,html.theme--documenter-dark .navbar-link:focus-within,html.theme--documenter-dark .navbar-link:hover,html.theme--documenter-dark .navbar-link.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-item{flex-grow:0;flex-shrink:0}html.theme--documenter-dark .navbar-item img{max-height:1.75rem}html.theme--documenter-dark .navbar-item.has-dropdown{padding:0}html.theme--documenter-dark .navbar-item.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-item.is-tab{border-bottom:1px solid transparent;min-height:4rem;padding-bottom:calc(0.5rem - 1px)}html.theme--documenter-dark .navbar-item.is-tab:focus,html.theme--documenter-dark .navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c}html.theme--documenter-dark .navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c;border-bottom-style:solid;border-bottom-width:3px;color:#1abc9c;padding-bottom:calc(0.5rem - 3px)}html.theme--documenter-dark .navbar-content{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-link:not(.is-arrowless){padding-right:2.5em}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after{border-color:#fff;margin-top:-0.375em;right:1.125em}html.theme--documenter-dark .navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}html.theme--documenter-dark .navbar-divider{background-color:rgba(0,0,0,0.2);border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar>.container{display:block}html.theme--documenter-dark .navbar-brand .navbar-item,html.theme--documenter-dark .navbar-tabs .navbar-item{align-items:center;display:flex}html.theme--documenter-dark .navbar-link::after{display:none}html.theme--documenter-dark .navbar-menu{background-color:#375a7f;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}html.theme--documenter-dark .navbar-menu.is-active{display:block}html.theme--documenter-dark .navbar.is-fixed-bottom-touch,html.theme--documenter-dark .navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-touch{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-touch{top:0}html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu,html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 4rem);overflow:auto}html.theme--documenter-dark html.has-navbar-fixed-top-touch,html.theme--documenter-dark body.has-navbar-fixed-top-touch{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,html.theme--documenter-dark body.has-navbar-fixed-bottom-touch{padding-bottom:4rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar,html.theme--documenter-dark .navbar-menu,html.theme--documenter-dark .navbar-start,html.theme--documenter-dark .navbar-end{align-items:stretch;display:flex}html.theme--documenter-dark .navbar{min-height:4rem}html.theme--documenter-dark .navbar.is-spaced{padding:1rem 2rem}html.theme--documenter-dark .navbar.is-spaced .navbar-start,html.theme--documenter-dark .navbar.is-spaced .navbar-end{align-items:center}html.theme--documenter-dark .navbar.is-spaced a.navbar-item,html.theme--documenter-dark .navbar.is-spaced .navbar-link{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover,html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-burger{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{align-items:center;display:flex}html.theme--documenter-dark .navbar-item.has-dropdown{align-items:stretch}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:1px solid rgba(0,0,0,0.2);border-radius:8px 8px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}html.theme--documenter-dark .navbar-menu{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .navbar-start{justify-content:flex-start;margin-right:auto}html.theme--documenter-dark .navbar-end{justify-content:flex-end;margin-left:auto}html.theme--documenter-dark .navbar-dropdown{background-color:#375a7f;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid rgba(0,0,0,0.2);box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}html.theme--documenter-dark .navbar-dropdown a.navbar-item{padding-right:3rem}html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}.navbar.is-spaced html.theme--documenter-dark .navbar-dropdown,html.theme--documenter-dark .navbar-dropdown.is-boxed{border-radius:8px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}html.theme--documenter-dark .navbar-dropdown.is-right{left:auto;right:0}html.theme--documenter-dark .navbar-divider{display:block}html.theme--documenter-dark .navbar>.container .navbar-brand,html.theme--documenter-dark .container>.navbar .navbar-brand{margin-left:-.75rem}html.theme--documenter-dark .navbar>.container .navbar-menu,html.theme--documenter-dark .container>.navbar .navbar-menu{margin-right:-.75rem}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop,html.theme--documenter-dark .navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-desktop{top:0}html.theme--documenter-dark html.has-navbar-fixed-top-desktop,html.theme--documenter-dark body.has-navbar-fixed-top-desktop{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop{padding-bottom:4rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-top,html.theme--documenter-dark body.has-spaced-navbar-fixed-top{padding-top:6rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom{padding-bottom:6rem}html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link.is-active{color:#1abc9c}html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:rgba(0,0,0,0)}}html.theme--documenter-dark .hero.is-fullheight-with-navbar{min-height:calc(100vh - 4rem)}html.theme--documenter-dark .pagination{font-size:1rem;margin:-.25rem}html.theme--documenter-dark .pagination.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination{font-size:.75rem}html.theme--documenter-dark .pagination.is-medium{font-size:1.25rem}html.theme--documenter-dark .pagination.is-large{font-size:1.5rem}html.theme--documenter-dark .pagination.is-rounded .pagination-previous,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,html.theme--documenter-dark .pagination.is-rounded .pagination-next,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:9999px}html.theme--documenter-dark .pagination.is-rounded .pagination-link,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:9999px}html.theme--documenter-dark .pagination,html.theme--documenter-dark .pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link{border-color:#5e6d6f;color:#1abc9c;min-width:2.5em}html.theme--documenter-dark .pagination-previous:hover,html.theme--documenter-dark .pagination-next:hover,html.theme--documenter-dark .pagination-link:hover{border-color:#8c9b9d;color:#1dd2af}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus{border-color:#8c9b9d}html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-previous.is-disabled,html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-next.is-disabled,html.theme--documenter-dark .pagination-link[disabled],html.theme--documenter-dark .pagination-link.is-disabled{background-color:#5e6d6f;border-color:#5e6d6f;box-shadow:none;color:#fff;opacity:0.5}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{padding-left:.75em;padding-right:.75em;white-space:nowrap}html.theme--documenter-dark .pagination-link.is-current{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .pagination-ellipsis{color:#8c9b9d;pointer-events:none}html.theme--documenter-dark .pagination-list{flex-wrap:wrap}html.theme--documenter-dark .pagination-list li{list-style:none}@media screen and (max-width: 768px){html.theme--documenter-dark .pagination{flex-wrap:wrap}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis{margin-bottom:0;margin-top:0}html.theme--documenter-dark .pagination-previous{order:2}html.theme--documenter-dark .pagination-next{order:3}html.theme--documenter-dark .pagination{justify-content:space-between;margin-bottom:0;margin-top:0}html.theme--documenter-dark .pagination.is-centered .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-centered .pagination-list{justify-content:center;order:2}html.theme--documenter-dark .pagination.is-centered .pagination-next{order:3}html.theme--documenter-dark .pagination.is-right .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-right .pagination-next{order:2}html.theme--documenter-dark .pagination.is-right .pagination-list{justify-content:flex-end;order:3}}html.theme--documenter-dark .panel{border-radius:8px;box-shadow:#171717;font-size:1rem}html.theme--documenter-dark .panel:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}html.theme--documenter-dark .panel.is-white .panel-block.is-active .panel-icon{color:#fff}html.theme--documenter-dark .panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}html.theme--documenter-dark .panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}html.theme--documenter-dark .panel.is-light .panel-heading{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .panel.is-light .panel-tabs a.is-active{border-bottom-color:#ecf0f1}html.theme--documenter-dark .panel.is-light .panel-block.is-active .panel-icon{color:#ecf0f1}html.theme--documenter-dark .panel.is-dark .panel-heading,html.theme--documenter-dark .content kbd.panel .panel-heading{background-color:#282f2f;color:#fff}html.theme--documenter-dark .panel.is-dark .panel-tabs a.is-active,html.theme--documenter-dark .content kbd.panel .panel-tabs a.is-active{border-bottom-color:#282f2f}html.theme--documenter-dark .panel.is-dark .panel-block.is-active .panel-icon,html.theme--documenter-dark .content kbd.panel .panel-block.is-active .panel-icon{color:#282f2f}html.theme--documenter-dark .panel.is-primary .panel-heading,html.theme--documenter-dark .docstring>section>a.panel.docs-sourcelink .panel-heading{background-color:#375a7f;color:#fff}html.theme--documenter-dark .panel.is-primary .panel-tabs a.is-active,html.theme--documenter-dark .docstring>section>a.panel.docs-sourcelink .panel-tabs a.is-active{border-bottom-color:#375a7f}html.theme--documenter-dark .panel.is-primary .panel-block.is-active .panel-icon,html.theme--documenter-dark .docstring>section>a.panel.docs-sourcelink .panel-block.is-active .panel-icon{color:#375a7f}html.theme--documenter-dark .panel.is-link .panel-heading{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .panel.is-link .panel-tabs a.is-active{border-bottom-color:#1abc9c}html.theme--documenter-dark .panel.is-link .panel-block.is-active .panel-icon{color:#1abc9c}html.theme--documenter-dark .panel.is-info .panel-heading{background-color:#024c7d;color:#fff}html.theme--documenter-dark .panel.is-info .panel-tabs a.is-active{border-bottom-color:#024c7d}html.theme--documenter-dark .panel.is-info .panel-block.is-active .panel-icon{color:#024c7d}html.theme--documenter-dark .panel.is-success .panel-heading{background-color:#008438;color:#fff}html.theme--documenter-dark .panel.is-success .panel-tabs a.is-active{border-bottom-color:#008438}html.theme--documenter-dark .panel.is-success .panel-block.is-active .panel-icon{color:#008438}html.theme--documenter-dark .panel.is-warning .panel-heading{background-color:#ad8100;color:#fff}html.theme--documenter-dark .panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ad8100}html.theme--documenter-dark .panel.is-warning .panel-block.is-active .panel-icon{color:#ad8100}html.theme--documenter-dark .panel.is-danger .panel-heading{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .panel.is-danger .panel-tabs a.is-active{border-bottom-color:#9e1b0d}html.theme--documenter-dark .panel.is-danger .panel-block.is-active .panel-icon{color:#9e1b0d}html.theme--documenter-dark .panel-tabs:not(:last-child),html.theme--documenter-dark .panel-block:not(:last-child){border-bottom:1px solid #ededed}html.theme--documenter-dark .panel-heading{background-color:#343c3d;border-radius:8px 8px 0 0;color:#f2f2f2;font-size:1.25em;font-weight:700;line-height:1.25;padding:0.75em 1em}html.theme--documenter-dark .panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}html.theme--documenter-dark .panel-tabs a{border-bottom:1px solid #5e6d6f;margin-bottom:-1px;padding:0.5em}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#343c3d;color:#17a689}html.theme--documenter-dark .panel-list a{color:#fff}html.theme--documenter-dark .panel-list a:hover{color:#1abc9c}html.theme--documenter-dark .panel-block{align-items:center;color:#f2f2f2;display:flex;justify-content:flex-start;padding:0.5em 0.75em}html.theme--documenter-dark .panel-block input[type="checkbox"]{margin-right:.75em}html.theme--documenter-dark .panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}html.theme--documenter-dark .panel-block.is-wrapped{flex-wrap:wrap}html.theme--documenter-dark .panel-block.is-active{border-left-color:#1abc9c;color:#17a689}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#1abc9c}html.theme--documenter-dark .panel-block:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}html.theme--documenter-dark a.panel-block,html.theme--documenter-dark label.panel-block{cursor:pointer}html.theme--documenter-dark a.panel-block:hover,html.theme--documenter-dark label.panel-block:hover{background-color:#282f2f}html.theme--documenter-dark .panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#fff;margin-right:.75em}html.theme--documenter-dark .panel-icon .fa{font-size:inherit;line-height:inherit}html.theme--documenter-dark .tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}html.theme--documenter-dark .tabs a{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;color:#fff;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}html.theme--documenter-dark .tabs a:hover{border-bottom-color:#f2f2f2;color:#f2f2f2}html.theme--documenter-dark .tabs li{display:block}html.theme--documenter-dark .tabs li.is-active a{border-bottom-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .tabs ul{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}html.theme--documenter-dark .tabs ul.is-left{padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}html.theme--documenter-dark .tabs .icon:first-child{margin-right:.5em}html.theme--documenter-dark .tabs .icon:last-child{margin-left:.5em}html.theme--documenter-dark .tabs.is-centered ul{justify-content:center}html.theme--documenter-dark .tabs.is-right ul{justify-content:flex-end}html.theme--documenter-dark .tabs.is-boxed a{border:1px solid transparent;border-radius:.4em .4em 0 0}html.theme--documenter-dark .tabs.is-boxed a:hover{background-color:#282f2f;border-bottom-color:#5e6d6f}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#fff;border-color:#5e6d6f;border-bottom-color:rgba(0,0,0,0) !important}html.theme--documenter-dark .tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .tabs.is-toggle a{border-color:#5e6d6f;border-style:solid;border-width:1px;margin-bottom:0;position:relative}html.theme--documenter-dark .tabs.is-toggle a:hover{background-color:#282f2f;border-color:#8c9b9d;z-index:2}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .tabs.is-toggle li:first-child a{border-top-left-radius:.4em;border-bottom-left-radius:.4em}html.theme--documenter-dark .tabs.is-toggle li:last-child a{border-top-right-radius:.4em;border-bottom-right-radius:.4em}html.theme--documenter-dark .tabs.is-toggle li.is-active a{background-color:#1abc9c;border-color:#1abc9c;color:#fff;z-index:1}html.theme--documenter-dark .tabs.is-toggle ul{border-bottom:none}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}html.theme--documenter-dark .tabs.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.tabs{font-size:.75rem}html.theme--documenter-dark .tabs.is-medium{font-size:1.25rem}html.theme--documenter-dark .tabs.is-large{font-size:1.5rem}html.theme--documenter-dark .column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>html.theme--documenter-dark .column.is-narrow{flex:none;width:unset}.columns.is-mobile>html.theme--documenter-dark .column.is-full{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-half{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-half{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-0{flex:none;width:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-0{margin-left:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-3{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-3{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-6{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-6{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-9{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-9{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>html.theme--documenter-dark .column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>html.theme--documenter-dark .column.is-12{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){html.theme--documenter-dark .column.is-narrow-mobile{flex:none;width:unset}html.theme--documenter-dark .column.is-full-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-mobile{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-mobile{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-mobile{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-mobile{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-mobile{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-mobile{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-mobile{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-mobile{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-mobile{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-mobile{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-mobile{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-mobile{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-mobile{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-mobile{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-mobile{margin-left:80%}html.theme--documenter-dark .column.is-0-mobile{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-mobile{margin-left:0%}html.theme--documenter-dark .column.is-1-mobile{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1-mobile{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2-mobile{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2-mobile{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-mobile{margin-left:25%}html.theme--documenter-dark .column.is-4-mobile{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4-mobile{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5-mobile{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5-mobile{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-mobile{margin-left:50%}html.theme--documenter-dark .column.is-7-mobile{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7-mobile{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8-mobile{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8-mobile{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-mobile{margin-left:75%}html.theme--documenter-dark .column.is-10-mobile{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10-mobile{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11-mobile{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11-mobile{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .column.is-narrow,html.theme--documenter-dark .column.is-narrow-tablet{flex:none;width:unset}html.theme--documenter-dark .column.is-full,html.theme--documenter-dark .column.is-full-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters,html.theme--documenter-dark .column.is-three-quarters-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds,html.theme--documenter-dark .column.is-two-thirds-tablet{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half,html.theme--documenter-dark .column.is-half-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third,html.theme--documenter-dark .column.is-one-third-tablet{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter,html.theme--documenter-dark .column.is-one-quarter-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth,html.theme--documenter-dark .column.is-one-fifth-tablet{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths,html.theme--documenter-dark .column.is-two-fifths-tablet{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths,html.theme--documenter-dark .column.is-three-fifths-tablet{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths,html.theme--documenter-dark .column.is-four-fifths-tablet{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters,html.theme--documenter-dark .column.is-offset-three-quarters-tablet{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds,html.theme--documenter-dark .column.is-offset-two-thirds-tablet{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half,html.theme--documenter-dark .column.is-offset-half-tablet{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third,html.theme--documenter-dark .column.is-offset-one-third-tablet{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter,html.theme--documenter-dark .column.is-offset-one-quarter-tablet{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth,html.theme--documenter-dark .column.is-offset-one-fifth-tablet{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths,html.theme--documenter-dark .column.is-offset-two-fifths-tablet{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths,html.theme--documenter-dark .column.is-offset-three-fifths-tablet{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths,html.theme--documenter-dark .column.is-offset-four-fifths-tablet{margin-left:80%}html.theme--documenter-dark .column.is-0,html.theme--documenter-dark .column.is-0-tablet{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0,html.theme--documenter-dark .column.is-offset-0-tablet{margin-left:0%}html.theme--documenter-dark .column.is-1,html.theme--documenter-dark .column.is-1-tablet{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1,html.theme--documenter-dark .column.is-offset-1-tablet{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2,html.theme--documenter-dark .column.is-2-tablet{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2,html.theme--documenter-dark .column.is-offset-2-tablet{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3,html.theme--documenter-dark .column.is-3-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3,html.theme--documenter-dark .column.is-offset-3-tablet{margin-left:25%}html.theme--documenter-dark .column.is-4,html.theme--documenter-dark .column.is-4-tablet{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4,html.theme--documenter-dark .column.is-offset-4-tablet{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5,html.theme--documenter-dark .column.is-5-tablet{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5,html.theme--documenter-dark .column.is-offset-5-tablet{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6,html.theme--documenter-dark .column.is-6-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6,html.theme--documenter-dark .column.is-offset-6-tablet{margin-left:50%}html.theme--documenter-dark .column.is-7,html.theme--documenter-dark .column.is-7-tablet{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7,html.theme--documenter-dark .column.is-offset-7-tablet{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8,html.theme--documenter-dark .column.is-8-tablet{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8,html.theme--documenter-dark .column.is-offset-8-tablet{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9,html.theme--documenter-dark .column.is-9-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9,html.theme--documenter-dark .column.is-offset-9-tablet{margin-left:75%}html.theme--documenter-dark .column.is-10,html.theme--documenter-dark .column.is-10-tablet{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10,html.theme--documenter-dark .column.is-offset-10-tablet{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11,html.theme--documenter-dark .column.is-11-tablet{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11,html.theme--documenter-dark .column.is-offset-11-tablet{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12,html.theme--documenter-dark .column.is-12-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12,html.theme--documenter-dark .column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){html.theme--documenter-dark .column.is-narrow-touch{flex:none;width:unset}html.theme--documenter-dark .column.is-full-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-touch{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-touch{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-touch{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-touch{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-touch{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-touch{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-touch{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-touch{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-touch{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-touch{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-touch{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-touch{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-touch{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-touch{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-touch{margin-left:80%}html.theme--documenter-dark .column.is-0-touch{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-touch{margin-left:0%}html.theme--documenter-dark .column.is-1-touch{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1-touch{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2-touch{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2-touch{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-touch{margin-left:25%}html.theme--documenter-dark .column.is-4-touch{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4-touch{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5-touch{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5-touch{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-touch{margin-left:50%}html.theme--documenter-dark .column.is-7-touch{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7-touch{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8-touch{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8-touch{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-touch{margin-left:75%}html.theme--documenter-dark .column.is-10-touch{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10-touch{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11-touch{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11-touch{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){html.theme--documenter-dark .column.is-narrow-desktop{flex:none;width:unset}html.theme--documenter-dark .column.is-full-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-desktop{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-desktop{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-desktop{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-desktop{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-desktop{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-desktop{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-desktop{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-desktop{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-desktop{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-desktop{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-desktop{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-desktop{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-desktop{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-desktop{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-desktop{margin-left:80%}html.theme--documenter-dark .column.is-0-desktop{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-desktop{margin-left:0%}html.theme--documenter-dark .column.is-1-desktop{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1-desktop{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2-desktop{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2-desktop{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-desktop{margin-left:25%}html.theme--documenter-dark .column.is-4-desktop{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4-desktop{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5-desktop{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5-desktop{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-desktop{margin-left:50%}html.theme--documenter-dark .column.is-7-desktop{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7-desktop{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8-desktop{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8-desktop{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-desktop{margin-left:75%}html.theme--documenter-dark .column.is-10-desktop{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10-desktop{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11-desktop{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11-desktop{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){html.theme--documenter-dark .column.is-narrow-widescreen{flex:none;width:unset}html.theme--documenter-dark .column.is-full-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-widescreen{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-widescreen{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-widescreen{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-widescreen{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-widescreen{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-widescreen{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-widescreen{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-widescreen{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-widescreen{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-widescreen{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-widescreen{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-widescreen{margin-left:80%}html.theme--documenter-dark .column.is-0-widescreen{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-widescreen{margin-left:0%}html.theme--documenter-dark .column.is-1-widescreen{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1-widescreen{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2-widescreen{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2-widescreen{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-4-widescreen{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4-widescreen{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5-widescreen{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5-widescreen{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-7-widescreen{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7-widescreen{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8-widescreen{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8-widescreen{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-10-widescreen{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10-widescreen{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11-widescreen{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11-widescreen{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){html.theme--documenter-dark .column.is-narrow-fullhd{flex:none;width:unset}html.theme--documenter-dark .column.is-full-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-fullhd{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-fullhd{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-fullhd{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-fullhd{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-fullhd{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-fullhd{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-fullhd{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-fullhd{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-fullhd{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-fullhd{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-fullhd{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-fullhd{margin-left:80%}html.theme--documenter-dark .column.is-0-fullhd{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-fullhd{margin-left:0%}html.theme--documenter-dark .column.is-1-fullhd{flex:none;width:8.33333337%}html.theme--documenter-dark .column.is-offset-1-fullhd{margin-left:8.33333337%}html.theme--documenter-dark .column.is-2-fullhd{flex:none;width:16.66666674%}html.theme--documenter-dark .column.is-offset-2-fullhd{margin-left:16.66666674%}html.theme--documenter-dark .column.is-3-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-4-fullhd{flex:none;width:33.33333337%}html.theme--documenter-dark .column.is-offset-4-fullhd{margin-left:33.33333337%}html.theme--documenter-dark .column.is-5-fullhd{flex:none;width:41.66666674%}html.theme--documenter-dark .column.is-offset-5-fullhd{margin-left:41.66666674%}html.theme--documenter-dark .column.is-6-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-7-fullhd{flex:none;width:58.33333337%}html.theme--documenter-dark .column.is-offset-7-fullhd{margin-left:58.33333337%}html.theme--documenter-dark .column.is-8-fullhd{flex:none;width:66.66666674%}html.theme--documenter-dark .column.is-offset-8-fullhd{margin-left:66.66666674%}html.theme--documenter-dark .column.is-9-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-10-fullhd{flex:none;width:83.33333337%}html.theme--documenter-dark .column.is-offset-10-fullhd{margin-left:83.33333337%}html.theme--documenter-dark .column.is-11-fullhd{flex:none;width:91.66666674%}html.theme--documenter-dark .column.is-offset-11-fullhd{margin-left:91.66666674%}html.theme--documenter-dark .column.is-12-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-fullhd{margin-left:100%}}html.theme--documenter-dark .columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .columns:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}html.theme--documenter-dark .columns.is-centered{justify-content:center}html.theme--documenter-dark .columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}html.theme--documenter-dark .columns.is-gapless>.column{margin:0;padding:0 !important}html.theme--documenter-dark .columns.is-gapless:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .columns.is-gapless:last-child{margin-bottom:0}html.theme--documenter-dark .columns.is-mobile{display:flex}html.theme--documenter-dark .columns.is-multiline{flex-wrap:wrap}html.theme--documenter-dark .columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-desktop{display:flex}}html.theme--documenter-dark .columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}html.theme--documenter-dark .columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}html.theme--documenter-dark .columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-0-fullhd{--columnGap: 0rem}}html.theme--documenter-dark .columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-1-fullhd{--columnGap: .25rem}}html.theme--documenter-dark .columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-2-fullhd{--columnGap: .5rem}}html.theme--documenter-dark .columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-3-fullhd{--columnGap: .75rem}}html.theme--documenter-dark .columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-4-fullhd{--columnGap: 1rem}}html.theme--documenter-dark .columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}html.theme--documenter-dark .columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}html.theme--documenter-dark .columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}html.theme--documenter-dark .columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-8-fullhd{--columnGap: 2rem}}html.theme--documenter-dark .tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}html.theme--documenter-dark .tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .tile.is-ancestor:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .tile.is-ancestor:not(:last-child){margin-bottom:.75rem}html.theme--documenter-dark .tile.is-child{margin:0 !important}html.theme--documenter-dark .tile.is-parent{padding:.75rem}html.theme--documenter-dark .tile.is-vertical{flex-direction:column}html.theme--documenter-dark .tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{html.theme--documenter-dark .tile:not(.is-child){display:flex}html.theme--documenter-dark .tile.is-1{flex:none;width:8.33333337%}html.theme--documenter-dark .tile.is-2{flex:none;width:16.66666674%}html.theme--documenter-dark .tile.is-3{flex:none;width:25%}html.theme--documenter-dark .tile.is-4{flex:none;width:33.33333337%}html.theme--documenter-dark .tile.is-5{flex:none;width:41.66666674%}html.theme--documenter-dark .tile.is-6{flex:none;width:50%}html.theme--documenter-dark .tile.is-7{flex:none;width:58.33333337%}html.theme--documenter-dark .tile.is-8{flex:none;width:66.66666674%}html.theme--documenter-dark .tile.is-9{flex:none;width:75%}html.theme--documenter-dark .tile.is-10{flex:none;width:83.33333337%}html.theme--documenter-dark .tile.is-11{flex:none;width:91.66666674%}html.theme--documenter-dark .tile.is-12{flex:none;width:100%}}html.theme--documenter-dark .hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}html.theme--documenter-dark .hero .navbar{background:none}html.theme--documenter-dark .hero .tabs ul{border-bottom:none}html.theme--documenter-dark .hero.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-white strong{color:inherit}html.theme--documenter-dark .hero.is-white .title{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .subtitle{color:rgba(10,10,10,0.9)}html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),html.theme--documenter-dark .hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-white .navbar-menu{background-color:#fff}}html.theme--documenter-dark .hero.is-white .navbar-item,html.theme--documenter-dark .hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}html.theme--documenter-dark .hero.is-white a.navbar-item:hover,html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,html.theme--documenter-dark .hero.is-white .navbar-link:hover,html.theme--documenter-dark .hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}html.theme--documenter-dark .hero.is-white .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-white .tabs li.is-active a{color:#fff !important;opacity:1}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}html.theme--documenter-dark .hero.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-black strong{color:inherit}html.theme--documenter-dark .hero.is-black .title{color:#fff}html.theme--documenter-dark .hero.is-black .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),html.theme--documenter-dark .hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-black .navbar-menu{background-color:#0a0a0a}}html.theme--documenter-dark .hero.is-black .navbar-item,html.theme--documenter-dark .hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-black a.navbar-item:hover,html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,html.theme--documenter-dark .hero.is-black .navbar-link:hover,html.theme--documenter-dark .hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .hero.is-black .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-black .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-black .tabs li.is-active a{color:#0a0a0a !important;opacity:1}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}html.theme--documenter-dark .hero.is-light{background-color:#ecf0f1;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-light strong{color:inherit}html.theme--documenter-dark .hero.is-light .title{color:rgba(0,0,0,0.7)}html.theme--documenter-dark .hero.is-light .subtitle{color:rgba(0,0,0,0.9)}html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),html.theme--documenter-dark .hero.is-light .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-light .navbar-menu{background-color:#ecf0f1}}html.theme--documenter-dark .hero.is-light .navbar-item,html.theme--documenter-dark .hero.is-light .navbar-link{color:rgba(0,0,0,0.7)}html.theme--documenter-dark .hero.is-light a.navbar-item:hover,html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,html.theme--documenter-dark .hero.is-light .navbar-link:hover,html.theme--documenter-dark .hero.is-light .navbar-link.is-active{background-color:#dde4e6;color:rgba(0,0,0,0.7)}html.theme--documenter-dark .hero.is-light .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}html.theme--documenter-dark .hero.is-light .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-light .tabs li.is-active a{color:#ecf0f1 !important;opacity:1}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,0.7)}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ecf0f1}html.theme--documenter-dark .hero.is-light.is-bold{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}}html.theme--documenter-dark .hero.is-dark,html.theme--documenter-dark .content kbd.hero{background-color:#282f2f;color:#fff}html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-dark strong,html.theme--documenter-dark .content kbd.hero strong{color:inherit}html.theme--documenter-dark .hero.is-dark .title,html.theme--documenter-dark .content kbd.hero .title{color:#fff}html.theme--documenter-dark .hero.is-dark .subtitle,html.theme--documenter-dark .content kbd.hero .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button),html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),html.theme--documenter-dark .hero.is-dark .subtitle strong,html.theme--documenter-dark .content kbd.hero .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-dark .navbar-menu,html.theme--documenter-dark .content kbd.hero .navbar-menu{background-color:#282f2f}}html.theme--documenter-dark .hero.is-dark .navbar-item,html.theme--documenter-dark .content kbd.hero .navbar-item,html.theme--documenter-dark .hero.is-dark .navbar-link,html.theme--documenter-dark .content kbd.hero .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-dark a.navbar-item:hover,html.theme--documenter-dark .content kbd.hero a.navbar-item:hover,html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active,html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,html.theme--documenter-dark .hero.is-dark .navbar-link:hover,html.theme--documenter-dark .content kbd.hero .navbar-link:hover,html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,html.theme--documenter-dark .content kbd.hero .navbar-link.is-active{background-color:#1d2122;color:#fff}html.theme--documenter-dark .hero.is-dark .tabs a,html.theme--documenter-dark .content kbd.hero .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-dark .tabs a:hover,html.theme--documenter-dark .content kbd.hero .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-dark .tabs li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs li.is-active a{color:#282f2f !important;opacity:1}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#282f2f}html.theme--documenter-dark .hero.is-dark.is-bold,html.theme--documenter-dark .content kbd.hero.is-bold{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu,html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}}html.theme--documenter-dark .hero.is-primary,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-primary strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink strong{color:inherit}html.theme--documenter-dark .hero.is-primary .title,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .title{color:#fff}html.theme--documenter-dark .hero.is-primary .subtitle,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),html.theme--documenter-dark .hero.is-primary .subtitle strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-primary .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#375a7f}}html.theme--documenter-dark .hero.is-primary .navbar-item,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-item,html.theme--documenter-dark .hero.is-primary .navbar-link,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-primary a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,html.theme--documenter-dark .hero.is-primary .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link:hover,html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .hero.is-primary .tabs a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-primary .tabs a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-primary .tabs li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{color:#375a7f !important;opacity:1}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#375a7f}html.theme--documenter-dark .hero.is-primary.is-bold,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}}html.theme--documenter-dark .hero.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-link strong{color:inherit}html.theme--documenter-dark .hero.is-link .title{color:#fff}html.theme--documenter-dark .hero.is-link .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),html.theme--documenter-dark .hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-link .navbar-menu{background-color:#1abc9c}}html.theme--documenter-dark .hero.is-link .navbar-item,html.theme--documenter-dark .hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-link a.navbar-item:hover,html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,html.theme--documenter-dark .hero.is-link .navbar-link:hover,html.theme--documenter-dark .hero.is-link .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .hero.is-link .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-link .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-link .tabs li.is-active a{color:#1abc9c !important;opacity:1}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#1abc9c}html.theme--documenter-dark .hero.is-link.is-bold{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}}html.theme--documenter-dark .hero.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-info strong{color:inherit}html.theme--documenter-dark .hero.is-info .title{color:#fff}html.theme--documenter-dark .hero.is-info .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),html.theme--documenter-dark .hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-info .navbar-menu{background-color:#024c7d}}html.theme--documenter-dark .hero.is-info .navbar-item,html.theme--documenter-dark .hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-info a.navbar-item:hover,html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,html.theme--documenter-dark .hero.is-info .navbar-link:hover,html.theme--documenter-dark .hero.is-info .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .hero.is-info .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-info .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-info .tabs li.is-active a{color:#024c7d !important;opacity:1}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#024c7d}html.theme--documenter-dark .hero.is-info.is-bold{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}}html.theme--documenter-dark .hero.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-success strong{color:inherit}html.theme--documenter-dark .hero.is-success .title{color:#fff}html.theme--documenter-dark .hero.is-success .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),html.theme--documenter-dark .hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-success .navbar-menu{background-color:#008438}}html.theme--documenter-dark .hero.is-success .navbar-item,html.theme--documenter-dark .hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-success a.navbar-item:hover,html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,html.theme--documenter-dark .hero.is-success .navbar-link:hover,html.theme--documenter-dark .hero.is-success .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .hero.is-success .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-success .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-success .tabs li.is-active a{color:#008438 !important;opacity:1}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#008438}html.theme--documenter-dark .hero.is-success.is-bold{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}}html.theme--documenter-dark .hero.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-warning strong{color:inherit}html.theme--documenter-dark .hero.is-warning .title{color:#fff}html.theme--documenter-dark .hero.is-warning .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),html.theme--documenter-dark .hero.is-warning .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-warning .navbar-menu{background-color:#ad8100}}html.theme--documenter-dark .hero.is-warning .navbar-item,html.theme--documenter-dark .hero.is-warning .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-warning a.navbar-item:hover,html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,html.theme--documenter-dark .hero.is-warning .navbar-link:hover,html.theme--documenter-dark .hero.is-warning .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .hero.is-warning .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-warning .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-warning .tabs li.is-active a{color:#ad8100 !important;opacity:1}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ad8100}html.theme--documenter-dark .hero.is-warning.is-bold{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}}html.theme--documenter-dark .hero.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-danger strong{color:inherit}html.theme--documenter-dark .hero.is-danger .title{color:#fff}html.theme--documenter-dark .hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),html.theme--documenter-dark .hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-danger .navbar-menu{background-color:#9e1b0d}}html.theme--documenter-dark .hero.is-danger .navbar-item,html.theme--documenter-dark .hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-danger a.navbar-item:hover,html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,html.theme--documenter-dark .hero.is-danger .navbar-link:hover,html.theme--documenter-dark .hero.is-danger .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .hero.is-danger .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-danger .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-danger .tabs li.is-active a{color:#9e1b0d !important;opacity:1}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#9e1b0d}html.theme--documenter-dark .hero.is-danger.is-bold{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}}html.theme--documenter-dark .hero.is-small .hero-body,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding:1.5rem}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-large .hero-body{padding:18rem 6rem}}html.theme--documenter-dark .hero.is-halfheight .hero-body,html.theme--documenter-dark .hero.is-fullheight .hero-body,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}html.theme--documenter-dark .hero.is-halfheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .hero.is-halfheight{min-height:50vh}html.theme--documenter-dark .hero.is-fullheight{min-height:100vh}html.theme--documenter-dark .hero-video{overflow:hidden}html.theme--documenter-dark .hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}html.theme--documenter-dark .hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-video{display:none}}html.theme--documenter-dark .hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-buttons .button{display:flex}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero-buttons{display:flex;justify-content:center}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-right:1.5rem}}html.theme--documenter-dark .hero-head,html.theme--documenter-dark .hero-foot{flex-grow:0;flex-shrink:0}html.theme--documenter-dark .hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero-body{padding:3rem 3rem}}html.theme--documenter-dark .section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){html.theme--documenter-dark .section{padding:3rem 3rem}html.theme--documenter-dark .section.is-medium{padding:9rem 4.5rem}html.theme--documenter-dark .section.is-large{padding:18rem 6rem}}html.theme--documenter-dark .footer{background-color:#282f2f;padding:3rem 1.5rem 6rem}html.theme--documenter-dark hr{height:1px}html.theme--documenter-dark h6{text-transform:uppercase;letter-spacing:0.5px}html.theme--documenter-dark .hero{background-color:#343c3d}html.theme--documenter-dark a{transition:all 200ms ease}html.theme--documenter-dark .button{transition:all 200ms ease;border-width:1px;color:#fff}html.theme--documenter-dark .button.is-active,html.theme--documenter-dark .button.is-focused,html.theme--documenter-dark .button:active,html.theme--documenter-dark .button:focus{box-shadow:0 0 0 2px rgba(140,155,157,0.5)}html.theme--documenter-dark .button.is-white.is-hovered,html.theme--documenter-dark .button.is-white:hover{background-color:#fff}html.theme--documenter-dark .button.is-white.is-active,html.theme--documenter-dark .button.is-white.is-focused,html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,0.5)}html.theme--documenter-dark .button.is-black.is-hovered,html.theme--documenter-dark .button.is-black:hover{background-color:#1d1d1d}html.theme--documenter-dark .button.is-black.is-active,html.theme--documenter-dark .button.is-black.is-focused,html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black:focus{border-color:#0a0a0a;box-shadow:0 0 0 2px rgba(10,10,10,0.5)}html.theme--documenter-dark .button.is-light.is-hovered,html.theme--documenter-dark .button.is-light:hover{background-color:#fff}html.theme--documenter-dark .button.is-light.is-active,html.theme--documenter-dark .button.is-light.is-focused,html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light:focus{border-color:#ecf0f1;box-shadow:0 0 0 2px rgba(236,240,241,0.5)}html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered,html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover{background-color:#3a4344}html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused,html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus{border-color:#282f2f;box-shadow:0 0 0 2px rgba(40,47,47,0.5)}html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover{background-color:#436d9a}html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink,html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus{border-color:#375a7f;box-shadow:0 0 0 2px rgba(55,90,127,0.5)}html.theme--documenter-dark .button.is-link.is-hovered,html.theme--documenter-dark .button.is-link:hover{background-color:#1fdeb8}html.theme--documenter-dark .button.is-link.is-active,html.theme--documenter-dark .button.is-link.is-focused,html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link:focus{border-color:#1abc9c;box-shadow:0 0 0 2px rgba(26,188,156,0.5)}html.theme--documenter-dark .button.is-info.is-hovered,html.theme--documenter-dark .button.is-info:hover{background-color:#0363a3}html.theme--documenter-dark .button.is-info.is-active,html.theme--documenter-dark .button.is-info.is-focused,html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info:focus{border-color:#024c7d;box-shadow:0 0 0 2px rgba(2,76,125,0.5)}html.theme--documenter-dark .button.is-success.is-hovered,html.theme--documenter-dark .button.is-success:hover{background-color:#00aa48}html.theme--documenter-dark .button.is-success.is-active,html.theme--documenter-dark .button.is-success.is-focused,html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success:focus{border-color:#008438;box-shadow:0 0 0 2px rgba(0,132,56,0.5)}html.theme--documenter-dark .button.is-warning.is-hovered,html.theme--documenter-dark .button.is-warning:hover{background-color:#d39e00}html.theme--documenter-dark .button.is-warning.is-active,html.theme--documenter-dark .button.is-warning.is-focused,html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning:focus{border-color:#ad8100;box-shadow:0 0 0 2px rgba(173,129,0,0.5)}html.theme--documenter-dark .button.is-danger.is-hovered,html.theme--documenter-dark .button.is-danger:hover{background-color:#c12110}html.theme--documenter-dark .button.is-danger.is-active,html.theme--documenter-dark .button.is-danger.is-focused,html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger:focus{border-color:#9e1b0d;box-shadow:0 0 0 2px rgba(158,27,13,0.5)}html.theme--documenter-dark .label{color:#dbdee0}html.theme--documenter-dark .button,html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .select,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea{height:2.5em}html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .textarea{transition:all 200ms ease;box-shadow:none;border-width:1px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .select:after,html.theme--documenter-dark .select select{border-width:1px}html.theme--documenter-dark .control.has-addons .button,html.theme--documenter-dark .control.has-addons .input,html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search>input,html.theme--documenter-dark .control.has-addons .select{margin-right:-1px}html.theme--documenter-dark .notification{background-color:#343c3d}html.theme--documenter-dark .card{box-shadow:none;border:1px solid #343c3d;background-color:#282f2f;border-radius:.4em}html.theme--documenter-dark .card .card-image img{border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-header{box-shadow:none;background-color:rgba(18,18,18,0.2);border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-footer{background-color:rgba(18,18,18,0.2)}html.theme--documenter-dark .card .card-footer,html.theme--documenter-dark .card .card-footer-item{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .notification.is-white a:not(.button){color:#0a0a0a;text-decoration:underline}html.theme--documenter-dark .notification.is-black a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-light a:not(.button){color:rgba(0,0,0,0.7);text-decoration:underline}html.theme--documenter-dark .notification.is-dark a:not(.button),html.theme--documenter-dark .content kbd.notification a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-primary a:not(.button),html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-link a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-info a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-success a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-warning a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-danger a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .tag,html.theme--documenter-dark .content kbd,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{border-radius:.4em}html.theme--documenter-dark .menu-list a{transition:all 300ms ease}html.theme--documenter-dark .modal-card-body{background-color:#282f2f}html.theme--documenter-dark .modal-card-foot,html.theme--documenter-dark .modal-card-head{border-color:#343c3d}html.theme--documenter-dark .message-header{font-weight:700;background-color:#343c3d;color:#fff}html.theme--documenter-dark .message-body{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .navbar{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent{background:none}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar .navbar-menu{background-color:#375a7f;border-radius:0 0 .4em .4em}}html.theme--documenter-dark .hero .navbar,html.theme--documenter-dark body>.navbar{border-radius:0}html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous{border-width:1px}html.theme--documenter-dark .panel-block,html.theme--documenter-dark .panel-heading,html.theme--documenter-dark .panel-tabs{border-width:1px}html.theme--documenter-dark .panel-block:first-child,html.theme--documenter-dark .panel-heading:first-child,html.theme--documenter-dark .panel-tabs:first-child{border-top-width:1px}html.theme--documenter-dark .panel-heading{font-weight:700}html.theme--documenter-dark .panel-tabs a{border-width:1px;margin-bottom:-1px}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#17a689}html.theme--documenter-dark .panel-block:hover{color:#1dd2af}html.theme--documenter-dark .panel-block:hover .panel-icon{color:#1dd2af}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#17a689}html.theme--documenter-dark .tabs a{border-bottom-width:1px;margin-bottom:-1px}html.theme--documenter-dark .tabs ul{border-bottom-width:1px}html.theme--documenter-dark .tabs.is-boxed a{border-width:1px}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#1f2424}html.theme--documenter-dark .tabs.is-toggle li a{border-width:1px;margin-bottom:0}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark h1 .docs-heading-anchor,html.theme--documenter-dark h1 .docs-heading-anchor:hover,html.theme--documenter-dark h1 .docs-heading-anchor:visited,html.theme--documenter-dark h2 .docs-heading-anchor,html.theme--documenter-dark h2 .docs-heading-anchor:hover,html.theme--documenter-dark h2 .docs-heading-anchor:visited,html.theme--documenter-dark h3 .docs-heading-anchor,html.theme--documenter-dark h3 .docs-heading-anchor:hover,html.theme--documenter-dark h3 .docs-heading-anchor:visited,html.theme--documenter-dark h4 .docs-heading-anchor,html.theme--documenter-dark h4 .docs-heading-anchor:hover,html.theme--documenter-dark h4 .docs-heading-anchor:visited,html.theme--documenter-dark h5 .docs-heading-anchor,html.theme--documenter-dark h5 .docs-heading-anchor:hover,html.theme--documenter-dark h5 .docs-heading-anchor:visited,html.theme--documenter-dark h6 .docs-heading-anchor,html.theme--documenter-dark h6 .docs-heading-anchor:hover,html.theme--documenter-dark h6 .docs-heading-anchor:visited{color:#f2f2f2}html.theme--documenter-dark h1 .docs-heading-anchor-permalink,html.theme--documenter-dark h2 .docs-heading-anchor-permalink,html.theme--documenter-dark h3 .docs-heading-anchor-permalink,html.theme--documenter-dark h4 .docs-heading-anchor-permalink,html.theme--documenter-dark h5 .docs-heading-anchor-permalink,html.theme--documenter-dark h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f0c1"}html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink{visibility:visible}html.theme--documenter-dark .docs-light-only{display:none !important}html.theme--documenter-dark pre{position:relative;overflow:hidden}html.theme--documenter-dark pre code,html.theme--documenter-dark pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}html.theme--documenter-dark pre code:first-of-type,html.theme--documenter-dark pre code.hljs:first-of-type{padding-top:0.5rem !important}html.theme--documenter-dark pre code:last-of-type,html.theme--documenter-dark pre code.hljs:last-of-type{padding-bottom:0.5rem !important}html.theme--documenter-dark pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 6 Free";color:#fff;cursor:pointer;text-align:center}html.theme--documenter-dark pre .copy-button:focus,html.theme--documenter-dark pre .copy-button:hover{opacity:1;background:rgba(255,255,255,0.1);color:#1abc9c}html.theme--documenter-dark pre .copy-button.success{color:#259a12;opacity:1}html.theme--documenter-dark pre .copy-button.error{color:#cb3c33;opacity:1}html.theme--documenter-dark pre:hover .copy-button{opacity:1}html.theme--documenter-dark .admonition{background-color:#282f2f;border-style:solid;border-width:1px;border-color:#5e6d6f;border-radius:.4em;font-size:1rem}html.theme--documenter-dark .admonition strong{color:currentColor}html.theme--documenter-dark .admonition.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.admonition{font-size:.75rem}html.theme--documenter-dark .admonition.is-medium{font-size:1.25rem}html.theme--documenter-dark .admonition.is-large{font-size:1.5rem}html.theme--documenter-dark .admonition.is-default{background-color:#282f2f;border-color:#5e6d6f}html.theme--documenter-dark .admonition.is-default>.admonition-header{background-color:#5e6d6f;color:#fff}html.theme--documenter-dark .admonition.is-default>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-info{background-color:#282f2f;border-color:#024c7d}html.theme--documenter-dark .admonition.is-info>.admonition-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .admonition.is-info>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-success{background-color:#282f2f;border-color:#008438}html.theme--documenter-dark .admonition.is-success>.admonition-header{background-color:#008438;color:#fff}html.theme--documenter-dark .admonition.is-success>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-warning{background-color:#282f2f;border-color:#ad8100}html.theme--documenter-dark .admonition.is-warning>.admonition-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .admonition.is-warning>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-danger{background-color:#282f2f;border-color:#9e1b0d}html.theme--documenter-dark .admonition.is-danger>.admonition-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .admonition.is-danger>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-compat{background-color:#282f2f;border-color:#137886}html.theme--documenter-dark .admonition.is-compat>.admonition-header{background-color:#137886;color:#fff}html.theme--documenter-dark .admonition.is-compat>.admonition-body{color:#fff}html.theme--documenter-dark .admonition-header{color:#fff;background-color:#5e6d6f;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}html.theme--documenter-dark .admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}html.theme--documenter-dark details.admonition.is-details>.admonition-header{list-style:none}html.theme--documenter-dark details.admonition.is-details>.admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f055"}html.theme--documenter-dark details.admonition.is-details[open]>.admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f056"}html.theme--documenter-dark .admonition-body{color:#fff;padding:0.5rem .75rem}html.theme--documenter-dark .admonition-body pre{background-color:#282f2f}html.theme--documenter-dark .admonition-body code{background-color:rgba(255,255,255,0.05)}html.theme--documenter-dark .docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #5e6d6f;box-shadow:none;max-width:100%}html.theme--documenter-dark .docstring>header{cursor:pointer;display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#282f2f;box-shadow:0 0.125em 0.25em rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #5e6d6f;overflow:auto}html.theme--documenter-dark .docstring>header code{background-color:transparent}html.theme--documenter-dark .docstring>header .docstring-article-toggle-button{min-width:1.1rem;padding:0.2rem 0.2rem 0.2rem 0}html.theme--documenter-dark .docstring>header .docstring-binding{margin-right:0.3em}html.theme--documenter-dark .docstring>header .docstring-category{margin-left:0.3em}html.theme--documenter-dark .docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .docstring>section:last-child{border-bottom:none}html.theme--documenter-dark .docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}html.theme--documenter-dark .docstring>section>a.docs-sourcelink:focus{opacity:1 !important}html.theme--documenter-dark .docstring:hover>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring>section:hover a.docs-sourcelink{opacity:1}html.theme--documenter-dark .documenter-example-output{background-color:#1f2424}html.theme--documenter-dark .outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#282f2f;color:#fff;border-bottom:3px solid #9e1b0d;padding:10px 35px;text-align:center;font-size:15px}html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}html.theme--documenter-dark .outdated-warning-overlay a{color:#1abc9c}html.theme--documenter-dark .outdated-warning-overlay a:hover{color:#1dd2af}html.theme--documenter-dark .content pre{border:1px solid #5e6d6f}html.theme--documenter-dark .content code{font-weight:inherit}html.theme--documenter-dark .content a code{color:#1abc9c}html.theme--documenter-dark .content h1 code,html.theme--documenter-dark .content h2 code,html.theme--documenter-dark .content h3 code,html.theme--documenter-dark .content h4 code,html.theme--documenter-dark .content h5 code,html.theme--documenter-dark .content h6 code{color:#f2f2f2}html.theme--documenter-dark .content table{display:block;width:initial;max-width:100%;overflow-x:auto}html.theme--documenter-dark .content blockquote>ul:first-child,html.theme--documenter-dark .content blockquote>ol:first-child,html.theme--documenter-dark .content .admonition-body>ul:first-child,html.theme--documenter-dark .content .admonition-body>ol:first-child{margin-top:0}html.theme--documenter-dark pre,html.theme--documenter-dark code{font-variant-ligatures:no-contextual}html.theme--documenter-dark .breadcrumb a.is-disabled{cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb a.is-disabled,html.theme--documenter-dark .breadcrumb a.is-disabled:hover{color:#f2f2f2}html.theme--documenter-dark .hljs{background:initial !important}html.theme--documenter-dark .katex .katex-mathml{top:0;right:0}html.theme--documenter-dark .katex-display,html.theme--documenter-dark mjx-container,html.theme--documenter-dark .MathJax_Display{margin:0.5em 0 !important}html.theme--documenter-dark html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}html.theme--documenter-dark li.no-marker{list-style:none}html.theme--documenter-dark #documenter .docs-main>article{overflow-wrap:break-word}html.theme--documenter-dark #documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main{width:100%}html.theme--documenter-dark #documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-main>header,html.theme--documenter-dark #documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}html.theme--documenter-dark #documenter .docs-main header.docs-navbar{background-color:#1f2424;border-bottom:1px solid #5e6d6f;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1;overflow-x:hidden}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-sidebar-button{display:block;font-size:1.5rem;padding-bottom:0.1rem;margin-right:1rem}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap;gap:1rem;align-items:center}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon,html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label{display:inline-block}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-navbar-link{margin-left:0.4rem;margin-right:0.4rem}}html.theme--documenter-dark #documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #171717;transition-duration:0.7s;-webkit-transition-duration:0.7s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}html.theme--documenter-dark #documenter .docs-main section.footnotes{border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child,html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}html.theme--documenter-dark #documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #5e6d6f;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage,html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}html.theme--documenter-dark #documenter .docs-sidebar{display:flex;flex-direction:column;color:#fff;background-color:#282f2f;border-right:1px solid #5e6d6f;padding:0;flex:0 0 18rem;z-index:5;font-size:1rem;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}html.theme--documenter-dark #documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #171717}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar{left:0;top:0}}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a,html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover{color:#fff}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector{border-top:1px solid #5e6d6f;display:none;padding:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #5e6d6f;padding-bottom:1.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li li{font-size:.95rem;margin-left:1em;border-left:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:.75rem;margin-left:1rem;margin-top:auto;margin-bottom:auto}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f054"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#fff;background:#282f2f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#fff;background-color:#32393a}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #5e6d6f;border-bottom:1px solid #5e6d6f;background-color:#1f2424}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#1f2424;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#32393a;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:.85rem;border-left:none;margin-left:0;margin-top:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{width:14.4rem}html.theme--documenter-dark #documenter .docs-sidebar #documenter-search-query{color:#868c98;width:14.4rem;box-shadow:inset 0 1px 2px rgba(10,10,10,0.1)}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}html.theme--documenter-dark kbd.search-modal-key-hints{border-radius:0.25rem;border:1px solid rgba(245,245,245,0.6);box-shadow:0 2px 0 1px rgba(245,245,245,0.6);cursor:default;font-size:0.9rem;line-height:1.5;min-width:0.75rem;text-align:center;padding:0.1rem 0.3rem;position:relative;top:-1px}html.theme--documenter-dark .search-min-width-50{min-width:50%}html.theme--documenter-dark .search-min-height-100{min-height:100%}html.theme--documenter-dark .search-modal-card-body{max-height:calc(100vh - 15rem)}html.theme--documenter-dark .search-result-link{border-radius:0.7em;transition:all 300ms}html.theme--documenter-dark .search-result-link:hover,html.theme--documenter-dark .search-result-link:focus{background-color:rgba(0,128,128,0.1)}html.theme--documenter-dark .search-result-link .property-search-result-badge,html.theme--documenter-dark .search-result-link .search-filter{transition:all 300ms}html.theme--documenter-dark .property-search-result-badge,html.theme--documenter-dark .search-filter{padding:0.15em 0.5em;font-size:0.8em;font-style:italic;text-transform:none !important;line-height:1.5;color:#f5f5f5;background-color:rgba(51,65,85,0.501961);border-radius:0.6rem}html.theme--documenter-dark .search-result-link:hover .property-search-result-badge,html.theme--documenter-dark .search-result-link:hover .search-filter,html.theme--documenter-dark .search-result-link:focus .property-search-result-badge,html.theme--documenter-dark .search-result-link:focus .search-filter{color:#333;background-color:#f1f5f9}html.theme--documenter-dark .search-filter{color:#333;background-color:#f5f5f5;transition:all 300ms}html.theme--documenter-dark .search-filter:hover,html.theme--documenter-dark .search-filter:focus{color:#333}html.theme--documenter-dark .search-filter-selected{color:#f5f5f5;background-color:rgba(139,0,139,0.5)}html.theme--documenter-dark .search-filter-selected:hover,html.theme--documenter-dark .search-filter-selected:focus{color:#f5f5f5}html.theme--documenter-dark .search-result-highlight{background-color:#ffdd57;color:black}html.theme--documenter-dark .search-divider{border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .search-result-title{width:85%;color:#f5f5f5}html.theme--documenter-dark .search-result-code-title{font-size:0.875rem;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}html.theme--documenter-dark #search-modal .modal-card-body::-webkit-scrollbar,html.theme--documenter-dark #search-modal .filter-tabs::-webkit-scrollbar{height:10px;width:10px;background-color:transparent}html.theme--documenter-dark #search-modal .modal-card-body::-webkit-scrollbar-thumb,html.theme--documenter-dark #search-modal .filter-tabs::-webkit-scrollbar-thumb{background-color:gray;border-radius:1rem}html.theme--documenter-dark #search-modal .modal-card-body::-webkit-scrollbar-track,html.theme--documenter-dark #search-modal .filter-tabs::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.6);background-color:transparent}html.theme--documenter-dark .w-100{width:100%}html.theme--documenter-dark .gap-2{gap:0.5rem}html.theme--documenter-dark .gap-4{gap:1rem}html.theme--documenter-dark .gap-8{gap:2rem}html.theme--documenter-dark{background-color:#1f2424;font-size:16px;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark .ansi span.sgr1{font-weight:bolder}html.theme--documenter-dark .ansi span.sgr2{font-weight:lighter}html.theme--documenter-dark .ansi span.sgr3{font-style:italic}html.theme--documenter-dark .ansi span.sgr4{text-decoration:underline}html.theme--documenter-dark .ansi span.sgr7{color:#1f2424;background-color:#fff}html.theme--documenter-dark .ansi span.sgr8{color:transparent}html.theme--documenter-dark .ansi span.sgr8 span{color:transparent}html.theme--documenter-dark .ansi span.sgr9{text-decoration:line-through}html.theme--documenter-dark .ansi span.sgr30{color:#242424}html.theme--documenter-dark .ansi span.sgr31{color:#f6705f}html.theme--documenter-dark .ansi span.sgr32{color:#4fb43a}html.theme--documenter-dark .ansi span.sgr33{color:#f4c72f}html.theme--documenter-dark .ansi span.sgr34{color:#7587f0}html.theme--documenter-dark .ansi span.sgr35{color:#bc89d3}html.theme--documenter-dark .ansi span.sgr36{color:#49b6ca}html.theme--documenter-dark .ansi span.sgr37{color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr40{background-color:#242424}html.theme--documenter-dark .ansi span.sgr41{background-color:#f6705f}html.theme--documenter-dark .ansi span.sgr42{background-color:#4fb43a}html.theme--documenter-dark .ansi span.sgr43{background-color:#f4c72f}html.theme--documenter-dark .ansi span.sgr44{background-color:#7587f0}html.theme--documenter-dark .ansi span.sgr45{background-color:#bc89d3}html.theme--documenter-dark .ansi span.sgr46{background-color:#49b6ca}html.theme--documenter-dark .ansi span.sgr47{background-color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr90{color:#92a0a2}html.theme--documenter-dark .ansi span.sgr91{color:#ff8674}html.theme--documenter-dark .ansi span.sgr92{color:#79d462}html.theme--documenter-dark .ansi span.sgr93{color:#ffe76b}html.theme--documenter-dark .ansi span.sgr94{color:#8a98ff}html.theme--documenter-dark .ansi span.sgr95{color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr96{color:#6bc8db}html.theme--documenter-dark .ansi span.sgr97{color:#ecf0f1}html.theme--documenter-dark .ansi span.sgr100{background-color:#92a0a2}html.theme--documenter-dark .ansi span.sgr101{background-color:#ff8674}html.theme--documenter-dark .ansi span.sgr102{background-color:#79d462}html.theme--documenter-dark .ansi span.sgr103{background-color:#ffe76b}html.theme--documenter-dark .ansi span.sgr104{background-color:#8a98ff}html.theme--documenter-dark .ansi span.sgr105{background-color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr106{background-color:#6bc8db}html.theme--documenter-dark .ansi span.sgr107{background-color:#ecf0f1}html.theme--documenter-dark code.language-julia-repl>span.hljs-meta{color:#4fb43a;font-weight:bolder}html.theme--documenter-dark .hljs{background:#2b2b2b;color:#f8f8f2}html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-quote{color:#d4d0ab}html.theme--documenter-dark .hljs-variable,html.theme--documenter-dark .hljs-template-variable,html.theme--documenter-dark .hljs-tag,html.theme--documenter-dark .hljs-name,html.theme--documenter-dark .hljs-selector-id,html.theme--documenter-dark .hljs-selector-class,html.theme--documenter-dark .hljs-regexp,html.theme--documenter-dark .hljs-deletion{color:#ffa07a}html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-link{color:#f5ab35}html.theme--documenter-dark .hljs-attribute{color:#ffd700}html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-addition{color:#abe338}html.theme--documenter-dark .hljs-title,html.theme--documenter-dark .hljs-section{color:#00e0e0}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{color:#dcc6e0}html.theme--documenter-dark .hljs-emphasis{font-style:italic}html.theme--documenter-dark .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast: active){html.theme--documenter-dark .hljs-addition,html.theme--documenter-dark .hljs-attribute,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-link,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-quote{color:highlight}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{font-weight:bold}}html.theme--documenter-dark .hljs-subst{color:#f8f8f2}html.theme--documenter-dark .search-result-link{border-radius:0.7em;transition:all 300ms}html.theme--documenter-dark .search-result-link:hover,html.theme--documenter-dark .search-result-link:focus{background-color:rgba(0,128,128,0.1)}html.theme--documenter-dark .search-result-link .property-search-result-badge,html.theme--documenter-dark .search-result-link .search-filter{transition:all 300ms}html.theme--documenter-dark .search-result-link:hover .property-search-result-badge,html.theme--documenter-dark .search-result-link:hover .search-filter,html.theme--documenter-dark .search-result-link:focus .property-search-result-badge,html.theme--documenter-dark .search-result-link:focus .search-filter{color:#333 !important;background-color:#f1f5f9 !important}html.theme--documenter-dark .search-result-title{color:whitesmoke}html.theme--documenter-dark .search-result-highlight{background-color:greenyellow;color:black}html.theme--documenter-dark .search-divider{border-bottom:1px solid #5e6d6f50}html.theme--documenter-dark .w-100{width:100%}html.theme--documenter-dark .gap-2{gap:0.5rem}html.theme--documenter-dark .gap-4{gap:1rem} diff --git a/previews/PR543/assets/themes/documenter-light.css b/previews/PR543/assets/themes/documenter-light.css new file mode 100644 index 00000000..2f168c77 --- /dev/null +++ b/previews/PR543/assets/themes/documenter-light.css @@ -0,0 +1,9 @@ +.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.file-cta,.file-name,.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input,.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.5em - 1px);padding-left:calc(0.75em - 1px);padding-right:calc(0.75em - 1px);padding-top:calc(0.5em - 1px);position:relative;vertical-align:top}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.file-cta:focus,.file-name:focus,.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.button:focus,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.is-focused.file-cta,.is-focused.file-name,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-focused.button,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.file-cta:active,.file-name:active,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.button:active,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis,.is-active.file-cta,.is-active.file-name,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.is-active.button{outline:none}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled],.pagination-ellipsis[disabled],.file-cta[disabled],.file-name[disabled],.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],.button[disabled],fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] .button{cursor:not-allowed}.tabs,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.breadcrumb,.file,.button,.is-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}.admonition:not(:last-child),.tabs:not(:last-child),.pagination:not(:last-child),.message:not(:last-child),.level:not(:last-child),.breadcrumb:not(:last-child),.block:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.progress:not(:last-child),.notification:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}.modal-close,.delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.modal-close::before,.delete::before,.modal-close::after,.delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close::before,.delete::before{height:2px;width:50%}.modal-close::after,.delete::after{height:50%;width:2px}.modal-close:hover,.delete:hover,.modal-close:focus,.delete:focus{background-color:rgba(10,10,10,0.3)}.modal-close:active,.delete:active{background-color:rgba(10,10,10,0.4)}.is-small.modal-close,#documenter .docs-sidebar form.docs-search>input.modal-close,.is-small.delete,#documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.modal-close,.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.modal-close,.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.control.is-loading::after,.select.is-loading::after,.loader,.button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdbdb;border-radius:9999px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.modal-background,.modal,.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#f5f5f5 !important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb !important}.has-background-light{background-color:#f5f5f5 !important}.has-text-dark{color:#363636 !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c !important}.has-background-dark{background-color:#363636 !important}.has-text-primary{color:#4eb5de !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#27a1d2 !important}.has-background-primary{background-color:#4eb5de !important}.has-text-primary-light{color:#eef8fc !important}a.has-text-primary-light:hover,a.has-text-primary-light:focus{color:#c3e6f4 !important}.has-background-primary-light{background-color:#eef8fc !important}.has-text-primary-dark{color:#1a6d8e !important}a.has-text-primary-dark:hover,a.has-text-primary-dark:focus{color:#228eb9 !important}.has-background-primary-dark{background-color:#1a6d8e !important}.has-text-link{color:#2e63b8 !important}a.has-text-link:hover,a.has-text-link:focus{color:#244d8f !important}.has-background-link{background-color:#2e63b8 !important}.has-text-link-light{color:#eff3fb !important}a.has-text-link-light:hover,a.has-text-link-light:focus{color:#c6d6f1 !important}.has-background-link-light{background-color:#eff3fb !important}.has-text-link-dark{color:#3169c4 !important}a.has-text-link-dark:hover,a.has-text-link-dark:focus{color:#5485d4 !important}.has-background-link-dark{background-color:#3169c4 !important}.has-text-info{color:#209cee !important}a.has-text-info:hover,a.has-text-info:focus{color:#1081cb !important}.has-background-info{background-color:#209cee !important}.has-text-info-light{color:#ecf7fe !important}a.has-text-info-light:hover,a.has-text-info-light:focus{color:#bde2fa !important}.has-background-info-light{background-color:#ecf7fe !important}.has-text-info-dark{color:#0e72b4 !important}a.has-text-info-dark:hover,a.has-text-info-dark:focus{color:#1190e3 !important}.has-background-info-dark{background-color:#0e72b4 !important}.has-text-success{color:#22c35b !important}a.has-text-success:hover,a.has-text-success:focus{color:#1a9847 !important}.has-background-success{background-color:#22c35b !important}.has-text-success-light{color:#eefcf3 !important}a.has-text-success-light:hover,a.has-text-success-light:focus{color:#c2f4d4 !important}.has-background-success-light{background-color:#eefcf3 !important}.has-text-success-dark{color:#198f43 !important}a.has-text-success-dark:hover,a.has-text-success-dark:focus{color:#21bb57 !important}.has-background-success-dark{background-color:#198f43 !important}.has-text-warning{color:#ffdd57 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd324 !important}.has-background-warning{background-color:#ffdd57 !important}.has-text-warning-light{color:#fffbeb !important}a.has-text-warning-light:hover,a.has-text-warning-light:focus{color:#fff1b8 !important}.has-background-warning-light{background-color:#fffbeb !important}.has-text-warning-dark{color:#947600 !important}a.has-text-warning-dark:hover,a.has-text-warning-dark:focus{color:#c79f00 !important}.has-background-warning-dark{background-color:#947600 !important}.has-text-danger{color:#da0b00 !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#a70800 !important}.has-background-danger{background-color:#da0b00 !important}.has-text-danger-light{color:#ffeceb !important}a.has-text-danger-light:hover,a.has-text-danger-light:focus{color:#ffbbb8 !important}.has-background-danger-light{background-color:#ffeceb !important}.has-text-danger-dark{color:#f50c00 !important}a.has-text-danger-dark:hover,a.has-text-danger-dark:focus{color:#ff3429 !important}.has-background-danger-dark{background-color:#f50c00 !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#363636 !important}.has-background-grey-darker{background-color:#363636 !important}.has-text-grey-dark{color:#4a4a4a !important}.has-background-grey-dark{background-color:#4a4a4a !important}.has-text-grey{color:#6b6b6b !important}.has-background-grey{background-color:#6b6b6b !important}.has-text-grey-light{color:#b5b5b5 !important}.has-background-grey-light{background-color:#b5b5b5 !important}.has-text-grey-lighter{color:#dbdbdb !important}.has-background-grey-lighter{background-color:#dbdbdb !important}.has-text-white-ter{color:#f5f5f5 !important}.has-background-white-ter{background-color:#f5f5f5 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.is-flex-direction-row{flex-direction:row !important}.is-flex-direction-row-reverse{flex-direction:row-reverse !important}.is-flex-direction-column{flex-direction:column !important}.is-flex-direction-column-reverse{flex-direction:column-reverse !important}.is-flex-wrap-nowrap{flex-wrap:nowrap !important}.is-flex-wrap-wrap{flex-wrap:wrap !important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse !important}.is-justify-content-flex-start{justify-content:flex-start !important}.is-justify-content-flex-end{justify-content:flex-end !important}.is-justify-content-center{justify-content:center !important}.is-justify-content-space-between{justify-content:space-between !important}.is-justify-content-space-around{justify-content:space-around !important}.is-justify-content-space-evenly{justify-content:space-evenly !important}.is-justify-content-start{justify-content:start !important}.is-justify-content-end{justify-content:end !important}.is-justify-content-left{justify-content:left !important}.is-justify-content-right{justify-content:right !important}.is-align-content-flex-start{align-content:flex-start !important}.is-align-content-flex-end{align-content:flex-end !important}.is-align-content-center{align-content:center !important}.is-align-content-space-between{align-content:space-between !important}.is-align-content-space-around{align-content:space-around !important}.is-align-content-space-evenly{align-content:space-evenly !important}.is-align-content-stretch{align-content:stretch !important}.is-align-content-start{align-content:start !important}.is-align-content-end{align-content:end !important}.is-align-content-baseline{align-content:baseline !important}.is-align-items-stretch{align-items:stretch !important}.is-align-items-flex-start{align-items:flex-start !important}.is-align-items-flex-end{align-items:flex-end !important}.is-align-items-center{align-items:center !important}.is-align-items-baseline{align-items:baseline !important}.is-align-items-start{align-items:start !important}.is-align-items-end{align-items:end !important}.is-align-items-self-start{align-items:self-start !important}.is-align-items-self-end{align-items:self-end !important}.is-align-self-auto{align-self:auto !important}.is-align-self-flex-start{align-self:flex-start !important}.is-align-self-flex-end{align-self:flex-end !important}.is-align-self-center{align-self:center !important}.is-align-self-baseline{align-self:baseline !important}.is-align-self-stretch{align-self:stretch !important}.is-flex-grow-0{flex-grow:0 !important}.is-flex-grow-1{flex-grow:1 !important}.is-flex-grow-2{flex-grow:2 !important}.is-flex-grow-3{flex-grow:3 !important}.is-flex-grow-4{flex-grow:4 !important}.is-flex-grow-5{flex-grow:5 !important}.is-flex-shrink-0{flex-shrink:0 !important}.is-flex-shrink-1{flex-shrink:1 !important}.is-flex-shrink-2{flex-shrink:2 !important}.is-flex-shrink-3{flex-shrink:3 !important}.is-flex-shrink-4{flex-shrink:4 !important}.is-flex-shrink-5{flex-shrink:5 !important}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-clickable{cursor:pointer !important;pointer-events:all !important}.is-clipped{overflow:hidden !important}.is-relative{position:relative !important}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.m-0{margin:0 !important}.mt-0{margin-top:0 !important}.mr-0{margin-right:0 !important}.mb-0{margin-bottom:0 !important}.ml-0{margin-left:0 !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.m-1{margin:.25rem !important}.mt-1{margin-top:.25rem !important}.mr-1{margin-right:.25rem !important}.mb-1{margin-bottom:.25rem !important}.ml-1{margin-left:.25rem !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.m-2{margin:.5rem !important}.mt-2{margin-top:.5rem !important}.mr-2{margin-right:.5rem !important}.mb-2{margin-bottom:.5rem !important}.ml-2{margin-left:.5rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.m-3{margin:.75rem !important}.mt-3{margin-top:.75rem !important}.mr-3{margin-right:.75rem !important}.mb-3{margin-bottom:.75rem !important}.ml-3{margin-left:.75rem !important}.mx-3{margin-left:.75rem !important;margin-right:.75rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.m-4{margin:1rem !important}.mt-4{margin-top:1rem !important}.mr-4{margin-right:1rem !important}.mb-4{margin-bottom:1rem !important}.ml-4{margin-left:1rem !important}.mx-4{margin-left:1rem !important;margin-right:1rem !important}.my-4{margin-top:1rem !important;margin-bottom:1rem !important}.m-5{margin:1.5rem !important}.mt-5{margin-top:1.5rem !important}.mr-5{margin-right:1.5rem !important}.mb-5{margin-bottom:1.5rem !important}.ml-5{margin-left:1.5rem !important}.mx-5{margin-left:1.5rem !important;margin-right:1.5rem !important}.my-5{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.m-6{margin:3rem !important}.mt-6{margin-top:3rem !important}.mr-6{margin-right:3rem !important}.mb-6{margin-bottom:3rem !important}.ml-6{margin-left:3rem !important}.mx-6{margin-left:3rem !important;margin-right:3rem !important}.my-6{margin-top:3rem !important;margin-bottom:3rem !important}.m-auto{margin:auto !important}.mt-auto{margin-top:auto !important}.mr-auto{margin-right:auto !important}.mb-auto{margin-bottom:auto !important}.ml-auto{margin-left:auto !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.p-0{padding:0 !important}.pt-0{padding-top:0 !important}.pr-0{padding-right:0 !important}.pb-0{padding-bottom:0 !important}.pl-0{padding-left:0 !important}.px-0{padding-left:0 !important;padding-right:0 !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.p-1{padding:.25rem !important}.pt-1{padding-top:.25rem !important}.pr-1{padding-right:.25rem !important}.pb-1{padding-bottom:.25rem !important}.pl-1{padding-left:.25rem !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.p-2{padding:.5rem !important}.pt-2{padding-top:.5rem !important}.pr-2{padding-right:.5rem !important}.pb-2{padding-bottom:.5rem !important}.pl-2{padding-left:.5rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.p-3{padding:.75rem !important}.pt-3{padding-top:.75rem !important}.pr-3{padding-right:.75rem !important}.pb-3{padding-bottom:.75rem !important}.pl-3{padding-left:.75rem !important}.px-3{padding-left:.75rem !important;padding-right:.75rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.75rem !important}.p-4{padding:1rem !important}.pt-4{padding-top:1rem !important}.pr-4{padding-right:1rem !important}.pb-4{padding-bottom:1rem !important}.pl-4{padding-left:1rem !important}.px-4{padding-left:1rem !important;padding-right:1rem !important}.py-4{padding-top:1rem !important;padding-bottom:1rem !important}.p-5{padding:1.5rem !important}.pt-5{padding-top:1.5rem !important}.pr-5{padding-right:1.5rem !important}.pb-5{padding-bottom:1.5rem !important}.pl-5{padding-left:1.5rem !important}.px-5{padding-left:1.5rem !important;padding-right:1.5rem !important}.py-5{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.p-6{padding:3rem !important}.pt-6{padding-top:3rem !important}.pr-6{padding-right:3rem !important}.pb-6{padding-bottom:3rem !important}.pl-6{padding-left:3rem !important}.px-6{padding-left:3rem !important;padding-right:3rem !important}.py-6{padding-top:3rem !important;padding-bottom:3rem !important}.p-auto{padding:auto !important}.pt-auto{padding-top:auto !important}.pr-auto{padding-right:auto !important}.pb-auto{padding-bottom:auto !important}.pl-auto{padding-left:auto !important}.px-auto{padding-left:auto !important;padding-right:auto !important}.py-auto{padding-top:auto !important;padding-bottom:auto !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7,.docstring>section>a.docs-sourcelink{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.is-underlined{text-decoration:underline !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}body{color:#222;font-size:1em;font-weight:400;line-height:1.5}a{color:#2e63b8;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:rgba(0,0,0,0.05);color:#000;font-size:.875em;font-weight:normal;padding:.1em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type="checkbox"],input[type="radio"]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#222;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#222;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#222}@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.box{background-color:#fff;border-radius:6px;box-shadow:#bbb;color:#222;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 0.5em 1em -0.125em rgba(10,10,10,0.1),0 0 0 1px #2e63b8}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #2e63b8}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#222;cursor:pointer;justify-content:center;padding-bottom:calc(0.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(0.5em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button #documenter .docs-sidebar form.docs-search>input.icon,#documenter .docs-sidebar .button form.docs-search>input.icon,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-0.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-0.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-0.5em - 1px);margin-right:calc(-0.5em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#363636}.button:focus,.button.is-focused{border-color:#3c5dcd;color:#363636}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#222;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#222}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#222}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:none;border-color:rgba(0,0,0,0);color:#2e63b8;text-decoration:none}.button.is-ghost:hover,.button.is-ghost.is-hovered{color:#2e63b8;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-outlined.is-loading:hover::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:#0a0a0a;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-outlined.is-loading:hover::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{background-color:rgba(0,0,0,0.7);color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,0.7)}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-outlined.is-loading:hover::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-dark,.content kbd.button{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark:hover,.content kbd.button:hover,.button.is-dark.is-hovered,.content kbd.button.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark:focus,.content kbd.button:focus,.button.is-dark.is-focused,.content kbd.button.is-focused{border-color:transparent;color:#fff}.button.is-dark:focus:not(:active),.content kbd.button:focus:not(:active),.button.is-dark.is-focused:not(:active),.content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.button.is-dark:active,.content kbd.button:active,.button.is-dark.is-active,.content kbd.button.is-active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],.content kbd.button[disabled],fieldset[disabled] .button.is-dark,fieldset[disabled] .content kbd.button,.content fieldset[disabled] kbd.button{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted,.content kbd.button.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted:hover,.content kbd.button.is-inverted:hover,.button.is-dark.is-inverted.is-hovered,.content kbd.button.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],.content kbd.button.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted,fieldset[disabled] .content kbd.button.is-inverted,.content fieldset[disabled] kbd.button.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after,.content kbd.button.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-dark.is-outlined,.content kbd.button.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.content kbd.button.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.content kbd.button.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.content kbd.button.is-outlined:focus,.button.is-dark.is-outlined.is-focused,.content kbd.button.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading::after,.content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-outlined.is-loading:hover::after,.content kbd.button.is-outlined.is-loading:hover::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.content kbd.button.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading.is-focused::after,.content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-dark.is-outlined[disabled],.content kbd.button.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined,fieldset[disabled] .content kbd.button.is-outlined,.content fieldset[disabled] kbd.button.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined,.content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined:hover,.content kbd.button.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.content kbd.button.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.content kbd.button.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused,.content kbd.button.is-inverted.is-outlined.is-focused{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover::after,.content kbd.button.is-inverted.is-outlined.is-loading:hover::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.content kbd.button.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-inverted.is-outlined[disabled],.content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined,fieldset[disabled] .content kbd.button.is-inverted.is-outlined,.content fieldset[disabled] kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary,.docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:transparent;color:#fff}.button.is-primary:hover,.docstring>section>a.button.docs-sourcelink:hover,.button.is-primary.is-hovered,.docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#43b1dc;border-color:transparent;color:#fff}.button.is-primary:focus,.docstring>section>a.button.docs-sourcelink:focus,.button.is-primary.is-focused,.docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.docstring>section>a.button.docs-sourcelink:focus:not(:active),.button.is-primary.is-focused:not(:active),.docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.button.is-primary:active,.docstring>section>a.button.docs-sourcelink:active,.button.is-primary.is-active,.docstring>section>a.button.is-active.docs-sourcelink{background-color:#39acda;border-color:transparent;color:#fff}.button.is-primary[disabled],.docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary,fieldset[disabled] .docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:#4eb5de;box-shadow:none}.button.is-primary.is-inverted,.docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted:hover,.docstring>section>a.button.is-inverted.docs-sourcelink:hover,.button.is-primary.is-inverted.is-hovered,.docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],.docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted,fieldset[disabled] .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#4eb5de}.button.is-primary.is-loading::after,.docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined,.docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;color:#4eb5de}.button.is-primary.is-outlined:hover,.docstring>section>a.button.is-outlined.docs-sourcelink:hover,.button.is-primary.is-outlined.is-hovered,.docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-outlined:focus,.docstring>section>a.button.is-outlined.docs-sourcelink:focus,.button.is-primary.is-outlined.is-focused,.docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.button.is-primary.is-outlined.is-loading::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined[disabled],.docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-outlined,fieldset[disabled] .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;box-shadow:none;color:#4eb5de}.button.is-primary.is-inverted.is-outlined,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-inverted.is-outlined:focus,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,.button.is-primary.is-inverted.is-outlined.is-focused,.docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-inverted.is-outlined[disabled],.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined,fieldset[disabled] .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary.is-light,.docstring>section>a.button.is-light.docs-sourcelink{background-color:#eef8fc;color:#1a6d8e}.button.is-primary.is-light:hover,.docstring>section>a.button.is-light.docs-sourcelink:hover,.button.is-primary.is-light.is-hovered,.docstring>section>a.button.is-light.is-hovered.docs-sourcelink{background-color:#e3f3fa;border-color:transparent;color:#1a6d8e}.button.is-primary.is-light:active,.docstring>section>a.button.is-light.docs-sourcelink:active,.button.is-primary.is-light.is-active,.docstring>section>a.button.is-light.is-active.docs-sourcelink{background-color:#d8eff8;border-color:transparent;color:#1a6d8e}.button.is-link{background-color:#2e63b8;border-color:transparent;color:#fff}.button.is-link:hover,.button.is-link.is-hovered{background-color:#2b5eae;border-color:transparent;color:#fff}.button.is-link:focus,.button.is-link.is-focused{border-color:transparent;color:#fff}.button.is-link:focus:not(:active),.button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button.is-link:active,.button.is-link.is-active{background-color:#2958a4;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#2e63b8;border-color:#2e63b8;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted:hover,.button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#2e63b8}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;color:#2e63b8}.button.is-link.is-outlined:hover,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined.is-focused{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-outlined.is-loading:hover::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;box-shadow:none;color:#2e63b8}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:hover,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted.is-outlined.is-loading:hover::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link.is-light{background-color:#eff3fb;color:#3169c4}.button.is-link.is-light:hover,.button.is-link.is-light.is-hovered{background-color:#e4ecf8;border-color:transparent;color:#3169c4}.button.is-link.is-light:active,.button.is-link.is-light.is-active{background-color:#dae5f6;border-color:transparent;color:#3169c4}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#1497ed;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.button.is-info:active,.button.is-info.is-active{background-color:#1190e3;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:#209cee;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-outlined.is-loading:hover::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading:hover::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info.is-light{background-color:#ecf7fe;color:#0e72b4}.button.is-info.is-light:hover,.button.is-info.is-light.is-hovered{background-color:#e0f1fd;border-color:transparent;color:#0e72b4}.button.is-info.is-light:active,.button.is-info.is-light.is-active{background-color:#d4ecfc;border-color:transparent;color:#0e72b4}.button.is-success{background-color:#22c35b;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#20b856;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.button.is-success:active,.button.is-success.is-active{background-color:#1ead51;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#22c35b;border-color:#22c35b;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#22c35b}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#22c35b}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;color:#22c35b}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#22c35b;border-color:#22c35b;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-outlined.is-loading:hover::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;box-shadow:none;color:#22c35b}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#22c35b}.button.is-success.is-inverted.is-outlined.is-loading:hover::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success.is-light{background-color:#eefcf3;color:#198f43}.button.is-success.is-light:hover,.button.is-success.is-light.is-hovered{background-color:#e3faeb;border-color:transparent;color:#198f43}.button.is-success.is-light:active,.button.is-success.is-light.is-active{background-color:#d8f8e3;border-color:transparent;color:#198f43}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:#ffdd57;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-outlined.is-loading:hover::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading:hover::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-warning.is-light{background-color:#fffbeb;color:#947600}.button.is-warning.is-light:hover,.button.is-warning.is-light.is-hovered{background-color:#fff8de;border-color:transparent;color:#947600}.button.is-warning.is-light:active,.button.is-warning.is-light.is-active{background-color:#fff6d1;border-color:transparent;color:#947600}.button.is-danger{background-color:#da0b00;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#cd0a00;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.button.is-danger:active,.button.is-danger.is-active{background-color:#c10a00;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#da0b00;border-color:#da0b00;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#da0b00}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;color:#da0b00}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#da0b00;border-color:#da0b00;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-outlined.is-loading:hover::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;box-shadow:none;color:#da0b00}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted.is-outlined.is-loading:hover::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-danger.is-light{background-color:#ffeceb;color:#f50c00}.button.is-danger.is-light:hover,.button.is-danger.is-light.is-hovered{background-color:#ffe0de;border-color:transparent;color:#f50c00}.button.is-danger.is-light:active,.button.is-danger.is-light.is-active{background-color:#ffd3d1;border-color:transparent;color:#f50c00}.button.is-small,#documenter .docs-sidebar form.docs-search>input.button{font-size:.75rem}.button.is-small:not(.is-rounded),#documenter .docs-sidebar form.docs-search>input.button:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent !important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em * 0.5));top:calc(50% - (1em * 0.5));position:absolute !important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#6b6b6b;box-shadow:none;pointer-events:none}.button.is-rounded,#documenter .docs-sidebar form.docs-search>input.button{border-radius:9999px;padding-left:calc(1em + 0.25em);padding-right:calc(1em + 0.25em)}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:0.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-0.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}@media screen and (max-width: 768px){.button.is-responsive.is-small,#documenter .docs-sidebar form.docs-search>input.is-responsive{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.button.is-responsive.is-small,#documenter .docs-sidebar form.docs-search>input.is-responsive{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none !important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width: 1056px){.container{max-width:992px}}@media screen and (max-width: 1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width: 1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width: 1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:0.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#222;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:0.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:0.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:0.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:0.8em}.content h5{font-size:1.125em;margin-bottom:0.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}.content ol.is-lower-roman:not([type]){list-style-type:lower-roman}.content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}.content ol.is-upper-roman:not([type]){list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:0.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.content table th{color:#222}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#222}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#222}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small,#documenter .docs-sidebar form.docs-search>input.content{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small,#documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.image,#documenter .docs-sidebar .docs-logo>img{display:block;position:relative}.image img,#documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}.image img.is-rounded,#documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:9999px}.image.is-fullwidth,#documenter .docs-sidebar .docs-logo>img.is-fullwidth{width:100%}.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,#documenter .docs-sidebar .docs-logo>img.is-square,.image.is-1by1,#documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}.image.is-5by4,#documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}.image.is-4by3,#documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}.image.is-3by2,#documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}.image.is-5by3,#documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}.image.is-16by9,#documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}.image.is-2by1,#documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}.image.is-3by1,#documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}.image.is-4by5,#documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}.image.is-3by4,#documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}.image.is-2by3,#documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}.image.is-3by5,#documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}.image.is-9by16,#documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}.image.is-1by2,#documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}.image.is-1by3,#documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}.image.is-16x16,#documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}.image.is-24x24,#documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}.image.is-32x32,#documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}.image.is-48x48,#documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}.image.is-64x64,#documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}.image.is-96x96,#documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}.image.is-128x128,#documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;position:relative;padding:1.25rem 2.5rem 1.25rem 1.5rem}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:transparent}.notification>.delete{right:.5rem;position:absolute;top:0.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.notification.is-dark,.content kbd.notification{background-color:#363636;color:#fff}.notification.is-primary,.docstring>section>a.notification.docs-sourcelink{background-color:#4eb5de;color:#fff}.notification.is-primary.is-light,.docstring>section>a.notification.is-light.docs-sourcelink{background-color:#eef8fc;color:#1a6d8e}.notification.is-link{background-color:#2e63b8;color:#fff}.notification.is-link.is-light{background-color:#eff3fb;color:#3169c4}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-info.is-light{background-color:#ecf7fe;color:#0e72b4}.notification.is-success{background-color:#22c35b;color:#fff}.notification.is-success.is-light{background-color:#eefcf3;color:#198f43}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.notification.is-warning.is-light{background-color:#fffbeb;color:#947600}.notification.is-danger{background-color:#da0b00;color:#fff}.notification.is-danger.is-light{background-color:#ffeceb;color:#f50c00}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#ededed}.progress::-webkit-progress-value{background-color:#222}.progress::-moz-progress-bar{background-color:#222}.progress::-ms-fill{background-color:#222;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #ededed 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #ededed 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right, #f5f5f5 30%, #ededed 30%)}.progress.is-dark::-webkit-progress-value,.content kbd.progress::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar,.content kbd.progress::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill,.content kbd.progress::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate,.content kbd.progress:indeterminate{background-image:linear-gradient(to right, #363636 30%, #ededed 30%)}.progress.is-primary::-webkit-progress-value,.docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#4eb5de}.progress.is-primary::-moz-progress-bar,.docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#4eb5de}.progress.is-primary::-ms-fill,.docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#4eb5de}.progress.is-primary:indeterminate,.docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #4eb5de 30%, #ededed 30%)}.progress.is-link::-webkit-progress-value{background-color:#2e63b8}.progress.is-link::-moz-progress-bar{background-color:#2e63b8}.progress.is-link::-ms-fill{background-color:#2e63b8}.progress.is-link:indeterminate{background-image:linear-gradient(to right, #2e63b8 30%, #ededed 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right, #209cee 30%, #ededed 30%)}.progress.is-success::-webkit-progress-value{background-color:#22c35b}.progress.is-success::-moz-progress-bar{background-color:#22c35b}.progress.is-success::-ms-fill{background-color:#22c35b}.progress.is-success:indeterminate{background-image:linear-gradient(to right, #22c35b 30%, #ededed 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ffdd57 30%, #ededed 30%)}.progress.is-danger::-webkit-progress-value{background-color:#da0b00}.progress.is-danger::-moz-progress-bar{background-color:#da0b00}.progress.is-danger::-ms-fill{background-color:#da0b00}.progress.is-danger:indeterminate{background-image:linear-gradient(to right, #da0b00 30%, #ededed 30%)}.progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#ededed;background-image:linear-gradient(to right, #222 30%, #ededed 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small,#documenter .docs-sidebar form.docs-search>input.progress{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#222}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,0.7)}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.table td.is-link,.table th.is-link{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#22c35b;border-color:#22c35b;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.table td.is-danger,.table th.is-danger{background-color:#da0b00;border-color:#da0b00;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#4eb5de;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#222}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#4eb5de;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:rgba(0,0,0,0)}.table thead td,.table thead th{border-width:0 0 2px;color:#222}.table tfoot{background-color:rgba(0,0,0,0)}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#222}.table tbody{background-color:rgba(0,0,0,0)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:0.25em 0.5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag,.tags .content kbd,.content .tags kbd,.tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}.tags .tag:not(:last-child),.tags .content kbd:not(:last-child),.content .tags kbd:not(:last-child),.tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-0.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large),.tags.are-medium .content kbd:not(.is-normal):not(.is-large),.content .tags.are-medium kbd:not(.is-normal):not(.is-large),.tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium),.tags.are-large .content kbd:not(.is-normal):not(.is-medium),.content .tags.are-large kbd:not(.is-normal):not(.is-medium),.tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag,.tags.is-centered .content kbd,.content .tags.is-centered kbd,.tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child),.tags.is-right .content kbd:not(:first-child),.content .tags.is-right kbd:not(:first-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}.tags.is-right .tag:not(:last-child),.tags.is-right .content kbd:not(:last-child),.content .tags.is-right kbd:not(:last-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}.tags.has-addons .tag,.tags.has-addons .content kbd,.content .tags.has-addons kbd,.tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}.tags.has-addons .tag:not(:first-child),.tags.has-addons .content kbd:not(:first-child),.content .tags.has-addons kbd:not(:first-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tags.has-addons .tag:not(:last-child),.tags.has-addons .content kbd:not(:last-child),.content .tags.has-addons kbd:not(:last-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.tag:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#222;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.tag:not(body) .delete,.content kbd:not(body) .delete,.docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag.is-white:not(body),.content kbd.is-white:not(body),.docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}.tag.is-black:not(body),.content kbd.is-black:not(body),.docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}.tag.is-light:not(body),.content kbd.is-light:not(body),.docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.tag.is-dark:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink.is-dark:not(body),.content .docstring>section>kbd:not(body){background-color:#363636;color:#fff}.tag.is-primary:not(body),.content kbd.is-primary:not(body),.docstring>section>a.docs-sourcelink:not(body){background-color:#4eb5de;color:#fff}.tag.is-primary.is-light:not(body),.content kbd.is-primary.is-light:not(body),.docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#eef8fc;color:#1a6d8e}.tag.is-link:not(body),.content kbd.is-link:not(body),.docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#2e63b8;color:#fff}.tag.is-link.is-light:not(body),.content kbd.is-link.is-light:not(body),.docstring>section>a.docs-sourcelink.is-link.is-light:not(body){background-color:#eff3fb;color:#3169c4}.tag.is-info:not(body),.content kbd.is-info:not(body),.docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#209cee;color:#fff}.tag.is-info.is-light:not(body),.content kbd.is-info.is-light:not(body),.docstring>section>a.docs-sourcelink.is-info.is-light:not(body){background-color:#ecf7fe;color:#0e72b4}.tag.is-success:not(body),.content kbd.is-success:not(body),.docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#22c35b;color:#fff}.tag.is-success.is-light:not(body),.content kbd.is-success.is-light:not(body),.docstring>section>a.docs-sourcelink.is-success.is-light:not(body){background-color:#eefcf3;color:#198f43}.tag.is-warning:not(body),.content kbd.is-warning:not(body),.docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ffdd57;color:rgba(0,0,0,0.7)}.tag.is-warning.is-light:not(body),.content kbd.is-warning.is-light:not(body),.docstring>section>a.docs-sourcelink.is-warning.is-light:not(body){background-color:#fffbeb;color:#947600}.tag.is-danger:not(body),.content kbd.is-danger:not(body),.docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#da0b00;color:#fff}.tag.is-danger.is-light:not(body),.content kbd.is-danger.is-light:not(body),.docstring>section>a.docs-sourcelink.is-danger.is-light:not(body){background-color:#ffeceb;color:#f50c00}.tag.is-normal:not(body),.content kbd.is-normal:not(body),.docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.75rem}.tag.is-medium:not(body),.content kbd.is-medium:not(body),.docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:1rem}.tag.is-large:not(body),.content kbd.is-large:not(body),.docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child),.content kbd:not(body) .icon:first-child:not(:last-child),.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child),.content kbd:not(body) .icon:last-child:not(:first-child),.docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child,.content kbd:not(body) .icon:first-child:last-child,.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag.is-delete:not(body),.content kbd.is-delete:not(body),.docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before,.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}.tag.is-delete:not(body):hover,.content kbd.is-delete:not(body):hover,.docstring>section>a.docs-sourcelink.is-delete:not(body):hover,.tag.is-delete:not(body):focus,.content kbd.is-delete:not(body):focus,.docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#e8e8e8}.tag.is-delete:not(body):active,.content kbd.is-delete:not(body):active,.docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#dbdbdb}.tag.is-rounded:not(body),#documenter .docs-sidebar form.docs-search>input:not(body),.content kbd.is-rounded:not(body),#documenter .docs-sidebar .content form.docs-search>input:not(body),.docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:9999px}a.tag:hover,.docstring>section>a.docs-sourcelink:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub{font-size:.75em}.title sup,.subtitle sup{font-size:.75em}.title .tag,.title .content kbd,.content .title kbd,.title .docstring>section>a.docs-sourcelink,.subtitle .tag,.subtitle .content kbd,.content .subtitle kbd,.subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}.title{color:#222;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#222;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#222;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#222}.select select::-moz-placeholder,.textarea::-moz-placeholder,.input::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:#707070}.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.input::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:#707070}.select select:-moz-placeholder,.textarea:-moz-placeholder,.input:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:#707070}.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder,.input:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:#707070}.select select:hover,.textarea:hover,.input:hover,#documenter .docs-sidebar form.docs-search>input:hover,.select select.is-hovered,.is-hovered.textarea,.is-hovered.input,#documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#b5b5b5}.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{border-color:#2e63b8;box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#6b6b6b}.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,.input[disabled]::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,.input[disabled]::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-webkit-input-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,.input[disabled]:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,.input[disabled]:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-ms-input-placeholder{color:rgba(107,107,107,0.3)}.textarea,.input,#documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 0.0625em 0.125em rgba(10,10,10,0.05);max-width:100%;width:100%}.textarea[readonly],.input[readonly],#documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}.is-white.textarea,.is-white.input,#documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}.is-white.textarea:focus,.is-white.input:focus,#documenter .docs-sidebar form.docs-search>input.is-white:focus,.is-white.is-focused.textarea,.is-white.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-white.textarea:active,.is-white.input:active,#documenter .docs-sidebar form.docs-search>input.is-white:active,.is-white.is-active.textarea,.is-white.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.is-black.textarea,.is-black.input,#documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}.is-black.textarea:focus,.is-black.input:focus,#documenter .docs-sidebar form.docs-search>input.is-black:focus,.is-black.is-focused.textarea,.is-black.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-black.textarea:active,.is-black.input:active,#documenter .docs-sidebar form.docs-search>input.is-black:active,.is-black.is-active.textarea,.is-black.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.is-light.textarea,.is-light.input,#documenter .docs-sidebar form.docs-search>input.is-light{border-color:#f5f5f5}.is-light.textarea:focus,.is-light.input:focus,#documenter .docs-sidebar form.docs-search>input.is-light:focus,.is-light.is-focused.textarea,.is-light.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-light.textarea:active,.is-light.input:active,#documenter .docs-sidebar form.docs-search>input.is-light:active,.is-light.is-active.textarea,.is-light.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.is-dark.textarea,.content kbd.textarea,.is-dark.input,#documenter .docs-sidebar form.docs-search>input.is-dark,.content kbd.input{border-color:#363636}.is-dark.textarea:focus,.content kbd.textarea:focus,.is-dark.input:focus,#documenter .docs-sidebar form.docs-search>input.is-dark:focus,.content kbd.input:focus,.is-dark.is-focused.textarea,.content kbd.is-focused.textarea,.is-dark.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.content kbd.is-focused.input,#documenter .docs-sidebar .content form.docs-search>input.is-focused,.is-dark.textarea:active,.content kbd.textarea:active,.is-dark.input:active,#documenter .docs-sidebar form.docs-search>input.is-dark:active,.content kbd.input:active,.is-dark.is-active.textarea,.content kbd.is-active.textarea,.is-dark.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.content kbd.is-active.input,#documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.is-primary.textarea,.docstring>section>a.textarea.docs-sourcelink,.is-primary.input,#documenter .docs-sidebar form.docs-search>input.is-primary,.docstring>section>a.input.docs-sourcelink{border-color:#4eb5de}.is-primary.textarea:focus,.docstring>section>a.textarea.docs-sourcelink:focus,.is-primary.input:focus,#documenter .docs-sidebar form.docs-search>input.is-primary:focus,.docstring>section>a.input.docs-sourcelink:focus,.is-primary.is-focused.textarea,.docstring>section>a.is-focused.textarea.docs-sourcelink,.is-primary.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.docstring>section>a.is-focused.input.docs-sourcelink,.is-primary.textarea:active,.docstring>section>a.textarea.docs-sourcelink:active,.is-primary.input:active,#documenter .docs-sidebar form.docs-search>input.is-primary:active,.docstring>section>a.input.docs-sourcelink:active,.is-primary.is-active.textarea,.docstring>section>a.is-active.textarea.docs-sourcelink,.is-primary.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.is-link.textarea,.is-link.input,#documenter .docs-sidebar form.docs-search>input.is-link{border-color:#2e63b8}.is-link.textarea:focus,.is-link.input:focus,#documenter .docs-sidebar form.docs-search>input.is-link:focus,.is-link.is-focused.textarea,.is-link.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-link.textarea:active,.is-link.input:active,#documenter .docs-sidebar form.docs-search>input.is-link:active,.is-link.is-active.textarea,.is-link.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.is-info.textarea,.is-info.input,#documenter .docs-sidebar form.docs-search>input.is-info{border-color:#209cee}.is-info.textarea:focus,.is-info.input:focus,#documenter .docs-sidebar form.docs-search>input.is-info:focus,.is-info.is-focused.textarea,.is-info.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-info.textarea:active,.is-info.input:active,#documenter .docs-sidebar form.docs-search>input.is-info:active,.is-info.is-active.textarea,.is-info.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.is-success.textarea,.is-success.input,#documenter .docs-sidebar form.docs-search>input.is-success{border-color:#22c35b}.is-success.textarea:focus,.is-success.input:focus,#documenter .docs-sidebar form.docs-search>input.is-success:focus,.is-success.is-focused.textarea,.is-success.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-success.textarea:active,.is-success.input:active,#documenter .docs-sidebar form.docs-search>input.is-success:active,.is-success.is-active.textarea,.is-success.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.is-warning.textarea,.is-warning.input,#documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ffdd57}.is-warning.textarea:focus,.is-warning.input:focus,#documenter .docs-sidebar form.docs-search>input.is-warning:focus,.is-warning.is-focused.textarea,.is-warning.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-warning.textarea:active,.is-warning.input:active,#documenter .docs-sidebar form.docs-search>input.is-warning:active,.is-warning.is-active.textarea,.is-warning.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.is-danger.textarea,.is-danger.input,#documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#da0b00}.is-danger.textarea:focus,.is-danger.input:focus,#documenter .docs-sidebar form.docs-search>input.is-danger:focus,.is-danger.is-focused.textarea,.is-danger.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-danger.textarea:active,.is-danger.input:active,#documenter .docs-sidebar form.docs-search>input.is-danger:active,.is-danger.is-active.textarea,.is-danger.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.is-small.textarea,.is-small.input,#documenter .docs-sidebar form.docs-search>input{border-radius:2px;font-size:.75rem}.is-medium.textarea,.is-medium.input,#documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}.is-large.textarea,.is-large.input,#documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}.is-fullwidth.textarea,.is-fullwidth.input,#documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}.is-inline.textarea,.is-inline.input,#documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}.input.is-rounded,#documenter .docs-sidebar form.docs-search>input{border-radius:9999px;padding-left:calc(calc(0.75em - 1px) + 0.375em);padding-right:calc(calc(0.75em - 1px) + 0.375em)}.input.is-static,#documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(0.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.radio,.checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.radio input,.checkbox input{cursor:pointer}.radio:hover,.checkbox:hover{color:#222}.radio[disabled],.checkbox[disabled],fieldset[disabled] .radio,fieldset[disabled] .checkbox,.radio input[disabled],.checkbox input[disabled]{color:#6b6b6b;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#2e63b8;right:1.125em;z-index:4}.select.is-rounded select,#documenter .docs-sidebar form.docs-search>input.select select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:0.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#222}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.select.is-dark:not(:hover)::after,.content kbd.select:not(:hover)::after{border-color:#363636}.select.is-dark select,.content kbd.select select{border-color:#363636}.select.is-dark select:hover,.content kbd.select select:hover,.select.is-dark select.is-hovered,.content kbd.select select.is-hovered{border-color:#292929}.select.is-dark select:focus,.content kbd.select select:focus,.select.is-dark select.is-focused,.content kbd.select select.is-focused,.select.is-dark select:active,.content kbd.select select:active,.select.is-dark select.is-active,.content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.select.is-primary:not(:hover)::after,.docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#4eb5de}.select.is-primary select,.docstring>section>a.select.docs-sourcelink select{border-color:#4eb5de}.select.is-primary select:hover,.docstring>section>a.select.docs-sourcelink select:hover,.select.is-primary select.is-hovered,.docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#39acda}.select.is-primary select:focus,.docstring>section>a.select.docs-sourcelink select:focus,.select.is-primary select.is-focused,.docstring>section>a.select.docs-sourcelink select.is-focused,.select.is-primary select:active,.docstring>section>a.select.docs-sourcelink select:active,.select.is-primary select.is-active,.docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.select.is-link:not(:hover)::after{border-color:#2e63b8}.select.is-link select{border-color:#2e63b8}.select.is-link select:hover,.select.is-link select.is-hovered{border-color:#2958a4}.select.is-link select:focus,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#1190e3}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.select.is-success:not(:hover)::after{border-color:#22c35b}.select.is-success select{border-color:#22c35b}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#1ead51}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd83e}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.select.is-danger:not(:hover)::after{border-color:#da0b00}.select.is-danger select{border-color:#da0b00}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#c10a00}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.select.is-small,#documenter .docs-sidebar form.docs-search>input.select{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#6b6b6b !important;opacity:0.5}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:0.625em;transform:none}.select.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(245,245,245,0.25);color:rgba(0,0,0,0.7)}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-dark .file-cta,.content kbd.file .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark:hover .file-cta,.content kbd.file:hover .file-cta,.file.is-dark.is-hovered .file-cta,.content kbd.file.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark:focus .file-cta,.content kbd.file:focus .file-cta,.file.is-dark.is-focused .file-cta,.content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(54,54,54,0.25);color:#fff}.file.is-dark:active .file-cta,.content kbd.file:active .file-cta,.file.is-dark.is-active .file-cta,.content kbd.file.is-active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta,.docstring>section>a.file.docs-sourcelink .file-cta{background-color:#4eb5de;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.docstring>section>a.file.docs-sourcelink:hover .file-cta,.file.is-primary.is-hovered .file-cta,.docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#43b1dc;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.docstring>section>a.file.docs-sourcelink:focus .file-cta,.file.is-primary.is-focused .file-cta,.docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(78,181,222,0.25);color:#fff}.file.is-primary:active .file-cta,.docstring>section>a.file.docs-sourcelink:active .file-cta,.file.is-primary.is-active .file-cta,.docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#39acda;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#2e63b8;border-color:transparent;color:#fff}.file.is-link:hover .file-cta,.file.is-link.is-hovered .file-cta{background-color:#2b5eae;border-color:transparent;color:#fff}.file.is-link:focus .file-cta,.file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(46,99,184,0.25);color:#fff}.file.is-link:active .file-cta,.file.is-link.is-active .file-cta{background-color:#2958a4;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#1497ed;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(32,156,238,0.25);color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#1190e3;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#22c35b;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#20b856;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(34,195,91,0.25);color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#1ead51;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,221,87,0.25);color:rgba(0,0,0,0.7)}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-danger .file-cta{background-color:#da0b00;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#cd0a00;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(218,11,0,0.25);color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#c10a00;border-color:transparent;color:#fff}.file.is-small,#documenter .docs-sidebar form.docs-search>input.file{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa,#documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#222}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#222}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#222}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#222;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:0.5em}.label.is-small,#documenter .docs-sidebar form.docs-search>input.label{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:0.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark,.content kbd.help{color:#363636}.help.is-primary,.docstring>section>a.help.docs-sourcelink{color:#4eb5de}.help.is-link{color:#2e63b8}.help.is-info{color:#209cee}.help.is-success{color:#22c35b}.help.is-warning{color:#ffdd57}.help.is-danger{color:#da0b00}.field:not(:last-child){margin-bottom:0.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button.is-hovered:not([disabled]),.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,.field.has-addons .control .input.is-hovered:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button.is-focused:not([disabled]),.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button.is-active:not([disabled]),.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,.field.has-addons .control .input.is-focused:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,.field.has-addons .control .input.is-active:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select.is-focused:not([disabled]),.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select.is-active:not([disabled]){z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button.is-focused:not([disabled]):hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button.is-active:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,.field.has-addons .control .input.is-focused:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,.field.has-addons .control .input.is-active:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select.is-focused:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small,#documenter .docs-sidebar form.docs-search>input.field-label{font-size:.75rem;padding-top:0.375em}.field-label.is-normal{padding-top:0.375em}.field-label.is-medium{font-size:1.25rem;padding-top:0.375em}.field-label.is-large{font-size:1.5rem;padding-top:0.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#222}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute !important;right:.625em;top:0.625em;z-index:4}.control.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#2e63b8;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#222;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small,#documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;border-radius:.25rem;box-shadow:#bbb;color:#222;max-width:100%;position:relative}.card-footer:first-child,.card-content:first-child,.card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-footer:last-child,.card-content:last-child,.card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 0.125em 0.25em rgba(10,10,10,0.1);display:flex}.card-header-title{align-items:center;color:#222;display:flex;flex-grow:1;font-weight:700;padding:0.75rem 1rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:0.75rem 1rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #ededed;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #ededed}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:#bbb;padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#222;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#2e63b8;color:#fff}.dropdown-divider{background-color:#ededed;border:none;display:block;height:1px;margin:0.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{.level-right{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,0.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,0.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small,#documenter .docs-sidebar form.docs-search>input.menu{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#222;display:block;padding:0.5em 0.75em}.menu-list a:hover{background-color:#f5f5f5;color:#222}.menu-list a.is-active{background-color:#2e63b8;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#6b6b6b;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small,#documenter .docs-sidebar form.docs-search>input.message{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark,.content kbd.message{background-color:#fafafa}.message.is-dark .message-header,.content kbd.message .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body,.content kbd.message .message-body{border-color:#363636}.message.is-primary,.docstring>section>a.message.docs-sourcelink{background-color:#eef8fc}.message.is-primary .message-header,.docstring>section>a.message.docs-sourcelink .message-header{background-color:#4eb5de;color:#fff}.message.is-primary .message-body,.docstring>section>a.message.docs-sourcelink .message-body{border-color:#4eb5de;color:#1a6d8e}.message.is-link{background-color:#eff3fb}.message.is-link .message-header{background-color:#2e63b8;color:#fff}.message.is-link .message-body{border-color:#2e63b8;color:#3169c4}.message.is-info{background-color:#ecf7fe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#0e72b4}.message.is-success{background-color:#eefcf3}.message.is-success .message-header{background-color:#22c35b;color:#fff}.message.is-success .message-body{border-color:#22c35b;color:#198f43}.message.is-warning{background-color:#fffbeb}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#947600}.message.is-danger{background-color:#ffeceb}.message.is-danger .message-header{background-color:#da0b00;color:#fff}.message.is-danger .message-body{border-color:#da0b00;color:#f50c00}.message-header{align-items:center;background-color:#222;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#222;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:rgba(0,0,0,0)}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,0.86)}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px){.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#222;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link::after,.navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link::after,.navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1056px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-start .navbar-link::after,.navbar.is-light .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:rgba(0,0,0,0.7)}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}}.navbar.is-dark,.content kbd.navbar{background-color:#363636;color:#fff}.navbar.is-dark .navbar-brand>.navbar-item,.content kbd.navbar .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link,.content kbd.navbar .navbar-brand .navbar-link{color:#fff}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.content kbd.navbar .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.content kbd.navbar .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.content kbd.navbar .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.content kbd.navbar .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.content kbd.navbar .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active,.content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-brand .navbar-link::after,.content kbd.navbar .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-burger,.content kbd.navbar .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-dark .navbar-start>.navbar-item,.content kbd.navbar .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.content kbd.navbar .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.content kbd.navbar .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link,.content kbd.navbar .navbar-end .navbar-link{color:#fff}.navbar.is-dark .navbar-start>a.navbar-item:focus,.content kbd.navbar .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.content kbd.navbar .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.content kbd.navbar .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.content kbd.navbar .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.content kbd.navbar .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.content kbd.navbar .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.content kbd.navbar .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.content kbd.navbar .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.content kbd.navbar .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.content kbd.navbar .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.content kbd.navbar .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active,.content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-start .navbar-link::after,.content kbd.navbar .navbar-start .navbar-link::after,.navbar.is-dark .navbar-end .navbar-link::after,.content kbd.navbar .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#fff}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active,.content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#fff}}.navbar.is-primary,.docstring>section>a.navbar.docs-sourcelink{background-color:#4eb5de;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger,.docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-primary .navbar-start>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-start .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,.navbar.is-primary .navbar-end .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#4eb5de;color:#fff}}.navbar.is-link{background-color:#2e63b8;color:#fff}.navbar.is-link .navbar-brand>.navbar-item,.navbar.is-link .navbar-brand .navbar-link{color:#fff}.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-link .navbar-start>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-end .navbar-link{color:#fff}.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-start .navbar-link::after,.navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#2e63b8;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-start .navbar-link::after,.navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#22c35b;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-start .navbar-link::after,.navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#22c35b;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1056px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start .navbar-link::after,.navbar.is-warning .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,0.7)}}.navbar.is-danger{background-color:#da0b00;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-start .navbar-link::after,.navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#da0b00;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#222;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,0.05)}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#222;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#fafafa;color:#2e63b8}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(0.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8}.navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8;border-bottom-style:solid;border-bottom-width:3px;color:#2e63b8;padding-bottom:calc(0.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#2e63b8;margin-top:-0.375em;right:1.125em}.navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1056px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small,#documenter .docs-sidebar form.docs-search>input.pagination{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,.pagination.is-rounded .pagination-next,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:9999px}.pagination.is-rounded .pagination-link,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#dbdbdb;color:#222;min-width:2.5em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#363636}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#3c5dcd}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}.pagination-previous[disabled],.pagination-previous.is-disabled,.pagination-next[disabled],.pagination-next.is-disabled,.pagination-link[disabled],.pagination-link.is-disabled{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#6b6b6b;opacity:0.5}.pagination-previous,.pagination-next{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{border-radius:6px;box-shadow:#bbb;font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}.panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}.panel.is-white .panel-block.is-active .panel-icon{color:#fff}.panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}.panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}.panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}.panel.is-light .panel-heading{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.panel.is-light .panel-tabs a.is-active{border-bottom-color:#f5f5f5}.panel.is-light .panel-block.is-active .panel-icon{color:#f5f5f5}.panel.is-dark .panel-heading,.content kbd.panel .panel-heading{background-color:#363636;color:#fff}.panel.is-dark .panel-tabs a.is-active,.content kbd.panel .panel-tabs a.is-active{border-bottom-color:#363636}.panel.is-dark .panel-block.is-active .panel-icon,.content kbd.panel .panel-block.is-active .panel-icon{color:#363636}.panel.is-primary .panel-heading,.docstring>section>a.panel.docs-sourcelink .panel-heading{background-color:#4eb5de;color:#fff}.panel.is-primary .panel-tabs a.is-active,.docstring>section>a.panel.docs-sourcelink .panel-tabs a.is-active{border-bottom-color:#4eb5de}.panel.is-primary .panel-block.is-active .panel-icon,.docstring>section>a.panel.docs-sourcelink .panel-block.is-active .panel-icon{color:#4eb5de}.panel.is-link .panel-heading{background-color:#2e63b8;color:#fff}.panel.is-link .panel-tabs a.is-active{border-bottom-color:#2e63b8}.panel.is-link .panel-block.is-active .panel-icon{color:#2e63b8}.panel.is-info .panel-heading{background-color:#209cee;color:#fff}.panel.is-info .panel-tabs a.is-active{border-bottom-color:#209cee}.panel.is-info .panel-block.is-active .panel-icon{color:#209cee}.panel.is-success .panel-heading{background-color:#22c35b;color:#fff}.panel.is-success .panel-tabs a.is-active{border-bottom-color:#22c35b}.panel.is-success .panel-block.is-active .panel-icon{color:#22c35b}.panel.is-warning .panel-heading{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ffdd57}.panel.is-warning .panel-block.is-active .panel-icon{color:#ffdd57}.panel.is-danger .panel-heading{background-color:#da0b00;color:#fff}.panel.is-danger .panel-tabs a.is-active{border-bottom-color:#da0b00}.panel.is-danger .panel-block.is-active .panel-icon{color:#da0b00}.panel-tabs:not(:last-child),.panel-block:not(:last-child){border-bottom:1px solid #ededed}.panel-heading{background-color:#ededed;border-radius:6px 6px 0 0;color:#222;font-size:1.25em;font-weight:700;line-height:1.25;padding:0.75em 1em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:0.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#222}.panel-list a:hover{color:#2e63b8}.panel-block{align-items:center;color:#222;display:flex;justify-content:flex-start;padding:0.5em 0.75em}.panel-block input[type="checkbox"]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#2e63b8;color:#363636}.panel-block.is-active .panel-icon{color:#2e63b8}.panel-block:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#6b6b6b;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#222;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#222;color:#222}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#2e63b8;color:#2e63b8}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:0.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:rgba(0,0,0,0) !important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.tabs.is-toggle li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#2e63b8;border-color:#2e63b8;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small,#documenter .docs-sidebar form.docs-search>input.tabs{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>.column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.33333337%}.column.is-offset-1-mobile{margin-left:8.33333337%}.column.is-2-mobile{flex:none;width:16.66666674%}.column.is-offset-2-mobile{margin-left:16.66666674%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333337%}.column.is-offset-4-mobile{margin-left:33.33333337%}.column.is-5-mobile{flex:none;width:41.66666674%}.column.is-offset-5-mobile{margin-left:41.66666674%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333337%}.column.is-offset-7-mobile{margin-left:58.33333337%}.column.is-8-mobile{flex:none;width:66.66666674%}.column.is-offset-8-mobile{margin-left:66.66666674%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333337%}.column.is-offset-10-mobile{margin-left:83.33333337%}.column.is-11-mobile{flex:none;width:91.66666674%}.column.is-offset-11-mobile{margin-left:91.66666674%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333337%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333337%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66666674%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66666674%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333337%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66666674%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333337%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333337%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66666674%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66666674%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333337%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66666674%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66666674%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.33333337%}.column.is-offset-1-touch{margin-left:8.33333337%}.column.is-2-touch{flex:none;width:16.66666674%}.column.is-offset-2-touch{margin-left:16.66666674%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333337%}.column.is-offset-4-touch{margin-left:33.33333337%}.column.is-5-touch{flex:none;width:41.66666674%}.column.is-offset-5-touch{margin-left:41.66666674%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333337%}.column.is-offset-7-touch{margin-left:58.33333337%}.column.is-8-touch{flex:none;width:66.66666674%}.column.is-offset-8-touch{margin-left:66.66666674%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333337%}.column.is-offset-10-touch{margin-left:83.33333337%}.column.is-11-touch{flex:none;width:91.66666674%}.column.is-offset-11-touch{margin-left:91.66666674%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.33333337%}.column.is-offset-1-desktop{margin-left:8.33333337%}.column.is-2-desktop{flex:none;width:16.66666674%}.column.is-offset-2-desktop{margin-left:16.66666674%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-offset-4-desktop{margin-left:33.33333337%}.column.is-5-desktop{flex:none;width:41.66666674%}.column.is-offset-5-desktop{margin-left:41.66666674%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333337%}.column.is-offset-7-desktop{margin-left:58.33333337%}.column.is-8-desktop{flex:none;width:66.66666674%}.column.is-offset-8-desktop{margin-left:66.66666674%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333337%}.column.is-offset-10-desktop{margin-left:83.33333337%}.column.is-11-desktop{flex:none;width:91.66666674%}.column.is-offset-11-desktop{margin-left:91.66666674%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.33333337%}.column.is-offset-1-widescreen{margin-left:8.33333337%}.column.is-2-widescreen{flex:none;width:16.66666674%}.column.is-offset-2-widescreen{margin-left:16.66666674%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333337%}.column.is-offset-4-widescreen{margin-left:33.33333337%}.column.is-5-widescreen{flex:none;width:41.66666674%}.column.is-offset-5-widescreen{margin-left:41.66666674%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333337%}.column.is-offset-7-widescreen{margin-left:58.33333337%}.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-offset-8-widescreen{margin-left:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333337%}.column.is-offset-10-widescreen{margin-left:83.33333337%}.column.is-11-widescreen{flex:none;width:91.66666674%}.column.is-offset-11-widescreen{margin-left:91.66666674%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.33333337%}.column.is-offset-1-fullhd{margin-left:8.33333337%}.column.is-2-fullhd{flex:none;width:16.66666674%}.column.is-offset-2-fullhd{margin-left:16.66666674%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333337%}.column.is-offset-4-fullhd{margin-left:33.33333337%}.column.is-5-fullhd{flex:none;width:41.66666674%}.column.is-offset-5-fullhd{margin-left:41.66666674%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-offset-7-fullhd{margin-left:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}.column.is-offset-8-fullhd{margin-left:66.66666674%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333337%}.column.is-offset-10-fullhd{margin-left:83.33333337%}.column.is-11-fullhd{flex:none;width:91.66666674%}.column.is-offset-11-fullhd{margin-left:91.66666674%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0 !important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333337%}.tile.is-2{flex:none;width:16.66666674%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333337%}.tile.is-5{flex:none;width:41.66666674%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333337%}.tile.is-8{flex:none;width:66.66666674%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333337%}.tile.is-11{flex:none;width:91.66666674%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,0.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff !important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,0.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:0.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#0a0a0a !important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:rgba(0,0,0,0.7)}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:rgba(0,0,0,0.7)}.hero.is-light .subtitle{color:rgba(0,0,0,0.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1055px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:rgba(0,0,0,0.7)}.hero.is-light .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5 !important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}}.hero.is-dark,.content kbd.hero{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong,.content kbd.hero strong{color:inherit}.hero.is-dark .title,.content kbd.hero .title{color:#fff}.hero.is-dark .subtitle,.content kbd.hero .subtitle{color:rgba(255,255,255,0.9)}.hero.is-dark .subtitle a:not(.button),.content kbd.hero .subtitle a:not(.button),.hero.is-dark .subtitle strong,.content kbd.hero .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-dark .navbar-menu,.content kbd.hero .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.content kbd.hero .navbar-item,.hero.is-dark .navbar-link,.content kbd.hero .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-dark a.navbar-item:hover,.content kbd.hero a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.content kbd.hero a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.content kbd.hero .navbar-link:hover,.hero.is-dark .navbar-link.is-active,.content kbd.hero .navbar-link.is-active{background-color:#292929;color:#fff}.hero.is-dark .tabs a,.content kbd.hero .tabs a{color:#fff;opacity:0.9}.hero.is-dark .tabs a:hover,.content kbd.hero .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a,.content kbd.hero .tabs li.is-active a{color:#363636 !important;opacity:1}.hero.is-dark .tabs.is-boxed a,.content kbd.hero .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a,.content kbd.hero .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.content kbd.hero .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover,.content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.content kbd.hero .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.content kbd.hero .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold,.content kbd.hero.is-bold{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu,.content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}}.hero.is-primary,.docstring>section>a.hero.docs-sourcelink{background-color:#4eb5de;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong,.docstring>section>a.hero.docs-sourcelink strong{color:inherit}.hero.is-primary .title,.docstring>section>a.hero.docs-sourcelink .title{color:#fff}.hero.is-primary .subtitle,.docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}.hero.is-primary .subtitle a:not(.button),.docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),.hero.is-primary .subtitle strong,.docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-primary .navbar-menu,.docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#4eb5de}}.hero.is-primary .navbar-item,.docstring>section>a.hero.docs-sourcelink .navbar-item,.hero.is-primary .navbar-link,.docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-primary a.navbar-item:hover,.docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.docstring>section>a.hero.docs-sourcelink .navbar-link:hover,.hero.is-primary .navbar-link.is-active,.docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#39acda;color:#fff}.hero.is-primary .tabs a,.docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}.hero.is-primary .tabs a:hover,.docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{color:#4eb5de !important;opacity:1}.hero.is-primary .tabs.is-boxed a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#4eb5de}.hero.is-primary.is-bold,.docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu,.docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}}.hero.is-link{background-color:#2e63b8;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,0.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-link .navbar-menu{background-color:#2e63b8}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-link a.navbar-item:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link .navbar-link:hover,.hero.is-link .navbar-link.is-active{background-color:#2958a4;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:0.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{color:#2e63b8 !important;opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#2e63b8}.hero.is-link.is-bold{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}@media screen and (max-width: 768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,0.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#1190e3;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:0.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#209cee !important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}}.hero.is-success{background-color:#22c35b;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,0.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-success .navbar-menu{background-color:#22c35b}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#1ead51;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:0.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#22c35b !important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#22c35b}.hero.is-success.is-bold{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,0.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,0.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1055px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffdd57 !important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}}.hero.is-danger{background-color:#da0b00;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-danger .navbar-menu{background-color:#da0b00}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#c10a00;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:0.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#da0b00 !important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#da0b00}.hero.is-danger.is-bold{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}}.hero.is-small .hero-body,#documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding:1.5rem}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width: 769px),print{.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}.hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width: 769px),print{.hero-body{padding:3rem 3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){.section{padding:3rem 3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}h1 .docs-heading-anchor,h1 .docs-heading-anchor:hover,h1 .docs-heading-anchor:visited,h2 .docs-heading-anchor,h2 .docs-heading-anchor:hover,h2 .docs-heading-anchor:visited,h3 .docs-heading-anchor,h3 .docs-heading-anchor:hover,h3 .docs-heading-anchor:visited,h4 .docs-heading-anchor,h4 .docs-heading-anchor:hover,h4 .docs-heading-anchor:visited,h5 .docs-heading-anchor,h5 .docs-heading-anchor:hover,h5 .docs-heading-anchor:visited,h6 .docs-heading-anchor,h6 .docs-heading-anchor:hover,h6 .docs-heading-anchor:visited{color:#222}h1 .docs-heading-anchor-permalink,h2 .docs-heading-anchor-permalink,h3 .docs-heading-anchor-permalink,h4 .docs-heading-anchor-permalink,h5 .docs-heading-anchor-permalink,h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}h1 .docs-heading-anchor-permalink::before,h2 .docs-heading-anchor-permalink::before,h3 .docs-heading-anchor-permalink::before,h4 .docs-heading-anchor-permalink::before,h5 .docs-heading-anchor-permalink::before,h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f0c1"}h1:hover .docs-heading-anchor-permalink,h2:hover .docs-heading-anchor-permalink,h3:hover .docs-heading-anchor-permalink,h4:hover .docs-heading-anchor-permalink,h5:hover .docs-heading-anchor-permalink,h6:hover .docs-heading-anchor-permalink{visibility:visible}.docs-dark-only{display:none !important}pre{position:relative;overflow:hidden}pre code,pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}pre code:first-of-type,pre code.hljs:first-of-type{padding-top:0.5rem !important}pre code:last-of-type,pre code.hljs:last-of-type{padding-bottom:0.5rem !important}pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 6 Free";color:#222;cursor:pointer;text-align:center}pre .copy-button:focus,pre .copy-button:hover{opacity:1;background:rgba(34,34,34,0.1);color:#2e63b8}pre .copy-button.success{color:#259a12;opacity:1}pre .copy-button.error{color:#cb3c33;opacity:1}pre:hover .copy-button{opacity:1}.admonition{background-color:#b5b5b5;border-style:solid;border-width:1px;border-color:#363636;border-radius:4px;font-size:1rem}.admonition strong{color:currentColor}.admonition.is-small,#documenter .docs-sidebar form.docs-search>input.admonition{font-size:.75rem}.admonition.is-medium{font-size:1.25rem}.admonition.is-large{font-size:1.5rem}.admonition.is-default{background-color:#b5b5b5;border-color:#363636}.admonition.is-default>.admonition-header{background-color:#363636;color:#fff}.admonition.is-default>.admonition-body{color:#fff}.admonition.is-info{background-color:#def0fc;border-color:#209cee}.admonition.is-info>.admonition-header{background-color:#209cee;color:#fff}.admonition.is-info>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-success{background-color:#bdf4d1;border-color:#22c35b}.admonition.is-success>.admonition-header{background-color:#22c35b;color:#fff}.admonition.is-success>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-warning{background-color:#fff3c5;border-color:#ffdd57}.admonition.is-warning>.admonition-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.admonition.is-warning>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-danger{background-color:#ffaba7;border-color:#da0b00}.admonition.is-danger>.admonition-header{background-color:#da0b00;color:#fff}.admonition.is-danger>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-compat{background-color:#bdeff5;border-color:#1db5c9}.admonition.is-compat>.admonition-header{background-color:#1db5c9;color:#fff}.admonition.is-compat>.admonition-body{color:rgba(0,0,0,0.7)}.admonition-header{color:#fff;background-color:#363636;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}.admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}details.admonition.is-details>.admonition-header{list-style:none}details.admonition.is-details>.admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f055"}details.admonition.is-details[open]>.admonition-header:before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f056"}.admonition-body{color:#222;padding:0.5rem .75rem}.admonition-body pre{background-color:#f5f5f5}.admonition-body code{background-color:rgba(0,0,0,0.05)}.docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #dbdbdb;box-shadow:2px 2px 3px rgba(10,10,10,0.1);max-width:100%}.docstring>header{cursor:pointer;display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#f5f5f5;box-shadow:0 0.125em 0.25em rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #dbdbdb;overflow:auto}.docstring>header code{background-color:transparent}.docstring>header .docstring-article-toggle-button{min-width:1.1rem;padding:0.2rem 0.2rem 0.2rem 0}.docstring>header .docstring-binding{margin-right:0.3em}.docstring>header .docstring-category{margin-left:0.3em}.docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #dbdbdb}.docstring>section:last-child{border-bottom:none}.docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}.docstring>section>a.docs-sourcelink:focus{opacity:1 !important}.docstring:hover>section>a.docs-sourcelink{opacity:0.2}.docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}.docstring>section:hover a.docs-sourcelink{opacity:1}.documenter-example-output{background-color:#fff}.outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#ffaba7;color:rgba(0,0,0,0.7);border-bottom:3px solid #da0b00;padding:10px 35px;text-align:center;font-size:15px}.outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}.outdated-warning-overlay a{color:#2e63b8}.outdated-warning-overlay a:hover{color:#363636}.content pre{border:1px solid #dbdbdb}.content code{font-weight:inherit}.content a code{color:#2e63b8}.content h1 code,.content h2 code,.content h3 code,.content h4 code,.content h5 code,.content h6 code{color:#222}.content table{display:block;width:initial;max-width:100%;overflow-x:auto}.content blockquote>ul:first-child,.content blockquote>ol:first-child,.content .admonition-body>ul:first-child,.content .admonition-body>ol:first-child{margin-top:0}pre,code{font-variant-ligatures:no-contextual}.breadcrumb a.is-disabled{cursor:default;pointer-events:none}.breadcrumb a.is-disabled,.breadcrumb a.is-disabled:hover{color:#222}.hljs{background:initial !important}.katex .katex-mathml{top:0;right:0}.katex-display,mjx-container,.MathJax_Display{margin:0.5em 0 !important}html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}li.no-marker{list-style:none}#documenter .docs-main>article{overflow-wrap:break-word}#documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){#documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){#documenter .docs-main{width:100%}#documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}#documenter .docs-main>header,#documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}#documenter .docs-main header.docs-navbar{background-color:#fff;border-bottom:1px solid #dbdbdb;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}#documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1;overflow-x:hidden}#documenter .docs-main header.docs-navbar .docs-sidebar-button{display:block;font-size:1.5rem;padding-bottom:0.1rem;margin-right:1rem}#documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap;gap:1rem;align-items:center}#documenter .docs-main header.docs-navbar .docs-right .docs-icon,#documenter .docs-main header.docs-navbar .docs-right .docs-label{display:inline-block}#documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}@media screen and (max-width: 1055px){#documenter .docs-main header.docs-navbar .docs-right .docs-navbar-link{margin-left:0.4rem;margin-right:0.4rem}}#documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){#documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}#documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #bbb;transition-duration:0.7s;-webkit-transition-duration:0.7s}#documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}#documenter .docs-main section.footnotes{border-top:1px solid #dbdbdb}#documenter .docs-main section.footnotes li .tag:first-child,#documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,#documenter .docs-main section.footnotes li .content kbd:first-child,.content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}#documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #dbdbdb;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){#documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}#documenter .docs-main .docs-footer .docs-footer-nextpage,#documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}#documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}#documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}#documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}#documenter .docs-sidebar{display:flex;flex-direction:column;color:#0a0a0a;background-color:#f5f5f5;border-right:1px solid #dbdbdb;padding:0;flex:0 0 18rem;z-index:5;font-size:1rem;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}#documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #bbb}@media screen and (min-width: 1056px){#documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){#documenter .docs-sidebar{left:0;top:0}}#documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}#documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}#documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}#documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}#documenter .docs-sidebar .docs-package-name a,#documenter .docs-sidebar .docs-package-name a:hover{color:#0a0a0a}#documenter .docs-sidebar .docs-version-selector{border-top:1px solid #dbdbdb;display:none;padding:0.5rem}#documenter .docs-sidebar .docs-version-selector.visible{display:flex}#documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #dbdbdb;padding-bottom:1.5rem}#documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}#documenter .docs-sidebar ul.docs-menu>li li{font-size:.95rem;margin-left:1em;border-left:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}#documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}#documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}#documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:.75rem;margin-left:1rem;margin-top:auto;margin-bottom:auto}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 6 Free";font-weight:900;content:"\f054"}#documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}#documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}#documenter .docs-sidebar ul.docs-menu .tocitem,#documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#0a0a0a;background:#f5f5f5}#documenter .docs-sidebar ul.docs-menu a.tocitem:hover,#documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#0a0a0a;background-color:#ebebeb}#documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;background-color:#fff}#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#fff;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#ebebeb;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}#documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:.85rem;border-left:none;margin-left:0;margin-top:0.5rem}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}#documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}#documenter .docs-sidebar form.docs-search>input{width:14.4rem}#documenter .docs-sidebar #documenter-search-query{color:#707070;width:14.4rem;box-shadow:inset 0 1px 2px rgba(10,10,10,0.1)}@media screen and (min-width: 1056px){#documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#ccc}}@media screen and (max-width: 1055px){#documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#ccc}}kbd.search-modal-key-hints{border-radius:0.25rem;border:1px solid rgba(0,0,0,0.6);box-shadow:0 2px 0 1px rgba(0,0,0,0.6);cursor:default;font-size:0.9rem;line-height:1.5;min-width:0.75rem;text-align:center;padding:0.1rem 0.3rem;position:relative;top:-1px}.search-min-width-50{min-width:50%}.search-min-height-100{min-height:100%}.search-modal-card-body{max-height:calc(100vh - 15rem)}.search-result-link{border-radius:0.7em;transition:all 300ms}.search-result-link:hover,.search-result-link:focus{background-color:rgba(0,128,128,0.1)}.search-result-link .property-search-result-badge,.search-result-link .search-filter{transition:all 300ms}.property-search-result-badge,.search-filter{padding:0.15em 0.5em;font-size:0.8em;font-style:italic;text-transform:none !important;line-height:1.5;color:#f5f5f5;background-color:rgba(51,65,85,0.501961);border-radius:0.6rem}.search-result-link:hover .property-search-result-badge,.search-result-link:hover .search-filter,.search-result-link:focus .property-search-result-badge,.search-result-link:focus .search-filter{color:#f1f5f9;background-color:#333}.search-filter{color:#333;background-color:#f5f5f5;transition:all 300ms}.search-filter:hover,.search-filter:focus{color:#333}.search-filter-selected{color:#f5f5f5;background-color:rgba(139,0,139,0.5)}.search-filter-selected:hover,.search-filter-selected:focus{color:#f5f5f5}.search-result-highlight{background-color:#ffdd57;color:black}.search-divider{border-bottom:1px solid #dbdbdb}.search-result-title{width:85%;color:#333}.search-result-code-title{font-size:0.875rem;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}#search-modal .modal-card-body::-webkit-scrollbar,#search-modal .filter-tabs::-webkit-scrollbar{height:10px;width:10px;background-color:transparent}#search-modal .modal-card-body::-webkit-scrollbar-thumb,#search-modal .filter-tabs::-webkit-scrollbar-thumb{background-color:gray;border-radius:1rem}#search-modal .modal-card-body::-webkit-scrollbar-track,#search-modal .filter-tabs::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.6);background-color:transparent}.w-100{width:100%}.gap-2{gap:0.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.ansi span.sgr1{font-weight:bolder}.ansi span.sgr2{font-weight:lighter}.ansi span.sgr3{font-style:italic}.ansi span.sgr4{text-decoration:underline}.ansi span.sgr7{color:#fff;background-color:#222}.ansi span.sgr8{color:transparent}.ansi span.sgr8 span{color:transparent}.ansi span.sgr9{text-decoration:line-through}.ansi span.sgr30{color:#242424}.ansi span.sgr31{color:#a7201f}.ansi span.sgr32{color:#066f00}.ansi span.sgr33{color:#856b00}.ansi span.sgr34{color:#2149b0}.ansi span.sgr35{color:#7d4498}.ansi span.sgr36{color:#007989}.ansi span.sgr37{color:gray}.ansi span.sgr40{background-color:#242424}.ansi span.sgr41{background-color:#a7201f}.ansi span.sgr42{background-color:#066f00}.ansi span.sgr43{background-color:#856b00}.ansi span.sgr44{background-color:#2149b0}.ansi span.sgr45{background-color:#7d4498}.ansi span.sgr46{background-color:#007989}.ansi span.sgr47{background-color:gray}.ansi span.sgr90{color:#616161}.ansi span.sgr91{color:#cb3c33}.ansi span.sgr92{color:#0e8300}.ansi span.sgr93{color:#a98800}.ansi span.sgr94{color:#3c5dcd}.ansi span.sgr95{color:#9256af}.ansi span.sgr96{color:#008fa3}.ansi span.sgr97{color:#f5f5f5}.ansi span.sgr100{background-color:#616161}.ansi span.sgr101{background-color:#cb3c33}.ansi span.sgr102{background-color:#0e8300}.ansi span.sgr103{background-color:#a98800}.ansi span.sgr104{background-color:#3c5dcd}.ansi span.sgr105{background-color:#9256af}.ansi span.sgr106{background-color:#008fa3}.ansi span.sgr107{background-color:#f5f5f5}code.language-julia-repl>span.hljs-meta{color:#066f00;font-weight:bolder}/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#F3F3F3;color:#444}.hljs-comment{color:#697070}.hljs-tag,.hljs-punctuation{color:#444a}.hljs-tag .hljs-name,.hljs-tag .hljs-attr{color:#444}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta .hljs-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-operator,.hljs-selector-pseudo{color:#ab5656}.hljs-literal{color:#695}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}.gap-4{gap:1rem} diff --git a/previews/PR543/assets/themeswap.js b/previews/PR543/assets/themeswap.js new file mode 100644 index 00000000..9f5eebe6 --- /dev/null +++ b/previews/PR543/assets/themeswap.js @@ -0,0 +1,84 @@ +// Small function to quickly swap out themes. Gets put into the tag.. +function set_theme_from_local_storage() { + // Initialize the theme to null, which means default + var theme = null; + // If the browser supports the localstorage and is not disabled then try to get the + // documenter theme + if (window.localStorage != null) { + // Get the user-picked theme from localStorage. May be `null`, which means the default + // theme. + theme = window.localStorage.getItem("documenter-theme"); + } + // Check if the users preference is for dark color scheme + var darkPreference = + window.matchMedia("(prefers-color-scheme: dark)").matches === true; + // Initialize a few variables for the loop: + // + // - active: will contain the index of the theme that should be active. Note that there + // is no guarantee that localStorage contains sane values. If `active` stays `null` + // we either could not find the theme or it is the default (primary) theme anyway. + // Either way, we then need to stick to the primary theme. + // + // - disabled: style sheets that should be disabled (i.e. all the theme style sheets + // that are not the currently active theme) + var active = null; + var disabled = []; + var primaryLightTheme = null; + var primaryDarkTheme = null; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + // The tag of each style sheet is expected to have a data-theme-name attribute + // which must contain the name of the theme. The names in localStorage much match this. + var themename = ss.ownerNode.getAttribute("data-theme-name"); + // attribute not set => non-theme stylesheet => ignore + if (themename === null) continue; + // To distinguish the default (primary) theme, it needs to have the data-theme-primary + // attribute set. + if (ss.ownerNode.getAttribute("data-theme-primary") !== null) { + primaryLightTheme = themename; + } + // Check if the theme is primary dark theme so that we could store its name in darkTheme + if (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null) { + primaryDarkTheme = themename; + } + // If we find a matching theme (and it's not the default), we'll set active to non-null + if (themename === theme) active = i; + // Store the style sheets of inactive themes so that we could disable them + if (themename !== theme) disabled.push(ss); + } + var activeTheme = null; + if (active !== null) { + // If we did find an active theme, we'll (1) add the theme--$(theme) class to + document.getElementsByTagName("html")[0].className = "theme--" + theme; + activeTheme = theme; + } else { + // If we did _not_ find an active theme, then we need to fall back to the primary theme + // which can either be dark or light, depending on the user's OS preference. + var activeTheme = darkPreference ? primaryDarkTheme : primaryLightTheme; + // In case it somehow happens that the relevant primary theme was not found in the + // preceding loop, we abort without doing anything. + if (activeTheme === null) { + console.error("Unable to determine primary theme."); + return; + } + // When switching to the primary light theme, then we must not have a class name + // for the tag. That's only for non-primary or the primary dark theme. + if (darkPreference) { + document.getElementsByTagName("html")[0].className = + "theme--" + activeTheme; + } else { + document.getElementsByTagName("html")[0].className = ""; + } + } + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + // The tag of each style sheet is expected to have a data-theme-name attribute + // which must contain the name of the theme. The names in localStorage much match this. + var themename = ss.ownerNode.getAttribute("data-theme-name"); + // attribute not set => non-theme stylesheet => ignore + if (themename === null) continue; + // we'll disable all the stylesheets, except for the active one + ss.disabled = !(themename == activeTheme); + } +} +set_theme_from_local_storage(); diff --git a/previews/PR543/assets/warner.js b/previews/PR543/assets/warner.js new file mode 100644 index 00000000..3f6f5d00 --- /dev/null +++ b/previews/PR543/assets/warner.js @@ -0,0 +1,52 @@ +function maybeAddWarning() { + // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE + // in siteinfo.js. + // If either of these are undefined something went horribly wrong, so we abort. + if ( + window.DOCUMENTER_NEWEST === undefined || + window.DOCUMENTER_CURRENT_VERSION === undefined || + window.DOCUMENTER_STABLE === undefined + ) { + return; + } + + // Current version is not a version number, so we can't tell if it's the newest version. Abort. + if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) { + return; + } + + // Current version is newest version, so no need to add a warning. + if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) { + return; + } + + // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs. + if (document.body.querySelector('meta[name="robots"]') === null) { + const meta = document.createElement("meta"); + meta.name = "robots"; + meta.content = "noindex"; + + document.getElementsByTagName("head")[0].appendChild(meta); + } + + const div = document.createElement("div"); + div.classList.add("outdated-warning-overlay"); + const closer = document.createElement("button"); + closer.classList.add("outdated-warning-closer", "delete"); + closer.addEventListener("click", function () { + document.body.removeChild(div); + }); + const href = window.documenterBaseURL + "/../" + window.DOCUMENTER_STABLE; + div.innerHTML = + 'This documentation is not for the latest stable release, but for either the development version or an older release.
Click here to go to the documentation for the latest stable release.'; + div.appendChild(closer); + document.body.appendChild(div); +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", maybeAddWarning); +} else { + maybeAddWarning(); +} diff --git a/previews/PR543/concepts/index.html b/previews/PR543/concepts/index.html new file mode 100644 index 00000000..4ec04fc5 --- /dev/null +++ b/previews/PR543/concepts/index.html @@ -0,0 +1,2 @@ + +Concepts and Architecture · POMDPs.jl

Concepts and Architecture

POMDPs.jl aims to coordinate the development of three software components: 1) a problem, 2) a solver, 3) an experiment. Each of these components has a set of abstract types associated with it and a set of functions that allow a user to define each component's behavior in a standardized way. An outline of the architecture is shown below.

concepts

The MDP and POMDP types are associated with the problem definition. The Solver and Policy types are associated with the solver or decision-making agent. Typically, the Updater type is also associated with the solver, but a solver may sometimes be used with an updater that was implemented separately. The Simulator type is associated with the experiment.

The code components of the POMDPs.jl ecosystem relevant to problems and solvers are shown below. The arrows represent the flow of information from the problems to the solvers. The figure shows the two interfaces that form POMDPs.jl - Explicit and Generative. Details about these interfaces can be found in the section on Defining POMDPs.

interface_relationships

POMDPs and MDPs

An MDP is a mathematical framework for sequential decision making under uncertainty, and where all of the uncertainty arises from outcomes that are partially random and partially under the control of a decision maker. Mathematically, an MDP is a tuple $(S,A,T,R,\gamma)$, where $S$ is the state space, $A$ is the action space, $T$ is a transition function defining the probability of transitioning to each state given the state and action at the previous time, and $R$ is a reward function mapping every possible transition $(s,a,s')$ to a real reward value. Finally, $\gamma$ is a discount factor that defines the relative weighting of current and future rewards. For more information see a textbook such as [1]. In POMDPs.jl an MDP is represented by a concrete subtype of the MDP abstract type and a set of methods that define each of its components as described in the problem definition section.

A POMDP is a more general sequential decision making problem in which the agent is not sure what state they are in. The state is only partially observable by the decision making agent. Mathematically, a POMDP is a tuple $(S,A,T,R,O,Z,\gamma)$ where $S$, $A$, $T$, $R$, and $\gamma$ have the same meaning as in an MDP, $O$ is the agent's observation space, and $Z$ defines the probability of receiving each observation at a transition. In POMDPs.jl, a POMDP is represented by a concrete subtype of the POMDP abstract type, and the methods described in the problem definition section.

POMDPs.jl contains additional functions for defining optional problem behavior such as an initial state distribution or terminal states. More information can be found in the Defining POMDPs section.

Beliefs and Updaters

In a POMDP domain, the decision-making agent does not have complete information about the state of the problem, so the agent can only make choices based on its "belief" about the state. In the POMDP literature, the term "belief" is typically defined to mean a probability distribution over all possible states of the system. However, in practice, the agent often makes decisions based on an incomplete or lossy record of past observations that has a structure much different from a probability distribution. For example, if the agent is represented by a finite-state controller, as is the case for Monte-Carlo Value Iteration [2], the belief is the controller state, which is a node in a graph. Another example is an agent represented by a recurrent neural network. In this case, the agent's belief is the state of the network. In order to accommodate a wide variety of decision-making approaches in POMDPs.jl, we use the term "belief" to denote the set of information that the agent makes a decision on, which could be an exact state distribution, an action-observation history, a set of weighted particles, or the examples mentioned before. In code, the belief can be represented by any built-in or user-defined type.

When an action is taken and a new observation is received, the belief is updated by the belief updater. In code, a belief updater is represented by a concrete subtype of the Updater abstract type, and the update(updater, belief, action, observation) function defines how the belief is updated when a new observation is received.

Although the agent may use a specialized belief structure to make decisions, the information initially given to the agent about the state of the problem is usually most conveniently represented as a state distribution, thus the initialize_belief function is provided to convert a state distribution to a specialized belief structure that an updater can work with.

In many cases, the belief structure is closely related to the solution technique, so it will be implemented by the programmer who writes the solver. In other cases, the agent can use a variety of belief structures to make decisions, so a domain-specific updater implemented by the programmer that wrote the problem description may be appropriate. Finally, some advanced generic belief updaters such as particle filters may be implemented by a third party. The convenience function updater(policy) can be used to get a suitable default updater for a policy, however many policies can work with other updaters.

For more information on implementing a belief updater, see Defining a Belief Updater

Solvers and Policies

Sequential decision making under uncertainty involves both online and offline calculations. In the broad sense, the term "solver" as used in the node in the figure at the top of the page refers to the software package that performs the calculations at both of these times. However, the code is broken up into two pieces, the solver that performs calculations offline and the policy that performs calculations online.

In the abstract, a policy is a mapping from every belief that an agent might take to an action. A policy is represented in code by a concrete subtype of the Policy abstract type. The programmer implements action to describe what computations need to be done online. For an online solver such as POMCP, all of the decision computation occurs within action while for an offline solver like SARSOP, there is very little computation within action. See Interacting with Policies for more information.

The offline portion of the computation is carried out by the solver, which is represented by a concrete subtype of the Solver abstract type. Computations occur within the solve function. For an offline solver like SARSOP, nearly all of the decision computation occurs within this function, but for some online solvers such as POMCP, solve merely embeds the problem in the policy.

Simulators

A simulator defines a way to run one or more simulations. It is represented by a concrete subtype of the Simulator abstract type and the simulation is an implemention of simulate. Depending on the simulator, simulate may return a variety of data about the simulation, such as the discounted reward or the state history. All simulators should perform simulations consistent with the Simulation Standard.

[1] Decision Making Under Uncertainty: Theory and Application by Mykel J. Kochenderfer, MIT Press, 2015

[2] Bai, H., Hsu, D., & Lee, W. S. (2014). Integrated perception and planning in the continuous space: A POMDP approach. The International Journal of Robotics Research, 33(9), 1288-1302

diff --git a/previews/PR543/def_pomdp/index.html b/previews/PR543/def_pomdp/index.html new file mode 100644 index 00000000..eebe7e15 --- /dev/null +++ b/previews/PR543/def_pomdp/index.html @@ -0,0 +1,199 @@ + +Defining POMDPs and MDPs · POMDPs.jl

Defining POMDPs and MDPs

As described in the Concepts and Architecture section, an MDP is defined by the state space, action space, transition distributions, reward function, and discount factor, $(S,A,T,R,\gamma)$. A POMDP also includes the observation space, and observation probability distributions, for a definition of $(S,A,T,R,O,Z,\gamma)$. A problem definition in POMDPs.jl consists of an implicit or explicit definition of each of these elements.

It is possible to define a (PO)MDP with a more traditional object-oriented approach in which the user defines a new type to represent the (PO)MDP and methods of interface functions to define the tuple elements. However, the QuickPOMDPs package provides a more concise way to get started, using keyword arguments instead of new types and methods. Essentially each keyword argument defines a corresponding POMDPs api function. Since the important concepts are the same for the object oriented approach and the QuickPOMDP approach, we will use the latter for this discussion.

This guide has three parts: First, it explains a very simple example (the Tiger POMDP), then uses a more complex example to illustrate the broader capabilities of the interface. Finally, some alternative ways of defining (PO)MDPs are discussed.

Note

This guide assumes that you are comfortable programming in Julia, especially familiar with various ways of defining anonymous functions. Users should consult the Julia documentation to learn more about programming in Julia.

A Basic Example: The Tiger POMDP

In the first section of this guide, we will explain a QuickPOMDP implementation of a very simple problem: the classic Tiger POMDP. In the tiger POMDP, the agent is tasked with escaping from a room. There are two doors leading out of the room. Behind one of the doors is a tiger, and behind the other is sweet, sweet freedom. If the agent opens the door and finds the tiger, it gets eaten (and receives a reward of -100). If the agent opens the other door, it escapes and receives a reward of 10. The agent can also listen. Listening gives a noisy measurement of which door the tiger is hiding behind. Listening gives the agent the correct location of the tiger 85% of the time. The agent receives a reward of -1 for listening. The complete implementation looks like this:

using QuickPOMDPs: QuickPOMDP
+using POMDPTools: Deterministic, Uniform, SparseCat
+
+m = QuickPOMDP(
+    states = ["left", "right"],
+    actions = ["left", "right", "listen"],
+    observations = ["left", "right"],
+    discount = 0.95,
+
+    transition = function (s, a)
+        if a == "listen"
+            return Deterministic(s) # tiger stays behind the same door
+        else # a door is opened
+            return Uniform(["left", "right"]) # reset
+        end
+    end,
+
+    observation = function (a, sp)
+        if a == "listen"
+            if sp == "left"
+                return SparseCat(["left", "right"], [0.85, 0.15]) # sparse categorical
+            else
+                return SparseCat(["right", "left"], [0.85, 0.15])
+            end
+        else
+            return Uniform(["left", "right"])
+        end
+    end,
+
+    reward = function (s, a)
+        if a == "listen"
+            return -1.0
+        elseif s == a # the tiger was found
+            return -100.0
+        else # the tiger was escaped
+            return 10.0
+        end
+    end,
+
+    initialstate = Uniform(["left", "right"]),
+);

The next sections explain how each of the elements of the POMDP tuple are defined in this implementation:

State, action and observation spaces

In this example, each state, action, and observation is a String. The state, action and observation spaces ($S$, $A$, and $O$), are defined with the states, actions and observations keyword arguments. In this case, they are simply Vectors containing all the elements in the space.

Transition and observation distributions

The transition and observation keyword arguments are used to define the transition distribution, $T$, and observation distribution, $Z$, respectively. These models are defined using functions that return distribution objects (more info below). The transition function takes state and action arguments and returns a distribution of the resulting next state. The observation function takes in an action and the resulting next state (sp, short for "s prime") and returns the distribution of the observation emitted at this state.

Reward function

The reward keyword argument defines $R$. It is a function that takes in a state and action and returns a number.

Discount and initial state distribution

The discount factor, $\gamma$, is defined with the discount keyword, and is simply a number between 0 and 1. The initial state distribution, b_0, is defined with the initialstate argument, and is a distribution object.

The example above shows a complete implementation of a very simple discrete-space POMDP. However, POMDPs.jl is capable of concisely expressing much more complex models with continuous and hybrid spaces. The guide below introduces a more complex example to fully explain the ways that a POMDP can be defined.

Guide to Defining POMDPs

A more complex example: A partially-observable mountain car

Mountain car is a classic problem in reinforcement learning. A car starts in a valley between two hills, and must reach the goal at the top of the hill to the right (see wikipedia for image). The actions are left and right acceleration and neutral and the state consists of the car's position and velocity. In this partially-observable version, there is a small amount of acceleration noise and observations are normally-distributed noisy measurements of the position. This problem can be implemented as follows:

import QuickPOMDPs: QuickPOMDP
+import POMDPTools: ImplicitDistribution
+import Distributions: Normal
+
+mountaincar = QuickPOMDP(
+    actions = [-1., 0., 1.],
+    obstype = Float64,
+    discount = 0.95,
+
+    transition = function (s, a)        
+        ImplicitDistribution() do rng
+            x, v = s
+            vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)
+            vp = clamp(vp, -0.07, 0.07)
+            xp = x + vp
+            return (xp, vp)
+        end
+    end,
+
+    observation = (a, sp) -> Normal(sp[1], 0.15),
+
+    reward = function (s, a, sp)
+        if sp[1] > 0.5
+            return 100.0
+        else
+            return -1.0
+        end
+    end,
+
+    initialstate = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0)),
+    isterminal = s -> s[1] > 0.5
+)

The following sections provide a detailed guide to defining the components of a POMDP using this example and the tiger pomdp further above.

State, action, and observation spaces

In POMDPs.jl, a state, action, or observation can be represented by any Julia object, for example an integer, a floating point number, a string or Symbol, or a vector. For example, in the tiger problem, the states are Strings, and in the mountaincar problem, the state is a Tuple of two floating point numbers, and the actions and observations are floating point numbers. These types are usually inferred from the space or initial state distribution definitions.

Warn

Objects representing individual states, actions, and observations should not be altered once they are created, since they may be used as dictionary keys or stored in histories. Hence it is usually best to use immutable objects such as integers or StaticArrays. If the states need to be mutable (e.g. aggregate types with vectors in them), make sure the states are not actualy mutated and that hash and == functions are implmemented (see AutoHashEquals)

The state, action, and observation spaces are defined with the states, actions, and observations Quick(PO)MDP keyword arguments. The simplest way to define these spaces is with a Vector of states, e.g. states = ["left", "right"] in the tiger problem. More complicated spaces, such as vector spaces and other continuous, uncountable, or hybrid sets can be defined with custom objects that adhere to the space interface. However it should be noted that, for many solvers, an explicit enumeration of the state and observation spaces is not needed. Instead, it is sufficient to specify the state or observation type using the statetype or obstype arguments, e.g. obstype = Float64 in the mountaincar problem.

Tip

If you are having a difficult time representing the state or observation space, it is likely that you will not be able to use a solver that requires an explicit representation. It is usually best to omit that space from the definition and try solvers to see if they work.

State- or belief-dependent action spaces

In some problems, the set of allowable actions depends on the state or belief. This can be implemented by providing a function of the state or belief to the actions argument, e.g. if you can only take the action 1 in state 1, but can take full action space 1, 2 and 3, in an MDP, you might use

# add default vlaue "s = nothing" , "actions(mdp)" won't throw error.
+actions = function (s = nothing) 
+    if s == 1
+        return [1]      #<--- return state-dep-actions
+    else
+        return [1,2,3]  #<--- return full action space here
+    end
+end

Similarly, in a POMDP, you may wish to only allow action 1 if the belief b assigns a nonzero probability to state 1. This can be accomplished with

actions = function (b)
+    if pdf(b, 1) > 0.0
+        return [1,2,3]
+    else
+        return [2,3]
+    end
+end

Transition and observation distributions

The transition and observation observation distributions are specified through functions that return distributions. A distribution object implements parts of the distribution interface, most importantly a rand function that provides a way to sample the distribution and, for explicit distributions, a pdf function that evaluates the probability mass or density of a given outcome. In most simple cases, you will be able to use a pre-defined distribution like the ones listed below, but occasionally you will define your own for more complex problems.

Tip

Since the transition and observation functions return distributions, you should not call rand within these functions (unless it is within an ImplicitDistribution sampling function (see below)).

The transition function takes in a state s and action a and returns a distribution object that defines the distribution of next states given that the current state is s and the action is a, that is $T(s' | s, a)$. Similarly the observation function takes in the action a and the next state sp and returns a distribution object defining $O(z | a, s')$.

Note

It is also possible to define the observation function in terms of the previous state s, along with a, and sp. This is necessary, for example, when the observation is a measurement of change in state, e.g. sp - s. However some solvers may use the a, sp method (and hence cannot solve problems where the observation is conditioned on $s$ and $s'$). Since providing an a, sp method automatically defines the s, a, sp method, problem writers should usually define only the a, sp method, and only define the s, a, sp method if it is necessary. Except for special performance cases, problem writers should never need to define both methods.

Commonly-used distributions

In most cases, the following pre-defined distributions found in the POMDPTools and Distributions packages will be sufficient to define models.

Deterministic

The Deterministic distribution should be used when there is no randomness in the state or observation given the state and action inputs. This commonly occurs when the new state is a deterministic function of the state and action or the state stays the same, for example when the action is "listen" in the tiger example above, the transition function returns Deterministic(s).

SparseCat

In discrete POMDPs, it is common for the state or observation to have a few possible outcomes with specified probabilities. This can be represented with a sparse categorical SparseCat distribution that takes a list of outcomes and a list of associated probabilities as arguments. For instance, in the tiger example above, when the action is "listen", there is an 85% chance of receiving the correct observation. Thus if the state is "left", the observation distribution is SparseCat(["left", "right"], [0.85, 0.15]), and SparseCat(["right", "left"], [0.85, 0.15]) if the state is "right".

Another example where SparseCat distributions are useful is in grid-world problems, where there is a high probability of transitioning along the direction of the action, a low probability of transitioning to other adjacent states, and zero probability of transitioning to any other states.

Uniform

Another common case is a uniform distribution over a space or set of outcomes. This can be represented with a Uniform object that takes a set of outcomes as an argument. For example, the initial state distribution in the tiger problem is represented with Uniform(["left", "right"]) indicating that both states are equally likely.

Distributions.jl

If the states or observations have numerical or vector values, the Distributions.jl package provides a suite of suitable distributions. For example, the observation function in the partially-observable mountain car example above,

observation = (a, sp) -> Normal(sp[1], 0.15)

returns a Normal distribution from this package with a mean that depends on the car's location (the first element of state sp) and a standard deviation of 0.15.

ImplicitDistribution

In many cases, especially when the state or observation spaces are continuous or hybrid, it is difficult or impossible to specify the probability density explicitly. Fortunately, many solvers for these problems do not require explicit density information and instead need only samples from the distribution. In this case, an "implicit distribution" or "generative model" is sufficient. In POMDPs.jl, this can be represented using an ImplicitDistribution object.

The argument to an ImplicitDistribution constructor is a function that takes a random number generator as an argument and returns a sample from the distribution. To see how this works, we'll look at an example inspired by the mountaincar initial state distribution. Samples from this distribution are position-velocity tuples where the velocity is always zero, but the position is uniformly distributed between -0.2 and 0. Consider the following code:

using Random: MersenneTwister
+using POMDPTools: ImplicitDistribution
+
+rng = MersenneTwister(1)
+
+d = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0))
+rand(rng, d)
+# output
+(-0.04720666913240939, 0.0)

Here, rng is the random number generator. When rand(rng, d) is called, the sampling function, rng -> (-0.2*rand(rng), 0.0), is called to generate a state. The sampling function uses rng to generate a random number between 0 and 1 (rand(rng)), multiplies it by -0.2 to get the position, and creates a tuple with the position and a velocity of 0.0 and returns an initial state that might be, for instance (-0.11, 0.0). Any time that a solver, belief updater, or simulator needs an initial state for the problem, it will be sampled in this way.

Note

The random number generator is a subtype of AbstractRNG. It is important to use this random number generator for all calls to rand in the sample function for reproducible results. Moreover some solvers use specialized random number generators that allow them to reduce variance. See also the What if I don't use the rng argument? FAQ.

It is also common to use Julia's do block syntax to define more complex sampling functions. For instance the transition function in the mountaincar example returns an ImplicitDistribution with a sampling function that (1) generates a new noisy velocity through a randn call, then (2) clamps the velocity, and finally (3) integrates the position with Euler's method:

transition = function (s, a)        
+    ImplicitDistribution() do rng
+        x, v = s
+        vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)
+        vp = clamp(vp, -0.07, 0.07)
+        xp = x + vp
+        return (xp, vp)
+    end
+end

Because of the nonlinear clamp operation, it would be difficult to represent this distribution explicitly.

Custom distributions

If none of the distributions above are suitable, for example if you need to represent an explicit distribution with hybrid support, it is not difficult to define your own distributions by implementing the functions in the distribution interface.

Reward functions

The reward function maps a combination of state, action, and observation arguments to the reward for a step. For instance, the reward function in the mountaincar problem,

reward = function (s, a, sp)
+    if sp[1] > 0.5
+        return 100.0
+    else
+        return -1.0
+    end
+end

takes in the previous state, s, the action, a, and the resulting state, sp and returns a large positive reward if the resulting position, sp[1], is beyond a threshold (note the coupling of the terminal reward) and a small negative reward on all other steps. If the reward in the problem is stochastic, the reward function implemented in POMDPs.jl should return the mean reward.

There are two possible reward function argument signatures that a problem-writer might consider implementing for an MDP: (s, a) and (s, a, sp). For a POMDP, there is an additional version, (s, a, sp, o). The (s, a, sp) version is useful when transition to a terminal state results in a reward, and the (s, a, sp, o) version is useful for cases when the reward is associated with an observation, such as a negative reward for the stress caused by a medical diagnostic test that indicates the possibility of a disease. Problem writers should implement the version with the fewest number of arguments possible, since the versions with more arguments are automatically provided to solvers and simulators if a version with fewer arguments is implemented.

In rare cases, it may make sense to implement two or more versions of the function, for example if a solver requires (s, a), but the user wants an observation-dependent reward to show up in simulation. It is OK to implement two methods of the reward function as long as the following relationships hold: $R(s, a) = E_{s'\sim T(s'|s,a)}[R(s, a, s')]$ and $R(s, a, s') = E_{o \sim Z(o | s, a, s')}[R(s, a, s', o)]$. That is, the versions with fewer arguments must be expectations of versions with more arguments.

Other Components

Discount factors

The discount keyword argument is simply a number between 0 and 1 used to discount rewards in the future.

Initial state distribution

The initialstate argument should be a distribution object (see above) that defines the initial state distribution (and initial belief for POMDPs).

Terminal states

The function supplied to the isterminal object defines which which states in the POMDP are terminal. The function should take a state as an argument as an argument and return true if the state is terminal and false otherwise. For example, in the mountaincar example above, isterminal = s -> s[1] > 0.5 indicates all states where the position, s[1] is greater than 0.5 are terminal.

It is assumed that the system will take no further steps once it has reached a terminal state. Since reward is assigned for taking steps, no additional award can be accumulated from a terminal state. Consequently, the most important property of terminal states is that the value of a terminal state is always zero. Many solvers leverage this property for efficiency. As in the mountaincar example

Other ways to define a (PO)MDP

Besides the Quick(PO)MDP approach above, there are several alternative ways to define (PO)MDP models:

Object-oriented

First, it is possible to create your own (PO)MDP types and implement the components of the POMDP directly as methods of POMDPs.jl interface functions. This approach can be thought of as the "low-level" way to define a POMDP, and the QuickPOMDP as merely a syntactic convenience. There are a few things that make this object-oriented approach more cumbersome than the QuickPOMDP approach, but the structure is similar. For example, the tiger QuickPOMDP shown above can be implemented as follows:

import POMDPs
+using POMDPs: POMDP
+using POMDPTools: Deterministic, Uniform, SparseCat
+
+struct TigerPOMDP <: POMDP{String, String, String}
+    p_correct::Float64
+    indices::Dict{String, Int}
+
+    TigerPOMDP(p_correct=0.85) = new(p_correct, Dict("left"=>1, "right"=>2, "listen"=>3))
+end
+
+POMDPs.states(m::TigerPOMDP) = ["left", "right"]
+POMDPs.actions(m::TigerPOMDP) = ["left", "right", "listen"]
+POMDPs.observations(m::TigerPOMDP) = ["left", "right"]
+POMDPs.discount(m::TigerPOMDP) = 0.95
+POMDPs.stateindex(m::TigerPOMDP, s) = m.indices[s]
+POMDPs.actionindex(m::TigerPOMDP, a) = m.indices[a]
+POMDPs.obsindex(m::TigerPOMDP, o) = m.indices[o]
+
+function POMDPs.transition(m::TigerPOMDP, s, a)
+    if a == "listen"
+        return Deterministic(s) # tiger stays behind the same door
+    else # a door is opened
+        return Uniform(["left", "right"]) # reset
+    end
+end
+
+function POMDPs.observation(m::TigerPOMDP, a, sp)
+    if a == "listen"
+        if sp == "left"
+            return SparseCat(["left", "right"], [m.p_correct, 1.0-m.p_correct])
+        else
+            return SparseCat(["right", "left"], [m.p_correct, 1.0-m.p_correct])
+        end
+    else
+        return Uniform(["left", "right"])
+    end
+end
+
+function POMDPs.reward(m::TigerPOMDP, s, a)
+    if a == "listen"
+        return -1.0
+    elseif s == a # the tiger was found
+        return -100.0
+    else # the tiger was escaped
+        return 10.0
+    end
+end
+
+POMDPs.initialstate(m::TigerPOMDP) = Uniform(["left", "right"])
+# output

It is easy to see that the new methods are similar to the keyword arguments in the QuickPOMDP approach, except that every function has an initial m argument that has the newly created POMDP type. There are several differences from the QuickPOMDP approach: First, the POMDP is represented by a new struct that is a subtype of POMDP{S,A,O}. The state, action, and observation types must be specified as the S, A, and O parameters of the POMDP abstract type. Second, this new struct may contain problem-specific fields, which makes it easy for others to construct POMDPs that have the same structure but different parameters. For example, in the code above, the struct has a p_correct parameter that specifies the probability of receiving a correct observation when the "listen" action is taken. The final and most cumbersome difference between this object-oriented approach and using QuickPOMDPs is that the user must implement stateindex, actionindex, and obsindex to map states, actions, and observations to appropriate indices so that data such as values can be stored and accessed efficiently in vectors.

Using a single generative function instead of separate $T$, $Z$, and $R$

In some cases, you may wish to use a simulator that generates the next state, observation, and/or reward ($s'$, $o$, and $r$) simultaneously. This is sometimes called a "generative model".

For example if you are working on an autonomous driving POMDP, the car may travel for one or more seconds in between POMDP decision steps during which it may accumulate reward and observation measurements. In this case it might be very difficult to create a reward or observation function based on $s$, $a$, and $s'$ arguments.

For situations like this, gen is an alternative to transition, observation, and reward. The gen function should take in state, action, and random number generator arguments and return a NamedTuple with keys sp (for "s-prime", the next state), o, and r. The mountaincar example above can be implemented with gen as shown below.

Note

gen is intended only for the case where two or more of the next state, observation, and reward need to be generated at the same time. If the state transition model can be separated from the reward and observation models, you should implement transition with an ImplicitDistribution instead of gen. See also the "What is the difference between transition, gen, and @gen?" FAQ.

using QuickPOMDPs: QuickPOMDP
+using POMDPTools: ImplicitDistribution
+
+mountaincar = QuickPOMDP(
+    actions = [-1., 0., 1.],
+    obstype = Float64,
+    discount = 0.95,
+
+    gen = function (s, a, rng)
+        x, v = s
+        vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)
+        vp = clamp(vp, -0.07, 0.07)
+        xp = x + vp
+        if xp > 0.5
+            r = 100.0
+        else
+            r = -1.0
+        end
+        o = xp + 0.15*randn(rng)
+        return (sp=(xp, vp), o=o, r=r)
+    end,
+
+    initialstate = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0)),
+    isterminal = s -> s[1] > 0.5
+)
Tip

gen is not tied to the QuickPOMDP approach; it can also be used in the object-oriented paradigm.

Tip

It is possible to mix and match gen with transtion, observation, and reward. For example, if the gen function returns a NamedTuple with sp and r keys, POMDPs.jl will try to use gen to generate states and rewards and the observation function to generate observations.

Note

Implementing gen instead of transition, observation, and reward will limit which solvers you can use; for example, it is impossible to use a solver that requires an explicit transition distribution

Tabular

Finally, it is sometimes convenient to define (PO)MDPs with tables that define the transition and observation probabilities and rewards. In this case, the states, actions, and observations must simply be integers.

The code below is a tabular implementation of the tiger example with the states, actions, and observations mapped to the following integers:

integerstate, action, or observation
1"left"
2"right"
3"listen"
using POMDPModels: TabularPOMDP
+
+T = zeros(2,3,2)
+T[:,:,1] = [1. 0.5 0.5; 
+            0. 0.5 0.5]
+T[:,:,2] = [0. 0.5 0.5; 
+            1. 0.5 0.5]
+
+O = zeros(2,3,2)
+O[:,:,1] = [0.85 0.5 0.5; 
+            0.15 0.5 0.5]
+O[:,:,2] = [0.15 0.5 0.5; 
+            0.85 0.5 0.5]
+
+R = [-1. -100. 10.; 
+     -1. 10. -100.]
+
+m = TabularPOMDP(T, R, O, 0.95)

Here T is a $|S| \times |A| \times |S|$ array representing the transition probabilities, with T[sp, a, s] $= T(s' | s, a)$. Similarly, O is an $|O| \times |A| \times |S|$ encoding the observation distribution with O[o, a, sp] $= Z(o | a, s')$, and R is a $|S| \times |A|$ matrix that encodes the reward function. 0.95 is the discount factor.

diff --git a/previews/PR543/def_solver/index.html b/previews/PR543/def_solver/index.html new file mode 100644 index 00000000..6398e393 --- /dev/null +++ b/previews/PR543/def_solver/index.html @@ -0,0 +1,2 @@ + +Solvers · POMDPs.jl

Solvers

Defining a solver involves creating or using four pieces of code:

  1. A subtype of Solver that holds the parameters and configuration options for the solver.
  2. A subtype of Policy that holds all of the data needed to choose actions online.
  3. A method of solve that takes the Solver and a (PO)MDP as arguments, performs all of the offline computations for solving the problem, and returns the policy.
  4. A method of action that takes in the policy and a state or belief and returns an action.

In many cases, items 2 and 4 can be satisfied with an off-the-shelf Policy from the POMDPTools package. also contains many tools that are useful for defining solvers in a robust, concise, and readable manner.

Online and Offline Solvers

Generally, solvers can be grouped into two categories: Offline solvers that do most of their computational work before interacting with the environment, and online solvers that do their work online as each new state or observation is encountered. Although offline and online solvers both use the exact same Solver, solve, Policy, action structure, the work of defining online and offline solvers is focused on different portions.

For an offline solver, most of the implementation effort will be spent on the [solve] function, and an off-the-shelf policy from POMDPTools will typically be used.

For an online solver, the solve function typically does little or no work, but merely creates a Policy object that will carry out computation online. It is typical in POMDPs.jl to use the term "Planner" to name a Policy object for an online solver that carries out a large amount of computation ("planning") at interaction time. In this case most of the effort will be focused on implementing the action method for the "Planner" Policy type.

Examples

Solver implementation is most clearly explained through examples. The following sections contain examples of both online and offline solver definitions:

diff --git a/previews/PR543/def_updater/index.html b/previews/PR543/def_updater/index.html new file mode 100644 index 00000000..df9abbaa --- /dev/null +++ b/previews/PR543/def_updater/index.html @@ -0,0 +1,32 @@ + +Defining a Belief Updater · POMDPs.jl

Defining a Belief Updater

In this section we list the requirements for defining a belief updater. For a description of what a belief updater is, see Concepts and Architecture - Beliefs and Updaters. Typically a belief updater will have an associated belief type, and may be closely tied to a particular policy/planner.

Defining a Belief Type

A belief object should contain all of the information needed for the next belief update and for the policy to make a decision. The belief type could be a pre-defined type such as a distribution from Distributions.jl or DiscreteBelief or SparseCat from the POMDPTools package, or it could be a custom type.

Often, but not always, the belief will represent a probability distribution. In this case, the functions in the distribution interface should be implemented if possible. Implementing these functions will make the belief usable with many of the policies and planners in the POMDPs.jl ecosystem, and will make it easy for others to convert between beliefs and to interpret what a belief means.

Histories associated with a belief

If a complete or partial record of the action-observation history leading up to a belief is available, it is often helpful to give access to this by implementing the history or currentobs functions (see the docstrings for more details). This is especially useful if a problem-writer wants to implement a belief- or observation-dependent action space. Belief type implementers need only implement history, and currentobs will automatically be provided, though sometimes it is more convenient to implement currentobs directly.

Defining an Updater

To create an updater, one should define a subtype of the Updater abstract type and implement two methods, one to create the initial belief from the problem's initial state distribution and one to perform a belief update:

Example: History Updater

One trivial type of belief would be the action-observation history, a list containing the initial state distribution and every action taken and observation received. The history contains all of the information received up to the current time, but it is not usually very useful because most policies make decisions based on a state probability distribution. Here the belief type is simply the built in Vector{Any}, so we need only create the updater and write update and initialize_belief. Normally, update would contain belief update probability calculations, but in this example, we simply append the action and observation to the history.

(Note that this example is designed for readability rather than efficiency.)

import POMDPs
+
+struct HistoryUpdater <: POMDPs.Updater end
+
+POMDPs.initialize_belief(up::HistoryUpdater, d) = Any[d]
+
+function POMDPs.update(up::HistoryUpdater, b, a, o)
+    bp = copy(b)
+    push!(bp, a)
+    push!(bp, o)
+    return bp
+end

At each step, the history starts with the original distribution, then contains all the actions and observations received up to that point. The example below shows this for the crying baby problem (observations are true/false for crying and actions are true/false for feeding).

using POMDPTools
+using POMDPModels
+using Random
+
+pomdp = BabyPOMDP()
+policy = RandomPolicy(pomdp, rng=MersenneTwister(1))
+up = HistoryUpdater()
+
+# within stepthrough initialize_belief is called on the initial state distribution of the pomdp, then update is called at each step.
+for b in stepthrough(pomdp, policy, up, "b", rng=MersenneTwister(2), max_steps=5)
+    @show b
+end
+
+# output
+
+b = Any[POMDPModels.BoolDistribution(0.0)]
+b = Any[POMDPModels.BoolDistribution(0.0), false, false]
+b = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false]
+b = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false, true, false]
+b = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false, true, false, true, false]
diff --git a/previews/PR543/example_defining_problems/index.html b/previews/PR543/example_defining_problems/index.html new file mode 100644 index 00000000..d0a9d4d0 --- /dev/null +++ b/previews/PR543/example_defining_problems/index.html @@ -0,0 +1,250 @@ + +Defining a POMDP · POMDPs.jl

Defining a POMDP

As mentioned in the Defining POMDPs and MDPs section, there are verious ways to define a POMDP using POMDPs.jl. In this section, we provide more examples of how to define a POMDP using the different interfaces.

There is a large variety of problems that can be expressed as MDPs and POMDPs and different solvers require different components of the POMDPs.jl interface to be defined. Therefore, these examples are not intended to cover all possible use cases. When deeloping a problem and you have an idea of what solver(s) you would like to use, it is recommended to use POMDPLinter to help you to determine what components of the POMDPs.jl interface need to be defined. Reference the Checking Requirements section for an example of using POMDPLinter.

CryingBaby Problem Definition

For the examples, we will use the CryingBaby problem from Algorithms for Decision Making by Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray.

Note

This craying baby problem follows the description in Algorithms for Decision Making and is different than BabyPOMDP defined in POMDPModels.jl.

From Appendix F of Algorithms for Decision Making:

The crying baby problem is a simple POMDP with two states, three actions, and two observations. Our goal is to care for a baby, and we do so by choosing at each time step whether to feed the baby, sing to the baby, or ignore the baby.

The baby becomes hungry over time. We do not directly observe whether the baby is hungry; instead, we receive a noisy observation in the form of whether the baby is crying. The state, action, and observation spaces are as follows:

\[\begin{align*} +\mathcal{S} &= \{\text{sated}, \text{hungry} \}\\ +\mathcal{A} &= \{\text{feed}, \text{sing}, \text{ignore} \} \\ +\mathcal{O} &= \{\text{crying}, \text{quiet} \} +\end{align*}\]

Feeding will always sate the baby. Ignoring the baby risks a sated baby becoming hungry, and ensures that a hungry baby remains hungry. Singing to the baby is an information-gathering action with the same transition dynamics as ignoring, but without the potential for crying when sated (not hungry) and with an increased chance of crying when hungry.

The transition dynamics are as follows:

\[\begin{align*} +& T(\text{sated} \mid \text{hungry}, \text{feed}) = 100\% \\ +& T(\text{hungry} \mid \text{hungry}, \text{sing}) = 100\% \\ +& T(\text{hungry} \mid \text{hungry}, \text{ignore}) = 100\% \\ +& T(\text{sated} \mid \text{sated}, \text{feed}) = 100\% \\ +& T(\text{hungry} \mid \text{sated}, \text{sing}) = 10\% \\ +& T(\text{hungry} \mid \text{sated}, \text{ignore}) = 10\% +\end{align*}\]

The observation dynamics are as follows:

\[\begin{align*} +& O(\text{crying} \mid \text{feed}, \text{hungry}) = 80\% \\ +& O(\text{crying} \mid \text{sing}, \text{hungry}) = 90\% \\ +& O(\text{crying} \mid \text{ignore}, \text{hungry}) = 80\% \\ +& O(\text{crying} \mid \text{feed}, \text{sated}) = 10\% \\ +& O(\text{crying} \mid \text{sing}, \text{sated}) = 0\% \\ +& O(\text{crying} \mid \text{ignore}, \text{sated}) = 10\% +\end{align*}\]

The reward function assigns $−10$ reward if the baby is hungry, independent of the action taken. The effort of feeding the baby adds a further $−5$ reward, whereas singing adds $−0.5$ reward. As baby caregivers, we seek the optimal infinite-horizon policy with discount factor $\gamma = 0.9$.

QuickPOMDP Interface

using POMDPs
+using POMDPTools
+using QuickPOMDPs
+
+quick_crying_baby_pomdp = QuickPOMDP(
+    states = [:sated, :hungry],
+    actions = [:feed, :sing, :ignore],
+    observations = [:quiet, :crying],
+    initialstate = Deterministic(:sated),
+    discount = 0.9,
+    transition = function (s, a)
+        if a == :feed
+            return Deterministic(:sated)
+        elseif s == :sated # :sated and a != :feed
+            return SparseCat([:sated, :hungry], [0.9, 0.1])
+        else # s == :hungry and a != :feed
+            return Deterministic(:hungry)
+        end
+    end,
+    observation = function (a, sp)
+        if sp == :hungry
+            if a == :sing
+                return SparseCat([:crying, :quiet], [0.9, 0.1])
+            else # a == :ignore || a == :feed
+                return SparseCat([:crying, :quiet], [0.8, 0.2])
+            end
+        else # sp = :sated
+            if a == :sing
+                return Deterministic(:quiet)
+            else # a == :ignore || a == :feed
+                return SparseCat([:crying, :quiet], [0.1, 0.9])
+            end
+            
+        end
+    end,
+    reward = function (s, a)
+        r = 0.0
+        if s == :hungry
+            r += -10.0
+        end
+        if a == :feed
+            r += -5.0
+        elseif a == :sing
+            r+= -0.5
+        end
+        return r
+    end
+)

Explicit Interface

using POMDPs
+using POMDPTools
+
+struct CryingBabyState
+    hungry::Bool
+end
+
+struct CryingBabyPOMDP <: POMDP{CryingBabyState, Symbol, Symbol}
+    p_sated_to_hungry::Float64
+    p_cry_feed_hungry::Float64
+    p_cry_sing_hungry::Float64
+    p_cry_ignore_hungry::Float64
+    p_cry_feed_sated::Float64
+    p_cry_sing_sated::Float64
+    p_cry_ignore_sated::Float64
+    reward_hungry::Float64
+    reward_feed::Float64
+    reward_sing::Float64
+    discount_factor::Float64
+end
+
+function CryingBabyPOMDP(;
+    p_sated_to_hungry=0.1,
+    p_cry_feed_hungry=0.8,
+    p_cry_sing_hungry=0.9,
+    p_cry_ignore_hungry=0.8,
+    p_cry_feed_sated=0.1,
+    p_cry_sing_sated=0.0,
+    p_cry_ignore_sated=0.1,
+    reward_hungry=-10.0,
+    reward_feed=-5.0,
+    reward_sing=-0.5,
+    discount_factor=0.9
+)
+    return CryingBabyPOMDP(p_sated_to_hungry, p_cry_feed_hungry,
+        p_cry_sing_hungry, p_cry_ignore_hungry, p_cry_feed_sated,
+        p_cry_sing_sated, p_cry_ignore_sated, reward_hungry,
+        reward_feed, reward_sing, discount_factor)
+end
+
+POMDPs.actions(::CryingBabyPOMDP) = [:feed, :sing, :ignore]
+POMDPs.states(::CryingBabyPOMDP) = [CryingBabyState(false), CryingBabyState(true)]
+POMDPs.observations(::CryingBabyPOMDP) = [:crying, :quiet]
+POMDPs.stateindex(::CryingBabyPOMDP, s::CryingBabyState) = s.hungry ? 2 : 1
+POMDPs.obsindex(::CryingBabyPOMDP, o::Symbol) = o == :crying ? 1 : 2
+POMDPs.actionindex(::CryingBabyPOMDP, a::Symbol) = a == :feed ? 1 : a == :sing ? 2 : 3
+
+function POMDPs.transition(pomdp::CryingBabyPOMDP, s::CryingBabyState, a::Symbol)
+    if a == :feed
+        return Deterministic(CryingBabyState(false))
+    elseif s == :sated # :sated and a != :feed
+        return SparseCat([CryingBabyState(false), CryingBabyState(true)], [1 - pomdp.p_sated_to_hungry, pomdp.p_sated_to_hungry])
+    else # s == :hungry and a != :feed
+        return Deterministic(CryingBabyState(true))
+    end
+end
+
+function POMDPs.observation(pomdp::CryingBabyPOMDP, a::Symbol, sp::CryingBabyState)
+    if sp.hungry
+        if a == :sing
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_sing_hungry, 1 - pomdp.p_cry_sing_hungry])
+        elseif a== :ignore
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_ignore_hungry, 1 - pomdp.p_cry_ignore_hungry])
+        else # a == :feed
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_feed_hungry, 1 - pomdp.p_cry_feed_hungry])
+        end
+    else # sated
+        if a == :sing
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_sing_sated, 1 - pomdp.p_cry_sing_sated])
+        elseif a== :ignore
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_ignore_sated, 1 - pomdp.p_cry_ignore_sated])
+        else # a == :feed
+            return SparseCat([:crying, :quiet], [pomdp.p_cry_feed_sated, 1 - pomdp.p_cry_feed_sated])
+        end
+    end
+end
+
+function POMDPs.reward(pomdp::CryingBabyPOMDP, s::CryingBabyState, a::Symbol)
+    r = 0.0
+    if s.hungry
+        r += pomdp.reward_hungry
+    end
+    if a == :feed
+        r += pomdp.reward_feed
+    elseif a == :sing
+        r += pomdp.reward_sing
+    end
+    return r
+end
+
+POMDPs.discount(pomdp::CryingBabyPOMDP) = pomdp.discount_factor
+
+POMDPs.initialstate(::CryingBabyPOMDP) = Deterministic(CryingBabyState(false))
+
+explicit_crying_baby_pomdp = CryingBabyPOMDP()

Generative Interface

This crying baby problem should not be implemented using the generative interface. However, this exmple is provided for pedagogical purposes.

using POMDPs
+using POMDPTools
+using Random
+
+struct GenCryingBabyState
+    hungry::Bool
+end
+
+struct GenCryingBabyPOMDP <: POMDP{CryingBabyState, Symbol, Symbol}
+    p_sated_to_hungry::Float64
+    p_cry_feed_hungry::Float64
+    p_cry_sing_hungry::Float64
+    p_cry_ignore_hungry::Float64
+    p_cry_feed_sated::Float64
+    p_cry_sing_sated::Float64
+    p_cry_ignore_sated::Float64
+    reward_hungry::Float64
+    reward_feed::Float64
+    reward_sing::Float64
+    discount_factor::Float64
+    
+    GenCryingBabyPOMDP() = new(0.1, 0.8, 0.9, 0.8, 0.1, 0.0, 0.1, -10.0, -5.0, -0.5, 0.9)    
+end
+
+function POMDPs.gen(pomdp::GenCryingBabyPOMDP, s::CryingBabyState, a::Symbol, rng::AbstractRNG)
+    
+    if a == :feed
+        sp = GenCryingBabyState(false)
+    else 
+        sp = rand(rng) < pomdp.p_sated_to_hungry ? GenCryingBabyState(true) : GenCryingBabyState(false)
+    end
+    
+    if sp.hungry
+        if a == :sing
+            o = rand(rng) < pomdp.p_cry_sing_hungry ? :crying : :quiet
+        elseif a== :ignore
+            o = rand(rng) < pomdp.p_cry_ignore_hungry ? :crying : :quiet
+        else # a == :feed
+            o = rand(rng) < pomdp.p_cry_feed_hungry ? :crying : :quiet
+        end
+    else # sated
+        if a == :sing
+            o = rand(rng) < pomdp.p_cry_sing_sated ? :crying : :quiet
+        elseif a== :ignore
+            o = rand(rng) < pomdp.p_cry_ignore_sated ? :crying : :quiet
+        else # a == :feed
+            o = rand(rng) < pomdp.p_cry_feed_sated ? :crying : :quiet
+        end
+    end
+    
+    r = 0.0
+    if sp.hungry
+        r += pomdp.reward_hungry
+    end
+    if a == :feed
+        r += pomdp.reward_feed
+    elseif a == :sing
+        r += pomdp.reward_sing
+    end
+    
+    return (sp=sp, o=o, r=r) 
+end
+
+POMDPs.initialstate(::GenCryingBabyPOMDP) = Deterministic(GenCryingBabyState(false))
+
+gen_crying_baby_pomdp = GenCryingBabyPOMDP()

Probability Tables

For this implementaion we will use the following indexes:

  • States
    • :sated = 1
    • :hungry = 2
  • Actions
    • :feed = 1
    • :sing = 2
    • :ignore = 3
  • Observations
    • :crying = 1
    • :quiet = 2
using POMDPModels
+
+T = zeros(2, 3, 2) # |S| x |A| x |S'|, T[sp, a, s] = p(sp | a, s)
+T[:, 1, :] = [1.0 1.0; 
+              0.0 0.0]
+T[:, 2, :] = [0.9 0.0; 
+              0.1 1.0]
+T[:, 3, :] = [0.9 0.0; 
+              0.1 1.0]
+
+O = zeros(2, 3, 2) # |O| x |A| x |S'|, O[o, a, sp] = p(o | a, sp)
+O[:, 1, :] = [0.1 0.8; 
+              0.9 0.2]
+O[:, 2, :] = [0.0 0.9;
+              1.0 0.1]
+O[:, 3, :] = [0.1 0.8;
+              0.9 0.2]
+
+R = zeros(2, 3) # |S| x |A|
+R = [-5.0 -0.5 0.0;
+     -15.0 -10.5 0.0]
+     
+discount = 0.9
+
+tabular_crying_baby_pomdp = TabularPOMDP(T, R, O, discount)
diff --git a/previews/PR543/example_gridworld_mdp/index.html b/previews/PR543/example_gridworld_mdp/index.html new file mode 100644 index 00000000..0df2789a --- /dev/null +++ b/previews/PR543/example_gridworld_mdp/index.html @@ -0,0 +1,370 @@ + +GridWorld MDP Tutorial · POMDPs.jl

GridWorld MDP Tutorial

In this tutorial, we provide a simple example of how to define a Markov decision process (MDP) using the POMDPS.jl interface. We will then solve the MDP using value iteration and Monte Carlo tree search (MCTS). We will walk through constructing the MDP using the explicit interface which invovles defining a new type for the MDP and then extending different components of the POMDPs.jl interface for that type.

Dependencies

We need a few modules in order to run this example. All of the models can be added by running the following command in the Julia REPL:

using Pkg
+
+Pkg.add("POMDPs")
+Pkg.add("POMDPTools")
+Pkg.add("DiscreteValueIteration")
+Pkg.add("MCTS")

If you already had the models installed, it is prudent to update them to the latest version:

Pkg.update()

Now that we have the models installed, we can load them into our workspace:

using POMDPs
+using POMDPTools
+using DiscreteValueIteration
+using MCTS

Problem Overview

In Grid World, we are trying to control an agent who has trouble moving in the desired direction. In our problem, we have four reward states within the a grid. Each position on the grid represents a state, and the positive reward states are terminal (the agent stops recieving reward after reaching them and performing an action from that state). The agent has four actions to choose from: up, down, left, right. The agent moves in the desired direction with a probability of $0.7$, and with a probability of $0.1$ in each of the remaining three directions. If the agent bumps into the outside wall, there is a penalty of $1$ (i.e. reward of $-1$). The problem has the following form:

Grid World

Defining the Grid World MDP Type

In POMDPs.jl, an MDP is defined by creating a subtype of the MDP abstract type. The types of the states and actions for the MDP are declared as parameters of the MDP type. For example, if our states and actions are both represented by integers, we can define our MDP type as follows:

struct MyMDP <: MDP{Int64, Int64} # MDP{StateType, ActionType}
+    # fields go here
+end

In our grid world problem, we will represent the states using a custom type that designates the x and y coordinate within the grid. The actions will by represented by a symbol.

GridWorldState

There are numerous ways to represent the state of the agent in a grid world. We will use a custom type that designates the x and y coordinate within the grid.

struct GridWorldState
+    x::Int64
+    y::Int64
+end

To help us later, let's extend the == for our GridWorldStat:

function Base.:(==)(s1::GridWorldState, s2::GridWorldState)
+    return s1.x == s2.x && s1.y == s2.y
+end

GridWorld Actions

Since our action is the direction the agent chooses to go (i.e. up, down, left, right), we can use a Symbol to represent it. Note that in this case, we are not defining a custom type for our action, instead we represent it directly with a symbol. Our actions will be :up, :down, :left, and :right.

GridWorldMDP

Now that we have defined our types for states and actions, we can define our MDP type. We will call it GridWorldMDP and it will be a subtype of MDP{GridWorldState, Symbol}.

struct GridWorldMDP <: MDP{GridWorldState, Symbol}
+    size_x::Int64 # x size of the grid
+    size_y::Int64 # y size of the grid
+    reward_states_values::Dict{GridWorldState, Float64} # Dictionary mapping reward states to their values
+    hit_wall_reward::Float64 # reward for hitting a wall
+    tprob::Float64 # probability of transitioning to the desired state
+    discount_factor::Float64 # disocunt factor
+end

We can define a constructor for our GridWorldMDP to make it easier to create instances of our MDP.

function GridWorldMDP(;
+    size_x::Int64=10,
+    size_y::Int64=10,
+    reward_states_values::Dict{GridWorldState, Float64}=Dict(
+        GridWorldState(4, 3) => -10.0,
+        GridWorldState(4, 6) => -5.0,
+        GridWorldState(9, 3) => 10.0,
+        GridWorldState(8, 8) => 3.0),
+    hit_wall_reward::Float64=-1.0,
+    tprob::Float64=0.7,
+    discount_factor::Float64=0.9)
+    return GridWorldMDP(size_x, size_y, reward_states_values, hit_wall_reward, tprob, discount_factor)
+end
Main.GridWorldMDP

To help us visualize our MDP, we can extend show for our GridWorldMDP type:

function Base.show(io::IO, mdp::GridWorldMDP)
+    println(io, "Grid World MDP")
+    println(io, "\tSize x: $(mdp.size_x)")
+    println(io, "\tSize y: $(mdp.size_y)")
+    println(io, "\tReward states:")
+    for (key, value) in mdp.reward_states_values
+        println(io, "\t\t$key => $value")
+    end
+    println(io, "\tHit wall reward: $(mdp.hit_wall_reward)")
+    println(io, "\tTransition probability: $(mdp.tprob)")
+    println(io, "\tDiscount: $(mdp.discount_factor)")
+end

Now lets create an instance of our GridWorldMDP:

mdp = GridWorldMDP()
Grid World MDP
+	Size x: 10
+	Size y: 10
+	Reward states:
+		Main.GridWorldState(8, 8) => 3.0
+		Main.GridWorldState(9, 3) => 10.0
+		Main.GridWorldState(4, 6) => -5.0
+		Main.GridWorldState(4, 3) => -10.0
+	Hit wall reward: -1.0
+	Transition probability: 0.7
+	Discount: 0.9
+
Note

In this definition of the problem, our coordiates start in the bottom left of the grid. That is GridState(1, 1) is the bottom left of the grid and GridState(10, 10) would be on the right of the grid with a grid size of 10 by 10.

Grid World State Space

The state space in an MDP represents all the states in the problem. There are two primary functionalities that we want our spaces to support. We want to be able to iterate over the state space (for Value Iteration for example), and sometimes we want to be able to sample form the state space (used in some POMDP solvers). In this notebook, we will only look at iterable state spaces.

Since we can iterate over elements of an array, and our problem is small, we can store all of our states in an array. We also have a terminal state based on the definition of our problem. We can represent that as a location outside of the grid (i.e. (-1, -1)).

function POMDPs.states(mdp::GridWorldMDP)
+    states_array = GridWorldState[]
+    for x in 1:mdp.size_x
+        for y in 1:mdp.size_y
+            push!(states_array, GridWorldState(x, y))
+        end
+    end
+    push!(states_array, GridWorldState(-1, -1)) # Adding the terminal state
+    return states_array
+end

Let's view some of the states in our state space:

@show states(mdp)[1:5]
5-element Vector{Main.GridWorldState}:
+ Main.GridWorldState(1, 1)
+ Main.GridWorldState(1, 2)
+ Main.GridWorldState(1, 3)
+ Main.GridWorldState(1, 4)
+ Main.GridWorldState(1, 5)

We also need a other functions related to the state space.

# Check if a state is the terminal state
+POMDPs.isterminal(mdp::GridWorldMDP, s::GridWorldState) = s == GridWorldState(-1, -1)
+
+# Define the initial state distribution (always start in the bottom left)
+POMDPs.initialstate(mdp::GridWorldMDP) = Deterministic(GridWorldState(1, 1))
+
+# Function that returns the index of a state in the state space
+function POMDPs.stateindex(mdp::GridWorldMDP, s::GridWorldState)
+    if isterminal(mdp, s)
+        return length(states(mdp))
+    end
+
+    @assert 1 <= s.x <= mdp.size_x "Invalid state"
+    @assert 1 <= s.y <= mdp.size_y "Invalid state"
+
+    si = (s.x - 1) * mdp.size_y + s.y
+    return si
+end

Large State Spaces

If your problem is very large we probably do not want to store all of our states in an array. We can create an iterator using indexing functions to help us out. One way of doing this is to define a function that returns a state from an index and then construct an iterator. This is an example of how we can do that for the Grid World problem.

Note

If you run this section, you will redefine the states(::GridWorldMDP) that we just defined in the previous section.

    # Define the length of the state space, number of grid locations plus the terminal state
+    Base.length(mdp::GridWorldMDP) = mdp.size_x * mdp.size_y + 1
+
+    # `states` now returns the mdp, which we will construct our iterator from
+    POMDPs.states(mdp::GridWorldMDP) = mdp
+
+    function Base.getindex(mdp::GridWorldMDP, si::Int) # Enables mdp[si]
+        @assert si <= length(mdp) "Index out of bounds"
+        @assert si > 0  "Index out of bounds"
+
+        # First check if we are in the terminal state (which we define as the last state)
+        if si == length(mdp)
+            return GridWorldState(-1, -1)
+        end
+
+        # Otherwise, we need to calculate the x and y coordinates
+        y = (si - 1) % mdp.size_y + 1
+        x = div((si - 1), mdp.size_y) + 1
+        return GridWorldState(x, y)
+    end
+
+    function Base.getindex(mdp::GridWorldMDP, si_range::UnitRange{Int}) # Enables mdp[1:5]
+        return [getindex(mdp, si) for si in si_range]
+    end
+
+    Base.firstindex(mdp::GridWorldMDP) = 1 # Enables mdp[begin]
+    Base.lastindex(mdp::GridWorldMDP) = length(mdp) # Enables mdp[end]
+
+    # We can now construct an iterator
+    function Base.iterate(mdp::GridWorldMDP, ii::Int=1)
+        if ii > length(mdp)
+            return nothing
+        end
+        s = getindex(mdp, ii)
+        return (s, ii + 1)
+    end

Similar to above, let's iterate over a few of the states in our state space:

@show states(mdp)[1:5]
+@show mdp[begin]
+@show mdp[end]
Main.GridWorldState(-1, -1)

Grid World Action Space

The action space is the set of all actions availiable to the agent. In the grid world problem the action space consists of up, down, left, and right. We can define the action space by implementing a new method of the actions function.

POMDPs.actions(mdp::GridWorldMDP) = [:up, :down, :left, :right]

Similar to the state space, we need a function that returns an index given an action.

function POMDPs.actionindex(mdp::GridWorldMDP, a::Symbol)
+    @assert in(a, actions(mdp)) "Invalid action"
+    return findfirst(x -> x == a, actions(mdp))
+end

Grid World Transition Function

MDPs often define the transition function as $T(s^{\prime} \mid s, a)$, which is the probability of transitioning to state $s^{\prime}$ given that we are in state $s$ and take action $a$. For the POMDPs.jl interface, we define the transition function as a distribution over the next states. That is, we want $T(\cdot \mid s, a)$ which is a function that takes in a state and an action and returns a distribution over the next states.

For our grid world example, there are only a few states to which the agent can transition and thus only a few states with nonzero probaility in $T(\cdot \mid s, a)$. We can use the SparseCat distribution to represent this. The SparseCat distribution is a categorical distribution that only stores the nonzero probabilities. We can define our transition function as follows:

function POMDPs.transition(mdp::GridWorldMDP, s::GridWorldState, a::Symbol)
+    # If we are in the terminal state, we stay in the terminal state
+    if isterminal(mdp, s)
+        return SparseCat([s], [1.0])
+    end
+
+    # If we are in a positive reward state, we transition to the terminal state
+    if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] > 0
+        return SparseCat([GridWorldState(-1, -1)], [1.0])
+    end
+
+    # Probability of going in a direction other than the desired direction
+    tprob_other = (1 - mdp.tprob) / 3
+
+    new_state_up = GridWorldState(s.x, min(s.y + 1, mdp.size_y))
+    new_state_down = GridWorldState(s.x, max(s.y - 1, 1))
+    new_state_left = GridWorldState(max(s.x - 1, 1), s.y)
+    new_state_right = GridWorldState(min(s.x + 1, mdp.size_x), s.y)
+
+    new_state_vector = [new_state_up, new_state_down, new_state_left, new_state_right]
+    t_prob_vector = fill(tprob_other, 4)
+
+    if a == :up
+        t_prob_vector[1] = mdp.tprob
+    elseif a == :down
+        t_prob_vector[2] = mdp.tprob
+    elseif a == :left
+        t_prob_vector[3] = mdp.tprob
+    elseif a == :right
+        t_prob_vector[4] = mdp.tprob
+    else
+        error("Invalid action")
+    end
+
+    # Combine probabilities for states that are the same
+    for i in 1:4
+        for j in (i + 1):4
+            if new_state_vector[i] == new_state_vector[j]
+                t_prob_vector[i] += t_prob_vector[j]
+                t_prob_vector[j] = 0.0
+            end
+        end
+    end
+
+    # Remove states with zero probability
+    new_state_vector = new_state_vector[t_prob_vector .> 0]
+    t_prob_vector = t_prob_vector[t_prob_vector .> 0]
+
+    return SparseCat(new_state_vector, t_prob_vector)
+end

Let's examline a few transitions:

@show transition(mdp, GridWorldState(1, 1), :up)
                                                                         SparseCat distribution           
+                                                               ┌                                        ┐ 
+   Main.GridWorldState(1, 2) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.7   
+   Main.GridWorldState(1, 1) ■■■■■■■■■■ 0.2                            
+   Main.GridWorldState(2, 1) ■■■■■ 0.1                                 
+                                                               └                                        ┘ 
@show transition(mdp, GridWorldState(1, 1), :left)
                                                                         SparseCat distribution           
+                                                               ┌                                        ┐ 
+   Main.GridWorldState(1, 2) ■■■■ 0.1                                  
+   Main.GridWorldState(1, 1) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 0.8   
+   Main.GridWorldState(2, 1) ■■■■ 0.1                                  
+                                                               └                                        ┘ 
@show transition(mdp, GridWorldState(9, 3), :right)
                                                                           SparseCat distribution           
+                                                                 ┌                                        ┐ 
+   Main.GridWorldState(-1, -1) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 1   
+                                                                 └                                        ┘ 
@show transition(mdp, GridWorldState(-1, -1), :down)
                                                                           SparseCat distribution           
+                                                                 ┌                                        ┐ 
+   Main.GridWorldState(-1, -1) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 1   
+                                                                 └                                        ┘ 

Grid World Reward Function

In our problem, we have a reward function that depends on the next state as well (i.e. if we hit a wall, we stay in the same state and get a reward of $-1$). We can still construct a reward function that only depends on the current state and action by using expectation over the next state. That is, we can define our reward function as $R(s, a) = \mathbb{E}_{s^{\prime} \sim T(\cdot \mid s, a)}[R(s, a, s^{\prime})]$.

# First, let's define the reward function given the state, action, and next state
+function POMDPs.reward(mdp::GridWorldMDP, s::GridWorldState, a::Symbol, sp::GridWorldState)
+    # If we are in the terminal state, we get a reward of 0
+    if isterminal(mdp, s)
+        return 0.0
+    end
+
+    # If we are in a positive reward state, we get the reward of that state
+    # For a positive reward, we transition to the terminal state, so we don't have
+    # to worry about the next state (i.g. hitting a wall)
+    if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] > 0
+        return mdp.reward_states_values[s]
+    end
+
+    # If we are in a negative reward state, we get the reward of that state
+    # If the negative reward state is on the edge of the grid, we can also be in this state
+    # and hit a wall, so we need to check for that
+    r = 0.0
+    if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] < 0
+        r += mdp.reward_states_values[s]
+    end
+
+    # If we hit a wall, we get a reward of -1
+    if s == sp
+        r += mdp.hit_wall_reward
+    end
+
+    return r
+end
+
+# Now we can define the reward function given the state and action
+function POMDPs.reward(mdp::GridWorldMDP, s::GridWorldState, a::Symbol)
+    r = 0.0
+    for (sp, p) in transition(mdp, s, a)
+        r += p * reward(mdp, s, a, sp)
+    end
+    return r
+end

Let's examine a few rewards:

@show reward(mdp, GridWorldState(1, 1), :up)
-0.20000000000000004
@show reward(mdp, GridWorldState(1, 1), :left)
-0.7999999999999999
@show reward(mdp, GridWorldState(9, 3), :right)
10.0
@show reward(mdp, GridWorldState(-1, -1), :down)
0.0
@show reward(mdp, GridWorldState(2, 3), :up)
0.0

Grid World Remaining Functions

We are almost done! We still need to define discount. Let's first use POMDPLinter to check if we have defined all the functions we need for DiscreteValueIteration:

using POMDPLinter
+
+@show_requirements POMDPs.solve(ValueIterationSolver(), mdp)
false

As we expected, we need to define discount.

function POMDPs.discount(mdp::GridWorldMDP)
+    return mdp.discount_factor
+end

Let's check again:

@show_requirements POMDPs.solve(ValueIterationSolver(), mdp)
true

Solving the Grid World MDP (Value Iteration)

Now that we have defined our MDP, we can solve it using Value Iteration. We will use the ValueIterationSolver from the DiscreteValueIteration package. First, we construct the a Solver type which contains the solver parameters. Then we call POMDPs.solve to solve the MDP and return a policy.

# Initialize the problem (we have already done this, but just calling it again for completeness in the example)
+mdp = GridWorldMDP()
+
+# Initialize the solver with desired parameters
+solver = ValueIterationSolver(; max_iterations=100, belres=1e-3, verbose=true)
+
+# Solve for an optimal policy
+vi_policy = POMDPs.solve(solver, mdp)
[Iteration 1   ] residual:         10 | iteration runtime:      0.229 ms, (  0.000229 s total)
+[Iteration 2   ] residual:        6.3 | iteration runtime:      0.218 ms, (  0.000447 s total)
+[Iteration 3   ] residual:       4.53 | iteration runtime:      0.208 ms, (  0.000655 s total)
+[Iteration 4   ] residual:       3.21 | iteration runtime:      0.211 ms, (  0.000866 s total)
+[Iteration 5   ] residual:       2.31 | iteration runtime:      0.207 ms, (   0.00107 s total)
+[Iteration 6   ] residual:       1.62 | iteration runtime:      0.208 ms, (   0.00128 s total)
+[Iteration 7   ] residual:       1.24 | iteration runtime:      0.204 ms, (   0.00149 s total)
+[Iteration 8   ] residual:       1.06 | iteration runtime:      0.207 ms, (   0.00169 s total)
+[Iteration 9   ] residual:      0.865 | iteration runtime:      0.207 ms, (    0.0019 s total)
+[Iteration 10  ] residual:      0.657 | iteration runtime:      0.204 ms, (    0.0021 s total)
+[Iteration 11  ] residual:      0.545 | iteration runtime:      0.204 ms, (   0.00231 s total)
+[Iteration 12  ] residual:      0.455 | iteration runtime:      0.206 ms, (   0.00251 s total)
+[Iteration 13  ] residual:      0.378 | iteration runtime:      0.206 ms, (   0.00272 s total)
+[Iteration 14  ] residual:      0.306 | iteration runtime:      0.206 ms, (   0.00293 s total)
+[Iteration 15  ] residual:      0.211 | iteration runtime:      0.243 ms, (   0.00317 s total)
+[Iteration 16  ] residual:      0.132 | iteration runtime:      0.208 ms, (   0.00338 s total)
+[Iteration 17  ] residual:     0.0778 | iteration runtime:      0.207 ms, (   0.00358 s total)
+[Iteration 18  ] residual:     0.0437 | iteration runtime:      0.207 ms, (   0.00379 s total)
+[Iteration 19  ] residual:     0.0237 | iteration runtime:      0.208 ms, (     0.004 s total)
+[Iteration 20  ] residual:     0.0125 | iteration runtime:      0.211 ms, (   0.00421 s total)
+[Iteration 21  ] residual:    0.00649 | iteration runtime:      0.209 ms, (   0.00442 s total)
+[Iteration 22  ] residual:    0.00332 | iteration runtime:      0.206 ms, (   0.00462 s total)
+[Iteration 23  ] residual:    0.00167 | iteration runtime:      0.206 ms, (   0.00483 s total)
+[Iteration 24  ] residual:   0.000834 | iteration runtime:      0.206 ms, (   0.00504 s total)

We can now use the policy to compute the optimal action for a given state:

s = GridWorldState(9, 2)
+@show action(vi_policy, s)
:up
s = GridWorldState(8, 3)
+@show action(vi_policy, s)
:right

Solving the Grid World MDP (MCTS)

Similar to the process with Value Iteration, we can solve the MDP using MCTS. We will use the MCTSSolver from the MCTS package.

# Initialize the problem (we have already done this, but just calling it again for completeness in the example)
+mdp = GridWorldMDP()
+
+# Initialize the solver with desired parameters
+solver = MCTSSolver(n_iterations=1000, depth=20, exploration_constant=10.0)
+
+# Now we construct a planner by calling POMDPs.solve. For online planners, the computation for the
+# optimal action occurs in the call to `action`.
+mcts_planner = POMDPs.solve(solver, mdp)

Similar to the value iteration policy, we can use the policy to compute the action for a given state:

s = GridWorldState(9, 2)
+@show action(mcts_planner, s)
:up
s = GridWorldState(8, 3)
+@show action(mcts_planner, s)
:right

Visualizing the Value Iteration Policy

We can visualize the value iteration policy by plotting the value function and the policy. We can use numerous plotting packages to do this, but we will use UnicodePlots for this example.

using UnicodePlots
+using Printf

Value Function as a Heatmap

We can plot the value function as a heatmap. The value function is a function over the state space, so we need to iterate over the state space and store the value at each state. We can use the value function to evaluate the value function at a given state.

# Initialize the value function array
+value_function = zeros(mdp.size_y, mdp.size_x)
+
+# Iterate over the state space and store the value at each state
+for s in states(mdp)
+    if isterminal(mdp, s)
+        continue
+    end
+    value_function[s.y, s.x] = value(vi_policy, s)
+end
+
+# Plot the value function
+heatmap(value_function;
+    title="GridWorld VI Value Function",
+    xlabel="x position",
+    ylabel="y position",
+    colormap=:inferno
+)
                 GridWorld VI Value Function     
+                 ┌──────────┐  10 
+              10 ▄▄▄▄▄▄▄▄ ┌──┐
+                 ▄▄▄▄▄▄ ▄▄
+   y position    ▄▄ ▄▄
+                 ▄▄ ▄▄
+               1 ▄▄▄▄ └──┘
+                 └──────────┘ -7  
+                  1       10      
+                  x position      
Note

Rendering of unicode plots in the documentation is not optimal. For a better image, run this locally in a REPL.

Visualizing the Value Iteration Policy

One way to visualize the policy is to plot the action that the policy takes at each state.

# Initialize the policy array
+policy_array = fill(:up, mdp.size_x, mdp.size_y)
+
+# Iterate over the state space and store the action at each state
+for s in states(mdp)
+    if isterminal(mdp, s)
+        continue
+    end
+    policy_array[s.x, s.y] = action(vi_policy, s)
+end
+
+# Let's define a mapping from symbols to unicode arrows
+arrow_map = Dict(
+    :up => " ↑ ",
+    :down => " ↓ ",
+    :left => " ← ",
+    :right => " → "
+)
+
+# Plot the policy to the terminal, with the origin in the bottom left
+@printf("        GridWorld VI Policy      \n")
+for y in mdp.size_y+1:-1:0
+    if y == mdp.size_y+1 || y == 0
+        for xi in 0:10
+            if xi == 0
+                print("   ")
+            elseif y == mdp.size_y+1
+                print("___")
+            else
+                print("---")
+            end
+        end
+    else
+        for x in 0:mdp.size_x+1
+            if x == 0
+                @printf("%2d |", y)
+            elseif x == mdp.size_x + 1
+                print("|")
+            else
+                print(arrow_map[policy_array[x, y]])
+            end
+        end
+    end
+    println()
+    if y == 0
+        for xi in 0:10
+            if xi == 0
+                print("   ")
+            else
+                print(" $xi ")
+            end
+        end
+    end
+end
        GridWorld VI Policy
+   ______________________________
+10 | →  ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ |
+ 9 | →  →  →  →  ↓  ↓  ↓  →  ↓  ↓ |
+ 8 | →  →  →  →  →  ↓  ↓  ↑  ↓  ↓ |
+ 7 | →  →  →  →  →  →  ↓  ↓  ↓  ↓ |
+ 6 | →  ↓  ↓  →  →  →  ↓  ↓  ↓  ↓ |
+ 5 | →  →  →  →  →  →  →  ↓  ↓  ↓ |
+ 4 | →  →  →  →  →  →  →  →  ↓  ↓ |
+ 3 | →  ↓  ↓  →  →  →  →  →  ↑  ← |
+ 2 | →  →  →  →  →  →  →  →  ↑  ↑ |
+ 1 | →  →  →  →  →  →  ↑  ↑  ↑  ↑ |
+   ------------------------------
+    1  2  3  4  5  6  7  8  9  10

Seeing a Policy In Action

Another useful tool is to view the policy in action by creating a gif of a simulation. To accomplish this, we could use POMDPGifs. To use POMDPGifs, we need to extend the POMDPTools.render function to GridWorldMDP. Please reference Gallery of POMDPs.jl Problems for examples of this process.

diff --git a/previews/PR543/example_simulations/index.html b/previews/PR543/example_simulations/index.html new file mode 100644 index 00000000..fd233ef3 --- /dev/null +++ b/previews/PR543/example_simulations/index.html @@ -0,0 +1,181 @@ + +Simulations Examples · POMDPs.jl

Simulations Examples

In these simulation examples, we will use the crying baby POMDPs defined in the Defining a POMDP section (i.e. quick_crying_baby_pomdp, explicit_crying_baby_pomdp, gen_crying_baby_pomdp, and tabular_crying_baby_pomdp).

Stepthrough

The stepthrough simulater provides a window into the simulation with a for-loop syntax.

Within the body of the for loop, we have access to the belief, the action, the observation, and the reward, in each step. We also calculate the sum of the rewards in this example, but note that this is not the discounted reward.

policy = RandomPolicy(quick_crying_baby_pomdp)
+r_sum = 0.0
+step = 0
+for (b, s, a, o, r) in stepthrough(quick_crying_baby_pomdp, policy, DiscreteUpdater(quick_crying_baby_pomdp), "b,s,a,o,r"; max_steps=4)
+    step += 1
+    println("Step $step")
+    println("b = sated => $(b.b[1]), hungry => $(b.b[2])")
+    @show s
+    @show a
+    @show o
+    @show r
+    r_sum += r
+    @show r_sum
+    println()
+end
Step 1
+b = sated => 1.0, hungry => 0.0
+s = :sated
+a = :feed
+o = :quiet
+r = -5.0
+r_sum = -5.0
+
+Step 2
+b = sated => 1.0, hungry => 0.0
+s = :sated
+a = :sing
+o = :quiet
+r = -0.5
+r_sum = -5.5
+
+Step 3
+b = sated => 0.989010989010989, hungry => 0.010989010989010992
+s = :sated
+a = :ignore
+o = :crying
+r = 0.0
+r_sum = -5.5
+
+Step 4
+b = sated => 0.5031055900621118, hungry => 0.4968944099378882
+s = :sated
+a = :sing
+o = :quiet
+r = -0.5
+r_sum = -6.0

Rollout Simulations

While stepthrough is a flexible and convenient tool for many user-facing demonstrations, it is often less error-prone to use the standard simulate function with a Simulator object. The simplest Simulator is the RolloutSimulator. It simply runs a simulation and returns the discounted reward.

policy = RandomPolicy(explicit_crying_baby_pomdp)
+sim = RolloutSimulator(max_steps=10)
+r_sum = simulate(sim, explicit_crying_baby_pomdp, policy)
+println("Total discounted reward: $r_sum")
Total discounted reward: -45.00030254000001

Recording Histories

Sometimes it is important to record the entire history of a simulation for further examination. This can be accomplished with a HistoryRecorder.

policy = RandomPolicy(tabular_crying_baby_pomdp)
+hr = HistoryRecorder(max_steps=5)
+history = simulate(hr, tabular_crying_baby_pomdp, policy, DiscreteUpdater(tabular_crying_baby_pomdp), Deterministic(1))

The history object produced by a HistoryRecorder is a SimHistory, documented in the POMDPTools simulater section Histories. The information in this object can be accessed in several ways. For example, there is a function:

discounted_reward(history)
-30.885000000000005

Accessor functions like state_hist and action_hist can also be used to access parts of the history:

state_hist(history)
6-element Vector{Int64}:
+ 2
+ 2
+ 2
+ 2
+ 1
+ 1
collect(action_hist(history))
5-element Vector{Int64}:
+ 2
+ 2
+ 3
+ 1
+ 3

Keeping track of which states, actions, and observations belong together can be tricky (for example, since there is a starting state, and ending state, but no action is taken from the ending state, the list of actions has a different length than the list of states). It is often better to think of histories in terms of steps that include both starting and ending states.

The most powerful function for accessing the information in a SimHistory is the eachstep function which returns an iterator through named tuples representing each step in the history. The eachstep function is similar to the stepthrough function above except that it iterates through the immutable steps of a previously simulated history instead of conducting the simulation as the for loop is being carried out.

r_sum = 0.0
+step = 0
+for step_i in eachstep(sim_history, "b,s,a,o,r")
+    step += 1
+    println("Step $step")
+    println("step_i.b = sated => $(step_i.b.b[1]), hungry => $(step_i.b.b[2])")
+    @show step_i.s
+    @show step_i.a
+    @show step_i.o
+    @show step_i.r
+    r_sum += step_i.r
+    @show r_sum
+    println()
+end
+end # hide
Step 1
+step_i.b = sated => 1.0, hungry => 0.0
+step_i.s = 2
+step_i.a = 2
+step_i.o = 1
+step_i.r = -10.5
+r_sum = -10.5
+
+Step 2
+step_i.b = sated => 0.0, hungry => 1.0
+step_i.s = 2
+step_i.a = 2
+step_i.o = 1
+step_i.r = -10.5
+r_sum = -21.0
+
+Step 3
+step_i.b = sated => 0.0, hungry => 1.0
+step_i.s = 2
+step_i.a = 3
+step_i.o = 1
+step_i.r = 0.0
+r_sum = -21.0
+
+Step 4
+step_i.b = sated => 0.0, hungry => 1.0
+step_i.s = 2
+step_i.a = 1
+step_i.o = 2
+step_i.r = -15.0
+r_sum = -36.0
+
+Step 5
+step_i.b = sated => 1.0, hungry => 0.0
+step_i.s = 1
+step_i.a = 3
+step_i.o = 2
+step_i.r = 0.0
+r_sum = -36.0

Parallel Simulations

It is often useful to evaluate a policy by running many simulations. The parallel simulator is the most effective tool for this. To use the parallel simulator, first create a list of Sim objects, each of which contains all of the information needed to run a simulation. Then then run the simulations using run_parallel, which will return a DataFrame with the results.

In this example, we will compare the performance of the polcies we computed in the Using Different Solvers section (i.e. sarsop_policy, pomcp_planner, and heuristic_policy). To evaluate the policies, we will run 100 simulations for each policy. We can do this by adding 100 Sim objects of each policy to the list.

using DataFrames
+using StatsBase: std
+
+# Defining paramters for the simulations
+number_of_sim_to_run = 100
+max_steps = 20
+starting_seed = 1
+
+# We will also compare against a random policy
+rand_policy = RandomPolicy(quick_crying_baby_pomdp, rng=MersenneTwister(1))
+
+# Create the list of Sim objects
+sim_list = []
+
+# Add 100 Sim objects of each policy to the list.
+for sim_number in 1:number_of_sim_to_run
+    seed = starting_seed + sim_number
+
+    # Add the SARSOP policy
+    push!(sim_list, Sim(
+        quick_crying_baby_pomdp,
+        rng=MersenneTwister(seed),
+        sarsop_policy,
+        max_steps=max_steps,
+        metadata=Dict(:policy => "sarsop", :seed => seed))
+    )
+
+    # Add the POMCP policy
+    push!(sim_list, Sim(
+        quick_crying_baby_pomdp,
+        rng=MersenneTwister(seed),
+        pomcp_planner,
+        max_steps=max_steps,
+        metadata=Dict(:policy => "pomcp", :seed => seed))
+    )
+
+    # Add the heuristic policy
+    push!(sim_list, Sim(
+        quick_crying_baby_pomdp,
+        rng=MersenneTwister(seed),
+        heuristic_policy,
+        max_steps=max_steps,
+        metadata=Dict(:policy => "heuristic", :seed => seed))
+    )
+
+    # Add the random policy
+    push!(sim_list, Sim(
+        quick_crying_baby_pomdp,
+        rng=MersenneTwister(seed),
+        rand_policy,
+        max_steps=max_steps,
+        metadata=Dict(:policy => "random", :seed => seed))
+    )
+end
+
+# Run the simulations in parallel
+data = run_parallel(sim_list)
+
+# Define a function to calculate the mean and confidence interval
+function mean_and_ci(x)
+    m = mean(x)
+    ci = 1.96 * std(x) / sqrt(length(x))  # 95% confidence interval
+    return (mean = m, ci = ci)
+end
+
+# Calculate the mean and confidence interval for each policy
+grouped_df = groupby(data, :policy)
+result = combine(grouped_df, :reward => mean_and_ci => AsTable)
4×3 DataFrame
Rowpolicymeanci
String?Float64Float64
1sarsop-14.62641.81814
2pomcp-18.69041.57649
3heuristic-16.89252.10586
4random-30.42012.64208

By default, the parallel simulator only returns the reward from each simulation, but more information can be gathered by specifying a function to analyze the Sim-history pair and record additional statistics. Reference the POMDPTools simulator section for more information (Specifying information to be recorded).

diff --git a/previews/PR543/example_solvers/index.html b/previews/PR543/example_solvers/index.html new file mode 100644 index 00000000..6a7d7ae2 --- /dev/null +++ b/previews/PR543/example_solvers/index.html @@ -0,0 +1,155 @@ + +Using Different Solvers · POMDPs.jl

Using Different Solvers

There are various solvers implemented for use out-of-the-box. Please reference the repository README for a list of MDP Solvers and POMDP Solvers implemented and maintained by the JuliaPOMDP community. We provide a few examples of how to use a small subset of these solvers.

Checking Requirements

Before using a solver, it is prudent to ensure the problem meets the requirements of the solver. Please reference the solver documentation for detailed information about the requirements of each solver.

We can use POMDPLInter to help us determine if we have all of the required components defined for a particular solver. However, not all solvers have the requirements implemented. If/when you encounter a solver that does not have the requirements implemented, please open an issue on the solver's repository.

Let's check if we have all of the required components of our problems for the QMDP solver.

using POMDPLinter
+using QMDP
+
+qmdp_solver = QMDPSolver()
+
+println("Quick Crying Baby POMDP")
+@show_requirements POMDPs.solve(qmdp_solver, quick_crying_baby_pomdp)
+
+println("\nExplicit Crying Baby POMDP")
+@show_requirements POMDPs.solve(qmdp_solver, explicit_crying_baby_pomdp)
+
+println("\nTabular Crying Baby POMDP")
+@show_requirements POMDPs.solve(qmdp_solver, tabular_crying_baby_pomdp)
+
+println("\nGen Crying Baby POMDP")
+# We don't have an actions(::GenGryingBabyPOMDP) implemented
+try
+    @show_requirements POMDPs.solve(qmdp_solver, gen_crying_baby_pomdp)
+catch err_msg
+    println(err_msg)
+end
Quick Crying Baby POMDP
+INFO: POMDPLinter requirements for solve(::QMDP.QMDPSolver, ::POMDP) and dependencies. ([✔] = implemented correctly; [X] = not implemented; [?] = could not determine)
+
+For solve(::QMDP.QMDPSolver, ::POMDP):
+  [No additional requirements]
+For solve(::ValueIterationSolver, ::Union{MDP,POMDP}) (in solve(::QMDP.QMDPSolver, ::POMDP)):
+  [✔] discount(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol})
+  [✔] transition(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol}, ::Symbol, ::Symbol)
+  [✔] reward(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol}, ::Symbol, ::Symbol, ::Symbol)
+  [✔] stateindex(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol}, ::Symbol)
+  [✔] actionindex(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol}, ::Symbol)
+  [✔] actions(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol}, ::Symbol)
+  [✔] length(::Array{Symbol1})
+  [✔] support(::Deterministic{Symbol})
+  [✔] pdf(::Deterministic{Symbol}, ::Symbol)
+For ordered_states(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] states(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol})
+For ordered_actions(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] actions(::UnderlyingMDP{QuickPOMDPs.QuickPOMDP{UUID("88a1e27d-aa3e-4f94-a1e2-5c468c97fe71"), Symbol, Symbol, Symbol, @NamedTuple{stateindex::Dict{Symbol, Int64}, isterminal::Bool, obsindex::Dict{Symbol, Int64}, states::Vector{Symbol}, observations::Vector{Symbol}, discount::Float64, actions::Vector{Symbol}, observation::Main.var"#2#5", actionindex::Dict{Symbol, Int64}, initialstate::Deterministic{Symbol}, transition::Main.var"#1#4", reward::Main.var"#3#6"}}SymbolSymbol})
+
+Explicit Crying Baby POMDP
+INFO: POMDPLinter requirements for solve(::QMDP.QMDPSolver, ::POMDP) and dependencies. ([✔] = implemented correctly; [X] = not implemented; [?] = could not determine)
+
+For solve(::QMDP.QMDPSolver, ::POMDP):
+  [No additional requirements]
+For solve(::ValueIterationSolver, ::Union{MDP,POMDP}) (in solve(::QMDP.QMDPSolver, ::POMDP)):
+  [✔] discount(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol})
+  [✔] transition(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState, ::Symbol)
+  [✔] reward(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState, ::Symbol, ::CryingBabyState)
+  [✔] stateindex(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState)
+  [✔] actionindex(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol}, ::Symbol)
+  [✔] actions(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState)
+  [✔] length(::Array{Main.CryingBabyState1})
+  [✔] length(::Array{Symbol1})
+  [✔] support(::Deterministic{Main.CryingBabyState})
+  [✔] pdf(::Deterministic{Main.CryingBabyState}, ::CryingBabyState)
+For ordered_states(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] states(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol})
+For ordered_actions(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] actions(::UnderlyingMDP{Main.CryingBabyPOMDPMain.CryingBabyStateSymbol})
+
+Tabular Crying Baby POMDP
+INFO: POMDPLinter requirements for solve(::QMDP.QMDPSolver, ::POMDP) and dependencies. ([✔] = implemented correctly; [X] = not implemented; [?] = could not determine)
+
+For solve(::QMDP.QMDPSolver, ::POMDP):
+  [No additional requirements]
+For solve(::ValueIterationSolver, ::Union{MDP,POMDP}) (in solve(::QMDP.QMDPSolver, ::POMDP)):
+  [✔] discount(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64})
+  [✔] transition(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64}, ::Int64, ::Int64)
+  [✔] reward(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64}, ::Int64, ::Int64, ::Int64)
+  [✔] stateindex(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64}, ::Int64)
+  [✔] actionindex(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64}, ::Int64)
+  [✔] actions(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64}, ::Int64)
+  [✔] length(::UnitRange{Int64})
+  [✔] support(::DiscreteDistribution{SubArray{Float64, 1, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64, Int64}, true}})
+  [✔] pdf(::DiscreteDistribution{SubArray{Float64, 1, Array{Float64, 3}, Tuple{Base.Slice{Base.OneTo{Int64}}, Int64, Int64}, true}}, ::Int64)
+For ordered_states(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] states(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64})
+For ordered_actions(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] actions(::UnderlyingMDP{POMDPModels.TabularPOMDPInt64Int64})
+
+Gen Crying Baby POMDP
+INFO: POMDPLinter requirements for solve(::QMDP.QMDPSolver, ::POMDP) and dependencies. ([✔] = implemented correctly; [X] = not implemented; [?] = could not determine)
+
+For solve(::QMDP.QMDPSolver, ::POMDP):
+  [No additional requirements]
+For solve(::ValueIterationSolver, ::Union{MDP,POMDP}) (in solve(::QMDP.QMDPSolver, ::POMDP)):
+  [✔] discount(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol})
+  [✔] transition(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState, ::Symbol)
+  [✔] reward(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState, ::Symbol, ::CryingBabyState)
+  [✔] stateindex(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState)
+  [✔] actionindex(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol}, ::Symbol)
+  [✔] actions(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol}, ::CryingBabyState)
+  WARNING: Some requirements may not be shown because a MethodError was thrown.
+For ordered_states(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] states(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol})
+  WARNING: Some requirements may not be shown because a MethodError was thrown.
+For ordered_actions(::Union{MDP,POMDP}) (in solve(::ValueIterationSolver, ::Union{MDP,POMDP})):
+  [✔] actions(::UnderlyingMDP{Main.GenCryingBabyPOMDPMain.CryingBabyStateSymbol})
+  WARNING: Some requirements may not be shown because a MethodError was thrown.
+Note: Missing methods are often due to incorrect importing. You must explicitly import POMDPs functions to add new methods.
+
+Throwing the first exception (from processing solve(::ValueIterationSolver, ::Union{MDP,POMDP}) requirements):
+
+MethodError(POMDPs.actions, (Main.GenCryingBabyPOMDP(0.1, 0.8, 0.9, 0.8, 0.1, 0.0, 0.1, -10.0, -5.0, -0.5, 0.9),), 0x0000000000007c04)

Offline (SARSOP)

In this example, we will use the NativeSARSOP solver. The process for generating offline polcies is similar for all offline solvers. First, we define the solver with the desired parameters. Then, we call POMDPs.solve with the solver and the problem. We can query the policy using the action function.

using NativeSARSOP
+
+# Define the solver with the desired paramters
+sarsop_solver = SARSOPSolver(; max_time=10.0)
+
+# Solve the problem by calling POMDPs.solve. SARSOP will compute the policy and return an `AlphaVectorPolicy`
+sarsop_policy = POMDPs.solve(sarsop_solver, quick_crying_baby_pomdp)
+
+# We can query the policy using the `action` function
+b = initialstate(quick_crying_baby_pomdp)
+a = action(sarsop_policy, b)
+
+@show a
:ignore

Online (POMCP)

For the online solver, we will use Particle Monte Carlo Planning (POMCP). For online solvers, we first define the solver similar to offline solvers. However, when we call POMDPs.solve, we are returned an online plannner. Similar to the offline solver, we can query the policy using the action function and that is when the online solver will compute the action.

using BasicPOMCP
+
+pomcp_solver = POMCPSolver(; c=5.0, tree_queries=1000, rng=MersenneTwister(1))
+pomcp_planner = POMDPs.solve(pomcp_solver, quick_crying_baby_pomdp)
+
+b = initialstate(quick_crying_baby_pomdp)
+a = action(pomcp_planner, b)
+
+@show a
:ignore

Heuristic Policy

While we often want to use a solver to compute a policy, sometimes we might want to use a heuristic policy. For example, we may want to use a heuristic policy during our rollouts for online solvers or to use as a baseline. In this example, we will define a simple heuristic policy that feeds the baby if our belief of the baby being hungry is greater than 50%, otherwise we will randomly ignore or sing to the baby.

struct HeuristicFeedPolicy{P<:POMDP} <: Policy
+    pomdp::P
+end
+
+# We need to implement the action function for our policy
+function POMDPs.action(policy::HeuristicFeedPolicy, b)
+    if pdf(b, :hungry) > 0.5
+        return :feed
+    else
+        return rand([:ignore, :sing])
+    end
+end
+
+# Let's also define the default updater for our policy
+function POMDPs.updater(policy::HeuristicFeedPolicy)
+    return DiscreteUpdater(policy.pomdp)
+end
+
+heuristic_policy = HeuristicFeedPolicy(quick_crying_baby_pomdp)
+
+# Let's query the policy a few times
+b = SparseCat([:sated, :hungry], [0.1, 0.9])
+a1 =  action(heuristic_policy, b)
+
+b = SparseCat([:sated, :hungry], [0.9, 0.1])
+a2 = action(heuristic_policy, b)
+
+@show [a1, a2]
2-element Vector{Symbol}:
+ :feed
+ :sing
diff --git a/previews/PR543/examples/DroneSurveillance.gif b/previews/PR543/examples/DroneSurveillance.gif new file mode 100644 index 0000000000000000000000000000000000000000..26288a5c2f6a5087a5436b493d121cc3a725ed49 GIT binary patch literal 261164 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

V(`Tng!8 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 literal 0 HcmV?d00001 diff --git a/previews/PR543/examples/EscapeRoomba.gif b/previews/PR543/examples/EscapeRoomba.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c8ad4b7d8ed770c7db3dd7cbcad7599e8a5f857 GIT binary patch literal 664716 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%0D!(EX!SB6sl5{H1C1Ha<8;{9bLpkdme>O24?{g|b z6YY_lz(PqyTnu0e;5K;ozCiRDl#gqapCrK(BT3^er?+I^UXZ!7Z)psQeYy%(B}$-e z!|L{SL$`xvid_^J%PRv0&2xcIGD!9bZv1bEJi_APoyq)Qaff*#*D3(v&)@=+`1G0l z&dkJ%8&zk%3wp8y+<}6O5wk%JFVaVJmiQK`#@T}^7{PLnW4T9)dz~Ypa2rUlI1eYD z&zTe-$($Y1Ksk#G91}~MV~80FX9O1Ufx=5*qC%*s5b;k|KvX;lJ)BT3LKXC<3gDRC zUQ|IVD*w?yEuR>Z7lY^fJ=Xb47pX5!Psik>kWekj9WLU6?&9q(8~n~xK>{^?O%S8B zHv8;HU}0iI9Rd?8?xprAuxbO%Jy3E*Nhl47k}(h@00lk}xxQh!=5XBW0Gf8)y@sVwV(t86eLggV*?G zuPq*xjK?5VddSzNOIt;cw1_Es?LjP5tT@_RNHAs%c}x(#*4Zi;%#GU+v||YnfhaOF zKA4%O!QwggzN`SiPa~|tIZ0pEXZ48E)$u;#8OJ%L8XE++X-z$1m{S0(YORv{?$h*B)bnaDmz;R554 ze;HZMOn%+todlI%o67$el|1iVz?SHdG#0W&NtRF?wKWkB!a_>Gyz!;=5b4SqXuelaQ^Cza>h7|&k@ zpC+E)N{IS-0TtOU1}V1OQQqKyBhh5{e+6{Cs)Ri8-r5Iv%&kLn8Ms z5orTNWmKahSb|Zh{GXl+jOhrr`SN2}+>h5ej43S9zi-ChQ$+QQi{qwtmnMKa^R5dH zjn@zccKxch_xJ3htxE65?lcy#Py`^q=Ef5UkcWZ=M~!i-Qw2^K2-;A~pRRLcjB>pi zv%YU$I~3&5t7QY2jKD5MM|aDG~DFnA5jpD+i}l}# zMz#qY&z=8}QcUC%EY}zV{sf0eT4$dDa6Q9uS2Cb8M4o+I57m&vY8|K#fao59Bq(f& zI36&b=NXps9tAOnLyWF-9gcDDjd3qG@ch7XKVu-Z#RXbk2v{-8{lx`v;(V$vJC|^X zJpiwqIKMVfKoyS!u$8sDcDPa>2aV@rGy~gm#6eC|Fob}L-7z6a0m8AR3+>}mh&mkg zN3ykeP{9d^d%xe+iLk7M~ z=A+h!wH2~QnY;4OsMYR-rx((1X@7X$9eUUOhp_OMSFDPs|K|Us9K5_$@jⅆZXdm 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�bmmS%!cxQCU7 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 `>d2W5X2(MejviqgCXQ3x3 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

a6o!NLR`N0i+qfS;UDR(0h8Zw;|h($!3 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 xcNOz$f(FTnzcKNsy!o#1R?8|{W{ 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

6H{`&>@Mvcx#GatL4hk4fy$K!wCJ!1 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

1cPz7nBiXa%O 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 QMj~&-kJ!6f001Wc22V{x$^ZZW literal 0 HcmV?d00001 diff --git a/previews/PR543/examples/QuickMountainCar.gif b/previews/PR543/examples/QuickMountainCar.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4742ddfc183e4eda6bd9d0e5e7c5243d2ba31d2 GIT binary patch literal 41909 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

se$yZ$){H=FBRf3ycs)h8zw^VH7umlm9 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 A`~Uy| literal 0 HcmV?d00001 diff --git a/previews/PR543/examples/TagPOMDP.gif b/previews/PR543/examples/TagPOMDP.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ebb7fdc26cc7df31597e2f9bbb68539a4fe1500 GIT binary patch literal 378397 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

V1nKBAR}pPHjFe&5&I#m2OlBM!X*?y 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

iqZ7Lhse(anwk|QACqoT?9d6x!5XC$+mgpyNV{Q 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[-7G;mPb1%nVQZ--?e1F$4pqCy}q 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 0.5 + return :feed + else + return rand([:ignore, :sing]) + end +end + +heuristic_policy = HeuristicFeedPolicy(quick_crying_baby_pomdp) diff --git a/previews/PR543/examples/grid_world_overview.gif b/previews/PR543/examples/grid_world_overview.gif new file mode 100644 index 0000000000000000000000000000000000000000..bf94bba1045e640fa48f6e4a1ca316704ebf774d GIT binary patch literal 8958 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 +Examples · POMDPs.jl

Examples

This section contains examples of how to use POMDPs.jl. For specific informaiton about the interface and functions used in the examples, please reference the correpsonding area in the documenation or the API Documentation.

The examples are organized by topic. The exmaples are designed to build through each step. First, we have to define a POMDP. Then we need to solve the POMDP to get a policy. Finally, we can simulate the policy to see how it performs. The examples are designed to be exeucted in order. For example, the examples in Simulations Examples assume that the POMDPs defined in the Defining a POMDP section have been defined and we have a policy we would like to simulate that we computed in the Using Different Solvers section.

The GridWorld MDP Tutorial section is a standalone example that does not require any of the other examples.

Outline

diff --git a/previews/PR543/faq/index.html b/previews/PR543/faq/index.html new file mode 100644 index 00000000..31e1a8a1 --- /dev/null +++ b/previews/PR543/faq/index.html @@ -0,0 +1,17 @@ + +Frequently Asked Questions (FAQ) · POMDPs.jl

Frequently Asked Questions (FAQ)

What is the difference between transition, gen, and @gen?

(See also: Using a single generative function instead of separate $T$, $Z$, and $R$)

For problem implementers

  • transition should be implemented to define the state transition distribution, either explicitly, or, if only samples from the distribution are available, with an ImplicitDistribution.
  • gen should only be implemented if your simulator can only output samples of two or more of the next state, observation, and reward at the same time, e.g. if rewards are calculated as a robot moves from the current state to the next state so it is difficult to define the reward function separately from the state transitions.
  • @gen should never be implemented or modified by the problem writer; it is only used in simulators and solvers (see below).

For solver/simulator implementers

  • @gen should be called whenever a sample of the next state, observation, and or reward is needed. It automatically combines calls to rand, transition, observation, reward, and gen, depending on what is implemented for the problem and the outputs requested by the caller without any overhead.
  • transition should be called only when you need access to the explicit transition probability distribution.
  • gen should never be called directly by a solver or simulator; it is only a tool for implementers (see above).

How do I save my policies?

We recommend using JLD2 to save the whole policy object:

using JLD2
+save("my_policy.jld2", "policy", policy)

Why is my solver producing a suboptimal policy?

There could be a number of things that are going wrong. If you have a discrete POMDP or MDP and you're using a solver that requires the explicit transition probabilities, the first thing to try is make sure that your probability masses sum up to unity. We've provide some tools in POMDPToolbox that can check this for you. If you have a POMDP called pomdp, you can run the checks by doing the following:

using POMDPTools
+@assert has_consistent_distributions(pomdp)

If this throws an error, you may need to fix your transition or observation functions.

What if I don't use the rng argument?

POMDPs.jl uses Julia's built-in random number generator system to provide for reproducible simulations. To tie into this system, the gen function, the sampling function for the ImplicitDistribution, and the rand function for custom distributions all have an rng argument that should be used to generate random numbers. However in some cases, for example when wrapping a simulator that is tied to the global random number generator or written in another language, it may be impossible or impractical to use this rng.

It is natural to wonder if ignoring this rng argument will cause problems. For many use cases, it is OK to ignore this argument - the only consequence will be that simulations will not be exactly reproducible unless the random seed is managed separately. Some algorithms, most notably DESPOT, rely on "determinized scenarios" that are implemented with a special rng. Some of the guarantees of these algorithms may not be met if the rng argument is ignored.

Why are all the solvers in separate modules?

We did not put all the solvers and support tools into POMDPs.jl, because we wanted POMDPs.jl to be a lightweight interface package. This has a number of advantages. The first is that if a user only wants to use a few solvers from the JuliaPOMDP organization, they do not have to install all the other solvers and their dependencies. The second advantage is that people who are not directly part of the JuliaPOMDP organization can write their own solvers without going into the source code of other solvers. This makes the framework easier to adopt and to extend.

How can I implement terminal actions?

Terminal actions are actions that cause the MDP to terminate without generating a new state. POMDPs.jl handles terminal conditions via the isterminal function on states, and does not directly support terminal actions. If your MDP has a terminal action, you need to implement the model functions accordingly to generate a terminal state. In both generative and explicit cases, you will need some dummy state, say spt, that can be recognized as terminal by the isterminal function. One way to do this is to give spt a state value that is out of bounds (e.g. a vector of NaNs or -1s) and then check for that in isterminal, so that this does not clash with any conventional termination conditions on the state.

If a terminal action is taken, regardless of current state, the transition function should return a distribution with only one next state, spt, with probability 1.0. In the generative case, the new state generated should be spt. The reward function or the r in generate_sr can be set according to the cost of the terminal action.

Why are there two versions of reward?

Both reward(m, s, a) and reward(m, s, a, sp) are included because of these two facts:

  1. Some non-native solvers use reward(m, s, a)
  2. Sometimes the reward depends on s and sp.

It is reasonable to implement both as long as the (s, a) version is the expectation of the (s, a, s') version (see below).

How do I implement reward(m, s, a) if the reward depends on the next state?

The solvers that require reward(m, s, a) only work on problems with finite state and action spaces. In this case, you can define reward(m, s, a) in terms of reward(m, s, a, sp) with the following code:

const rdict = Dict{Tuple{S,A}, Float64}()
+
+for s in states(m)
+  for a in actions(m)
+    r = 0.0
+    td = transition(m, s, a) # transition distribution for s, a
+    for sp in support(td)
+      r += pdf(td, sp)*reward(m, s, a, sp)
+    end
+    rdict[(s, a)] = r
+  end
+end
+
+POMDPs.reward(m, s, a) = rdict[(s, a)]

Why do I need to put type assertions pomdp::POMDP into the function signature?

Specifying the type in your function signature allows Julia to call the appropriate function when your custom type is passed into it. For example if a POMDPs.jl solver calls states on the POMDP that you passed into it, the correct states function will only get dispatched if you specified that the states function you wrote works with your POMDP type. Because Julia supports multiple-dispatch, these type assertion are a way for doing object-oriented programming in Julia.

diff --git a/previews/PR543/figures/concepts.png b/previews/PR543/figures/concepts.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8da6b7e0629e729c7e2b558d13e12026fec2ec GIT binary patch literal 30557 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 K$(J#F^*;d6^|U_# literal 0 HcmV?d00001 diff --git a/previews/PR543/figures/interface_relationships.svg b/previews/PR543/figures/interface_relationships.svg new file mode 100644 index 00000000..bafc2712 --- /dev/null +++ b/previews/PR543/figures/interface_relationships.svg @@ -0,0 +1,639 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Solvers + Problems + RLInterface.jl + Deep RL + + diff --git a/previews/PR543/figures/mdp_ddn.svg b/previews/PR543/figures/mdp_ddn.svg new file mode 100644 index 00000000..01d7e5e7 --- /dev/null +++ b/previews/PR543/figures/mdp_ddn.svg @@ -0,0 +1,748 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR543/figures/pomdp_ddn.svg b/previews/PR543/figures/pomdp_ddn.svg new file mode 100644 index 00000000..6d88e0dc --- /dev/null +++ b/previews/PR543/figures/pomdp_ddn.svg @@ -0,0 +1,829 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/previews/PR543/figures/requirements_info_gw.png b/previews/PR543/figures/requirements_info_gw.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e3a40c449c7fb7360ff98f4720a541272e223d GIT binary patch literal 90687 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 LCDY3DZgKwtb#6|O literal 0 HcmV?d00001 diff --git a/previews/PR543/figures/requirements_info_new.png b/previews/PR543/figures/requirements_info_new.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec807b65e342f8abe967abdabdeb7ccf067d2fb GIT binary patch literal 171472 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�wg~3dVu9jSMxZ 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

@S)LsagX~^(E}$p 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 +Gallery of POMDPs.jl Problems · POMDPs.jl

diff --git a/previews/PR543/get_started/index.html b/previews/PR543/get_started/index.html new file mode 100644 index 00000000..95f1f3bf --- /dev/null +++ b/previews/PR543/get_started/index.html @@ -0,0 +1,16 @@ + +Getting Started · POMDPs.jl

Getting Started

Before writing our own POMDP problems or solvers, let's try out some of the available solvers and problem models available in JuliaPOMDP.

Here is a short piece of code that solves the Tiger POMDP using QMDP, and evaluates the results. Note that you must have the QMDP, POMDPModels, and POMDPToolbox modules installed.

using POMDPs, QMDP, POMDPModels, POMDPTools
+
+# initialize problem and solver
+pomdp = TigerPOMDP() # from POMDPModels
+solver = QMDPSolver() # from QMDP
+
+# compute a policy
+policy = solve(solver, pomdp)
+
+#evaluate the policy
+belief_updater = updater(policy) # the default QMDP belief updater (discrete Bayesian filter)
+init_dist = initialstate(pomdp) # from POMDPModels
+hr = HistoryRecorder(max_steps=100) # from POMDPTools
+hist = simulate(hr, pomdp, policy, belief_updater, init_dist) # run 100 step simulation
+println("reward: $(discounted_reward(hist))")

The first part of the code loads the desired packages and initializes the problem and the solver. Next, we compute a POMDP policy. Lastly, we evaluate the results.

There are a few things to mention here. First, the TigerPOMDP type implements all the functions required by QMDPSolver to compute a policy. Second, each policy has a default updater (essentially a filter used to update the belief of the POMDP). To learn more about Updaters check out the Concepts and Architecture section.

diff --git a/previews/PR543/index.html b/previews/PR543/index.html new file mode 100644 index 00000000..438e3908 --- /dev/null +++ b/previews/PR543/index.html @@ -0,0 +1,2 @@ + +POMDPs.jl · POMDPs.jl

POMDPs.jl

A Julia interface for defining, solving and simulating partially observable Markov decision processes and their fully observable counterparts.

Package and Ecosystem Features

  • General interface that can handle problems with discrete and continuous state/action/observation spaces
  • A number of popular state-of-the-art solvers implemented for use out-of-the-box
  • Tools that make it easy to define problems and simulate solutions
  • Simple integration of custom solvers into the existing interface

Available Packages

The POMDPs.jl package contains only the interface used for expressing and solving Markov decision processes (MDPs) and partially observable Markov decision processes (POMDPs). The POMDPTools package acts as a "standard library" for the POMDPs.jl interface, providing implementations of commonly-used components such as policies, belief updaters, distributions, and simulators. The list of solver and support packages maintained by the JuliaPOMDP community is available at the POMDPs.jl Readme.

Documentation Outline

Documentation comes in three forms:

  1. An explanatory guide is available in the sections outlined below.
  2. How-to examples are available throughout this documentation with specicic examples in Examples and Gallery of POMDPs.jl Problems.
  3. Reference docstrings for the entire POMDPs.jl interface are available in the API Documentation section.
Note

When updating these documents, make sure this is synced with docs/make.jl!!

Basics

Defining POMDP Models

Writing Solvers and Updaters

Analyzing Results

POMDPTools - the standard library for POMDPs.jl

Reference

diff --git a/previews/PR543/install/index.html b/previews/PR543/install/index.html new file mode 100644 index 00000000..584040da --- /dev/null +++ b/previews/PR543/install/index.html @@ -0,0 +1,3 @@ + +Installation · POMDPs.jl

Installation

If you have a running Julia distribution (Julia 0.4 or greater), you have everything you need to install POMDPs.jl. To install the package, simply run the following from the Julia REPL:

import Pkg
+Pkg.add("POMDPs") # installs the POMDPs.jl package

Some auxiliary packages and older versions of solvers may be found in the JuliaPOMDP registry. To install this registry, run:

using Pkg; pkg"registry add https://github.com/JuliaPOMDP/Registry"

Note: to use this registry, JuliaPro users must also run edit(normpath(Sys.BINDIR,"..","etc","julia","startup.jl")), comment out the line ENV["DISABLE_FALLBACK"] = "true", save the file, and restart JuliaPro as described in this issue.

diff --git a/previews/PR543/interfaces/index.html b/previews/PR543/interfaces/index.html new file mode 100644 index 00000000..9a14164c --- /dev/null +++ b/previews/PR543/interfaces/index.html @@ -0,0 +1,2 @@ + +Spaces and Distributions · POMDPs.jl

Spaces and Distributions

Two important components of the definitions of MDPs and POMDPs are spaces, which specify the possible states, actions, and observations in a problem and distributions, which define probability distributions. In order to provide for maximum flexibility spaces and distributions may be of any type (i.e. there are no abstract base types). Solvers and simulators will interact with space and distribution types using the functions defined below.

Spaces

A space object should contain the information needed to define the set of all possible states, actions or observations. The implementation will depend on the attributes of the elements. For example, if the space is continuous, the space object may only contain the limits of the continuous range. In the case of a discrete problem, a vector containing all states is appropriate for representing a space.

The following functions may be called on a space object (Click on a function to read its documentation):

Distributions

A distribution object represents a probability distribution.

The following functions may be called on a distribution object (Click on a function to read its documentation):

You can find some useful pre-made distribution objects in Distributions.jl or POMDPTools.

  • 1Distributions should support both rand(rng::AbstractRNG, d) and rand(d). The recommended way to do this is by implmenting Base.rand(rng::AbstractRNG, s::Random.SamplerTrivial{<:YourDistribution}) from the julia rand interface.
diff --git a/previews/PR543/objects.inv b/previews/PR543/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..1c2ece7eb16f6526f7116af34eeac4c7affac5f1 GIT binary patch literal 5841 zcmV;?7B1-{AX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkVPfbKn zb1rIZ3L_v^WpZMd?av*PJAarPHb0B7EY-J#6 zb0A}HZE$jBb8}^6Aa!$TZf78RY-wUH3V58YJ!x;;$g$t~D;ltc*nnF~ya_f>U-peH z*;dw$w32KCYdj2kI6WG!Ipi!4$+JQJ`>X1%K1en%d4a$?BCD#ex~rN=vbFri%4&VO z&SS>^#@N;6hqJ5l__s7lva%9s>c6E&C+tH15LJ?A(VeW8@MlrUwGZq)K4EWVRVCRS zyU`D#IL~6auSy@mJUd~p&0CSJ*`kQINhRZ|E@ZTpo8>;=t@l2neR#so=IOmG+Jow+fU5pmM)_uwCYcOC zH{YDF^KW9ePvxnbu*eJ$(?C(4^%2V^(8_#LIN5r?7FBl*^w`@v!CuKUksJ0=zlzFa zSL?I(k=;|+00#jloUKK%j*2>4hB2FOPS|ywsev7pGTP^95+9c8fJEG;(0z+MNq+#P zhosuFD+Eep8A-iCjgvRe?Dko(<(f8Pxi9inDt95gE>L3w757@`34Ly4=#NN8!y|^@8Rt7wM={Hsdp#rg91^He9Zf#tVNpq(Gi6{m=pHN|I??n zQo`A{E_&NsQB$59GuxAp^pG>JoAj(?d62|`dC^D80W^u-*yldEIN$B^Y+3Z}w|$S+ z0)Jk=zc9*Nse-$rvvZX!m39bIq_-#RR{w}L;&&eu{ybrC3i*2t^G*+JQGSKl|576~ z^4YUDi(j5cVxRa(@aG9zTwSoUJg#xUdQxEEfXC|CZdWSc;Ch$%?jN`-Q(LivrSb}e38@d9R_>by|BAw;c3Z;x?YT)nN@FQXgk^Wz%&wQOtSVC5F<~$s zy%zp6^!T|DJ8DYG0n7oZNw@Riq#$ z%d@+pToi3Qwq!gRbFp%2KF6UeXS1NdM(EUmrrganxOA~gZ4jH1PQjcWVf@`01z$j^O$ zy?gRcnZ{v&V|`8Q=XzlP$1tEr!U7S55!YZ0K~4dGc6Iq2ww$X&>OV~5Ogu4oz?@f? zz-t~Zy<$XCpF3z)aCUo@doTAXEKkL|7=W9ItVziWz);Bq0ysa&Z{nIffZ{adms~qr zJ$v25q#mN%=kpX~vdA;gLi=!DDt&Iqc)+_lmw4nZ)N-ykMJ72?4(c;!nprtu$Ye(m1wrPP4KiC*yeqZ`L%`r znO_z1KFRCSY{aktT7&wO{mcw1^HHOZRgxyvVT4y4Q)+PH4RWzSJ$!h5^?YO-2w15Z z07t7v&KBVVs~vb!^4)=JBo0b{UB|fHf|vCw-&e^_q+DypFw@PUpqcN$l9KHXl!#&$ zg9+v^NE`nYy{(fquyM{!E`?JbuirCPD6GocslVu5{s6)O5>kqLiIXf z1mOV*!k4%hODXy!(po~y5m%fX?kSp2VKKxaH$A%G4+3-xtlR`}68F?<<>QHp@PZ*7 z+zv|zciPd3J{O5HNWK#qjsbui0XKY58v?wpAr##4Znh+e`BnRf;&P$5$J#lg#D@j z_0sXVdUH=0t0_cg5TlSDnxck6N=V5;3?BXkPfXT@S7vv#>(eU|V|Ye701jBs!Z8EK z4E@Lov-9>}Huu|r$0)#hJHjx4{&gwB0`eBdjJ?;jL= zj^?mV^B9uagBB`pY*Mw%Bgv4Y@8I&p1P(+YMMXX!#n;Lh=-FSt_g6Gg z#Tb&z)|1F2so7t@_g7R#Z(#2z17Y{u$xlbGDM52MDohPx0Ss%?Wj=%_V42b9T>&t~ zo`zIqw$NkUHogc2AA{kYj_wFAy4;K3!7$F#<{HWA@J1qDXTAbS9Fn94uugkvw@$mt zrQ+Q+CHcTJT*>M|%8XYSXD5jDg5OE_2gmte_|@-rPoQ=5@-TJB}GF5zs|(@cJ=w9y^(r`yzFPj@I4r4kL;+^M59 z9C7Dq*g3NjgylI#x+=QWStgx8Mb6!ymj@3MJP^-vw2`dNq8HXban)C@s;}HuU%9HjhMcQ@6yRAv zLe?9t>gtUdF1YFaa2eP|y59=^Nn(+Aj&e|VOyil;rfeuj=NJp3yh`>{IlPU_5I4Fk z)?i7(9#!bH3EntWAYxk-n&3HygHuAWhj{}6Q*Dd9zT5V&zt_{EE6FZ~)HO+!SDWbN znkEQDQMoWtsDvs0`;c=KG{qJ9hD=dk25bz^(3l>6<5Qxv&DZ1j72 ziD2UTN%bc$0Zej$u??ze6@6q9bPK4ceGQrlV=PgY=p>@TR=&~csm^pI89<@pGDiUF z=q^+3Iem6u+5qSf|F9Sx#25_~-5^m^eL$2UQRav;f7Y03%auZOjALgVnI>wLfbg5B z`&&)=`>vg~M?cr-HI9xiENh+IC+k`zVc{icjPEO5C|BC3P8@={A@oa7FU_jPjg*vJ z)+**Aqa?{h`P2BAVb;p#BBL}(v-e>qv;)$kk*D=P5D~vvzZXR*Ikkbclb7RCpz)b$ zBWqE7!RREx(fUW9z?H46;16d;2-NY(VDO`_!9o+7F7>c>_7u zK5&{{C%<<;th*mLW99fiY?FAqEN8j^pApM7DzlqyUIWz&_OVo%q(<3qUK32K^yeC3 zsL^T@)-;Xao?5CbC{?A6egT^Vit(Kk)lTduZlsn6>lF*oCyXdWbeD(Ucz1rBFX-L+ zQTDlc@8=rSQofrL4r>e(2)|Y$`AVz~#uuf$bHA<+N~)t{GkT6r3ZG8-gS}ZWtml=ClVPJ%SE#zneWGI4zJsTlZ9Nr~QMV&KTsS4r$m`_i zRzRjYkv-P{7FQR%*$*Cyd%9iqYL*p_6Yg&J=3%yB`u&p5Ed%b|GMHFO9K5K|68P!z z-Z%qtp2Hm-;l#|)O%bZ9gI6cUW~KQWE4`XFrSdUJZ*X<)$T}0~Ea!0|aNbmY)~JIi z9p}S1bW>{9=q8q#9hnebBQVjo3ecg=?jYd2b8(9G;;|i4inU60NU&+R54SJ)uez3a z-MeRxC5`EmUrlN8n(i;4Ka6CUBjdsXBBRnJM26kIV87~2@O6WO20WIbLd29CRLZ&= zIpZW}d}I0zRI;G0Fda7IlkS0;=yGx{p0dx{+a1VdHW5v3+MszIw`ETUa}U=Auj{#h ztEe+j%w@$3;%X0FaR8WHDoAVH3}>h_jPoNe7>nUpjK=a)XNpx|EGk`_u_&8)4BD6P z@DW5e@!(yS1>5Big@S5?m3}k3athCZGqDpVJ@DLhlp3N8s78Gz#*boogPms?@!%!5 z-|Hm)IzJfr1<|yvZFbUoo-N&`oZV*ep>Y*cX7gv~B~HAI@?(0bF8bT2JV)NUgfl;8 z_AcT?3kY5gf9NLRvQFCxE95T&!3cud0>J$4^Q_zX(^!qJ^E=S!i&ZUSWmF5;ikq-z zYTwPPl{z#Cp`4C0We5-ztx~C%Gs&El0H?7|!_BTU(EVZtehfe=F6?PQx7Pr8st(-9QsbMx#IckW^sLUIer;|z%dD=5Y%-9y6|aeL|>GJ z{6OaYwJ638%URTbmh}&+O?ci(HHX2ex9LSUs+O*98zq^&q=(+x3OkvUN4TCU8kQFG zXrVW@!agQVtEW$o_Bq(7*Zks0Z>L_9#FX!n+*EnI6|Q?_s&nP=oNwiP6Vxt)nTNhF zyXe*yicghR_c~j68R&2D=qhAaneIbxw9oW)&wRPgfz^s?@hJv1Gd9+5TZ1n-*n)|DrP|D z4XE<~I3P0vGBqGm12#JWZoSVzj5K`l=voGwGfjQiZAmAFZQD+h^d5vVt)t;Ymfu)v zBgUZu%ZJyuH-AP|1?h~HQq)*p(0{CcHuvaE>Kh`urR}%$RFyf$y8B5d=l&+lL8vdKYw8lUlt8PGDTcDyzaQ@B9{~&(LDO`6;M6;@eF38cofriy;JY>?Py-4dyz9((fMyP503`ZU;COdpdQBDy_?4> z-XZG*x_eG*{L6!9s#V*;S^(&yPln8ETvw~oz}0FQ{f zx}>){?r_)OX48$0S@YJu6t%q!7>e-REuZOJ%bAS9Oqj2%%;0T(s#CVyjwn#8??qA! zY*D`!?3&-ur@H34Rqp)eti-ekJW8K8gcLu>(Z3sk@0!uP@phb2up%yUGhKS8@7;~6 z{{fG3Iv07ZEruh%&rB+#-|-V??rTFt9xEWqV&mru9=D<{zv8W>$Mb4ycIW%@Z6W3Q zFxxD}c?O$XE!)w+h}vmux*0~Ldp>9xbw|gw)qqnED8R}=vp%SJ>H2%}ha@Ls=4Mbs znJ)hTYK-4D#29_v0@Rme+=palYx9=hWIl!9bvm0&>a4h_X(bJ*M_9OVa&SooRIxq^~CjTp}K{L zzHxcHlVaF}I>j^PM7&+F_YCK{m|fQIiDAonzt4-d8yIAiu2z4b3)#y=_0i@7<~%GN zl#x4zC}W9g1gOib`Q6e1UToy+#;KB6G^o!f?g_MMt-Uca`3N=cK1=pkTWuV&M@d{u ziT?aS6kqfEnTpfIDwE^AE+=7pKkZy5`Uo~zJV%q6h0GIDY7DaNM03?v%K?0}QzPct zaf*^hHGY`=y!B&6(I(&LDyk;ek4#xbx-+x6l#3XRqg!X8xg0j<&xzMu5nyJJRy$Fg zezdOFN6YtQ)nZaGBS&HsEb2(}e^>BlX=%^bezX~A_*x^DnS#lY%^j%*^lot2vDi{8 z;rO^c1%cTL+O+TW4XLw=Snivp`rzj~x0Z=oj|8Nb$H0Lt?f1myq$~4HwG-bS6|#D3 zqMqQH^@CyYe^i}Baq(1}+9OSV%<-LGm7nzVZt~Al_`_Ccj#k%-alQ!AR|y^!8-}#N blxJ literal 0 HcmV?d00001 diff --git a/previews/PR543/offline_solver/index.html b/previews/PR543/offline_solver/index.html new file mode 100644 index 00000000..f2344d0b --- /dev/null +++ b/previews/PR543/offline_solver/index.html @@ -0,0 +1,73 @@ + +Example: Defining an offline solver · POMDPs.jl

Example: Defining an offline solver

In this example, we will define a simple offline solver that works for both POMDPs and MDPs. In order to focus on the code structure, we will not create an algorithm that finds an optimal policy, but rather a greedy policy, that is, one that optimizes the expected immediate reward. For information on using this solver in a simulation, see Running Simulations.

We begin by creating a solver type. Since there are no adjustable parameters for the solver, it is an empty type, but for a more complex solver, parameters would usually be included as type fields.

using POMDPs
+
+struct GreedyOfflineSolver <: Solver end

Next, we define the functions that will make the solver work for both MDPs and POMDPs.

MDP Case

Finding a greedy policy for an MDP consists of determining the action that has the best reward for each state. First, we create a simple policy object that holds a greedy action for each state.

struct DictPolicy{S,A} <: Policy
+    actions::Dict{S,A}
+end
+
+POMDPs.action(p::DictPolicy, s) = p.actions[s]
Note

A POMDPTools.VectorPolicy could be used here. We include this example to show how to define a custom policy.

The solve function calculates the best greedy action for each state and saves it in a policy. To have the widest possible compatibility with POMDP models, we want to use reward(m, s, a, sp) instead of reward(m, s, a), which means we need to calculate the expectation of the reward over transitions to every possible next state.

function POMDPs.solve(::GreedyOfflineSolver, m::MDP)
+
+    best_actions = Dict{statetype(m), actiontype(m)}()
+
+    for s in states(m)
+        if !isterminal(m, s)
+            best = -Inf
+            for a in actions(m)
+                td = transition(m, s, a)
+                r = 0.0
+                for sp in support(td)
+                    r += pdf(td, sp) * reward(m, s, a, sp)
+                end
+                if r >= best
+                    best_actions[s] = a
+                    best = r
+                end
+            end
+        end
+    end
+    
+    return DictPolicy(best_actions)
+end
Note

We limited this implementation to using basic POMDPs.jl implementation functions, but tools such as POMDPTools.StateActionReward, POMDPTools.ordered_states, and POMDPTools.weighted_iterator could have been used for a more concise and efficient implementation.

We can now verify whether the policy produces the greedy action on an example from POMDPModels:

using POMDPModels
+
+gw = SimpleGridWorld(size=(2,1), rewards=Dict(GWPos(2,1)=>1.0))
+policy = solve(GreedyOfflineSolver(), gw)
+
+action(policy, GWPos(1,1))
+
+# output
+
+:right

POMDP Case

For a POMDP, the greedy solution is the action that maximizes the expected immediate reward according to the belief. Since there are an infinite number of possible beliefs, the greedy solution for every belief cannot be calculated online. However, the greedy policy can take the form of an alpha vector policy where each action has an associated alpha vector with each entry corresponding to the immediate reward from taking the action in that state.

Again, because a POMDP, may have reward(m, s, a, sp, o) instead of reward(m, s, a), we use the former and calculate the expectation over all next states and observations.

using POMDPTools: AlphaVectorPolicy
+
+function POMDPs.solve(::GreedyOfflineSolver, m::POMDP)
+
+    alphas = Vector{Float64}[]
+
+    for a in actions(m)
+        alpha = zeros(length(states(m)))
+        for s in states(m)
+            if !isterminal(m, s)
+                r = 0.0
+                td = transition(m, s, a)
+                for sp in support(td)
+                    tp = pdf(td, sp)
+                    od = observation(m, s, a, sp)
+                    for o in support(od)
+                        r += tp * pdf(od, o) * reward(m, s, a, sp, o)
+                    end
+                end
+                alpha[stateindex(m, s)] = r
+            end
+        end
+        push!(alphas, alpha)
+    end
+    
+    return AlphaVectorPolicy(m, alphas, collect(actions(m)))
+end

We can now verify that a policy created by the solver determines the correct greedy actions:

using POMDPModels
+using POMDPTools: Deterministic, Uniform
+
+tiger = TigerPOMDP()
+policy = solve(GreedyOfflineSolver(), tiger)
+
+@assert action(policy, Deterministic(TIGER_LEFT)) == TIGER_OPEN_RIGHT
+@assert action(policy, Deterministic(TIGER_RIGHT)) == TIGER_OPEN_LEFT
+@assert action(policy, Uniform(states(tiger))) == TIGER_LISTEN
diff --git a/previews/PR543/online_solver/index.html b/previews/PR543/online_solver/index.html new file mode 100644 index 00000000..6ebe3544 --- /dev/null +++ b/previews/PR543/online_solver/index.html @@ -0,0 +1,59 @@ + +Example: Defining an online solver · POMDPs.jl

Example: Defining an online solver

In this example, we will define a simple online solver that works for both POMDPs and MDPs. In order to focus on the code structure, we will not create an algorithm that finds an optimal policy, but rather a greedy policy, that is, one that optimizes the expected immediate reward. For information on using this solver in a simulation, see Running Simulations.

In order to handle the widest range of problems, we will use @gen to generate Mone Carlo samples to estimate the reward even if only a simulator is available. We begin by creating the necessary types and the solve function. The only solver parameter is the number of samples used to estimate the reward at each step, and the solve function does nothing more than create a planner with the appropriate (PO)MDP problem definition.

using POMDPs
+
+struct MonteCarloGreedySolver <: Solver
+    num_samples::Int
+end
+
+struct MonteCarloGreedyPlanner{M} <: Policy
+    m::M
+    num_samples::Int
+end
+
+POMDPs.solve(sol::MonteCarloGreedySolver, m) = MonteCarloGreedyPlanner(m, sol.num_samples)

Next, we define the action function where the online work takes place.

MDP Case

function POMDPs.action(p::MonteCarloGreedyPlanner{<:MDP}, s)
+    best_reward = -Inf
+    local best_action
+    for a in actions(p.m)
+        reward_sum = sum(@gen(:r)(p.m, s, a) for _ in 1:p.num_samples)
+        if reward_sum >= best_reward
+            best_reward = reward_sum
+            best_action = a
+        end
+    end
+    return best_action
+end

POMDP Case

function POMDPs.action(p::MonteCarloGreedyPlanner{<:POMDP}, b)
+    best_reward = -Inf
+    local best_action
+    for a in actions(p.m)
+        s = rand(b)
+        reward_sum = sum(@gen(:r)(p.m, s, a) for _ in 1:p.num_samples)
+        if reward_sum >= best_reward
+            best_reward = reward_sum
+            best_action = a
+        end
+    end
+    return best_action
+end
+
+# output
+

Verification

We can now verify that the online planner works in some simple cases:

using POMDPModels
+
+gw = SimpleGridWorld(size=(2,1), rewards=Dict(GWPos(2,1)=>1.0))
+solver = MonteCarloGreedySolver(1000)
+planner = solve(solver, gw)
+
+action(planner, GWPos(1,1))
+
+# output
+
+:right
using POMDPModels
+using POMDPTools: Deterministic, Uniform
+
+tiger = TigerPOMDP()
+solver = MonteCarloGreedySolver(1000)
+
+planner = solve(solver, tiger)
+
+@assert action(planner, Deterministic(TIGER_LEFT)) == TIGER_OPEN_RIGHT
+@assert action(planner, Deterministic(TIGER_RIGHT)) == TIGER_OPEN_LEFT
+# note action(planner, Uniform(states(tiger))) is not very reliable with this number of samples
diff --git a/previews/PR543/policy_interaction/index.html b/previews/PR543/policy_interaction/index.html new file mode 100644 index 00000000..b64820b6 --- /dev/null +++ b/previews/PR543/policy_interaction/index.html @@ -0,0 +1,2 @@ + +Interacting with Policies · POMDPs.jl

Interacting with Policies

A solution to a POMDP is a policy that maps beliefs or action-observation histories to actions. In POMDPs.jl, these are represented by Policy objects. See Solvers and Policies for more information about what a policy can represent in general.

One common task in evaluating POMDP solutions is examining the policies themselves. Since the internal representation of a policy is an esoteric implementation detail, it is best to interact with policies through the action and value interface functions. There are three relevant methods

  • action(policy, s) returns the best action (or one of the best) for the given state or belief.
  • value(policy, s) returns the expected sum of future rewards if the policy is executed.
  • value(policy, s, a) returns the "Q-value", that is, the expected sum of rewards if action a is taken on the next step and then the policy is executed.

Note that the quantities returned by these functions are what the policy/solver expects to be the case after its (usually approximate) computations; they may be far from the true value if the solution is not exactly optimal.

diff --git a/previews/PR543/run_simulation/index.html b/previews/PR543/run_simulation/index.html new file mode 100644 index 00000000..637bc734 --- /dev/null +++ b/previews/PR543/run_simulation/index.html @@ -0,0 +1,3 @@ + +Running Simulations · POMDPs.jl

Running Simulations

Running a simulation consists of two steps, creating a simulator and calling the simulate function. For example, given a POMDP or MDP model m, and a policy p, one can use the RolloutSimulator from POMDPTools to find the accumulated discounted reward from a single simulated trajectory as follows:

sim = RolloutSimulator()
+r = simulate(sim, m, p)

More inputs, such as a belief updater, initial state, initial belief, etc. may be specified as arguments to simulate. See the docstring for simulate and the appropriate "Input" sections in the Simulation Standard page for more information.

More examples can be found in the Simulations Examples section. A variety of simulators that return more information and interact in different ways can be found in POMDPTools.

diff --git a/previews/PR543/search_index.js b/previews/PR543/search_index.js new file mode 100644 index 00000000..beaa7138 --- /dev/null +++ b/previews/PR543/search_index.js @@ -0,0 +1,3 @@ +var documenterSearchIndex = {"docs": +[{"location":"POMDPTools/model/#Model-Tools","page":"Model Tools","title":"Model Tools","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"POMDPTools contains assorted tools that are not part of the core POMDPs.jl interface for working with (PO)MDP Models.","category":"page"},{"location":"POMDPTools/model/#Interface-Extensions","page":"Model Tools","title":"Interface Extensions","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"POMDPTools contains several interface extensions that provide shortcuts and standardized ways of dealing with extra data.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"Programmers should use these functions whenever possible in case optimized implementations are available, but all of the functions have default implementations based on the core POMDPs.jl interface. Thus, if the core interface is implemented, all of these functions will also be available.","category":"page"},{"location":"POMDPTools/model/#Weighted-Iteration","page":"Model Tools","title":"Weighted Iteration","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"Many solution techniques, for example value iteration, require iteration through the support of a distribution and evaluating the probability mass for each value. In some cases, looking up the probability mass is expensive, so it is more efficient to iterate through value => probability pairs. weighted_iterator provides a standard interface for this.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"weighted_iterator","category":"page"},{"location":"POMDPTools/model/#POMDPTools.POMDPDistributions.weighted_iterator","page":"Model Tools","title":"POMDPTools.POMDPDistributions.weighted_iterator","text":"weighted_iterator(d)\n\nReturn an iterator through pairs of the values and probabilities in distribution d.\n\nThis is designed to speed up value iteration. Distributions are encouraged to provide a custom optimized implementation if possible.\n\nExample\n\njulia> d = BoolDistribution(0.7)\nBoolDistribution(0.7)\n\njulia> collect(weighted_iterator(d))\n2-element Array{Pair{Bool,Float64},1}:\n true => 0.7\n false => 0.3\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Observation-Weight","page":"Model Tools","title":"Observation Weight","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"Sometimes, e.g. in particle filtering, the relative likelihood of an observation is required in addition to a generative model, and it is often tedious to implement a custom observation distribution type. For this case, the shortcut function obs_weight is provided.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"obs_weight","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.obs_weight","page":"Model Tools","title":"POMDPTools.ModelTools.obs_weight","text":"obs_weight(pomdp, s, a, sp, o)\n\nReturn a weight proportional to the likelihood of receiving observation o from state sp (and a and s if they are present).\n\nThis is a useful shortcut for particle filtering so that the observation distribution does not have to be represented.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Ordered-Spaces","page":"Model Tools","title":"Ordered Spaces","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"It is often useful to have a list of states, actions, or observations ordered consistently with the respective index function from POMDPs.jl. Since the POMDPs.jl interface does not demand that spaces be ordered consistently with index, the states, actions, and observations functions are not sufficient. Thus POMDPModelTools provides ordered_actions, ordered_states, and ordered_observations to provide this capability.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"ordered_actions\nordered_states\nordered_observations","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.ordered_actions","page":"Model Tools","title":"POMDPTools.ModelTools.ordered_actions","text":"ordered_actions(mdp)\n\nReturn an AbstractVector of actions ordered according to actionindex(mdp, a).\n\nordered_actions(mdp) will always return an AbstractVector{A} v containing all of the actions in actions(mdp) in the order such that actionindex(mdp, v[i]) == i. You may wish to override this for your problem for efficiency.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.ordered_states","page":"Model Tools","title":"POMDPTools.ModelTools.ordered_states","text":"ordered_states(mdp)\n\nReturn an AbstractVector of states ordered according to stateindex(mdp, a).\n\nordered_states(mdp) will always return a AbstractVector{A} v containing all of the states in states(mdp) in the order such that stateindex(mdp, v[i]) == i. You may wish to override this for your problem for efficiency.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.ordered_observations","page":"Model Tools","title":"POMDPTools.ModelTools.ordered_observations","text":"ordered_observations(pomdp)\n\nReturn an AbstractVector of observations ordered according to obsindex(pomdp, a).\n\nordered_observations(mdp) will always return a AbstractVector{A} v containing all of the observations in observations(pomdp) in the order such that obsindex(pomdp, v[i]) == i. You may wish to override this for your problem for efficiency.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Info-Interface","page":"Model Tools","title":"Info Interface","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"It is often the case that useful information besides the belief, state, action, etc is generated by a function in POMDPs.jl. This information can be useful for debugging or understanding the behavior of a solver, updater, or problem. The info interface provides a standard way for problems, policies, solvers or updaters to output this information. The recording simulators from POMDPTools automatically record this information.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"To specify info from policies, solvers, or updaters, implement the following functions:","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"action_info\nsolve_info\nupdate_info","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.action_info","page":"Model Tools","title":"POMDPTools.ModelTools.action_info","text":"a, ai = action_info(policy, x)\n\nReturn a tuple containing the action determined by policy 'p' at state or belief 'x' and information (usually a NamedTuple, Dict or nothing) from the calculation of that action.\n\nBy default, returns nothing as info.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.solve_info","page":"Model Tools","title":"POMDPTools.ModelTools.solve_info","text":"policy, si = solve_info(solver, problem)\n\nReturn a tuple containing the policy determined by a solver and information (usually a NamedTuple, Dict or nothing) from the calculation of that policy.\n\nBy default, returns nothing as info.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.update_info","page":"Model Tools","title":"POMDPTools.ModelTools.update_info","text":"bp, i = update_info(updater, b, a, o)\n\nReturn a tuple containing the new belief and information (usually a NamedTuple, Dict or nothing) from the belief update.\n\nBy default, returns nothing as info.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Model-Transformations","page":"Model Tools","title":"Model Transformations","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"POMDPTools contains several tools for transforming problems into other classes so that they can be used by different solvers.","category":"page"},{"location":"POMDPTools/model/#Linear-Algebra-Representations","page":"Model Tools","title":"Linear Algebra Representations","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"For some algorithms, such as value iteration, it is convenient to use vectors that contain the reward for every state, and matrices that contain the transition probabilities. These can be constructed with the following functions:","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"transition_matrices\nreward_vectors","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.transition_matrices","page":"Model Tools","title":"POMDPTools.ModelTools.transition_matrices","text":"transition_matrices(p::SparseTabularProblem)\n\nAccessor function for the transition model of a sparse tabular problem. It returns a list of sparse matrices for each action of the problem.\n\n\n\n\n\ntransition_matrices(m::Union{MDP,POMDP})\ntransition_matrices(m; sparse=true)\n\nConstruct transition matrices for (PO)MDP m.\n\nThe returned object is an associative object (usually a Dict), where the keys are actions. Each value in this object is an AbstractMatrix where the row corresponds to the state index of s and the column corresponds to the state index of s'. The entry in the matrix is the probability of transitioning from state s to state s'.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.reward_vectors","page":"Model Tools","title":"POMDPTools.ModelTools.reward_vectors","text":"reward_vectors(m::Union{MDP, POMDP})\n\nConstruct reward vectors for (PO)MDP m.\n\nThe returned object is an associative object (usually a Dict), where the keys are actions. Each value in this object is an AbstractVector where the index corresponds to the state index of s and the entry is the reward for that state.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Sparse-Tabular-MDPs-and-POMDPs","page":"Model Tools","title":"Sparse Tabular MDPs and POMDPs","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"The SparseTabularMDP and SparseTabularPOMDP represents discrete problems defined using the explicit interface. The transition and observation models are represented using sparse matrices. Solver writers can leverage these data structures to write efficient vectorized code. A problem writer can define its problem using the explicit interface and it can be automatically converted to a sparse tabular representation by calling the constructors SparseTabularMDP(::MDP) or SparseTabularPOMDP(::POMDP). See the following docs to know more about the matrix representation and how to access the fields of the SparseTabular objects:","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"SparseTabularMDP\nSparseTabularPOMDP\ntransition_matrix\nreward_vector\nobservation_matrix\nreward_matrix\nobservation_matrices","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.SparseTabularMDP","page":"Model Tools","title":"POMDPTools.ModelTools.SparseTabularMDP","text":"SparseTabularMDP\n\nAn MDP object where states and actions are integers and the transition is represented by a list of sparse matrices. This data structure can be useful to exploit in vectorized algorithm (e.g. see SparseValueIterationSolver). The recommended way to access the transition and reward matrices is through the provided accessor functions: transition_matrix and reward_vector.\n\nFields\n\nT::Vector{SparseMatrixCSC{Float64, Int64}} The transition model is represented as a vector of sparse matrices (one for each action). T[a][s, sp] the probability of transition from s to sp taking action a.\nR::Array{Float64, 2} The reward is represented as a matrix where the rows are states and the columns actions: R[s, a] is the reward of taking action a in sate s.\ninitial_probs::SparseVector{Float64, Int64} Specifies the initial state distribution\nterminal_states::Set{Int64} Stores the terminal states\ndiscount::Float64 The discount factor\n\nConstructors\n\nSparseTabularMDP(mdp::MDP) : One can provide the matrices to the default constructor or one can construct a SparseTabularMDP from any discrete state MDP defined using the explicit interface. \n\nNote that constructing the transition and reward matrices requires to iterate over all the states and can take a while. To learn more information about how to define an MDP with the explicit interface please visit https://juliapomdp.github.io/POMDPs.jl/latest/explicit/ .\n\nSparseTabularMDP(smdp::SparseTabularMDP; transition, reward, discount) : This constructor returns a new sparse MDP that is a copy of the original smdp except for the field specified by the keyword arguments.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.SparseTabularPOMDP","page":"Model Tools","title":"POMDPTools.ModelTools.SparseTabularPOMDP","text":"SparseTabularPOMDP\n\nA POMDP object where states and actions are integers and the transition and observation distributions are represented by lists of sparse matrices. This data structure can be useful to exploit in vectorized algorithms to gain performance (e.g. see SparseValueIterationSolver). The recommended way to access the transition, reward, and observation matrices is through the provided accessor functions: transition_matrix, reward_vector, observation_matrix.\n\nFields\n\nT::Vector{SparseMatrixCSC{Float64, Int64}} The transition model is represented as a vector of sparse matrices (one for each action). T[a][s, sp] the probability of transition from s to sp taking action a.\nR::Array{Float64, 2} The reward is represented as a matrix where the rows are states and the columns actions: R[s, a] is the reward of taking action a in sate s.\nO::Vector{SparseMatrixCSC{Float64, Int64}} The observation model is represented as a vector of sparse matrices (one for each action). O[a][sp, o] is the probability of observing o from state sp after having taken action a.\ninitial_probs::SparseVector{Float64, Int64} Specifies the initial state distribution\nterminal_states::Set{Int64} Stores the terminal states\ndiscount::Float64 The discount factor\n\nConstructors\n\nSparseTabularPOMDP(pomdp::POMDP) : One can provide the matrices to the default constructor or one can construct a SparseTabularPOMDP from any discrete state MDP defined using the explicit interface. \n\nNote that constructing the transition and reward matrices requires to iterate over all the states and can take a while. To learn more information about how to define an MDP with the explicit interface please visit https://juliapomdp.github.io/POMDPs.jl/latest/explicit/ .\n\nSparseTabularPOMDP(spomdp::SparseTabularMDP; transition, reward, observation, discount) : This constructor returns a new sparse POMDP that is a copy of the original smdp except for the field specified by the keyword arguments.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.transition_matrix","page":"Model Tools","title":"POMDPTools.ModelTools.transition_matrix","text":"transition_matrix(p::SparseTabularProblem, a)\n\nAccessor function for the transition model of a sparse tabular problem. It returns a sparse matrix containing the transition probabilities when taking action a: T[s, sp] = Pr(sp | s, a).\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.reward_vector","page":"Model Tools","title":"POMDPTools.ModelTools.reward_vector","text":"reward_vector(p::SparseTabularProblem, a)\n\nAccessor function for the reward function of a sparse tabular problem. It returns a vector containing the reward for all the states when taking action a: R(s, a). The length of the return vector is equal to the number of states.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.observation_matrix","page":"Model Tools","title":"POMDPTools.ModelTools.observation_matrix","text":"observation_matrix(p::SparseTabularPOMDP, a::Int64)\n\nAccessor function for the observation model of a sparse tabular POMDP. It returns a sparse matrix containing the observation probabilities when having taken action a: O[sp, o] = Pr(o | sp, a).\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.reward_matrix","page":"Model Tools","title":"POMDPTools.ModelTools.reward_matrix","text":"reward_matrix(p::SparseTabularProblem)\n\nAccessor function for the reward matrix R[s, a] of a sparse tabular problem.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.observation_matrices","page":"Model Tools","title":"POMDPTools.ModelTools.observation_matrices","text":"observation_matrices(p::SparseTabularPOMDP)\n\nAccessor function for the observation model of a sparse tabular POMDP. It returns a list of sparse matrices for each action of the problem.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/model/#Fully-Observable-POMDP","page":"Model Tools","title":"Fully Observable POMDP","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"FullyObservablePOMDP","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.FullyObservablePOMDP","page":"Model Tools","title":"POMDPTools.ModelTools.FullyObservablePOMDP","text":"FullyObservablePOMDP(mdp)\n\nTurn MDP mdp into a POMDP where the observations are the states of the MDP.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#Generative-Belief-MDP","page":"Model Tools","title":"Generative Belief MDP","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"Every POMDP is an MDP on the belief space GenerativeBeliefMDP creates a generative model for that MDP.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"warning: Warning\nThe reward generated by the GenerativeBeliefMDP is the reward for a single state sampled from the belief; it is not the expected reward for that belief transition (though, in expectation, they are equivalent of course). Implementing the model with the expected reward requires a custom implementation because belief updaters do not typically deal with reward.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"GenerativeBeliefMDP","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.GenerativeBeliefMDP","page":"Model Tools","title":"POMDPTools.ModelTools.GenerativeBeliefMDP","text":"GenerativeBeliefMDP(pomdp, updater)\n\nCreate a generative model of the belief MDP corresponding to POMDP pomdp with belief updates performed by updater.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#Example","page":"Model Tools","title":"Example","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"using POMDPs\nusing POMDPModels\nusing POMDPTools\n\npomdp = BabyPOMDP()\nupdater = DiscreteUpdater(pomdp)\n\nbelief_mdp = GenerativeBeliefMDP(pomdp, updater)\n@show statetype(belief_mdp) # POMDPModels.BoolDistribution\n\nfor (a, r, sp) in stepthrough(belief_mdp, RandomPolicy(belief_mdp), \"a,r,sp\", max_steps=5)\n @show a, r, sp\nend\n\n# output\nstatetype(belief_mdp) = DiscreteBelief{POMDPModels.BabyPOMDP, Bool}Bool}\n(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))\n(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))\n(a, r, sp) = (true, -5.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [1.0, 0.0]))\n(a, r, sp) = (false, 0.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [0.9759036144578314, 0.02409638554216867]))\n(a, r, sp) = (false, 0.0, DiscreteBelief{POMDPModels.BabyPOMDP, Bool}(POMDPModels.BabyPOMDP(-5.0, -10.0, 0.1, 0.8, 0.1, 0.9), Bool[0, 1], [0.9701315984030756, 0.029868401596924433]))","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"DocTestSetup = nothing","category":"page"},{"location":"POMDPTools/model/#Underlying-MDP","page":"Model Tools","title":"Underlying MDP","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"UnderlyingMDP","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.UnderlyingMDP","page":"Model Tools","title":"POMDPTools.ModelTools.UnderlyingMDP","text":"UnderlyingMDP(m::POMDP)\n\nTransform POMDP m into an MDP where the states are fully observed.\n\nUnderlyingMDP(m::MDP)\n\nReturn m\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#State-Action-Reward-Model","page":"Model Tools","title":"State Action Reward Model","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"StateActionReward","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.StateActionReward","page":"Model Tools","title":"POMDPTools.ModelTools.StateActionReward","text":"StateActionReward(m::Union{MDP,POMDP})\n\nRobustly create a reward function that depends only on the state and action.\n\nIf reward(m, s, a) is implemented, that will be used, otherwise the mean of reward(m, s, a, sp) for MDPs or reward(m, s, a, sp, o) for POMDPs will be used.\n\nExample\n\nusing POMDPs\nusing POMDPModels\nusing POMDPTools\n\nm = BabyPOMDP()\n\nrm = StateActionReward(m)\n\nrm(true, true)\n\n# output\n\n-15.0\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#Utility-Types","page":"Model Tools","title":"Utility Types","text":"","category":"section"},{"location":"POMDPTools/model/#Terminal-State","page":"Model Tools","title":"Terminal State","text":"","category":"section"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"TerminalState and its singleton instance terminalstate are available to use for a terminal state in concert with another state type. It has the appropriate type promotion logic to make its use with other types friendly, similar to nothing and missing.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"note: Note\nNOTE: This is NOT a replacement for the standard POMDPs.jl isterminal function, though isterminal is implemented for the type. It is merely a convenient type to use for terminal states.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"warning: Warning\nWARNING: Early tests (August 2018) suggest that the Julia 1.0 compiler will not be able to efficiently implement union splitting in cases as complex as POMDPs, so using a Union for the state type of a problem can currently have a large overhead.","category":"page"},{"location":"POMDPTools/model/","page":"Model Tools","title":"Model Tools","text":"TerminalState\nterminalstate","category":"page"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.TerminalState","page":"Model Tools","title":"POMDPTools.ModelTools.TerminalState","text":"TerminalState\n\nA type with no fields whose singleton instance terminalstate is used to represent a terminal state with no additional information.\n\nThis type has the appropriate promotion logic implemented to function like Missing when added to arrays, etc.\n\nNote that terminal states NEED NOT be of type TerminalState. You can define any state to be terminal by implementing the appropriate isterminal method. Solvers and simulators SHOULD NOT check for this type, but should instead check using isterminal. \n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/model/#POMDPTools.ModelTools.terminalstate","page":"Model Tools","title":"POMDPTools.ModelTools.terminalstate","text":"terminalstate\n\nThe singleton instance of type TerminalState representing a terminal state.\n\n\n\n\n\n","category":"constant"},{"location":"policy_interaction/#Interacting-with-Policies","page":"Interacting with Policies","title":"Interacting with Policies","text":"","category":"section"},{"location":"policy_interaction/","page":"Interacting with Policies","title":"Interacting with Policies","text":"A solution to a POMDP is a policy that maps beliefs or action-observation histories to actions. In POMDPs.jl, these are represented by Policy objects. See Solvers and Policies for more information about what a policy can represent in general.","category":"page"},{"location":"policy_interaction/","page":"Interacting with Policies","title":"Interacting with Policies","text":"One common task in evaluating POMDP solutions is examining the policies themselves. Since the internal representation of a policy is an esoteric implementation detail, it is best to interact with policies through the action and value interface functions. There are three relevant methods","category":"page"},{"location":"policy_interaction/","page":"Interacting with Policies","title":"Interacting with Policies","text":"action(policy, s) returns the best action (or one of the best) for the given state or belief.\nvalue(policy, s) returns the expected sum of future rewards if the policy is executed.\nvalue(policy, s, a) returns the \"Q-value\", that is, the expected sum of rewards if action a is taken on the next step and then the policy is executed.","category":"page"},{"location":"policy_interaction/","page":"Interacting with Policies","title":"Interacting with Policies","text":"Note that the quantities returned by these functions are what the policy/solver expects to be the case after its (usually approximate) computations; they may be far from the true value if the solution is not exactly optimal.","category":"page"},{"location":"install/#Installation","page":"Installation","title":"Installation","text":"","category":"section"},{"location":"install/","page":"Installation","title":"Installation","text":"If you have a running Julia distribution (Julia 0.4 or greater), you have everything you need to install POMDPs.jl. To install the package, simply run the following from the Julia REPL:","category":"page"},{"location":"install/","page":"Installation","title":"Installation","text":"import Pkg\nPkg.add(\"POMDPs\") # installs the POMDPs.jl package","category":"page"},{"location":"install/","page":"Installation","title":"Installation","text":"Some auxiliary packages and older versions of solvers may be found in the JuliaPOMDP registry. To install this registry, run:","category":"page"},{"location":"install/","page":"Installation","title":"Installation","text":"using Pkg; pkg\"registry add https://github.com/JuliaPOMDP/Registry\"","category":"page"},{"location":"install/","page":"Installation","title":"Installation","text":"Note: to use this registry, JuliaPro users must also run edit(normpath(Sys.BINDIR,\"..\",\"etc\",\"julia\",\"startup.jl\")), comment out the line ENV[\"DISABLE_FALLBACK\"] = \"true\", save the file, and restart JuliaPro as described in this issue.","category":"page"},{"location":"POMDPTools/visualization/#Visualization","page":"Visualization","title":"Visualization","text":"","category":"section"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"POMDPTools contains a basic visualization interface consisting of the render function.","category":"page"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"Problem writers should implement a method of this function so that their problem can be visualized in a variety of contexts including jupyter notebooks, web browsers, or saved as images or animations.","category":"page"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"render","category":"page"},{"location":"POMDPTools/visualization/#POMDPTools.ModelTools.render","page":"Visualization","title":"POMDPTools.ModelTools.render","text":"render(m::Union{MDP,POMDP}, step::NamedTuple)\n\nReturn a renderable representation of the step in problem m.\n\nThe renderable representation may be anything that has show(io, mime, x) methods. It could be a plot, svg, Compose.jl context, Cairo context, or image.\n\nArguments\n\nstep is a NamedTuple that contains the states, action, etc. corresponding to one transition in a simulation. It may have the following fields:\n\nt: the time step index\ns: the state at the beginning of the step\na: the action\nsp: the state at the end of the step (s')\nr: the reward for the step\no: the observation\nb: the belief at the \nbp: the belief at the end of the step\ni: info from the model when the state transition was calculated\nai: info from the policy decision\nui: info from the belief update\n\nKeyword arguments are reserved for the problem implementer and can be used to control appearance, etc.\n\nImportant Notes\n\nstep may not contain all of the elements listed above, so render should check for them and render only what is available\no typically corresponds to sp, so it is often clearer for POMDPs to render sp rather than s.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"Sometimes it is important to have control over how the problem is rendered with different mimetypes. One way to handle this is to have render return a custom type, e.g.","category":"page"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"struct MyProblemVisualization\n mdp::MyProblem\n step::NamedTuple\nend\n\nPOMDPTools.render(mdp, step) = MyProblemVisualization(mdp, step)","category":"page"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"and then implement custom show methods, e.g.","category":"page"},{"location":"POMDPTools/visualization/","page":"Visualization","title":"Visualization","text":"show(io::IO, mime::MIME\"text/html\", v::MyProblemVisualization)","category":"page"},{"location":"def_pomdp/#defining_pomdps","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"As described in the Concepts and Architecture section, an MDP is defined by the state space, action space, transition distributions, reward function, and discount factor, (SATRgamma). A POMDP also includes the observation space, and observation probability distributions, for a definition of (SATROZgamma). A problem definition in POMDPs.jl consists of an implicit or explicit definition of each of these elements.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"It is possible to define a (PO)MDP with a more traditional object-oriented approach in which the user defines a new type to represent the (PO)MDP and methods of interface functions to define the tuple elements. However, the QuickPOMDPs package provides a more concise way to get started, using keyword arguments instead of new types and methods. Essentially each keyword argument defines a corresponding POMDPs api function. Since the important concepts are the same for the object oriented approach and the QuickPOMDP approach, we will use the latter for this discussion.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"This guide has three parts: First, it explains a very simple example (the Tiger POMDP), then uses a more complex example to illustrate the broader capabilities of the interface. Finally, some alternative ways of defining (PO)MDPs are discussed.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"note: Note\nThis guide assumes that you are comfortable programming in Julia, especially familiar with various ways of defining anonymous functions. Users should consult the Julia documentation to learn more about programming in Julia.","category":"page"},{"location":"def_pomdp/#tiger","page":"Defining POMDPs and MDPs","title":"A Basic Example: The Tiger POMDP","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In the first section of this guide, we will explain a QuickPOMDP implementation of a very simple problem: the classic Tiger POMDP. In the tiger POMDP, the agent is tasked with escaping from a room. There are two doors leading out of the room. Behind one of the doors is a tiger, and behind the other is sweet, sweet freedom. If the agent opens the door and finds the tiger, it gets eaten (and receives a reward of -100). If the agent opens the other door, it escapes and receives a reward of 10. The agent can also listen. Listening gives a noisy measurement of which door the tiger is hiding behind. Listening gives the agent the correct location of the tiger 85% of the time. The agent receives a reward of -1 for listening. The complete implementation looks like this:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"using QuickPOMDPs: QuickPOMDP\nusing POMDPTools: Deterministic, Uniform, SparseCat\n\nm = QuickPOMDP(\n states = [\"left\", \"right\"],\n actions = [\"left\", \"right\", \"listen\"],\n observations = [\"left\", \"right\"],\n discount = 0.95,\n\n transition = function (s, a)\n if a == \"listen\"\n return Deterministic(s) # tiger stays behind the same door\n else # a door is opened\n return Uniform([\"left\", \"right\"]) # reset\n end\n end,\n\n observation = function (a, sp)\n if a == \"listen\"\n if sp == \"left\"\n return SparseCat([\"left\", \"right\"], [0.85, 0.15]) # sparse categorical\n else\n return SparseCat([\"right\", \"left\"], [0.85, 0.15])\n end\n else\n return Uniform([\"left\", \"right\"])\n end\n end,\n\n reward = function (s, a)\n if a == \"listen\"\n return -1.0\n elseif s == a # the tiger was found\n return -100.0\n else # the tiger was escaped\n return 10.0\n end\n end,\n\n initialstate = Uniform([\"left\", \"right\"]),\n);","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The next sections explain how each of the elements of the POMDP tuple are defined in this implementation:","category":"page"},{"location":"def_pomdp/#State,-action-and-observation-spaces","page":"Defining POMDPs and MDPs","title":"State, action and observation spaces","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In this example, each state, action, and observation is a String. The state, action and observation spaces (S, A, and O), are defined with the states, actions and observations keyword arguments. In this case, they are simply Vectors containing all the elements in the space.","category":"page"},{"location":"def_pomdp/#Transition-and-observation-distributions","page":"Defining POMDPs and MDPs","title":"Transition and observation distributions","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The transition and observation keyword arguments are used to define the transition distribution, T, and observation distribution, Z, respectively. These models are defined using functions that return distribution objects (more info below). The transition function takes state and action arguments and returns a distribution of the resulting next state. The observation function takes in an action and the resulting next state (sp, short for \"s prime\") and returns the distribution of the observation emitted at this state.","category":"page"},{"location":"def_pomdp/#Reward-function","page":"Defining POMDPs and MDPs","title":"Reward function","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The reward keyword argument defines R. It is a function that takes in a state and action and returns a number.","category":"page"},{"location":"def_pomdp/#Discount-and-initial-state-distribution","page":"Defining POMDPs and MDPs","title":"Discount and initial state distribution","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The discount factor, gamma, is defined with the discount keyword, and is simply a number between 0 and 1. The initial state distribution, b_0, is defined with the initialstate argument, and is a distribution object.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The example above shows a complete implementation of a very simple discrete-space POMDP. However, POMDPs.jl is capable of concisely expressing much more complex models with continuous and hybrid spaces. The guide below introduces a more complex example to fully explain the ways that a POMDP can be defined.","category":"page"},{"location":"def_pomdp/#Guide-to-Defining-POMDPs","page":"Defining POMDPs and MDPs","title":"Guide to Defining POMDPs","text":"","category":"section"},{"location":"def_pomdp/#po-mountaincar","page":"Defining POMDPs and MDPs","title":"A more complex example: A partially-observable mountain car","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Mountain car is a classic problem in reinforcement learning. A car starts in a valley between two hills, and must reach the goal at the top of the hill to the right (see wikipedia for image). The actions are left and right acceleration and neutral and the state consists of the car's position and velocity. In this partially-observable version, there is a small amount of acceleration noise and observations are normally-distributed noisy measurements of the position. This problem can be implemented as follows:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"import QuickPOMDPs: QuickPOMDP\nimport POMDPTools: ImplicitDistribution\nimport Distributions: Normal\n\nmountaincar = QuickPOMDP(\n actions = [-1., 0., 1.],\n obstype = Float64,\n discount = 0.95,\n\n transition = function (s, a) \n ImplicitDistribution() do rng\n x, v = s\n vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)\n vp = clamp(vp, -0.07, 0.07)\n xp = x + vp\n return (xp, vp)\n end\n end,\n\n observation = (a, sp) -> Normal(sp[1], 0.15),\n\n reward = function (s, a, sp)\n if sp[1] > 0.5\n return 100.0\n else\n return -1.0\n end\n end,\n\n initialstate = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0)),\n isterminal = s -> s[1] > 0.5\n)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The following sections provide a detailed guide to defining the components of a POMDP using this example and the tiger pomdp further above.","category":"page"},{"location":"def_pomdp/#space_representation","page":"Defining POMDPs and MDPs","title":"State, action, and observation spaces","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In POMDPs.jl, a state, action, or observation can be represented by any Julia object, for example an integer, a floating point number, a string or Symbol, or a vector. For example, in the tiger problem, the states are Strings, and in the mountaincar problem, the state is a Tuple of two floating point numbers, and the actions and observations are floating point numbers. These types are usually inferred from the space or initial state distribution definitions.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"warn: Warn\nObjects representing individual states, actions, and observations should not be altered once they are created, since they may be used as dictionary keys or stored in histories. Hence it is usually best to use immutable objects such as integers or StaticArrays. If the states need to be mutable (e.g. aggregate types with vectors in them), make sure the states are not actualy mutated and that hash and == functions are implmemented (see AutoHashEquals)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The state, action, and observation spaces are defined with the states, actions, and observations Quick(PO)MDP keyword arguments. The simplest way to define these spaces is with a Vector of states, e.g. states = [\"left\", \"right\"] in the tiger problem. More complicated spaces, such as vector spaces and other continuous, uncountable, or hybrid sets can be defined with custom objects that adhere to the space interface. However it should be noted that, for many solvers, an explicit enumeration of the state and observation spaces is not needed. Instead, it is sufficient to specify the state or observation type using the statetype or obstype arguments, e.g. obstype = Float64 in the mountaincar problem.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"tip: Tip\nIf you are having a difficult time representing the state or observation space, it is likely that you will not be able to use a solver that requires an explicit representation. It is usually best to omit that space from the definition and try solvers to see if they work.","category":"page"},{"location":"def_pomdp/#state-dep-action","page":"Defining POMDPs and MDPs","title":"State- or belief-dependent action spaces","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In some problems, the set of allowable actions depends on the state or belief. This can be implemented by providing a function of the state or belief to the actions argument, e.g. if you can only take the action 1 in state 1, but can take full action space 1, 2 and 3, in an MDP, you might use","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"# add default vlaue \"s = nothing\" , \"actions(mdp)\" won't throw error.\nactions = function (s = nothing) \n if s == 1\n return [1] #<--- return state-dep-actions\n else\n return [1,2,3] #<--- return full action space here\n end\nend","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Similarly, in a POMDP, you may wish to only allow action 1 if the belief b assigns a nonzero probability to state 1. This can be accomplished with","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"actions = function (b)\n if pdf(b, 1) > 0.0\n return [1,2,3]\n else\n return [2,3]\n end\nend","category":"page"},{"location":"def_pomdp/#Transition-and-observation-distributions-2","page":"Defining POMDPs and MDPs","title":"Transition and observation distributions","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The transition and observation observation distributions are specified through functions that return distributions. A distribution object implements parts of the distribution interface, most importantly a rand function that provides a way to sample the distribution and, for explicit distributions, a pdf function that evaluates the probability mass or density of a given outcome. In most simple cases, you will be able to use a pre-defined distribution like the ones listed below, but occasionally you will define your own for more complex problems.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"tip: Tip\nSince the transition and observation functions return distributions, you should not call rand within these functions (unless it is within an ImplicitDistribution sampling function (see below)).","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The transition function takes in a state s and action a and returns a distribution object that defines the distribution of next states given that the current state is s and the action is a, that is T(s s a). Similarly the observation function takes in the action a and the next state sp and returns a distribution object defining O(z a s).","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"note: Note\nIt is also possible to define the observation function in terms of the previous state s, along with a, and sp. This is necessary, for example, when the observation is a measurement of change in state, e.g. sp - s. However some solvers may use the a, sp method (and hence cannot solve problems where the observation is conditioned on s and s). Since providing an a, sp method automatically defines the s, a, sp method, problem writers should usually define only the a, sp method, and only define the s, a, sp method if it is necessary. Except for special performance cases, problem writers should never need to define both methods.","category":"page"},{"location":"def_pomdp/#Commonly-used-distributions","page":"Defining POMDPs and MDPs","title":"Commonly-used distributions","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In most cases, the following pre-defined distributions found in the POMDPTools and Distributions packages will be sufficient to define models.","category":"page"},{"location":"def_pomdp/#Deterministic","page":"Defining POMDPs and MDPs","title":"Deterministic","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The Deterministic distribution should be used when there is no randomness in the state or observation given the state and action inputs. This commonly occurs when the new state is a deterministic function of the state and action or the state stays the same, for example when the action is \"listen\" in the tiger example above, the transition function returns Deterministic(s).","category":"page"},{"location":"def_pomdp/#SparseCat","page":"Defining POMDPs and MDPs","title":"SparseCat","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In discrete POMDPs, it is common for the state or observation to have a few possible outcomes with specified probabilities. This can be represented with a sparse categorical SparseCat distribution that takes a list of outcomes and a list of associated probabilities as arguments. For instance, in the tiger example above, when the action is \"listen\", there is an 85% chance of receiving the correct observation. Thus if the state is \"left\", the observation distribution is SparseCat([\"left\", \"right\"], [0.85, 0.15]), and SparseCat([\"right\", \"left\"], [0.85, 0.15]) if the state is \"right\".","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Another example where SparseCat distributions are useful is in grid-world problems, where there is a high probability of transitioning along the direction of the action, a low probability of transitioning to other adjacent states, and zero probability of transitioning to any other states.","category":"page"},{"location":"def_pomdp/#Uniform","page":"Defining POMDPs and MDPs","title":"Uniform","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Another common case is a uniform distribution over a space or set of outcomes. This can be represented with a Uniform object that takes a set of outcomes as an argument. For example, the initial state distribution in the tiger problem is represented with Uniform([\"left\", \"right\"]) indicating that both states are equally likely.","category":"page"},{"location":"def_pomdp/#Distributions.jl","page":"Defining POMDPs and MDPs","title":"Distributions.jl","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"If the states or observations have numerical or vector values, the Distributions.jl package provides a suite of suitable distributions. For example, the observation function in the partially-observable mountain car example above,","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"observation = (a, sp) -> Normal(sp[1], 0.15)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"returns a Normal distribution from this package with a mean that depends on the car's location (the first element of state sp) and a standard deviation of 0.15.","category":"page"},{"location":"def_pomdp/#implicit_distribution_section","page":"Defining POMDPs and MDPs","title":"ImplicitDistribution","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In many cases, especially when the state or observation spaces are continuous or hybrid, it is difficult or impossible to specify the probability density explicitly. Fortunately, many solvers for these problems do not require explicit density information and instead need only samples from the distribution. In this case, an \"implicit distribution\" or \"generative model\" is sufficient. In POMDPs.jl, this can be represented using an ImplicitDistribution object.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The argument to an ImplicitDistribution constructor is a function that takes a random number generator as an argument and returns a sample from the distribution. To see how this works, we'll look at an example inspired by the mountaincar initial state distribution. Samples from this distribution are position-velocity tuples where the velocity is always zero, but the position is uniformly distributed between -0.2 and 0. Consider the following code:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"using Random: MersenneTwister\nusing POMDPTools: ImplicitDistribution\n\nrng = MersenneTwister(1)\n\nd = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0))\nrand(rng, d)\n# output\n(-0.04720666913240939, 0.0)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Here, rng is the random number generator. When rand(rng, d) is called, the sampling function, rng -> (-0.2*rand(rng), 0.0), is called to generate a state. The sampling function uses rng to generate a random number between 0 and 1 (rand(rng)), multiplies it by -0.2 to get the position, and creates a tuple with the position and a velocity of 0.0 and returns an initial state that might be, for instance (-0.11, 0.0). Any time that a solver, belief updater, or simulator needs an initial state for the problem, it will be sampled in this way.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"note: Note\nThe random number generator is a subtype of AbstractRNG. It is important to use this random number generator for all calls to rand in the sample function for reproducible results. Moreover some solvers use specialized random number generators that allow them to reduce variance. See also the What if I don't use the rng argument? FAQ.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"It is also common to use Julia's do block syntax to define more complex sampling functions. For instance the transition function in the mountaincar example returns an ImplicitDistribution with a sampling function that (1) generates a new noisy velocity through a randn call, then (2) clamps the velocity, and finally (3) integrates the position with Euler's method:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"transition = function (s, a) \n ImplicitDistribution() do rng\n x, v = s\n vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)\n vp = clamp(vp, -0.07, 0.07)\n xp = x + vp\n return (xp, vp)\n end\nend","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Because of the nonlinear clamp operation, it would be difficult to represent this distribution explicitly.","category":"page"},{"location":"def_pomdp/#Custom-distributions","page":"Defining POMDPs and MDPs","title":"Custom distributions","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"If none of the distributions above are suitable, for example if you need to represent an explicit distribution with hybrid support, it is not difficult to define your own distributions by implementing the functions in the distribution interface.","category":"page"},{"location":"def_pomdp/#Reward-functions","page":"Defining POMDPs and MDPs","title":"Reward functions","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The reward function maps a combination of state, action, and observation arguments to the reward for a step. For instance, the reward function in the mountaincar problem,","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"reward = function (s, a, sp)\n if sp[1] > 0.5\n return 100.0\n else\n return -1.0\n end\nend","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"takes in the previous state, s, the action, a, and the resulting state, sp and returns a large positive reward if the resulting position, sp[1], is beyond a threshold (note the coupling of the terminal reward) and a small negative reward on all other steps. If the reward in the problem is stochastic, the reward function implemented in POMDPs.jl should return the mean reward.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"There are two possible reward function argument signatures that a problem-writer might consider implementing for an MDP: (s, a) and (s, a, sp). For a POMDP, there is an additional version, (s, a, sp, o). The (s, a, sp) version is useful when transition to a terminal state results in a reward, and the (s, a, sp, o) version is useful for cases when the reward is associated with an observation, such as a negative reward for the stress caused by a medical diagnostic test that indicates the possibility of a disease. Problem writers should implement the version with the fewest number of arguments possible, since the versions with more arguments are automatically provided to solvers and simulators if a version with fewer arguments is implemented.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In rare cases, it may make sense to implement two or more versions of the function, for example if a solver requires (s, a), but the user wants an observation-dependent reward to show up in simulation. It is OK to implement two methods of the reward function as long as the following relationships hold: R(s a) = E_ssim T(ssa)R(s a s) and R(s a s) = E_o sim Z(o s a s)R(s a s o). That is, the versions with fewer arguments must be expectations of versions with more arguments.","category":"page"},{"location":"def_pomdp/#Other-Components","page":"Defining POMDPs and MDPs","title":"Other Components","text":"","category":"section"},{"location":"def_pomdp/#Discount-factors","page":"Defining POMDPs and MDPs","title":"Discount factors","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The discount keyword argument is simply a number between 0 and 1 used to discount rewards in the future.","category":"page"},{"location":"def_pomdp/#Initial-state-distribution","page":"Defining POMDPs and MDPs","title":"Initial state distribution","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The initialstate argument should be a distribution object (see above) that defines the initial state distribution (and initial belief for POMDPs).","category":"page"},{"location":"def_pomdp/#Terminal-states","page":"Defining POMDPs and MDPs","title":"Terminal states","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The function supplied to the isterminal object defines which which states in the POMDP are terminal. The function should take a state as an argument as an argument and return true if the state is terminal and false otherwise. For example, in the mountaincar example above, isterminal = s -> s[1] > 0.5 indicates all states where the position, s[1] is greater than 0.5 are terminal.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"It is assumed that the system will take no further steps once it has reached a terminal state. Since reward is assigned for taking steps, no additional award can be accumulated from a terminal state. Consequently, the most important property of terminal states is that the value of a terminal state is always zero. Many solvers leverage this property for efficiency. As in the mountaincar example","category":"page"},{"location":"def_pomdp/#Other-ways-to-define-a-(PO)MDP","page":"Defining POMDPs and MDPs","title":"Other ways to define a (PO)MDP","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Besides the Quick(PO)MDP approach above, there are several alternative ways to define (PO)MDP models:","category":"page"},{"location":"def_pomdp/#Object-oriented","page":"Defining POMDPs and MDPs","title":"Object-oriented","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"First, it is possible to create your own (PO)MDP types and implement the components of the POMDP directly as methods of POMDPs.jl interface functions. This approach can be thought of as the \"low-level\" way to define a POMDP, and the QuickPOMDP as merely a syntactic convenience. There are a few things that make this object-oriented approach more cumbersome than the QuickPOMDP approach, but the structure is similar. For example, the tiger QuickPOMDP shown above can be implemented as follows:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"import POMDPs\nusing POMDPs: POMDP\nusing POMDPTools: Deterministic, Uniform, SparseCat\n\nstruct TigerPOMDP <: POMDP{String, String, String}\n p_correct::Float64\n indices::Dict{String, Int}\n\n TigerPOMDP(p_correct=0.85) = new(p_correct, Dict(\"left\"=>1, \"right\"=>2, \"listen\"=>3))\nend\n\nPOMDPs.states(m::TigerPOMDP) = [\"left\", \"right\"]\nPOMDPs.actions(m::TigerPOMDP) = [\"left\", \"right\", \"listen\"]\nPOMDPs.observations(m::TigerPOMDP) = [\"left\", \"right\"]\nPOMDPs.discount(m::TigerPOMDP) = 0.95\nPOMDPs.stateindex(m::TigerPOMDP, s) = m.indices[s]\nPOMDPs.actionindex(m::TigerPOMDP, a) = m.indices[a]\nPOMDPs.obsindex(m::TigerPOMDP, o) = m.indices[o]\n\nfunction POMDPs.transition(m::TigerPOMDP, s, a)\n if a == \"listen\"\n return Deterministic(s) # tiger stays behind the same door\n else # a door is opened\n return Uniform([\"left\", \"right\"]) # reset\n end\nend\n\nfunction POMDPs.observation(m::TigerPOMDP, a, sp)\n if a == \"listen\"\n if sp == \"left\"\n return SparseCat([\"left\", \"right\"], [m.p_correct, 1.0-m.p_correct])\n else\n return SparseCat([\"right\", \"left\"], [m.p_correct, 1.0-m.p_correct])\n end\n else\n return Uniform([\"left\", \"right\"])\n end\nend\n\nfunction POMDPs.reward(m::TigerPOMDP, s, a)\n if a == \"listen\"\n return -1.0\n elseif s == a # the tiger was found\n return -100.0\n else # the tiger was escaped\n return 10.0\n end\nend\n\nPOMDPs.initialstate(m::TigerPOMDP) = Uniform([\"left\", \"right\"])\n# output","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"It is easy to see that the new methods are similar to the keyword arguments in the QuickPOMDP approach, except that every function has an initial m argument that has the newly created POMDP type. There are several differences from the QuickPOMDP approach: First, the POMDP is represented by a new struct that is a subtype of POMDP{S,A,O}. The state, action, and observation types must be specified as the S, A, and O parameters of the POMDP abstract type. Second, this new struct may contain problem-specific fields, which makes it easy for others to construct POMDPs that have the same structure but different parameters. For example, in the code above, the struct has a p_correct parameter that specifies the probability of receiving a correct observation when the \"listen\" action is taken. The final and most cumbersome difference between this object-oriented approach and using QuickPOMDPs is that the user must implement stateindex, actionindex, and obsindex to map states, actions, and observations to appropriate indices so that data such as values can be stored and accessed efficiently in vectors.","category":"page"},{"location":"def_pomdp/#Using-a-single-generative-function-instead-of-separate-T,-Z,-and-R","page":"Defining POMDPs and MDPs","title":"Using a single generative function instead of separate T, Z, and R","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"In some cases, you may wish to use a simulator that generates the next state, observation, and/or reward (s, o, and r) simultaneously. This is sometimes called a \"generative model\".","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"For example if you are working on an autonomous driving POMDP, the car may travel for one or more seconds in between POMDP decision steps during which it may accumulate reward and observation measurements. In this case it might be very difficult to create a reward or observation function based on s, a, and s arguments.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"For situations like this, gen is an alternative to transition, observation, and reward. The gen function should take in state, action, and random number generator arguments and return a NamedTuple with keys sp (for \"s-prime\", the next state), o, and r. The mountaincar example above can be implemented with gen as shown below.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"note: Note\ngen is intended only for the case where two or more of the next state, observation, and reward need to be generated at the same time. If the state transition model can be separated from the reward and observation models, you should implement transition with an ImplicitDistribution instead of gen. See also the \"What is the difference between transition, gen, and @gen?\" FAQ.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"using QuickPOMDPs: QuickPOMDP\nusing POMDPTools: ImplicitDistribution\n\nmountaincar = QuickPOMDP(\n actions = [-1., 0., 1.],\n obstype = Float64,\n discount = 0.95,\n\n gen = function (s, a, rng)\n x, v = s\n vp = v + a*0.001 + cos(3*x)*-0.0025 + 0.0002*randn(rng)\n vp = clamp(vp, -0.07, 0.07)\n xp = x + vp\n if xp > 0.5\n r = 100.0\n else\n r = -1.0\n end\n o = xp + 0.15*randn(rng)\n return (sp=(xp, vp), o=o, r=r)\n end,\n\n initialstate = ImplicitDistribution(rng -> (-0.2*rand(rng), 0.0)),\n isterminal = s -> s[1] > 0.5\n)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"tip: Tip\ngen is not tied to the QuickPOMDP approach; it can also be used in the object-oriented paradigm.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"tip: Tip\nIt is possible to mix and match gen with transtion, observation, and reward. For example, if the gen function returns a NamedTuple with sp and r keys, POMDPs.jl will try to use gen to generate states and rewards and the observation function to generate observations.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"note: Note\nImplementing gen instead of transition, observation, and reward will limit which solvers you can use; for example, it is impossible to use a solver that requires an explicit transition distribution","category":"page"},{"location":"def_pomdp/#Tabular","page":"Defining POMDPs and MDPs","title":"Tabular","text":"","category":"section"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Finally, it is sometimes convenient to define (PO)MDPs with tables that define the transition and observation probabilities and rewards. In this case, the states, actions, and observations must simply be integers.","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"The code below is a tabular implementation of the tiger example with the states, actions, and observations mapped to the following integers:","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"integer state, action, or observation\n1 \"left\"\n2 \"right\"\n3 \"listen\"","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"using POMDPModels: TabularPOMDP\n\nT = zeros(2,3,2)\nT[:,:,1] = [1. 0.5 0.5; \n 0. 0.5 0.5]\nT[:,:,2] = [0. 0.5 0.5; \n 1. 0.5 0.5]\n\nO = zeros(2,3,2)\nO[:,:,1] = [0.85 0.5 0.5; \n 0.15 0.5 0.5]\nO[:,:,2] = [0.15 0.5 0.5; \n 0.85 0.5 0.5]\n\nR = [-1. -100. 10.; \n -1. 10. -100.]\n\nm = TabularPOMDP(T, R, O, 0.95)","category":"page"},{"location":"def_pomdp/","page":"Defining POMDPs and MDPs","title":"Defining POMDPs and MDPs","text":"Here T is a S times A times S array representing the transition probabilities, with T[sp, a, s] = T(s s a). Similarly, O is an O times A times S encoding the observation distribution with O[o, a, sp] = Z(o a s), and R is a S times A matrix that encodes the reward function. 0.95 is the discount factor.","category":"page"},{"location":"example_defining_problems/#Defining-a-POMDP","page":"Defining a POMDP","title":"Defining a POMDP","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"As mentioned in the Defining POMDPs and MDPs section, there are verious ways to define a POMDP using POMDPs.jl. In this section, we provide more examples of how to define a POMDP using the different interfaces.","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"There is a large variety of problems that can be expressed as MDPs and POMDPs and different solvers require different components of the POMDPs.jl interface to be defined. Therefore, these examples are not intended to cover all possible use cases. When deeloping a problem and you have an idea of what solver(s) you would like to use, it is recommended to use POMDPLinter to help you to determine what components of the POMDPs.jl interface need to be defined. Reference the Checking Requirements section for an example of using POMDPLinter.","category":"page"},{"location":"example_defining_problems/#CryingBaby-Problem-Definition","page":"Defining a POMDP","title":"CryingBaby Problem Definition","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"For the examples, we will use the CryingBaby problem from Algorithms for Decision Making by Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray.","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"note: Note\nThis craying baby problem follows the description in Algorithms for Decision Making and is different than BabyPOMDP defined in POMDPModels.jl.","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"From Appendix F of Algorithms for Decision Making:","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"The crying baby problem is a simple POMDP with two states, three actions, and two observations. Our goal is to care for a baby, and we do so by choosing at each time step whether to feed the baby, sing to the baby, or ignore the baby.The baby becomes hungry over time. We do not directly observe whether the baby is hungry; instead, we receive a noisy observation in the form of whether the baby is crying. The state, action, and observation spaces are as follows:beginalign*\nmathcalS = textsated texthungry \nmathcalA = textfeed textsing textignore \nmathcalO = textcrying textquiet \nendalign*Feeding will always sate the baby. Ignoring the baby risks a sated baby becoming hungry, and ensures that a hungry baby remains hungry. Singing to the baby is an information-gathering action with the same transition dynamics as ignoring, but without the potential for crying when sated (not hungry) and with an increased chance of crying when hungry.The transition dynamics are as follows:beginalign*\n T(textsated mid texthungry textfeed) = 100 \n T(texthungry mid texthungry textsing) = 100 \n T(texthungry mid texthungry textignore) = 100 \n T(textsated mid textsated textfeed) = 100 \n T(texthungry mid textsated textsing) = 10 \n T(texthungry mid textsated textignore) = 10\nendalign*The observation dynamics are as follows:beginalign*\n O(textcrying mid textfeed texthungry) = 80 \n O(textcrying mid textsing texthungry) = 90 \n O(textcrying mid textignore texthungry) = 80 \n O(textcrying mid textfeed textsated) = 10 \n O(textcrying mid textsing textsated) = 0 \n O(textcrying mid textignore textsated) = 10 \nendalign*The reward function assigns 10 reward if the baby is hungry, independent of the action taken. The effort of feeding the baby adds a further 5 reward, whereas singing adds 05 reward. As baby caregivers, we seek the optimal infinite-horizon policy with discount factor gamma = 09. ","category":"page"},{"location":"example_defining_problems/#quick_crying","page":"Defining a POMDP","title":"QuickPOMDP Interface","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"using POMDPs\nusing POMDPTools\nusing QuickPOMDPs\n\nquick_crying_baby_pomdp = QuickPOMDP(\n states = [:sated, :hungry],\n actions = [:feed, :sing, :ignore],\n observations = [:quiet, :crying],\n initialstate = Deterministic(:sated),\n discount = 0.9,\n transition = function (s, a)\n if a == :feed\n return Deterministic(:sated)\n elseif s == :sated # :sated and a != :feed\n return SparseCat([:sated, :hungry], [0.9, 0.1])\n else # s == :hungry and a != :feed\n return Deterministic(:hungry)\n end\n end,\n observation = function (a, sp)\n if sp == :hungry\n if a == :sing\n return SparseCat([:crying, :quiet], [0.9, 0.1])\n else # a == :ignore || a == :feed\n return SparseCat([:crying, :quiet], [0.8, 0.2])\n end\n else # sp = :sated\n if a == :sing\n return Deterministic(:quiet)\n else # a == :ignore || a == :feed\n return SparseCat([:crying, :quiet], [0.1, 0.9])\n end\n \n end\n end,\n reward = function (s, a)\n r = 0.0\n if s == :hungry\n r += -10.0\n end\n if a == :feed\n r += -5.0\n elseif a == :sing\n r+= -0.5\n end\n return r\n end\n)","category":"page"},{"location":"example_defining_problems/#explicit_crying","page":"Defining a POMDP","title":"Explicit Interface","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"using POMDPs\nusing POMDPTools\n\nstruct CryingBabyState\n hungry::Bool\nend\n\nstruct CryingBabyPOMDP <: POMDP{CryingBabyState, Symbol, Symbol}\n p_sated_to_hungry::Float64\n p_cry_feed_hungry::Float64\n p_cry_sing_hungry::Float64\n p_cry_ignore_hungry::Float64\n p_cry_feed_sated::Float64\n p_cry_sing_sated::Float64\n p_cry_ignore_sated::Float64\n reward_hungry::Float64\n reward_feed::Float64\n reward_sing::Float64\n discount_factor::Float64\nend\n\nfunction CryingBabyPOMDP(;\n p_sated_to_hungry=0.1,\n p_cry_feed_hungry=0.8,\n p_cry_sing_hungry=0.9,\n p_cry_ignore_hungry=0.8,\n p_cry_feed_sated=0.1,\n p_cry_sing_sated=0.0,\n p_cry_ignore_sated=0.1,\n reward_hungry=-10.0,\n reward_feed=-5.0,\n reward_sing=-0.5,\n discount_factor=0.9\n)\n return CryingBabyPOMDP(p_sated_to_hungry, p_cry_feed_hungry,\n p_cry_sing_hungry, p_cry_ignore_hungry, p_cry_feed_sated,\n p_cry_sing_sated, p_cry_ignore_sated, reward_hungry,\n reward_feed, reward_sing, discount_factor)\nend\n\nPOMDPs.actions(::CryingBabyPOMDP) = [:feed, :sing, :ignore]\nPOMDPs.states(::CryingBabyPOMDP) = [CryingBabyState(false), CryingBabyState(true)]\nPOMDPs.observations(::CryingBabyPOMDP) = [:crying, :quiet]\nPOMDPs.stateindex(::CryingBabyPOMDP, s::CryingBabyState) = s.hungry ? 2 : 1\nPOMDPs.obsindex(::CryingBabyPOMDP, o::Symbol) = o == :crying ? 1 : 2\nPOMDPs.actionindex(::CryingBabyPOMDP, a::Symbol) = a == :feed ? 1 : a == :sing ? 2 : 3\n\nfunction POMDPs.transition(pomdp::CryingBabyPOMDP, s::CryingBabyState, a::Symbol)\n if a == :feed\n return Deterministic(CryingBabyState(false))\n elseif s == :sated # :sated and a != :feed\n return SparseCat([CryingBabyState(false), CryingBabyState(true)], [1 - pomdp.p_sated_to_hungry, pomdp.p_sated_to_hungry])\n else # s == :hungry and a != :feed\n return Deterministic(CryingBabyState(true))\n end\nend\n\nfunction POMDPs.observation(pomdp::CryingBabyPOMDP, a::Symbol, sp::CryingBabyState)\n if sp.hungry\n if a == :sing\n return SparseCat([:crying, :quiet], [pomdp.p_cry_sing_hungry, 1 - pomdp.p_cry_sing_hungry])\n elseif a== :ignore\n return SparseCat([:crying, :quiet], [pomdp.p_cry_ignore_hungry, 1 - pomdp.p_cry_ignore_hungry])\n else # a == :feed\n return SparseCat([:crying, :quiet], [pomdp.p_cry_feed_hungry, 1 - pomdp.p_cry_feed_hungry])\n end\n else # sated\n if a == :sing\n return SparseCat([:crying, :quiet], [pomdp.p_cry_sing_sated, 1 - pomdp.p_cry_sing_sated])\n elseif a== :ignore\n return SparseCat([:crying, :quiet], [pomdp.p_cry_ignore_sated, 1 - pomdp.p_cry_ignore_sated])\n else # a == :feed\n return SparseCat([:crying, :quiet], [pomdp.p_cry_feed_sated, 1 - pomdp.p_cry_feed_sated])\n end\n end\nend\n\nfunction POMDPs.reward(pomdp::CryingBabyPOMDP, s::CryingBabyState, a::Symbol)\n r = 0.0\n if s.hungry\n r += pomdp.reward_hungry\n end\n if a == :feed\n r += pomdp.reward_feed\n elseif a == :sing\n r += pomdp.reward_sing\n end\n return r\nend\n\nPOMDPs.discount(pomdp::CryingBabyPOMDP) = pomdp.discount_factor\n\nPOMDPs.initialstate(::CryingBabyPOMDP) = Deterministic(CryingBabyState(false))\n\nexplicit_crying_baby_pomdp = CryingBabyPOMDP()","category":"page"},{"location":"example_defining_problems/#gen_crying","page":"Defining a POMDP","title":"Generative Interface","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"This crying baby problem should not be implemented using the generative interface. However, this exmple is provided for pedagogical purposes.","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"using POMDPs\nusing POMDPTools\nusing Random\n\nstruct GenCryingBabyState\n hungry::Bool\nend\n\nstruct GenCryingBabyPOMDP <: POMDP{CryingBabyState, Symbol, Symbol}\n p_sated_to_hungry::Float64\n p_cry_feed_hungry::Float64\n p_cry_sing_hungry::Float64\n p_cry_ignore_hungry::Float64\n p_cry_feed_sated::Float64\n p_cry_sing_sated::Float64\n p_cry_ignore_sated::Float64\n reward_hungry::Float64\n reward_feed::Float64\n reward_sing::Float64\n discount_factor::Float64\n \n GenCryingBabyPOMDP() = new(0.1, 0.8, 0.9, 0.8, 0.1, 0.0, 0.1, -10.0, -5.0, -0.5, 0.9) \nend\n\nfunction POMDPs.gen(pomdp::GenCryingBabyPOMDP, s::CryingBabyState, a::Symbol, rng::AbstractRNG)\n \n if a == :feed\n sp = GenCryingBabyState(false)\n else \n sp = rand(rng) < pomdp.p_sated_to_hungry ? GenCryingBabyState(true) : GenCryingBabyState(false)\n end\n \n if sp.hungry\n if a == :sing\n o = rand(rng) < pomdp.p_cry_sing_hungry ? :crying : :quiet\n elseif a== :ignore\n o = rand(rng) < pomdp.p_cry_ignore_hungry ? :crying : :quiet\n else # a == :feed\n o = rand(rng) < pomdp.p_cry_feed_hungry ? :crying : :quiet\n end\n else # sated\n if a == :sing\n o = rand(rng) < pomdp.p_cry_sing_sated ? :crying : :quiet\n elseif a== :ignore\n o = rand(rng) < pomdp.p_cry_ignore_sated ? :crying : :quiet\n else # a == :feed\n o = rand(rng) < pomdp.p_cry_feed_sated ? :crying : :quiet\n end\n end\n \n r = 0.0\n if sp.hungry\n r += pomdp.reward_hungry\n end\n if a == :feed\n r += pomdp.reward_feed\n elseif a == :sing\n r += pomdp.reward_sing\n end\n \n return (sp=sp, o=o, r=r) \nend\n\nPOMDPs.initialstate(::GenCryingBabyPOMDP) = Deterministic(GenCryingBabyState(false))\n\ngen_crying_baby_pomdp = GenCryingBabyPOMDP()","category":"page"},{"location":"example_defining_problems/#tab_crying","page":"Defining a POMDP","title":"Probability Tables","text":"","category":"section"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"For this implementaion we will use the following indexes:","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"States\n:sated = 1\n:hungry = 2\nActions\n:feed = 1\n:sing = 2\n:ignore = 3\nObservations\n:crying = 1\n:quiet = 2","category":"page"},{"location":"example_defining_problems/","page":"Defining a POMDP","title":"Defining a POMDP","text":"using POMDPModels\n\nT = zeros(2, 3, 2) # |S| x |A| x |S'|, T[sp, a, s] = p(sp | a, s)\nT[:, 1, :] = [1.0 1.0; \n 0.0 0.0]\nT[:, 2, :] = [0.9 0.0; \n 0.1 1.0]\nT[:, 3, :] = [0.9 0.0; \n 0.1 1.0]\n\nO = zeros(2, 3, 2) # |O| x |A| x |S'|, O[o, a, sp] = p(o | a, sp)\nO[:, 1, :] = [0.1 0.8; \n 0.9 0.2]\nO[:, 2, :] = [0.0 0.9;\n 1.0 0.1]\nO[:, 3, :] = [0.1 0.8;\n 0.9 0.2]\n\nR = zeros(2, 3) # |S| x |A|\nR = [-5.0 -0.5 0.0;\n -15.0 -10.5 0.0]\n \ndiscount = 0.9\n\ntabular_crying_baby_pomdp = TabularPOMDP(T, R, O, discount)","category":"page"},{"location":"concepts/#Concepts-and-Architecture","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"","category":"section"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"POMDPs.jl aims to coordinate the development of three software components: 1) a problem, 2) a solver, 3) an experiment. Each of these components has a set of abstract types associated with it and a set of functions that allow a user to define each component's behavior in a standardized way. An outline of the architecture is shown below.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"(Image: concepts)","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"The MDP and POMDP types are associated with the problem definition. The Solver and Policy types are associated with the solver or decision-making agent. Typically, the Updater type is also associated with the solver, but a solver may sometimes be used with an updater that was implemented separately. The Simulator type is associated with the experiment.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"The code components of the POMDPs.jl ecosystem relevant to problems and solvers are shown below. The arrows represent the flow of information from the problems to the solvers. The figure shows the two interfaces that form POMDPs.jl - Explicit and Generative. Details about these interfaces can be found in the section on Defining POMDPs.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"(Image: interface_relationships)","category":"page"},{"location":"concepts/#POMDPs-and-MDPs","page":"Concepts and Architecture","title":"POMDPs and MDPs","text":"","category":"section"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"An MDP is a mathematical framework for sequential decision making under uncertainty, and where all of the uncertainty arises from outcomes that are partially random and partially under the control of a decision maker. Mathematically, an MDP is a tuple (SATRgamma), where S is the state space, A is the action space, T is a transition function defining the probability of transitioning to each state given the state and action at the previous time, and R is a reward function mapping every possible transition (sas) to a real reward value. Finally, gamma is a discount factor that defines the relative weighting of current and future rewards. For more information see a textbook such as [1]. In POMDPs.jl an MDP is represented by a concrete subtype of the MDP abstract type and a set of methods that define each of its components as described in the problem definition section.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"A POMDP is a more general sequential decision making problem in which the agent is not sure what state they are in. The state is only partially observable by the decision making agent. Mathematically, a POMDP is a tuple (SATROZgamma) where S, A, T, R, and gamma have the same meaning as in an MDP, O is the agent's observation space, and Z defines the probability of receiving each observation at a transition. In POMDPs.jl, a POMDP is represented by a concrete subtype of the POMDP abstract type, and the methods described in the problem definition section.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"POMDPs.jl contains additional functions for defining optional problem behavior such as an initial state distribution or terminal states. More information can be found in the Defining POMDPs section.","category":"page"},{"location":"concepts/#Beliefs-and-Updaters","page":"Concepts and Architecture","title":"Beliefs and Updaters","text":"","category":"section"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"In a POMDP domain, the decision-making agent does not have complete information about the state of the problem, so the agent can only make choices based on its \"belief\" about the state. In the POMDP literature, the term \"belief\" is typically defined to mean a probability distribution over all possible states of the system. However, in practice, the agent often makes decisions based on an incomplete or lossy record of past observations that has a structure much different from a probability distribution. For example, if the agent is represented by a finite-state controller, as is the case for Monte-Carlo Value Iteration [2], the belief is the controller state, which is a node in a graph. Another example is an agent represented by a recurrent neural network. In this case, the agent's belief is the state of the network. In order to accommodate a wide variety of decision-making approaches in POMDPs.jl, we use the term \"belief\" to denote the set of information that the agent makes a decision on, which could be an exact state distribution, an action-observation history, a set of weighted particles, or the examples mentioned before. In code, the belief can be represented by any built-in or user-defined type.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"When an action is taken and a new observation is received, the belief is updated by the belief updater. In code, a belief updater is represented by a concrete subtype of the Updater abstract type, and the update(updater, belief, action, observation) function defines how the belief is updated when a new observation is received.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"Although the agent may use a specialized belief structure to make decisions, the information initially given to the agent about the state of the problem is usually most conveniently represented as a state distribution, thus the initialize_belief function is provided to convert a state distribution to a specialized belief structure that an updater can work with.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"In many cases, the belief structure is closely related to the solution technique, so it will be implemented by the programmer who writes the solver. In other cases, the agent can use a variety of belief structures to make decisions, so a domain-specific updater implemented by the programmer that wrote the problem description may be appropriate. Finally, some advanced generic belief updaters such as particle filters may be implemented by a third party. The convenience function updater(policy) can be used to get a suitable default updater for a policy, however many policies can work with other updaters.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"For more information on implementing a belief updater, see Defining a Belief Updater","category":"page"},{"location":"concepts/#Solvers-and-Policies","page":"Concepts and Architecture","title":"Solvers and Policies","text":"","category":"section"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"Sequential decision making under uncertainty involves both online and offline calculations. In the broad sense, the term \"solver\" as used in the node in the figure at the top of the page refers to the software package that performs the calculations at both of these times. However, the code is broken up into two pieces, the solver that performs calculations offline and the policy that performs calculations online.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"In the abstract, a policy is a mapping from every belief that an agent might take to an action. A policy is represented in code by a concrete subtype of the Policy abstract type. The programmer implements action to describe what computations need to be done online. For an online solver such as POMCP, all of the decision computation occurs within action while for an offline solver like SARSOP, there is very little computation within action. See Interacting with Policies for more information.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"The offline portion of the computation is carried out by the solver, which is represented by a concrete subtype of the Solver abstract type. Computations occur within the solve function. For an offline solver like SARSOP, nearly all of the decision computation occurs within this function, but for some online solvers such as POMCP, solve merely embeds the problem in the policy.","category":"page"},{"location":"concepts/#Simulators","page":"Concepts and Architecture","title":"Simulators","text":"","category":"section"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"A simulator defines a way to run one or more simulations. It is represented by a concrete subtype of the Simulator abstract type and the simulation is an implemention of simulate. Depending on the simulator, simulate may return a variety of data about the simulation, such as the discounted reward or the state history. All simulators should perform simulations consistent with the Simulation Standard.","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"[1] Decision Making Under Uncertainty: Theory and Application by Mykel J. Kochenderfer, MIT Press, 2015","category":"page"},{"location":"concepts/","page":"Concepts and Architecture","title":"Concepts and Architecture","text":"[2] Bai, H., Hsu, D., & Lee, W. S. (2014). Integrated perception and planning in the continuous space: A POMDP approach. The International Journal of Robotics Research, 33(9), 1288-1302","category":"page"},{"location":"example_simulations/#Simulations-Examples","page":"Simulations Examples","title":"Simulations Examples","text":"","category":"section"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"In these simulation examples, we will use the crying baby POMDPs defined in the Defining a POMDP section (i.e. quick_crying_baby_pomdp, explicit_crying_baby_pomdp, gen_crying_baby_pomdp, and tabular_crying_baby_pomdp).","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"include(\"examples/crying_baby_examples.jl\")\ninclude(\"examples/crying_baby_solvers.jl\")","category":"page"},{"location":"example_simulations/#Stepthrough","page":"Simulations Examples","title":"Stepthrough","text":"","category":"section"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"The stepthrough simulater provides a window into the simulation with a for-loop syntax.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"Within the body of the for loop, we have access to the belief, the action, the observation, and the reward, in each step. We also calculate the sum of the rewards in this example, but note that this is not the discounted reward.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"function run_step_through_simulation() # hide\npolicy = RandomPolicy(quick_crying_baby_pomdp)\nr_sum = 0.0\nstep = 0\nfor (b, s, a, o, r) in stepthrough(quick_crying_baby_pomdp, policy, DiscreteUpdater(quick_crying_baby_pomdp), \"b,s,a,o,r\"; max_steps=4)\n step += 1\n println(\"Step $step\")\n println(\"b = sated => $(b.b[1]), hungry => $(b.b[2])\")\n @show s\n @show a\n @show o\n @show r\n r_sum += r\n @show r_sum\n println() \nend\nend #hide\n\nrun_step_through_simulation() # hide","category":"page"},{"location":"example_simulations/#Rollout-Simulations","page":"Simulations Examples","title":"Rollout Simulations","text":"","category":"section"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"While stepthrough is a flexible and convenient tool for many user-facing demonstrations, it is often less error-prone to use the standard simulate function with a Simulator object. The simplest Simulator is the RolloutSimulator. It simply runs a simulation and returns the discounted reward. ","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"function run_rollout_simulation() # hide\npolicy = RandomPolicy(explicit_crying_baby_pomdp)\nsim = RolloutSimulator(max_steps=10)\nr_sum = simulate(sim, explicit_crying_baby_pomdp, policy)\nprintln(\"Total discounted reward: $r_sum\")\nend # hide\nrun_rollout_simulation() # hide","category":"page"},{"location":"example_simulations/#Recording-Histories","page":"Simulations Examples","title":"Recording Histories","text":"","category":"section"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"Sometimes it is important to record the entire history of a simulation for further examination. This can be accomplished with a HistoryRecorder.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"policy = RandomPolicy(tabular_crying_baby_pomdp)\nhr = HistoryRecorder(max_steps=5)\nhistory = simulate(hr, tabular_crying_baby_pomdp, policy, DiscreteUpdater(tabular_crying_baby_pomdp), Deterministic(1))\nnothing # hide","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"The history object produced by a HistoryRecorder is a SimHistory, documented in the POMDPTools simulater section Histories. The information in this object can be accessed in several ways. For example, there is a function:","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"discounted_reward(history)","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"Accessor functions like state_hist and action_hist can also be used to access parts of the history:","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"state_hist(history)","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"collect(action_hist(history))","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"Keeping track of which states, actions, and observations belong together can be tricky (for example, since there is a starting state, and ending state, but no action is taken from the ending state, the list of actions has a different length than the list of states). It is often better to think of histories in terms of steps that include both starting and ending states.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"The most powerful function for accessing the information in a SimHistory is the eachstep function which returns an iterator through named tuples representing each step in the history. The eachstep function is similar to the stepthrough function above except that it iterates through the immutable steps of a previously simulated history instead of conducting the simulation as the for loop is being carried out.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"function demo_eachstep(sim_history) # hide\nr_sum = 0.0\nstep = 0\nfor step_i in eachstep(sim_history, \"b,s,a,o,r\")\n step += 1\n println(\"Step $step\")\n println(\"step_i.b = sated => $(step_i.b.b[1]), hungry => $(step_i.b.b[2])\")\n @show step_i.s\n @show step_i.a\n @show step_i.o\n @show step_i.r\n r_sum += step_i.r\n @show r_sum\n println()\nend\nend # hide \ndemo_eachstep(history) # hide","category":"page"},{"location":"example_simulations/#Parallel-Simulations","page":"Simulations Examples","title":"Parallel Simulations","text":"","category":"section"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"It is often useful to evaluate a policy by running many simulations. The parallel simulator is the most effective tool for this. To use the parallel simulator, first create a list of Sim objects, each of which contains all of the information needed to run a simulation. Then then run the simulations using run_parallel, which will return a DataFrame with the results.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"In this example, we will compare the performance of the polcies we computed in the Using Different Solvers section (i.e. sarsop_policy, pomcp_planner, and heuristic_policy). To evaluate the policies, we will run 100 simulations for each policy. We can do this by adding 100 Sim objects of each policy to the list.","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"using DataFrames \nusing StatsBase: std\n\n# Defining paramters for the simulations\nnumber_of_sim_to_run = 100\nmax_steps = 20\nstarting_seed = 1\n\n# We will also compare against a random policy\nrand_policy = RandomPolicy(quick_crying_baby_pomdp, rng=MersenneTwister(1))\n\n# Create the list of Sim objects\nsim_list = []\n\n# Add 100 Sim objects of each policy to the list.\nfor sim_number in 1:number_of_sim_to_run\n seed = starting_seed + sim_number\n\n # Add the SARSOP policy\n push!(sim_list, Sim(\n quick_crying_baby_pomdp, \n rng=MersenneTwister(seed),\n sarsop_policy,\n max_steps=max_steps,\n metadata=Dict(:policy => \"sarsop\", :seed => seed))\n )\n\n # Add the POMCP policy\n push!(sim_list, Sim(\n quick_crying_baby_pomdp, \n rng=MersenneTwister(seed),\n pomcp_planner, \n max_steps=max_steps,\n metadata=Dict(:policy => \"pomcp\", :seed => seed))\n )\n\n # Add the heuristic policy\n push!(sim_list, Sim(\n quick_crying_baby_pomdp, \n rng=MersenneTwister(seed),\n heuristic_policy, \n max_steps=max_steps,\n metadata=Dict(:policy => \"heuristic\", :seed => seed))\n )\n\n # Add the random policy\n push!(sim_list, Sim(\n quick_crying_baby_pomdp, \n rng=MersenneTwister(seed),\n rand_policy, \n max_steps=max_steps,\n metadata=Dict(:policy => \"random\", :seed => seed))\n )\nend\n\n# Run the simulations in parallel\ndata = run_parallel(sim_list)\n\n# Define a function to calculate the mean and confidence interval\nfunction mean_and_ci(x)\n m = mean(x)\n ci = 1.96 * std(x) / sqrt(length(x)) # 95% confidence interval\n return (mean = m, ci = ci)\nend\n\n# Calculate the mean and confidence interval for each policy\ngrouped_df = groupby(data, :policy)\nresult = combine(grouped_df, :reward => mean_and_ci => AsTable)\n","category":"page"},{"location":"example_simulations/","page":"Simulations Examples","title":"Simulations Examples","text":"By default, the parallel simulator only returns the reward from each simulation, but more information can be gathered by specifying a function to analyze the Sim-history pair and record additional statistics. Reference the POMDPTools simulator section for more information (Specifying information to be recorded).","category":"page"},{"location":"interfaces/#Spaces-and-Distributions","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"","category":"section"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"Two important components of the definitions of MDPs and POMDPs are spaces, which specify the possible states, actions, and observations in a problem and distributions, which define probability distributions. In order to provide for maximum flexibility spaces and distributions may be of any type (i.e. there are no abstract base types). Solvers and simulators will interact with space and distribution types using the functions defined below.","category":"page"},{"location":"interfaces/#space-interface","page":"Spaces and Distributions","title":"Spaces","text":"","category":"section"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"A space object should contain the information needed to define the set of all possible states, actions or observations. The implementation will depend on the attributes of the elements. For example, if the space is continuous, the space object may only contain the limits of the continuous range. In the case of a discrete problem, a vector containing all states is appropriate for representing a space.","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"The following functions may be called on a space object (Click on a function to read its documentation):","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"rand\niterate and the rest of the iteration interface for discrete spaces.","category":"page"},{"location":"interfaces/#Distributions","page":"Spaces and Distributions","title":"Distributions","text":"","category":"section"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"A distribution object represents a probability distribution.","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"The following functions may be called on a distribution object (Click on a function to read its documentation):","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"rand([rng,] d) [1]\nsupport\npdf\nmode\nmean","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"You can find some useful pre-made distribution objects in Distributions.jl or POMDPTools.","category":"page"},{"location":"interfaces/","page":"Spaces and Distributions","title":"Spaces and Distributions","text":"[1]: Distributions should support both rand(rng::AbstractRNG, d) and rand(d). The recommended way to do this is by implmenting Base.rand(rng::AbstractRNG, s::Random.SamplerTrivial{<:YourDistribution}) from the julia rand interface.","category":"page"},{"location":"POMDPTools/#pomdptools_section","page":"POMDPTools: the standard library for POMDPs.jl","title":"POMDPTools: the standard library for POMDPs.jl","text":"","category":"section"},{"location":"POMDPTools/","page":"POMDPTools: the standard library for POMDPs.jl","title":"POMDPTools: the standard library for POMDPs.jl","text":"The POMDPs.jl package does nothing more than define an interface or language for interacting with and solving (PO)MDPs; it does not contain any implementations. In practice, defining and solving POMDPs is made vastly easier if some commonly-used structures are provided. The POMDPTools package contains these implementations. Thus, the relationship between POMDPs.jl and POMDPTools is similar to the relationship between a programming language and its standard library.","category":"page"},{"location":"POMDPTools/","page":"POMDPTools: the standard library for POMDPs.jl","title":"POMDPTools: the standard library for POMDPs.jl","text":"The POMDPTools package source code is hosted in the POMDPs.jl github repository in the lib/POMDPTools directory.","category":"page"},{"location":"POMDPTools/","page":"POMDPTools: the standard library for POMDPs.jl","title":"POMDPTools: the standard library for POMDPs.jl","text":"The contents of the library are outlined below:","category":"page"},{"location":"POMDPTools/","page":"POMDPTools: the standard library for POMDPs.jl","title":"POMDPTools: the standard library for POMDPs.jl","text":"Pages = [\"distributions.md\", \"model.md\", \"visualization.md\", \"beliefs.md\", \"policies.md\", \"simulators.md\", \"common_rl.md\", \"testing.md\"]","category":"page"},{"location":"POMDPTools/policies/#Implemented-Policies","page":"Implemented Policies","title":"Implemented Policies","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"POMDPTools currently provides the following policy types:","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"a wrapper to turn a function into a Policy\nan alpha vector policy type\na random policy\na stochastic policy type\nexploration policies\na vector policy type\na wrapper to collect statistics and errors about policies","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"In addition, it provides the showpolicy function for printing policies similar to the way that matrices are printed in the repl and the evaluate function for evaluating MDP policies.","category":"page"},{"location":"POMDPTools/policies/#Function","page":"Implemented Policies","title":"Function","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Wraps a Function mapping states to actions into a Policy. ","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"FunctionPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.FunctionPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.FunctionPolicy","text":"FunctionPolicy\n\nPolicy p=FunctionPolicy(f) returns f(x) when action(p, x) is called.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"FunctionSolver","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.FunctionSolver","page":"Implemented Policies","title":"POMDPTools.Policies.FunctionSolver","text":"FunctionSolver\n\nSolver for a FunctionPolicy.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Alpha-Vector-Policy","page":"Implemented Policies","title":"Alpha Vector Policy","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Represents a policy with a set of alpha vectors (See AlphaVectorPolicy constructor docstring). In addition to finding the optimal action with action, the alpha vectors can be accessed with alphavectors or alphapairs.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Determining the estimated value and optimal action depends on calculating the dot product between alpha vectors and a belief vector. POMDPTools.Policies.beliefvec(pomdp, b) is used to create this vector and can be overridden for new belief types for efficiency.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"AlphaVectorPolicy\nalphavectors\nalphapairs\nPOMDPTools.Policies.beliefvec","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.AlphaVectorPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.AlphaVectorPolicy","text":"AlphaVectorPolicy(pomdp::POMDP, alphas, action_map)\n\nConstruct a policy from alpha vectors.\n\nArguments\n\nalphas: an |S| x (number of alpha vecs) matrix or a vector of alpha vectors.\naction_map: a vector of the actions correponding to each alpha vector\nAlphaVectorPolicy{P<:POMDP, A}\n\nRepresents a policy with a set of alpha vectors.\n\nUse action to get the best action for a belief, and alphavectors and alphapairs to \n\nFields\n\npomdp::P the POMDP problem \nn_states::Int the number of states in the POMDP\nalphas::Vector{Vector{Float64}} the list of alpha vectors\naction_map::Vector{A} a list of action corresponding to the alpha vectors\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#POMDPTools.Policies.alphavectors","page":"Implemented Policies","title":"POMDPTools.Policies.alphavectors","text":"Return the alpha vectors.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/policies/#POMDPTools.Policies.alphapairs","page":"Implemented Policies","title":"POMDPTools.Policies.alphapairs","text":"Return an iterator of alpha vector-action pairs in the policy.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/policies/#POMDPTools.Policies.beliefvec","page":"Implemented Policies","title":"POMDPTools.Policies.beliefvec","text":"POMDPTools.Policies.beliefvec(m::POMDP, n_states::Int, b)\n\nReturn a vector-like representation of the belief b suitable for calculating the dot product with the alpha vectors.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/policies/#Random-Policy","page":"Implemented Policies","title":"Random Policy","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"A policy that returns a randomly selected action using rand(rng, actions(pomdp)).","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"RandomPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.RandomPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.RandomPolicy","text":"RandomPolicy{RNG<:AbstractRNG, P<:Union{POMDP,MDP}, U<:Updater}\n\na generic policy that uses the actions function to create a list of actions and then randomly samples an action from it.\n\nConstructor:\n\n`RandomPolicy(problem::Union{POMDP,MDP};\n rng=Random.default_rng(),\n updater=NothingUpdater())`\n\nFields\n\nrng::RNG a random number generator \nprobelm::P the POMDP or MDP problem \nupdater::U a belief updater (default to NothingUpdater in the above constructor)\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"RandomSolver","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.RandomSolver","page":"Implemented Policies","title":"POMDPTools.Policies.RandomSolver","text":"solver that produces a random policy\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Stochastic-Policies","page":"Implemented Policies","title":"Stochastic Policies","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Types for representing randomized policies:","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"StochasticPolicy samples actions from an arbitrary distribution.\nUniformRandomPolicy samples actions uniformly (see RandomPolicy for a similar use)\nCategoricalTabularPolicy samples actions from a categorical distribution with weights given by a ValuePolicy.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"StochasticPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.StochasticPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.StochasticPolicy","text":"StochasticPolicy{D, RNG <: AbstractRNG}\n\nRepresents a stochastic policy. Action are sampled from an arbitrary distribution.\n\nConstructor:\n\n`StochasticPolicy(distribution; rng=Random.default_rng())`\n\nFields\n\ndistribution::D\nrng::RNG a random number generator\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"CategoricalTabularPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.CategoricalTabularPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.CategoricalTabularPolicy","text":"CategoricalTabularPolicy\n\nrepresents a stochastic policy sampling an action from a categorical distribution with weights given by a ValuePolicy\n\nconstructor:\n\nCategoricalTabularPolicy(mdp::Union{POMDP,MDP}; rng=Random.default_rng())\n\nFields\n\nstochastic::StochasticPolicy\nvalue::ValuePolicy\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Vector-Policies","page":"Implemented Policies","title":"Vector Policies","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Tabular policies including the following:","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"VectorPolicy holds a vector of actions, one for each state, ordered according to stateindex.\nValuePolicy holds a matrix of values for state-action pairs and chooses the action with the highest value at the given state","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"VectorPolicy ","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.VectorPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.VectorPolicy","text":"VectorPolicy{S,A}\n\nA generic MDP policy that consists of a vector of actions. The entry at stateindex(mdp, s) is the action that will be taken in state s.\n\nFields\n\nmdp::MDP{S,A} the MDP problem\nact::Vector{A} a vector of size |S| mapping state indices to actions\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"VectorSolver","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.VectorSolver","page":"Implemented Policies","title":"POMDPTools.Policies.VectorSolver","text":"VectorSolver{A}\n\nSolver for VectorPolicy. Doesn't do any computation - just sets the action vector.\n\nFields\n\nact::Vector{A} the action vector\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"ValuePolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.ValuePolicy","page":"Implemented Policies","title":"POMDPTools.Policies.ValuePolicy","text":" ValuePolicy{P<:Union{POMDP,MDP}, T<:AbstractMatrix{Float64}, A}\n\nA generic MDP policy that consists of a value table. The entry at stateindex(mdp, s) is the action that will be taken in state s. It is expected that the order of the actions in the value table is consistent with the order of the actions in act. If act is not explicitly set in the construction, act is ordered according to actionindex.\n\nFields\n\nmdp::P the MDP problem\nvalue_table::T the value table as a |S|x|A| matrix\nact::Vector{A} the possible actions\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Value-Dict-Policy","page":"Implemented Policies","title":"Value Dict Policy","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"ValueDictPolicy holds a dictionary of values, where the key is state-action tuple, and chooses the action with the highest value at the given state. It allows one to write solvers without enumerating state and action spaces, but actions and states must support Base.isequal() and Base.hash().","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"ValueDictPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.ValueDictPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.ValueDictPolicy","text":" ValueDictPolicy(mdp)\n\nA generic MDP policy that consists of a Dict storing Q-values for state-action pairs. If there are no entries higher than a default value, this will fall back to a default policy.\n\nKeyword Arguments\n\nvalue_table::AbstractDict the value dict, key is (s, a) Tuple.\ndefault_value::Float64 the defalut value of value_dict.\ndefault_policy::Policy the policy taken when no action has a value higher than default_value\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Exploration-Policies","page":"Implemented Policies","title":"Exploration Policies","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Exploration policies are often useful for Reinforcement Learning algorithm to choose an action that is different than the action given by the policy being learned (on_policy). ","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Exploration policies are subtype of the abstract ExplorationPolicy type and they follow the following interface: action(exploration_policy::ExplorationPolicy, on_policy::Policy, k, s). k is used to compute the value of the exploration parameter (see Schedule), and s is the current state or observation in which the agent is taking an action.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"The action method is exported by POMDPs.jl. To use exploration policies in a solver, you must use the four argument version of action where on_policy is the policy being learned (e.g. tabular policy or neural network policy).","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"This package provides two exploration policies: EpsGreedyPolicy and SoftmaxPolicy","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":" EpsGreedyPolicy\n SoftmaxPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.EpsGreedyPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.EpsGreedyPolicy","text":"EpsGreedyPolicy <: ExplorationPolicy\n\nrepresents an epsilon greedy policy, sampling a random action with a probability eps or returning an action from a given policy otherwise. The evolution of epsilon can be controlled using a schedule. This feature is useful for using those policies in reinforcement learning algorithms. \n\nConstructor:\n\nEpsGreedyPolicy(problem::Union{MDP, POMDP}, eps::Union{Function, Float64}; rng=Random.default_rng(), schedule=ConstantSchedule)\n\nIf a function is passed for eps, eps(k) is called to compute the value of epsilon when calling action(exploration_policy, on_policy, k, s).\n\nFields\n\neps::Function\nrng::AbstractRNG\nm::M POMDPs or MDPs problem\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#POMDPTools.Policies.SoftmaxPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.SoftmaxPolicy","text":"SoftmaxPolicy <: ExplorationPolicy\n\nrepresents a softmax policy, sampling a random action according to a softmax function. The softmax function converts the action values of the on policy into probabilities that are used for sampling. A temperature parameter or function can be used to make the resulting distribution more or less wide.\n\nConstructor\n\nSoftmaxPolicy(problem, temperature::Union{Function, Float64}; rng=Random.default_rng())\n\nIf a function is passed for temperature, temperature(k) is called to compute the value of the temperature when calling action(exploration_policy, on_policy, k, s)\n\nFields\n\ntemperature::Function\nrng::AbstractRNG\nactions::A an indexable list of action\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Schedule","page":"Implemented Policies","title":"Schedule","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"Exploration policies often rely on a key parameter: epsilon in epsilon-greedy and the temperature in softmax for example. Reinforcement learning algorithms often require a decay schedule for these parameters. Schedule can be passed to an exploration policy as functions. For example one can define an epsilon greedy policy with an exponential decay schedule as follow: ","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":" m # your mdp or pomdp model\n exploration_policy = EpsGreedyPolicy(m, k->0.05*0.9^(k/10))","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"POMDPTools exports a linear decay schedule object that can be used as well. ","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":" LinearDecaySchedule ","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.LinearDecaySchedule","page":"Implemented Policies","title":"POMDPTools.Policies.LinearDecaySchedule","text":"LinearDecaySchedule\n\nA schedule that linearly decreases a value from start to stop in steps steps. if the value is greater or equal to stop, it stays constant.\n\nConstructor\n\nLinearDecaySchedule(;start, stop, steps)\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Playback-Policy","page":"Implemented Policies","title":"Playback Policy","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"A policy that replays a fixed sequence of actions. When all actions are used, a backup policy is used.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"PlaybackPolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.PlaybackPolicy","page":"Implemented Policies","title":"POMDPTools.Policies.PlaybackPolicy","text":"PlaybackPolicy{A<:AbstractArray, P<:Policy, V<:AbstractArray{<:Real}}\n\na policy that applies a fixed sequence of actions until they are all used and then falls back onto a backup policy until the end of the episode.\n\nConstructor:\n\n`PlaybackPolicy(actions::AbstractArray, backup_policy::Policy; logpdfs::AbstractArray{Float64, 1} = Float64[])`\n\nFields\n\nactions::Vector{A} a vector of actions to play back\nbackup_policy::Policy the policy to use when all prescribed actions have been taken but the episode continues\nlogpdfs::Vector{Float64} the log probability (density) of actions\ni::Int64 the current action index\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Utility-Wrapper","page":"Implemented Policies","title":"Utility Wrapper","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"A wrapper for policies to collect statistics and handle errors.","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"PolicyWrapper","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.PolicyWrapper","page":"Implemented Policies","title":"POMDPTools.Policies.PolicyWrapper","text":"PolicyWrapper\n\nFlexible utility wrapper for a policy designed for collecting statistics about planning.\n\nCarries a function, a policy, and optionally a payload (that can be any type).\n\nThe function should typically be defined with the do syntax. Each time action is called on the wrapper, this function will be called.\n\nIf there is no payload, it will be called with two argments: the policy and the state/belief. If there is a payload, it will be called with three arguments: the policy, the payload, and the current state or belief. The function should return an appropriate action. The idea is that, in this function, action(policy, s) should be called, statistics from the policy/planner should be collected and saved in the payload, exceptions can be handled, and the action should be returned.\n\nConstructor\n\nPolicyWrapper(policy::Policy; payload=nothing)\n\nExample\n\nusing POMDPModels\nusing POMDPToolbox\n\nmdp = GridWorld()\npolicy = RandomPolicy(mdp)\ncounts = Dict(a=>0 for a in actions(mdp))\n\n# with a payload\nstatswrapper = PolicyWrapper(policy, payload=counts) do policy, counts, s\n a = action(policy, s)\n counts[a] += 1\n return a\nend\n\nh = simulate(HistoryRecorder(max_steps=100), mdp, statswrapper)\nfor (a, count) in payload(statswrapper)\n println(\"policy chose action $a $count of $(n_steps(h)) times.\")\nend\n\n# without a payload\nerrwrapper = PolicyWrapper(policy) do policy, s\n try\n a = action(policy, s)\n catch ex\n @warn(\"Caught error in policy; using default\")\n a = :left\n end\n return a\nend\n\nh = simulate(HistoryRecorder(max_steps=100), mdp, errwrapper)\n\nFields\n\nf::F\npolicy::P\npayload::PL\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/policies/#Pretty-Printing-Policies","page":"Implemented Policies","title":"Pretty Printing Policies","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"showpolicy","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.showpolicy","page":"Implemented Policies","title":"POMDPTools.Policies.showpolicy","text":"showpolicy([io], [mime], m::MDP, p::Policy)\nshowpolicy([io], [mime], statelist::AbstractVector, p::Policy)\nshowpolicy(...; pre=\" \")\n\nPrint the states in m or statelist and the actions from policy p corresponding to those states.\n\nFor the MDP version, if io[:limit] is true, will only print enough states to fill the display.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/policies/#Policy-Evaluation","page":"Implemented Policies","title":"Policy Evaluation","text":"","category":"section"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"The evaluate function provides a policy evaluation tool for MDPs:","category":"page"},{"location":"POMDPTools/policies/","page":"Implemented Policies","title":"Implemented Policies","text":"evaluate","category":"page"},{"location":"POMDPTools/policies/#POMDPTools.Policies.evaluate","page":"Implemented Policies","title":"POMDPTools.Policies.evaluate","text":"evaluate(m::MDP, p::Policy)\nevaluate(m::MDP, p::Policy; rewardfunction=POMDPs.reward)\n\nCalculate the value for a policy on an MDP using the approach in equation 4.2.2 of Kochenderfer, Decision Making Under Uncertainty, 2015.\n\nReturns a DiscreteValueFunction, which maps states to values.\n\nExample\n\nusing POMDPTools, POMDPModels\nm = SimpleGridWorld()\nu = evaluate(m, FunctionPolicy(x->:left))\nu([1,1]) # value of always moving left starting at state [1,1]\n\n\n\n\n\n","category":"function"},{"location":"def_updater/#Defining-a-Belief-Updater","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"","category":"section"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"In this section we list the requirements for defining a belief updater. For a description of what a belief updater is, see Concepts and Architecture - Beliefs and Updaters. Typically a belief updater will have an associated belief type, and may be closely tied to a particular policy/planner.","category":"page"},{"location":"def_updater/#Defining-a-Belief-Type","page":"Defining a Belief Updater","title":"Defining a Belief Type","text":"","category":"section"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"A belief object should contain all of the information needed for the next belief update and for the policy to make a decision. The belief type could be a pre-defined type such as a distribution from Distributions.jl or DiscreteBelief or SparseCat from the POMDPTools package, or it could be a custom type.","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"Often, but not always, the belief will represent a probability distribution. In this case, the functions in the distribution interface should be implemented if possible. Implementing these functions will make the belief usable with many of the policies and planners in the POMDPs.jl ecosystem, and will make it easy for others to convert between beliefs and to interpret what a belief means.","category":"page"},{"location":"def_updater/#Histories-associated-with-a-belief","page":"Defining a Belief Updater","title":"Histories associated with a belief","text":"","category":"section"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"If a complete or partial record of the action-observation history leading up to a belief is available, it is often helpful to give access to this by implementing the history or currentobs functions (see the docstrings for more details). This is especially useful if a problem-writer wants to implement a belief- or observation-dependent action space. Belief type implementers need only implement history, and currentobs will automatically be provided, though sometimes it is more convenient to implement currentobs directly.","category":"page"},{"location":"def_updater/#Defining-an-Updater","page":"Defining a Belief Updater","title":"Defining an Updater","text":"","category":"section"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"To create an updater, one should define a subtype of the Updater abstract type and implement two methods, one to create the initial belief from the problem's initial state distribution and one to perform a belief update:","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"initialize_belief(updater, d) creates a belief from state distribution d appropriate to use with the updater. To extract information from d, use the functions from the distribution interface.\nupdate(updater, b, a, o) returns an updated belief given belief b, action a, and observation o. One can usually expect b to be the same type returned by initialize_belief because a careful user will always call initialize_belief before update, but it would also be reasonable to implement update for b of a different type if it is desirable to handle multiple belief types.","category":"page"},{"location":"def_updater/#Example:-History-Updater","page":"Defining a Belief Updater","title":"Example: History Updater","text":"","category":"section"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"One trivial type of belief would be the action-observation history, a list containing the initial state distribution and every action taken and observation received. The history contains all of the information received up to the current time, but it is not usually very useful because most policies make decisions based on a state probability distribution. Here the belief type is simply the built in Vector{Any}, so we need only create the updater and write update and initialize_belief. Normally, update would contain belief update probability calculations, but in this example, we simply append the action and observation to the history.","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"(Note that this example is designed for readability rather than efficiency.)","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"import POMDPs\n\nstruct HistoryUpdater <: POMDPs.Updater end\n\nPOMDPs.initialize_belief(up::HistoryUpdater, d) = Any[d]\n\nfunction POMDPs.update(up::HistoryUpdater, b, a, o)\n bp = copy(b)\n push!(bp, a)\n push!(bp, o)\n return bp\nend","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"At each step, the history starts with the original distribution, then contains all the actions and observations received up to that point. The example below shows this for the crying baby problem (observations are true/false for crying and actions are true/false for feeding).","category":"page"},{"location":"def_updater/","page":"Defining a Belief Updater","title":"Defining a Belief Updater","text":"using POMDPTools\nusing POMDPModels\nusing Random\n\npomdp = BabyPOMDP()\npolicy = RandomPolicy(pomdp, rng=MersenneTwister(1))\nup = HistoryUpdater()\n\n# within stepthrough initialize_belief is called on the initial state distribution of the pomdp, then update is called at each step.\nfor b in stepthrough(pomdp, policy, up, \"b\", rng=MersenneTwister(2), max_steps=5)\n @show b\nend\n\n# output\n\nb = Any[POMDPModels.BoolDistribution(0.0)]\nb = Any[POMDPModels.BoolDistribution(0.0), false, false]\nb = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false]\nb = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false, true, false]\nb = Any[POMDPModels.BoolDistribution(0.0), false, false, false, false, true, false, true, false]","category":"page"},{"location":"faq/#Frequently-Asked-Questions-(FAQ)","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"","category":"section"},{"location":"faq/#What-is-the-difference-between-transition,-gen,-and-@gen?","page":"Frequently Asked Questions (FAQ)","title":"What is the difference between transition, gen, and @gen?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"(See also: Using a single generative function instead of separate T, Z, and R)","category":"page"},{"location":"faq/#For-problem-implementers","page":"Frequently Asked Questions (FAQ)","title":"For problem implementers","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"transition should be implemented to define the state transition distribution, either explicitly, or, if only samples from the distribution are available, with an ImplicitDistribution.\ngen should only be implemented if your simulator can only output samples of two or more of the next state, observation, and reward at the same time, e.g. if rewards are calculated as a robot moves from the current state to the next state so it is difficult to define the reward function separately from the state transitions.\n@gen should never be implemented or modified by the problem writer; it is only used in simulators and solvers (see below).","category":"page"},{"location":"faq/#For-solver/simulator-implementers","page":"Frequently Asked Questions (FAQ)","title":"For solver/simulator implementers","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"@gen should be called whenever a sample of the next state, observation, and or reward is needed. It automatically combines calls to rand, transition, observation, reward, and gen, depending on what is implemented for the problem and the outputs requested by the caller without any overhead.\ntransition should be called only when you need access to the explicit transition probability distribution.\ngen should never be called directly by a solver or simulator; it is only a tool for implementers (see above).","category":"page"},{"location":"faq/#How-do-I-save-my-policies?","page":"Frequently Asked Questions (FAQ)","title":"How do I save my policies?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"We recommend using JLD2 to save the whole policy object:","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"using JLD2\nsave(\"my_policy.jld2\", \"policy\", policy)","category":"page"},{"location":"faq/#Why-is-my-solver-producing-a-suboptimal-policy?","page":"Frequently Asked Questions (FAQ)","title":"Why is my solver producing a suboptimal policy?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"There could be a number of things that are going wrong. If you have a discrete POMDP or MDP and you're using a solver that requires the explicit transition probabilities, the first thing to try is make sure that your probability masses sum up to unity. We've provide some tools in POMDPToolbox that can check this for you. If you have a POMDP called pomdp, you can run the checks by doing the following:","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"using POMDPTools\n@assert has_consistent_distributions(pomdp)","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"If this throws an error, you may need to fix your transition or observation functions. ","category":"page"},{"location":"faq/#What-if-I-don't-use-the-rng-argument?","page":"Frequently Asked Questions (FAQ)","title":"What if I don't use the rng argument?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"POMDPs.jl uses Julia's built-in random number generator system to provide for reproducible simulations. To tie into this system, the gen function, the sampling function for the ImplicitDistribution, and the rand function for custom distributions all have an rng argument that should be used to generate random numbers. However in some cases, for example when wrapping a simulator that is tied to the global random number generator or written in another language, it may be impossible or impractical to use this rng.","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"It is natural to wonder if ignoring this rng argument will cause problems. For many use cases, it is OK to ignore this argument - the only consequence will be that simulations will not be exactly reproducible unless the random seed is managed separately. Some algorithms, most notably DESPOT, rely on \"determinized scenarios\" that are implemented with a special rng. Some of the guarantees of these algorithms may not be met if the rng argument is ignored.","category":"page"},{"location":"faq/#Why-are-all-the-solvers-in-separate-modules?","page":"Frequently Asked Questions (FAQ)","title":"Why are all the solvers in separate modules?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"We did not put all the solvers and support tools into POMDPs.jl, because we wanted POMDPs.jl to be a lightweight interface package. This has a number of advantages. The first is that if a user only wants to use a few solvers from the JuliaPOMDP organization, they do not have to install all the other solvers and their dependencies. The second advantage is that people who are not directly part of the JuliaPOMDP organization can write their own solvers without going into the source code of other solvers. This makes the framework easier to adopt and to extend.","category":"page"},{"location":"faq/#How-can-I-implement-terminal-actions?","page":"Frequently Asked Questions (FAQ)","title":"How can I implement terminal actions?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"Terminal actions are actions that cause the MDP to terminate without generating a new state. POMDPs.jl handles terminal conditions via the isterminal function on states, and does not directly support terminal actions. If your MDP has a terminal action, you need to implement the model functions accordingly to generate a terminal state. In both generative and explicit cases, you will need some dummy state, say spt, that can be recognized as terminal by the isterminal function. One way to do this is to give spt a state value that is out of bounds (e.g. a vector of NaNs or -1s) and then check for that in isterminal, so that this does not clash with any conventional termination conditions on the state.","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"If a terminal action is taken, regardless of current state, the transition function should return a distribution with only one next state, spt, with probability 1.0. In the generative case, the new state generated should be spt. The reward function or the r in generate_sr can be set according to the cost of the terminal action.","category":"page"},{"location":"faq/#Why-are-there-two-versions-of-reward?","page":"Frequently Asked Questions (FAQ)","title":"Why are there two versions of reward?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"Both reward(m, s, a) and reward(m, s, a, sp) are included because of these two facts:","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"Some non-native solvers use reward(m, s, a)\nSometimes the reward depends on s and sp.","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"It is reasonable to implement both as long as the (s, a) version is the expectation of the (s, a, s') version (see below).","category":"page"},{"location":"faq/#How-do-I-implement-reward(m,-s,-a)-if-the-reward-depends-on-the-next-state?","page":"Frequently Asked Questions (FAQ)","title":"How do I implement reward(m, s, a) if the reward depends on the next state?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"The solvers that require reward(m, s, a) only work on problems with finite state and action spaces. In this case, you can define reward(m, s, a) in terms of reward(m, s, a, sp) with the following code:","category":"page"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"const rdict = Dict{Tuple{S,A}, Float64}()\n\nfor s in states(m)\n for a in actions(m)\n r = 0.0\n td = transition(m, s, a) # transition distribution for s, a\n for sp in support(td)\n r += pdf(td, sp)*reward(m, s, a, sp)\n end\n rdict[(s, a)] = r\n end\nend\n\nPOMDPs.reward(m, s, a) = rdict[(s, a)]","category":"page"},{"location":"faq/#Why-do-I-need-to-put-type-assertions-pomdp::POMDP-into-the-function-signature?","page":"Frequently Asked Questions (FAQ)","title":"Why do I need to put type assertions pomdp::POMDP into the function signature?","text":"","category":"section"},{"location":"faq/","page":"Frequently Asked Questions (FAQ)","title":"Frequently Asked Questions (FAQ)","text":"Specifying the type in your function signature allows Julia to call the appropriate function when your custom type is passed into it. For example if a POMDPs.jl solver calls states on the POMDP that you passed into it, the correct states function will only get dispatched if you specified that the states function you wrote works with your POMDP type. Because Julia supports multiple-dispatch, these type assertion are a way for doing object-oriented programming in Julia.","category":"page"},{"location":"POMDPTools/beliefs/#Implemented-Belief-Updaters","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"","category":"section"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"POMDPTools provides the following generic belief updaters:","category":"page"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"a discrete belief updater\na k previous observation updater\na previous observation updater \na nothing updater (for when the policy does not depend on any feedback)","category":"page"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"For particle filters see ParticleFilters.jl.","category":"page"},{"location":"POMDPTools/beliefs/#Discrete-(Bayesian-Filter)","page":"Implemented Belief Updaters","title":"Discrete (Bayesian Filter)","text":"","category":"section"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"The DiscreteUpater is a default implementation of a discrete Bayesian filter. The DiscreteBelief type is provided to represent discrete beliefs for discrete state POMDPs. ","category":"page"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"A convenience function uniform_belief is provided to create a DiscreteBelief with equal probability for each state. ","category":"page"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"DiscreteBelief","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.DiscreteBelief","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.DiscreteBelief","text":"DiscreteBelief\n\nA belief specified by a probability vector.\n\nNormalization of b is assumed in some calculations (e.g. pdf), but it is only automatically enforced in update(...), and a warning is given if normalized incorrectly in DiscreteBelief(pomdp, b).\n\nConstructor\n\nDiscreteBelief(pomdp, b::Vector{Float64}; check::Bool=true)\n\nFields\n\npomdp : the POMDP problem\nstate_list : a vector of ordered states\nb : the probability vector\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"DiscreteUpdater","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.DiscreteUpdater","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.DiscreteUpdater","text":"DiscreteUpdater\n\nAn updater type to update discrete belief using the discrete Bayesian filter.\n\nConstructor\n\nDiscreteUpdater(pomdp::POMDP)\n\nFields\n\npomdp <: POMDP\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"uniform_belief(pomdp)","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.uniform_belief-Tuple{Any}","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.uniform_belief","text":" uniform_belief(pomdp)\n\nReturn a DiscreteBelief with equal probability for each state.\n\n\n\n\n\n","category":"method"},{"location":"POMDPTools/beliefs/#K-Previous-Observations","page":"Implemented Belief Updaters","title":"K Previous Observations","text":"","category":"section"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"KMarkovUpdater","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.KMarkovUpdater","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.KMarkovUpdater","text":"KMarkovUpdater\n\nUpdater that stores the k most recent observations as the belief.\n\nExample:\n\nup = KMarkovUpdater(5)\ns0 = rand(rng, initialstate(pomdp))\ninitial_observation = rand(rng, initialobs(pomdp, s0))\ninitial_obs_vec = fill(initial_observation, 5)\nhr = HistoryRecorder(rng=rng, max_steps=100)\nhist = simulate(hr, pomdp, policy, up, initial_obs_vec, s0)\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/beliefs/#Previous-Observation","page":"Implemented Belief Updaters","title":"Previous Observation","text":"","category":"section"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"PreviousObservationUpdater","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.PreviousObservationUpdater","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.PreviousObservationUpdater","text":"Updater that stores the most recent observation as the belief. If an initial distribution is provided, it will pass that as the initial belief.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/beliefs/#Nothing-Updater","page":"Implemented Belief Updaters","title":"Nothing Updater","text":"","category":"section"},{"location":"POMDPTools/beliefs/","page":"Implemented Belief Updaters","title":"Implemented Belief Updaters","text":"NothingUpdater","category":"page"},{"location":"POMDPTools/beliefs/#POMDPTools.BeliefUpdaters.NothingUpdater","page":"Implemented Belief Updaters","title":"POMDPTools.BeliefUpdaters.NothingUpdater","text":"An updater useful for when a belief is not necessary (i.e. for a random policy). update always returns nothing.\n\n\n\n\n\n","category":"type"},{"location":"api/#API-Documentation","page":"API Documentation","title":"API Documentation","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"Docstrings for POMDPs.jl interface members can be accessed through Julia's built-in documentation system or in the list below.","category":"page"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"CurrentModule = POMDPs","category":"page"},{"location":"api/#Contents","page":"API Documentation","title":"Contents","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"Pages = [\"api.md\"]","category":"page"},{"location":"api/#Index","page":"API Documentation","title":"Index","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"Pages = [\"api.md\"]","category":"page"},{"location":"api/#Types","page":"API Documentation","title":"Types","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"POMDP\nMDP\nSolver\nPolicy\nUpdater","category":"page"},{"location":"api/#POMDPs.POMDP","page":"API Documentation","title":"POMDPs.POMDP","text":"POMDP{S,A,O}\n\nAbstract base type for a partially observable Markov decision process.\n\nS: state type\nA: action type\nO: observation type\n\n\n\n\n\n","category":"type"},{"location":"api/#POMDPs.MDP","page":"API Documentation","title":"POMDPs.MDP","text":"MDP{S,A}\n\nAbstract base type for a fully observable Markov decision process.\n\nS: state type\nA: action type\n\n\n\n\n\n","category":"type"},{"location":"api/#POMDPs.Solver","page":"API Documentation","title":"POMDPs.Solver","text":"Base type for an MDP/POMDP solver\n\n\n\n\n\n","category":"type"},{"location":"api/#POMDPs.Policy","page":"API Documentation","title":"POMDPs.Policy","text":"Base type for a policy (a map from every possible belief, or more abstract policy state, to an optimal or suboptimal action)\n\n\n\n\n\n","category":"type"},{"location":"api/#POMDPs.Updater","page":"API Documentation","title":"POMDPs.Updater","text":"Abstract type for an object that defines how the belief should be updated\n\nA belief is a general construct that represents the knowledge an agent has about the state of the system. This can be a probability distribution, an action observation history or a more general representation.\n\n\n\n\n\n","category":"type"},{"location":"api/#Model-Functions","page":"API Documentation","title":"Model Functions","text":"","category":"section"},{"location":"api/#Dynamics","page":"API Documentation","title":"Dynamics","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"transition\nobservation\nreward\ngen\n@gen","category":"page"},{"location":"api/#POMDPs.transition","page":"API Documentation","title":"POMDPs.transition","text":"transition(m::POMDP, state, action)\ntransition(m::MDP, state, action)\n\nReturn the transition distribution from the current state-action pair.\n\nIf it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a generative model.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.observation","page":"API Documentation","title":"POMDPs.observation","text":"observation(m::POMDP, statep)\nobservation(m::POMDP, action, statep)\nobservation(m::POMDP, state, action, statep)\n\nReturn the observation distribution. You need only define the method with the fewest arguments needed to determine the observation distribution.\n\nIf it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a generative model.\n\nExample\n\nusing POMDPModelTools # for SparseCat\n\nstruct MyPOMDP <: POMDP{Int, Int, Int} end\n\nobservation(p::MyPOMDP, sp::Int) = SparseCat([sp-1, sp, sp+1], [0.1, 0.8, 0.1])\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.reward","page":"API Documentation","title":"POMDPs.reward","text":"reward(m::POMDP, s, a)\nreward(m::MDP, s, a)\n\nReturn the immediate reward for the s-a pair.\n\nreward(m::POMDP, s, a, sp)\nreward(m::MDP, s, a, sp)\n\nReturn the immediate reward for the s-a-s' triple\n\nreward(m::POMDP, s, a, sp, o)\n\nReturn the immediate reward for the s-a-s'-o quad\n\nFor some problems, it is easier to express reward(m, s, a, sp) or reward(m, s, a, sp, o), than reward(m, s, a), but some solvers, e.g. SARSOP, can only use reward(m, s, a). Both can be implemented for a problem, but when reward(m, s, a) is implemented, it should be consistent with reward(m, s, a, sp[, o]), that is, it should be the expected value over all destination states and observations.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.gen","page":"API Documentation","title":"POMDPs.gen","text":"gen(m::Union{MDP,POMDP}, s, a, rng::AbstractRNG)\n\nFunction for implementing the entire MDP/POMDP generative model by returning a NamedTuple.\n\ngen should only be implemented in the case where two or more of the next state, observation, and reward need to be generated at the same time. If the state transition model can be separated from the reward and observation models, you should implement transition with an ImplicitDistribution instead of gen.\n\nSolver and simulator writers should use the @gen macro to call a generative model.\n\nArguments\n\nm: an MDP or POMDP model\ns: the current state\na: the action\nrng: a random number generator (Typically a MersenneTwister)\n\nReturn\n\nThe function should return a NamedTuple. With a subset of following entries:\n\nMDP\n\nsp: the next state\nr: the reward for the step\ninfo: extra debugging information, typically in an associative container like a NamedTuple\n\nPOMDP\n\nsp: the next state\no: the observation\nr: the reward for the step\ninfo: extra debugging information, typically in an associative container like a NamedTuple\n\nSome elements can be left out. For instance if o is left out of the return, the problem-writer can also implement observation and POMDPs.jl will automatically use it when needed.\n\nExample\n\nstruct LQRMDP <: MDP{Float64, Float64} end\n\nPOMDPs.gen(m::LQRMDP, s, a, rng) = (sp = s + a + randn(rng), r = -s^2 - a^2)\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.@gen","page":"API Documentation","title":"POMDPs.@gen","text":"@gen(X)(m, s, a)\n@gen(X)(m, s, a, rng::AbstractRNG)\n\nCall the generative model for a (PO)MDP m; Sample values from several nodes in the dynamic decision network. X is one or more symbols indicating which nodes to output.\n\nSolvers and simulators should call this rather than the gen function. Problem writers should implement a method of the transition or gen function instead of altering @gen.\n\nArguments\n\nm: an MDP or POMDP model\ns: the current state\na: the action\nrng (optional): a random number generator (Typically a MersenneTwister)\n\nReturn\n\nIf X, is a symbol, return a value sample from the corresponding node. If X is several symbols, return a Tuple of values sampled from the specified nodes.\n\nExamples\n\nLet m be an MDP or POMDP, s be a state of m, a be an action of m, and rng be an AbstractRNG.\n\n@gen(:sp, :r)(m, s, a) returns a Tuple containing the next state and reward.\n@gen(:sp, :o, :r)(m, s, a, rng) returns a Tuple containing the next state, observation, and reward.\n@gen(:sp)(m, s, a, rng) returns the next state.\n\n\n\n\n\n","category":"macro"},{"location":"api/#Static-Properties","page":"API Documentation","title":"Static Properties","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"states\nactions\nobservations\nisterminal\ndiscount\ninitialstate\ninitialobs\nstateindex\nactionindex\nobsindex\nconvert_s\nconvert_a\nconvert_o","category":"page"},{"location":"api/#POMDPs.states","page":"API Documentation","title":"POMDPs.states","text":"states(problem::POMDP)\nstates(problem::MDP)\n\nReturns the complete state space of a POMDP. \n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.actions","page":"API Documentation","title":"POMDPs.actions","text":"actions(m::Union{MDP,POMDP})\n\nReturns the entire action space of a (PO)MDP.\n\n\n\nactions(m::Union{MDP,POMDP}, s)\n\nReturn the actions that can be taken from state s.\n\n\n\nactions(m::POMDP, b)\n\nReturn the actions that can be taken from belief b.\n\nTo implement an observation-dependent action space, use currentobs(b) to get the observation associated with belief b within the implementation of actions(m, b).\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.observations","page":"API Documentation","title":"POMDPs.observations","text":"observations(problem::POMDP)\n\nReturn the entire observation space.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.isterminal","page":"API Documentation","title":"POMDPs.isterminal","text":"isterminal(m::Union{MDP,POMDP}, s)\n\nCheck if state s is terminal.\n\nIf a state is terminal, no actions will be taken in it and no additional rewards will be accumulated. Thus, the value function at such a state is, by definition, zero.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.discount","page":"API Documentation","title":"POMDPs.discount","text":"discount(m::POMDP)\ndiscount(m::MDP)\n\nReturn the discount factor for the problem.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.initialstate","page":"API Documentation","title":"POMDPs.initialstate","text":"initialstate(m::Union{POMDP,MDP})\n\nReturn a distribution of initial states for (PO)MDP m.\n\nIf it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a model for sampling.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.initialobs","page":"API Documentation","title":"POMDPs.initialobs","text":"initialobs(m::POMDP, s)\n\nReturn a distribution of initial observations for POMDP m and state s.\n\nIf it is difficult to define the probability density or mass function explicitly, consider using POMDPModelTools.ImplicitDistribution to define a model for sampling.\n\nThis function is only used in cases where the policy expects an initial observation rather than an initial belief, e.g. in a reinforcement learning setting. It is not used in a standard POMDP simulation.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.stateindex","page":"API Documentation","title":"POMDPs.stateindex","text":"stateindex(problem::POMDP, s)\nstateindex(problem::MDP, s)\n\nReturn the integer index of state s. Used for discrete models only.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.actionindex","page":"API Documentation","title":"POMDPs.actionindex","text":"actionindex(problem::POMDP, a)\nactionindex(problem::MDP, a)\n\nReturn the integer index of action a. Used for discrete models only.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.obsindex","page":"API Documentation","title":"POMDPs.obsindex","text":"obsindex(problem::POMDP, o)\n\nReturn the integer index of observation o. Used for discrete models only.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.convert_s","page":"API Documentation","title":"POMDPs.convert_s","text":"convert_s(::Type{V}, s, problem::Union{MDP,POMDP}) where V<:AbstractArray\nconvert_s(::Type{S}, vec::V, problem::Union{MDP,POMDP}) where {S,V<:AbstractArray}\n\nConvert a state to vectorized form or vice versa.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.convert_a","page":"API Documentation","title":"POMDPs.convert_a","text":"convert_a(::Type{V}, a, problem::Union{MDP,POMDP}) where V<:AbstractArray\nconvert_a(::Type{A}, vec::V, problem::Union{MDP,POMDP}) where {A,V<:AbstractArray}\n\nConvert an action to vectorized form or vice versa.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.convert_o","page":"API Documentation","title":"POMDPs.convert_o","text":"convert_o(::Type{V}, o, problem::Union{MDP,POMDP}) where V<:AbstractArray\nconvert_o(::Type{O}, vec::V, problem::Union{MDP,POMDP}) where {O,V<:AbstractArray}\n\nConvert an observation to vectorized form or vice versa.\n\n\n\n\n\n","category":"function"},{"location":"api/#Type-Inference","page":"API Documentation","title":"Type Inference","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"statetype\nactiontype\nobstype","category":"page"},{"location":"api/#POMDPs.statetype","page":"API Documentation","title":"POMDPs.statetype","text":"statetype(t::Type)\nstatetype(p::Union{POMDP,MDP})\n\nReturn the state type for a problem type (the S in POMDP{S,A,O}).\n\ntype A <: POMDP{Int, Bool, Bool} end\n\nstatetype(A) # returns Int\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.actiontype","page":"API Documentation","title":"POMDPs.actiontype","text":"actiontype(t::Type)\nactiontype(p::Union{POMDP,MDP})\n\nReturn the state type for a problem type (the S in POMDP{S,A,O}).\n\ntype A <: POMDP{Bool, Int, Bool} end\n\nactiontype(A) # returns Int\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.obstype","page":"API Documentation","title":"POMDPs.obstype","text":"obstype(t::Type)\n\nReturn the state type for a problem type (the S in POMDP{S,A,O}).\n\ntype A <: POMDP{Bool, Bool, Int} end\n\nobstype(A) # returns Int\n\n\n\n\n\n","category":"function"},{"location":"api/#Distributions-and-Spaces","page":"API Documentation","title":"Distributions and Spaces","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"rand\npdf\nmode\nmean\nsupport","category":"page"},{"location":"api/#Base.rand","page":"API Documentation","title":"Base.rand","text":"rand(rng::AbstractRNG, d::Any)\n\nReturn a random element from distribution or space d.\n\nIf d is a state or transition distribution, the sample will be a state; if d is an action distribution, the sample will be an action or if d is an observation distribution, the sample will be an observation.\n\n\n\n\n\n","category":"function"},{"location":"api/#Distributions.pdf","page":"API Documentation","title":"Distributions.pdf","text":"pdf(d::Any, x::Any)\n\nEvaluate the probability density of distribution d at sample x.\n\n\n\n\n\n","category":"function"},{"location":"api/#StatsBase.mode","page":"API Documentation","title":"StatsBase.mode","text":"mode(d::Any)\n\nReturn the most likely value in a distribution d.\n\n\n\n\n\n","category":"function"},{"location":"api/#Statistics.mean","page":"API Documentation","title":"Statistics.mean","text":"mean(d::Any)\n\nReturn the mean of a distribution d.\n\n\n\n\n\n","category":"function"},{"location":"api/#Distributions.support","page":"API Documentation","title":"Distributions.support","text":"support(d::Any)\n\nReturn an iterable object containing the possible values that can be sampled from distribution d. Values with zero probability may be skipped.\n\n\n\n\n\n","category":"function"},{"location":"api/#Belief-Functions","page":"API Documentation","title":"Belief Functions","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"update\ninitialize_belief\nhistory\ncurrentobs","category":"page"},{"location":"api/#POMDPs.update","page":"API Documentation","title":"POMDPs.update","text":"update(updater::Updater, belief_old, action, observation)\n\nReturn a new instance of an updated belief given belief_old and the latest action and observation.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.initialize_belief","page":"API Documentation","title":"POMDPs.initialize_belief","text":"initialize_belief(updater::Updater,\n state_distribution::Any)\ninitialize_belief(updater::Updater, belief::Any)\n\nReturns a belief that can be updated using updater that has similar distribution to state_distribution or belief.\n\nThe conversion may be lossy. This function is also idempotent, i.e. there is a default implementation that passes the belief through when it is already the correct type: initialize_belief(updater::Updater, belief) = belief\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.history","page":"API Documentation","title":"POMDPs.history","text":"history(b)\n\nReturn the action-observation history associated with belief b.\n\nThe history should be an AbstractVector, Tuple, (or similar object that supports indexing with end) full of NamedTuples with keys :a and :o, i.e. history(b)[end][:a] should be the last action taken leading up to b, and history(b)[end][:o] should be the last observation received.\n\nIt is acceptable to return only part of the history if that is all that is available, but it should always end with the current observation. For example, it would be acceptable to return a structure containing only the last three observations in a length 3 Vector{NamedTuple{(:o,),Tuple{O}}.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.currentobs","page":"API Documentation","title":"POMDPs.currentobs","text":"currentobs(b)\n\nReturn the latest observation associated with belief b.\n\nIf a solver or updater implements history(b) for a belief type, currentobs has a default implementation.\n\n\n\n\n\n","category":"function"},{"location":"api/#Policy-and-Solver-Functions","page":"API Documentation","title":"Policy and Solver Functions","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"solve\nupdater\naction\nvalue","category":"page"},{"location":"api/#POMDPs.solve","page":"API Documentation","title":"POMDPs.solve","text":"solve(solver::Solver, problem::POMDP)\n\nSolves the POMDP using method associated with solver, and returns a policy.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.updater","page":"API Documentation","title":"POMDPs.updater","text":"updater(policy::Policy)\n\nReturns a default Updater appropriate for a belief type that policy p can use\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.action","page":"API Documentation","title":"POMDPs.action","text":"action(policy::Policy, x)\n\nReturns the action that the policy deems best for the current state or belief, x.\n\nx is a generalized information state - can be a state in an MDP, a distribution in POMDP, or another specialized policy-dependent representation of the information needed to choose an action.\n\n\n\n\n\n","category":"function"},{"location":"api/#POMDPs.value","page":"API Documentation","title":"POMDPs.value","text":"value(p::Policy, s)\nvalue(p::Policy, s, a)\n\nReturns the utility value from policy p given the state (or belief), or state-action (or belief-action) pair.\n\nThe state-action version is commonly referred to as the Q-value.\n\n\n\n\n\n","category":"function"},{"location":"api/#Simulator","page":"API Documentation","title":"Simulator","text":"","category":"section"},{"location":"api/","page":"API Documentation","title":"API Documentation","text":"Simulator\nsimulate","category":"page"},{"location":"api/#POMDPs.Simulator","page":"API Documentation","title":"POMDPs.Simulator","text":"Base type for an object defining how simulations should be carried out.\n\n\n\n\n\n","category":"type"},{"location":"api/#POMDPs.simulate","page":"API Documentation","title":"POMDPs.simulate","text":"simulate(sim::Simulator, m::POMDP, p::Policy, u::Updater=updater(p), b0=initialstate(m), s0=rand(b0))\nsimulate(sim::Simulator, m::MDP, p::Policy, s0=rand(initialstate(m)))\n\nRun a simulation using the specified policy.\n\nThe return type is flexible and depends on the simulator. Simulations should adhere to the Simulation Standard.\n\n\n\n\n\n","category":"function"},{"location":"run_simulation/#Running-Simulations","page":"Running Simulations","title":"Running Simulations","text":"","category":"section"},{"location":"run_simulation/","page":"Running Simulations","title":"Running Simulations","text":"Running a simulation consists of two steps, creating a simulator and calling the simulate function. For example, given a POMDP or MDP model m, and a policy p, one can use the RolloutSimulator from POMDPTools to find the accumulated discounted reward from a single simulated trajectory as follows:","category":"page"},{"location":"run_simulation/","page":"Running Simulations","title":"Running Simulations","text":"sim = RolloutSimulator()\nr = simulate(sim, m, p)","category":"page"},{"location":"run_simulation/","page":"Running Simulations","title":"Running Simulations","text":"More inputs, such as a belief updater, initial state, initial belief, etc. may be specified as arguments to simulate. See the docstring for simulate and the appropriate \"Input\" sections in the Simulation Standard page for more information.","category":"page"},{"location":"run_simulation/","page":"Running Simulations","title":"Running Simulations","text":"More examples can be found in the Simulations Examples section. A variety of simulators that return more information and interact in different ways can be found in POMDPTools.","category":"page"},{"location":"simulation/#Simulation-Standard","page":"Simulation Standard","title":"Simulation Standard","text":"","category":"section"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"Important note: In most cases, users need not implement their own simulators. Several simulators that are compatible with the standard in this document are implemented in POMDPTools and allow interaction from a variety of perspectives. Moreover CommonRLInterface.jl provides an OpenAI Gym style environment interface to interact with environments that is more flexible in some cases.","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"In order to maintain consistency across the POMDPs.jl ecosystem, this page defines a standard for how simulations should be conducted. All simulators should be consistent with this page, and, if solvers are attempting to find an optimal POMDP policy, they should optimize the expected value of r_total below. In particular, this page should be consulted when questions about how less-obvious concepts like terminal states are handled.","category":"page"},{"location":"simulation/#POMDP-Simulation","page":"Simulation Standard","title":"POMDP Simulation","text":"","category":"section"},{"location":"simulation/#Inputs","page":"Simulation Standard","title":"Inputs","text":"","category":"section"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"In general, POMDP simulations take up to 5 inputs (see also the simulate docstring):","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"pomdp::POMDP: pomdp model object (see POMDPs and MDPs)\npolicy::Policy: policy (see Solvers and Policies)\nup::Updater: belief updater (see Beliefs and Updaters)\nb0: initial belief (this may be updater-specific, such as an observation if the updater just returns the previous observation)\ns: initial state","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"The last three of these inputs are optional. If they are not explicitly provided, they should be inferred using the following POMDPs.jl functions:","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"up =updater(policy)\nb0 =initialstate(pomdp)\ns = rand(initialstate(pomdp))","category":"page"},{"location":"simulation/#Simulation-Loop","page":"Simulation Standard","title":"Simulation Loop","text":"","category":"section"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"The main simulation loop is shown below. Note that the isterminal check prevents any actions from being taken and reward from being collected from a terminal state.","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"Before the loop begins, initialize_belief is called to create the belief based on the initial state distribution - this is especially important when the belief is solver specific, such as the finite-state-machine used by MCVI. ","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"b = initialize_belief(up, b0)\n\nr_total = 0.0\nd = 1.0\nwhile !isterminal(pomdp, s)\n a = action(policy, b)\n s, o, r = @gen(:sp,:o,:r)(pomdp, s, a)\n r_total += d*r\n d *= discount(pomdp)\n b = update(up, b, a, o)\nend","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"In terms of the explicit interface, the @gen macro above expands to the equivalent of:","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":" sp = rand(transition(pomdp, s, a))\n o = rand(observation(pomdp, s, a, sp))\n r = reward(pomdp, s, a, sp, o)\n s = sp","category":"page"},{"location":"simulation/#MDP-Simulation","page":"Simulation Standard","title":"MDP Simulation","text":"","category":"section"},{"location":"simulation/#Inputs-2","page":"Simulation Standard","title":"Inputs","text":"","category":"section"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"In general, MDP simulations take up to 3 inputs (see also the simulate docstring):","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"mdp::MDP: mdp model object (see POMDPs and MDPs)\npolicy::Policy: policy (see Solvers and Policies)\ns: initial state","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"The last of these inputs is optional. If the initial state is not explicitly provided, it should be generated using","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"s = rand(initialstate(mdp))","category":"page"},{"location":"simulation/#Simulation-Loop-2","page":"Simulation Standard","title":"Simulation Loop","text":"","category":"section"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"The main simulation loop is shown below. Note again that the isterminal check prevents any actions from being taken and reward from being collected from a terminal state.","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"r_total = 0.0\nd = 1.0\nwhile !isterminal(mdp, s)\n a = action(policy, s)\n s, r = @gen(:sp,:r)(mdp, s, a)\n r_total += d*r\n d *= discount(mdp)\nend","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":"In terms of the explicit interface, the @gen macro above expands to the equivalent of:","category":"page"},{"location":"simulation/","page":"Simulation Standard","title":"Simulation Standard","text":" sp = rand(transition(pomdp, s, a))\n r = reward(pomdp, s, a, sp)\n s = sp","category":"page"},{"location":"POMDPTools/simulators/#Implemented-Simulators","page":"Implemented Simulators","title":"Implemented Simulators","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"POMDPTools contains a collection of POMDPs.jl simulators.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Usage examples can be found in the Simulations Examples section.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"If you are just getting started, probably the easiest way to begin is the stepthrough function. Otherwise, consult the Which Simulator Should I Use? guide below:","category":"page"},{"location":"POMDPTools/simulators/#which_simulator","page":"Implemented Simulators","title":"Which Simulator Should I Use?","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The simulators in this package provide interaction with simulations of MDP and POMDP environments from a variety of perspectives. Use these questions to choose the best simulator to suit your needs.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-run-fast-rollout-simulations-and-get-the-discounted-reward.","page":"Implemented Simulators","title":"I want to run fast rollout simulations and get the discounted reward.","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the Rollout Simulator.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-evaluate-performance-with-many-parallel-Monte-Carlo-simulations.","page":"Implemented Simulators","title":"I want to evaluate performance with many parallel Monte Carlo simulations.","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the Parallel Simulator.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-closely-examine-the-histories-of-states,-actions,-etc.-produced-by-simulations.","page":"Implemented Simulators","title":"I want to closely examine the histories of states, actions, etc. produced by simulations.","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the History Recorder.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-step-through-each-individual-step-of-a-simulation.","page":"Implemented Simulators","title":"I want to step through each individual step of a simulation.","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the stepthrough function.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-visualize-a-simulation.","page":"Implemented Simulators","title":"I want to visualize a simulation.","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the DisplaySimulator.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Also see the POMDPGifs package for creating gif animations.","category":"page"},{"location":"POMDPTools/simulators/#I-want-to-interact-with-a-MDP-or-POMDP-environment-from-the-policy's-perspective","page":"Implemented Simulators","title":"I want to interact with a MDP or POMDP environment from the policy's perspective","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Use the sim function.","category":"page"},{"location":"POMDPTools/simulators/#Stepping-through","page":"Implemented Simulators","title":"Stepping through","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The stepthrough function exposes a simulation as an iterator so that the steps can be iterated through with a for loop syntax as follows:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"pomdp = BabyPOMDP()\npolicy = RandomPolicy(pomdp)\n\nfor (s, a, o, r) in stepthrough(pomdp, policy, \"s,a,o,r\", max_steps=10)\n println(\"in state $s\")\n println(\"took action $a\")\n println(\"received observation $o and reward $r\")\nend","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"stepthrough","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.stepthrough","page":"Implemented Simulators","title":"POMDPTools.Simulators.stepthrough","text":"stepthrough(problem, policy, [spec])\nstepthrough(problem, policy, [spec], [rng=rng], [max_steps=max_steps])\nstepthrough(mdp::MDP, policy::Policy, [init_state], [spec]; [kwargs...])\nstepthrough(pomdp::POMDP, policy::Policy, [up::Updater, [initial_belief, [initial_state]]], [spec]; [kwargs...])\n\nCreate a simulation iterator. This is intended to be used with for loop syntax to output the results of each step as the simulation is being run. \n\nExample:\n\npomdp = BabyPOMDP()\npolicy = RandomPolicy(pomdp)\n\nfor (s, a, o, r) in stepthrough(pomdp, policy, \"s,a,o,r\", max_steps=10)\n println(\"in state $s\")\n println(\"took action $a\")\n println(\"received observation $o and reward $r\")\nend\n\nThe optional spec argument can be a string, tuple of symbols, or single symbol and follows the same pattern as eachstep called on a SimHistory object.\n\nUnder the hood, this function creates a StepSimulator with spec and returns a [PO]MDPSimIterator by calling simulate with all of the arguments except spec. All keyword arguments are passed to the StepSimulator constructor.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The StepSimulator contained in this file can provide the same functionality with the following syntax:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"sim = StepSimulator(\"s,a,r,sp\")\nfor (s,a,r,sp) in simulate(sim, problem, policy)\n # do something\nend","category":"page"},{"location":"POMDPTools/simulators/#Rollouts","page":"Implemented Simulators","title":"Rollouts","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"RolloutSimulator is the simplest MDP or POMDP simulator. When simulate is called, it simply simulates a single trajectory of the process and returns the discounted reward.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"rs = RolloutSimulator()\nmdp = GridWorld()\npolicy = RandomPolicy(mdp)\n\nr = simulate(rs, mdp, policy)","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"RolloutSimulator","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.RolloutSimulator","page":"Implemented Simulators","title":"POMDPTools.Simulators.RolloutSimulator","text":"RolloutSimulator(rng, max_steps)\nRolloutSimulator(; )\n\nA fast simulator that just returns the reward\n\nThe simulation will be terminated when either\n\na terminal state is reached (as determined by isterminal() or\nthe discount factor is as small as eps or\nmax_steps have been executed\n\nKeyword arguments:\n\nrng::AbstractRNG (default: Random.default_rng()) - A random number generator to use. \neps::Float64 (default: 0.0) - A small number; if γᵗ where γ is the discount factor and t is the time step becomes smaller than this, the simulation will be terminated.\nmax_steps::Int (default: typemax(Int)) - The maximum number of steps to simulate.\n\nUsage (optional arguments in brackets):\n\nro = RolloutSimulator()\nhistory = simulate(ro, pomdp, policy, [updater [, init_belief [, init_state]]])\n\nSee also: HistoryRecorder, run_parallel\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/simulators/#History-Recorder","page":"Implemented Simulators","title":"History Recorder","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"A HistoryRecorder runs a simulation and records the trajectory. It returns an AbstractVector of NamedTuples - see Histories for more info.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"hr = HistoryRecorder(max_steps=100)\npomdp = TigerPOMDP()\npolicy = RandomPolicy(pomdp)\n\nh = simulate(hr, pomdp, policy)","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"HistoryRecorder","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.HistoryRecorder","page":"Implemented Simulators","title":"POMDPTools.Simulators.HistoryRecorder","text":"A simulator that records the history for later examination\n\nThe simulation will be terminated when either\n\na terminal state is reached (as determined by isterminal() or\nthe discount factor is as small as eps or\nmax_steps have been executed\n\nKeyword Arguments: - rng: The random number generator for the simulation - capture_exception::Bool: whether to capture an exception and store it in the history, or let it go uncaught, potentially killing the script - show_progress::Bool: show a progress bar for the simulation - eps - max_steps\n\nUsage (optional arguments in brackets):\n\nhr = HistoryRecorder()\nhistory = simulate(hr, pomdp, policy, [updater [, init_belief [, init_state]]])\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/simulators/#sim-function","page":"Implemented Simulators","title":"sim()","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The sim function provides a convenient way to interact with a POMDP or MDP environment and return a history. The first argument is a function that is called at every time step and takes a state (in the case of an MDP) or an observation (in the case of a POMDP) as the argument and then returns an action. The second argument is a pomdp or mdp. It is intended to be used with Julia's do syntax as follows:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"pomdp = TigerPOMDP()\nhistory = sim(pomdp, max_steps=10) do obs\n println(\"Observation was $obs.\")\n return TIGER_OPEN_LEFT\nend","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"This allows a flexible and general way to interact with a POMDP environment without creating new Policy types.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"In the POMDP case, an updater can optionally be supplied as an additional positional argument if the policy function works with beliefs rather than directly with observations.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"sim","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.sim","page":"Implemented Simulators","title":"POMDPTools.Simulators.sim","text":"sim(polfunc::Function, mdp::MDP; [])\nsim(polfunc::Function, pomdp::POMDP; [])\n\nAlternative way of running a simulation with a function specifying how to calculate the action at each timestep.\n\nUsage\n\nsim(mdp) do s\n # code that calculates action `a` based on `s` - this is the policy\n # you can also do other things like display something\n return a\nend\n\nfor an MDP or\n\nsim(pomdp) do o\n # code that calculates 'a' based on observation `o`\n # optionally you could save 'o' in a global variable or do a belief update\n return a\nend\n\nor with a POMDP\n\nsim(pomdp, updater) do b\n # code that calculates 'a' based on belief `b`\n # `b` is calculated by `updater`\n return a\nend\n\nfor a POMDP and a belief updater.\n\nKeyword Arguments\n\nAll Versions\n\ninitialstate: the initial state for the simulation\nsimulator: keyword argument to specify any simulator to run the simulation. If nothing is specified for the simulator, a HistoryRecorder will be used as the simulator, with all keyword arguments forwarded to it, e.g.\nsim(mdp, max_steps=100, show_progress=true) do s\n # ...\nend\nwill limit the simulation to 100 steps.\n\nPOMDP version\n\ninitialobs: this will control the initial observation given to the policy function. If this is not defined, rand(initialobs(m, s)) will be used if it is available. If it is not, missing will be used.\n\nPOMDP and updater version\n\ninitialbelief: initialize_belief(updater, initialbelief) is the first belief that will be given to the policy function.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/simulators/#Histories","page":"Implemented Simulators","title":"Histories","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The results produced by HistoryRecorders and the sim function are contained in SimHistory objects.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"SimHistory","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.SimHistory","page":"Implemented Simulators","title":"POMDPTools.Simulators.SimHistory","text":"SimHistory\n\nAn (PO)MDP simulation history returned by simulate(::HistoryRecorder, ::Union{MDP,POMDP},...).\n\nThis is an AbstractVector of NamedTuples containing the states, actions, etc.\n\nExamples\n\nhist[1][:s] # returns the first state in the history\n\nhist[:a] # returns all of the actions in the history\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/simulators/#Examples","page":"Implemented Simulators","title":"Examples","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"using POMDPs, POMDPTools, POMDPModels\nhr = HistoryRecorder(max_steps=10)\nhist = simulate(hr, BabyPOMDP(), FunctionPolicy(x->true))\nstep = hist[1] # all information available about the first step\nstep[:s] # the first state\nstep[:a] # the first action","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"To see everything available in a step, use","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"keys(first(hist))","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The entire history of each variable is available by using a Symbol instead of an index, i.e.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"hist[:s]","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"will return a vector of the starting states for each step (note the difference between :s and :sp).","category":"page"},{"location":"POMDPTools/simulators/#eachstep","page":"Implemented Simulators","title":"eachstep","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The eachstep function may also be useful:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"eachstep","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.eachstep","page":"Implemented Simulators","title":"POMDPTools.Simulators.eachstep","text":"for t in eachstep(hist, [spec])\n ...\nend\n\nIterate through the steps in SimHistory hist. spec is a tuple of symbols or string that controls what is returned for each step.\n\nFor example,\n\nfor (s, a, r, sp) in eachstep(h, \"(s, a, r, sp)\") \n println(\"reward $r received when state $sp was reached after action $a was taken in state $s\")\nend\n\nreturns the start state, action, reward and destination state for each step of the simulation.\n\nAlternatively, instead of expanding the steps implicitly, the elements of the step can be accessed as fields (since each step is a NamedTuple):\n\nfor step in eachstep(h, \"(s, a, r, sp)\") \n println(\"reward $(step.r) received when state $(step.sp) was reached after action $(step.a) was taken in state $(step.s)\")\nend\n\nThe possible valid elements in the iteration specification are\n\nAny node in the (PO)MDP Dynamic Decision network (by default :s, :a, :sp, :o, :r)\nb - the initial belief in the step (for POMDPs only)\nbp - the belief after being updated based on o (for POMDPs only)\naction_info - info from the policy decision (from action_info)\nupdate_info - info from the belief update (from update_info)\nt - the timestep index\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/simulators/#Examples:","page":"Implemented Simulators","title":"Examples:","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"collect(eachstep(h, \"a,o\"))","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"will produce a vector of action-observation named tuples.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"collect(norm(sp-s) for (s,sp) in eachstep(h, \"s,sp\"))","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"will produce a vector of the distances traveled on each step (assuming the state is a Euclidean vector).","category":"page"},{"location":"POMDPTools/simulators/#Notes","page":"Implemented Simulators","title":"Notes","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The iteration specification can be specified as a tuple of symbols (e.g. (:s, :a)) instead of a string.\nFor type stability in performance-critical code, one should construct an iterator directly using HistoryIterator{typeof(h), (:a,:r)}(h) rather than eachstep(h, \"ar\").","category":"page"},{"location":"POMDPTools/simulators/#Other-Functions","page":"Implemented Simulators","title":"Other Functions","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"state_hist(h), action_hist(h), observation_hist(h) belief_hist(h), and reward_hist(h) will return vectors of the states, actions, and rewards, and undiscounted_reward(h) and discounted_reward(h) will return the total rewards collected over the trajectory. n_steps(h) returns the number of steps in the history. exception(h) and backtrace(h) can be used to hold an exception if the simulation failed to finish.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"view(h, range) (e.g. view(h, 1:n_steps(h)-4)) can be used to create a view of the history object h that only contains a certain range of steps. The object returned by view is an AbstractSimHistory that can be iterated through and manipulated just like a complete SimHistory.","category":"page"},{"location":"POMDPTools/simulators/#Parallel","page":"Implemented Simulators","title":"Parallel","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"POMDPTools contains a utility for running many Monte Carlo simulations in parallel to evaluate performance. The basic workflow involves the following steps:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Create a vector of Sim objects, each specifying how a single simulation should be run.\nUse the run_parallel or run function to run the simulations.\nAnalyze the results of the simulations contained in the DataFrame returned by run_parallel.","category":"page"},{"location":"POMDPTools/simulators/#Example","page":"Implemented Simulators","title":"Example","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"An example can be found in the Parallel Simulations section.","category":"page"},{"location":"POMDPTools/simulators/#Sim-objects","page":"Implemented Simulators","title":"Sim objects","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Each simulation should be specified by a Sim object which contains all the information needed to run a simulation, including the Simulator, POMDP or MDP, Policy, Updater, and any other ingredients.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Sim","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.Sim","page":"Implemented Simulators","title":"POMDPTools.Simulators.Sim","text":"Sim(m::MDP, p::Policy[, initialstate]; kwargs...)\nSim(m::POMDP, p::Policy[, updater[, initial_belief[, initialstate]]]; kwargs...)\n\nCreate a Sim object that contains everything needed to run and record a single simulation, including model, initial conditions, and metadata.\n\nA vector of Sim objects can be executed with run or run_parallel.\n\nKeyword Arguments\n\nrng::AbstractRNG=Random.default_rng()\nmax_steps::Int=typemax(Int)\nsimulator::Simulator=HistoryRecorder(rng=rng, max_steps=max_steps)\nmetadata::NamedTuple a named tuple (or dictionary) of metadata for the sim that will be recorded, e.g.(solver_iterations=500,)`.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/simulators/#Running-simulations","page":"Implemented Simulators","title":"Running simulations","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The simulations are actually carried out by the run and run_parallel functions.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"run_parallel","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.run_parallel","page":"Implemented Simulators","title":"POMDPTools.Simulators.run_parallel","text":"run_parallel(queue::Vector{Sim})\nrun_parallel(f::Function, queue::Vector{Sim})\n\nRun Sim objects in queue in parallel and return results as a DataFrame.\n\nBy default, the DataFrame will contain the reward for each simulation and the metadata provided to the sim.\n\nArguments\n\nqueue: List of Sim objects to be executed\nf: Function to process the results of each simulation\n\nThis function should take two arguments, (1) the Sim that was executed and (2) the result of the simulation, by default a SimHistory. It should return a named tuple that will appear in the dataframe. See Examples below.\n\nKeyword Arguments\n\nshow_progress::Bool: whether or not to show a progress meter\nprogress::ProgressMeter.Progress: determines how the progress meter is displayed\n\nExamples\n\nrun_parallel(queue) do sim, hist\n return (n_steps=n_steps(hist), reward=discounted_reward(hist))\nend\n\nwill return a dataframe with with the number of steps and the reward in it.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The run function is also provided to run simulations in serial (this is often useful for debugging). Note that the documentation below also contains a section for the builtin julia run function, even though it is not relevant here.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"run","category":"page"},{"location":"POMDPTools/simulators/#Base.run","page":"Implemented Simulators","title":"Base.run","text":"run(queue::Vector{Sim})\nrun(f::Function, queue::Vector{Sim})\n\nRun the Sim objects in queue on a single process and return the results as a dataframe.\n\nSee run_parallel for more information.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/simulators/#Specifying-information-to-be-recorded","page":"Implemented Simulators","title":"Specifying information to be recorded","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"By default, only the discounted rewards from each simulation are recorded, but arbitrary information can be recorded.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The run_parallel and run functions accept a function (normally specified via the do syntax) that takes the Sim object and history of the simulation and extracts relevant statistics as a named tuple. For example, if the desired characteristics are the number of steps in the simulation and the reward, run_parallel would be invoked as follows:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"df = run_parallel(queue) do sim::Sim, hist::SimHistory\n return (n_steps=n_steps(hist), reward=discounted_reward(hist))\nend","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"These statistics are combined into a DataFrame, with each line representing a single simulation, allowing for statistical analysis. For example,","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"mean(df[:reward]./df[:n_steps])","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"would compute the average reward per step with each simulation weighted equally regardless of length.","category":"page"},{"location":"POMDPTools/simulators/#Display","page":"Implemented Simulators","title":"Display","text":"","category":"section"},{"location":"POMDPTools/simulators/#DisplaySimulator","page":"Implemented Simulators","title":"DisplaySimulator","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The DisplaySimulator displays each step of a simulation in real time through a multimedia display such as a Jupyter notebook or ElectronDisplay. Specifically it uses POMDPTools.render and the built-in Julia display function to visualize each step.","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"Example:","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"using POMDPs\nusing POMDPModels\nusing POMDPTools\nusing ElectronDisplay\nElectronDisplay.CONFIG.single_window = true\n\nds = DisplaySimulator()\nm = SimpleGridWorld()\nsimulate(ds, m, RandomPolicy(m))","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"DisplaySimulator","category":"page"},{"location":"POMDPTools/simulators/#POMDPTools.Simulators.DisplaySimulator","page":"Implemented Simulators","title":"POMDPTools.Simulators.DisplaySimulator","text":"DisplaySimulator(;kwargs...)\n\nCreate a simulator that displays each step of a simulation.\n\nGiven a POMDP or MDP model m, this simulator roughly works like\n\nfor step in stepthrough(m, ...)\n display(render(m, step))\nend\n\nKeyword Arguments\n\ndisplay::AbstractDisplay: the display to use for the first argument to the display function. If this is nothing, display(...) will be called without an AbstractDisplay argument.\nrender_kwargs::NamedTuple: keyword arguments for POMDPTools.render(...)\nmax_fps::Number=10: maximum number of frames to be displayed per second - sleep will be used to skip extra time, so this is not designed for high precision\npredisplay::Function: function to call before every call to display(...). The only argument to this function will be the display (if it is specified) or nothing\nextra_initial::Bool=false: if true, display an extra step at the beginning with only elements t, sp, and bp for POMDPs (this can be useful to see the initial state if render displays only sp and not s).\nextra_final::Bool=true: iftrue, display an extra step at the end with only elementst,done,s, andbfor POMDPs (this can be useful to see the final state ifrenderdisplays onlysand notsp`).\nmax_steps::Integer: maximum number of steps to run for\nspec::NTuple{Symbol}: specification of what step elements to display (see eachstep)\nrng::AbstractRNG: random number generator\n\nSee the POMDPSimulators documentation for more tips about using specific displays.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/simulators/#Display-specific-tips","page":"Implemented Simulators","title":"Display-specific tips","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"The following tips may be helpful when using particular displays.","category":"page"},{"location":"POMDPTools/simulators/#Jupyter-notebooks","page":"Implemented Simulators","title":"Jupyter notebooks","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"By default, in a Jupyter notebook, the visualizations of all steps are displayed in the output box one after another. To make the output animated instead, where the image is overwritten at each step, one may use","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"DisplaySimulator(predisplay=(d)->IJulia.clear_output(true))","category":"page"},{"location":"POMDPTools/simulators/#ElectronDisplay","page":"Implemented Simulators","title":"ElectronDisplay","text":"","category":"section"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"By default, ElectronDisplay will open a new window for each new step. To prevent this, use","category":"page"},{"location":"POMDPTools/simulators/","page":"Implemented Simulators","title":"Implemented Simulators","text":"ElectronDisplay.CONFIG.single_window = true","category":"page"},{"location":"gallery/#Gallery-of-POMDPs.jl-Problems","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"A gallery of models written for POMDPs.jl with visualizations. To view these visualizations on your own machine, the code is provided below each visualization.","category":"page"},{"location":"gallery/#[EscapeRoomba](https://github.com/sisl/AA228FinalProject)","page":"Gallery of POMDPs.jl Problems","title":"EscapeRoomba","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"Originally, an optional final project for AA228 at Stanford in Fall 2018. A Roomba equipped with a LIDAR or a bump sensor needs to try to find the safe exit (green) without accidentally falling down the stairs (red).","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"(Image: EscapeRoomba)","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using Pkg\nPkg.add(url=\"https://github.com/sisl/RoombaPOMDPs.git\")","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using POMDPs\nusing POMDPTools\nusing POMDPGifs\nusing BasicPOMCP\nusing Random\nusing ParticleFilters\nusing Cairo\nusing LinearAlgebra\n\n\n# If you don't have RoombaPOMDPs installed, uncomment the following two lines\n# using Pkg\n# Pkg.add(url=\"https://github.com/sisl/RoombaPOMDPs.git\")\nusing RoombaPOMDPs\n\n# Let's only consider discrete actions\nroomba_actions = [RoombaAct(2.0, 0.0), RoombaAct(2.0, 0.7), RoombaAct(2.0, -0.7)]\n\npomdp = RoombaPOMDP(;\n sensor=Bumper(), \n mdp=RoombaMDP(; \n config=2, \n discount=0.99, \n contact_pen=-0.1,\n aspace=roomba_actions\n )\n)\n\n# Define the belief updater\nnum_particles = 20000\nv_noise_coefficient = 0.0\nom_noise_coefficient = 0.4\nresampler=LowVarianceResampler(num_particles)\nrng = MersenneTwister(1)\nbelief_updater = RoombaParticleFilter(\n pomdp, num_particles, v_noise_coefficient, \n om_noise_coefficient,resampler, rng\n)\n\n# Custom update function for the particle filter\nfunction POMDPs.update(up::RoombaParticleFilter, b::ParticleCollection, a, o)\n pm = up._particle_memory\n wm = up._weight_memory\n ps = []\n empty!(pm)\n empty!(wm)\n all_terminal = true\n for s in particles(b)\n if !isterminal(up.model, s)\n all_terminal = false\n a_pert = RoombaAct(a.v + (up.v_noise_coeff * (rand(up.rng) - 0.5)), a.omega + (up.om_noise_coeff * (rand(up.rng) - 0.5)))\n sp = @gen(:sp)(up.model, s, a_pert, up.rng)\n weight_sp = pdf(observation(up.model, sp), o)\n if weight_sp > 0.0\n push!(ps, s)\n push!(pm, sp)\n push!(wm, weight_sp)\n end\n end\n end\n \n while length(pm) < up.n_init\n a_pert = RoombaAct(a.v + (up.v_noise_coeff * (rand(up.rng) - 0.5)), a.omega + (up.om_noise_coeff * (rand(up.rng) - 0.5)))\n s = isempty(ps) ? rand(up.rng, b) : rand(up.rng, ps)\n sp = @gen(:sp)(up.model, s, a_pert, up.rng)\n weight_sp = obs_weight(up.model, s, a_pert, sp, o)\n if weight_sp > 0.0\n push!(pm, sp)\n push!(wm, weight_sp)\n end\n end\n\n # if all particles are terminal, issue an error\n if all_terminal\n error(\"Particle filter update error: all states in the particle collection were terminal.\")\n end\n \n # return ParticleFilters.ParticleCollection(deepcopy(pm))\n return ParticleFilters.resample(up.resampler,\n WeightedParticleBelief(pm, wm, sum(wm), nothing),\n up.rng)\nend\n\nsolver = POMCPSolver(; \n tree_queries=20000, \n max_depth=150, \n c = 10.0,\n rng=MersenneTwister(1)\n)\n\nplanner = solve(solver, pomdp)\n\nsim = GifSimulator(; \n filename=\"examples/EscapeRoomba.gif\", \n max_steps=100, \n rng=MersenneTwister(3), \n show_progress=false, \n fps=5)\nsaved_gif = simulate(sim, pomdp, planner, belief_updater)\n\nprintln(\"gif saved to: $(saved_gif.filename)\")","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"Pkg.rm(\"RoombaPOMDPs\")","category":"page"},{"location":"gallery/#[DroneSurveillance](https://github.com/JuliaPOMDP/DroneSurveillance.jl)","page":"Gallery of POMDPs.jl Problems","title":"DroneSurveillance","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"Drone surveillance POMDP from M. Svoreňová, M. Chmelík, K. Leahy, H. F. Eniser, K. Chatterjee, I. Černá, C. Belta, \"Temporal logic motion planning using POMDPs with parity objectives: case study paper\", International Conference on Hybrid Systems: Computation and Control (HSCC), 2015.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"In this problem, the UAV must go from one corner to the other while avoiding a ground agent. It can only detect the ground agent within its field of view (in blue).","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"(Image: DroneSurveillance)","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using POMDPs\nusing POMDPTools\nusing POMDPGifs\nusing NativeSARSOP\nusing Random\nusing DroneSurveillance\nimport Cairo, Fontconfig\n\npomdp = DroneSurveillancePOMDP() \nsolver = SARSOPSolver(; precision=0.1, max_time=10.0) \npolicy = solve(solver, pomdp) \n\nsim = GifSimulator(; filename=\"examples/DroneSurveillance.gif\", max_steps=30, rng=MersenneTwister(1), show_progress=false)\nsaved_gif = simulate(sim, pomdp, policy)\n\nprintln(\"gif saved to: $(saved_gif.filename)\")","category":"page"},{"location":"gallery/#[QuickMountainCar](https://github.com/JuliaPOMDP/QuickPOMDPs.jl)","page":"Gallery of POMDPs.jl Problems","title":"QuickMountainCar","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"An implementation of the classic Mountain Car RL problem using the QuickPOMDPs interface.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"(Image: QuickMountainCar)","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using POMDPs\nusing POMDPTools\nusing POMDPGifs\nusing Random\nusing QuickPOMDPs\nusing Compose\nimport Cairo\n\nmountaincar = QuickMDP(\n function (s, a, rng) \n x, v = s\n vp = clamp(v + a*0.001 + cos(3*x)*-0.0025, -0.07, 0.07)\n xp = x + vp\n if xp > 0.5\n r = 100.0\n else\n r = -1.0\n end\n return (sp=(xp, vp), r=r)\n end,\n actions = [-1., 0., 1.],\n initialstate = Deterministic((-0.5, 0.0)),\n discount = 0.95,\n isterminal = s -> s[1] > 0.5,\n\n render = function (step)\n cx = step.s[1]\n cy = 0.45*sin(3*cx)+0.5\n car = (context(), Compose.circle(cx, cy+0.035, 0.035), fill(\"blue\"))\n track = (context(), line([(x, 0.45*sin(3*x)+0.5) for x in -1.2:0.01:0.6]), Compose.stroke(\"black\"))\n goal = (context(), star(0.5, 1.0, -0.035, 5), fill(\"gold\"), Compose.stroke(\"black\"))\n bg = (context(), Compose.rectangle(), fill(\"white\"))\n ctx = context(0.7, 0.05, 0.6, 0.9, mirror=Mirror(0, 0, 0.5))\n return compose(context(), (ctx, car, track, goal), bg)\n end\n)\n\nenergize = FunctionPolicy(s->s[2] < 0.0 ? -1.0 : 1.0)\nsim = GifSimulator(; filename=\"examples/QuickMountainCar.gif\", max_steps=200, fps=20, rng=MersenneTwister(1), show_progress=false)\nsaved_gif = simulate(sim, mountaincar, energize)\n\nprintln(\"gif saved to: $(saved_gif.filename)\")","category":"page"},{"location":"gallery/#[RockSample](https://github.com/JuliaPOMDP/RockSample.jl)","page":"Gallery of POMDPs.jl Problems","title":"RockSample","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"The RockSample problem problem from T. Smith, R. Simmons, \"Heuristic Search Value Iteration for POMDPs\", Association for Uncertainty in Artificial Intelligence (UAI), 2004.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"The robot must navigate and sample good rocks (green) and then arrive at an exit area. The robot can only sense the rocks with an imperfect sensor that has performance that depends on the distance to the rock.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"(Image: RockSample)","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using POMDPs\nusing POMDPTools\nusing POMDPGifs\nusing NativeSARSOP\nusing Random\nusing RockSample \nusing Cairo \n\npomdp = RockSamplePOMDP(rocks_positions=[(2,3), (4,4), (4,2)], \n sensor_efficiency=20.0,\n discount_factor=0.95, \n good_rock_reward = 20.0)\n\nsolver = SARSOPSolver(precision=1e-3; max_time=10.0)\npolicy = solve(solver, pomdp)\n\nsim = GifSimulator(; filename=\"examples/RockSample.gif\", max_steps=30, rng=MersenneTwister(1), show_progress=false)\nsaved_gif = simulate(sim, pomdp, policy)\n\nprintln(\"gif saved to: $(saved_gif.filename)\")","category":"page"},{"location":"gallery/#[TagPOMDPProblem](https://github.com/JuliaPOMDP/TagPOMDPProblem.jl)","page":"Gallery of POMDPs.jl Problems","title":"TagPOMDPProblem","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"The Tag problem from J. Pineau, G. Gordon, and S. Thrun, \"Point-based value iteration: An anytime algorithm for POMDPs\", International Joint Conference on Artificial Intelligence (IJCAI), 2003.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"The orange agent is the pursuer and the red agent is the evader. The pursuer must \"tag\" the evader by being in the same grid cell as the evader. However, the pursuer can only see the evader if it is in the same grid cell as the evader. The evader moves stochastically \"away\" from the pursuer.","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"(Image: TagPOMDPProblem)","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using Pkg\nPkg.add(\"Plots\")\nusing Plots","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using POMDPs\nusing POMDPTools\nusing POMDPGifs\nusing NativeSARSOP\nusing Random\nusing TagPOMDPProblem\n\npomdp = TagPOMDP()\nsolver = SARSOPSolver(; max_time=20.0)\npolicy = solve(solver, pomdp)\nsim = GifSimulator(; filename=\"examples/TagPOMDP.gif\", max_steps=50, rng=MersenneTwister(1), show_progress=false)\nsaved_gif = simulate(sim, pomdp, policy)\n\nprintln(\"gif saved to: $(saved_gif.filename)\")","category":"page"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"using Pkg\nPkg.rm(\"Plots\")","category":"page"},{"location":"gallery/#Adding-New-Gallery-Examples","page":"Gallery of POMDPs.jl Problems","title":"Adding New Gallery Examples","text":"","category":"section"},{"location":"gallery/","page":"Gallery of POMDPs.jl Problems","title":"Gallery of POMDPs.jl Problems","text":"To add new examples, please submit a pull request to the POMDPs.jl repository with changes made to the gallery.md file in docs/src/. Please include the creation of a gif in the code snippet. The gif should be generated during the creation of the documenation using @eval and saved in the docs/src/examples/ directory. The gif should be named problem_name.gif where problem_name is the name of the problem. The gif can then be included using ![problem_name](examples/problem_name.gif).","category":"page"},{"location":"POMDPTools/testing/#Testing","page":"Testing","title":"Testing","text":"","category":"section"},{"location":"POMDPTools/testing/","page":"Testing","title":"Testing","text":"POMDPTools contains basic utilities for testing models and solvers.","category":"page"},{"location":"POMDPTools/testing/#Testing-(PO)MDP-Models","page":"Testing","title":"Testing (PO)MDP Models","text":"","category":"section"},{"location":"POMDPTools/testing/","page":"Testing","title":"Testing","text":"has_consistent_distributions\nhas_consistent_initial_distribution\nhas_consistent_transition_distributions\nhas_consistent_observation_distributions","category":"page"},{"location":"POMDPTools/testing/#POMDPTools.Testing.has_consistent_distributions","page":"Testing","title":"POMDPTools.Testing.has_consistent_distributions","text":"has_consistent_distributions(m::MDP; atol=0)\nhas_consistent_distributions(m::POMDP; atol=0)\n\nReturn true if no problems are found in the distributions for a discrete problem. Print information and return false if problems are found.\n\nTests whether\n\nAll probabilities are positive\nProbabilities for all distributions sum to 1\nAll items with positive probability are in the support\n\nKeyword Arguments\n\natol: absolute tolerance passed to approx for all probability checks\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/testing/#POMDPTools.Testing.has_consistent_initial_distribution","page":"Testing","title":"POMDPTools.Testing.has_consistent_initial_distribution","text":"has_consistent_initial_distribution(m; atol=0)\n\nReturn true if no problems are found with the initial state distribution for a discrete problem. Print information and return false if problems are found.\n\nSee has_consistent_distributions for information on what checks are performed.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/testing/#POMDPTools.Testing.has_consistent_transition_distributions","page":"Testing","title":"POMDPTools.Testing.has_consistent_transition_distributions","text":"has_consistent_transition_distributions(m; atol=0)\n\nReturn true if no problems are found in the transition distributions for a discrete problem. Print information and return false if problems are found.\n\nSee has_consistent_distributions for information on what checks are performed.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/testing/#POMDPTools.Testing.has_consistent_observation_distributions","page":"Testing","title":"POMDPTools.Testing.has_consistent_observation_distributions","text":"has_consistent_observation_distributions(m; atol=0)\n\nReturn true if no problems are found in the observation distributions for a discrete POMDP. Print information and return false if problems are found.\n\nSee has_consistent_distributions for information on what checks are performed.\n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/testing/#Testing-Solvers","page":"Testing","title":"Testing Solvers","text":"","category":"section"},{"location":"POMDPTools/testing/","page":"Testing","title":"Testing","text":"test_solver","category":"page"},{"location":"POMDPTools/testing/#POMDPTools.Testing.test_solver","page":"Testing","title":"POMDPTools.Testing.test_solver","text":"test_solver(solver::Solver, problem::POMDP)\ntest_solver(solver::Solver, problem::MDP)\n\nUse the solver to solve the specified problem, then run a simulation.\n\nThis is designed to illustrate how solvers are expected to function. All solvers should be able to complete this standard test with the simple models in the POMDPModels package.\n\nNote that this does NOT test the optimality of the solution, but is only a smoke test to see if the solver interacts with POMDP models as expected.\n\nTo run this with a solver called YourSolver, run\n\nusing POMDPToolbox\nusing POMDPModels\n\nsolver = YourSolver(# initialize with parameters #)\ntest_solver(solver, BabyPOMDP())\n\n\n\n\n\n","category":"function"},{"location":"offline_solver/#Example:-Defining-an-offline-solver","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"","category":"section"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"In this example, we will define a simple offline solver that works for both POMDPs and MDPs. In order to focus on the code structure, we will not create an algorithm that finds an optimal policy, but rather a greedy policy, that is, one that optimizes the expected immediate reward. For information on using this solver in a simulation, see Running Simulations.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"We begin by creating a solver type. Since there are no adjustable parameters for the solver, it is an empty type, but for a more complex solver, parameters would usually be included as type fields.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"using POMDPs\n\nstruct GreedyOfflineSolver <: Solver end","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"Next, we define the functions that will make the solver work for both MDPs and POMDPs.","category":"page"},{"location":"offline_solver/#MDP-Case","page":"Example: Defining an offline solver","title":"MDP Case","text":"","category":"section"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"Finding a greedy policy for an MDP consists of determining the action that has the best reward for each state. First, we create a simple policy object that holds a greedy action for each state.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"struct DictPolicy{S,A} <: Policy\n actions::Dict{S,A}\nend\n\nPOMDPs.action(p::DictPolicy, s) = p.actions[s]","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"note: Note\nA POMDPTools.VectorPolicy could be used here. We include this example to show how to define a custom policy.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"The solve function calculates the best greedy action for each state and saves it in a policy. To have the widest possible compatibility with POMDP models, we want to use reward(m, s, a, sp) instead of reward(m, s, a), which means we need to calculate the expectation of the reward over transitions to every possible next state.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"function POMDPs.solve(::GreedyOfflineSolver, m::MDP)\n\n best_actions = Dict{statetype(m), actiontype(m)}()\n\n for s in states(m)\n if !isterminal(m, s)\n best = -Inf\n for a in actions(m)\n td = transition(m, s, a)\n r = 0.0\n for sp in support(td)\n r += pdf(td, sp) * reward(m, s, a, sp)\n end\n if r >= best\n best_actions[s] = a\n best = r\n end\n end\n end\n end\n \n return DictPolicy(best_actions)\nend","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"note: Note\nWe limited this implementation to using basic POMDPs.jl implementation functions, but tools such as POMDPTools.StateActionReward, POMDPTools.ordered_states, and POMDPTools.weighted_iterator could have been used for a more concise and efficient implementation.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"We can now verify whether the policy produces the greedy action on an example from POMDPModels:","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"using POMDPModels\n\ngw = SimpleGridWorld(size=(2,1), rewards=Dict(GWPos(2,1)=>1.0))\npolicy = solve(GreedyOfflineSolver(), gw)\n\naction(policy, GWPos(1,1))\n\n# output\n\n:right","category":"page"},{"location":"offline_solver/#POMDP-Case","page":"Example: Defining an offline solver","title":"POMDP Case","text":"","category":"section"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"For a POMDP, the greedy solution is the action that maximizes the expected immediate reward according to the belief. Since there are an infinite number of possible beliefs, the greedy solution for every belief cannot be calculated online. However, the greedy policy can take the form of an alpha vector policy where each action has an associated alpha vector with each entry corresponding to the immediate reward from taking the action in that state.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"Again, because a POMDP, may have reward(m, s, a, sp, o) instead of reward(m, s, a), we use the former and calculate the expectation over all next states and observations.","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"using POMDPTools: AlphaVectorPolicy\n\nfunction POMDPs.solve(::GreedyOfflineSolver, m::POMDP)\n\n alphas = Vector{Float64}[]\n\n for a in actions(m)\n alpha = zeros(length(states(m)))\n for s in states(m)\n if !isterminal(m, s)\n r = 0.0\n td = transition(m, s, a)\n for sp in support(td)\n tp = pdf(td, sp)\n od = observation(m, s, a, sp)\n for o in support(od)\n r += tp * pdf(od, o) * reward(m, s, a, sp, o)\n end\n end\n alpha[stateindex(m, s)] = r\n end\n end\n push!(alphas, alpha)\n end\n \n return AlphaVectorPolicy(m, alphas, collect(actions(m)))\nend","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"We can now verify that a policy created by the solver determines the correct greedy actions:","category":"page"},{"location":"offline_solver/","page":"Example: Defining an offline solver","title":"Example: Defining an offline solver","text":"using POMDPModels\nusing POMDPTools: Deterministic, Uniform\n\ntiger = TigerPOMDP()\npolicy = solve(GreedyOfflineSolver(), tiger)\n\n@assert action(policy, Deterministic(TIGER_LEFT)) == TIGER_OPEN_RIGHT\n@assert action(policy, Deterministic(TIGER_RIGHT)) == TIGER_OPEN_LEFT\n@assert action(policy, Uniform(states(tiger))) == TIGER_LISTEN","category":"page"},{"location":"def_solver/#Solvers","page":"Solvers","title":"Solvers","text":"","category":"section"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"Defining a solver involves creating or using four pieces of code:","category":"page"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"A subtype of Solver that holds the parameters and configuration options for the solver.\nA subtype of Policy that holds all of the data needed to choose actions online.\nA method of solve that takes the Solver and a (PO)MDP as arguments, performs all of the offline computations for solving the problem, and returns the policy.\nA method of action that takes in the policy and a state or belief and returns an action.","category":"page"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"In many cases, items 2 and 4 can be satisfied with an off-the-shelf Policy from the POMDPTools package. also contains many tools that are useful for defining solvers in a robust, concise, and readable manner.","category":"page"},{"location":"def_solver/#Online-and-Offline-Solvers","page":"Solvers","title":"Online and Offline Solvers","text":"","category":"section"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"Generally, solvers can be grouped into two categories: Offline solvers that do most of their computational work before interacting with the environment, and online solvers that do their work online as each new state or observation is encountered. Although offline and online solvers both use the exact same Solver, solve, Policy, action structure, the work of defining online and offline solvers is focused on different portions.","category":"page"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"For an offline solver, most of the implementation effort will be spent on the [solve] function, and an off-the-shelf policy from POMDPTools will typically be used.","category":"page"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"For an online solver, the solve function typically does little or no work, but merely creates a Policy object that will carry out computation online. It is typical in POMDPs.jl to use the term \"Planner\" to name a Policy object for an online solver that carries out a large amount of computation (\"planning\") at interaction time. In this case most of the effort will be focused on implementing the action method for the \"Planner\" Policy type.","category":"page"},{"location":"def_solver/#Examples","page":"Solvers","title":"Examples","text":"","category":"section"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"Solver implementation is most clearly explained through examples. The following sections contain examples of both online and offline solver definitions:","category":"page"},{"location":"def_solver/","page":"Solvers","title":"Solvers","text":"Pages = [\"offline_solver.md\", \"online_solver.md\"]","category":"page"},{"location":"online_solver/#Example:-Defining-an-online-solver","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"","category":"section"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"In this example, we will define a simple online solver that works for both POMDPs and MDPs. In order to focus on the code structure, we will not create an algorithm that finds an optimal policy, but rather a greedy policy, that is, one that optimizes the expected immediate reward. For information on using this solver in a simulation, see Running Simulations.","category":"page"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"In order to handle the widest range of problems, we will use @gen to generate Mone Carlo samples to estimate the reward even if only a simulator is available. We begin by creating the necessary types and the solve function. The only solver parameter is the number of samples used to estimate the reward at each step, and the solve function does nothing more than create a planner with the appropriate (PO)MDP problem definition.","category":"page"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"using POMDPs\n\nstruct MonteCarloGreedySolver <: Solver\n num_samples::Int\nend\n\nstruct MonteCarloGreedyPlanner{M} <: Policy\n m::M\n num_samples::Int\nend\n\nPOMDPs.solve(sol::MonteCarloGreedySolver, m) = MonteCarloGreedyPlanner(m, sol.num_samples)","category":"page"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"Next, we define the action function where the online work takes place.","category":"page"},{"location":"online_solver/#MDP-Case","page":"Example: Defining an online solver","title":"MDP Case","text":"","category":"section"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"function POMDPs.action(p::MonteCarloGreedyPlanner{<:MDP}, s)\n best_reward = -Inf\n local best_action\n for a in actions(p.m)\n reward_sum = sum(@gen(:r)(p.m, s, a) for _ in 1:p.num_samples)\n if reward_sum >= best_reward\n best_reward = reward_sum\n best_action = a\n end\n end\n return best_action\nend","category":"page"},{"location":"online_solver/#POMDP-Case","page":"Example: Defining an online solver","title":"POMDP Case","text":"","category":"section"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"function POMDPs.action(p::MonteCarloGreedyPlanner{<:POMDP}, b)\n best_reward = -Inf\n local best_action\n for a in actions(p.m)\n s = rand(b)\n reward_sum = sum(@gen(:r)(p.m, s, a) for _ in 1:p.num_samples)\n if reward_sum >= best_reward\n best_reward = reward_sum\n best_action = a\n end\n end\n return best_action\nend\n\n# output\n","category":"page"},{"location":"online_solver/#Verification","page":"Example: Defining an online solver","title":"Verification","text":"","category":"section"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"We can now verify that the online planner works in some simple cases:","category":"page"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"using POMDPModels\n\ngw = SimpleGridWorld(size=(2,1), rewards=Dict(GWPos(2,1)=>1.0))\nsolver = MonteCarloGreedySolver(1000)\nplanner = solve(solver, gw)\n\naction(planner, GWPos(1,1))\n\n# output\n\n:right","category":"page"},{"location":"online_solver/","page":"Example: Defining an online solver","title":"Example: Defining an online solver","text":"using POMDPModels\nusing POMDPTools: Deterministic, Uniform\n\ntiger = TigerPOMDP()\nsolver = MonteCarloGreedySolver(1000)\n\nplanner = solve(solver, tiger)\n\n@assert action(planner, Deterministic(TIGER_LEFT)) == TIGER_OPEN_RIGHT\n@assert action(planner, Deterministic(TIGER_RIGHT)) == TIGER_OPEN_LEFT\n# note action(planner, Uniform(states(tiger))) is not very reliable with this number of samples","category":"page"},{"location":"get_started/#Getting-Started","page":"Getting Started","title":"Getting Started","text":"","category":"section"},{"location":"get_started/","page":"Getting Started","title":"Getting Started","text":"Before writing our own POMDP problems or solvers, let's try out some of the available solvers and problem models available in JuliaPOMDP.","category":"page"},{"location":"get_started/","page":"Getting Started","title":"Getting Started","text":"Here is a short piece of code that solves the Tiger POMDP using QMDP, and evaluates the results. Note that you must have the QMDP, POMDPModels, and POMDPToolbox modules installed.","category":"page"},{"location":"get_started/","page":"Getting Started","title":"Getting Started","text":"using POMDPs, QMDP, POMDPModels, POMDPTools\n\n# initialize problem and solver\npomdp = TigerPOMDP() # from POMDPModels\nsolver = QMDPSolver() # from QMDP\n\n# compute a policy\npolicy = solve(solver, pomdp)\n\n#evaluate the policy\nbelief_updater = updater(policy) # the default QMDP belief updater (discrete Bayesian filter)\ninit_dist = initialstate(pomdp) # from POMDPModels\nhr = HistoryRecorder(max_steps=100) # from POMDPTools\nhist = simulate(hr, pomdp, policy, belief_updater, init_dist) # run 100 step simulation\nprintln(\"reward: $(discounted_reward(hist))\")","category":"page"},{"location":"get_started/","page":"Getting Started","title":"Getting Started","text":"The first part of the code loads the desired packages and initializes the problem and the solver. Next, we compute a POMDP policy. Lastly, we evaluate the results.","category":"page"},{"location":"get_started/","page":"Getting Started","title":"Getting Started","text":"There are a few things to mention here. First, the TigerPOMDP type implements all the functions required by QMDPSolver to compute a policy. Second, each policy has a default updater (essentially a filter used to update the belief of the POMDP). To learn more about Updaters check out the Concepts and Architecture section.","category":"page"},{"location":"example_gridworld_mdp/#GridWorld-MDP-Tutorial","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"In this tutorial, we provide a simple example of how to define a Markov decision process (MDP) using the POMDPS.jl interface. We will then solve the MDP using value iteration and Monte Carlo tree search (MCTS). We will walk through constructing the MDP using the explicit interface which invovles defining a new type for the MDP and then extending different components of the POMDPs.jl interface for that type.","category":"page"},{"location":"example_gridworld_mdp/#Dependencies","page":"GridWorld MDP Tutorial","title":"Dependencies","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We need a few modules in order to run this example. All of the models can be added by running the following command in the Julia REPL:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"using Pkg\n\nPkg.add(\"POMDPs\")\nPkg.add(\"POMDPTools\")\nPkg.add(\"DiscreteValueIteration\")\nPkg.add(\"MCTS\")","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"If you already had the models installed, it is prudent to update them to the latest version:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Pkg.update()","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Now that we have the models installed, we can load them into our workspace:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"using POMDPs\nusing POMDPTools\nusing DiscreteValueIteration\nusing MCTS","category":"page"},{"location":"example_gridworld_mdp/#Problem-Overview","page":"GridWorld MDP Tutorial","title":"Problem Overview","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"In Grid World, we are trying to control an agent who has trouble moving in the desired direction. In our problem, we have four reward states within the a grid. Each position on the grid represents a state, and the positive reward states are terminal (the agent stops recieving reward after reaching them and performing an action from that state). The agent has four actions to choose from: up, down, left, right. The agent moves in the desired direction with a probability of 07, and with a probability of 01 in each of the remaining three directions. If the agent bumps into the outside wall, there is a penalty of 1 (i.e. reward of -1). The problem has the following form:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"(Image: Grid World)","category":"page"},{"location":"example_gridworld_mdp/#Defining-the-Grid-World-MDP-Type","page":"GridWorld MDP Tutorial","title":"Defining the Grid World MDP Type","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"In POMDPs.jl, an MDP is defined by creating a subtype of the MDP abstract type. The types of the states and actions for the MDP are declared as parameters of the MDP type. For example, if our states and actions are both represented by integers, we can define our MDP type as follows:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"struct MyMDP <: MDP{Int64, Int64} # MDP{StateType, ActionType}\n # fields go here\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"In our grid world problem, we will represent the states using a custom type that designates the x and y coordinate within the grid. The actions will by represented by a symbol.","category":"page"},{"location":"example_gridworld_mdp/#GridWorldState","page":"GridWorld MDP Tutorial","title":"GridWorldState","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"There are numerous ways to represent the state of the agent in a grid world. We will use a custom type that designates the x and y coordinate within the grid. ","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"struct GridWorldState\n x::Int64\n y::Int64\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"To help us later, let's extend the == for our GridWorldStat:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function Base.:(==)(s1::GridWorldState, s2::GridWorldState)\n return s1.x == s2.x && s1.y == s2.y\nend","category":"page"},{"location":"example_gridworld_mdp/#GridWorld-Actions","page":"GridWorld MDP Tutorial","title":"GridWorld Actions","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Since our action is the direction the agent chooses to go (i.e. up, down, left, right), we can use a Symbol to represent it. Note that in this case, we are not defining a custom type for our action, instead we represent it directly with a symbol. Our actions will be :up, :down, :left, and :right.","category":"page"},{"location":"example_gridworld_mdp/#GridWorldMDP","page":"GridWorld MDP Tutorial","title":"GridWorldMDP","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Now that we have defined our types for states and actions, we can define our MDP type. We will call it GridWorldMDP and it will be a subtype of MDP{GridWorldState, Symbol}.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"struct GridWorldMDP <: MDP{GridWorldState, Symbol}\n size_x::Int64 # x size of the grid\n size_y::Int64 # y size of the grid\n reward_states_values::Dict{GridWorldState, Float64} # Dictionary mapping reward states to their values\n hit_wall_reward::Float64 # reward for hitting a wall\n tprob::Float64 # probability of transitioning to the desired state\n discount_factor::Float64 # disocunt factor\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We can define a constructor for our GridWorldMDP to make it easier to create instances of our MDP.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function GridWorldMDP(;\n size_x::Int64=10, \n size_y::Int64=10, \n reward_states_values::Dict{GridWorldState, Float64}=Dict(\n GridWorldState(4, 3) => -10.0, \n GridWorldState(4, 6) => -5.0, \n GridWorldState(9, 3) => 10.0,\n GridWorldState(8, 8) => 3.0),\n hit_wall_reward::Float64=-1.0,\n tprob::Float64=0.7, \n discount_factor::Float64=0.9)\n return GridWorldMDP(size_x, size_y, reward_states_values, hit_wall_reward, tprob, discount_factor)\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"To help us visualize our MDP, we can extend show for our GridWorldMDP type:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function Base.show(io::IO, mdp::GridWorldMDP)\n println(io, \"Grid World MDP\")\n println(io, \"\\tSize x: $(mdp.size_x)\")\n println(io, \"\\tSize y: $(mdp.size_y)\")\n println(io, \"\\tReward states:\")\n for (key, value) in mdp.reward_states_values\n println(io, \"\\t\\t$key => $value\")\n end\n println(io, \"\\tHit wall reward: $(mdp.hit_wall_reward)\")\n println(io, \"\\tTransition probability: $(mdp.tprob)\")\n println(io, \"\\tDiscount: $(mdp.discount_factor)\")\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Now lets create an instance of our GridWorldMDP:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"mdp = GridWorldMDP()\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"note: Note\nIn this definition of the problem, our coordiates start in the bottom left of the grid. That is GridState(1, 1) is the bottom left of the grid and GridState(10, 10) would be on the right of the grid with a grid size of 10 by 10.","category":"page"},{"location":"example_gridworld_mdp/#Grid-World-State-Space","page":"GridWorld MDP Tutorial","title":"Grid World State Space","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"The state space in an MDP represents all the states in the problem. There are two primary functionalities that we want our spaces to support. We want to be able to iterate over the state space (for Value Iteration for example), and sometimes we want to be able to sample form the state space (used in some POMDP solvers). In this notebook, we will only look at iterable state spaces.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Since we can iterate over elements of an array, and our problem is small, we can store all of our states in an array. We also have a terminal state based on the definition of our problem. We can represent that as a location outside of the grid (i.e. (-1, -1)).","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function POMDPs.states(mdp::GridWorldMDP)\n states_array = GridWorldState[]\n for x in 1:mdp.size_x\n for y in 1:mdp.size_y\n push!(states_array, GridWorldState(x, y))\n end\n end\n push!(states_array, GridWorldState(-1, -1)) # Adding the terminal state\n return states_array\nend","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Let's view some of the states in our state space:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show states(mdp)[1:5]\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We also need a other functions related to the state space. ","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# Check if a state is the terminal state\nPOMDPs.isterminal(mdp::GridWorldMDP, s::GridWorldState) = s == GridWorldState(-1, -1)\n\n# Define the initial state distribution (always start in the bottom left)\nPOMDPs.initialstate(mdp::GridWorldMDP) = Deterministic(GridWorldState(1, 1))\n\n# Function that returns the index of a state in the state space\nfunction POMDPs.stateindex(mdp::GridWorldMDP, s::GridWorldState)\n if isterminal(mdp, s)\n return length(states(mdp))\n end\n \n @assert 1 <= s.x <= mdp.size_x \"Invalid state\"\n @assert 1 <= s.y <= mdp.size_y \"Invalid state\"\n \n si = (s.x - 1) * mdp.size_y + s.y\n return si\nend\n","category":"page"},{"location":"example_gridworld_mdp/#Large-State-Spaces","page":"GridWorld MDP Tutorial","title":"Large State Spaces","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"If your problem is very large we probably do not want to store all of our states in an array. We can create an iterator using indexing functions to help us out. One way of doing this is to define a function that returns a state from an index and then construct an iterator. This is an example of how we can do that for the Grid World problem. ","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"note: Note\nIf you run this section, you will redefine the states(::GridWorldMDP) that we just defined in the previous section.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":" \n # Define the length of the state space, number of grid locations plus the terminal state\n Base.length(mdp::GridWorldMDP) = mdp.size_x * mdp.size_y + 1\n \n # `states` now returns the mdp, which we will construct our iterator from\n POMDPs.states(mdp::GridWorldMDP) = mdp\n \n function Base.getindex(mdp::GridWorldMDP, si::Int) # Enables mdp[si]\n @assert si <= length(mdp) \"Index out of bounds\"\n @assert si > 0 \"Index out of bounds\"\n \n # First check if we are in the terminal state (which we define as the last state)\n if si == length(mdp)\n return GridWorldState(-1, -1)\n end\n \n # Otherwise, we need to calculate the x and y coordinates\n y = (si - 1) % mdp.size_y + 1\n x = div((si - 1), mdp.size_y) + 1\n return GridWorldState(x, y)\n end\n \n function Base.getindex(mdp::GridWorldMDP, si_range::UnitRange{Int}) # Enables mdp[1:5]\n return [getindex(mdp, si) for si in si_range]\n end\n\n Base.firstindex(mdp::GridWorldMDP) = 1 # Enables mdp[begin]\n Base.lastindex(mdp::GridWorldMDP) = length(mdp) # Enables mdp[end]\n\n # We can now construct an iterator\n function Base.iterate(mdp::GridWorldMDP, ii::Int=1)\n if ii > length(mdp)\n return nothing\n end\n s = getindex(mdp, ii)\n return (s, ii + 1)\n end\n \n ","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Similar to above, let's iterate over a few of the states in our state space:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show states(mdp)[1:5]\n@show mdp[begin]\n@show mdp[end]\n","category":"page"},{"location":"example_gridworld_mdp/#Grid-World-Action-Space","page":"GridWorld MDP Tutorial","title":"Grid World Action Space","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"The action space is the set of all actions availiable to the agent. In the grid world problem the action space consists of up, down, left, and right. We can define the action space by implementing a new method of the actions function.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"POMDPs.actions(mdp::GridWorldMDP) = [:up, :down, :left, :right]","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Similar to the state space, we need a function that returns an index given an action.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function POMDPs.actionindex(mdp::GridWorldMDP, a::Symbol)\n @assert in(a, actions(mdp)) \"Invalid action\"\n return findfirst(x -> x == a, actions(mdp))\nend\n","category":"page"},{"location":"example_gridworld_mdp/#Grid-World-Transition-Function","page":"GridWorld MDP Tutorial","title":"Grid World Transition Function","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"MDPs often define the transition function as T(s^prime mid s a), which is the probability of transitioning to state s^prime given that we are in state s and take action a. For the POMDPs.jl interface, we define the transition function as a distribution over the next states. That is, we want T(cdot mid s a) which is a function that takes in a state and an action and returns a distribution over the next states.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"For our grid world example, there are only a few states to which the agent can transition and thus only a few states with nonzero probaility in T(cdot mid s a). We can use the SparseCat distribution to represent this. The SparseCat distribution is a categorical distribution that only stores the nonzero probabilities. We can define our transition function as follows:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function POMDPs.transition(mdp::GridWorldMDP, s::GridWorldState, a::Symbol)\n # If we are in the terminal state, we stay in the terminal state\n if isterminal(mdp, s)\n return SparseCat([s], [1.0])\n end\n\n # If we are in a positive reward state, we transition to the terminal state\n if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] > 0\n return SparseCat([GridWorldState(-1, -1)], [1.0])\n end\n\n # Probability of going in a direction other than the desired direction\n tprob_other = (1 - mdp.tprob) / 3\n \n new_state_up = GridWorldState(s.x, min(s.y + 1, mdp.size_y))\n new_state_down = GridWorldState(s.x, max(s.y - 1, 1))\n new_state_left = GridWorldState(max(s.x - 1, 1), s.y)\n new_state_right = GridWorldState(min(s.x + 1, mdp.size_x), s.y)\n \n new_state_vector = [new_state_up, new_state_down, new_state_left, new_state_right]\n t_prob_vector = fill(tprob_other, 4)\n \n if a == :up\n t_prob_vector[1] = mdp.tprob\n elseif a == :down\n t_prob_vector[2] = mdp.tprob\n elseif a == :left\n t_prob_vector[3] = mdp.tprob\n elseif a == :right\n t_prob_vector[4] = mdp.tprob\n else\n error(\"Invalid action\")\n end\n \n # Combine probabilities for states that are the same\n for i in 1:4\n for j in (i + 1):4\n if new_state_vector[i] == new_state_vector[j]\n t_prob_vector[i] += t_prob_vector[j]\n t_prob_vector[j] = 0.0\n end\n end\n end\n \n # Remove states with zero probability\n new_state_vector = new_state_vector[t_prob_vector .> 0]\n t_prob_vector = t_prob_vector[t_prob_vector .> 0]\n \n return SparseCat(new_state_vector, t_prob_vector)\nend\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Let's examline a few transitions:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show transition(mdp, GridWorldState(1, 1), :up)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show transition(mdp, GridWorldState(1, 1), :left)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show transition(mdp, GridWorldState(9, 3), :right)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show transition(mdp, GridWorldState(-1, -1), :down)\n","category":"page"},{"location":"example_gridworld_mdp/#Grid-World-Reward-Function","page":"GridWorld MDP Tutorial","title":"Grid World Reward Function","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"In our problem, we have a reward function that depends on the next state as well (i.e. if we hit a wall, we stay in the same state and get a reward of -1). We can still construct a reward function that only depends on the current state and action by using expectation over the next state. That is, we can define our reward function as R(s a) = mathbbE_s^prime sim T(cdot mid s a)R(s a s^prime).","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# First, let's define the reward function given the state, action, and next state\nfunction POMDPs.reward(mdp::GridWorldMDP, s::GridWorldState, a::Symbol, sp::GridWorldState)\n # If we are in the terminal state, we get a reward of 0\n if isterminal(mdp, s)\n return 0.0\n end\n \n # If we are in a positive reward state, we get the reward of that state\n # For a positive reward, we transition to the terminal state, so we don't have\n # to worry about the next state (i.g. hitting a wall)\n if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] > 0\n return mdp.reward_states_values[s]\n end\n \n # If we are in a negative reward state, we get the reward of that state\n # If the negative reward state is on the edge of the grid, we can also be in this state\n # and hit a wall, so we need to check for that\n r = 0.0\n if s in keys(mdp.reward_states_values) && mdp.reward_states_values[s] < 0\n r += mdp.reward_states_values[s]\n end\n \n # If we hit a wall, we get a reward of -1\n if s == sp\n r += mdp.hit_wall_reward\n end\n \n return r\nend\n\n# Now we can define the reward function given the state and action\nfunction POMDPs.reward(mdp::GridWorldMDP, s::GridWorldState, a::Symbol)\n r = 0.0\n for (sp, p) in transition(mdp, s, a)\n r += p * reward(mdp, s, a, sp)\n end \n return r\nend\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Let's examine a few rewards:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show reward(mdp, GridWorldState(1, 1), :up)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show reward(mdp, GridWorldState(1, 1), :left)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show reward(mdp, GridWorldState(9, 3), :right)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show reward(mdp, GridWorldState(-1, -1), :down)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show reward(mdp, GridWorldState(2, 3), :up)\n","category":"page"},{"location":"example_gridworld_mdp/#Grid-World-Remaining-Functions","page":"GridWorld MDP Tutorial","title":"Grid World Remaining Functions","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We are almost done! We still need to define discount. Let's first use POMDPLinter to check if we have defined all the functions we need for DiscreteValueIteration:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"using POMDPLinter\n\n@show_requirements POMDPs.solve(ValueIterationSolver(), mdp)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"As we expected, we need to define discount.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"function POMDPs.discount(mdp::GridWorldMDP)\n return mdp.discount_factor\nend\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Let's check again:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"@show_requirements POMDPs.solve(ValueIterationSolver(), mdp)\n","category":"page"},{"location":"example_gridworld_mdp/#Solving-the-Grid-World-MDP-(Value-Iteration)","page":"GridWorld MDP Tutorial","title":"Solving the Grid World MDP (Value Iteration)","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Now that we have defined our MDP, we can solve it using Value Iteration. We will use the ValueIterationSolver from the DiscreteValueIteration package. First, we construct the a Solver type which contains the solver parameters. Then we call POMDPs.solve to solve the MDP and return a policy.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# Initialize the problem (we have already done this, but just calling it again for completeness in the example)\nmdp = GridWorldMDP()\n\n# Initialize the solver with desired parameters\nsolver = ValueIterationSolver(; max_iterations=100, belres=1e-3, verbose=true)\n\n# Solve for an optimal policy\nvi_policy = POMDPs.solve(solver, mdp)\nnothing # hide\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We can now use the policy to compute the optimal action for a given state:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"s = GridWorldState(9, 2)\n@show action(vi_policy, s)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"s = GridWorldState(8, 3)\n@show action(vi_policy, s)\n","category":"page"},{"location":"example_gridworld_mdp/#Solving-the-Grid-World-MDP-(MCTS)","page":"GridWorld MDP Tutorial","title":"Solving the Grid World MDP (MCTS)","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Similar to the process with Value Iteration, we can solve the MDP using MCTS. We will use the MCTSSolver from the MCTS package.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# Initialize the problem (we have already done this, but just calling it again for completeness in the example)\nmdp = GridWorldMDP()\n\n# Initialize the solver with desired parameters \nsolver = MCTSSolver(n_iterations=1000, depth=20, exploration_constant=10.0)\n\n# Now we construct a planner by calling POMDPs.solve. For online planners, the computation for the\n# optimal action occurs in the call to `action`.\nmcts_planner = POMDPs.solve(solver, mdp)\nnothing # hide\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Similar to the value iteration policy, we can use the policy to compute the action for a given state:","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"s = GridWorldState(9, 2)\n@show action(mcts_planner, s)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"s = GridWorldState(8, 3)\n@show action(mcts_planner, s)\n","category":"page"},{"location":"example_gridworld_mdp/#Visualizing-the-Value-Iteration-Policy","page":"GridWorld MDP Tutorial","title":"Visualizing the Value Iteration Policy","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We can visualize the value iteration policy by plotting the value function and the policy. We can use numerous plotting packages to do this, but we will use UnicodePlots for this example.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"using UnicodePlots\nusing Printf","category":"page"},{"location":"example_gridworld_mdp/#Value-Function-as-a-Heatmap","page":"GridWorld MDP Tutorial","title":"Value Function as a Heatmap","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"We can plot the value function as a heatmap. The value function is a function over the state space, so we need to iterate over the state space and store the value at each state. We can use the value function to evaluate the value function at a given state.","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# Initialize the value function array\nvalue_function = zeros(mdp.size_y, mdp.size_x)\n\n# Iterate over the state space and store the value at each state\nfor s in states(mdp)\n if isterminal(mdp, s)\n continue\n end\n value_function[s.y, s.x] = value(vi_policy, s)\nend\n\n# Plot the value function\nheatmap(value_function; \n title=\"GridWorld VI Value Function\",\n xlabel=\"x position\",\n ylabel=\"y position\",\n colormap=:inferno\n)\n","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"note: Note\nRendering of unicode plots in the documentation is not optimal. For a better image, run this locally in a REPL.","category":"page"},{"location":"example_gridworld_mdp/#Visualizing-the-Value-Iteration-Policy-2","page":"GridWorld MDP Tutorial","title":"Visualizing the Value Iteration Policy","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"One way to visualize the policy is to plot the action that the policy takes at each state. ","category":"page"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"# Initialize the policy array\npolicy_array = fill(:up, mdp.size_x, mdp.size_y)\n\n# Iterate over the state space and store the action at each state\nfor s in states(mdp)\n if isterminal(mdp, s)\n continue\n end\n policy_array[s.x, s.y] = action(vi_policy, s)\nend\n\n# Let's define a mapping from symbols to unicode arrows\narrow_map = Dict(\n :up => \" ↑ \",\n :down => \" ↓ \",\n :left => \" ← \",\n :right => \" → \"\n)\n\n# Plot the policy to the terminal, with the origin in the bottom left\n@printf(\" GridWorld VI Policy \\n\")\nfor y in mdp.size_y+1:-1:0\n if y == mdp.size_y+1 || y == 0\n for xi in 0:10\n if xi == 0\n print(\" \")\n elseif y == mdp.size_y+1\n print(\"___\")\n else\n print(\"---\")\n end\n end\n else\n for x in 0:mdp.size_x+1\n if x == 0\n @printf(\"%2d |\", y)\n elseif x == mdp.size_x + 1\n print(\"|\")\n else\n print(arrow_map[policy_array[x, y]])\n end\n end\n end\n println()\n if y == 0\n for xi in 0:10\n if xi == 0\n print(\" \")\n else\n print(\" $xi \")\n end\n end\n end\nend","category":"page"},{"location":"example_gridworld_mdp/#Seeing-a-Policy-In-Action","page":"GridWorld MDP Tutorial","title":"Seeing a Policy In Action","text":"","category":"section"},{"location":"example_gridworld_mdp/","page":"GridWorld MDP Tutorial","title":"GridWorld MDP Tutorial","text":"Another useful tool is to view the policy in action by creating a gif of a simulation. To accomplish this, we could use POMDPGifs. To use POMDPGifs, we need to extend the POMDPTools.render function to GridWorldMDP. Please reference Gallery of POMDPs.jl Problems for examples of this process.","category":"page"},{"location":"example_solvers/#Using-Different-Solvers","page":"Using Different Solvers","title":"Using Different Solvers","text":"","category":"section"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"There are various solvers implemented for use out-of-the-box. Please reference the repository README for a list of MDP Solvers and POMDP Solvers implemented and maintained by the JuliaPOMDP community. We provide a few examples of how to use a small subset of these solvers.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"include(\"examples/crying_baby_examples.jl\")","category":"page"},{"location":"example_solvers/#Checking-Requirements","page":"Using Different Solvers","title":"Checking Requirements","text":"","category":"section"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"Before using a solver, it is prudent to ensure the problem meets the requirements of the solver. Please reference the solver documentation for detailed information about the requirements of each solver. ","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"We can use POMDPLInter to help us determine if we have all of the required components defined for a particular solver. However, not all solvers have the requirements implemented. If/when you encounter a solver that does not have the requirements implemented, please open an issue on the solver's repository.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"Let's check if we have all of the required components of our problems for the QMDP solver.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"using POMDPLinter\nusing QMDP\n\nqmdp_solver = QMDPSolver()\n\nprintln(\"Quick Crying Baby POMDP\")\n@show_requirements POMDPs.solve(qmdp_solver, quick_crying_baby_pomdp)\n\nprintln(\"\\nExplicit Crying Baby POMDP\")\n@show_requirements POMDPs.solve(qmdp_solver, explicit_crying_baby_pomdp)\n\nprintln(\"\\nTabular Crying Baby POMDP\")\n@show_requirements POMDPs.solve(qmdp_solver, tabular_crying_baby_pomdp)\n\nprintln(\"\\nGen Crying Baby POMDP\")\n# We don't have an actions(::GenGryingBabyPOMDP) implemented\ntry\n @show_requirements POMDPs.solve(qmdp_solver, gen_crying_baby_pomdp)\ncatch err_msg\n println(err_msg)\nend","category":"page"},{"location":"example_solvers/#Offline-(SARSOP)","page":"Using Different Solvers","title":"Offline (SARSOP)","text":"","category":"section"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"In this example, we will use the NativeSARSOP solver. The process for generating offline polcies is similar for all offline solvers. First, we define the solver with the desired parameters. Then, we call POMDPs.solve with the solver and the problem. We can query the policy using the action function.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"using NativeSARSOP\n\n# Define the solver with the desired paramters\nsarsop_solver = SARSOPSolver(; max_time=10.0)\n\n# Solve the problem by calling POMDPs.solve. SARSOP will compute the policy and return an `AlphaVectorPolicy`\nsarsop_policy = POMDPs.solve(sarsop_solver, quick_crying_baby_pomdp)\n\n# We can query the policy using the `action` function\nb = initialstate(quick_crying_baby_pomdp)\na = action(sarsop_policy, b)\n\n@show a\n","category":"page"},{"location":"example_solvers/#Online-(POMCP)","page":"Using Different Solvers","title":"Online (POMCP)","text":"","category":"section"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"For the online solver, we will use Particle Monte Carlo Planning (POMCP). For online solvers, we first define the solver similar to offline solvers. However, when we call POMDPs.solve, we are returned an online plannner. Similar to the offline solver, we can query the policy using the action function and that is when the online solver will compute the action.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"using BasicPOMCP\n\npomcp_solver = POMCPSolver(; c=5.0, tree_queries=1000, rng=MersenneTwister(1))\npomcp_planner = POMDPs.solve(pomcp_solver, quick_crying_baby_pomdp)\n\nb = initialstate(quick_crying_baby_pomdp)\na = action(pomcp_planner, b)\n\n@show a\n","category":"page"},{"location":"example_solvers/#Heuristic-Policy","page":"Using Different Solvers","title":"Heuristic Policy","text":"","category":"section"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"While we often want to use a solver to compute a policy, sometimes we might want to use a heuristic policy. For example, we may want to use a heuristic policy during our rollouts for online solvers or to use as a baseline. In this example, we will define a simple heuristic policy that feeds the baby if our belief of the baby being hungry is greater than 50%, otherwise we will randomly ignore or sing to the baby.","category":"page"},{"location":"example_solvers/","page":"Using Different Solvers","title":"Using Different Solvers","text":"struct HeuristicFeedPolicy{P<:POMDP} <: Policy\n pomdp::P\nend\n\n# We need to implement the action function for our policy\nfunction POMDPs.action(policy::HeuristicFeedPolicy, b)\n if pdf(b, :hungry) > 0.5\n return :feed\n else\n return rand([:ignore, :sing])\n end\nend\n\n# Let's also define the default updater for our policy\nfunction POMDPs.updater(policy::HeuristicFeedPolicy)\n return DiscreteUpdater(policy.pomdp)\nend\n\nheuristic_policy = HeuristicFeedPolicy(quick_crying_baby_pomdp)\n\n# Let's query the policy a few times\nb = SparseCat([:sated, :hungry], [0.1, 0.9])\na1 = action(heuristic_policy, b)\n\nb = SparseCat([:sated, :hungry], [0.9, 0.1])\na2 = action(heuristic_policy, b)\n\n@show [a1, a2]\n","category":"page"},{"location":"examples/#examples_section","page":"Examples","title":"Examples","text":"","category":"section"},{"location":"examples/","page":"Examples","title":"Examples","text":"This section contains examples of how to use POMDPs.jl. For specific informaiton about the interface and functions used in the examples, please reference the correpsonding area in the documenation or the API Documentation.","category":"page"},{"location":"examples/","page":"Examples","title":"Examples","text":"The examples are organized by topic. The exmaples are designed to build through each step. First, we have to define a POMDP. Then we need to solve the POMDP to get a policy. Finally, we can simulate the policy to see how it performs. The examples are designed to be exeucted in order. For example, the examples in Simulations Examples assume that the POMDPs defined in the Defining a POMDP section have been defined and we have a policy we would like to simulate that we computed in the Using Different Solvers section.","category":"page"},{"location":"examples/","page":"Examples","title":"Examples","text":"The GridWorld MDP Tutorial section is a standalone example that does not require any of the other examples.","category":"page"},{"location":"examples/#Outline","page":"Examples","title":"Outline","text":"","category":"section"},{"location":"examples/","page":"Examples","title":"Examples","text":"Pages = [\"example_defining_problems.md\", \"example_solvers.md\", \"example_simulations.md\", \"example_gridworld_mdp.md\"]","category":"page"},{"location":"POMDPTools/distributions/#Implemented-Distributions","page":"Implemented Distributions","title":"Implemented Distributions","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"POMDPTools contains several utility distributions to be used in the POMDPs transition and observation functions. These implement the appropriate methods of the functions in the distributions interface.","category":"page"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"This package also supplies showdistribution for pretty printing distributions as unicode bar graphs to the terminal.","category":"page"},{"location":"POMDPTools/distributions/#Sparse-Categorical-(SparseCat)","page":"Implemented Distributions","title":"Sparse Categorical (SparseCat)","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"SparseCat is a sparse categorical distribution which is specified by simply providing a list of possible values (states or observations) and the probabilities corresponding to those particular objects.","category":"page"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"Example: SparseCat([1,2,3], [0.1,0.2,0.7]) is a categorical distribution that assigns probability 0.1 to 1, 0.2 to 2, 0.7 to 3, and 0 to all other values.","category":"page"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"SparseCat","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.SparseCat","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.SparseCat","text":"SparseCat(values, probabilities)\n\nCreate a sparse categorical distribution.\n\nvalues is an iterable object containing the possible values (can be of any type) in the distribution that have nonzero probability. probabilities is an iterable object that contains the associated probabilities.\n\nThis is optimized for value iteration with a fast implementation of weighted_iterator. Both pdf and rand are order n.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#Implicit","page":"Implemented Distributions","title":"Implicit","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"In situations where a distribution object is required, but the pdf is difficult to specify and only samples are required, ImplicitDistribution provides a convenient way to package a sampling function.","category":"page"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"ImplicitDistribution","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.ImplicitDistribution","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.ImplicitDistribution","text":"ImplicitDistribution(sample_function, args...)\n\nDefine a distribution that can only be sampled from using rand, but has no explicit pdf.\n\nEach time rand(rng, d::ImplicitDistribution) is called,\n\nsample_function(args..., rng)\n\nwill be called to generate a new sample.\n\nImplicitDistribution is designed to be used with anonymous functions or the do syntax as follows:\n\nExamples\n\nImplicitDistribution(rng->rand(rng)^2)\n\nstruct MyMDP <: MDP{Float64, Int} end\n\nfunction POMDPs.transition(m::MyMDP, s, a)\n ImplicitDistribution(s, a) do s, a, rng\n return s + a + 0.001*randn(rng)\n end\nend\n\ntd = transition(MyMDP(), 1.0, 1)\nrand(td) # will return a number near 2\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#Bool-Distribution","page":"Implemented Distributions","title":"Bool Distribution","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"BoolDistribution","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.BoolDistribution","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.BoolDistribution","text":"BoolDistribution(p_true)\n\nCreate a distribution over Boolean values (true or false).\n\np_true is the probability of the true outcome; the probability of false is 1-p_true.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#Deterministic","page":"Implemented Distributions","title":"Deterministic","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"Deterministic","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.Deterministic","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.Deterministic","text":"Deterministic(value)\n\nCreate a deterministic distribution over only one value.\n\nThis is intended to be used when a distribution is required, but the outcome is deterministic. It is equivalent to a Kronecker Delta distribution.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#Uniform","page":"Implemented Distributions","title":"Uniform","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"Uniform\nUnsafeUniform","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.Uniform","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.Uniform","text":"Uniform(collection)\n\nCreate a uniform categorical distribution over a collection of objects.\n\nThe objects in the collection must be unique (this is tested on construction), and will be stored in a Set. To avoid this overhead, use UnsafeUniform.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.UnsafeUniform","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.UnsafeUniform","text":"UnsafeUniform(collection)\n\nCreate a uniform categorical distribution over a collection of objects.\n\nNo checks are performed to ensure uniqueness or check whether an object is actually in the set when evaluating the pdf.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/distributions/#Pretty-Printing","page":"Implemented Distributions","title":"Pretty Printing","text":"","category":"section"},{"location":"POMDPTools/distributions/","page":"Implemented Distributions","title":"Implemented Distributions","text":"showdistribution","category":"page"},{"location":"POMDPTools/distributions/#POMDPTools.POMDPDistributions.showdistribution","page":"Implemented Distributions","title":"POMDPTools.POMDPDistributions.showdistribution","text":"showdistribution([io], [mime], d)\n\nShow a UnicodePlots.barplot representation of a distribution.\n\nKeyword Arguments\n\ntitle::String=string(typeof(d))*\" distribution\": title for the barplot. \n\n\n\n\n\n","category":"function"},{"location":"POMDPTools/common_rl/#CommonRLInterface-Integration","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"POMDPTools provides two-way integration with the CommonRLInterface.jl package. Using the convert function, one can convert an MDP or POMDP object to a CommonRLInterface environment, or vice-versa.","category":"page"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"For example,","category":"page"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"using POMDPs\nusing POMDPTools\nusing POMDPModels\nusing CommonRLInterface\n\nenv = convert(AbstractEnv, BabyPOMDP())\n\nr = act!(env, true)\nobserve(env)","category":"page"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"converts a Crying Baby POMDP to an RL environment and acts in and observes the environment. This environment (or any other CommonRLInterface environment), can be converted to an MDP or POMDP:","category":"page"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"using BasicPOMCP\n\nm = convert(POMDP, env)\nplanner = solve(POMCPSolver(), m)\na = action(planner, initialstate(m))","category":"page"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"You can also use the constructors listed below to manually convert between the interfaces.","category":"page"},{"location":"POMDPTools/common_rl/#Environment-Wrapper-Types","page":"CommonRLInterface Integration","title":"Environment Wrapper Types","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"Since the standard reinforcement learning environment interface offers less information about the internal workings of the environment than the POMDPs.jl interface, MDPs and POMDPs created from these environments will have limited functionality. There are two types of (PO)MDP types that can wrap an environment:","category":"page"},{"location":"POMDPTools/common_rl/#Generative-model-wrappers","page":"CommonRLInterface Integration","title":"Generative model wrappers","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"If the state and setstate! CommonRLInterface functions are provided, then the environment can be wrapped in a RLEnvMDP or RLEnvPOMDP and the POMDPs.jl generative model interface will be available.","category":"page"},{"location":"POMDPTools/common_rl/#Opaque-wrappers","page":"CommonRLInterface Integration","title":"Opaque wrappers","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"If the state and setstate! are not provided, then the resulting POMDP or MDP can only be simulated. This case is represented using the OpaqueRLEnvPOMDP and OpaqueRLEnvMDP wrappers. From the POMDPs.jl perspective, the state of the opaque (PO)MDP is just an integer wrapped in an OpaqueRLEnvState. This keeps track of the \"age\" of the environment so that POMDPs.jl actions that attempt to interact with the environment at a different age are invalid.","category":"page"},{"location":"POMDPTools/common_rl/#Constructors","page":"CommonRLInterface Integration","title":"Constructors","text":"","category":"section"},{"location":"POMDPTools/common_rl/#Creating-RL-environments-from-MDPs-and-POMDPs","page":"CommonRLInterface Integration","title":"Creating RL environments from MDPs and POMDPs","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"MDPCommonRLEnv\nPOMDPCommonRLEnv","category":"page"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.MDPCommonRLEnv","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.MDPCommonRLEnv","text":"MDPCommonRLEnv(m, [s])\nMDPCommonRLEnv{RLO}(m, [s])\n\nCreate a CommonRLInterface environment from MDP m; optionally specify the state 's'.\n\nThe RLO parameter can be used to specify a type to convert the observation to. By default, this is AbstractArray. Use Any to disable conversion.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.POMDPCommonRLEnv","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.POMDPCommonRLEnv","text":"POMDPCommonRLEnv(m, [s], [o])\nPOMDPCommonRLEnv{RLO}(m, [s], [o])\n\nCreate a CommonRLInterface environment from POMDP m; optionally specify the state 's' and observation 'o'.\n\nThe RLO and RLS parameters can be used to specify types to convert the observation and state to. By default, this is AbstractArray. Use Any to disable conversion.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/common_rl/#Creating-MDPs-and-POMDPs-from-RL-environments","page":"CommonRLInterface Integration","title":"Creating MDPs and POMDPs from RL environments","text":"","category":"section"},{"location":"POMDPTools/common_rl/","page":"CommonRLInterface Integration","title":"CommonRLInterface Integration","text":"RLEnvMDP\nRLEnvPOMDP\nOpaqueRLEnvMDP\nOpaqueRLEnvPOMDP","category":"page"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.RLEnvMDP","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.RLEnvMDP","text":"RLEnvMDP(env; discount=1.0)\n\nCreate an MDP by wrapping a CommonRLInterface.AbstractEnv. state and setstate! from CommonRLInterface must be provided, and the POMDPs generative model functionality will be provided.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.RLEnvPOMDP","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.RLEnvPOMDP","text":"RLEnvPOMDP(env; discount=1.0)\n\nCreate an POMDP by wrapping a CommonRLInterface.AbstractEnv. state and setstate! from CommonRLInterface must be provided, and the POMDPs generative model functionality will be provided.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.OpaqueRLEnvMDP","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.OpaqueRLEnvMDP","text":"OpaqueRLEnvMDP(env; discount=1.0)\n\nWrap a CommonRLInterface.AbstractEnv in an MDP object. The state will be an OpaqueRLEnvState and only simulation will be supported.\n\n\n\n\n\n","category":"type"},{"location":"POMDPTools/common_rl/#POMDPTools.CommonRLIntegration.OpaqueRLEnvPOMDP","page":"CommonRLInterface Integration","title":"POMDPTools.CommonRLIntegration.OpaqueRLEnvPOMDP","text":"OpaqueRLEnvPOMDP(env; discount=1.0)\n\nWrap a CommonRLInterface.AbstractEnv in an POMDP object. The state will be an OpaqueRLEnvState and only simulation will be supported.\n\n\n\n\n\n","category":"type"},{"location":"#[POMDPs.jl](https://github.com/JuliaPOMDP/POMDPs.jl)","page":"POMDPs.jl","title":"POMDPs.jl","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"A Julia interface for defining, solving and simulating partially observable Markov decision processes and their fully observable counterparts.","category":"page"},{"location":"#Package-and-Ecosystem-Features","page":"POMDPs.jl","title":"Package and Ecosystem Features","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"General interface that can handle problems with discrete and continuous state/action/observation spaces\nA number of popular state-of-the-art solvers implemented for use out-of-the-box\nTools that make it easy to define problems and simulate solutions\nSimple integration of custom solvers into the existing interface","category":"page"},{"location":"#Available-Packages","page":"POMDPs.jl","title":"Available Packages","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"The POMDPs.jl package contains only the interface used for expressing and solving Markov decision processes (MDPs) and partially observable Markov decision processes (POMDPs). The POMDPTools package acts as a \"standard library\" for the POMDPs.jl interface, providing implementations of commonly-used components such as policies, belief updaters, distributions, and simulators. The list of solver and support packages maintained by the JuliaPOMDP community is available at the POMDPs.jl Readme.","category":"page"},{"location":"#Documentation-Outline","page":"POMDPs.jl","title":"Documentation Outline","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Documentation comes in three forms:","category":"page"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"An explanatory guide is available in the sections outlined below.\nHow-to examples are available throughout this documentation with specicic examples in Examples and Gallery of POMDPs.jl Problems.\nReference docstrings for the entire POMDPs.jl interface are available in the API Documentation section.","category":"page"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"note: Note\nWhen updating these documents, make sure this is synced with docs/make.jl!!","category":"page"},{"location":"#Basics","page":"POMDPs.jl","title":"Basics","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [\"install.md\", \"get_started.md\", \"concepts.md\"]","category":"page"},{"location":"#Defining-POMDP-Models","page":"POMDPs.jl","title":"Defining POMDP Models","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [ \"def_pomdp.md\", \"interfaces.md\"]\nDepth = 3","category":"page"},{"location":"#Writing-Solvers-and-Updaters","page":"POMDPs.jl","title":"Writing Solvers and Updaters","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [ \"def_solver.md\", \"offline_solver.md\", \"online_solver.md\", \"def_updater.md\" ]","category":"page"},{"location":"#Analyzing-Results","page":"POMDPs.jl","title":"Analyzing Results","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [ \"simulation.md\", \"run_simulation.md\", \"policy_interaction.md\" ]","category":"page"},{"location":"#Examples-and-Gallery","page":"POMDPs.jl","title":"Examples and Gallery","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [ \"examples.md\", \"example_defining_problems.md\", \"example_solvers.md\", \"example_simulations.md\", \"example_gridworld_mdp.md\", \"gallery.md\"]","category":"page"},{"location":"#POMDPTools-the-standard-library-for-POMDPs.jl","page":"POMDPs.jl","title":"POMDPTools - the standard library for POMDPs.jl","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [\"POMDPTools/index.md\", \"POMDPTools/distributions.md\", \"POMDPTools/model.md\", \"POMDPTools/visualization.md\", \"POMDPTools/beliefs.md\", \"POMDPTools/policies.md\", \"POMDPTools/simulators.md\", \"POMDPTools/common_rl.md\", \"POMDPTools/testing.md\"]","category":"page"},{"location":"#Reference","page":"POMDPs.jl","title":"Reference","text":"","category":"section"},{"location":"","page":"POMDPs.jl","title":"POMDPs.jl","text":"Pages = [\"faq.md\", \"api.md\"]","category":"page"}] +} diff --git a/previews/PR543/simulation/index.html b/previews/PR543/simulation/index.html new file mode 100644 index 00000000..de72caa9 --- /dev/null +++ b/previews/PR543/simulation/index.html @@ -0,0 +1,24 @@ + +Simulation Standard · POMDPs.jl

Simulation Standard

Important note: In most cases, users need not implement their own simulators. Several simulators that are compatible with the standard in this document are implemented in POMDPTools and allow interaction from a variety of perspectives. Moreover CommonRLInterface.jl provides an OpenAI Gym style environment interface to interact with environments that is more flexible in some cases.

In order to maintain consistency across the POMDPs.jl ecosystem, this page defines a standard for how simulations should be conducted. All simulators should be consistent with this page, and, if solvers are attempting to find an optimal POMDP policy, they should optimize the expected value of r_total below. In particular, this page should be consulted when questions about how less-obvious concepts like terminal states are handled.

POMDP Simulation

Inputs

In general, POMDP simulations take up to 5 inputs (see also the simulate docstring):

  • pomdp::POMDP: pomdp model object (see POMDPs and MDPs)
  • policy::Policy: policy (see Solvers and Policies)
  • up::Updater: belief updater (see Beliefs and Updaters)
  • b0: initial belief (this may be updater-specific, such as an observation if the updater just returns the previous observation)
  • s: initial state

The last three of these inputs are optional. If they are not explicitly provided, they should be inferred using the following POMDPs.jl functions:

Simulation Loop

The main simulation loop is shown below. Note that the isterminal check prevents any actions from being taken and reward from being collected from a terminal state.

Before the loop begins, initialize_belief is called to create the belief based on the initial state distribution - this is especially important when the belief is solver specific, such as the finite-state-machine used by MCVI.

b = initialize_belief(up, b0)
+
+r_total = 0.0
+d = 1.0
+while !isterminal(pomdp, s)
+    a = action(policy, b)
+    s, o, r = @gen(:sp,:o,:r)(pomdp, s, a)
+    r_total += d*r
+    d *= discount(pomdp)
+    b = update(up, b, a, o)
+end

In terms of the explicit interface, the @gen macro above expands to the equivalent of:

    sp = rand(transition(pomdp, s, a))
+    o = rand(observation(pomdp, s, a, sp))
+    r = reward(pomdp, s, a, sp, o)
+    s = sp

MDP Simulation

Inputs

In general, MDP simulations take up to 3 inputs (see also the simulate docstring):

The last of these inputs is optional. If the initial state is not explicitly provided, it should be generated using

Simulation Loop

The main simulation loop is shown below. Note again that the isterminal check prevents any actions from being taken and reward from being collected from a terminal state.

r_total = 0.0
+d = 1.0
+while !isterminal(mdp, s)
+    a = action(policy, s)
+    s, r = @gen(:sp,:r)(mdp, s, a)
+    r_total += d*r
+    d *= discount(mdp)
+end

In terms of the explicit interface, the @gen macro above expands to the equivalent of:

    sp = rand(transition(pomdp, s, a))
+    r = reward(pomdp, s, a, sp)
+    s = sp
diff --git a/previews/PR543/siteinfo.js b/previews/PR543/siteinfo.js new file mode 100644 index 00000000..4239b5a7 --- /dev/null +++ b/previews/PR543/siteinfo.js @@ -0,0 +1 @@ +var DOCUMENTER_CURRENT_VERSION = "previews/PR543";

Gallery of POMDPs.jl Problems

A gallery of models written for POMDPs.jl with visualizations. To view these visualizations on your own machine, the code is provided below each visualization.

EscapeRoomba

Originally, an optional final project for AA228 at Stanford in Fall 2018. A Roomba equipped with a LIDAR or a bump sensor needs to try to find the safe exit (green) without accidentally falling down the stairs (red).

EscapeRoomba

using POMDPs
+using POMDPTools
+using POMDPGifs
+using BasicPOMCP
+using Random
+using ParticleFilters
+using Cairo
+using LinearAlgebra
+
+
+# If you don't have RoombaPOMDPs installed, uncomment the following two lines
+# using Pkg
+# Pkg.add(url="https://github.com/sisl/RoombaPOMDPs.git")
+using RoombaPOMDPs
+
+# Let's only consider discrete actions
+roomba_actions = [RoombaAct(2.0, 0.0), RoombaAct(2.0, 0.7), RoombaAct(2.0, -0.7)]
+
+pomdp = RoombaPOMDP(;
+    sensor=Bumper(),
+    mdp=RoombaMDP(;
+        config=2,
+        discount=0.99,
+        contact_pen=-0.1,
+        aspace=roomba_actions
+    )
+)
+
+# Define the belief updater
+num_particles = 20000
+v_noise_coefficient = 0.0
+om_noise_coefficient = 0.4
+resampler=LowVarianceResampler(num_particles)
+rng = MersenneTwister(1)
+belief_updater = RoombaParticleFilter(
+    pomdp, num_particles, v_noise_coefficient,
+    om_noise_coefficient,resampler, rng
+)
+
+# Custom update function for the particle filter
+function POMDPs.update(up::RoombaParticleFilter, b::ParticleCollection, a, o)
+    pm = up._particle_memory
+    wm = up._weight_memory
+    ps = []
+    empty!(pm)
+    empty!(wm)
+    all_terminal = true
+    for s in particles(b)
+        if !isterminal(up.model, s)
+            all_terminal = false
+            a_pert = RoombaAct(a.v + (up.v_noise_coeff * (rand(up.rng) - 0.5)), a.omega + (up.om_noise_coeff * (rand(up.rng) - 0.5)))
+            sp = @gen(:sp)(up.model, s, a_pert, up.rng)
+            weight_sp = pdf(observation(up.model, sp), o)
+            if weight_sp > 0.0
+                push!(ps, s)
+                push!(pm, sp)
+                push!(wm, weight_sp)
+            end
+        end
+    end
+
+    while length(pm) < up.n_init
+        a_pert = RoombaAct(a.v + (up.v_noise_coeff * (rand(up.rng) - 0.5)), a.omega + (up.om_noise_coeff * (rand(up.rng) - 0.5)))
+        s = isempty(ps) ? rand(up.rng, b) : rand(up.rng, ps)
+        sp = @gen(:sp)(up.model, s, a_pert, up.rng)
+        weight_sp = obs_weight(up.model, s, a_pert, sp, o)
+        if weight_sp > 0.0
+            push!(pm, sp)
+            push!(wm, weight_sp)
+        end
+    end
+
+    # if all particles are terminal, issue an error
+    if all_terminal
+        error("Particle filter update error: all states in the particle collection were terminal.")
+    end
+
+    # return ParticleFilters.ParticleCollection(deepcopy(pm))
+    return ParticleFilters.resample(up.resampler,
+                    WeightedParticleBelief(pm, wm, sum(wm), nothing),
+                    up.rng)
+end
+
+solver = POMCPSolver(;
+    tree_queries=20000,
+    max_depth=150,
+    c = 10.0,
+    rng=MersenneTwister(1)
+)
+
+planner = solve(solver, pomdp)
+
+sim = GifSimulator(;
+    filename="examples/EscapeRoomba.gif",
+    max_steps=100,
+    rng=MersenneTwister(3),
+    show_progress=false,
+    fps=5)
+saved_gif = simulate(sim, pomdp, planner, belief_updater)
+
+println("gif saved to: $(saved_gif.filename)")
┌ Warning: Module POMDPs with build ID fafbfcfd-d0e1-3171-0000-00470a36f9d7 is missing from the cache.
+│ This may mean POMDPs [a93abf59-7444-517b-a68a-c42f96afdd7d] does not support precompilation but is imported by a module that does.
+└ @ Base loading.jl:1948
+┌ Warning: Module POMDPs with build ID fafbfcfd-d0e1-3171-0000-00470a36f9d7 is missing from the cache.
+│ This may mean POMDPs [a93abf59-7444-517b-a68a-c42f96afdd7d] does not support precompilation but is imported by a module that does.
+└ @ Base loading.jl:1948
+gif saved to: examples/EscapeRoomba.gif

DroneSurveillance

Drone surveillance POMDP from M. Svoreňová, M. Chmelík, K. Leahy, H. F. Eniser, K. Chatterjee, I. Černá, C. Belta, "Temporal logic motion planning using POMDPs with parity objectives: case study paper", International Conference on Hybrid Systems: Computation and Control (HSCC), 2015.

In this problem, the UAV must go from one corner to the other while avoiding a ground agent. It can only detect the ground agent within its field of view (in blue).

DroneSurveillance

using POMDPs
+using POMDPTools
+using POMDPGifs
+using NativeSARSOP
+using Random
+using DroneSurveillance
+import Cairo, Fontconfig
+
+pomdp = DroneSurveillancePOMDP()
+solver = SARSOPSolver(; precision=0.1, max_time=10.0)
+policy = solve(solver, pomdp)
+
+sim = GifSimulator(; filename="examples/DroneSurveillance.gif", max_steps=30, rng=MersenneTwister(1), show_progress=false)
+saved_gif = simulate(sim, pomdp, policy)
+
+println("gif saved to: $(saved_gif.filename)")
gif saved to: examples/DroneSurveillance.gif

QuickMountainCar

An implementation of the classic Mountain Car RL problem using the QuickPOMDPs interface.

QuickMountainCar

using POMDPs
+using POMDPTools
+using POMDPGifs
+using Random
+using QuickPOMDPs
+using Compose
+import Cairo
+
+mountaincar = QuickMDP(
+    function (s, a, rng)
+        x, v = s
+        vp = clamp(v + a*0.001 + cos(3*x)*-0.0025, -0.07, 0.07)
+        xp = x + vp
+        if xp > 0.5
+            r = 100.0
+        else
+            r = -1.0
+        end
+        return (sp=(xp, vp), r=r)
+    end,
+    actions = [-1., 0., 1.],
+    initialstate = Deterministic((-0.5, 0.0)),
+    discount = 0.95,
+    isterminal = s -> s[1] > 0.5,
+
+    render = function (step)
+        cx = step.s[1]
+        cy = 0.45*sin(3*cx)+0.5
+        car = (context(), Compose.circle(cx, cy+0.035, 0.035), fill("blue"))
+        track = (context(), line([(x, 0.45*sin(3*x)+0.5) for x in -1.2:0.01:0.6]), Compose.stroke("black"))
+        goal = (context(), star(0.5, 1.0, -0.035, 5), fill("gold"), Compose.stroke("black"))
+        bg = (context(), Compose.rectangle(), fill("white"))
+        ctx = context(0.7, 0.05, 0.6, 0.9, mirror=Mirror(0, 0, 0.5))
+        return compose(context(), (ctx, car, track, goal), bg)
+    end
+)
+
+energize = FunctionPolicy(s->s[2] < 0.0 ? -1.0 : 1.0)
+sim = GifSimulator(; filename="examples/QuickMountainCar.gif", max_steps=200, fps=20, rng=MersenneTwister(1), show_progress=false)
+saved_gif = simulate(sim, mountaincar, energize)
+
+println("gif saved to: $(saved_gif.filename)")
gif saved to: examples/QuickMountainCar.gif

RockSample

The RockSample problem problem from T. Smith, R. Simmons, "Heuristic Search Value Iteration for POMDPs", Association for Uncertainty in Artificial Intelligence (UAI), 2004.

The robot must navigate and sample good rocks (green) and then arrive at an exit area. The robot can only sense the rocks with an imperfect sensor that has performance that depends on the distance to the rock.

RockSample

using POMDPs
+using POMDPTools
+using POMDPGifs
+using NativeSARSOP
+using Random
+using RockSample
+using Cairo
+
+pomdp = RockSamplePOMDP(rocks_positions=[(2,3), (4,4), (4,2)],
+                        sensor_efficiency=20.0,
+                        discount_factor=0.95,
+                        good_rock_reward = 20.0)
+
+solver = SARSOPSolver(precision=1e-3; max_time=10.0)
+policy = solve(solver, pomdp)
+
+sim = GifSimulator(; filename="examples/RockSample.gif", max_steps=30, rng=MersenneTwister(1), show_progress=false)
+saved_gif = simulate(sim, pomdp, policy)
+
+println("gif saved to: $(saved_gif.filename)")
gif saved to: examples/RockSample.gif

TagPOMDPProblem

The Tag problem from J. Pineau, G. Gordon, and S. Thrun, "Point-based value iteration: An anytime algorithm for POMDPs", International Joint Conference on Artificial Intelligence (IJCAI), 2003.

The orange agent is the pursuer and the red agent is the evader. The pursuer must "tag" the evader by being in the same grid cell as the evader. However, the pursuer can only see the evader if it is in the same grid cell as the evader. The evader moves stochastically "away" from the pursuer.

TagPOMDPProblem

using POMDPs
+using POMDPTools
+using POMDPGifs
+using NativeSARSOP
+using Random
+using TagPOMDPProblem
+
+pomdp = TagPOMDP()
+solver = SARSOPSolver(; max_time=20.0)
+policy = solve(solver, pomdp)
+sim = GifSimulator(; filename="examples/TagPOMDP.gif", max_steps=50, rng=MersenneTwister(1), show_progress=false)
+saved_gif = simulate(sim, pomdp, policy)
+
+println("gif saved to: $(saved_gif.filename)")
┌ Warning: Module POMDPs with build ID fafbfcfd-d0e1-3171-0000-00470a36f9d7 is missing from the cache.
+│ This may mean POMDPs [a93abf59-7444-517b-a68a-c42f96afdd7d] does not support precompilation but is imported by a module that does.
+└ @ Base loading.jl:1948
+┌ Warning: Module Plots with build ID ffffffff-ffff-ffff-0000-009d497eabb5 is missing from the cache.
+│ This may mean Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] does not support precompilation but is imported by a module that does.
+└ @ Base loading.jl:1948
+gif saved to: examples/TagPOMDP.gif

To add new examples, please submit a pull request to the POMDPs.jl repository with changes made to the gallery.md file in docs/src/. Please include the creation of a gif in the code snippet. The gif should be generated during the creation of the documenation using @eval and saved in the docs/src/examples/ directory. The gif should be named problem_name.gif where problem_name is the name of the problem. The gif can then be included using ![problem_name](examples/problem_name.gif).